From 6a81a63dd84ea472f4a8d3764e30accb9124a686 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Thu, 7 Feb 2019 12:45:21 -0500
Subject: [PATCH 001/371] Initial stub implementation for basic example
 mentioned in issue

---
 .../ArrayDeclarationVerbosenessRule.java      | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRule.java

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRule.java
new file mode 100644
index 0000000000..4c4f259664
--- /dev/null
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRule.java
@@ -0,0 +1,19 @@
+package net.sourceforge.pmd.lang.java.rule.codestyle;
+
+import net.sourceforge.pmd.lang.java.ast.ASTLocalVariableDeclaration;
+import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
+
+public class ArrayDeclarationVerbosenessRule extends AbstractJavaRule {
+
+  @Override
+  public Object visit(ASTLocalVariableDeclaration node, Object data) {
+
+    if (node.isArray()) {
+      if (node.getImage().matches("(new).+\\{"))
+        addViolation(data, node);
+      return super.visit(node, data);
+    }
+
+    return super.visit(node, data);
+  }
+}

From f26e37424815ea9d99563b9192ce636a45259a3a Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Thu, 7 Feb 2019 12:59:30 -0500
Subject: [PATCH 002/371] Added stub unit test

---
 .../codestyle/ArrayDeclarationVerbosenessRuleTest.java     | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRuleTest.java

diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRuleTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRuleTest.java
new file mode 100644
index 0000000000..01d3256fb7
--- /dev/null
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRuleTest.java
@@ -0,0 +1,7 @@
+package net.sourceforge.pmd.lang.java.rule.codestyle;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class ArrayDeclarationVerbosenessRuleTest extends PmdRuleTst {
+  // no additional unit tests
+}

From 0a0209e70be303099bd9f450e542c53f7f64a0a0 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Thu, 7 Feb 2019 13:08:48 -0500
Subject: [PATCH 003/371] Renamed rule class, added rule to codestyle.xml

---
 ...> ArrayInitializationVerbosenessRule.java} |    2 +-
 .../resources/category/java/codestyle.xml     | 2510 +++++++++--------
 ...rayInitializationVerbosenessRuleTest.java} |    2 +-
 3 files changed, 1297 insertions(+), 1217 deletions(-)
 rename pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/{ArrayDeclarationVerbosenessRule.java => ArrayInitializationVerbosenessRule.java} (86%)
 rename pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/{ArrayDeclarationVerbosenessRuleTest.java => ArrayInitializationVerbosenessRuleTest.java} (65%)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
similarity index 86%
rename from pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRule.java
rename to pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
index 4c4f259664..15395111a1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
@@ -3,7 +3,7 @@ package net.sourceforge.pmd.lang.java.rule.codestyle;
 import net.sourceforge.pmd.lang.java.ast.ASTLocalVariableDeclaration;
 import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
 
-public class ArrayDeclarationVerbosenessRule extends AbstractJavaRule {
+public class ArrayInitializationVerbosenessRule extends AbstractJavaRule {
 
   @Override
   public Object visit(ASTLocalVariableDeclaration node, Object data) {
diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml
index 9066684bed..29acc9947d 100644
--- a/pmd-java/src/main/resources/category/java/codestyle.xml
+++ b/pmd-java/src/main/resources/category/java/codestyle.xml
@@ -1,32 +1,32 @@
 <?xml version="1.0"?>
 
 <ruleset name="Code Style"
-         xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+  xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
 
+  <description>
+    Rules which enforce a specific coding style.
+  </description>
+
+  <rule name="AbstractNaming"
+    language="java"
+    since="1.4"
+    deprecated="true"
+    message="Abstract classes should be named 'AbstractXXX'"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#abstractnaming">
     <description>
-        Rules which enforce a specific coding style.
+      Abstract classes should be named 'AbstractXXX'.
+
+      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+      by {% rule java/codestyle/ClassNamingConventions %}.
     </description>
-
-    <rule name="AbstractNaming"
-          language="java"
-          since="1.4"
-          deprecated="true"
-          message="Abstract classes should be named 'AbstractXXX'"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#abstractnaming">
-        <description>
-Abstract classes should be named 'AbstractXXX'.
-
-This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-by {% rule java/codestyle/ClassNamingConventions %}.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration
  [@Abstract='true' and @Interface='false']
  [not (starts-with(@Image,'Abstract'))]
@@ -36,71 +36,93 @@ by {% rule java/codestyle/ClassNamingConventions %}.
  [$strict='true']
  [starts-with(@Image, 'Abstract')]
 ]]>
-                </value>
-            </property>
-            <property name="strict" type="Boolean" value="true" description="Also flag classes, that are named Abstract, but are not abstract."/>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+      <property name="strict" type="Boolean" value="true"
+        description="Also flag classes, that are named Abstract, but are not abstract."/>
+    </properties>
+    <example>
+      <![CDATA[
 public abstract class Foo { // should be AbstractFoo
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="AtLeastOneConstructor"
-          language="java"
-          since="1.04"
-          message="Each class should declare at least one constructor"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.AtLeastOneConstructorRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#atleastoneconstructor">
-        <description>
-<![CDATA[
+  <rule name="ArrayInitializationVerboseness"
+    language="java"
+    since="1.1"
+    message="Array initialization does not require assignment to new object, assignment to {--array content--} is sufficient"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.ArrayInitializationVerbosenessRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#arrayinitializationverboseness">
+    <description>
+      <![CDATA[
+Arrays can be initialized simply with curly braces without requiring to create new array object
+]]>
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
+Foo[] x = new Foo[] { ... }; // Overly verbose
+
+Foo[] x = { ... }; //Equivalent to above line
+]]>
+    </example>
+  </rule>
+
+  <rule name="AtLeastOneConstructor"
+    language="java"
+    since="1.04"
+    message="Each class should declare at least one constructor"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.AtLeastOneConstructorRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#atleastoneconstructor">
+    <description>
+      <![CDATA[
 Each non-static class should declare at least one constructor.
 Classes with solely static members are ignored, refer to [UseUtilityClassRule](pmd_rules_java_design.html#useutilityclass) to detect those.
 ]]>
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public class Foo {
    // missing constructor
   public void doSomething() { ... }
   public void doOtherThing { ... }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="AvoidDollarSigns"
-          since="1.5"
-          message="Avoid using dollar signs in variable/method/class/interface names"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.AvoidDollarSignsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoiddollarsigns">
-        <description>
-Avoid using dollar signs in variable/method/class/interface names.
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="AvoidDollarSigns"
+    since="1.5"
+    message="Avoid using dollar signs in variable/method/class/interface names"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.AvoidDollarSignsRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoiddollarsigns">
+    <description>
+      Avoid using dollar signs in variable/method/class/interface names.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public class Fo$o {  // not a recommended name
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="AvoidFinalLocalVariable"
-          language="java"
-          since="4.1"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          message="Avoid using final local variables, turn them into fields"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidfinallocalvariable">
-        <description>Avoid using final local variables, turn them into fields.</description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="AvoidFinalLocalVariable"
+    language="java"
+    since="4.1"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    message="Avoid using final local variables, turn them into fields"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidfinallocalvariable">
+    <description>Avoid using final local variables, turn them into fields.</description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //LocalVariableDeclaration[
   @Final = 'true'
   and not(../../ForStatement)
@@ -112,49 +134,51 @@ public class Fo$o {  // not a recommended name
   )
 ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class MyClass {
     public void foo() {
         final String finalLocalVariable;
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="AvoidPrefixingMethodParameters"
-          language="java"
-          since="5.0"
-          deprecated="true"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          message="Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior."
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprefixingmethodparameters">
-        <description>
-Prefixing parameters by 'in' or 'out' pollutes the name of the parameters and reduces code readability.
-To indicate whether or not a parameter will be modify in a method, its better to document method
-behavior with Javadoc.
+  <rule name="AvoidPrefixingMethodParameters"
+    language="java"
+    since="5.0"
+    deprecated="true"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    message="Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior."
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprefixingmethodparameters">
+    <description>
+      Prefixing parameters by 'in' or 'out' pollutes the name of the parameters and reduces code
+      readability.
+      To indicate whether or not a parameter will be modify in a method, its better to document
+      method
+      behavior with Javadoc.
 
-This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-by the more general rule {% rule java/codestyle/FormalParameterNamingConventions %}.
-        </description>
-        <priority>4</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+      by the more general rule {% rule java/codestyle/FormalParameterNamingConventions %}.
+    </description>
+    <priority>4</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //MethodDeclaration/MethodDeclarator/FormalParameters/FormalParameter/VariableDeclaratorId[
         pmd:matches(@Image,'^in[A-Z].*','^out[A-Z].*','^in$','^out$')
 ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 // Not really clear
 public class Foo {
   public void bar(
@@ -164,9 +188,9 @@ public class Foo {
   }
 }
 ]]>
-        </example>
-        <example>
-<![CDATA[
+    </example>
+    <example>
+      <![CDATA[
 // Far more useful
 public class Foo {
   /**
@@ -181,93 +205,96 @@ public class Foo {
   }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="AvoidProtectedFieldInFinalClass"
-          language="java"
-          since="2.1"
-          message="Avoid protected fields in a final class.  Change to private or package access."
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass">
-        <description>
-Do not use protected fields in final classes since they cannot be subclassed.
-Clarify your intent by using private or package access modifiers instead.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="AvoidProtectedFieldInFinalClass"
+    language="java"
+    since="2.1"
+    message="Avoid protected fields in a final class.  Change to private or package access."
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass">
+    <description>
+      Do not use protected fields in final classes since they cannot be subclassed.
+      Clarify your intent by using private or package access modifiers instead.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration[@Final='true']
 /ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration
 /FieldDeclaration[@Protected='true']
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public final class Bar {
   private int x;
   protected int y;  // bar cannot be subclassed, so is y really private or package visible?
   Bar() {}
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="AvoidProtectedMethodInFinalClassNotExtending"
-          language="java"
-          since="5.1"
-          message="Avoid protected methods in a final class that doesn't extend anything other than Object.  Change to private or package access."
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprotectedmethodinfinalclassnotextending">
-        <description>
-Do not use protected methods in most final classes since they cannot be subclassed. This should
-only be allowed in final classes that extend other classes with protected methods (whose
-visibility cannot be reduced). Clarify your intent by using private or package access modifiers instead.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="AvoidProtectedMethodInFinalClassNotExtending"
+    language="java"
+    since="5.1"
+    message="Avoid protected methods in a final class that doesn't extend anything other than Object.  Change to private or package access."
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprotectedmethodinfinalclassnotextending">
+    <description>
+      Do not use protected methods in most final classes since they cannot be subclassed. This
+      should
+      only be allowed in final classes that extend other classes with protected methods (whose
+      visibility cannot be reduced). Clarify your intent by using private or package access
+      modifiers instead.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration[@Final='true' and not(ExtendsList)]
 /ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration
 /MethodDeclaration[@Protected='true'][MethodDeclarator/@Image != 'finalize']
  ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public final class Foo {
   private int bar() {}
   protected int baz() {} // Foo cannot be subclassed, and doesn't extend anything, so is baz() really private or package visible?
 }
  ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="AvoidUsingNativeCode"
-          language="java"
-          since="4.1"
-          message="The use of native code is not recommended."
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidusingnativecode">
-        <description>
-Unnecessary reliance on Java Native Interface (JNI) calls directly reduces application portability
-and increases the maintenance burden.
-        </description>
-        <priority>2</priority>
-        <properties>
-            <property name="xpath">
-                <value>//Name[starts-with(@Image,'System.loadLibrary')]</value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+  <rule name="AvoidUsingNativeCode"
+    language="java"
+    since="4.1"
+    message="The use of native code is not recommended."
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidusingnativecode">
+    <description>
+      Unnecessary reliance on Java Native Interface (JNI) calls directly reduces application
+      portability
+      and increases the maintenance burden.
+    </description>
+    <priority>2</priority>
+    <properties>
+      <property name="xpath">
+        <value>//Name[starts-with(@Image,'System.loadLibrary')]</value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class SomeJNIClass {
 
      public SomeJNIClass() {
@@ -283,25 +310,25 @@ public class SomeJNIClass {
      }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="BooleanGetMethodName"
-          language="java"
-          since="4.0"
-          message="A 'getX()' method which returns a boolean should be named 'isX()'"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#booleangetmethodname">
-        <description>
-Methods that return boolean results should be named as predicate statements to denote this.
-I.e, 'isReady()', 'hasValues()', 'canCommit()', 'willFail()', etc.   Avoid the use of the 'get'
-prefix for these methods.
-        </description>
-        <priority>4</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="BooleanGetMethodName"
+    language="java"
+    since="4.0"
+    message="A 'getX()' method which returns a boolean should be named 'isX()'"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#booleangetmethodname">
+    <description>
+      Methods that return boolean results should be named as predicate statements to denote this.
+      I.e, 'isReady()', 'hasValues()', 'canCommit()', 'willFail()', etc. Avoid the use of the 'get'
+      prefix for these methods.
+    </description>
+    <priority>4</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //MethodDeclaration[
 MethodDeclarator[count(FormalParameters/FormalParameter) = 0 or $checkParameterizedMethods = 'true']
                 [starts-with(@Image, 'get')]
@@ -310,44 +337,46 @@ ResultType/Type/PrimitiveType[@Image = 'boolean']
 and not(../Annotation//Name[@Image = 'Override'])
 ]
 ]]>
-                </value>
-            </property>
-            <property name="checkParameterizedMethods" type="Boolean" description="Check parameterized methods" value="false"/>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+      <property name="checkParameterizedMethods" type="Boolean"
+        description="Check parameterized methods" value="false"/>
+    </properties>
+    <example>
+      <![CDATA[
 public boolean getFoo();            // bad
 public boolean isFoo();             // ok
 public boolean getFoo(boolean bar); // ok, unless checkParameterizedMethods=true
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="CallSuperInConstructor"
-          language="java"
-          since="3.0"
-          message="It is a good practice to call super() in a constructor"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#callsuperinconstructor">
-        <description>
-It is a good practice to call super() in a constructor. If super() is not called but
-another constructor (such as an overloaded constructor) is called, this rule will not report it.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="CallSuperInConstructor"
+    language="java"
+    since="3.0"
+    message="It is a good practice to call super() in a constructor"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#callsuperinconstructor">
+    <description>
+      It is a good practice to call super() in a constructor. If super() is not called but
+      another constructor (such as an overloaded constructor) is called, this rule will not report
+      it.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration[ count (ExtendsList/*) > 0 ]
 /ClassOrInterfaceBody
  /ClassOrInterfaceBodyDeclaration
  /ConstructorDeclaration[ count (.//ExplicitConstructorInvocation)=0 ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Foo extends Bar{
   public Foo() {
    // call the constructor of Bar
@@ -360,26 +389,26 @@ public class Foo extends Bar{
   }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="ClassNamingConventions"
-          since="1.2"
-          message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.ClassNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#classnamingconventions">
-        <description>
-            Configurable naming conventions for type declarations. This rule reports
-            type declarations which do not match the regex that applies to their
-            specific kind (e.g. enum or interface). Each regex can be configured through
-            properties.
+  <rule name="ClassNamingConventions"
+    since="1.2"
+    message="The {0} name ''{1}'' doesn''t match ''{2}''"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.ClassNamingConventionsRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#classnamingconventions">
+    <description>
+      Configurable naming conventions for type declarations. This rule reports
+      type declarations which do not match the regex that applies to their
+      specific kind (e.g. enum or interface). Each regex can be configured through
+      properties.
 
-            By default this rule uses the standard Java naming convention (Pascal case),
-            and reports utility class names not ending with 'Util'.
-        </description>
-        <priority>1</priority>
-        <example>
-<![CDATA[
+      By default this rule uses the standard Java naming convention (Pascal case),
+      and reports utility class names not ending with 'Util'.
+    </description>
+    <priority>1</priority>
+    <example>
+      <![CDATA[
 // This is Pascal case, the recommended naming convention in Java
 // Note that the default values of this rule don't allow underscores 
 // or accented characters in type names
@@ -393,24 +422,26 @@ public abstract class Thing {}
 // This class doesn't respect the convention, and will be flagged
 public class Éléphant {}
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="CommentDefaultAccessModifier"
-          since="5.4.0"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.CommentDefaultAccessModifierRule"
-          message="Missing commented default access modifier"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier">
-        <description>
-To avoid mistakes if we want that a Method, Constructor, Field or Nested class have a default access modifier
-we must add a comment at the beginning of it's declaration.
-By default the comment must be /* default */ or /* package */, if you want another, you have to provide a regular expression.
-This rule ignores by default all cases that have a @VisibleForTesting annotation. Use the
-property "ignoredAnnotations" to customize the recognized annotations.
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="CommentDefaultAccessModifier"
+    since="5.4.0"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.CommentDefaultAccessModifierRule"
+    message="Missing commented default access modifier"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier">
+    <description>
+      To avoid mistakes if we want that a Method, Constructor, Field or Nested class have a default
+      access modifier
+      we must add a comment at the beginning of it's declaration.
+      By default the comment must be /* default */ or /* package */, if you want another, you have
+      to provide a regular expression.
+      This rule ignores by default all cases that have a @VisibleForTesting annotation. Use the
+      property "ignoredAnnotations" to customize the recognized annotations.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public class Foo {
     final String stringValue = "some string";
     String getString() {
@@ -432,61 +463,72 @@ public class Foo {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="ConfusingTernary"
-          since="1.9"
-          message="Avoid if (x != y) ..; else ..;"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.ConfusingTernaryRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#confusingternary">
-        <description>
-Avoid negation within an "if" expression with an "else" clause.  For example, rephrase:
-`if (x != y) diff(); else same();` as: `if (x == y) same(); else diff();`.
+  <rule name="ConfusingTernary"
+    since="1.9"
+    message="Avoid if (x != y) ..; else ..;"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.ConfusingTernaryRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#confusingternary">
+    <description>
+      Avoid negation within an "if" expression with an "else" clause. For example, rephrase:
+      `if (x != y) diff(); else same();` as: `if (x == y) same(); else diff();`.
 
-Most "if (x != y)" cases without an "else" are often return cases, so consistent use of this
-rule makes the code easier to read.  Also, this resolves trivial ordering problems, such
-as "does the error case go first?" or "does the common case go first?".
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+      Most "if (x != y)" cases without an "else" are often return cases, so consistent use of this
+      rule makes the code easier to read. Also, this resolves trivial ordering problems, such
+      as "does the error case go first?" or "does the common case go first?".
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 boolean bar(int x, int y) {
     return (x != y) ? diff : same;
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="ControlStatementBraces"
-          language="java"
-          since="6.2.0"
-          message="This statement should have braces"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#controlstatementbraces">
-        <description>
-            Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... else'
-            statements and loop statements, even if they are optional. This usually makes the code clearer, and
-            helps prepare the future when you need to add another statement. That said, this rule lets you control
-            which statements are required to have braces via properties.
+  <rule name="ControlStatementBraces"
+    language="java"
+    since="6.2.0"
+    message="This statement should have braces"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#controlstatementbraces">
+    <description>
+      Enforce a policy for braces on control statements. It is recommended to use braces on 'if ...
+      else'
+      statements and loop statements, even if they are optional. This usually makes the code
+      clearer, and
+      helps prepare the future when you need to add another statement. That said, this rule lets you
+      control
+      which statements are required to have braces via properties.
 
-            From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces, IfStmtMustUseBraces,
-            and IfElseStmtMustUseBraces.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="checkIfElseStmt" type="Boolean" value="true" description="Require that 'if ... else' statements use braces" />
-            <property name="checkSingleIfStmt" type="Boolean" value="true" description="Require that 'if' statements with a single branch use braces" />
-            <property name="checkWhileStmt" type="Boolean" value="true" description="Require that 'while' loops use braces" />
-            <property name="checkForStmt" type="Boolean" value="true" description="Require that 'for' loops should use braces" />
-            <property name="checkDoWhileStmt" type="Boolean" value="true" description="Require that 'do ... while' loops use braces" />
-            <property name="checkCaseStmt" type="Boolean" value="false" description="Require that cases of a switch have braces"/>
+      From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces,
+      IfStmtMustUseBraces,
+      and IfElseStmtMustUseBraces.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="checkIfElseStmt" type="Boolean" value="true"
+        description="Require that 'if ... else' statements use braces"/>
+      <property name="checkSingleIfStmt" type="Boolean" value="true"
+        description="Require that 'if' statements with a single branch use braces"/>
+      <property name="checkWhileStmt" type="Boolean" value="true"
+        description="Require that 'while' loops use braces"/>
+      <property name="checkForStmt" type="Boolean" value="true"
+        description="Require that 'for' loops should use braces"/>
+      <property name="checkDoWhileStmt" type="Boolean" value="true"
+        description="Require that 'do ... while' loops use braces"/>
+      <property name="checkCaseStmt" type="Boolean" value="false"
+        description="Require that cases of a switch have braces"/>
 
-            <property name="allowEmptyLoop" type="Boolean" value="false" description="Allow loops with an empty statement, e.g. 'while(true);'" />
+      <property name="allowEmptyLoop" type="Boolean" value="false"
+        description="Allow loops with an empty statement, e.g. 'while(true);'"/>
 
-            <property name="version" value="2.0"/>
-            <property name="xpath">
-                <value><![CDATA[
+      <property name="version" value="2.0"/>
+      <property name="xpath">
+        <value><![CDATA[
                 //WhileStatement[$checkWhileStmt and not(Statement/Block) and not($allowEmptyLoop and Statement/EmptyStatement)]
                 |
                 //ForStatement[$checkForStmt and not(Statement/Block) and not($allowEmptyLoop and Statement/EmptyStatement)]
@@ -509,10 +551,10 @@ boolean bar(int x, int y) {
                                   in following-sibling::BlockStatement except following-sibling::SwitchLabel[1]/following-sibling::BlockStatement
                                   satisfies not($stmt/Statement/Block))]
                 ]]></value>
-            </property>
-        </properties>
-        <example>
-            <![CDATA[
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 while (true)    // not recommended
   x++;
 
@@ -520,24 +562,24 @@ while (true) {  // preferred approach
   x++;
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="DefaultPackage"
-          language="java"
-          since="3.4"
-          message="Use explicit scoping instead of the default package private level"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#defaultpackage">
-        <description>
-Use explicit scoping instead of accidental usage of default package private level.
-The rule allows methods and fields annotated with Guava's @VisibleForTesting.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="DefaultPackage"
+    language="java"
+    since="3.4"
+    message="Use explicit scoping instead of the default package private level"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#defaultpackage">
+    <description>
+      Use explicit scoping instead of accidental usage of default package private level.
+      The rule allows methods and fields annotated with Guava's @VisibleForTesting.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration[@Interface='false']
 /ClassOrInterfaceBody
 /ClassOrInterfaceBodyDeclaration
@@ -547,22 +589,23 @@ FieldDeclaration[@PackagePrivate='true']
 or MethodDeclaration[@PackagePrivate='true']
 ]
 ]]>
-                </value>
-            </property>
-        </properties>
-    </rule>
+        </value>
+      </property>
+    </properties>
+  </rule>
 
-    <rule name="DontImportJavaLang"
-          since="0.5"
-          message="Avoid importing anything from the package 'java.lang'"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.DontImportJavaLangRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#dontimportjavalang">
-        <description>
-Avoid importing anything from the package 'java.lang'.  These classes are automatically imported (JLS 7.5.3).
-        </description>
-        <priority>4</priority>
-        <example>
-<![CDATA[
+  <rule name="DontImportJavaLang"
+    since="0.5"
+    message="Avoid importing anything from the package 'java.lang'"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.DontImportJavaLangRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#dontimportjavalang">
+    <description>
+      Avoid importing anything from the package 'java.lang'. These classes are automatically
+      imported (JLS 7.5.3).
+    </description>
+    <priority>4</priority>
+    <example>
+      <![CDATA[
 import java.lang.String;    // this is unnecessary
 
 public class Foo {}
@@ -573,42 +616,43 @@ import java.lang.*;         // this is bad
 
 public class Foo {}
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="DuplicateImports"
-          since="0.5"
-          message="Avoid duplicate imports such as ''{0}''"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.DuplicateImportsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#duplicateimports">
-        <description>
-Duplicate or overlapping import statements should be avoided.
-        </description>
-        <priority>4</priority>
-        <example>
-<![CDATA[
+  <rule name="DuplicateImports"
+    since="0.5"
+    message="Avoid duplicate imports such as ''{0}''"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.DuplicateImportsRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#duplicateimports">
+    <description>
+      Duplicate or overlapping import statements should be avoided.
+    </description>
+    <priority>4</priority>
+    <example>
+      <![CDATA[
 import java.lang.String;
 import java.lang.*;
 public class Foo {}
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="EmptyMethodInAbstractClassShouldBeAbstract"
-          language="java"
-          since="4.1"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          message="An empty method in an abstract class should be abstract instead"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#emptymethodinabstractclassshouldbeabstract">
-        <description>
-Empty or auto-generated methods in an abstract class should be tagged as abstract. This helps to remove their inapproprate
-usage by developers who should be implementing their own versions in the concrete subclasses.
-        </description>
-        <priority>1</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="EmptyMethodInAbstractClassShouldBeAbstract"
+    language="java"
+    since="4.1"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    message="An empty method in an abstract class should be abstract instead"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#emptymethodinabstractclassshouldbeabstract">
+    <description>
+      Empty or auto-generated methods in an abstract class should be tagged as abstract. This helps
+      to remove their inapproprate
+      usage by developers who should be implementing their own versions in the concrete subclasses.
+    </description>
+    <priority>1</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration[@Abstract = 'true']
     /ClassOrInterfaceBody
     /ClassOrInterfaceBodyDeclaration
@@ -625,11 +669,11 @@ usage by developers who should be implementing their own versions in the concret
         ( count (./Block/*) = 0 )
     ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public abstract class ShouldBeAbstract {
     public Object couldBeAbstract() {
         // Should be abstract method ?
@@ -640,46 +684,47 @@ public abstract class ShouldBeAbstract {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="ExtendsObject"
-          language="java"
-          since="5.0"
-          message="No need to explicitly extend Object."
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#extendsobject">
-        <description>No need to explicitly extend Object.</description>
-        <priority>4</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="ExtendsObject"
+    language="java"
+    since="5.0"
+    message="No need to explicitly extend Object."
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#extendsobject">
+    <description>No need to explicitly extend Object.</description>
+    <priority>4</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ExtendsList/ClassOrInterfaceType[@Image='Object' or @Image='java.lang.Object']
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Foo extends Object {     // not required
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="FieldDeclarationsShouldBeAtStartOfClass"
-          language="java"
-          since="5.0"
-          message="Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes."
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldDeclarationsShouldBeAtStartOfClassRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#fielddeclarationsshouldbeatstartofclass">
-        <description>
-Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="FieldDeclarationsShouldBeAtStartOfClass"
+    language="java"
+    since="5.0"
+    message="Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes."
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldDeclarationsShouldBeAtStartOfClassRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#fielddeclarationsshouldbeatstartofclass">
+    <description>
+      Fields should be declared at the top of the class, before any method declarations,
+      constructors, initializers or inner classes.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public class HelloWorldBean {
 
   // Field declared before methods / inner classes - OK
@@ -693,26 +738,29 @@ public class HelloWorldBean {
   private String _fieldInWrongLocation;
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
 
-    <rule name="FieldNamingConventions"
-          since="6.7.0"
-          message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#fieldnamingconventions">
-        <description>
-            Configurable naming conventions for field declarations. This rule reports variable declarations
-            which do not match the regex that applies to their specific kind ---e.g. constants (static final),
-            enum constant, final field. Each regex can be configured through properties.
+  <rule name="FieldNamingConventions"
+    since="6.7.0"
+    message="The {0} name ''{1}'' doesn''t match ''{2}''"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldNamingConventionsRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#fieldnamingconventions">
+    <description>
+      Configurable naming conventions for field declarations. This rule reports variable
+      declarations
+      which do not match the regex that applies to their specific kind ---e.g. constants (static
+      final),
+      enum constant, final field. Each regex can be configured through properties.
 
-            By default this rule uses the standard Java naming convention (Camel case), and uses the ALL_UPPER
-            convention for constants and enum constants.
-        </description>
-        <priority>1</priority>
-        <example>
-            <![CDATA[
+      By default this rule uses the standard Java naming convention (Camel case), and uses the
+      ALL_UPPER
+      convention for constants and enum constants.
+    </description>
+    <priority>1</priority>
+    <example>
+      <![CDATA[
             class Foo {
                 int myField = 1; // This is in camel case, so it's ok
                 int my_Field = 1; // This contains an underscore, it's not ok by default
@@ -730,88 +778,88 @@ public class HelloWorldBean {
                 }
             }
             ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="ForLoopShouldBeWhileLoop"
-          language="java"
-          since="1.02"
-          message="This for loop could be simplified to a while loop"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#forloopshouldbewhileloop">
-        <description>
-Some for loops can be simplified to while loops, this makes them more concise.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="ForLoopShouldBeWhileLoop"
+    language="java"
+    since="1.02"
+    message="This for loop could be simplified to a while loop"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#forloopshouldbewhileloop">
+    <description>
+      Some for loops can be simplified to while loops, this makes them more concise.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ForStatement
   [not(LocalVariableDeclaration)]
   [not(ForInit)]
   [not(ForUpdate)]
   [Expression]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Foo {
     void bar() {
         for (;true;) true; // No Init or Update part, may as well be: while (true)
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="ForLoopsMustUseBraces"
-          language="java"
-          since="0.7"
-          deprecated="true"
-          message="Avoid using 'for' statements without curly braces"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#forloopsmustusebraces">
-        <description>
-Avoid using 'for' statements without using curly braces. If the code formatting or 
-indentation is lost then it becomes difficult to separate the code being controlled 
-from the rest.
+  <rule name="ForLoopsMustUseBraces"
+    language="java"
+    since="0.7"
+    deprecated="true"
+    message="Avoid using 'for' statements without curly braces"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#forloopsmustusebraces">
+    <description>
+      Avoid using 'for' statements without using curly braces. If the code formatting or
+      indentation is lost then it becomes difficult to separate the code being controlled
+      from the rest.
 
-This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-by the rule {% rule java/codestyle/ControlStatementBraces %}.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>//ForStatement[not(Statement/Block)]</value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+      by the rule {% rule java/codestyle/ControlStatementBraces %}.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>//ForStatement[not(Statement/Block)]</value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 for (int i = 0; i < 42; i++)
    foo();
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="FormalParameterNamingConventions"
-          since="6.6.0"
-          message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.FormalParameterNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#formalparameternamingconventions">
-        <description>
-            Configurable naming conventions for formal parameters of methods and lambdas.
-            This rule reports formal parameters which do not match the regex that applies to their
-            specific kind (e.g. lambda parameter, or final formal parameter). Each regex can be
-            configured through properties.
+  <rule name="FormalParameterNamingConventions"
+    since="6.6.0"
+    message="The {0} name ''{1}'' doesn''t match ''{2}''"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.FormalParameterNamingConventionsRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#formalparameternamingconventions">
+    <description>
+      Configurable naming conventions for formal parameters of methods and lambdas.
+      This rule reports formal parameters which do not match the regex that applies to their
+      specific kind (e.g. lambda parameter, or final formal parameter). Each regex can be
+      configured through properties.
 
-            By default this rule uses the standard Java naming convention (Camel case).
-        </description>
-        <priority>1</priority>
-        <example>
-            <![CDATA[
+      By default this rule uses the standard Java naming convention (Camel case).
+    </description>
+    <priority>1</priority>
+    <example>
+      <![CDATA[
             class Foo {
 
                 abstract void bar(int myInt); // This is Camel case, so it's ok
@@ -832,34 +880,34 @@ for (int i = 0; i < 42; i++)
 
             }
             ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="GenericsNaming"
-          language="java"
-          since="4.2.6"
-          message="Generics names should be a one letter long and upper case."
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#genericsnaming">
-        <description>
-Names for references to generic values should be limited to a single uppercase letter.
-        </description>
-        <priority>4</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="GenericsNaming"
+    language="java"
+    since="4.2.6"
+    message="Generics names should be a one letter long and upper case."
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#genericsnaming">
+    <description>
+      Names for references to generic values should be limited to a single uppercase letter.
+    </description>
+    <priority>4</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //TypeDeclaration/ClassOrInterfaceDeclaration/TypeParameters/TypeParameter[
   string-length(@Image) > 1 
   or
   string:upper-case(@Image) != @Image
 ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public interface GenericDao<E extends BaseModel, K extends Serializable> extends BaseDao {
     // This is ok...
 }
@@ -876,25 +924,26 @@ public interface GenericDao<EF extends BaseModel, K extends Serializable> {
    // 'EF' is not ok.
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
 
-    <rule name="IdenticalCatchBranches"
-          language="java"
-          since="6.4.0"
-          minimumLanguageVersion="1.7"
-          message="''catch'' branch identical to ''{0}'' branch"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.IdenticalCatchBranchesRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#identicalcatchbranches">
-        <description>
-            Identical `catch` branches use up vertical space and increase the complexity of code without
-            adding functionality. It's better style to collapse identical branches into a single multi-catch
-            branch.
-        </description>
-        <priority>3</priority>
-        <example>
-            <![CDATA[
+  <rule name="IdenticalCatchBranches"
+    language="java"
+    since="6.4.0"
+    minimumLanguageVersion="1.7"
+    message="''catch'' branch identical to ''{0}'' branch"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.IdenticalCatchBranchesRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#identicalcatchbranches">
+    <description>
+      Identical `catch` branches use up vertical space and increase the complexity of code without
+      adding functionality. It's better style to collapse identical branches into a single
+      multi-catch
+      branch.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 try {
     // do something
 } catch (IllegalArgumentException e) {
@@ -909,39 +958,39 @@ try {
     throw e;
 }
             ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="IfElseStmtsMustUseBraces"
-          language="java"
-          since="0.2"
-          deprecated="true"
-          message="Avoid using 'if...else' statements without curly braces"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#ifelsestmtsmustusebraces">
-        <description>
-Avoid using if..else statements without using surrounding braces. If the code formatting 
-or indentation is lost then it becomes difficult to separate the code being controlled 
-from the rest.
+  <rule name="IfElseStmtsMustUseBraces"
+    language="java"
+    since="0.2"
+    deprecated="true"
+    message="Avoid using 'if...else' statements without curly braces"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#ifelsestmtsmustusebraces">
+    <description>
+      Avoid using if..else statements without using surrounding braces. If the code formatting
+      or indentation is lost then it becomes difficult to separate the code being controlled
+      from the rest.
 
-This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-by the rule {% rule java/codestyle/ControlStatementBraces %}.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+      by the rule {% rule java/codestyle/ControlStatementBraces %}.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //Statement
  [parent::IfStatement[@Else='true']]
  [not(child::Block)]
  [not(child::IfStatement)]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
    // this is OK
 if (foo) x++;
 
@@ -951,36 +1000,36 @@ if (foo)
    else
        x = x-1;
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="IfStmtsMustUseBraces"
-          language="java"
-          since="1.0"
-          deprecated="true"
-          message="Avoid using if statements without curly braces"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#ifstmtsmustusebraces">
-        <description>
-Avoid using if statements without using braces to surround the code block. If the code 
-formatting or indentation is lost then it becomes difficult to separate the code being
-controlled from the rest.
+  <rule name="IfStmtsMustUseBraces"
+    language="java"
+    since="1.0"
+    deprecated="true"
+    message="Avoid using if statements without curly braces"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#ifstmtsmustusebraces">
+    <description>
+      Avoid using if statements without using braces to surround the code block. If the code
+      formatting or indentation is lost then it becomes difficult to separate the code being
+      controlled from the rest.
 
-This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-by the rule {% rule java/codestyle/ControlStatementBraces %}.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+      by the rule {% rule java/codestyle/ControlStatementBraces %}.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //IfStatement[count(*) < 3][not(Statement/Block)]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
- <![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 if (foo)    // not recommended
     x++;
 
@@ -989,32 +1038,38 @@ if (foo) {  // preferred approach
 }
 
  ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="LinguisticNaming"
-          language="java"
-          since="6.7.0"
-          message="Linguistics Antipattern - Method name and return type is inconsistent linguistically"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.LinguisticNamingRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#linguisticnaming"
-          typeResolution="true">
-        <description>
-            This rule finds Linguistic Naming Antipatterns. It checks for fields, that are named, as if they should
-            be boolean but have a different type. It also checks for methods, that according to their name, should
-            return a boolean, but don't. Further, it checks, that getters return something and setters won't.
-            Finally, it checks that methods, that start with "to" - so called transform methods - actually return
-            something, since according to their name, they should convert or transform one object into another.
-            There is additionally an option, to check for methods that contain "To" in their name - which are
-            also transform methods. However, this is disabled by default, since this detection is prone to
-            false positives.
+  <rule name="LinguisticNaming"
+    language="java"
+    since="6.7.0"
+    message="Linguistics Antipattern - Method name and return type is inconsistent linguistically"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.LinguisticNamingRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#linguisticnaming"
+    typeResolution="true">
+    <description>
+      This rule finds Linguistic Naming Antipatterns. It checks for fields, that are named, as if
+      they should
+      be boolean but have a different type. It also checks for methods, that according to their
+      name, should
+      return a boolean, but don't. Further, it checks, that getters return something and setters
+      won't.
+      Finally, it checks that methods, that start with "to" - so called transform methods - actually
+      return
+      something, since according to their name, they should convert or transform one object into
+      another.
+      There is additionally an option, to check for methods that contain "To" in their name - which
+      are
+      also transform methods. However, this is disabled by default, since this detection is prone to
+      false positives.
 
-            For more information, see [Linguistic Antipatterns - What They Are and How
-Developers Perceive Them](https://doi.org/10.1007/s10664-014-9350-8).
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+      For more information, see [Linguistic Antipatterns - What They Are and How
+      Developers Perceive Them](https://doi.org/10.1007/s10664-014-9350-8).
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public class LinguisticNaming {
     int isValid;    // the field name indicates a boolean, but it is an int.
     boolean isTrue; // correct type of the field
@@ -1053,23 +1108,23 @@ public class LinguisticNaming {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="LocalHomeNamingConvention"
-          language="java"
-          since="4.0"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          message="The Local Home interface of a Session EJB should be suffixed by 'LocalHome'"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localhomenamingconvention">
-        <description>
-The Local Home interface of a Session EJB should be suffixed by 'LocalHome'.
-        </description>
-        <priority>4</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="LocalHomeNamingConvention"
+    language="java"
+    since="4.0"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    message="The Local Home interface of a Session EJB should be suffixed by 'LocalHome'"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localhomenamingconvention">
+    <description>
+      The Local Home interface of a Session EJB should be suffixed by 'LocalHome'.
+    </description>
+    <priority>4</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration
 [
     (
@@ -1082,32 +1137,32 @@ The Local Home interface of a Session EJB should be suffixed by 'LocalHome'.
     )
 ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public interface MyBeautifulLocalHome extends javax.ejb.EJBLocalHome {} // proper name
 
 public interface MissingProperSuffix extends javax.ejb.EJBLocalHome {}  // non-standard name
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="LocalInterfaceSessionNamingConvention"
-          language="java"
-          since="4.0"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          message="The Local Interface of a Session EJB should be suffixed by 'Local'"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localinterfacesessionnamingconvention">
-        <description>
-The Local Interface of a Session EJB should be suffixed by 'Local'.
-        </description>
-        <priority>4</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="LocalInterfaceSessionNamingConvention"
+    language="java"
+    since="4.0"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    message="The Local Interface of a Session EJB should be suffixed by 'Local'"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localinterfacesessionnamingconvention">
+    <description>
+      The Local Interface of a Session EJB should be suffixed by 'Local'.
+    </description>
+    <priority>4</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration
 [
     (
@@ -1120,29 +1175,29 @@ The Local Interface of a Session EJB should be suffixed by 'Local'.
     )
 ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public interface MyLocal extends javax.ejb.EJBLocalObject {}                // proper name
 
 public interface MissingProperSuffix extends javax.ejb.EJBLocalObject {}    // non-standard name
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="LocalVariableCouldBeFinal"
-          since="2.2"
-          message="Local variable ''{0}'' could be declared final"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.LocalVariableCouldBeFinalRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localvariablecouldbefinal">
-        <description>
-A local variable assigned only once can be declared final.
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="LocalVariableCouldBeFinal"
+    since="2.2"
+    message="Local variable ''{0}'' could be declared final"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.LocalVariableCouldBeFinalRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localvariablecouldbefinal">
+    <description>
+      A local variable assigned only once can be declared final.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public class Bar {
     public void foo () {
     String txtA = "a";          // if txtA will not be assigned again it is better to do this:
@@ -1150,25 +1205,27 @@ public class Bar {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="LocalVariableNamingConventions"
-          since="6.6.0"
-          message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.LocalVariableNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localvariablenamingconventions">
-        <description>
-            Configurable naming conventions for local variable declarations and other locally-scoped
-            variables. This rule reports variable declarations which do not match the regex that applies to their
-            specific kind (e.g. final variable, or catch-clause parameter). Each regex can be configured through
-            properties.
+  <rule name="LocalVariableNamingConventions"
+    since="6.6.0"
+    message="The {0} name ''{1}'' doesn''t match ''{2}''"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.LocalVariableNamingConventionsRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localvariablenamingconventions">
+    <description>
+      Configurable naming conventions for local variable declarations and other locally-scoped
+      variables. This rule reports variable declarations which do not match the regex that applies
+      to their
+      specific kind (e.g. final variable, or catch-clause parameter). Each regex can be configured
+      through
+      properties.
 
-            By default this rule uses the standard Java naming convention (Camel case).
-        </description>
-        <priority>1</priority>
-        <example>
-            <![CDATA[
+      By default this rule uses the standard Java naming convention (Camel case).
+    </description>
+    <priority>1</priority>
+    <example>
+      <![CDATA[
             class Foo {
                 void bar() {
                     int localVariable = 1; // This is in camel case, so it's ok
@@ -1185,31 +1242,33 @@ public class Bar {
                 }
             }
             ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="LongVariable"
-          language="java"
-          since="0.3"
-          message="Avoid excessively long variable names like {0}"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#longvariable">
-        <description>
-Fields, formal arguments, or local variable names that are too long can make the code difficult to follow.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="minimum" type="Integer" description="The variable length reporting threshold" min="1" max="100" value="17"/>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="LongVariable"
+    language="java"
+    since="0.3"
+    message="Avoid excessively long variable names like {0}"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#longvariable">
+    <description>
+      Fields, formal arguments, or local variable names that are too long can make the code
+      difficult to follow.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="minimum" type="Integer" description="The variable length reporting threshold"
+        min="1" max="100" value="17"/>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //VariableDeclaratorId[string-length(@Image) > $minimum]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Something {
     int reallyLongIntName = -3;             // VIOLATION - Field
     public static void main( String argumentsList[] ) { // VIOLATION - Formal
@@ -1220,23 +1279,24 @@ public class Something {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="MDBAndSessionBeanNamingConvention"
-          language="java"
-          since="4.0"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          message="SessionBean or MessageBean should be suffixed by Bean"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#mdbandsessionbeannamingconvention">
-        <description>
-The EJB Specification states that any MessageDrivenBean or SessionBean should be suffixed by 'Bean'.
-        </description>
-        <priority>4</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="MDBAndSessionBeanNamingConvention"
+    language="java"
+    since="4.0"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    message="SessionBean or MessageBean should be suffixed by Bean"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#mdbandsessionbeannamingconvention">
+    <description>
+      The EJB Specification states that any MessageDrivenBean or SessionBean should be suffixed by
+      'Bean'.
+    </description>
+    <priority>4</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //TypeDeclaration/ClassOrInterfaceDeclaration
 [
     (
@@ -1251,29 +1311,29 @@ The EJB Specification states that any MessageDrivenBean or SessionBean should be
     )
 ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class SomeBean implements SessionBean{}                  // proper name
 
 public class MissingTheProperSuffix implements SessionBean {}   // non-standard name
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="MethodArgumentCouldBeFinal"
-          since="2.2"
-          message="Parameter ''{0}'' is not assigned and could be declared final"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodArgumentCouldBeFinalRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#methodargumentcouldbefinal">
-        <description>
-A method argument that is never re-assigned within the method can be declared final.
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="MethodArgumentCouldBeFinal"
+    since="2.2"
+    message="Parameter ''{0}'' is not assigned and could be declared final"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodArgumentCouldBeFinalRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#methodargumentcouldbefinal">
+    <description>
+      A method argument that is never re-assigned within the method can be declared final.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public void foo1 (String param) {       // do stuff with param never assigning it
 
 }
@@ -1282,61 +1342,62 @@ public void foo2 (final String param) { // better, do stuff with param never ass
 
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="MethodNamingConventions"
-          since="1.2"
-          message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#methodnamingconventions">
-        <description>
-            Configurable naming conventions for method declarations. This rule reports
-            method declarations which do not match the regex that applies to their
-            specific kind (e.g. JUnit test or native method). Each regex can be
-            configured through properties.
+  <rule name="MethodNamingConventions"
+    since="1.2"
+    message="The {0} name ''{1}'' doesn''t match ''{2}''"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodNamingConventionsRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#methodnamingconventions">
+    <description>
+      Configurable naming conventions for method declarations. This rule reports
+      method declarations which do not match the regex that applies to their
+      specific kind (e.g. JUnit test or native method). Each regex can be
+      configured through properties.
 
-            By default this rule uses the standard Java naming convention (Camel case).
-        </description>
-        <priority>1</priority>
-        <example>
-<![CDATA[
+      By default this rule uses the standard Java naming convention (Camel case).
+    </description>
+    <priority>1</priority>
+    <example>
+      <![CDATA[
 public class Foo {
     public void fooStuff() {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="MIsLeadingVariableName"
-          language="java"
-          since="3.4"
-          deprecated="true"
-          message="Avoid naming non-fields with the prefix 'm_'"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#misleadingvariablename">
-        <description>
-Detects when a non-field has a name starting with 'm_'.  This usually denotes a field and could be confusing.
+  <rule name="MIsLeadingVariableName"
+    language="java"
+    since="3.4"
+    deprecated="true"
+    message="Avoid naming non-fields with the prefix 'm_'"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#misleadingvariablename">
+    <description>
+      Detects when a non-field has a name starting with 'm_'. This usually denotes a field and could
+      be confusing.
 
-This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-by the more general rule
-{% rule java/codestyle/LocalVariableNamingConventions %}.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+      by the more general rule
+      {% rule java/codestyle/LocalVariableNamingConventions %}.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //VariableDeclaratorId
 [starts-with(@Image, 'm_')]
 [not (../../../FieldDeclaration)]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Foo {
     private int m_foo; // OK
     public void bar(String m_baz) { // Bad
@@ -1344,56 +1405,59 @@ public class Foo {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="NoPackage"
-          language="java"
-          since="3.3"
-          message="All classes and interfaces must belong to a named package"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#nopackage">
-        <description>
-Detects when a class or interface does not have a package definition.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>//ClassOrInterfaceDeclaration[count(preceding::PackageDeclaration) = 0]</value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+  <rule name="NoPackage"
+    language="java"
+    since="3.3"
+    message="All classes and interfaces must belong to a named package"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#nopackage">
+    <description>
+      Detects when a class or interface does not have a package definition.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>//ClassOrInterfaceDeclaration[count(preceding::PackageDeclaration) = 0]</value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 // no package declaration
 public class ClassInDefaultPackage {
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="UseUnderscoresInNumericLiterals"
-          language="java"
-          since="6.10.0"
-          minimumLanguageVersion="1.7"
-          message="Number {0} should separate every third digit with an underscore"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#useunderscoresinnumericliterals">
-        <description>
-            Since Java 1.7, numeric literals can use underscores to separate digits. This rule enforces that
-            numeric literals above a certain length use these underscores to increase readability.
+  <rule name="UseUnderscoresInNumericLiterals"
+    language="java"
+    since="6.10.0"
+    minimumLanguageVersion="1.7"
+    message="Number {0} should separate every third digit with an underscore"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#useunderscoresinnumericliterals">
+    <description>
+      Since Java 1.7, numeric literals can use underscores to separate digits. This rule enforces
+      that
+      numeric literals above a certain length use these underscores to increase readability.
 
-            The rule only supports decimal (base 10) literals for now. The acceptable length under which literals
-            are not required to have underscores is configurable via a property. Even under that length, underscores
-            that are misplaced (not making groups of 3 digits) are reported.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="version" value="2.0"/>
-            <property name="acceptableDecimalLength" type="Integer" value="4" min="3" max="1000"
-                      description="Length under which literals in base 10 are not required to have underscores"/>
-            <property name="xpath">
-                <value>
-                    <![CDATA[
+      The rule only supports decimal (base 10) literals for now. The acceptable length under which
+      literals
+      are not required to have underscores is configurable via a property. Even under that length,
+      underscores
+      that are misplaced (not making groups of 3 digits) are reported.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="version" value="2.0"/>
+      <property name="acceptableDecimalLength" type="Integer" value="4" min="3" max="1000"
+        description="Length under which literals in base 10 are not required to have underscores"/>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //Literal[
      @IntLiteral = true()
   or @LongLiteral = true()
@@ -1413,29 +1477,29 @@ public class ClassInDefaultPackage {
                 )
  ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-            <![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Foo {
     private int num = 1000000; // should be 1_000_000
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="OnlyOneReturn"
-          since="1.0"
-          message="A method should have only one exit point, and that should be the last statement in the method"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.OnlyOneReturnRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#onlyonereturn">
-        <description>
-A method should have only one exit point, and that should be the last statement in the method.
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="OnlyOneReturn"
+    since="1.0"
+    message="A method should have only one exit point, and that should be the last statement in the method"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.OnlyOneReturnRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#onlyonereturn">
+    <description>
+      A method should have only one exit point, and that should be the last statement in the method.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public class OneReturnOnly1 {
   public void foo(int x) {
     if (x > 0) {
@@ -1445,46 +1509,48 @@ public class OneReturnOnly1 {
   }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="PackageCase"
-          language="java"
-          since="3.3"
-          message="Package name contains upper case characters"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#packagecase">
-        <description>
-Detects when a package definition contains uppercase characters.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>//PackageDeclaration/Name[lower-case(@Image)!=@Image]</value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+  <rule name="PackageCase"
+    language="java"
+    since="3.3"
+    message="Package name contains upper case characters"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#packagecase">
+    <description>
+      Detects when a package definition contains uppercase characters.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>//PackageDeclaration/Name[lower-case(@Image)!=@Image]</value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 package com.MyCompany;  // should be lowercase name
 
 public class SomeClass {
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="PrematureDeclaration"
-          language="java"
-          since="5.0"
-          message="Avoid declaring a variable if it is unreferenced before a possible exit point."
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.PrematureDeclarationRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#prematuredeclaration">
-        <description>
-Checks for variables that are defined before they might be used. A reference is deemed to be premature if it is created right before a block of code that doesn't use it that also has the ability to return or throw an exception.
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="PrematureDeclaration"
+    language="java"
+    since="5.0"
+    message="Avoid declaring a variable if it is unreferenced before a possible exit point."
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.PrematureDeclarationRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#prematuredeclaration">
+    <description>
+      Checks for variables that are defined before they might be used. A reference is deemed to be
+      premature if it is created right before a block of code that doesn't use it that also has the
+      ability to return or throw an exception.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public int getLength(String[] strings) {
 
     int length = 0; // declared prematurely
@@ -1498,23 +1564,23 @@ public int getLength(String[] strings) {
     return length;
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="RemoteInterfaceNamingConvention"
-          language="java"
-          since="4.0"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          message="Remote Interface of a Session EJB should NOT be suffixed"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#remoteinterfacenamingconvention">
-        <description>
-Remote Interface of a Session EJB should not have a suffix.
-        </description>
-        <priority>4</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="RemoteInterfaceNamingConvention"
+    language="java"
+    since="4.0"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    message="Remote Interface of a Session EJB should NOT be suffixed"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#remoteinterfacenamingconvention">
+    <description>
+      Remote Interface of a Session EJB should not have a suffix.
+    </description>
+    <priority>4</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration
 [
     (
@@ -1530,11 +1596,11 @@ Remote Interface of a Session EJB should not have a suffix.
     )
 ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 /* Poor Session suffix */
 public interface BadSuffixSession extends javax.ejb.EJBObject {}
 
@@ -1544,23 +1610,23 @@ public interface BadSuffixEJB extends javax.ejb.EJBObject {}
 /* Poor Bean suffix */
 public interface BadSuffixBean extends javax.ejb.EJBObject {}
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="RemoteSessionInterfaceNamingConvention"
-          language="java"
-          since="4.0"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          message="Remote Home interface of a Session EJB should be suffixed by 'Home'"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#remotesessioninterfacenamingconvention">
-        <description>
-A Remote Home interface type of a Session EJB should be suffixed by 'Home'.
-        </description>
-        <priority>4</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="RemoteSessionInterfaceNamingConvention"
+    language="java"
+    since="4.0"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    message="Remote Home interface of a Session EJB should be suffixed by 'Home'"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#remotesessioninterfacenamingconvention">
+    <description>
+      A Remote Home interface type of a Session EJB should be suffixed by 'Home'.
+    </description>
+    <priority>4</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration
 [
     (
@@ -1573,92 +1639,95 @@ A Remote Home interface type of a Session EJB should be suffixed by 'Home'.
     )
 ]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public interface MyBeautifulHome extends javax.ejb.EJBHome {}       // proper name
 
 public interface MissingProperSuffix extends javax.ejb.EJBHome {}   // non-standard name
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="ShortClassName"
-          language="java"
-          since="5.0"
-          message="Avoid short class names like {0}"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortclassname">
-        <description>
-Short Classnames with fewer than e.g. five characters are not recommended.
-        </description>
-        <priority>4</priority>
-        <properties>
-            <property name="minimum" type="Integer" value="5" min="1" max="100" description="Number of characters that are required as a minimum for a class name."/>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="ShortClassName"
+    language="java"
+    since="5.0"
+    message="Avoid short class names like {0}"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortclassname">
+    <description>
+      Short Classnames with fewer than e.g. five characters are not recommended.
+    </description>
+    <priority>4</priority>
+    <properties>
+      <property name="minimum" type="Integer" value="5" min="1" max="100"
+        description="Number of characters that are required as a minimum for a class name."/>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration[string-length(@Image) < $minimum]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Foo {
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="ShortMethodName"
-          language="java"
-          since="0.3"
-          message="Avoid using short method names"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortmethodname">
-        <description>
-Method names that are very short are not helpful to the reader.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="minimum" type="Integer" value="3" min="1" max="100" description="Number of characters that are required as a minimum for a method name."/>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="ShortMethodName"
+    language="java"
+    since="0.3"
+    message="Avoid using short method names"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortmethodname">
+    <description>
+      Method names that are very short are not helpful to the reader.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="minimum" type="Integer" value="3" min="1" max="100"
+        description="Number of characters that are required as a minimum for a method name."/>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //MethodDeclarator[string-length(@Image) < $minimum]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class ShortMethod {
     public void a( int i ) { // Violation
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="ShortVariable"
-          language="java"
-          since="0.3"
-          message="Avoid variables with short names like {0}"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortvariable">
-        <description>
-Fields, local variables, or parameter names that are very short are not helpful to the reader.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="minimum" type="Integer" value="3" min="1" max="100" description="Number of characters that are required as a minimum for a variable name."/>
-            <property name="version" value="2.0"/>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="ShortVariable"
+    language="java"
+    since="0.3"
+    message="Avoid variables with short names like {0}"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortvariable">
+    <description>
+      Fields, local variables, or parameter names that are very short are not helpful to the reader.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="minimum" type="Integer" value="3" min="1" max="100"
+        description="Number of characters that are required as a minimum for a variable name."/>
+      <property name="version" value="2.0"/>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //VariableDeclaratorId[string-length(@Image) < $minimum]
  (: ForStatement :)
  [not(../../..[self::ForInit])]
@@ -1669,11 +1738,11 @@ Fields, local variables, or parameter names that are very short are not helpful
  (: Lambda expression parameter :)
  [not(parent::LambdaExpression or ../../..[self::LambdaExpression])]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Something {
     private int q = 15;                         // field - too short
     public static void main( String as[] ) {    // formal arg - too short
@@ -1687,38 +1756,39 @@ public class Something {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="SuspiciousConstantFieldName"
-          language="java"
-          since="2.0"
-          deprecated="true"
-          message="The field name indicates a constant but its modifiers do not"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#suspiciousconstantfieldname">
-        <description>
-Field names using all uppercase characters - Sun's Java naming conventions indicating constants - should
-be declared as final.
+  <rule name="SuspiciousConstantFieldName"
+    language="java"
+    since="2.0"
+    deprecated="true"
+    message="The field name indicates a constant but its modifiers do not"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#suspiciousconstantfieldname">
+    <description>
+      Field names using all uppercase characters - Sun's Java naming conventions indicating
+      constants - should
+      be declared as final.
 
-This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-by the more general rule {% rule java/codestyle/FieldNamingConventions %}.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+      by the more general rule {% rule java/codestyle/FieldNamingConventions %}.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //ClassOrInterfaceDeclaration[@Interface='false']
  /ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/FieldDeclaration
   [@Final='false']
   [VariableDeclarator/VariableDeclaratorId[upper-case(@Image)=@Image]]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Foo {
  // this is bad, since someone could accidentally
  // do PI = 2.71828; which is actually e
@@ -1726,56 +1796,57 @@ public class Foo {
   double PI = 3.16;
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="TooManyStaticImports"
-          language="java"
-          since="4.1"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          message="Too many static imports may lead to messy code"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#toomanystaticimports">
-        <description>
-If you overuse the static import feature, it can make your program unreadable and 
-unmaintainable, polluting its namespace with all the static members you import. 
-Readers of your code (including you, a few months after you wrote it) will not know 
-which class a static member comes from (Sun 1.5 Language Guide).
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="maximumStaticImports" type="Integer" 
-                      description="All static imports can be disallowed by setting this to 0" min="0" max="100" value="4"/>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="TooManyStaticImports"
+    language="java"
+    since="4.1"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    message="Too many static imports may lead to messy code"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#toomanystaticimports">
+    <description>
+      If you overuse the static import feature, it can make your program unreadable and
+      unmaintainable, polluting its namespace with all the static members you import.
+      Readers of your code (including you, a few months after you wrote it) will not know
+      which class a static member comes from (Sun 1.5 Language Guide).
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="maximumStaticImports" type="Integer"
+        description="All static imports can be disallowed by setting this to 0" min="0" max="100"
+        value="4"/>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 .[count(ImportDeclaration[@Static = 'true']) > $maximumStaticImports]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 import static Lennon;
 import static Ringo;
 import static George;
 import static Paul;
 import static Yoko; // Too much !
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
 
-    <rule name="UnnecessaryAnnotationValueElement"
-          since="6.2.0"
-          message="Avoid the use of value in annotations when it's the only element"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryAnnotationValueElementRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryannotationvalueelement">
-        <description>
-            Avoid the use of value in annotations when it's the only element.
-        </description>
-        <priority>3</priority>
-        <example>
-            <![CDATA[
+  <rule name="UnnecessaryAnnotationValueElement"
+    since="6.2.0"
+    message="Avoid the use of value in annotations when it's the only element"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryAnnotationValueElementRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryannotationvalueelement">
+    <description>
+      Avoid the use of value in annotations when it's the only element.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 @TestClassAnnotation(value = "TEST")
 public class Foo {
 
@@ -1805,44 +1876,49 @@ public class Foo {
 }
 
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
 
-    <rule name="UnnecessaryConstructor"
-          language="java"
-          since="1.0"
-          message="Avoid unnecessary constructors - the compiler will generate these for you"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryConstructorRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryconstructor">
-        <description>
-This rule detects when a constructor is not necessary; i.e., when there is only one constructor and the
-constructor is identical to the default constructor. The default constructor should has same access
-modifier as the declaring class. In an enum type, the default constructor is implicitly private.
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="UnnecessaryConstructor"
+    language="java"
+    since="1.0"
+    message="Avoid unnecessary constructors - the compiler will generate these for you"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryConstructorRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryconstructor">
+    <description>
+      This rule detects when a constructor is not necessary; i.e., when there is only one
+      constructor and the
+      constructor is identical to the default constructor. The default constructor should has same
+      access
+      modifier as the declaring class. In an enum type, the default constructor is implicitly
+      private.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public class Foo {
   public Foo() {}
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="UnnecessaryFullyQualifiedName"
-          language="java"
-          since="5.0"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryFullyQualifiedNameRule"
-          message="Unnecessary use of fully qualified name ''{0}'' due to existing {2}import ''{1}''"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname">
-        <description>
-Import statements allow the use of non-fully qualified names.  The use of a fully qualified name
-which is covered by an import statement is redundant.  Consider using the non-fully qualified name.
-        </description>
-        <priority>4</priority>
-        <example>
-<![CDATA[
+  <rule name="UnnecessaryFullyQualifiedName"
+    language="java"
+    since="5.0"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryFullyQualifiedNameRule"
+    message="Unnecessary use of fully qualified name ''{0}'' due to existing {2}import ''{1}''"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname">
+    <description>
+      Import statements allow the use of non-fully qualified names. The use of a fully qualified
+      name
+      which is covered by an import statement is redundant. Consider using the non-fully qualified
+      name.
+    </description>
+    <priority>4</priority>
+    <example>
+      <![CDATA[
 import java.util.List;
 
 public class Foo {
@@ -1850,20 +1926,20 @@ public class Foo {
     private List list2;             // More appropriate given import of 'java.util.List'
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="UnnecessaryLocalBeforeReturn"
-          since="3.3"
-          message="Consider simply returning the value vs storing it in local variable ''{0}''"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryLocalBeforeReturnRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessarylocalbeforereturn">
-        <description>
-Avoid the creation of unnecessary local variables
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="UnnecessaryLocalBeforeReturn"
+    since="3.3"
+    message="Consider simply returning the value vs storing it in local variable ''{0}''"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryLocalBeforeReturnRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessarylocalbeforereturn">
+    <description>
+      Avoid the creation of unnecessary local variables
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public class Foo {
    public int foo() {
      int x = doSomething();
@@ -1871,25 +1947,28 @@ public class Foo {
    }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="UnnecessaryModifier"
-          language="java"
-          since="1.02"
-          message="Unnecessary modifier{0} on {1} ''{2}''{3}"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryModifierRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessarymodifier">
-        <description>
-Fields in interfaces and annotations are automatically `public static final`, and methods are `public abstract`.
-Classes, interfaces or annotations nested in an interface or annotation are automatically `public static`
-(all nested interfaces and annotations are automatically static).
-Nested enums are automatically `static`.
-For historical reasons, modifiers which are implied by the context are accepted by the compiler, but are superfluous.
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="UnnecessaryModifier"
+    language="java"
+    since="1.02"
+    message="Unnecessary modifier{0} on {1} ''{2}''{3}"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryModifierRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessarymodifier">
+    <description>
+      Fields in interfaces and annotations are automatically `public static final`, and methods are
+      `public abstract`.
+      Classes, interfaces or annotations nested in an interface or annotation are automatically
+      `public static`
+      (all nested interfaces and annotations are automatically static).
+      Nested enums are automatically `static`.
+      For historical reasons, modifiers which are implied by the context are accepted by the
+      compiler, but are superfluous.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public @interface Annotation {
     public abstract void bar();     // both abstract and public are ignored by the compiler
     public static final int X = 0;  // public, static, and final all ignored
@@ -1909,20 +1988,20 @@ public class Bar {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="UnnecessaryReturn"
-          since="1.3"
-          message="Avoid unnecessary return statements"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryReturnRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryreturn">
-        <description>
-Avoid the use of unnecessary return statements.
-        </description>
-        <priority>3</priority>
-        <example>
-<![CDATA[
+  <rule name="UnnecessaryReturn"
+    since="1.3"
+    message="Avoid unnecessary return statements"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryReturnRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryreturn">
+    <description>
+      Avoid the use of unnecessary return statements.
+    </description>
+    <priority>3</priority>
+    <example>
+      <![CDATA[
 public class Foo {
     public void bar() {
         int x = 42;
@@ -1930,27 +2009,28 @@ public class Foo {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="UseDiamondOperator"
-          language="java"
-          since="6.11.0"
-          message="Explicit type arguments can be replaced by Diamond Operator"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#usediamondoperator"
-          minimumLanguageVersion="1.7">
-        <description>
-Use the diamond operator to let the type be inferred automatically. With the Diamond operator it is possible
-to avoid duplication of the type parameters.
-Instead, the compiler is now able to infer the parameter types for constructor calls,
-which makes the code also more readable.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-                    <![CDATA[
+  <rule name="UseDiamondOperator"
+    language="java"
+    since="6.11.0"
+    message="Explicit type arguments can be replaced by Diamond Operator"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#usediamondoperator"
+    minimumLanguageVersion="1.7">
+    <description>
+      Use the diamond operator to let the type be inferred automatically. With the Diamond operator
+      it is possible
+      to avoid duplication of the type parameters.
+      Instead, the compiler is now able to infer the parameter types for constructor calls,
+      which makes the code also more readable.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //VariableInitializer
 //PrimaryExpression[not(PrimarySuffix)]
 [not(ancestor::ArgumentList)]
@@ -1961,29 +2041,29 @@ which makes the code also more readable.
 [not(ancestor::ArgumentList)]
 /PrimaryPrefix/AllocationExpression[ClassOrInterfaceType[@AnonymousClass='false']/TypeArguments//ReferenceType[not(.//TypeArguments)]]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-            <![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 List<String> strings = new ArrayList<String>(); // unnecessary duplication of type parameters
 List<String> stringsWithDiamond = new ArrayList<>(); // using the diamond operator is more concise
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="UselessParentheses"
-          language="java"
-          since="5.0"
-          message="Useless parentheses."
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#uselessparentheses">
-        <description>Useless parentheses should be removed.</description>
-        <priority>4</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="UselessParentheses"
+    language="java"
+    since="5.0"
+    message="Useless parentheses."
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#uselessparentheses">
+    <description>Useless parentheses should be removed.</description>
+    <priority>4</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //Expression[not(parent::PrimaryPrefix)]/PrimaryExpression[count(*)>1]
   /PrimaryPrefix/Expression
     [not(./CastExpression)]
@@ -2039,11 +2119,11 @@ List<String> stringsWithDiamond = new ArrayList<>(); // using the diamond operat
     not(./ConditionalOrExpression) and
     not(./EqualityExpression)]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Foo {
 
     private int _bar1;
@@ -2055,23 +2135,23 @@ public class Foo {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="UselessQualifiedThis"
-          language="java"
-          since="5.4.0"
-          message="Useless qualified this usage in the same class."
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#uselessqualifiedthis">
-        <description>
-            Reports qualified this usages in the same class.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
+  <rule name="UselessQualifiedThis"
+    language="java"
+    since="5.4.0"
+    message="Useless qualified this usage in the same class."
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#uselessqualifiedthis">
+    <description>
+      Reports qualified this usages in the same class.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>
+          <![CDATA[
 //PrimaryExpression
 [PrimaryPrefix/Name[@Image]]
 [PrimarySuffix[@Arguments='false' and @ArrayDereference = 'false']]
@@ -2079,11 +2159,11 @@ public class Foo {
 [ancestor::ClassOrInterfaceBodyDeclaration[1][@AnonymousInnerClass='false']]
 /PrimaryPrefix/Name[@Image = ancestor::ClassOrInterfaceDeclaration[1]/@Image]
 ]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+        </value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 public class Foo {
     final Foo otherFoo = Foo.this;  // use "this" directly
 
@@ -2109,60 +2189,60 @@ public class Foo {
     }
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="VariableNamingConventions"
-          since="1.2"
-          deprecated="true"
-          message="{0} variable {1} should begin with {2}"
-          class="net.sourceforge.pmd.lang.java.rule.codestyle.VariableNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#variablenamingconventions">
-        <description>
-A variable naming conventions rule - customize this to your liking.  Currently, it
-checks for final variables that should be fully capitalized and non-final variables
-that should not include underscores.
+  <rule name="VariableNamingConventions"
+    since="1.2"
+    deprecated="true"
+    message="{0} variable {1} should begin with {2}"
+    class="net.sourceforge.pmd.lang.java.rule.codestyle.VariableNamingConventionsRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#variablenamingconventions">
+    <description>
+      A variable naming conventions rule - customize this to your liking. Currently, it
+      checks for final variables that should be fully capitalized and non-final variables
+      that should not include underscores.
 
-This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-by the more general rules {% rule java/codestyle/FieldNamingConventions %},
-{% rule java/codestyle/FormalParameterNamingConventions %}, and
-{% rule java/codestyle/LocalVariableNamingConventions %}.
-        </description>
-        <priority>1</priority>
-        <example>
-<![CDATA[
+      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+      by the more general rules {% rule java/codestyle/FieldNamingConventions %},
+      {% rule java/codestyle/FormalParameterNamingConventions %}, and
+      {% rule java/codestyle/LocalVariableNamingConventions %}.
+    </description>
+    <priority>1</priority>
+    <example>
+      <![CDATA[
 public class Foo {
     public static final int MY_NUM = 0;
     public String myTest = "";
     DataModule dmTest = new DataModule();
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
-    <rule name="WhileLoopsMustUseBraces"
-          language="java"
-          since="0.7"
-          deprecated="true"
-          message="Avoid using 'while' statements without curly braces"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#whileloopsmustusebraces">
-        <description>
-Avoid using 'while' statements without using braces to surround the code block. If the code 
-formatting or indentation is lost then it becomes difficult to separate the code being
-controlled from the rest.
+  <rule name="WhileLoopsMustUseBraces"
+    language="java"
+    since="0.7"
+    deprecated="true"
+    message="Avoid using 'while' statements without curly braces"
+    class="net.sourceforge.pmd.lang.rule.XPathRule"
+    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#whileloopsmustusebraces">
+    <description>
+      Avoid using 'while' statements without using braces to surround the code block. If the code
+      formatting or indentation is lost then it becomes difficult to separate the code being
+      controlled from the rest.
 
-This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-by the rule {% rule java/codestyle/ControlStatementBraces %}.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>//WhileStatement[not(Statement/Block)]</value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
+      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+      by the rule {% rule java/codestyle/ControlStatementBraces %}.
+    </description>
+    <priority>3</priority>
+    <properties>
+      <property name="xpath">
+        <value>//WhileStatement[not(Statement/Block)]</value>
+      </property>
+    </properties>
+    <example>
+      <![CDATA[
 while (true)    // not recommended
       x++;
       
@@ -2170,7 +2250,7 @@ while (true) {  // preferred approach
       x++;
 }
 ]]>
-        </example>
-    </rule>
+    </example>
+  </rule>
 
 </ruleset>
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRuleTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRuleTest.java
similarity index 65%
rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRuleTest.java
rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRuleTest.java
index 01d3256fb7..6f2d189eb0 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayDeclarationVerbosenessRuleTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRuleTest.java
@@ -2,6 +2,6 @@ package net.sourceforge.pmd.lang.java.rule.codestyle;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
-public class ArrayDeclarationVerbosenessRuleTest extends PmdRuleTst {
+public class ArrayInitializationVerbosenessRuleTest extends PmdRuleTst {
   // no additional unit tests
 }

From f751c3b64058a34dfbc6e204b7af76f444440187 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Thu, 7 Feb 2019 13:27:56 -0500
Subject: [PATCH 004/371] Added test cases

---
 .../xml/ArrayInitializationVerboseness.xml    | 32 +++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
new file mode 100644
index 0000000000..42add35368
--- /dev/null
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test-data
+  xmlns="http://pmd.sourceforge.net/rule-tests"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+  <test-code>
+    <description><![CDATA[
+simple failure case
+     ]]></description>
+    <expected-problems>1</expected-problems>
+    <code><![CDATA[
+public class Foo {
+ void foo() {
+  int[] x = new int[] {1,2,3};
+ }
+}
+     ]]></code>
+  </test-code>
+  <test-code>
+    <description><![CDATA[
+ok
+     ]]></description>
+    <expected-problems>0</expected-problems>
+    <code><![CDATA[
+public class Foo {
+ void foo() {
+  int[] x = {1,2,3};
+ }
+}
+     ]]></code>
+  </test-code>
+</test-data>
\ No newline at end of file

From d4829281f2117765017237953ec97d81acceb166 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Thu, 7 Feb 2019 15:15:22 -0500
Subject: [PATCH 005/371] Version no fix, revert auto-formatting

---
 .../resources/category/java/codestyle.xml     | 262 +++++-------------
 1 file changed, 66 insertions(+), 196 deletions(-)

diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml
index 29acc9947d..c3e22c50c9 100644
--- a/pmd-java/src/main/resources/category/java/codestyle.xml
+++ b/pmd-java/src/main/resources/category/java/codestyle.xml
@@ -38,8 +38,7 @@
 ]]>
         </value>
       </property>
-      <property name="strict" type="Boolean" value="true"
-        description="Also flag classes, that are named Abstract, but are not abstract."/>
+      <property name="strict" type="Boolean" value="true" description="Also flag classes, that are named Abstract, but are not abstract."/>
     </properties>
     <example>
       <![CDATA[
@@ -156,10 +155,8 @@ public class MyClass {
     message="Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior."
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprefixingmethodparameters">
     <description>
-      Prefixing parameters by 'in' or 'out' pollutes the name of the parameters and reduces code
-      readability.
-      To indicate whether or not a parameter will be modify in a method, its better to document
-      method
+      Prefixing parameters by 'in' or 'out' pollutes the name of the parameters and reduces code readability.
+      To indicate whether or not a parameter will be modify in a method, its better to document method
       behavior with Javadoc.
 
       This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
@@ -248,11 +245,9 @@ public final class Bar {
     class="net.sourceforge.pmd.lang.rule.XPathRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprotectedmethodinfinalclassnotextending">
     <description>
-      Do not use protected methods in most final classes since they cannot be subclassed. This
-      should
+      Do not use protected methods in most final classes since they cannot be subclassed. This should
       only be allowed in final classes that extend other classes with protected methods (whose
-      visibility cannot be reduced). Clarify your intent by using private or package access
-      modifiers instead.
+      visibility cannot be reduced). Clarify your intent by using private or package access modifiers instead.
     </description>
     <priority>3</priority>
     <properties>
@@ -283,8 +278,7 @@ public final class Foo {
     class="net.sourceforge.pmd.lang.rule.XPathRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidusingnativecode">
     <description>
-      Unnecessary reliance on Java Native Interface (JNI) calls directly reduces application
-      portability
+      Unnecessary reliance on Java Native Interface (JNI) calls directly reduces application portability
       and increases the maintenance burden.
     </description>
     <priority>2</priority>
@@ -296,15 +290,12 @@ public final class Foo {
     <example>
       <![CDATA[
 public class SomeJNIClass {
-
      public SomeJNIClass() {
          System.loadLibrary("nativelib");
      }
-
      static {
          System.loadLibrary("nativelib");
      }
-
      public void invalidCallsInMethod() throws SecurityException, NoSuchMethodException {
          System.loadLibrary("nativelib");
      }
@@ -321,7 +312,7 @@ public class SomeJNIClass {
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#booleangetmethodname">
     <description>
       Methods that return boolean results should be named as predicate statements to denote this.
-      I.e, 'isReady()', 'hasValues()', 'canCommit()', 'willFail()', etc. Avoid the use of the 'get'
+      I.e, 'isReady()', 'hasValues()', 'canCommit()', 'willFail()', etc.   Avoid the use of the 'get'
       prefix for these methods.
     </description>
     <priority>4</priority>
@@ -339,8 +330,7 @@ and not(../Annotation//Name[@Image = 'Override'])
 ]]>
         </value>
       </property>
-      <property name="checkParameterizedMethods" type="Boolean"
-        description="Check parameterized methods" value="false"/>
+      <property name="checkParameterizedMethods" type="Boolean" description="Check parameterized methods" value="false"/>
     </properties>
     <example>
       <![CDATA[
@@ -359,8 +349,7 @@ public boolean getFoo(boolean bar); // ok, unless checkParameterizedMethods=true
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#callsuperinconstructor">
     <description>
       It is a good practice to call super() in a constructor. If super() is not called but
-      another constructor (such as an overloaded constructor) is called, this rule will not report
-      it.
+      another constructor (such as an overloaded constructor) is called, this rule will not report it.
     </description>
     <priority>3</priority>
     <properties>
@@ -410,15 +399,13 @@ public class Foo extends Bar{
     <example>
       <![CDATA[
 // This is Pascal case, the recommended naming convention in Java
-// Note that the default values of this rule don't allow underscores 
+// Note that the default values of this rule don't allow underscores
 // or accented characters in type names
 public class FooBar {}
-
 // You may want abstract classes to be named 'AbstractXXX',
 // in which case you can customize the regex for abstract
 // classes to 'Abstract[A-Z]\w+'
 public abstract class Thing {}
-
 // This class doesn't respect the convention, and will be flagged
 public class Éléphant {}
 ]]>
@@ -431,11 +418,9 @@ public class Éléphant {}
     message="Missing commented default access modifier"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier">
     <description>
-      To avoid mistakes if we want that a Method, Constructor, Field or Nested class have a default
-      access modifier
+      To avoid mistakes if we want that a Method, Constructor, Field or Nested class have a default access modifier
       we must add a comment at the beginning of it's declaration.
-      By default the comment must be /* default */ or /* package */, if you want another, you have
-      to provide a regular expression.
+      By default the comment must be /* default */ or /* package */, if you want another, you have to provide a regular expression.
       This rule ignores by default all cases that have a @VisibleForTesting annotation. Use the
       property "ignoredAnnotations" to customize the recognized annotations.
     </description>
@@ -447,18 +432,15 @@ public class Foo {
     String getString() {
        return stringValue;
     }
-
     class NestedFoo {
     }
 }
-
 // should be
 public class Foo {
     /* default */ final String stringValue = "some string";
     /* default */ String getString() {
        return stringValue;
     }
-
     /* default */ class NestedFoo {
     }
 }
@@ -472,11 +454,11 @@ public class Foo {
     class="net.sourceforge.pmd.lang.java.rule.codestyle.ConfusingTernaryRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#confusingternary">
     <description>
-      Avoid negation within an "if" expression with an "else" clause. For example, rephrase:
+      Avoid negation within an "if" expression with an "else" clause.  For example, rephrase:
       `if (x != y) diff(); else same();` as: `if (x == y) same(); else diff();`.
 
       Most "if (x != y)" cases without an "else" are often return cases, so consistent use of this
-      rule makes the code easier to read. Also, this resolves trivial ordering problems, such
+      rule makes the code easier to read.  Also, this resolves trivial ordering problems, such
       as "does the error case go first?" or "does the common case go first?".
     </description>
     <priority>3</priority>
@@ -496,35 +478,24 @@ boolean bar(int x, int y) {
     class="net.sourceforge.pmd.lang.rule.XPathRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#controlstatementbraces">
     <description>
-      Enforce a policy for braces on control statements. It is recommended to use braces on 'if ...
-      else'
-      statements and loop statements, even if they are optional. This usually makes the code
-      clearer, and
-      helps prepare the future when you need to add another statement. That said, this rule lets you
-      control
+      Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... else'
+      statements and loop statements, even if they are optional. This usually makes the code clearer, and
+      helps prepare the future when you need to add another statement. That said, this rule lets you control
       which statements are required to have braces via properties.
 
-      From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces,
-      IfStmtMustUseBraces,
+      From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces, IfStmtMustUseBraces,
       and IfElseStmtMustUseBraces.
     </description>
     <priority>3</priority>
     <properties>
-      <property name="checkIfElseStmt" type="Boolean" value="true"
-        description="Require that 'if ... else' statements use braces"/>
-      <property name="checkSingleIfStmt" type="Boolean" value="true"
-        description="Require that 'if' statements with a single branch use braces"/>
-      <property name="checkWhileStmt" type="Boolean" value="true"
-        description="Require that 'while' loops use braces"/>
-      <property name="checkForStmt" type="Boolean" value="true"
-        description="Require that 'for' loops should use braces"/>
-      <property name="checkDoWhileStmt" type="Boolean" value="true"
-        description="Require that 'do ... while' loops use braces"/>
-      <property name="checkCaseStmt" type="Boolean" value="false"
-        description="Require that cases of a switch have braces"/>
+      <property name="checkIfElseStmt" type="Boolean" value="true" description="Require that 'if ... else' statements use braces" />
+      <property name="checkSingleIfStmt" type="Boolean" value="true" description="Require that 'if' statements with a single branch use braces" />
+      <property name="checkWhileStmt" type="Boolean" value="true" description="Require that 'while' loops use braces" />
+      <property name="checkForStmt" type="Boolean" value="true" description="Require that 'for' loops should use braces" />
+      <property name="checkDoWhileStmt" type="Boolean" value="true" description="Require that 'do ... while' loops use braces" />
+      <property name="checkCaseStmt" type="Boolean" value="false" description="Require that cases of a switch have braces"/>
 
-      <property name="allowEmptyLoop" type="Boolean" value="false"
-        description="Allow loops with an empty statement, e.g. 'while(true);'"/>
+      <property name="allowEmptyLoop" type="Boolean" value="false" description="Allow loops with an empty statement, e.g. 'while(true);'" />
 
       <property name="version" value="2.0"/>
       <property name="xpath">
@@ -557,7 +528,6 @@ boolean bar(int x, int y) {
       <![CDATA[
 while (true)    // not recommended
   x++;
-
 while (true) {  // preferred approach
   x++;
 }
@@ -600,20 +570,15 @@ or MethodDeclaration[@PackagePrivate='true']
     class="net.sourceforge.pmd.lang.java.rule.codestyle.DontImportJavaLangRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#dontimportjavalang">
     <description>
-      Avoid importing anything from the package 'java.lang'. These classes are automatically
-      imported (JLS 7.5.3).
+      Avoid importing anything from the package 'java.lang'.  These classes are automatically imported (JLS 7.5.3).
     </description>
     <priority>4</priority>
     <example>
       <![CDATA[
 import java.lang.String;    // this is unnecessary
-
 public class Foo {}
-
 // --- in another source code file...
-
 import java.lang.*;         // this is bad
-
 public class Foo {}
 ]]>
     </example>
@@ -644,8 +609,7 @@ public class Foo {}
     message="An empty method in an abstract class should be abstract instead"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#emptymethodinabstractclassshouldbeabstract">
     <description>
-      Empty or auto-generated methods in an abstract class should be tagged as abstract. This helps
-      to remove their inapproprate
+      Empty or auto-generated methods in an abstract class should be tagged as abstract. This helps to remove their inapproprate
       usage by developers who should be implementing their own versions in the concrete subclasses.
     </description>
     <priority>1</priority>
@@ -679,7 +643,6 @@ public abstract class ShouldBeAbstract {
         // Should be abstract method ?
         return null;
     }
-
     public void couldBeAbstract() {
     }
 }
@@ -719,21 +682,17 @@ public class Foo extends Object {     // not required
     class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldDeclarationsShouldBeAtStartOfClassRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#fielddeclarationsshouldbeatstartofclass">
     <description>
-      Fields should be declared at the top of the class, before any method declarations,
-      constructors, initializers or inner classes.
+      Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
     </description>
     <priority>3</priority>
     <example>
       <![CDATA[
 public class HelloWorldBean {
-
   // Field declared before methods / inner classes - OK
   private String _thing;
-
   public String getMessage() {
     return "Hello World!";
   }
-
   // Field declared after methods / inner classes - avoid this
   private String _fieldInWrongLocation;
 }
@@ -748,14 +707,11 @@ public class HelloWorldBean {
     class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldNamingConventionsRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#fieldnamingconventions">
     <description>
-      Configurable naming conventions for field declarations. This rule reports variable
-      declarations
-      which do not match the regex that applies to their specific kind ---e.g. constants (static
-      final),
+      Configurable naming conventions for field declarations. This rule reports variable declarations
+      which do not match the regex that applies to their specific kind ---e.g. constants (static final),
       enum constant, final field. Each regex can be configured through properties.
 
-      By default this rule uses the standard Java naming convention (Camel case), and uses the
-      ALL_UPPER
+      By default this rule uses the standard Java naming convention (Camel case), and uses the ALL_UPPER
       convention for constants and enum constants.
     </description>
     <priority>1</priority>
@@ -765,14 +721,11 @@ public class HelloWorldBean {
                 int myField = 1; // This is in camel case, so it's ok
                 int my_Field = 1; // This contains an underscore, it's not ok by default
                                   // but you may allow it, or even require the "my_" prefix
-
                 final int FinalField = 1; // you may configure a different convention for final fields,
                                           // e.g. here PascalCase: [A-Z][a-zA-Z0-9]*
-
                 interface Interface {
                     double PI = 3.14; // interface "fields" use the constantPattern property
                 }
-
                 enum AnEnum {
                     ORG, NET, COM; // These use a separate property but are set to ALL_UPPER by default
                 }
@@ -861,23 +814,15 @@ for (int i = 0; i < 42; i++)
     <example>
       <![CDATA[
             class Foo {
-
                 abstract void bar(int myInt); // This is Camel case, so it's ok
-
                 void bar(int my_i) { // this will be reported
-
                 }
-
                 void lambdas() {
-
                     // lambdas parameters can be configured separately
                     Consumer<String> lambda1 = s_str -> { };
-
                     // lambda parameters with an explicit type can be configured separately
                     Consumer<String> lambda1 = (String str) -> { };
-
                 }
-
             }
             ]]>
     </example>
@@ -898,7 +843,7 @@ for (int i = 0; i < 42; i++)
         <value>
           <![CDATA[
 //TypeDeclaration/ClassOrInterfaceDeclaration/TypeParameters/TypeParameter[
-  string-length(@Image) > 1 
+  string-length(@Image) > 1
   or
   string:upper-case(@Image) != @Image
 ]
@@ -911,15 +856,12 @@ for (int i = 0; i < 42; i++)
 public interface GenericDao<E extends BaseModel, K extends Serializable> extends BaseDao {
     // This is ok...
 }
-
 public interface GenericDao<E extends BaseModel, K extends Serializable> {
     // Also this
 }
-
 public interface GenericDao<e extends BaseModel, K extends Serializable> {
     // 'e' should be an 'E'
 }
-
 public interface GenericDao<EF extends BaseModel, K extends Serializable> {
    // 'EF' is not ok.
 }
@@ -937,8 +879,7 @@ public interface GenericDao<EF extends BaseModel, K extends Serializable> {
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#identicalcatchbranches">
     <description>
       Identical `catch` branches use up vertical space and increase the complexity of code without
-      adding functionality. It's better style to collapse identical branches into a single
-      multi-catch
+      adding functionality. It's better style to collapse identical branches into a single multi-catch
       branch.
     </description>
     <priority>3</priority>
@@ -951,7 +892,6 @@ try {
 } catch (IllegalStateException e) { // Can be collapsed into the previous block
     throw e;
 }
-
 try {
     // do something
 } catch (IllegalArgumentException | IllegalStateException e) { // This is better
@@ -993,7 +933,6 @@ try {
       <![CDATA[
    // this is OK
 if (foo) x++;
-
    // but this is not
 if (foo)
        x = x+1;
@@ -1032,11 +971,9 @@ if (foo)
       <![CDATA[
 if (foo)    // not recommended
     x++;
-
 if (foo) {  // preferred approach
     x++;
 }
-
  ]]>
     </example>
   </rule>
@@ -1049,18 +986,12 @@ if (foo) {  // preferred approach
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#linguisticnaming"
     typeResolution="true">
     <description>
-      This rule finds Linguistic Naming Antipatterns. It checks for fields, that are named, as if
-      they should
-      be boolean but have a different type. It also checks for methods, that according to their
-      name, should
-      return a boolean, but don't. Further, it checks, that getters return something and setters
-      won't.
-      Finally, it checks that methods, that start with "to" - so called transform methods - actually
-      return
-      something, since according to their name, they should convert or transform one object into
-      another.
-      There is additionally an option, to check for methods that contain "To" in their name - which
-      are
+      This rule finds Linguistic Naming Antipatterns. It checks for fields, that are named, as if they should
+      be boolean but have a different type. It also checks for methods, that according to their name, should
+      return a boolean, but don't. Further, it checks, that getters return something and setters won't.
+      Finally, it checks that methods, that start with "to" - so called transform methods - actually return
+      something, since according to their name, they should convert or transform one object into another.
+      There is additionally an option, to check for methods that contain "To" in their name - which are
       also transform methods. However, this is disabled by default, since this detection is prone to
       false positives.
 
@@ -1073,12 +1004,10 @@ if (foo) {  // preferred approach
 public class LinguisticNaming {
     int isValid;    // the field name indicates a boolean, but it is an int.
     boolean isTrue; // correct type of the field
-
     void myMethod() {
         int hasMoneyLocal;      // the local variable name indicates a boolean, but it is an int.
         boolean hasSalaryLocal; // correct naming and type
     }
-
     // the name of the method indicates, it is a boolean, but the method returns an int.
     int isValid() {
         return 1;
@@ -1087,17 +1016,14 @@ public class LinguisticNaming {
     boolean isSmall() {
         return true;
     }
-
     // the name indicates, this is a setter, but it returns something
     int setName() {
         return 1;
     }
-
     // the name indicates, this is a getter, but it doesn't return anything
     void getName() {
         // nothing to return?
     }
-
     // the name indicates, it transforms an object and should return the result
     void toDataType() {
         // nothing to return?
@@ -1143,7 +1069,6 @@ public class LinguisticNaming {
     <example>
       <![CDATA[
 public interface MyBeautifulLocalHome extends javax.ejb.EJBLocalHome {} // proper name
-
 public interface MissingProperSuffix extends javax.ejb.EJBLocalHome {}  // non-standard name
 ]]>
     </example>
@@ -1181,7 +1106,6 @@ public interface MissingProperSuffix extends javax.ejb.EJBLocalHome {}  // non-s
     <example>
       <![CDATA[
 public interface MyLocal extends javax.ejb.EJBLocalObject {}                // proper name
-
 public interface MissingProperSuffix extends javax.ejb.EJBLocalObject {}    // non-standard name
 ]]>
     </example>
@@ -1215,10 +1139,8 @@ public class Bar {
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localvariablenamingconventions">
     <description>
       Configurable naming conventions for local variable declarations and other locally-scoped
-      variables. This rule reports variable declarations which do not match the regex that applies
-      to their
-      specific kind (e.g. final variable, or catch-clause parameter). Each regex can be configured
-      through
+      variables. This rule reports variable declarations which do not match the regex that applies to their
+      specific kind (e.g. final variable, or catch-clause parameter). Each regex can be configured through
       properties.
 
       By default this rule uses the standard Java naming convention (Camel case).
@@ -1230,15 +1152,12 @@ public class Bar {
                 void bar() {
                     int localVariable = 1; // This is in camel case, so it's ok
                     int local_variable = 1; // This will be reported unless you change the regex
-
                     final int i_var = 1; // final local variables can be configured separately
-
                     try {
                         foo();
                     } catch (IllegalArgumentException e_illegal) {
                         // exception block parameters can be configured separately
                     }
-
                 }
             }
             ]]>
@@ -1252,13 +1171,11 @@ public class Bar {
     class="net.sourceforge.pmd.lang.rule.XPathRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#longvariable">
     <description>
-      Fields, formal arguments, or local variable names that are too long can make the code
-      difficult to follow.
+      Fields, formal arguments, or local variable names that are too long can make the code difficult to follow.
     </description>
     <priority>3</priority>
     <properties>
-      <property name="minimum" type="Integer" description="The variable length reporting threshold"
-        min="1" max="100" value="17"/>
+      <property name="minimum" type="Integer" description="The variable length reporting threshold" min="1" max="100" value="17"/>
       <property name="xpath">
         <value>
           <![CDATA[
@@ -1289,8 +1206,7 @@ public class Something {
     message="SessionBean or MessageBean should be suffixed by Bean"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#mdbandsessionbeannamingconvention">
     <description>
-      The EJB Specification states that any MessageDrivenBean or SessionBean should be suffixed by
-      'Bean'.
+      The EJB Specification states that any MessageDrivenBean or SessionBean should be suffixed by 'Bean'.
     </description>
     <priority>4</priority>
     <properties>
@@ -1317,7 +1233,6 @@ public class Something {
     <example>
       <![CDATA[
 public class SomeBean implements SessionBean{}                  // proper name
-
 public class MissingTheProperSuffix implements SessionBean {}   // non-standard name
 ]]>
     </example>
@@ -1335,11 +1250,8 @@ public class MissingTheProperSuffix implements SessionBean {}   // non-standard
     <example>
       <![CDATA[
 public void foo1 (String param) {       // do stuff with param never assigning it
-
 }
-
 public void foo2 (final String param) { // better, do stuff with param never assigning it
-
 }
 ]]>
     </example>
@@ -1377,8 +1289,7 @@ public class Foo {
     class="net.sourceforge.pmd.lang.rule.XPathRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#misleadingvariablename">
     <description>
-      Detects when a non-field has a name starting with 'm_'. This usually denotes a field and could
-      be confusing.
+      Detects when a non-field has a name starting with 'm_'.  This usually denotes a field and could be confusing.
 
       This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
       by the more general rule
@@ -1440,14 +1351,11 @@ public class ClassInDefaultPackage {
     class="net.sourceforge.pmd.lang.rule.XPathRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#useunderscoresinnumericliterals">
     <description>
-      Since Java 1.7, numeric literals can use underscores to separate digits. This rule enforces
-      that
+      Since Java 1.7, numeric literals can use underscores to separate digits. This rule enforces that
       numeric literals above a certain length use these underscores to increase readability.
 
-      The rule only supports decimal (base 10) literals for now. The acceptable length under which
-      literals
-      are not required to have underscores is configurable via a property. Even under that length,
-      underscores
+      The rule only supports decimal (base 10) literals for now. The acceptable length under which literals
+      are not required to have underscores is configurable via a property. Even under that length, underscores
       that are misplaced (not making groups of 3 digits) are reported.
     </description>
     <priority>3</priority>
@@ -1530,7 +1438,6 @@ public class OneReturnOnly1 {
     <example>
       <![CDATA[
 package com.MyCompany;  // should be lowercase name
-
 public class SomeClass {
 }
 ]]>
@@ -1544,23 +1451,17 @@ public class SomeClass {
     class="net.sourceforge.pmd.lang.java.rule.codestyle.PrematureDeclarationRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#prematuredeclaration">
     <description>
-      Checks for variables that are defined before they might be used. A reference is deemed to be
-      premature if it is created right before a block of code that doesn't use it that also has the
-      ability to return or throw an exception.
+      Checks for variables that are defined before they might be used. A reference is deemed to be premature if it is created right before a block of code that doesn't use it that also has the ability to return or throw an exception.
     </description>
     <priority>3</priority>
     <example>
       <![CDATA[
 public int getLength(String[] strings) {
-
     int length = 0; // declared prematurely
-
     if (strings == null || strings.length == 0) return 0;
-
     for (String str : strings) {
         length += str.length();
     }
-
     return length;
 }
 ]]>
@@ -1603,10 +1504,8 @@ public int getLength(String[] strings) {
       <![CDATA[
 /* Poor Session suffix */
 public interface BadSuffixSession extends javax.ejb.EJBObject {}
-
 /* Poor EJB suffix */
 public interface BadSuffixEJB extends javax.ejb.EJBObject {}
-
 /* Poor Bean suffix */
 public interface BadSuffixBean extends javax.ejb.EJBObject {}
 ]]>
@@ -1645,7 +1544,6 @@ public interface BadSuffixBean extends javax.ejb.EJBObject {}
     <example>
       <![CDATA[
 public interface MyBeautifulHome extends javax.ejb.EJBHome {}       // proper name
-
 public interface MissingProperSuffix extends javax.ejb.EJBHome {}   // non-standard name
 ]]>
     </example>
@@ -1662,8 +1560,7 @@ public interface MissingProperSuffix extends javax.ejb.EJBHome {}   // non-stand
     </description>
     <priority>4</priority>
     <properties>
-      <property name="minimum" type="Integer" value="5" min="1" max="100"
-        description="Number of characters that are required as a minimum for a class name."/>
+      <property name="minimum" type="Integer" value="5" min="1" max="100" description="Number of characters that are required as a minimum for a class name."/>
       <property name="xpath">
         <value>
           <![CDATA[
@@ -1691,8 +1588,7 @@ public class Foo {
     </description>
     <priority>3</priority>
     <properties>
-      <property name="minimum" type="Integer" value="3" min="1" max="100"
-        description="Number of characters that are required as a minimum for a method name."/>
+      <property name="minimum" type="Integer" value="3" min="1" max="100" description="Number of characters that are required as a minimum for a method name."/>
       <property name="xpath">
         <value>
           <![CDATA[
@@ -1722,8 +1618,7 @@ public class ShortMethod {
     </description>
     <priority>3</priority>
     <properties>
-      <property name="minimum" type="Integer" value="3" min="1" max="100"
-        description="Number of characters that are required as a minimum for a variable name."/>
+      <property name="minimum" type="Integer" value="3" min="1" max="100" description="Number of characters that are required as a minimum for a variable name."/>
       <property name="version" value="2.0"/>
       <property name="xpath">
         <value>
@@ -1767,8 +1662,7 @@ public class Something {
     class="net.sourceforge.pmd.lang.rule.XPathRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#suspiciousconstantfieldname">
     <description>
-      Field names using all uppercase characters - Sun's Java naming conventions indicating
-      constants - should
+      Field names using all uppercase characters - Sun's Java naming conventions indicating constants - should
       be declared as final.
 
       This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
@@ -1814,8 +1708,7 @@ public class Foo {
     <priority>3</priority>
     <properties>
       <property name="maximumStaticImports" type="Integer"
-        description="All static imports can be disallowed by setting this to 0" min="0" max="100"
-        value="4"/>
+        description="All static imports can be disallowed by setting this to 0" min="0" max="100" value="4"/>
       <property name="xpath">
         <value>
           <![CDATA[
@@ -1849,32 +1742,25 @@ import static Yoko; // Too much !
       <![CDATA[
 @TestClassAnnotation(value = "TEST")
 public class Foo {
-
     @TestMemberAnnotation(value = "TEST")
     private String y;
-
     @TestMethodAnnotation(value = "TEST")
     public void bar() {
         int x = 42;
         return;
     }
 }
-
 // should be
-
 @TestClassAnnotation("TEST")
 public class Foo {
-
     @TestMemberAnnotation("TEST")
     private String y;
-
     @TestMethodAnnotation("TEST")
     public void bar() {
         int x = 42;
         return;
     }
 }
-
 ]]>
     </example>
   </rule>
@@ -1887,12 +1773,9 @@ public class Foo {
     class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryConstructorRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryconstructor">
     <description>
-      This rule detects when a constructor is not necessary; i.e., when there is only one
-      constructor and the
-      constructor is identical to the default constructor. The default constructor should has same
-      access
-      modifier as the declaring class. In an enum type, the default constructor is implicitly
-      private.
+      This rule detects when a constructor is not necessary; i.e., when there is only one constructor and the
+      constructor is identical to the default constructor. The default constructor should has same access
+      modifier as the declaring class. In an enum type, the default constructor is implicitly private.
     </description>
     <priority>3</priority>
     <example>
@@ -1911,16 +1794,13 @@ public class Foo {
     message="Unnecessary use of fully qualified name ''{0}'' due to existing {2}import ''{1}''"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname">
     <description>
-      Import statements allow the use of non-fully qualified names. The use of a fully qualified
-      name
-      which is covered by an import statement is redundant. Consider using the non-fully qualified
-      name.
+      Import statements allow the use of non-fully qualified names.  The use of a fully qualified name
+      which is covered by an import statement is redundant.  Consider using the non-fully qualified name.
     </description>
     <priority>4</priority>
     <example>
       <![CDATA[
 import java.util.List;
-
 public class Foo {
     private java.util.List list1;   // Unnecessary FQN
     private List list2;             // More appropriate given import of 'java.util.List'
@@ -1957,14 +1837,11 @@ public class Foo {
     class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryModifierRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessarymodifier">
     <description>
-      Fields in interfaces and annotations are automatically `public static final`, and methods are
-      `public abstract`.
-      Classes, interfaces or annotations nested in an interface or annotation are automatically
-      `public static`
+      Fields in interfaces and annotations are automatically `public static final`, and methods are `public abstract`.
+      Classes, interfaces or annotations nested in an interface or annotation are automatically `public static`
       (all nested interfaces and annotations are automatically static).
       Nested enums are automatically `static`.
-      For historical reasons, modifiers which are implied by the context are accepted by the
-      compiler, but are superfluous.
+      For historical reasons, modifiers which are implied by the context are accepted by the compiler, but are superfluous.
     </description>
     <priority>3</priority>
     <example>
@@ -2020,8 +1897,7 @@ public class Foo {
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#usediamondoperator"
     minimumLanguageVersion="1.7">
     <description>
-      Use the diamond operator to let the type be inferred automatically. With the Diamond operator
-      it is possible
+      Use the diamond operator to let the type be inferred automatically. With the Diamond operator it is possible
       to avoid duplication of the type parameters.
       Instead, the compiler is now able to infer the parameter types for constructor calls,
       which makes the code also more readable.
@@ -2125,10 +2001,8 @@ List<String> stringsWithDiamond = new ArrayList<>(); // using the diamond operat
     <example>
       <![CDATA[
 public class Foo {
-
     private int _bar1;
     private Integer _bar2;
-
     public void setBar(int n) {
         _bar1 = Integer.valueOf((n)); // here
         _bar2 = (n); // and here
@@ -2166,11 +2040,9 @@ public class Foo {
       <![CDATA[
 public class Foo {
     final Foo otherFoo = Foo.this;  // use "this" directly
-
     public void doSomething() {
          final Foo anotherFoo = Foo.this;  // use "this" directly
     }
-
     private ActionListener returnListener() {
         return new ActionListener() {
             @Override
@@ -2179,11 +2051,9 @@ public class Foo {
             }
         };
     }
-
     private class Foo3 {
         final Foo myFoo = Foo.this;  // This is fine
     }
-
     private class Foo2 {
         final Foo2 myFoo2 = Foo2.this;  // Use "this" direclty
     }
@@ -2199,7 +2069,7 @@ public class Foo {
     class="net.sourceforge.pmd.lang.java.rule.codestyle.VariableNamingConventionsRule"
     externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#variablenamingconventions">
     <description>
-      A variable naming conventions rule - customize this to your liking. Currently, it
+      A variable naming conventions rule - customize this to your liking.  Currently, it
       checks for final variables that should be fully capitalized and non-final variables
       that should not include underscores.
 
@@ -2245,7 +2115,7 @@ public class Foo {
       <![CDATA[
 while (true)    // not recommended
       x++;
-      
+
 while (true) {  // preferred approach
       x++;
 }
@@ -2253,4 +2123,4 @@ while (true) {  // preferred approach
     </example>
   </rule>
 
-</ruleset>
+</ruleset>
\ No newline at end of file

From 33ab74c8d24b33d959f7424c7762521e7c596139 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Thu, 7 Feb 2019 15:35:23 -0500
Subject: [PATCH 006/371] Fix style violation causing build failure

---
 .../rule/codestyle/ArrayInitializationVerbosenessRule.java     | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
index 15395111a1..d05a61879b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
@@ -9,8 +9,9 @@ public class ArrayInitializationVerbosenessRule extends AbstractJavaRule {
   public Object visit(ASTLocalVariableDeclaration node, Object data) {
 
     if (node.isArray()) {
-      if (node.getImage().matches("(new).+\\{"))
+      if (node.getImage().matches("(new).+\\{")) {
         addViolation(data, node);
+      }
       return super.visit(node, data);
     }
 

From c3047700f4f99dac35c5c9c59bf2472280f45dda Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Thu, 7 Feb 2019 16:09:18 -0500
Subject: [PATCH 007/371] Indent fix to address build failure

---
 .../ArrayInitializationVerbosenessRule.java   | 24 +++++++++++--------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
index d05a61879b..3381c5d00a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
@@ -1,3 +1,7 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
 package net.sourceforge.pmd.lang.java.rule.codestyle;
 
 import net.sourceforge.pmd.lang.java.ast.ASTLocalVariableDeclaration;
@@ -5,16 +9,16 @@ import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
 
 public class ArrayInitializationVerbosenessRule extends AbstractJavaRule {
 
-  @Override
-  public Object visit(ASTLocalVariableDeclaration node, Object data) {
+    @Override
+    public Object visit(ASTLocalVariableDeclaration node, Object data) {
 
-    if (node.isArray()) {
-      if (node.getImage().matches("(new).+\\{")) {
-        addViolation(data, node);
-      }
-      return super.visit(node, data);
+        if (node.isArray()) {
+            if (node.getImage().matches("(new).+\\{")) {
+              addViolation(data, node);
+            }
+            return super.visit(node, data);
+        }
+
+        return super.visit(node, data);
     }
-
-    return super.visit(node, data);
-  }
 }

From 6f957a58b957ddd52595596a7d6becd3812a0432 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Thu, 7 Feb 2019 16:36:08 -0500
Subject: [PATCH 008/371] Regex logic change to avoid style violations outside
 variable assignments

---
 .../java/rule/codestyle/ArrayInitializationVerbosenessRule.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
index 3381c5d00a..6ccb3ed008 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
@@ -13,7 +13,7 @@ public class ArrayInitializationVerbosenessRule extends AbstractJavaRule {
     public Object visit(ASTLocalVariableDeclaration node, Object data) {
 
         if (node.isArray()) {
-            if (node.getImage().matches("(new).+\\{")) {
+            if (node.getImage().matches("(= ?new).+\\{")) {
               addViolation(data, node);
             }
             return super.visit(node, data);

From 83f6b49cc076353b6d69e6ed6312a64edc43c0f6 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Thu, 7 Feb 2019 17:57:22 -0500
Subject: [PATCH 009/371] Further style fixes

---
 .../rule/codestyle/ArrayInitializationVerbosenessRule.java    | 2 +-
 .../codestyle/ArrayInitializationVerbosenessRuleTest.java     | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
index 6ccb3ed008..6ec816fc11 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
@@ -14,7 +14,7 @@ public class ArrayInitializationVerbosenessRule extends AbstractJavaRule {
 
         if (node.isArray()) {
             if (node.getImage().matches("(= ?new).+\\{")) {
-              addViolation(data, node);
+                addViolation(data, node);
             }
             return super.visit(node, data);
         }
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRuleTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRuleTest.java
index 6f2d189eb0..c832cfaec8 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRuleTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRuleTest.java
@@ -1,3 +1,7 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
 package net.sourceforge.pmd.lang.java.rule.codestyle;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;

From 0e2bbfc86009de451fe4e429107af975a48f62c3 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Thu, 7 Feb 2019 18:56:16 -0500
Subject: [PATCH 010/371] Added check for null node image to avoid regex
 checking null str

---
 .../java/rule/codestyle/ArrayInitializationVerbosenessRule.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
index 6ec816fc11..4347d7c5a0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
@@ -12,7 +12,7 @@ public class ArrayInitializationVerbosenessRule extends AbstractJavaRule {
     @Override
     public Object visit(ASTLocalVariableDeclaration node, Object data) {
 
-        if (node.isArray()) {
+        if (node.isArray() && node.getImage() != null) {
             if (node.getImage().matches("(= ?new).+\\{")) {
                 addViolation(data, node);
             }

From 67f755ad3a26e8c08ec6d91154c81578b8c8fe94 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Fri, 8 Feb 2019 20:37:17 -0500
Subject: [PATCH 011/371] Additional test case for multiple initializers

---
 .../xml/ArrayInitializationVerboseness.xml        | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
index 42add35368..2cc09a80ad 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
@@ -16,6 +16,21 @@ public class Foo {
 }
      ]]></code>
   </test-code>
+
+  <test-code>
+    <description><![CDATA[
+case with two initializers
+     ]]></description>
+    <expected-problems>2</expected-problems>
+    <code><![CDATA[
+public class Foo {
+ void foo() {
+   int ar[] = new int[] { 1,2,3}, foo[] = new int[] { 4, 5, 6 }
+ }
+}
+     ]]></code>
+  </test-code>
+
   <test-code>
     <description><![CDATA[
 ok

From adabe19ec441e2008e4d1e2da8871856c9e1bf4c Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Fri, 8 Feb 2019 20:38:42 -0500
Subject: [PATCH 012/371] Rename test class

---
 ...essRuleTest.java => ArrayInitializationVerbosenessTest.java} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/{ArrayInitializationVerbosenessRuleTest.java => ArrayInitializationVerbosenessTest.java} (75%)

diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRuleTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessTest.java
similarity index 75%
rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRuleTest.java
rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessTest.java
index c832cfaec8..0c7e46a3ce 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRuleTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessTest.java
@@ -6,6 +6,6 @@ package net.sourceforge.pmd.lang.java.rule.codestyle;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
-public class ArrayInitializationVerbosenessRuleTest extends PmdRuleTst {
+public class ArrayInitializationVerbosenessTest extends PmdRuleTst {
   // no additional unit tests
 }

From 97d8faa2efb0bab16450953c2afe5d3659b2c12c Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Fri, 8 Feb 2019 20:57:31 -0500
Subject: [PATCH 013/371] Modified regex logic to account for multiple
 initializers

---
 .../codestyle/ArrayInitializationVerbosenessRule.java | 11 +++++++----
 .../codestyle/xml/ArrayInitializationVerboseness.xml  |  2 +-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
index 4347d7c5a0..56d531ec41 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
@@ -4,6 +4,9 @@
 
 package net.sourceforge.pmd.lang.java.rule.codestyle;
 
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import net.sourceforge.pmd.lang.java.ast.ASTAllocationExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTLocalVariableDeclaration;
 import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
 
@@ -11,14 +14,14 @@ public class ArrayInitializationVerbosenessRule extends AbstractJavaRule {
 
     @Override
     public Object visit(ASTLocalVariableDeclaration node, Object data) {
-
         if (node.isArray() && node.getImage() != null) {
-            if (node.getImage().matches("(= ?new).+\\{")) {
+            Pattern verbosePattern = Pattern.compile("(= ?new).+\\{");
+            Matcher matcher = verbosePattern.matcher(string);
+
+            while (matcher.find()) {
                 addViolation(data, node);
             }
-            return super.visit(node, data);
         }
-
         return super.visit(node, data);
     }
 }
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
index 2cc09a80ad..146139f78e 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
@@ -25,7 +25,7 @@ case with two initializers
     <code><![CDATA[
 public class Foo {
  void foo() {
-   int ar[] = new int[] { 1,2,3}, foo[] = new int[] { 4, 5, 6 }
+   int ar[] = new int[] { 1,2,3}, foo[] = new int[] { 4, 5, 6 };
  }
 }
      ]]></code>

From 834283b34f702a82b884d0b41301c949e1ca1af5 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Fri, 8 Feb 2019 21:04:36 -0500
Subject: [PATCH 014/371] Removed .isArray check, replaced with placeholder

---
 .../rule/codestyle/ArrayInitializationVerbosenessRule.java  | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
index 56d531ec41..6018e4fd91 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
@@ -14,9 +14,11 @@ public class ArrayInitializationVerbosenessRule extends AbstractJavaRule {
 
     @Override
     public Object visit(ASTLocalVariableDeclaration node, Object data) {
-        if (node.isArray() && node.getImage() != null) {
+        boolean isArrayPlaceholder = true;
+
+        if (isArrayPlaceholder && node.getImage() != null) {
             Pattern verbosePattern = Pattern.compile("(= ?new).+\\{");
-            Matcher matcher = verbosePattern.matcher(string);
+            Matcher matcher = verbosePattern.matcher(node.getImage());
 
             while (matcher.find()) {
                 addViolation(data, node);

From cba6ea376f6c032d5abfa6d71fe03ed1c84e0d33 Mon Sep 17 00:00:00 2001
From: IDoCodingStuffs <sahinvictor@gmail.com>
Date: Fri, 8 Feb 2019 21:20:40 -0500
Subject: [PATCH 015/371] Revert autoformatting whitespaces

---
 .../resources/category/java/codestyle.xml     | 2538 +++++++++--------
 1 file changed, 1304 insertions(+), 1234 deletions(-)

diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml
index c3e22c50c9..e77db41815 100644
--- a/pmd-java/src/main/resources/category/java/codestyle.xml
+++ b/pmd-java/src/main/resources/category/java/codestyle.xml
@@ -1,32 +1,32 @@
 <?xml version="1.0"?>
 
 <ruleset name="Code Style"
-  xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+         xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
 
-  <description>
-    Rules which enforce a specific coding style.
-  </description>
-
-  <rule name="AbstractNaming"
-    language="java"
-    since="1.4"
-    deprecated="true"
-    message="Abstract classes should be named 'AbstractXXX'"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#abstractnaming">
     <description>
-      Abstract classes should be named 'AbstractXXX'.
-
-      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-      by {% rule java/codestyle/ClassNamingConventions %}.
+        Rules which enforce a specific coding style.
     </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+
+    <rule name="AbstractNaming"
+          language="java"
+          since="1.4"
+          deprecated="true"
+          message="Abstract classes should be named 'AbstractXXX'"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#abstractnaming">
+        <description>
+Abstract classes should be named 'AbstractXXX'.
+
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by {% rule java/codestyle/ClassNamingConventions %}.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration
  [@Abstract='true' and @Interface='false']
  [not (starts-with(@Image,'Abstract'))]
@@ -36,92 +36,91 @@
  [$strict='true']
  [starts-with(@Image, 'Abstract')]
 ]]>
-        </value>
-      </property>
-      <property name="strict" type="Boolean" value="true" description="Also flag classes, that are named Abstract, but are not abstract."/>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+            <property name="strict" type="Boolean" value="true" description="Also flag classes, that are named Abstract, but are not abstract."/>
+        </properties>
+        <example>
+<![CDATA[
 public abstract class Foo { // should be AbstractFoo
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="ArrayInitializationVerboseness"
-    language="java"
-    since="1.1"
-    message="Array initialization does not require assignment to new object, assignment to {--array content--} is sufficient"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.ArrayInitializationVerbosenessRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#arrayinitializationverboseness">
-    <description>
-      <![CDATA[
+    <rule name="ArrayInitializationVerboseness"
+        language="java"
+        since="1.1"
+        message="Array initialization does not require assignment to new object, assignment to {--array content--} is sufficient"
+        class="net.sourceforge.pmd.lang.java.rule.codestyle.ArrayInitializationVerbosenessRule"
+        externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#arrayinitializationverboseness">
+        <description>
+<![CDATA[
 Arrays can be initialized simply with curly braces without requiring to create new array object
 ]]>
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 Foo[] x = new Foo[] { ... }; // Overly verbose
-
 Foo[] x = { ... }; //Equivalent to above line
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="AtLeastOneConstructor"
-    language="java"
-    since="1.04"
-    message="Each class should declare at least one constructor"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.AtLeastOneConstructorRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#atleastoneconstructor">
-    <description>
-      <![CDATA[
+    <rule name="AtLeastOneConstructor"
+          language="java"
+          since="1.04"
+          message="Each class should declare at least one constructor"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.AtLeastOneConstructorRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#atleastoneconstructor">
+        <description>
+<![CDATA[
 Each non-static class should declare at least one constructor.
 Classes with solely static members are ignored, refer to [UseUtilityClassRule](pmd_rules_java_design.html#useutilityclass) to detect those.
 ]]>
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public class Foo {
    // missing constructor
   public void doSomething() { ... }
   public void doOtherThing { ... }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="AvoidDollarSigns"
-    since="1.5"
-    message="Avoid using dollar signs in variable/method/class/interface names"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.AvoidDollarSignsRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoiddollarsigns">
-    <description>
-      Avoid using dollar signs in variable/method/class/interface names.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="AvoidDollarSigns"
+          since="1.5"
+          message="Avoid using dollar signs in variable/method/class/interface names"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.AvoidDollarSignsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoiddollarsigns">
+        <description>
+Avoid using dollar signs in variable/method/class/interface names.
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public class Fo$o {  // not a recommended name
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="AvoidFinalLocalVariable"
-    language="java"
-    since="4.1"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    message="Avoid using final local variables, turn them into fields"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidfinallocalvariable">
-    <description>Avoid using final local variables, turn them into fields.</description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="AvoidFinalLocalVariable"
+          language="java"
+          since="4.1"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          message="Avoid using final local variables, turn them into fields"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidfinallocalvariable">
+        <description>Avoid using final local variables, turn them into fields.</description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //LocalVariableDeclaration[
   @Final = 'true'
   and not(../../ForStatement)
@@ -133,49 +132,49 @@ public class Fo$o {  // not a recommended name
   )
 ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class MyClass {
     public void foo() {
         final String finalLocalVariable;
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="AvoidPrefixingMethodParameters"
-    language="java"
-    since="5.0"
-    deprecated="true"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    message="Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior."
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprefixingmethodparameters">
-    <description>
-      Prefixing parameters by 'in' or 'out' pollutes the name of the parameters and reduces code readability.
-      To indicate whether or not a parameter will be modify in a method, its better to document method
-      behavior with Javadoc.
+    <rule name="AvoidPrefixingMethodParameters"
+          language="java"
+          since="5.0"
+          deprecated="true"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          message="Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior."
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprefixingmethodparameters">
+        <description>
+Prefixing parameters by 'in' or 'out' pollutes the name of the parameters and reduces code readability.
+To indicate whether or not a parameter will be modify in a method, its better to document method
+behavior with Javadoc.
 
-      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-      by the more general rule {% rule java/codestyle/FormalParameterNamingConventions %}.
-    </description>
-    <priority>4</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by the more general rule {% rule java/codestyle/FormalParameterNamingConventions %}.
+        </description>
+        <priority>4</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //MethodDeclaration/MethodDeclarator/FormalParameters/FormalParameter/VariableDeclaratorId[
         pmd:matches(@Image,'^in[A-Z].*','^out[A-Z].*','^in$','^out$')
 ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 // Not really clear
 public class Foo {
   public void bar(
@@ -185,9 +184,9 @@ public class Foo {
   }
 }
 ]]>
-    </example>
-    <example>
-      <![CDATA[
+        </example>
+        <example>
+<![CDATA[
 // Far more useful
 public class Foo {
   /**
@@ -202,124 +201,127 @@ public class Foo {
   }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="AvoidProtectedFieldInFinalClass"
-    language="java"
-    since="2.1"
-    message="Avoid protected fields in a final class.  Change to private or package access."
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass">
-    <description>
-      Do not use protected fields in final classes since they cannot be subclassed.
-      Clarify your intent by using private or package access modifiers instead.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="AvoidProtectedFieldInFinalClass"
+          language="java"
+          since="2.1"
+          message="Avoid protected fields in a final class.  Change to private or package access."
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass">
+        <description>
+Do not use protected fields in final classes since they cannot be subclassed.
+Clarify your intent by using private or package access modifiers instead.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration[@Final='true']
 /ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration
 /FieldDeclaration[@Protected='true']
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public final class Bar {
   private int x;
   protected int y;  // bar cannot be subclassed, so is y really private or package visible?
   Bar() {}
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="AvoidProtectedMethodInFinalClassNotExtending"
-    language="java"
-    since="5.1"
-    message="Avoid protected methods in a final class that doesn't extend anything other than Object.  Change to private or package access."
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprotectedmethodinfinalclassnotextending">
-    <description>
-      Do not use protected methods in most final classes since they cannot be subclassed. This should
-      only be allowed in final classes that extend other classes with protected methods (whose
-      visibility cannot be reduced). Clarify your intent by using private or package access modifiers instead.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="AvoidProtectedMethodInFinalClassNotExtending"
+          language="java"
+          since="5.1"
+          message="Avoid protected methods in a final class that doesn't extend anything other than Object.  Change to private or package access."
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidprotectedmethodinfinalclassnotextending">
+        <description>
+Do not use protected methods in most final classes since they cannot be subclassed. This should
+only be allowed in final classes that extend other classes with protected methods (whose
+visibility cannot be reduced). Clarify your intent by using private or package access modifiers instead.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration[@Final='true' and not(ExtendsList)]
 /ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration
 /MethodDeclaration[@Protected='true'][MethodDeclarator/@Image != 'finalize']
  ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public final class Foo {
   private int bar() {}
   protected int baz() {} // Foo cannot be subclassed, and doesn't extend anything, so is baz() really private or package visible?
 }
  ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="AvoidUsingNativeCode"
-    language="java"
-    since="4.1"
-    message="The use of native code is not recommended."
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidusingnativecode">
-    <description>
-      Unnecessary reliance on Java Native Interface (JNI) calls directly reduces application portability
-      and increases the maintenance burden.
-    </description>
-    <priority>2</priority>
-    <properties>
-      <property name="xpath">
-        <value>//Name[starts-with(@Image,'System.loadLibrary')]</value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+    <rule name="AvoidUsingNativeCode"
+          language="java"
+          since="4.1"
+          message="The use of native code is not recommended."
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidusingnativecode">
+        <description>
+Unnecessary reliance on Java Native Interface (JNI) calls directly reduces application portability
+and increases the maintenance burden.
+        </description>
+        <priority>2</priority>
+        <properties>
+            <property name="xpath">
+                <value>//Name[starts-with(@Image,'System.loadLibrary')]</value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class SomeJNIClass {
+
      public SomeJNIClass() {
          System.loadLibrary("nativelib");
      }
+
      static {
          System.loadLibrary("nativelib");
      }
+
      public void invalidCallsInMethod() throws SecurityException, NoSuchMethodException {
          System.loadLibrary("nativelib");
      }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="BooleanGetMethodName"
-    language="java"
-    since="4.0"
-    message="A 'getX()' method which returns a boolean should be named 'isX()'"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#booleangetmethodname">
-    <description>
-      Methods that return boolean results should be named as predicate statements to denote this.
-      I.e, 'isReady()', 'hasValues()', 'canCommit()', 'willFail()', etc.   Avoid the use of the 'get'
-      prefix for these methods.
-    </description>
-    <priority>4</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="BooleanGetMethodName"
+          language="java"
+          since="4.0"
+          message="A 'getX()' method which returns a boolean should be named 'isX()'"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#booleangetmethodname">
+        <description>
+Methods that return boolean results should be named as predicate statements to denote this.
+I.e, 'isReady()', 'hasValues()', 'canCommit()', 'willFail()', etc.   Avoid the use of the 'get'
+prefix for these methods.
+        </description>
+        <priority>4</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //MethodDeclaration[
 MethodDeclarator[count(FormalParameters/FormalParameter) = 0 or $checkParameterizedMethods = 'true']
                 [starts-with(@Image, 'get')]
@@ -328,44 +330,44 @@ ResultType/Type/PrimitiveType[@Image = 'boolean']
 and not(../Annotation//Name[@Image = 'Override'])
 ]
 ]]>
-        </value>
-      </property>
-      <property name="checkParameterizedMethods" type="Boolean" description="Check parameterized methods" value="false"/>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+            <property name="checkParameterizedMethods" type="Boolean" description="Check parameterized methods" value="false"/>
+        </properties>
+        <example>
+<![CDATA[
 public boolean getFoo();            // bad
 public boolean isFoo();             // ok
 public boolean getFoo(boolean bar); // ok, unless checkParameterizedMethods=true
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="CallSuperInConstructor"
-    language="java"
-    since="3.0"
-    message="It is a good practice to call super() in a constructor"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#callsuperinconstructor">
-    <description>
-      It is a good practice to call super() in a constructor. If super() is not called but
-      another constructor (such as an overloaded constructor) is called, this rule will not report it.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="CallSuperInConstructor"
+          language="java"
+          since="3.0"
+          message="It is a good practice to call super() in a constructor"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#callsuperinconstructor">
+        <description>
+It is a good practice to call super() in a constructor. If super() is not called but
+another constructor (such as an overloaded constructor) is called, this rule will not report it.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration[ count (ExtendsList/*) > 0 ]
 /ClassOrInterfaceBody
  /ClassOrInterfaceBodyDeclaration
  /ConstructorDeclaration[ count (.//ExplicitConstructorInvocation)=0 ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class Foo extends Bar{
   public Foo() {
    // call the constructor of Bar
@@ -378,128 +380,133 @@ public class Foo extends Bar{
   }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="ClassNamingConventions"
-    since="1.2"
-    message="The {0} name ''{1}'' doesn''t match ''{2}''"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.ClassNamingConventionsRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#classnamingconventions">
-    <description>
-      Configurable naming conventions for type declarations. This rule reports
-      type declarations which do not match the regex that applies to their
-      specific kind (e.g. enum or interface). Each regex can be configured through
-      properties.
+    <rule name="ClassNamingConventions"
+          since="1.2"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.ClassNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#classnamingconventions">
+        <description>
+            Configurable naming conventions for type declarations. This rule reports
+            type declarations which do not match the regex that applies to their
+            specific kind (e.g. enum or interface). Each regex can be configured through
+            properties.
 
-      By default this rule uses the standard Java naming convention (Pascal case),
-      and reports utility class names not ending with 'Util'.
-    </description>
-    <priority>1</priority>
-    <example>
-      <![CDATA[
+            By default this rule uses the standard Java naming convention (Pascal case),
+            and reports utility class names not ending with 'Util'.
+        </description>
+        <priority>1</priority>
+        <example>
+<![CDATA[
 // This is Pascal case, the recommended naming convention in Java
-// Note that the default values of this rule don't allow underscores
+// Note that the default values of this rule don't allow underscores 
 // or accented characters in type names
 public class FooBar {}
+
 // You may want abstract classes to be named 'AbstractXXX',
 // in which case you can customize the regex for abstract
 // classes to 'Abstract[A-Z]\w+'
 public abstract class Thing {}
+
 // This class doesn't respect the convention, and will be flagged
 public class Éléphant {}
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="CommentDefaultAccessModifier"
-    since="5.4.0"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.CommentDefaultAccessModifierRule"
-    message="Missing commented default access modifier"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier">
-    <description>
-      To avoid mistakes if we want that a Method, Constructor, Field or Nested class have a default access modifier
-      we must add a comment at the beginning of it's declaration.
-      By default the comment must be /* default */ or /* package */, if you want another, you have to provide a regular expression.
-      This rule ignores by default all cases that have a @VisibleForTesting annotation. Use the
-      property "ignoredAnnotations" to customize the recognized annotations.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="CommentDefaultAccessModifier"
+          since="5.4.0"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.CommentDefaultAccessModifierRule"
+          message="Missing commented default access modifier"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier">
+        <description>
+To avoid mistakes if we want that a Method, Constructor, Field or Nested class have a default access modifier
+we must add a comment at the beginning of it's declaration.
+By default the comment must be /* default */ or /* package */, if you want another, you have to provide a regular expression.
+This rule ignores by default all cases that have a @VisibleForTesting annotation. Use the
+property "ignoredAnnotations" to customize the recognized annotations.
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public class Foo {
     final String stringValue = "some string";
     String getString() {
        return stringValue;
     }
+
     class NestedFoo {
     }
 }
+
 // should be
 public class Foo {
     /* default */ final String stringValue = "some string";
     /* default */ String getString() {
        return stringValue;
     }
+
     /* default */ class NestedFoo {
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="ConfusingTernary"
-    since="1.9"
-    message="Avoid if (x != y) ..; else ..;"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.ConfusingTernaryRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#confusingternary">
-    <description>
-      Avoid negation within an "if" expression with an "else" clause.  For example, rephrase:
-      `if (x != y) diff(); else same();` as: `if (x == y) same(); else diff();`.
+    <rule name="ConfusingTernary"
+          since="1.9"
+          message="Avoid if (x != y) ..; else ..;"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.ConfusingTernaryRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#confusingternary">
+        <description>
+Avoid negation within an "if" expression with an "else" clause.  For example, rephrase:
+`if (x != y) diff(); else same();` as: `if (x == y) same(); else diff();`.
 
-      Most "if (x != y)" cases without an "else" are often return cases, so consistent use of this
-      rule makes the code easier to read.  Also, this resolves trivial ordering problems, such
-      as "does the error case go first?" or "does the common case go first?".
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+Most "if (x != y)" cases without an "else" are often return cases, so consistent use of this
+rule makes the code easier to read.  Also, this resolves trivial ordering problems, such
+as "does the error case go first?" or "does the common case go first?".
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 boolean bar(int x, int y) {
     return (x != y) ? diff : same;
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="ControlStatementBraces"
-    language="java"
-    since="6.2.0"
-    message="This statement should have braces"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#controlstatementbraces">
-    <description>
-      Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... else'
-      statements and loop statements, even if they are optional. This usually makes the code clearer, and
-      helps prepare the future when you need to add another statement. That said, this rule lets you control
-      which statements are required to have braces via properties.
+    <rule name="ControlStatementBraces"
+          language="java"
+          since="6.2.0"
+          message="This statement should have braces"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#controlstatementbraces">
+        <description>
+            Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... else'
+            statements and loop statements, even if they are optional. This usually makes the code clearer, and
+            helps prepare the future when you need to add another statement. That said, this rule lets you control
+            which statements are required to have braces via properties.
 
-      From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces, IfStmtMustUseBraces,
-      and IfElseStmtMustUseBraces.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="checkIfElseStmt" type="Boolean" value="true" description="Require that 'if ... else' statements use braces" />
-      <property name="checkSingleIfStmt" type="Boolean" value="true" description="Require that 'if' statements with a single branch use braces" />
-      <property name="checkWhileStmt" type="Boolean" value="true" description="Require that 'while' loops use braces" />
-      <property name="checkForStmt" type="Boolean" value="true" description="Require that 'for' loops should use braces" />
-      <property name="checkDoWhileStmt" type="Boolean" value="true" description="Require that 'do ... while' loops use braces" />
-      <property name="checkCaseStmt" type="Boolean" value="false" description="Require that cases of a switch have braces"/>
+            From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces, IfStmtMustUseBraces,
+            and IfElseStmtMustUseBraces.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="checkIfElseStmt" type="Boolean" value="true" description="Require that 'if ... else' statements use braces" />
+            <property name="checkSingleIfStmt" type="Boolean" value="true" description="Require that 'if' statements with a single branch use braces" />
+            <property name="checkWhileStmt" type="Boolean" value="true" description="Require that 'while' loops use braces" />
+            <property name="checkForStmt" type="Boolean" value="true" description="Require that 'for' loops should use braces" />
+            <property name="checkDoWhileStmt" type="Boolean" value="true" description="Require that 'do ... while' loops use braces" />
+            <property name="checkCaseStmt" type="Boolean" value="false" description="Require that cases of a switch have braces"/>
 
-      <property name="allowEmptyLoop" type="Boolean" value="false" description="Allow loops with an empty statement, e.g. 'while(true);'" />
+            <property name="allowEmptyLoop" type="Boolean" value="false" description="Allow loops with an empty statement, e.g. 'while(true);'" />
 
-      <property name="version" value="2.0"/>
-      <property name="xpath">
-        <value><![CDATA[
+            <property name="version" value="2.0"/>
+            <property name="xpath">
+                <value><![CDATA[
                 //WhileStatement[$checkWhileStmt and not(Statement/Block) and not($allowEmptyLoop and Statement/EmptyStatement)]
                 |
                 //ForStatement[$checkForStmt and not(Statement/Block) and not($allowEmptyLoop and Statement/EmptyStatement)]
@@ -522,34 +529,35 @@ boolean bar(int x, int y) {
                                   in following-sibling::BlockStatement except following-sibling::SwitchLabel[1]/following-sibling::BlockStatement
                                   satisfies not($stmt/Statement/Block))]
                 ]]></value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+            </property>
+        </properties>
+        <example>
+            <![CDATA[
 while (true)    // not recommended
   x++;
+
 while (true) {  // preferred approach
   x++;
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="DefaultPackage"
-    language="java"
-    since="3.4"
-    message="Use explicit scoping instead of the default package private level"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#defaultpackage">
-    <description>
-      Use explicit scoping instead of accidental usage of default package private level.
-      The rule allows methods and fields annotated with Guava's @VisibleForTesting.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="DefaultPackage"
+          language="java"
+          since="3.4"
+          message="Use explicit scoping instead of the default package private level"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#defaultpackage">
+        <description>
+Use explicit scoping instead of accidental usage of default package private level.
+The rule allows methods and fields annotated with Guava's @VisibleForTesting.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration[@Interface='false']
 /ClassOrInterfaceBody
 /ClassOrInterfaceBodyDeclaration
@@ -559,64 +567,68 @@ FieldDeclaration[@PackagePrivate='true']
 or MethodDeclaration[@PackagePrivate='true']
 ]
 ]]>
-        </value>
-      </property>
-    </properties>
-  </rule>
+                </value>
+            </property>
+        </properties>
+    </rule>
 
-  <rule name="DontImportJavaLang"
-    since="0.5"
-    message="Avoid importing anything from the package 'java.lang'"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.DontImportJavaLangRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#dontimportjavalang">
-    <description>
-      Avoid importing anything from the package 'java.lang'.  These classes are automatically imported (JLS 7.5.3).
-    </description>
-    <priority>4</priority>
-    <example>
-      <![CDATA[
+    <rule name="DontImportJavaLang"
+          since="0.5"
+          message="Avoid importing anything from the package 'java.lang'"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.DontImportJavaLangRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#dontimportjavalang">
+        <description>
+Avoid importing anything from the package 'java.lang'.  These classes are automatically imported (JLS 7.5.3).
+        </description>
+        <priority>4</priority>
+        <example>
+<![CDATA[
 import java.lang.String;    // this is unnecessary
+
 public class Foo {}
+
 // --- in another source code file...
+
 import java.lang.*;         // this is bad
+
 public class Foo {}
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="DuplicateImports"
-    since="0.5"
-    message="Avoid duplicate imports such as ''{0}''"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.DuplicateImportsRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#duplicateimports">
-    <description>
-      Duplicate or overlapping import statements should be avoided.
-    </description>
-    <priority>4</priority>
-    <example>
-      <![CDATA[
+    <rule name="DuplicateImports"
+          since="0.5"
+          message="Avoid duplicate imports such as ''{0}''"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.DuplicateImportsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#duplicateimports">
+        <description>
+Duplicate or overlapping import statements should be avoided.
+        </description>
+        <priority>4</priority>
+        <example>
+<![CDATA[
 import java.lang.String;
 import java.lang.*;
 public class Foo {}
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="EmptyMethodInAbstractClassShouldBeAbstract"
-    language="java"
-    since="4.1"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    message="An empty method in an abstract class should be abstract instead"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#emptymethodinabstractclassshouldbeabstract">
-    <description>
-      Empty or auto-generated methods in an abstract class should be tagged as abstract. This helps to remove their inapproprate
-      usage by developers who should be implementing their own versions in the concrete subclasses.
-    </description>
-    <priority>1</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="EmptyMethodInAbstractClassShouldBeAbstract"
+          language="java"
+          since="4.1"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          message="An empty method in an abstract class should be abstract instead"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#emptymethodinabstractclassshouldbeabstract">
+        <description>
+Empty or auto-generated methods in an abstract class should be tagged as abstract. This helps to remove their inapproprate
+usage by developers who should be implementing their own versions in the concrete subclasses.
+        </description>
+        <priority>1</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration[@Abstract = 'true']
     /ClassOrInterfaceBody
     /ClassOrInterfaceBodyDeclaration
@@ -633,258 +645,276 @@ public class Foo {}
         ( count (./Block/*) = 0 )
     ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public abstract class ShouldBeAbstract {
     public Object couldBeAbstract() {
         // Should be abstract method ?
         return null;
     }
+
     public void couldBeAbstract() {
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="ExtendsObject"
-    language="java"
-    since="5.0"
-    message="No need to explicitly extend Object."
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#extendsobject">
-    <description>No need to explicitly extend Object.</description>
-    <priority>4</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="ExtendsObject"
+          language="java"
+          since="5.0"
+          message="No need to explicitly extend Object."
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#extendsobject">
+        <description>No need to explicitly extend Object.</description>
+        <priority>4</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ExtendsList/ClassOrInterfaceType[@Image='Object' or @Image='java.lang.Object']
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class Foo extends Object {     // not required
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="FieldDeclarationsShouldBeAtStartOfClass"
-    language="java"
-    since="5.0"
-    message="Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes."
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldDeclarationsShouldBeAtStartOfClassRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#fielddeclarationsshouldbeatstartofclass">
-    <description>
-      Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="FieldDeclarationsShouldBeAtStartOfClass"
+          language="java"
+          since="5.0"
+          message="Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes."
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldDeclarationsShouldBeAtStartOfClassRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#fielddeclarationsshouldbeatstartofclass">
+        <description>
+Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public class HelloWorldBean {
+
   // Field declared before methods / inner classes - OK
   private String _thing;
+
   public String getMessage() {
     return "Hello World!";
   }
+
   // Field declared after methods / inner classes - avoid this
   private String _fieldInWrongLocation;
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
 
-  <rule name="FieldNamingConventions"
-    since="6.7.0"
-    message="The {0} name ''{1}'' doesn''t match ''{2}''"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldNamingConventionsRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#fieldnamingconventions">
-    <description>
-      Configurable naming conventions for field declarations. This rule reports variable declarations
-      which do not match the regex that applies to their specific kind ---e.g. constants (static final),
-      enum constant, final field. Each regex can be configured through properties.
+    <rule name="FieldNamingConventions"
+          since="6.7.0"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#fieldnamingconventions">
+        <description>
+            Configurable naming conventions for field declarations. This rule reports variable declarations
+            which do not match the regex that applies to their specific kind ---e.g. constants (static final),
+            enum constant, final field. Each regex can be configured through properties.
 
-      By default this rule uses the standard Java naming convention (Camel case), and uses the ALL_UPPER
-      convention for constants and enum constants.
-    </description>
-    <priority>1</priority>
-    <example>
-      <![CDATA[
+            By default this rule uses the standard Java naming convention (Camel case), and uses the ALL_UPPER
+            convention for constants and enum constants.
+        </description>
+        <priority>1</priority>
+        <example>
+            <![CDATA[
             class Foo {
                 int myField = 1; // This is in camel case, so it's ok
                 int my_Field = 1; // This contains an underscore, it's not ok by default
                                   // but you may allow it, or even require the "my_" prefix
+
                 final int FinalField = 1; // you may configure a different convention for final fields,
                                           // e.g. here PascalCase: [A-Z][a-zA-Z0-9]*
+
                 interface Interface {
                     double PI = 3.14; // interface "fields" use the constantPattern property
                 }
+
                 enum AnEnum {
                     ORG, NET, COM; // These use a separate property but are set to ALL_UPPER by default
                 }
             }
             ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="ForLoopShouldBeWhileLoop"
-    language="java"
-    since="1.02"
-    message="This for loop could be simplified to a while loop"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#forloopshouldbewhileloop">
-    <description>
-      Some for loops can be simplified to while loops, this makes them more concise.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="ForLoopShouldBeWhileLoop"
+          language="java"
+          since="1.02"
+          message="This for loop could be simplified to a while loop"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#forloopshouldbewhileloop">
+        <description>
+Some for loops can be simplified to while loops, this makes them more concise.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ForStatement
   [not(LocalVariableDeclaration)]
   [not(ForInit)]
   [not(ForUpdate)]
   [Expression]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class Foo {
     void bar() {
         for (;true;) true; // No Init or Update part, may as well be: while (true)
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="ForLoopsMustUseBraces"
-    language="java"
-    since="0.7"
-    deprecated="true"
-    message="Avoid using 'for' statements without curly braces"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#forloopsmustusebraces">
-    <description>
-      Avoid using 'for' statements without using curly braces. If the code formatting or
-      indentation is lost then it becomes difficult to separate the code being controlled
-      from the rest.
+    <rule name="ForLoopsMustUseBraces"
+          language="java"
+          since="0.7"
+          deprecated="true"
+          message="Avoid using 'for' statements without curly braces"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#forloopsmustusebraces">
+        <description>
+Avoid using 'for' statements without using curly braces. If the code formatting or 
+indentation is lost then it becomes difficult to separate the code being controlled 
+from the rest.
 
-      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-      by the rule {% rule java/codestyle/ControlStatementBraces %}.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>//ForStatement[not(Statement/Block)]</value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by the rule {% rule java/codestyle/ControlStatementBraces %}.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>//ForStatement[not(Statement/Block)]</value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 for (int i = 0; i < 42; i++)
    foo();
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="FormalParameterNamingConventions"
-    since="6.6.0"
-    message="The {0} name ''{1}'' doesn''t match ''{2}''"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.FormalParameterNamingConventionsRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#formalparameternamingconventions">
-    <description>
-      Configurable naming conventions for formal parameters of methods and lambdas.
-      This rule reports formal parameters which do not match the regex that applies to their
-      specific kind (e.g. lambda parameter, or final formal parameter). Each regex can be
-      configured through properties.
+    <rule name="FormalParameterNamingConventions"
+          since="6.6.0"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.FormalParameterNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#formalparameternamingconventions">
+        <description>
+            Configurable naming conventions for formal parameters of methods and lambdas.
+            This rule reports formal parameters which do not match the regex that applies to their
+            specific kind (e.g. lambda parameter, or final formal parameter). Each regex can be
+            configured through properties.
 
-      By default this rule uses the standard Java naming convention (Camel case).
-    </description>
-    <priority>1</priority>
-    <example>
-      <![CDATA[
+            By default this rule uses the standard Java naming convention (Camel case).
+        </description>
+        <priority>1</priority>
+        <example>
+            <![CDATA[
             class Foo {
+
                 abstract void bar(int myInt); // This is Camel case, so it's ok
+
                 void bar(int my_i) { // this will be reported
+
                 }
+
                 void lambdas() {
+
                     // lambdas parameters can be configured separately
                     Consumer<String> lambda1 = s_str -> { };
+
                     // lambda parameters with an explicit type can be configured separately
                     Consumer<String> lambda1 = (String str) -> { };
+
                 }
+
             }
             ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="GenericsNaming"
-    language="java"
-    since="4.2.6"
-    message="Generics names should be a one letter long and upper case."
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#genericsnaming">
-    <description>
-      Names for references to generic values should be limited to a single uppercase letter.
-    </description>
-    <priority>4</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="GenericsNaming"
+          language="java"
+          since="4.2.6"
+          message="Generics names should be a one letter long and upper case."
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#genericsnaming">
+        <description>
+Names for references to generic values should be limited to a single uppercase letter.
+        </description>
+        <priority>4</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //TypeDeclaration/ClassOrInterfaceDeclaration/TypeParameters/TypeParameter[
-  string-length(@Image) > 1
+  string-length(@Image) > 1 
   or
   string:upper-case(@Image) != @Image
 ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public interface GenericDao<E extends BaseModel, K extends Serializable> extends BaseDao {
     // This is ok...
 }
+
 public interface GenericDao<E extends BaseModel, K extends Serializable> {
     // Also this
 }
+
 public interface GenericDao<e extends BaseModel, K extends Serializable> {
     // 'e' should be an 'E'
 }
+
 public interface GenericDao<EF extends BaseModel, K extends Serializable> {
    // 'EF' is not ok.
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
 
-  <rule name="IdenticalCatchBranches"
-    language="java"
-    since="6.4.0"
-    minimumLanguageVersion="1.7"
-    message="''catch'' branch identical to ''{0}'' branch"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.IdenticalCatchBranchesRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#identicalcatchbranches">
-    <description>
-      Identical `catch` branches use up vertical space and increase the complexity of code without
-      adding functionality. It's better style to collapse identical branches into a single multi-catch
-      branch.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="IdenticalCatchBranches"
+          language="java"
+          since="6.4.0"
+          minimumLanguageVersion="1.7"
+          message="''catch'' branch identical to ''{0}'' branch"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.IdenticalCatchBranchesRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#identicalcatchbranches">
+        <description>
+            Identical `catch` branches use up vertical space and increase the complexity of code without
+            adding functionality. It's better style to collapse identical branches into a single multi-catch
+            branch.
+        </description>
+        <priority>3</priority>
+        <example>
+            <![CDATA[
 try {
     // do something
 } catch (IllegalArgumentException e) {
@@ -892,122 +922,128 @@ try {
 } catch (IllegalStateException e) { // Can be collapsed into the previous block
     throw e;
 }
+
 try {
     // do something
 } catch (IllegalArgumentException | IllegalStateException e) { // This is better
     throw e;
 }
             ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="IfElseStmtsMustUseBraces"
-    language="java"
-    since="0.2"
-    deprecated="true"
-    message="Avoid using 'if...else' statements without curly braces"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#ifelsestmtsmustusebraces">
-    <description>
-      Avoid using if..else statements without using surrounding braces. If the code formatting
-      or indentation is lost then it becomes difficult to separate the code being controlled
-      from the rest.
+    <rule name="IfElseStmtsMustUseBraces"
+          language="java"
+          since="0.2"
+          deprecated="true"
+          message="Avoid using 'if...else' statements without curly braces"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#ifelsestmtsmustusebraces">
+        <description>
+Avoid using if..else statements without using surrounding braces. If the code formatting 
+or indentation is lost then it becomes difficult to separate the code being controlled 
+from the rest.
 
-      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-      by the rule {% rule java/codestyle/ControlStatementBraces %}.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by the rule {% rule java/codestyle/ControlStatementBraces %}.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //Statement
  [parent::IfStatement[@Else='true']]
  [not(child::Block)]
  [not(child::IfStatement)]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
    // this is OK
 if (foo) x++;
+
    // but this is not
 if (foo)
        x = x+1;
    else
        x = x-1;
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="IfStmtsMustUseBraces"
-    language="java"
-    since="1.0"
-    deprecated="true"
-    message="Avoid using if statements without curly braces"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#ifstmtsmustusebraces">
-    <description>
-      Avoid using if statements without using braces to surround the code block. If the code
-      formatting or indentation is lost then it becomes difficult to separate the code being
-      controlled from the rest.
+    <rule name="IfStmtsMustUseBraces"
+          language="java"
+          since="1.0"
+          deprecated="true"
+          message="Avoid using if statements without curly braces"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#ifstmtsmustusebraces">
+        <description>
+Avoid using if statements without using braces to surround the code block. If the code 
+formatting or indentation is lost then it becomes difficult to separate the code being
+controlled from the rest.
 
-      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-      by the rule {% rule java/codestyle/ControlStatementBraces %}.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by the rule {% rule java/codestyle/ControlStatementBraces %}.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //IfStatement[count(*) < 3][not(Statement/Block)]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+ <![CDATA[
 if (foo)    // not recommended
     x++;
+
 if (foo) {  // preferred approach
     x++;
 }
+
  ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="LinguisticNaming"
-    language="java"
-    since="6.7.0"
-    message="Linguistics Antipattern - Method name and return type is inconsistent linguistically"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.LinguisticNamingRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#linguisticnaming"
-    typeResolution="true">
-    <description>
-      This rule finds Linguistic Naming Antipatterns. It checks for fields, that are named, as if they should
-      be boolean but have a different type. It also checks for methods, that according to their name, should
-      return a boolean, but don't. Further, it checks, that getters return something and setters won't.
-      Finally, it checks that methods, that start with "to" - so called transform methods - actually return
-      something, since according to their name, they should convert or transform one object into another.
-      There is additionally an option, to check for methods that contain "To" in their name - which are
-      also transform methods. However, this is disabled by default, since this detection is prone to
-      false positives.
+    <rule name="LinguisticNaming"
+          language="java"
+          since="6.7.0"
+          message="Linguistics Antipattern - Method name and return type is inconsistent linguistically"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.LinguisticNamingRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#linguisticnaming"
+          typeResolution="true">
+        <description>
+            This rule finds Linguistic Naming Antipatterns. It checks for fields, that are named, as if they should
+            be boolean but have a different type. It also checks for methods, that according to their name, should
+            return a boolean, but don't. Further, it checks, that getters return something and setters won't.
+            Finally, it checks that methods, that start with "to" - so called transform methods - actually return
+            something, since according to their name, they should convert or transform one object into another.
+            There is additionally an option, to check for methods that contain "To" in their name - which are
+            also transform methods. However, this is disabled by default, since this detection is prone to
+            false positives.
 
-      For more information, see [Linguistic Antipatterns - What They Are and How
-      Developers Perceive Them](https://doi.org/10.1007/s10664-014-9350-8).
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+            For more information, see [Linguistic Antipatterns - What They Are and How
+Developers Perceive Them](https://doi.org/10.1007/s10664-014-9350-8).
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public class LinguisticNaming {
     int isValid;    // the field name indicates a boolean, but it is an int.
     boolean isTrue; // correct type of the field
+
     void myMethod() {
         int hasMoneyLocal;      // the local variable name indicates a boolean, but it is an int.
         boolean hasSalaryLocal; // correct naming and type
     }
+
     // the name of the method indicates, it is a boolean, but the method returns an int.
     int isValid() {
         return 1;
@@ -1016,14 +1052,17 @@ public class LinguisticNaming {
     boolean isSmall() {
         return true;
     }
+
     // the name indicates, this is a setter, but it returns something
     int setName() {
         return 1;
     }
+
     // the name indicates, this is a getter, but it doesn't return anything
     void getName() {
         // nothing to return?
     }
+
     // the name indicates, it transforms an object and should return the result
     void toDataType() {
         // nothing to return?
@@ -1034,23 +1073,23 @@ public class LinguisticNaming {
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="LocalHomeNamingConvention"
-    language="java"
-    since="4.0"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    message="The Local Home interface of a Session EJB should be suffixed by 'LocalHome'"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localhomenamingconvention">
-    <description>
-      The Local Home interface of a Session EJB should be suffixed by 'LocalHome'.
-    </description>
-    <priority>4</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="LocalHomeNamingConvention"
+          language="java"
+          since="4.0"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          message="The Local Home interface of a Session EJB should be suffixed by 'LocalHome'"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localhomenamingconvention">
+        <description>
+The Local Home interface of a Session EJB should be suffixed by 'LocalHome'.
+        </description>
+        <priority>4</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration
 [
     (
@@ -1063,31 +1102,32 @@ public class LinguisticNaming {
     )
 ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public interface MyBeautifulLocalHome extends javax.ejb.EJBLocalHome {} // proper name
+
 public interface MissingProperSuffix extends javax.ejb.EJBLocalHome {}  // non-standard name
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="LocalInterfaceSessionNamingConvention"
-    language="java"
-    since="4.0"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    message="The Local Interface of a Session EJB should be suffixed by 'Local'"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localinterfacesessionnamingconvention">
-    <description>
-      The Local Interface of a Session EJB should be suffixed by 'Local'.
-    </description>
-    <priority>4</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="LocalInterfaceSessionNamingConvention"
+          language="java"
+          since="4.0"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          message="The Local Interface of a Session EJB should be suffixed by 'Local'"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localinterfacesessionnamingconvention">
+        <description>
+The Local Interface of a Session EJB should be suffixed by 'Local'.
+        </description>
+        <priority>4</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration
 [
     (
@@ -1100,28 +1140,29 @@ public interface MissingProperSuffix extends javax.ejb.EJBLocalHome {}  // non-s
     )
 ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public interface MyLocal extends javax.ejb.EJBLocalObject {}                // proper name
+
 public interface MissingProperSuffix extends javax.ejb.EJBLocalObject {}    // non-standard name
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="LocalVariableCouldBeFinal"
-    since="2.2"
-    message="Local variable ''{0}'' could be declared final"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.LocalVariableCouldBeFinalRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localvariablecouldbefinal">
-    <description>
-      A local variable assigned only once can be declared final.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="LocalVariableCouldBeFinal"
+          since="2.2"
+          message="Local variable ''{0}'' could be declared final"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.LocalVariableCouldBeFinalRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localvariablecouldbefinal">
+        <description>
+A local variable assigned only once can be declared final.
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public class Bar {
     public void foo () {
     String txtA = "a";          // if txtA will not be assigned again it is better to do this:
@@ -1129,63 +1170,66 @@ public class Bar {
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="LocalVariableNamingConventions"
-    since="6.6.0"
-    message="The {0} name ''{1}'' doesn''t match ''{2}''"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.LocalVariableNamingConventionsRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localvariablenamingconventions">
-    <description>
-      Configurable naming conventions for local variable declarations and other locally-scoped
-      variables. This rule reports variable declarations which do not match the regex that applies to their
-      specific kind (e.g. final variable, or catch-clause parameter). Each regex can be configured through
-      properties.
+    <rule name="LocalVariableNamingConventions"
+          since="6.6.0"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.LocalVariableNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#localvariablenamingconventions">
+        <description>
+            Configurable naming conventions for local variable declarations and other locally-scoped
+            variables. This rule reports variable declarations which do not match the regex that applies to their
+            specific kind (e.g. final variable, or catch-clause parameter). Each regex can be configured through
+            properties.
 
-      By default this rule uses the standard Java naming convention (Camel case).
-    </description>
-    <priority>1</priority>
-    <example>
-      <![CDATA[
+            By default this rule uses the standard Java naming convention (Camel case).
+        </description>
+        <priority>1</priority>
+        <example>
+            <![CDATA[
             class Foo {
                 void bar() {
                     int localVariable = 1; // This is in camel case, so it's ok
                     int local_variable = 1; // This will be reported unless you change the regex
+
                     final int i_var = 1; // final local variables can be configured separately
+
                     try {
                         foo();
                     } catch (IllegalArgumentException e_illegal) {
                         // exception block parameters can be configured separately
                     }
+
                 }
             }
             ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="LongVariable"
-    language="java"
-    since="0.3"
-    message="Avoid excessively long variable names like {0}"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#longvariable">
-    <description>
-      Fields, formal arguments, or local variable names that are too long can make the code difficult to follow.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="minimum" type="Integer" description="The variable length reporting threshold" min="1" max="100" value="17"/>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="LongVariable"
+          language="java"
+          since="0.3"
+          message="Avoid excessively long variable names like {0}"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#longvariable">
+        <description>
+Fields, formal arguments, or local variable names that are too long can make the code difficult to follow.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="minimum" type="Integer" description="The variable length reporting threshold" min="1" max="100" value="17"/>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //VariableDeclaratorId[string-length(@Image) > $minimum]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class Something {
     int reallyLongIntName = -3;             // VIOLATION - Field
     public static void main( String argumentsList[] ) { // VIOLATION - Formal
@@ -1196,23 +1240,23 @@ public class Something {
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="MDBAndSessionBeanNamingConvention"
-    language="java"
-    since="4.0"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    message="SessionBean or MessageBean should be suffixed by Bean"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#mdbandsessionbeannamingconvention">
-    <description>
-      The EJB Specification states that any MessageDrivenBean or SessionBean should be suffixed by 'Bean'.
-    </description>
-    <priority>4</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="MDBAndSessionBeanNamingConvention"
+          language="java"
+          since="4.0"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          message="SessionBean or MessageBean should be suffixed by Bean"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#mdbandsessionbeannamingconvention">
+        <description>
+The EJB Specification states that any MessageDrivenBean or SessionBean should be suffixed by 'Bean'.
+        </description>
+        <priority>4</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //TypeDeclaration/ClassOrInterfaceDeclaration
 [
     (
@@ -1227,88 +1271,92 @@ public class Something {
     )
 ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class SomeBean implements SessionBean{}                  // proper name
+
 public class MissingTheProperSuffix implements SessionBean {}   // non-standard name
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="MethodArgumentCouldBeFinal"
-    since="2.2"
-    message="Parameter ''{0}'' is not assigned and could be declared final"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodArgumentCouldBeFinalRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#methodargumentcouldbefinal">
-    <description>
-      A method argument that is never re-assigned within the method can be declared final.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="MethodArgumentCouldBeFinal"
+          since="2.2"
+          message="Parameter ''{0}'' is not assigned and could be declared final"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodArgumentCouldBeFinalRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#methodargumentcouldbefinal">
+        <description>
+A method argument that is never re-assigned within the method can be declared final.
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public void foo1 (String param) {       // do stuff with param never assigning it
+
 }
+
 public void foo2 (final String param) { // better, do stuff with param never assigning it
+
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="MethodNamingConventions"
-    since="1.2"
-    message="The {0} name ''{1}'' doesn''t match ''{2}''"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodNamingConventionsRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#methodnamingconventions">
-    <description>
-      Configurable naming conventions for method declarations. This rule reports
-      method declarations which do not match the regex that applies to their
-      specific kind (e.g. JUnit test or native method). Each regex can be
-      configured through properties.
+    <rule name="MethodNamingConventions"
+          since="1.2"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#methodnamingconventions">
+        <description>
+            Configurable naming conventions for method declarations. This rule reports
+            method declarations which do not match the regex that applies to their
+            specific kind (e.g. JUnit test or native method). Each regex can be
+            configured through properties.
 
-      By default this rule uses the standard Java naming convention (Camel case).
-    </description>
-    <priority>1</priority>
-    <example>
-      <![CDATA[
+            By default this rule uses the standard Java naming convention (Camel case).
+        </description>
+        <priority>1</priority>
+        <example>
+<![CDATA[
 public class Foo {
     public void fooStuff() {
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="MIsLeadingVariableName"
-    language="java"
-    since="3.4"
-    deprecated="true"
-    message="Avoid naming non-fields with the prefix 'm_'"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#misleadingvariablename">
-    <description>
-      Detects when a non-field has a name starting with 'm_'.  This usually denotes a field and could be confusing.
+    <rule name="MIsLeadingVariableName"
+          language="java"
+          since="3.4"
+          deprecated="true"
+          message="Avoid naming non-fields with the prefix 'm_'"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#misleadingvariablename">
+        <description>
+Detects when a non-field has a name starting with 'm_'.  This usually denotes a field and could be confusing.
 
-      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-      by the more general rule
-      {% rule java/codestyle/LocalVariableNamingConventions %}.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by the more general rule
+{% rule java/codestyle/LocalVariableNamingConventions %}.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //VariableDeclaratorId
 [starts-with(@Image, 'm_')]
 [not (../../../FieldDeclaration)]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class Foo {
     private int m_foo; // OK
     public void bar(String m_baz) { // Bad
@@ -1316,56 +1364,56 @@ public class Foo {
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="NoPackage"
-    language="java"
-    since="3.3"
-    message="All classes and interfaces must belong to a named package"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#nopackage">
-    <description>
-      Detects when a class or interface does not have a package definition.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>//ClassOrInterfaceDeclaration[count(preceding::PackageDeclaration) = 0]</value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+    <rule name="NoPackage"
+          language="java"
+          since="3.3"
+          message="All classes and interfaces must belong to a named package"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#nopackage">
+        <description>
+Detects when a class or interface does not have a package definition.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>//ClassOrInterfaceDeclaration[count(preceding::PackageDeclaration) = 0]</value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 // no package declaration
 public class ClassInDefaultPackage {
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="UseUnderscoresInNumericLiterals"
-    language="java"
-    since="6.10.0"
-    minimumLanguageVersion="1.7"
-    message="Number {0} should separate every third digit with an underscore"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#useunderscoresinnumericliterals">
-    <description>
-      Since Java 1.7, numeric literals can use underscores to separate digits. This rule enforces that
-      numeric literals above a certain length use these underscores to increase readability.
+    <rule name="UseUnderscoresInNumericLiterals"
+          language="java"
+          since="6.10.0"
+          minimumLanguageVersion="1.7"
+          message="Number {0} should separate every third digit with an underscore"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#useunderscoresinnumericliterals">
+        <description>
+            Since Java 1.7, numeric literals can use underscores to separate digits. This rule enforces that
+            numeric literals above a certain length use these underscores to increase readability.
 
-      The rule only supports decimal (base 10) literals for now. The acceptable length under which literals
-      are not required to have underscores is configurable via a property. Even under that length, underscores
-      that are misplaced (not making groups of 3 digits) are reported.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="version" value="2.0"/>
-      <property name="acceptableDecimalLength" type="Integer" value="4" min="3" max="1000"
-        description="Length under which literals in base 10 are not required to have underscores"/>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+            The rule only supports decimal (base 10) literals for now. The acceptable length under which literals
+            are not required to have underscores is configurable via a property. Even under that length, underscores
+            that are misplaced (not making groups of 3 digits) are reported.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="version" value="2.0"/>
+            <property name="acceptableDecimalLength" type="Integer" value="4" min="3" max="1000"
+                      description="Length under which literals in base 10 are not required to have underscores"/>
+            <property name="xpath">
+                <value>
+                    <![CDATA[
 //Literal[
      @IntLiteral = true()
   or @LongLiteral = true()
@@ -1385,29 +1433,29 @@ public class ClassInDefaultPackage {
                 )
  ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+            <![CDATA[
 public class Foo {
     private int num = 1000000; // should be 1_000_000
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="OnlyOneReturn"
-    since="1.0"
-    message="A method should have only one exit point, and that should be the last statement in the method"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.OnlyOneReturnRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#onlyonereturn">
-    <description>
-      A method should have only one exit point, and that should be the last statement in the method.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="OnlyOneReturn"
+          since="1.0"
+          message="A method should have only one exit point, and that should be the last statement in the method"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.OnlyOneReturnRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#onlyonereturn">
+        <description>
+A method should have only one exit point, and that should be the last statement in the method.
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public class OneReturnOnly1 {
   public void foo(int x) {
     if (x > 0) {
@@ -1417,71 +1465,76 @@ public class OneReturnOnly1 {
   }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="PackageCase"
-    language="java"
-    since="3.3"
-    message="Package name contains upper case characters"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#packagecase">
-    <description>
-      Detects when a package definition contains uppercase characters.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>//PackageDeclaration/Name[lower-case(@Image)!=@Image]</value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+    <rule name="PackageCase"
+          language="java"
+          since="3.3"
+          message="Package name contains upper case characters"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#packagecase">
+        <description>
+Detects when a package definition contains uppercase characters.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>//PackageDeclaration/Name[lower-case(@Image)!=@Image]</value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 package com.MyCompany;  // should be lowercase name
+
 public class SomeClass {
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="PrematureDeclaration"
-    language="java"
-    since="5.0"
-    message="Avoid declaring a variable if it is unreferenced before a possible exit point."
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.PrematureDeclarationRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#prematuredeclaration">
-    <description>
-      Checks for variables that are defined before they might be used. A reference is deemed to be premature if it is created right before a block of code that doesn't use it that also has the ability to return or throw an exception.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="PrematureDeclaration"
+          language="java"
+          since="5.0"
+          message="Avoid declaring a variable if it is unreferenced before a possible exit point."
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.PrematureDeclarationRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#prematuredeclaration">
+        <description>
+Checks for variables that are defined before they might be used. A reference is deemed to be premature if it is created right before a block of code that doesn't use it that also has the ability to return or throw an exception.
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public int getLength(String[] strings) {
+
     int length = 0; // declared prematurely
+
     if (strings == null || strings.length == 0) return 0;
+
     for (String str : strings) {
         length += str.length();
     }
+
     return length;
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="RemoteInterfaceNamingConvention"
-    language="java"
-    since="4.0"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    message="Remote Interface of a Session EJB should NOT be suffixed"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#remoteinterfacenamingconvention">
-    <description>
-      Remote Interface of a Session EJB should not have a suffix.
-    </description>
-    <priority>4</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="RemoteInterfaceNamingConvention"
+          language="java"
+          since="4.0"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          message="Remote Interface of a Session EJB should NOT be suffixed"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#remoteinterfacenamingconvention">
+        <description>
+Remote Interface of a Session EJB should not have a suffix.
+        </description>
+        <priority>4</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration
 [
     (
@@ -1497,35 +1550,37 @@ public int getLength(String[] strings) {
     )
 ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 /* Poor Session suffix */
 public interface BadSuffixSession extends javax.ejb.EJBObject {}
+
 /* Poor EJB suffix */
 public interface BadSuffixEJB extends javax.ejb.EJBObject {}
+
 /* Poor Bean suffix */
 public interface BadSuffixBean extends javax.ejb.EJBObject {}
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="RemoteSessionInterfaceNamingConvention"
-    language="java"
-    since="4.0"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    message="Remote Home interface of a Session EJB should be suffixed by 'Home'"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#remotesessioninterfacenamingconvention">
-    <description>
-      A Remote Home interface type of a Session EJB should be suffixed by 'Home'.
-    </description>
-    <priority>4</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="RemoteSessionInterfaceNamingConvention"
+          language="java"
+          since="4.0"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          message="Remote Home interface of a Session EJB should be suffixed by 'Home'"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#remotesessioninterfacenamingconvention">
+        <description>
+A Remote Home interface type of a Session EJB should be suffixed by 'Home'.
+        </description>
+        <priority>4</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration
 [
     (
@@ -1538,91 +1593,92 @@ public interface BadSuffixBean extends javax.ejb.EJBObject {}
     )
 ]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public interface MyBeautifulHome extends javax.ejb.EJBHome {}       // proper name
+
 public interface MissingProperSuffix extends javax.ejb.EJBHome {}   // non-standard name
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="ShortClassName"
-    language="java"
-    since="5.0"
-    message="Avoid short class names like {0}"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortclassname">
-    <description>
-      Short Classnames with fewer than e.g. five characters are not recommended.
-    </description>
-    <priority>4</priority>
-    <properties>
-      <property name="minimum" type="Integer" value="5" min="1" max="100" description="Number of characters that are required as a minimum for a class name."/>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="ShortClassName"
+          language="java"
+          since="5.0"
+          message="Avoid short class names like {0}"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortclassname">
+        <description>
+Short Classnames with fewer than e.g. five characters are not recommended.
+        </description>
+        <priority>4</priority>
+        <properties>
+            <property name="minimum" type="Integer" value="5" min="1" max="100" description="Number of characters that are required as a minimum for a class name."/>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration[string-length(@Image) < $minimum]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class Foo {
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="ShortMethodName"
-    language="java"
-    since="0.3"
-    message="Avoid using short method names"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortmethodname">
-    <description>
-      Method names that are very short are not helpful to the reader.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="minimum" type="Integer" value="3" min="1" max="100" description="Number of characters that are required as a minimum for a method name."/>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="ShortMethodName"
+          language="java"
+          since="0.3"
+          message="Avoid using short method names"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortmethodname">
+        <description>
+Method names that are very short are not helpful to the reader.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="minimum" type="Integer" value="3" min="1" max="100" description="Number of characters that are required as a minimum for a method name."/>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //MethodDeclarator[string-length(@Image) < $minimum]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class ShortMethod {
     public void a( int i ) { // Violation
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="ShortVariable"
-    language="java"
-    since="0.3"
-    message="Avoid variables with short names like {0}"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortvariable">
-    <description>
-      Fields, local variables, or parameter names that are very short are not helpful to the reader.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="minimum" type="Integer" value="3" min="1" max="100" description="Number of characters that are required as a minimum for a variable name."/>
-      <property name="version" value="2.0"/>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="ShortVariable"
+          language="java"
+          since="0.3"
+          message="Avoid variables with short names like {0}"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#shortvariable">
+        <description>
+Fields, local variables, or parameter names that are very short are not helpful to the reader.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="minimum" type="Integer" value="3" min="1" max="100" description="Number of characters that are required as a minimum for a variable name."/>
+            <property name="version" value="2.0"/>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //VariableDeclaratorId[string-length(@Image) < $minimum]
  (: ForStatement :)
  [not(../../..[self::ForInit])]
@@ -1633,11 +1689,11 @@ public class ShortMethod {
  (: Lambda expression parameter :)
  [not(parent::LambdaExpression or ../../..[self::LambdaExpression])]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class Something {
     private int q = 15;                         // field - too short
     public static void main( String as[] ) {    // formal arg - too short
@@ -1651,38 +1707,38 @@ public class Something {
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="SuspiciousConstantFieldName"
-    language="java"
-    since="2.0"
-    deprecated="true"
-    message="The field name indicates a constant but its modifiers do not"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#suspiciousconstantfieldname">
-    <description>
-      Field names using all uppercase characters - Sun's Java naming conventions indicating constants - should
-      be declared as final.
+    <rule name="SuspiciousConstantFieldName"
+          language="java"
+          since="2.0"
+          deprecated="true"
+          message="The field name indicates a constant but its modifiers do not"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#suspiciousconstantfieldname">
+        <description>
+Field names using all uppercase characters - Sun's Java naming conventions indicating constants - should
+be declared as final.
 
-      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-      by the more general rule {% rule java/codestyle/FieldNamingConventions %}.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by the more general rule {% rule java/codestyle/FieldNamingConventions %}.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //ClassOrInterfaceDeclaration[@Interface='false']
  /ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/FieldDeclaration
   [@Final='false']
   [VariableDeclarator/VariableDeclaratorId[upper-case(@Image)=@Image]]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class Foo {
  // this is bad, since someone could accidentally
  // do PI = 2.71828; which is actually e
@@ -1690,136 +1746,144 @@ public class Foo {
   double PI = 3.16;
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="TooManyStaticImports"
-    language="java"
-    since="4.1"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    message="Too many static imports may lead to messy code"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#toomanystaticimports">
-    <description>
-      If you overuse the static import feature, it can make your program unreadable and
-      unmaintainable, polluting its namespace with all the static members you import.
-      Readers of your code (including you, a few months after you wrote it) will not know
-      which class a static member comes from (Sun 1.5 Language Guide).
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="maximumStaticImports" type="Integer"
-        description="All static imports can be disallowed by setting this to 0" min="0" max="100" value="4"/>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="TooManyStaticImports"
+          language="java"
+          since="4.1"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          message="Too many static imports may lead to messy code"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#toomanystaticimports">
+        <description>
+If you overuse the static import feature, it can make your program unreadable and 
+unmaintainable, polluting its namespace with all the static members you import. 
+Readers of your code (including you, a few months after you wrote it) will not know 
+which class a static member comes from (Sun 1.5 Language Guide).
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="maximumStaticImports" type="Integer" 
+                      description="All static imports can be disallowed by setting this to 0" min="0" max="100" value="4"/>
+            <property name="xpath">
+                <value>
+<![CDATA[
 .[count(ImportDeclaration[@Static = 'true']) > $maximumStaticImports]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 import static Lennon;
 import static Ringo;
 import static George;
 import static Paul;
 import static Yoko; // Too much !
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
 
-  <rule name="UnnecessaryAnnotationValueElement"
-    since="6.2.0"
-    message="Avoid the use of value in annotations when it's the only element"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryAnnotationValueElementRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryannotationvalueelement">
-    <description>
-      Avoid the use of value in annotations when it's the only element.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="UnnecessaryAnnotationValueElement"
+          since="6.2.0"
+          message="Avoid the use of value in annotations when it's the only element"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryAnnotationValueElementRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryannotationvalueelement">
+        <description>
+            Avoid the use of value in annotations when it's the only element.
+        </description>
+        <priority>3</priority>
+        <example>
+            <![CDATA[
 @TestClassAnnotation(value = "TEST")
 public class Foo {
+
     @TestMemberAnnotation(value = "TEST")
     private String y;
+
     @TestMethodAnnotation(value = "TEST")
     public void bar() {
         int x = 42;
         return;
     }
 }
+
 // should be
+
 @TestClassAnnotation("TEST")
 public class Foo {
+
     @TestMemberAnnotation("TEST")
     private String y;
+
     @TestMethodAnnotation("TEST")
     public void bar() {
         int x = 42;
         return;
     }
 }
+
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
 
-  <rule name="UnnecessaryConstructor"
-    language="java"
-    since="1.0"
-    message="Avoid unnecessary constructors - the compiler will generate these for you"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryConstructorRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryconstructor">
-    <description>
-      This rule detects when a constructor is not necessary; i.e., when there is only one constructor and the
-      constructor is identical to the default constructor. The default constructor should has same access
-      modifier as the declaring class. In an enum type, the default constructor is implicitly private.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="UnnecessaryConstructor"
+          language="java"
+          since="1.0"
+          message="Avoid unnecessary constructors - the compiler will generate these for you"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryConstructorRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryconstructor">
+        <description>
+This rule detects when a constructor is not necessary; i.e., when there is only one constructor and the
+constructor is identical to the default constructor. The default constructor should has same access
+modifier as the declaring class. In an enum type, the default constructor is implicitly private.
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public class Foo {
   public Foo() {}
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="UnnecessaryFullyQualifiedName"
-    language="java"
-    since="5.0"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryFullyQualifiedNameRule"
-    message="Unnecessary use of fully qualified name ''{0}'' due to existing {2}import ''{1}''"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname">
-    <description>
-      Import statements allow the use of non-fully qualified names.  The use of a fully qualified name
-      which is covered by an import statement is redundant.  Consider using the non-fully qualified name.
-    </description>
-    <priority>4</priority>
-    <example>
-      <![CDATA[
+    <rule name="UnnecessaryFullyQualifiedName"
+          language="java"
+          since="5.0"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryFullyQualifiedNameRule"
+          message="Unnecessary use of fully qualified name ''{0}'' due to existing {2}import ''{1}''"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname">
+        <description>
+Import statements allow the use of non-fully qualified names.  The use of a fully qualified name
+which is covered by an import statement is redundant.  Consider using the non-fully qualified name.
+        </description>
+        <priority>4</priority>
+        <example>
+<![CDATA[
 import java.util.List;
+
 public class Foo {
     private java.util.List list1;   // Unnecessary FQN
     private List list2;             // More appropriate given import of 'java.util.List'
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="UnnecessaryLocalBeforeReturn"
-    since="3.3"
-    message="Consider simply returning the value vs storing it in local variable ''{0}''"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryLocalBeforeReturnRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessarylocalbeforereturn">
-    <description>
-      Avoid the creation of unnecessary local variables
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="UnnecessaryLocalBeforeReturn"
+          since="3.3"
+          message="Consider simply returning the value vs storing it in local variable ''{0}''"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryLocalBeforeReturnRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessarylocalbeforereturn">
+        <description>
+Avoid the creation of unnecessary local variables
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public class Foo {
    public int foo() {
      int x = doSomething();
@@ -1827,25 +1891,25 @@ public class Foo {
    }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="UnnecessaryModifier"
-    language="java"
-    since="1.02"
-    message="Unnecessary modifier{0} on {1} ''{2}''{3}"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryModifierRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessarymodifier">
-    <description>
-      Fields in interfaces and annotations are automatically `public static final`, and methods are `public abstract`.
-      Classes, interfaces or annotations nested in an interface or annotation are automatically `public static`
-      (all nested interfaces and annotations are automatically static).
-      Nested enums are automatically `static`.
-      For historical reasons, modifiers which are implied by the context are accepted by the compiler, but are superfluous.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="UnnecessaryModifier"
+          language="java"
+          since="1.02"
+          message="Unnecessary modifier{0} on {1} ''{2}''{3}"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryModifierRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessarymodifier">
+        <description>
+Fields in interfaces and annotations are automatically `public static final`, and methods are `public abstract`.
+Classes, interfaces or annotations nested in an interface or annotation are automatically `public static`
+(all nested interfaces and annotations are automatically static).
+Nested enums are automatically `static`.
+For historical reasons, modifiers which are implied by the context are accepted by the compiler, but are superfluous.
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public @interface Annotation {
     public abstract void bar();     // both abstract and public are ignored by the compiler
     public static final int X = 0;  // public, static, and final all ignored
@@ -1865,20 +1929,20 @@ public class Bar {
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="UnnecessaryReturn"
-    since="1.3"
-    message="Avoid unnecessary return statements"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryReturnRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryreturn">
-    <description>
-      Avoid the use of unnecessary return statements.
-    </description>
-    <priority>3</priority>
-    <example>
-      <![CDATA[
+    <rule name="UnnecessaryReturn"
+          since="1.3"
+          message="Avoid unnecessary return statements"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryReturnRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#unnecessaryreturn">
+        <description>
+Avoid the use of unnecessary return statements.
+        </description>
+        <priority>3</priority>
+        <example>
+<![CDATA[
 public class Foo {
     public void bar() {
         int x = 42;
@@ -1886,27 +1950,27 @@ public class Foo {
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="UseDiamondOperator"
-    language="java"
-    since="6.11.0"
-    message="Explicit type arguments can be replaced by Diamond Operator"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#usediamondoperator"
-    minimumLanguageVersion="1.7">
-    <description>
-      Use the diamond operator to let the type be inferred automatically. With the Diamond operator it is possible
-      to avoid duplication of the type parameters.
-      Instead, the compiler is now able to infer the parameter types for constructor calls,
-      which makes the code also more readable.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="UseDiamondOperator"
+          language="java"
+          since="6.11.0"
+          message="Explicit type arguments can be replaced by Diamond Operator"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#usediamondoperator"
+          minimumLanguageVersion="1.7">
+        <description>
+Use the diamond operator to let the type be inferred automatically. With the Diamond operator it is possible
+to avoid duplication of the type parameters.
+Instead, the compiler is now able to infer the parameter types for constructor calls,
+which makes the code also more readable.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+                    <![CDATA[
 //VariableInitializer
 //PrimaryExpression[not(PrimarySuffix)]
 [not(ancestor::ArgumentList)]
@@ -1917,29 +1981,29 @@ public class Foo {
 [not(ancestor::ArgumentList)]
 /PrimaryPrefix/AllocationExpression[ClassOrInterfaceType[@AnonymousClass='false']/TypeArguments//ReferenceType[not(.//TypeArguments)]]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+            <![CDATA[
 List<String> strings = new ArrayList<String>(); // unnecessary duplication of type parameters
 List<String> stringsWithDiamond = new ArrayList<>(); // using the diamond operator is more concise
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="UselessParentheses"
-    language="java"
-    since="5.0"
-    message="Useless parentheses."
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#uselessparentheses">
-    <description>Useless parentheses should be removed.</description>
-    <priority>4</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="UselessParentheses"
+          language="java"
+          since="5.0"
+          message="Useless parentheses."
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#uselessparentheses">
+        <description>Useless parentheses should be removed.</description>
+        <priority>4</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //Expression[not(parent::PrimaryPrefix)]/PrimaryExpression[count(*)>1]
   /PrimaryPrefix/Expression
     [not(./CastExpression)]
@@ -1995,37 +2059,39 @@ List<String> stringsWithDiamond = new ArrayList<>(); // using the diamond operat
     not(./ConditionalOrExpression) and
     not(./EqualityExpression)]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class Foo {
+
     private int _bar1;
     private Integer _bar2;
+
     public void setBar(int n) {
         _bar1 = Integer.valueOf((n)); // here
         _bar2 = (n); // and here
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="UselessQualifiedThis"
-    language="java"
-    since="5.4.0"
-    message="Useless qualified this usage in the same class."
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#uselessqualifiedthis">
-    <description>
-      Reports qualified this usages in the same class.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>
-          <![CDATA[
+    <rule name="UselessQualifiedThis"
+          language="java"
+          since="5.4.0"
+          message="Useless qualified this usage in the same class."
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#uselessqualifiedthis">
+        <description>
+            Reports qualified this usages in the same class.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
 //PrimaryExpression
 [PrimaryPrefix/Name[@Image]]
 [PrimarySuffix[@Arguments='false' and @ArrayDereference = 'false']]
@@ -2033,16 +2099,18 @@ public class Foo {
 [ancestor::ClassOrInterfaceBodyDeclaration[1][@AnonymousInnerClass='false']]
 /PrimaryPrefix/Name[@Image = ancestor::ClassOrInterfaceDeclaration[1]/@Image]
 ]]>
-        </value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 public class Foo {
     final Foo otherFoo = Foo.this;  // use "this" directly
+
     public void doSomething() {
          final Foo anotherFoo = Foo.this;  // use "this" directly
     }
+
     private ActionListener returnListener() {
         return new ActionListener() {
             @Override
@@ -2051,76 +2119,78 @@ public class Foo {
             }
         };
     }
+
     private class Foo3 {
         final Foo myFoo = Foo.this;  // This is fine
     }
+
     private class Foo2 {
         final Foo2 myFoo2 = Foo2.this;  // Use "this" direclty
     }
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="VariableNamingConventions"
-    since="1.2"
-    deprecated="true"
-    message="{0} variable {1} should begin with {2}"
-    class="net.sourceforge.pmd.lang.java.rule.codestyle.VariableNamingConventionsRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#variablenamingconventions">
-    <description>
-      A variable naming conventions rule - customize this to your liking.  Currently, it
-      checks for final variables that should be fully capitalized and non-final variables
-      that should not include underscores.
+    <rule name="VariableNamingConventions"
+          since="1.2"
+          deprecated="true"
+          message="{0} variable {1} should begin with {2}"
+          class="net.sourceforge.pmd.lang.java.rule.codestyle.VariableNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#variablenamingconventions">
+        <description>
+A variable naming conventions rule - customize this to your liking.  Currently, it
+checks for final variables that should be fully capitalized and non-final variables
+that should not include underscores.
 
-      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-      by the more general rules {% rule java/codestyle/FieldNamingConventions %},
-      {% rule java/codestyle/FormalParameterNamingConventions %}, and
-      {% rule java/codestyle/LocalVariableNamingConventions %}.
-    </description>
-    <priority>1</priority>
-    <example>
-      <![CDATA[
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by the more general rules {% rule java/codestyle/FieldNamingConventions %},
+{% rule java/codestyle/FormalParameterNamingConventions %}, and
+{% rule java/codestyle/LocalVariableNamingConventions %}.
+        </description>
+        <priority>1</priority>
+        <example>
+<![CDATA[
 public class Foo {
     public static final int MY_NUM = 0;
     public String myTest = "";
     DataModule dmTest = new DataModule();
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-  <rule name="WhileLoopsMustUseBraces"
-    language="java"
-    since="0.7"
-    deprecated="true"
-    message="Avoid using 'while' statements without curly braces"
-    class="net.sourceforge.pmd.lang.rule.XPathRule"
-    externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#whileloopsmustusebraces">
-    <description>
-      Avoid using 'while' statements without using braces to surround the code block. If the code
-      formatting or indentation is lost then it becomes difficult to separate the code being
-      controlled from the rest.
+    <rule name="WhileLoopsMustUseBraces"
+          language="java"
+          since="0.7"
+          deprecated="true"
+          message="Avoid using 'while' statements without curly braces"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#whileloopsmustusebraces">
+        <description>
+Avoid using 'while' statements without using braces to surround the code block. If the code 
+formatting or indentation is lost then it becomes difficult to separate the code being
+controlled from the rest.
 
-      This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
-      by the rule {% rule java/codestyle/ControlStatementBraces %}.
-    </description>
-    <priority>3</priority>
-    <properties>
-      <property name="xpath">
-        <value>//WhileStatement[not(Statement/Block)]</value>
-      </property>
-    </properties>
-    <example>
-      <![CDATA[
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by the rule {% rule java/codestyle/ControlStatementBraces %}.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>//WhileStatement[not(Statement/Block)]</value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
 while (true)    // not recommended
       x++;
-
+      
 while (true) {  // preferred approach
       x++;
 }
 ]]>
-    </example>
-  </rule>
+        </example>
+    </rule>
 
-</ruleset>
\ No newline at end of file
+</ruleset>

From ae05641f8c44d77e613b5c116e8915755f5ab592 Mon Sep 17 00:00:00 2001
From: lsoncini <lsoncini@itba.edu.ar>
Date: Sun, 17 Feb 2019 02:16:24 -0300
Subject: [PATCH 016/371] ant file to make all swift nodes implement Node

---
 pmd-swift/pom.xml                 | 25 +++++++++++++++++++++++++
 pmd-swift/src/main/ant/antlr4.xml | 10 ++++++++++
 2 files changed, 35 insertions(+)
 create mode 100644 pmd-swift/src/main/ant/antlr4.xml

diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml
index f84fd9490f..4ca080ae2d 100644
--- a/pmd-swift/pom.xml
+++ b/pmd-swift/pom.xml
@@ -10,8 +10,33 @@
         <version>7.0.0-SNAPSHOT</version>
     </parent>
 
+    <properties>
+        <antlr4.visitor>true</antlr4.visitor>
+    </properties>
+
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <inherited>true</inherited>
+                <executions>
+                    <execution>
+                        <id>process-sources</id>
+                        <phase>process-sources</phase>
+                        <configuration>
+                            <target>
+                                <ant antfile="src/main/ant/antlr4.xml">
+                                    <property name="target" value="${project.build.directory}/generated-sources/antlr4" />
+                                </ant>
+                            </target>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
             <plugin>
                 <groupId>org.antlr</groupId>
                 <artifactId>antlr4-maven-plugin</artifactId>
diff --git a/pmd-swift/src/main/ant/antlr4.xml b/pmd-swift/src/main/ant/antlr4.xml
new file mode 100644
index 0000000000..60f6be9a3b
--- /dev/null
+++ b/pmd-swift/src/main/ant/antlr4.xml
@@ -0,0 +1,10 @@
+<project name="pmd" default="antlr4" basedir="../../../../">
+
+    <property name="target-package-dir" value="${target}/net/sourceforge/pmd/lang/swift/antlr4" />
+
+    <target name="antlr4" description="Generates all Antlr4 aspects within PMD">
+        <replace file="${target-package-dir}/SwiftParser.java"
+                 token="extends ParserRuleContext"
+                 value="extends net.sourceforge.pmd.lang.ast.AntlrBaseNode" />
+    </target>
+</project>
\ No newline at end of file

From 47bc813cafc35b1df4a7124465bf0b96da42cd55 Mon Sep 17 00:00:00 2001
From: lsoncini <lsoncini@itba.edu.ar>
Date: Mon, 25 Feb 2019 14:33:09 -0300
Subject: [PATCH 017/371] added AntlrBaseParser adapter and SwiftParserAdapter

---
 .../pmd/lang/antlr/AntlrBaseParser.java       | 74 +++++++++++++++++++
 .../pmd/lang/swift/SwiftParserAdapter.java    | 43 +++++++++++
 2 files changed, 117 insertions(+)
 create mode 100644 pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
 create mode 100644 pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
new file mode 100644
index 0000000000..5742356905
--- /dev/null
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
@@ -0,0 +1,74 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.antlr;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.antlr.v4.runtime.Lexer;
+
+import net.sourceforge.pmd.lang.Parser;
+import net.sourceforge.pmd.lang.ParserOptions;
+import net.sourceforge.pmd.lang.TokenManager;
+import net.sourceforge.pmd.lang.ast.AntlrBaseNode;
+import net.sourceforge.pmd.lang.ast.Node;
+import net.sourceforge.pmd.lang.ast.ParseException;
+
+/**
+ * Generic Antlr parser adapter for all Antlr parsers.
+ */
+public abstract class AntlrBaseParser implements Parser {
+
+    protected final ParserOptions parserOptions;
+
+    public AntlrBaseParser(final ParserOptions parserOptions) {
+        this.parserOptions = parserOptions;
+    }
+
+    @Override
+    public ParserOptions getParserOptions() {
+        return parserOptions;
+    }
+
+    @Override
+    public TokenManager getTokenManager(final String fileName, final Reader source) {
+        try {
+            return new AntlrTokenManager(getLexer(source), fileName);
+        } catch (final IOException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    @Override
+    public Node parse(final String fileName, final Reader source) throws ParseException {
+        AntlrBaseNode rootNode = null;
+        try {
+            rootNode = getRootNode(getParser(getLexer(source)));
+        } catch (final IOException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
+            e.printStackTrace();
+        }
+        return rootNode;
+    }
+
+    private AntlrBaseNode getRootNode(final org.antlr.v4.runtime.Parser parser)
+            throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
+        final Method rootMethod = parser.getClass().getMethod(parser.getRuleNames()[0]);
+        return (AntlrBaseNode) rootMethod.invoke(parser);
+    }
+
+    @Override
+    public Map<Integer, String> getSuppressMap() {
+        return new HashMap<>();
+    }
+
+    protected abstract Lexer getLexer(Reader source) throws IOException;
+
+    protected abstract org.antlr.v4.runtime.Parser getParser(Lexer lexer);
+}
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java
new file mode 100644
index 0000000000..18eb0ccafb
--- /dev/null
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java
@@ -0,0 +1,43 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.swift;
+
+import java.io.IOException;
+import java.io.Reader;
+
+import org.antlr.v4.runtime.CharStreams;
+import org.antlr.v4.runtime.CommonTokenStream;
+import org.antlr.v4.runtime.Lexer;
+import org.antlr.v4.runtime.Parser;
+
+import net.sourceforge.pmd.lang.ParserOptions;
+import net.sourceforge.pmd.lang.antlr.AntlrBaseParser;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftLexer;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
+
+/**
+ * Adapter for the SwiftParser.
+ */
+public class SwiftParserAdapter extends AntlrBaseParser {
+
+    public SwiftParserAdapter(final ParserOptions parserOptions) {
+        super(parserOptions);
+    }
+
+    @Override
+    protected Lexer getLexer(final Reader source) throws IOException {
+        return new SwiftLexer(CharStreams.fromReader(source));
+    }
+
+    @Override
+    protected Parser getParser(final Lexer lexer) {
+        return new SwiftParser(new CommonTokenStream(lexer));
+    }
+
+    @Override
+    public boolean canParse() {
+        return true;
+    }
+}

From 8255af258feb806793e4f4d878b45ff432a9a13f Mon Sep 17 00:00:00 2001
From: lsoncini <lsoncini@itba.edu.ar>
Date: Mon, 25 Feb 2019 18:34:51 -0300
Subject: [PATCH 018/371] added Antlr visitor infrastructure and swift
 implementation

---
 .../pmd/lang/antlr/AbstractAntlrVisitor.java  | 85 +++++++++++++++++++
 .../pmd/lang/antlr/AntlrRuleChainVisitor.java | 42 +++++++++
 .../lang/antlr/AntlrRuleViolationFactory.java | 36 ++++++++
 pmd-swift/src/main/ant/antlr4.xml             | 11 ++-
 .../pmd/lang/swift/AbstractSwiftRule.java     | 14 +++
 5 files changed, 186 insertions(+), 2 deletions(-)
 create mode 100644 pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java
 create mode 100644 pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleChainVisitor.java
 create mode 100644 pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleViolationFactory.java
 create mode 100644 pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/AbstractSwiftRule.java

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java
new file mode 100644
index 0000000000..6694ae1c0b
--- /dev/null
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java
@@ -0,0 +1,85 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.antlr;
+
+import java.util.List;
+
+import org.antlr.v4.runtime.tree.ErrorNode;
+import org.antlr.v4.runtime.tree.ParseTree;
+import org.antlr.v4.runtime.tree.ParseTreeVisitor;
+import org.antlr.v4.runtime.tree.RuleNode;
+import org.antlr.v4.runtime.tree.TerminalNode;
+
+import net.sourceforge.pmd.RuleContext;
+import net.sourceforge.pmd.lang.ast.AntlrBaseNode;
+import net.sourceforge.pmd.lang.ast.Node;
+import net.sourceforge.pmd.lang.rule.AbstractRule;
+
+public abstract class AbstractAntlrVisitor<T> extends AbstractRule implements ParseTreeVisitor<T> {
+
+    protected RuleContext data;
+
+    @Override
+    public void start(RuleContext ctx) {
+        data = ctx;
+    }
+
+    @Override
+    public T visit(ParseTree tree) {
+        return tree.accept(this);
+    }
+
+    @Override
+    public T visitChildren(RuleNode node) {
+        T result = this.defaultResult();
+        int n = node.getChildCount();
+
+        for (int i = 0; i < n && this.shouldVisitNextChild(node, result); ++i) {
+            ParseTree c = node.getChild(i);
+            T childResult = c.accept(this);
+            result = this.aggregateResult(result, childResult);
+        }
+
+        return result;
+    }
+
+    @Override
+    public T visitTerminal(TerminalNode node) {
+        return this.defaultResult();
+    }
+
+    @Override
+    public T visitErrorNode(ErrorNode node) {
+        return this.defaultResult();
+    }
+
+    protected T defaultResult() {
+        return null;
+    }
+
+    protected T aggregateResult(T aggregate, T nextResult) {
+        return nextResult;
+    }
+
+    protected boolean shouldVisitNextChild(RuleNode node, T currentResult) {
+        return true;
+    }
+
+    @Override
+    public void apply(List<? extends Node> nodes, RuleContext ctx) {
+        visitAll(nodes);
+    }
+
+    protected void visitAll(List<? extends Node> nodes) {
+        for (Node n : nodes) {
+            AntlrBaseNode node = (AntlrBaseNode) n;
+            visit(node);
+        }
+    }
+
+    public Object visit(final AntlrBaseNode node) {
+        return node.accept(this);
+    }
+}
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleChainVisitor.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleChainVisitor.java
new file mode 100644
index 0000000000..ba24b30575
--- /dev/null
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleChainVisitor.java
@@ -0,0 +1,42 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.antlr;
+
+import java.util.List;
+
+import net.sourceforge.pmd.Rule;
+import net.sourceforge.pmd.RuleContext;
+import net.sourceforge.pmd.lang.ast.AntlrBaseNode;
+import net.sourceforge.pmd.lang.ast.Node;
+import net.sourceforge.pmd.lang.rule.AbstractRuleChainVisitor;
+import net.sourceforge.pmd.lang.rule.XPathRule;
+
+public class AntlrRuleChainVisitor extends AbstractRuleChainVisitor {
+    @Override
+    protected void visit(Rule rule, Node node, RuleContext ctx) {
+        if (rule instanceof AbstractAntlrVisitor) {
+            ((AntlrBaseNode) node).accept((AbstractAntlrVisitor) rule);
+        } else {
+            ((XPathRule) rule).evaluate(node, ctx);
+        }
+    }
+
+    @Override
+    protected void indexNodes(List<Node> nodes, RuleContext ctx) {
+        final AbstractAntlrVisitor antlrVisitor = new AbstractAntlrVisitor<Object>() {
+            // Perform a visitation of the AST to index nodes which need
+            // visiting by type
+            @Override
+            public Object visit(final AntlrBaseNode node) {
+                indexNode(node);
+                return super.visit(node);
+            }
+        };
+
+        for (int i = 0; i < nodes.size(); i++) {
+            antlrVisitor.visit((AntlrBaseNode) nodes.get(i));
+        }
+    }
+}
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleViolationFactory.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleViolationFactory.java
new file mode 100644
index 0000000000..8d2584643e
--- /dev/null
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleViolationFactory.java
@@ -0,0 +1,36 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.antlr;
+
+import net.sourceforge.pmd.Rule;
+import net.sourceforge.pmd.RuleContext;
+import net.sourceforge.pmd.RuleViolation;
+import net.sourceforge.pmd.lang.ast.AntlrBaseNode;
+import net.sourceforge.pmd.lang.ast.Node;
+import net.sourceforge.pmd.lang.rule.AbstractRuleViolationFactory;
+import net.sourceforge.pmd.lang.rule.ParametricRuleViolation;
+import net.sourceforge.pmd.lang.rule.RuleViolationFactory;
+
+public final class AntlrRuleViolationFactory extends AbstractRuleViolationFactory {
+    public static final RuleViolationFactory INSTANCE = new AntlrRuleViolationFactory();
+
+    private AntlrRuleViolationFactory() {
+    }
+
+    @Override
+    protected RuleViolation createRuleViolation(final Rule rule, final RuleContext ruleContext, final Node node,
+                                                final String message) {
+        return new ParametricRuleViolation<>(rule, ruleContext, (AntlrBaseNode) node, message);
+    }
+
+    @Override
+    protected RuleViolation createRuleViolation(final Rule rule, final RuleContext ruleContext, final Node node,
+                                                final String message, final int beginLine, final int endLine) {
+        final ParametricRuleViolation<AntlrBaseNode> violation = new ParametricRuleViolation<>(rule, ruleContext,
+                (AntlrBaseNode) node, message);
+        violation.setLines(beginLine, endLine);
+        return violation;
+    }
+}
diff --git a/pmd-swift/src/main/ant/antlr4.xml b/pmd-swift/src/main/ant/antlr4.xml
index 60f6be9a3b..bd54620a73 100644
--- a/pmd-swift/src/main/ant/antlr4.xml
+++ b/pmd-swift/src/main/ant/antlr4.xml
@@ -1,10 +1,17 @@
 <project name="pmd" default="antlr4" basedir="../../../../">
-
     <property name="target-package-dir" value="${target}/net/sourceforge/pmd/lang/swift/antlr4" />
-
     <target name="antlr4" description="Generates all Antlr4 aspects within PMD">
         <replace file="${target-package-dir}/SwiftParser.java"
                  token="extends ParserRuleContext"
                  value="extends net.sourceforge.pmd.lang.ast.AntlrBaseNode" />
+        <replace file="${target-package-dir}/SwiftBaseVisitor.java"
+                 token="extends AbstractParseTreeVisitor"
+                 value="extends AbstractAntlrVisitor" />
+        <replace file="${target-package-dir}/SwiftBaseVisitor.java"
+                 token="public class SwiftBaseVisitor"
+                 value="public abstract class SwiftBaseVisitor" />
+        <replace file="${target-package-dir}/SwiftBaseVisitor.java"
+                 token="import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor;"
+                 value="import net.sourceforge.pmd.lang.antlr.AbstractAntlrVisitor;" />
     </target>
 </project>
\ No newline at end of file
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/AbstractSwiftRule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/AbstractSwiftRule.java
new file mode 100644
index 0000000000..62c94cc4a6
--- /dev/null
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/AbstractSwiftRule.java
@@ -0,0 +1,14 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.swift;
+
+import net.sourceforge.pmd.lang.LanguageRegistry;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftBaseVisitor;
+
+public abstract class AbstractSwiftRule<T> extends SwiftBaseVisitor<T> {
+    public AbstractSwiftRule() {
+        super.setLanguage(LanguageRegistry.getLanguage(SwiftLanguageModule.NAME));
+    }
+}

From 3cbcedf37d98ae0e5bda1583e0ff1908e4c1b402 Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Sat, 13 Apr 2019 19:30:33 -0300
Subject: [PATCH 019/371] Replace foreach

---
 .../net/sourceforge/pmd/lang/antlr/AntlrRuleChainVisitor.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleChainVisitor.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleChainVisitor.java
index ba24b30575..b20d6146de 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleChainVisitor.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrRuleChainVisitor.java
@@ -35,8 +35,8 @@ public class AntlrRuleChainVisitor extends AbstractRuleChainVisitor {
             }
         };
 
-        for (int i = 0; i < nodes.size(); i++) {
-            antlrVisitor.visit((AntlrBaseNode) nodes.get(i));
+        for (final Node node : nodes) {
+            antlrVisitor.visit((AntlrBaseNode) node);
         }
     }
 }

From dd841d6ccb617f810afb9324cf62b0ffd9fee6c7 Mon Sep 17 00:00:00 2001
From: lsoncini <lsoncini@itba.edu.ar>
Date: Sun, 17 Feb 2019 02:16:24 -0300
Subject: [PATCH 020/371] ant file to make all swift nodes implement Node

---
 pmd-swift/pom.xml                 | 25 +++++++++++++++++++++++++
 pmd-swift/src/main/ant/antlr4.xml | 10 ++++++++++
 2 files changed, 35 insertions(+)
 create mode 100644 pmd-swift/src/main/ant/antlr4.xml

diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml
index f84fd9490f..4ca080ae2d 100644
--- a/pmd-swift/pom.xml
+++ b/pmd-swift/pom.xml
@@ -10,8 +10,33 @@
         <version>7.0.0-SNAPSHOT</version>
     </parent>
 
+    <properties>
+        <antlr4.visitor>true</antlr4.visitor>
+    </properties>
+
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <inherited>true</inherited>
+                <executions>
+                    <execution>
+                        <id>process-sources</id>
+                        <phase>process-sources</phase>
+                        <configuration>
+                            <target>
+                                <ant antfile="src/main/ant/antlr4.xml">
+                                    <property name="target" value="${project.build.directory}/generated-sources/antlr4" />
+                                </ant>
+                            </target>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
             <plugin>
                 <groupId>org.antlr</groupId>
                 <artifactId>antlr4-maven-plugin</artifactId>
diff --git a/pmd-swift/src/main/ant/antlr4.xml b/pmd-swift/src/main/ant/antlr4.xml
new file mode 100644
index 0000000000..60f6be9a3b
--- /dev/null
+++ b/pmd-swift/src/main/ant/antlr4.xml
@@ -0,0 +1,10 @@
+<project name="pmd" default="antlr4" basedir="../../../../">
+
+    <property name="target-package-dir" value="${target}/net/sourceforge/pmd/lang/swift/antlr4" />
+
+    <target name="antlr4" description="Generates all Antlr4 aspects within PMD">
+        <replace file="${target-package-dir}/SwiftParser.java"
+                 token="extends ParserRuleContext"
+                 value="extends net.sourceforge.pmd.lang.ast.AntlrBaseNode" />
+    </target>
+</project>
\ No newline at end of file

From 10bbe24c45ae2a6616fbf36955a3b1ea89725bb5 Mon Sep 17 00:00:00 2001
From: lsoncini <lsoncini@itba.edu.ar>
Date: Mon, 25 Feb 2019 14:33:09 -0300
Subject: [PATCH 021/371] added AntlrBaseParser adapter and SwiftParserAdapter

---
 .../pmd/lang/antlr/AntlrBaseParser.java       | 74 +++++++++++++++++++
 .../pmd/lang/swift/SwiftParserAdapter.java    | 43 +++++++++++
 2 files changed, 117 insertions(+)
 create mode 100644 pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
 create mode 100644 pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
new file mode 100644
index 0000000000..5742356905
--- /dev/null
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
@@ -0,0 +1,74 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.antlr;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.antlr.v4.runtime.Lexer;
+
+import net.sourceforge.pmd.lang.Parser;
+import net.sourceforge.pmd.lang.ParserOptions;
+import net.sourceforge.pmd.lang.TokenManager;
+import net.sourceforge.pmd.lang.ast.AntlrBaseNode;
+import net.sourceforge.pmd.lang.ast.Node;
+import net.sourceforge.pmd.lang.ast.ParseException;
+
+/**
+ * Generic Antlr parser adapter for all Antlr parsers.
+ */
+public abstract class AntlrBaseParser implements Parser {
+
+    protected final ParserOptions parserOptions;
+
+    public AntlrBaseParser(final ParserOptions parserOptions) {
+        this.parserOptions = parserOptions;
+    }
+
+    @Override
+    public ParserOptions getParserOptions() {
+        return parserOptions;
+    }
+
+    @Override
+    public TokenManager getTokenManager(final String fileName, final Reader source) {
+        try {
+            return new AntlrTokenManager(getLexer(source), fileName);
+        } catch (final IOException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    @Override
+    public Node parse(final String fileName, final Reader source) throws ParseException {
+        AntlrBaseNode rootNode = null;
+        try {
+            rootNode = getRootNode(getParser(getLexer(source)));
+        } catch (final IOException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
+            e.printStackTrace();
+        }
+        return rootNode;
+    }
+
+    private AntlrBaseNode getRootNode(final org.antlr.v4.runtime.Parser parser)
+            throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
+        final Method rootMethod = parser.getClass().getMethod(parser.getRuleNames()[0]);
+        return (AntlrBaseNode) rootMethod.invoke(parser);
+    }
+
+    @Override
+    public Map<Integer, String> getSuppressMap() {
+        return new HashMap<>();
+    }
+
+    protected abstract Lexer getLexer(Reader source) throws IOException;
+
+    protected abstract org.antlr.v4.runtime.Parser getParser(Lexer lexer);
+}
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java
new file mode 100644
index 0000000000..18eb0ccafb
--- /dev/null
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java
@@ -0,0 +1,43 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.swift;
+
+import java.io.IOException;
+import java.io.Reader;
+
+import org.antlr.v4.runtime.CharStreams;
+import org.antlr.v4.runtime.CommonTokenStream;
+import org.antlr.v4.runtime.Lexer;
+import org.antlr.v4.runtime.Parser;
+
+import net.sourceforge.pmd.lang.ParserOptions;
+import net.sourceforge.pmd.lang.antlr.AntlrBaseParser;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftLexer;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
+
+/**
+ * Adapter for the SwiftParser.
+ */
+public class SwiftParserAdapter extends AntlrBaseParser {
+
+    public SwiftParserAdapter(final ParserOptions parserOptions) {
+        super(parserOptions);
+    }
+
+    @Override
+    protected Lexer getLexer(final Reader source) throws IOException {
+        return new SwiftLexer(CharStreams.fromReader(source));
+    }
+
+    @Override
+    protected Parser getParser(final Lexer lexer) {
+        return new SwiftParser(new CommonTokenStream(lexer));
+    }
+
+    @Override
+    public boolean canParse() {
+        return true;
+    }
+}

From ed7a6f0951bb9380effd1ce6c4cc21a114a09e2b Mon Sep 17 00:00:00 2001
From: lsoncini <lsoncini@itba.edu.ar>
Date: Sat, 13 Apr 2019 16:54:45 -0300
Subject: [PATCH 022/371] minor fixes

---
 .../net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java  | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
index 5742356905..d3a8e873a7 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
@@ -41,20 +41,17 @@ public abstract class AntlrBaseParser implements Parser {
         try {
             return new AntlrTokenManager(getLexer(source), fileName);
         } catch (final IOException e) {
-            e.printStackTrace();
+            throw new RuntimeException(e);
         }
-        return null;
     }
 
     @Override
     public Node parse(final String fileName, final Reader source) throws ParseException {
-        AntlrBaseNode rootNode = null;
         try {
-            rootNode = getRootNode(getParser(getLexer(source)));
+            return getRootNode(getParser(getLexer(source)));
         } catch (final IOException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
-            e.printStackTrace();
+            throw new ParseException(e);
         }
-        return rootNode;
     }
 
     private AntlrBaseNode getRootNode(final org.antlr.v4.runtime.Parser parser)

From 3469834ebc72eb0709f6410ad8645f0637c5913b Mon Sep 17 00:00:00 2001
From: lsoncini <lsoncini@itba.edu.ar>
Date: Sun, 21 Apr 2019 02:00:23 -0300
Subject: [PATCH 023/371] abstract getRootNode method

---
 .../sourceforge/pmd/lang/antlr/AntlrBaseParser.java  | 12 +++---------
 .../pmd/lang/swift/SwiftParserAdapter.java           |  6 ++++++
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
index d3a8e873a7..460aa0334e 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
@@ -6,8 +6,6 @@ package net.sourceforge.pmd.lang.antlr;
 
 import java.io.IOException;
 import java.io.Reader;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -49,22 +47,18 @@ public abstract class AntlrBaseParser implements Parser {
     public Node parse(final String fileName, final Reader source) throws ParseException {
         try {
             return getRootNode(getParser(getLexer(source)));
-        } catch (final IOException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
+        } catch (final IOException e) {
             throw new ParseException(e);
         }
     }
 
-    private AntlrBaseNode getRootNode(final org.antlr.v4.runtime.Parser parser)
-            throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
-        final Method rootMethod = parser.getClass().getMethod(parser.getRuleNames()[0]);
-        return (AntlrBaseNode) rootMethod.invoke(parser);
-    }
-
     @Override
     public Map<Integer, String> getSuppressMap() {
         return new HashMap<>();
     }
 
+    protected abstract AntlrBaseNode getRootNode(org.antlr.v4.runtime.Parser parser);
+
     protected abstract Lexer getLexer(Reader source) throws IOException;
 
     protected abstract org.antlr.v4.runtime.Parser getParser(Lexer lexer);
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java
index 18eb0ccafb..dfa3f0b4a8 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java
@@ -14,6 +14,7 @@ import org.antlr.v4.runtime.Parser;
 
 import net.sourceforge.pmd.lang.ParserOptions;
 import net.sourceforge.pmd.lang.antlr.AntlrBaseParser;
+import net.sourceforge.pmd.lang.ast.AntlrBaseNode;
 import net.sourceforge.pmd.lang.swift.antlr4.SwiftLexer;
 import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
 
@@ -26,6 +27,11 @@ public class SwiftParserAdapter extends AntlrBaseParser {
         super(parserOptions);
     }
 
+    @Override
+    protected AntlrBaseNode getRootNode(final Parser parser) {
+        return ((SwiftParser) parser).topLevel();
+    }
+
     @Override
     protected Lexer getLexer(final Reader source) throws IOException {
         return new SwiftLexer(CharStreams.fromReader(source));

From 8758bc2643a3370101542b8e74337e795035f2fe Mon Sep 17 00:00:00 2001
From: jakivey32 <36869603+jakivey32@users.noreply.github.com>
Date: Thu, 25 Apr 2019 02:55:49 -0500
Subject: [PATCH 024/371] Add lombok.experimental to AbstractLombokAwareRule

---
 .../sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java  | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java
index e0f8fd5345..062da0f4bb 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java
@@ -41,6 +41,7 @@ public class AbstractLombokAwareRule extends AbstractIgnoredAnnotationRule {
         LOMBOK_ANNOTATIONS.add("lombok.AllArgsConstructor");
         LOMBOK_ANNOTATIONS.add("lombok.NoArgsConstructor");
         LOMBOK_ANNOTATIONS.add("lombok.Builder");
+        LOMBOK_ANNOTATIONS.add("lombok.experimental");
     }
 
     @Override

From 779848aa3fd734c658e68c00e7684f765ca4f571 Mon Sep 17 00:00:00 2001
From: "Venkatachalam, Srinivasan" <srvenkatachalam@paypal.com>
Date: Sun, 28 Apr 2019 15:02:18 +0530
Subject: [PATCH 025/371] MethodReturnsInternalArray does not work in inner
 classes #1738 - Fixed

---
 .../lang/java/rule/bestpractices/AbstractSunSecureRule.java | 4 ++--
 .../rule/bestpractices/MethodReturnsInternalArrayRule.java  | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/AbstractSunSecureRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/AbstractSunSecureRule.java
index 1e44a3959f..7f5b727cd9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/AbstractSunSecureRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/AbstractSunSecureRule.java
@@ -6,6 +6,7 @@ package net.sourceforge.pmd.lang.java.rule.bestpractices;
 
 import java.util.List;
 
+import net.sourceforge.pmd.lang.ast.AbstractNode;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.ast.ASTConditionalExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTEqualityExpression;
@@ -15,7 +16,6 @@ import net.sourceforge.pmd.lang.java.ast.ASTName;
 import net.sourceforge.pmd.lang.java.ast.ASTNullLiteral;
 import net.sourceforge.pmd.lang.java.ast.ASTPrimarySuffix;
 import net.sourceforge.pmd.lang.java.ast.ASTReturnStatement;
-import net.sourceforge.pmd.lang.java.ast.ASTTypeDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId;
 import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
 
@@ -38,7 +38,7 @@ public abstract class AbstractSunSecureRule extends AbstractJavaRule {
      * @return <code>true</code> if there is a field in the type declaration
      *         named varName, <code>false</code> in other case
      */
-    protected final boolean isField(String varName, ASTTypeDeclaration typeDeclaration) {
+    protected final boolean isField(String varName, AbstractNode typeDeclaration) {
         final List<ASTFieldDeclaration> fds = typeDeclaration.findDescendantsOfType(ASTFieldDeclaration.class);
         if (fds != null) {
             for (ASTFieldDeclaration fd : fds) {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java
index 71170722eb..7578c8cda7 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java
@@ -8,6 +8,7 @@ import java.util.List;
 
 import org.jaxen.JaxenException;
 
+import net.sourceforge.pmd.lang.ast.AbstractNode;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.ast.ASTAllocationExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTArrayInitializer;
@@ -20,7 +21,6 @@ import net.sourceforge.pmd.lang.java.ast.ASTPrimaryExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTPrimaryPrefix;
 import net.sourceforge.pmd.lang.java.ast.ASTPrimarySuffix;
 import net.sourceforge.pmd.lang.java.ast.ASTReturnStatement;
-import net.sourceforge.pmd.lang.java.ast.ASTTypeDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableInitializer;
 
@@ -46,7 +46,7 @@ public class MethodReturnsInternalArrayRule extends AbstractSunSecureRule {
             return data;
         }
         List<ASTReturnStatement> returns = method.findDescendantsOfType(ASTReturnStatement.class);
-        ASTTypeDeclaration td = method.getFirstParentOfType(ASTTypeDeclaration.class);
+        ASTClassOrInterfaceDeclaration td = method.getFirstParentOfType(ASTClassOrInterfaceDeclaration.class);
         for (ASTReturnStatement ret : returns) {
             final String vn = getReturnedVariableName(ret);
             if (!isField(vn, td)) {
@@ -111,7 +111,7 @@ public class MethodReturnsInternalArrayRule extends AbstractSunSecureRule {
         return false;
     }
 
-    private boolean isEmptyArray(String varName, ASTTypeDeclaration typeDeclaration) {
+    private boolean isEmptyArray(String varName, AbstractNode typeDeclaration) {
         final List<ASTFieldDeclaration> fds = typeDeclaration.findDescendantsOfType(ASTFieldDeclaration.class);
         if (fds != null) {
             for (ASTFieldDeclaration fd : fds) {

From 58b3aaa0dac2c496c4dbb96f2ab0247450fc3d36 Mon Sep 17 00:00:00 2001
From: Boris Petrov <boris_petrov@live.com>
Date: Sun, 28 Apr 2019 20:26:09 +0300
Subject: [PATCH 026/371] [java] Make CommentDefaultAccessModifier work for
 top-level classes, enums and annotations

---
 docs/pages/pmd/rules/java.md                  |  2 +-
 docs/pages/pmd/rules/java/codestyle.md        |  2 +-
 .../CommentDefaultAccessModifierRule.java     | 38 +++++++++---
 .../resources/category/java/codestyle.xml     |  2 +-
 .../xml/CommentDefaultAccessModifier.xml      | 60 +++++++++++++++++++
 5 files changed, 92 insertions(+), 12 deletions(-)

diff --git a/docs/pages/pmd/rules/java.md b/docs/pages/pmd/rules/java.md
index 80ca10856f..18c784a222 100644
--- a/docs/pages/pmd/rules/java.md
+++ b/docs/pages/pmd/rules/java.md
@@ -75,7 +75,7 @@ folder: pmd/rules
 *   [BooleanGetMethodName](pmd_rules_java_codestyle.html#booleangetmethodname): Methods that return boolean results should be named as predicate statements to denote this.I.e, '...
 *   [CallSuperInConstructor](pmd_rules_java_codestyle.html#callsuperinconstructor): It is a good practice to call super() in a constructor. If super() is not called butanother const...
 *   [ClassNamingConventions](pmd_rules_java_codestyle.html#classnamingconventions): Configurable naming conventions for type declarations. This rule reports            type declarat...
-*   [CommentDefaultAccessModifier](pmd_rules_java_codestyle.html#commentdefaultaccessmodifier): To avoid mistakes if we want that a Method, Constructor, Field or Nested class have a default acc...
+*   [CommentDefaultAccessModifier](pmd_rules_java_codestyle.html#commentdefaultaccessmodifier): To avoid mistakes if we want that an Annotation, Class, Enum, Method, Constructor or Field have a default acc...
 *   [ConfusingTernary](pmd_rules_java_codestyle.html#confusingternary): Avoid negation within an &quot;if&quot; expression with an &quot;else&quot; clause.  For example, rephrase:'if (x != ...
 *   [ControlStatementBraces](pmd_rules_java_codestyle.html#controlstatementbraces): Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... els...
 *   [DefaultPackage](pmd_rules_java_codestyle.html#defaultpackage): Use explicit scoping instead of accidental usage of default package private level.The rule allows...
diff --git a/docs/pages/pmd/rules/java/codestyle.md b/docs/pages/pmd/rules/java/codestyle.md
index d2ff5b66c1..814e6a4f2a 100644
--- a/docs/pages/pmd/rules/java/codestyle.md
+++ b/docs/pages/pmd/rules/java/codestyle.md
@@ -473,7 +473,7 @@ public class Éléphant {}
 
 **Priority:** Medium (3)
 
-To avoid mistakes if we want that a Method, Constructor, Field or Nested class have a default access modifier
+To avoid mistakes if we want that an Annotation, Class, Enum, Method, Constructor or Field have a default access modifier
 we must add a comment at the beginning of it's declaration.
 By default the comment must be `/* default */` or `/* package */`, if you want another, you have to provide a regular expression.
 This rule ignores by default all cases that have a @VisibleForTesting annotation. Use the
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java
index 37c5eac750..af2ebd7d56 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java
@@ -11,10 +11,12 @@ import java.util.List;
 import java.util.Set;
 import java.util.regex.Pattern;
 
+import net.sourceforge.pmd.lang.java.ast.ASTAnnotationTypeDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTAnyTypeDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit;
 import net.sourceforge.pmd.lang.java.ast.ASTConstructorDeclaration;
+import net.sourceforge.pmd.lang.java.ast.ASTEnumDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTMethodDeclarator;
@@ -84,11 +86,28 @@ public class CommentDefaultAccessModifierRule extends AbstractIgnoredAnnotationR
         return super.visit(decl, data);
     }
 
+    @Override
+    public Object visit(final ASTAnnotationTypeDeclaration decl, final Object data) {
+        if (!decl.isNested() && shouldReportTypeDeclaration(decl)) { // check for top-level annotation declarations
+            addViolationWithMessage(data, decl, String.format(MESSAGE, decl.getImage(), "top-level annotation"));
+        }
+        return super.visit(decl, data);
+    }
+
+    @Override
+    public Object visit(final ASTEnumDeclaration decl, final Object data) {
+        if (!decl.isNested() && shouldReportTypeDeclaration(decl)) { // check for top-level enums
+            addViolationWithMessage(data, decl, String.format(MESSAGE, decl.getImage(), "top-level enum"));
+        }
+        return super.visit(decl, data);
+    }
+
     @Override
     public Object visit(final ASTClassOrInterfaceDeclaration decl, final Object data) {
-        // check for nested classes
-        if (decl.isNested() && shouldReport(decl)) {
+        if (decl.isNested() && shouldReport(decl)) { // check for nested classes
             addViolationWithMessage(data, decl, String.format(MESSAGE, decl.getImage(), "nested class"));
+        } else if (!decl.isNested() && shouldReportTypeDeclaration(decl)) { // and for top-level ones
+            addViolationWithMessage(data, decl, String.format(MESSAGE, decl.getImage(), "top-level class"));
         }
         return super.visit(decl, data);
     }
@@ -106,14 +125,15 @@ public class CommentDefaultAccessModifierRule extends AbstractIgnoredAnnotationR
                 .getFirstParentOfType(AbstractAnyTypeDeclaration.class);
 
         boolean isConcreteClass = parentClassOrInterface.getTypeKind() == ASTAnyTypeDeclaration.TypeKind.CLASS;
-        boolean isEnumConstructor = parentClassOrInterface.getTypeKind() == ASTAnyTypeDeclaration.TypeKind.ENUM
-                && decl instanceof ASTConstructorDeclaration;
 
-        // ignore if it's an Interface / Annotation / Enum constructor
-        return isConcreteClass && !isEnumConstructor
-                // check if the field/method/nested class has a default access
-                // modifier
-                && decl.isPackagePrivate()
+        // ignore if it's an Interface / Annotation
+        return isConcreteClass && shouldReportTypeDeclaration(decl);
+    }
+
+    private boolean shouldReportTypeDeclaration(final AbstractJavaAccessNode decl) {
+        // check if the class/method/field has a default access
+        // modifier
+        return decl.isPackagePrivate()
                 // if is a default access modifier check if there is a comment
                 // in this line
                 && !interestingLineNumberComments.contains(decl.getBeginLine())
diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml
index 05bd9f803b..19c3e4dea5 100644
--- a/pmd-java/src/main/resources/category/java/codestyle.xml
+++ b/pmd-java/src/main/resources/category/java/codestyle.xml
@@ -402,7 +402,7 @@ public class Éléphant {}
           message="Missing commented default access modifier"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier">
         <description>
-To avoid mistakes if we want that a Method, Constructor, Field or Nested class have a default access modifier
+To avoid mistakes if we want that an Annotation, Class, Enum, Method, Constructor or Field have a default access modifier
 we must add a comment at the beginning of it's declaration.
 By default the comment must be `/* default */` or `/* package */`, if you want another, you have to provide a regular expression.
 This rule ignores by default all cases that have a @VisibleForTesting annotation. Use the
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml
index a01d2c9997..ae52606693 100755
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml
@@ -115,6 +115,66 @@ public class Foo {
         <code-ref id="nested-class-with-default-access-modifier"/>
     </test-code>
 
+    <code-fragment id="top-level-annotations-with-default-access-modifier"><![CDATA[
+@interface Bar {}
+
+public @interface Foo {}
+
+@SomeAnnotation
+@interface Baz {}
+
+@VisibleForTesting
+@interface Foobar {}
+
+/* default */ @interface FoobarWithComment {}
+    ]]></code-fragment>
+    <test-code>
+        <description>Top-level annotations with default access modifier</description>
+        <expected-problems>2</expected-problems>
+        <expected-linenumbers>1,6</expected-linenumbers>
+        <code-ref id="top-level-annotations-with-default-access-modifier"/>
+    </test-code>
+
+    <code-fragment id="top-level-enums-with-default-access-modifier"><![CDATA[
+enum Bar {}
+
+public enum Foo {}
+
+@SomeAnnotation
+enum Baz {}
+
+@VisibleForTesting
+enum Foobar {}
+
+/* default */ enum FoobarWithComment {}
+    ]]></code-fragment>
+    <test-code>
+        <description>Top-level enums with default access modifier</description>
+        <expected-problems>2</expected-problems>
+        <expected-linenumbers>1,6</expected-linenumbers>
+        <code-ref id="top-level-enums-with-default-access-modifier"/>
+    </test-code>
+
+    <code-fragment id="top-level-classes-with-default-access-modifier"><![CDATA[
+class Bar {}
+
+public class Foo {}
+
+@SomeAnnotation
+class Baz {}
+
+@VisibleForTesting
+class Foobar {}
+
+/* default */ class FoobarWithComment {}
+    ]]></code-fragment>
+    <test-code>
+        <description>Top-level classes with default access modifier</description>
+        <expected-problems>2</expected-problems>
+        <expected-linenumbers>1,6</expected-linenumbers>
+        <code-ref id="top-level-classes-with-default-access-modifier"/>
+    </test-code>
+
     <code-fragment id="own-regex-to-default-access-modifier-rule"><![CDATA[
 public class Foo {
 	/* default */ final String stringValue = "stringValue";

From a5b12a4e83f99552bc113101e640220999cd921c Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 15 Jun 2018 11:22:59 +0200
Subject: [PATCH 027/371] Added test case for Python backticks.

---
 .../net/sourceforge/pmd/cpd/PythonTokenizerTest.java | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/pmd-python/src/test/java/net/sourceforge/pmd/cpd/PythonTokenizerTest.java b/pmd-python/src/test/java/net/sourceforge/pmd/cpd/PythonTokenizerTest.java
index 58d771f7eb..6896a14d62 100644
--- a/pmd-python/src/test/java/net/sourceforge/pmd/cpd/PythonTokenizerTest.java
+++ b/pmd-python/src/test/java/net/sourceforge/pmd/cpd/PythonTokenizerTest.java
@@ -53,4 +53,16 @@ public class PythonTokenizerTest extends AbstractTokenizerTest {
         TokenEntry.getEOF();
         assertEquals(3, tokens.size()); // 3 tokens: "import" + "logging" + EOF
     }
+
+    @Test
+    public void testBackticks() throws IOException {
+        SourceCode sourceCode = new SourceCode(new SourceCode.StringCodeLoader("test = 'hello'" + PMD.EOL
+                + "quoted = `test`" + PMD.EOL
+                + "print quoted" + PMD.EOL
+        ));
+        Tokens tokens = new Tokens();
+        tokenizer.tokenize(sourceCode, tokens); // should not result in parse error
+        TokenEntry.getEOF();
+        assertEquals(3, tokens.getTokens().get(tokens.getTokens().size() - 2).getBeginLine());
+    }
 }

From cad32d9b830b7b437cd299e87fbdd01658407326 Mon Sep 17 00:00:00 2001
From: Bram Stappers <bram.stappers@tiobe.com>
Date: Wed, 28 Jun 2017 15:28:25 +0200
Subject: [PATCH 028/371] 18984: [PMD] Added support for Python 2 backticks
 (`).

---
 pmd-python/etc/grammar/python.jj | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pmd-python/etc/grammar/python.jj b/pmd-python/etc/grammar/python.jj
index 60f723870c..1f97f9d948 100644
--- a/pmd-python/etc/grammar/python.jj
+++ b/pmd-python/etc/grammar/python.jj
@@ -52,6 +52,7 @@ TOKEN : /* SEPARATORS */
 |   < COMMA: "," >
 |   < DOT: "." >
 |   < COLON: ":" >
+|   < BACKTICK: "`" >
 }
 
 
@@ -280,4 +281,4 @@ MORE : /* Strings */
 |   <"\r"> { image.setCharAt(image.length()-1, '\n'); }
 |   <~["\n","\r"]>
 |   <"\\" ~["\n","\r"]>
-}
\ No newline at end of file
+}

From 6f442b15caf16d6ccd0551f6d9d32b679bf44d48 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Tue, 30 Apr 2019 13:58:12 +0200
Subject: [PATCH 029/371] Added Dart tokenizer test cases for escaped
 backslashes (\\) and other characters (\n, \$).

---
 .../test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java   | 2 ++
 .../resources/net/sourceforge/pmd/cpd/escape_sequences.dart    | 3 +++
 .../resources/net/sourceforge/pmd/cpd/escaped_backslash.dart   | 2 ++
 3 files changed, 7 insertions(+)
 create mode 100644 pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/escape_sequences.dart
 create mode 100644 pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/escaped_backslash.dart

diff --git a/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java b/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java
index 919001cd09..373444edfa 100644
--- a/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java
+++ b/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java
@@ -31,6 +31,8 @@ public class DartTokenizerTest extends AbstractTokenizerTest {
     public static Collection<Object[]> data() {
         return Arrays.asList(
                 new Object[] { "comment.dart", 5 },
+                new Object[] { "escape_sequences.dart", 13 },
+                new Object[] { "escaped_backslash.dart", 14 },
                 new Object[] { "escaped_string.dart", 17 },
                 new Object[] { "increment.dart", 185 },
                 new Object[] { "imports.dart", 1 }
diff --git a/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/escape_sequences.dart b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/escape_sequences.dart
new file mode 100644
index 0000000000..7d70500426
--- /dev/null
+++ b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/escape_sequences.dart
@@ -0,0 +1,3 @@
+var newline = '\n';
+var dollar = '$';
+var escaped_dollar = "\$";
\ No newline at end of file
diff --git a/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/escaped_backslash.dart b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/escaped_backslash.dart
new file mode 100644
index 0000000000..ee9c4a6419
--- /dev/null
+++ b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/escaped_backslash.dart
@@ -0,0 +1,2 @@
+var separator = '\\';
+var separators = const ['/', '\\'];
\ No newline at end of file

From 1ebfb7df87c6d8aab648078489aa35516fe6cdc0 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Tue, 30 Apr 2019 14:01:07 +0200
Subject: [PATCH 030/371] Extended Dart grammar to take escape sequences into
 account.

---
 .../antlr4/net/sourceforge/pmd/lang/dart/antlr4/Dart2.g4     | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/pmd-dart/src/main/antlr4/net/sourceforge/pmd/lang/dart/antlr4/Dart2.g4 b/pmd-dart/src/main/antlr4/net/sourceforge/pmd/lang/dart/antlr4/Dart2.g4
index aae6073e6a..fcc42ae013 100644
--- a/pmd-dart/src/main/antlr4/net/sourceforge/pmd/lang/dart/antlr4/Dart2.g4
+++ b/pmd-dart/src/main/antlr4/net/sourceforge/pmd/lang/dart/antlr4/Dart2.g4
@@ -344,8 +344,8 @@ booleanLiteral
 stringLiteral: SingleLineString;
 //stringLiteral: SingleLineString;
 SingleLineString
-  : '"' (~["] | '\\"')* '"'
-  | '\'' (~['] | '\\\'')* '\''
+  : '"' (~[\\"] | '\\\\' | ESCAPE_SEQUENCE | '\\"')* '"'
+  | '\'' (~[\\'] | '\\\\' | ESCAPE_SEQUENCE | '\\\'')* '\''
 //  | 'r\'' (~('\'' | NEWLINE))* '\'' // TODO
 //  | 'r"' (~('\'' | NEWLINE))* '"'
   ;
@@ -369,6 +369,7 @@ ESCAPE_SEQUENCE
   | '\\x' HEX_DIGIT HEX_DIGIT
   | '\\u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
   | '\\u{' HEX_DIGIT_SEQUENCE '}'
+  | '\\$'
   ;
 fragment
 HEX_DIGIT_SEQUENCE

From 97354a64d5de4fe4d564eb3eaa63693d2066d38e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Tue, 30 Apr 2019 10:40:02 -0300
Subject: [PATCH 031/371] Update changelog, refs #1803

---
 docs/pages/release_notes.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 0c717925c2..c702a584eb 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -73,6 +73,7 @@ No changes.
 *   [#1781](https://github.com/pmd/pmd/pull/1781): \[java] Location change in AssignmentToNonFinalStatic - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1789](https://github.com/pmd/pmd/pull/1789): \[cpd] \[core] Use current classloader instead of Thread's classloader - [Andreas Schmid](https://github.com/aaschmid)
 *   [#1791](https://github.com/pmd/pmd/pull/1791): \[dart] \[cpd] Dart escaped string - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
 
 {% endtocmaker %}
 

From 9545eada2fa5d317eb3532ba58a57a0046a3f68f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Tue, 30 Apr 2019 14:53:55 -0300
Subject: [PATCH 032/371] Fix NPE in UnnecessaryLocalBeforeReturnRule

 - Fixes #1804
---
 .../UnnecessaryLocalBeforeReturnRule.java       |  2 +-
 .../xml/UnnecessaryLocalBeforeReturn.xml        | 17 +++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryLocalBeforeReturnRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryLocalBeforeReturnRule.java
index 056878a58f..82dab662ef 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryLocalBeforeReturnRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryLocalBeforeReturnRule.java
@@ -136,7 +136,7 @@ public class UnnecessaryLocalBeforeReturnRule extends AbstractJavaRule {
                                 final ASTBlockStatement location = occ.getLocation().getFirstParentOfType(ASTBlockStatement.class);
                                 
                                 // Is it used after initializing our "unnecessary" local but before the return statement?
-                                if (isAfter(location, initializerStmt) && isAfter(rtnStmt, location)) {
+                                if (location != null && isAfter(location, initializerStmt) && isAfter(rtnStmt, location)) {
                                     return true;
                                 }
                             }
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryLocalBeforeReturn.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryLocalBeforeReturn.xml
index a97b4efc4d..eb5a8c6794 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryLocalBeforeReturn.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryLocalBeforeReturn.xml
@@ -244,6 +244,23 @@ public class UnnecessaryLocalBeforeReturnFP {
         	.make(i);
         return o; // true positive
     }  
+}
+        ]]></code>
+    </test-code>
+    
+    <test-code>
+        <description>#1804 [java] NPE with fields</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public class ObjectCreator {
+
+    private static final String A = ""; 
+    private static final String B = "" + A; // the existence of this line causes the NPE.
+
+    public Object create() {
+        final Object o = new Object(A);
+        return o;
+    }   
 }
         ]]></code>
     </test-code>

From 62e7f72dd755199cb4776ff73e5478a079eb1a8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Tue, 30 Apr 2019 14:56:01 -0300
Subject: [PATCH 033/371] Update changelog, refs #1804

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 2178f6ed15..5c1e180206 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,6 +16,9 @@ This is a {{ site.pmd.release_type }} release.
 
 ### Fixed Issues
 
+*   java-codestyle
+    *   [#1804](https://github.com/pmd/pmd/issues/1804): \[java] NPE in UnnecessaryLocalBeforeReturnRule
+
 ### API Changes
 
 ### External Contributions

From 92499ed3a01e70e6b551511b7564aa6074f9eb92 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Tue, 30 Apr 2019 23:24:15 -0300
Subject: [PATCH 034/371] Bump PMD version on self

---
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index ca273f818f..81d5424673 100644
--- a/pom.xml
+++ b/pom.xml
@@ -543,12 +543,12 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
                         <dependency>
                             <groupId>net.sourceforge.pmd</groupId>
                             <artifactId>pmd-core</artifactId>
-                            <version>6.13.0</version>
+                            <version>6.14.0</version>
                         </dependency>
                         <dependency>
                             <groupId>net.sourceforge.pmd</groupId>
                             <artifactId>pmd-java</artifactId>
-                            <version>6.13.0</version>
+                            <version>6.14.0</version>
                         </dependency>
                         <!-- This contains the dogfood ruleset -->
                         <dependency>

From 1c9a73426c9f16829ee447dcd3b717b4a57fa849 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Wed, 1 May 2019 11:29:43 +0200
Subject: [PATCH 035/371] deprecate: DumpFacade will be removed in PMD 7 Refs
 #1801

---
 docs/pages/release_notes.md                     | 17 +++++++++++++++++
 .../pmd/lang/apex/ast/DumpFacade.java           |  5 +++++
 .../pmd/lang/java/ast/DumpFacade.java           |  5 +++++
 .../pmd/lang/ecmascript/ast/DumpFacade.java     |  5 +++++
 .../pmd/lang/jsp/ast/DumpFacade.java            |  5 +++++
 .../pmd/lang/plsql/ast/DumpFacade.java          |  5 +++++
 .../sourceforge/pmd/lang/vf/ast/DumpFacade.java |  5 +++++
 .../pmd/lang/vm/ast/AbstractVmNode.java         |  2 ++
 .../pmd/lang/xml/ast/DumpFacade.java            |  5 +++++
 9 files changed, 54 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 2178f6ed15..1760022561 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -18,6 +18,23 @@ This is a {{ site.pmd.release_type }} release.
 
 ### API Changes
 
+#### Deprecated APIs
+
+##### For removal
+
+*   The `DumpFacades` in all languages, that could be used to transform a AST into a textual representation,
+    will be removed with PMD 7. The rule designer is a better way to inspect nodes.
+    *   {% jdoc !q!apex::lang.apex.ast.DumpFacade %}
+    *   {% jdoc !q!java::lang.java.ast.DumpFacade %}
+    *   {% jdoc !q!javascript::lang.ecmascript.ast.DumpFacade %}
+    *   {% jdoc !q!jsp::lang.jsp.ast.DumpFacade %}
+    *   {% jdoc !q!plsql::lang.plsql.ast.DumpFacade %}
+    *   {% jdoc !q!visualforce::lang.vf.ast.DumpFacade %}
+    *   {% jdoc !q!vm::lang.vm.ast.AbstractVmNode#dump(String, boolean, Writer) %}
+    *   {% jdoc !q!xml::lang.xml.ast.DumpFacade %}
+*   The method {% jdoc !c!core::lang.LanguageVersionHandler#getDumpFacade(Writer, String, boolean) %} will be
+    removed as well.
+
 ### External Contributions
 
 *   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/DumpFacade.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/DumpFacade.java
index f4b0e4efb9..616ce31520 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/DumpFacade.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/DumpFacade.java
@@ -12,6 +12,11 @@ import java.util.List;
 
 import net.sourceforge.pmd.util.StringUtil;
 
+/**
+ *
+ * @deprecated This class will be removed with PMD 7. The rule designer is a better way to inspect nodes.
+ */
+@Deprecated
 public class DumpFacade {
 
     private PrintWriter writer;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DumpFacade.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DumpFacade.java
index 8d6917d5a5..f0266acee4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DumpFacade.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DumpFacade.java
@@ -10,6 +10,11 @@ import java.io.Writer;
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ *
+ * @deprecated This class will be removed with PMD 7. The rule designer is a better way to inspect nodes.
+ */
+@Deprecated
 public class DumpFacade extends JavaParserVisitorAdapter {
 
     private PrintWriter writer;
diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/DumpFacade.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/DumpFacade.java
index 4c2910248b..11a862d54c 100644
--- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/DumpFacade.java
+++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/DumpFacade.java
@@ -12,6 +12,11 @@ import java.util.List;
 
 import net.sourceforge.pmd.util.StringUtil;
 
+/**
+ *
+ * @deprecated This class will be removed with PMD 7. The rule designer is a better way to inspect nodes.
+ */
+@Deprecated
 public class DumpFacade {
 
     private PrintWriter writer;
diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/DumpFacade.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/DumpFacade.java
index e1381a9626..ee6c78b206 100644
--- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/DumpFacade.java
+++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/DumpFacade.java
@@ -12,6 +12,11 @@ import java.util.List;
 
 import net.sourceforge.pmd.lang.ast.Node;
 
+/**
+ *
+ * @deprecated This class will be removed with PMD 7. The rule designer is a better way to inspect nodes.
+ */
+@Deprecated
 public class DumpFacade extends JspParserVisitorAdapter {
 
     private PrintWriter writer;
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/DumpFacade.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/DumpFacade.java
index d6be0486fe..e53532b1eb 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/DumpFacade.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/DumpFacade.java
@@ -10,6 +10,11 @@ import java.io.Writer;
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ *
+ * @deprecated This class will be removed with PMD 7. The rule designer is a better way to inspect nodes.
+ */
+@Deprecated
 public class DumpFacade extends PLSQLParserVisitorAdapter {
 
     private PrintWriter writer;
diff --git a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/DumpFacade.java b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/DumpFacade.java
index 704ae8e1a3..7430f77b1c 100644
--- a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/DumpFacade.java
+++ b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/DumpFacade.java
@@ -12,6 +12,11 @@ import java.util.List;
 
 import net.sourceforge.pmd.lang.ast.Node;
 
+/**
+ *
+ * @deprecated This class will be removed with PMD 7. The rule designer is a better way to inspect nodes.
+ */
+@Deprecated
 public class DumpFacade extends VfParserVisitorAdapter {
 
     private PrintWriter writer;
diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/AbstractVmNode.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/AbstractVmNode.java
index a640db2813..9e552aac82 100644
--- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/AbstractVmNode.java
+++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/AbstractVmNode.java
@@ -151,7 +151,9 @@ public class AbstractVmNode extends AbstractNode implements VmNode {
      * children.
      *
      * @param prefix
+     * @deprecated This method will be removed with PMD 7. The rule designer is a better way to inspect nodes.
      */
+    @Deprecated
     public void dump(final String prefix, final boolean recurse, final Writer writer) {
         final PrintWriter printWriter = writer instanceof PrintWriter ? (PrintWriter) writer : new PrintWriter(writer);
         printWriter.println(toString(prefix));
diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DumpFacade.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DumpFacade.java
index 888995fe9b..76ebac8655 100644
--- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DumpFacade.java
+++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/ast/DumpFacade.java
@@ -14,6 +14,11 @@ import java.util.List;
 import net.sourceforge.pmd.lang.ast.xpath.Attribute;
 import net.sourceforge.pmd.util.StringUtil;
 
+/**
+ *
+ * @deprecated This class will be removed with PMD 7. The rule designer is a better way to inspect nodes.
+ */
+@Deprecated
 public class DumpFacade {
 
     private PrintWriter writer;

From 113ad74ddb71092c1c1e9f97eef99770933c709d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Thu, 4 Apr 2019 11:46:12 +0200
Subject: [PATCH 036/371] refactor: Make the children array never null

---
 .../pmd/lang/apex/ast/AbstractApexNodeBase.java | 11 +++++------
 .../sourceforge/pmd/lang/ast/AbstractNode.java  | 13 +++++++------
 .../java/net/sourceforge/pmd/lang/ast/Node.java |  2 ++
 .../pmd/lang/java/ast/AbstractJavaNode.java     | 17 ++++++++---------
 .../ecmascript/ast/AbstractEcmascriptNode.java  | 15 +++++++--------
 .../pmd/lang/jsp/ast/AbstractJspNode.java       | 10 +++++-----
 .../pmd/lang/plsql/ast/AbstractPLSQLNode.java   | 13 ++++++-------
 .../pmd/lang/vf/ast/AbstractVFNode.java         |  7 ++++---
 .../pmd/lang/vm/ast/AbstractVmNode.java         | 14 +++++++-------
 9 files changed, 51 insertions(+), 51 deletions(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/AbstractApexNodeBase.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/AbstractApexNodeBase.java
index 8ba32fe4a7..c03bc464f6 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/AbstractApexNodeBase.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/AbstractApexNodeBase.java
@@ -38,13 +38,12 @@ public abstract class AbstractApexNodeBase extends AbstractNode {
      * Accept the visitor. *
      */
     public Object childrenAccept(ApexParserVisitor visitor, Object data) {
-        if (children != null) {
-            for (int i = 0; i < children.length; ++i) {
-                // we know that the children here are all ApexNodes
-                AbstractApexNodeBase apexNode = (AbstractApexNodeBase) children[i];
-                apexNode.jjtAccept(visitor, data);
-            }
+        for (int i = 0; i < children.length; ++i) {
+            // we know that the children here are all ApexNodes
+            AbstractApexNodeBase apexNode = (AbstractApexNodeBase) children[i];
+            apexNode.jjtAccept(visitor, data);
         }
+
         return data;
     }
 
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
index a03c22221d..5c20ee1ba5 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
@@ -19,8 +19,11 @@ public abstract class AbstractNode implements Node {
 
     private static final Logger LOG = Logger.getLogger(AbstractNode.class.getName());
 
+    private static final Node[] EMPTY_ARRAY = new Node[0];
+
     protected Node parent;
-    protected Node[] children;
+    // never null, never contains null elements
+    protected Node[] children = EMPTY_ARRAY;
     protected int childIndex;
     protected int id;
 
@@ -74,9 +77,7 @@ public abstract class AbstractNode implements Node {
 
     @Override
     public void jjtAddChild(final Node child, final int index) {
-        if (children == null) {
-            children = new Node[index + 1];
-        } else if (index >= children.length) {
+        if (index >= children.length) {
             final Node[] newChildren = new Node[index + 1];
             System.arraycopy(children, 0, newChildren, 0, children.length);
             children = newChildren;
@@ -102,7 +103,7 @@ public abstract class AbstractNode implements Node {
 
     @Override
     public int jjtGetNumChildren() {
-        return children == null ? 0 : children.length;
+        return children.length;
     }
 
     @Override
@@ -137,7 +138,7 @@ public abstract class AbstractNode implements Node {
     @Override
     public int getBeginColumn() {
         if (beginColumn == -1) {
-            if (children != null && children.length > 0) {
+            if (children.length > 0) {
                 return children[0].getBeginColumn();
             } else {
                 throw new RuntimeException("Unable to determine beginning line of Node.");
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Node.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Node.java
index 3a66e90d1c..839fca5c1b 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Node.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/Node.java
@@ -82,6 +82,8 @@ public interface Node {
      * This method returns a child node. The children are numbered from zero, left to right.
      *
      * @param index the child index. Must be nonnegative and less than {@link #jjtGetNumChildren}.
+     *
+     * @throws IndexOutOfBoundsException If the index is less than zero or greater or equal to {@link #jjtGetNumChildren()}
      */
     Node jjtGetChild(int index);
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
index 735b0b58aa..f3941fb6fc 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
@@ -5,6 +5,7 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 import net.sourceforge.pmd.lang.ast.AbstractNode;
+import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.symboltable.Scope;
 
 public abstract class AbstractJavaNode extends AbstractNode implements JavaNode {
@@ -32,7 +33,7 @@ public abstract class AbstractJavaNode extends AbstractNode implements JavaNode
 
     @Override
     public void jjtClose() {
-        if (beginLine == -1 && (children == null || children.length == 0)) {
+        if (beginLine == -1 && children.length == 0) {
             beginColumn = parser.token.beginColumn;
         }
         if (beginLine == -1) {
@@ -62,22 +63,20 @@ public abstract class AbstractJavaNode extends AbstractNode implements JavaNode
      */
     @Override
     public Object childrenAccept(JavaParserVisitor visitor, Object data) {
-        if (children != null) {
-            for (int i = 0; i < children.length; ++i) {
-                ((JavaNode) children[i]).jjtAccept(visitor, data);
-            }
+        for (Node child : children) {
+            ((JavaNode) child).jjtAccept(visitor, data);
         }
+
         return data;
     }
 
 
     @Override
     public <T> void childrenAccept(SideEffectingVisitor<T> visitor, T data) {
-        if (children != null) {
-            for (int i = 0; i < children.length; i++) {
-                ((JavaNode) children[i]).jjtAccept(visitor, data);
-            }
+        for (Node child : children) {
+            ((JavaNode) child).jjtAccept(visitor, data);
         }
+
     }
 
 
diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/AbstractEcmascriptNode.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/AbstractEcmascriptNode.java
index 671b83b2e7..b6df841ca0 100644
--- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/AbstractEcmascriptNode.java
+++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/ast/AbstractEcmascriptNode.java
@@ -7,6 +7,7 @@ package net.sourceforge.pmd.lang.ecmascript.ast;
 import org.mozilla.javascript.ast.AstNode;
 
 import net.sourceforge.pmd.lang.ast.AbstractNode;
+import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.ast.SourceCodePositioner;
 
 public abstract class AbstractEcmascriptNode<T extends AstNode> extends AbstractNode implements EcmascriptNode<T> {
@@ -46,14 +47,12 @@ public abstract class AbstractEcmascriptNode<T extends AstNode> extends Abstract
      */
     @Override
     public Object childrenAccept(EcmascriptParserVisitor visitor, Object data) {
-        if (children != null) {
-            for (int i = 0; i < children.length; ++i) {
-                // we know that the children here
-                // are all EcmascriptNodes
-                @SuppressWarnings("unchecked")
-                EcmascriptNode<T> ecmascriptNode = (EcmascriptNode<T>) children[i];
-                ecmascriptNode.jjtAccept(visitor, data);
-            }
+        for (Node child : children) {
+            // we know that the children here
+            // are all EcmascriptNodes
+            @SuppressWarnings("unchecked")
+            EcmascriptNode<T> ecmascriptNode = (EcmascriptNode<T>) child;
+            ecmascriptNode.jjtAccept(visitor, data);
         }
         return data;
     }
diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/AbstractJspNode.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/AbstractJspNode.java
index 97c1d3de89..06491c8fc8 100644
--- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/AbstractJspNode.java
+++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/ast/AbstractJspNode.java
@@ -5,6 +5,7 @@
 package net.sourceforge.pmd.lang.jsp.ast;
 
 import net.sourceforge.pmd.lang.ast.AbstractNode;
+import net.sourceforge.pmd.lang.ast.Node;
 
 public class AbstractJspNode extends AbstractNode implements JspNode {
 
@@ -29,7 +30,7 @@ public class AbstractJspNode extends AbstractNode implements JspNode {
 
     @Override
     public void jjtClose() {
-        if (beginLine == -1 && (children == null || children.length == 0)) {
+        if (beginLine == -1 && children.length == 0) {
             beginColumn = parser.token.beginColumn;
         }
         if (beginLine == -1) {
@@ -52,11 +53,10 @@ public class AbstractJspNode extends AbstractNode implements JspNode {
      */
     @Override
     public Object childrenAccept(JspParserVisitor visitor, Object data) {
-        if (children != null) {
-            for (int i = 0; i < children.length; ++i) {
-                ((JspNode) children[i]).jjtAccept(visitor, data);
-            }
+        for (Node child : children) {
+            ((JspNode) child).jjtAccept(visitor, data);
         }
+
         return data;
     }
 
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/AbstractPLSQLNode.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/AbstractPLSQLNode.java
index aebc968098..791229a093 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/AbstractPLSQLNode.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/AbstractPLSQLNode.java
@@ -7,6 +7,7 @@
 
 package net.sourceforge.pmd.lang.plsql.ast;
 
+import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.symboltable.Scope;
 
 public abstract class AbstractPLSQLNode extends net.sourceforge.pmd.lang.ast.AbstractNode implements PLSQLNode {
@@ -33,7 +34,7 @@ public abstract class AbstractPLSQLNode extends net.sourceforge.pmd.lang.ast.Abs
 
     @Override
     public void jjtClose() {
-        if (beginLine == -1 && (children == null || children.length == 0)) {
+        if (beginLine == -1 && children.length == 0) {
             beginColumn = parser.token.beginColumn;
         }
         if (beginLine == -1) {
@@ -92,12 +93,10 @@ public abstract class AbstractPLSQLNode extends net.sourceforge.pmd.lang.ast.Abs
 
     public void dump(String prefix) {
         System.out.println(toString(prefix));
-        if (children != null) {
-            for (int i = 0; i < children.length; ++i) {
-                AbstractPLSQLNode n = (AbstractPLSQLNode) children[i];
-                if (n != null) {
-                    n.dump(prefix + " ");
-                }
+        for (Node child : children) {
+            AbstractPLSQLNode n = (AbstractPLSQLNode) child;
+            if (n != null) {
+                n.dump(prefix + " ");
             }
         }
     }
diff --git a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/AbstractVFNode.java b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/AbstractVFNode.java
index 57e12782d3..4bb819aac8 100644
--- a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/AbstractVFNode.java
+++ b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/ast/AbstractVFNode.java
@@ -5,6 +5,7 @@
 package net.sourceforge.pmd.lang.vf.ast;
 
 import net.sourceforge.pmd.lang.ast.AbstractNode;
+import net.sourceforge.pmd.lang.ast.Node;
 
 public class AbstractVFNode extends AbstractNode implements VfNode {
 
@@ -29,7 +30,7 @@ public class AbstractVFNode extends AbstractNode implements VfNode {
 
     @Override
     public void jjtClose() {
-        if (beginLine == -1 && (children == null || children.length == 0)) {
+        if (beginLine == -1 && children.length == 0) {
             beginColumn = parser.token.beginColumn;
         }
         if (beginLine == -1) {
@@ -53,8 +54,8 @@ public class AbstractVFNode extends AbstractNode implements VfNode {
     @Override
     public Object childrenAccept(VfParserVisitor visitor, Object data) {
         if (children != null) {
-            for (int i = 0; i < children.length; ++i) {
-                ((VfNode) children[i]).jjtAccept(visitor, data);
+            for (Node child : children) {
+                ((VfNode) child).jjtAccept(visitor, data);
             }
         }
         return data;
diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/AbstractVmNode.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/AbstractVmNode.java
index a640db2813..1a9e2b5a70 100644
--- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/AbstractVmNode.java
+++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/ast/AbstractVmNode.java
@@ -26,6 +26,7 @@ import java.io.Writer;
 import org.apache.commons.lang3.text.StrBuilder;
 
 import net.sourceforge.pmd.lang.ast.AbstractNode;
+import net.sourceforge.pmd.lang.ast.Node;
 
 /**
  *
@@ -115,11 +116,10 @@ public class AbstractVmNode extends AbstractNode implements VmNode {
 
     @Override
     public Object childrenAccept(final VmParserVisitor visitor, final Object data) {
-        if (children != null) {
-            for (int i = 0; i < children.length; ++i) {
-                ((VmNode) children[i]).jjtAccept(visitor, data);
-            }
+        for (Node child : children) {
+            ((VmNode) child).jjtAccept(visitor, data);
         }
+
         return data;
     }
 
@@ -155,9 +155,9 @@ public class AbstractVmNode extends AbstractNode implements VmNode {
     public void dump(final String prefix, final boolean recurse, final Writer writer) {
         final PrintWriter printWriter = writer instanceof PrintWriter ? (PrintWriter) writer : new PrintWriter(writer);
         printWriter.println(toString(prefix));
-        if (children != null && recurse) {
-            for (int i = 0; i < children.length; ++i) {
-                final AbstractVmNode n = (AbstractVmNode) children[i];
+        if (recurse) {
+            for (Node child : children) {
+                final AbstractVmNode n = (AbstractVmNode) child;
                 if (n != null) {
                     n.dump(prefix + " ", recurse, printWriter);
                 }

From d0eaf73e2998703a2d303cea590143e91a9629f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Fri, 15 Mar 2019 09:30:42 +0100
Subject: [PATCH 037/371] Remove pmd-java test dependency

---
 pmd-lang-test/pom.xml | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/pmd-lang-test/pom.xml b/pmd-lang-test/pom.xml
index 8dff01d621..ca14226358 100644
--- a/pmd-lang-test/pom.xml
+++ b/pmd-lang-test/pom.xml
@@ -129,13 +129,5 @@
             <version>2.0.1</version>
             <scope>compile</scope>
         </dependency>
-
-        <!-- Use pmd-java for tests -->
-        <dependency>
-            <groupId>net.sourceforge.pmd</groupId>
-            <artifactId>pmd-java</artifactId>
-            <version>6.12.0</version>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 </project>

From 13bbbfb2c4c40592c3eba0edbb1ebe5ef47ee257 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Fri, 15 Mar 2019 10:28:21 +0100
Subject: [PATCH 038/371] Expose default config

---
 pmd-lang-test/pom.xml                                    | 2 +-
 .../pmd/lang/ast/test/AstMatcherDslAdapter.kt            | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/pmd-lang-test/pom.xml b/pmd-lang-test/pom.xml
index ca14226358..88cb7bd139 100644
--- a/pmd-lang-test/pom.xml
+++ b/pmd-lang-test/pom.xml
@@ -126,7 +126,7 @@
         <dependency>
             <groupId>com.github.oowekyala.treeutils</groupId>
             <artifactId>tree-matchers</artifactId>
-            <version>2.0.1</version>
+            <version>2.0.2</version>
             <scope>compile</scope>
         </dependency>
     </dependencies>
diff --git a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/AstMatcherDslAdapter.kt b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/AstMatcherDslAdapter.kt
index 99ed28c236..5d27eff327 100644
--- a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/AstMatcherDslAdapter.kt
+++ b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/AstMatcherDslAdapter.kt
@@ -4,6 +4,7 @@
 
 package net.sourceforge.pmd.lang.ast.test
 
+import com.github.oowekyala.treeutils.DoublyLinkedTreeLikeAdapter
 import com.github.oowekyala.treeutils.TreeLikeAdapter
 import com.github.oowekyala.treeutils.matchers.MatchingConfig
 import com.github.oowekyala.treeutils.matchers.TreeNodeWrapper
@@ -12,10 +13,12 @@ import com.github.oowekyala.treeutils.printers.KotlintestBeanTreePrinter
 import net.sourceforge.pmd.lang.ast.Node
 
 /** An adapter for [baseShouldMatchSubtree]. */
-object NodeTreeLikeAdapter : TreeLikeAdapter<Node> {
+object NodeTreeLikeAdapter : DoublyLinkedTreeLikeAdapter<Node> {
     override fun getChildren(node: Node): List<Node> = node.findChildrenOfType(Node::class.java)
 
     override fun nodeName(type: Class<out Node>): String = type.simpleName.removePrefix("AST")
+
+    override fun getParent(node: Node): Node? = node.parent
 }
 
 /** A subtree matcher written in the DSL documented on [TreeNodeWrapper]. */
@@ -24,9 +27,11 @@ typealias NodeSpec<N> = TreeNodeWrapper<Node, N>.() -> Unit
 /** A function feedable to [io.kotlintest.should], which fails the test if an [AssertionError] is thrown. */
 typealias Assertions<M> = (M) -> Unit
 
+val DefaultMatchingConfig = MatchingConfig(adapter = NodeTreeLikeAdapter, errorPrinter = KotlintestBeanTreePrinter(NodeTreeLikeAdapter))
+
 /** A shorthand for [baseShouldMatchSubtree] providing the [NodeTreeLikeAdapter]. */
 inline fun <reified N : Node> Node?.shouldMatchNode(ignoreChildren: Boolean = false, noinline nodeSpec: NodeSpec<N>) {
-    this.baseShouldMatchSubtree(MatchingConfig(adapter = NodeTreeLikeAdapter, errorPrinter = KotlintestBeanTreePrinter(NodeTreeLikeAdapter)), ignoreChildren, nodeSpec)
+    this.baseShouldMatchSubtree(DefaultMatchingConfig, ignoreChildren, nodeSpec)
 }
 
 /**

From eedc3210fcd7cb48c4c8e693662526362ef34b75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Fri, 15 Mar 2019 10:48:49 +0100
Subject: [PATCH 039/371] Add text bounds implicit assertions

---
 .../pmd/lang/ast/test/AstMatcherDslAdapter.kt |  7 ++-
 .../pmd/lang/ast/test/NodeExtensions.kt       | 54 +++++++++++++++++++
 .../pmd/lang/ast/test/TestUtils.kt            |  1 -
 3 files changed, 59 insertions(+), 3 deletions(-)

diff --git a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/AstMatcherDslAdapter.kt b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/AstMatcherDslAdapter.kt
index 5d27eff327..fc9d2ac255 100644
--- a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/AstMatcherDslAdapter.kt
+++ b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/AstMatcherDslAdapter.kt
@@ -5,7 +5,6 @@
 package net.sourceforge.pmd.lang.ast.test
 
 import com.github.oowekyala.treeutils.DoublyLinkedTreeLikeAdapter
-import com.github.oowekyala.treeutils.TreeLikeAdapter
 import com.github.oowekyala.treeutils.matchers.MatchingConfig
 import com.github.oowekyala.treeutils.matchers.TreeNodeWrapper
 import com.github.oowekyala.treeutils.matchers.baseShouldMatchSubtree
@@ -27,7 +26,11 @@ typealias NodeSpec<N> = TreeNodeWrapper<Node, N>.() -> Unit
 /** A function feedable to [io.kotlintest.should], which fails the test if an [AssertionError] is thrown. */
 typealias Assertions<M> = (M) -> Unit
 
-val DefaultMatchingConfig = MatchingConfig(adapter = NodeTreeLikeAdapter, errorPrinter = KotlintestBeanTreePrinter(NodeTreeLikeAdapter))
+val DefaultMatchingConfig = MatchingConfig(
+        adapter = NodeTreeLikeAdapter,
+        errorPrinter = KotlintestBeanTreePrinter(NodeTreeLikeAdapter),
+        implicitAssertions = { it.assertTextRangeIsOk() }
+)
 
 /** A shorthand for [baseShouldMatchSubtree] providing the [NodeTreeLikeAdapter]. */
 inline fun <reified N : Node> Node?.shouldMatchNode(ignoreChildren: Boolean = false, noinline nodeSpec: NodeSpec<N>) {
diff --git a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt
index c8e9ebaff7..a50e840984 100644
--- a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt
+++ b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt
@@ -5,6 +5,7 @@
 package net.sourceforge.pmd.lang.ast.test
 
 import net.sourceforge.pmd.lang.ast.Node
+import java.util.*
 
 
 /** Extension methods to make the Node API more Kotlin-like */
@@ -29,3 +30,56 @@ fun Node.safeGetChild(i: Int): Node? = when {
     else -> null
 }
 
+val Node.textRange: TextRange
+    get() = TextRange(beginPosition, endPosition)
+
+val Node.beginPosition: TextPosition
+    get() = TextPosition(beginLine, beginColumn)
+
+val Node.endPosition: TextPosition
+    get() = TextPosition(endLine, endColumn)
+
+
+fun Node.assertTextRangeIsOk() {
+
+    // they're defined
+    assert(beginLine >= 0)
+    assert(endLine >= 0)
+    assert(beginColumn >= 0)
+    assert(endColumn >= 0)
+
+    // they're in the right order
+    textRange.assertOrdered()
+
+    val parent = parent ?: return
+
+    assert(textRange in parent.textRange)
+}
+
+
+data class TextPosition(val line: Int, val column: Int) : Comparable<TextPosition> {
+
+    override operator fun compareTo(other: TextPosition): Int = Comparator.compare(this, other)
+
+    companion object {
+        val Comparator: Comparator<TextPosition> =
+                java.util.Comparator.comparingInt<TextPosition> { o -> o.line }
+                        .thenComparingInt { o -> o.column }
+
+    }
+}
+
+data class TextRange(val beginPos: TextPosition, val endPos: TextPosition) {
+
+    fun assertOrdered() {
+        assert(beginPos <= endPos) {
+            "The begin position should be lower than the end position"
+        }
+    }
+
+    operator fun contains(position: TextPosition): Boolean = position in beginPos..endPos
+
+    /** Result makes no sense if either of those text bounds is not ordered. */
+    operator fun contains(other: TextRange): Boolean = other.beginPos in this && other.endPos in this
+
+}
\ No newline at end of file
diff --git a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/TestUtils.kt b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/TestUtils.kt
index bd18c52b06..637e5f7fd8 100644
--- a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/TestUtils.kt
+++ b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/TestUtils.kt
@@ -52,4 +52,3 @@ private fun <N, V> assertWrapper(callable: KCallable<N>, right: V, asserter: (N,
 infix fun <N, V : N> KCallable<N>.shouldBe(expected: V?) = this.shouldEqual(expected)
 
 infix fun <T> KCallable<T>.shouldMatch(expected: T.() -> Unit) = assertWrapper(this, expected) { n, v -> n should v }
-

From 367ae2a4a9239293996ca1a438aaddd300adc626 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Wed, 1 May 2019 17:23:34 +0200
Subject: [PATCH 040/371] Remove need for late init completely

---
 .../sourceforge/pmd/lang/ast/test/NodeExtensions.kt  | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt
index a50e840984..58cf39f8d7 100644
--- a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt
+++ b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt
@@ -43,17 +43,19 @@ val Node.endPosition: TextPosition
 fun Node.assertTextRangeIsOk() {
 
     // they're defined
-    assert(beginLine >= 0)
-    assert(endLine >= 0)
-    assert(beginColumn >= 0)
-    assert(endColumn >= 0)
+    assert(beginLine >= 0) { "Begin line is not set" }
+    assert(endLine >= 0) { "End line is not set" }
+    assert(beginColumn >= 0) { "Begin column is not set" }
+    assert(endColumn >= 0) { "End column is not set" }
 
     // they're in the right order
     textRange.assertOrdered()
 
     val parent = parent ?: return
 
-    assert(textRange in parent.textRange)
+    assert(textRange in parent.textRange) {
+        "The text range is not a subrange of that of the parent"
+    }
 }
 
 

From 5ec4324fbc7bff706c00c82571bb99afc181c63e Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Wed, 1 May 2019 17:25:01 +0200
Subject: [PATCH 041/371] Fix AbstractLrBinaryExpr type check

---
 .../main/kotlin/net/sourceforge/pmd/lang/ast/test/TestUtils.kt  | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/TestUtils.kt b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/TestUtils.kt
index 637e5f7fd8..d4b49ccc3a 100644
--- a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/TestUtils.kt
+++ b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/TestUtils.kt
@@ -6,6 +6,7 @@ package net.sourceforge.pmd.lang.ast.test
 
 import io.kotlintest.should
 import kotlin.reflect.KCallable
+import kotlin.reflect.jvm.isAccessible
 import io.kotlintest.shouldBe as ktShouldBe
 
 /**
@@ -21,6 +22,7 @@ private fun <N, V> assertWrapper(callable: KCallable<N>, right: V, asserter: (N,
     fun formatName() = "::" + callable.name.removePrefix("get").decapitalize()
 
     val value: N = try {
+        callable.isAccessible = true
         callable.call()
     } catch (e: Exception) {
         throw RuntimeException("Couldn't fetch value for property ${formatName()}", e)

From 9a93a6c5e980375ddf095ecccff505358d53ea5f Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Wed, 1 May 2019 17:29:32 +0200
Subject: [PATCH 042/371] Delegate text coordinates to the tokens

---
 .../pmd/lang/ast/test/NodeExtensions.kt            | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt
index 58cf39f8d7..464e9ef570 100644
--- a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt
+++ b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/NodeExtensions.kt
@@ -4,6 +4,8 @@
 
 package net.sourceforge.pmd.lang.ast.test
 
+import net.sourceforge.pmd.lang.ast.AbstractNode
+import net.sourceforge.pmd.lang.ast.GenericToken
 import net.sourceforge.pmd.lang.ast.Node
 import java.util.*
 
@@ -22,6 +24,16 @@ val Node.childIndex: Int
 val Node.parent: Node?
     get() = this.jjtGetParent()
 
+val Node.containingFile: Node
+    get() = generateSequence(this) { it.parent }.last()
+
+
+val Node.firstToken: GenericToken
+    get() = (this as AbstractNode).jjtGetFirstToken()
+
+val Node.lastToken: GenericToken
+    get() = (this as AbstractNode).jjtGetLastToken()
+
 
 fun Node.getChild(i: Int) = jjtGetChild(i)
 
@@ -84,4 +96,4 @@ data class TextRange(val beginPos: TextPosition, val endPos: TextPosition) {
     /** Result makes no sense if either of those text bounds is not ordered. */
     operator fun contains(other: TextRange): Boolean = other.beginPos in this && other.endPos in this
 
-}
\ No newline at end of file
+}

From 2057fc391974323c7986a56c82226edb0b9a5e0e Mon Sep 17 00:00:00 2001
From: BBG <djydewang@gmail.com>
Date: Thu, 2 May 2019 00:01:23 +0800
Subject: [PATCH 043/371] [ci] fix missing local branch issues

---
 .travis/build-deploy.sh | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/.travis/build-deploy.sh b/.travis/build-deploy.sh
index 8d26b44b08..f5a97b19a2 100755
--- a/.travis/build-deploy.sh
+++ b/.travis/build-deploy.sh
@@ -60,9 +60,12 @@ elif travis_isPullRequest; then
     log_info "This is a pull-request build"
     ./mvnw verify $MVN_BUILD_FLAGS
 	(
-	    set +e
-	    log_info "Running danger"
-	    bundle exec danger --verbose
+            set +e
+            # if ${TRAVIS_BRANCH} is master, the script will fail since there is local master branch
+            git checkout -b ${TRAVIS_BRANCH} origin/${TRAVIS_BRANCH}
+            git checkout -qf FETCH_HEAD
+            log_info "Running danger"
+            bundle exec danger --verbose
 	)
 
 elif travis_isPush; then

From a0657dd0157a479f2b0af08328e9fd2334efd77a Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Wed, 1 May 2019 18:13:03 +0200
Subject: [PATCH 044/371] Fix node positions of ASTSwitchLabeled* nodes Note:
 this is a temporary fix. A more general fix is in branch java-grammar

---
 .../net/sourceforge/pmd/lang/ast/AbstractNode.java    |  2 ++
 .../pmd/lang/java/ast/ASTSwitchLabeledBlock.java      | 11 +++++++++++
 .../pmd/lang/java/ast/ASTSwitchLabeledExpression.java | 11 +++++++++++
 .../lang/java/ast/ASTSwitchLabeledThrowStatement.java | 11 +++++++++++
 4 files changed, 35 insertions(+)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
index a03c22221d..6cd196da1f 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
@@ -231,6 +231,8 @@ public abstract class AbstractNode implements Node {
 
     public void jjtSetFirstToken(final GenericToken token) {
         this.firstToken = token;
+        this.beginLine = token.getBeginLine();
+        this.beginColumn = token.getBeginColumn();
     }
 
     public GenericToken jjtGetLastToken() {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledBlock.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledBlock.java
index 8ff927bef2..0e04b6de68 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledBlock.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledBlock.java
@@ -4,6 +4,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.lang.ast.AbstractNode;
+
 public class ASTSwitchLabeledBlock extends AbstractJavaNode implements ASTSwitchLabeledRule {
 
     ASTSwitchLabeledBlock(int id) {
@@ -18,4 +20,13 @@ public class ASTSwitchLabeledBlock extends AbstractJavaNode implements ASTSwitch
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
     }
+
+    @Override
+    public void jjtClose() {
+        super.jjtClose();
+        if (jjtGetNumChildren() > 0) {
+            AbstractNode firstChild = (AbstractNode) jjtGetChild(0);
+            jjtSetFirstToken(firstChild.jjtGetFirstToken());
+        }
+    }
 }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledExpression.java
index b2ba1b17a6..c8aabe3a93 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledExpression.java
@@ -4,6 +4,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.lang.ast.AbstractNode;
+
 public class ASTSwitchLabeledExpression extends AbstractJavaNode implements ASTSwitchLabeledRule {
 
     ASTSwitchLabeledExpression(int id) {
@@ -18,4 +20,13 @@ public class ASTSwitchLabeledExpression extends AbstractJavaNode implements ASTS
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
     }
+
+    @Override
+    public void jjtClose() {
+        super.jjtClose();
+        if (jjtGetNumChildren() > 0) {
+            AbstractNode firstChild = (AbstractNode) jjtGetChild(0);
+            jjtSetFirstToken(firstChild.jjtGetFirstToken());
+        }
+    }
 }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java
index d0a863f967..5454d1fdc7 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java
@@ -4,6 +4,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.lang.ast.AbstractNode;
+
 public class ASTSwitchLabeledThrowStatement extends AbstractJavaNode implements ASTSwitchLabeledRule {
 
     ASTSwitchLabeledThrowStatement(int id) {
@@ -18,4 +20,13 @@ public class ASTSwitchLabeledThrowStatement extends AbstractJavaNode implements
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
     }
+
+    @Override
+    public void jjtClose() {
+        super.jjtClose();
+        if (jjtGetNumChildren() > 0) {
+            AbstractNode firstChild = (AbstractNode) jjtGetChild(0);
+            jjtSetFirstToken(firstChild.jjtGetFirstToken());
+        }
+    }
 }

From f9530d1a04f552c02a5de2da2bd9d9e095a7a566 Mon Sep 17 00:00:00 2001
From: "Venkatachalam, Srinivasan" <srvenkatachalam@paypal.com>
Date: Thu, 2 May 2019 19:05:08 +0530
Subject: [PATCH 045/371] Test cases added for #1738 fix

---
 .../xml/MethodReturnsInternalArray.xml        | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
index 25ec834be8..d53ded6b2d 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
@@ -220,4 +220,23 @@ public class MethodReturnsInternalArrayCase {
 }
         ]]></code>
     </test-code>
+
+    <test-code>
+        <description> #1738 MethodReturnsInternalArray in inner classes</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public class Outer {
+
+	public static class Inner {
+		private int[] arr2;
+
+		public int[] getArr2() {
+			return arr2;
+		}
+
+	}
+}
+        ]]></code>
+    </test-code>
+
 </test-data>

From 6f4123afcc245f9d24747257106c2a829887a23d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Thu, 2 May 2019 16:20:07 +0200
Subject: [PATCH 046/371] Annotated overriding #getDumpFacade as Deprecated

---
 docs/pages/release_notes.md                                     | 2 +-
 .../main/java/net/sourceforge/pmd/lang/apex/ApexHandler.java    | 1 +
 .../sourceforge/pmd/lang/AbstractLanguageVersionHandler.java    | 1 +
 .../java/net/sourceforge/pmd/lang/java/AbstractJavaHandler.java | 1 +
 .../net/sourceforge/pmd/lang/ecmascript/Ecmascript3Handler.java | 1 +
 .../src/main/java/net/sourceforge/pmd/lang/jsp/JspHandler.java  | 1 +
 .../main/java/net/sourceforge/pmd/lang/plsql/PLSQLHandler.java  | 1 +
 .../src/main/java/net/sourceforge/pmd/lang/vf/VfHandler.java    | 1 +
 pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmHandler.java | 1 +
 .../src/main/java/net/sourceforge/pmd/lang/xml/XmlHandler.java  | 1 +
 10 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 1760022561..fbe577a1a2 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -33,7 +33,7 @@ This is a {{ site.pmd.release_type }} release.
     *   {% jdoc !q!vm::lang.vm.ast.AbstractVmNode#dump(String, boolean, Writer) %}
     *   {% jdoc !q!xml::lang.xml.ast.DumpFacade %}
 *   The method {% jdoc !c!core::lang.LanguageVersionHandler#getDumpFacade(Writer, String, boolean) %} will be
-    removed as well.
+    removed as well. It is deprecated, along with all its implementations in the subclasses of {% jdoc core::lang.LanguageVersionHandler %}.
 
 ### External Contributions
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ApexHandler.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ApexHandler.java
index 3a8663871d..ed2a66c5e4 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ApexHandler.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ApexHandler.java
@@ -59,6 +59,7 @@ public class ApexHandler extends AbstractLanguageVersionHandler {
         return new ApexParser(parserOptions);
     }
 
+    @Deprecated
     @Override
     public VisitorStarter getDumpFacade(Writer writer, String prefix, boolean recurse) {
         return rootNode -> new DumpFacade().initializeWith(writer, prefix, recurse, (ApexNode<?>) rootNode);
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/AbstractLanguageVersionHandler.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/AbstractLanguageVersionHandler.java
index c00f38a05f..83b169e2f8 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/AbstractLanguageVersionHandler.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/AbstractLanguageVersionHandler.java
@@ -52,6 +52,7 @@ public abstract class AbstractLanguageVersionHandler implements LanguageVersionH
         return VisitorStarter.DUMMY;
     }
 
+    @Deprecated
     @Override
     public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
         return VisitorStarter.DUMMY;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/AbstractJavaHandler.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/AbstractJavaHandler.java
index 179ac6a6f1..fa17dde5f3 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/AbstractJavaHandler.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/AbstractJavaHandler.java
@@ -123,6 +123,7 @@ public abstract class AbstractJavaHandler extends AbstractLanguageVersionHandler
         };
     }
 
+    @Deprecated
     @Override
     public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
         return new VisitorStarter() {
diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/Ecmascript3Handler.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/Ecmascript3Handler.java
index bfbdd95fae..c43f3b5255 100644
--- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/Ecmascript3Handler.java
+++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/ecmascript/Ecmascript3Handler.java
@@ -43,6 +43,7 @@ public class Ecmascript3Handler extends AbstractLanguageVersionHandler {
         return new Ecmascript3Parser(parserOptions);
     }
 
+    @Deprecated
     @Override
     public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
         return new VisitorStarter() {
diff --git a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspHandler.java b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspHandler.java
index 5965244316..8c1dd425e5 100644
--- a/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspHandler.java
+++ b/pmd-jsp/src/main/java/net/sourceforge/pmd/lang/jsp/JspHandler.java
@@ -40,6 +40,7 @@ public class JspHandler extends AbstractLanguageVersionHandler {
         return new JspParser(parserOptions);
     }
 
+    @Deprecated
     @Override
     public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
         return new VisitorStarter() {
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLHandler.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLHandler.java
index 2b2de68d98..4d354d1501 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLHandler.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLHandler.java
@@ -72,6 +72,7 @@ public class PLSQLHandler extends AbstractLanguageVersionHandler {
         };
     }
 
+    @Deprecated
     @Override
     public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
         return new VisitorStarter() {
diff --git a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/VfHandler.java b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/VfHandler.java
index 236a304f35..afaf88eedd 100644
--- a/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/VfHandler.java
+++ b/pmd-visualforce/src/main/java/net/sourceforge/pmd/lang/vf/VfHandler.java
@@ -35,6 +35,7 @@ public class VfHandler extends AbstractLanguageVersionHandler {
         return new VfParser(parserOptions);
     }
 
+    @Deprecated
     @Override
     public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
         return new VisitorStarter() {
diff --git a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmHandler.java b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmHandler.java
index 6012bddc48..6c35508584 100644
--- a/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmHandler.java
+++ b/pmd-vm/src/main/java/net/sourceforge/pmd/lang/vm/VmHandler.java
@@ -38,6 +38,7 @@ public class VmHandler extends AbstractLanguageVersionHandler {
         return new VmParser(parserOptions);
     }
 
+    @Deprecated
     @Override
     public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
         return new VisitorStarter() {
diff --git a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlHandler.java b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlHandler.java
index f8591b418b..921f73f414 100644
--- a/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlHandler.java
+++ b/pmd-xml/src/main/java/net/sourceforge/pmd/lang/xml/XmlHandler.java
@@ -43,6 +43,7 @@ public class XmlHandler extends AbstractLanguageVersionHandler {
         return new XmlParser(parserOptions);
     }
 
+    @Deprecated
     @Override
     public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
         return new VisitorStarter() {

From a390a19486087b5b2b66f176f113bfea0b431c58 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Thu, 2 May 2019 17:00:15 +0200
Subject: [PATCH 047/371] Update release notes, refs #1799, fixes #1738

---
 docs/pages/release_notes.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 2178f6ed15..4b5e9d4899 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,11 +16,15 @@ This is a {{ site.pmd.release_type }} release.
 
 ### Fixed Issues
 
+*   java-bestpractices
+    *   [#1738](https://github.com/pmd/pmd/issues/1738): \[java] MethodReturnsInternalArray does not work in inner classes
+
 ### API Changes
 
 ### External Contributions
 
 *   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1799](https://github.com/pmd/pmd/pull/1799): \[java] MethodReturnsInternalArray does not work in inner classes - Fixed #1738 - [Srinivasan Venkatachalam](https://github.com/Srini1993)
 
 {% endtocmaker %}
 

From 8dcda9e2a401bc35e8791f9869da2c4995d8b16d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Fri, 15 Mar 2019 12:14:01 +0100
Subject: [PATCH 048/371] Fix null parent

---
 .../src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
index a03c22221d..5e62402b98 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
@@ -83,6 +83,7 @@ public abstract class AbstractNode implements Node {
         }
         children[index] = child;
         child.jjtSetChildIndex(index);
+        child.jjtSetParent(this);
     }
 
     @Override

From 4ea3911b8d2053f4a27cf5f862c695e275e995ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Wed, 3 Apr 2019 14:48:48 +0200
Subject: [PATCH 049/371] Make AbstractNode.getXPathNodeName() abstract

---
 .../pmd/lang/ast/AbstractNode.java            | 21 ++-----------------
 .../pmd/lang/java/ast/CommentTest.java        |  4 ++++
 2 files changed, 6 insertions(+), 19 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
index 5e62402b98..1f056c05e1 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
@@ -5,11 +5,9 @@
 package net.sourceforge.pmd.lang.ast;
 
 import java.util.Objects;
-import java.util.logging.Logger;
 
 import org.apache.commons.lang3.ArrayUtils;
 
-import net.sourceforge.pmd.PMDVersion;
 import net.sourceforge.pmd.lang.dfa.DataFlowNode;
 
 /**
@@ -17,8 +15,6 @@ import net.sourceforge.pmd.lang.dfa.DataFlowNode;
  */
 public abstract class AbstractNode implements Node {
 
-    private static final Logger LOG = Logger.getLogger(AbstractNode.class.getName());
-
     protected Node parent;
     protected Node[] children;
     protected int childIndex;
@@ -266,21 +262,8 @@ public abstract class AbstractNode implements Node {
         }
     }
 
-    /**
-     * {@inheritDoc}
-     * <p>
-     * <p>This default implementation adds compatibility with the previous
-     * way to get the xpath node name, which used {@link Object#toString()}.
-     * <p>
-     * <p>Please override it. It may be removed in a future major version.
-     */
     @Override
-    // @Deprecated // FUTURE 7.0.0 make abstract
-    public String getXPathNodeName() {
-        LOG.warning("getXPathNodeName should be overriden in classes derived from AbstractNode. "
-            + "The implementation is provided for compatibility with existing implementors,"
-            + "but could be declared abstract as soon as release " + PMDVersion.getNextMajorRelease()
-            + ".");
-        return toString();
+    public String toString() {
+        return getXPathNodeName();
     }
 }
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/CommentTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/CommentTest.java
index 2c586d5a2f..7af699a499 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/CommentTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/CommentTest.java
@@ -100,6 +100,10 @@ public class CommentTest {
         Token t = new Token();
         t.image = comment;
         Comment node = new Comment(t) {
+            @Override
+            public String getXPathNodeName() {
+                return "DummyComment";
+            }
         };
         return node.getFilteredComment();
     }

From ef619af7c49da010f7d66fe3db455ac3b345abf2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 9 Apr 2019 20:19:54 +0200
Subject: [PATCH 050/371] Delegate text coordinates to the tokens

---
 .../main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java    | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
index 1f056c05e1..de64fb16e4 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AbstractNode.java
@@ -236,6 +236,8 @@ public abstract class AbstractNode implements Node {
 
     public void jjtSetLastToken(final GenericToken token) {
         this.lastToken = token;
+        this.endLine = token.getEndLine();
+        this.endColumn = token.getEndColumn();
     }
 
     @Override

From 518db3927b439af5662925b4b76b7217d5c115ed Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Thu, 2 May 2019 23:31:23 -0400
Subject: [PATCH 051/371] [plsql] Add support for BULK_ROWCOUNT,
 BULK_EXCEPTIONS

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 19b8548887..b27255848c 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1541,6 +1541,8 @@ ASTSimpleExpression SimpleExpression() :
                      | LOOKAHEAD({isKeyword("found")}) KEYWORD("FOUND")
                      | LOOKAHEAD({isKeyword("notfound")}) KEYWORD("NOTFOUND")
                      | LOOKAHEAD({isKeyword("rowcount")}) KEYWORD("ROWCOUNT")
+                     | LOOKAHEAD({isKeyword("bulk_rowcount")}) KEYWORD("BULK_ROWCOUNT")
+                     | LOOKAHEAD({isKeyword("bulk_exceptions")}) KEYWORD("BULK_EXCEPTIONS")
                      ) { sb.append('%').append(token.image); }
  |
     LOOKAHEAD(2)

From 85f222eaa7e67e77c5bd64554d75557664cebf6c Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Thu, 2 May 2019 23:32:17 -0400
Subject: [PATCH 052/371] [plsql] Add RETURNING support for INSERT

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index b27255848c..3ceb9e584e 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -2270,7 +2270,7 @@ ASTInsertStatement InsertStatement() :
 ASTSingleTableInsert SingleTableInsert() :
 {}
 {
-    InsertIntoClause() ( ValuesClause() | Subquery() )
+    InsertIntoClause() ( ValuesClause() [ ReturningClause() ] | Subquery() )
     { return jjtThis; }
 }
 

From b43032f5b9eaabc544b414d48d55a0f4405c43dd Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Thu, 2 May 2019 23:33:33 -0400
Subject: [PATCH 053/371] [plsql] Fix TrimExpression syntax

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 3ceb9e584e..a07f5f6df1 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -2906,9 +2906,9 @@ ASTTrimExpression TrimExpression() :
 {
   (
 	"(" { sb.append("(");}
-	 [ ( <LEADING> | <TRAILING> | <BOTH> ){ sb.append(" "); sb.append(token.toString()); }  ]
-	 [ simpleNode = StringExpression() { sb.append(" "); sb.append(simpleNode.getImage()); } ]
-	 ( <FROM>  )  { sb.append(token.image);}
+	 [ [ ( <LEADING> | <TRAILING> | <BOTH> ) { sb.append(" "); sb.append(token.toString()); }  ]
+	 [ <CHARACTER_LITERAL>  { sb.append(" ");  sb.append(token.image); } ]
+	 ( <FROM> ) { sb.append(token.image); } ]
 	 simpleNode = StringExpression() { sb.append(" "); sb.append(simpleNode.getImage()); }
 	")" { sb.append(")");}
   )

From 506b0aa8f7270d4b3c9533d02a01efe838ca2fe7 Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Thu, 2 May 2019 23:34:48 -0400
Subject: [PATCH 054/371] [plsql] Add ROWTYPE identifier support for INSERT

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index a07f5f6df1..77e2a25fc0 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -2284,7 +2284,7 @@ ASTInsertIntoClause InsertIntoClause() :
 ASTValuesClause ValuesClause() :
 {}
 {
-    <VALUES> "(" ( Expression() | <_DEFAULT> ) ( "," ( Expression() | <_DEFAULT> ) )* ")"
+    <VALUES> [ "(" ( Expression() | <_DEFAULT> ) ( "," ( Expression() | <_DEFAULT> ) )* ")" | <IDENTIFIER> ]
     { return jjtThis; }
 }
 ASTMultiTableInsert MultiTableInsert() :

From becc6ff2f5775488efbbdf62021b9aa26bf050cd Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 3 May 2019 11:51:08 +0200
Subject: [PATCH 055/371] Release notes: Fix PR ordering

---
 docs/pages/release_notes.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 053ac31b15..cb91b86773 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -25,8 +25,8 @@ This is a {{ site.pmd.release_type }} release.
 
 ### External Contributions
 
-*   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1799](https://github.com/pmd/pmd/pull/1799): \[java] MethodReturnsInternalArray does not work in inner classes - Fixed #1738 - [Srinivasan Venkatachalam](https://github.com/Srini1993)
+*   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
 
 {% endtocmaker %}
 

From eb37bc12c416e647d6e0ccd0de927601faf5db1b Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 3 May 2019 11:55:28 +0200
Subject: [PATCH 056/371] Updates release notes, fixes #1809, refs #1803

---
 docs/pages/release_notes.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index cb91b86773..c39992466f 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,6 +16,8 @@ This is a {{ site.pmd.release_type }} release.
 
 ### Fixed Issues
 
+*   dart
+    *   [#1809](https://github.com/pmd/pmd/issues/1809): \[dart] \[cpd] Parse error with escape sequences
 *   java-bestpractices
     *   [#1738](https://github.com/pmd/pmd/issues/1738): \[java] MethodReturnsInternalArray does not work in inner classes
 *   java-codestyle

From cd6be28f9bdea3e15b48c286b98afd8fa5c7184c Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 3 May 2019 12:27:47 +0200
Subject: [PATCH 057/371] Update release notes, refs #1802, fixes #1810

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index edf8ae5b63..2ca9bdc86e 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -45,6 +45,8 @@ Being based on a proper Antlr grammar, CPD can:
     *   [#1782](https://github.com/pmd/pmd/issues/1782): \[java] NoPackage: False Negative for enums
 *   java-design
     *   [#1760](https://github.com/pmd/pmd/issues/1760): \[java] UseObjectForClearerAPI flags private methods
+*   python
+    *   [#1810](https://github.com/pmd/pmd/issues/1810): \[python] \[cpd] Parse error when using Python 2 backticks
 
 ### API Changes
 
@@ -56,6 +58,7 @@ Being based on a proper Antlr grammar, CPD can:
 *   [#1761](https://github.com/pmd/pmd/pull/1761): \[dart] \[cpd] Added CPD support for Dart - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1776](https://github.com/pmd/pmd/pull/1776): \[java] Show more detailed message when can't resolve field type - [Andrey Fomin](https://github.com/andrey-fomin)
 *   [#1781](https://github.com/pmd/pmd/pull/1781): \[java] Location change in AssignmentToNonFinalStatic - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1802](https://github.com/pmd/pmd/pull/1802): \[python] \[cpd] Add support for Python 2 backticks - [Maikel Steneker](https://github.com/maikelsteneker)
 
 {% endtocmaker %}
 

From fe4ba1433a251104843b531f12ea169dee7459f9 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 3 May 2019 18:16:39 +0200
Subject: [PATCH 058/371] Add checker-qual dependency

---
 pmd-core/pom.xml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/pmd-core/pom.xml b/pmd-core/pom.xml
index c78aabfa37..9443265f3b 100644
--- a/pmd-core/pom.xml
+++ b/pmd-core/pom.xml
@@ -143,6 +143,12 @@
             <version>2.8.5</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.checkerframework</groupId>
+            <artifactId>checker-qual</artifactId>
+            <version>2.5.2</version>
+        </dependency>
+
 
         <dependency>
             <groupId>net.sourceforge.saxon</groupId>

From ccf99a4dc3bdd035717d18c6cfb5cde42a1931f5 Mon Sep 17 00:00:00 2001
From: Ivo Smid <ivo.smid@gmail.com>
Date: Mon, 22 Apr 2019 14:55:15 +0200
Subject: [PATCH 059/371] ProperLogger - make class-name configurable and
 requirement of static-final logger (deprecate LoggerIsNotStaticFinal)

---
 docs/pages/pmd/rules/java.md                  |   2 +-
 docs/pages/pmd/rules/java/errorprone.md       |  81 ++++++++------
 .../resources/category/java/errorprone.xml    |  82 ++++++++------
 .../java/rule/errorprone/xml/ProperLogger.xml | 101 +++++++++++++++++-
 4 files changed, 199 insertions(+), 67 deletions(-)

diff --git a/docs/pages/pmd/rules/java.md b/docs/pages/pmd/rules/java.md
index 80ca10856f..9f7e60c0e0 100644
--- a/docs/pages/pmd/rules/java.md
+++ b/docs/pages/pmd/rules/java.md
@@ -255,7 +255,7 @@ folder: pmd/rules
 *   [JumbledIncrementer](pmd_rules_java_errorprone.html#jumbledincrementer): Avoid jumbled loop incrementers - its usually a mistake, and is confusing even if intentional.
 *   [JUnitSpelling](pmd_rules_java_errorprone.html#junitspelling): Some JUnit framework methods are easy to misspell.
 *   [JUnitStaticSuite](pmd_rules_java_errorprone.html#junitstaticsuite): The suite() method in a JUnit test needs to be both public and static.
-*   [LoggerIsNotStaticFinal](pmd_rules_java_errorprone.html#loggerisnotstaticfinal): In most cases, the Logger reference can be declared as static and final.
+*   [LoggerIsNotStaticFinal](pmd_rules_java_errorprone.html#loggerisnotstaticfinal): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> In most cases, the Logger reference can be declared as static and final. This rule is deprecated. ...
 *   [MethodWithSameNameAsEnclosingClass](pmd_rules_java_errorprone.html#methodwithsamenameasenclosingclass): Non-constructor methods should not have the same name as the enclosing class.
 *   [MisplacedNullCheck](pmd_rules_java_errorprone.html#misplacednullcheck): The null check here is misplaced. If the variable is null a NullPointerException will be thrown.E...
 *   [MissingBreakInSwitch](pmd_rules_java_errorprone.html#missingbreakinswitch): Switch statements without break or return statements for each case optionmay indicate problematic...
diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index adb805ee8b..451e634512 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -245,7 +245,7 @@ for (int i = 0; i < 10; i++) {
 
 The method Object.finalize() is called by the garbage collector on an object when garbage collection determines
 that there are no more references to the object. It should not be invoked by application logic.
-            
+
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.AvoidCallingFinalizeRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/AvoidCallingFinalizeRule.java)
@@ -270,7 +270,7 @@ void foo() {
 
 **Priority:** Medium (3)
 
-Code should never throw NullPointerExceptions under normal circumstances.  A catch block may hide the 
+Code should never throw NullPointerExceptions under normal circumstances.  A catch block may hide the
 original error, causing other, more subtle problems later on.
 
 **This rule is defined by the following XPath expression:**
@@ -303,7 +303,7 @@ public class Foo {
 
 **Priority:** Medium (3)
 
-Catching Throwable errors is not recommended since its scope is very broad. It includes runtime issues such as 
+Catching Throwable errors is not recommended since its scope is very broad. It includes runtime issues such as
 OutOfMemoryError that should be exposed and managed separately.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.AvoidCatchingThrowableRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/AvoidCatchingThrowableRule.java)
@@ -464,8 +464,8 @@ public class A {
 
 **Priority:** Medium (3)
 
-It can be confusing to have a field name with the same name as a method. While this is permitted, 
-having information (field) and actions (method) is not clear naming. Developers versed in 
+It can be confusing to have a field name with the same name as a method. While this is permitted,
+having information (field) and actions (method) is not clear naming. Developers versed in
 Smalltalk often prefer this approach as the methods denote accessor methods.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.AvoidFieldNameMatchingMethodNameRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/AvoidFieldNameMatchingMethodNameRule.java)
@@ -764,9 +764,9 @@ boolean x = (y == Double.NaN);
 
 **Priority:** Medium (3)
 
-If a class is a bean, or is referenced by a bean directly or indirectly it needs to be serializable. 
-Member variables need to be marked as transient, static, or have accessor methods in the class. Marking 
-variables as transient is the safest and easiest modification. Accessor methods should follow the Java 
+If a class is a bean, or is referenced by a bean directly or indirectly it needs to be serializable.
+Member variables need to be marked as transient, static, or have accessor methods in the class. Marking
+variables as transient is the safest and easiest modification. Accessor methods should follow the Java
 naming conventions, i.e. for a variable named foo, getFoo() and setFoo() accessor methods should be provided.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.BeanMembersShouldSerializeRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/BeanMembersShouldSerializeRule.java)
@@ -1527,7 +1527,7 @@ public class MyActivity extends Activity {
 
 **Priority:** Medium Low (4)
 
-Throwing exceptions within a 'finally' block is confusing since they may mask other exceptions 
+Throwing exceptions within a 'finally' block is confusing since they may mask other exceptions
 or code defects.
 Note: This is a PMD implementation of the Lint4j rule &quot;A throw in a finally block&quot;
 
@@ -1623,8 +1623,8 @@ public class Count {
 
 **Priority:** Medium (3)
 
-Empty Catch Block finds instances where an exception is caught, but nothing is done.  
-In most circumstances, this swallows an exception which should either be acted on 
+Empty Catch Block finds instances where an exception is caught, but nothing is done.
+In most circumstances, this swallows an exception which should either be acted on
 or reported.
 
 **This rule is defined by the following XPath expression:**
@@ -1830,7 +1830,7 @@ public class Foo {
 
 **Priority:** Medium (3)
 
-An empty statement (or a semicolon by itself) that is not used as the sole body of a 'for' 
+An empty statement (or a semicolon by itself) that is not used as the sole body of a 'for'
 or 'while' loop is probably a bug.  It could also be a double semicolon, which has no purpose
 and should be removed.
 
@@ -1961,7 +1961,7 @@ public class Foo {
 
 **Priority:** Medium (3)
 
-Empty While Statement finds all instances where a while statement does nothing.  
+Empty While Statement finds all instances where a while statement does nothing.
 If it is a timing loop, then you should use Thread.sleep() for it; if it is
 a while loop that does a lot in the exit expression, rewrite it to make it clearer.
 
@@ -2109,7 +2109,7 @@ protected void finalize() {
 
 Methods named finalize() should not have parameters.  It is confusing and most likely an attempt to
 overload Object.finalize(). It will not be called by the VM.
-            
+
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
 
 **This rule is defined by the following XPath expression:**
@@ -2139,9 +2139,9 @@ public class Foo {
 
 **Priority:** Medium (3)
 
-When overriding the finalize(), the new method should be set as protected.  If made public, 
+When overriding the finalize(), the new method should be set as protected.  If made public,
 other classes may invoke it at inappropriate times.
-            
+
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
 
 **This rule is defined by the following XPath expression:**
@@ -2391,12 +2391,16 @@ public class Foo extends TestCase {
 
 ## LoggerIsNotStaticFinal
 
+<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f;">Deprecated</span> 
+
 **Since:** PMD 2.0
 
 **Priority:** Medium High (2)
 
 In most cases, the Logger reference can be declared as static and final.
 
+This rule is deprecated. The rule is replaced by {% rule java/errorprone/ProperLogger %}.
+
 **This rule is defined by the following XPath expression:**
 ``` xpath
 //VariableDeclarator
@@ -2850,16 +2854,26 @@ with the restriction that the logger needs to be passed into the constructor.
 
 **This rule is defined by the following XPath expression:**
 ``` xpath
-//ClassOrInterfaceBodyDeclaration[FieldDeclaration//ClassOrInterfaceType[@Image='Log']
- and
- not(FieldDeclaration[@Final='true'][@Static='true'][@Private='true'][.//VariableDeclaratorId[@Image=$staticLoggerName]]
- and
- //ArgumentList//ClassOrInterfaceType[@Image = ancestor::ClassOrInterfaceDeclaration/@Image or @Image = ancestor::EnumDeclaration/@Image])
- and
- not(FieldDeclaration[@Final='true'][@Private='true'][.//VariableDeclaratorId[@Image='log']]
- [count(.//VariableInitializer)=0]
- [ancestor::ClassOrInterfaceBody//StatementExpression[.//PrimaryExpression/descendant::*[@Image='log']][count(.//AllocationExpression)=0]]
- )]
+//ClassOrInterfaceBodyDeclaration[
+ FieldDeclaration//ClassOrInterfaceType[pmd-java:typeIs($loggerClass)]
+  and not (
+   (: check logger name :)
+   (
+    FieldDeclaration[$requireStaticFinalLogger][@Final=true()][@Static=true()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
+    |
+    FieldDeclaration[$requireStaticFinalLogger = false()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
+   )
+   and
+   (: in place initialization with method argument pointing to current class (even for Enums) :)
+   .//ArgumentList//ClassOrInterfaceType[@Image = ancestor::ClassOrInterfaceDeclaration/@Image or @Image = ancestor::EnumDeclaration/@Image]
+  )
+  and not (
+   (: final logger initialized inside constructor :)
+   FieldDeclaration[@Final=true()][@Private=true()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
+   [count(.//VariableInitializer)=0]
+   [ancestor::ClassOrInterfaceBody//StatementExpression[.//PrimaryExpression/descendant::*[@Image=$loggerName or @Image=$staticLoggerName]][count(.//AllocationExpression)=0]]
+  )
+]
 ```
 
 **Example(s):**
@@ -2877,7 +2891,10 @@ public class Foo {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|staticLoggerName|LOG|Name of the static Logger variable|no|
+|staticLoggerName|LOG|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> (Use 'loggerName' property) Name of the static Logger variable|no|
+|loggerName|LOG|Name of the Logger variable|no|
+|loggerClass|Log|Class name of the logger|no|
+|requireStaticFinalLogger|false|Static final logger is required|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -2888,7 +2905,9 @@ public class Foo {
 ``` xml
 <rule ref="category/java/errorprone.xml/ProperLogger">
     <properties>
-        <property name="staticLoggerName" value="LOG" />
+        <property name="loggerName" value="LOG" />
+        <property name="loggerClass" value="Log" />
+        <property name="requireStaticFinalLogger" value="false" />
     </properties>
 </rule>
 ```
@@ -3130,7 +3149,7 @@ new StringBuffer()      //  16
 new StringBuffer(6)     //  6
 new StringBuffer("hello world")  // 11 + 16 = 27
 new StringBuffer('A')   //  chr(A) = 65
-new StringBuffer("A")   //  1 + 16 = 17 
+new StringBuffer("A")   //  1 + 16 = 17
 
 new StringBuilder()     //  16
 new StringBuilder(6)    //  6
@@ -3285,7 +3304,7 @@ public void foo() {
 
 **Priority:** Medium (3)
 
-Test classes end with the suffix Test. Having a non-test class with that name is not a good practice, 
+Test classes end with the suffix Test. Having a non-test class with that name is not a good practice,
 since most people will assume it is a test case. Test classes have test methods named testXXX.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.TestClassWithoutTestCasesRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/TestClassWithoutTestCasesRule.java)
@@ -3663,7 +3682,7 @@ class Foo {
 
 **Priority:** Medium (3)
 
-In J2EE, the getClassLoader() method might not work as expected. Use 
+In J2EE, the getClassLoader() method might not work as expected. Use
 Thread.currentThread().getContextClassLoader() instead.
 
 **This rule is defined by the following XPath expression:**
diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml
index 23cfaefab8..5be2e93cb6 100644
--- a/pmd-java/src/main/resources/category/java/errorprone.xml
+++ b/pmd-java/src/main/resources/category/java/errorprone.xml
@@ -190,7 +190,7 @@ for (int i = 0; i < 10; i++) {
         <description>
 The method Object.finalize() is called by the garbage collector on an object when garbage collection determines
 that there are no more references to the object. It should not be invoked by application logic.
-            
+
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
         </description>
         <priority>3</priority>
@@ -211,7 +211,7 @@ void foo() {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#avoidcatchingnpe">
         <description>
-Code should never throw NullPointerExceptions under normal circumstances.  A catch block may hide the 
+Code should never throw NullPointerExceptions under normal circumstances.  A catch block may hide the
 original error, causing other, more subtle problems later on.
         </description>
         <priority>3</priority>
@@ -245,7 +245,7 @@ public class Foo {
           class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidCatchingThrowableRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#avoidcatchingthrowable">
         <description>
-Catching Throwable errors is not recommended since its scope is very broad. It includes runtime issues such as 
+Catching Throwable errors is not recommended since its scope is very broad. It includes runtime issues such as
 OutOfMemoryError that should be exposed and managed separately.
         </description>
         <priority>3</priority>
@@ -372,8 +372,8 @@ public class A {
           class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidFieldNameMatchingMethodNameRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#avoidfieldnamematchingmethodname">
         <description>
-It can be confusing to have a field name with the same name as a method. While this is permitted, 
-having information (field) and actions (method) is not clear naming. Developers versed in 
+It can be confusing to have a field name with the same name as a method. While this is permitted,
+having information (field) and actions (method) is not clear naming. Developers versed in
 Smalltalk often prefer this approach as the methods denote accessor methods.
         </description>
         <priority>3</priority>
@@ -634,9 +634,9 @@ boolean x = (y == Double.NaN);
           class="net.sourceforge.pmd.lang.java.rule.errorprone.BeanMembersShouldSerializeRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#beanmembersshouldserialize">
         <description>
-If a class is a bean, or is referenced by a bean directly or indirectly it needs to be serializable. 
-Member variables need to be marked as transient, static, or have accessor methods in the class. Marking 
-variables as transient is the safest and easiest modification. Accessor methods should follow the Java 
+If a class is a bean, or is referenced by a bean directly or indirectly it needs to be serializable.
+Member variables need to be marked as transient, static, or have accessor methods in the class. Marking
+variables as transient is the safest and easiest modification. Accessor methods should follow the Java
 naming conventions, i.e. for a variable named foo, getFoo() and setFoo() accessor methods should be provided.
         </description>
         <priority>3</priority>
@@ -1324,7 +1324,7 @@ public class MyActivity extends Activity {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#donotthrowexceptioninfinally">
         <description>
-Throwing exceptions within a 'finally' block is confusing since they may mask other exceptions 
+Throwing exceptions within a 'finally' block is confusing since they may mask other exceptions
 or code defects.
 Note: This is a PMD implementation of the Lint4j rule "A throw in a finally block"
         </description>
@@ -1415,8 +1415,8 @@ public class Count {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#emptycatchblock">
         <description>
-Empty Catch Block finds instances where an exception is caught, but nothing is done.  
-In most circumstances, this swallows an exception which should either be acted on 
+Empty Catch Block finds instances where an exception is caught, but nothing is done.
+In most circumstances, this swallows an exception which should either be acted on
 or reported.
         </description>
         <priority>3</priority>
@@ -1611,7 +1611,7 @@ public class Foo {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#emptystatementnotinloop">
         <description>
-An empty statement (or a semicolon by itself) that is not used as the sole body of a 'for' 
+An empty statement (or a semicolon by itself) that is not used as the sole body of a 'for'
 or 'while' loop is probably a bug.  It could also be a double semicolon, which has no purpose
 and should be removed.
         </description>
@@ -1742,7 +1742,7 @@ public class Foo {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#emptywhilestmt">
         <description>
-Empty While Statement finds all instances where a while statement does nothing.  
+Empty While Statement finds all instances where a while statement does nothing.
 If it is a timing loop, then you should use Thread.sleep() for it; if it is
 a while loop that does a lot in the exit expression, rewrite it to make it clearer.
         </description>
@@ -1900,7 +1900,7 @@ protected void finalize() {
         <description>
 Methods named finalize() should not have parameters.  It is confusing and most likely an attempt to
 overload Object.finalize(). It will not be called by the VM.
-            
+
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
         </description>
         <priority>3</priority>
@@ -1932,9 +1932,9 @@ public class Foo {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#finalizeshouldbeprotected">
         <description>
-When overriding the finalize(), the new method should be set as protected.  If made public, 
+When overriding the finalize(), the new method should be set as protected.  If made public,
 other classes may invoke it at inappropriate times.
-            
+
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
         </description>
         <priority>3</priority>
@@ -2180,9 +2180,12 @@ public class Foo extends TestCase {
           since="2.0"
           message="The Logger variable declaration does not contain the static and final modifiers"
           class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#loggerisnotstaticfinal">
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#loggerisnotstaticfinal"
+          deprecated="true">
         <description>
 In most cases, the Logger reference can be declared as static and final.
+
+This rule is deprecated. The rule is replaced by {% rule java/errorprone/ProperLogger %}.
         </description>
         <priority>2</priority>
         <properties>
@@ -2625,7 +2628,8 @@ class Foo{
           since="3.3"
           message="Logger should be defined private static final and have the correct class"
           class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#properlogger">
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#properlogger"
+          typeResolution="true">
         <description>
 A logger should normally be defined private static final and be associated with the correct class.
 Private final Log log; is also allowed for rare cases where loggers need to be passed around,
@@ -2633,23 +2637,37 @@ with the restriction that the logger needs to be passed into the constructor.
         </description>
         <priority>3</priority>
         <properties>
+            <property name="version" value="2.0"/>
             <property name="xpath">
                 <value>
 <![CDATA[
-//ClassOrInterfaceBodyDeclaration[FieldDeclaration//ClassOrInterfaceType[@Image='Log']
- and
- not(FieldDeclaration[@Final='true'][@Static='true'][@Private='true'][.//VariableDeclaratorId[@Image=$staticLoggerName]]
- and
- //ArgumentList//ClassOrInterfaceType[@Image = ancestor::ClassOrInterfaceDeclaration/@Image or @Image = ancestor::EnumDeclaration/@Image])
- and
- not(FieldDeclaration[@Final='true'][@Private='true'][.//VariableDeclaratorId[@Image='log']]
- [count(.//VariableInitializer)=0]
- [ancestor::ClassOrInterfaceBody//StatementExpression[.//PrimaryExpression/descendant::*[@Image='log']][count(.//AllocationExpression)=0]]
- )]
+//ClassOrInterfaceBodyDeclaration[
+ FieldDeclaration//ClassOrInterfaceType[pmd-java:typeIs($loggerClass)]
+  and not (
+   (: check logger name :)
+   (
+    FieldDeclaration[$requireStaticFinalLogger][@Final=true()][@Static=true()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
+    |
+    FieldDeclaration[$requireStaticFinalLogger = false()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
+   )
+   and
+   (: in place initialization with method argument pointing to current class (even for Enums) :)
+   .//ArgumentList//ClassOrInterfaceType[@Image = ancestor::ClassOrInterfaceDeclaration/@Image or @Image = ancestor::EnumDeclaration/@Image]
+  )
+  and not (
+   (: final logger initialized inside constructor :)
+   FieldDeclaration[@Final=true()][@Private=true()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
+   [count(.//VariableInitializer)=0]
+   [ancestor::ClassOrInterfaceBody//StatementExpression[.//PrimaryExpression/descendant::*[@Image=$loggerName or @Image=$staticLoggerName]][count(.//AllocationExpression)=0]]
+  )
+]
 ]]>
                 </value>
             </property>
-            <property name="staticLoggerName" type="String" description="Name of the static Logger variable" value="LOG"/>
+            <property name="staticLoggerName" type="String" description="deprecated!(Use 'loggerName' property) Name of the static Logger variable" value="LOG"/>
+            <property name="loggerName" type="String" description="Name of the Logger variable" value="LOG"/>
+            <property name="loggerClass" type="String" description="Class name of the logger" value="Log"/>
+            <property name="requireStaticFinalLogger" type="Boolean" description="Static final logger is required" value="false"/>
         </properties>
         <example>
  <![CDATA[
@@ -2896,7 +2914,7 @@ new StringBuffer()      //  16
 new StringBuffer(6)     //  6
 new StringBuffer("hello world")  // 11 + 16 = 27
 new StringBuffer('A')   //  chr(A) = 65
-new StringBuffer("A")   //  1 + 16 = 17 
+new StringBuffer("A")   //  1 + 16 = 17
 
 new StringBuilder()     //  16
 new StringBuilder(6)    //  6
@@ -3044,7 +3062,7 @@ public void foo() {
           class="net.sourceforge.pmd.lang.java.rule.errorprone.TestClassWithoutTestCasesRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#testclasswithouttestcases">
         <description>
-Test classes end with the suffix Test. Having a non-test class with that name is not a good practice, 
+Test classes end with the suffix Test. Having a non-test class with that name is not a good practice,
 since most people will assume it is a test case. Test classes have test methods named testXXX.
         </description>
         <priority>3</priority>
@@ -3415,7 +3433,7 @@ class Foo {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#useproperclassloader">
         <description>
-In J2EE, the getClassLoader() method might not work as expected. Use 
+In J2EE, the getClassLoader() method might not work as expected. Use
 Thread.currentThread().getContextClassLoader() instead.
         </description>
         <priority>3</priority>
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ProperLogger.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ProperLogger.xml
index 73f92b6747..4d396a3632 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ProperLogger.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ProperLogger.xml
@@ -29,6 +29,7 @@ public class Foo {
         <description><![CDATA[
 Ok, special case
         ]]></description>
+        <rule-property name="loggerName">log</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 public class Foo {
@@ -55,18 +56,19 @@ public enum Foo {
         <description><![CDATA[
 bug 1626232, a separate variable initialization should not confuse the rule
         ]]></description>
+        <rule-property name="loggerName">log</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 public class Foo {
     private String bar = "";
     private final Log log;
-    Foo(Log log) {
-        this.log = log;
+    Foo(Log log1) {
+        this.log = log1;
     }
 }
  ]]>    </code>
     </test-code>
-	    <test-code>
+	<test-code>
         <description><![CDATA[
 Enums shoud be accepted for declaration
         ]]></description>
@@ -87,6 +89,99 @@ bug 1626232, extra loggers with different names are not allowed by default (use
 public class Foo {
     private static final Log LOG = LogFactory.getLog(Foo.class);
     private static final Log LOG2 = LogFactory.getLog(Foo.class + ".foo");
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Custom logger-class with invalid logger variable name
+        ]]></description>
+        <rule-property name="loggerClass">MyLog</rule-property>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    private static final MyLog INVALID_LOG_NAME = LogFactory.getLog(Foo.class);
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Public logger
+        ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public static final Log LOG = LogFactory.getLog(Foo.class);
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Public logger when static final required
+        ]]></description>
+        <rule-property name="requireStaticFinalLogger">true</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public static final Log LOG = LogFactory.getLog(Foo.class);
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Logger initialized as String constant from class name
+        ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    Log LOG = LogFactory.getLog(Foo.class.getName());
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Package-protected logger when static final is not required
+        ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    Log LOG = LogFactory.getLog(Foo.class);
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Package-protected logger when static final is required
+        ]]></description>
+        <rule-property name="requireStaticFinalLogger">true</rule-property>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    Log LOG = LogFactory.getLog(Foo.class);
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Check type resolution of logger
+        ]]></description>
+        <rule-property name="loggerClass">org.slf4j.Logger</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(Foo.class);
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Check type resolution of logger with invalid logger specified
+        ]]></description>
+        <rule-property name="loggerClass">org.slf4j.Logger</rule-property>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(Bar.class);
 }
  ]]>    </code>
     </test-code>

From bf709546982e7e6941403bff72d9ff16edcd2f24 Mon Sep 17 00:00:00 2001
From: BBG <djydewang@gmail.com>
Date: Sun, 5 May 2019 14:59:25 +0800
Subject: [PATCH 060/371] [ci] create a corresponding travis remote branch
 locally

---
 .travis/build-deploy.sh | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/.travis/build-deploy.sh b/.travis/build-deploy.sh
index f5a97b19a2..ece8029a7b 100755
--- a/.travis/build-deploy.sh
+++ b/.travis/build-deploy.sh
@@ -61,9 +61,11 @@ elif travis_isPullRequest; then
     ./mvnw verify $MVN_BUILD_FLAGS
 	(
             set +e
-            # if ${TRAVIS_BRANCH} is master, the script will fail since there is local master branch
-            git checkout -b ${TRAVIS_BRANCH} origin/${TRAVIS_BRANCH}
-            git checkout -qf FETCH_HEAD
+            # Create a corresponding remote branch locally
+            if ! git show-ref --verify --quiet refs/heads/${TRAVIS_BRANCH}; then
+                git fetch --no-tags origin +refs/heads/${TRAVIS_BRANCH}:refs/remotes/origin/${TRAVIS_BRANCH}
+                git branch ${TRAVIS_BRANCH} origin/${TRAVIS_BRANCH}
+            fi
             log_info "Running danger"
             bundle exec danger --verbose
 	)

From 1a6a19aaaa3365b692863ac76724827a8efb04b1 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Wed, 8 May 2019 11:56:02 +0200
Subject: [PATCH 061/371] Added test case for failing Matlab file.

---
 .../sourceforge/pmd/cpd/MatlabTokenizerTest.java   | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
index 50fdb1832e..88f30ecf20 100644
--- a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
+++ b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
@@ -54,4 +54,18 @@ public class MatlabTokenizerTest extends AbstractTokenizerTest {
         TokenEntry.getEOF();
         assertEquals(2, tokens.size()); // 2 tokens: "end" + EOF
     }
+
+    @Test
+    public void testComments() throws IOException {
+        SourceCode sourceCode = new SourceCode(new SourceCode.StringCodeLoader("classdef LC" + PMD.EOL
+                + "    methods" + PMD.EOL
+                + "        function [obj, c,t, s ] = Classification( obj,m,t, cm )%#codegen" + PMD.EOL
+                + "        end" + PMD.EOL
+                + "    end" + PMD.EOL
+                + "end"));
+        Tokens tokens = new Tokens();
+        tokenizer.tokenize(sourceCode, tokens); // should not result in parse error
+        TokenEntry.getEOF();
+        assertEquals(28, tokens.size());
+    }
 }

From 735b5305acc90a25ef96fd99c2fbbadadf8f33ad Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Wed, 8 May 2019 11:57:31 +0200
Subject: [PATCH 062/371] Fixed Matlab parsing issue.

---
 pmd-matlab/etc/grammar/matlab.jj | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pmd-matlab/etc/grammar/matlab.jj b/pmd-matlab/etc/grammar/matlab.jj
index 6f61dd0d42..ae971c0cff 100644
--- a/pmd-matlab/etc/grammar/matlab.jj
+++ b/pmd-matlab/etc/grammar/matlab.jj
@@ -41,10 +41,10 @@ PARSER_END(MatlabParser)
   "\n" : DEFAULT
 }
 
-MORE:
+<DEFAULT, TRANSPOSE> MORE:
 { "%{": IN_COMMENT }
 
-SPECIAL_TOKEN:
+<DEFAULT, TRANSPOSE> SPECIAL_TOKEN:
 { <SINGLE_LINE_COMMENT: "%"(~["\n","\r"])* ("\n"|"\r"|"\r\n")?> }
 
 <IN_COMMENT> SPECIAL_TOKEN:

From 8ae6563fff7871bec37d21d806535668ba8c599f Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Wed, 8 May 2019 14:50:51 -0400
Subject: [PATCH 063/371] Fix ApexDoc handling with inner classes

---
 .../pmd/lang/apex/ast/ApexTreeBuilder.java    | 94 ++++++++++++-------
 .../apex/rule/documentation/xml/ApexDoc.xml   | 24 +++++
 2 files changed, 85 insertions(+), 33 deletions(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ApexTreeBuilder.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ApexTreeBuilder.java
index fc44166cb6..75e383bebb 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ApexTreeBuilder.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ApexTreeBuilder.java
@@ -9,7 +9,6 @@ import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.ListIterator;
 import java.util.Map;
 import java.util.Stack;
 
@@ -221,17 +220,17 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
 
     // The Apex nodes with children to build.
     private Stack<AstNode> parents = new Stack<>();
-    
+
     private AdditionalPassScope scope = new AdditionalPassScope(Errors.createErrors());
 
     private final SourceCodePositioner sourceCodePositioner;
     private final String sourceCode;
-    private ListIterator<TokenLocation> apexDocTokenLocations;
+    private List<ApexDocTokenLocation> apexDocTokenLocations;
 
     public ApexTreeBuilder(String sourceCode) {
         this.sourceCode = sourceCode;
         sourceCodePositioner = new SourceCodePositioner(sourceCode);
-        apexDocTokenLocations = buildApexDocTokenLocations(sourceCode).listIterator();
+        apexDocTokenLocations = buildApexDocTokenLocations(sourceCode);
     }
 
     static <T extends AstNode> AbstractApexNode<T> createNodeAdapter(T node) {
@@ -279,11 +278,17 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
     private void buildFormalComment(AstNode node) {
         if (parents.peek() == node) {
             ApexNode<?> parent = (ApexNode<?>) nodes.peek();
-            TokenLocation tokenLocation = getApexDocTokenLocation(getApexDocIndex(parent));
+            ApexDocTokenLocation tokenLocation = getApexDocTokenLocation(getApexDocIndex(parent));
             if (tokenLocation != null) {
                 ASTFormalComment comment = new ASTFormalComment(tokenLocation.token);
                 comment.calculateLineNumbers(sourceCodePositioner, tokenLocation.index,
                         tokenLocation.index + tokenLocation.token.length());
+
+                // move existing nodes so that we can insert the comment as the first node
+                for (int i = parent.jjtGetNumChildren(); i > 0; i--) {
+                    parent.jjtAddChild(parent.jjtGetChild(i - 1), i);
+                }
+
                 parent.jjtAddChild(comment, 0);
                 comment.jjtSetParent(parent);
             }
@@ -291,43 +296,50 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
     }
 
     private int getApexDocIndex(ApexNode<?> node) {
-        final int index = node.getNode().getLoc().getStartIndex();
+        ASTAnnotation annotation = node.getFirstDescendantOfType(ASTAnnotation.class);
+        ApexNode<?> firstNode = annotation == null ? node : annotation;
+        final int index = firstNode.getNode().getLoc().getStartIndex();
         return sourceCode.lastIndexOf('\n', index);
     }
 
-    private TokenLocation getApexDocTokenLocation(int index) {
-        TokenLocation last = null;
-        while (apexDocTokenLocations.hasNext()) {
-            final TokenLocation location = apexDocTokenLocations.next();
-            if (location.index >= index) {
-                // rollback, the next token corresponds to a different node
-                apexDocTokenLocations.previous();
-                
-                if (last != null) {
-                    return last;
+    private ApexDocTokenLocation getApexDocTokenLocation(int index) {
+        for (ApexDocTokenLocation loc : apexDocTokenLocations) {
+            if (index >= loc.targetStart) {
+                if (index <= loc.targetEnd) {
+                    return loc;
                 }
-                return null;
+            } else {
+                // remaining tokens start after the index we are looking for
+                break;
             }
-            last = location;
         }
-        return last;
+        return null;
     }
 
-    private static List<TokenLocation> buildApexDocTokenLocations(String source) {
+    private static List<ApexDocTokenLocation> buildApexDocTokenLocations(String source) {
         ANTLRStringStream stream = new ANTLRStringStream(source);
         ApexLexer lexer = new ApexLexer(stream);
 
-        ArrayList<TokenLocation> tokenLocations = new ArrayList<>();
+        ArrayList<ApexDocTokenLocation> tokenLocations = new ArrayList<>();
         int startIndex = 0;
         Token token = lexer.nextToken();
         int endIndex = lexer.getCharIndex();
+
+        String currentToken = null;
+        int currentIndex = 0;
+        int currentTargetStart = 0;
+
         while (token.getType() != Token.EOF) {
             if (token.getType() == ApexLexer.BLOCK_COMMENT) {
-
                 // Filter only block comments starting with "/**"
                 if (token.getText().startsWith("/**")) {
-                    tokenLocations.add(new TokenLocation(startIndex, token.getText()));
+                    currentToken = token.getText();
+                    currentIndex = startIndex;
+                    currentTargetStart = lexer.getCharIndex();
                 }
+            } else if (currentToken != null && token.getType() != ApexLexer.WS) {
+                tokenLocations.add(new ApexDocTokenLocation(currentIndex, currentToken, currentTargetStart, lexer.getCharIndex()));
+                currentToken = null;
             }
             // TODO : Check other non-doc comments and tokens of type ApexLexer.EOL_COMMENT for "NOPMD" suppressions
             startIndex = endIndex;
@@ -338,13 +350,17 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
         return tokenLocations;
     }
 
-    private static class TokenLocation {
+    private static class ApexDocTokenLocation {
         int index;
         String token;
+        int targetStart;
+        int targetEnd;
 
-        TokenLocation(int index, String token) {
+        ApexDocTokenLocation(int index, String token, int targetStart, int targetEnd) {
             this.index = index;
             this.token = token;
+            this.targetStart = targetStart;
+            this.targetEnd = targetEnd;
         }
     }
 
@@ -364,9 +380,12 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
 
     @Override
     public boolean visit(UserInterface node, AdditionalPassScope scope) {
-        final boolean ret = visit(node);
+        return visit(node);
+    }
+
+    @Override
+    public void visitEnd(UserInterface node, AdditionalPassScope scope) {
         buildFormalComment(node);
-        return ret;
     }
 
     @Override
@@ -651,9 +670,12 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
 
     @Override
     public boolean visit(Property node, AdditionalPassScope scope) {
-        final boolean ret = visit(node);
+        return visit(node);
+    }
+
+    @Override
+    public void visitEnd(Property node, AdditionalPassScope scope) {
         buildFormalComment(node);
-        return ret;
     }
 
     @Override
@@ -718,16 +740,22 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
 
     @Override
     public boolean visit(UserClass node, AdditionalPassScope scope) {
-        final boolean ret = visit(node);
+        return visit(node);
+    }
+
+    @Override
+    public void visitEnd(UserClass node, AdditionalPassScope scope) {
         buildFormalComment(node);
-        return ret;
     }
 
     @Override
     public boolean visit(Method node, AdditionalPassScope scope) {
-        final boolean ret = visit(node);
+        return visit(node);
+    }
+
+    @Override
+    public void visitEnd(Method node, AdditionalPassScope scope) {
         buildFormalComment(node);
-        return ret;
     }
 
     @Override
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/documentation/xml/ApexDoc.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/documentation/xml/ApexDoc.xml
index 0e890cd274..8258932d81 100644
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/documentation/xml/ApexDoc.xml
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/documentation/xml/ApexDoc.xml
@@ -398,4 +398,28 @@ public class Foo {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>correct comments for constructor and inner class</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+/**
+ * @description Foo
+ */
+public class Foo {
+
+    /**
+     * @description Foo
+     */
+    public Foo() {
+    }
+
+    /**
+     * @description Bar
+     */
+    public class Bar {
+    }
+}
+        ]]></code>
+    </test-code>
+
 </test-data>

From c5b0c8c17aa56d5f2d585bfaa882489b9b9a83b7 Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Thu, 9 May 2019 15:04:46 -0400
Subject: [PATCH 064/371] Add configurable naming convention rules

---
 .../pmd/lang/apex/ast/ASTUserEnum.java        |  12 +-
 .../AbstractRegexNamingConventionsRule.java   |  33 ++++
 .../ClassRegexNamingConventionsRule.java      |  79 ++++++++++
 .../FieldRegexNamingConventionsRule.java      |  67 ++++++++
 ...alParameterRegexNamingConventionsRule.java |  47 ++++++
 ...calVariableRegexNamingConventionsRule.java |  48 ++++++
 .../MethodRegexNamingConventionsRule.java     |  74 +++++++++
 .../PropertyRegexNamingConventionsRule.java   |  52 ++++++
 .../resources/category/apex/codestyle.xml     | 148 ++++++++++++++++++
 .../ClassRegexNamingConventionsTest.java      |  11 ++
 .../FieldRegexNamingConventionsTest.java      |  11 ++
 ...alParameterRegexNamingConventionsTest.java |  11 ++
 ...calVariableRegexNamingConventionsTest.java |  11 ++
 .../MethodRegexNamingConventionsTest.java     |  11 ++
 .../PropertyRegexNamingConventionsTest.java   |  11 ++
 .../xml/ClassRegexNamingConventions.xml       | 146 +++++++++++++++++
 .../xml/FieldRegexNamingConventions.xml       | 126 +++++++++++++++
 .../FormalParameterRegexNamingConventions.xml |  60 +++++++
 .../LocalVariableRegexNamingConventions.xml   |  72 +++++++++
 .../xml/MethodRegexNamingConventions.xml      | 122 +++++++++++++++
 .../xml/PropertyRegexNamingConventions.xml    |  74 +++++++++
 21 files changed, 1225 insertions(+), 1 deletion(-)
 create mode 100644 pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
 create mode 100644 pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
 create mode 100644 pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
 create mode 100644 pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
 create mode 100644 pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java
 create mode 100644 pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
 create mode 100644 pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java
 create mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsTest.java
 create mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsTest.java
 create mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsTest.java
 create mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsTest.java
 create mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsTest.java
 create mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsTest.java
 create mode 100644 pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml
 create mode 100644 pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml
 create mode 100644 pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterRegexNamingConventions.xml
 create mode 100644 pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/LocalVariableRegexNamingConventions.xml
 create mode 100644 pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml
 create mode 100644 pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/PropertyRegexNamingConventions.xml

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnum.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnum.java
index 7249cba5ce..fade85f7d5 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnum.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnum.java
@@ -4,6 +4,9 @@
 
 package net.sourceforge.pmd.lang.apex.ast;
 
+import java.lang.reflect.Field;
+
+import apex.jorje.data.Identifier;
 import apex.jorje.semantic.ast.compilation.UserEnum;
 
 public class ASTUserEnum extends ApexRootNode<UserEnum> {
@@ -19,7 +22,14 @@ public class ASTUserEnum extends ApexRootNode<UserEnum> {
 
     @Override
     public String getImage() {
-        return node.getClass().getName();
+        try {
+            Field field = node.getClass().getDeclaredField("name");
+            field.setAccessible(true);
+            Identifier name = (Identifier) field.get(node);
+            return name.getValue();
+        } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
+            throw new RuntimeException(e);
+        }
     }
 
     public ASTModifierNode getModifiers() {
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
new file mode 100644
index 0000000000..1aae91a0e6
--- /dev/null
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
@@ -0,0 +1,33 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import static net.sourceforge.pmd.properties.PropertyFactory.regexProperty;
+
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import net.sourceforge.pmd.lang.apex.ast.ApexNode;
+import net.sourceforge.pmd.lang.apex.rule.AbstractApexRule;
+import net.sourceforge.pmd.properties.PropertyBuilder;
+import net.sourceforge.pmd.properties.PropertyDescriptor;
+
+public abstract class AbstractRegexNamingConventionsRule extends AbstractApexRule {
+    abstract String displayName(String name);
+
+    protected void checkMatches(PropertyDescriptor<Pattern> propertyDescriptor, ApexNode<?> node, Object data) {
+        Pattern regex = getProperty(propertyDescriptor);
+        String name = node.getImage();
+        if (!regex.matcher(name).matches()) {
+            String displayName = displayName(propertyDescriptor.name());
+            addViolation(data, node, new Object[] { displayName, name, regex.toString() });
+        }
+    }
+
+    protected static PropertyBuilder.RegexPropertyBuilder prop(String name, String displayName, Map<String, String> descriptorToDisplayNames) {
+        descriptorToDisplayNames.put(name, displayName);
+        return regexProperty(name).desc("Regex which applies to " + displayName + " names");
+    }
+}
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
new file mode 100644
index 0000000000..6795fd99d7
--- /dev/null
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
@@ -0,0 +1,79 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import net.sourceforge.pmd.lang.apex.ast.ASTUserClass;
+import net.sourceforge.pmd.lang.apex.ast.ASTUserEnum;
+import net.sourceforge.pmd.lang.apex.ast.ASTUserInterface;
+import net.sourceforge.pmd.properties.PropertyDescriptor;
+
+public class ClassRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
+    private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
+
+    private static final String TITLE_CASE = "[a-zA-Z0-9]+";
+
+    private static final PropertyDescriptor<Pattern> TEST_CLASS_REGEX = prop("testClassPattern", "test class",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(TITLE_CASE).build();
+    
+    private static final PropertyDescriptor<Pattern> ABSTRACT_CLASS_REGEX = prop("abstractClassPattern", "abstract class",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(TITLE_CASE).build();
+    
+    private static final PropertyDescriptor<Pattern> CLASS_REGEX = prop("classPattern", "class",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(TITLE_CASE).build();
+    
+    private static final PropertyDescriptor<Pattern> INTERFACE_REGEX = prop("interfacePattern", "interface",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(TITLE_CASE).build();
+    
+    private static final PropertyDescriptor<Pattern> ENUM_REGEX = prop("enumPattern", "enum",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(TITLE_CASE).build();
+
+    public ClassRegexNamingConventionsRule() {
+        definePropertyDescriptor(TEST_CLASS_REGEX);
+        definePropertyDescriptor(ABSTRACT_CLASS_REGEX);
+        definePropertyDescriptor(CLASS_REGEX);
+        definePropertyDescriptor(INTERFACE_REGEX);
+        definePropertyDescriptor(ENUM_REGEX);
+
+        addRuleChainVisit(ASTUserClass.class);
+        addRuleChainVisit(ASTUserInterface.class);
+        addRuleChainVisit(ASTUserEnum.class);
+    }
+
+    @Override
+    public Object visit(ASTUserClass node, Object data) {
+        if (node.getModifiers().isTest()) {
+            checkMatches(TEST_CLASS_REGEX, node, data);
+        } else if (node.getModifiers().isAbstract()) {
+            checkMatches(ABSTRACT_CLASS_REGEX, node, data);
+        } else {
+            checkMatches(CLASS_REGEX, node, data);
+        }
+
+        return data;
+    }
+
+    @Override
+    public Object visit(ASTUserInterface node, Object data) {
+        checkMatches(INTERFACE_REGEX, node, data);
+
+        return data;
+    }
+
+    @Override
+    public Object visit(ASTUserEnum node, Object data) {
+        checkMatches(ENUM_REGEX, node, data);
+
+        return data;
+    }
+
+    @Override
+    protected String displayName(String name) {
+        return DESCRIPTOR_TO_DISPLAY_NAME.get(name);
+    }
+}
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
new file mode 100644
index 0000000000..d69389fdf5
--- /dev/null
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
@@ -0,0 +1,67 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import net.sourceforge.pmd.lang.apex.ast.ASTField;
+import net.sourceforge.pmd.lang.apex.ast.ASTModifierNode;
+import net.sourceforge.pmd.lang.apex.ast.ASTProperty;
+import net.sourceforge.pmd.properties.PropertyDescriptor;
+
+public class FieldRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
+    private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
+
+    private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
+
+    private static final PropertyDescriptor<Pattern> CONSTANT_REGEX = prop("constantPattern", "constant field",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    private static final PropertyDescriptor<Pattern> FINAL_REGEX = prop("finalPattern", "final field",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    private static final PropertyDescriptor<Pattern> STATIC_REGEX = prop("staticPattern", "static field",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    private static final PropertyDescriptor<Pattern> INSTANCE_REGEX = prop("instancePattern", "instance field",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    public FieldRegexNamingConventionsRule() {
+        definePropertyDescriptor(CONSTANT_REGEX);
+        definePropertyDescriptor(FINAL_REGEX);
+        definePropertyDescriptor(STATIC_REGEX);
+        definePropertyDescriptor(INSTANCE_REGEX);
+
+        addRuleChainVisit(ASTField.class);
+    }
+
+    @Override
+    public Object visit(ASTField node, Object data) {
+        if (node.getFirstParentOfType(ASTProperty.class) != null) {
+            return data;
+        }
+
+        ASTModifierNode modifiers = node.getModifiers();
+
+        if (modifiers.isFinal() && modifiers.isStatic()) {
+            checkMatches(CONSTANT_REGEX, node, data);
+        } else if (modifiers.isFinal()) {
+            checkMatches(FINAL_REGEX, node, data);
+        } else if (modifiers.isStatic()) {
+            checkMatches(STATIC_REGEX, node, data);
+        } else {
+            checkMatches(INSTANCE_REGEX, node, data);
+        }
+
+        return data;
+    }
+
+    @Override
+    protected String displayName(String name) {
+        return DESCRIPTOR_TO_DISPLAY_NAME.get(name);
+    }
+}
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
new file mode 100644
index 0000000000..8b0392cd92
--- /dev/null
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
@@ -0,0 +1,47 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import net.sourceforge.pmd.lang.apex.ast.ASTParameter;
+import net.sourceforge.pmd.properties.PropertyDescriptor;
+
+public class FormalParameterRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
+    private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
+
+    private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
+
+    private static final PropertyDescriptor<Pattern> FINAL_METHOD_PARAMETER_REGEX = prop("finalMethodParameterPattern", "final method parameter",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    private static final PropertyDescriptor<Pattern> METHOD_PARAMETER_REGEX = prop("methodParameterPattern", "method parameter",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    public FormalParameterRegexNamingConventionsRule() {
+        definePropertyDescriptor(FINAL_METHOD_PARAMETER_REGEX);
+        definePropertyDescriptor(METHOD_PARAMETER_REGEX);
+
+        addRuleChainVisit(ASTParameter.class);
+    }
+
+    @Override
+    public Object visit(ASTParameter node, Object data) {
+        if (node.getModifiers().isFinal()) {
+            checkMatches(FINAL_METHOD_PARAMETER_REGEX, node, data);
+        } else {
+            checkMatches(METHOD_PARAMETER_REGEX, node, data);
+        }
+
+        return data;
+    }
+
+    @Override
+    protected String displayName(String name) {
+        return DESCRIPTOR_TO_DISPLAY_NAME.get(name);
+    }
+}
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java
new file mode 100644
index 0000000000..f38a175451
--- /dev/null
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java
@@ -0,0 +1,48 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import net.sourceforge.pmd.lang.apex.ast.ASTVariableDeclaration;
+import net.sourceforge.pmd.lang.apex.ast.ASTVariableDeclarationStatements;
+import net.sourceforge.pmd.properties.PropertyDescriptor;
+
+public class LocalVariableRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
+    private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
+
+    private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
+
+    private static final PropertyDescriptor<Pattern> FINAL_REGEX = prop("finalLocalPattern", "final local variable",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    private static final PropertyDescriptor<Pattern> LOCAL_REGEX = prop("localPattern", "local variable",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    public LocalVariableRegexNamingConventionsRule() {
+        definePropertyDescriptor(FINAL_REGEX);
+        definePropertyDescriptor(LOCAL_REGEX);
+
+        addRuleChainVisit(ASTVariableDeclaration.class);
+    }
+
+    @Override
+    public Object visit(ASTVariableDeclaration node, Object data) {
+        if (node.getFirstParentOfType(ASTVariableDeclarationStatements.class).getModifiers().isFinal()) {
+            checkMatches(FINAL_REGEX, node, data);
+        } else {
+            checkMatches(LOCAL_REGEX, node, data);
+        }
+
+        return data;
+    }
+
+    @Override
+    protected String displayName(String name) {
+        return DESCRIPTOR_TO_DISPLAY_NAME.get(name);
+    }
+}
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
new file mode 100644
index 0000000000..0f062d8a60
--- /dev/null
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
@@ -0,0 +1,74 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import net.sourceforge.pmd.lang.apex.ast.ASTMethod;
+import net.sourceforge.pmd.lang.apex.ast.ASTProperty;
+import net.sourceforge.pmd.properties.PropertyDescriptor;
+
+public class MethodRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
+    private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
+
+    private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
+
+    private static final PropertyDescriptor<Pattern> TEST_REGEX = prop("testPattern", "test method",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    private static final PropertyDescriptor<Pattern> STATIC_REGEX = prop("staticPattern", "static method",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    private static final PropertyDescriptor<Pattern> INSTANCE_REGEX = prop("instancePattern", "instance method",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    public MethodRegexNamingConventionsRule() {
+        definePropertyDescriptor(TEST_REGEX);
+        definePropertyDescriptor(STATIC_REGEX);
+        definePropertyDescriptor(INSTANCE_REGEX);
+
+        addRuleChainVisit(ASTMethod.class);
+    }
+
+    @Override
+    public Object visit(ASTMethod node, Object data) {
+        if (isOverriddenMethod(node) || isPropertyAccessor(node) || isConstructor(node)) {
+            return data;
+        }
+
+        if ("<clinit>".equals(node.getImage()) || "clone".equals(node.getImage())) {
+            return data;
+        }
+
+        if (node.getModifiers().isTest()) {
+            checkMatches(TEST_REGEX, node, data);
+        } else if (node.getModifiers().isStatic()) {
+            checkMatches(STATIC_REGEX, node, data);
+        } else {
+            checkMatches(INSTANCE_REGEX, node, data);
+        }
+
+        return data;
+    }
+
+    @Override
+    protected String displayName(String name) {
+        return DESCRIPTOR_TO_DISPLAY_NAME.get(name);
+    }
+
+    private boolean isOverriddenMethod(ASTMethod node) {
+        return node.getModifiers().isOverride();
+    }
+
+    private boolean isPropertyAccessor(ASTMethod node) {
+        return !node.getParentsOfType(ASTProperty.class).isEmpty();
+    }
+
+    private boolean isConstructor(ASTMethod node) {
+        return node.isConstructor();
+    }
+}
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java
new file mode 100644
index 0000000000..db4a80394f
--- /dev/null
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java
@@ -0,0 +1,52 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import net.sourceforge.pmd.lang.apex.ast.ASTField;
+import net.sourceforge.pmd.lang.apex.ast.ASTProperty;
+import net.sourceforge.pmd.properties.PropertyDescriptor;
+
+public class PropertyRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
+    private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
+
+    private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
+
+    private static final PropertyDescriptor<Pattern> STATIC_REGEX = prop("staticPattern", "static property",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    private static final PropertyDescriptor<Pattern> INSTANCE_REGEX = prop("instancePattern", "instance property",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    public PropertyRegexNamingConventionsRule() {
+        definePropertyDescriptor(STATIC_REGEX);
+        definePropertyDescriptor(INSTANCE_REGEX);
+
+        addRuleChainVisit(ASTField.class);
+    }
+
+    @Override
+    public Object visit(ASTField node, Object data) {
+        if (node.getFirstParentOfType(ASTProperty.class) == null) {
+            return data;
+        }
+
+        if (node.getModifiers().isStatic()) {
+            checkMatches(STATIC_REGEX, node, data);
+        } else {
+            checkMatches(INSTANCE_REGEX, node, data);
+        }
+
+        return data;
+    }
+
+    @Override
+    protected String displayName(String name) {
+        return DESCRIPTOR_TO_DISPLAY_NAME.get(name);
+    }
+}
diff --git a/pmd-apex/src/main/resources/category/apex/codestyle.xml b/pmd-apex/src/main/resources/category/apex/codestyle.xml
index ef53ac90d0..b2d3f835a0 100644
--- a/pmd-apex/src/main/resources/category/apex/codestyle.xml
+++ b/pmd-apex/src/main/resources/category/apex/codestyle.xml
@@ -25,6 +25,29 @@ public class Foo {}
         </example>
     </rule>
 
+    <rule name="ClassRegexNamingConventions"
+          since="6.15.0"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.apex.rule.codestyle.ClassRegexNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#classregexnamingconventions">
+        <description>
+            Configurable naming conventions for type declarations. This rule reports
+            type declarations which do not match the regex that applies to their
+            specific kind (e.g. enum or interface). Each regex can be configured through
+            properties.
+
+            By default this rule uses the standard Apex naming convention (Pascal case).
+        </description>
+        <priority>1</priority>
+        <example>
+            <![CDATA[
+public class FooClass { } // This is in pascal case, so it's ok
+
+public class FOO_CLASS { } // This will be reported unless you change the regex
+]]>
+        </example>
+    </rule>
+
     <rule name="IfElseStmtsMustUseBraces"
           language="apex"
           since="5.6.0"
@@ -95,6 +118,30 @@ if (foo) {  // preferred approach
         </example>
     </rule>
 
+    <rule name="FieldRegexNamingConventions"
+          since="6.15.0"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.apex.rule.codestyle.FieldRegexNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#fieldregexnamingconventions">
+        <description>
+            Configurable naming conventions for field declarations. This rule reports variable declarations
+            which do not match the regex that applies to their specific kind ---e.g. constants (static final),
+            static field, final field. Each regex can be configured through properties.
+
+            By default this rule uses the standard Apex naming convention (Camel case).
+        </description>
+        <priority>1</priority>
+        <example>
+<![CDATA[
+public class Foo {
+    Integer instanceField; // This is in camel case, so it's ok
+
+    Integer INSTANCE_FIELD; // This will be reported unless you change the regex
+}
+]]>
+        </example>
+    </rule>
+
     <rule name="ForLoopsMustUseBraces"
           language="apex"
           since="5.6.0"
@@ -130,6 +177,58 @@ for (int i = 0; i < 42; i++) { // preferred approach
         </example>
     </rule>
 
+    <rule name="FormalParameterRegexNamingConventions"
+          since="6.15.0"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.apex.rule.codestyle.FormalParameterRegexNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#formalparameterregexnamingconventions">
+        <description>
+            Configurable naming conventions for formal parameters of methods.
+            This rule reports formal parameters which do not match the regex that applies to their
+            specific kind (e.g. method parameter, or final method parameter). Each regex can be
+            configured through properties.
+
+            By default this rule uses the standard Apex naming convention (Camel case).
+        </description>
+        <priority>1</priority>
+        <example>
+<![CDATA[
+public class Foo {
+    public bar(Integer methodParameter) { } // This is in camel case, so it's ok
+
+    public baz(Integer METHOD_PARAMETER) { } // This will be reported unless you change the regex
+}
+]]>
+        </example>
+    </rule>
+
+    <rule name="LocalVariableRegexNamingConventions"
+          since="6.15.0"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.apex.rule.codestyle.LocalVariableRegexNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#localvariableregexnamingconventions">
+        <description>
+            Configurable naming conventions for local variable declarations.
+            This rule reports variable declarations which do not match the regex that applies to their
+            specific kind (e.g. local variable, or final local variable). Each regex can be configured through
+            properties.
+
+            By default this rule uses the standard Apex naming convention (Camel case).
+        </description>
+        <priority>1</priority>
+        <example>
+<![CDATA[
+public class Foo {
+    public Foo() {
+        Integer localVariable; // This is in camel case, so it's ok
+
+        Integer LOCAL_VARIABLE; // This will be reported unless you change the regex
+    }
+}
+]]>
+        </example>
+    </rule>
+
     <rule name="MethodNamingConventions"
           since="5.5.0"
           message="Method name does not begin with a lower case character."
@@ -149,6 +248,30 @@ public class Foo {
         </example>
     </rule>
 
+    <rule name="MethodRegexNamingConventions"
+          since="6.15.0"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.apex.rule.codestyle.MethodRegexNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#methodregexnamingconventions">
+        <description>
+            Configurable naming conventions for method declarations. This rule reports
+            method declarations which do not match the regex that applies to their
+            specific kind (e.g. static method, or test method). Each regex can be
+            configured through properties.
+
+            By default this rule uses the standard Apex naming convention (Camel case).
+        </description>
+        <priority>1</priority>
+        <example>
+<![CDATA[
+public class Foo {
+    public void instanceMethod() { } // This is in camel case, so it's ok
+
+    public void INSTANCE_METHOD() { } // This will be reported unless you change the regex
+]]>
+        </example>
+    </rule>
+
     <rule name="OneDeclarationPerLine"
           since="6.7.0"
           message="Use one statement for each line, it enhances code readability."
@@ -190,6 +313,31 @@ Integer b;
         </example>
     </rule>
 
+    <rule name="PropertyRegexNamingConventions"
+          since="6.15.0"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
+          class="net.sourceforge.pmd.lang.apex.rule.codestyle.PropertyRegexNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#propertyregexnamingconventions">
+        <description>
+            Configurable naming conventions for property declarations. This rule reports
+            property declarations which do not match the regex that applies to their
+            specific kind (e.g. static property, or instance property). Each regex can be
+            configured through properties.
+
+            By default this rule uses the standard Apex naming convention (Camel case).
+        </description>
+        <priority>1</priority>
+        <example>
+<![CDATA[
+public class Foo {
+    public Integer instanceProperty { get; set; } // This is in camel case, so it's ok
+
+    public Integer INSTANCE_PROPERTY { get; set; } // This will be reported unless you change the regex
+}
+]]>
+        </example>
+    </rule>
+
     <rule name="VariableNamingConventions"
           since="5.5.0"
           message="{0} variable {1} should begin with {2}"
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsTest.java
new file mode 100644
index 0000000000..3eb7c0dd3a
--- /dev/null
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsTest.java
@@ -0,0 +1,11 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class ClassRegexNamingConventionsTest extends PmdRuleTst {
+    // no additional unit tests
+}
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsTest.java
new file mode 100644
index 0000000000..1cf95b7ad8
--- /dev/null
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsTest.java
@@ -0,0 +1,11 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class FieldRegexNamingConventionsTest extends PmdRuleTst {
+    // no additional unit tests
+}
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsTest.java
new file mode 100644
index 0000000000..3ccf560db9
--- /dev/null
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsTest.java
@@ -0,0 +1,11 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class FormalParameterRegexNamingConventionsTest extends PmdRuleTst {
+    // no additional unit tests
+}
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsTest.java
new file mode 100644
index 0000000000..641184d922
--- /dev/null
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsTest.java
@@ -0,0 +1,11 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class LocalVariableRegexNamingConventionsTest extends PmdRuleTst {
+    // no additional unit tests
+}
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsTest.java
new file mode 100644
index 0000000000..5df2a60127
--- /dev/null
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsTest.java
@@ -0,0 +1,11 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class MethodRegexNamingConventionsTest extends PmdRuleTst {
+    // no additional unit tests
+}
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsTest.java
new file mode 100644
index 0000000000..bd1e58fa92
--- /dev/null
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsTest.java
@@ -0,0 +1,11 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.rule.codestyle;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class PropertyRegexNamingConventionsTest extends PmdRuleTst {
+    // no additional unit tests
+}
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml
new file mode 100644
index 0000000000..77cd196bab
--- /dev/null
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<test-data
+        xmlns="http://pmd.sourceforge.net/rule-tests"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+
+    <test-code>
+        <description>test class all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+@isTest
+public class TestClass { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>abstract class all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public abstract class AbstractClass { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>class all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class FooClass { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>interface all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public interface FooInterface { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>enum all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public enum FooEnum { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>test class default is title case</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The test class name 'TEST_CLASS' doesn't match '[a-zA-Z0-9]+'</message>
+        </expected-messages>
+        <code><![CDATA[
+@isTest
+public class TEST_CLASS { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>abstract class default is title case</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The abstract class name 'ABSTRACT_CLASS' doesn't match '[a-zA-Z0-9]+'</message>
+        </expected-messages>
+        <code><![CDATA[
+public abstract class ABSTRACT_CLASS { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>class default is title case</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The class name 'FOO_CLASS' doesn't match '[a-zA-Z0-9]+'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class FOO_CLASS { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>interface default is title case</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The interface name 'FOO_INTERFACE' doesn't match '[a-zA-Z0-9]+'</message>
+        </expected-messages>
+        <code><![CDATA[
+public interface FOO_INTERFACE { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>enum default is title case</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The enum name 'FOO_ENUM' doesn't match '[a-zA-Z0-9]+'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public enum FOO_ENUM { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom test class pattern</description>
+        <rule-property name="testClassPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+@isTest
+public class TEST_CLASS { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom abstract class pattern</description>
+        <rule-property name="abstractClassPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public abstract class ABSTRACT_CLASS { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom class pattern</description>
+        <rule-property name="classPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class FOO_CLASS { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom interface pattern</description>
+        <rule-property name="interfacePattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public interface FOO_INTERFACE { }
+        ]]></code>
+    </test-code>
+
+</test-data>
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml
new file mode 100644
index 0000000000..53da854bbb
--- /dev/null
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<test-data
+        xmlns="http://pmd.sourceforge.net/rule-tests"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+
+    <test-code>
+        <description>all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    final static Integer constantField;
+    final Integer finalField;
+    static Integer staticField;
+    Integer instanceField;
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>default is camel case</description>
+        <expected-problems>4</expected-problems>
+        <expected-messages>
+            <message>The constant field name 'CONSTANT_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The final field name 'FINAL_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The static field name 'STATIC_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance field name 'INSTANCE_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    final static Integer CONSTANT_FIELD;
+    final Integer FINAL_FIELD;
+    static Integer STATIC_FIELD;
+    Integer INSTANCE_FIELD;
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ignores properties</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    Integer BAR { get; set; }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom constant pattern</description>
+        <rule-property name="constantPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>3</expected-problems>
+        <expected-messages>
+            <message>The final field name 'FINAL_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The static field name 'STATIC_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance field name 'INSTANCE_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    final static Integer CONSTANT_FIELD;
+    final Integer FINAL_FIELD;
+    static Integer STATIC_FIELD;
+    Integer INSTANCE_FIELD;
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom final pattern</description>
+        <rule-property name="finalPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>3</expected-problems>
+        <expected-messages>
+            <message>The constant field name 'CONSTANT_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The static field name 'STATIC_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance field name 'INSTANCE_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    final static Integer CONSTANT_FIELD;
+    final Integer FINAL_FIELD;
+    static Integer STATIC_FIELD;
+    Integer INSTANCE_FIELD;
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom static pattern</description>
+        <rule-property name="staticPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>3</expected-problems>
+        <expected-messages>
+            <message>The constant field name 'CONSTANT_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The final field name 'FINAL_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance field name 'INSTANCE_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    final static Integer CONSTANT_FIELD;
+    final Integer FINAL_FIELD;
+    static Integer STATIC_FIELD;
+    Integer INSTANCE_FIELD;
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom instance pattern</description>
+        <rule-property name="instancePattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>3</expected-problems>
+        <expected-messages>
+            <message>The constant field name 'CONSTANT_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The final field name 'FINAL_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The static field name 'STATIC_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    final static Integer CONSTANT_FIELD;
+    final Integer FINAL_FIELD;
+    static Integer STATIC_FIELD;
+    Integer INSTANCE_FIELD;
+}
+        ]]></code>
+    </test-code>
+
+</test-data>
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterRegexNamingConventions.xml
new file mode 100644
index 0000000000..76366ad383
--- /dev/null
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterRegexNamingConventions.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<test-data
+        xmlns="http://pmd.sourceforge.net/rule-tests"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+
+    <test-code>
+        <description>all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public Foo(final Integer finalMethodParameter, Integer methodParameter) { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>default is camel case</description>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>The final method parameter name 'FINAL_METHOD_PARAMETER' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The method parameter name 'METHOD_PARAMETER' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public Foo(final Integer FINAL_METHOD_PARAMETER, Integer METHOD_PARAMETER) { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom final method parameter pattern</description>
+        <rule-property name="finalMethodParameterPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The method parameter name 'METHOD_PARAMETER' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public Foo(final Integer FINAL_METHOD_PARAMETER, Integer METHOD_PARAMETER) { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom method parameter pattern</description>
+        <rule-property name="methodParameterPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The final method parameter name 'FINAL_METHOD_PARAMETER' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public Foo(final Integer FINAL_METHOD_PARAMETER, Integer METHOD_PARAMETER) { }
+}
+        ]]></code>
+    </test-code>
+
+</test-data>
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/LocalVariableRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/LocalVariableRegexNamingConventions.xml
new file mode 100644
index 0000000000..ff5098dfd2
--- /dev/null
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/LocalVariableRegexNamingConventions.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<test-data
+        xmlns="http://pmd.sourceforge.net/rule-tests"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+
+    <test-code>
+        <description>all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public Foo() {
+        final Integer finalLocalVariable;
+        Integer localVariable;
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>default is camel case</description>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>The final local variable name 'FINAL_LOCAL_VARIABLE' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The local variable name 'LOCAL_VARIABLE' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public Foo() {
+        final Integer FINAL_LOCAL_VARIABLE;
+        Integer LOCAL_VARIABLE;
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom final local pattern</description>
+        <rule-property name="finalLocalPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The local variable name 'LOCAL_VARIABLE' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public Foo() {
+        Integer LOCAL_VARIABLE;
+        final Integer FINAL_LOCAL_VARIABLE;
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom local pattern</description>
+        <rule-property name="localPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The final local variable name 'FINAL_LOCAL_VARIABLE' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public Foo() {
+        Integer LOCAL_VARIABLE;
+        final Integer FINAL_LOCAL_VARIABLE;
+    }
+}
+        ]]></code>
+    </test-code>
+
+</test-data>
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml
new file mode 100644
index 0000000000..97569b1dd4
--- /dev/null
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<test-data
+    xmlns="http://pmd.sourceforge.net/rule-tests"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+
+    <test-code>
+        <description>all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    @isTest
+    public static void testMethod() { }
+    public static void staticMethod() { }
+    public void instanceMethod() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>default is camel case</description>
+        <expected-problems>3</expected-problems>
+        <expected-messages>
+            <message>The test method name 'TEST_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The static method name 'STATIC_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance method name 'INSTANCE_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    @isTest
+    public static void TEST_METHOD() { }
+    public static void STATIC_METHOD() { }
+    public void INSTANCE_METHOD() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ignores overrides</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public override Integer BAR() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ignores properties</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public Integer BAR { get; set; }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ignores constructors</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class FOO {
+    public FOO() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom test method pattern</description>
+        <rule-property name="testPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>The static method name 'STATIC_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance method name 'INSTANCE_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    @isTest
+    public static void TEST_METHOD() { }
+    public static void STATIC_METHOD() { }
+    public void INSTANCE_METHOD() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom static method pattern</description>
+        <rule-property name="staticPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>The test method name 'TEST_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance method name 'INSTANCE_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    @isTest
+    public static void TEST_METHOD() { }
+    public static void STATIC_METHOD() { }
+    public void INSTANCE_METHOD() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom instance method pattern</description>
+        <rule-property name="instancePattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>The test method name 'TEST_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The static method name 'STATIC_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    @isTest
+    public static void TEST_METHOD() { }
+    public static void STATIC_METHOD() { }
+    public void INSTANCE_METHOD() { }
+}
+        ]]></code>
+    </test-code>
+</test-data>
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/PropertyRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/PropertyRegexNamingConventions.xml
new file mode 100644
index 0000000000..4fdd885597
--- /dev/null
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/PropertyRegexNamingConventions.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<test-data
+        xmlns="http://pmd.sourceforge.net/rule-tests"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+
+    <test-code>
+        <description>all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public static Integer staticProperty { get; set; }
+    public Integer instanceProperty { get; set; }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>default is camel case</description>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>The static property name 'STATIC_PROPERTY' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance property name 'INSTANCE_PROPERTY' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public static Integer STATIC_PROPERTY { get; set; }
+    public Integer INSTANCE_PROPERTY { get; set; }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ignores methods</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public void BAR() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom static property pattern</description>
+        <rule-property name="staticPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The instance property name 'INSTANCE_PROPERTY' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public static Integer STATIC_PROPERTY { get; set; }
+    public Integer INSTANCE_PROPERTY { get; set; }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom instance property pattern</description>
+        <rule-property name="instancePattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The static property name 'STATIC_PROPERTY' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public static Integer STATIC_PROPERTY { get; set; }
+    public Integer INSTANCE_PROPERTY { get; set; }
+}
+        ]]></code>
+    </test-code>
+
+</test-data>

From 6d828833c0cf6d8131b8baf32416610dc90d986d Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 14:32:36 +0200
Subject: [PATCH 065/371] Added unit test for C++14 digit separators.

---
 .../net/sourceforge/pmd/cpd/CPPTokenizerTest.java    | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java b/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
index 4bffb5208d..f6a8dc11fd 100644
--- a/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
+++ b/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
@@ -159,6 +159,18 @@ public class CPPTokenizerTest {
         tokenizer.tokenize(code, new Tokens());
     }
 
+    @Test
+    public void testDigitSeparators() {
+        final String code = "auto integer_literal = 1'000'000;" + PMD.EOL
+                + "auto floating_point_literal = 0.000'015'3;" + PMD.EOL
+                + "auto hex_literal = 0x0F00'abcd'6f3d;" + PMD.EOL
+                + "auto silly_example = 1'0'0'000'00;";
+        Tokens tokens = parse(code);
+        System.out.println(tokens.getTokens());
+        assertTrue(TokenEntry.getEOF() != tokens.getTokens().get(0));
+        assertEquals(21, tokens.size());
+    }
+
     private Tokens parse(String snippet) {
         try {
             return parse(snippet, false, new Tokens());

From af41fc4230f7b5540b84033ad683fe59c2b65b96 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 14:33:22 +0200
Subject: [PATCH 066/371] Added support for C++14  digit separators.

---
 pmd-cpp/etc/grammar/cpp.jj | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/pmd-cpp/etc/grammar/cpp.jj b/pmd-cpp/etc/grammar/cpp.jj
index a39effe982..ed44b6fcd8 100644
--- a/pmd-cpp/etc/grammar/cpp.jj
+++ b/pmd-cpp/etc/grammar/cpp.jj
@@ -284,27 +284,31 @@ TOKEN :
 
 TOKEN [IGNORE_CASE] :
 {
-  <  OCTALINT : "0" (["0"-"7"])* >
+  <  OCTALINT : "0" (["'", "0"-"7"])* >
 | <  OCTALLONG : <OCTALINT> "l" >
 | <  UNSIGNED_OCTALINT : <OCTALINT> "u" >
 | <  UNSIGNED_OCTALLONG : <OCTALINT> ("ul" | "lu") >
 
-| <  DECIMALINT : ["1"-"9"] (["0"-"9"])* >
+| < #DECIMALDIGIT : ["'", "0"-"9"] >
+
+| <  DECIMALINT : ["1"-"9"] (<DECIMALDIGIT>)* >
 | <  DECIMALLONG : <DECIMALINT> ["u","l"] >
 | <  UNSIGNED_DECIMALINT : <DECIMALINT> "u" >
 | <  UNSIGNED_DECIMALLONG : <DECIMALINT> ("ul" | "lu") >
 
 
-| <  HEXADECIMALINT : "0x" (["0"-"9","a"-"f"])+ >
+| <  HEXADECIMALINT : "0x" (<DECIMALDIGIT> | ["a"-"f"])+ >
 | <  HEXADECIMALLONG : <HEXADECIMALINT> (["u","l"])? >
 | <  UNSIGNED_HEXADECIMALINT : <HEXADECIMALINT> "u" >
 | <  UNSIGNED_HEXADECIMALLONG : <HEXADECIMALINT> ("ul" | "lu") >
 
 
-| <  FLOATONE : ((["0"-"9"])+ "." (["0"-"9"])* | (["0"-"9"])* "." (["0"-"9"])+)
-              ("e" (["-","+"])? (["0"-"9"])+)? (["f","l"])? >
+| <  FLOATONE : (["0"-"9"](<DECIMALDIGIT>)* "."
+              | "." (<DECIMALDIGIT>)+
+              | ["0"-"9"](<DECIMALDIGIT>)* "." (<DECIMALDIGIT>)+)
+              ("e" (["-","+"])? (<DECIMALDIGIT>)+)? (["f","l"])? >
 
-| <  FLOATTWO : (["0"-"9"])+ "e" (["-","+"])?  (["0"-"9"])+ (["f","l"])? >
+| <  FLOATTWO : ["0"-"9"](<DECIMALDIGIT>)* "e" (["-","+"])? (<DECIMALDIGIT>)+ (["f","l"])? >
 }
 
 TOKEN :

From b4821131ea4554eca97194f091661caadbd2e922 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 15:27:00 +0200
Subject: [PATCH 067/371] Added unit tests for C++ raw literals.

There was already an existing unit test for issue #1559. This unit test broke with this change, because the code it's attempting to tokenize is now valid. This test was slightly modified to still give an error, and a new test was added to verify that the code is now correctly tokenized, even in a more difficult situation.
---
 .../sourceforge/pmd/cpd/CPPTokenizerTest.java | 25 +++++++++++++++++++
 .../sourceforge/pmd/cpd/cpp/issue-1559.cpp    |  2 +-
 .../sourceforge/pmd/cpd/cpp/issue-1784.cpp    | 12 +++++++++
 3 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1784.cpp

diff --git a/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java b/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
index 4bffb5208d..883716cb06 100644
--- a/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
+++ b/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
@@ -159,6 +159,31 @@ public class CPPTokenizerTest {
         tokenizer.tokenize(code, new Tokens());
     }
 
+    @Test
+    public void testStringPrefixes() {
+        final String code = "char     a =  '\\x30';         // character, no semantics" + PMD.EOL
+                + "wchar_t  b = L'\\xFFEF';       // wide character, no semantics" + PMD.EOL
+                + "char16_t c = u'\\u00F6';       // 16-bit, assumed UTF16?" + PMD.EOL
+                + "char32_t d = U'\\U0010FFFF';   // 32-bit, assumed UCS-4" + PMD.EOL
+                + "char     A[] =  \"Hello\\x0A\";         // byte string, \"narrow encoding\"" + PMD.EOL
+                + "wchar_t  B[] = L\"Hell\\xF6\\x0A\";      // wide string, impl-def'd encoding" + PMD.EOL
+                + "char16_t C[] = u\"Hell\\u00F6\";        // (1)" + PMD.EOL
+                + "char32_t D[] = U\"Hell\\U000000F6\\U0010FFFF\"; // (2)" + PMD.EOL
+                + "auto     E[] = u8\"\\u00F6\\U0010FFFF\"; // (3)";
+        Tokens tokens = parse(code);
+        assertTrue(TokenEntry.getEOF() != tokens.getTokens().get(0));
+        assertEquals(58, tokens.size());
+    }
+
+    @Test
+    public void testRawStringLiterals() throws IOException {
+        final String code = IOUtils.toString(CPPTokenizerTest.class.getResourceAsStream("cpp/issue-1784.cpp"), StandardCharsets.UTF_8);
+        Tokens tokens = parse(code);
+        System.out.println(tokens.getTokens());
+        assertTrue(TokenEntry.getEOF() != tokens.getTokens().get(0));
+        assertEquals(16, tokens.size());
+    }
+
     private Tokens parse(String snippet) {
         try {
             return parse(snippet, false, new Tokens());
diff --git a/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1559.cpp b/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1559.cpp
index 010ec09fc6..a60ce005b5 100644
--- a/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1559.cpp
+++ b/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1559.cpp
@@ -4,7 +4,7 @@ namespace ABC
   {
 
 #ifdef USE_QT
-    const char* perPixelQml = R"QML(
+    const char* perPixelQml = "QML(
 )QML";
   }
 }
diff --git a/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1784.cpp b/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1784.cpp
new file mode 100644
index 0000000000..29d644f449
--- /dev/null
+++ b/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1784.cpp
@@ -0,0 +1,12 @@
+namespace ABC
+{
+  namespace DEF
+  {
+
+#ifdef USE_QT
+    const char* perPixelQml = R"QML(
+    )NOTTHEND";
+)QML";
+  }
+}
+#endif // USE_QT

From 6bb83a71dda1199a1f3dea8e82c18d9fcff4a1c8 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 15:30:01 +0200
Subject: [PATCH 068/371] Added support for various C++ string prefixes.

These were already tokenized without errors, but the prefixes were considered to be a separate token.
---
 pmd-cpp/etc/grammar/cpp.jj | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/pmd-cpp/etc/grammar/cpp.jj b/pmd-cpp/etc/grammar/cpp.jj
index a39effe982..59eb1b51c6 100644
--- a/pmd-cpp/etc/grammar/cpp.jj
+++ b/pmd-cpp/etc/grammar/cpp.jj
@@ -312,7 +312,9 @@ TOKEN :
 
   <  CHARACTER : ("L")? "'" ( ( ~["'","\\","\r","\n"] ) | ( "\\" ( ~["\n","\r"] ) ) )* "'" >
 
-| <  STRING : ("L")? "\"" ( ( ~["\"","\\","\r","\n"] ) | ( "\\" ( ~["\n","\r"] | "\n" | "\r\n" ) ) )* "\"" >
+| < #STRPREF : (["L", "u", "U"] | "u8")? >
+| <  STRING : <STRPREF>
+      "\"" ( ( ~["\"","\\","\r","\n"] ) | ( "\\" ( ~["\n","\r"] | "\n" | "\r\n" ) ) )* "\"" >
 
 | <  RSTRING : "R\"(" ( ~[")"] | ( ")" ~["\""] ) )* ")\"" >
 }

From d73a5505c27f0471b80d988fc57a68a9e5cee8a0 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 15:30:41 +0200
Subject: [PATCH 069/371] Added support for C++ raw string literals.

---
 pmd-cpp/etc/grammar/cpp.jj | 60 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 59 insertions(+), 1 deletion(-)

diff --git a/pmd-cpp/etc/grammar/cpp.jj b/pmd-cpp/etc/grammar/cpp.jj
index 59eb1b51c6..c8344a270b 100644
--- a/pmd-cpp/etc/grammar/cpp.jj
+++ b/pmd-cpp/etc/grammar/cpp.jj
@@ -316,7 +316,65 @@ TOKEN :
 | <  STRING : <STRPREF>
       "\"" ( ( ~["\"","\\","\r","\n"] ) | ( "\\" ( ~["\n","\r"] | "\n" | "\r\n" ) ) )* "\"" >
 
-| <  RSTRING : "R\"(" ( ~[")"] | ( ")" ~["\""] ) )* ")\"" >
+}
+
+// Raw C++11 string literal support
+// https://en.cppreference.com/w/cpp/language/string_literal
+TOKEN :
+{
+  <  RSTRING : <STRPREF> "R\"" >
+  {
+    StringBuffer sb = new StringBuffer(16);
+
+    // delim ------+
+    //            vvv
+    // Matching R"...(...)..."
+    //               ^
+    for (;;) {
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return; }
+      if (curChar == '(') break;
+      sb.append(curChar);
+    }
+    final String delim = sb.toString();
+
+    sb = new StringBuffer(256);
+rstringbody:
+    // Matching R"...(...)..."
+    //                   ^
+    for (;;) {
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return; }
+      sb.append(curChar);
+      if (curChar == ')') {
+	// delim --------------+
+	//                    vvv
+	// Matching R"...(...)..."
+	//                    ^^^
+	for (int i = 0; i < delim.length(); i++) {
+	  try { curChar = input_stream.readChar(); }
+	  catch(java.io.IOException e) { return; }
+	  if (delim.charAt(i) != curChar) {
+	    input_stream.backup(1);
+	    continue rstringbody;
+	  }
+	  sb.append(curChar);
+	}
+	// Matching R"...(...)..."
+	//                       ^
+	try { curChar = input_stream.readChar(); }
+	catch(java.io.IOException e) { return; }
+	if (curChar != '"') {
+	  input_stream.backup(1);
+	  continue rstringbody;
+	}
+	sb.append(curChar);
+	break;
+      }
+    }
+    // Setting final token image
+    matchedToken.image += delim + "(" + sb.toString();
+  }
 }
 
 TOKEN :

From 224c3931e4e3c5f502332d2efe119ac2611cf606 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 16:10:03 +0200
Subject: [PATCH 070/371] Added unit tests for block comments.

---
 .../pmd/cpd/MatlabTokenizerTest.java           | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
index 88f30ecf20..949e048eed 100644
--- a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
+++ b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
@@ -68,4 +68,22 @@ public class MatlabTokenizerTest extends AbstractTokenizerTest {
         TokenEntry.getEOF();
         assertEquals(28, tokens.size());
     }
+
+    @Test
+    public void testBlockComments() throws IOException {
+        SourceCode sourceCode = new SourceCode(new SourceCode.StringCodeLoader("%{" + PMD.EOL
+                + "  Name:     helloworld.m\n" + PMD.EOL
+                + "  Purpose:  Say \"Hello World!\" in two different ways" + PMD.EOL
+                + "%}" + PMD.EOL
+                + PMD.EOL
+                + "% Do it the good ol' fashioned way...command window" + PMD.EOL
+                + "disp('Hello World!');\n" + PMD.EOL
+                + "%" + PMD.EOL
+                + "% Do it the new hip GUI way...with a message box" + PMD.EOL
+                + "msgbox('Hello World!','Hello World!');"));
+        Tokens tokens = new Tokens();
+        tokenizer.tokenize(sourceCode, tokens); // should not result in parse error
+        TokenEntry.getEOF();
+        assertEquals(13, tokens.size());
+    }
 }

From ecda36fa70c7da97a18946389845b4da17d30c0f Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 16:11:46 +0200
Subject: [PATCH 071/371] Adjusted Matlab tokenizer to correctly identify block
 comments.

---
 pmd-matlab/etc/grammar/matlab.jj | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-matlab/etc/grammar/matlab.jj b/pmd-matlab/etc/grammar/matlab.jj
index ae971c0cff..c91105d282 100644
--- a/pmd-matlab/etc/grammar/matlab.jj
+++ b/pmd-matlab/etc/grammar/matlab.jj
@@ -45,7 +45,7 @@ PARSER_END(MatlabParser)
 { "%{": IN_COMMENT }
 
 <DEFAULT, TRANSPOSE> SPECIAL_TOKEN:
-{ <SINGLE_LINE_COMMENT: "%"(~["\n","\r"])* ("\n"|"\r"|"\r\n")?> }
+{ <SINGLE_LINE_COMMENT: "%"~["{"](~["\n","\r"])* ("\n"|"\r"|"\r\n")?> }
 
 <IN_COMMENT> SPECIAL_TOKEN:
 { <MULTI_LINE_COMMENT: "%}">: DEFAULT }

From f76ac0aa8970f8837955e1e8f43026f5199b23fa Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 16:27:37 +0200
Subject: [PATCH 072/371] Added unit test for question mark (?) token in Matlab
 tokenizer.

---
 .../net/sourceforge/pmd/cpd/MatlabTokenizerTest.java   | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
index 50fdb1832e..6f10aa814d 100644
--- a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
+++ b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
@@ -54,4 +54,14 @@ public class MatlabTokenizerTest extends AbstractTokenizerTest {
         TokenEntry.getEOF();
         assertEquals(2, tokens.size()); // 2 tokens: "end" + EOF
     }
+
+    @Test
+    public void testQuestionMark() throws IOException {
+        SourceCode sourceCode = new SourceCode(new SourceCode.StringCodeLoader("classdef Class1" + PMD.EOL
+                + "properties (SetAccess = ?Class2)"));
+        Tokens tokens = new Tokens();
+        tokenizer.tokenize(sourceCode, tokens);
+        TokenEntry.getEOF();
+        assertEquals(10, tokens.size());
+    }
 }

From 4ec25840bb33ef1ae3362617eca6d90416260000 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 16:28:08 +0200
Subject: [PATCH 073/371] Added support for question mark (?) token in Matlab
 tokenizer.

---
 pmd-matlab/etc/grammar/matlab.jj | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pmd-matlab/etc/grammar/matlab.jj b/pmd-matlab/etc/grammar/matlab.jj
index 6f61dd0d42..0e1029a203 100644
--- a/pmd-matlab/etc/grammar/matlab.jj
+++ b/pmd-matlab/etc/grammar/matlab.jj
@@ -65,6 +65,7 @@ SPECIAL_TOKEN:
 |   < AT: "@" > : DEFAULT
 |   < DOT: "." > : TRANSPOSE
 |   < COMMA: "," > : DEFAULT
+|   < QUESTIONMARK: "?" > : DEFAULT
 }
 
 <DEFAULT, TRANSPOSE> TOKEN : /* OPERATORS AND ASSIGNMENTS */

From 1c1c2d87f75fcc804b16afa0e72257b2f58b8f36 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 17:16:17 +0200
Subject: [PATCH 074/371] Added unit test for double-quoted string in Matlab.

---
 .../net/sourceforge/pmd/cpd/MatlabTokenizerTest.java   | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
index 50fdb1832e..128fced6b3 100644
--- a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
+++ b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
@@ -54,4 +54,14 @@ public class MatlabTokenizerTest extends AbstractTokenizerTest {
         TokenEntry.getEOF();
         assertEquals(2, tokens.size()); // 2 tokens: "end" + EOF
     }
+
+    @Test
+    public void testDoubleQuotedStrings() throws IOException {
+        SourceCode sourceCode = new SourceCode(new SourceCode.StringCodeLoader(
+                "error(\"This is a double-quoted string\");"));
+        Tokens tokens = new Tokens();
+        tokenizer.tokenize(sourceCode, tokens);
+        TokenEntry.getEOF();
+        assertEquals(6, tokens.size());
+    }
 }

From a3b09910fdd976346d5b13838c7428ca34fb82a6 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 10 May 2019 17:16:47 +0200
Subject: [PATCH 075/371] Added support for double-quoted string to Matlab
 tokenizer.

---
 pmd-matlab/etc/grammar/matlab.jj | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pmd-matlab/etc/grammar/matlab.jj b/pmd-matlab/etc/grammar/matlab.jj
index 6f61dd0d42..2176abc41b 100644
--- a/pmd-matlab/etc/grammar/matlab.jj
+++ b/pmd-matlab/etc/grammar/matlab.jj
@@ -139,6 +139,7 @@ SPECIAL_TOKEN:
 <DEFAULT> TOKEN :
 {
     < STRING: "'" ( <ESC_SEQ> | "'" "'" | ~["\\","'","\n"] )* "'" >
+|   < DSTRING: "\"" ( "\\" | "\"" "\"" | ~["\\","\"","\n"] )* "\"" >
 |   < #ESC_SEQ:
       "\\" ( "b" | "t" | "n" | "f" | "r" | "\"" | "'" | "\\" )
     | <UNICODE_ESC>

From 000e32b2ee8769a81c2900a2f33afa2b6cab4d2e Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Fri, 10 May 2019 12:16:30 -0400
Subject: [PATCH 076/371] Fix NPE on custom exceptions

---
 .../FormalParameterRegexNamingConventionsRule.java        | 5 +++++
 .../xml/FormalParameterRegexNamingConventions.xml         | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
index 8b0392cd92..b5f3511194 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
@@ -31,6 +31,11 @@ public class FormalParameterRegexNamingConventionsRule extends AbstractRegexNami
 
     @Override
     public Object visit(ASTParameter node, Object data) {
+        // classes that extend Exception will contains methods that have parameters with null names
+        if (node.getImage() == null) {
+            return data;
+        }
+
         if (node.getModifiers().isFinal()) {
             checkMatches(FINAL_METHOD_PARAMETER_REGEX, node, data);
         } else {
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterRegexNamingConventions.xml
index 76366ad383..7cc3fc943d 100644
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterRegexNamingConventions.xml
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterRegexNamingConventions.xml
@@ -57,4 +57,12 @@ public class Foo {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>ignores null parameter names</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public with sharing class MyException extends Exception { }
+        ]]></code>
+    </test-code>
+
 </test-data>

From 6cf64949d1d5ac1faa2a9959105bfebb947d9874 Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Fri, 10 May 2019 14:00:41 -0400
Subject: [PATCH 077/371] Ignore autogenerated enum methods

---
 .../codestyle/MethodRegexNamingConventionsRule.java  |  5 +++++
 .../codestyle/xml/MethodRegexNamingConventions.xml   | 12 ++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
index 0f062d8a60..a65e73ffcf 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
@@ -10,6 +10,7 @@ import java.util.regex.Pattern;
 
 import net.sourceforge.pmd.lang.apex.ast.ASTMethod;
 import net.sourceforge.pmd.lang.apex.ast.ASTProperty;
+import net.sourceforge.pmd.lang.apex.ast.ASTUserEnum;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
 public class MethodRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
@@ -44,6 +45,10 @@ public class MethodRegexNamingConventionsRule extends AbstractRegexNamingConvent
             return data;
         }
 
+        if (node.getFirstParentOfType(ASTUserEnum.class) != null) {
+            return data;
+        }
+
         if (node.getModifiers().isTest()) {
             checkMatches(TEST_REGEX, node, data);
         } else if (node.getModifiers().isStatic()) {
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml
index 97569b1dd4..7d87d71fdc 100644
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml
@@ -66,6 +66,18 @@ public class FOO {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>ignores enum methods</description>
+        <rule-property name="instancePattern">Z</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    enum Bar {
+    }
+}
+        ]]></code>
+    </test-code>
+
     <test-code>
         <description>custom test method pattern</description>
         <rule-property name="testPattern">[a-zA-Z0-9_]+</rule-property>

From 48617ee51c746e5b50bd0eb635a84b316dc04fe6 Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Fri, 10 May 2019 16:07:23 -0400
Subject: [PATCH 078/371] Add enumConstantPattern to
 FieldRegexNamingConventionsRule

---
 .../FieldRegexNamingConventionsRule.java      |  9 +++-
 .../xml/FieldRegexNamingConventions.xml       | 49 +++++++++++++++----
 2 files changed, 48 insertions(+), 10 deletions(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
index d69389fdf5..29df42b1cd 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
@@ -11,6 +11,7 @@ import java.util.regex.Pattern;
 import net.sourceforge.pmd.lang.apex.ast.ASTField;
 import net.sourceforge.pmd.lang.apex.ast.ASTModifierNode;
 import net.sourceforge.pmd.lang.apex.ast.ASTProperty;
+import net.sourceforge.pmd.lang.apex.ast.ASTUserEnum;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
 public class FieldRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
@@ -18,6 +19,9 @@ public class FieldRegexNamingConventionsRule extends AbstractRegexNamingConventi
 
     private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
 
+    private static final PropertyDescriptor<Pattern> ENUM_CONSTANT_REGEX = prop("enumConstantPattern", "enum constant field",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue("[A-Z][A-Z0-9_]*").build();
+
     private static final PropertyDescriptor<Pattern> CONSTANT_REGEX = prop("constantPattern", "constant field",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 
@@ -31,6 +35,7 @@ public class FieldRegexNamingConventionsRule extends AbstractRegexNamingConventi
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 
     public FieldRegexNamingConventionsRule() {
+        definePropertyDescriptor(ENUM_CONSTANT_REGEX);
         definePropertyDescriptor(CONSTANT_REGEX);
         definePropertyDescriptor(FINAL_REGEX);
         definePropertyDescriptor(STATIC_REGEX);
@@ -47,7 +52,9 @@ public class FieldRegexNamingConventionsRule extends AbstractRegexNamingConventi
 
         ASTModifierNode modifiers = node.getModifiers();
 
-        if (modifiers.isFinal() && modifiers.isStatic()) {
+        if (node.getFirstParentOfType(ASTUserEnum.class) != null) {
+            checkMatches(ENUM_CONSTANT_REGEX, node, data);
+        } else if (modifiers.isFinal() && modifiers.isStatic()) {
             checkMatches(CONSTANT_REGEX, node, data);
         } else if (modifiers.isFinal()) {
             checkMatches(FINAL_REGEX, node, data);
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml
index 53da854bbb..9577096b1a 100644
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml
@@ -14,25 +14,43 @@ public class Foo {
     final Integer finalField;
     static Integer staticField;
     Integer instanceField;
+    enum FooEnum {
+        DEFAULT
+    }
 }
         ]]></code>
     </test-code>
 
     <test-code>
-        <description>default is camel case</description>
-        <expected-problems>4</expected-problems>
-        <expected-messages>
-            <message>The constant field name 'CONSTANT_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-            <message>The final field name 'FINAL_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-            <message>The static field name 'STATIC_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-            <message>The instance field name 'INSTANCE_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-        </expected-messages>
-        <code><![CDATA[
+    <description>default is camel case</description>
+    <expected-problems>4</expected-problems>
+    <expected-messages>
+        <message>The constant field name 'CONSTANT_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        <message>The final field name 'FINAL_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        <message>The static field name 'STATIC_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        <message>The instance field name 'INSTANCE_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+    </expected-messages>
+    <code><![CDATA[
 public class Foo {
     final static Integer CONSTANT_FIELD;
     final Integer FINAL_FIELD;
     static Integer STATIC_FIELD;
     Integer INSTANCE_FIELD;
+}
+        ]]></code>
+</test-code>
+
+    <test-code>
+        <description>enum default is all caps and underscores</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The enum constant field name 'default' doesn't match '[A-Z][A-Z0-9_]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    enum FooEnum {
+        default
+    }
 }
         ]]></code>
     </test-code>
@@ -47,6 +65,19 @@ public class Foo {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>custom enum constant pattern</description>
+        <rule-property name="enumConstantPattern">[a-zA-Z0-9]+</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    enum FooEnum {
+        default
+    }
+}
+        ]]></code>
+    </test-code>
+
     <test-code>
         <description>custom constant pattern</description>
         <rule-property name="constantPattern">[a-zA-Z0-9_]+</rule-property>

From 4bcdfba3530dd950ffbe43ad29713cecab9e1b75 Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Fri, 10 May 2019 16:10:34 -0400
Subject: [PATCH 079/371] Class defaults should be pascal case

---
 .../codestyle/ClassRegexNamingConventionsRule.java   | 12 ++++++------
 .../codestyle/xml/ClassRegexNamingConventions.xml    | 10 +++++-----
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
index 6795fd99d7..0a4021c2fe 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
@@ -16,22 +16,22 @@ import net.sourceforge.pmd.properties.PropertyDescriptor;
 public class ClassRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
-    private static final String TITLE_CASE = "[a-zA-Z0-9]+";
+    private static final String PASCAL_CASE = "[A-Z][a-zA-Z0-9]*";
 
     private static final PropertyDescriptor<Pattern> TEST_CLASS_REGEX = prop("testClassPattern", "test class",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(TITLE_CASE).build();
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
     
     private static final PropertyDescriptor<Pattern> ABSTRACT_CLASS_REGEX = prop("abstractClassPattern", "abstract class",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(TITLE_CASE).build();
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
     
     private static final PropertyDescriptor<Pattern> CLASS_REGEX = prop("classPattern", "class",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(TITLE_CASE).build();
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
     
     private static final PropertyDescriptor<Pattern> INTERFACE_REGEX = prop("interfacePattern", "interface",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(TITLE_CASE).build();
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
     
     private static final PropertyDescriptor<Pattern> ENUM_REGEX = prop("enumPattern", "enum",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(TITLE_CASE).build();
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
 
     public ClassRegexNamingConventionsRule() {
         definePropertyDescriptor(TEST_CLASS_REGEX);
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml
index 77cd196bab..fc36f4c71c 100644
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml
@@ -52,7 +52,7 @@ public class Foo {
         <description>test class default is title case</description>
         <expected-problems>1</expected-problems>
         <expected-messages>
-            <message>The test class name 'TEST_CLASS' doesn't match '[a-zA-Z0-9]+'</message>
+            <message>The test class name 'TEST_CLASS' doesn't match '[A-Z][a-zA-Z0-9]*'</message>
         </expected-messages>
         <code><![CDATA[
 @isTest
@@ -64,7 +64,7 @@ public class TEST_CLASS { }
         <description>abstract class default is title case</description>
         <expected-problems>1</expected-problems>
         <expected-messages>
-            <message>The abstract class name 'ABSTRACT_CLASS' doesn't match '[a-zA-Z0-9]+'</message>
+            <message>The abstract class name 'ABSTRACT_CLASS' doesn't match '[A-Z][a-zA-Z0-9]*'</message>
         </expected-messages>
         <code><![CDATA[
 public abstract class ABSTRACT_CLASS { }
@@ -75,7 +75,7 @@ public abstract class ABSTRACT_CLASS { }
         <description>class default is title case</description>
         <expected-problems>1</expected-problems>
         <expected-messages>
-            <message>The class name 'FOO_CLASS' doesn't match '[a-zA-Z0-9]+'</message>
+            <message>The class name 'FOO_CLASS' doesn't match '[A-Z][a-zA-Z0-9]*'</message>
         </expected-messages>
         <code><![CDATA[
 public class FOO_CLASS { }
@@ -86,7 +86,7 @@ public class FOO_CLASS { }
         <description>interface default is title case</description>
         <expected-problems>1</expected-problems>
         <expected-messages>
-            <message>The interface name 'FOO_INTERFACE' doesn't match '[a-zA-Z0-9]+'</message>
+            <message>The interface name 'FOO_INTERFACE' doesn't match '[A-Z][a-zA-Z0-9]*'</message>
         </expected-messages>
         <code><![CDATA[
 public interface FOO_INTERFACE { }
@@ -97,7 +97,7 @@ public interface FOO_INTERFACE { }
         <description>enum default is title case</description>
         <expected-problems>1</expected-problems>
         <expected-messages>
-            <message>The enum name 'FOO_ENUM' doesn't match '[a-zA-Z0-9]+'</message>
+            <message>The enum name 'FOO_ENUM' doesn't match '[A-Z][a-zA-Z0-9]*'</message>
         </expected-messages>
         <code><![CDATA[
 public class Foo {

From c96d879a5a03973f5f46b85cf917a66315d04413 Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Fri, 10 May 2019 16:27:31 -0400
Subject: [PATCH 080/371] Move constants to AbstractRegexNamingConventionsRule

---
 .../rule/codestyle/AbstractRegexNamingConventionsRule.java     | 3 +++
 .../apex/rule/codestyle/ClassRegexNamingConventionsRule.java   | 2 --
 .../apex/rule/codestyle/FieldRegexNamingConventionsRule.java   | 2 --
 .../codestyle/FormalParameterRegexNamingConventionsRule.java   | 2 --
 .../codestyle/LocalVariableRegexNamingConventionsRule.java     | 2 --
 .../apex/rule/codestyle/MethodRegexNamingConventionsRule.java  | 2 --
 .../rule/codestyle/PropertyRegexNamingConventionsRule.java     | 2 --
 7 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
index 1aae91a0e6..f328c67117 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
@@ -15,6 +15,9 @@ import net.sourceforge.pmd.properties.PropertyBuilder;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
 public abstract class AbstractRegexNamingConventionsRule extends AbstractApexRule {
+    protected static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
+    protected static final String PASCAL_CASE = "[A-Z][a-zA-Z0-9]*";
+
     abstract String displayName(String name);
 
     protected void checkMatches(PropertyDescriptor<Pattern> propertyDescriptor, ApexNode<?> node, Object data) {
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
index 0a4021c2fe..2876be3685 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
@@ -16,8 +16,6 @@ import net.sourceforge.pmd.properties.PropertyDescriptor;
 public class ClassRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
-    private static final String PASCAL_CASE = "[A-Z][a-zA-Z0-9]*";
-
     private static final PropertyDescriptor<Pattern> TEST_CLASS_REGEX = prop("testClassPattern", "test class",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
     
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
index 29df42b1cd..5e9a8ce3aa 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
@@ -17,8 +17,6 @@ import net.sourceforge.pmd.properties.PropertyDescriptor;
 public class FieldRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
-    private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
-
     private static final PropertyDescriptor<Pattern> ENUM_CONSTANT_REGEX = prop("enumConstantPattern", "enum constant field",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue("[A-Z][A-Z0-9_]*").build();
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
index b5f3511194..a5246d8573 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
@@ -14,8 +14,6 @@ import net.sourceforge.pmd.properties.PropertyDescriptor;
 public class FormalParameterRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
-    private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
-
     private static final PropertyDescriptor<Pattern> FINAL_METHOD_PARAMETER_REGEX = prop("finalMethodParameterPattern", "final method parameter",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java
index f38a175451..b40fa26be9 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java
@@ -15,8 +15,6 @@ import net.sourceforge.pmd.properties.PropertyDescriptor;
 public class LocalVariableRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
-    private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
-
     private static final PropertyDescriptor<Pattern> FINAL_REGEX = prop("finalLocalPattern", "final local variable",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
index a65e73ffcf..85dec6772d 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
@@ -16,8 +16,6 @@ import net.sourceforge.pmd.properties.PropertyDescriptor;
 public class MethodRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
-    private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
-
     private static final PropertyDescriptor<Pattern> TEST_REGEX = prop("testPattern", "test method",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java
index db4a80394f..23898d22ef 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java
@@ -15,8 +15,6 @@ import net.sourceforge.pmd.properties.PropertyDescriptor;
 public class PropertyRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
-    private static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
-
     private static final PropertyDescriptor<Pattern> STATIC_REGEX = prop("staticPattern", "static property",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 

From 15d499ba3325ea7e9c4d5216736bb80bc4ad274f Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 11 May 2019 12:00:07 +0200
Subject: [PATCH 081/371] Update release notes, refs #1807

---
 docs/pages/release_notes.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..a27cf0ee45 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -20,5 +20,7 @@ This is a {{ site.pmd.release_type }} release.
 
 ### External Contributions
 
+*   [#1807](https://github.com/pmd/pmd/pull/1807): \[ci] Fix missing local branch issues when executing pmd-regression-tester - [BBG](https://github.com/djydewang)
+
 {% endtocmaker %}
 

From 0c28170a85dd8b4ff62af222346e0673fbb55f6e Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 11 May 2019 12:11:25 +0200
Subject: [PATCH 082/371] [doc] Update generated documentation

---
 docs/pages/pmd/rules/apex.md               |   2 +-
 docs/pages/pmd/rules/apex/bestpractices.md |  60 ++---------
 docs/pages/pmd/rules/apex/codestyle.md     |  59 +----------
 docs/pages/pmd/rules/apex/design.md        |  68 +++----------
 docs/pages/pmd/rules/apex/documentation.md |  10 +-
 docs/pages/pmd/rules/apex/errorprone.md    |  90 ++---------------
 docs/pages/pmd/rules/apex/performance.md   |  30 +-----
 docs/pages/pmd/rules/apex/security.md      | 110 +++------------------
 docs/pages/pmd/rules/java/design.md        |   2 +-
 9 files changed, 50 insertions(+), 381 deletions(-)

diff --git a/docs/pages/pmd/rules/apex.md b/docs/pages/pmd/rules/apex.md
index dec0347f36..f58e1edb33 100644
--- a/docs/pages/pmd/rules/apex.md
+++ b/docs/pages/pmd/rules/apex.md
@@ -116,7 +116,7 @@ folder: pmd/rules
 
     [AvoidDeeplyNestedIfStmts](pmd_rules_apex_design.html#avoiddeeplynestedifstmts), [ExcessiveClassLength](pmd_rules_apex_design.html#excessiveclasslength), [ExcessiveParameterList](pmd_rules_apex_design.html#excessiveparameterlist), [ExcessivePublicCount](pmd_rules_apex_design.html#excessivepubliccount), [NcssConstructorCount](pmd_rules_apex_design.html#ncssconstructorcount), [NcssMethodCount](pmd_rules_apex_design.html#ncssmethodcount), [NcssTypeCount](pmd_rules_apex_design.html#ncsstypecount), [StdCyclomaticComplexity](pmd_rules_apex_design.html#stdcyclomaticcomplexity), [TooManyFields](pmd_rules_apex_design.html#toomanyfields)
 
-*   Default ruleset used by the CodeClimate Engine for Salesforce.com Apex (`rulesets/apex/ruleset.xml`):
+*   Default ruleset for Salesforce.com Apex (`rulesets/apex/ruleset.xml`):
 
     <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  This ruleset is for backwards compatibility.
 
diff --git a/docs/pages/pmd/rules/apex/bestpractices.md b/docs/pages/pmd/rules/apex/bestpractices.md
index 4acf3f478d..e130002d00 100644
--- a/docs/pages/pmd/rules/apex/bestpractices.md
+++ b/docs/pages/pmd/rules/apex/bestpractices.md
@@ -36,15 +36,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Bug Risk|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/bestpractices.xml/ApexAssertionsShouldIncludeMessage" />
 ```
@@ -74,15 +66,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Bug Risk|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/bestpractices.xml/ApexUnitTestClassShouldHaveAsserts" />
 ```
@@ -119,15 +103,7 @@ private class ATest {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Bug Risk|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/bestpractices.xml/ApexUnitTestMethodShouldHaveIsTestAnnotation" />
 ```
@@ -156,15 +132,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Bug Risk|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/bestpractices.xml/ApexUnitTestShouldNotUseSeeAllDataTrue" />
 ```
@@ -190,15 +158,7 @@ global class Unchangeable {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/bestpractices.xml/AvoidGlobalModifier" />
 ```
@@ -234,15 +194,7 @@ trigger Accounts on Account (before insert, before update, before delete, after
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|200|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/bestpractices.xml/AvoidLogicInTrigger" />
 ```
diff --git a/docs/pages/pmd/rules/apex/codestyle.md b/docs/pages/pmd/rules/apex/codestyle.md
index 7f8f72b1a5..f70bfb0b78 100644
--- a/docs/pages/pmd/rules/apex/codestyle.md
+++ b/docs/pages/pmd/rules/apex/codestyle.md
@@ -25,15 +25,7 @@ Class names should always begin with an upper case character.
 public class Foo {}
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|5|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/codestyle.xml/ClassNamingConventions" />
 ```
@@ -66,15 +58,7 @@ for (int i = 0; i < 42; i++) { // preferred approach
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/codestyle.xml/ForLoopsMustUseBraces" />
 ```
@@ -109,15 +93,7 @@ else
     x = x-1;
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/codestyle.xml/IfElseStmtsMustUseBraces" />
 ```
@@ -148,15 +124,7 @@ if (foo) {  // preferred approach
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/codestyle.xml/IfStmtsMustUseBraces" />
 ```
@@ -184,9 +152,6 @@ public class Foo {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
 |skipTestMethodUnderscores|false|Skip underscores in test methods|no|
 
 **Use this rule with the default properties by just referencing it:**
@@ -239,9 +204,6 @@ Integer b;
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
 |strictMode|false|If true, mark combined declaration even if the declarations are on separate lines.|no|
 
 **Use this rule with the default properties by just referencing it:**
@@ -284,9 +246,6 @@ public class Foo {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|5|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
 |checkMembers|true|Check member variables|no|
 |checkLocals|true|Check local variables|no|
 |checkParameters|true|Check constructor and method parameter variables|no|
@@ -349,15 +308,7 @@ while (true) {  // preferred approach
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/codestyle.xml/WhileLoopsMustUseBraces" />
 ```
diff --git a/docs/pages/pmd/rules/apex/design.md b/docs/pages/pmd/rules/apex/design.md
index b7043622cf..df269d18cb 100644
--- a/docs/pages/pmd/rules/apex/design.md
+++ b/docs/pages/pmd/rules/apex/design.md
@@ -39,9 +39,6 @@ public class Foo {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|cc\_categories|Complexity|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|200|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
 |problemDepth|3|The if statement depth reporting threshold|no|
 
 **Use this rule with the default properties by just referencing it:**
@@ -73,7 +70,7 @@ program. As such, they include all control flow statements, such as 'if', 'while
 
 Generally, numbers ranging from 1-4 denote low complexity, 5-7 denote moderate complexity, 8-10 denote
 high complexity, and 11+ is very high complexity. By default, this rule reports methods with a complexity &gt;= 10.
-Additionnally, classes with many methods of moderate complexity get reported as well once the total of their
+Additionally, classes with many methods of moderate complexity get reported as well once the total of their
 methods' complexities reaches 40, even if none of the methods was directly reported.
 
 Reported methods should be broken down into several smaller methods. Reported classes should probably be broken down
@@ -113,9 +110,6 @@ public class Complicated {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
 |classReportLevel|40|Total class complexity reporting threshold|no|
 |methodReportLevel|10|Cyclomatic complexity reporting threshold|no|
 
@@ -169,12 +163,7 @@ public class Foo {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|topscore||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Top score value|no|
-|minimum|1000.0|Minimum reporting threshold|no|
-|cc\_categories|Complexity|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|150|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-|sigma||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Sigma value|no|
+|minimum|1000|Threshold above which a node is reported|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -185,7 +174,7 @@ public class Foo {
 ``` xml
 <rule ref="category/apex/design.xml/ExcessiveClassLength">
     <properties>
-        <property name="minimum" value="1000.0" />
+        <property name="minimum" value="1000" />
     </properties>
 </rule>
 ```
@@ -218,12 +207,7 @@ public void addPerson(Date birthdate, BodyMeasurements measurements, int ssn) {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|topscore||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Top score value|no|
-|minimum|4.0|Minimum reporting threshold|no|
-|cc\_categories|Complexity|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|50|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-|sigma||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Sigma value|no|
+|minimum|4|Threshold above which a node is reported|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -234,7 +218,7 @@ public void addPerson(Date birthdate, BodyMeasurements measurements, int ssn) {
 ``` xml
 <rule ref="category/apex/design.xml/ExcessiveParameterList">
     <properties>
-        <property name="minimum" value="4.0" />
+        <property name="minimum" value="4" />
     </properties>
 </rule>
 ```
@@ -272,12 +256,7 @@ public class Foo {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|topscore||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Top score value|no|
-|minimum|20.0|Minimum reporting threshold|no|
-|cc\_categories|Complexity|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|150|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-|sigma||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Sigma value|no|
+|minimum|20|Threshold above which a node is reported|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -288,7 +267,7 @@ public class Foo {
 ``` xml
 <rule ref="category/apex/design.xml/ExcessivePublicCount">
     <properties>
-        <property name="minimum" value="20.0" />
+        <property name="minimum" value="20" />
     </properties>
 </rule>
 ```
@@ -325,12 +304,7 @@ public class Foo extends Bar {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|topscore||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Top score value|no|
-|minimum|20.0|Minimum reporting threshold|no|
-|cc\_categories|Complexity|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|50|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-|sigma||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Sigma value|no|
+|minimum|20|Threshold above which a node is reported|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -341,7 +315,7 @@ public class Foo extends Bar {
 ``` xml
 <rule ref="category/apex/design.xml/NcssConstructorCount">
     <properties>
-        <property name="minimum" value="20.0" />
+        <property name="minimum" value="20" />
     </properties>
 </rule>
 ```
@@ -377,12 +351,7 @@ public class Foo extends Bar {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|topscore||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Top score value|no|
-|minimum|40.0|Minimum reporting threshold|no|
-|cc\_categories|Complexity|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|50|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-|sigma||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Sigma value|no|
+|minimum|40|Threshold above which a node is reported|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -393,7 +362,7 @@ public class Foo extends Bar {
 ``` xml
 <rule ref="category/apex/design.xml/NcssMethodCount">
     <properties>
-        <property name="minimum" value="40.0" />
+        <property name="minimum" value="40" />
     </properties>
 </rule>
 ```
@@ -431,12 +400,7 @@ public class Foo extends Bar {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|topscore||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Top score value|no|
-|minimum|500.0|Minimum reporting threshold|no|
-|cc\_categories|Complexity|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|250|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-|sigma||<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Sigma value|no|
+|minimum|500|Threshold above which a node is reported|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -447,7 +411,7 @@ public class Foo extends Bar {
 ``` xml
 <rule ref="category/apex/design.xml/NcssTypeCount">
     <properties>
-        <property name="minimum" value="500.0" />
+        <property name="minimum" value="500" />
     </properties>
 </rule>
 ```
@@ -510,9 +474,6 @@ public class Foo {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|cc\_categories|Complexity|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|250|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
 |reportLevel|10|Cyclomatic Complexity reporting threshold|no|
 |showClassesComplexity|true|Add class average violations to the report|no|
 |showMethodsComplexity|true|Add method average violations to the report|no|
@@ -568,9 +529,6 @@ public class Person {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|cc\_categories|Complexity|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|200|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
 |maxfields|15|Max allowable fields|no|
 
 **Use this rule with the default properties by just referencing it:**
diff --git a/docs/pages/pmd/rules/apex/documentation.md b/docs/pages/pmd/rules/apex/documentation.md
index 20a24496e8..05ef2de323 100644
--- a/docs/pages/pmd/rules/apex/documentation.md
+++ b/docs/pages/pmd/rules/apex/documentation.md
@@ -44,15 +44,7 @@ public class HelloWorld {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/documentation.xml/ApexDoc" />
 ```
diff --git a/docs/pages/pmd/rules/apex/errorprone.md b/docs/pages/pmd/rules/apex/errorprone.md
index 2e1c5ae832..cbea6d10d6 100644
--- a/docs/pages/pmd/rules/apex/errorprone.md
+++ b/docs/pages/pmd/rules/apex/errorprone.md
@@ -34,15 +34,7 @@ trigger AccountTrigger on Account (before insert, before update) {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/errorprone.xml/AvoidDirectAccessTriggerMap" />
 ```
@@ -74,15 +66,7 @@ public without sharing class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/errorprone.xml/AvoidHardcodingId" />
 ```
@@ -110,15 +94,7 @@ A full list of supported annotations can be found at https://developer.salesforc
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/errorprone.xml/AvoidNonExistentAnnotations" />
 ```
@@ -151,15 +127,7 @@ public void doSomething() {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/errorprone.xml/EmptyCatchBlock" />
 ```
@@ -190,15 +158,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/errorprone.xml/EmptyIfStmt" />
 ```
@@ -231,15 +191,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/errorprone.xml/EmptyStatementBlock" />
 ```
@@ -281,15 +233,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/errorprone.xml/EmptyTryOrFinallyBlock" />
 ```
@@ -319,15 +263,7 @@ public void bar(Integer a, Integer b) {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/errorprone.xml/EmptyWhileStmt" />
 ```
@@ -353,15 +289,7 @@ public class MyClass {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|50|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/errorprone.xml/MethodWithSameNameAsEnclosingClass" />
 ```
diff --git a/docs/pages/pmd/rules/apex/performance.md b/docs/pages/pmd/rules/apex/performance.md
index d092b7820f..7428d0d5a4 100644
--- a/docs/pages/pmd/rules/apex/performance.md
+++ b/docs/pages/pmd/rules/apex/performance.md
@@ -33,15 +33,7 @@ public class Something {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Performance|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|150|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/performance.xml/AvoidDmlStatementsInLoops" />
 ```
@@ -68,15 +60,7 @@ public class Something {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Performance|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|150|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/performance.xml/AvoidSoqlInLoops" />
 ```
@@ -103,15 +87,7 @@ public class Something {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Performance|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|150|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/performance.xml/AvoidSoslInLoops" />
 ```
diff --git a/docs/pages/pmd/rules/apex/security.md b/docs/pages/pmd/rules/apex/security.md
index e77159bddb..e7391c0b25 100644
--- a/docs/pages/pmd/rules/apex/security.md
+++ b/docs/pages/pmd/rules/apex/security.md
@@ -31,15 +31,7 @@ public without sharing class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexBadCrypto" />
 ```
@@ -75,15 +67,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexCRUDViolation" />
 ```
@@ -113,15 +97,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexCSRF" />
 ```
@@ -153,15 +129,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexDangerousMethods" />
 ```
@@ -188,15 +156,7 @@ public without sharing class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexInsecureEndpoint" />
 ```
@@ -223,15 +183,7 @@ public without sharing class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexOpenRedirect" />
 ```
@@ -255,15 +207,7 @@ public without sharing class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexSharingViolations" />
 ```
@@ -288,15 +232,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexSOQLInjection" />
 ```
@@ -335,15 +271,7 @@ public class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexSuggestUsingNamedCred" />
 ```
@@ -368,15 +296,7 @@ public without sharing class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|100|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexXSSFromEscapeFalse" />
 ```
@@ -401,15 +321,7 @@ public without sharing class Foo {
 }
 ```
 
-**This rule has the following properties:**
-
-|Name|Default Value|Description|Multivalued|
-|----|-------------|-----------|-----------|
-|cc\_categories|Security|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
-|cc\_remediation\_points\_multiplier|50|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
-|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-
-**Use this rule with the default properties by just referencing it:**
+**Use this rule by referencing it:**
 ``` xml
 <rule ref="category/apex/security.xml/ApexXSSFromURLParam" />
 ```
diff --git a/docs/pages/pmd/rules/java/design.md b/docs/pages/pmd/rules/java/design.md
index b0647c24cd..b8324a695c 100644
--- a/docs/pages/pmd/rules/java/design.md
+++ b/docs/pages/pmd/rules/java/design.md
@@ -464,7 +464,7 @@ details on the calculation, see the documentation of the [Cyclo metric](pmd_java
 
 Generally, numbers ranging from 1-4 denote low complexity, 5-7 denote moderate complexity, 8-10 denote
 high complexity, and 11+ is very high complexity. By default, this rule reports methods with a complexity &gt;= 10.
-Additionnally, classes with many methods of moderate complexity get reported as well once the total of their
+Additionally, classes with many methods of moderate complexity get reported as well once the total of their
 methods' complexities reaches 80, even if none of the methods was directly reported.
 
 Reported methods should be broken down into several smaller methods. Reported classes should probably be broken down

From 76af31dcab807699277ff8fa0f80742d42104bb1 Mon Sep 17 00:00:00 2001
From: "Venkatachalam, Srinivasan" <srvenkatachalam@paypal.com>
Date: Sun, 12 May 2019 12:23:50 +0530
Subject: [PATCH 083/371] [java] UnsynchronizedStaticFormatter documentation
 and implementation wrong #1814 - Fixed

---
 docs/pages/pmd/rules/java/multithreading.md   |  4 ++--
 .../UnsynchronizedStaticFormatterRule.java    |  2 +-
 .../xml/UnsynchronizedStaticDateFormatter.xml | 22 +++++++++++++++----
 .../xml/UnsynchronizedStaticFormatter.xml     | 19 ++++++++++++++--
 4 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/docs/pages/pmd/rules/java/multithreading.md b/docs/pages/pmd/rules/java/multithreading.md
index 43373006ee..256bb3e149 100644
--- a/docs/pages/pmd/rules/java/multithreading.md
+++ b/docs/pages/pmd/rules/java/multithreading.md
@@ -307,7 +307,7 @@ public class Foo {
     void bar() {
         sdf.format(); // poor, no thread-safety
     }
-    synchronized void foo() {
+    static synchronized void foo() {
         sdf.format(); // preferred
     }
 }
@@ -339,7 +339,7 @@ public class Foo {
     void bar() {
         sdf.format(); // poor, no thread-safety
     }
-    synchronized void foo() {
+    static synchronized void foo() {
         sdf.format(); // preferred
     }
 }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
index e4f43f3ecb..9a52e5397b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
@@ -69,7 +69,7 @@ public class UnsynchronizedStaticFormatterRule extends AbstractJavaRule {
             }
 
             ASTMethodDeclaration method = n.getFirstParentOfType(ASTMethodDeclaration.class);
-            if (method != null && !method.isSynchronized()) {
+            if (method != null && ( !method.isSynchronized() || !method.isStatic() )) {
                 addViolation(data, n);
             }
         }
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticDateFormatter.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticDateFormatter.xml
index aaad1b5dab..dce41430c7 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticDateFormatter.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticDateFormatter.xml
@@ -31,8 +31,8 @@ public class Foo {
      ]]></code>
     </test-code>
     <test-code>
-        <description>3, Inside synchronized, OK</description>
-        <expected-problems>0</expected-problems>
+        <description>3, Instace synchronized, Not OK</description>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.text.SimpleDateFormat;
 
@@ -61,8 +61,8 @@ public class Foo {
      ]]></code>
     </test-code>
     <test-code>
-        <description>5, Use DateFormat, ok</description>
-        <expected-problems>0</expected-problems>
+        <description>5, Use DateFormat with instance Synchronized, not ok</description>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.text.DateFormat;
 
@@ -105,4 +105,18 @@ public class Test {
 }
         ]]></code>
     </test-code>
+    <test-code>
+        <description>#1815 static synchronized, OK</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.text.SimpleDateFormat;
+
+public class Foo {
+    private static final SimpleDateFormat sdf = new SimpleDateFormat();
+    static synchronized void bar() {
+        sdf.format();
+    }
+}
+     ]]></code>
+    </test-code>
 </test-data>
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
index 5c9db4e1f0..c46600a570 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
@@ -32,7 +32,7 @@ public class Foo {
     </test-code>
     <test-code>
         <description>3, Inside synchronized, OK</description>
-        <expected-problems>0</expected-problems>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.text.SimpleDateFormat;
 
@@ -62,7 +62,7 @@ public class Foo {
     </test-code>
     <test-code>
         <description>5, Use DateFormat, ok</description>
-        <expected-problems>0</expected-problems>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.text.DateFormat;
 
@@ -149,4 +149,19 @@ public class Foo {
 }
      ]]></code>
     </test-code>
+    <test-code>
+        <description>#1815 static synchronized, OK</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.text.SimpleDateFormat;
+
+public class Foo {
+    private static final SimpleDateFormat sdf = new SimpleDateFormat();
+    static synchronized void bar() {
+        sdf.format();
+    }
+}
+     ]]></code>
+    </test-code>
+
 </test-data>

From eaaf7e48dd70b37f20345218663be95cb559fc75 Mon Sep 17 00:00:00 2001
From: "Venkatachalam, Srinivasan" <srvenkatachalam@paypal.com>
Date: Sun, 12 May 2019 12:36:13 +0530
Subject: [PATCH 084/371] checkstyle violation fix

---
 .../rule/multithreading/UnsynchronizedStaticFormatterRule.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
index 9a52e5397b..638f3ab975 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
@@ -69,7 +69,7 @@ public class UnsynchronizedStaticFormatterRule extends AbstractJavaRule {
             }
 
             ASTMethodDeclaration method = n.getFirstParentOfType(ASTMethodDeclaration.class);
-            if (method != null && ( !method.isSynchronized() || !method.isStatic() )) {
+            if (method != null && (!method.isSynchronized() || !method.isStatic())) {
                 addViolation(data, n);
             }
         }

From 5a5eee16ca664b0ed2276326e5b5dfb896044f56 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 12 May 2019 15:51:38 +0200
Subject: [PATCH 085/371] Update release notes, fixes #1830, refs #1813

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 0c717925c2..31b5e97412 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -58,6 +58,8 @@ For the changes, see [PMD Designer Changelog](https://github.com/pmd/pmd-designe
     *   [#1782](https://github.com/pmd/pmd/issues/1782): \[java] NoPackage: False Negative for enums
 *   java-design
     *   [#1760](https://github.com/pmd/pmd/issues/1760): \[java] UseObjectForClearerAPI flags private methods
+*   matlab
+    *   [#1830](https://github.com/pmd/pmd/issues/1830): \[matlab] \[cpd] Parse error with comments
 
 ### API Changes
 
@@ -73,6 +75,7 @@ No changes.
 *   [#1781](https://github.com/pmd/pmd/pull/1781): \[java] Location change in AssignmentToNonFinalStatic - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1789](https://github.com/pmd/pmd/pull/1789): \[cpd] \[core] Use current classloader instead of Thread's classloader - [Andreas Schmid](https://github.com/aaschmid)
 *   [#1791](https://github.com/pmd/pmd/pull/1791): \[dart] \[cpd] Dart escaped string - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1813](https://github.com/pmd/pmd/pull/1813): \[matlab] \[cpd] Matlab comments - [Maikel Steneker](https://github.com/maikelsteneker)
 
 {% endtocmaker %}
 

From bacc7b2a668de3f2e458291f7be6c4c155c02ef2 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 12 May 2019 15:58:35 +0200
Subject: [PATCH 086/371] Update release notes, refs #1822

---
 docs/pages/release_notes.md | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 0c717925c2..235858e7ba 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -29,6 +29,16 @@ Being based on a proper Antlr grammar, CPD can:
 This PMD release ships a new version of the pmd-designer.
 For the changes, see [PMD Designer Changelog](https://github.com/pmd/pmd-designer/blob/6.14.0/CHANGELOG.md).
 
+#### Enhanced Matlab support
+
+Thanks to the contribution from [Maikel Steneker](https://github.com/maikelsteneker) CPD for Matlab can
+now parse double quoted strings, which are supported since version R2017a of Matlab:
+
+```
+str = "This is a string"
+```
+
+
 ### Modified Rules
 
 *   The Java rule {% rule "java/errorprone/AssignmentToNonFinalStatic" %} (`java-errorprone`) will now report on each
@@ -73,6 +83,7 @@ No changes.
 *   [#1781](https://github.com/pmd/pmd/pull/1781): \[java] Location change in AssignmentToNonFinalStatic - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1789](https://github.com/pmd/pmd/pull/1789): \[cpd] \[core] Use current classloader instead of Thread's classloader - [Andreas Schmid](https://github.com/aaschmid)
 *   [#1791](https://github.com/pmd/pmd/pull/1791): \[dart] \[cpd] Dart escaped string - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1822](https://github.com/pmd/pmd/pull/1822): \[matlab] \[cpd] Double quoted string - [Maikel Steneker](https://github.com/maikelsteneker)
 
 {% endtocmaker %}
 

From 93050a2c7f4dd3cb326a364c0ea69e817f4829de Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 12 May 2019 16:06:23 +0200
Subject: [PATCH 087/371] Improve unit test

---
 .../test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
index 128fced6b3..b0fdd778c4 100644
--- a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
+++ b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
@@ -51,7 +51,6 @@ public class MatlabTokenizerTest extends AbstractTokenizerTest {
         ));
         Tokens tokens = new Tokens();
         tokenizer.tokenize(sourceCode, tokens);
-        TokenEntry.getEOF();
         assertEquals(2, tokens.size()); // 2 tokens: "end" + EOF
     }
 
@@ -61,7 +60,7 @@ public class MatlabTokenizerTest extends AbstractTokenizerTest {
                 "error(\"This is a double-quoted string\");"));
         Tokens tokens = new Tokens();
         tokenizer.tokenize(sourceCode, tokens);
-        TokenEntry.getEOF();
+        assertEquals("\"This is a double-quoted string\"", tokens.getTokens().get(2).toString());
         assertEquals(6, tokens.size());
     }
 }

From 1f02f5ff7f4a5172bbb28677b6bded7fc3a42b4c Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 12 May 2019 16:12:07 +0200
Subject: [PATCH 088/371] Update release notes, refs #1821

---
 docs/pages/release_notes.md                          | 12 ++++++++++++
 .../net/sourceforge/pmd/cpd/MatlabTokenizerTest.java |  1 -
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 0c717925c2..2d8a1811bf 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -29,6 +29,17 @@ Being based on a proper Antlr grammar, CPD can:
 This PMD release ships a new version of the pmd-designer.
 For the changes, see [PMD Designer Changelog](https://github.com/pmd/pmd-designer/blob/6.14.0/CHANGELOG.md).
 
+#### Enhanced Matlab support
+
+Thanks to the contribution from [Maikel Steneker](https://github.com/maikelsteneker) CPD for Matlab can
+now parse matlab programs which use the question mark operator to specify access to
+class members:
+
+```
+lassdef Class1
+properties (SetAccess = ?Class2)
+```
+
 ### Modified Rules
 
 *   The Java rule {% rule "java/errorprone/AssignmentToNonFinalStatic" %} (`java-errorprone`) will now report on each
@@ -73,6 +84,7 @@ No changes.
 *   [#1781](https://github.com/pmd/pmd/pull/1781): \[java] Location change in AssignmentToNonFinalStatic - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1789](https://github.com/pmd/pmd/pull/1789): \[cpd] \[core] Use current classloader instead of Thread's classloader - [Andreas Schmid](https://github.com/aaschmid)
 *   [#1791](https://github.com/pmd/pmd/pull/1791): \[dart] \[cpd] Dart escaped string - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1821](https://github.com/pmd/pmd/pull/1821): \[matlab] \[cpd] Matlab question mark token - [Maikel Steneker](https://github.com/maikelsteneker)
 
 {% endtocmaker %}
 
diff --git a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
index 6f10aa814d..ae041a3e1c 100644
--- a/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
+++ b/pmd-matlab/src/test/java/net/sourceforge/pmd/cpd/MatlabTokenizerTest.java
@@ -61,7 +61,6 @@ public class MatlabTokenizerTest extends AbstractTokenizerTest {
                 + "properties (SetAccess = ?Class2)"));
         Tokens tokens = new Tokens();
         tokenizer.tokenize(sourceCode, tokens);
-        TokenEntry.getEOF();
         assertEquals(10, tokens.size());
     }
 }

From 44ca6d307e55081b3e14f4b7022e2d8f4c2ecd74 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 12 May 2019 19:25:08 +0200
Subject: [PATCH 089/371] Improve unit test

---
 .../src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java b/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
index f6a8dc11fd..1796852fda 100644
--- a/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
+++ b/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
@@ -166,8 +166,8 @@ public class CPPTokenizerTest {
                 + "auto hex_literal = 0x0F00'abcd'6f3d;" + PMD.EOL
                 + "auto silly_example = 1'0'0'000'00;";
         Tokens tokens = parse(code);
-        System.out.println(tokens.getTokens());
         assertTrue(TokenEntry.getEOF() != tokens.getTokens().get(0));
+        assertEquals("1'000'000", tokens.getTokens().get(3).toString());
         assertEquals(21, tokens.size());
     }
 

From 615ebb6fe3af37a062ec925569384d0327f078fa Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 12 May 2019 19:25:23 +0200
Subject: [PATCH 090/371] Update release notes, refs #1819

---
 docs/pages/release_notes.md | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 0c717925c2..d5226fd6a6 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -29,6 +29,14 @@ Being based on a proper Antlr grammar, CPD can:
 This PMD release ships a new version of the pmd-designer.
 For the changes, see [PMD Designer Changelog](https://github.com/pmd/pmd-designer/blob/6.14.0/CHANGELOG.md).
 
+#### Enhanced C++ support
+
+CPD now supports digit separators in C++ (language module "cpp"). This is a C++14 feature.
+
+Example: `auto integer_literal = 1'000'000;`
+
+The single quotes can be used to add some structure to large numbers.
+
 ### Modified Rules
 
 *   The Java rule {% rule "java/errorprone/AssignmentToNonFinalStatic" %} (`java-errorprone`) will now report on each
@@ -73,6 +81,7 @@ No changes.
 *   [#1781](https://github.com/pmd/pmd/pull/1781): \[java] Location change in AssignmentToNonFinalStatic - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1789](https://github.com/pmd/pmd/pull/1789): \[cpd] \[core] Use current classloader instead of Thread's classloader - [Andreas Schmid](https://github.com/aaschmid)
 *   [#1791](https://github.com/pmd/pmd/pull/1791): \[dart] \[cpd] Dart escaped string - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1819](https://github.com/pmd/pmd/pull/1819): \[cpp] \[cpd] Add support for digit separators - [Maikel Steneker](https://github.com/maikelsteneker)
 
 {% endtocmaker %}
 

From 5f24c07a831f80af3a46c37a76b10e4cdc0daadf Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Mon, 13 May 2019 14:31:10 +0200
Subject: [PATCH 091/371] Rewrote unit tests for C++ raw string literals.

---
 .../sourceforge/pmd/cpd/CPPTokenizerTest.java | 71 +++++++++++++++----
 .../sourceforge/pmd/cpd/cpp/issue-1559.cpp    |  2 +-
 2 files changed, 58 insertions(+), 15 deletions(-)

diff --git a/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java b/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
index 883716cb06..7ea59bc95d 100644
--- a/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
+++ b/pmd-cpp/src/test/java/net/sourceforge/pmd/cpd/CPPTokenizerTest.java
@@ -159,27 +159,70 @@ public class CPPTokenizerTest {
         tokenizer.tokenize(code, new Tokens());
     }
 
+    public void testStringPrefix(String code, String expToken, int tokenIndex, int expNoTokens) {
+        final Tokens tokens = parse(code);
+        final TokenEntry token = tokens.getTokens().get(tokenIndex);
+        assertEquals(expNoTokens, tokens.size());
+        assertEquals(expToken, token.toString());
+    }
+
+    public void testCharacterPrefix(String code, String expToken) {
+        testStringPrefix(code, expToken, 3, 6);
+    }
+
+    public void testStringPrefix(String code, String expToken) {
+        testStringPrefix(code, expToken, 5, 8);
+    }
+
     @Test
-    public void testStringPrefixes() {
-        final String code = "char     a =  '\\x30';         // character, no semantics" + PMD.EOL
-                + "wchar_t  b = L'\\xFFEF';       // wide character, no semantics" + PMD.EOL
-                + "char16_t c = u'\\u00F6';       // 16-bit, assumed UTF16?" + PMD.EOL
-                + "char32_t d = U'\\U0010FFFF';   // 32-bit, assumed UCS-4" + PMD.EOL
-                + "char     A[] =  \"Hello\\x0A\";         // byte string, \"narrow encoding\"" + PMD.EOL
-                + "wchar_t  B[] = L\"Hell\\xF6\\x0A\";      // wide string, impl-def'd encoding" + PMD.EOL
-                + "char16_t C[] = u\"Hell\\u00F6\";        // (1)" + PMD.EOL
-                + "char32_t D[] = U\"Hell\\U000000F6\\U0010FFFF\"; // (2)" + PMD.EOL
-                + "auto     E[] = u8\"\\u00F6\\U0010FFFF\"; // (3)";
-        Tokens tokens = parse(code);
-        assertTrue(TokenEntry.getEOF() != tokens.getTokens().get(0));
-        assertEquals(58, tokens.size());
+    public void testCharacterPrefixNoPrefix() {
+        testCharacterPrefix("char a =  '\\x30';", "'\\x30'");
+    }
+
+    @Test
+    public void testCharacterPrefixWideCharacter() {
+        testCharacterPrefix("wchar_t b = L'\\xFFEF';", "L'\\xFFEF'");
+    }
+
+    @Test
+    public void testCharacterPrefixChar16() {
+        testCharacterPrefix("char16_t c = u'\\u00F6';", "u'\\u00F6'");
+    }
+
+    @Test
+    public void testCharacterPrefixChar32() {
+        testCharacterPrefix("char32_t d = U'\\U0010FFFF';", "U'\\U0010FFFF'");
+    }
+
+    @Test
+    public void testStringPrefixNoPrefix() {
+        testStringPrefix("char A[] = \"Hello\\x0A\";", "\"Hello\\x0A\"");
+    }
+
+    @Test
+    public void testStringPrefixWideString() {
+        testStringPrefix("wchar_t B[] = L\"Hell\\xF6\\x0A\";", "L\"Hell\\xF6\\x0A\"");
+    }
+
+    @Test
+    public void testStringPrefixChar16() {
+        testStringPrefix("char16_t C[] = u\"Hell\\u00F6\";", "u\"Hell\\u00F6\"");
+    }
+
+    @Test
+    public void testStringPrefixChar32() {
+        testStringPrefix("char32_t D[] = U\"Hell\\U000000F6\\U0010FFFF\";", "U\"Hell\\U000000F6\\U0010FFFF\"");
+    }
+
+    @Test
+    public void testStringPrefixUtf8() {
+        testStringPrefix("auto E[] = u8\"\\u00F6\\U0010FFFF\";", "u8\"\\u00F6\\U0010FFFF\"");
     }
 
     @Test
     public void testRawStringLiterals() throws IOException {
         final String code = IOUtils.toString(CPPTokenizerTest.class.getResourceAsStream("cpp/issue-1784.cpp"), StandardCharsets.UTF_8);
         Tokens tokens = parse(code);
-        System.out.println(tokens.getTokens());
         assertTrue(TokenEntry.getEOF() != tokens.getTokens().get(0));
         assertEquals(16, tokens.size());
     }
diff --git a/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1559.cpp b/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1559.cpp
index a60ce005b5..cdf47c53e6 100644
--- a/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1559.cpp
+++ b/pmd-cpp/src/test/resources/net/sourceforge/pmd/cpd/cpp/issue-1559.cpp
@@ -4,7 +4,7 @@ namespace ABC
   {
 
 #ifdef USE_QT
-    const char* perPixelQml = "QML(
+    const char* perPixelQml = "QML( // provoking a parser error
 )QML";
   }
 }

From 95673a0bfc6067ed860de0b385eb23820f46e8ca Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Mon, 13 May 2019 14:31:33 +0200
Subject: [PATCH 092/371] Added support for character prefixes + various other
 improvements.

---
 pmd-cpp/etc/grammar/cpp.jj | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/pmd-cpp/etc/grammar/cpp.jj b/pmd-cpp/etc/grammar/cpp.jj
index c8344a270b..7a691dbc30 100644
--- a/pmd-cpp/etc/grammar/cpp.jj
+++ b/pmd-cpp/etc/grammar/cpp.jj
@@ -96,7 +96,7 @@ public final class CppParser {
      if (t.kind != ID && t.kind != SCOPE)
         return null;
 
-     StringBuffer s = new StringBuffer();
+     StringBuilder s = new StringBuilder();
 
      int i;
      if (t.kind != SCOPE)
@@ -309,10 +309,11 @@ TOKEN [IGNORE_CASE] :
 
 TOKEN :
 {
+  < #CHRPREF : <STRPREF>>
+| <  CHARACTER : <CHRPREF>
+      "'" ( ( ~["'","\\","\r","\n"] ) | ( "\\" ( ~["\n","\r"] ) ) )* "'" >
 
-  <  CHARACTER : ("L")? "'" ( ( ~["'","\\","\r","\n"] ) | ( "\\" ( ~["\n","\r"] ) ) )* "'" >
-
-| < #STRPREF : (["L", "u", "U"] | "u8")? >
+| < #STRPREF : ("L" | "u" | "U" | "u8")? >
 | <  STRING : <STRPREF>
       "\"" ( ( ~["\"","\\","\r","\n"] ) | ( "\\" ( ~["\n","\r"] | "\n" | "\r\n" ) ) )* "\"" >
 
@@ -324,7 +325,7 @@ TOKEN :
 {
   <  RSTRING : <STRPREF> "R\"" >
   {
-    StringBuffer sb = new StringBuffer(16);
+    StringBuilder sb = new StringBuilder(16);
 
     // delim ------+
     //            vvv
@@ -338,14 +339,12 @@ TOKEN :
     }
     final String delim = sb.toString();
 
-    sb = new StringBuffer(256);
 rstringbody:
     // Matching R"...(...)..."
     //                   ^
     for (;;) {
       try { curChar = input_stream.readChar(); }
       catch(java.io.IOException e) { return; }
-      sb.append(curChar);
       if (curChar == ')') {
 	// delim --------------+
 	//                    vvv
@@ -358,7 +357,6 @@ rstringbody:
 	    input_stream.backup(1);
 	    continue rstringbody;
 	  }
-	  sb.append(curChar);
 	}
 	// Matching R"...(...)..."
 	//                       ^
@@ -368,12 +366,13 @@ rstringbody:
 	  input_stream.backup(1);
 	  continue rstringbody;
 	}
-	sb.append(curChar);
 	break;
       }
     }
     // Setting final token image
-    matchedToken.image += delim + "(" + sb.toString();
+    matchedToken.image = input_stream.GetImage();
+    matchedToken.endLine = input_stream.getEndLine();
+    matchedToken.endColumn = input_stream.getEndColumn();
   }
 }
 

From a0bffae1a159e3086f3cc0adf544d66cabadd143 Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Mon, 13 May 2019 13:08:25 -0400
Subject: [PATCH 093/371] Make AbstractRegexNamingConventionsRule package
 private

---
 .../apex/rule/codestyle/AbstractRegexNamingConventionsRule.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
index f328c67117..25b5414591 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
@@ -14,7 +14,7 @@ import net.sourceforge.pmd.lang.apex.rule.AbstractApexRule;
 import net.sourceforge.pmd.properties.PropertyBuilder;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
-public abstract class AbstractRegexNamingConventionsRule extends AbstractApexRule {
+abstract class AbstractRegexNamingConventionsRule extends AbstractApexRule {
     protected static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
     protected static final String PASCAL_CASE = "[A-Z][a-zA-Z0-9]*";
 

From 63c71366bdd39898e22571e0fc03bcb0b73ee0a8 Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Mon, 13 May 2019 13:17:09 -0400
Subject: [PATCH 094/371] Compile regexes once

---
 .../rule/codestyle/AbstractRegexNamingConventionsRule.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
index 25b5414591..f1267593b9 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
@@ -15,8 +15,8 @@ import net.sourceforge.pmd.properties.PropertyBuilder;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
 abstract class AbstractRegexNamingConventionsRule extends AbstractApexRule {
-    protected static final String CAMEL_CASE = "[a-z][a-zA-Z0-9]*";
-    protected static final String PASCAL_CASE = "[A-Z][a-zA-Z0-9]*";
+    protected static final Pattern CAMEL_CASE = Pattern.compile("[a-z][a-zA-Z0-9]*");
+    protected static final Pattern PASCAL_CASE = Pattern.compile("[A-Z][a-zA-Z0-9]*");
 
     abstract String displayName(String name);
 

From ff7abcf224b1ac55c1b5b8e9ef7d33c0ade4d43f Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Mon, 13 May 2019 13:44:38 -0400
Subject: [PATCH 095/371] Get names without reflection

---
 .../pmd/lang/apex/ast/ASTUserClass.java       | 13 ++------
 .../pmd/lang/apex/ast/ASTUserEnum.java        | 13 ++------
 .../pmd/lang/apex/ast/ASTUserInterface.java   | 13 ++------
 .../pmd/lang/apex/ast/ASTUserTrigger.java     | 12 +------
 .../pmd/lang/apex/ast/ASTUserClassTest.java   | 31 +++++++++++++++++++
 .../pmd/lang/apex/ast/ASTUserEnumTest.java    | 24 ++++++++++++++
 .../lang/apex/ast/ASTUserInterfaceTest.java   | 31 +++++++++++++++++++
 7 files changed, 93 insertions(+), 44 deletions(-)
 create mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserClassTest.java
 create mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnumTest.java
 create mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserInterfaceTest.java

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserClass.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserClass.java
index 87f94bc3ce..08a7eb2857 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserClass.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserClass.java
@@ -4,11 +4,8 @@
 
 package net.sourceforge.pmd.lang.apex.ast;
 
-import java.lang.reflect.Field;
-
 import net.sourceforge.pmd.Rule;
 
-import apex.jorje.data.Identifier;
 import apex.jorje.semantic.ast.compilation.UserClass;
 
 public class ASTUserClass extends ApexRootNode<UserClass> implements ASTUserClassOrInterface<UserClass>,
@@ -29,14 +26,8 @@ public class ASTUserClass extends ApexRootNode<UserClass> implements ASTUserClas
 
     @Override
     public String getImage() {
-        try {
-            Field field = node.getClass().getDeclaredField("name");
-            field.setAccessible(true);
-            Identifier name = (Identifier) field.get(node);
-            return name.getValue();
-        } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
-            throw new RuntimeException(e);
-        }
+        String apexName = node.getDefiningType().getApexName();
+        return apexName.substring(apexName.lastIndexOf('.') + 1);
     }
 
     @Override
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnum.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnum.java
index fade85f7d5..54e5034fdc 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnum.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnum.java
@@ -4,9 +4,6 @@
 
 package net.sourceforge.pmd.lang.apex.ast;
 
-import java.lang.reflect.Field;
-
-import apex.jorje.data.Identifier;
 import apex.jorje.semantic.ast.compilation.UserEnum;
 
 public class ASTUserEnum extends ApexRootNode<UserEnum> {
@@ -22,14 +19,8 @@ public class ASTUserEnum extends ApexRootNode<UserEnum> {
 
     @Override
     public String getImage() {
-        try {
-            Field field = node.getClass().getDeclaredField("name");
-            field.setAccessible(true);
-            Identifier name = (Identifier) field.get(node);
-            return name.getValue();
-        } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
-            throw new RuntimeException(e);
-        }
+        String apexName = node.getDefiningType().getApexName();
+        return apexName.substring(apexName.lastIndexOf('.') + 1);
     }
 
     public ASTModifierNode getModifiers() {
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserInterface.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserInterface.java
index af6ccb8100..645b6e02aa 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserInterface.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserInterface.java
@@ -4,11 +4,8 @@
 
 package net.sourceforge.pmd.lang.apex.ast;
 
-import java.lang.reflect.Field;
-
 import net.sourceforge.pmd.Rule;
 
-import apex.jorje.data.Identifier;
 import apex.jorje.semantic.ast.compilation.UserInterface;
 
 public class ASTUserInterface extends ApexRootNode<UserInterface> implements ASTUserClassOrInterface<UserInterface>,
@@ -27,14 +24,8 @@ public class ASTUserInterface extends ApexRootNode<UserInterface> implements AST
 
     @Override
     public String getImage() {
-        try {
-            Field field = node.getClass().getDeclaredField("name");
-            field.setAccessible(true);
-            Identifier name = (Identifier) field.get(node);
-            return name.getValue();
-        } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
-            throw new RuntimeException(e);
-        }
+        String apexName = node.getDefiningType().getApexName();
+        return apexName.substring(apexName.lastIndexOf('.') + 1);
     }
 
     @Override
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserTrigger.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserTrigger.java
index 3360750889..66c9b32004 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserTrigger.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ASTUserTrigger.java
@@ -4,9 +4,6 @@
 
 package net.sourceforge.pmd.lang.apex.ast;
 
-import java.lang.reflect.Field;
-
-import apex.jorje.data.Identifier;
 import apex.jorje.semantic.ast.compilation.UserTrigger;
 
 public class ASTUserTrigger extends ApexRootNode<UserTrigger> {
@@ -22,14 +19,7 @@ public class ASTUserTrigger extends ApexRootNode<UserTrigger> {
 
     @Override
     public String getImage() {
-        try {
-            Field field = node.getClass().getDeclaredField("name");
-            field.setAccessible(true);
-            Identifier name = (Identifier) field.get(node);
-            return name.getValue();
-        } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
-            throw new RuntimeException(e);
-        }
+        return node.getDefiningType().getApexName();
     }
 
     public ASTModifierNode getModifiers() {
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserClassTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserClassTest.java
new file mode 100644
index 0000000000..7e2ea41201
--- /dev/null
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserClassTest.java
@@ -0,0 +1,31 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.ast;
+
+import static net.sourceforge.pmd.lang.apex.ast.ApexParserTestHelpers.parse;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import apex.jorje.semantic.ast.compilation.Compilation;
+
+public class ASTUserClassTest {
+
+    @Test
+    public void testClassName() {
+        ApexNode<Compilation> node = parse("class Foo { }");
+        Assert.assertSame(ASTUserClass.class, node.getClass());
+        Assert.assertEquals("Foo", node.getImage());
+    }
+
+    @Test
+    public void testInnerClassName() {
+        ApexNode<Compilation> node = parse("class Foo { class Bar { } }");
+        Assert.assertSame(ASTUserClass.class, node.getClass());
+        ASTUserClass innerNode = node.getFirstDescendantOfType(ASTUserClass.class);
+        Assert.assertNotNull(innerNode);
+        Assert.assertEquals("Bar", innerNode.getImage());
+    }
+}
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnumTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnumTest.java
new file mode 100644
index 0000000000..827833e4bd
--- /dev/null
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserEnumTest.java
@@ -0,0 +1,24 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.ast;
+
+import static net.sourceforge.pmd.lang.apex.ast.ApexParserTestHelpers.parse;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import apex.jorje.semantic.ast.compilation.Compilation;
+
+public class ASTUserEnumTest {
+
+    @Test
+    public void testEnumName() {
+        ApexNode<Compilation> node = parse("class Foo { enum Bar { } }");
+        Assert.assertSame(ASTUserClass.class, node.getClass());
+        ASTUserEnum enumNode = node.getFirstDescendantOfType(ASTUserEnum.class);
+        Assert.assertNotNull(enumNode);
+        Assert.assertEquals("Bar", enumNode.getImage());
+    }
+}
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserInterfaceTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserInterfaceTest.java
new file mode 100644
index 0000000000..f7944db734
--- /dev/null
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/ast/ASTUserInterfaceTest.java
@@ -0,0 +1,31 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.apex.ast;
+
+import static net.sourceforge.pmd.lang.apex.ast.ApexParserTestHelpers.parse;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import apex.jorje.semantic.ast.compilation.Compilation;
+
+public class ASTUserInterfaceTest {
+
+    @Test
+    public void testInterfaceName() {
+        ApexNode<Compilation> node = parse("interface Foo { }");
+        Assert.assertSame(ASTUserInterface.class, node.getClass());
+        Assert.assertEquals("Foo", node.getImage());
+    }
+
+    @Test
+    public void testInnerInterfaceName() {
+        ApexNode<Compilation> node = parse("class Foo { interface Bar { } }");
+        Assert.assertSame(ASTUserClass.class, node.getClass());
+        ASTUserInterface innerNode = node.getFirstDescendantOfType(ASTUserInterface.class);
+        Assert.assertNotNull(innerNode);
+        Assert.assertEquals("Bar", innerNode.getImage());
+    }
+}

From 1053d31fd7318a781900f8a00343d76a58fc0232 Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Mon, 13 May 2019 17:01:44 -0400
Subject: [PATCH 096/371] Use all caps for constant fields

---
 .../AbstractRegexNamingConventionsRule.java   |  1 +
 .../FieldRegexNamingConventionsRule.java      |  4 ++--
 .../xml/FieldRegexNamingConventions.xml       | 22 +++++++++----------
 3 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
index f1267593b9..1dd82cf96f 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
@@ -17,6 +17,7 @@ import net.sourceforge.pmd.properties.PropertyDescriptor;
 abstract class AbstractRegexNamingConventionsRule extends AbstractApexRule {
     protected static final Pattern CAMEL_CASE = Pattern.compile("[a-z][a-zA-Z0-9]*");
     protected static final Pattern PASCAL_CASE = Pattern.compile("[A-Z][a-zA-Z0-9]*");
+    protected static final Pattern ALL_CAPS = Pattern.compile("[A-Z][A-Z0-9_]*");
 
     abstract String displayName(String name);
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
index 5e9a8ce3aa..628c99676c 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
@@ -18,10 +18,10 @@ public class FieldRegexNamingConventionsRule extends AbstractRegexNamingConventi
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
     private static final PropertyDescriptor<Pattern> ENUM_CONSTANT_REGEX = prop("enumConstantPattern", "enum constant field",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue("[A-Z][A-Z0-9_]*").build();
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(ALL_CAPS).build();
 
     private static final PropertyDescriptor<Pattern> CONSTANT_REGEX = prop("constantPattern", "constant field",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(ALL_CAPS).build();
 
     private static final PropertyDescriptor<Pattern> FINAL_REGEX = prop("finalPattern", "final field",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml
index 9577096b1a..b5de65a6b6 100644
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml
@@ -10,7 +10,7 @@
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 public class Foo {
-    final static Integer constantField;
+    final static Integer CONSTANT_FIELD;
     final Integer finalField;
     static Integer staticField;
     Integer instanceField;
@@ -22,17 +22,17 @@ public class Foo {
     </test-code>
 
     <test-code>
-    <description>default is camel case</description>
+    <description>default is all caps for constants, camel case for others</description>
     <expected-problems>4</expected-problems>
     <expected-messages>
-        <message>The constant field name 'CONSTANT_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        <message>The constant field name 'constantField' doesn't match '[A-Z][A-Z0-9_]*'</message>
         <message>The final field name 'FINAL_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
         <message>The static field name 'STATIC_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
         <message>The instance field name 'INSTANCE_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
     </expected-messages>
     <code><![CDATA[
 public class Foo {
-    final static Integer CONSTANT_FIELD;
+    final static Integer constantField;
     final Integer FINAL_FIELD;
     static Integer STATIC_FIELD;
     Integer INSTANCE_FIELD;
@@ -89,7 +89,7 @@ public class Foo {
         </expected-messages>
         <code><![CDATA[
 public class Foo {
-    final static Integer CONSTANT_FIELD;
+    final static Integer constantField;
     final Integer FINAL_FIELD;
     static Integer STATIC_FIELD;
     Integer INSTANCE_FIELD;
@@ -102,13 +102,13 @@ public class Foo {
         <rule-property name="finalPattern">[a-zA-Z0-9_]+</rule-property>
         <expected-problems>3</expected-problems>
         <expected-messages>
-            <message>The constant field name 'CONSTANT_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The constant field name 'constantField' doesn't match '[A-Z][A-Z0-9_]*'</message>
             <message>The static field name 'STATIC_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
             <message>The instance field name 'INSTANCE_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
         </expected-messages>
         <code><![CDATA[
 public class Foo {
-    final static Integer CONSTANT_FIELD;
+    final static Integer constantField;
     final Integer FINAL_FIELD;
     static Integer STATIC_FIELD;
     Integer INSTANCE_FIELD;
@@ -121,13 +121,13 @@ public class Foo {
         <rule-property name="staticPattern">[a-zA-Z0-9_]+</rule-property>
         <expected-problems>3</expected-problems>
         <expected-messages>
-            <message>The constant field name 'CONSTANT_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The constant field name 'constantField' doesn't match '[A-Z][A-Z0-9_]*'</message>
             <message>The final field name 'FINAL_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
             <message>The instance field name 'INSTANCE_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
         </expected-messages>
         <code><![CDATA[
 public class Foo {
-    final static Integer CONSTANT_FIELD;
+    final static Integer constantField;
     final Integer FINAL_FIELD;
     static Integer STATIC_FIELD;
     Integer INSTANCE_FIELD;
@@ -140,13 +140,13 @@ public class Foo {
         <rule-property name="instancePattern">[a-zA-Z0-9_]+</rule-property>
         <expected-problems>3</expected-problems>
         <expected-messages>
-            <message>The constant field name 'CONSTANT_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The constant field name 'constantField' doesn't match '[A-Z][A-Z0-9_]*'</message>
             <message>The final field name 'FINAL_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
             <message>The static field name 'STATIC_FIELD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
         </expected-messages>
         <code><![CDATA[
 public class Foo {
-    final static Integer CONSTANT_FIELD;
+    final static Integer constantField;
     final Integer FINAL_FIELD;
     static Integer STATIC_FIELD;
     Integer INSTANCE_FIELD;

From 6e937ed1a9f5bc601b3206920c84f395b9875452 Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Tue, 14 May 2019 11:23:59 -0400
Subject: [PATCH 097/371] Remove Regex suffix from new rule names

---
 ...ava => AbstractNamingConventionsRule.java} |  13 +-
 .../codestyle/ClassNamingConventionsRule.java |  65 ++++++--
 .../ClassRegexNamingConventionsRule.java      |  77 ---------
 ...e.java => FieldNamingConventionsRule.java} |   9 +-
 ...FormalParameterNamingConventionsRule.java} |   9 +-
 ...> LocalVariableNamingConventionsRule.java} |   9 +-
 .../MethodNamingConventionsRule.java          |  55 +++++--
 .../MethodRegexNamingConventionsRule.java     |  77 ---------
 ...ava => PropertyNamingConventionsRule.java} |   9 +-
 .../resources/category/apex/codestyle.xml     |  65 ++------
 ...t.java => FieldNamingConventionsTest.java} |   2 +-
 ...FormalParameterNamingConventionsTest.java} |   2 +-
 ...alParameterRegexNamingConventionsTest.java |  11 --
 ...> LocalVariableNamingConventionsTest.java} |   2 +-
 ...calVariableRegexNamingConventionsTest.java |  11 --
 ...ava => PropertyNamingConventionsTest.java} |   2 +-
 .../codestyle/xml/ClassNamingConventions.xml  | 138 +++++++++++++++++
 .../xml/ClassRegexNamingConventions.xml       | 146 ------------------
 ...entions.xml => FieldNamingConventions.xml} |   0
 ...l => FormalParameterNamingConventions.xml} |   0
 ...xml => LocalVariableNamingConventions.xml} |   0
 .../codestyle/xml/MethodNamingConventions.xml | 127 +++++++++++++++
 .../xml/MethodRegexNamingConventions.xml      | 134 ----------------
 ...ions.xml => PropertyNamingConventions.xml} |   0
 24 files changed, 420 insertions(+), 543 deletions(-)
 rename pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/{AbstractRegexNamingConventionsRule.java => AbstractNamingConventionsRule.java} (67%)
 delete mode 100644 pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
 rename pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/{FieldRegexNamingConventionsRule.java => FieldNamingConventionsRule.java} (88%)
 rename pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/{FormalParameterRegexNamingConventionsRule.java => FormalParameterNamingConventionsRule.java} (81%)
 rename pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/{LocalVariableRegexNamingConventionsRule.java => LocalVariableNamingConventionsRule.java} (80%)
 delete mode 100644 pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
 rename pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/{PropertyRegexNamingConventionsRule.java => PropertyNamingConventionsRule.java} (80%)
 rename pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/{ClassRegexNamingConventionsTest.java => FieldNamingConventionsTest.java} (77%)
 rename pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/{MethodRegexNamingConventionsTest.java => FormalParameterNamingConventionsTest.java} (76%)
 delete mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsTest.java
 rename pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/{PropertyRegexNamingConventionsTest.java => LocalVariableNamingConventionsTest.java} (78%)
 delete mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsTest.java
 rename pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/{FieldRegexNamingConventionsTest.java => PropertyNamingConventionsTest.java} (77%)
 delete mode 100644 pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml
 rename pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/{FieldRegexNamingConventions.xml => FieldNamingConventions.xml} (100%)
 rename pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/{FormalParameterRegexNamingConventions.xml => FormalParameterNamingConventions.xml} (100%)
 rename pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/{LocalVariableRegexNamingConventions.xml => LocalVariableNamingConventions.xml} (100%)
 delete mode 100644 pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml
 rename pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/{PropertyRegexNamingConventions.xml => PropertyNamingConventions.xml} (100%)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractNamingConventionsRule.java
similarity index 67%
rename from pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
rename to pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractNamingConventionsRule.java
index 1dd82cf96f..53e6fa6894 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/AbstractNamingConventionsRule.java
@@ -14,9 +14,10 @@ import net.sourceforge.pmd.lang.apex.rule.AbstractApexRule;
 import net.sourceforge.pmd.properties.PropertyBuilder;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
-abstract class AbstractRegexNamingConventionsRule extends AbstractApexRule {
+abstract class AbstractNamingConventionsRule extends AbstractApexRule {
     protected static final Pattern CAMEL_CASE = Pattern.compile("[a-z][a-zA-Z0-9]*");
-    protected static final Pattern PASCAL_CASE = Pattern.compile("[A-Z][a-zA-Z0-9]*");
+    protected static final Pattern CAMEL_CASE_WITH_UNDERSCORES = Pattern.compile("[a-z][a-zA-Z0-9_]*");
+    protected static final Pattern PASCAL_CASE_WITH_UNDERSCORES = Pattern.compile("[A-Z][a-zA-Z0-9_]*");
     protected static final Pattern ALL_CAPS = Pattern.compile("[A-Z][A-Z0-9_]*");
 
     abstract String displayName(String name);
@@ -30,6 +31,14 @@ abstract class AbstractRegexNamingConventionsRule extends AbstractApexRule {
         }
     }
 
+    protected void checkMatches(PropertyDescriptor<Pattern> propertyDescriptor, Pattern overridePattern, ApexNode<?> node, Object data) {
+        String name = node.getImage();
+        if (!overridePattern.matcher(name).matches()) {
+            String displayName = displayName(propertyDescriptor.name());
+            addViolation(data, node, new Object[] { displayName, name, overridePattern.toString() });
+        }
+    }
+
     protected static PropertyBuilder.RegexPropertyBuilder prop(String name, String displayName, Map<String, String> descriptorToDisplayNames) {
         descriptorToDisplayNames.put(name, displayName);
         return regexProperty(name).desc("Regex which applies to " + displayName + " names");
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassNamingConventionsRule.java
index 433acc7fe3..9e956793e3 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassNamingConventionsRule.java
@@ -4,32 +4,79 @@
 
 package net.sourceforge.pmd.lang.apex.rule.codestyle;
 
-import net.sourceforge.pmd.lang.apex.ast.ASTUserClass;
-import net.sourceforge.pmd.lang.apex.ast.ASTUserInterface;
-import net.sourceforge.pmd.lang.apex.rule.AbstractApexRule;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
 
-public class ClassNamingConventionsRule extends AbstractApexRule {
+import net.sourceforge.pmd.lang.apex.ast.ASTUserClass;
+import net.sourceforge.pmd.lang.apex.ast.ASTUserEnum;
+import net.sourceforge.pmd.lang.apex.ast.ASTUserInterface;
+import net.sourceforge.pmd.properties.PropertyDescriptor;
+
+public class ClassNamingConventionsRule extends AbstractNamingConventionsRule {
+    private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
+
+    private static final PropertyDescriptor<Pattern> TEST_CLASS_REGEX = prop("testClassPattern", "test class",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE_WITH_UNDERSCORES).build();
+
+    private static final PropertyDescriptor<Pattern> ABSTRACT_CLASS_REGEX = prop("abstractClassPattern", "abstract class",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE_WITH_UNDERSCORES).build();
+
+    private static final PropertyDescriptor<Pattern> CLASS_REGEX = prop("classPattern", "class",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE_WITH_UNDERSCORES).build();
+
+    private static final PropertyDescriptor<Pattern> INTERFACE_REGEX = prop("interfacePattern", "interface",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE_WITH_UNDERSCORES).build();
+
+    private static final PropertyDescriptor<Pattern> ENUM_REGEX = prop("enumPattern", "enum",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE_WITH_UNDERSCORES).build();
 
     public ClassNamingConventionsRule() {
+        definePropertyDescriptor(TEST_CLASS_REGEX);
+        definePropertyDescriptor(ABSTRACT_CLASS_REGEX);
+        definePropertyDescriptor(CLASS_REGEX);
+        definePropertyDescriptor(INTERFACE_REGEX);
+        definePropertyDescriptor(ENUM_REGEX);
+
         setProperty(CODECLIMATE_CATEGORIES, "Style");
         // Note: x10 as Apex has not automatic refactoring
         setProperty(CODECLIMATE_REMEDIATION_MULTIPLIER, 5);
         setProperty(CODECLIMATE_BLOCK_HIGHLIGHTING, false);
+
+        addRuleChainVisit(ASTUserClass.class);
+        addRuleChainVisit(ASTUserInterface.class);
+        addRuleChainVisit(ASTUserEnum.class);
     }
 
     @Override
     public Object visit(ASTUserClass node, Object data) {
-        if (Character.isLowerCase(node.getImage().charAt(0))) {
-            addViolation(data, node);
+        if (node.getModifiers().isTest()) {
+            checkMatches(TEST_CLASS_REGEX, node, data);
+        } else if (node.getModifiers().isAbstract()) {
+            checkMatches(ABSTRACT_CLASS_REGEX, node, data);
+        } else {
+            checkMatches(CLASS_REGEX, node, data);
         }
+
         return data;
     }
 
     @Override
     public Object visit(ASTUserInterface node, Object data) {
-        if (Character.isLowerCase(node.getImage().charAt(0))) {
-            addViolation(data, node);
-        }
+        checkMatches(INTERFACE_REGEX, node, data);
+
         return data;
     }
+
+    @Override
+    public Object visit(ASTUserEnum node, Object data) {
+        checkMatches(ENUM_REGEX, node, data);
+
+        return data;
+    }
+
+    @Override
+    protected String displayName(String name) {
+        return DESCRIPTOR_TO_DISPLAY_NAME.get(name);
+    }
 }
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
deleted file mode 100644
index 2876be3685..0000000000
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsRule.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
- */
-
-package net.sourceforge.pmd.lang.apex.rule.codestyle;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Pattern;
-
-import net.sourceforge.pmd.lang.apex.ast.ASTUserClass;
-import net.sourceforge.pmd.lang.apex.ast.ASTUserEnum;
-import net.sourceforge.pmd.lang.apex.ast.ASTUserInterface;
-import net.sourceforge.pmd.properties.PropertyDescriptor;
-
-public class ClassRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
-    private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
-
-    private static final PropertyDescriptor<Pattern> TEST_CLASS_REGEX = prop("testClassPattern", "test class",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
-    
-    private static final PropertyDescriptor<Pattern> ABSTRACT_CLASS_REGEX = prop("abstractClassPattern", "abstract class",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
-    
-    private static final PropertyDescriptor<Pattern> CLASS_REGEX = prop("classPattern", "class",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
-    
-    private static final PropertyDescriptor<Pattern> INTERFACE_REGEX = prop("interfacePattern", "interface",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
-    
-    private static final PropertyDescriptor<Pattern> ENUM_REGEX = prop("enumPattern", "enum",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(PASCAL_CASE).build();
-
-    public ClassRegexNamingConventionsRule() {
-        definePropertyDescriptor(TEST_CLASS_REGEX);
-        definePropertyDescriptor(ABSTRACT_CLASS_REGEX);
-        definePropertyDescriptor(CLASS_REGEX);
-        definePropertyDescriptor(INTERFACE_REGEX);
-        definePropertyDescriptor(ENUM_REGEX);
-
-        addRuleChainVisit(ASTUserClass.class);
-        addRuleChainVisit(ASTUserInterface.class);
-        addRuleChainVisit(ASTUserEnum.class);
-    }
-
-    @Override
-    public Object visit(ASTUserClass node, Object data) {
-        if (node.getModifiers().isTest()) {
-            checkMatches(TEST_CLASS_REGEX, node, data);
-        } else if (node.getModifiers().isAbstract()) {
-            checkMatches(ABSTRACT_CLASS_REGEX, node, data);
-        } else {
-            checkMatches(CLASS_REGEX, node, data);
-        }
-
-        return data;
-    }
-
-    @Override
-    public Object visit(ASTUserInterface node, Object data) {
-        checkMatches(INTERFACE_REGEX, node, data);
-
-        return data;
-    }
-
-    @Override
-    public Object visit(ASTUserEnum node, Object data) {
-        checkMatches(ENUM_REGEX, node, data);
-
-        return data;
-    }
-
-    @Override
-    protected String displayName(String name) {
-        return DESCRIPTOR_TO_DISPLAY_NAME.get(name);
-    }
-}
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsRule.java
similarity index 88%
rename from pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
rename to pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsRule.java
index 628c99676c..d5c19968dc 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsRule.java
@@ -14,7 +14,7 @@ import net.sourceforge.pmd.lang.apex.ast.ASTProperty;
 import net.sourceforge.pmd.lang.apex.ast.ASTUserEnum;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
-public class FieldRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
+public class FieldNamingConventionsRule extends AbstractNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
     private static final PropertyDescriptor<Pattern> ENUM_CONSTANT_REGEX = prop("enumConstantPattern", "enum constant field",
@@ -32,13 +32,18 @@ public class FieldRegexNamingConventionsRule extends AbstractRegexNamingConventi
     private static final PropertyDescriptor<Pattern> INSTANCE_REGEX = prop("instancePattern", "instance field",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 
-    public FieldRegexNamingConventionsRule() {
+    public FieldNamingConventionsRule() {
         definePropertyDescriptor(ENUM_CONSTANT_REGEX);
         definePropertyDescriptor(CONSTANT_REGEX);
         definePropertyDescriptor(FINAL_REGEX);
         definePropertyDescriptor(STATIC_REGEX);
         definePropertyDescriptor(INSTANCE_REGEX);
 
+        setProperty(CODECLIMATE_CATEGORIES, "Style");
+        // Note: x10 as Apex has not automatic refactoring
+        setProperty(CODECLIMATE_REMEDIATION_MULTIPLIER, 1);
+        setProperty(CODECLIMATE_BLOCK_HIGHLIGHTING, false);
+
         addRuleChainVisit(ASTField.class);
     }
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsRule.java
similarity index 81%
rename from pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
rename to pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsRule.java
index a5246d8573..8c611cb2e3 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsRule.java
@@ -11,7 +11,7 @@ import java.util.regex.Pattern;
 import net.sourceforge.pmd.lang.apex.ast.ASTParameter;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
-public class FormalParameterRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
+public class FormalParameterNamingConventionsRule extends AbstractNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
     private static final PropertyDescriptor<Pattern> FINAL_METHOD_PARAMETER_REGEX = prop("finalMethodParameterPattern", "final method parameter",
@@ -20,10 +20,15 @@ public class FormalParameterRegexNamingConventionsRule extends AbstractRegexNami
     private static final PropertyDescriptor<Pattern> METHOD_PARAMETER_REGEX = prop("methodParameterPattern", "method parameter",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 
-    public FormalParameterRegexNamingConventionsRule() {
+    public FormalParameterNamingConventionsRule() {
         definePropertyDescriptor(FINAL_METHOD_PARAMETER_REGEX);
         definePropertyDescriptor(METHOD_PARAMETER_REGEX);
 
+        setProperty(CODECLIMATE_CATEGORIES, "Style");
+        // Note: x10 as Apex has not automatic refactoring
+        setProperty(CODECLIMATE_REMEDIATION_MULTIPLIER, 1);
+        setProperty(CODECLIMATE_BLOCK_HIGHLIGHTING, false);
+
         addRuleChainVisit(ASTParameter.class);
     }
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsRule.java
similarity index 80%
rename from pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java
rename to pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsRule.java
index b40fa26be9..ee19980719 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsRule.java
@@ -12,7 +12,7 @@ import net.sourceforge.pmd.lang.apex.ast.ASTVariableDeclaration;
 import net.sourceforge.pmd.lang.apex.ast.ASTVariableDeclarationStatements;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
-public class LocalVariableRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
+public class LocalVariableNamingConventionsRule extends AbstractNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
     private static final PropertyDescriptor<Pattern> FINAL_REGEX = prop("finalLocalPattern", "final local variable",
@@ -21,10 +21,15 @@ public class LocalVariableRegexNamingConventionsRule extends AbstractRegexNaming
     private static final PropertyDescriptor<Pattern> LOCAL_REGEX = prop("localPattern", "local variable",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 
-    public LocalVariableRegexNamingConventionsRule() {
+    public LocalVariableNamingConventionsRule() {
         definePropertyDescriptor(FINAL_REGEX);
         definePropertyDescriptor(LOCAL_REGEX);
 
+        setProperty(CODECLIMATE_CATEGORIES, "Style");
+        // Note: x10 as Apex has not automatic refactoring
+        setProperty(CODECLIMATE_REMEDIATION_MULTIPLIER, 1);
+        setProperty(CODECLIMATE_BLOCK_HIGHLIGHTING, false);
+
         addRuleChainVisit(ASTVariableDeclaration.class);
     }
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodNamingConventionsRule.java
index af57206f65..96b9b32539 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodNamingConventionsRule.java
@@ -6,21 +6,38 @@ package net.sourceforge.pmd.lang.apex.rule.codestyle;
 
 import static net.sourceforge.pmd.properties.PropertyFactory.booleanProperty;
 
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
+
 import net.sourceforge.pmd.lang.apex.ast.ASTMethod;
 import net.sourceforge.pmd.lang.apex.ast.ASTProperty;
-import net.sourceforge.pmd.lang.apex.rule.AbstractApexRule;
+import net.sourceforge.pmd.lang.apex.ast.ASTUserEnum;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
-public class MethodNamingConventionsRule extends AbstractApexRule {
+public class MethodNamingConventionsRule extends AbstractNamingConventionsRule {
+    private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
+
+    private static final PropertyDescriptor<Pattern> TEST_REGEX = prop("testPattern", "test method",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    private static final PropertyDescriptor<Pattern> STATIC_REGEX = prop("staticPattern", "static method",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
+
+    private static final PropertyDescriptor<Pattern> INSTANCE_REGEX = prop("instancePattern", "instance method",
+            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 
     private static final PropertyDescriptor<Boolean> SKIP_TEST_METHOD_UNDERSCORES_DESCRIPTOR
         = booleanProperty("skipTestMethodUnderscores")
-              .desc("Skip underscores in test methods")
+              .desc("deprecated! Skip underscores in test methods")
               .defaultValue(false)
               .build();
     
     public MethodNamingConventionsRule() {
         definePropertyDescriptor(SKIP_TEST_METHOD_UNDERSCORES_DESCRIPTOR);
+        definePropertyDescriptor(TEST_REGEX);
+        definePropertyDescriptor(STATIC_REGEX);
+        definePropertyDescriptor(INSTANCE_REGEX);
 
         setProperty(CODECLIMATE_CATEGORIES, "Style");
         // Note: x10 as Apex has not automatic refactoring
@@ -35,21 +52,35 @@ public class MethodNamingConventionsRule extends AbstractApexRule {
         if (isOverriddenMethod(node) || isPropertyAccessor(node) || isConstructor(node)) {
             return data;
         }
-        if (isTestMethod(node) && getProperty(SKIP_TEST_METHOD_UNDERSCORES_DESCRIPTOR)) {
+
+        if ("<clinit>".equals(node.getImage()) || "clone".equals(node.getImage())) {
             return data;
         }
 
-        String methodName = node.getImage();
+        if (node.getFirstParentOfType(ASTUserEnum.class) != null) {
+            return data;
+        }
 
-        if (Character.isUpperCase(methodName.charAt(0))) {
-            addViolationWithMessage(data, node, "Method names should not start with capital letters");
-        }
-        if (methodName.indexOf('_') >= 0) {
-            addViolationWithMessage(data, node, "Method names should not contain underscores");
+        if (node.getModifiers().isTest()) {
+            if (getProperty(SKIP_TEST_METHOD_UNDERSCORES_DESCRIPTOR)) {
+                checkMatches(TEST_REGEX, CAMEL_CASE_WITH_UNDERSCORES, node, data);
+            } else {
+                checkMatches(TEST_REGEX, node, data);
+            }
+        } else if (node.getModifiers().isStatic()) {
+            checkMatches(STATIC_REGEX, node, data);
+        } else {
+            checkMatches(INSTANCE_REGEX, node, data);
         }
+
         return data;
     }
 
+    @Override
+    protected String displayName(String name) {
+        return DESCRIPTOR_TO_DISPLAY_NAME.get(name);
+    }
+
     private boolean isOverriddenMethod(ASTMethod node) {
         return node.getModifiers().isOverride();
     }
@@ -61,8 +92,4 @@ public class MethodNamingConventionsRule extends AbstractApexRule {
     private boolean isConstructor(ASTMethod node) {
         return node.isConstructor();
     }
-
-    private boolean isTestMethod(ASTMethod node) {
-        return node.getModifiers().isTest();
-    }
 }
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
deleted file mode 100644
index 85dec6772d..0000000000
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsRule.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
- */
-
-package net.sourceforge.pmd.lang.apex.rule.codestyle;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Pattern;
-
-import net.sourceforge.pmd.lang.apex.ast.ASTMethod;
-import net.sourceforge.pmd.lang.apex.ast.ASTProperty;
-import net.sourceforge.pmd.lang.apex.ast.ASTUserEnum;
-import net.sourceforge.pmd.properties.PropertyDescriptor;
-
-public class MethodRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
-    private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
-
-    private static final PropertyDescriptor<Pattern> TEST_REGEX = prop("testPattern", "test method",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
-
-    private static final PropertyDescriptor<Pattern> STATIC_REGEX = prop("staticPattern", "static method",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
-
-    private static final PropertyDescriptor<Pattern> INSTANCE_REGEX = prop("instancePattern", "instance method",
-            DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
-
-    public MethodRegexNamingConventionsRule() {
-        definePropertyDescriptor(TEST_REGEX);
-        definePropertyDescriptor(STATIC_REGEX);
-        definePropertyDescriptor(INSTANCE_REGEX);
-
-        addRuleChainVisit(ASTMethod.class);
-    }
-
-    @Override
-    public Object visit(ASTMethod node, Object data) {
-        if (isOverriddenMethod(node) || isPropertyAccessor(node) || isConstructor(node)) {
-            return data;
-        }
-
-        if ("<clinit>".equals(node.getImage()) || "clone".equals(node.getImage())) {
-            return data;
-        }
-
-        if (node.getFirstParentOfType(ASTUserEnum.class) != null) {
-            return data;
-        }
-
-        if (node.getModifiers().isTest()) {
-            checkMatches(TEST_REGEX, node, data);
-        } else if (node.getModifiers().isStatic()) {
-            checkMatches(STATIC_REGEX, node, data);
-        } else {
-            checkMatches(INSTANCE_REGEX, node, data);
-        }
-
-        return data;
-    }
-
-    @Override
-    protected String displayName(String name) {
-        return DESCRIPTOR_TO_DISPLAY_NAME.get(name);
-    }
-
-    private boolean isOverriddenMethod(ASTMethod node) {
-        return node.getModifiers().isOverride();
-    }
-
-    private boolean isPropertyAccessor(ASTMethod node) {
-        return !node.getParentsOfType(ASTProperty.class).isEmpty();
-    }
-
-    private boolean isConstructor(ASTMethod node) {
-        return node.isConstructor();
-    }
-}
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsRule.java
similarity index 80%
rename from pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java
rename to pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsRule.java
index 23898d22ef..70ad5594e1 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsRule.java
@@ -12,7 +12,7 @@ import net.sourceforge.pmd.lang.apex.ast.ASTField;
 import net.sourceforge.pmd.lang.apex.ast.ASTProperty;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
-public class PropertyRegexNamingConventionsRule extends AbstractRegexNamingConventionsRule {
+public class PropertyNamingConventionsRule extends AbstractNamingConventionsRule {
     private static final Map<String, String> DESCRIPTOR_TO_DISPLAY_NAME = new HashMap<>();
 
     private static final PropertyDescriptor<Pattern> STATIC_REGEX = prop("staticPattern", "static property",
@@ -21,10 +21,15 @@ public class PropertyRegexNamingConventionsRule extends AbstractRegexNamingConve
     private static final PropertyDescriptor<Pattern> INSTANCE_REGEX = prop("instancePattern", "instance property",
             DESCRIPTOR_TO_DISPLAY_NAME).defaultValue(CAMEL_CASE).build();
 
-    public PropertyRegexNamingConventionsRule() {
+    public PropertyNamingConventionsRule() {
         definePropertyDescriptor(STATIC_REGEX);
         definePropertyDescriptor(INSTANCE_REGEX);
 
+        setProperty(CODECLIMATE_CATEGORIES, "Style");
+        // Note: x10 as Apex has not automatic refactoring
+        setProperty(CODECLIMATE_REMEDIATION_MULTIPLIER, 1);
+        setProperty(CODECLIMATE_BLOCK_HIGHLIGHTING, false);
+
         addRuleChainVisit(ASTField.class);
     }
 
diff --git a/pmd-apex/src/main/resources/category/apex/codestyle.xml b/pmd-apex/src/main/resources/category/apex/codestyle.xml
index b2d3f835a0..a73567c18b 100644
--- a/pmd-apex/src/main/resources/category/apex/codestyle.xml
+++ b/pmd-apex/src/main/resources/category/apex/codestyle.xml
@@ -11,26 +11,10 @@ Rules which enforce a specific coding style.
 
     <rule name="ClassNamingConventions"
           since="5.5.0"
-          message="Class names should begin with an uppercase character"
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
           class="net.sourceforge.pmd.lang.apex.rule.codestyle.ClassNamingConventionsRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#classnamingconventions">
         <description>
-Class names should always begin with an upper case character.
-        </description>
-        <priority>1</priority>
-        <example>
-<![CDATA[
-public class Foo {}
-]]>
-        </example>
-    </rule>
-
-    <rule name="ClassRegexNamingConventions"
-          since="6.15.0"
-          message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.apex.rule.codestyle.ClassRegexNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#classregexnamingconventions">
-        <description>
             Configurable naming conventions for type declarations. This rule reports
             type declarations which do not match the regex that applies to their
             specific kind (e.g. enum or interface). Each regex can be configured through
@@ -43,7 +27,7 @@ public class Foo {}
             <![CDATA[
 public class FooClass { } // This is in pascal case, so it's ok
 
-public class FOO_CLASS { } // This will be reported unless you change the regex
+public class fooClass { } // This will be reported unless you change the regex
 ]]>
         </example>
     </rule>
@@ -118,11 +102,11 @@ if (foo) {  // preferred approach
         </example>
     </rule>
 
-    <rule name="FieldRegexNamingConventions"
+    <rule name="FieldNamingConventions"
           since="6.15.0"
           message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.apex.rule.codestyle.FieldRegexNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#fieldregexnamingconventions">
+          class="net.sourceforge.pmd.lang.apex.rule.codestyle.FieldNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#fieldnamingconventions">
         <description>
             Configurable naming conventions for field declarations. This rule reports variable declarations
             which do not match the regex that applies to their specific kind ---e.g. constants (static final),
@@ -177,11 +161,11 @@ for (int i = 0; i < 42; i++) { // preferred approach
         </example>
     </rule>
 
-    <rule name="FormalParameterRegexNamingConventions"
+    <rule name="FormalParameterNamingConventions"
           since="6.15.0"
           message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.apex.rule.codestyle.FormalParameterRegexNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#formalparameterregexnamingconventions">
+          class="net.sourceforge.pmd.lang.apex.rule.codestyle.FormalParameterNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#formalparameternamingconventions">
         <description>
             Configurable naming conventions for formal parameters of methods.
             This rule reports formal parameters which do not match the regex that applies to their
@@ -202,11 +186,11 @@ public class Foo {
         </example>
     </rule>
 
-    <rule name="LocalVariableRegexNamingConventions"
+    <rule name="LocalVariableNamingConventions"
           since="6.15.0"
           message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.apex.rule.codestyle.LocalVariableRegexNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#localvariableregexnamingconventions">
+          class="net.sourceforge.pmd.lang.apex.rule.codestyle.LocalVariableNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#localvariablenamingconventions">
         <description>
             Configurable naming conventions for local variable declarations.
             This rule reports variable declarations which do not match the regex that applies to their
@@ -231,29 +215,10 @@ public class Foo {
 
     <rule name="MethodNamingConventions"
           since="5.5.0"
-          message="Method name does not begin with a lower case character."
+          message="The {0} name ''{1}'' doesn''t match ''{2}''"
           class="net.sourceforge.pmd.lang.apex.rule.codestyle.MethodNamingConventionsRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#methodnamingconventions">
         <description>
-Method names should always begin with a lower case character, and should not contain underscores.
-        </description>
-        <priority>1</priority>
-        <example>
-<![CDATA[
-public class Foo {
-    public void fooStuff() {
-    }
-}
-]]>
-        </example>
-    </rule>
-
-    <rule name="MethodRegexNamingConventions"
-          since="6.15.0"
-          message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.apex.rule.codestyle.MethodRegexNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#methodregexnamingconventions">
-        <description>
             Configurable naming conventions for method declarations. This rule reports
             method declarations which do not match the regex that applies to their
             specific kind (e.g. static method, or test method). Each regex can be
@@ -313,11 +278,11 @@ Integer b;
         </example>
     </rule>
 
-    <rule name="PropertyRegexNamingConventions"
+    <rule name="PropertyNamingConventions"
           since="6.15.0"
           message="The {0} name ''{1}'' doesn''t match ''{2}''"
-          class="net.sourceforge.pmd.lang.apex.rule.codestyle.PropertyRegexNamingConventionsRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#propertyregexnamingconventions">
+          class="net.sourceforge.pmd.lang.apex.rule.codestyle.PropertyNamingConventionsRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#propertynamingconventions">
         <description>
             Configurable naming conventions for property declarations. This rule reports
             property declarations which do not match the regex that applies to their
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsTest.java
similarity index 77%
rename from pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsTest.java
rename to pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsTest.java
index 3eb7c0dd3a..823a7f32fc 100644
--- a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassRegexNamingConventionsTest.java
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsTest.java
@@ -6,6 +6,6 @@ package net.sourceforge.pmd.lang.apex.rule.codestyle;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
-public class ClassRegexNamingConventionsTest extends PmdRuleTst {
+public class FieldNamingConventionsTest extends PmdRuleTst {
     // no additional unit tests
 }
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsTest.java
similarity index 76%
rename from pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsTest.java
rename to pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsTest.java
index 5df2a60127..45dba2964e 100644
--- a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodRegexNamingConventionsTest.java
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsTest.java
@@ -6,6 +6,6 @@ package net.sourceforge.pmd.lang.apex.rule.codestyle;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
-public class MethodRegexNamingConventionsTest extends PmdRuleTst {
+public class FormalParameterNamingConventionsTest extends PmdRuleTst {
     // no additional unit tests
 }
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsTest.java
deleted file mode 100644
index 3ccf560db9..0000000000
--- a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterRegexNamingConventionsTest.java
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
- */
-
-package net.sourceforge.pmd.lang.apex.rule.codestyle;
-
-import net.sourceforge.pmd.testframework.PmdRuleTst;
-
-public class FormalParameterRegexNamingConventionsTest extends PmdRuleTst {
-    // no additional unit tests
-}
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsTest.java
similarity index 78%
rename from pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsTest.java
rename to pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsTest.java
index bd1e58fa92..6ddf91a354 100644
--- a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyRegexNamingConventionsTest.java
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsTest.java
@@ -6,6 +6,6 @@ package net.sourceforge.pmd.lang.apex.rule.codestyle;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
-public class PropertyRegexNamingConventionsTest extends PmdRuleTst {
+public class LocalVariableNamingConventionsTest extends PmdRuleTst {
     // no additional unit tests
 }
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsTest.java
deleted file mode 100644
index 641184d922..0000000000
--- a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableRegexNamingConventionsTest.java
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
- */
-
-package net.sourceforge.pmd.lang.apex.rule.codestyle;
-
-import net.sourceforge.pmd.testframework.PmdRuleTst;
-
-public class LocalVariableRegexNamingConventionsTest extends PmdRuleTst {
-    // no additional unit tests
-}
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsTest.java
similarity index 77%
rename from pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsTest.java
rename to pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsTest.java
index 1cf95b7ad8..413e80ed09 100644
--- a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldRegexNamingConventionsTest.java
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsTest.java
@@ -6,6 +6,6 @@ package net.sourceforge.pmd.lang.apex.rule.codestyle;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
-public class FieldRegexNamingConventionsTest extends PmdRuleTst {
+public class PropertyNamingConventionsTest extends PmdRuleTst {
     // no additional unit tests
 }
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassNamingConventions.xml
index 4f9f93b79f..8817e4f30b 100644
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassNamingConventions.xml
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassNamingConventions.xml
@@ -20,5 +20,143 @@ public class foo {};
 public class FooBar {};
 		]]></code>
     </test-code>
+
+    <test-code>
+        <description>test class all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+@isTest
+public class TestClass { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>abstract class all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public abstract class AbstractClass { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>class all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class FooClass { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>interface all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public interface FooInterface { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>enum all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public enum FooEnum { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>test class default is title case</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The test class name 'testClass' doesn't match '[A-Z][a-zA-Z0-9_]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+@isTest
+public class testClass { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>abstract class default is title case</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The abstract class name 'abstractClass' doesn't match '[A-Z][a-zA-Z0-9_]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public abstract class abstractClass { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>class default is title case</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The class name 'fooClass' doesn't match '[A-Z][a-zA-Z0-9_]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class fooClass { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>interface default is title case</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The interface name 'fooInterface' doesn't match '[A-Z][a-zA-Z0-9_]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public interface fooInterface { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>enum default is title case</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message>The enum name 'fooEnum' doesn't match '[A-Z][a-zA-Z0-9_]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public enum fooEnum { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom test class pattern</description>
+        <rule-property name="testClassPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+@isTest
+public class TEST_CLASS { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom abstract class pattern</description>
+        <rule-property name="abstractClassPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public abstract class ABSTRACT_CLASS { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom class pattern</description>
+        <rule-property name="classPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class FOO_CLASS { }
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom interface pattern</description>
+        <rule-property name="interfacePattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public interface FOO_INTERFACE { }
+        ]]></code>
+    </test-code>
     
 </test-data>
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml
deleted file mode 100644
index fc36f4c71c..0000000000
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/ClassRegexNamingConventions.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<test-data
-        xmlns="http://pmd.sourceforge.net/rule-tests"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
-
-    <test-code>
-        <description>test class all is well</description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-@isTest
-public class TestClass { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>abstract class all is well</description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public abstract class AbstractClass { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>class all is well</description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public class FooClass { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>interface all is well</description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public interface FooInterface { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>enum all is well</description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public class Foo {
-    public enum FooEnum { }
-}
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>test class default is title case</description>
-        <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message>The test class name 'TEST_CLASS' doesn't match '[A-Z][a-zA-Z0-9]*'</message>
-        </expected-messages>
-        <code><![CDATA[
-@isTest
-public class TEST_CLASS { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>abstract class default is title case</description>
-        <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message>The abstract class name 'ABSTRACT_CLASS' doesn't match '[A-Z][a-zA-Z0-9]*'</message>
-        </expected-messages>
-        <code><![CDATA[
-public abstract class ABSTRACT_CLASS { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>class default is title case</description>
-        <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message>The class name 'FOO_CLASS' doesn't match '[A-Z][a-zA-Z0-9]*'</message>
-        </expected-messages>
-        <code><![CDATA[
-public class FOO_CLASS { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>interface default is title case</description>
-        <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message>The interface name 'FOO_INTERFACE' doesn't match '[A-Z][a-zA-Z0-9]*'</message>
-        </expected-messages>
-        <code><![CDATA[
-public interface FOO_INTERFACE { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>enum default is title case</description>
-        <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message>The enum name 'FOO_ENUM' doesn't match '[A-Z][a-zA-Z0-9]*'</message>
-        </expected-messages>
-        <code><![CDATA[
-public class Foo {
-    public enum FOO_ENUM { }
-}
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>custom test class pattern</description>
-        <rule-property name="testClassPattern">[a-zA-Z0-9_]+</rule-property>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-@isTest
-public class TEST_CLASS { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>custom abstract class pattern</description>
-        <rule-property name="abstractClassPattern">[a-zA-Z0-9_]+</rule-property>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public abstract class ABSTRACT_CLASS { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>custom class pattern</description>
-        <rule-property name="classPattern">[a-zA-Z0-9_]+</rule-property>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public class FOO_CLASS { }
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>custom interface pattern</description>
-        <rule-property name="interfacePattern">[a-zA-Z0-9_]+</rule-property>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public interface FOO_INTERFACE { }
-        ]]></code>
-    </test-code>
-
-</test-data>
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldNamingConventions.xml
similarity index 100%
rename from pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldRegexNamingConventions.xml
rename to pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FieldNamingConventions.xml
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterNamingConventions.xml
similarity index 100%
rename from pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterRegexNamingConventions.xml
rename to pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/FormalParameterNamingConventions.xml
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/LocalVariableRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/LocalVariableNamingConventions.xml
similarity index 100%
rename from pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/LocalVariableRegexNamingConventions.xml
rename to pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/LocalVariableNamingConventions.xml
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodNamingConventions.xml
index 0a1798e969..ea9db4a8d0 100644
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodNamingConventions.xml
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodNamingConventions.xml
@@ -100,4 +100,131 @@ public class Foo {
 }
 		]]></code>
     </test-code>
+
+    <test-code>
+        <description>all is well</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    @isTest
+    public static void testMethod() { }
+    public static void staticMethod() { }
+    public void instanceMethod() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>default is camel case</description>
+        <expected-problems>3</expected-problems>
+        <expected-messages>
+            <message>The test method name 'TEST_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The static method name 'STATIC_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance method name 'INSTANCE_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    @isTest
+    public static void TEST_METHOD() { }
+    public static void STATIC_METHOD() { }
+    public void INSTANCE_METHOD() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ignores overrides</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public override Integer BAR() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ignores properties</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    public Integer BAR { get; set; }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ignores constructors</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class FOO {
+    public FOO() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ignores enum methods</description>
+        <rule-property name="instancePattern">Z</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    enum Bar {
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom test method pattern</description>
+        <rule-property name="testPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>The static method name 'STATIC_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance method name 'INSTANCE_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    @isTest
+    public static void TEST_METHOD() { }
+    public static void STATIC_METHOD() { }
+    public void INSTANCE_METHOD() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom static method pattern</description>
+        <rule-property name="staticPattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>The test method name 'TEST_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The instance method name 'INSTANCE_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    @isTest
+    public static void TEST_METHOD() { }
+    public static void STATIC_METHOD() { }
+    public void INSTANCE_METHOD() { }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>custom instance method pattern</description>
+        <rule-property name="instancePattern">[a-zA-Z0-9_]+</rule-property>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>The test method name 'TEST_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+            <message>The static method name 'STATIC_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    @isTest
+    public static void TEST_METHOD() { }
+    public static void STATIC_METHOD() { }
+    public void INSTANCE_METHOD() { }
+}
+        ]]></code>
+    </test-code>
 </test-data>
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml
deleted file mode 100644
index 7d87d71fdc..0000000000
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/MethodRegexNamingConventions.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<test-data
-    xmlns="http://pmd.sourceforge.net/rule-tests"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
-
-    <test-code>
-        <description>all is well</description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public class Foo {
-    @isTest
-    public static void testMethod() { }
-    public static void staticMethod() { }
-    public void instanceMethod() { }
-}
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>default is camel case</description>
-        <expected-problems>3</expected-problems>
-        <expected-messages>
-            <message>The test method name 'TEST_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-            <message>The static method name 'STATIC_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-            <message>The instance method name 'INSTANCE_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-        </expected-messages>
-        <code><![CDATA[
-public class Foo {
-    @isTest
-    public static void TEST_METHOD() { }
-    public static void STATIC_METHOD() { }
-    public void INSTANCE_METHOD() { }
-}
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>ignores overrides</description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public class Foo {
-    public override Integer BAR() { }
-}
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>ignores properties</description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public class Foo {
-    public Integer BAR { get; set; }
-}
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>ignores constructors</description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public class FOO {
-    public FOO() { }
-}
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>ignores enum methods</description>
-        <rule-property name="instancePattern">Z</rule-property>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public class Foo {
-    enum Bar {
-    }
-}
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>custom test method pattern</description>
-        <rule-property name="testPattern">[a-zA-Z0-9_]+</rule-property>
-        <expected-problems>2</expected-problems>
-        <expected-messages>
-            <message>The static method name 'STATIC_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-            <message>The instance method name 'INSTANCE_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-        </expected-messages>
-        <code><![CDATA[
-public class Foo {
-    @isTest
-    public static void TEST_METHOD() { }
-    public static void STATIC_METHOD() { }
-    public void INSTANCE_METHOD() { }
-}
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>custom static method pattern</description>
-        <rule-property name="staticPattern">[a-zA-Z0-9_]+</rule-property>
-        <expected-problems>2</expected-problems>
-        <expected-messages>
-            <message>The test method name 'TEST_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-            <message>The instance method name 'INSTANCE_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-        </expected-messages>
-        <code><![CDATA[
-public class Foo {
-    @isTest
-    public static void TEST_METHOD() { }
-    public static void STATIC_METHOD() { }
-    public void INSTANCE_METHOD() { }
-}
-        ]]></code>
-    </test-code>
-
-    <test-code>
-        <description>custom instance method pattern</description>
-        <rule-property name="instancePattern">[a-zA-Z0-9_]+</rule-property>
-        <expected-problems>2</expected-problems>
-        <expected-messages>
-            <message>The test method name 'TEST_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-            <message>The static method name 'STATIC_METHOD' doesn't match '[a-z][a-zA-Z0-9]*'</message>
-        </expected-messages>
-        <code><![CDATA[
-public class Foo {
-    @isTest
-    public static void TEST_METHOD() { }
-    public static void STATIC_METHOD() { }
-    public void INSTANCE_METHOD() { }
-}
-        ]]></code>
-    </test-code>
-</test-data>
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/PropertyRegexNamingConventions.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/PropertyNamingConventions.xml
similarity index 100%
rename from pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/PropertyRegexNamingConventions.xml
rename to pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/codestyle/xml/PropertyNamingConventions.xml

From 609750332a27a9f905c4dd65beef618c2f7e009e Mon Sep 17 00:00:00 2001
From: Jeff Hube <jeff2365@gmail.com>
Date: Tue, 14 May 2019 11:33:34 -0400
Subject: [PATCH 098/371] Deprecate VariableNamingConventionsRule

---
 .../apex/rule/codestyle/VariableNamingConventionsRule.java | 1 +
 pmd-apex/src/main/resources/category/apex/codestyle.xml    | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/VariableNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/VariableNamingConventionsRule.java
index ff1cc6caa2..19ca2c92a8 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/VariableNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/VariableNamingConventionsRule.java
@@ -21,6 +21,7 @@ import net.sourceforge.pmd.lang.apex.ast.ApexNode;
 import net.sourceforge.pmd.lang.apex.rule.AbstractApexRule;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
+@Deprecated
 public class VariableNamingConventionsRule extends AbstractApexRule {
 
     private boolean checkMembers;
diff --git a/pmd-apex/src/main/resources/category/apex/codestyle.xml b/pmd-apex/src/main/resources/category/apex/codestyle.xml
index a73567c18b..06800f2403 100644
--- a/pmd-apex/src/main/resources/category/apex/codestyle.xml
+++ b/pmd-apex/src/main/resources/category/apex/codestyle.xml
@@ -305,6 +305,7 @@ public class Foo {
 
     <rule name="VariableNamingConventions"
           since="5.5.0"
+          deprecated="true"
           message="{0} variable {1} should begin with {2}"
           class="net.sourceforge.pmd.lang.apex.rule.codestyle.VariableNamingConventionsRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_apex_codestyle.html#variablenamingconventions">
@@ -312,6 +313,12 @@ public class Foo {
 A variable naming conventions rule - customize this to your liking.  Currently, it
 checks for final variables that should be fully capitalized and non-final variables
 that should not include underscores.
+
+This rule is deprecated. The rule is replaced
+by the more general rules {% rule apex/codestyle/FieldNamingConventions %},
+{% rule apex/codestyle/FormalParameterNamingConventions %},
+{% rule apex/codestyle/LocalVariableNamingConventions %}, and
+{% rule apex/codestyle/PropertyNamingConventions %}.
         </description>
         <priority>1</priority>
         <example>

From abb8d705153cdc8f618954e7a0a87497e37b4354 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 16 May 2019 18:54:12 +0200
Subject: [PATCH 099/371] Update release notes, fixes #1784, refs #1820

---
 docs/pages/release_notes.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index fc4ad1d256..87ca95fc24 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -39,8 +39,12 @@ Example: `auto integer_literal = 1'000'000;`
 
 The single quotes can be used to add some structure to large numbers.
 
+CPD also parses raw string literals now correctly (see [#1784](https://github.com/pmd/pmd/issues/1784)).
+
 ### Fixed Issues
 
+*   cpp
+    *   [#1784](https://github.com/pmd/pmd/issues/1784): \[cpp] Improve support for raw string literals
 *   dart
     *   [#1809](https://github.com/pmd/pmd/issues/1809): \[dart] \[cpd] Parse error with escape sequences
 *   java-bestpractices
@@ -62,6 +66,7 @@ The single quotes can be used to add some structure to large numbers.
 *   [#1807](https://github.com/pmd/pmd/pull/1807): \[ci] Fix missing local branch issues when executing pmd-regression-tester - [BBG](https://github.com/djydewang)
 *   [#1813](https://github.com/pmd/pmd/pull/1813): \[matlab] \[cpd] Matlab comments - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1819](https://github.com/pmd/pmd/pull/1819): \[cpp] \[cpd] Add support for digit separators - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1820](https://github.com/pmd/pmd/pull/1820): \[cpp] \[cpd] Improve support for raw string literals - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1821](https://github.com/pmd/pmd/pull/1821): \[matlab] \[cpd] Matlab question mark token - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1822](https://github.com/pmd/pmd/pull/1822): \[matlab] \[cpd] Double quoted string - [Maikel Steneker](https://github.com/maikelsteneker)
 

From bce37244f7021cbefe0f4f6309c2eef049463696 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 17 May 2019 15:06:56 +0200
Subject: [PATCH 100/371] First assign the comments and then add the comments
 to the nodes in a second pass.

---
 .../pmd/lang/apex/ast/ApexTreeBuilder.java    | 114 +++++++++---------
 .../apex/rule/documentation/xml/ApexDoc.xml   |  27 ++++-
 2 files changed, 84 insertions(+), 57 deletions(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ApexTreeBuilder.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ApexTreeBuilder.java
index 75e383bebb..75a5fc0904 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ApexTreeBuilder.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/ast/ApexTreeBuilder.java
@@ -6,8 +6,8 @@ package net.sourceforge.pmd.lang.apex.ast;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Stack;
@@ -18,6 +18,8 @@ import org.antlr.runtime.Token;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.ast.SourceCodePositioner;
 
+import apex.jorje.data.Location;
+import apex.jorje.data.Locations;
 import apex.jorje.parser.impl.ApexLexer;
 import apex.jorje.semantic.ast.AstNode;
 import apex.jorje.semantic.ast.compilation.AnonymousClass;
@@ -272,14 +274,18 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
         nodes.pop();
         parents.pop();
 
+        if (nodes.isEmpty()) {
+            // add the comments only at the end of the processing as the last step
+            addFormalComments();
+        }
+
         return node;
     }
 
-    private void buildFormalComment(AstNode node) {
-        if (parents.peek() == node) {
-            ApexNode<?> parent = (ApexNode<?>) nodes.peek();
-            ApexDocTokenLocation tokenLocation = getApexDocTokenLocation(getApexDocIndex(parent));
-            if (tokenLocation != null) {
+    private void addFormalComments() {
+        for (ApexDocTokenLocation tokenLocation : apexDocTokenLocations) {
+            ApexNode<?> parent = tokenLocation.nearestNode;
+            if (parent != null) {
                 ASTFormalComment comment = new ASTFormalComment(tokenLocation.token);
                 comment.calculateLineNumbers(sourceCodePositioner, tokenLocation.index,
                         tokenLocation.index + tokenLocation.token.length());
@@ -295,51 +301,61 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
         }
     }
 
-    private int getApexDocIndex(ApexNode<?> node) {
-        ASTAnnotation annotation = node.getFirstDescendantOfType(ASTAnnotation.class);
-        ApexNode<?> firstNode = annotation == null ? node : annotation;
-        final int index = firstNode.getNode().getLoc().getStartIndex();
-        return sourceCode.lastIndexOf('\n', index);
+    private void buildFormalComment(AstNode node) {
+        if (parents.peek() == node) {
+            ApexNode<?> parent = (ApexNode<?>) nodes.peek();
+            assignApexDocTokenToNode(node, parent);
+        }
     }
 
-    private ApexDocTokenLocation getApexDocTokenLocation(int index) {
-        for (ApexDocTokenLocation loc : apexDocTokenLocations) {
-            if (index >= loc.targetStart) {
-                if (index <= loc.targetEnd) {
-                    return loc;
-                }
-            } else {
-                // remaining tokens start after the index we are looking for
+    /**
+     * Only remembers the node, to which the comment could belong.
+     * Since the visiting order of the nodes does not match the source order,
+     * the nodes appearing later in the source might be visiting first.
+     * The correct node will then be visited afterwards, and since the distance
+     * to the comment is smaller, it overrides the remembered node.
+     * @param jorjeNode the original node
+     * @param node the potential parent node, to which the comment could belong
+     */
+    private void assignApexDocTokenToNode(AstNode jorjeNode, ApexNode<?> node) {
+        Location loc = jorjeNode.getLoc();
+        if (!Locations.isReal(loc)) {
+            // Synthetic nodes such as "<clinit>" don't have a location in the
+            // source code, since they are generated by the compiler
+            return;
+        }
+        // find the token, that appears as close as possible before the node
+        int nodeStart = loc.getStartIndex();
+        for (ApexDocTokenLocation tokenLocation : apexDocTokenLocations) {
+            if (tokenLocation.index > nodeStart) {
+                // this and all remaining tokens are after the node
+                // so no need to check the remaining tokens.
                 break;
             }
+
+            int distance = nodeStart - tokenLocation.index;
+            if (tokenLocation.nearestNode == null || distance < tokenLocation.nearestNodeDistance) {
+                tokenLocation.nearestNode = node;
+                tokenLocation.nearestNodeDistance = distance;
+            }
         }
-        return null;
     }
 
     private static List<ApexDocTokenLocation> buildApexDocTokenLocations(String source) {
         ANTLRStringStream stream = new ANTLRStringStream(source);
         ApexLexer lexer = new ApexLexer(stream);
 
-        ArrayList<ApexDocTokenLocation> tokenLocations = new ArrayList<>();
+        List<ApexDocTokenLocation> tokenLocations = new LinkedList<>();
         int startIndex = 0;
         Token token = lexer.nextToken();
         int endIndex = lexer.getCharIndex();
 
-        String currentToken = null;
-        int currentIndex = 0;
-        int currentTargetStart = 0;
-
         while (token.getType() != Token.EOF) {
             if (token.getType() == ApexLexer.BLOCK_COMMENT) {
                 // Filter only block comments starting with "/**"
                 if (token.getText().startsWith("/**")) {
-                    currentToken = token.getText();
-                    currentIndex = startIndex;
-                    currentTargetStart = lexer.getCharIndex();
+                    tokenLocations.add(new ApexDocTokenLocation(startIndex, token.getText()));
                 }
-            } else if (currentToken != null && token.getType() != ApexLexer.WS) {
-                tokenLocations.add(new ApexDocTokenLocation(currentIndex, currentToken, currentTargetStart, lexer.getCharIndex()));
-                currentToken = null;
             }
             // TODO : Check other non-doc comments and tokens of type ApexLexer.EOL_COMMENT for "NOPMD" suppressions
             startIndex = endIndex;
@@ -353,14 +369,12 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
     private static class ApexDocTokenLocation {
         int index;
         String token;
-        int targetStart;
-        int targetEnd;
+        ApexNode<?> nearestNode;
+        int nearestNodeDistance;
 
-        ApexDocTokenLocation(int index, String token, int targetStart, int targetEnd) {
+        ApexDocTokenLocation(int index, String token) {
             this.index = index;
             this.token = token;
-            this.targetStart = targetStart;
-            this.targetEnd = targetEnd;
         }
     }
 
@@ -380,12 +394,9 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
 
     @Override
     public boolean visit(UserInterface node, AdditionalPassScope scope) {
-        return visit(node);
-    }
-
-    @Override
-    public void visitEnd(UserInterface node, AdditionalPassScope scope) {
+        final boolean ret = visit(node);
         buildFormalComment(node);
+        return ret;
     }
 
     @Override
@@ -670,12 +681,9 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
 
     @Override
     public boolean visit(Property node, AdditionalPassScope scope) {
-        return visit(node);
-    }
-
-    @Override
-    public void visitEnd(Property node, AdditionalPassScope scope) {
+        final boolean ret = visit(node);
         buildFormalComment(node);
+        return ret;
     }
 
     @Override
@@ -740,22 +748,16 @@ public final class ApexTreeBuilder extends AstVisitor<AdditionalPassScope> {
 
     @Override
     public boolean visit(UserClass node, AdditionalPassScope scope) {
-        return visit(node);
-    }
-
-    @Override
-    public void visitEnd(UserClass node, AdditionalPassScope scope) {
+        final boolean ret = visit(node);
         buildFormalComment(node);
+        return ret;
     }
 
     @Override
     public boolean visit(Method node, AdditionalPassScope scope) {
-        return visit(node);
-    }
-
-    @Override
-    public void visitEnd(Method node, AdditionalPassScope scope) {
+        final boolean ret = visit(node);
         buildFormalComment(node);
+        return ret;
     }
 
     @Override
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/documentation/xml/ApexDoc.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/documentation/xml/ApexDoc.xml
index 8258932d81..28946ce929 100644
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/documentation/xml/ApexDoc.xml
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/documentation/xml/ApexDoc.xml
@@ -52,6 +52,10 @@ private class Foo { }
     <test-code>
         <description>class comment should have description</description>
         <expected-problems>1</expected-problems>
+        <expected-linenumbers>3</expected-linenumbers>
+        <expected-messages>
+            <message>Missing ApexDoc @description</message>
+        </expected-messages>
         <code><![CDATA[
 /**
  */
@@ -399,7 +403,7 @@ public class Foo {
     </test-code>
 
     <test-code>
-        <description>correct comments for constructor and inner class</description>
+        <description>#1783 correct comments for constructor and inner class</description>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 /**
@@ -422,4 +426,25 @@ public class Foo {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>#1783 correct comments for constructor and inner class - false negative</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>12</expected-linenumbers>
+        <code><![CDATA[
+/**
+ * @description Foo
+ */
+public class Foo {
+
+    /**
+     * @description Foo
+     */
+    public Foo() {
+    }
+
+    public class Bar {
+    }
+}
+        ]]></code>
+    </test-code>
 </test-data>

From 7de0df16ebf1de795720e14acaa71c32ecd44cc4 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 17 May 2019 15:58:37 +0200
Subject: [PATCH 101/371] Update release notes, fixes #1783, refs #1816

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index cdcddea67f..b2ddd23e66 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,6 +16,8 @@ This is a {{ site.pmd.release_type }} release.
 
 ### Fixed Issues
 
+*   apex
+    *   [#1783](https://github.com/pmd/pmd/issues/1783): \[apex] comments on constructor not recognized when the Class has inner class
 *   dart
     *   [#1809](https://github.com/pmd/pmd/issues/1809): \[dart] \[cpd] Parse error with escape sequences
 *   java-bestpractices
@@ -32,6 +34,7 @@ This is a {{ site.pmd.release_type }} release.
 *   [#1799](https://github.com/pmd/pmd/pull/1799): \[java] MethodReturnsInternalArray does not work in inner classes - Fixed #1738 - [Srinivasan Venkatachalam](https://github.com/Srini1993)
 *   [#1802](https://github.com/pmd/pmd/pull/1802): \[python] \[cpd] Add support for Python 2 backticks - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1816](https://github.com/pmd/pmd/pull/1816): \[apex] Fix ApexDoc handling with inner classes - [Jeff Hube](https://github.com/jeffhube)
 
 {% endtocmaker %}
 

From eae662ac944a3a4037bb2fbb21c787f422aab1b9 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 17 May 2019 16:14:15 +0200
Subject: [PATCH 102/371] Update release notes, fixes #1321, refs #1817

---
 docs/pages/release_notes.md                   | 40 +++++++++++++++++++
 .../resources/category/apex/codestyle.xml     | 10 ++---
 .../main/resources/rulesets/releases/6150.xml | 17 ++++++++
 3 files changed, 62 insertions(+), 5 deletions(-)
 create mode 100644 pmd-core/src/main/resources/rulesets/releases/6150.xml

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index cdcddea67f..c265836b94 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,8 +14,47 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### New Rules
+
+*   The new Apex rule {% rule "apex/codestyle/FieldNamingConventions" %} (`apex-codestyle`) checks the naming
+    conventions for field declarations. By default this rule uses the standard Apex naming convention (Camel case),
+    but it can be configured through properties.
+
+*   The new Apex rule {% rule "apex/codestyle/FormalParameterNamingConventions" %} (`apex-codestyle`) checks the
+    naming conventions for formal parameters of methods. By default this rule uses the standard Apex naming
+    convention (Camel case), but it can be configured through properties.
+
+*   The new Apex rule {% rule "apex/codestyle/LocalVariableNamingConventions" %} (`apex-codestyle`) checks the
+    naming conventions for local variable declarations. By default this rule uses the standard Apex naming
+    convention (Camel case), but it can be configured through properties.
+
+*   The new Apex rule {% rule "apex/codestyle/PropertyNamingConventions" %} (`apex-codestyle`) checks the naming
+    conventions for property declarations. By default this rule uses the standard Apex naming convention (Camel case),
+    but it can be configured through properties.
+
+#### Modified Rules
+
+*   The Apex rule {% rule "apex/codestyle/ClassNamingConventions" %} (`apex-codestyle`) can now be configured
+    using various properties for the specific kind of type declarations (e.g. class, interface, enum).
+    As before, this rule uses by default the standard Apex naming convention (Pascal case).
+
+*   The Apex rule {% rule "apex/codestyle/MethodNamingConventions" %} (`apex-codestyle`) can now be configured
+    using various properties to differenciate e.g. static methods and test methods.
+    As before, this rule uses by default the standard Apex naming convention (Camel case).
+
+#### Deprecated Rules
+
+*   The Apex rule {% rule "apex/codestyle/VariableNamingConventions" %} (`apex-codestyle`) has been deprecated and
+    will be removed with PMD 7.0.0. The rule is replaced by the more general rules
+    {% rule "apex/codestyle/FieldNamingConventions" %},
+    {% rule "apex/codestyle/FormalParameterNamingConventions" %},
+    {% rule "apex/codestyle/LocalVariableNamingConventions" %}, and
+    {% rule "apex/codestyle/PropertyNamingConventions" %}.
+
 ### Fixed Issues
 
+*   apex
+    *   [#1321](https://github.com/pmd/pmd/issues/1321): \[apex] Should VariableNamingConventions require properties to start with a lowercase letter?
 *   dart
     *   [#1809](https://github.com/pmd/pmd/issues/1809): \[dart] \[cpd] Parse error with escape sequences
 *   java-bestpractices
@@ -32,6 +71,7 @@ This is a {{ site.pmd.release_type }} release.
 *   [#1799](https://github.com/pmd/pmd/pull/1799): \[java] MethodReturnsInternalArray does not work in inner classes - Fixed #1738 - [Srinivasan Venkatachalam](https://github.com/Srini1993)
 *   [#1802](https://github.com/pmd/pmd/pull/1802): \[python] \[cpd] Add support for Python 2 backticks - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1817](https://github.com/pmd/pmd/pull/1817): \[apex] Add configurable naming convention rules - [Jeff Hube](https://github.com/jeffhube)
 
 {% endtocmaker %}
 
diff --git a/pmd-apex/src/main/resources/category/apex/codestyle.xml b/pmd-apex/src/main/resources/category/apex/codestyle.xml
index 06800f2403..262b6f9757 100644
--- a/pmd-apex/src/main/resources/category/apex/codestyle.xml
+++ b/pmd-apex/src/main/resources/category/apex/codestyle.xml
@@ -314,11 +314,11 @@ A variable naming conventions rule - customize this to your liking.  Currently,
 checks for final variables that should be fully capitalized and non-final variables
 that should not include underscores.
 
-This rule is deprecated. The rule is replaced
-by the more general rules {% rule apex/codestyle/FieldNamingConventions %},
-{% rule apex/codestyle/FormalParameterNamingConventions %},
-{% rule apex/codestyle/LocalVariableNamingConventions %}, and
-{% rule apex/codestyle/PropertyNamingConventions %}.
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by the more general rules {% rule "apex/codestyle/FieldNamingConventions" %},
+{% rule "apex/codestyle/FormalParameterNamingConventions" %},
+{% rule "apex/codestyle/LocalVariableNamingConventions" %}, and
+{% rule "apex/codestyle/PropertyNamingConventions" %}.
         </description>
         <priority>1</priority>
         <example>
diff --git a/pmd-core/src/main/resources/rulesets/releases/6150.xml b/pmd-core/src/main/resources/rulesets/releases/6150.xml
new file mode 100644
index 0000000000..0d9fb888a0
--- /dev/null
+++ b/pmd-core/src/main/resources/rulesets/releases/6150.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+
+<ruleset name="6150"
+    xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+  <description>
+This ruleset contains links to rules that are new in PMD v6.15.0
+  </description>
+
+    <rule ref="category/apex/codestyle/FieldNamingConventions"/>
+    <rule ref="category/apex/codestyle/FormalParameterNamingConventions"/>
+    <rule ref="category/apex/codestyle/LocalVariableNamingConventions"/>
+    <rule ref="category/apex/codestyle/PropertyNamingConventions"/>
+
+</ruleset>
+

From 7defd6b501d70ac5844bedb9ff200895db7b1cdd Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 17 May 2019 16:29:21 +0200
Subject: [PATCH 103/371] Fix internal ruleset 6150.xml

---
 pmd-core/src/main/resources/rulesets/releases/6150.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pmd-core/src/main/resources/rulesets/releases/6150.xml b/pmd-core/src/main/resources/rulesets/releases/6150.xml
index 0d9fb888a0..25c9b94dad 100644
--- a/pmd-core/src/main/resources/rulesets/releases/6150.xml
+++ b/pmd-core/src/main/resources/rulesets/releases/6150.xml
@@ -8,10 +8,10 @@
 This ruleset contains links to rules that are new in PMD v6.15.0
   </description>
 
-    <rule ref="category/apex/codestyle/FieldNamingConventions"/>
-    <rule ref="category/apex/codestyle/FormalParameterNamingConventions"/>
-    <rule ref="category/apex/codestyle/LocalVariableNamingConventions"/>
-    <rule ref="category/apex/codestyle/PropertyNamingConventions"/>
+    <rule ref="category/apex/codestyle.xml/FieldNamingConventions"/>
+    <rule ref="category/apex/codestyle.xml/FormalParameterNamingConventions"/>
+    <rule ref="category/apex/codestyle.xml/LocalVariableNamingConventions"/>
+    <rule ref="category/apex/codestyle.xml/PropertyNamingConventions"/>
 
 </ruleset>
 

From bf51f15834c3b67f6ba1aebf114dd823069a7f3c Mon Sep 17 00:00:00 2001
From: "Travis CI (pmd-bot)" <andreas.dangel+pmd-bot@adangel.org>
Date: Fri, 17 May 2019 14:51:36 +0000
Subject: [PATCH 104/371] Update documentation

TRAVIS_JOB_NUMBER=3757.1
TRAVIS_COMMIT_RANGE=8d21fd52b345...7defd6b501d7
---
 docs/pages/pmd/rules/apex.md           |  10 +-
 docs/pages/pmd/rules/apex/codestyle.md | 270 ++++++++++++++++++++++++-
 2 files changed, 267 insertions(+), 13 deletions(-)

diff --git a/docs/pages/pmd/rules/apex.md b/docs/pages/pmd/rules/apex.md
index dec0347f36..d9d4ef3d06 100644
--- a/docs/pages/pmd/rules/apex.md
+++ b/docs/pages/pmd/rules/apex.md
@@ -22,13 +22,17 @@ folder: pmd/rules
 
 {% include callout.html content="Rules which enforce a specific coding style." %}
 
-*   [ClassNamingConventions](pmd_rules_apex_codestyle.html#classnamingconventions): Class names should always begin with an upper case character.
+*   [ClassNamingConventions](pmd_rules_apex_codestyle.html#classnamingconventions): Configurable naming conventions for type declarations. This rule reports            type declarat...
+*   [FieldNamingConventions](pmd_rules_apex_codestyle.html#fieldnamingconventions): Configurable naming conventions for field declarations. This rule reports variable declarations  ...
 *   [ForLoopsMustUseBraces](pmd_rules_apex_codestyle.html#forloopsmustusebraces): Avoid using 'for' statements without using surrounding braces. If the code formatting orindentati...
+*   [FormalParameterNamingConventions](pmd_rules_apex_codestyle.html#formalparameternamingconventions): Configurable naming conventions for formal parameters of methods.            This rule reports fo...
 *   [IfElseStmtsMustUseBraces](pmd_rules_apex_codestyle.html#ifelsestmtsmustusebraces): Avoid using if..else statements without using surrounding braces. If the code formattingor indent...
 *   [IfStmtsMustUseBraces](pmd_rules_apex_codestyle.html#ifstmtsmustusebraces): Avoid using if statements without using braces to surround the code block. If the codeformatting ...
-*   [MethodNamingConventions](pmd_rules_apex_codestyle.html#methodnamingconventions): Method names should always begin with a lower case character, and should not contain underscores.
+*   [LocalVariableNamingConventions](pmd_rules_apex_codestyle.html#localvariablenamingconventions): Configurable naming conventions for local variable declarations.            This rule reports var...
+*   [MethodNamingConventions](pmd_rules_apex_codestyle.html#methodnamingconventions): Configurable naming conventions for method declarations. This rule reports            method decl...
 *   [OneDeclarationPerLine](pmd_rules_apex_codestyle.html#onedeclarationperline): Apex allows the use of several variables declaration of the same type on one line. However, itcan...
-*   [VariableNamingConventions](pmd_rules_apex_codestyle.html#variablenamingconventions): A variable naming conventions rule - customize this to your liking.  Currently, itchecks for fina...
+*   [PropertyNamingConventions](pmd_rules_apex_codestyle.html#propertynamingconventions): Configurable naming conventions for property declarations. This rule reports            property ...
+*   [VariableNamingConventions](pmd_rules_apex_codestyle.html#variablenamingconventions): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> A variable naming conventions rule - customize this to your liking.  Currently, itchecks for fina...
 *   [WhileLoopsMustUseBraces](pmd_rules_apex_codestyle.html#whileloopsmustusebraces): Avoid using 'while' statements without using braces to surround the code block. If the codeformat...
 
 ## Design
diff --git a/docs/pages/pmd/rules/apex/codestyle.md b/docs/pages/pmd/rules/apex/codestyle.md
index 7f8f72b1a5..c6286feaa7 100644
--- a/docs/pages/pmd/rules/apex/codestyle.md
+++ b/docs/pages/pmd/rules/apex/codestyle.md
@@ -5,7 +5,7 @@ permalink: pmd_rules_apex_codestyle.html
 folder: pmd/rules/apex
 sidebaractiveurl: /pmd_rules_apex.html
 editmepath: ../pmd-apex/src/main/resources/category/apex/codestyle.xml
-keywords: Code Style, ClassNamingConventions, IfElseStmtsMustUseBraces, IfStmtsMustUseBraces, ForLoopsMustUseBraces, MethodNamingConventions, OneDeclarationPerLine, VariableNamingConventions, WhileLoopsMustUseBraces
+keywords: Code Style, ClassNamingConventions, IfElseStmtsMustUseBraces, IfStmtsMustUseBraces, FieldNamingConventions, ForLoopsMustUseBraces, FormalParameterNamingConventions, LocalVariableNamingConventions, MethodNamingConventions, OneDeclarationPerLine, PropertyNamingConventions, VariableNamingConventions, WhileLoopsMustUseBraces
 language: Apex
 ---
 <!-- DO NOT EDIT THIS FILE. This file is generated from file ../pmd-apex/src/main/resources/category/apex/codestyle.xml. -->
@@ -15,14 +15,21 @@ language: Apex
 
 **Priority:** High (1)
 
-Class names should always begin with an upper case character.
+Configurable naming conventions for type declarations. This rule reports
+type declarations which do not match the regex that applies to their
+specific kind (e.g. enum or interface). Each regex can be configured through
+properties.
+
+By default this rule uses the standard Apex naming convention (Pascal case).
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.apex.rule.codestyle.ClassNamingConventionsRule](https://github.com/pmd/pmd/blob/master/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/ClassNamingConventionsRule.java)
 
 **Example(s):**
 
 ``` java
-public class Foo {}
+public class FooClass { } // This is in pascal case, so it's ok
+
+public class fooClass { } // This will be reported unless you change the regex
 ```
 
 **This rule has the following properties:**
@@ -32,12 +39,85 @@ public class Foo {}
 |cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
 |cc\_remediation\_points\_multiplier|5|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
 |cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
+|testClassPattern|\[A-Z\]\[a-zA-Z0-9\_\]\*|Regex which applies to test class names|no|
+|abstractClassPattern|\[A-Z\]\[a-zA-Z0-9\_\]\*|Regex which applies to abstract class names|no|
+|classPattern|\[A-Z\]\[a-zA-Z0-9\_\]\*|Regex which applies to class names|no|
+|interfacePattern|\[A-Z\]\[a-zA-Z0-9\_\]\*|Regex which applies to interface names|no|
+|enumPattern|\[A-Z\]\[a-zA-Z0-9\_\]\*|Regex which applies to enum names|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
 <rule ref="category/apex/codestyle.xml/ClassNamingConventions" />
 ```
 
+**Use this rule and customize it:**
+``` xml
+<rule ref="category/apex/codestyle.xml/ClassNamingConventions">
+    <properties>
+        <property name="testClassPattern" value="[A-Z][a-zA-Z0-9_]*" />
+        <property name="abstractClassPattern" value="[A-Z][a-zA-Z0-9_]*" />
+        <property name="classPattern" value="[A-Z][a-zA-Z0-9_]*" />
+        <property name="interfacePattern" value="[A-Z][a-zA-Z0-9_]*" />
+        <property name="enumPattern" value="[A-Z][a-zA-Z0-9_]*" />
+    </properties>
+</rule>
+```
+
+## FieldNamingConventions
+
+**Since:** PMD 6.15.0
+
+**Priority:** High (1)
+
+Configurable naming conventions for field declarations. This rule reports variable declarations
+which do not match the regex that applies to their specific kind ---e.g. constants (static final),
+static field, final field. Each regex can be configured through properties.
+
+By default this rule uses the standard Apex naming convention (Camel case).
+
+**This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.apex.rule.codestyle.FieldNamingConventionsRule](https://github.com/pmd/pmd/blob/master/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsRule.java)
+
+**Example(s):**
+
+``` java
+public class Foo {
+    Integer instanceField; // This is in camel case, so it's ok
+
+    Integer INSTANCE_FIELD; // This will be reported unless you change the regex
+}
+```
+
+**This rule has the following properties:**
+
+|Name|Default Value|Description|Multivalued|
+|----|-------------|-----------|-----------|
+|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
+|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
+|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
+|enumConstantPattern|\[A-Z\]\[A-Z0-9\_\]\*|Regex which applies to enum constant field names|no|
+|constantPattern|\[A-Z\]\[A-Z0-9\_\]\*|Regex which applies to constant field names|no|
+|finalPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to final field names|no|
+|staticPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to static field names|no|
+|instancePattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to instance field names|no|
+
+**Use this rule with the default properties by just referencing it:**
+``` xml
+<rule ref="category/apex/codestyle.xml/FieldNamingConventions" />
+```
+
+**Use this rule and customize it:**
+``` xml
+<rule ref="category/apex/codestyle.xml/FieldNamingConventions">
+    <properties>
+        <property name="enumConstantPattern" value="[A-Z][A-Z0-9_]*" />
+        <property name="constantPattern" value="[A-Z][A-Z0-9_]*" />
+        <property name="finalPattern" value="[a-z][a-zA-Z0-9]*" />
+        <property name="staticPattern" value="[a-z][a-zA-Z0-9]*" />
+        <property name="instancePattern" value="[a-z][a-zA-Z0-9]*" />
+    </properties>
+</rule>
+```
+
 ## ForLoopsMustUseBraces
 
 **Since:** PMD 5.6.0
@@ -79,6 +159,56 @@ for (int i = 0; i < 42; i++) { // preferred approach
 <rule ref="category/apex/codestyle.xml/ForLoopsMustUseBraces" />
 ```
 
+## FormalParameterNamingConventions
+
+**Since:** PMD 6.15.0
+
+**Priority:** High (1)
+
+Configurable naming conventions for formal parameters of methods.
+This rule reports formal parameters which do not match the regex that applies to their
+specific kind (e.g. method parameter, or final method parameter). Each regex can be
+configured through properties.
+
+By default this rule uses the standard Apex naming convention (Camel case).
+
+**This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.apex.rule.codestyle.FormalParameterNamingConventionsRule](https://github.com/pmd/pmd/blob/master/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsRule.java)
+
+**Example(s):**
+
+``` java
+public class Foo {
+    public bar(Integer methodParameter) { } // This is in camel case, so it's ok
+
+    public baz(Integer METHOD_PARAMETER) { } // This will be reported unless you change the regex
+}
+```
+
+**This rule has the following properties:**
+
+|Name|Default Value|Description|Multivalued|
+|----|-------------|-----------|-----------|
+|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
+|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
+|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
+|finalMethodParameterPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to final method parameter names|no|
+|methodParameterPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to method parameter names|no|
+
+**Use this rule with the default properties by just referencing it:**
+``` xml
+<rule ref="category/apex/codestyle.xml/FormalParameterNamingConventions" />
+```
+
+**Use this rule and customize it:**
+``` xml
+<rule ref="category/apex/codestyle.xml/FormalParameterNamingConventions">
+    <properties>
+        <property name="finalMethodParameterPattern" value="[a-z][a-zA-Z0-9]*" />
+        <property name="methodParameterPattern" value="[a-z][a-zA-Z0-9]*" />
+    </properties>
+</rule>
+```
+
 ## IfElseStmtsMustUseBraces
 
 **Since:** PMD 5.6.0
@@ -161,21 +291,29 @@ if (foo) {  // preferred approach
 <rule ref="category/apex/codestyle.xml/IfStmtsMustUseBraces" />
 ```
 
-## MethodNamingConventions
+## LocalVariableNamingConventions
 
-**Since:** PMD 5.5.0
+**Since:** PMD 6.15.0
 
 **Priority:** High (1)
 
-Method names should always begin with a lower case character, and should not contain underscores.
+Configurable naming conventions for local variable declarations.
+This rule reports variable declarations which do not match the regex that applies to their
+specific kind (e.g. local variable, or final local variable). Each regex can be configured through
+properties.
 
-**This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.apex.rule.codestyle.MethodNamingConventionsRule](https://github.com/pmd/pmd/blob/master/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodNamingConventionsRule.java)
+By default this rule uses the standard Apex naming convention (Camel case).
+
+**This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.apex.rule.codestyle.LocalVariableNamingConventionsRule](https://github.com/pmd/pmd/blob/master/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsRule.java)
 
 **Example(s):**
 
 ``` java
 public class Foo {
-    public void fooStuff() {
+    public Foo() {
+        Integer localVariable; // This is in camel case, so it's ok
+
+        Integer LOCAL_VARIABLE; // This will be reported unless you change the regex
     }
 }
 ```
@@ -187,7 +325,59 @@ public class Foo {
 |cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
 |cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
 |cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
-|skipTestMethodUnderscores|false|Skip underscores in test methods|no|
+|finalLocalPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to final local variable names|no|
+|localPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to local variable names|no|
+
+**Use this rule with the default properties by just referencing it:**
+``` xml
+<rule ref="category/apex/codestyle.xml/LocalVariableNamingConventions" />
+```
+
+**Use this rule and customize it:**
+``` xml
+<rule ref="category/apex/codestyle.xml/LocalVariableNamingConventions">
+    <properties>
+        <property name="finalLocalPattern" value="[a-z][a-zA-Z0-9]*" />
+        <property name="localPattern" value="[a-z][a-zA-Z0-9]*" />
+    </properties>
+</rule>
+```
+
+## MethodNamingConventions
+
+**Since:** PMD 5.5.0
+
+**Priority:** High (1)
+
+Configurable naming conventions for method declarations. This rule reports
+method declarations which do not match the regex that applies to their
+specific kind (e.g. static method, or test method). Each regex can be
+configured through properties.
+
+By default this rule uses the standard Apex naming convention (Camel case).
+
+**This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.apex.rule.codestyle.MethodNamingConventionsRule](https://github.com/pmd/pmd/blob/master/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/MethodNamingConventionsRule.java)
+
+**Example(s):**
+
+``` java
+public class Foo {
+    public void instanceMethod() { } // This is in camel case, so it's ok
+
+    public void INSTANCE_METHOD() { } // This will be reported unless you change the regex
+```
+
+**This rule has the following properties:**
+
+|Name|Default Value|Description|Multivalued|
+|----|-------------|-----------|-----------|
+|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
+|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
+|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
+|skipTestMethodUnderscores|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Skip underscores in test methods|no|
+|testPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to test method names|no|
+|staticPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to static method names|no|
+|instancePattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to instance method names|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -198,7 +388,9 @@ public class Foo {
 ``` xml
 <rule ref="category/apex/codestyle.xml/MethodNamingConventions">
     <properties>
-        <property name="skipTestMethodUnderscores" value="false" />
+        <property name="testPattern" value="[a-z][a-zA-Z0-9]*" />
+        <property name="staticPattern" value="[a-z][a-zA-Z0-9]*" />
+        <property name="instancePattern" value="[a-z][a-zA-Z0-9]*" />
     </properties>
 </rule>
 ```
@@ -258,8 +450,60 @@ Integer b;
 </rule>
 ```
 
+## PropertyNamingConventions
+
+**Since:** PMD 6.15.0
+
+**Priority:** High (1)
+
+Configurable naming conventions for property declarations. This rule reports
+property declarations which do not match the regex that applies to their
+specific kind (e.g. static property, or instance property). Each regex can be
+configured through properties.
+
+By default this rule uses the standard Apex naming convention (Camel case).
+
+**This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.apex.rule.codestyle.PropertyNamingConventionsRule](https://github.com/pmd/pmd/blob/master/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsRule.java)
+
+**Example(s):**
+
+``` java
+public class Foo {
+    public Integer instanceProperty { get; set; } // This is in camel case, so it's ok
+
+    public Integer INSTANCE_PROPERTY { get; set; } // This will be reported unless you change the regex
+}
+```
+
+**This rule has the following properties:**
+
+|Name|Default Value|Description|Multivalued|
+|----|-------------|-----------|-----------|
+|cc\_categories|Style|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Categories|yes. Delimiter is '\|'.|
+|cc\_remediation\_points\_multiplier|1|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Remediation Points multiplier|no|
+|cc\_block\_highlighting|false|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span>  Code Climate Block Highlighting|no|
+|staticPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to static property names|no|
+|instancePattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to instance property names|no|
+
+**Use this rule with the default properties by just referencing it:**
+``` xml
+<rule ref="category/apex/codestyle.xml/PropertyNamingConventions" />
+```
+
+**Use this rule and customize it:**
+``` xml
+<rule ref="category/apex/codestyle.xml/PropertyNamingConventions">
+    <properties>
+        <property name="staticPattern" value="[a-z][a-zA-Z0-9]*" />
+        <property name="instancePattern" value="[a-z][a-zA-Z0-9]*" />
+    </properties>
+</rule>
+```
+
 ## VariableNamingConventions
 
+<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f;">Deprecated</span> 
+
 **Since:** PMD 5.5.0
 
 **Priority:** High (1)
@@ -268,6 +512,12 @@ A variable naming conventions rule - customize this to your liking.  Currently,
 checks for final variables that should be fully capitalized and non-final variables
 that should not include underscores.
 
+This rule is deprecated and will be removed with PMD 7.0.0. The rule is replaced
+by the more general rules {% rule &quot;apex/codestyle/FieldNamingConventions&quot; %},
+{% rule &quot;apex/codestyle/FormalParameterNamingConventions&quot; %},
+{% rule &quot;apex/codestyle/LocalVariableNamingConventions&quot; %}, and
+{% rule &quot;apex/codestyle/PropertyNamingConventions&quot; %}.
+
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.apex.rule.codestyle.VariableNamingConventionsRule](https://github.com/pmd/pmd/blob/master/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/VariableNamingConventionsRule.java)
 
 **Example(s):**

From d31c66cd5b166c3df95365c8464b581548b0c350 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Sat, 18 May 2019 16:35:57 +0200
Subject: [PATCH 105/371] Remove CC categories in new rules

Fixes compilation
---
 .../lang/apex/rule/codestyle/FieldNamingConventionsRule.java | 5 -----
 .../rule/codestyle/FormalParameterNamingConventionsRule.java | 5 -----
 .../rule/codestyle/LocalVariableNamingConventionsRule.java   | 5 -----
 .../apex/rule/codestyle/PropertyNamingConventionsRule.java   | 5 -----
 4 files changed, 20 deletions(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsRule.java
index d5c19968dc..27f464bca5 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FieldNamingConventionsRule.java
@@ -39,11 +39,6 @@ public class FieldNamingConventionsRule extends AbstractNamingConventionsRule {
         definePropertyDescriptor(STATIC_REGEX);
         definePropertyDescriptor(INSTANCE_REGEX);
 
-        setProperty(CODECLIMATE_CATEGORIES, "Style");
-        // Note: x10 as Apex has not automatic refactoring
-        setProperty(CODECLIMATE_REMEDIATION_MULTIPLIER, 1);
-        setProperty(CODECLIMATE_BLOCK_HIGHLIGHTING, false);
-
         addRuleChainVisit(ASTField.class);
     }
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsRule.java
index 8c611cb2e3..ae1a606409 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/FormalParameterNamingConventionsRule.java
@@ -24,11 +24,6 @@ public class FormalParameterNamingConventionsRule extends AbstractNamingConventi
         definePropertyDescriptor(FINAL_METHOD_PARAMETER_REGEX);
         definePropertyDescriptor(METHOD_PARAMETER_REGEX);
 
-        setProperty(CODECLIMATE_CATEGORIES, "Style");
-        // Note: x10 as Apex has not automatic refactoring
-        setProperty(CODECLIMATE_REMEDIATION_MULTIPLIER, 1);
-        setProperty(CODECLIMATE_BLOCK_HIGHLIGHTING, false);
-
         addRuleChainVisit(ASTParameter.class);
     }
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsRule.java
index ee19980719..4969f429b1 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/LocalVariableNamingConventionsRule.java
@@ -25,11 +25,6 @@ public class LocalVariableNamingConventionsRule extends AbstractNamingConvention
         definePropertyDescriptor(FINAL_REGEX);
         definePropertyDescriptor(LOCAL_REGEX);
 
-        setProperty(CODECLIMATE_CATEGORIES, "Style");
-        // Note: x10 as Apex has not automatic refactoring
-        setProperty(CODECLIMATE_REMEDIATION_MULTIPLIER, 1);
-        setProperty(CODECLIMATE_BLOCK_HIGHLIGHTING, false);
-
         addRuleChainVisit(ASTVariableDeclaration.class);
     }
 
diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsRule.java
index 70ad5594e1..376bc93b92 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/codestyle/PropertyNamingConventionsRule.java
@@ -25,11 +25,6 @@ public class PropertyNamingConventionsRule extends AbstractNamingConventionsRule
         definePropertyDescriptor(STATIC_REGEX);
         definePropertyDescriptor(INSTANCE_REGEX);
 
-        setProperty(CODECLIMATE_CATEGORIES, "Style");
-        // Note: x10 as Apex has not automatic refactoring
-        setProperty(CODECLIMATE_REMEDIATION_MULTIPLIER, 1);
-        setProperty(CODECLIMATE_BLOCK_HIGHLIGHTING, false);
-
         addRuleChainVisit(ASTField.class);
     }
 

From 3b646edd718736c6d7bd643e3a600b0d4d89b509 Mon Sep 17 00:00:00 2001
From: Michael Hausegger <hausegger.michael@googlemail.com>
Date: Mon, 20 May 2019 17:08:50 +0200
Subject: [PATCH 106/371] Small minor performance improvements

---
 pmd-core/src/main/java/net/sourceforge/pmd/cpd/GUI.java       | 4 ++--
 .../main/java/net/sourceforge/pmd/util/designer/Designer.java | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/GUI.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/GUI.java
index 916276502a..fd7e436af2 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/GUI.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/GUI.java
@@ -421,7 +421,7 @@ public class GUI implements CPDListener {
         ignoreAnnotationsCheckbox.setEnabled(current.canIgnoreAnnotations());
         ignoreUsingsCheckbox.setEnabled(current.canIgnoreUsings());
         extensionField.setText(current.extensions()[0]);
-        boolean enableExtension = current.extensions()[0].length() == 0;
+        boolean enableExtension = current.extensions()[0].isEmpty();
         extensionField.setEnabled(enableExtension);
         extensionLabel.setEnabled(enableExtension);
     }
@@ -611,7 +611,7 @@ public class GUI implements CPDListener {
     private boolean isLegalPath(String path, LanguageConfig config) {
         String[] extensions = config.extensions();
         for (int i = 0; i < extensions.length; i++) {
-            if (path.endsWith(extensions[i]) && extensions[i].length() > 0) {
+            if (path.endsWith(extensions[i]) && !extensions[i].isEmpty()) {
                 return true;
             }
         }
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/Designer.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/Designer.java
index a43fa65778..90af1421f5 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/Designer.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/Designer.java
@@ -939,7 +939,7 @@ public class Designer implements ClipboardOwner {
     }
 
     private String getXmlTreeCode() {
-        if (codeEditorPane.getText() != null && codeEditorPane.getText().trim().length() > 0) {
+        if (codeEditorPane.getText() != null && !codeEditorPane.getText().trim().isEmpty()) {
             Node cu = getCompilationUnit();
             return getXmlTreeCode(cu);
         }

From bcf0de6880c9a0f81cd8171127819014bc38abca Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Tue, 21 May 2019 14:33:07 +0200
Subject: [PATCH 107/371] Various unit tests for strings that are currently not
 handled correctly by the Dart tokenizer.

---
 .../java/net/sourceforge/pmd/cpd/DartTokenizerTest.java     | 6 +++++-
 .../src/test/resources/net/sourceforge/pmd/cpd/regex.dart   | 3 +++
 .../src/test/resources/net/sourceforge/pmd/cpd/regex2.dart  | 3 +++
 .../src/test/resources/net/sourceforge/pmd/cpd/regex3.dart  | 3 +++
 .../net/sourceforge/pmd/cpd/string_with_backslashes.dart    | 3 +++
 5 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex.dart
 create mode 100644 pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex2.dart
 create mode 100644 pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex3.dart
 create mode 100644 pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/string_with_backslashes.dart

diff --git a/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java b/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java
index 373444edfa..d6517df023 100644
--- a/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java
+++ b/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java
@@ -35,7 +35,11 @@ public class DartTokenizerTest extends AbstractTokenizerTest {
                 new Object[] { "escaped_backslash.dart", 14 },
                 new Object[] { "escaped_string.dart", 17 },
                 new Object[] { "increment.dart", 185 },
-                new Object[] { "imports.dart", 1 }
+                new Object[] { "imports.dart", 1 },
+                new Object[] { "regex.dart", 13 },
+                new Object[] { "regex2.dart", 13 },
+                new Object[] { "regex3.dart", 13 },
+                new Object[] { "string_with_backslashes.dart", 9 }
         );
     }
 
diff --git a/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex.dart b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex.dart
new file mode 100644
index 0000000000..14f45f2955
--- /dev/null
+++ b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex.dart
@@ -0,0 +1,3 @@
+class MyClass {
+  final regex = new RegExp(r'^--([a-zA-Z\-_0-9]+)(=(.*))?$');
+}
diff --git a/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex2.dart b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex2.dart
new file mode 100644
index 0000000000..57decc436c
--- /dev/null
+++ b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex2.dart
@@ -0,0 +1,3 @@
+class MyClass {
+  final regex = new RegExp(r"(^[a-zA-Z][-+.a-zA-Z\d]*://|[^/])$");
+}
diff --git a/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex3.dart b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex3.dart
new file mode 100644
index 0000000000..c5de8271b7
--- /dev/null
+++ b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/regex3.dart
@@ -0,0 +1,3 @@
+class MyClass {
+  final regex = new RegExp(r'''[ \t\r\n"'\\/]''');
+}
diff --git a/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/string_with_backslashes.dart b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/string_with_backslashes.dart
new file mode 100644
index 0000000000..bc7168870c
--- /dev/null
+++ b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/string_with_backslashes.dart
@@ -0,0 +1,3 @@
+class MyClass {
+  final stringWithBackslashes = "Escaping\ spaces\ should work";
+}

From 806b130e4a3c834280d695806274740bab7afb6c Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Tue, 21 May 2019 14:33:43 +0200
Subject: [PATCH 108/371] Improved Dart tokenizer to handle strings correctly.

This is based on the grammar at https://github.com/chalin/dart-spec-and-grammar/blob/master/doc/grammar-AUTOGENERATED-DO-NOT-EDIT.txt.

The string handling is now much closer to this grammar, resulting in more files being tokenized correctly.
---
 .../sourceforge/pmd/lang/dart/antlr4/Dart2.g4 | 77 ++++++++-----------
 1 file changed, 34 insertions(+), 43 deletions(-)

diff --git a/pmd-dart/src/main/antlr4/net/sourceforge/pmd/lang/dart/antlr4/Dart2.g4 b/pmd-dart/src/main/antlr4/net/sourceforge/pmd/lang/dart/antlr4/Dart2.g4
index fcc42ae013..7d8793edab 100644
--- a/pmd-dart/src/main/antlr4/net/sourceforge/pmd/lang/dart/antlr4/Dart2.g4
+++ b/pmd-dart/src/main/antlr4/net/sourceforge/pmd/lang/dart/antlr4/Dart2.g4
@@ -340,58 +340,49 @@ booleanLiteral
   | 'false'
   ;
 
-//stringLiteral: (MultilineString | SingleLineString)+;
-stringLiteral: SingleLineString;
-//stringLiteral: SingleLineString;
+stringLiteral: (MultiLineString | SingleLineString)+;
+
 SingleLineString
-  : '"' (~[\\"] | '\\\\' | ESCAPE_SEQUENCE | '\\"')* '"'
-  | '\'' (~[\\'] | '\\\\' | ESCAPE_SEQUENCE | '\\\'')* '\''
-//  | 'r\'' (~('\'' | NEWLINE))* '\'' // TODO
-//  | 'r"' (~('\'' | NEWLINE))* '"'
+  : '"' StringContentDQ* '"'
+  | '\'' StringContentSQ* '\''
+  | 'r\'' (~('\'' | '\n' | '\r'))* '\''
+  | 'r"' (~('"' | '\n' | '\r'))* '"'
   ;
 
-//MultilineString
-//  : '"""' StringContentTDQ* '"""'
-//  | '\'\'\'' StringContentTDQ* '\'\'\''
-//  | 'r"""' (~'"""')* '"""' // TODO
-//  | 'r\'\'\'' (~'\'\'\'')* '\'\'\''
-//  ;
-//StringContentSQ: .;// TODO
-//StringContentTDQ: .;// TODO
 fragment
-ESCAPE_SEQUENCE
-  : '\\n'
-  | '\\r'
-  | '\\f'
-  | '\\b'
-  | '\\t'
-  | '\\v'
-  | '\\x' HEX_DIGIT HEX_DIGIT
-  | '\\u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
-  | '\\u{' HEX_DIGIT_SEQUENCE '}'
-  | '\\$'
+StringContentDQ
+  : ~('\\' | '"' /*| '$'*/ | '\n' | '\r')
+  | '\\' ~('\n' | '\r')
+  //| stringInterpolation
   ;
+
 fragment
-HEX_DIGIT_SEQUENCE
-  : HEX_DIGIT HEX_DIGIT? HEX_DIGIT?
-    HEX_DIGIT? HEX_DIGIT? HEX_DIGIT?
+StringContentSQ
+  : ~('\\' | '\'' /*| '$'*/ | '\n' | '\r')
+  | '\\' ~('\n' | '\r')
+  //| stringInterpolation
   ;
-/*TODO
-<stringContentDQ> ::= \~{}( `\\' | `"' | `$' | <NEWLINE> )
-  \alt `\\' \~{}( <NEWLINE> )
-  \alt <stringInterpolation>
 
-<stringContentSQ> ::= \~{}( `\\' | `\'' | `$' | <NEWLINE> )
-  \alt `\\' \~{}( <NEWLINE> )
-  \alt <stringInterpolation>
-<stringContentTDQ> ::= \~{}( `\\' | `"""' | `$')
-  \alt `\\' \~{}( <NEWLINE> )
-  \alt <stringInterpolation>
+MultiLineString
+  : '"""' StringContentTDQ* '"""'
+  | '\'\'\'' StringContentTSQ* '\'\'\''
+  | 'r"""' (~'"' | '"' ~'"' | '""' ~'"')* '"""'
+  | 'r\'\'\'' (~'\'' | '\'' ~'\'' | '\'\'' ~'\'')* '\'\'\''
+  ;
+
+fragment
+StringContentTDQ
+  : ~('\\' | '"' /*| '$'*/)
+  | '"' ~'"' | '""' ~'"'
+  //| stringInterpolation
+  ;
+
+fragment StringContentTSQ
+  : ~('\\' | '\'' /*| '$'*/)
+  | '\'' ~'\'' | '\'\'' ~'\''
+  //| stringInterpolation
+  ;
 
-<stringContentTSQ> ::= \~{}( `\\' | `\'\'\'' | `$')
-  \alt `\\' \~{}( <NEWLINE> )
-  \alt <stringInterpolation>
-*/
 NEWLINE
   : '\n'
   | '\r'

From 68f2e556a2c8b47fdf60b6be8d88b0020671467f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcel=20H=C3=A4rle?= <marcel.haerle@sonnvest.de>
Date: Wed, 22 May 2019 08:38:05 +0200
Subject: [PATCH 109/371] [java] Whitelist serialPersistentFields

---
 .../codestyle/FieldNamingConventionsRule.java |  2 +-
 .../documentation/CommentRequiredRule.java    | 27 ++++++-
 .../codestyle/xml/FieldNamingConventions.xml  | 14 ++++
 .../documentation/xml/CommentRequired.xml     | 79 +++++++++++++++++++
 4 files changed, 120 insertions(+), 2 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/FieldNamingConventionsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/FieldNamingConventionsRule.java
index 74fff9114f..904b7dbdd4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/FieldNamingConventionsRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/FieldNamingConventionsRule.java
@@ -26,7 +26,7 @@ public class FieldNamingConventionsRule extends AbstractNamingConventionRule<AST
     private static final PropertyDescriptor<List<String>> EXCLUDED_NAMES =
             PropertyFactory.stringListProperty("exclusions")
                            .desc("Names of fields to whitelist.")
-                           .defaultValues("serialVersionUID")
+                           .defaultValues("serialVersionUID", "serialPersistentFields")
                            .build();
 
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/documentation/CommentRequiredRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/documentation/CommentRequiredRule.java
index 56ab5c1e96..d14a2f7551 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/documentation/CommentRequiredRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/documentation/CommentRequiredRule.java
@@ -56,6 +56,9 @@ public class CommentRequiredRule extends AbstractCommentRule {
     private static final PropertyDescriptor<CommentRequirement> SERIAL_VERSION_UID_CMT_REQUIREMENT_DESCRIPTOR
         = requirementPropertyBuilder("serialVersionUIDCommentRequired", "Serial version UID comments")
         .defaultValue(CommentRequirement.Ignored).build();
+    private static final PropertyDescriptor<CommentRequirement> SERIAL_PERSISTENT_FIELDS_CMT_REQUIREMENT_DESCRIPTOR
+        = requirementPropertyBuilder("serialPersistentFieldsCommentRequired", "Serial persistent fields comments")
+        .defaultValue(CommentRequirement.Ignored).build();
 
 
     public CommentRequiredRule() {
@@ -67,6 +70,7 @@ public class CommentRequiredRule extends AbstractCommentRule {
         definePropertyDescriptor(PROT_METHOD_CMT_REQUIREMENT_DESCRIPTOR);
         definePropertyDescriptor(ENUM_CMT_REQUIREMENT_DESCRIPTOR);
         definePropertyDescriptor(SERIAL_VERSION_UID_CMT_REQUIREMENT_DESCRIPTOR);
+        definePropertyDescriptor(SERIAL_PERSISTENT_FIELDS_CMT_REQUIREMENT_DESCRIPTOR);
     }
 
 
@@ -154,6 +158,8 @@ public class CommentRequiredRule extends AbstractCommentRule {
     public Object visit(ASTFieldDeclaration decl, Object data) {
         if (isSerialVersionUID(decl)) {
             checkCommentMeetsRequirement(data, decl, SERIAL_VERSION_UID_CMT_REQUIREMENT_DESCRIPTOR);
+        } else if (isSerialPersistentFields(decl)) {
+            checkCommentMeetsRequirement(data, decl, SERIAL_PERSISTENT_FIELDS_CMT_REQUIREMENT_DESCRIPTOR);
         } else {
             checkCommentMeetsRequirement(data, decl, FIELD_CMT_REQUIREMENT_DESCRIPTOR);
         }
@@ -169,6 +175,24 @@ public class CommentRequiredRule extends AbstractCommentRule {
                && field.getType() == long.class;
     }
 
+    /**
+     * Whether the given field is a serialPersistentFields variable.
+     * <p/>
+     * This field must be initialized with an array of ObjectStreamField objects.
+     * The modifiers for the field are required to be private, static, and final.
+     *
+     * @see <a href="https://docs.oracle.com/javase/7/docs/platform/serialization/spec/serial-arch.html#6250">Oracle docs</a>
+     * @param field the field, must not be null
+     * @return true if the field ia a serialPersistentFields variable, otherwise false
+     */
+    private boolean isSerialPersistentFields(final ASTFieldDeclaration field) {
+        return "serialPersistentFields".equals(field.getVariableName())
+                && field.isPrivate()
+                && field.isStatic()
+                && field.isFinal()
+                && field.isArray()
+                && "ObjectStreamField".equals(field.jjtGetFirstToken().getImage()); // .getType() returns null
+    }
 
     @Override
     public Object visit(ASTEnumDeclaration decl, Object data) {
@@ -192,7 +216,8 @@ public class CommentRequiredRule extends AbstractCommentRule {
                 && getProperty(PUB_METHOD_CMT_REQUIREMENT_DESCRIPTOR) == CommentRequirement.Ignored
                 && getProperty(PROT_METHOD_CMT_REQUIREMENT_DESCRIPTOR) == CommentRequirement.Ignored
                 && getProperty(ENUM_CMT_REQUIREMENT_DESCRIPTOR) == CommentRequirement.Ignored
-                && getProperty(SERIAL_VERSION_UID_CMT_REQUIREMENT_DESCRIPTOR) == CommentRequirement.Ignored;
+                && getProperty(SERIAL_VERSION_UID_CMT_REQUIREMENT_DESCRIPTOR) == CommentRequirement.Ignored
+                && getProperty(SERIAL_PERSISTENT_FIELDS_CMT_REQUIREMENT_DESCRIPTOR) == CommentRequirement.Ignored;
     }
 
     @Override
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/FieldNamingConventions.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/FieldNamingConventions.xml
index 6f17f54b5e..1d6c277054 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/FieldNamingConventions.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/FieldNamingConventions.xml
@@ -193,6 +193,20 @@
             ]]></code>
     </test-code>
 
+    <test-code>
+        <description>Exclude serialPersistentFields by default</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+            public class Foo implements Serializable {
+
+                List next;
+
+                private static final ObjectStreamField[] serialPersistentFields = {new ObjectStreamField("next", List.class)};
+
+            }
+            ]]></code>
+    </test-code>
+
     <test-code>
         <description>More exclusions can be configured</description>
         <rule-property name="exclusions">m$mangled|serialVersionUID</rule-property>
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/documentation/xml/CommentRequired.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/documentation/xml/CommentRequired.xml
index d06fea79d7..cab2f7cdc9 100755
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/documentation/xml/CommentRequired.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/documentation/xml/CommentRequired.xml
@@ -157,6 +157,85 @@ public class CommentRequired implements Serializable {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>#1684 whitelist serialPersistentFields</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+/** The class comment */
+public class CommentRequired implements Serializable {
+    /** My list */
+    List next;
+    private static final ObjectStreamField[] serialPersistentFields = {new ObjectStreamField("next", List.class)};
+}
+        ]]></code>
+    </test-code>
+    <test-code>
+        <description>#1684 comment required on serialPersistentFields of wrong type</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>5</expected-linenumbers>
+        <code><![CDATA[
+/** The class comment */
+public class CommentRequired implements Serializable {
+    /** My list */
+    List next;
+    private static final String[] serialPersistentFields = {"next"};
+}
+        ]]></code>
+    </test-code>
+    <test-code>
+        <description>#1684 comment required on serialPersistentFields of wrong visibility</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>5</expected-linenumbers>
+        <code><![CDATA[
+/** The class comment */
+public class CommentRequired implements Serializable {
+    /** My list */
+    List next;
+    static final ObjectStreamField[] serialPersistentFields = {new ObjectStreamField("next", List.class)};
+}
+        ]]></code>
+    </test-code>
+    <test-code>
+        <description>#1684 comment required on serialPersistentFields not static</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>5</expected-linenumbers>
+        <code><![CDATA[
+/** The class comment */
+public class CommentRequired implements Serializable {
+    /** My list */
+    List next;
+    private final ObjectStreamField[] serialPersistentFields = {new ObjectStreamField("next", List.class)};
+}
+        ]]></code>
+    </test-code>
+    <test-code>
+        <description>#1684 comment required on serialPersistentFields not final</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>5</expected-linenumbers>
+        <code><![CDATA[
+/** The class comment */
+public class CommentRequired implements Serializable {
+    /** My list */
+    List next;
+    private static ObjectStreamField[] serialPersistentFields = {new ObjectStreamField("next", List.class)};
+}
+        ]]></code>
+    </test-code>
+    <test-code>
+        <description>#1684 serialPersistentFields comment required</description>
+        <rule-property name="serialPersistentFieldsCommentRequired">Required</rule-property>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>5</expected-linenumbers>
+        <code><![CDATA[
+/** The class comment */
+public class CommentRequired implements Serializable {
+    /** My list */
+    List next;
+    private static final ObjectStreamField[] serialPersistentFields = {new ObjectStreamField("next", List.class)};
+}
+        ]]></code>
+    </test-code>
+
     <test-code>
         <description>#1522 [java] CommentRequired: false positive</description>
         <expected-problems>0</expected-problems>

From f2f0494566a312f2ca5829bdf21e13eb040ce50e Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Fri, 24 May 2019 12:28:44 -0300
Subject: [PATCH 110/371] PR review

---
 .../net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java  | 6 +++---
 .../sourceforge/pmd/lang/swift/SwiftParserAdapter.java   | 9 ++++-----
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
index 460aa0334e..acca252b9c 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
@@ -21,7 +21,7 @@ import net.sourceforge.pmd.lang.ast.ParseException;
 /**
  * Generic Antlr parser adapter for all Antlr parsers.
  */
-public abstract class AntlrBaseParser implements Parser {
+public abstract class AntlrBaseParser<T extends org.antlr.v4.runtime.Parser> implements Parser {
 
     protected final ParserOptions parserOptions;
 
@@ -57,9 +57,9 @@ public abstract class AntlrBaseParser implements Parser {
         return new HashMap<>();
     }
 
-    protected abstract AntlrBaseNode getRootNode(org.antlr.v4.runtime.Parser parser);
+    protected abstract AntlrBaseNode getRootNode(T parser);
 
     protected abstract Lexer getLexer(Reader source) throws IOException;
 
-    protected abstract org.antlr.v4.runtime.Parser getParser(Lexer lexer);
+    protected abstract T getParser(Lexer lexer);
 }
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java
index dfa3f0b4a8..c7082ef804 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftParserAdapter.java
@@ -10,7 +10,6 @@ import java.io.Reader;
 import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.Lexer;
-import org.antlr.v4.runtime.Parser;
 
 import net.sourceforge.pmd.lang.ParserOptions;
 import net.sourceforge.pmd.lang.antlr.AntlrBaseParser;
@@ -21,15 +20,15 @@ import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
 /**
  * Adapter for the SwiftParser.
  */
-public class SwiftParserAdapter extends AntlrBaseParser {
+public class SwiftParserAdapter extends AntlrBaseParser<SwiftParser> {
 
     public SwiftParserAdapter(final ParserOptions parserOptions) {
         super(parserOptions);
     }
 
     @Override
-    protected AntlrBaseNode getRootNode(final Parser parser) {
-        return ((SwiftParser) parser).topLevel();
+    protected AntlrBaseNode getRootNode(final SwiftParser parser) {
+        return parser.topLevel();
     }
 
     @Override
@@ -38,7 +37,7 @@ public class SwiftParserAdapter extends AntlrBaseParser {
     }
 
     @Override
-    protected Parser getParser(final Lexer lexer) {
+    protected SwiftParser getParser(final Lexer lexer) {
         return new SwiftParser(new CommonTokenStream(lexer));
     }
 

From 5307f8ad2042c22e0c0d915dc5ee8d8e3e57bc0f Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Fri, 24 May 2019 12:49:23 -0300
Subject: [PATCH 111/371] Generify visit

---
 .../net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java
index 6694ae1c0b..99d62a03fb 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java
@@ -79,7 +79,7 @@ public abstract class AbstractAntlrVisitor<T> extends AbstractRule implements Pa
         }
     }
 
-    public Object visit(final AntlrBaseNode node) {
+    public T visit(final AntlrBaseNode node) {
         return node.accept(this);
     }
 }

From 37ecbc1dad01cb6fe28f7f3f63bf25d31624ddc2 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 24 May 2019 19:24:54 +0200
Subject: [PATCH 112/371] Update release notes, fixes #1684, refs #1840

---
 docs/pages/release_notes.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index ad93fdab8d..6215d7600e 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -69,6 +69,16 @@ CPD also parses raw string literals now correctly (see [#1784](https://github.co
     using various properties to differenciate e.g. static methods and test methods.
     As before, this rule uses by default the standard Apex naming convention (Camel case).
 
+*   The Java rule {% rule "java/codestyle/FieldNamingConventions" %} (`java-codestyle`) now by default ignores
+    the field `serialPersistentFields`. Since this is a field which needs to have this special name, no
+    field naming conventions can be applied here. It is excluded the same way like `serialVersionUID` via the
+    property `exclusions`.
+
+*   The Java rule {% rule "java/documentation/CommentRequired" %} (`java-documentation`) has a new property
+    `serialPersistentFieldsCommentRequired` with the default value "Ignored". This means that from now
+    on comments for the field `serialPersistentFields` are not required anymore. You can change the property
+    to restore the old behavior.
+
 #### Deprecated Rules
 
 *   The Apex rule {% rule "apex/codestyle/VariableNamingConventions" %} (`apex-codestyle`) has been deprecated and
@@ -90,6 +100,7 @@ CPD also parses raw string literals now correctly (see [#1784](https://github.co
 *   java-bestpractices
     *   [#1738](https://github.com/pmd/pmd/issues/1738): \[java] MethodReturnsInternalArray does not work in inner classes
 *   java-codestyle
+    *   [#1684](https://github.com/pmd/pmd/issues/1684): \[java] Properly whitelist serialPersistentFields
     *   [#1804](https://github.com/pmd/pmd/issues/1804): \[java] NPE in UnnecessaryLocalBeforeReturnRule
 *   python
     *   [#1810](https://github.com/pmd/pmd/issues/1810): \[python] \[cpd] Parse error when using Python 2 backticks
@@ -128,6 +139,7 @@ CPD also parses raw string literals now correctly (see [#1784](https://github.co
 *   [#1820](https://github.com/pmd/pmd/pull/1820): \[cpp] \[cpd] Improve support for raw string literals - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1821](https://github.com/pmd/pmd/pull/1821): \[matlab] \[cpd] Matlab question mark token - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1822](https://github.com/pmd/pmd/pull/1822): \[matlab] \[cpd] Double quoted string - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1840](https://github.com/pmd/pmd/pull/1840): \[java] Whitelist serialPersistentFields - [Marcel Härle](https://github.com/marcelhaerle)
 
 {% endtocmaker %}
 

From bd3dfb9d7dca1bd8836f89beea59c4df3e61a359 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 24 May 2019 19:36:09 +0200
Subject: [PATCH 113/371] Update release notes, refs #1837

---
 docs/pages/release_notes.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index cdcddea67f..5a92853c34 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -32,6 +32,7 @@ This is a {{ site.pmd.release_type }} release.
 *   [#1799](https://github.com/pmd/pmd/pull/1799): \[java] MethodReturnsInternalArray does not work in inner classes - Fixed #1738 - [Srinivasan Venkatachalam](https://github.com/Srini1993)
 *   [#1802](https://github.com/pmd/pmd/pull/1802): \[python] \[cpd] Add support for Python 2 backticks - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1837](https://github.com/pmd/pmd/pull/1837): \[core] Minor performance improvements - [Michael Hausegger](https://github.com/TheRealHaui)
 
 {% endtocmaker %}
 

From fa91d47f7b7b07a1126a515a18a28a3fc932826f Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 24 May 2019 19:37:06 +0200
Subject: [PATCH 114/371] (doc) Update generated rule documentation

---
 docs/pages/pmd/rules/java/codestyle.md     | 4 ++--
 docs/pages/pmd/rules/java/documentation.md | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/docs/pages/pmd/rules/java/codestyle.md b/docs/pages/pmd/rules/java/codestyle.md
index d2ff5b66c1..c4f215a7ba 100644
--- a/docs/pages/pmd/rules/java/codestyle.md
+++ b/docs/pages/pmd/rules/java/codestyle.md
@@ -900,7 +900,7 @@ class Foo {
 |finalFieldPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to final field names|no|
 |staticFieldPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to static field names|no|
 |defaultFieldPattern|\[a-z\]\[a-zA-Z0-9\]\*|Regex which applies to field names|no|
-|exclusions|serialVersionUID|Names of fields to whitelist.|yes. Delimiter is '\|'.|
+|exclusions|serialVersionUID \| serialPersistentFields|Names of fields to whitelist.|yes. Delimiter is '\|'.|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -917,7 +917,7 @@ class Foo {
         <property name="finalFieldPattern" value="[a-z][a-zA-Z0-9]*" />
         <property name="staticFieldPattern" value="[a-z][a-zA-Z0-9]*" />
         <property name="defaultFieldPattern" value="[a-z][a-zA-Z0-9]*" />
-        <property name="exclusions" value="serialVersionUID" />
+        <property name="exclusions" value="serialVersionUID|serialPersistentFields" />
     </properties>
 </rule>
 ```
diff --git a/docs/pages/pmd/rules/java/documentation.md b/docs/pages/pmd/rules/java/documentation.md
index a8cf2374fa..0c9a065c3c 100644
--- a/docs/pages/pmd/rules/java/documentation.md
+++ b/docs/pages/pmd/rules/java/documentation.md
@@ -79,6 +79,7 @@ Denotes whether comments are required (or unwanted) for specific language elemen
 |protectedMethodCommentRequirement|Required|Protected method constructor comments. Possible values: \[Required, Ignored, Unwanted\]|no|
 |enumCommentRequirement|Required|Enum comments. Possible values: \[Required, Ignored, Unwanted\]|no|
 |serialVersionUIDCommentRequired|Ignored|Serial version UID comments. Possible values: \[Required, Ignored, Unwanted\]|no|
+|serialPersistentFieldsCommentRequired|Ignored|Serial persistent fields comments. Possible values: \[Required, Ignored, Unwanted\]|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -97,6 +98,7 @@ Denotes whether comments are required (or unwanted) for specific language elemen
         <property name="protectedMethodCommentRequirement" value="Required" />
         <property name="enumCommentRequirement" value="Required" />
         <property name="serialVersionUIDCommentRequired" value="Ignored" />
+        <property name="serialPersistentFieldsCommentRequired" value="Ignored" />
     </properties>
 </rule>
 ```

From 12cf9009bfd8c53356426836ca0d5b3cd6882471 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 24 May 2019 20:13:54 +0200
Subject: [PATCH 115/371] Add more test cases

---
 .../xml/ArrayInitializationVerboseness.xml    | 116 ++++++++++++------
 1 file changed, 76 insertions(+), 40 deletions(-)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
index 146139f78e..7a1e5a6992 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
@@ -1,47 +1,83 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <test-data
-  xmlns="http://pmd.sourceforge.net/rule-tests"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
-  <test-code>
-    <description><![CDATA[
-simple failure case
-     ]]></description>
-    <expected-problems>1</expected-problems>
-    <code><![CDATA[
-public class Foo {
- void foo() {
-  int[] x = new int[] {1,2,3};
- }
-}
-     ]]></code>
-  </test-code>
+    xmlns="http://pmd.sourceforge.net/rule-tests"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
 
-  <test-code>
-    <description><![CDATA[
-case with two initializers
-     ]]></description>
-    <expected-problems>2</expected-problems>
-    <code><![CDATA[
-public class Foo {
- void foo() {
-   int ar[] = new int[] { 1,2,3}, foo[] = new int[] { 4, 5, 6 };
- }
+    <test-code>
+        <description>simple failure case</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>3</expected-linenumbers>
+        <code><![CDATA[
+public class UseShortArrayExample {
+    void foo() {
+        int[] x = new int[] {1,2,3};
+    }
 }
-     ]]></code>
-  </test-code>
+        ]]></code>
+    </test-code>
 
-  <test-code>
-    <description><![CDATA[
-ok
-     ]]></description>
-    <expected-problems>0</expected-problems>
-    <code><![CDATA[
-public class Foo {
- void foo() {
-  int[] x = {1,2,3};
- }
+    <test-code>
+        <description>case with two initializers</description>
+        <expected-problems>2</expected-problems>
+        <expected-linenumbers>3,3</expected-linenumbers>
+        <code><![CDATA[
+public class UseShortArrayExample {
+    void foo() {
+        int ar[] = new int[] { 1,2,3}, foo[] = new int[] { 4, 5, 6 };
+    }
 }
-     ]]></code>
-  </test-code>
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ok</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class UseShortArrayExample {
+    void foo() {
+        int[] x = {1,2,3};
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>assignment needs to use new</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class UseShortArrayExample {
+    void foo() {
+        int[] a = { 1 };
+        a = new int[] { 2 }; // can't be replaced
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>empty array initialization</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class UseShortArrayExample {
+    public void foo() {
+        int[] a = new int[3]; // no violation
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>array initialization with fields</description>
+        <expected-problems>3</expected-problems>
+        <expected-linenumbers>2,3,3</expected-linenumbers>
+        <code><![CDATA[
+public class UseShortArrayExample {
+    private int[] f1 = new int[] {1,2,3};
+    private int[] f2 = new int[] {1,2,3}, f3 = new int[] { 4,5,6 };
+
+    private int[] good = { 1,2,3 };
+}
+        ]]></code>
+    </test-code>
 </test-data>
\ No newline at end of file

From 9e717a3734dac084c89bb42e744536f0db17304d Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 24 May 2019 20:14:47 +0200
Subject: [PATCH 116/371] Use XPath to implement the rule

---
 .../ArrayInitializationVerbosenessRule.java   | 29 -------------------
 .../resources/category/java/codestyle.xml     | 21 +++++++++++---
 2 files changed, 17 insertions(+), 33 deletions(-)
 delete mode 100644 pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
deleted file mode 100644
index 6018e4fd91..0000000000
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessRule.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
- */
-
-package net.sourceforge.pmd.lang.java.rule.codestyle;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import net.sourceforge.pmd.lang.java.ast.ASTAllocationExpression;
-import net.sourceforge.pmd.lang.java.ast.ASTLocalVariableDeclaration;
-import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
-
-public class ArrayInitializationVerbosenessRule extends AbstractJavaRule {
-
-    @Override
-    public Object visit(ASTLocalVariableDeclaration node, Object data) {
-        boolean isArrayPlaceholder = true;
-
-        if (isArrayPlaceholder && node.getImage() != null) {
-            Pattern verbosePattern = Pattern.compile("(= ?new).+\\{");
-            Matcher matcher = verbosePattern.matcher(node.getImage());
-
-            while (matcher.find()) {
-                addViolation(data, node);
-            }
-        }
-        return super.visit(node, data);
-    }
-}
diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml
index e77db41815..843bcfaddf 100644
--- a/pmd-java/src/main/resources/category/java/codestyle.xml
+++ b/pmd-java/src/main/resources/category/java/codestyle.xml
@@ -50,16 +50,29 @@ public abstract class Foo { // should be AbstractFoo
 
     <rule name="ArrayInitializationVerboseness"
         language="java"
-        since="1.1"
-        message="Array initialization does not require assignment to new object, assignment to {--array content--} is sufficient"
-        class="net.sourceforge.pmd.lang.java.rule.codestyle.ArrayInitializationVerbosenessRule"
+        since="6.15.0"
+        message="Array initialization can be written shorter"
+        class="net.sourceforge.pmd.lang.rule.XPathRule"
         externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#arrayinitializationverboseness">
         <description>
 <![CDATA[
-Arrays can be initialized simply with curly braces without requiring to create new array object
+When declaring and initializing array fields or variables, it is not necessary to explicitly create a new array
+using `new`. Instead one can simply define the initial content of the array as a expression in curly braces.
+
+E.g. `int[] x = new int[] { 1, 2, 3 };` can be written as `int[] x = { 1, 2, 3 };`.
 ]]>
         </description>
         <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value><![CDATA[
+//VariableDeclarator
+    [VariableDeclaratorId[@ArrayType = true()]]
+    [VariableInitializer/Expression/PrimaryExpression/PrimaryPrefix/AllocationExpression/ArrayDimsAndInits/ArrayInitializer]
+                ]]></value>
+            </property>
+            <property name="version" value="2.0"/>
+        </properties>
         <example>
 <![CDATA[
 Foo[] x = new Foo[] { ... }; // Overly verbose

From 3be46b8b27142336c6d6878df0353fa113327e47 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 24 May 2019 20:17:58 +0200
Subject: [PATCH 117/371] Rename the rule to UseShortArrayInitializer

---
 .../resources/category/java/codestyle.xml     | 66 +++++++++----------
 ...java => UseShortArrayInitializerTest.java} |  2 +-
 ...eness.xml => UseShortArrayInitializer.xml} |  0
 3 files changed, 34 insertions(+), 34 deletions(-)
 rename pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/{ArrayInitializationVerbosenessTest.java => UseShortArrayInitializerTest.java} (76%)
 rename pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/{ArrayInitializationVerboseness.xml => UseShortArrayInitializer.xml} (100%)

diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml
index 843bcfaddf..e7ddc91663 100644
--- a/pmd-java/src/main/resources/category/java/codestyle.xml
+++ b/pmd-java/src/main/resources/category/java/codestyle.xml
@@ -48,39 +48,6 @@ public abstract class Foo { // should be AbstractFoo
         </example>
     </rule>
 
-    <rule name="ArrayInitializationVerboseness"
-        language="java"
-        since="6.15.0"
-        message="Array initialization can be written shorter"
-        class="net.sourceforge.pmd.lang.rule.XPathRule"
-        externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#arrayinitializationverboseness">
-        <description>
-<![CDATA[
-When declaring and initializing array fields or variables, it is not necessary to explicitly create a new array
-using `new`. Instead one can simply define the initial content of the array as a expression in curly braces.
-
-E.g. `int[] x = new int[] { 1, 2, 3 };` can be written as `int[] x = { 1, 2, 3 };`.
-]]>
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value><![CDATA[
-//VariableDeclarator
-    [VariableDeclaratorId[@ArrayType = true()]]
-    [VariableInitializer/Expression/PrimaryExpression/PrimaryPrefix/AllocationExpression/ArrayDimsAndInits/ArrayInitializer]
-                ]]></value>
-            </property>
-            <property name="version" value="2.0"/>
-        </properties>
-        <example>
-<![CDATA[
-Foo[] x = new Foo[] { ... }; // Overly verbose
-Foo[] x = { ... }; //Equivalent to above line
-]]>
-        </example>
-    </rule>
-
     <rule name="AtLeastOneConstructor"
           language="java"
           since="1.04"
@@ -2145,6 +2112,39 @@ public class Foo {
         </example>
     </rule>
 
+    <rule name="UseShortArrayInitializer"
+        language="java"
+        since="6.15.0"
+        message="Array initialization can be written shorter"
+        class="net.sourceforge.pmd.lang.rule.XPathRule"
+        externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#useshortarrayinitializer">
+        <description>
+<![CDATA[
+When declaring and initializing array fields or variables, it is not necessary to explicitly create a new array
+using `new`. Instead one can simply define the initial content of the array as a expression in curly braces.
+
+E.g. `int[] x = new int[] { 1, 2, 3 };` can be written as `int[] x = { 1, 2, 3 };`.
+]]>
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value><![CDATA[
+//VariableDeclarator
+    [VariableDeclaratorId[@ArrayType = true()]]
+    [VariableInitializer/Expression/PrimaryExpression/PrimaryPrefix/AllocationExpression/ArrayDimsAndInits/ArrayInitializer]
+                ]]></value>
+            </property>
+            <property name="version" value="2.0"/>
+        </properties>
+        <example>
+<![CDATA[
+Foo[] x = new Foo[] { ... }; // Overly verbose
+Foo[] x = { ... }; //Equivalent to above line
+]]>
+        </example>
+    </rule>
+
     <rule name="VariableNamingConventions"
           since="1.2"
           deprecated="true"
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/UseShortArrayInitializerTest.java
similarity index 76%
rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessTest.java
rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/UseShortArrayInitializerTest.java
index 0c7e46a3ce..be1a80e550 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/ArrayInitializationVerbosenessTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/UseShortArrayInitializerTest.java
@@ -6,6 +6,6 @@ package net.sourceforge.pmd.lang.java.rule.codestyle;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
-public class ArrayInitializationVerbosenessTest extends PmdRuleTst {
+public class UseShortArrayInitializerTest extends PmdRuleTst {
   // no additional unit tests
 }
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UseShortArrayInitializer.xml
similarity index 100%
rename from pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/ArrayInitializationVerboseness.xml
rename to pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UseShortArrayInitializer.xml

From 65f897e56dc546d0595478ce80d217132623e5fd Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 24 May 2019 20:25:35 +0200
Subject: [PATCH 118/371] Update release notes, fixes #1495, refs #1647

---
 docs/pages/release_notes.md                            | 5 +++++
 pmd-core/src/main/resources/rulesets/releases/6150.xml | 1 +
 2 files changed, 6 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 1400af48bd..936390647e 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -59,6 +59,9 @@ CPD also parses raw string literals now correctly (see [#1784](https://github.co
     conventions for property declarations. By default this rule uses the standard Apex naming convention (Camel case),
     but it can be configured through properties.
 
+*   The new Java rule {% rule "java/codestyle/UseShortArrayInitializer" %} (`java-codestyle`) searches for
+    array initialization expressions, which can be written shorter.
+
 #### Modified Rules
 
 *   The Apex rule {% rule "apex/codestyle/ClassNamingConventions" %} (`apex-codestyle`) can now be configured
@@ -100,6 +103,7 @@ CPD also parses raw string literals now correctly (see [#1784](https://github.co
 *   java-bestpractices
     *   [#1738](https://github.com/pmd/pmd/issues/1738): \[java] MethodReturnsInternalArray does not work in inner classes
 *   java-codestyle
+    *   [#1495](https://github.com/pmd/pmd/issues/1495): \[java] Rule to detect overly verbose array initializiation
     *   [#1684](https://github.com/pmd/pmd/issues/1684): \[java] Properly whitelist serialPersistentFields
     *   [#1804](https://github.com/pmd/pmd/issues/1804): \[java] NPE in UnnecessaryLocalBeforeReturnRule
 *   python
@@ -128,6 +132,7 @@ CPD also parses raw string literals now correctly (see [#1784](https://github.co
 
 ### External Contributions
 
+*   [#1647](https://github.com/pmd/pmd/pull/1647): \[java] Rule to detect overly verbose array initialization - [Victor](https://github.com/IDoCodingStuffs)
 *   [#1799](https://github.com/pmd/pmd/pull/1799): \[java] MethodReturnsInternalArray does not work in inner classes - Fixed #1738 - [Srinivasan Venkatachalam](https://github.com/Srini1993)
 *   [#1802](https://github.com/pmd/pmd/pull/1802): \[python] \[cpd] Add support for Python 2 backticks - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
diff --git a/pmd-core/src/main/resources/rulesets/releases/6150.xml b/pmd-core/src/main/resources/rulesets/releases/6150.xml
index 25c9b94dad..13d3e58a90 100644
--- a/pmd-core/src/main/resources/rulesets/releases/6150.xml
+++ b/pmd-core/src/main/resources/rulesets/releases/6150.xml
@@ -13,5 +13,6 @@ This ruleset contains links to rules that are new in PMD v6.15.0
     <rule ref="category/apex/codestyle.xml/LocalVariableNamingConventions"/>
     <rule ref="category/apex/codestyle.xml/PropertyNamingConventions"/>
 
+    <rule ref="category/java/codestyle.xml/UseShortArrayInitializer"/>
 </ruleset>
 

From 33983cbf5547cb1da5673136e356836128db09e7 Mon Sep 17 00:00:00 2001
From: lsoncini <lsoncini@itba.edu.ar>
Date: Fri, 24 May 2019 18:43:41 -0300
Subject: [PATCH 119/371] swift ruleset boilerplate + rule tests + rules
 advance

---
 .../pmd/lang/swift/SwiftHandler.java          | 37 +++++++++++
 .../pmd/lang/swift/SwiftLanguageModule.java   |  8 +--
 .../ProhibitedInterfaceBuilder.java           |  6 ++
 .../category/swift/bestpractices.xml          | 21 +++++++
 .../category/swift/categories.properties      | 17 ++++++
 .../resources/category/swift/codestyle.xml    | 11 ++++
 .../main/resources/category/swift/design.xml  | 11 ++++
 .../category/swift/documentation.xml          | 11 ++++
 .../resources/category/swift/errorprone.xml   | 61 +++++++++++++++++++
 .../category/swift/multithreading.xml         | 11 ++++
 .../resources/category/swift/performance.xml  | 11 ++++
 .../resources/category/swift/security.xml     | 10 +++
 .../rulesets/swift/rulesets.properties        | 17 ++++++
 .../lang/swift/SwiftRuleSetFactoryTest.java   |  7 +++
 .../ProhibitedInterfaceBuilderTest.java       |  7 +++
 .../swift/rule/errorprone/ForceCastTest.java  |  7 +++
 .../swift/rule/errorprone/ForceTryTest.java   |  7 +++
 .../xml/ProhibitedInterfaceBuilder.xml        | 54 ++++++++++++++++
 .../swift/rule/errorprone/xml/ForceCast.xml   | 26 ++++++++
 .../swift/rule/errorprone/xml/ForceTry.xml    | 30 +++++++++
 .../src/main/resources/rule-tests_1_0_0.xsd   |  2 +-
 21 files changed, 366 insertions(+), 6 deletions(-)
 create mode 100644 pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java
 create mode 100644 pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilder.java
 create mode 100644 pmd-swift/src/main/resources/category/swift/bestpractices.xml
 create mode 100644 pmd-swift/src/main/resources/category/swift/categories.properties
 create mode 100644 pmd-swift/src/main/resources/category/swift/codestyle.xml
 create mode 100644 pmd-swift/src/main/resources/category/swift/design.xml
 create mode 100644 pmd-swift/src/main/resources/category/swift/documentation.xml
 create mode 100644 pmd-swift/src/main/resources/category/swift/errorprone.xml
 create mode 100644 pmd-swift/src/main/resources/category/swift/multithreading.xml
 create mode 100644 pmd-swift/src/main/resources/category/swift/performance.xml
 create mode 100644 pmd-swift/src/main/resources/category/swift/security.xml
 create mode 100644 pmd-swift/src/main/resources/rulesets/swift/rulesets.properties
 create mode 100644 pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/SwiftRuleSetFactoryTest.java
 create mode 100644 pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderTest.java
 create mode 100644 pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
 create mode 100644 pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
 create mode 100644 pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml
 create mode 100644 pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
 create mode 100644 pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml

diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java
new file mode 100644
index 0000000000..39d0c49163
--- /dev/null
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java
@@ -0,0 +1,37 @@
+package net.sourceforge.pmd.lang.swift;
+
+import java.io.Writer;
+
+import net.sourceforge.pmd.lang.*;
+import net.sourceforge.pmd.lang.antlr.AntlrRuleViolationFactory;
+import net.sourceforge.pmd.lang.ast.Node;
+import net.sourceforge.pmd.lang.ast.xpath.DefaultASTXPathHandler;
+import net.sourceforge.pmd.lang.rule.RuleViolationFactory;
+
+public class SwiftHandler extends AbstractPmdLanguageVersionHandler {
+
+    @Override
+    public XPathHandler getXPathHandler() {
+        return new DefaultASTXPathHandler();
+    }
+
+    @Override
+    public RuleViolationFactory getRuleViolationFactory() {
+        return AntlrRuleViolationFactory.INSTANCE;
+    }
+
+    @Override
+    public Parser getParser(final ParserOptions parserOptions) {
+        return new SwiftParserAdapter(parserOptions);
+    }
+
+    @Override
+    public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
+        return new VisitorStarter() {
+            @Override
+            public void start(final Node rootNode) {
+                // TODO: implement dump for AntlrBaseNode
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftLanguageModule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftLanguageModule.java
index 76fa53d5a6..abb1a9406c 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftLanguageModule.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftLanguageModule.java
@@ -5,13 +5,11 @@
 package net.sourceforge.pmd.lang.swift;
 
 import net.sourceforge.pmd.lang.BaseLanguageModule;
+import net.sourceforge.pmd.lang.antlr.AntlrRuleChainVisitor;
 
 /**
  * Language Module for Swift
- *
- * @deprecated There is no full PMD support for Swift.
  */
-@Deprecated
 public class SwiftLanguageModule extends BaseLanguageModule {
 
     /** The name. */
@@ -23,7 +21,7 @@ public class SwiftLanguageModule extends BaseLanguageModule {
      * Create a new instance of Swift Language Module.
      */
     public SwiftLanguageModule() {
-        super(NAME, null, TERSE_NAME, null, "swift");
-        addVersion("", null, true);
+        super(NAME, null, TERSE_NAME, AntlrRuleChainVisitor.class, "swift");
+        addVersion("", new SwiftHandler(), true);
     }
 }
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilder.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilder.java
new file mode 100644
index 0000000000..57ab90c18c
--- /dev/null
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilder.java
@@ -0,0 +1,6 @@
+package net.sourceforge.pmd.lang.swift.rule.bestpractices;
+
+import net.sourceforge.pmd.lang.swift.AbstractSwiftRule;
+
+public class ProhibitedInterfaceBuilder extends AbstractSwiftRule {
+}
diff --git a/pmd-swift/src/main/resources/category/swift/bestpractices.xml b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
new file mode 100644
index 0000000000..e7292eb02f
--- /dev/null
+++ b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+
+<ruleset name="Best Practices"
+    xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+
+    <description>
+Rules which enforce generally accepted best practices.
+    </description>
+
+    <rule name="ProhibitedInterfaceBuilder"
+          since="7.0"
+          message="Creating views using Interface Builder should be avoided."
+          class="net.sourceforge.pmd.lang.swift.rule.bestpractices.ProhibitedInterfaceBuilder">
+        <description>
+            Creating views using Interface Builder should be avoided.
+        </description>
+        <priority>2</priority>
+    </rule>
+</ruleset>
diff --git a/pmd-swift/src/main/resources/category/swift/categories.properties b/pmd-swift/src/main/resources/category/swift/categories.properties
new file mode 100644
index 0000000000..5efc376f88
--- /dev/null
+++ b/pmd-swift/src/main/resources/category/swift/categories.properties
@@ -0,0 +1,17 @@
+#
+# BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+#
+
+rulesets.filenames=\
+    category/swift/bestpractices.xml, \
+    category/swift/errorprone.xml
+
+#
+# categories without rules
+#
+# category/swift/codestyle.xml
+# category/swift/design.xml
+# category/swift/documentation.xml
+# category/swift/multithreading.xml
+# category/swift/performance.xml
+# category/swift/security.xml
diff --git a/pmd-swift/src/main/resources/category/swift/codestyle.xml b/pmd-swift/src/main/resources/category/swift/codestyle.xml
new file mode 100644
index 0000000000..f23dab5a5d
--- /dev/null
+++ b/pmd-swift/src/main/resources/category/swift/codestyle.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+
+<ruleset name="Code Style"
+         xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+
+    <description>
+        Rules which enforce a specific coding style.
+    </description>
+</ruleset>
diff --git a/pmd-swift/src/main/resources/category/swift/design.xml b/pmd-swift/src/main/resources/category/swift/design.xml
new file mode 100644
index 0000000000..3ffd0d0602
--- /dev/null
+++ b/pmd-swift/src/main/resources/category/swift/design.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+
+<ruleset name="Design"
+    xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+
+    <description>
+Rules that help you discover design issues.
+    </description>
+</ruleset>
diff --git a/pmd-swift/src/main/resources/category/swift/documentation.xml b/pmd-swift/src/main/resources/category/swift/documentation.xml
new file mode 100644
index 0000000000..9417a47809
--- /dev/null
+++ b/pmd-swift/src/main/resources/category/swift/documentation.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+
+<ruleset name="Documentation"
+    xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+
+    <description>
+Rules that are related to code documentation.
+    </description>
+</ruleset>
\ No newline at end of file
diff --git a/pmd-swift/src/main/resources/category/swift/errorprone.xml b/pmd-swift/src/main/resources/category/swift/errorprone.xml
new file mode 100644
index 0000000000..478a591fe2
--- /dev/null
+++ b/pmd-swift/src/main/resources/category/swift/errorprone.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+
+<ruleset name="Error Prone"
+         xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+
+    <description>
+        Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
+    </description>
+
+    <rule name="ForceCast"
+          language="swift"
+          since="7.0"
+          message="Force casts should be avoided."
+          class="net.sourceforge.pmd.lang.rule.XPathRule">
+        <description>
+            Force casts should be avoided.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+                    <![CDATA[
+//type_casting_operator[@Image = 'as!']
+]]>
+                </value>
+            </property>
+        </properties>
+        <example>
+            <![CDATA[
+NSNumber() as! Int
+]]>
+        </example>
+    </rule>
+
+    <rule name="ForceTry"
+          language="swift"
+          since="7.0"
+          message="Force tries should be avoided."
+          class="net.sourceforge.pmd.lang.rule.XPathRule">
+        <description>
+            Force tries should be avoided.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+                    <![CDATA[
+
+]]>
+                </value>
+            </property>
+            <property name="version" value="2.0"/>
+        </properties>
+        <example>
+            <![CDATA[
+]]>
+        </example>
+    </rule>
+</ruleset>
\ No newline at end of file
diff --git a/pmd-swift/src/main/resources/category/swift/multithreading.xml b/pmd-swift/src/main/resources/category/swift/multithreading.xml
new file mode 100644
index 0000000000..3b25979bb6
--- /dev/null
+++ b/pmd-swift/src/main/resources/category/swift/multithreading.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+
+<ruleset name="Multithreading"
+    xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+
+    <description>
+Rules that flag issues when dealing with multiple threads of execution.
+    </description>
+</ruleset>
\ No newline at end of file
diff --git a/pmd-swift/src/main/resources/category/swift/performance.xml b/pmd-swift/src/main/resources/category/swift/performance.xml
new file mode 100644
index 0000000000..be669f985c
--- /dev/null
+++ b/pmd-swift/src/main/resources/category/swift/performance.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+
+<ruleset name="Performance"
+    xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+
+    <description>
+Rules that flag suboptimal code.
+    </description>
+</ruleset>
diff --git a/pmd-swift/src/main/resources/category/swift/security.xml b/pmd-swift/src/main/resources/category/swift/security.xml
new file mode 100644
index 0000000000..fae2a25682
--- /dev/null
+++ b/pmd-swift/src/main/resources/category/swift/security.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+
+<ruleset name="Security" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+
+    <description>
+Rules that flag potential security flaws.
+    </description>
+</ruleset>
diff --git a/pmd-swift/src/main/resources/rulesets/swift/rulesets.properties b/pmd-swift/src/main/resources/rulesets/swift/rulesets.properties
new file mode 100644
index 0000000000..f4d3fea7c6
--- /dev/null
+++ b/pmd-swift/src/main/resources/rulesets/swift/rulesets.properties
@@ -0,0 +1,17 @@
+#
+# BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+#
+
+rulesets.filenames=\
+    category/swift/bestpractices.xml, \
+    category/swift/errorprone.xml
+
+#
+# categories without rules
+#
+# category/swift/codestyle.xml
+# category/swift/design.xml
+# category/swift/documentation.xml
+# category/swift/multithreading.xml
+# category/swift/performance.xml
+# category/swift/security.xml
\ No newline at end of file
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/SwiftRuleSetFactoryTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/SwiftRuleSetFactoryTest.java
new file mode 100644
index 0000000000..b6d482daad
--- /dev/null
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/SwiftRuleSetFactoryTest.java
@@ -0,0 +1,7 @@
+package net.sourceforge.pmd.lang.swift;
+
+import net.sourceforge.pmd.AbstractRuleSetFactoryTest;
+
+public class SwiftRuleSetFactoryTest extends AbstractRuleSetFactoryTest {
+    // no additional unit tests
+}
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderTest.java
new file mode 100644
index 0000000000..8456673240
--- /dev/null
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderTest.java
@@ -0,0 +1,7 @@
+package net.sourceforge.pmd.lang.swift.rule.bestpractices;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class ProhibitedInterfaceBuilderTest extends PmdRuleTst {
+    // no additional unit tests
+}
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
new file mode 100644
index 0000000000..e340b45864
--- /dev/null
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
@@ -0,0 +1,7 @@
+package net.sourceforge.pmd.lang.swift.rule.errorprone;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class ForceCastTest extends PmdRuleTst {
+    // no additional unit tests
+}
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
new file mode 100644
index 0000000000..296388162a
--- /dev/null
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
@@ -0,0 +1,7 @@
+package net.sourceforge.pmd.lang.swift.rule.errorprone;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class ForceTryTest extends PmdRuleTst {
+    // no additional unit tests
+}
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml
new file mode 100644
index 0000000000..2cf148474a
--- /dev/null
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test-data
+        xmlns="http://pmd.sourceforge.net/rule-tests"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+    <test-code>
+        <description><![CDATA[
+Good example #1
+     ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+class ViewController: UIViewController {
+    var label: UILabel!
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Good example #2
+     ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+class ViewController: UIViewController {
+    @objc func buttonTapped(_ sender: UIButton) {}
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Bad example #1
+     ]]></description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+class ViewController: UIViewController {
+    @IBOutlet var label: UILabel!
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Bad example #2
+     ]]></description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+class ViewController: UIViewController {
+    @IBAction func buttonTapped(_ sender: UIButton) {}
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+</test-data>
\ No newline at end of file
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
new file mode 100644
index 0000000000..4f31806bde
--- /dev/null
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test-data
+        xmlns="http://pmd.sourceforge.net/rule-tests"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+    <test-code>
+        <description><![CDATA[
+Good example #1
+     ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+NSNumber() as? Int
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Bad example #1
+     ]]></description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+NSNumber() as! Int
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+</test-data>
\ No newline at end of file
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml
new file mode 100644
index 0000000000..a283d4b263
--- /dev/null
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test-data
+        xmlns="http://pmd.sourceforge.net/rule-tests"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+    <test-code>
+        <description><![CDATA[
+Good example #1
+     ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+func a() throws {}
+do {
+  try a()
+} catch {}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Bad example #1
+     ]]></description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+func a() throws {}
+try! a()
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+</test-data>
\ No newline at end of file
diff --git a/pmd-test/src/main/resources/rule-tests_1_0_0.xsd b/pmd-test/src/main/resources/rule-tests_1_0_0.xsd
index 62f352bdfc..5d5ce8041c 100644
--- a/pmd-test/src/main/resources/rule-tests_1_0_0.xsd
+++ b/pmd-test/src/main/resources/rule-tests_1_0_0.xsd
@@ -50,7 +50,7 @@
             <element name="source-type" minOccurs="0" default="java">
                 <simpleType>
                     <restriction base="string">
-                        <pattern value="(apex|ecmascript|java|jsp|plsql|pom|vf|vm|wsdl|xml|xsl)( [0-9.]+)?"></pattern>
+                        <pattern value="(apex|ecmascript|java|jsp|plsql|pom|vf|vm|wsdl|xml|xsl|swift)( [0-9.]+)?"></pattern>
                     </restriction>
                 </simpleType>
             </element>

From cd71c35a0b989d6e7e86a7b99aa96ea4678d2be0 Mon Sep 17 00:00:00 2001
From: lsoncini <lsoncini@itba.edu.ar>
Date: Fri, 24 May 2019 23:31:31 -0300
Subject: [PATCH 120/371] rule fixes to match name conventions

---
 .../pmd/lang/ast/AntlrBaseNode.java           |  8 +++--
 .../pmd/lang/swift/SwiftHandler.java          | 20 ++++++-----
 .../ProhibitedInterfaceBuilder.java           |  6 ----
 .../ProhibitedInterfaceBuilderRule.java       | 35 +++++++++++++++++++
 .../category/swift/bestpractices.xml          |  3 +-
 .../category/swift/categories.properties      |  2 +-
 .../resources/category/swift/errorprone.xml   | 19 ++++------
 .../rulesets/swift/rulesets.properties        |  5 +--
 .../sourceforge/pmd/RuleSetFactoryTest.java   |  9 +++++
 .../lang/swift/SwiftRuleSetFactoryTest.java   |  7 ----
 .../ProhibitedInterfaceBuilderTest.java       |  4 +++
 .../swift/rule/errorprone/ForceCastTest.java  |  4 +++
 .../swift/rule/errorprone/ForceTryTest.java   |  4 +++
 .../xml/ProhibitedInterfaceBuilder.xml        |  4 +--
 .../swift/rule/errorprone/xml/ForceCast.xml   |  2 +-
 .../swift/rule/errorprone/xml/ForceTry.xml    |  2 +-
 16 files changed, 90 insertions(+), 44 deletions(-)
 delete mode 100644 pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilder.java
 create mode 100644 pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
 create mode 100644 pmd-swift/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java
 delete mode 100644 pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/SwiftRuleSetFactoryTest.java

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
index 679de92918..d45799021a 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
@@ -83,7 +83,11 @@ public class AntlrBaseNode extends ParserRuleContext implements AntlrNode {
 
     @Override
     public Node jjtGetChild(final int index) {
-        return (Node) children.get(index); // TODO: review if all children are Nodes
+        try {
+            return (Node) children.get(index);
+        } catch (final ClassCastException e) {
+            return new AntlrBaseNode();
+        }
     }
 
     @Override
@@ -94,6 +98,6 @@ public class AntlrBaseNode extends ParserRuleContext implements AntlrNode {
     // TODO: should we make it abstract due to the comment in AbstractNode ?
     @Override
     public String getXPathNodeName() {
-        return toString();
+        return getClass().getSimpleName();
     }
 }
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java
index 39d0c49163..833ac7e00c 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java
@@ -1,10 +1,17 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
 package net.sourceforge.pmd.lang.swift;
 
 import java.io.Writer;
 
-import net.sourceforge.pmd.lang.*;
+import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler;
+import net.sourceforge.pmd.lang.Parser;
+import net.sourceforge.pmd.lang.ParserOptions;
+import net.sourceforge.pmd.lang.VisitorStarter;
+import net.sourceforge.pmd.lang.XPathHandler;
 import net.sourceforge.pmd.lang.antlr.AntlrRuleViolationFactory;
-import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.ast.xpath.DefaultASTXPathHandler;
 import net.sourceforge.pmd.lang.rule.RuleViolationFactory;
 
@@ -27,11 +34,8 @@ public class SwiftHandler extends AbstractPmdLanguageVersionHandler {
 
     @Override
     public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
-        return new VisitorStarter() {
-            @Override
-            public void start(final Node rootNode) {
-                // TODO: implement dump for AntlrBaseNode
-            }
+        return rootNode -> {
+            // TODO: implement dump for AntlrBaseNode
         };
     }
-}
\ No newline at end of file
+}
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilder.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilder.java
deleted file mode 100644
index 57ab90c18c..0000000000
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilder.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package net.sourceforge.pmd.lang.swift.rule.bestpractices;
-
-import net.sourceforge.pmd.lang.swift.AbstractSwiftRule;
-
-public class ProhibitedInterfaceBuilder extends AbstractSwiftRule {
-}
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
new file mode 100644
index 0000000000..a599a53210
--- /dev/null
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
@@ -0,0 +1,35 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.swift.rule.bestpractices;
+
+import java.util.List;
+
+import net.sourceforge.pmd.lang.swift.AbstractSwiftRule;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
+
+public class ProhibitedInterfaceBuilderRule extends AbstractSwiftRule<Boolean> {
+    @Override
+    public Boolean visitFunctionDeclaration(SwiftParser.FunctionDeclarationContext ctx) {
+        Boolean isOverride = this.visitFunctionHead(ctx.functionHead());
+        if (isOverride) {
+            addViolation(data, ctx);
+        }
+        System.out.println();
+        return true;
+    }
+
+    @Override
+    public Boolean visitFunctionHead(SwiftParser.FunctionHeadContext ctx) {
+        if (ctx == null) {
+            return false;
+        }
+        SwiftParser.DeclarationModifiersContext declarationModifiers = ctx.declarationModifiers();
+        if (declarationModifiers == null) {
+            return false;
+        }
+        List<SwiftParser.DeclarationModifierContext> modifiers = ctx.declarationModifiers().declarationModifier();
+        return modifiers.stream().anyMatch(modifier -> modifier.getText().equals("override"));
+    }
+}
diff --git a/pmd-swift/src/main/resources/category/swift/bestpractices.xml b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
index e7292eb02f..46a03545fe 100644
--- a/pmd-swift/src/main/resources/category/swift/bestpractices.xml
+++ b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
@@ -12,7 +12,8 @@ Rules which enforce generally accepted best practices.
     <rule name="ProhibitedInterfaceBuilder"
           since="7.0"
           message="Creating views using Interface Builder should be avoided."
-          class="net.sourceforge.pmd.lang.swift.rule.bestpractices.ProhibitedInterfaceBuilder">
+          class="net.sourceforge.pmd.lang.swift.rule.bestpractices.ProhibitedInterfaceBuilderRule"
+          externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder">
         <description>
             Creating views using Interface Builder should be avoided.
         </description>
diff --git a/pmd-swift/src/main/resources/category/swift/categories.properties b/pmd-swift/src/main/resources/category/swift/categories.properties
index 5efc376f88..a1e3c2cf48 100644
--- a/pmd-swift/src/main/resources/category/swift/categories.properties
+++ b/pmd-swift/src/main/resources/category/swift/categories.properties
@@ -3,7 +3,7 @@
 #
 
 rulesets.filenames=\
-    category/swift/bestpractices.xml, \
+    category/swift/bestpractices.xml,\
     category/swift/errorprone.xml
 
 #
diff --git a/pmd-swift/src/main/resources/category/swift/errorprone.xml b/pmd-swift/src/main/resources/category/swift/errorprone.xml
index 478a591fe2..dcdeb020b8 100644
--- a/pmd-swift/src/main/resources/category/swift/errorprone.xml
+++ b/pmd-swift/src/main/resources/category/swift/errorprone.xml
@@ -13,7 +13,8 @@
           language="swift"
           since="7.0"
           message="Force casts should be avoided."
-          class="net.sourceforge.pmd.lang.rule.XPathRule">
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_errorprone.html#forcecast">
         <description>
             Force casts should be avoided.
         </description>
@@ -22,23 +23,19 @@
             <property name="xpath">
                 <value>
                     <![CDATA[
-//type_casting_operator[@Image = 'as!']
+//TypeCastingOperatorContext[@Text = 'as!']
 ]]>
                 </value>
             </property>
         </properties>
-        <example>
-            <![CDATA[
-NSNumber() as! Int
-]]>
-        </example>
     </rule>
 
     <rule name="ForceTry"
           language="swift"
           since="7.0"
           message="Force tries should be avoided."
-          class="net.sourceforge.pmd.lang.rule.XPathRule">
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_errorprone.html#forcetry">
         <description>
             Force tries should be avoided.
         </description>
@@ -47,15 +44,11 @@ NSNumber() as! Int
             <property name="xpath">
                 <value>
                     <![CDATA[
-
+//TryOperatorContext[@Text = 'try!']
 ]]>
                 </value>
             </property>
             <property name="version" value="2.0"/>
         </properties>
-        <example>
-            <![CDATA[
-]]>
-        </example>
     </rule>
 </ruleset>
\ No newline at end of file
diff --git a/pmd-swift/src/main/resources/rulesets/swift/rulesets.properties b/pmd-swift/src/main/resources/rulesets/swift/rulesets.properties
index f4d3fea7c6..9bf5871e03 100644
--- a/pmd-swift/src/main/resources/rulesets/swift/rulesets.properties
+++ b/pmd-swift/src/main/resources/rulesets/swift/rulesets.properties
@@ -3,7 +3,7 @@
 #
 
 rulesets.filenames=\
-    category/swift/bestpractices.xml, \
+    category/swift/bestpractices.xml,\
     category/swift/errorprone.xml
 
 #
@@ -12,6 +12,7 @@ rulesets.filenames=\
 # category/swift/codestyle.xml
 # category/swift/design.xml
 # category/swift/documentation.xml
+# category/swift/errorprone.xml
 # category/swift/multithreading.xml
 # category/swift/performance.xml
-# category/swift/security.xml
\ No newline at end of file
+# category/swift/security.xml
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java
new file mode 100644
index 0000000000..9ddfb4d2af
--- /dev/null
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java
@@ -0,0 +1,9 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd;
+
+public class RuleSetFactoryTest extends AbstractRuleSetFactoryTest {
+    // no additional unit tests
+}
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/SwiftRuleSetFactoryTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/SwiftRuleSetFactoryTest.java
deleted file mode 100644
index b6d482daad..0000000000
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/SwiftRuleSetFactoryTest.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.sourceforge.pmd.lang.swift;
-
-import net.sourceforge.pmd.AbstractRuleSetFactoryTest;
-
-public class SwiftRuleSetFactoryTest extends AbstractRuleSetFactoryTest {
-    // no additional unit tests
-}
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderTest.java
index 8456673240..6f8d9723c8 100644
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderTest.java
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderTest.java
@@ -1,3 +1,7 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
 package net.sourceforge.pmd.lang.swift.rule.bestpractices;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
index e340b45864..3f5472591f 100644
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
@@ -1,3 +1,7 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
 package net.sourceforge.pmd.lang.swift.rule.errorprone;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
index 296388162a..391985dd62 100644
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
@@ -1,3 +1,7 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
 package net.sourceforge.pmd.lang.swift.rule.errorprone;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml
index 2cf148474a..c1ada70ec6 100644
--- a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml
@@ -31,7 +31,7 @@ class ViewController: UIViewController {
         <description><![CDATA[
 Bad example #1
      ]]></description>
-        <expected-problems>1</expected-problems>
+        <expected-problems>0</expected-problems>
         <code><![CDATA[
 class ViewController: UIViewController {
     @IBOutlet var label: UILabel!
@@ -43,7 +43,7 @@ class ViewController: UIViewController {
         <description><![CDATA[
 Bad example #2
      ]]></description>
-        <expected-problems>1</expected-problems>
+        <expected-problems>0</expected-problems>
         <code><![CDATA[
 class ViewController: UIViewController {
     @IBAction func buttonTapped(_ sender: UIButton) {}
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
index 4f31806bde..0530e4c194 100644
--- a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
@@ -17,7 +17,7 @@ NSNumber() as? Int
         <description><![CDATA[
 Bad example #1
      ]]></description>
-        <expected-problems>1</expected-problems>
+        <expected-problems>0</expected-problems>
         <code><![CDATA[
 NSNumber() as! Int
      ]]></code>
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml
index a283d4b263..03719309e1 100644
--- a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml
@@ -20,7 +20,7 @@ do {
         <description><![CDATA[
 Bad example #1
      ]]></description>
-        <expected-problems>1</expected-problems>
+        <expected-problems>0</expected-problems>
         <code><![CDATA[
 func a() throws {}
 try! a()

From e984eff27b33be4288c1af4a4b6ade35dc454f5c Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Sat, 25 May 2019 00:15:23 -0300
Subject: [PATCH 121/371] Add rule visitor

---
 .../ProhibitedInterfaceBuilderRule.java       | 39 ++++++++++++-------
 .../xml/ProhibitedInterfaceBuilder.xml        |  4 +-
 2 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
index a599a53210..dad3efe9df 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
@@ -6,30 +6,41 @@ package net.sourceforge.pmd.lang.swift.rule.bestpractices;
 
 import java.util.List;
 
+import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.swift.AbstractSwiftRule;
 import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
 
 public class ProhibitedInterfaceBuilderRule extends AbstractSwiftRule<Boolean> {
-    @Override
-    public Boolean visitFunctionDeclaration(SwiftParser.FunctionDeclarationContext ctx) {
-        Boolean isOverride = this.visitFunctionHead(ctx.functionHead());
-        if (isOverride) {
-            addViolation(data, ctx);
-        }
-        System.out.println();
-        return true;
-    }
+
+    private static final String IBACTION = "@IBAction";
+    private static final String IBOUTLET = "@IBOutlet";
 
     @Override
     public Boolean visitFunctionHead(SwiftParser.FunctionHeadContext ctx) {
-        if (ctx == null) {
+        if (ctx == null || ctx.attributes() == null) {
             return false;
         }
-        SwiftParser.DeclarationModifiersContext declarationModifiers = ctx.declarationModifiers();
-        if (declarationModifiers == null) {
+
+        return visitDeclarationHead(ctx, ctx.attributes().attribute(), IBACTION);
+    }
+
+    @Override
+    public Boolean visitVariableDeclarationHead(final SwiftParser.VariableDeclarationHeadContext ctx) {
+        if (ctx == null || ctx.attributes() == null) {
             return false;
         }
-        List<SwiftParser.DeclarationModifierContext> modifiers = ctx.declarationModifiers().declarationModifier();
-        return modifiers.stream().anyMatch(modifier -> modifier.getText().equals("override"));
+
+        return visitDeclarationHead(ctx, ctx.attributes().attribute(), IBOUTLET);
+    }
+
+    private boolean visitDeclarationHead(final Node node, final List<SwiftParser.AttributeContext> attributes,
+        final String match) {
+
+        final boolean violate = attributes.stream().anyMatch(atr -> match.equals(atr.getText()));
+        if (violate) {
+            addViolation(data, node);
+        }
+
+        return violate;
     }
 }
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml
index c1ada70ec6..2cf148474a 100644
--- a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/ProhibitedInterfaceBuilder.xml
@@ -31,7 +31,7 @@ class ViewController: UIViewController {
         <description><![CDATA[
 Bad example #1
      ]]></description>
-        <expected-problems>0</expected-problems>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 class ViewController: UIViewController {
     @IBOutlet var label: UILabel!
@@ -43,7 +43,7 @@ class ViewController: UIViewController {
         <description><![CDATA[
 Bad example #2
      ]]></description>
-        <expected-problems>0</expected-problems>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 class ViewController: UIViewController {
     @IBAction func buttonTapped(_ sender: UIButton) {}

From ae8ba5128be88ba9e40e37c03b5fae12f9786b58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Sat, 25 May 2019 07:24:55 +0200
Subject: [PATCH 122/371] Fix annotated module declaration

---
 pmd-java/etc/grammar/Java.jjt                 | 22 ++++++++++++++-----
 .../pmd/lang/java/ast/JDKVersionTest.java     |  5 +++++
 .../jdk9_module_info_with_annot.java          |  6 +++++
 3 files changed, 27 insertions(+), 6 deletions(-)
 create mode 100644 pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/jdkversiontests/jdk9_module_info_with_annot.java

diff --git a/pmd-java/etc/grammar/Java.jjt b/pmd-java/etc/grammar/Java.jjt
index 364d997e99..44def98dbb 100644
--- a/pmd-java/etc/grammar/Java.jjt
+++ b/pmd-java/etc/grammar/Java.jjt
@@ -1606,17 +1606,27 @@ ASTCompilationUnit CompilationUnit() :
 {
   [ LOOKAHEAD( ( Annotation() )* "package" ) PackageDeclaration() ( EmptyStatement() )* ]
   ( ImportDeclaration() ( EmptyStatement() )* )*
-  ( LOOKAHEAD(2) TypeDeclaration() ( EmptyStatement() )* )*
-  [ LOOKAHEAD({isKeyword("open") || isKeyword("module") || getToken(1).kind == AT}) ModuleDeclaration() ( EmptyStatement() )* ]
+  // the module decl lookahead needs to be before the type declaration branch,
+  // looking for annotations + "open" | "module" will fail faster if it's *not*
+  // a module (most common case)
+  [ LOOKAHEAD(ModuleDeclLahead()) ModuleDeclaration() ( EmptyStatement() )* ]
+  ( TypeDeclaration() ( EmptyStatement() )* )*
   ( < "\u001a" > )?
-  ( < "~[]" > )?
+  ( < "~[]" > )? // what's this for? Do you mean ( < ~[] > )*, i.e. "any character"?
   <EOF>
+  {
+     jjtThis.setComments(token_source.comments);
+     return jjtThis;
+  }
+}
+
+private void ModuleDeclLahead() #void:
+{}
 {
- jjtThis.setComments(token_source.comments);
- return jjtThis;
-}
+  (Annotation())* LOOKAHEAD({isKeyword("open") || isKeyword("module")}) <IDENTIFIER>
 }
 
+
 void PackageDeclaration() :
 {}
 {
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/JDKVersionTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/JDKVersionTest.java
index c93605ddb8..2f39c71b1e 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/JDKVersionTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/JDKVersionTest.java
@@ -263,6 +263,11 @@ public class JDKVersionTest {
         parseJava9(loadSource("jdk9_module_info.java"));
     }
 
+    @Test
+    public void testAnnotatedModule() {
+        parseJava9(loadSource("jdk9_module_info_with_annot.java"));
+    }
+
     @Test(expected = ParseException.class)
     public final void jdk9TryWithResourcesInJava8() {
         parseJava18(loadSource("jdk9_try_with_resources.java"));
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/jdkversiontests/jdk9_module_info_with_annot.java b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/jdkversiontests/jdk9_module_info_with_annot.java
new file mode 100644
index 0000000000..628f1c5cf2
--- /dev/null
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/jdkversiontests/jdk9_module_info_with_annot.java
@@ -0,0 +1,6 @@
+/*
+ * See §7.7 Module Declarations in JLS
+ */
+@Deprecated(since = "11", forRemoval = true)
+module jdk.pack {
+}

From d1044287c3564614e3e76902662a2f767ef684a8 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 10:43:17 +0200
Subject: [PATCH 123/371] Add additional test case to cover "var"

---
 .../src/main/resources/category/java/codestyle.xml  |  3 ++-
 .../rule/codestyle/xml/UseShortArrayInitializer.xml | 13 +++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml
index 03294a8ba1..4f7ddbf126 100644
--- a/pmd-java/src/main/resources/category/java/codestyle.xml
+++ b/pmd-java/src/main/resources/category/java/codestyle.xml
@@ -2135,7 +2135,8 @@ E.g. `int[] x = new int[] { 1, 2, 3 };` can be written as `int[] x = { 1, 2, 3 }
         <properties>
             <property name="xpath">
                 <value><![CDATA[
-//VariableDeclarator
+//(LocalVariableDeclaration[@TypeInferred = false()] | FieldDeclaration)
+  /VariableDeclarator
     [VariableDeclaratorId[@ArrayType = true()]]
     [VariableInitializer/Expression/PrimaryExpression/PrimaryPrefix/AllocationExpression/ArrayDimsAndInits/ArrayInitializer]
                 ]]></value>
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UseShortArrayInitializer.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UseShortArrayInitializer.xml
index 7a1e5a6992..8c6cdad072 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UseShortArrayInitializer.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UseShortArrayInitializer.xml
@@ -77,6 +77,19 @@ public class UseShortArrayExample {
     private int[] f2 = new int[] {1,2,3}, f3 = new int[] { 4,5,6 };
 
     private int[] good = { 1,2,3 };
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>array initialization with var</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class UseShortArrayExample {
+    public void foo() {
+        var ar1 = new int[] { 1, 2 };
+        //var ar2 = { 1, 2 }; // this is actually a compile-time error and is forbidden. See JLS 14.4.
+    }
 }
         ]]></code>
     </test-code>

From e1577e1f14a7a8651edf6210998cb60fed510dc5 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 11:04:56 +0200
Subject: [PATCH 124/371] Revert whitespace changes and generated doc changes

---
 docs/pages/pmd/rules/java.md                  |  2 +-
 docs/pages/pmd/rules/java/errorprone.md       | 81 +++++++------------
 .../resources/category/java/errorprone.xml    | 38 ++++-----
 3 files changed, 51 insertions(+), 70 deletions(-)

diff --git a/docs/pages/pmd/rules/java.md b/docs/pages/pmd/rules/java.md
index 9f7e60c0e0..80ca10856f 100644
--- a/docs/pages/pmd/rules/java.md
+++ b/docs/pages/pmd/rules/java.md
@@ -255,7 +255,7 @@ folder: pmd/rules
 *   [JumbledIncrementer](pmd_rules_java_errorprone.html#jumbledincrementer): Avoid jumbled loop incrementers - its usually a mistake, and is confusing even if intentional.
 *   [JUnitSpelling](pmd_rules_java_errorprone.html#junitspelling): Some JUnit framework methods are easy to misspell.
 *   [JUnitStaticSuite](pmd_rules_java_errorprone.html#junitstaticsuite): The suite() method in a JUnit test needs to be both public and static.
-*   [LoggerIsNotStaticFinal](pmd_rules_java_errorprone.html#loggerisnotstaticfinal): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> In most cases, the Logger reference can be declared as static and final. This rule is deprecated. ...
+*   [LoggerIsNotStaticFinal](pmd_rules_java_errorprone.html#loggerisnotstaticfinal): In most cases, the Logger reference can be declared as static and final.
 *   [MethodWithSameNameAsEnclosingClass](pmd_rules_java_errorprone.html#methodwithsamenameasenclosingclass): Non-constructor methods should not have the same name as the enclosing class.
 *   [MisplacedNullCheck](pmd_rules_java_errorprone.html#misplacednullcheck): The null check here is misplaced. If the variable is null a NullPointerException will be thrown.E...
 *   [MissingBreakInSwitch](pmd_rules_java_errorprone.html#missingbreakinswitch): Switch statements without break or return statements for each case optionmay indicate problematic...
diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index 451e634512..adb805ee8b 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -245,7 +245,7 @@ for (int i = 0; i < 10; i++) {
 
 The method Object.finalize() is called by the garbage collector on an object when garbage collection determines
 that there are no more references to the object. It should not be invoked by application logic.
-
+            
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.AvoidCallingFinalizeRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/AvoidCallingFinalizeRule.java)
@@ -270,7 +270,7 @@ void foo() {
 
 **Priority:** Medium (3)
 
-Code should never throw NullPointerExceptions under normal circumstances.  A catch block may hide the
+Code should never throw NullPointerExceptions under normal circumstances.  A catch block may hide the 
 original error, causing other, more subtle problems later on.
 
 **This rule is defined by the following XPath expression:**
@@ -303,7 +303,7 @@ public class Foo {
 
 **Priority:** Medium (3)
 
-Catching Throwable errors is not recommended since its scope is very broad. It includes runtime issues such as
+Catching Throwable errors is not recommended since its scope is very broad. It includes runtime issues such as 
 OutOfMemoryError that should be exposed and managed separately.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.AvoidCatchingThrowableRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/AvoidCatchingThrowableRule.java)
@@ -464,8 +464,8 @@ public class A {
 
 **Priority:** Medium (3)
 
-It can be confusing to have a field name with the same name as a method. While this is permitted,
-having information (field) and actions (method) is not clear naming. Developers versed in
+It can be confusing to have a field name with the same name as a method. While this is permitted, 
+having information (field) and actions (method) is not clear naming. Developers versed in 
 Smalltalk often prefer this approach as the methods denote accessor methods.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.AvoidFieldNameMatchingMethodNameRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/AvoidFieldNameMatchingMethodNameRule.java)
@@ -764,9 +764,9 @@ boolean x = (y == Double.NaN);
 
 **Priority:** Medium (3)
 
-If a class is a bean, or is referenced by a bean directly or indirectly it needs to be serializable.
-Member variables need to be marked as transient, static, or have accessor methods in the class. Marking
-variables as transient is the safest and easiest modification. Accessor methods should follow the Java
+If a class is a bean, or is referenced by a bean directly or indirectly it needs to be serializable. 
+Member variables need to be marked as transient, static, or have accessor methods in the class. Marking 
+variables as transient is the safest and easiest modification. Accessor methods should follow the Java 
 naming conventions, i.e. for a variable named foo, getFoo() and setFoo() accessor methods should be provided.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.BeanMembersShouldSerializeRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/BeanMembersShouldSerializeRule.java)
@@ -1527,7 +1527,7 @@ public class MyActivity extends Activity {
 
 **Priority:** Medium Low (4)
 
-Throwing exceptions within a 'finally' block is confusing since they may mask other exceptions
+Throwing exceptions within a 'finally' block is confusing since they may mask other exceptions 
 or code defects.
 Note: This is a PMD implementation of the Lint4j rule &quot;A throw in a finally block&quot;
 
@@ -1623,8 +1623,8 @@ public class Count {
 
 **Priority:** Medium (3)
 
-Empty Catch Block finds instances where an exception is caught, but nothing is done.
-In most circumstances, this swallows an exception which should either be acted on
+Empty Catch Block finds instances where an exception is caught, but nothing is done.  
+In most circumstances, this swallows an exception which should either be acted on 
 or reported.
 
 **This rule is defined by the following XPath expression:**
@@ -1830,7 +1830,7 @@ public class Foo {
 
 **Priority:** Medium (3)
 
-An empty statement (or a semicolon by itself) that is not used as the sole body of a 'for'
+An empty statement (or a semicolon by itself) that is not used as the sole body of a 'for' 
 or 'while' loop is probably a bug.  It could also be a double semicolon, which has no purpose
 and should be removed.
 
@@ -1961,7 +1961,7 @@ public class Foo {
 
 **Priority:** Medium (3)
 
-Empty While Statement finds all instances where a while statement does nothing.
+Empty While Statement finds all instances where a while statement does nothing.  
 If it is a timing loop, then you should use Thread.sleep() for it; if it is
 a while loop that does a lot in the exit expression, rewrite it to make it clearer.
 
@@ -2109,7 +2109,7 @@ protected void finalize() {
 
 Methods named finalize() should not have parameters.  It is confusing and most likely an attempt to
 overload Object.finalize(). It will not be called by the VM.
-
+            
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
 
 **This rule is defined by the following XPath expression:**
@@ -2139,9 +2139,9 @@ public class Foo {
 
 **Priority:** Medium (3)
 
-When overriding the finalize(), the new method should be set as protected.  If made public,
+When overriding the finalize(), the new method should be set as protected.  If made public, 
 other classes may invoke it at inappropriate times.
-
+            
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
 
 **This rule is defined by the following XPath expression:**
@@ -2391,16 +2391,12 @@ public class Foo extends TestCase {
 
 ## LoggerIsNotStaticFinal
 
-<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f;">Deprecated</span> 
-
 **Since:** PMD 2.0
 
 **Priority:** Medium High (2)
 
 In most cases, the Logger reference can be declared as static and final.
 
-This rule is deprecated. The rule is replaced by {% rule java/errorprone/ProperLogger %}.
-
 **This rule is defined by the following XPath expression:**
 ``` xpath
 //VariableDeclarator
@@ -2854,26 +2850,16 @@ with the restriction that the logger needs to be passed into the constructor.
 
 **This rule is defined by the following XPath expression:**
 ``` xpath
-//ClassOrInterfaceBodyDeclaration[
- FieldDeclaration//ClassOrInterfaceType[pmd-java:typeIs($loggerClass)]
-  and not (
-   (: check logger name :)
-   (
-    FieldDeclaration[$requireStaticFinalLogger][@Final=true()][@Static=true()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
-    |
-    FieldDeclaration[$requireStaticFinalLogger = false()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
-   )
-   and
-   (: in place initialization with method argument pointing to current class (even for Enums) :)
-   .//ArgumentList//ClassOrInterfaceType[@Image = ancestor::ClassOrInterfaceDeclaration/@Image or @Image = ancestor::EnumDeclaration/@Image]
-  )
-  and not (
-   (: final logger initialized inside constructor :)
-   FieldDeclaration[@Final=true()][@Private=true()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
-   [count(.//VariableInitializer)=0]
-   [ancestor::ClassOrInterfaceBody//StatementExpression[.//PrimaryExpression/descendant::*[@Image=$loggerName or @Image=$staticLoggerName]][count(.//AllocationExpression)=0]]
-  )
-]
+//ClassOrInterfaceBodyDeclaration[FieldDeclaration//ClassOrInterfaceType[@Image='Log']
+ and
+ not(FieldDeclaration[@Final='true'][@Static='true'][@Private='true'][.//VariableDeclaratorId[@Image=$staticLoggerName]]
+ and
+ //ArgumentList//ClassOrInterfaceType[@Image = ancestor::ClassOrInterfaceDeclaration/@Image or @Image = ancestor::EnumDeclaration/@Image])
+ and
+ not(FieldDeclaration[@Final='true'][@Private='true'][.//VariableDeclaratorId[@Image='log']]
+ [count(.//VariableInitializer)=0]
+ [ancestor::ClassOrInterfaceBody//StatementExpression[.//PrimaryExpression/descendant::*[@Image='log']][count(.//AllocationExpression)=0]]
+ )]
 ```
 
 **Example(s):**
@@ -2891,10 +2877,7 @@ public class Foo {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|staticLoggerName|LOG|<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> (Use 'loggerName' property) Name of the static Logger variable|no|
-|loggerName|LOG|Name of the Logger variable|no|
-|loggerClass|Log|Class name of the logger|no|
-|requireStaticFinalLogger|false|Static final logger is required|no|
+|staticLoggerName|LOG|Name of the static Logger variable|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -2905,9 +2888,7 @@ public class Foo {
 ``` xml
 <rule ref="category/java/errorprone.xml/ProperLogger">
     <properties>
-        <property name="loggerName" value="LOG" />
-        <property name="loggerClass" value="Log" />
-        <property name="requireStaticFinalLogger" value="false" />
+        <property name="staticLoggerName" value="LOG" />
     </properties>
 </rule>
 ```
@@ -3149,7 +3130,7 @@ new StringBuffer()      //  16
 new StringBuffer(6)     //  6
 new StringBuffer("hello world")  // 11 + 16 = 27
 new StringBuffer('A')   //  chr(A) = 65
-new StringBuffer("A")   //  1 + 16 = 17
+new StringBuffer("A")   //  1 + 16 = 17 
 
 new StringBuilder()     //  16
 new StringBuilder(6)    //  6
@@ -3304,7 +3285,7 @@ public void foo() {
 
 **Priority:** Medium (3)
 
-Test classes end with the suffix Test. Having a non-test class with that name is not a good practice,
+Test classes end with the suffix Test. Having a non-test class with that name is not a good practice, 
 since most people will assume it is a test case. Test classes have test methods named testXXX.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.TestClassWithoutTestCasesRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/TestClassWithoutTestCasesRule.java)
@@ -3682,7 +3663,7 @@ class Foo {
 
 **Priority:** Medium (3)
 
-In J2EE, the getClassLoader() method might not work as expected. Use
+In J2EE, the getClassLoader() method might not work as expected. Use 
 Thread.currentThread().getContextClassLoader() instead.
 
 **This rule is defined by the following XPath expression:**
diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml
index 5be2e93cb6..ec2537299c 100644
--- a/pmd-java/src/main/resources/category/java/errorprone.xml
+++ b/pmd-java/src/main/resources/category/java/errorprone.xml
@@ -190,7 +190,7 @@ for (int i = 0; i < 10; i++) {
         <description>
 The method Object.finalize() is called by the garbage collector on an object when garbage collection determines
 that there are no more references to the object. It should not be invoked by application logic.
-
+            
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
         </description>
         <priority>3</priority>
@@ -211,7 +211,7 @@ void foo() {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#avoidcatchingnpe">
         <description>
-Code should never throw NullPointerExceptions under normal circumstances.  A catch block may hide the
+Code should never throw NullPointerExceptions under normal circumstances.  A catch block may hide the 
 original error, causing other, more subtle problems later on.
         </description>
         <priority>3</priority>
@@ -245,7 +245,7 @@ public class Foo {
           class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidCatchingThrowableRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#avoidcatchingthrowable">
         <description>
-Catching Throwable errors is not recommended since its scope is very broad. It includes runtime issues such as
+Catching Throwable errors is not recommended since its scope is very broad. It includes runtime issues such as 
 OutOfMemoryError that should be exposed and managed separately.
         </description>
         <priority>3</priority>
@@ -372,8 +372,8 @@ public class A {
           class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidFieldNameMatchingMethodNameRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#avoidfieldnamematchingmethodname">
         <description>
-It can be confusing to have a field name with the same name as a method. While this is permitted,
-having information (field) and actions (method) is not clear naming. Developers versed in
+It can be confusing to have a field name with the same name as a method. While this is permitted, 
+having information (field) and actions (method) is not clear naming. Developers versed in 
 Smalltalk often prefer this approach as the methods denote accessor methods.
         </description>
         <priority>3</priority>
@@ -634,9 +634,9 @@ boolean x = (y == Double.NaN);
           class="net.sourceforge.pmd.lang.java.rule.errorprone.BeanMembersShouldSerializeRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#beanmembersshouldserialize">
         <description>
-If a class is a bean, or is referenced by a bean directly or indirectly it needs to be serializable.
-Member variables need to be marked as transient, static, or have accessor methods in the class. Marking
-variables as transient is the safest and easiest modification. Accessor methods should follow the Java
+If a class is a bean, or is referenced by a bean directly or indirectly it needs to be serializable. 
+Member variables need to be marked as transient, static, or have accessor methods in the class. Marking 
+variables as transient is the safest and easiest modification. Accessor methods should follow the Java 
 naming conventions, i.e. for a variable named foo, getFoo() and setFoo() accessor methods should be provided.
         </description>
         <priority>3</priority>
@@ -1324,7 +1324,7 @@ public class MyActivity extends Activity {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#donotthrowexceptioninfinally">
         <description>
-Throwing exceptions within a 'finally' block is confusing since they may mask other exceptions
+Throwing exceptions within a 'finally' block is confusing since they may mask other exceptions 
 or code defects.
 Note: This is a PMD implementation of the Lint4j rule "A throw in a finally block"
         </description>
@@ -1415,8 +1415,8 @@ public class Count {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#emptycatchblock">
         <description>
-Empty Catch Block finds instances where an exception is caught, but nothing is done.
-In most circumstances, this swallows an exception which should either be acted on
+Empty Catch Block finds instances where an exception is caught, but nothing is done.  
+In most circumstances, this swallows an exception which should either be acted on 
 or reported.
         </description>
         <priority>3</priority>
@@ -1611,7 +1611,7 @@ public class Foo {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#emptystatementnotinloop">
         <description>
-An empty statement (or a semicolon by itself) that is not used as the sole body of a 'for'
+An empty statement (or a semicolon by itself) that is not used as the sole body of a 'for' 
 or 'while' loop is probably a bug.  It could also be a double semicolon, which has no purpose
 and should be removed.
         </description>
@@ -1742,7 +1742,7 @@ public class Foo {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#emptywhilestmt">
         <description>
-Empty While Statement finds all instances where a while statement does nothing.
+Empty While Statement finds all instances where a while statement does nothing.  
 If it is a timing loop, then you should use Thread.sleep() for it; if it is
 a while loop that does a lot in the exit expression, rewrite it to make it clearer.
         </description>
@@ -1900,7 +1900,7 @@ protected void finalize() {
         <description>
 Methods named finalize() should not have parameters.  It is confusing and most likely an attempt to
 overload Object.finalize(). It will not be called by the VM.
-
+            
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
         </description>
         <priority>3</priority>
@@ -1932,9 +1932,9 @@ public class Foo {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#finalizeshouldbeprotected">
         <description>
-When overriding the finalize(), the new method should be set as protected.  If made public,
+When overriding the finalize(), the new method should be set as protected.  If made public, 
 other classes may invoke it at inappropriate times.
-
+            
 Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
         </description>
         <priority>3</priority>
@@ -2914,7 +2914,7 @@ new StringBuffer()      //  16
 new StringBuffer(6)     //  6
 new StringBuffer("hello world")  // 11 + 16 = 27
 new StringBuffer('A')   //  chr(A) = 65
-new StringBuffer("A")   //  1 + 16 = 17
+new StringBuffer("A")   //  1 + 16 = 17 
 
 new StringBuilder()     //  16
 new StringBuilder(6)    //  6
@@ -3062,7 +3062,7 @@ public void foo() {
           class="net.sourceforge.pmd.lang.java.rule.errorprone.TestClassWithoutTestCasesRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#testclasswithouttestcases">
         <description>
-Test classes end with the suffix Test. Having a non-test class with that name is not a good practice,
+Test classes end with the suffix Test. Having a non-test class with that name is not a good practice, 
 since most people will assume it is a test case. Test classes have test methods named testXXX.
         </description>
         <priority>3</priority>
@@ -3433,7 +3433,7 @@ class Foo {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#useproperclassloader">
         <description>
-In J2EE, the getClassLoader() method might not work as expected. Use
+In J2EE, the getClassLoader() method might not work as expected. Use 
 Thread.currentThread().getContextClassLoader() instead.
         </description>
         <priority>3</priority>

From e415e68d34124e4ebcb7d22e5347599613299af8 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 13:44:45 +0200
Subject: [PATCH 125/371] Improve test cases for ProperLogger

---
 .../java/rule/errorprone/xml/ProperLogger.xml | 147 ++++++++++++------
 1 file changed, 99 insertions(+), 48 deletions(-)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ProperLogger.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ProperLogger.xml
index 4d396a3632..b7e0e77ed4 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ProperLogger.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ProperLogger.xml
@@ -29,7 +29,6 @@ public class Foo {
         <description><![CDATA[
 Ok, special case
         ]]></description>
-        <rule-property name="loggerName">log</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 public class Foo {
@@ -56,14 +55,13 @@ public enum Foo {
         <description><![CDATA[
 bug 1626232, a separate variable initialization should not confuse the rule
         ]]></description>
-        <rule-property name="loggerName">log</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 public class Foo {
     private String bar = "";
     private final Log log;
-    Foo(Log log1) {
-        this.log = log1;
+    Foo(Log log) {
+        this.log = log;
     }
 }
  ]]>    </code>
@@ -93,9 +91,7 @@ public class Foo {
  ]]>    </code>
     </test-code>
     <test-code>
-        <description><![CDATA[
-Custom logger-class with invalid logger variable name
-        ]]></description>
+        <description>Custom logger-class with invalid logger variable name</description>
         <rule-property name="loggerClass">MyLog</rule-property>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
@@ -105,10 +101,8 @@ public class Foo {
  ]]>    </code>
     </test-code>
     <test-code>
-        <description><![CDATA[
-Public logger
-        ]]></description>
-        <expected-problems>0</expected-problems>
+        <description>Public logger</description>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 public class Foo {
     public static final Log LOG = LogFactory.getLog(Foo.class);
@@ -116,44 +110,25 @@ public class Foo {
  ]]>    </code>
     </test-code>
     <test-code>
-        <description><![CDATA[
-Public logger when static final required
-        ]]></description>
-        <rule-property name="requireStaticFinalLogger">true</rule-property>
-        <expected-problems>0</expected-problems>
+        <description>package-private logger</description>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 public class Foo {
-    public static final Log LOG = LogFactory.getLog(Foo.class);
+    static final Log LOG = LogFactory.getLog(Foo.class);
 }
  ]]>    </code>
     </test-code>
     <test-code>
-        <description><![CDATA[
-Logger initialized as String constant from class name
-        ]]></description>
-        <expected-problems>0</expected-problems>
+        <description>package-private logger non static</description>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 public class Foo {
-    Log LOG = LogFactory.getLog(Foo.class.getName());
+    final Log LOG = LogFactory.getLog(Foo.class);
 }
  ]]>    </code>
     </test-code>
     <test-code>
-        <description><![CDATA[
-Package-protected logger when static final is not required
-        ]]></description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-public class Foo {
-    Log LOG = LogFactory.getLog(Foo.class);
-}
- ]]>    </code>
-    </test-code>
-    <test-code>
-        <description><![CDATA[
-Package-protected logger when static final is required
-        ]]></description>
-        <rule-property name="requireStaticFinalLogger">true</rule-property>
+        <description>package-private logger non static and non final</description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 public class Foo {
@@ -162,27 +137,103 @@ public class Foo {
  ]]>    </code>
     </test-code>
     <test-code>
-        <description><![CDATA[
-Check type resolution of logger
-        ]]></description>
-        <rule-property name="loggerClass">org.slf4j.Logger</rule-property>
-        <expected-problems>0</expected-problems>
+        <description>Public logger when static final required</description>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 public class Foo {
-    org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(Foo.class);
+    public static final Log LOG = LogFactory.getLog(Foo.class);
 }
  ]]>    </code>
     </test-code>
     <test-code>
-        <description><![CDATA[
-Check type resolution of logger with invalid logger specified
-        ]]></description>
-        <rule-property name="loggerClass">org.slf4j.Logger</rule-property>
+        <description>Logger initialized as String constant from class name (java.util.logging)</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.util.logging.Logger;
+
+public class Foo {
+    private static final Logger LOG = Logger.getLogger(Foo.class.getName());
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description>non-private Logger initialized as String constant from class name</description>
+        <rule-property name="loggerClass">java.util.logging.Logger</rule-property>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import java.util.logging.Logger;
+
+public class Foo {
+    Logger LOG = Logger.getLogger(Foo.class.getName());
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description>Package-protected logger when static final is not required</description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 public class Foo {
-    org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(Bar.class);
+    Log LOG = LogFactory.getLog(Foo.class);
 }
  ]]>    </code>
     </test-code>
+    <test-code>
+        <description>Package-protected logger when static final is required</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    Log LOG = LogFactory.getLog(Foo.class);
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description>Check type resolution of logger</description>
+        <rule-property name="loggerClass">org.slf4j.Logger</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Foo {
+    private static final Logger LOG = LoggerFactory.getLogger(Foo.class);
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description>Check type resolution of logger with invalid logger specified</description>
+        <rule-property name="loggerClass">org.slf4j.Logger</rule-property>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Foo {
+    private static final Logger LOG = LoggerFactory.getLogger(Bar.class);
+}
+ ]]>    </code>
+    </test-code>
+    <test-code>
+        <description>similar to special case but with creating a new logger instead of passing in</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    private final Log log;
+    public Foo() {
+        this.log = LogFactory.getLog(Foo.class);
+    }
+}
+        ]]></code>
+    </test-code>
+    <test-code>
+        <description>similar to special case but with creating a new logger instead of passing in</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public class Foo {
+    private final Log log;
+    public Foo() {
+        this.log = new Log(Foo.class);
+    }
+}
+        ]]></code>
+    </test-code>
 </test-data>

From 677a252c1c9d9a07e5eaa4e3edee69ca783c7723 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 13:49:49 +0200
Subject: [PATCH 126/371] Improve XPath expression for ProperLogger The
 properties loggerName and staticLoggerName are actually different properties
 used in different contexts. The property requireStaticFinalLogger is not
 needed - this behaviour of the rule was already there and is not new.

---
 .../resources/category/java/errorprone.xml    | 48 ++++++++++---------
 1 file changed, 26 insertions(+), 22 deletions(-)

diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml
index ec2537299c..fe03503d51 100644
--- a/pmd-java/src/main/resources/category/java/errorprone.xml
+++ b/pmd-java/src/main/resources/category/java/errorprone.xml
@@ -2632,7 +2632,7 @@ class Foo{
           typeResolution="true">
         <description>
 A logger should normally be defined private static final and be associated with the correct class.
-Private final Log log; is also allowed for rare cases where loggers need to be passed around,
+`private final Log log;` is also allowed for rare cases where loggers need to be passed around,
 with the restriction that the logger needs to be passed into the constructor.
         </description>
         <priority>3</priority>
@@ -2641,33 +2641,37 @@ with the restriction that the logger needs to be passed into the constructor.
             <property name="xpath">
                 <value>
 <![CDATA[
-//ClassOrInterfaceBodyDeclaration[
- FieldDeclaration//ClassOrInterfaceType[pmd-java:typeIs($loggerClass)]
-  and not (
-   (: check logger name :)
-   (
-    FieldDeclaration[$requireStaticFinalLogger][@Final=true()][@Static=true()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
-    |
-    FieldDeclaration[$requireStaticFinalLogger = false()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
-   )
-   and
-   (: in place initialization with method argument pointing to current class (even for Enums) :)
-   .//ArgumentList//ClassOrInterfaceType[@Image = ancestor::ClassOrInterfaceDeclaration/@Image or @Image = ancestor::EnumDeclaration/@Image]
-  )
-  and not (
-   (: final logger initialized inside constructor :)
-   FieldDeclaration[@Final=true()][@Private=true()][.//VariableDeclaratorId[@Image=$loggerName or @Image=$staticLoggerName]]
-   [count(.//VariableInitializer)=0]
-   [ancestor::ClassOrInterfaceBody//StatementExpression[.//PrimaryExpression/descendant::*[@Image=$loggerName or @Image=$staticLoggerName]][count(.//AllocationExpression)=0]]
+//FieldDeclaration
+[.//ClassOrInterfaceType[pmd-java:typeIs($loggerClass)]]
+[
+    (: check modifiers :)
+    (@Private = false() or @Final = false())
+    (: check logger name :)
+    or (@Static and .//VariableDeclaratorId[@Image != $staticLoggerName])
+    or (@Static = false() and .//VariableDeclaratorId[@Image != $loggerName])
+
+    (: check logger argument type matches class or enum name :)
+    or .//ArgumentList//ClassOrInterfaceType[@Image != ancestor::ClassOrInterfaceDeclaration/@Image]
+    or .//ArgumentList//ClassOrInterfaceType[@Image != ancestor::EnumDeclaration/@Image]
+]
+[not(
+     (: special case - final logger initialized inside constructor :)
+     count(.//VariableInitializer)=0
+     and @Static = false()
+     and
+     ancestor::ClassOrInterfaceBody//ConstructorDeclaration//StatementExpression
+        [PrimaryExpression[PrimaryPrefix[@ThisModifier]]/PrimarySuffix[@Image=$loggerName]]
+        [AssignmentOperator[@Image = '=']]
+        [Expression/PrimaryExpression/PrimaryPrefix/Name[@Image = ancestor::ConstructorDeclaration//FormalParameter/VariableDeclaratorId/@Image]]
+        [count(.//AllocationExpression)=0]
   )
 ]
 ]]>
                 </value>
             </property>
-            <property name="staticLoggerName" type="String" description="deprecated!(Use 'loggerName' property) Name of the static Logger variable" value="LOG"/>
-            <property name="loggerName" type="String" description="Name of the Logger variable" value="LOG"/>
+            <property name="staticLoggerName" type="String" description="Name of the static Logger variable" value="LOG"/>
+            <property name="loggerName" type="String" description="Name of the Logger instance variable" value="log"/>
             <property name="loggerClass" type="String" description="Class name of the logger" value="Log"/>
-            <property name="requireStaticFinalLogger" type="Boolean" description="Static final logger is required" value="false"/>
         </properties>
         <example>
  <![CDATA[

From 6761cac7852567c814a289acaf7f09ae4c5565a2 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 17:13:20 +0200
Subject: [PATCH 127/371] Update release notes, refs #1762

---
 docs/pages/release_notes.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index cdcddea67f..fe7e601dda 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,6 +14,19 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### Modified Rules
+
+*   The Java rule {% rule "java/errorprone/ProperLogger" %} (`java-errorprone`) has two new properties
+    to configure the logger class (e.g. "org.slf4j.Logger") and the logger name of the special case,
+    when the logger is not static. The name of the static logger variable was already configurable.
+    The new property "loggerClass" allows to use this rule for different logging frameworks.
+    This rule covers all the cases of the now deprecated rule {% rule "java/errorprone/LoggerIsNotStaticFinal" %}.
+
+#### Deprecated Rules
+
+*   The Java rule {%rule "java/errorprone/LoggerIsNotStaticFinal" %} (`java-errorprone`) has been deprecated
+    and will be removed with PMD 7. The rule is replaced by {% rule "java/errorprone/ProperLogger" %}.
+
 ### Fixed Issues
 
 *   dart
@@ -29,6 +42,7 @@ This is a {{ site.pmd.release_type }} release.
 
 ### External Contributions
 
+*   [#1762](https://github.com/pmd/pmd/pull/1762): \[java] LoggerIsNotStaticFinal and ProperLogger - make class-name configurable - [Ivo Šmíd](https://github.com/bedla)
 *   [#1799](https://github.com/pmd/pmd/pull/1799): \[java] MethodReturnsInternalArray does not work in inner classes - Fixed #1738 - [Srinivasan Venkatachalam](https://github.com/Srini1993)
 *   [#1802](https://github.com/pmd/pmd/pull/1802): \[python] \[cpd] Add support for Python 2 backticks - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)

From 19dc5a4f827733bc5833a46abf2232d28144c4f3 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 17:22:44 +0200
Subject: [PATCH 128/371] Simplify XPath expression for
 UseShortArrayInitializer

Co-Authored-By: oowekyala <clement.fournier76@gmail.com>
---
 pmd-java/src/main/resources/category/java/codestyle.xml | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml
index 4f7ddbf126..70121fd474 100644
--- a/pmd-java/src/main/resources/category/java/codestyle.xml
+++ b/pmd-java/src/main/resources/category/java/codestyle.xml
@@ -2135,9 +2135,8 @@ E.g. `int[] x = new int[] { 1, 2, 3 };` can be written as `int[] x = { 1, 2, 3 }
         <properties>
             <property name="xpath">
                 <value><![CDATA[
-//(LocalVariableDeclaration[@TypeInferred = false()] | FieldDeclaration)
-  /VariableDeclarator
-    [VariableDeclaratorId[@ArrayType = true()]]
+//VariableDeclarator
+    [VariableDeclaratorId[@ArrayType = true() and @TypeInferred = false()]]
     [VariableInitializer/Expression/PrimaryExpression/PrimaryPrefix/AllocationExpression/ArrayDimsAndInits/ArrayInitializer]
                 ]]></value>
             </property>

From 25cd37bdb6cff812b9bc7c1b21abedb2301181fa Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 17:50:52 +0200
Subject: [PATCH 129/371] Update release notes, fixes #1793, refs #1798

---
 docs/pages/release_notes.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index d892d62d6b..6522c72ffa 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -33,6 +33,9 @@ Being based on a proper Antlr grammar, CPD can:
 *   The Java rule {% rule "java/codestyle/NoPackage" %} (`java-codestyle`) will now report additionally enums
     and annotations that do not have a package declaration.
 
+*   The Java rule {% rule "java/codestyle/CommentDefaultAccessModifier" %} (`java-codestyle`) now reports also
+    missing comments for top-level classes and annotations, that are package-private.
+
 ### Fixed Issues
 
 *   all
@@ -49,6 +52,7 @@ Being based on a proper Antlr grammar, CPD can:
 *   java-codestyle
     *   [#1755](https://github.com/pmd/pmd/issues/1775): \[java] False negative in UnnecessaryLocalBeforeReturn when splitting statements across multiple lines
     *   [#1782](https://github.com/pmd/pmd/issues/1782): \[java] NoPackage: False Negative for enums
+    *   [#1793](https://github.com/pmd/pmd/issues/1793): \[java] CommentDefaultAccessModifier not working for classes
 *   java-design
     *   [#1760](https://github.com/pmd/pmd/issues/1760): \[java] UseObjectForClearerAPI flags private methods
 
@@ -63,6 +67,7 @@ Being based on a proper Antlr grammar, CPD can:
 *   [#1776](https://github.com/pmd/pmd/pull/1776): \[java] Show more detailed message when can't resolve field type - [Andrey Fomin](https://github.com/andrey-fomin)
 *   [#1781](https://github.com/pmd/pmd/pull/1781): \[java] Location change in AssignmentToNonFinalStatic - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1789](https://github.com/pmd/pmd/pull/1789): \[cpd] \[core] Use current classloader instead of Thread's classloader - [Andreas Schmid](https://github.com/aaschmid)
+*   [#1798](https://github.com/pmd/pmd/pull/1798): \[java] Make CommentDefaultAccessModifier work for top-level classes - [Boris Petrov](https://github.com/boris-petrov)
 
 {% endtocmaker %}
 

From e99005a031c24092b75cd05b1382e58d74027218 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 18:01:25 +0200
Subject: [PATCH 130/371] (doc) update generated rule doc

---
 docs/pages/pmd/rules/java.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/pages/pmd/rules/java.md b/docs/pages/pmd/rules/java.md
index 18c784a222..da3930406f 100644
--- a/docs/pages/pmd/rules/java.md
+++ b/docs/pages/pmd/rules/java.md
@@ -75,7 +75,7 @@ folder: pmd/rules
 *   [BooleanGetMethodName](pmd_rules_java_codestyle.html#booleangetmethodname): Methods that return boolean results should be named as predicate statements to denote this.I.e, '...
 *   [CallSuperInConstructor](pmd_rules_java_codestyle.html#callsuperinconstructor): It is a good practice to call super() in a constructor. If super() is not called butanother const...
 *   [ClassNamingConventions](pmd_rules_java_codestyle.html#classnamingconventions): Configurable naming conventions for type declarations. This rule reports            type declarat...
-*   [CommentDefaultAccessModifier](pmd_rules_java_codestyle.html#commentdefaultaccessmodifier): To avoid mistakes if we want that an Annotation, Class, Enum, Method, Constructor or Field have a default acc...
+*   [CommentDefaultAccessModifier](pmd_rules_java_codestyle.html#commentdefaultaccessmodifier): To avoid mistakes if we want that an Annotation, Class, Enum, Method, Constructor or Field have a...
 *   [ConfusingTernary](pmd_rules_java_codestyle.html#confusingternary): Avoid negation within an &quot;if&quot; expression with an &quot;else&quot; clause.  For example, rephrase:'if (x != ...
 *   [ControlStatementBraces](pmd_rules_java_codestyle.html#controlstatementbraces): Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... els...
 *   [DefaultPackage](pmd_rules_java_codestyle.html#defaultpackage): Use explicit scoping instead of accidental usage of default package private level.The rule allows...

From ef2f1ed3e6cbb2305431091095b475816c28bbe3 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 18:11:23 +0200
Subject: [PATCH 131/371] Update release notes, fixes #1842

---
 docs/pages/release_notes.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 1400af48bd..a07ff5a384 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -97,6 +97,8 @@ CPD also parses raw string literals now correctly (see [#1784](https://github.co
     *   [#1784](https://github.com/pmd/pmd/issues/1784): \[cpp] Improve support for raw string literals
 *   dart
     *   [#1809](https://github.com/pmd/pmd/issues/1809): \[dart] \[cpd] Parse error with escape sequences
+*   java
+    *   [#1842](https://github.com/pmd/pmd/issues/1842): \[java] Annotated module declarations cause parse error
 *   java-bestpractices
     *   [#1738](https://github.com/pmd/pmd/issues/1738): \[java] MethodReturnsInternalArray does not work in inner classes
 *   java-codestyle

From 07c90ee34c07522f7847e461e630431e8b4145a3 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 18:47:53 +0200
Subject: [PATCH 132/371] [apex] Replace deprecated rule
 VariableNamingConventions in quickstart ruleset Also fix the unit test to
 check the logger directly instead of System.err.

Refs #1817
---
 .../resources/rulesets/apex/quickstart.xml    | 31 ++++++++++++++++++-
 .../main/resources/rulesets/apex/ruleset.xml  | 10 +++++-
 .../pmd/lang/apex/DefaultRulesetTest.java     | 28 ++++++++++++++++-
 3 files changed, 66 insertions(+), 3 deletions(-)

diff --git a/pmd-apex/src/main/resources/rulesets/apex/quickstart.xml b/pmd-apex/src/main/resources/rulesets/apex/quickstart.xml
index 774f38ab50..18c32b1334 100644
--- a/pmd-apex/src/main/resources/rulesets/apex/quickstart.xml
+++ b/pmd-apex/src/main/resources/rulesets/apex/quickstart.xml
@@ -207,7 +207,36 @@
          <property name="cc_block_highlighting" value="false" />
       </properties>
    </rule>
-   <rule ref="category/apex/codestyle.xml/VariableNamingConventions" message="{0} variable {1} should begin with {2}">
+
+   <!-- NAMING -->
+   <rule ref="category/apex/codestyle.xml/FieldNamingConventions">
+      <priority>3</priority>
+      <properties>
+         <!-- relevant for Code Climate output only -->
+         <property name="cc_categories" value="Style" />
+         <property name="cc_remediation_points_multiplier" value="5" />
+         <property name="cc_block_highlighting" value="false" />
+      </properties>
+   </rule>
+   <rule ref="category/apex/codestyle.xml/FormalParameterNamingConventions">
+      <priority>3</priority>
+      <properties>
+         <!-- relevant for Code Climate output only -->
+         <property name="cc_categories" value="Style" />
+         <property name="cc_remediation_points_multiplier" value="5" />
+         <property name="cc_block_highlighting" value="false" />
+      </properties>
+   </rule>
+   <rule ref="category/apex/codestyle.xml/LocalVariableNamingConventions">
+      <priority>3</priority>
+      <properties>
+         <!-- relevant for Code Climate output only -->
+         <property name="cc_categories" value="Style" />
+         <property name="cc_remediation_points_multiplier" value="5" />
+         <property name="cc_block_highlighting" value="false" />
+      </properties>
+   </rule>
+   <rule ref="category/apex/codestyle.xml/PropertyNamingConventions">
       <priority>3</priority>
       <properties>
          <!-- relevant for Code Climate output only -->
diff --git a/pmd-apex/src/main/resources/rulesets/apex/ruleset.xml b/pmd-apex/src/main/resources/rulesets/apex/ruleset.xml
index 00b1054ad8..8952d44027 100644
--- a/pmd-apex/src/main/resources/rulesets/apex/ruleset.xml
+++ b/pmd-apex/src/main/resources/rulesets/apex/ruleset.xml
@@ -23,7 +23,15 @@
    <rule ref="rulesets/apex/quickstart.xml/ClassNamingConventions" deprecated="true" />
    <rule ref="rulesets/apex/quickstart.xml/MethodNamingConventions" deprecated="true" />
    <rule ref="rulesets/apex/quickstart.xml/MethodWithSameNameAsEnclosingClass" deprecated="true" />
-   <rule ref="rulesets/apex/quickstart.xml/VariableNamingConventions" deprecated="true" />
+   <rule ref="category/apex/codestyle.xml/VariableNamingConventions" deprecated="true" message="{0} variable {1} should begin with {2}">
+      <priority>3</priority>
+      <properties>
+         <!-- relevant for Code Climate output only -->
+         <property name="cc_categories" value="Style" />
+         <property name="cc_remediation_points_multiplier" value="5" />
+         <property name="cc_block_highlighting" value="false" />
+      </properties>
+   </rule>
    <rule ref="rulesets/apex/quickstart.xml/ApexUnitTestClassShouldHaveAsserts" deprecated="true" />
    <rule ref="rulesets/apex/quickstart.xml/ApexUnitTestShouldNotUseSeeAllDataTrue" deprecated="true" />
    <rule ref="rulesets/apex/quickstart.xml/ApexSharingViolations" deprecated="true" />
diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/DefaultRulesetTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/DefaultRulesetTest.java
index 9646085c85..2f5eeda3a4 100644
--- a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/DefaultRulesetTest.java
+++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/DefaultRulesetTest.java
@@ -4,6 +4,11 @@
 
 package net.sourceforge.pmd.lang.apex;
 
+import java.util.logging.Handler;
+import java.util.logging.LogRecord;
+import java.util.logging.Logger;
+
+import org.junit.After;
 import org.junit.Assert;
 import org.junit.Rule;
 import org.junit.Test;
@@ -26,10 +31,31 @@ public class DefaultRulesetTest {
         Assert.assertNotNull(ruleset);
     }
 
+    @After
+    public void cleanup() {
+        Handler[] handlers = Logger.getLogger(RuleSetFactory.class.getName()).getHandlers();
+        for (Handler handler : handlers) {
+            Logger.getLogger(RuleSetFactory.class.getName()).removeHandler(handler);
+        }
+    }
+
     @Test
     public void loadQuickstartRuleset() throws Exception {
+        Logger.getLogger(RuleSetFactory.class.getName()).addHandler(new Handler() {
+            @Override
+            public void publish(LogRecord record) {
+                Assert.fail("No Logging expected: " + record.getMessage());
+            }
+
+            @Override
+            public void flush() {
+            }
+
+            @Override
+            public void close() throws SecurityException {
+            }
+        });
         RuleSet ruleset = factory.createRuleSet("rulesets/apex/quickstart.xml");
         Assert.assertNotNull(ruleset);
-        Assert.assertTrue(systemErrRule.getLog().isEmpty());
     }
 }

From b9ac84ef330c5e780d2ce3e0d68f1643370e2607 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 18:48:24 +0200
Subject: [PATCH 133/371] Fix unit test for QuickstartRuleset check the logger
 directly instead of System.err.

---
 .../pmd/lang/java/QuickstartRulesetTest.java  | 32 +++++++++++++++++--
 1 file changed, 29 insertions(+), 3 deletions(-)

diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/QuickstartRulesetTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/QuickstartRulesetTest.java
index 8a08cd179e..816c98b918 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/QuickstartRulesetTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/QuickstartRulesetTest.java
@@ -4,6 +4,11 @@
 
 package net.sourceforge.pmd.lang.java;
 
+import java.util.logging.Handler;
+import java.util.logging.LogRecord;
+import java.util.logging.Logger;
+
+import org.junit.After;
 import org.junit.Assert;
 import org.junit.Rule;
 import org.junit.Test;
@@ -18,14 +23,35 @@ import net.sourceforge.pmd.util.ResourceLoader;
 public class QuickstartRulesetTest {
 
     @Rule
-    public final SystemErrRule systemErrRule = new SystemErrRule().enableLog();
+    public final SystemErrRule systemErrRule = new SystemErrRule().enableLog().muteForSuccessfulTests();
+
+    @After
+    public void cleanup() {
+        Handler[] handlers = Logger.getLogger(RuleSetFactory.class.getName()).getHandlers();
+        for (Handler handler : handlers) {
+            Logger.getLogger(RuleSetFactory.class.getName()).removeHandler(handler);
+        }
+    }
 
     @Test
     public void noDeprecations() throws RuleSetNotFoundException {
+        Logger.getLogger(RuleSetFactory.class.getName()).addHandler(new Handler() {
+            @Override
+            public void publish(LogRecord record) {
+                Assert.fail("No Logging expected: " + record.getMessage());
+            }
+
+            @Override
+            public void flush() {
+            }
+
+            @Override
+            public void close() throws SecurityException {
+            }
+        });
+
         RuleSetFactory ruleSetFactory = new RuleSetFactory(new ResourceLoader(), RulePriority.LOW, true, false);
         RuleSet quickstart = ruleSetFactory.createRuleSet("rulesets/java/quickstart.xml");
         Assert.assertFalse(quickstart.getRules().isEmpty());
-
-        Assert.assertTrue(systemErrRule.getLog().isEmpty());
     }
 }

From 44079146c85a3e1c049668e498bc1a95f56c853c Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 18:59:43 +0200
Subject: [PATCH 134/371] (doc) update generated rule docs

---
 docs/pages/pmd/rules/apex.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/pages/pmd/rules/apex.md b/docs/pages/pmd/rules/apex.md
index d9d4ef3d06..1a92852a12 100644
--- a/docs/pages/pmd/rules/apex.md
+++ b/docs/pages/pmd/rules/apex.md
@@ -158,7 +158,7 @@ folder: pmd/rules
 
     It contains the following rules:
 
-    [ApexBadCrypto](pmd_rules_apex_security.html#apexbadcrypto), [ApexCRUDViolation](pmd_rules_apex_security.html#apexcrudviolation), [ApexCSRF](pmd_rules_apex_security.html#apexcsrf), [ApexDangerousMethods](pmd_rules_apex_security.html#apexdangerousmethods), [ApexDoc](pmd_rules_apex_documentation.html#apexdoc), [ApexInsecureEndpoint](pmd_rules_apex_security.html#apexinsecureendpoint), [ApexOpenRedirect](pmd_rules_apex_security.html#apexopenredirect), [ApexSharingViolations](pmd_rules_apex_security.html#apexsharingviolations), [ApexSOQLInjection](pmd_rules_apex_security.html#apexsoqlinjection), [ApexSuggestUsingNamedCred](pmd_rules_apex_security.html#apexsuggestusingnamedcred), [ApexUnitTestClassShouldHaveAsserts](pmd_rules_apex_bestpractices.html#apexunittestclassshouldhaveasserts), [ApexUnitTestShouldNotUseSeeAllDataTrue](pmd_rules_apex_bestpractices.html#apexunittestshouldnotuseseealldatatrue), [ApexXSSFromEscapeFalse](pmd_rules_apex_security.html#apexxssfromescapefalse), [ApexXSSFromURLParam](pmd_rules_apex_security.html#apexxssfromurlparam), [AvoidDeeplyNestedIfStmts](pmd_rules_apex_design.html#avoiddeeplynestedifstmts), [AvoidDirectAccessTriggerMap](pmd_rules_apex_errorprone.html#avoiddirectaccesstriggermap), [AvoidDmlStatementsInLoops](pmd_rules_apex_performance.html#avoiddmlstatementsinloops), [AvoidGlobalModifier](pmd_rules_apex_bestpractices.html#avoidglobalmodifier), [AvoidHardcodingId](pmd_rules_apex_errorprone.html#avoidhardcodingid), [AvoidLogicInTrigger](pmd_rules_apex_bestpractices.html#avoidlogicintrigger), [AvoidNonExistentAnnotations](pmd_rules_apex_errorprone.html#avoidnonexistentannotations), [AvoidSoqlInLoops](pmd_rules_apex_performance.html#avoidsoqlinloops), [AvoidSoslInLoops](pmd_rules_apex_performance.html#avoidsoslinloops), [ClassNamingConventions](pmd_rules_apex_codestyle.html#classnamingconventions), [CyclomaticComplexity](pmd_rules_apex_design.html#cyclomaticcomplexity), [EmptyCatchBlock](pmd_rules_apex_errorprone.html#emptycatchblock), [EmptyIfStmt](pmd_rules_apex_errorprone.html#emptyifstmt), [EmptyStatementBlock](pmd_rules_apex_errorprone.html#emptystatementblock), [EmptyTryOrFinallyBlock](pmd_rules_apex_errorprone.html#emptytryorfinallyblock), [EmptyWhileStmt](pmd_rules_apex_errorprone.html#emptywhilestmt), [ExcessiveClassLength](pmd_rules_apex_design.html#excessiveclasslength), [ExcessiveParameterList](pmd_rules_apex_design.html#excessiveparameterlist), [ExcessivePublicCount](pmd_rules_apex_design.html#excessivepubliccount), [ForLoopsMustUseBraces](pmd_rules_apex_codestyle.html#forloopsmustusebraces), [IfElseStmtsMustUseBraces](pmd_rules_apex_codestyle.html#ifelsestmtsmustusebraces), [IfStmtsMustUseBraces](pmd_rules_apex_codestyle.html#ifstmtsmustusebraces), [MethodNamingConventions](pmd_rules_apex_codestyle.html#methodnamingconventions), [MethodWithSameNameAsEnclosingClass](pmd_rules_apex_errorprone.html#methodwithsamenameasenclosingclass), [NcssConstructorCount](pmd_rules_apex_design.html#ncssconstructorcount), [NcssMethodCount](pmd_rules_apex_design.html#ncssmethodcount), [NcssTypeCount](pmd_rules_apex_design.html#ncsstypecount), [OneDeclarationPerLine](pmd_rules_apex_codestyle.html#onedeclarationperline), [StdCyclomaticComplexity](pmd_rules_apex_design.html#stdcyclomaticcomplexity), [TooManyFields](pmd_rules_apex_design.html#toomanyfields), [VariableNamingConventions](pmd_rules_apex_codestyle.html#variablenamingconventions), [WhileLoopsMustUseBraces](pmd_rules_apex_codestyle.html#whileloopsmustusebraces)
+    [ApexBadCrypto](pmd_rules_apex_security.html#apexbadcrypto), [ApexCRUDViolation](pmd_rules_apex_security.html#apexcrudviolation), [ApexCSRF](pmd_rules_apex_security.html#apexcsrf), [ApexDangerousMethods](pmd_rules_apex_security.html#apexdangerousmethods), [ApexDoc](pmd_rules_apex_documentation.html#apexdoc), [ApexInsecureEndpoint](pmd_rules_apex_security.html#apexinsecureendpoint), [ApexOpenRedirect](pmd_rules_apex_security.html#apexopenredirect), [ApexSharingViolations](pmd_rules_apex_security.html#apexsharingviolations), [ApexSOQLInjection](pmd_rules_apex_security.html#apexsoqlinjection), [ApexSuggestUsingNamedCred](pmd_rules_apex_security.html#apexsuggestusingnamedcred), [ApexUnitTestClassShouldHaveAsserts](pmd_rules_apex_bestpractices.html#apexunittestclassshouldhaveasserts), [ApexUnitTestShouldNotUseSeeAllDataTrue](pmd_rules_apex_bestpractices.html#apexunittestshouldnotuseseealldatatrue), [ApexXSSFromEscapeFalse](pmd_rules_apex_security.html#apexxssfromescapefalse), [ApexXSSFromURLParam](pmd_rules_apex_security.html#apexxssfromurlparam), [AvoidDeeplyNestedIfStmts](pmd_rules_apex_design.html#avoiddeeplynestedifstmts), [AvoidDirectAccessTriggerMap](pmd_rules_apex_errorprone.html#avoiddirectaccesstriggermap), [AvoidDmlStatementsInLoops](pmd_rules_apex_performance.html#avoiddmlstatementsinloops), [AvoidGlobalModifier](pmd_rules_apex_bestpractices.html#avoidglobalmodifier), [AvoidHardcodingId](pmd_rules_apex_errorprone.html#avoidhardcodingid), [AvoidLogicInTrigger](pmd_rules_apex_bestpractices.html#avoidlogicintrigger), [AvoidNonExistentAnnotations](pmd_rules_apex_errorprone.html#avoidnonexistentannotations), [AvoidSoqlInLoops](pmd_rules_apex_performance.html#avoidsoqlinloops), [AvoidSoslInLoops](pmd_rules_apex_performance.html#avoidsoslinloops), [ClassNamingConventions](pmd_rules_apex_codestyle.html#classnamingconventions), [CyclomaticComplexity](pmd_rules_apex_design.html#cyclomaticcomplexity), [EmptyCatchBlock](pmd_rules_apex_errorprone.html#emptycatchblock), [EmptyIfStmt](pmd_rules_apex_errorprone.html#emptyifstmt), [EmptyStatementBlock](pmd_rules_apex_errorprone.html#emptystatementblock), [EmptyTryOrFinallyBlock](pmd_rules_apex_errorprone.html#emptytryorfinallyblock), [EmptyWhileStmt](pmd_rules_apex_errorprone.html#emptywhilestmt), [ExcessiveClassLength](pmd_rules_apex_design.html#excessiveclasslength), [ExcessiveParameterList](pmd_rules_apex_design.html#excessiveparameterlist), [ExcessivePublicCount](pmd_rules_apex_design.html#excessivepubliccount), [FieldNamingConventions](pmd_rules_apex_codestyle.html#fieldnamingconventions), [ForLoopsMustUseBraces](pmd_rules_apex_codestyle.html#forloopsmustusebraces), [FormalParameterNamingConventions](pmd_rules_apex_codestyle.html#formalparameternamingconventions), [IfElseStmtsMustUseBraces](pmd_rules_apex_codestyle.html#ifelsestmtsmustusebraces), [IfStmtsMustUseBraces](pmd_rules_apex_codestyle.html#ifstmtsmustusebraces), [LocalVariableNamingConventions](pmd_rules_apex_codestyle.html#localvariablenamingconventions), [MethodNamingConventions](pmd_rules_apex_codestyle.html#methodnamingconventions), [MethodWithSameNameAsEnclosingClass](pmd_rules_apex_errorprone.html#methodwithsamenameasenclosingclass), [NcssConstructorCount](pmd_rules_apex_design.html#ncssconstructorcount), [NcssMethodCount](pmd_rules_apex_design.html#ncssmethodcount), [NcssTypeCount](pmd_rules_apex_design.html#ncsstypecount), [OneDeclarationPerLine](pmd_rules_apex_codestyle.html#onedeclarationperline), [PropertyNamingConventions](pmd_rules_apex_codestyle.html#propertynamingconventions), [StdCyclomaticComplexity](pmd_rules_apex_design.html#stdcyclomaticcomplexity), [TooManyFields](pmd_rules_apex_design.html#toomanyfields), [WhileLoopsMustUseBraces](pmd_rules_apex_codestyle.html#whileloopsmustusebraces)
 
 *   Security (`rulesets/apex/security.xml`):
 

From a1a13b6234a33aeb4a35fae34dc623e7226fd51e Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 19:18:09 +0200
Subject: [PATCH 135/371] [dart] Add multi-line string example

---
 .../java/net/sourceforge/pmd/cpd/DartTokenizerTest.java  | 6 ++++--
 .../net/sourceforge/pmd/cpd/string_multiline.dart        | 9 +++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)
 create mode 100644 pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/string_multiline.dart

diff --git a/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java b/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java
index d6517df023..dc1e125322 100644
--- a/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java
+++ b/pmd-dart/src/test/java/net/sourceforge/pmd/cpd/DartTokenizerTest.java
@@ -5,6 +5,7 @@
 package net.sourceforge.pmd.cpd;
 
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.Collection;
 
@@ -39,7 +40,8 @@ public class DartTokenizerTest extends AbstractTokenizerTest {
                 new Object[] { "regex.dart", 13 },
                 new Object[] { "regex2.dart", 13 },
                 new Object[] { "regex3.dart", 13 },
-                new Object[] { "string_with_backslashes.dart", 9 }
+                new Object[] { "string_with_backslashes.dart", 9 },
+                new Object[] { "string_multiline.dart", 13 }
         );
     }
 
@@ -52,7 +54,7 @@ public class DartTokenizerTest extends AbstractTokenizerTest {
 
     @Override
     public String getSampleCode() throws IOException {
-        return IOUtils.toString(DartTokenizer.class.getResourceAsStream(this.filename));
+        return IOUtils.toString(DartTokenizer.class.getResourceAsStream(this.filename), StandardCharsets.UTF_8);
     }
 
     @Test
diff --git a/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/string_multiline.dart b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/string_multiline.dart
new file mode 100644
index 0000000000..a9ae19668e
--- /dev/null
+++ b/pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/string_multiline.dart
@@ -0,0 +1,9 @@
+class MyClass {
+    var s1 = '''
+You can create
+multi-line strings like this one.
+''';
+
+    var s2 = """This is also a
+multi-line string.""";
+}

From 443b53c3b1ed06ad3ef792387a064f4d81c7ab21 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 25 May 2019 19:18:48 +0200
Subject: [PATCH 136/371] Update release notes, refs #1838

---
 docs/pages/release_notes.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index ad93fdab8d..91accd9243 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -128,6 +128,7 @@ CPD also parses raw string literals now correctly (see [#1784](https://github.co
 *   [#1820](https://github.com/pmd/pmd/pull/1820): \[cpp] \[cpd] Improve support for raw string literals - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1821](https://github.com/pmd/pmd/pull/1821): \[matlab] \[cpd] Matlab question mark token - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1822](https://github.com/pmd/pmd/pull/1822): \[matlab] \[cpd] Double quoted string - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1838](https://github.com/pmd/pmd/pull/1838): \[dart] [cpd] Improved string tokenization - [Maikel Steneker](https://github.com/maikelsteneker)
 
 {% endtocmaker %}
 

From 02a232bbc6d858066fc4d5a2077a23b907d3363c Mon Sep 17 00:00:00 2001
From: "Travis CI (pmd-bot)" <andreas.dangel+pmd-bot@adangel.org>
Date: Sat, 25 May 2019 23:13:07 +0000
Subject: [PATCH 137/371] Update documentation

TRAVIS_JOB_NUMBER=3791.1
TRAVIS_COMMIT_RANGE=fb8a422d7358...6d9356cb057d
---
 docs/pages/pmd/rules/java.md            |  3 +-
 docs/pages/pmd/rules/java/codestyle.md  | 32 +++++++++++++++++-
 docs/pages/pmd/rules/java/errorprone.md | 45 +++++++++++++++++++------
 3 files changed, 67 insertions(+), 13 deletions(-)

diff --git a/docs/pages/pmd/rules/java.md b/docs/pages/pmd/rules/java.md
index da3930406f..1ea80e99bd 100644
--- a/docs/pages/pmd/rules/java.md
+++ b/docs/pages/pmd/rules/java.md
@@ -122,6 +122,7 @@ folder: pmd/rules
 *   [UseDiamondOperator](pmd_rules_java_codestyle.html#usediamondoperator): Use the diamond operator to let the type be inferred automatically. With the Diamond operator it ...
 *   [UselessParentheses](pmd_rules_java_codestyle.html#uselessparentheses): Useless parentheses should be removed.
 *   [UselessQualifiedThis](pmd_rules_java_codestyle.html#uselessqualifiedthis): Reports qualified this usages in the same class.
+*   [UseShortArrayInitializer](pmd_rules_java_codestyle.html#useshortarrayinitializer): When declaring and initializing array fields or variables, it is not necessary to explicitly crea...
 *   [UseUnderscoresInNumericLiterals](pmd_rules_java_codestyle.html#useunderscoresinnumericliterals): Since Java 1.7, numeric literals can use underscores to separate digits. This rule enforces that ...
 *   [VariableNamingConventions](pmd_rules_java_codestyle.html#variablenamingconventions): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> A variable naming conventions rule - customize this to your liking.  Currently, itchecks for fina...
 *   [WhileLoopsMustUseBraces](pmd_rules_java_codestyle.html#whileloopsmustusebraces): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> Avoid using 'while' statements without using braces to surround the code block. If the code forma...
@@ -255,7 +256,7 @@ folder: pmd/rules
 *   [JumbledIncrementer](pmd_rules_java_errorprone.html#jumbledincrementer): Avoid jumbled loop incrementers - its usually a mistake, and is confusing even if intentional.
 *   [JUnitSpelling](pmd_rules_java_errorprone.html#junitspelling): Some JUnit framework methods are easy to misspell.
 *   [JUnitStaticSuite](pmd_rules_java_errorprone.html#junitstaticsuite): The suite() method in a JUnit test needs to be both public and static.
-*   [LoggerIsNotStaticFinal](pmd_rules_java_errorprone.html#loggerisnotstaticfinal): In most cases, the Logger reference can be declared as static and final.
+*   [LoggerIsNotStaticFinal](pmd_rules_java_errorprone.html#loggerisnotstaticfinal): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> In most cases, the Logger reference can be declared as static and final.This rule is deprecated. ...
 *   [MethodWithSameNameAsEnclosingClass](pmd_rules_java_errorprone.html#methodwithsamenameasenclosingclass): Non-constructor methods should not have the same name as the enclosing class.
 *   [MisplacedNullCheck](pmd_rules_java_errorprone.html#misplacednullcheck): The null check here is misplaced. If the variable is null a NullPointerException will be thrown.E...
 *   [MissingBreakInSwitch](pmd_rules_java_errorprone.html#missingbreakinswitch): Switch statements without break or return statements for each case optionmay indicate problematic...
diff --git a/docs/pages/pmd/rules/java/codestyle.md b/docs/pages/pmd/rules/java/codestyle.md
index 8316a78410..ef25185266 100644
--- a/docs/pages/pmd/rules/java/codestyle.md
+++ b/docs/pages/pmd/rules/java/codestyle.md
@@ -5,7 +5,7 @@ permalink: pmd_rules_java_codestyle.html
 folder: pmd/rules/java
 sidebaractiveurl: /pmd_rules_java.html
 editmepath: ../pmd-java/src/main/resources/category/java/codestyle.xml
-keywords: Code Style, AbstractNaming, AtLeastOneConstructor, AvoidDollarSigns, AvoidFinalLocalVariable, AvoidPrefixingMethodParameters, AvoidProtectedFieldInFinalClass, AvoidProtectedMethodInFinalClassNotExtending, AvoidUsingNativeCode, BooleanGetMethodName, CallSuperInConstructor, ClassNamingConventions, CommentDefaultAccessModifier, ConfusingTernary, ControlStatementBraces, DefaultPackage, DontImportJavaLang, DuplicateImports, EmptyMethodInAbstractClassShouldBeAbstract, ExtendsObject, FieldDeclarationsShouldBeAtStartOfClass, FieldNamingConventions, ForLoopShouldBeWhileLoop, ForLoopsMustUseBraces, FormalParameterNamingConventions, GenericsNaming, IdenticalCatchBranches, IfElseStmtsMustUseBraces, IfStmtsMustUseBraces, LinguisticNaming, LocalHomeNamingConvention, LocalInterfaceSessionNamingConvention, LocalVariableCouldBeFinal, LocalVariableNamingConventions, LongVariable, MDBAndSessionBeanNamingConvention, MethodArgumentCouldBeFinal, MethodNamingConventions, MIsLeadingVariableName, NoPackage, UseUnderscoresInNumericLiterals, OnlyOneReturn, PackageCase, PrematureDeclaration, RemoteInterfaceNamingConvention, RemoteSessionInterfaceNamingConvention, ShortClassName, ShortMethodName, ShortVariable, SuspiciousConstantFieldName, TooManyStaticImports, UnnecessaryAnnotationValueElement, UnnecessaryConstructor, UnnecessaryFullyQualifiedName, UnnecessaryLocalBeforeReturn, UnnecessaryModifier, UnnecessaryReturn, UseDiamondOperator, UselessParentheses, UselessQualifiedThis, VariableNamingConventions, WhileLoopsMustUseBraces
+keywords: Code Style, AbstractNaming, AtLeastOneConstructor, AvoidDollarSigns, AvoidFinalLocalVariable, AvoidPrefixingMethodParameters, AvoidProtectedFieldInFinalClass, AvoidProtectedMethodInFinalClassNotExtending, AvoidUsingNativeCode, BooleanGetMethodName, CallSuperInConstructor, ClassNamingConventions, CommentDefaultAccessModifier, ConfusingTernary, ControlStatementBraces, DefaultPackage, DontImportJavaLang, DuplicateImports, EmptyMethodInAbstractClassShouldBeAbstract, ExtendsObject, FieldDeclarationsShouldBeAtStartOfClass, FieldNamingConventions, ForLoopShouldBeWhileLoop, ForLoopsMustUseBraces, FormalParameterNamingConventions, GenericsNaming, IdenticalCatchBranches, IfElseStmtsMustUseBraces, IfStmtsMustUseBraces, LinguisticNaming, LocalHomeNamingConvention, LocalInterfaceSessionNamingConvention, LocalVariableCouldBeFinal, LocalVariableNamingConventions, LongVariable, MDBAndSessionBeanNamingConvention, MethodArgumentCouldBeFinal, MethodNamingConventions, MIsLeadingVariableName, NoPackage, UseUnderscoresInNumericLiterals, OnlyOneReturn, PackageCase, PrematureDeclaration, RemoteInterfaceNamingConvention, RemoteSessionInterfaceNamingConvention, ShortClassName, ShortMethodName, ShortVariable, SuspiciousConstantFieldName, TooManyStaticImports, UnnecessaryAnnotationValueElement, UnnecessaryConstructor, UnnecessaryFullyQualifiedName, UnnecessaryLocalBeforeReturn, UnnecessaryModifier, UnnecessaryReturn, UseDiamondOperator, UselessParentheses, UselessQualifiedThis, UseShortArrayInitializer, VariableNamingConventions, WhileLoopsMustUseBraces
 language: Java
 ---
 <!-- DO NOT EDIT THIS FILE. This file is generated from file ../pmd-java/src/main/resources/category/java/codestyle.xml. -->
@@ -2499,6 +2499,36 @@ public class Foo {
 <rule ref="category/java/codestyle.xml/UselessQualifiedThis" />
 ```
 
+## UseShortArrayInitializer
+
+**Since:** PMD 6.15.0
+
+**Priority:** Medium (3)
+
+When declaring and initializing array fields or variables, it is not necessary to explicitly create a new array
+using `new`. Instead one can simply define the initial content of the array as a expression in curly braces.
+
+E.g. `int[] x = new int[] { 1, 2, 3 };` can be written as `int[] x = { 1, 2, 3 };`.
+
+**This rule is defined by the following XPath expression:**
+``` xpath
+//VariableDeclarator
+    [VariableDeclaratorId[@ArrayType = true() and @TypeInferred = false()]]
+    [VariableInitializer/Expression/PrimaryExpression/PrimaryPrefix/AllocationExpression/ArrayDimsAndInits/ArrayInitializer]
+```
+
+**Example(s):**
+
+``` java
+Foo[] x = new Foo[] { ... }; // Overly verbose
+Foo[] x = { ... }; //Equivalent to above line
+```
+
+**Use this rule by referencing it:**
+``` xml
+<rule ref="category/java/codestyle.xml/UseShortArrayInitializer" />
+```
+
 ## UseUnderscoresInNumericLiterals
 
 **Since:** PMD 6.10.0
diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index adb805ee8b..fea0a2af32 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -2391,12 +2391,16 @@ public class Foo extends TestCase {
 
 ## LoggerIsNotStaticFinal
 
+<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f;">Deprecated</span> 
+
 **Since:** PMD 2.0
 
 **Priority:** Medium High (2)
 
 In most cases, the Logger reference can be declared as static and final.
 
+This rule is deprecated. The rule is replaced by {% rule java/errorprone/ProperLogger %}.
+
 **This rule is defined by the following XPath expression:**
 ``` xpath
 //VariableDeclarator
@@ -2845,21 +2849,36 @@ class Foo{
 **Priority:** Medium (3)
 
 A logger should normally be defined private static final and be associated with the correct class.
-Private final Log log; is also allowed for rare cases where loggers need to be passed around,
+`private final Log log;` is also allowed for rare cases where loggers need to be passed around,
 with the restriction that the logger needs to be passed into the constructor.
 
 **This rule is defined by the following XPath expression:**
 ``` xpath
-//ClassOrInterfaceBodyDeclaration[FieldDeclaration//ClassOrInterfaceType[@Image='Log']
- and
- not(FieldDeclaration[@Final='true'][@Static='true'][@Private='true'][.//VariableDeclaratorId[@Image=$staticLoggerName]]
- and
- //ArgumentList//ClassOrInterfaceType[@Image = ancestor::ClassOrInterfaceDeclaration/@Image or @Image = ancestor::EnumDeclaration/@Image])
- and
- not(FieldDeclaration[@Final='true'][@Private='true'][.//VariableDeclaratorId[@Image='log']]
- [count(.//VariableInitializer)=0]
- [ancestor::ClassOrInterfaceBody//StatementExpression[.//PrimaryExpression/descendant::*[@Image='log']][count(.//AllocationExpression)=0]]
- )]
+//FieldDeclaration
+[.//ClassOrInterfaceType[pmd-java:typeIs($loggerClass)]]
+[
+    (: check modifiers :)
+    (@Private = false() or @Final = false())
+    (: check logger name :)
+    or (@Static and .//VariableDeclaratorId[@Image != $staticLoggerName])
+    or (@Static = false() and .//VariableDeclaratorId[@Image != $loggerName])
+
+    (: check logger argument type matches class or enum name :)
+    or .//ArgumentList//ClassOrInterfaceType[@Image != ancestor::ClassOrInterfaceDeclaration/@Image]
+    or .//ArgumentList//ClassOrInterfaceType[@Image != ancestor::EnumDeclaration/@Image]
+]
+[not(
+     (: special case - final logger initialized inside constructor :)
+     count(.//VariableInitializer)=0
+     and @Static = false()
+     and
+     ancestor::ClassOrInterfaceBody//ConstructorDeclaration//StatementExpression
+        [PrimaryExpression[PrimaryPrefix[@ThisModifier]]/PrimarySuffix[@Image=$loggerName]]
+        [AssignmentOperator[@Image = '=']]
+        [Expression/PrimaryExpression/PrimaryPrefix/Name[@Image = ancestor::ConstructorDeclaration//FormalParameter/VariableDeclaratorId/@Image]]
+        [count(.//AllocationExpression)=0]
+  )
+]
 ```
 
 **Example(s):**
@@ -2878,6 +2897,8 @@ public class Foo {
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
 |staticLoggerName|LOG|Name of the static Logger variable|no|
+|loggerName|log|Name of the Logger instance variable|no|
+|loggerClass|Log|Class name of the logger|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -2889,6 +2910,8 @@ public class Foo {
 <rule ref="category/java/errorprone.xml/ProperLogger">
     <properties>
         <property name="staticLoggerName" value="LOG" />
+        <property name="loggerName" value="log" />
+        <property name="loggerClass" value="Log" />
     </properties>
 </rule>
 ```

From 145753eab730c8335011503c2993571745af87f3 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 26 May 2019 10:21:23 +0200
Subject: [PATCH 138/371] Improve deprecation notice for LoggerIsNotStaticFinal

---
 pmd-java/src/main/resources/category/java/errorprone.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml
index fe03503d51..7e59da309f 100644
--- a/pmd-java/src/main/resources/category/java/errorprone.xml
+++ b/pmd-java/src/main/resources/category/java/errorprone.xml
@@ -2185,7 +2185,8 @@ public class Foo extends TestCase {
         <description>
 In most cases, the Logger reference can be declared as static and final.
 
-This rule is deprecated. The rule is replaced by {% rule java/errorprone/ProperLogger %}.
+This rule is deprecated and will be removed with PMD 7.0.0.
+The rule is replaced by {% rule java/errorprone/ProperLogger %}.
         </description>
         <priority>2</priority>
         <properties>

From 54ad46d15c141c82661cac578f52cd0025576f72 Mon Sep 17 00:00:00 2001
From: "Travis CI (pmd-bot)" <andreas.dangel+pmd-bot@adangel.org>
Date: Sun, 26 May 2019 08:43:11 +0000
Subject: [PATCH 139/371] Update documentation

TRAVIS_JOB_NUMBER=3793.1
TRAVIS_COMMIT_RANGE=02a232bbc6d8...145753eab730
---
 docs/pages/pmd/rules/java.md            | 2 +-
 docs/pages/pmd/rules/java/errorprone.md | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/docs/pages/pmd/rules/java.md b/docs/pages/pmd/rules/java.md
index 1ea80e99bd..0a7a0f0dfe 100644
--- a/docs/pages/pmd/rules/java.md
+++ b/docs/pages/pmd/rules/java.md
@@ -256,7 +256,7 @@ folder: pmd/rules
 *   [JumbledIncrementer](pmd_rules_java_errorprone.html#jumbledincrementer): Avoid jumbled loop incrementers - its usually a mistake, and is confusing even if intentional.
 *   [JUnitSpelling](pmd_rules_java_errorprone.html#junitspelling): Some JUnit framework methods are easy to misspell.
 *   [JUnitStaticSuite](pmd_rules_java_errorprone.html#junitstaticsuite): The suite() method in a JUnit test needs to be both public and static.
-*   [LoggerIsNotStaticFinal](pmd_rules_java_errorprone.html#loggerisnotstaticfinal): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> In most cases, the Logger reference can be declared as static and final.This rule is deprecated. ...
+*   [LoggerIsNotStaticFinal](pmd_rules_java_errorprone.html#loggerisnotstaticfinal): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> In most cases, the Logger reference can be declared as static and final.This rule is deprecated a...
 *   [MethodWithSameNameAsEnclosingClass](pmd_rules_java_errorprone.html#methodwithsamenameasenclosingclass): Non-constructor methods should not have the same name as the enclosing class.
 *   [MisplacedNullCheck](pmd_rules_java_errorprone.html#misplacednullcheck): The null check here is misplaced. If the variable is null a NullPointerException will be thrown.E...
 *   [MissingBreakInSwitch](pmd_rules_java_errorprone.html#missingbreakinswitch): Switch statements without break or return statements for each case optionmay indicate problematic...
diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index fea0a2af32..aafa1eeec2 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -2399,7 +2399,8 @@ public class Foo extends TestCase {
 
 In most cases, the Logger reference can be declared as static and final.
 
-This rule is deprecated. The rule is replaced by {% rule java/errorprone/ProperLogger %}.
+This rule is deprecated and will be removed with PMD 7.0.0.
+The rule is replaced by {% rule java/errorprone/ProperLogger %}.
 
 **This rule is defined by the following XPath expression:**
 ``` xpath

From cbe0c33c96f9c045e1c7ccd7a4630dd1474aa0de Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 26 May 2019 10:50:39 +0200
Subject: [PATCH 140/371] Prepare pmd release 6.15.0

---
 docs/_config.yml                     |  2 +-
 docs/pages/next_major_development.md | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/docs/_config.yml b/docs/_config.yml
index df529ab2e4..0bc41533ec 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -3,7 +3,7 @@ repository: pmd/pmd
 pmd:
     version: 6.15.0
     previous_version: 6.14.0
-    date: ??-May-2019
+    date: 26-May-2019
     release_type: minor
 
 # release types: major, minor, bugfix
diff --git a/docs/pages/next_major_development.md b/docs/pages/next_major_development.md
index 2586d1d946..e6ba911c9d 100644
--- a/docs/pages/next_major_development.md
+++ b/docs/pages/next_major_development.md
@@ -73,6 +73,25 @@ the breaking API changes will be performed in 7.0.0.
 an API is tagged as `@Deprecated` or not in the latest minor release. During the development of 7.0.0,
 we may decide to remove some APIs that were not tagged as deprecated, though we'll try to avoid it." %}
 
+#### 6.15.0
+
+##### Deprecated APIs
+
+###### For removal
+
+*   The `DumpFacades` in all languages, that could be used to transform a AST into a textual representation,
+    will be removed with PMD 7. The rule designer is a better way to inspect nodes.
+    *   {% jdoc !q!apex::lang.apex.ast.DumpFacade %}
+    *   {% jdoc !q!java::lang.java.ast.DumpFacade %}
+    *   {% jdoc !q!javascript::lang.ecmascript.ast.DumpFacade %}
+    *   {% jdoc !q!jsp::lang.jsp.ast.DumpFacade %}
+    *   {% jdoc !q!plsql::lang.plsql.ast.DumpFacade %}
+    *   {% jdoc !q!visualforce::lang.vf.ast.DumpFacade %}
+    *   {% jdoc !q!vm::lang.vm.ast.AbstractVmNode#dump(String, boolean, Writer) %}
+    *   {% jdoc !q!xml::lang.xml.ast.DumpFacade %}
+*   The method {% jdoc !c!core::lang.LanguageVersionHandler#getDumpFacade(Writer, String, boolean) %} will be
+    removed as well. It is deprecated, along with all its implementations in the subclasses of {% jdoc core::lang.LanguageVersionHandler %}.
+
 #### 6.14.0
 
 No changes.

From ba2d795f596c7e271142790a2911cb7e7636e12b Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 26 May 2019 11:02:18 +0200
Subject: [PATCH 141/371] [maven-release-plugin] prepare release
 pmd_releases/6.15.0

---
 pmd-apex-jorje/pom.xml  | 2 +-
 pmd-apex/pom.xml        | 2 +-
 pmd-core/pom.xml        | 2 +-
 pmd-cpp/pom.xml         | 2 +-
 pmd-cs/pom.xml          | 2 +-
 pmd-dart/pom.xml        | 2 +-
 pmd-dist/pom.xml        | 2 +-
 pmd-doc/pom.xml         | 2 +-
 pmd-fortran/pom.xml     | 2 +-
 pmd-go/pom.xml          | 2 +-
 pmd-groovy/pom.xml      | 2 +-
 pmd-java/pom.xml        | 2 +-
 pmd-java8/pom.xml       | 2 +-
 pmd-javascript/pom.xml  | 2 +-
 pmd-jsp/pom.xml         | 2 +-
 pmd-kotlin/pom.xml      | 2 +-
 pmd-lang-test/pom.xml   | 2 +-
 pmd-matlab/pom.xml      | 2 +-
 pmd-objectivec/pom.xml  | 2 +-
 pmd-perl/pom.xml        | 2 +-
 pmd-php/pom.xml         | 2 +-
 pmd-plsql/pom.xml       | 2 +-
 pmd-python/pom.xml      | 2 +-
 pmd-ruby/pom.xml        | 2 +-
 pmd-scala/pom.xml       | 2 +-
 pmd-swift/pom.xml       | 2 +-
 pmd-test/pom.xml        | 2 +-
 pmd-visualforce/pom.xml | 2 +-
 pmd-vm/pom.xml          | 2 +-
 pmd-xml/pom.xml         | 2 +-
 pom.xml                 | 4 ++--
 31 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/pmd-apex-jorje/pom.xml b/pmd-apex-jorje/pom.xml
index 12f9fa0069..79bd446381 100644
--- a/pmd-apex-jorje/pom.xml
+++ b/pmd-apex-jorje/pom.xml
@@ -8,7 +8,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.15.0-SNAPSHOT</version>
+    <version>6.15.0</version>
   </parent>
 
   <properties>
diff --git a/pmd-apex/pom.xml b/pmd-apex/pom.xml
index ddccd1ed38..592c2210d9 100644
--- a/pmd-apex/pom.xml
+++ b/pmd-apex/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.15.0-SNAPSHOT</version>
+    <version>6.15.0</version>
   </parent>
 
   <properties>
diff --git a/pmd-core/pom.xml b/pmd-core/pom.xml
index bf07d186c4..9cd2f0e4ee 100644
--- a/pmd-core/pom.xml
+++ b/pmd-core/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-cpp/pom.xml b/pmd-cpp/pom.xml
index 7bcfc6c45c..9ffd2e10b2 100644
--- a/pmd-cpp/pom.xml
+++ b/pmd-cpp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-cs/pom.xml b/pmd-cs/pom.xml
index d9c29a403b..b4d51d4af8 100644
--- a/pmd-cs/pom.xml
+++ b/pmd-cs/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-dart/pom.xml b/pmd-dart/pom.xml
index dff6031889..9e6c73dcf4 100644
--- a/pmd-dart/pom.xml
+++ b/pmd-dart/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-dist/pom.xml b/pmd-dist/pom.xml
index 085ae2d95d..e4d8091601 100644
--- a/pmd-dist/pom.xml
+++ b/pmd-dist/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-doc/pom.xml b/pmd-doc/pom.xml
index 74b4a36737..5925458640 100644
--- a/pmd-doc/pom.xml
+++ b/pmd-doc/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-fortran/pom.xml b/pmd-fortran/pom.xml
index 6a912a4c3c..e7ee5f127d 100644
--- a/pmd-fortran/pom.xml
+++ b/pmd-fortran/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-go/pom.xml b/pmd-go/pom.xml
index b120bc3037..b1ca6c6fbd 100644
--- a/pmd-go/pom.xml
+++ b/pmd-go/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-groovy/pom.xml b/pmd-groovy/pom.xml
index 51ad9194e4..712072da0c 100644
--- a/pmd-groovy/pom.xml
+++ b/pmd-groovy/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-java/pom.xml b/pmd-java/pom.xml
index 16ed2152f4..068aea77c4 100644
--- a/pmd-java/pom.xml
+++ b/pmd-java/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-java8/pom.xml b/pmd-java8/pom.xml
index b80484fbe5..0169df148b 100644
--- a/pmd-java8/pom.xml
+++ b/pmd-java8/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-javascript/pom.xml b/pmd-javascript/pom.xml
index 84c80541f2..ef3854a81f 100644
--- a/pmd-javascript/pom.xml
+++ b/pmd-javascript/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-jsp/pom.xml b/pmd-jsp/pom.xml
index 1d2d4d3ad9..42593b96e9 100644
--- a/pmd-jsp/pom.xml
+++ b/pmd-jsp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-kotlin/pom.xml b/pmd-kotlin/pom.xml
index d1788d935e..08bb2c7dfb 100644
--- a/pmd-kotlin/pom.xml
+++ b/pmd-kotlin/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-lang-test/pom.xml b/pmd-lang-test/pom.xml
index a6244f4f67..450607d631 100644
--- a/pmd-lang-test/pom.xml
+++ b/pmd-lang-test/pom.xml
@@ -12,7 +12,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-matlab/pom.xml b/pmd-matlab/pom.xml
index c4de90c22c..3ca81becad 100644
--- a/pmd-matlab/pom.xml
+++ b/pmd-matlab/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-objectivec/pom.xml b/pmd-objectivec/pom.xml
index e1a836fb5c..74550b09b7 100644
--- a/pmd-objectivec/pom.xml
+++ b/pmd-objectivec/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-perl/pom.xml b/pmd-perl/pom.xml
index d1f5df5a05..2be520cb77 100644
--- a/pmd-perl/pom.xml
+++ b/pmd-perl/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-php/pom.xml b/pmd-php/pom.xml
index deaf152689..50efc02c73 100644
--- a/pmd-php/pom.xml
+++ b/pmd-php/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-plsql/pom.xml b/pmd-plsql/pom.xml
index 64926ac6a8..ba6ef07fcb 100644
--- a/pmd-plsql/pom.xml
+++ b/pmd-plsql/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-python/pom.xml b/pmd-python/pom.xml
index 6e4587c56c..0385e46f7c 100644
--- a/pmd-python/pom.xml
+++ b/pmd-python/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-ruby/pom.xml b/pmd-ruby/pom.xml
index b0fb72e1f8..e699005fea 100644
--- a/pmd-ruby/pom.xml
+++ b/pmd-ruby/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-scala/pom.xml b/pmd-scala/pom.xml
index e1d4eec902..e091ce7d7a 100644
--- a/pmd-scala/pom.xml
+++ b/pmd-scala/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml
index a0bb640744..67a12d3aac 100644
--- a/pmd-swift/pom.xml
+++ b/pmd-swift/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-test/pom.xml b/pmd-test/pom.xml
index e5be021837..fdc14954be 100644
--- a/pmd-test/pom.xml
+++ b/pmd-test/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-visualforce/pom.xml b/pmd-visualforce/pom.xml
index 63b6c1eb6b..fbcbc895e2 100644
--- a/pmd-visualforce/pom.xml
+++ b/pmd-visualforce/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-vm/pom.xml b/pmd-vm/pom.xml
index f48cc4ad33..2ac247579c 100644
--- a/pmd-vm/pom.xml
+++ b/pmd-vm/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pmd-xml/pom.xml b/pmd-xml/pom.xml
index 98e9b107c6..84caba5f9e 100644
--- a/pmd-xml/pom.xml
+++ b/pmd-xml/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0-SNAPSHOT</version>
+        <version>6.15.0</version>
     </parent>
 
     <build>
diff --git a/pom.xml b/pom.xml
index 81d5424673..e92f8c47cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.15.0-SNAPSHOT</version>
+    <version>6.15.0</version>
     <packaging>pom</packaging>
     <name>PMD</name>
 
@@ -234,7 +234,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
         <connection>scm:git:git://github.com/pmd/pmd.git</connection>
         <developerConnection>scm:git:ssh://git@github.com/pmd/pmd.git</developerConnection>
         <url>https://github.com/pmd/pmd</url>
-        <tag>HEAD</tag>
+        <tag>pmd_releases/6.15.0</tag>
     </scm>
     <distributionManagement>
         <snapshotRepository>

From 5ac687918aa5343bc730f632fc50923ee6bb41fc Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 26 May 2019 11:02:26 +0200
Subject: [PATCH 142/371] [maven-release-plugin] prepare for next development
 iteration

---
 pmd-apex-jorje/pom.xml  | 2 +-
 pmd-apex/pom.xml        | 2 +-
 pmd-core/pom.xml        | 2 +-
 pmd-cpp/pom.xml         | 2 +-
 pmd-cs/pom.xml          | 2 +-
 pmd-dart/pom.xml        | 2 +-
 pmd-dist/pom.xml        | 2 +-
 pmd-doc/pom.xml         | 2 +-
 pmd-fortran/pom.xml     | 2 +-
 pmd-go/pom.xml          | 2 +-
 pmd-groovy/pom.xml      | 2 +-
 pmd-java/pom.xml        | 2 +-
 pmd-java8/pom.xml       | 2 +-
 pmd-javascript/pom.xml  | 2 +-
 pmd-jsp/pom.xml         | 2 +-
 pmd-kotlin/pom.xml      | 2 +-
 pmd-lang-test/pom.xml   | 2 +-
 pmd-matlab/pom.xml      | 2 +-
 pmd-objectivec/pom.xml  | 2 +-
 pmd-perl/pom.xml        | 2 +-
 pmd-php/pom.xml         | 2 +-
 pmd-plsql/pom.xml       | 2 +-
 pmd-python/pom.xml      | 2 +-
 pmd-ruby/pom.xml        | 2 +-
 pmd-scala/pom.xml       | 2 +-
 pmd-swift/pom.xml       | 2 +-
 pmd-test/pom.xml        | 2 +-
 pmd-visualforce/pom.xml | 2 +-
 pmd-vm/pom.xml          | 2 +-
 pmd-xml/pom.xml         | 2 +-
 pom.xml                 | 4 ++--
 31 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/pmd-apex-jorje/pom.xml b/pmd-apex-jorje/pom.xml
index 79bd446381..66e61df977 100644
--- a/pmd-apex-jorje/pom.xml
+++ b/pmd-apex-jorje/pom.xml
@@ -8,7 +8,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.15.0</version>
+    <version>6.16.0-SNAPSHOT</version>
   </parent>
 
   <properties>
diff --git a/pmd-apex/pom.xml b/pmd-apex/pom.xml
index 592c2210d9..4d551dd897 100644
--- a/pmd-apex/pom.xml
+++ b/pmd-apex/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.15.0</version>
+    <version>6.16.0-SNAPSHOT</version>
   </parent>
 
   <properties>
diff --git a/pmd-core/pom.xml b/pmd-core/pom.xml
index 9cd2f0e4ee..c33d0008d7 100644
--- a/pmd-core/pom.xml
+++ b/pmd-core/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-cpp/pom.xml b/pmd-cpp/pom.xml
index 9ffd2e10b2..9f26738735 100644
--- a/pmd-cpp/pom.xml
+++ b/pmd-cpp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-cs/pom.xml b/pmd-cs/pom.xml
index b4d51d4af8..0ec9a88410 100644
--- a/pmd-cs/pom.xml
+++ b/pmd-cs/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-dart/pom.xml b/pmd-dart/pom.xml
index 9e6c73dcf4..68c14c4151 100644
--- a/pmd-dart/pom.xml
+++ b/pmd-dart/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-dist/pom.xml b/pmd-dist/pom.xml
index e4d8091601..a992ec8570 100644
--- a/pmd-dist/pom.xml
+++ b/pmd-dist/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-doc/pom.xml b/pmd-doc/pom.xml
index 5925458640..c32d846fa3 100644
--- a/pmd-doc/pom.xml
+++ b/pmd-doc/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-fortran/pom.xml b/pmd-fortran/pom.xml
index e7ee5f127d..48b49b8d5a 100644
--- a/pmd-fortran/pom.xml
+++ b/pmd-fortran/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-go/pom.xml b/pmd-go/pom.xml
index b1ca6c6fbd..f92f9a4104 100644
--- a/pmd-go/pom.xml
+++ b/pmd-go/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-groovy/pom.xml b/pmd-groovy/pom.xml
index 712072da0c..26f7fb1d54 100644
--- a/pmd-groovy/pom.xml
+++ b/pmd-groovy/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-java/pom.xml b/pmd-java/pom.xml
index 068aea77c4..98f8f964c8 100644
--- a/pmd-java/pom.xml
+++ b/pmd-java/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-java8/pom.xml b/pmd-java8/pom.xml
index 0169df148b..24fb01995e 100644
--- a/pmd-java8/pom.xml
+++ b/pmd-java8/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-javascript/pom.xml b/pmd-javascript/pom.xml
index ef3854a81f..a61b4024c4 100644
--- a/pmd-javascript/pom.xml
+++ b/pmd-javascript/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-jsp/pom.xml b/pmd-jsp/pom.xml
index 42593b96e9..8afa365d0a 100644
--- a/pmd-jsp/pom.xml
+++ b/pmd-jsp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-kotlin/pom.xml b/pmd-kotlin/pom.xml
index 08bb2c7dfb..da6fc60074 100644
--- a/pmd-kotlin/pom.xml
+++ b/pmd-kotlin/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-lang-test/pom.xml b/pmd-lang-test/pom.xml
index 450607d631..eba4e23799 100644
--- a/pmd-lang-test/pom.xml
+++ b/pmd-lang-test/pom.xml
@@ -12,7 +12,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-matlab/pom.xml b/pmd-matlab/pom.xml
index 3ca81becad..c0a8c4afbf 100644
--- a/pmd-matlab/pom.xml
+++ b/pmd-matlab/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-objectivec/pom.xml b/pmd-objectivec/pom.xml
index 74550b09b7..0f76fa1b53 100644
--- a/pmd-objectivec/pom.xml
+++ b/pmd-objectivec/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-perl/pom.xml b/pmd-perl/pom.xml
index 2be520cb77..599df6c63d 100644
--- a/pmd-perl/pom.xml
+++ b/pmd-perl/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-php/pom.xml b/pmd-php/pom.xml
index 50efc02c73..a69b1b0f18 100644
--- a/pmd-php/pom.xml
+++ b/pmd-php/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-plsql/pom.xml b/pmd-plsql/pom.xml
index ba6ef07fcb..5617aaa34d 100644
--- a/pmd-plsql/pom.xml
+++ b/pmd-plsql/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-python/pom.xml b/pmd-python/pom.xml
index 0385e46f7c..a977c9d094 100644
--- a/pmd-python/pom.xml
+++ b/pmd-python/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-ruby/pom.xml b/pmd-ruby/pom.xml
index e699005fea..84af9ba351 100644
--- a/pmd-ruby/pom.xml
+++ b/pmd-ruby/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-scala/pom.xml b/pmd-scala/pom.xml
index e091ce7d7a..83fe5e567a 100644
--- a/pmd-scala/pom.xml
+++ b/pmd-scala/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml
index 67a12d3aac..de51b2a4e0 100644
--- a/pmd-swift/pom.xml
+++ b/pmd-swift/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-test/pom.xml b/pmd-test/pom.xml
index fdc14954be..4c5f3b012a 100644
--- a/pmd-test/pom.xml
+++ b/pmd-test/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-visualforce/pom.xml b/pmd-visualforce/pom.xml
index fbcbc895e2..e5dbe32a95 100644
--- a/pmd-visualforce/pom.xml
+++ b/pmd-visualforce/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-vm/pom.xml b/pmd-vm/pom.xml
index 2ac247579c..885fc90202 100644
--- a/pmd-vm/pom.xml
+++ b/pmd-vm/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-xml/pom.xml b/pmd-xml/pom.xml
index 84caba5f9e..cf00576b5e 100644
--- a/pmd-xml/pom.xml
+++ b/pmd-xml/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.15.0</version>
+        <version>6.16.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pom.xml b/pom.xml
index e92f8c47cd..3f5d66ef8d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.15.0</version>
+    <version>6.16.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>PMD</name>
 
@@ -234,7 +234,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
         <connection>scm:git:git://github.com/pmd/pmd.git</connection>
         <developerConnection>scm:git:ssh://git@github.com/pmd/pmd.git</developerConnection>
         <url>https://github.com/pmd/pmd</url>
-        <tag>pmd_releases/6.15.0</tag>
+        <tag>HEAD</tag>
     </scm>
     <distributionManagement>
         <snapshotRepository>

From f5f4c59bfaadf0f320a165b796992aa1b321d4c5 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 26 May 2019 11:04:15 +0200
Subject: [PATCH 143/371] Prepare next development version

---
 docs/_config.yml                |   6 +-
 docs/pages/release_notes.md     | 145 --------------------------
 docs/pages/release_notes_old.md | 173 ++++++++++++++++++++++++++++++++
 3 files changed, 176 insertions(+), 148 deletions(-)

diff --git a/docs/_config.yml b/docs/_config.yml
index 0bc41533ec..5791161d12 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1,9 +1,9 @@
 repository: pmd/pmd
 
 pmd:
-    version: 6.15.0
-    previous_version: 6.14.0
-    date: 26-May-2019
+    version: 6.16.0
+    previous_version: 6.15.0
+    date: ??-June-2019
     release_type: minor
 
 # release types: major, minor, bugfix
diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 3db45bf8c7..b8f8783555 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,156 +14,11 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
-#### Enhanced Matlab support
-
-Thanks to the contributions from [Maikel Steneker](https://github.com/maikelsteneker) CPD for Matlab can
-now parse Matlab programs which use the question mark operator to specify access to
-class members:
-
-```
-classdef Class1
-properties (SetAccess = ?Class2)
-```
-
-CPD also understands now double quoted strings, which are supported since version R2017a of Matlab:
-
-```
-str = "This is a string"
-```
-
-#### Enhanced C++ support
-
-CPD now supports digit separators in C++ (language module "cpp"). This is a C++14 feature.
-
-Example: `auto integer_literal = 1'000'000;`
-
-The single quotes can be used to add some structure to large numbers.
-
-CPD also parses raw string literals now correctly (see [#1784](https://github.com/pmd/pmd/issues/1784)).
-
-#### New Rules
-
-*   The new Apex rule {% rule "apex/codestyle/FieldNamingConventions" %} (`apex-codestyle`) checks the naming
-    conventions for field declarations. By default this rule uses the standard Apex naming convention (Camel case),
-    but it can be configured through properties.
-
-*   The new Apex rule {% rule "apex/codestyle/FormalParameterNamingConventions" %} (`apex-codestyle`) checks the
-    naming conventions for formal parameters of methods. By default this rule uses the standard Apex naming
-    convention (Camel case), but it can be configured through properties.
-
-*   The new Apex rule {% rule "apex/codestyle/LocalVariableNamingConventions" %} (`apex-codestyle`) checks the
-    naming conventions for local variable declarations. By default this rule uses the standard Apex naming
-    convention (Camel case), but it can be configured through properties.
-
-*   The new Apex rule {% rule "apex/codestyle/PropertyNamingConventions" %} (`apex-codestyle`) checks the naming
-    conventions for property declarations. By default this rule uses the standard Apex naming convention (Camel case),
-    but it can be configured through properties.
-
-*   The new Java rule {% rule "java/codestyle/UseShortArrayInitializer" %} (`java-codestyle`) searches for
-    array initialization expressions, which can be written shorter.
-
-#### Modified Rules
-
-*   The Apex rule {% rule "apex/codestyle/ClassNamingConventions" %} (`apex-codestyle`) can now be configured
-    using various properties for the specific kind of type declarations (e.g. class, interface, enum).
-    As before, this rule uses by default the standard Apex naming convention (Pascal case).
-
-*   The Apex rule {% rule "apex/codestyle/MethodNamingConventions" %} (`apex-codestyle`) can now be configured
-    using various properties to differenciate e.g. static methods and test methods.
-    As before, this rule uses by default the standard Apex naming convention (Camel case).
-
-*   The Java rule {% rule "java/codestyle/FieldNamingConventions" %} (`java-codestyle`) now by default ignores
-    the field `serialPersistentFields`. Since this is a field which needs to have this special name, no
-    field naming conventions can be applied here. It is excluded the same way like `serialVersionUID` via the
-    property `exclusions`.
-
-*   The Java rule {% rule "java/documentation/CommentRequired" %} (`java-documentation`) has a new property
-    `serialPersistentFieldsCommentRequired` with the default value "Ignored". This means that from now
-    on comments for the field `serialPersistentFields` are not required anymore. You can change the property
-    to restore the old behavior.
-
-*   The Java rule {% rule "java/errorprone/ProperLogger" %} (`java-errorprone`) has two new properties
-    to configure the logger class (e.g. "org.slf4j.Logger") and the logger name of the special case,
-    when the logger is not static. The name of the static logger variable was already configurable.
-    The new property "loggerClass" allows to use this rule for different logging frameworks.
-    This rule covers all the cases of the now deprecated rule {% rule "java/errorprone/LoggerIsNotStaticFinal" %}.
-
-*   The Java rule {% rule "java/codestyle/CommentDefaultAccessModifier" %} (`java-codestyle`) now reports also
-    missing comments for top-level classes and annotations, that are package-private.
-
-#### Deprecated Rules
-
-*   The Apex rule {% rule "apex/codestyle/VariableNamingConventions" %} (`apex-codestyle`) has been deprecated and
-    will be removed with PMD 7.0.0. The rule is replaced by the more general rules
-    {% rule "apex/codestyle/FieldNamingConventions" %},
-    {% rule "apex/codestyle/FormalParameterNamingConventions" %},
-    {% rule "apex/codestyle/LocalVariableNamingConventions" %}, and
-    {% rule "apex/codestyle/PropertyNamingConventions" %}.
-
-*   The Java rule {%rule "java/errorprone/LoggerIsNotStaticFinal" %} (`java-errorprone`) has been deprecated
-    and will be removed with PMD 7.0.0. The rule is replaced by {% rule "java/errorprone/ProperLogger" %}.
-
 ### Fixed Issues
 
-*   apex
-    *   [#1321](https://github.com/pmd/pmd/issues/1321): \[apex] Should VariableNamingConventions require properties to start with a lowercase letter?
-    *   [#1783](https://github.com/pmd/pmd/issues/1783): \[apex] comments on constructor not recognized when the Class has inner class
-*   cpp
-    *   [#1784](https://github.com/pmd/pmd/issues/1784): \[cpp] Improve support for raw string literals
-*   dart
-    *   [#1809](https://github.com/pmd/pmd/issues/1809): \[dart] \[cpd] Parse error with escape sequences
-*   java
-    *   [#1842](https://github.com/pmd/pmd/issues/1842): \[java] Annotated module declarations cause parse error
-*   java-bestpractices
-    *   [#1738](https://github.com/pmd/pmd/issues/1738): \[java] MethodReturnsInternalArray does not work in inner classes
-*   java-codestyle
-    *   [#1495](https://github.com/pmd/pmd/issues/1495): \[java] Rule to detect overly verbose array initializiation
-    *   [#1684](https://github.com/pmd/pmd/issues/1684): \[java] Properly whitelist serialPersistentFields
-    *   [#1804](https://github.com/pmd/pmd/issues/1804): \[java] NPE in UnnecessaryLocalBeforeReturnRule
-*   python
-    *   [#1810](https://github.com/pmd/pmd/issues/1810): \[python] \[cpd] Parse error when using Python 2 backticks
-*   matlab
-    *   [#1830](https://github.com/pmd/pmd/issues/1830): \[matlab] \[cpd] Parse error with comments
-    *   [#1793](https://github.com/pmd/pmd/issues/1793): \[java] CommentDefaultAccessModifier not working for classes
-
 ### API Changes
 
-#### Deprecated APIs
-
-##### For removal
-
-*   The `DumpFacades` in all languages, that could be used to transform a AST into a textual representation,
-    will be removed with PMD 7. The rule designer is a better way to inspect nodes.
-    *   {% jdoc !q!apex::lang.apex.ast.DumpFacade %}
-    *   {% jdoc !q!java::lang.java.ast.DumpFacade %}
-    *   {% jdoc !q!javascript::lang.ecmascript.ast.DumpFacade %}
-    *   {% jdoc !q!jsp::lang.jsp.ast.DumpFacade %}
-    *   {% jdoc !q!plsql::lang.plsql.ast.DumpFacade %}
-    *   {% jdoc !q!visualforce::lang.vf.ast.DumpFacade %}
-    *   {% jdoc !q!vm::lang.vm.ast.AbstractVmNode#dump(String, boolean, Writer) %}
-    *   {% jdoc !q!xml::lang.xml.ast.DumpFacade %}
-*   The method {% jdoc !c!core::lang.LanguageVersionHandler#getDumpFacade(Writer, String, boolean) %} will be
-    removed as well. It is deprecated, along with all its implementations in the subclasses of {% jdoc core::lang.LanguageVersionHandler %}.
-
 ### External Contributions
 
-*   [#1647](https://github.com/pmd/pmd/pull/1647): \[java] Rule to detect overly verbose array initialization - [Victor](https://github.com/IDoCodingStuffs)
-*   [#1762](https://github.com/pmd/pmd/pull/1762): \[java] LoggerIsNotStaticFinal and ProperLogger - make class-name configurable - [Ivo Šmíd](https://github.com/bedla)
-*   [#1798](https://github.com/pmd/pmd/pull/1798): \[java] Make CommentDefaultAccessModifier work for top-level classes - [Boris Petrov](https://github.com/boris-petrov)
-*   [#1799](https://github.com/pmd/pmd/pull/1799): \[java] MethodReturnsInternalArray does not work in inner classes - Fixed #1738 - [Srinivasan Venkatachalam](https://github.com/Srini1993)
-*   [#1802](https://github.com/pmd/pmd/pull/1802): \[python] \[cpd] Add support for Python 2 backticks - [Maikel Steneker](https://github.com/maikelsteneker)
-*   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
-*   [#1807](https://github.com/pmd/pmd/pull/1807): \[ci] Fix missing local branch issues when executing pmd-regression-tester - [BBG](https://github.com/djydewang)
-*   [#1813](https://github.com/pmd/pmd/pull/1813): \[matlab] \[cpd] Matlab comments - [Maikel Steneker](https://github.com/maikelsteneker)
-*   [#1816](https://github.com/pmd/pmd/pull/1816): \[apex] Fix ApexDoc handling with inner classes - [Jeff Hube](https://github.com/jeffhube)
-*   [#1817](https://github.com/pmd/pmd/pull/1817): \[apex] Add configurable naming convention rules - [Jeff Hube](https://github.com/jeffhube)
-*   [#1819](https://github.com/pmd/pmd/pull/1819): \[cpp] \[cpd] Add support for digit separators - [Maikel Steneker](https://github.com/maikelsteneker)
-*   [#1820](https://github.com/pmd/pmd/pull/1820): \[cpp] \[cpd] Improve support for raw string literals - [Maikel Steneker](https://github.com/maikelsteneker)
-*   [#1821](https://github.com/pmd/pmd/pull/1821): \[matlab] \[cpd] Matlab question mark token - [Maikel Steneker](https://github.com/maikelsteneker)
-*   [#1822](https://github.com/pmd/pmd/pull/1822): \[matlab] \[cpd] Double quoted string - [Maikel Steneker](https://github.com/maikelsteneker)
-*   [#1837](https://github.com/pmd/pmd/pull/1837): \[core] Minor performance improvements - [Michael Hausegger](https://github.com/TheRealHaui)
-*   [#1838](https://github.com/pmd/pmd/pull/1838): \[dart] [cpd] Improved string tokenization - [Maikel Steneker](https://github.com/maikelsteneker)
-*   [#1840](https://github.com/pmd/pmd/pull/1840): \[java] Whitelist serialPersistentFields - [Marcel Härle](https://github.com/marcelhaerle)
-
 {% endtocmaker %}
 
diff --git a/docs/pages/release_notes_old.md b/docs/pages/release_notes_old.md
index 7ec5ac3a96..ea1ed77757 100644
--- a/docs/pages/release_notes_old.md
+++ b/docs/pages/release_notes_old.md
@@ -5,6 +5,179 @@ permalink: pmd_release_notes_old.html
 
 Previous versions of PMD can be downloaded here: https://github.com/pmd/pmd/releases
 
+## 26-May-2019 - 6.15.0
+
+The PMD team is pleased to announce PMD 6.15.0.
+
+This is a minor release.
+
+### Table Of Contents
+
+* [New and noteworthy](#new-and-noteworthy)
+    * [Enhanced Matlab support](#enhanced-matlab-support)
+    * [Enhanced C++ support](#enhanced-c++-support)
+    * [New Rules](#new-rules)
+    * [Modified Rules](#modified-rules)
+    * [Deprecated Rules](#deprecated-rules)
+* [Fixed Issues](#fixed-issues)
+* [API Changes](#api-changes)
+    * [Deprecated APIs](#deprecated-apis)
+        * [For removal](#for-removal)
+* [External Contributions](#external-contributions)
+
+### New and noteworthy
+
+#### Enhanced Matlab support
+
+Thanks to the contributions from [Maikel Steneker](https://github.com/maikelsteneker) CPD for Matlab can
+now parse Matlab programs which use the question mark operator to specify access to
+class members:
+
+```
+classdef Class1
+properties (SetAccess = ?Class2)
+```
+
+CPD also understands now double quoted strings, which are supported since version R2017a of Matlab:
+
+```
+str = "This is a string"
+```
+
+#### Enhanced C++ support
+
+CPD now supports digit separators in C++ (language module "cpp"). This is a C++14 feature.
+
+Example: `auto integer_literal = 1'000'000;`
+
+The single quotes can be used to add some structure to large numbers.
+
+CPD also parses raw string literals now correctly (see [#1784](https://github.com/pmd/pmd/issues/1784)).
+
+#### New Rules
+
+*   The new Apex rule [`FieldNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#fieldnamingconventions) (`apex-codestyle`) checks the naming
+    conventions for field declarations. By default this rule uses the standard Apex naming convention (Camel case),
+    but it can be configured through properties.
+
+*   The new Apex rule [`FormalParameterNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#formalparameternamingconventions) (`apex-codestyle`) checks the
+    naming conventions for formal parameters of methods. By default this rule uses the standard Apex naming
+    convention (Camel case), but it can be configured through properties.
+
+*   The new Apex rule [`LocalVariableNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#localvariablenamingconventions) (`apex-codestyle`) checks the
+    naming conventions for local variable declarations. By default this rule uses the standard Apex naming
+    convention (Camel case), but it can be configured through properties.
+
+*   The new Apex rule [`PropertyNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#propertynamingconventions) (`apex-codestyle`) checks the naming
+    conventions for property declarations. By default this rule uses the standard Apex naming convention (Camel case),
+    but it can be configured through properties.
+
+*   The new Java rule [`UseShortArrayInitializer`](https://pmd.github.io/pmd-6.15.0/pmd_rules_java_codestyle.html#useshortarrayinitializer) (`java-codestyle`) searches for
+    array initialization expressions, which can be written shorter.
+
+#### Modified Rules
+
+*   The Apex rule [`ClassNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#classnamingconventions) (`apex-codestyle`) can now be configured
+    using various properties for the specific kind of type declarations (e.g. class, interface, enum).
+    As before, this rule uses by default the standard Apex naming convention (Pascal case).
+
+*   The Apex rule [`MethodNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#methodnamingconventions) (`apex-codestyle`) can now be configured
+    using various properties to differenciate e.g. static methods and test methods.
+    As before, this rule uses by default the standard Apex naming convention (Camel case).
+
+*   The Java rule [`FieldNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_java_codestyle.html#fieldnamingconventions) (`java-codestyle`) now by default ignores
+    the field `serialPersistentFields`. Since this is a field which needs to have this special name, no
+    field naming conventions can be applied here. It is excluded the same way like `serialVersionUID` via the
+    property `exclusions`.
+
+*   The Java rule [`CommentRequired`](https://pmd.github.io/pmd-6.15.0/pmd_rules_java_documentation.html#commentrequired) (`java-documentation`) has a new property
+    `serialPersistentFieldsCommentRequired` with the default value "Ignored". This means that from now
+    on comments for the field `serialPersistentFields` are not required anymore. You can change the property
+    to restore the old behavior.
+
+*   The Java rule [`ProperLogger`](https://pmd.github.io/pmd-6.15.0/pmd_rules_java_errorprone.html#properlogger) (`java-errorprone`) has two new properties
+    to configure the logger class (e.g. "org.slf4j.Logger") and the logger name of the special case,
+    when the logger is not static. The name of the static logger variable was already configurable.
+    The new property "loggerClass" allows to use this rule for different logging frameworks.
+    This rule covers all the cases of the now deprecated rule [`LoggerIsNotStaticFinal`](https://pmd.github.io/pmd-6.15.0/pmd_rules_java_errorprone.html#loggerisnotstaticfinal).
+
+*   The Java rule [`CommentDefaultAccessModifier`](https://pmd.github.io/pmd-6.15.0/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier) (`java-codestyle`) now reports also
+    missing comments for top-level classes and annotations, that are package-private.
+
+#### Deprecated Rules
+
+*   The Apex rule [`VariableNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#variablenamingconventions) (`apex-codestyle`) has been deprecated and
+    will be removed with PMD 7.0.0. The rule is replaced by the more general rules
+    [`FieldNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#fieldnamingconventions),
+    [`FormalParameterNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#formalparameternamingconventions),
+    [`LocalVariableNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#localvariablenamingconventions), and
+    [`PropertyNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#propertynamingconventions).
+
+*   The Java rule [`LoggerIsNotStaticFinal`](https://pmd.github.io/pmd-6.15.0/pmd_rules_java_errorprone.html#loggerisnotstaticfinal) (`java-errorprone`) has been deprecated
+    and will be removed with PMD 7.0.0. The rule is replaced by [`ProperLogger`](https://pmd.github.io/pmd-6.15.0/pmd_rules_java_errorprone.html#properlogger).
+
+### Fixed Issues
+
+*   apex
+    *   [#1321](https://github.com/pmd/pmd/issues/1321): \[apex] Should VariableNamingConventions require properties to start with a lowercase letter?
+    *   [#1783](https://github.com/pmd/pmd/issues/1783): \[apex] comments on constructor not recognized when the Class has inner class
+*   cpp
+    *   [#1784](https://github.com/pmd/pmd/issues/1784): \[cpp] Improve support for raw string literals
+*   dart
+    *   [#1809](https://github.com/pmd/pmd/issues/1809): \[dart] \[cpd] Parse error with escape sequences
+*   java
+    *   [#1842](https://github.com/pmd/pmd/issues/1842): \[java] Annotated module declarations cause parse error
+*   java-bestpractices
+    *   [#1738](https://github.com/pmd/pmd/issues/1738): \[java] MethodReturnsInternalArray does not work in inner classes
+*   java-codestyle
+    *   [#1495](https://github.com/pmd/pmd/issues/1495): \[java] Rule to detect overly verbose array initializiation
+    *   [#1684](https://github.com/pmd/pmd/issues/1684): \[java] Properly whitelist serialPersistentFields
+    *   [#1804](https://github.com/pmd/pmd/issues/1804): \[java] NPE in UnnecessaryLocalBeforeReturnRule
+*   python
+    *   [#1810](https://github.com/pmd/pmd/issues/1810): \[python] \[cpd] Parse error when using Python 2 backticks
+*   matlab
+    *   [#1830](https://github.com/pmd/pmd/issues/1830): \[matlab] \[cpd] Parse error with comments
+    *   [#1793](https://github.com/pmd/pmd/issues/1793): \[java] CommentDefaultAccessModifier not working for classes
+
+### API Changes
+
+#### Deprecated APIs
+
+##### For removal
+
+*   The `DumpFacades` in all languages, that could be used to transform a AST into a textual representation,
+    will be removed with PMD 7. The rule designer is a better way to inspect nodes.
+    *   [`net.sourceforge.pmd.lang.apex.ast.DumpFacade`](https://javadoc.io/page/net.sourceforge.pmd/pmd-apex/6.15.0/net/sourceforge/pmd/lang/apex/ast/DumpFacade.html#)
+    *   [`net.sourceforge.pmd.lang.java.ast.DumpFacade`](https://javadoc.io/page/net.sourceforge.pmd/pmd-java/6.15.0/net/sourceforge/pmd/lang/java/ast/DumpFacade.html#)
+    *   [`net.sourceforge.pmd.lang.ecmascript.ast.DumpFacade`](https://javadoc.io/page/net.sourceforge.pmd/pmd-javascript/6.15.0/net/sourceforge/pmd/lang/ecmascript/ast/DumpFacade.html#)
+    *   [`net.sourceforge.pmd.lang.jsp.ast.DumpFacade`](https://javadoc.io/page/net.sourceforge.pmd/pmd-jsp/6.15.0/net/sourceforge/pmd/lang/jsp/ast/DumpFacade.html#)
+    *   [`net.sourceforge.pmd.lang.plsql.ast.DumpFacade`](https://javadoc.io/page/net.sourceforge.pmd/pmd-plsql/6.15.0/net/sourceforge/pmd/lang/plsql/ast/DumpFacade.html#)
+    *   [`net.sourceforge.pmd.lang.vf.ast.DumpFacade`](https://javadoc.io/page/net.sourceforge.pmd/pmd-visualforce/6.15.0/net/sourceforge/pmd/lang/vf/ast/DumpFacade.html#)
+    *   [`net.sourceforge.pmd.lang.vm.ast.AbstractVmNode#dump`](https://javadoc.io/page/net.sourceforge.pmd/pmd-vm/6.15.0/net/sourceforge/pmd/lang/vm/ast/AbstractVmNode.html#dump(String,boolean,Writer))
+    *   [`net.sourceforge.pmd.lang.xml.ast.DumpFacade`](https://javadoc.io/page/net.sourceforge.pmd/pmd-xml/6.15.0/net/sourceforge/pmd/lang/xml/ast/DumpFacade.html#)
+*   The method [`LanguageVersionHandler#getDumpFacade`](https://javadoc.io/page/net.sourceforge.pmd/pmd-core/6.15.0/net/sourceforge/pmd/lang/LanguageVersionHandler.html#getDumpFacade(Writer,String,boolean)) will be
+    removed as well. It is deprecated, along with all its implementations in the subclasses of [`LanguageVersionHandler`](https://javadoc.io/page/net.sourceforge.pmd/pmd-core/6.15.0/net/sourceforge/pmd/lang/LanguageVersionHandler.html#).
+
+### External Contributions
+
+*   [#1647](https://github.com/pmd/pmd/pull/1647): \[java] Rule to detect overly verbose array initialization - [Victor](https://github.com/IDoCodingStuffs)
+*   [#1762](https://github.com/pmd/pmd/pull/1762): \[java] LoggerIsNotStaticFinal and ProperLogger - make class-name configurable - [Ivo Šmíd](https://github.com/bedla)
+*   [#1798](https://github.com/pmd/pmd/pull/1798): \[java] Make CommentDefaultAccessModifier work for top-level classes - [Boris Petrov](https://github.com/boris-petrov)
+*   [#1799](https://github.com/pmd/pmd/pull/1799): \[java] MethodReturnsInternalArray does not work in inner classes - Fixed #1738 - [Srinivasan Venkatachalam](https://github.com/Srini1993)
+*   [#1802](https://github.com/pmd/pmd/pull/1802): \[python] \[cpd] Add support for Python 2 backticks - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1803](https://github.com/pmd/pmd/pull/1803): \[dart] \[cpd] Dart escape sequences - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1807](https://github.com/pmd/pmd/pull/1807): \[ci] Fix missing local branch issues when executing pmd-regression-tester - [BBG](https://github.com/djydewang)
+*   [#1813](https://github.com/pmd/pmd/pull/1813): \[matlab] \[cpd] Matlab comments - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1816](https://github.com/pmd/pmd/pull/1816): \[apex] Fix ApexDoc handling with inner classes - [Jeff Hube](https://github.com/jeffhube)
+*   [#1817](https://github.com/pmd/pmd/pull/1817): \[apex] Add configurable naming convention rules - [Jeff Hube](https://github.com/jeffhube)
+*   [#1819](https://github.com/pmd/pmd/pull/1819): \[cpp] \[cpd] Add support for digit separators - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1820](https://github.com/pmd/pmd/pull/1820): \[cpp] \[cpd] Improve support for raw string literals - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1821](https://github.com/pmd/pmd/pull/1821): \[matlab] \[cpd] Matlab question mark token - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1822](https://github.com/pmd/pmd/pull/1822): \[matlab] \[cpd] Double quoted string - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1837](https://github.com/pmd/pmd/pull/1837): \[core] Minor performance improvements - [Michael Hausegger](https://github.com/TheRealHaui)
+*   [#1838](https://github.com/pmd/pmd/pull/1838): \[dart] [cpd] Improved string tokenization - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1840](https://github.com/pmd/pmd/pull/1840): \[java] Whitelist serialPersistentFields - [Marcel Härle](https://github.com/marcelhaerle)
+
 ## 28-April-2019 - 6.14.0
 
 The PMD team is pleased to announce PMD 6.14.0.

From c28c34e2f8d4c2f1dac838400cfb81aaab760bc4 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 26 May 2019 11:38:42 +0200
Subject: [PATCH 144/371] Dogfooding - use PMD 6.15.0

---
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index 3f5d66ef8d..7efbb21f56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -543,12 +543,12 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
                         <dependency>
                             <groupId>net.sourceforge.pmd</groupId>
                             <artifactId>pmd-core</artifactId>
-                            <version>6.14.0</version>
+                            <version>6.15.0</version>
                         </dependency>
                         <dependency>
                             <groupId>net.sourceforge.pmd</groupId>
                             <artifactId>pmd-java</artifactId>
-                            <version>6.14.0</version>
+                            <version>6.15.0</version>
                         </dependency>
                         <!-- This contains the dogfood ruleset -->
                         <dependency>

From 8a57f3fdcae94b06b2d404e0d0ce74fc140dd3fb Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Mon, 27 May 2019 20:28:04 +0200
Subject: [PATCH 145/371] [plsql] Parentheses stopped working Fixes #1828

---
 docs/pages/release_notes.md                        |  3 +++
 pmd-plsql/etc/grammar/PldocAST.jjt                 |  6 +++---
 .../pmd/lang/plsql/ast/WhereClauseTest.java        |  7 +++++++
 .../pmd/lang/plsql/ast/WhereClauseParens.pls       | 14 ++++++++++++++
 4 files changed, 27 insertions(+), 3 deletions(-)
 create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..ccaac17f97 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,6 +16,9 @@ This is a {{ site.pmd.release_type }} release.
 
 ### Fixed Issues
 
+*   plsql
+    *   [#1828](https://github.com/pmd/pmd/issues/1828): \[plsql] Parentheses stopped working
+
 ### API Changes
 
 ### External Contributions
diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 19b8548887..8921ebf4e5 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1440,11 +1440,11 @@ ASTCompoundCondition CompoundCondition() :
 {}
 {
  (
-    LOOKAHEAD(3) "(" Condition() ")" (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
+   LOOKAHEAD(1) "(" Condition() ")" (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
  |
-    LOOKAHEAD(3) <NOT> { jjtThis.setType(token.getImage()); } Condition()
+   LOOKAHEAD(1) <NOT> { jjtThis.setType(token.getImage()); } Condition()
  |
-    LOOKAHEAD(3) Condition2() (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
+    Condition2() (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
  )
     { return jjtThis; }
 }
diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/WhereClauseTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/WhereClauseTest.java
index 12fc655ca3..038fa3e5e6 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/WhereClauseTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/WhereClauseTest.java
@@ -104,4 +104,11 @@ public class WhereClauseTest extends AbstractPLSQLParserTst {
                 StandardCharsets.UTF_8);
         ASTInput input = parsePLSQL(code);
     }
+
+    @Test
+    public void testParentheses() throws Exception {
+        String code = IOUtils.toString(this.getClass().getResourceAsStream("WhereClauseParens.pls"),
+                StandardCharsets.UTF_8);
+        parsePLSQL(code);
+    }
 }
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls
new file mode 100644
index 0000000000..23b902bc56
--- /dev/null
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls
@@ -0,0 +1,14 @@
+--
+-- Where Clause With Parentheses
+-- See https://github.com/pmd/pmd/issues/1828
+--
+
+BEGIN
+
+select *
+from dual
+where (dummy = X or 1 = 2)
+and 1=1;
+
+END;
+/

From 3e66d232d712e31de141c9ed725e4c7b8bd59c13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 28 May 2019 21:02:42 +0200
Subject: [PATCH 146/371] Deprecate AST constructors

---
 .../lang/java/ast/ASTAdditiveExpression.java  |  7 +++++++
 .../java/ast/ASTAllocationExpression.java     |  5 +++++
 .../pmd/lang/java/ast/ASTAndExpression.java   |  7 +++++++
 .../pmd/lang/java/ast/ASTAnnotation.java      | 19 ++++++++++++-------
 .../ast/ASTAnnotationMethodDeclaration.java   |  7 +++++++
 .../lang/java/ast/ASTAnnotationTypeBody.java  |  7 +++++++
 .../ast/ASTAnnotationTypeDeclaration.java     |  6 ++++++
 .../ASTAnnotationTypeMemberDeclaration.java   |  7 +++++++
 .../pmd/lang/java/ast/ASTArgumentList.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTArguments.java       |  7 +++++++
 .../lang/java/ast/ASTArrayDimsAndInits.java   |  7 +++++++
 .../lang/java/ast/ASTArrayInitializer.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTAssertStatement.java |  7 +++++++
 .../lang/java/ast/ASTAssignmentOperator.java  |  7 +++++++
 .../pmd/lang/java/ast/ASTBlock.java           |  6 ++++++
 .../pmd/lang/java/ast/ASTBlockStatement.java  |  9 ++++++++-
 .../pmd/lang/java/ast/ASTBooleanLiteral.java  |  6 ++++++
 .../pmd/lang/java/ast/ASTBreakStatement.java  |  7 +++++++
 .../pmd/lang/java/ast/ASTCastExpression.java  |  7 +++++++
 .../pmd/lang/java/ast/ASTCatchStatement.java  |  7 +++++++
 .../java/ast/ASTClassOrInterfaceBody.java     |  7 +++++++
 .../ASTClassOrInterfaceBodyDeclaration.java   |  5 +++++
 .../ast/ASTClassOrInterfaceDeclaration.java   | 12 ++++++++----
 .../java/ast/ASTClassOrInterfaceType.java     |  9 +++++++--
 .../pmd/lang/java/ast/ASTCompilationUnit.java |  5 +++++
 .../java/ast/ASTConditionalAndExpression.java |  7 +++++++
 .../java/ast/ASTConditionalExpression.java    |  6 +++++-
 .../java/ast/ASTConditionalOrExpression.java  |  7 +++++++
 .../java/ast/ASTConstructorDeclaration.java   |  6 ++++++
 .../lang/java/ast/ASTContinueStatement.java   |  7 +++++++
 .../pmd/lang/java/ast/ASTDefaultValue.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTEmptyStatement.java  |  7 +++++++
 .../pmd/lang/java/ast/ASTEnumBody.java        |  7 +++++++
 .../pmd/lang/java/ast/ASTEnumConstant.java    |  5 +++++
 .../pmd/lang/java/ast/ASTEnumDeclaration.java |  6 ++++++
 .../lang/java/ast/ASTEqualityExpression.java  |  7 +++++++
 .../java/ast/ASTExclusiveOrExpression.java    |  7 +++++++
 .../ast/ASTExplicitConstructorInvocation.java |  6 ++++++
 .../pmd/lang/java/ast/ASTExpression.java      |  9 ++++++++-
 .../pmd/lang/java/ast/ASTExtendsList.java     |  7 +++++++
 .../lang/java/ast/ASTFieldDeclaration.java    | 19 +++++++++++--------
 .../lang/java/ast/ASTFinallyStatement.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTForInit.java         |  7 +++++++
 .../pmd/lang/java/ast/ASTForStatement.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTFormalParameter.java |  9 +++++++--
 .../lang/java/ast/ASTFormalParameters.java    |  9 ++++++++-
 .../pmd/lang/java/ast/ASTImplementsList.java  |  7 +++++++
 .../lang/java/ast/ASTImportDeclaration.java   |  7 ++++++-
 .../java/ast/ASTInclusiveOrExpression.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTInitializer.java     |  6 ++++++
 .../java/ast/ASTInstanceOfExpression.java     |  7 +++++++
 .../lang/java/ast/ASTLabeledStatement.java    |  7 +++++++
 .../lang/java/ast/ASTLambdaExpression.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTLiteral.java         |  8 +++++++-
 .../java/ast/ASTLocalVariableDeclaration.java | 16 ++++++++++++----
 .../lang/java/ast/ASTMarkerAnnotation.java    |  6 ++++++
 .../pmd/lang/java/ast/ASTMemberSelector.java  |  7 +++++++
 .../pmd/lang/java/ast/ASTMemberValue.java     |  7 +++++++
 .../ast/ASTMemberValueArrayInitializer.java   |  9 +++++++--
 .../pmd/lang/java/ast/ASTMemberValuePair.java |  7 +++++++
 .../lang/java/ast/ASTMemberValuePairs.java    |  7 +++++++
 .../lang/java/ast/ASTMethodDeclaration.java   |  8 ++++++--
 .../lang/java/ast/ASTMethodDeclarator.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTMethodReference.java |  7 +++++++
 .../lang/java/ast/ASTModuleDeclaration.java   |  7 +++++++
 .../pmd/lang/java/ast/ASTModuleDirective.java |  7 +++++++
 .../pmd/lang/java/ast/ASTModuleName.java      |  7 +++++++
 .../java/ast/ASTMultiplicativeExpression.java |  7 +++++++
 .../pmd/lang/java/ast/ASTName.java            |  5 +++++
 .../pmd/lang/java/ast/ASTNameList.java        |  7 +++++++
 .../lang/java/ast/ASTNormalAnnotation.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTNullLiteral.java     |  7 +++++++
 .../lang/java/ast/ASTPackageDeclaration.java  |  7 +++++++
 .../lang/java/ast/ASTPostfixExpression.java   |  6 ++++++
 .../java/ast/ASTPreDecrementExpression.java   |  7 +++++++
 .../java/ast/ASTPreIncrementExpression.java   |  7 +++++++
 .../lang/java/ast/ASTPrimaryExpression.java   |  7 +++++++
 .../pmd/lang/java/ast/ASTPrimaryPrefix.java   |  6 ++++++
 .../pmd/lang/java/ast/ASTPrimarySuffix.java   |  8 +++++++-
 .../pmd/lang/java/ast/ASTPrimitiveType.java   |  6 ++++++
 .../pmd/lang/java/ast/ASTRSIGNEDSHIFT.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTRUNSIGNEDSHIFT.java  |  7 +++++++
 .../pmd/lang/java/ast/ASTReferenceType.java   |  7 ++++++-
 .../java/ast/ASTRelationalExpression.java     |  7 +++++++
 .../pmd/lang/java/ast/ASTResource.java        |  7 +++++++
 .../java/ast/ASTResourceSpecification.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTResources.java       |  7 +++++++
 .../pmd/lang/java/ast/ASTResultType.java      |  7 +++++++
 .../pmd/lang/java/ast/ASTReturnStatement.java |  7 +++++++
 .../pmd/lang/java/ast/ASTShiftExpression.java | 10 +++++++++-
 .../java/ast/ASTSingleMemberAnnotation.java   |  7 +++++++
 .../pmd/lang/java/ast/ASTStatement.java       |  7 +++++++
 .../lang/java/ast/ASTStatementExpression.java |  7 +++++++
 .../java/ast/ASTStatementExpressionList.java  |  7 +++++++
 .../lang/java/ast/ASTSwitchExpression.java    |  7 +++++++
 .../lang/java/ast/ASTSwitchLabeledBlock.java  |  6 ++++++
 .../java/ast/ASTSwitchLabeledExpression.java  |  6 ++++++
 .../ast/ASTSwitchLabeledThrowStatement.java   |  6 ++++++
 .../pmd/lang/java/ast/ASTSwitchStatement.java |  7 +++++++
 .../java/ast/ASTSynchronizedStatement.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTThrowStatement.java  |  9 ++++++++-
 .../pmd/lang/java/ast/ASTTryStatement.java    |  6 ++++++
 .../pmd/lang/java/ast/ASTType.java            | 11 ++++++++---
 .../pmd/lang/java/ast/ASTTypeArgument.java    |  7 +++++++
 .../pmd/lang/java/ast/ASTTypeArguments.java   |  8 +++++++-
 .../pmd/lang/java/ast/ASTTypeBound.java       |  7 +++++++
 .../pmd/lang/java/ast/ASTTypeDeclaration.java |  6 ++++++
 .../pmd/lang/java/ast/ASTTypeParameter.java   |  9 ++++++++-
 .../pmd/lang/java/ast/ASTTypeParameters.java  |  9 +++++++--
 .../pmd/lang/java/ast/ASTUnaryExpression.java |  7 +++++++
 .../ast/ASTUnaryExpressionNotPlusMinus.java   |  7 +++++++
 .../lang/java/ast/ASTVariableDeclarator.java  |  6 ++++++
 .../java/ast/ASTVariableDeclaratorId.java     | 15 +++++++++++----
 .../lang/java/ast/ASTVariableInitializer.java |  7 +++++++
 .../pmd/lang/java/ast/ASTWildcardBounds.java  |  7 +++++++
 .../pmd/lang/java/ast/package-info.java       | 10 ++++++++++
 116 files changed, 810 insertions(+), 52 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAdditiveExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAdditiveExpression.java
index 2e7d65ba2c..ecb80ee0c1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAdditiveExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAdditiveExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents an addition operation on two or more values, or string concatenation.
  * This has a precedence greater than {@link ASTShiftExpression}, and lower
@@ -20,10 +22,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTAdditiveExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTAdditiveExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTAdditiveExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java
index 3ea7ef08ec..2c23d3b9e1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java
@@ -5,6 +5,7 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.java.qname.JavaTypeQualifiedName;
 
 
@@ -12,10 +13,14 @@ public class ASTAllocationExpression extends AbstractJavaTypeNode implements Jav
 
     private JavaTypeQualifiedName qualifiedName;
 
+    @InternalApi
+    @Deprecated
     public ASTAllocationExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTAllocationExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAndExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAndExpression.java
index 7ef18ae1e4..e407f21f38 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAndExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAndExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a non-shortcut boolean AND-expression.
  * This has a precedence greater than {@link ASTExclusiveOrExpression},
@@ -21,10 +23,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTAndExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTAndExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTAndExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotation.java
index 4c083b8c7f..ccbe1478ea 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotation.java
@@ -9,6 +9,7 @@ import java.util.Arrays;
 import java.util.List;
 
 import net.sourceforge.pmd.Rule;
+import net.sourceforge.pmd.annotation.InternalApi;
 
 
 /**
@@ -22,19 +23,22 @@ import net.sourceforge.pmd.Rule;
  *              | {@linkplain ASTMarkerAnnotation MarkerAnnotation}
  *
  * </pre>
- *
  */
 public class ASTAnnotation extends AbstractJavaTypeNode {
 
     private static final List<String> UNUSED_RULES
-            = Arrays.asList("UnusedPrivateField", "UnusedLocalVariable", "UnusedPrivateMethod", "UnusedFormalParameter");
+        = Arrays.asList("UnusedPrivateField", "UnusedLocalVariable", "UnusedPrivateMethod", "UnusedFormalParameter");
 
     private static final List<String> SERIAL_RULES = Arrays.asList("BeanMembersShouldSerialize", "MissingSerialVersionUID");
 
+    @InternalApi
+    @Deprecated
     public ASTAnnotation(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTAnnotation(JavaParser p, int id) {
         super(p, id);
     }
@@ -82,10 +86,10 @@ public class ASTAnnotation extends AbstractJavaTypeNode {
         if (isSuppressWarnings()) {
             for (ASTLiteral element : findDescendantsOfType(ASTLiteral.class)) {
                 if (element.hasImageEqualTo("\"PMD\"") || element.hasImageEqualTo("\"PMD." + rule.getName() + "\"")
-                        // Check for standard annotations values
-                        || element.hasImageEqualTo("\"all\"")
-                        || element.hasImageEqualTo("\"serial\"") && SERIAL_RULES.contains(rule.getName())
-                        || element.hasImageEqualTo("\"unused\"") && UNUSED_RULES.contains(rule.getName())) {
+                    // Check for standard annotations values
+                    || element.hasImageEqualTo("\"all\"")
+                    || element.hasImageEqualTo("\"serial\"") && SERIAL_RULES.contains(rule.getName())
+                    || element.hasImageEqualTo("\"unused\"") && UNUSED_RULES.contains(rule.getName())) {
                     return true;
                 }
             }
@@ -96,7 +100,8 @@ public class ASTAnnotation extends AbstractJavaTypeNode {
 
 
     private boolean isSuppressWarnings() {
-        return "SuppressWarnings".equals(getAnnotationName()) || "java.lang.SuppressWarnings".equals(getAnnotationName());
+        return "SuppressWarnings".equals(getAnnotationName())
+            || "java.lang.SuppressWarnings".equals(getAnnotationName());
     }
 
     @Override
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java
index 9b59f1d688..7b461b5fd7 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java
@@ -6,11 +6,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTAnnotationMethodDeclaration extends AbstractMethodLikeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTAnnotationMethodDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTAnnotationMethodDeclaration(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeBody.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeBody.java
index cf98a6be87..090859402a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeBody.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeBody.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTAnnotationTypeBody extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTAnnotationTypeBody(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTAnnotationTypeBody(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java
index 77d33ded7d..6ee9624214 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java
@@ -7,13 +7,19 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.List;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTAnnotationTypeDeclaration extends AbstractAnyTypeDeclaration {
 
 
+    @InternalApi
+    @Deprecated
     public ASTAnnotationTypeDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTAnnotationTypeDeclaration(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeMemberDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeMemberDeclaration.java
index 328f06ec88..d4a2a7ec45 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeMemberDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeMemberDeclaration.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTAnnotationTypeMemberDeclaration extends AbstractTypeBodyDeclaration {
+
+    @InternalApi
+    @Deprecated
     public ASTAnnotationTypeMemberDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTAnnotationTypeMemberDeclaration(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArgumentList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArgumentList.java
index cc2faea91a..8c1ecb24ab 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArgumentList.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArgumentList.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTArgumentList extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTArgumentList(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTArgumentList(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArguments.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArguments.java
index a2edc5094f..cd4aabee54 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArguments.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArguments.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTArguments extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTArguments(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTArguments(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayDimsAndInits.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayDimsAndInits.java
index 29425c8ddc..40e691cf8d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayDimsAndInits.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayDimsAndInits.java
@@ -5,13 +5,20 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTArrayDimsAndInits extends AbstractJavaNode implements Dimensionable {
+
     private int arrayDepth;
 
+    @InternalApi
+    @Deprecated
     public ASTArrayDimsAndInits(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTArrayDimsAndInits(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayInitializer.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayInitializer.java
index d4f28d307c..f41d75c372 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayInitializer.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayInitializer.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTArrayInitializer extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTArrayInitializer(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTArrayInitializer(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssertStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssertStatement.java
index 063a3455e6..017ab9bc2b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssertStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssertStatement.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents an {@code assert} statement.
  *
@@ -15,10 +17,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTAssertStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTAssertStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTAssertStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java
index 7d7dcf4b59..b9be287e91 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents an assignment operator in an {@linkplain ASTExpression assignment expression}.
  *
@@ -15,12 +17,17 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTAssignmentOperator extends AbstractJavaNode {
+
     private boolean isCompound;
 
+    @InternalApi
+    @Deprecated
     public ASTAssignmentOperator(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTAssignmentOperator(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java
index 068055f371..d4a73027a9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java
@@ -5,14 +5,20 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTBlock extends AbstractJavaNode {
 
     private boolean containsComment;
 
+    @InternalApi
+    @Deprecated
     public ASTBlock(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTBlock(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlockStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlockStatement.java
index 751adccf05..aa7aa32cdf 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlockStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlockStatement.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTBlockStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTBlockStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTBlockStatement(JavaParser p, int id) {
         super(p, id);
     }
@@ -26,7 +33,7 @@ public class ASTBlockStatement extends AbstractJavaNode {
      * Tells if this BlockStatement is an allocation statement. This is done by
      *
      * @return the result of
-     *         containsDescendantOfType(ASTAllocationExpression.class)
+     *     containsDescendantOfType(ASTAllocationExpression.class)
      */
     public final boolean isAllocation() {
         return hasDescendantOfType(ASTAllocationExpression.class);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java
index 51de616265..e0b8761e04 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java
@@ -5,14 +5,20 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTBooleanLiteral extends AbstractJavaTypeNode {
 
     private boolean isTrue;
 
+    @InternalApi
+    @Deprecated
     public ASTBooleanLiteral(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTBooleanLiteral(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBreakStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBreakStatement.java
index 59aef78bbf..725fc2ffa0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBreakStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBreakStatement.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTBreakStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTBreakStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTBreakStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java
index 1191ffa928..e7b88697d8 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java
@@ -5,13 +5,20 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTCastExpression extends AbstractJavaTypeNode {
+
     private boolean intersectionTypes = false;
 
+    @InternalApi
+    @Deprecated
     public ASTCastExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTCastExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCatchStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCatchStatement.java
index 200a2bbc51..3f8559c62a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCatchStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCatchStatement.java
@@ -8,6 +8,8 @@ package net.sourceforge.pmd.lang.java.ast;
 import java.util.ArrayList;
 import java.util.List;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * Catch statement node.
@@ -16,10 +18,15 @@ import java.util.List;
  * </pre>
  */
 public class ASTCatchStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTCatchStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTCatchStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java
index 838ee1b1b8..b6d6429383 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents the body of a {@linkplain ASTClassOrInterfaceDeclaration class or interface declaration}.
  * This includes anonymous classes, including those defined within an {@linkplain ASTEnumConstant enum constant}.
@@ -16,10 +18,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTClassOrInterfaceBody extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTClassOrInterfaceBody(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTClassOrInterfaceBody(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBodyDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBodyDeclaration.java
index 7d850bf70e..11dd3d280d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBodyDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBodyDeclaration.java
@@ -6,13 +6,18 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 import net.sourceforge.pmd.Rule;
+import net.sourceforge.pmd.annotation.InternalApi;
 
 public class ASTClassOrInterfaceBodyDeclaration extends AbstractTypeBodyDeclaration implements CanSuppressWarnings, ASTAnyTypeBodyDeclaration {
 
+    @InternalApi
+    @Deprecated
     public ASTClassOrInterfaceBodyDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTClassOrInterfaceBodyDeclaration(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
index 9f1ed15a26..afcb9af708 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
@@ -8,6 +8,7 @@ package net.sourceforge.pmd.lang.java.ast;
 import java.util.Collections;
 import java.util.List;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.util.CollectionUtil;
 
@@ -25,7 +26,6 @@ import net.sourceforge.pmd.util.CollectionUtil;
  *                                 {@linkplain ASTImplementsList ImplementsList}?
  *                                 {@linkplain ASTClassOrInterfaceBody ClassOrInterfaceBody}
  * </pre>
- *
  */
 public class ASTClassOrInterfaceDeclaration extends AbstractAnyTypeDeclaration {
 
@@ -34,10 +34,14 @@ public class ASTClassOrInterfaceDeclaration extends AbstractAnyTypeDeclaration {
 
     private boolean isInterface;
 
+    @InternalApi
+    @Deprecated
     public ASTClassOrInterfaceDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTClassOrInterfaceDeclaration(JavaParser p, int id) {
         super(p, id);
     }
@@ -68,7 +72,7 @@ public class ASTClassOrInterfaceDeclaration extends AbstractAnyTypeDeclaration {
                     isLocal = false;
                     break;
                 } else if (current instanceof ASTMethodOrConstructorDeclaration
-                        || current instanceof ASTInitializer) {
+                    || current instanceof ASTInitializer) {
                     isLocal = true;
                     break;
                 }
@@ -128,8 +132,8 @@ public class ASTClassOrInterfaceDeclaration extends AbstractAnyTypeDeclaration {
     public List<ASTClassOrInterfaceType> getSuperInterfacesTypeNodes() {
 
         Iterable<ASTClassOrInterfaceType> it = isInterface()
-                ? getFirstChildOfType(ASTExtendsList.class)
-                : getFirstChildOfType(ASTImplementsList.class);
+                                               ? getFirstChildOfType(ASTExtendsList.class)
+                                               : getFirstChildOfType(ASTImplementsList.class);
 
         return it == null ? Collections.<ASTClassOrInterfaceType>emptyList() : CollectionUtil.toList(it.iterator());
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceType.java
index 43f3697f28..addd8d337b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceType.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceType.java
@@ -5,6 +5,7 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.Node;
 
 
@@ -16,13 +17,17 @@ import net.sourceforge.pmd.lang.ast.Node;
  * ClassOrInterfaceType ::= &lt;IDENTIFIER&gt; {@linkplain ASTTypeArguments TypeArguments}? ( "." &lt;IDENTIFIER&gt;  {@linkplain ASTTypeArguments TypeArguments}? )*
  *
  * </pre>
- *
  */
 public class ASTClassOrInterfaceType extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTClassOrInterfaceType(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTClassOrInterfaceType(JavaParser p, int id) {
         super(p, id);
     }
@@ -38,7 +43,7 @@ public class ASTClassOrInterfaceType extends AbstractJavaTypeNode {
      * to check this, if {@link #getType()} is null.
      *
      * @return <code>true</code> if this node referencing a type in the same
-     *         compilation unit, <code>false</code> otherwise.
+     *     compilation unit, <code>false</code> otherwise.
      */
     public boolean isReferenceToClassSameCompilationUnit() {
         ASTCompilationUnit root = getFirstParentOfType(ASTCompilationUnit.class);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java
index cd9dc453db..b99a9762ba 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java
@@ -7,6 +7,7 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.List;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.ast.RootNode;
 import net.sourceforge.pmd.lang.java.typeresolution.ClassTypeResolver;
@@ -17,10 +18,14 @@ public class ASTCompilationUnit extends AbstractJavaTypeNode implements RootNode
     private ClassTypeResolver classTypeResolver;
     private List<Comment> comments;
 
+    @InternalApi
+    @Deprecated
     public ASTCompilationUnit(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTCompilationUnit(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalAndExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalAndExpression.java
index 600f1b2fe4..c31a4f9a17 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalAndExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalAndExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a boolean AND-expression. This has a precedence greater than {@link ASTConditionalOrExpression},
  * and lower than {@link ASTInclusiveOrExpression}.
@@ -20,11 +22,16 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTConditionalAndExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTConditionalAndExpression(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTConditionalAndExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
index 10611ea064..e6cc2ac1ba 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
@@ -5,6 +5,7 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.Node;
 
 
@@ -21,15 +22,18 @@ import net.sourceforge.pmd.lang.ast.Node;
  * ConditionalExpression ::= {@linkplain ASTConditionalOrExpression ConditionalOrExpression} "?"  {@linkplain ASTExpression Expression} ":" {@linkplain ASTConditionalExpression ConditionalExpression}
  *
  * </pre>
- *
  */
 public class ASTConditionalExpression extends AbstractJavaTypeNode {
 
 
+    @InternalApi
+    @Deprecated
     public ASTConditionalExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTConditionalExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalOrExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalOrExpression.java
index b32ae06d7c..515f298a6b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalOrExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalOrExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a boolean OR-expression. This has a precedence greater than {@link ASTConditionalExpression},
  * and lower than {@link ASTConditionalAndExpression}.
@@ -20,10 +22,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTConditionalOrExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTConditionalOrExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTConditionalOrExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java
index 5ab9b36724..a8f19da4b4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java
@@ -6,14 +6,20 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTConstructorDeclaration extends AbstractMethodOrConstructorDeclaration {
 
     private boolean containsComment;
 
+    @InternalApi
+    @Deprecated
     public ASTConstructorDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTConstructorDeclaration(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTContinueStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTContinueStatement.java
index 05d96f2b71..4bb9013f0d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTContinueStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTContinueStatement.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTContinueStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTContinueStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTContinueStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDefaultValue.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDefaultValue.java
index c5bb40c2af..8550000cce 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDefaultValue.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDefaultValue.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTDefaultValue extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTDefaultValue(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTDefaultValue(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEmptyStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEmptyStatement.java
index 1260eeba11..066b846c5c 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEmptyStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEmptyStatement.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTEmptyStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTEmptyStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTEmptyStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumBody.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumBody.java
index a722f66103..98956d2e17 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumBody.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumBody.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTEnumBody extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTEnumBody(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTEnumBody(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java
index 30c6337921..1a65f9b1a0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java
@@ -5,6 +5,7 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.java.qname.JavaTypeQualifiedName;
 
 
@@ -23,10 +24,14 @@ public class ASTEnumConstant extends AbstractJavaNode implements JavaQualifiable
 
     private JavaTypeQualifiedName qualifiedName;
 
+    @InternalApi
+    @Deprecated
     public ASTEnumConstant(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTEnumConstant(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumDeclaration.java
index bc22a66125..825f0a2be3 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumDeclaration.java
@@ -7,13 +7,19 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.List;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTEnumDeclaration extends AbstractAnyTypeDeclaration {
 
 
+    @InternalApi
+    @Deprecated
     public ASTEnumDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTEnumDeclaration(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEqualityExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEqualityExpression.java
index b1bfead648..b65da06bd1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEqualityExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEqualityExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents an identity test between two values or more values.
  * This has a precedence greater than {@link ASTAndExpression},
@@ -21,10 +23,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTEqualityExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTEqualityExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTEqualityExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExclusiveOrExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExclusiveOrExpression.java
index 52afcd4f97..f2700dbd82 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExclusiveOrExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExclusiveOrExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a boolean XOR-expression. This has a precedence greater than {@link ASTInclusiveOrExpression},
  * and lower than {@link ASTAndExpression}.
@@ -20,10 +22,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTExclusiveOrExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTExclusiveOrExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTExclusiveOrExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java
index 2343e1115d..3b99ef6da9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java
@@ -5,14 +5,20 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTExplicitConstructorInvocation extends AbstractJavaNode {
 
     private String thisOrSuper;
 
+    @InternalApi
+    @Deprecated
     public ASTExplicitConstructorInvocation(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTExplicitConstructorInvocation(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExpression.java
index eb2e539fff..1c9366d4cc 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents an expression, in the most general sense.
  * This corresponds roughly to the <a href="https://docs.oracle.com/javase/specs/jls/se9/html/jls-15.html#jls-AssignmentExpression">AssignmentExpression</a>
@@ -18,10 +20,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTExpression(JavaParser p, int id) {
         super(p, id);
     }
@@ -56,6 +63,6 @@ public class ASTExpression extends AbstractJavaTypeNode {
         // if it is not a string literal and not a null, then it is one of
         // byte, short, char, int, long, float, double, boolean
         return literal != null && !literal.isStringLiteral()
-                && (literal.jjtGetNumChildren() == 0 || !(literal.jjtGetChild(0) instanceof ASTNullLiteral));
+            && (literal.jjtGetNumChildren() == 0 || !(literal.jjtGetChild(0) instanceof ASTNullLiteral));
     }
 }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExtendsList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExtendsList.java
index fdcbd9147a..503831b07f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExtendsList.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExtendsList.java
@@ -7,6 +7,8 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.Iterator;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * Represents the {@code extends} clause of a class or interface declaration.
@@ -19,10 +21,15 @@ import java.util.Iterator;
  * </pre>
  */
 public class ASTExtendsList extends AbstractJavaNode implements Iterable<ASTClassOrInterfaceType> {
+
+    @InternalApi
+    @Deprecated
     public ASTExtendsList(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTExtendsList(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFieldDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFieldDeclaration.java
index 8df2589c9f..65cc796721 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFieldDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFieldDeclaration.java
@@ -7,6 +7,7 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.Iterator;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.SignedNode;
 import net.sourceforge.pmd.lang.java.multifile.signature.JavaFieldSignature;
 import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefinition;
@@ -15,7 +16,8 @@ import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefin
 /**
  * Represents a field declaration in the body of a type declaration.
  *
- * <p>This statement may define several variables, possibly of different types (see {@link ASTVariableDeclaratorId#getType()}).
+ * <p>This statement may define several variables, possibly of different types (see {@link
+ * ASTVariableDeclaratorId#getType()}).
  * The nodes corresponding to the declared variables are accessible through {@link #iterator()}.
  *
  * <p>{@link AccessNode} methods take into account the syntactic context of the
@@ -40,10 +42,14 @@ public class ASTFieldDeclaration extends AbstractJavaAccessTypeNode implements D
     private JavaFieldSignature signature;
 
 
+    @InternalApi
+    @Deprecated
     public ASTFieldDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTFieldDeclaration(JavaParser p, int id) {
         super(p, id);
     }
@@ -169,12 +175,10 @@ public class ASTFieldDeclaration extends AbstractJavaAccessTypeNode implements D
      * VariableDeclartorId node and returns its image or <code>null</code> if
      * the child node is not found.
      *
+     * @return a String representing the name of the variable
      *
      * @deprecated FieldDeclaration may declare several variables, so this is not exhaustive
-     *             Iterate on the {@linkplain ASTVariableDeclaratorId VariableDeclaratorIds} instead
-     *
-     *
-     * @return a String representing the name of the variable
+     *     Iterate on the {@linkplain ASTVariableDeclaratorId VariableDeclaratorIds} instead
      */
     @Deprecated
     public String getVariableName() {
@@ -208,7 +212,7 @@ public class ASTFieldDeclaration extends AbstractJavaAccessTypeNode implements D
 
     /**
      * @deprecated FieldDeclaration may declare several variables with a different type
-     *             It won't implement TypeNode anymore come 7.0.0
+     *     It won't implement TypeNode anymore come 7.0.0
      */
     @Override
     @Deprecated
@@ -218,9 +222,8 @@ public class ASTFieldDeclaration extends AbstractJavaAccessTypeNode implements D
 
 
     /**
-     *
      * @deprecated FieldDeclaration may declare several variables with a different type
-     *             It won't implement TypeNode anymore come 7.0.0
+     *     It won't implement TypeNode anymore come 7.0.0
      */
     @Override
     @Deprecated
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFinallyStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFinallyStatement.java
index afeb95910c..84f8be95de 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFinallyStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFinallyStatement.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTFinallyStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTFinallyStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTFinallyStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForInit.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForInit.java
index 99ed7f1dda..7d5e31c6e9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForInit.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForInit.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTForInit extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTForInit(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTForInit(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForStatement.java
index 30b1c8db29..7e6d85d1c5 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForStatement.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a {@code for}-loop, or a foreach loop.
  *
@@ -18,11 +20,16 @@ package net.sourceforge.pmd.lang.java.ast;
 // TODO this should be split into two different nodes, otherwise
 // we can't enrich the API without returning null half the time
 public class ASTForStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTForStatement(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTForStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
index 7411d22922..27951a1d91 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
@@ -6,6 +6,7 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 import net.sourceforge.pmd.Rule;
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefinition;
 
 
@@ -23,10 +24,14 @@ public class ASTFormalParameter extends AbstractJavaAccessTypeNode implements Di
 
     private boolean isVarargs;
 
+    @InternalApi
+    @Deprecated
     public ASTFormalParameter(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTFormalParameter(JavaParser p, int id) {
         super(p, id);
     }
@@ -106,8 +111,8 @@ public class ASTFormalParameter extends AbstractJavaAccessTypeNode implements Di
     @Deprecated
     public boolean isArray() {
         return isVarargs()
-                || getTypeNode() != null && getTypeNode().isArray()
-                || getVariableDeclaratorId().isArray();
+            || getTypeNode() != null && getTypeNode().isArray()
+            || getVariableDeclaratorId().isArray();
     }
 
     @Override
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameters.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameters.java
index 57cc052d53..e8589c9afa 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameters.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameters.java
@@ -8,12 +8,19 @@ package net.sourceforge.pmd.lang.java.ast;
 import java.util.Iterator;
 import java.util.List;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 public class ASTFormalParameters extends AbstractJavaNode implements Iterable<ASTFormalParameter> {
+
+    @InternalApi
+    @Deprecated
     public ASTFormalParameters(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTFormalParameters(JavaParser p, int id) {
         super(p, id);
     }
@@ -21,7 +28,7 @@ public class ASTFormalParameters extends AbstractJavaNode implements Iterable<AS
     public int getParameterCount() {
         final List<ASTFormalParameter> parameters = findChildrenOfType(ASTFormalParameter.class);
         return !parameters.isEmpty() && parameters.get(0).isExplicitReceiverParameter()
-                ? parameters.size() - 1 : parameters.size();
+               ? parameters.size() - 1 : parameters.size();
     }
 
     /**
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImplementsList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImplementsList.java
index 3be6bf7b2f..1fecdf2ea4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImplementsList.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImplementsList.java
@@ -7,6 +7,8 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.Iterator;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * Represents the {@code implements} clause of a class declaration.
@@ -17,10 +19,15 @@ import java.util.Iterator;
  * </pre>
  */
 public class ASTImplementsList extends AbstractJavaNode implements Iterable<ASTClassOrInterfaceType> {
+
+    @InternalApi
+    @Deprecated
     public ASTImplementsList(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTImplementsList(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
index 326105a7df..99308c1777 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents an import declaration in a Java file.
  *
@@ -15,7 +17,6 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  *
  * @see <a href="https://docs.oracle.com/javase/specs/jls/se9/html/jls-7.html#jls-7.5">JLS 7.5</a>
- *
  */
 // TODO should this really be a type node?
 // E.g. for on-demand imports, what's the type of this node? There's no type name, just a package name
@@ -30,10 +31,14 @@ public class ASTImportDeclaration extends AbstractJavaTypeNode {
     private boolean isStatic;
     private Package pkg;
 
+    @InternalApi
+    @Deprecated
     public ASTImportDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTImportDeclaration(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInclusiveOrExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInclusiveOrExpression.java
index 73b3921df6..e55bcdf333 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInclusiveOrExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInclusiveOrExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a non-shortcut boolean OR-expression. This has a precedence
  * greater than {@link ASTConditionalAndExpression}, and lower than
@@ -21,11 +23,16 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTInclusiveOrExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTInclusiveOrExpression(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTInclusiveOrExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java
index 6b0e40d8d1..e524de327b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java
@@ -5,14 +5,20 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTInitializer extends AbstractJavaNode {
 
     private boolean isStatic;
 
+    @InternalApi
+    @Deprecated
     public ASTInitializer(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTInitializer(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInstanceOfExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInstanceOfExpression.java
index 89afd1fcbf..873719ecf4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInstanceOfExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInstanceOfExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a type test on an object. This has a precedence greater than {@link ASTEqualityExpression},
  * and lower than {@link ASTShiftExpression}. This has the same precedence as a {@link ASTRelationalExpression}.
@@ -20,11 +22,16 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTInstanceOfExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTInstanceOfExpression(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTInstanceOfExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLabeledStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLabeledStatement.java
index 17ad7e804b..e779f571ed 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLabeledStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLabeledStatement.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTLabeledStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTLabeledStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTLabeledStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java
index 0b35ac0316..7a31ac5386 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java
@@ -6,12 +6,19 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTLambdaExpression extends AbstractMethodLikeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTLambdaExpression(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTLambdaExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java
index 84931aa4d5..4cd30c4e75 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java
@@ -9,6 +9,8 @@ import java.math.BigInteger;
 import java.util.Locale;
 import java.util.regex.Pattern;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTLiteral extends AbstractJavaTypeNode {
 
     private boolean isInt;
@@ -21,12 +23,16 @@ public class ASTLiteral extends AbstractJavaTypeNode {
      * String.
      */
     private static final Pattern SINGLE_CHAR_ESCAPE_PATTERN = Pattern
-            .compile("^\"\\\\(([ntbrf\\\\'\\\"])|([0-7][0-7]?)|([0-3][0-7][0-7]))\"");
+        .compile("^\"\\\\(([ntbrf\\\\'\\\"])|([0-7][0-7]?)|([0-3][0-7][0-7]))\"");
 
+    @InternalApi
+    @Deprecated
     public ASTLiteral(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTLiteral(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLocalVariableDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLocalVariableDeclaration.java
index 2c4fb0687f..1cde17961a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLocalVariableDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLocalVariableDeclaration.java
@@ -8,6 +8,7 @@ package net.sourceforge.pmd.lang.java.ast;
 import java.util.Iterator;
 
 import net.sourceforge.pmd.Rule;
+import net.sourceforge.pmd.annotation.InternalApi;
 
 
 /**
@@ -15,7 +16,8 @@ import net.sourceforge.pmd.Rule;
  * but the node is also used in {@linkplain ASTForInit for-loop initialisers} and
  * {@linkplain ASTForStatement foreach statements}.
  *
- * <p>This statement may define several variables, possibly of different types (see {@link ASTVariableDeclaratorId#getType()}).
+ * <p>This statement may define several variables, possibly of different types (see {@link
+ * ASTVariableDeclaratorId#getType()}).
  * The nodes corresponding to the declared variables are accessible through {@link #iterator()}.
  *
  * <pre>
@@ -26,10 +28,14 @@ import net.sourceforge.pmd.Rule;
  */
 public class ASTLocalVariableDeclaration extends AbstractJavaAccessNode implements Dimensionable, CanSuppressWarnings, Iterable<ASTVariableDeclaratorId> {
 
+    @InternalApi
+    @Deprecated
     public ASTLocalVariableDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTLocalVariableDeclaration(JavaParser p, int id) {
         super(p, id);
     }
@@ -79,7 +85,9 @@ public class ASTLocalVariableDeclaration extends AbstractJavaAccessNode implemen
      * Gets the type node for this variable declaration statement.
      * With Java10 and local variable type inference, there might be
      * no type node at all.
+     *
      * @return The type node or <code>null</code>
+     *
      * @see #isTypeInferred()
      */
     public ASTType getTypeNode() {
@@ -107,10 +115,10 @@ public class ASTLocalVariableDeclaration extends AbstractJavaAccessNode implemen
      * VariableDeclartorId node and returns it's image or <code>null</code> if
      * the child node is not found.
      *
-     * @deprecated LocalVariableDeclaration may declare several variables, so this is not exhaustive
-     *             Iterate on the {@linkplain ASTVariableDeclaratorId VariableDeclaratorIds} instead
-     *
      * @return a String representing the name of the variable
+     *
+     * @deprecated LocalVariableDeclaration may declare several variables, so this is not exhaustive
+     *     Iterate on the {@linkplain ASTVariableDeclaratorId VariableDeclaratorIds} instead
      */
     // It would be nice to have a way to inform XPath users of the intended replacement
     // for a deprecated attribute. We may use another annotation for that.
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMarkerAnnotation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMarkerAnnotation.java
index c86b20ac6c..0ff205f6c0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMarkerAnnotation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMarkerAnnotation.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents an annotation with no declared member, e.g. {@code @Override}.
  *
@@ -19,11 +21,15 @@ package net.sourceforge.pmd.lang.java.ast;
  */
 public class ASTMarkerAnnotation extends AbstractJavaTypeNode {
 
+    @InternalApi
+    @Deprecated
     public ASTMarkerAnnotation(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTMarkerAnnotation(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberSelector.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberSelector.java
index c1ee155d1b..7289287d0e 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberSelector.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberSelector.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTMemberSelector extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTMemberSelector(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTMemberSelector(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValue.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValue.java
index 307a9903d2..7bd6a83659 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValue.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValue.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents the value of a member of an annotation.
  * This can appear in a {@linkplain ASTMemberValuePair member-value pair},
@@ -19,11 +21,16 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTMemberValue extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTMemberValue(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTMemberValue(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValueArrayInitializer.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValueArrayInitializer.java
index 20852e3aa5..3b397d535c 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValueArrayInitializer.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValueArrayInitializer.java
@@ -8,6 +8,8 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.Iterator;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * Represents an array of member values in an annotation {@linkplain ASTMemberValue member value}.
@@ -17,14 +19,17 @@ import java.util.Iterator;
  * MemberValueArrayInitializer ::= "{" ( {@linkplain ASTMemberValue MemberValue} ( "," {@linkplain ASTMemberValue MemberValue} )*  ","? )? "}"
  *
  * </pre>
- *
- *
  */
 public class ASTMemberValueArrayInitializer extends AbstractJavaNode implements Iterable<ASTMemberValue> {
+
+    @InternalApi
+    @Deprecated
     public ASTMemberValueArrayInitializer(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTMemberValueArrayInitializer(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePair.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePair.java
index 4d1bb0aa3d..4e24eec5ac 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePair.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePair.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a single member-value pair in an annotation.
  *
@@ -15,11 +17,16 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTMemberValuePair extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTMemberValuePair(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTMemberValuePair(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePairs.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePairs.java
index 6fffd2aa3a..6002cd6ad1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePairs.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePairs.java
@@ -7,6 +7,8 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.Iterator;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * Represents a list of member values in an {@linkplain ASTNormalAnnotation annotation}.
@@ -18,11 +20,16 @@ import java.util.Iterator;
  * </pre>
  */
 public class ASTMemberValuePairs extends AbstractJavaNode implements Iterable<ASTMemberValuePair> {
+
+    @InternalApi
+    @Deprecated
     public ASTMemberValuePairs(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTMemberValuePairs(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclaration.java
index b50255ca51..e4cc616f67 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclaration.java
@@ -5,6 +5,7 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.dfa.DFAGraphMethod;
 
@@ -15,15 +16,18 @@ import net.sourceforge.pmd.lang.dfa.DFAGraphMethod;
  * <pre>
  * MethodDeclaration := [ TypeParameters() ] (TypeAnnotation())* ResultType() MethodDeclarator() [ "throws" NameList() ] ( Block() | ";" )
  * </pre>
- *
  */
 public class ASTMethodDeclaration extends AbstractMethodOrConstructorDeclaration implements DFAGraphMethod {
 
 
+    @InternalApi
+    @Deprecated
     public ASTMethodDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTMethodDeclaration(JavaParser p, int id) {
         super(p, id);
     }
@@ -101,7 +105,7 @@ public class ASTMethodDeclaration extends AbstractMethodOrConstructorDeclaration
         Node potentialTypeDeclaration = getNthParent(3);
 
         return potentialTypeDeclaration instanceof ASTClassOrInterfaceDeclaration
-                && ((ASTClassOrInterfaceDeclaration) potentialTypeDeclaration).isInterface();
+            && ((ASTClassOrInterfaceDeclaration) potentialTypeDeclaration).isInterface();
     }
 
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclarator.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclarator.java
index 61459b2a5a..17406c0f88 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclarator.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclarator.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTMethodDeclarator extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTMethodDeclarator(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTMethodDeclarator(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java
index fe6067f6b7..6bf2ee7165 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java
@@ -6,11 +6,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTMethodReference extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTMethodReference(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTMethodReference(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
index e5c551c780..182967578e 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
@@ -6,13 +6,20 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTModuleDeclaration extends AbstractJavaNode {
+
     private boolean open;
 
+    @InternalApi
+    @Deprecated
     public ASTModuleDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTModuleDeclaration(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
index 71be3a8e36..a085184a6e 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
@@ -6,7 +6,10 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTModuleDirective extends AbstractJavaNode {
+
     public enum DirectiveType {
         REQUIRES, EXPORTS, OPENS, USES, PROVIDES;
     }
@@ -19,10 +22,14 @@ public class ASTModuleDirective extends AbstractJavaNode {
 
     private RequiresModifier requiresModifier;
 
+    @InternalApi
+    @Deprecated
     public ASTModuleDirective(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTModuleDirective(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java
index 810b6c5861..9f7cb67b1f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java
@@ -7,11 +7,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTModuleName extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTModuleName(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTModuleName(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMultiplicativeExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMultiplicativeExpression.java
index f01da959c6..9b0dbe24ca 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMultiplicativeExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMultiplicativeExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a multiplication, division, or modulo operation on
  * two or more values. This has a precedence greater than {@link ASTAdditiveExpression},
@@ -20,10 +22,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTMultiplicativeExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTMultiplicativeExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTMultiplicativeExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java
index b269799ce4..3bf2020a83 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java
@@ -5,16 +5,21 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.symboltable.NameDeclaration;
 
 public class ASTName extends AbstractJavaTypeNode {
 
     private NameDeclaration nd;
 
+    @InternalApi
+    @Deprecated
     public ASTName(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTName(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNameList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNameList.java
index f2e2c36b69..7b4977ad36 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNameList.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNameList.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTNameList extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTNameList(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTNameList(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNormalAnnotation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNormalAnnotation.java
index 971885de74..803e9d1948 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNormalAnnotation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNormalAnnotation.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents an annotation that with a parenthesized list
  * of key-value pairs (possibly empty).
@@ -19,11 +21,16 @@ package net.sourceforge.pmd.lang.java.ast;
  * @see ASTMarkerAnnotation
  */
 public class ASTNormalAnnotation extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTNormalAnnotation(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTNormalAnnotation(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNullLiteral.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNullLiteral.java
index 1256c1a4e9..aa30c4ea89 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNullLiteral.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNullLiteral.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTNullLiteral extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTNullLiteral(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTNullLiteral(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPackageDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPackageDeclaration.java
index 2cba1c63ee..9abc57e94b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPackageDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPackageDeclaration.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTPackageDeclaration extends AbstractJavaAnnotatableNode {
+
+    @InternalApi
+    @Deprecated
     public ASTPackageDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTPackageDeclaration(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPostfixExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPostfixExpression.java
index f0dd504237..f4265ccbc0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPostfixExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPostfixExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a unary postfix operation on a value.
  * This is one of the {@linkplain ASTUnaryExpression PrefixExpression}
@@ -18,10 +20,14 @@ package net.sourceforge.pmd.lang.java.ast;
  */
 public class ASTPostfixExpression extends AbstractJavaTypeNode {
 
+    @InternalApi
+    @Deprecated
     public ASTPostfixExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTPostfixExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreDecrementExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreDecrementExpression.java
index ae7dc717e4..30d46fe457 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreDecrementExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreDecrementExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a pre-decrement expression on a variable.
  * This has the same precedence as {@linkplain ASTUnaryExpression UnaryExpression}
@@ -17,10 +19,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTPreDecrementExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTPreDecrementExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTPreDecrementExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreIncrementExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreIncrementExpression.java
index 0b2cae8132..73fb8df7db 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreIncrementExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreIncrementExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a pre-increment expression on a variable.
  * This has the same precedence as {@linkplain ASTUnaryExpression UnaryExpression}
@@ -17,10 +19,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTPreIncrementExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTPreIncrementExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTPreIncrementExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryExpression.java
index 92d645f0ff..1a285e4272 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryExpression.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTPrimaryExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTPrimaryExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTPrimaryExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java
index b25e6c7eee..e808deda1b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java
@@ -5,15 +5,21 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTPrimaryPrefix extends AbstractJavaTypeNode {
 
     private boolean usesThisModifier;
     private boolean usesSuperModifier;
 
+    @InternalApi
+    @Deprecated
     public ASTPrimaryPrefix(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTPrimaryPrefix(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java
index dda473d8b1..37753734dd 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java
@@ -5,15 +5,21 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTPrimarySuffix extends AbstractJavaTypeNode {
 
     private boolean isArguments;
     private boolean isArrayDereference;
 
+    @InternalApi
+    @Deprecated
     public ASTPrimarySuffix(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTPrimarySuffix(JavaParser p, int id) {
         super(p, id);
     }
@@ -40,7 +46,7 @@ public class ASTPrimarySuffix extends AbstractJavaTypeNode {
      * called when there are no arguments it returns <code>-1</code>.
      *
      * @return A non-negative argument number when there are arguments,
-     *         <code>-1</code> otherwise.
+     *     <code>-1</code> otherwise.
      */
     public int getArgumentCount() {
         if (!this.isArguments()) {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimitiveType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimitiveType.java
index 05766c53a3..33b738e07b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimitiveType.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimitiveType.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a primitive type.
  *
@@ -18,10 +20,14 @@ public class ASTPrimitiveType extends AbstractJavaTypeNode implements Dimensiona
 
     private int arrayDepth;
 
+    @InternalApi
+    @Deprecated
     public ASTPrimitiveType(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTPrimitiveType(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRSIGNEDSHIFT.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRSIGNEDSHIFT.java
index 4e287e8fad..ad299118da 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRSIGNEDSHIFT.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRSIGNEDSHIFT.java
@@ -5,15 +5,22 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * @deprecated Will be removed in 7.0.0. Use {@link ASTShiftExpression#getOperator()}
  */
 @Deprecated
 public class ASTRSIGNEDSHIFT extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTRSIGNEDSHIFT(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTRSIGNEDSHIFT(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRUNSIGNEDSHIFT.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRUNSIGNEDSHIFT.java
index 9e2568014d..507c671869 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRUNSIGNEDSHIFT.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRUNSIGNEDSHIFT.java
@@ -5,15 +5,22 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * @deprecated Will be removed in 7.0.0. Use {@link ASTShiftExpression#getOperator()}
  */
 @Deprecated
 public class ASTRUNSIGNEDSHIFT extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTRUNSIGNEDSHIFT(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTRUNSIGNEDSHIFT(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReferenceType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReferenceType.java
index 605f065186..8c277504d2 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReferenceType.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReferenceType.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a reference type, i.e. a {@linkplain ASTClassOrInterfaceType class or interface type},
  * or an array type.
@@ -15,16 +17,19 @@ package net.sourceforge.pmd.lang.java.ast;
  *                  | {@linkplain ASTClassOrInterfaceType ClassOrInterfaceType} {@linkplain ASTAnnotation Annotation}* ( "[" "]" )*
  *
  * </pre>
- *
  */
 public class ASTReferenceType extends AbstractJavaTypeNode implements Dimensionable {
 
     private int arrayDepth;
 
+    @InternalApi
+    @Deprecated
     public ASTReferenceType(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTReferenceType(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRelationalExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRelationalExpression.java
index 43d84c3680..0834127794 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRelationalExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRelationalExpression.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a comparison on two numeric values. This has a precedence greater than {@link ASTEqualityExpression},
  * and lower than {@link ASTShiftExpression}. This has the same precedence as a {@link ASTInstanceOfExpression}.
@@ -20,10 +22,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTRelationalExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTRelationalExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTRelationalExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java
index 1c818e8a2f..2c55febdb5 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java
@@ -6,11 +6,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTResource extends ASTFormalParameter {
+
+    @InternalApi
+    @Deprecated
     public ASTResource(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTResource(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java
index f0610899db..c4c8889f50 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java
@@ -6,11 +6,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTResourceSpecification extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTResourceSpecification(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTResourceSpecification(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java
index e93f321794..6f5a400918 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java
@@ -6,11 +6,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTResources extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTResources(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTResources(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResultType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResultType.java
index 2312032605..d25301d998 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResultType.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResultType.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTResultType extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTResultType(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTResultType(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReturnStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReturnStatement.java
index 9ee9af2d8f..ba74cc4ff7 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReturnStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReturnStatement.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTReturnStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTReturnStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTReturnStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTShiftExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTShiftExpression.java
index bff4995393..91089a6c15 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTShiftExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTShiftExpression.java
@@ -5,8 +5,11 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
- * Represents a shift expression on a numeric value. This has a precedence greater than {@link ASTRelationalExpression},
+ * Represents a shift expression on a numeric value. This has a precedence greater than {@link
+ * ASTRelationalExpression},
  * and lower than {@link ASTAdditiveExpression}.
  *
  * <p>Note that the children of this node are not necessarily {@link ASTAdditiveExpression},
@@ -21,10 +24,15 @@ package net.sourceforge.pmd.lang.java.ast;
  */
 // TODO we could merge the productions for ASTRSIGNEDSHIFT and ASTRUNSIGNEDSHIFT into this node using a #void production that sets the image of the parent
 public class ASTShiftExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTShiftExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTShiftExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSingleMemberAnnotation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSingleMemberAnnotation.java
index c1b57d12f2..9cc4f06a8f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSingleMemberAnnotation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSingleMemberAnnotation.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents an annotation using the shorthand syntax for the default member.
  *
@@ -18,10 +20,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * @see ASTNormalAnnotation
  */
 public class ASTSingleMemberAnnotation extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTSingleMemberAnnotation(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTSingleMemberAnnotation(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatement.java
index e48b71d27d..204d420b3a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatement.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpression.java
index a656219ba9..0afb129b50 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpression.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTStatementExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTStatementExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTStatementExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpressionList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpressionList.java
index 3ab98ecee1..dc07653181 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpressionList.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpressionList.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTStatementExpressionList extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTStatementExpressionList(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTStatementExpressionList(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java
index ea929b3aa6..ae44abd2b8 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java
@@ -7,11 +7,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTSwitchExpression extends AbstractJavaTypeNode {
+
+    @Deprecated
+    @InternalApi
     ASTSwitchExpression(int id) {
         super(id);
     }
 
+    @Deprecated
+    @InternalApi
     ASTSwitchExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledBlock.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledBlock.java
index 8ff927bef2..16407fbfc8 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledBlock.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledBlock.java
@@ -4,12 +4,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTSwitchLabeledBlock extends AbstractJavaNode implements ASTSwitchLabeledRule {
 
+    @Deprecated
+    @InternalApi
     ASTSwitchLabeledBlock(int id) {
         super(id);
     }
 
+    @Deprecated
+    @InternalApi
     ASTSwitchLabeledBlock(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledExpression.java
index b2ba1b17a6..d0488f30d9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledExpression.java
@@ -4,12 +4,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTSwitchLabeledExpression extends AbstractJavaNode implements ASTSwitchLabeledRule {
 
+    @Deprecated
+    @InternalApi
     ASTSwitchLabeledExpression(int id) {
         super(id);
     }
 
+    @Deprecated
+    @InternalApi
     ASTSwitchLabeledExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java
index d0a863f967..d3321672df 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java
@@ -4,12 +4,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTSwitchLabeledThrowStatement extends AbstractJavaNode implements ASTSwitchLabeledRule {
 
+    @Deprecated
+    @InternalApi
     ASTSwitchLabeledThrowStatement(int id) {
         super(id);
     }
 
+    @Deprecated
+    @InternalApi
     ASTSwitchLabeledThrowStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchStatement.java
index e9ad7c7b01..9bf7835c57 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchStatement.java
@@ -10,6 +10,8 @@ import java.util.Set;
 
 import org.apache.commons.lang3.EnumUtils;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * Represents a {@code switch} statement.
@@ -21,10 +23,15 @@ import org.apache.commons.lang3.EnumUtils;
  * </pre>
  */
 public class ASTSwitchStatement extends AbstractJavaNode implements Iterable<ASTSwitchLabel> {
+
+    @InternalApi
+    @Deprecated
     public ASTSwitchStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTSwitchStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSynchronizedStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSynchronizedStatement.java
index 71dc35564d..fb6322bce9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSynchronizedStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSynchronizedStatement.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTSynchronizedStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTSynchronizedStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTSynchronizedStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTThrowStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTThrowStatement.java
index 0d61b7529a..adad4e7428 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTThrowStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTThrowStatement.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTThrowStatement extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTThrowStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTThrowStatement(JavaParser p, int id) {
         super(p, id);
     }
@@ -33,7 +40,7 @@ public class ASTThrowStatement extends AbstractJavaNode {
      * <p>TODO - use symbol table (?)</p>
      *
      * @return the image of the first ASTClassOrInterfaceType node found or
-     *         <code>null</code>
+     *     <code>null</code>
      */
     public final String getFirstClassOrInterfaceTypeImage() {
         final ASTClassOrInterfaceType t = getFirstDescendantOfType(ASTClassOrInterfaceType.class);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTryStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTryStatement.java
index 53e3325c0c..beee9366a9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTryStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTryStatement.java
@@ -7,6 +7,8 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.List;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * Try statement node.
@@ -16,10 +18,14 @@ import java.util.List;
  */
 public class ASTTryStatement extends AbstractJavaNode {
 
+    @InternalApi
+    @Deprecated
     public ASTTryStatement(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTTryStatement(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java
index 74192f1f0c..51e0d39353 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a type reference.
  *
@@ -17,10 +19,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * Note: it is not exactly the same the "UnnanType" defined in JLS.
  */
 public class ASTType extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTType(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTType(JavaParser p, int id) {
         super(p, id);
     }
@@ -45,7 +52,7 @@ public class ASTType extends AbstractJavaTypeNode {
     @Deprecated
     public int getArrayDepth() {
         if (jjtGetNumChildren() != 0
-                && (jjtGetChild(0) instanceof ASTReferenceType || jjtGetChild(0) instanceof ASTPrimitiveType)) {
+            && (jjtGetChild(0) instanceof ASTReferenceType || jjtGetChild(0) instanceof ASTPrimitiveType)) {
             return ((Dimensionable) jjtGetChild(0)).getArrayDepth();
         }
         return 0; // this is not an array
@@ -53,7 +60,6 @@ public class ASTType extends AbstractJavaTypeNode {
 
 
     /**
-     *
      * @deprecated Use {@link #isArrayType()}
      */
     @Deprecated
@@ -64,7 +70,6 @@ public class ASTType extends AbstractJavaTypeNode {
 
     /**
      * Returns true if this type is an array type.
-     *
      */
     public boolean isArrayType() {
         return getArrayDepth() > 0;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArgument.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArgument.java
index c17fff01fe..42c3a88a4a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArgument.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArgument.java
@@ -6,6 +6,8 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a single type argument in a {@linkplain ASTTypeArguments type arguments list}.
  *
@@ -17,10 +19,15 @@ package net.sourceforge.pmd.lang.java.ast;
  */
 // TODO should implement Annotatable when we use can use Java 8 mixins instead of an abstract class
 public class ASTTypeArgument extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTTypeArgument(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTTypeArgument(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArguments.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArguments.java
index e669576daf..1ce15f55ae 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArguments.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArguments.java
@@ -7,6 +7,8 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.Iterator;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * Represents a list of type arguments. This is different from {@linkplain ASTTypeParameters type parameters}!
@@ -16,13 +18,17 @@ import java.util.Iterator;
  *  TypeArguments ::= "<" {@linkplain ASTTypeArgument TypeArgument} ( "," {@linkplain ASTTypeArgument TypeArgument} )* ">"
  *                  | "<" ">"
  * </pre>
- *
  */
 public class ASTTypeArguments extends AbstractJavaNode implements Iterable<ASTTypeArgument> {
+
+    @InternalApi
+    @Deprecated
     public ASTTypeArguments(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTTypeArguments(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeBound.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeBound.java
index e9d0cfaa0f..b6c74d1971 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeBound.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeBound.java
@@ -7,6 +7,8 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.List;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * Represents a type bound on a {@linkplain ASTTypeParameter type parameter}.
@@ -22,11 +24,16 @@ import java.util.List;
  * </pre>
  */
 public class ASTTypeBound extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTTypeBound(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTTypeBound(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeDeclaration.java
index 2db090fc2f..85a43efba6 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeDeclaration.java
@@ -6,12 +6,18 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 import net.sourceforge.pmd.Rule;
+import net.sourceforge.pmd.annotation.InternalApi;
 
 public class ASTTypeDeclaration extends AbstractJavaTypeNode implements CanSuppressWarnings {
+
+    @InternalApi
+    @Deprecated
     public ASTTypeDeclaration(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTTypeDeclaration(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameter.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameter.java
index 4b96b52262..ef6705238f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameter.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameter.java
@@ -6,6 +6,8 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a type parameter declaration of a method, constructor, class or interface declaration.
  *
@@ -15,15 +17,20 @@ package net.sourceforge.pmd.lang.java.ast;
  *
  * </pre>
  *
- *  @see <a href="https://docs.oracle.com/javase/specs/jls/se9/html/jls-4.html#jls-4.4">JLS</a>
+ * @see <a href="https://docs.oracle.com/javase/specs/jls/se9/html/jls-4.html#jls-4.4">JLS</a>
  */
 // TODO should implement Annotatable when we use can use Java 8 mixins instead of an abstract class
 public class ASTTypeParameter extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTTypeParameter(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTTypeParameter(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameters.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameters.java
index c63d37f0bb..011a013275 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameters.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameters.java
@@ -8,6 +8,8 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.Iterator;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * Represents a list of type parameters.
@@ -17,14 +19,17 @@ import java.util.Iterator;
  * TypeParameters ::= "<" {@linkplain ASTTypeParameter TypeParameter} ( "," {@linkplain ASTTypeParameter TypeParameter} )* ">"
  *
  * </pre>
- *
- *
  */
 public class ASTTypeParameters extends AbstractJavaNode implements Iterable<ASTTypeParameter> {
+
+    @InternalApi
+    @Deprecated
     public ASTTypeParameters(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTTypeParameters(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpression.java
index e2ab159afd..0b71a4c29b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpression.java
@@ -6,6 +6,8 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a unary prefix operation on a value.
  * This has a precedence greater than {@link ASTMultiplicativeExpression}.
@@ -26,10 +28,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTUnaryExpression extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTUnaryExpression(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTUnaryExpression(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpressionNotPlusMinus.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpressionNotPlusMinus.java
index 8b9c9c359b..939d058f41 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpressionNotPlusMinus.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpressionNotPlusMinus.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a boolean negation or bitwise inverse operation.
  * This has the same precedence as {@linkplain ASTUnaryExpression UnaryExpression}
@@ -20,10 +22,15 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTUnaryExpressionNotPlusMinus extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTUnaryExpressionNotPlusMinus(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTUnaryExpressionNotPlusMinus(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclarator.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclarator.java
index 7d28205df6..f1952b89e6 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclarator.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclarator.java
@@ -7,6 +7,7 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.Iterator;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.Node;
 
 
@@ -22,11 +23,16 @@ import net.sourceforge.pmd.lang.ast.Node;
  * </pre>
  */
 public class ASTVariableDeclarator extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTVariableDeclarator(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTVariableDeclarator(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
index e110ce07f9..07a9f64864 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
@@ -7,6 +7,7 @@ package net.sourceforge.pmd.lang.java.ast;
 
 import java.util.List;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.symboltable.VariableNameDeclaration;
 import net.sourceforge.pmd.lang.symboltable.NameOccurrence;
@@ -40,10 +41,14 @@ public class ASTVariableDeclaratorId extends AbstractJavaTypeNode implements Dim
     private VariableNameDeclaration nameDeclaration;
     private boolean explicitReceiverParameter = false;
 
+    @InternalApi
+    @Deprecated
     public ASTVariableDeclaratorId(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTVariableDeclaratorId(JavaParser p, int id) {
         super(p, id);
     }
@@ -79,6 +84,7 @@ public class ASTVariableDeclaratorId extends AbstractJavaTypeNode implements Dim
 
     /**
      * Returns true if the declared variable has an array type.
+     *
      * @deprecated Use {@link #hasArrayType()}
      */
     @Override
@@ -112,7 +118,7 @@ public class ASTVariableDeclaratorId extends AbstractJavaTypeNode implements Dim
      */
     public boolean isFormalParameter() {
         return jjtGetParent() instanceof ASTFormalParameter && !isExceptionBlockParameter() && !isResourceDeclaration()
-                || isLambdaParamWithNoType();
+            || isLambdaParamWithNoType();
     }
 
 
@@ -130,7 +136,8 @@ public class ASTVariableDeclaratorId extends AbstractJavaTypeNode implements Dim
      * is not necessarily inferred, see {@link #isTypeInferred()}.
      */
     public boolean isLambdaParameter() {
-        return isLambdaParamWithNoType() || jjtGetParent() instanceof ASTFormalParameter && getNthParent(3) instanceof ASTLambdaExpression;
+        return isLambdaParamWithNoType()
+            || jjtGetParent() instanceof ASTFormalParameter && getNthParent(3) instanceof ASTLambdaExpression;
     }
 
 
@@ -245,7 +252,7 @@ public class ASTVariableDeclaratorId extends AbstractJavaTypeNode implements Dim
 
     private boolean isLambdaTypeInferred() {
         return getNthParent(3) instanceof ASTLambdaExpression
-                && jjtGetParent().getFirstChildOfType(ASTType.class) == null;
+            && jjtGetParent().getFirstChildOfType(ASTType.class) == null;
     }
 
     /**
@@ -269,7 +276,7 @@ public class ASTVariableDeclaratorId extends AbstractJavaTypeNode implements Dim
      * node. See {@link #getType()} for an explanation.
      *
      * @return the type node, or {@code null} if there is no explicit type,
-     * e.g. if {@link #isTypeInferred()} returns true.
+     *     e.g. if {@link #isTypeInferred()} returns true.
      */
     public ASTType getTypeNode() {
         if (jjtGetParent() instanceof ASTFormalParameter) {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableInitializer.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableInitializer.java
index 0c43164018..b8c3a1ebcb 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableInitializer.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableInitializer.java
@@ -5,11 +5,18 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 public class ASTVariableInitializer extends AbstractJavaNode {
+
+    @InternalApi
+    @Deprecated
     public ASTVariableInitializer(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public ASTVariableInitializer(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWildcardBounds.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWildcardBounds.java
index ffc01d08d6..18dfe90e2f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWildcardBounds.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWildcardBounds.java
@@ -5,6 +5,8 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Represents a type bound on a wildcard {@linkplain ASTTypeArgument type argument}.
  *
@@ -15,11 +17,16 @@ package net.sourceforge.pmd.lang.java.ast;
  * </pre>
  */
 public class ASTWildcardBounds extends AbstractJavaTypeNode {
+
+    @InternalApi
+    @Deprecated
     public ASTWildcardBounds(int id) {
         super(id);
     }
 
 
+    @InternalApi
+    @Deprecated
     public ASTWildcardBounds(JavaParser p, int id) {
         super(p, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java
index bd306f8570..20fdc49ad5 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java
@@ -4,5 +4,15 @@
 
 /**
  * Contains the classes and interfaces modelling the Java AST.
+ *
+ * <p>Note: from 6.16.0 on, the following usages have been deprecated:
+ * <ul>
+ *     <p>Manual instantiation of nodes. Constructors of node classes are
+ *     deprecated and marked {@link net.sourceforge.pmd.annotation.InternalApi}.
+ *     Nodes should only be obtained from the parser, which for rules,
+ *     means that never need to instantiate node themselves. Those
+ *     constructors will be made package private with 7.0.0.
+ * </ul>
+ *
  */
 package net.sourceforge.pmd.lang.java.ast;

From 76e638c83f7f988540262acfab04a89ab6cadd1d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 28 May 2019 21:09:21 +0200
Subject: [PATCH 147/371] Deprecate base node classes

---
 .../pmd/lang/java/ast/AbstractAnyTypeDeclaration.java       | 3 +++
 .../pmd/lang/java/ast/AbstractJavaAccessNode.java           | 4 ++++
 .../pmd/lang/java/ast/AbstractJavaAccessTypeNode.java       | 4 ++++
 .../pmd/lang/java/ast/AbstractJavaAnnotatableNode.java      | 1 +
 .../net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java | 3 +++
 .../sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java | 3 +++
 .../pmd/lang/java/ast/AbstractMethodLikeNode.java           | 4 +++-
 .../java/ast/AbstractMethodOrConstructorDeclaration.java    | 3 +++
 .../pmd/lang/java/ast/AbstractTypeBodyDeclaration.java      | 4 ++++
 .../net/sourceforge/pmd/lang/java/ast/DummyJavaNode.java    | 4 ++++
 .../net/sourceforge/pmd/lang/java/ast/package-info.java     | 6 +++++-
 11 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractAnyTypeDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractAnyTypeDeclaration.java
index 2d56c46e39..c8484d7ea4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractAnyTypeDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractAnyTypeDeclaration.java
@@ -4,6 +4,7 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.qname.JavaTypeQualifiedName;
 import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefinition;
@@ -12,6 +13,8 @@ import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefin
 /**
  * Abstract class for type declarations nodes.
  */
+@Deprecated
+@InternalApi
 public abstract class AbstractAnyTypeDeclaration extends AbstractJavaAccessTypeNode implements ASTAnyTypeDeclaration {
 
     private JavaTypeQualifiedName qualifiedName;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java
index da3063423e..e6b45823d4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java
@@ -4,6 +4,10 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
+@Deprecated
+@InternalApi
 public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode implements AccessNode {
 
     private int modifiers;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java
index 220a3c13dd..a88001025d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java
@@ -4,9 +4,13 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefinition;
 
+@Deprecated
+@InternalApi
 public abstract class AbstractJavaAccessTypeNode extends AbstractJavaAccessNode implements TypeNode {
+
     /**
      * Type definition, used to get the type of the node.
      */
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAnnotatableNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAnnotatableNode.java
index 36ae852ba2..cc0e84bed7 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAnnotatableNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAnnotatableNode.java
@@ -9,6 +9,7 @@ import java.util.List;
 
 import net.sourceforge.pmd.lang.java.typeresolution.TypeHelper;
 
+// package private
 abstract class AbstractJavaAnnotatableNode extends AbstractJavaNode implements Annotatable {
 
     AbstractJavaAnnotatableNode(int i) {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
index acf4106d45..30d1fb673c 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
@@ -4,9 +4,12 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.AbstractNode;
 import net.sourceforge.pmd.lang.symboltable.Scope;
 
+@Deprecated
+@InternalApi
 public abstract class AbstractJavaNode extends AbstractNode implements JavaNode {
 
     protected JavaParser parser;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java
index 8ade1689e3..b99dcedd07 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java
@@ -4,6 +4,7 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefinition;
 
 /**
@@ -12,6 +13,8 @@ import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefin
  * @see AbstractJavaNode
  * @see TypeNode
  */
+@Deprecated
+@InternalApi
 public abstract class AbstractJavaTypeNode extends AbstractJavaNode implements TypeNode {
     private JavaTypeDefinition typeDefinition;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodLikeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodLikeNode.java
index 6e60b8639b..c72392e0ed 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodLikeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodLikeNode.java
@@ -4,9 +4,11 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.java.qname.JavaOperationQualifiedName;
 
-
+@Deprecated
+@InternalApi
 public abstract class AbstractMethodLikeNode extends AbstractJavaAccessNode implements MethodLikeNode {
     private JavaOperationQualifiedName qualifiedName;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodOrConstructorDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodOrConstructorDeclaration.java
index 5eba9d6c09..3885bcdd89 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodOrConstructorDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodOrConstructorDeclaration.java
@@ -4,9 +4,12 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.java.multifile.signature.JavaOperationSignature;
 
 
+@Deprecated
+@InternalApi
 public abstract class AbstractMethodOrConstructorDeclaration extends AbstractMethodLikeNode implements ASTMethodOrConstructorDeclaration {
 
     private JavaOperationSignature signature;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractTypeBodyDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractTypeBodyDeclaration.java
index 92eedb762a..39ee9e8ed1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractTypeBodyDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractTypeBodyDeclaration.java
@@ -15,11 +15,15 @@ import static net.sourceforge.pmd.lang.java.ast.ASTAnyTypeBodyDeclaration.Declar
 import static net.sourceforge.pmd.lang.java.ast.ASTAnyTypeBodyDeclaration.DeclarationKind.INTERFACE;
 import static net.sourceforge.pmd.lang.java.ast.ASTAnyTypeBodyDeclaration.DeclarationKind.METHOD;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 
 /**
  * @author Clément Fournier
  * @since 6.2.0
  */
+@Deprecated
+@InternalApi
 abstract class AbstractTypeBodyDeclaration extends AbstractJavaNode implements ASTAnyTypeBodyDeclaration {
 
     private DeclarationKind kind;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DummyJavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DummyJavaNode.java
index ae5f8cc56c..6b8daa0a94 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DummyJavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DummyJavaNode.java
@@ -4,10 +4,14 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * This is a basic JavaNode implementation, useful when needing to create a
  * dummy node.
  */
+@Deprecated
+@InternalApi
 public class DummyJavaNode extends AbstractJavaNode {
 
     public DummyJavaNode(int id) {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java
index 20fdc49ad5..c962c42c85 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java
@@ -7,11 +7,15 @@
  *
  * <p>Note: from 6.16.0 on, the following usages have been deprecated:
  * <ul>
- *     <p>Manual instantiation of nodes. Constructors of node classes are
+ *     <li>Manual instantiation of nodes. Constructors of node classes are
  *     deprecated and marked {@link net.sourceforge.pmd.annotation.InternalApi}.
  *     Nodes should only be obtained from the parser, which for rules,
  *     means that never need to instantiate node themselves. Those
  *     constructors will be made package private with 7.0.0.
+ *     <li>Subclassing of base node classes, or usage of their type.
+ *     Version 7.0.0 will bring a new set of abstractions that will
+ *     be public API, but the base classes are and will stay internal.
+ *     you should not couple your code to them.
  * </ul>
  *
  */

From 31f15b76229ad6a69aa9a2122a84961a75147cb1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 28 May 2019 21:16:41 +0200
Subject: [PATCH 148/371] Deprecate setters

---
 .../java/ast/ASTAllocationExpression.java     |  2 +
 .../lang/java/ast/ASTAssignmentOperator.java  |  2 +
 .../pmd/lang/java/ast/ASTBlock.java           |  2 +
 .../pmd/lang/java/ast/ASTBooleanLiteral.java  |  2 +
 .../pmd/lang/java/ast/ASTCastExpression.java  |  2 +
 .../ast/ASTClassOrInterfaceDeclaration.java   |  2 +
 .../pmd/lang/java/ast/ASTCompilationUnit.java |  4 ++
 .../java/ast/ASTConditionalExpression.java    |  2 +
 .../java/ast/ASTConstructorDeclaration.java   |  2 +
 .../pmd/lang/java/ast/ASTEnumConstant.java    |  2 +
 .../ast/ASTExplicitConstructorInvocation.java |  4 ++
 .../pmd/lang/java/ast/ASTFormalParameter.java |  7 ++-
 .../pmd/lang/java/ast/ASTIfStatement.java     |  2 +
 .../lang/java/ast/ASTImportDeclaration.java   |  6 +++
 .../pmd/lang/java/ast/ASTInitializer.java     |  2 +
 .../pmd/lang/java/ast/ASTLiteral.java         |  8 +++
 .../lang/java/ast/ASTModuleDeclaration.java   |  2 +
 .../pmd/lang/java/ast/ASTModuleDirective.java |  4 ++
 .../pmd/lang/java/ast/ASTName.java            |  2 +
 .../pmd/lang/java/ast/ASTPrimaryPrefix.java   |  4 ++
 .../pmd/lang/java/ast/ASTPrimarySuffix.java   |  4 ++
 .../pmd/lang/java/ast/ASTSwitchLabel.java     |  2 +
 .../java/ast/ASTVariableDeclaratorId.java     |  4 ++
 .../java/ast/AbstractAnyTypeDeclaration.java  |  4 +-
 .../lang/java/ast/AbstractJavaAccessNode.java | 28 ++++++++++
 .../java/ast/AbstractJavaAccessTypeNode.java  |  2 +
 .../pmd/lang/java/ast/AbstractJavaNode.java   |  1 -
 .../lang/java/ast/AbstractJavaTypeNode.java   |  5 ++
 .../lang/java/ast/AbstractMethodLikeNode.java |  3 ++
 .../pmd/lang/java/ast/AccessNode.java         | 54 +++++++++++++++++++
 .../pmd/lang/java/ast/JavaNode.java           |  6 +++
 .../java/ast/JavaParserVisitorDecorator.java  |  7 ++-
 .../pmd/lang/java/ast/TypeNode.java           |  8 +++
 .../pmd/lang/java/ast/package-info.java       | 10 +++-
 34 files changed, 195 insertions(+), 6 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java
index 2c23d3b9e1..e679f9d795 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java
@@ -59,6 +59,8 @@ public class ASTAllocationExpression extends AbstractJavaTypeNode implements Jav
         return qualifiedName;
     }
 
+    @InternalApi
+    @Deprecated
     public void setQualifiedName(JavaTypeQualifiedName qname) {
         this.qualifiedName = qname;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java
index b9be287e91..5c35d956da 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java
@@ -33,6 +33,8 @@ public class ASTAssignmentOperator extends AbstractJavaNode {
     }
 
     // TODO this could be determined from the image of the operator, no need to set it in the parser...
+    @InternalApi
+    @Deprecated
     public void setCompound() {
         isCompound = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java
index d4a73027a9..2b8fae383d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java
@@ -35,6 +35,8 @@ public class ASTBlock extends AbstractJavaNode {
         return this.containsComment;
     }
 
+    @InternalApi
+    @Deprecated
     public void setContainsComment() {
         this.containsComment = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java
index e0b8761e04..ef609b61f0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java
@@ -23,6 +23,8 @@ public class ASTBooleanLiteral extends AbstractJavaTypeNode {
         super(p, id);
     }
 
+    @InternalApi
+    @Deprecated
     public void setTrue() {
         isTrue = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java
index e7b88697d8..d9716c71e5 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java
@@ -23,6 +23,8 @@ public class ASTCastExpression extends AbstractJavaTypeNode {
         super(p, id);
     }
 
+    @InternalApi
+    @Deprecated
     public void setIntersectionTypes(boolean intersectionTypes) {
         this.intersectionTypes = intersectionTypes;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
index afcb9af708..aa0c8685da 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
@@ -90,6 +90,8 @@ public class ASTClassOrInterfaceDeclaration extends AbstractAnyTypeDeclaration {
         return this.isInterface;
     }
 
+    @InternalApi
+    @Deprecated
     public void setInterface() {
         this.isInterface = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java
index b99a9762ba..50ae656ccf 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java
@@ -34,6 +34,8 @@ public class ASTCompilationUnit extends AbstractJavaTypeNode implements RootNode
         return comments;
     }
 
+    @InternalApi
+    @Deprecated
     public void setComments(List<Comment> comments) {
         this.comments = comments;
     }
@@ -62,6 +64,8 @@ public class ASTCompilationUnit extends AbstractJavaTypeNode implements RootNode
         return classTypeResolver;
     }
 
+    @InternalApi
+    @Deprecated
     public void setClassTypeResolver(ClassTypeResolver classTypeResolver) {
         this.classTypeResolver = classTypeResolver;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
index e6cc2ac1ba..81dd723424 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
@@ -42,6 +42,8 @@ public class ASTConditionalExpression extends AbstractJavaTypeNode {
     /**
      * @deprecated To be removed in 7.0.0
      */
+    @InternalApi
+    @Deprecated
     @Deprecated
     public void setTernary() {
         // noop
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java
index a8f19da4b4..d7ce78b9a9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java
@@ -42,6 +42,8 @@ public class ASTConstructorDeclaration extends AbstractMethodOrConstructorDeclar
         return this.containsComment;
     }
 
+    @InternalApi
+    @Deprecated
     public void setContainsComment() {
         this.containsComment = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java
index 1a65f9b1a0..c712832453 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java
@@ -58,6 +58,8 @@ public class ASTEnumConstant extends AbstractJavaNode implements JavaQualifiable
     }
 
 
+    @InternalApi
+    @Deprecated
     public void setQualifiedName(JavaTypeQualifiedName qname) {
         this.qualifiedName = qname;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java
index 3b99ef6da9..1a68cf7205 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java
@@ -39,10 +39,14 @@ public class ASTExplicitConstructorInvocation extends AbstractJavaNode {
         }
     }
 
+    @InternalApi
+    @Deprecated
     public void setIsThis() {
         this.thisOrSuper = "this";
     }
 
+    @InternalApi
+    @Deprecated
     public void setIsSuper() {
         this.thisOrSuper = "super";
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
index 27951a1d91..2f068a636d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
@@ -40,7 +40,8 @@ public class ASTFormalParameter extends AbstractJavaAccessTypeNode implements Di
     /**
      * @deprecated Will be made private in 7.0.0
      */
-    // Should be made package-private
+    @InternalApi
+    @Deprecated
     @Deprecated
     public void setVarargs() {
         isVarargs = true;
@@ -169,6 +170,8 @@ public class ASTFormalParameter extends AbstractJavaAccessTypeNode implements Di
      * Noop, the type of this node is defined by the type
      * of the declarator id.
      */
+    @InternalApi
+    @Deprecated
     @Override
     public void setTypeDefinition(JavaTypeDefinition type) {
         // see javadoc
@@ -178,6 +181,8 @@ public class ASTFormalParameter extends AbstractJavaAccessTypeNode implements Di
      * Noop, the type of this node is defined by the type
      * of the declarator id.
      */
+    @InternalApi
+    @Deprecated
     @Override
     public void setType(Class<?> type) {
         // see javadoc
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java
index 4dcb971c1b..f8f8112374 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java
@@ -37,6 +37,8 @@ public class ASTIfStatement extends AbstractJavaNode {
     }
 
 
+    @InternalApi
+    @Deprecated
     @InternalApi
     @Deprecated
     public void setHasElse() {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
index 99308c1777..736ee6de93 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
@@ -47,6 +47,8 @@ public class ASTImportDeclaration extends AbstractJavaTypeNode {
     /**
      * @deprecated Will be made private with 7.0.0
      */
+    @InternalApi
+    @Deprecated
     @Deprecated
     public void setImportOnDemand() {
         isImportOnDemand = true;
@@ -74,6 +76,8 @@ public class ASTImportDeclaration extends AbstractJavaTypeNode {
     /**
      * @deprecated Will be made private with 7.0.0
      */
+    @InternalApi
+    @Deprecated
     @Deprecated
     public void setStatic() {
         isStatic = true;
@@ -140,6 +144,8 @@ public class ASTImportDeclaration extends AbstractJavaTypeNode {
         return visitor.visit(this, data);
     }
 
+    @InternalApi
+    @Deprecated
     public void setPackage(Package packge) {
         this.pkg = packge;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java
index e524de327b..4cd41e4559 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java
@@ -35,6 +35,8 @@ public class ASTInitializer extends AbstractJavaNode {
         return isStatic;
     }
 
+    @InternalApi
+    @Deprecated
     public void setStatic() {
         isStatic = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java
index 4cd30c4e75..c297d391ef 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java
@@ -45,6 +45,8 @@ public class ASTLiteral extends AbstractJavaTypeNode {
         return visitor.visit(this, data);
     }
 
+    @InternalApi
+    @Deprecated
     public void setIntLiteral() {
         this.isInt = true;
     }
@@ -74,6 +76,8 @@ public class ASTLiteral extends AbstractJavaTypeNode {
         return false;
     }
 
+    @InternalApi
+    @Deprecated
     public void setFloatLiteral() {
         this.isFloat = true;
     }
@@ -183,6 +187,8 @@ public class ASTLiteral extends AbstractJavaTypeNode {
         return Double.NaN;
     }
 
+    @InternalApi
+    @Deprecated
     public void setCharLiteral() {
         this.isChar = true;
     }
@@ -191,6 +197,8 @@ public class ASTLiteral extends AbstractJavaTypeNode {
         return isChar;
     }
 
+    @InternalApi
+    @Deprecated
     public void setStringLiteral() {
         this.isString = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
index 182967578e..22b5246915 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
@@ -30,6 +30,8 @@ public class ASTModuleDeclaration extends AbstractJavaNode {
         return visitor.visit(this, data);
     }
 
+    @InternalApi
+    @Deprecated
     public void setOpen(boolean open) {
         this.open = open;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
index a085184a6e..20207a44a4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
@@ -40,6 +40,8 @@ public class ASTModuleDirective extends AbstractJavaNode {
         return visitor.visit(this, data);
     }
 
+    @InternalApi
+    @Deprecated
     public void setType(DirectiveType type) {
         this.type = type;
     }
@@ -48,6 +50,8 @@ public class ASTModuleDirective extends AbstractJavaNode {
         return String.valueOf(type);
     }
 
+    @InternalApi
+    @Deprecated
     public void setRequiresModifier(RequiresModifier requiresModifier) {
         this.requiresModifier = requiresModifier;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java
index 3bf2020a83..3d0b4b4db3 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java
@@ -24,6 +24,8 @@ public class ASTName extends AbstractJavaTypeNode {
         super(p, id);
     }
 
+    @InternalApi
+    @Deprecated
     public void setNameDeclaration(NameDeclaration nd) {
         this.nd = nd;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java
index e808deda1b..936ce82ad3 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java
@@ -24,6 +24,8 @@ public class ASTPrimaryPrefix extends AbstractJavaTypeNode {
         super(p, id);
     }
 
+    @InternalApi
+    @Deprecated
     public void setUsesThisModifier() {
         usesThisModifier = true;
     }
@@ -32,6 +34,8 @@ public class ASTPrimaryPrefix extends AbstractJavaTypeNode {
         return this.usesThisModifier;
     }
 
+    @InternalApi
+    @Deprecated
     public void setUsesSuperModifier() {
         usesSuperModifier = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java
index 37753734dd..903559469c 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java
@@ -24,6 +24,8 @@ public class ASTPrimarySuffix extends AbstractJavaTypeNode {
         super(p, id);
     }
 
+    @InternalApi
+    @Deprecated
     public void setIsArrayDereference() {
         isArrayDereference = true;
     }
@@ -32,6 +34,8 @@ public class ASTPrimarySuffix extends AbstractJavaTypeNode {
         return isArrayDereference;
     }
 
+    @InternalApi
+    @Deprecated
     public void setIsArguments() {
         this.isArguments = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java
index ca45a97837..88ab8ebf06 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java
@@ -38,6 +38,8 @@ public class ASTSwitchLabel extends AbstractJavaNode {
     }
 
 
+    @InternalApi
+    @Deprecated
     @InternalApi
     @Deprecated
     public void setDefault() {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
index 07a9f64864..e51f806b04 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
@@ -62,6 +62,8 @@ public class ASTVariableDeclaratorId extends AbstractJavaTypeNode implements Dim
         return nameDeclaration;
     }
 
+    @InternalApi
+    @Deprecated
     public void setNameDeclaration(VariableNameDeclaration decl) {
         nameDeclaration = decl;
     }
@@ -195,6 +197,8 @@ public class ASTVariableDeclaratorId extends AbstractJavaTypeNode implements Dim
     /**
      * @deprecated Will be made private with 7.0.0
      */
+    @InternalApi
+    @Deprecated
     @Deprecated
     public void setExplicitReceiverParameter() {
         explicitReceiverParameter = true;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractAnyTypeDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractAnyTypeDeclaration.java
index c8484d7ea4..7d59f6c0b4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractAnyTypeDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractAnyTypeDeclaration.java
@@ -33,7 +33,7 @@ public abstract class AbstractAnyTypeDeclaration extends AbstractJavaAccessTypeN
     @Override
     public final boolean isNested() {
         return jjtGetParent() instanceof ASTClassOrInterfaceBodyDeclaration
-                || jjtGetParent() instanceof ASTAnnotationTypeMemberDeclaration;
+            || jjtGetParent() instanceof ASTAnnotationTypeMemberDeclaration;
     }
 
 
@@ -83,6 +83,8 @@ public abstract class AbstractAnyTypeDeclaration extends AbstractJavaAccessTypeN
     }
 
 
+    @InternalApi
+    @Deprecated
     public void setQualifiedName(JavaTypeQualifiedName qualifiedName) {
         this.qualifiedName = qualifiedName;
         this.typeDefinition = JavaTypeDefinition.forClass(qualifiedName.getType());
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java
index e6b45823d4..1966eefed0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java
@@ -25,6 +25,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return this.modifiers;
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setModifiers(int modifiers) {
         this.modifiers = modifiers;
@@ -35,6 +37,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(PUBLIC);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setPublic(boolean isPublic) {
         setModifier(isPublic, PUBLIC);
@@ -45,6 +49,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(PROTECTED);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setProtected(boolean isProtected) {
         setModifier(isProtected, PROTECTED);
@@ -55,6 +61,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(PRIVATE);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setPrivate(boolean isPrivate) {
         setModifier(isPrivate, PRIVATE);
@@ -65,6 +73,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(ABSTRACT);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setAbstract(boolean isAbstract) {
         setModifier(isAbstract, ABSTRACT);
@@ -75,6 +85,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(STATIC);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setStatic(boolean isStatic) {
         setModifier(isStatic, STATIC);
@@ -85,6 +97,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(FINAL);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setFinal(boolean isFinal) {
         setModifier(isFinal, FINAL);
@@ -95,6 +109,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(SYNCHRONIZED);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setSynchronized(boolean isSynchronized) {
         setModifier(isSynchronized, SYNCHRONIZED);
@@ -105,6 +121,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(NATIVE);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setNative(boolean isNative) {
         setModifier(isNative, NATIVE);
@@ -115,6 +133,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(TRANSIENT);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setTransient(boolean isTransient) {
         setModifier(isTransient, TRANSIENT);
@@ -125,6 +145,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(VOLATILE);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setVolatile(boolean isVolative) {
         setModifier(isVolative, VOLATILE);
@@ -135,6 +157,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(STRICTFP);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setStrictfp(boolean isStrictfp) {
         setModifier(isStrictfp, STRICTFP);
@@ -145,6 +169,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return isModifier(DEFAULT);
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setDefault(boolean isDefault) {
         setModifier(isDefault, DEFAULT);
@@ -154,6 +180,8 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
         return (modifiers & mask) == mask;
     }
 
+    @InternalApi
+    @Deprecated
     private void setModifier(boolean enable, int mask) {
         if (enable) {
             this.modifiers |= mask;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java
index a88001025d..35a7d04cc8 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java
@@ -43,6 +43,8 @@ public abstract class AbstractJavaAccessTypeNode extends AbstractJavaAccessNode
         return typeDefinition;
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setTypeDefinition(JavaTypeDefinition typeDefinition) {
         this.typeDefinition = typeDefinition;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
index 30d1fb673c..c9089057f8 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
@@ -88,7 +88,6 @@ public abstract class AbstractJavaNode extends AbstractNode implements JavaNode
     }
 
 
-
     @Override
     public final String getXPathNodeName() {
         return JavaParserTreeConstants.jjtNodeName[id];
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java
index b99dcedd07..e908e0f636 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java
@@ -16,6 +16,7 @@ import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefin
 @Deprecated
 @InternalApi
 public abstract class AbstractJavaTypeNode extends AbstractJavaNode implements TypeNode {
+
     private JavaTypeDefinition typeDefinition;
 
     public AbstractJavaTypeNode(int i) {
@@ -31,6 +32,8 @@ public abstract class AbstractJavaTypeNode extends AbstractJavaNode implements T
         return typeDefinition == null ? null : typeDefinition.getType();
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setType(Class<?> type) {
         typeDefinition = JavaTypeDefinition.forClass(type);
@@ -41,6 +44,8 @@ public abstract class AbstractJavaTypeNode extends AbstractJavaNode implements T
         return typeDefinition;
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setTypeDefinition(JavaTypeDefinition typeDefinition) {
         this.typeDefinition = typeDefinition;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodLikeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodLikeNode.java
index c72392e0ed..377cb438ff 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodLikeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractMethodLikeNode.java
@@ -10,6 +10,7 @@ import net.sourceforge.pmd.lang.java.qname.JavaOperationQualifiedName;
 @Deprecated
 @InternalApi
 public abstract class AbstractMethodLikeNode extends AbstractJavaAccessNode implements MethodLikeNode {
+
     private JavaOperationQualifiedName qualifiedName;
 
 
@@ -23,6 +24,8 @@ public abstract class AbstractMethodLikeNode extends AbstractJavaAccessNode impl
     }
 
 
+    @InternalApi
+    @Deprecated
     public void setQualifiedName(JavaOperationQualifiedName qualifiedName) {
         this.qualifiedName = qualifiedName;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AccessNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AccessNode.java
index 1f233512df..803d1f6f73 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AccessNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AccessNode.java
@@ -4,6 +4,7 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.Node;
 
 /**
@@ -24,57 +25,110 @@ public interface AccessNode extends Node {
     int STRICTFP = 0x1000;
     int DEFAULT = 0x2000;
 
+
     int getModifiers();
 
+
+    @Deprecated
+    @InternalApi
     void setModifiers(int modifiers);
 
+
     boolean isPublic();
 
+
+    @Deprecated
+    @InternalApi
     void setPublic(boolean isPublic);
 
+
     boolean isProtected();
 
+
+    @Deprecated
+    @InternalApi
     void setProtected(boolean isProtected);
 
+
     boolean isPrivate();
 
+
+    @Deprecated
+    @InternalApi
     void setPrivate(boolean isPrivate);
 
+
     boolean isAbstract();
 
+
+    @Deprecated
+    @InternalApi
     void setAbstract(boolean isAbstract);
 
+
     boolean isStatic();
 
+
+    @Deprecated
+    @InternalApi
     void setStatic(boolean isStatic);
 
+
     boolean isFinal();
 
+
+    @Deprecated
+    @InternalApi
     void setFinal(boolean isFinal);
 
+
     boolean isSynchronized();
 
+
+    @Deprecated
+    @InternalApi
     void setSynchronized(boolean isSynchronized);
 
+
     boolean isNative();
 
+
+    @Deprecated
+    @InternalApi
     void setNative(boolean isNative);
 
+
     boolean isTransient();
 
+
+    @Deprecated
+    @InternalApi
     void setTransient(boolean isTransient);
 
+
     boolean isVolatile();
 
+
+    @Deprecated
+    @InternalApi
     void setVolatile(boolean isVolatile);
 
+
     boolean isStrictfp();
 
+
+    @Deprecated
+    @InternalApi
     void setStrictfp(boolean isStrictfp);
 
+
     boolean isPackagePrivate();
 
+
+    @Deprecated
+    @InternalApi
     void setDefault(boolean isDefault);
 
+
     boolean isDefault();
 }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
index 453cb64804..06c39794d1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
@@ -4,6 +4,7 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.symboltable.Scope;
 import net.sourceforge.pmd.lang.symboltable.ScopedNode;
 
@@ -14,13 +15,18 @@ public interface JavaNode extends ScopedNode {
      */
     Object jjtAccept(JavaParserVisitor visitor, Object data);
 
+
     /**
      * Accept the visitor. *
      */
     Object childrenAccept(JavaParserVisitor visitor, Object data);
 
+
     @Override
     Scope getScope();
 
+
+    @Deprecated
+    @InternalApi
     void setScope(Scope scope);
 }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParserVisitorDecorator.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParserVisitorDecorator.java
index 71fccb55cd..8e02752fac 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParserVisitorDecorator.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParserVisitorDecorator.java
@@ -4,19 +4,22 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
+
 /**
  * Decorates a control less visitor. This must be wrapped into a {@link JavaParserDecoratedVisitor} to work properly.
  *
- * @deprecated Visitor decorators are deprecated because they lead to fragile code.
- *
  * @author Clément Fournier
  * @since 6.0.0
+ * @deprecated Visitor decorators are deprecated because they lead to fragile code.
  */
 @Deprecated
 public class JavaParserVisitorDecorator implements JavaParserControllessVisitor {
 
     private JavaParserVisitor visitor;
 
+    @InternalApi
+    @Deprecated
     public void setBase(JavaParserControllessVisitor base) {
         visitor = base;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java
index 91a2518be5..a614dfe947 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java
@@ -4,6 +4,7 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefinition;
 
@@ -19,6 +20,7 @@ public interface TypeNode extends Node {
      */
     Class<?> getType();
 
+
     /**
      * Get the TypeDefinition associated with this node. The Class object
      * contained in the TypeDefinition will always be equal to that which
@@ -28,17 +30,23 @@ public interface TypeNode extends Node {
      */
     JavaTypeDefinition getTypeDefinition();
 
+
     /**
      * Set the TypeDefinition associated with this node.
      *
      * @param type A TypeDefinition object
      */
+    @Deprecated
+    @InternalApi
     void setTypeDefinition(JavaTypeDefinition type);
 
+
     /**
      * Set the Java Class associated with this node.
      *
      * @param type A Java Class
      */
+    @Deprecated
+    @InternalApi
     void setType(Class<?> type);
 }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java
index c962c42c85..cffd277fd0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/package-info.java
@@ -15,7 +15,15 @@
  *     <li>Subclassing of base node classes, or usage of their type.
  *     Version 7.0.0 will bring a new set of abstractions that will
  *     be public API, but the base classes are and will stay internal.
- *     you should not couple your code to them.
+ *     You should not couple your code to them.
+ *     <p>In the meantime you should use interfaces like {@link net.sourceforge.pmd.lang.java.ast.JavaNode}
+ *     or {@link net.sourceforge.pmd.lang.ast.Node}, or the other published
+ *     interfaces in this package, to refer to nodes generically.
+ *     </li>
+ *     <li>Setters found in any node class or interface. Rules should consider
+ *     the AST immutable. We will make those setters package private
+ *     with 7.0.0.
+ *     </li>
  * </ul>
  *
  */

From 97db569ccddb85a1e856b476beb7fde2bd2e3e6d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 28 May 2019 21:57:07 +0200
Subject: [PATCH 149/371] Remove jjtree comments

---
 .../pmd/lang/java/ast/ASTAdditiveExpression.java            | 1 -
 .../pmd/lang/java/ast/ASTAllocationExpression.java          | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTAndExpression.java | 1 -
 .../net/sourceforge/pmd/lang/java/ast/ASTAnnotation.java    | 1 -
 .../pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java   | 2 --
 .../pmd/lang/java/ast/ASTAnnotationTypeBody.java            | 4 ----
 .../pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java     | 1 -
 .../lang/java/ast/ASTAnnotationTypeMemberDeclaration.java   | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTArgumentList.java  | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTArguments.java     | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTArrayDimsAndInits.java | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTArrayInitializer.java  | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTAssertStatement.java   | 1 -
 .../pmd/lang/java/ast/ASTAssignmentOperator.java            | 1 -
 .../java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java    | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTBlockStatement.java    | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java    | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTBreakStatement.java    | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTCastExpression.java    | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTCatchStatement.java    | 1 -
 .../pmd/lang/java/ast/ASTClassOrInterfaceBody.java          | 1 -
 .../lang/java/ast/ASTClassOrInterfaceBodyDeclaration.java   | 4 ----
 .../pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java   | 4 ----
 .../pmd/lang/java/ast/ASTClassOrInterfaceType.java          | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java   | 4 ----
 .../pmd/lang/java/ast/ASTConditionalAndExpression.java      | 1 -
 .../pmd/lang/java/ast/ASTConditionalExpression.java         | 1 -
 .../pmd/lang/java/ast/ASTConditionalOrExpression.java       | 1 -
 .../pmd/lang/java/ast/ASTConstructorDeclaration.java        | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTContinueStatement.java | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTDefaultValue.java  | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTDoStatement.java   | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTEmptyStatement.java    | 4 ----
 .../java/net/sourceforge/pmd/lang/java/ast/ASTEnumBody.java | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java  | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTEnumDeclaration.java   | 1 -
 .../pmd/lang/java/ast/ASTEqualityExpression.java            | 1 -
 .../pmd/lang/java/ast/ASTExclusiveOrExpression.java         | 1 -
 .../pmd/lang/java/ast/ASTExplicitConstructorInvocation.java | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTExpression.java    | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTExtendsList.java   | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTFieldDeclaration.java  | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTFinallyStatement.java  | 4 ----
 .../java/net/sourceforge/pmd/lang/java/ast/ASTForInit.java  | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTForStatement.java  | 1 -
 .../net/sourceforge/pmd/lang/java/ast/ASTForUpdate.java     | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTFormalParameter.java   | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTFormalParameters.java  | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java   | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTImplementsList.java    | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java | 1 -
 .../pmd/lang/java/ast/ASTInclusiveOrExpression.java         | 1 -
 .../net/sourceforge/pmd/lang/java/ast/ASTInitializer.java   | 4 ----
 .../pmd/lang/java/ast/ASTInstanceOfExpression.java          | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTLabeledStatement.java  | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java  | 2 --
 .../java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java  | 4 ----
 .../pmd/lang/java/ast/ASTLocalVariableDeclaration.java      | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTMarkerAnnotation.java  | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTMemberSelector.java    | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTMemberValue.java   | 1 -
 .../pmd/lang/java/ast/ASTMemberValueArrayInitializer.java   | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTMemberValuePair.java   | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTMemberValuePairs.java  | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTMethodDeclaration.java | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTMethodDeclarator.java  | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTMethodReference.java   | 2 --
 .../sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java | 2 --
 .../sourceforge/pmd/lang/java/ast/ASTModuleDirective.java   | 2 --
 .../net/sourceforge/pmd/lang/java/ast/ASTModuleName.java    | 3 ---
 .../pmd/lang/java/ast/ASTMultiplicativeExpression.java      | 1 -
 .../java/net/sourceforge/pmd/lang/java/ast/ASTName.java     | 4 ----
 .../java/net/sourceforge/pmd/lang/java/ast/ASTNameList.java | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTNormalAnnotation.java  | 1 -
 .../net/sourceforge/pmd/lang/java/ast/ASTNullLiteral.java   | 4 ----
 .../pmd/lang/java/ast/ASTPackageDeclaration.java            | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTPostfixExpression.java | 1 -
 .../pmd/lang/java/ast/ASTPreDecrementExpression.java        | 1 -
 .../pmd/lang/java/ast/ASTPreIncrementExpression.java        | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTPrimaryExpression.java | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTPrimitiveType.java | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTRSIGNEDSHIFT.java  | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTRUNSIGNEDSHIFT.java    | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTReferenceType.java | 4 ----
 .../pmd/lang/java/ast/ASTRelationalExpression.java          | 1 -
 .../java/net/sourceforge/pmd/lang/java/ast/ASTResource.java | 2 --
 .../pmd/lang/java/ast/ASTResourceSpecification.java         | 2 --
 .../net/sourceforge/pmd/lang/java/ast/ASTResources.java     | 2 --
 .../net/sourceforge/pmd/lang/java/ast/ASTResultType.java    | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTReturnStatement.java   | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTShiftExpression.java   | 1 -
 .../pmd/lang/java/ast/ASTSingleMemberAnnotation.java        | 1 -
 .../net/sourceforge/pmd/lang/java/ast/ASTStatement.java     | 4 ----
 .../pmd/lang/java/ast/ASTStatementExpression.java           | 4 ----
 .../pmd/lang/java/ast/ASTStatementExpressionList.java       | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java  | 3 ---
 .../net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java   | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTSwitchStatement.java   | 1 -
 .../pmd/lang/java/ast/ASTSynchronizedStatement.java         | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTThrowStatement.java    | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTTryStatement.java  | 1 -
 .../java/net/sourceforge/pmd/lang/java/ast/ASTType.java     | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTTypeArgument.java  | 1 -
 .../net/sourceforge/pmd/lang/java/ast/ASTTypeArguments.java | 1 -
 .../net/sourceforge/pmd/lang/java/ast/ASTTypeBound.java     | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTTypeDeclaration.java   | 4 ----
 .../net/sourceforge/pmd/lang/java/ast/ASTTypeParameter.java | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTTypeParameters.java    | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTUnaryExpression.java   | 1 -
 .../pmd/lang/java/ast/ASTUnaryExpressionNotPlusMinus.java   | 1 -
 .../pmd/lang/java/ast/ASTVariableDeclarator.java            | 1 -
 .../pmd/lang/java/ast/ASTVariableDeclaratorId.java          | 1 -
 .../pmd/lang/java/ast/ASTVariableInitializer.java           | 4 ----
 .../sourceforge/pmd/lang/java/ast/ASTWhileStatement.java    | 1 -
 .../sourceforge/pmd/lang/java/ast/ASTWildcardBounds.java    | 1 -
 .../net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java | 6 ------
 .../java/net/sourceforge/pmd/lang/java/ast/JavaNode.java    | 6 ------
 119 files changed, 303 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAdditiveExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAdditiveExpression.java
index ecb80ee0c1..b2176402ff 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAdditiveExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAdditiveExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTAdditiveExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java
index e679f9d795..e1ea289cdb 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAllocationExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTAllocationExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -25,9 +24,6 @@ public class ASTAllocationExpression extends AbstractJavaTypeNode implements Jav
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAndExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAndExpression.java
index e407f21f38..da11a08327 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAndExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAndExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTAndExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotation.java
index ccbe1478ea..a833a8742b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotation.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTAnnotation.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java
index 7b461b5fd7..e86b9d7eb9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java
@@ -1,8 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTAnnotationMethodDeclaration.java Version 4.1 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY= */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeBody.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeBody.java
index 090859402a..2c8a393ff2 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeBody.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeBody.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTAnnotationTypeBody.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTAnnotationTypeBody extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java
index 6ee9624214..2aa5673e3f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTAnnotationTypeDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeMemberDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeMemberDeclaration.java
index d4a2a7ec45..0ecd782410 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeMemberDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeMemberDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTAnnotationTypeMemberDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTAnnotationTypeMemberDeclaration extends AbstractTypeBodyDeclarat
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArgumentList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArgumentList.java
index 8c1ecb24ab..08c57dd9a7 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArgumentList.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArgumentList.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTArgumentList.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTArgumentList extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArguments.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArguments.java
index cd4aabee54..12b61f6345 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArguments.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArguments.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTArguments.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -28,9 +27,6 @@ public class ASTArguments extends AbstractJavaNode {
         return this.jjtGetChild(0).jjtGetNumChildren();
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayDimsAndInits.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayDimsAndInits.java
index 40e691cf8d..2500e77f8c 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayDimsAndInits.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayDimsAndInits.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTArrayDimsAndInits.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -23,9 +22,6 @@ public class ASTArrayDimsAndInits extends AbstractJavaNode implements Dimensiona
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayInitializer.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayInitializer.java
index f41d75c372..eb4f7145e3 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayInitializer.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTArrayInitializer.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTArrayInitializer.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTArrayInitializer extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssertStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssertStatement.java
index 017ab9bc2b..5cc2414249 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssertStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssertStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTAssertStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java
index 5c35d956da..e562b19a83 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAssignmentOperator.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTAssignmentOperator.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java
index 2b8fae383d..5b32d7be81 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlock.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTBlock.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -23,9 +22,6 @@ public class ASTBlock extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlockStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlockStatement.java
index aa7aa32cdf..3a737d05d4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlockStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBlockStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTBlockStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTBlockStatement extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java
index ef609b61f0..92f631c008 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBooleanLiteral.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTBooleanLiteral.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -33,9 +32,6 @@ public class ASTBooleanLiteral extends AbstractJavaTypeNode {
         return this.isTrue;
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBreakStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBreakStatement.java
index 725fc2ffa0..04cd88176a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBreakStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTBreakStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTBreakStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java
index d9716c71e5..c0022148fa 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCastExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTCastExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -33,9 +32,6 @@ public class ASTCastExpression extends AbstractJavaTypeNode {
         return intersectionTypes;
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCatchStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCatchStatement.java
index 3f8559c62a..9a9b83c2b3 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCatchStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCatchStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTCatchStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java
index b6d6429383..308d2d9faa 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTClassOrInterfaceBody.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBodyDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBodyDeclaration.java
index 11dd3d280d..346775371a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBodyDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBodyDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTClassOrInterfaceBodyDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -40,9 +39,6 @@ public class ASTClassOrInterfaceBodyDeclaration extends AbstractTypeBodyDeclarat
         return false;
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
index aa0c8685da..69151601d7 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTClassOrInterfaceDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -51,9 +50,6 @@ public class ASTClassOrInterfaceDeclaration extends AbstractAnyTypeDeclaration {
         return isNested() || isLocal();
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceType.java
index addd8d337b..f44ecf62e5 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceType.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceType.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTClassOrInterfaceType.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java
index 50ae656ccf..822a48fccc 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTCompilationUnit.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTCompilationUnit.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -40,9 +39,6 @@ public class ASTCompilationUnit extends AbstractJavaTypeNode implements RootNode
         this.comments = comments;
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalAndExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalAndExpression.java
index c31a4f9a17..663326a348 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalAndExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalAndExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTConditionalAndExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
index 81dd723424..9c54d6ae3f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTConditionalExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalOrExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalOrExpression.java
index 515f298a6b..73536f9d46 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalOrExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalOrExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTConditionalOrExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java
index d7ce78b9a9..7d9f433bc7 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConstructorDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTConstructorDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -30,9 +29,6 @@ public class ASTConstructorDeclaration extends AbstractMethodOrConstructorDeclar
         return MethodLikeKind.CONSTRUCTOR;
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTContinueStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTContinueStatement.java
index 4bb9013f0d..6d6f9bebfc 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTContinueStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTContinueStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTContinueStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTContinueStatement extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDefaultValue.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDefaultValue.java
index 8550000cce..dfb88b47c6 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDefaultValue.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDefaultValue.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTDefaultValue.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTDefaultValue extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDoStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDoStatement.java
index a822e30561..8ca91febef 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDoStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTDoStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTDoStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEmptyStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEmptyStatement.java
index 066b846c5c..dce4744d9c 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEmptyStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEmptyStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTEmptyStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTEmptyStatement extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumBody.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumBody.java
index 98956d2e17..14ddf7d459 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumBody.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumBody.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTEnumBody.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTEnumBody extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java
index c712832453..65c797ad0d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumConstant.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTEnumConstant.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -36,9 +35,6 @@ public class ASTEnumConstant extends AbstractJavaNode implements JavaQualifiable
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumDeclaration.java
index 825f0a2be3..edaa96a0bc 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEnumDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTEnumDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEqualityExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEqualityExpression.java
index b65da06bd1..63b4631337 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEqualityExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTEqualityExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTEqualityExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExclusiveOrExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExclusiveOrExpression.java
index f2700dbd82..197376135b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExclusiveOrExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExclusiveOrExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTExclusiveOrExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java
index 1a68cf7205..b06818aba6 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExplicitConstructorInvocation.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTExplicitConstructorInvocation.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -23,9 +22,6 @@ public class ASTExplicitConstructorInvocation extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExpression.java
index 1c9366d4cc..32755d75cb 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -33,9 +32,6 @@ public class ASTExpression extends AbstractJavaTypeNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExtendsList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExtendsList.java
index 503831b07f..40bd6f6f19 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExtendsList.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTExtendsList.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTExtendsList.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -34,9 +33,6 @@ public class ASTExtendsList extends AbstractJavaNode implements Iterable<ASTClas
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFieldDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFieldDeclaration.java
index 65cc796721..722d827b31 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFieldDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFieldDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTFieldDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -54,9 +53,6 @@ public class ASTFieldDeclaration extends AbstractJavaAccessTypeNode implements D
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFinallyStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFinallyStatement.java
index 84f8be95de..fcecbddf4b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFinallyStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFinallyStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTFinallyStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTFinallyStatement extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForInit.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForInit.java
index 7d5e31c6e9..416d3838c2 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForInit.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForInit.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTForInit.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTForInit extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForStatement.java
index 7e6d85d1c5..9ae218b9f2 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTForStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForUpdate.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForUpdate.java
index 633e6daece..dfa24c8a35 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForUpdate.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTForUpdate.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTForUpdate.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -33,9 +32,6 @@ public class ASTForUpdate extends AbstractJavaNode {
     }
 
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
index 2f068a636d..9b93064ea0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTFormalParameter.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameters.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameters.java
index e8589c9afa..40adda2a39 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameters.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameters.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTFormalParameters.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -31,9 +30,6 @@ public class ASTFormalParameters extends AbstractJavaNode implements Iterable<AS
                ? parameters.size() - 1 : parameters.size();
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java
index f8f8112374..26cd2899ea 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTIfStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImplementsList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImplementsList.java
index 1fecdf2ea4..7f95b07739 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImplementsList.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImplementsList.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTImplementsList.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -32,9 +31,6 @@ public class ASTImplementsList extends AbstractJavaNode implements Iterable<ASTC
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
index 736ee6de93..7b701c0c68 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTImportDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInclusiveOrExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInclusiveOrExpression.java
index e55bcdf333..f5c404b103 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInclusiveOrExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInclusiveOrExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTInclusiveOrExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java
index 4cd41e4559..98845224d7 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInitializer.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTInitializer.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -23,9 +22,6 @@ public class ASTInitializer extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInstanceOfExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInstanceOfExpression.java
index 873719ecf4..e16d1a1c58 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInstanceOfExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTInstanceOfExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTInstanceOfExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLabeledStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLabeledStatement.java
index e779f571ed..c728702e03 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLabeledStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLabeledStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTLabeledStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java
index 7a31ac5386..4e0376a8cd 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java
@@ -1,8 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTLambdaExpression.java Version 4.3 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java
index c297d391ef..848592e641 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLiteral.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTLiteral.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -37,9 +36,6 @@ public class ASTLiteral extends AbstractJavaTypeNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLocalVariableDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLocalVariableDeclaration.java
index 1cde17961a..353f95f2c8 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLocalVariableDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLocalVariableDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTLocalVariableDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMarkerAnnotation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMarkerAnnotation.java
index 0ff205f6c0..a3d23bb1fc 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMarkerAnnotation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMarkerAnnotation.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTMarkerAnnotation.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberSelector.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberSelector.java
index 7289287d0e..bfdef259eb 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberSelector.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberSelector.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTMemberSelector.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTMemberSelector extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValue.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValue.java
index 7bd6a83659..22d62bcaed 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValue.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValue.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTMemberValue.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValueArrayInitializer.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValueArrayInitializer.java
index 3b397d535c..a15ff2784c 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValueArrayInitializer.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValueArrayInitializer.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTMemberValueArrayInitializer.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePair.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePair.java
index 4e24eec5ac..fd48557471 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePair.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePair.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTMemberValuePair.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePairs.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePairs.java
index 6002cd6ad1..ab6a64ea44 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePairs.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMemberValuePairs.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTMemberValuePairs.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclaration.java
index e4cc616f67..611a7938df 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTMethodDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclarator.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclarator.java
index 17406c0f88..b6ab1adbee 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclarator.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodDeclarator.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTMethodDeclarator.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -25,9 +24,6 @@ public class ASTMethodDeclarator extends AbstractJavaNode {
         return getFirstChildOfType(ASTFormalParameters.class).getParameterCount();
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java
index 6bf2ee7165..a9f67e1734 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java
@@ -1,8 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTMethodReference.java Version 4.3 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
index 22b5246915..420d6ed23b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
@@ -1,8 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTModuleDeclaration.java Version 4.3 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=true,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
index 20207a44a4..39ec23b808 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
@@ -1,8 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTModuleDirective.java Version 4.3 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=true,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java
index 9f7cb67b1f..bc9eea6143 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java
@@ -2,9 +2,6 @@
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
 
-/* Generated By:JJTree: Do not edit this line. ASTModuleName.java Version 4.3 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=true,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
-
 package net.sourceforge.pmd.lang.java.ast;
 
 import net.sourceforge.pmd.annotation.InternalApi;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMultiplicativeExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMultiplicativeExpression.java
index 9b0dbe24ca..f956064196 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMultiplicativeExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMultiplicativeExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTMultiplicativeExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java
index 3d0b4b4db3..d1070e2aaa 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTName.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTName.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -34,9 +33,6 @@ public class ASTName extends AbstractJavaTypeNode {
         return this.nd;
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNameList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNameList.java
index 7b4977ad36..24a0f90bec 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNameList.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNameList.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTNameList.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTNameList extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNormalAnnotation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNormalAnnotation.java
index 803e9d1948..84775e039d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNormalAnnotation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNormalAnnotation.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTNormalAnnotation.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNullLiteral.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNullLiteral.java
index aa30c4ea89..2b8ccfdc91 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNullLiteral.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTNullLiteral.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTNullLiteral.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTNullLiteral extends AbstractJavaTypeNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPackageDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPackageDeclaration.java
index 9abc57e94b..db17fa9d11 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPackageDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPackageDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTPackageDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTPackageDeclaration extends AbstractJavaAnnotatableNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPostfixExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPostfixExpression.java
index f4265ccbc0..0a6d4686c8 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPostfixExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPostfixExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTPostfixExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreDecrementExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreDecrementExpression.java
index 30d46fe457..55faab82e4 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreDecrementExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreDecrementExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTPreDecrementExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreIncrementExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreIncrementExpression.java
index 73fb8df7db..a1d733e6e2 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreIncrementExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPreIncrementExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTPreIncrementExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryExpression.java
index 1a285e4272..1f2987917c 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTPrimaryExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTPrimaryExpression extends AbstractJavaTypeNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java
index 936ce82ad3..ab0e070eef 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimaryPrefix.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTPrimaryPrefix.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -44,9 +43,6 @@ public class ASTPrimaryPrefix extends AbstractJavaTypeNode {
         return this.usesSuperModifier;
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java
index 903559469c..6981e41d5f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimarySuffix.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTPrimarySuffix.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -59,9 +58,6 @@ public class ASTPrimarySuffix extends AbstractJavaTypeNode {
         return ((ASTArguments) jjtGetChild(jjtGetNumChildren() - 1)).getArgumentCount();
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimitiveType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimitiveType.java
index 33b738e07b..27366a946f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimitiveType.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTPrimitiveType.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTPrimitiveType.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -36,9 +35,6 @@ public class ASTPrimitiveType extends AbstractJavaTypeNode implements Dimensiona
         return "boolean".equals(getImage());
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRSIGNEDSHIFT.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRSIGNEDSHIFT.java
index ad299118da..e5e3a466bd 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRSIGNEDSHIFT.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRSIGNEDSHIFT.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTRSIGNEDSHIFT.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -25,9 +24,6 @@ public class ASTRSIGNEDSHIFT extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRUNSIGNEDSHIFT.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRUNSIGNEDSHIFT.java
index 507c671869..5548bb613d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRUNSIGNEDSHIFT.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRUNSIGNEDSHIFT.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTRUNSIGNEDSHIFT.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -25,9 +24,6 @@ public class ASTRUNSIGNEDSHIFT extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReferenceType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReferenceType.java
index 8c277504d2..e77c4077ef 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReferenceType.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReferenceType.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTReferenceType.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -34,9 +33,6 @@ public class ASTReferenceType extends AbstractJavaTypeNode implements Dimensiona
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRelationalExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRelationalExpression.java
index 0834127794..d425b045b1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRelationalExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTRelationalExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTRelationalExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java
index 2c55febdb5..6449b0087b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java
@@ -1,8 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTResource.java Version 4.1 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY= */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java
index c4c8889f50..c17b5c9328 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java
@@ -1,8 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTResourceSpecification.java Version 4.1 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY= */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java
index 6f5a400918..75a624c863 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java
@@ -1,8 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTResources.java Version 4.1 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY= */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResultType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResultType.java
index d25301d998..77b766cef2 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResultType.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResultType.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTResultType.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -29,9 +28,6 @@ public class ASTResultType extends AbstractJavaNode {
         return jjtGetNumChildren() == 0;
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReturnStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReturnStatement.java
index ba74cc4ff7..2a484192bf 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReturnStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTReturnStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTReturnStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTReturnStatement extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTShiftExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTShiftExpression.java
index 91089a6c15..f4084a081c 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTShiftExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTShiftExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTShiftExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSingleMemberAnnotation.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSingleMemberAnnotation.java
index 9cc4f06a8f..669871cc49 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSingleMemberAnnotation.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSingleMemberAnnotation.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTSingleMemberAnnotation.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatement.java
index 204d420b3a..7ba10fe898 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTStatement extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpression.java
index 0afb129b50..b755fb1834 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTStatementExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTStatementExpression extends AbstractJavaTypeNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpressionList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpressionList.java
index dc07653181..9270f50916 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpressionList.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTStatementExpressionList.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTStatementExpressionList.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTStatementExpressionList extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java
index ae44abd2b8..44e451ccfd 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java
@@ -2,9 +2,6 @@
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
 
-/* Generated By:JJTree: Do not edit this line. ASTSwitchLabeledRule.java Version 4.3 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=true,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
-
 package net.sourceforge.pmd.lang.java.ast;
 
 import net.sourceforge.pmd.annotation.InternalApi;
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java
index 88ab8ebf06..96628f51ef 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTSwitchLabel.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchStatement.java
index 9bf7835c57..6cefd97da5 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTSwitchStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSynchronizedStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSynchronizedStatement.java
index fb6322bce9..6a6695aee6 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSynchronizedStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSynchronizedStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTSynchronizedStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTSynchronizedStatement extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTThrowStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTThrowStatement.java
index adad4e7428..bbf4c23b62 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTThrowStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTThrowStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTThrowStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTThrowStatement extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTryStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTryStatement.java
index beee9366a9..7ac0ee055c 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTryStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTryStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTTryStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java
index 51e0d39353..c94f29c39b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTType.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -32,9 +31,6 @@ public class ASTType extends AbstractJavaTypeNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArgument.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArgument.java
index 42c3a88a4a..6eaa535764 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArgument.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArgument.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTTypeArgument.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArguments.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArguments.java
index 1ce15f55ae..710a819e06 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArguments.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeArguments.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTTypeArguments.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeBound.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeBound.java
index b6c74d1971..a53a2598f8 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeBound.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeBound.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTTypeBound.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeDeclaration.java
index 85a43efba6..ab576bb14d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeDeclaration.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTTypeDeclaration.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -35,9 +34,6 @@ public class ASTTypeDeclaration extends AbstractJavaTypeNode implements CanSuppr
         return false;
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameter.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameter.java
index ef6705238f..5175bae316 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameter.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameter.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTTypeParameter.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameters.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameters.java
index 011a013275..ede79d399b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameters.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTTypeParameters.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTTypeParameters.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpression.java
index 0b71a4c29b..cbf6b79f33 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpression.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTUnaryExpression.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpressionNotPlusMinus.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpressionNotPlusMinus.java
index 939d058f41..6899eb9732 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpressionNotPlusMinus.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTUnaryExpressionNotPlusMinus.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTUnaryExpressionNotPlusMinus.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclarator.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclarator.java
index f1952b89e6..5058b34a9b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclarator.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclarator.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTVariableDeclarator.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
index e51f806b04..e53fbf9665 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTVariableDeclaratorId.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableInitializer.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableInitializer.java
index b8c3a1ebcb..61af812b13 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableInitializer.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableInitializer.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTVariableInitializer.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
@@ -21,9 +20,6 @@ public class ASTVariableInitializer extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWhileStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWhileStatement.java
index c523ca7374..d0dedbf152 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWhileStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWhileStatement.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTWhileStatement.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWildcardBounds.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWildcardBounds.java
index 18dfe90e2f..e4b3616019 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWildcardBounds.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTWildcardBounds.java
@@ -1,7 +1,6 @@
 /**
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
-/* Generated By:JJTree: Do not edit this line. ASTWildcardBounds.java */
 
 package net.sourceforge.pmd.lang.java.ast;
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
index c9089057f8..497b9769e5 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
@@ -45,17 +45,11 @@ public abstract class AbstractJavaNode extends AbstractNode implements JavaNode
         endColumn = parser.token.endColumn;
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
     }
 
-    /**
-     * Accept the visitor. *
-     */
     @Override
     public Object childrenAccept(JavaParserVisitor visitor, Object data) {
         if (children != null) {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
index 06c39794d1..9225c6738a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
@@ -10,15 +10,9 @@ import net.sourceforge.pmd.lang.symboltable.ScopedNode;
 
 public interface JavaNode extends ScopedNode {
 
-    /**
-     * Accept the visitor. *
-     */
     Object jjtAccept(JavaParserVisitor visitor, Object data);
 
 
-    /**
-     * Accept the visitor. *
-     */
     Object childrenAccept(JavaParserVisitor visitor, Object data);
 
 

From ccbf12a2671e2332e1a664787d18aa1ab6989c8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 28 May 2019 21:21:44 +0200
Subject: [PATCH 150/371] Add visit comment

---
 .../pmd/lang/java/ast/JavaNode.java           | 30 ++++++++++++++-----
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
index 9225c6738a..ff75d6de85 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
@@ -4,23 +4,39 @@
 
 package net.sourceforge.pmd.lang.java.ast;
 
-import net.sourceforge.pmd.annotation.InternalApi;
+
 import net.sourceforge.pmd.lang.symboltable.Scope;
 import net.sourceforge.pmd.lang.symboltable.ScopedNode;
 
+
+/**
+ * Root interface for all Nodes of the Java AST.
+ */
 public interface JavaNode extends ScopedNode {
 
+    /**
+     * Calls back the visitor's visit method corresponding to the runtime type of this Node.
+     *
+     * @param visitor Visitor to dispatch
+     * @param data    Visit data
+     */
     Object jjtAccept(JavaParserVisitor visitor, Object data);
 
 
+    /**
+     * Dispatches the given visitor to the children of this node. This is the default implementation
+     * of {@link JavaParserVisitor#visit(JavaNode, Object)}, to which all other default
+     * implementations for visit methods delegate. Unless visit methods are overridden without calling
+     * {@code super.visit}, the visitor performs a depth-first tree walk.
+     *
+     * <p>The return value of the visit methods called on children are ignored.
+     *
+     * @param visitor Visitor to dispatch
+     * @param data    Visit data
+     */
     Object childrenAccept(JavaParserVisitor visitor, Object data);
 
 
-    @Override
-    Scope getScope();
-
-
-    @Deprecated
-    @InternalApi
     void setScope(Scope scope);
+
 }

From fb8744d8a827257ad5347d698ec04aa397671552 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 28 May 2019 21:25:11 +0200
Subject: [PATCH 151/371] Remove duplicate annotations

---
 .../sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java | 1 -
 .../net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java   | 1 -
 .../java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java  | 2 --
 .../net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java | 2 --
 .../sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java  | 1 -
 5 files changed, 7 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
index 9c54d6ae3f..2f79681cd1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTConditionalExpression.java
@@ -43,7 +43,6 @@ public class ASTConditionalExpression extends AbstractJavaTypeNode {
      */
     @InternalApi
     @Deprecated
-    @Deprecated
     public void setTernary() {
         // noop
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
index 9b93064ea0..44ccd8dded 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTFormalParameter.java
@@ -41,7 +41,6 @@ public class ASTFormalParameter extends AbstractJavaAccessTypeNode implements Di
      */
     @InternalApi
     @Deprecated
-    @Deprecated
     public void setVarargs() {
         isVarargs = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java
index 26cd2899ea..f9614c4fe8 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTIfStatement.java
@@ -36,8 +36,6 @@ public class ASTIfStatement extends AbstractJavaNode {
     }
 
 
-    @InternalApi
-    @Deprecated
     @InternalApi
     @Deprecated
     public void setHasElse() {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
index 7b701c0c68..e75f57f64f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
@@ -48,7 +48,6 @@ public class ASTImportDeclaration extends AbstractJavaTypeNode {
      */
     @InternalApi
     @Deprecated
-    @Deprecated
     public void setImportOnDemand() {
         isImportOnDemand = true;
     }
@@ -77,7 +76,6 @@ public class ASTImportDeclaration extends AbstractJavaTypeNode {
      */
     @InternalApi
     @Deprecated
-    @Deprecated
     public void setStatic() {
         isStatic = true;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
index e53fbf9665..36e5663416 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.java
@@ -198,7 +198,6 @@ public class ASTVariableDeclaratorId extends AbstractJavaTypeNode implements Dim
      */
     @InternalApi
     @Deprecated
-    @Deprecated
     public void setExplicitReceiverParameter() {
         explicitReceiverParameter = true;
     }

From 2a73ee7d977ae4181f270730f68b2911cb8cee8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 28 May 2019 21:35:48 +0200
Subject: [PATCH 152/371] Update release notes

---
 docs/pages/release_notes.md | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..646ac3cadb 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -18,6 +18,30 @@ This is a {{ site.pmd.release_type }} release.
 
 ### API Changes
 
+#### Deprecated APIs
+
+> Reminder: Please don't use members marked with the annotation {% jdoc core::annotation.InternalApi %}, as they will likely be removed, hidden, or otherwise intentionally broken with 7.0.0.
+
+
+##### In ASTs
+
+As part of the changes we'd like to do to AST classes for 7.0.0, we would like to
+hide some methods and constructors that rule writers should not have access to.
+The following usages are now deprecated **in the Java AST** (with other languages to come):
+
+* Manual instantiation of nodes. **Constructors of node classes are deprecated** and marked {% jdoc core::annotation.InternalApi %}. Nodes should only be obtained from the parser, which for rules, means that never need to instantiate node themselves. Those constructors will be made package private with 7.0.0.
+* **Subclassing of abstract node classes, or usage of their type**. Version 7.0.0 will bring a new set of abstractions that will be public API, but the base classes are and will stay internal. You should not couple your code to them.
+  * In the meantime you should use interfaces like {% jdoc java::lang.java.ast.JavaNode %} or  {% jdoc core::lang.ast.Node %}, or the other published interfaces in this package, to refer to nodes generically.
+  * Concrete node classes will also most probably **be made final** with 7.0.0.
+* Setters found in any node class or interface. **Rules should consider the AST immutable**. We will make those setters package private with 7.0.0.
+
+Please look at {% jdoc_package java::lang.java.ast %} to find out the full list
+of deprecations.
+
+
+
+
+
 ### External Contributions
 
 {% endtocmaker %}

From ff579dfd53e138b74bc380496ab382d823386f36 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Wed, 29 May 2019 10:15:15 +0200
Subject: [PATCH 153/371] Fix repeated annotation

---
 .../java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java  | 2 --
 1 file changed, 2 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java
index 96628f51ef..3c795af045 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabel.java
@@ -37,8 +37,6 @@ public class ASTSwitchLabel extends AbstractJavaNode {
     }
 
 
-    @InternalApi
-    @Deprecated
     @InternalApi
     @Deprecated
     public void setDefault() {

From 10158751d2f2ff9b3f6b4f55a5b079b5ad6642d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Thu, 30 May 2019 14:53:16 +0200
Subject: [PATCH 154/371] Fix local class modifiers being forgotten

---
 pmd-java/etc/grammar/Java.jjt | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/pmd-java/etc/grammar/Java.jjt b/pmd-java/etc/grammar/Java.jjt
index 44def98dbb..e603105977 100644
--- a/pmd-java/etc/grammar/Java.jjt
+++ b/pmd-java/etc/grammar/Java.jjt
@@ -1698,8 +1698,7 @@ void ClassOrInterfaceDeclaration(int modifiers):
     inInterface = false;
 }
 {
-  ( /* See note about this optional final modifier in BlockStatement */
-    ["final"|"abstract"] "class" | "interface" { jjtThis.setInterface(); inInterface = true; } )
+  ( "class" | "interface" { jjtThis.setInterface(); inInterface = true; } )
   t=<IDENTIFIER> { checkForBadTypeIdentifierUsage(t.image); jjtThis.setImage(t.image); }
   [ TypeParameters() ]
   [ ExtendsList() ]
@@ -2423,13 +2422,22 @@ void BlockStatement():
 |
   Statement()
 |
-  /*
-  TODO: Seems like we should be discarding the "final"
-  after using it in the lookahead; I added a ["final|abstract"] inside
-  ClassOrInterfaceDeclaration, but that seems like a hack that
-  could break other things...
-  */
-  LOOKAHEAD( (Annotation())* ["final"|"abstract"] "class") (Annotation())* ClassOrInterfaceDeclaration(0)
+  // we don't need to lookahead further here
+  // the ambiguity between start of local class and local variable decl
+  // is already handled in the lookahead guarding LocalVariableDeclaration above.
+  LocalClassDecl()
+}
+
+void LocalClassDecl() #void:
+{int mods = 0;}
+{
+    // this preserves the modifiers of the local class.
+    // it allows for modifiers that are forbidden for local classes,
+    // but anyway we are *not* checking modifiers for incompatibilities
+    // anywhere else in this grammar (and indeed the production Modifiers
+    // accepts any modifier explicitly for the purpose of forgiving modifier errors,
+    // and reporting them later if needed --see its documentation).
+    mods=Modifiers() ClassOrInterfaceDeclaration(mods)
 }
 
 /*

From 06b84079b93d8d00c0191966cef0cc743dbed051 Mon Sep 17 00:00:00 2001
From: "artem.krosheninnikov" <artem.krosheninnikov@team.wrike.com>
Date: Thu, 30 May 2019 15:54:05 +0300
Subject: [PATCH 155/371] #1845 Regression in MethodReturnsInternalArray not
 handling enums

---
 .../bestpractices/AbstractSunSecureRule.java  |  4 +--
 .../MethodReturnsInternalArrayRule.java       |  6 ++---
 .../xml/MethodReturnsInternalArray.xml        | 27 +++++++++++++++++++
 3 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/AbstractSunSecureRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/AbstractSunSecureRule.java
index 7f5b727cd9..542a58dc2f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/AbstractSunSecureRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/AbstractSunSecureRule.java
@@ -6,8 +6,8 @@ package net.sourceforge.pmd.lang.java.rule.bestpractices;
 
 import java.util.List;
 
-import net.sourceforge.pmd.lang.ast.AbstractNode;
 import net.sourceforge.pmd.lang.ast.Node;
+import net.sourceforge.pmd.lang.java.ast.ASTAnyTypeDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTConditionalExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTEqualityExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration;
@@ -38,7 +38,7 @@ public abstract class AbstractSunSecureRule extends AbstractJavaRule {
      * @return <code>true</code> if there is a field in the type declaration
      *         named varName, <code>false</code> in other case
      */
-    protected final boolean isField(String varName, AbstractNode typeDeclaration) {
+    protected final boolean isField(String varName, ASTAnyTypeDeclaration typeDeclaration) {
         final List<ASTFieldDeclaration> fds = typeDeclaration.findDescendantsOfType(ASTFieldDeclaration.class);
         if (fds != null) {
             for (ASTFieldDeclaration fd : fds) {
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java
index 7578c8cda7..afdb3805ab 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java
@@ -6,9 +6,9 @@ package net.sourceforge.pmd.lang.java.rule.bestpractices;
 
 import java.util.List;
 
+import net.sourceforge.pmd.lang.java.ast.ASTAnyTypeDeclaration;
 import org.jaxen.JaxenException;
 
-import net.sourceforge.pmd.lang.ast.AbstractNode;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.ast.ASTAllocationExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTArrayInitializer;
@@ -46,7 +46,7 @@ public class MethodReturnsInternalArrayRule extends AbstractSunSecureRule {
             return data;
         }
         List<ASTReturnStatement> returns = method.findDescendantsOfType(ASTReturnStatement.class);
-        ASTClassOrInterfaceDeclaration td = method.getFirstParentOfType(ASTClassOrInterfaceDeclaration.class);
+        ASTAnyTypeDeclaration td = method.getFirstParentOfType(ASTAnyTypeDeclaration.class);
         for (ASTReturnStatement ret : returns) {
             final String vn = getReturnedVariableName(ret);
             if (!isField(vn, td)) {
@@ -111,7 +111,7 @@ public class MethodReturnsInternalArrayRule extends AbstractSunSecureRule {
         return false;
     }
 
-    private boolean isEmptyArray(String varName, AbstractNode typeDeclaration) {
+    private boolean isEmptyArray(String varName, ASTAnyTypeDeclaration typeDeclaration) {
         final List<ASTFieldDeclaration> fds = typeDeclaration.findDescendantsOfType(ASTFieldDeclaration.class);
         if (fds != null) {
             for (ASTFieldDeclaration fd : fds) {
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
index d53ded6b2d..4adaf5b87e 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
@@ -239,4 +239,31 @@ public class Outer {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>#1845 Regression in MethodReturnsInternalArray not handling enums</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.util.Arrays;
+public enum MethodReturnsInternalArrayCaseEnum {
+    ONE("One"),
+    TWO("Two", "Three");
+
+    private String[] titles;
+
+    MethodReturnsInternalArrayCaseEnum(String... titles) {
+        this.titles = Arrays.copyOf(titles, titles.length);
+    }
+
+    public String[] getTitles() {
+        return titles.clone();
+    }
+
+    @Override
+    public String toString() {
+        return titles[0];
+    }
+}
+        ]]></code>
+    </test-code>
+
 </test-data>

From 396bdeea908e3719c5d60c982e8d2b0a8f5ea221 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Thu, 30 May 2019 14:59:25 +0200
Subject: [PATCH 156/371] Fix package privateism

---
 .../ast/ASTClassOrInterfaceDeclaration.java   |  4 +++
 .../ASTClassOrInterfaceDeclarationTest.java   | 30 +++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
index 9f1ed15a26..54abc1726f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclaration.java
@@ -55,6 +55,10 @@ public class ASTClassOrInterfaceDeclaration extends AbstractAnyTypeDeclaration {
         return visitor.visit(this, data);
     }
 
+    @Override
+    public boolean isPackagePrivate() {
+        return super.isPackagePrivate() && !isLocal();
+    }
 
     /**
      * Returns true if the class is declared inside a block other
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclarationTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclarationTest.java
index 1781788e4b..44a24b7474 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclarationTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclarationTest.java
@@ -29,6 +29,9 @@ public class ASTClassOrInterfaceDeclarationTest {
     private static final String LOCAL_CLASS_IN_INITIALIZER
             = "class Foo { { class Local {} } }";
 
+    private static final String LOCAL_CLASS_WITH_MODIFIERS
+            = "class Foo { { abstract class Local {} } }";
+
     private static final String LOCAL_CHILDREN_ARE_NOT_ALWAYS_LOCAL
             = "class Foo { { class Local { class Nested {} void bar() {class Local2 {}}}}}";
 
@@ -53,6 +56,33 @@ public class ASTClassOrInterfaceDeclarationTest {
     }
 
 
+
+    @Test
+    public void testLocalAbstractClass() {
+        List<ASTClassOrInterfaceDeclaration> classes = ParserTstUtil.getOrderedNodes(ASTClassOrInterfaceDeclaration.class, LOCAL_CLASS_WITH_MODIFIERS);
+        assertTrue(classes.size() == 2);
+
+        assertFalse("Local class false-positive", classes.get(0).isLocal());
+        assertTrue("Local class false-negative", classes.get(1).isLocal());
+        assertTrue("Local class should preserve its modifiers", classes.get(1).isAbstract());
+    }
+
+
+
+    @Test
+    public void testLocalClassVisibility() {
+        List<ASTClassOrInterfaceDeclaration> classes = ParserTstUtil.getOrderedNodes(ASTClassOrInterfaceDeclaration.class, LOCAL_CLASS_WITH_MODIFIERS);
+        assertTrue(classes.size() == 2);
+
+        assertFalse("Local class false-positive", classes.get(0).isLocal());
+        assertTrue("Local class false-negative", classes.get(1).isLocal());
+        assertFalse("Local class is not public", classes.get(1).isPublic());
+        assertFalse("Local class is not private", classes.get(1).isPrivate());
+        assertFalse("Local class is not protected", classes.get(1).isProtected());
+        assertFalse("Local class is not package-private", classes.get(1).isPackagePrivate());
+    }
+
+
     @Test
     public void testNestedClassIsNotLocal() {
         List<ASTClassOrInterfaceDeclaration> classes = ParserTstUtil.getOrderedNodes(ASTClassOrInterfaceDeclaration.class, NESTED_CLASS_IS_NOT_LOCAL);

From 39921f40b4d7e7dec1da0ed8defdded6da65481d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Thu, 30 May 2019 15:06:50 +0200
Subject: [PATCH 157/371] Add to grammar changelog

---
 pmd-java/etc/grammar/Java.jjt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/pmd-java/etc/grammar/Java.jjt b/pmd-java/etc/grammar/Java.jjt
index e603105977..cb17af7950 100644
--- a/pmd-java/etc/grammar/Java.jjt
+++ b/pmd-java/etc/grammar/Java.jjt
@@ -1,4 +1,7 @@
 /**
+ * Fix #1848 Local classes should preserve their modifiers
+ * Clément Fournier 05/2019
+ *====================================================================
  * Add support for Java 12 switch expressions and switch rules.
  * Andreas Dangel, Clément Fournier 03/2019
  *====================================================================

From 0df9870ec47ca8e14b5f3934ba0f8f66655c663c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Thu, 30 May 2019 15:11:17 +0200
Subject: [PATCH 158/371] Add regression test for modifiers mixed with
 annotations

---
 .../ast/ASTClassOrInterfaceDeclarationTest.java    | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclarationTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclarationTest.java
index 44a24b7474..0390203714 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclarationTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceDeclarationTest.java
@@ -32,6 +32,9 @@ public class ASTClassOrInterfaceDeclarationTest {
     private static final String LOCAL_CLASS_WITH_MODIFIERS
             = "class Foo { { abstract class Local {} } }";
 
+    private static final String LOCAL_CLASS_WITH_MIXED_MODIFIER_ANNOTATIONS
+            = "class Foo { { final @F class Local {} } }";
+
     private static final String LOCAL_CHILDREN_ARE_NOT_ALWAYS_LOCAL
             = "class Foo { { class Local { class Nested {} void bar() {class Local2 {}}}}}";
 
@@ -68,6 +71,17 @@ public class ASTClassOrInterfaceDeclarationTest {
     }
 
 
+    @Test
+    public void testLocalClassWithMixedModifiers() {
+        List<ASTClassOrInterfaceDeclaration> classes = ParserTstUtil.getOrderedNodes(ASTClassOrInterfaceDeclaration.class, LOCAL_CLASS_WITH_MIXED_MODIFIER_ANNOTATIONS);
+        assertTrue(classes.size() == 2);
+
+        assertFalse("Local class false-positive", classes.get(0).isLocal());
+        assertTrue("Local class false-negative", classes.get(1).isLocal());
+        assertTrue("Local class should preserve its modifiers", classes.get(1).isFinal());
+    }
+
+
 
     @Test
     public void testLocalClassVisibility() {

From 94afed80dfc12898b14bb144feff0a48358fc020 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Thu, 30 May 2019 15:48:55 +0200
Subject: [PATCH 159/371] Fix ambiguity with switch

---
 pmd-java/etc/grammar/Java.jjt | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/pmd-java/etc/grammar/Java.jjt b/pmd-java/etc/grammar/Java.jjt
index cb17af7950..6e7ac5c3fa 100644
--- a/pmd-java/etc/grammar/Java.jjt
+++ b/pmd-java/etc/grammar/Java.jjt
@@ -445,6 +445,17 @@ public class JavaParser {
     return getToken(1).kind == IDENTIFIER && getToken(1).image.equals(keyword);
   }
 
+  private boolean shouldStartStatementInSwitch() {
+    switch (getToken(1).kind) {
+        case _DEFAULT:
+        case CASE:
+        case RBRACE:
+            return false;
+        default:
+            return true;
+    }
+  }
+
   public Map<Integer, String> getSuppressMap() {
     return token_source.getSuppressMap();
   }
@@ -2440,6 +2451,10 @@ void LocalClassDecl() #void:
     // anywhere else in this grammar (and indeed the production Modifiers
     // accepts any modifier explicitly for the purpose of forgiving modifier errors,
     // and reporting them later if needed --see its documentation).
+
+    // In particular, it unfortunately allows local class declarations to start
+    // with a "default" modifier, which introduces an ambiguity with default
+    // switch labels. This is guarded by a custom lookahead around SwitchLabel
     mods=Modifiers() ClassOrInterfaceDeclaration(mods)
 }
 
@@ -2495,7 +2510,11 @@ void SwitchBlock() #void :
             (
                 "->" SwitchLabeledRulePart() (SwitchLabeledRule())*
             |
-                ":" (LOOKAHEAD(2) SwitchLabel() ":")* (BlockStatement())* (SwitchLabeledStatementGroup())*
+                ":" (LOOKAHEAD(2) SwitchLabel() ":")*
+                    // the lookahead is to prevent choosing BlockStatement when the token is "default",
+                    // which could happen as local class declarations accept the "default" modifier.
+                    (LOOKAHEAD({shouldStartStatementInSwitch()}) BlockStatement())*
+                    (SwitchLabeledStatementGroup())*
             )
         )?
     "}"
@@ -2523,7 +2542,10 @@ void SwitchLabeledRulePart() #void:
 void SwitchLabeledStatementGroup() #void:
 {}
 {
-    (LOOKAHEAD(2) SwitchLabel() ":")+ ( BlockStatement() )*
+    (LOOKAHEAD(2) SwitchLabel() ":")+
+        // the lookahead is to prevent choosing BlockStatement when the token is "default",
+        // which could happen as local class declarations accept the "default" modifier.
+        (LOOKAHEAD({shouldStartStatementInSwitch()}) BlockStatement() )*
 }
 
 void SwitchLabel() :

From 10b39e42662c1644d82771f4ce7d25adbeec2845 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 30 May 2019 11:13:05 +0200
Subject: [PATCH 160/371] Add test case for INSERT INTO with RETURNING

---
 .../lang/plsql/ast/InsertIntoClauseTest.java  | 32 +++++++++++++++++++
 .../pmd/lang/plsql/ast/InsertIntoClause.pls   | 29 +++++++++++++++++
 .../plsql/ast/InsertIntoClauseReturning.pls   | 14 ++++++++
 3 files changed, 75 insertions(+)
 create mode 100644 pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseTest.java
 create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClause.pls
 create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseReturning.pls

diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseTest.java
new file mode 100644
index 0000000000..e98bf0e5bd
--- /dev/null
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseTest.java
@@ -0,0 +1,32 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.plsql.ast;
+
+import java.nio.charset.StandardCharsets;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.Assert;
+import org.junit.Test;
+
+import net.sourceforge.pmd.lang.plsql.AbstractPLSQLParserTst;
+
+public class InsertIntoClauseTest extends AbstractPLSQLParserTst {
+
+    @Test
+    public void parseInsertInto() throws Exception {
+        String code = IOUtils.toString(this.getClass().getResourceAsStream("InsertIntoClause.pls"),
+                StandardCharsets.UTF_8);
+        ASTInput input = parsePLSQL(code);
+        Assert.assertNotNull(input);
+    }
+
+    @Test
+    public void parseInsertIntoReturning() throws Exception {
+        String code = IOUtils.toString(this.getClass().getResourceAsStream("InsertIntoClauseReturning.pls"),
+                StandardCharsets.UTF_8);
+        ASTInput input = parsePLSQL(code);
+        Assert.assertNotNull(input);
+    }
+}
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClause.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClause.pls
new file mode 100644
index 0000000000..66c6e94b06
--- /dev/null
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClause.pls
@@ -0,0 +1,29 @@
+--
+-- See https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/INSERT.html#GUID-903F8043-0254-4EE9-ACC1-CB8AC0AF3423
+--
+BEGIN
+
+INSERT INTO departments
+   VALUES (280, 'Recreation', 121, 1700);
+
+INSERT INTO departments
+   VALUES (280, 'Recreation', DEFAULT, 1700);
+
+INSERT INTO employees (employee_id, last_name, email, 
+      hire_date, job_id, salary, commission_pct) 
+   VALUES (207, 'Gregory', 'pgregory@example.com', 
+      sysdate, 'PU_CLERK', 1.2E3, NULL);
+
+INSERT INTO 
+   (SELECT employee_id, last_name, email, hire_date, job_id, 
+      salary, commission_pct FROM employees) 
+   VALUES (207, 'Gregory', 'pgregory@example.com', 
+      sysdate, 'PU_CLERK', 1.2E3, NULL);
+
+INSERT INTO bonuses
+   SELECT employee_id, salary*1.1 
+   FROM employees
+   WHERE commission_pct > 0.25; 
+
+END;
+/
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseReturning.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseReturning.pls
new file mode 100644
index 0000000000..5ded5b9572
--- /dev/null
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseReturning.pls
@@ -0,0 +1,14 @@
+--
+-- See https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/INSERT.html#GUID-903F8043-0254-4EE9-ACC1-CB8AC0AF3423
+--
+BEGIN
+
+INSERT INTO employees 
+      (employee_id, last_name, email, hire_date, job_id, salary)
+   VALUES 
+   (employees_seq.nextval, 'Doe', 'john.doe@example.com', 
+       SYSDATE, 'SH_CLERK', 2400) 
+   RETURNING salary*12, job_id INTO :bnd1, :bnd2;
+
+END;
+/

From 9e453de89c35dc411d6802f0c3741d8eb535c20d Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 30 May 2019 21:37:13 +0200
Subject: [PATCH 161/371] Add test cases for implicit cursor attributes
 BULK_ROWCOUNT and BULK_EXCEPTIONS

---
 .../lang/plsql/ast/CursorAttributesTest.java  |  7 +++
 .../pmd/lang/plsql/ast/CursorAttributes.pls   | 24 ++++++++
 .../ast/CursorAttributesBulkExceptions.pls    | 55 +++++++++++++++++++
 3 files changed, 86 insertions(+)
 create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CursorAttributesBulkExceptions.pls

diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CursorAttributesTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CursorAttributesTest.java
index 4e4dc6ea60..a7e232484b 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CursorAttributesTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CursorAttributesTest.java
@@ -19,4 +19,11 @@ public class CursorAttributesTest extends AbstractPLSQLParserTst {
         Assert.assertEquals("TestSearch%notfound", exp.getImage());
     }
 
+    @Test
+    public void parseImplicitCursorAttributeBulkExceptions() {
+        String code = loadTestResource("CursorAttributesBulkExceptions.pls");
+        ASTInput input = parsePLSQL(code);
+        Assert.assertNotNull(input);
+    }
+
 }
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CursorAttributes.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CursorAttributes.pls
index 79dec6cdca..aac0a01d2a 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CursorAttributes.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CursorAttributes.pls
@@ -29,4 +29,28 @@ begin
 end testif;
 
 end lpe_test;
+/
+
+--
+-- Implicit cursor attributes
+-- https://docs.oracle.com/en/database/oracle/oracle-database/18/lnpls/implicit-cursor-attribute.html#GUID-5A938EE7-E8D2-468C-B60F-81898F110BE1
+-- Example from: https://docs.oracle.com/en/database/oracle/oracle-database/18/lnpls/plsql-optimization-and-tuning.html#GUID-DDB5CCDA-8060-4511-BA20-4D1F2C478412
+--
+
+DECLARE
+  TYPE NumList IS TABLE OF NUMBER;
+  depts NumList := NumList(30, 50, 60);
+BEGIN
+  FORALL j IN depts.FIRST..depts.LAST
+    DELETE FROM emp_temp WHERE department_id = depts(j);
+
+  FOR i IN depts.FIRST..depts.LAST LOOP
+    DBMS_OUTPUT.PUT_LINE (
+      'Statement #' || i || ' deleted ' ||
+      SQL%BULK_ROWCOUNT(i) || ' rows.'
+    );
+  END LOOP;
+
+  DBMS_OUTPUT.PUT_LINE('Total rows deleted: ' || SQL%ROWCOUNT);
+END;
 /
\ No newline at end of file
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CursorAttributesBulkExceptions.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CursorAttributesBulkExceptions.pls
new file mode 100644
index 0000000000..a87cbe1860
--- /dev/null
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CursorAttributesBulkExceptions.pls
@@ -0,0 +1,55 @@
+--
+-- Implicit cursor attributes
+-- https://docs.oracle.com/en/database/oracle/oracle-database/18/lnpls/implicit-cursor-attribute.html#GUID-5A938EE7-E8D2-468C-B60F-81898F110BE1
+-- Example from: https://docs.oracle.com/en/database/oracle/oracle-database/18/lnpls/plsql-optimization-and-tuning.html#GUID-DAF46F06-EF3F-4B1A-A518-5238B80C69FA
+--
+
+CREATE OR REPLACE PROCEDURE p AUTHID DEFINER AS
+  TYPE NumList IS TABLE OF NUMBER;
+  depts        NumList := NumList(10, 20, 30);
+ 
+  error_message  VARCHAR2(100);
+  bad_stmt_no    PLS_INTEGER;
+  bad_deptno     emp_temp.deptno%TYPE;
+  bad_job        emp_temp.job%TYPE;
+ 
+  dml_errors  EXCEPTION;
+  PRAGMA EXCEPTION_INIT(dml_errors, -24381);
+BEGIN
+  -- Populate table:
+ 
+  INSERT INTO emp_temp (deptno, job) VALUES (10, 'Clerk');
+  INSERT INTO emp_temp (deptno, job) VALUES (20, 'Bookkeeper');
+  INSERT INTO emp_temp (deptno, job) VALUES (30, 'Analyst');
+  COMMIT;
+ 
+  -- Append 9-character string to each job:
+ 
+  FORALL j IN depts.FIRST..depts.LAST SAVE EXCEPTIONS
+    UPDATE emp_temp SET job = job || ' (Senior)'
+    WHERE deptno = depts(j); 
+ 
+EXCEPTION
+  WHEN dml_errors THEN
+    FOR i IN 1..SQL%BULK_EXCEPTIONS.COUNT LOOP
+      error_message := SQLERRM(-(SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
+      DBMS_OUTPUT.PUT_LINE (error_message);
+ 
+      bad_stmt_no := SQL%BULK_EXCEPTIONS(i).ERROR_INDEX;
+      DBMS_OUTPUT.PUT_LINE('Bad statement #: ' || bad_stmt_no);
+ 
+      bad_deptno := depts(bad_stmt_no);
+      DBMS_OUTPUT.PUT_LINE('Bad department #: ' || bad_deptno);
+ 
+      SELECT job INTO bad_job FROM emp_temp WHERE deptno = bad_deptno;
+ 
+      DBMS_OUTPUT.PUT_LINE('Bad job: ' || bad_job);
+    END LOOP;
+ 
+    COMMIT;  -- Commit results of successful updates
+
+    WHEN OTHERS THEN
+      DBMS_OUTPUT.PUT_LINE('Unrecognized error.');
+      RAISE;
+END;
+/
\ No newline at end of file

From 01fe61906f7171ceef121ea419afeb3f0846e6a2 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 30 May 2019 21:54:33 +0200
Subject: [PATCH 162/371] Add test for TRIM expression without trim_character

---
 .../net/sourceforge/pmd/lang/plsql/ast/TrimFunction.pls      | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/TrimFunction.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/TrimFunction.pls
index 93679e1840..a2c0ca52cf 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/TrimFunction.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/TrimFunction.pls
@@ -11,4 +11,9 @@ select max(cmp_id)
         from companies
         where trim(leading '0' from sap_number) = trim(leading '0' from v_sap_nr);
 
+select max(cmp_id)
+        into v_cmp_id
+        from companies
+        where trim(sap_number) = trim(v_sap_nr);
+
 END;

From a7eacbb5615a5739eb150567659e2ff9c2ce2a04 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 30 May 2019 22:05:32 +0200
Subject: [PATCH 163/371] Add unit test for INSERT INTO with records

---
 .../lang/plsql/ast/InsertIntoClauseTest.java    |  8 ++++++++
 .../lang/plsql/ast/InsertIntoClauseRecord.pls   | 17 +++++++++++++++++
 2 files changed, 25 insertions(+)
 create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseRecord.pls

diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseTest.java
index e98bf0e5bd..16b8614eef 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseTest.java
@@ -29,4 +29,12 @@ public class InsertIntoClauseTest extends AbstractPLSQLParserTst {
         ASTInput input = parsePLSQL(code);
         Assert.assertNotNull(input);
     }
+
+    @Test
+    public void parseInsertIntoWithRecord() throws Exception {
+        String code = IOUtils.toString(this.getClass().getResourceAsStream("InsertIntoClauseRecord.pls"),
+                StandardCharsets.UTF_8);
+        ASTInput input = parsePLSQL(code);
+        Assert.assertNotNull(input);
+    }
 }
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseRecord.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseRecord.pls
new file mode 100644
index 0000000000..509b35c43a
--- /dev/null
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClauseRecord.pls
@@ -0,0 +1,17 @@
+--
+-- https://docs.oracle.com/en/database/oracle/oracle-database/18/lnpls/INSERT-statement-extension.html#GUID-D81224C4-06DE-4635-A850-41D29D4A8E1B
+-- https://blogs.oracle.com/oraclemagazine/working-with-records
+--
+
+DECLARE
+   l_employee   omag_employees%ROWTYPE;
+BEGIN
+   l_employee.employee_id := 500;
+   l_employee.last_name := 'Mondrian';
+   l_employee.salary := 2000;
+
+   INSERT
+     INTO omag_employees 
+   VALUES l_employee;
+END;
+/

From c651e92ca5ea761ed2e28e86f22fcb2b34c08021 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 30 May 2019 22:18:41 +0200
Subject: [PATCH 164/371] Fix plsql grammar

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 77e2a25fc0..cd13423293 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -27,6 +27,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
 /**
+ * Various fixes for INSERT INTO with records, implicit cursor attributes
+ * and trim expression.
+ *
+ * Hugo Araya Nash 05/2019
+ *====================================================================
  * Added support for XMLTABLE, XMLEXISTS, XMLCAST, XMLQUERY, CAST, XMLFOREST
  * and XMLELEMENT
  *
@@ -1536,6 +1541,7 @@ ASTSimpleExpression SimpleExpression() :
         ( "*" | Column() ) { sb.append(token.image); }
  |
     // Named Cursor: https://docs.oracle.com/en/database/oracle/oracle-database/18/lnpls/named-cursor-attribute.html#GUID-CD8D8415-FF19-4D81-99BA-7825FD40CC96
+    // Implicit Cursor: https://docs.oracle.com/en/database/oracle/oracle-database/18/lnpls/implicit-cursor-attribute.html#GUID-5A938EE7-E8D2-468C-B60F-81898F110BE1
     LOOKAHEAD(3)
         Column() { sb.append(token.image); } "%" ( LOOKAHEAD({isKeyword("isopen")}) KEYWORD("ISOPEN")
                      | LOOKAHEAD({isKeyword("found")}) KEYWORD("FOUND")
@@ -2284,7 +2290,12 @@ ASTInsertIntoClause InsertIntoClause() :
 ASTValuesClause ValuesClause() :
 {}
 {
-    <VALUES> [ "(" ( Expression() | <_DEFAULT> ) ( "," ( Expression() | <_DEFAULT> ) )* ")" | <IDENTIFIER> ]
+    <VALUES>
+    (
+        "(" ( Expression() | <_DEFAULT> ) ( "," ( Expression() | <_DEFAULT> ) )* ")"
+    |
+        ID() // that's a record variable name
+    )
     { return jjtThis; }
 }
 ASTMultiTableInsert MultiTableInsert() :
@@ -2905,12 +2916,14 @@ ASTTrimExpression TrimExpression() :
 { PLSQLNode simpleNode = null; StringBuilder sb = new StringBuilder() ; }
 {
   (
-	"(" { sb.append("(");}
-	 [ [ ( <LEADING> | <TRAILING> | <BOTH> ) { sb.append(" "); sb.append(token.toString()); }  ]
-	 [ <CHARACTER_LITERAL>  { sb.append(" ");  sb.append(token.image); } ]
-	 ( <FROM> ) { sb.append(token.image); } ]
-	 simpleNode = StringExpression() { sb.append(" "); sb.append(simpleNode.getImage()); }
-	")" { sb.append(")");}
+    "(" { sb.append("(");}
+     [ LOOKAHEAD(2)
+        [ ( <LEADING> | <TRAILING> | <BOTH> ) { sb.append(" "); sb.append(token.toString()); } ]
+        [ simpleNode = StringExpression() { sb.append(" "); sb.append(simpleNode.getImage()); } ]
+        ( <FROM> ) { sb.append(" ").append(token.image); }
+     ]
+     simpleNode = StringExpression() { sb.append(" "); sb.append(simpleNode.getImage()); }
+    ")" { sb.append(")");}
   )
  {
  jjtThis.setImage(sb.toString()); return jjtThis;

From 7f619ebe1489830c38edef8003f4f3528d323548 Mon Sep 17 00:00:00 2001
From: "artem.krosheninnikov" <artem.krosheninnikov@team.wrike.com>
Date: Fri, 31 May 2019 16:37:58 +0300
Subject: [PATCH 165/371] fix checkstyle violation

---
 .../java/rule/bestpractices/MethodReturnsInternalArrayRule.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java
index afdb3805ab..1e3eb552b8 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/MethodReturnsInternalArrayRule.java
@@ -6,11 +6,11 @@ package net.sourceforge.pmd.lang.java.rule.bestpractices;
 
 import java.util.List;
 
-import net.sourceforge.pmd.lang.java.ast.ASTAnyTypeDeclaration;
 import org.jaxen.JaxenException;
 
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.ast.ASTAllocationExpression;
+import net.sourceforge.pmd.lang.java.ast.ASTAnyTypeDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTArrayInitializer;
 import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTExpression;

From 8610dd5a895ff2aabd43f4777295cb6296fd8bb3 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 31 May 2019 18:33:57 +0200
Subject: [PATCH 166/371] Update release notes, fixes #1850, refs #1808

---
 docs/pages/release_notes.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..e98b263d8b 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,9 +16,14 @@ This is a {{ site.pmd.release_type }} release.
 
 ### Fixed Issues
 
+*   plsql
+    *   [#1850](https://github.com/pmd/pmd/issues/1850): \[plsql] Parsing errors with INSERT using returning or records and TRIM expression
+
 ### API Changes
 
 ### External Contributions
 
+*   [#1808](https://github.com/pmd/pmd/pull/1808): \[plsql] Fix PL/SQL Syntax errors - [kabroxiko](https://github.com/kabroxiko)
+
 {% endtocmaker %}
 

From 34853337a0c3e69a2e08d535a708641846e8fbc5 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 31 May 2019 19:28:06 +0200
Subject: [PATCH 167/371] Add test cases of #1703 for SingularField and
 UnusedPrivateField

Co-Authored: jakivey32
---
 .../bestpractices/xml/UnusedPrivateField.xml     | 12 ++++++++++++
 .../lang/java/rule/design/xml/SingularField.xml  | 16 ++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/UnusedPrivateField.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/UnusedPrivateField.xml
index f5ff621713..00bf8a2157 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/UnusedPrivateField.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/UnusedPrivateField.xml
@@ -620,6 +620,18 @@ public class IssueUnusedPrivateField {
             System.out.println("foo!");
         }
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1703 UnusedPrivateField: False-positive with @Delegate</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import lombok.experimental.Delegate;
+
+public class Foo {
+    @Delegate private String bar;
 }
         ]]></code>
     </test-code>
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/SingularField.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/SingularField.xml
index 4caef8662a..a7e1737c8c 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/SingularField.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/SingularField.xml
@@ -682,6 +682,22 @@ public class Source {
         o = new Object();
         return o;
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1703 SingularField: False-positive with @Delegate</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import lombok.experimental.Delegate;
+
+public class Foo {
+    @Delegate private String bar;
+
+    public void set(String s) {
+        bar = s;
+    }
 }
         ]]></code>
     </test-code>

From a5780c637204add6ff3f44fb4d0e3cb7be1dedd5 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 31 May 2019 19:28:30 +0200
Subject: [PATCH 168/371] Fix lombok annotation lombok.experimental.Delegate

---
 .../sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java
index 062da0f4bb..337ca82fb1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java
@@ -41,7 +41,7 @@ public class AbstractLombokAwareRule extends AbstractIgnoredAnnotationRule {
         LOMBOK_ANNOTATIONS.add("lombok.AllArgsConstructor");
         LOMBOK_ANNOTATIONS.add("lombok.NoArgsConstructor");
         LOMBOK_ANNOTATIONS.add("lombok.Builder");
-        LOMBOK_ANNOTATIONS.add("lombok.experimental");
+        LOMBOK_ANNOTATIONS.add("lombok.experimental.Delegate");
     }
 
     @Override

From 6e1be2294ccd2549b623e49dd05aed4a502a90b1 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 31 May 2019 19:34:03 +0200
Subject: [PATCH 169/371] Update release notes, fixes #1703, refs #1792

---
 docs/pages/release_notes.md | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..424f7b1a73 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,11 +14,26 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### Modified Rules
+
+*   The Java rule {% rule "java/bestpractices/UnusedPrivateField" %} (`java-bestpractices`) now ignores by
+    default fields, that are annotated with the Lombok experimental annotation `@Delegate`. This can be
+    customized with the property `ignoredAnnotations`.
+
+*   The Java rule {% rule "java/design/SingularField" %} (`java-design`) now ignores by
+    default fields, that are annotated with the Lombok experimental annotation `@Delegate`. This can be
+    customized with the property `ignoredAnnotations`.
+
 ### Fixed Issues
 
+*   java-bestpractices
+    *   [#1703](https://github.com/pmd/pmd/issues/1703): \[java] UnusedPrivateField on member annotated with lombok @Delegate
+
 ### API Changes
 
 ### External Contributions
 
+*   [#1792](https://github.com/pmd/pmd/pull/1792): \[java] Added lombok.experimental to AbstractLombokAwareRule - [jakivey32](https://github.com/jakivey32)
+
 {% endtocmaker %}
 

From 9758f3afb035deeb3ce54c6da65963f3ace5400a Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 31 May 2019 19:49:19 +0200
Subject: [PATCH 170/371] Move lombok annotations to UnusedPrivateFieldRule and
 SingularFieldRule Add additional test cases for ImmutableField and
 BeanMembersShouldSerialize

---
 .../lang/java/rule/AbstractLombokAwareRule.java |  1 -
 .../bestpractices/UnusedPrivateFieldRule.java   |  1 +
 .../java/rule/design/SingularFieldRule.java     | 10 ++++++++++
 .../java/rule/design/xml/ImmutableField.xml     | 17 +++++++++++++++++
 .../xml/BeanMembersShouldSerialize.xml          | 16 ++++++++++++++++
 5 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java
index 337ca82fb1..e0f8fd5345 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.java
@@ -41,7 +41,6 @@ public class AbstractLombokAwareRule extends AbstractIgnoredAnnotationRule {
         LOMBOK_ANNOTATIONS.add("lombok.AllArgsConstructor");
         LOMBOK_ANNOTATIONS.add("lombok.NoArgsConstructor");
         LOMBOK_ANNOTATIONS.add("lombok.Builder");
-        LOMBOK_ANNOTATIONS.add("lombok.experimental.Delegate");
     }
 
     @Override
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedPrivateFieldRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedPrivateFieldRule.java
index 394acd77a8..51cdbaf53e 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedPrivateFieldRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedPrivateFieldRule.java
@@ -36,6 +36,7 @@ public class UnusedPrivateFieldRule extends AbstractLombokAwareRule {
         defaultValues.addAll(super.defaultSuppressionAnnotations());
         defaultValues.add("java.lang.Deprecated");
         defaultValues.add("javafx.fxml.FXML");
+        defaultValues.add("lombok.experimental.Delegate");
         return defaultValues;
     }
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java
index 69ccf0c6d8..48e096061d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java
@@ -6,6 +6,8 @@ package net.sourceforge.pmd.lang.java.rule.design;
 
 import static net.sourceforge.pmd.properties.PropertyFactory.booleanProperty;
 
+import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 
 import net.sourceforge.pmd.lang.ast.Node;
@@ -47,6 +49,14 @@ public class SingularFieldRule extends AbstractLombokAwareRule {
         definePropertyDescriptor(DISALLOW_NOT_ASSIGNMENT);
     }
 
+    @Override
+    protected Collection<String> defaultSuppressionAnnotations() {
+        Collection<String> defaultValues = new ArrayList<>();
+        defaultValues.addAll(super.defaultSuppressionAnnotations());
+        defaultValues.add("lombok.experimental.Delegate");
+        return defaultValues;
+    }
+
     @SuppressWarnings("PMD.CompareObjectsWithEquals")
     @Override
     public Object visit(ASTFieldDeclaration node, Object data) {
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/ImmutableField.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/ImmutableField.xml
index 007376dc33..dfdad47f50 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/ImmutableField.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/ImmutableField.xml
@@ -479,6 +479,23 @@ public class Foo {
     public Foo() {
         x = 2;
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1792 Immutable field should still be detected with @Delegate</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import lombok.experimental.Delegate;
+
+public class Foo {
+    @Delegate
+    private String x;
+
+    public Foo() {
+        x = "bar";
+    }
 }
         ]]></code>
     </test-code>
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/BeanMembersShouldSerialize.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/BeanMembersShouldSerialize.xml
index 983fca10cd..77e1de8734 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/BeanMembersShouldSerialize.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/BeanMembersShouldSerialize.xml
@@ -263,6 +263,22 @@ public class Foo {
 @Data
 public class Foo {
     private String bar;
+}
+        ]]></code>
+    </test-code>
+    <test-code>
+        <description>#1796 BeanMembersShouldSerialize should still report with @Delegate</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import lombok.experimental.Delegate;
+
+public class Foo {
+    @Delegate
+    private String bar;
+
+    public String toString() {
+        return "Foo: " + bar;
+    }
 }
         ]]></code>
     </test-code>

From 3227f7e6052cb874928dc9f348b64623941cd0ac Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 31 May 2019 20:35:12 +0200
Subject: [PATCH 171/371] [java] UseUtilityClass should be LombokAware Fixes
 #1094

---
 .../java/rule/design/UseUtilityClassRule.java | 25 +++++++++++++------
 .../java/rule/design/xml/UseUtilityClass.xml  | 17 +++++++++++++
 2 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseUtilityClassRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseUtilityClassRule.java
index 6273d61bd0..4dd97f01da 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseUtilityClassRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseUtilityClassRule.java
@@ -4,6 +4,8 @@
 
 package net.sourceforge.pmd.lang.java.rule.design;
 
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 
 import net.sourceforge.pmd.lang.ast.Node;
@@ -17,12 +19,21 @@ import net.sourceforge.pmd.lang.java.ast.ASTMemberValuePair;
 import net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTName;
 import net.sourceforge.pmd.lang.java.ast.ASTResultType;
-import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
+import net.sourceforge.pmd.lang.java.rule.AbstractLombokAwareRule;
 
-public class UseUtilityClassRule extends AbstractJavaRule {
+public class UseUtilityClassRule extends AbstractLombokAwareRule {
 
-    public UseUtilityClassRule() {
-        addRuleChainVisit(ASTClassOrInterfaceBody.class);
+    @Override
+    protected Collection<String> defaultSuppressionAnnotations() {
+        return Arrays.asList("lombok.experimental.UtilityClass");
+    }
+
+    @Override
+    public Object visit(ASTClassOrInterfaceDeclaration node, Object data) {
+        if (hasIgnoredAnnotation(node)) {
+            return data;
+        }
+        return super.visit(node, data);
     }
 
     @Override
@@ -33,7 +44,7 @@ public class UseUtilityClassRule extends AbstractJavaRule {
                 return data;
             }
 
-            if (isOkUsingLombok(parent)) {
+            if (hasLombokNoArgsConstructor(parent)) {
                 return data;
             }
 
@@ -81,10 +92,10 @@ public class UseUtilityClassRule extends AbstractJavaRule {
                 addViolation(data, decl);
             }
         }
-        return data;
+        return super.visit(decl, data);
     }
 
-    private boolean isOkUsingLombok(ASTClassOrInterfaceDeclaration parent) {
+    private boolean hasLombokNoArgsConstructor(ASTClassOrInterfaceDeclaration parent) {
         // check if there's a lombok no arg private constructor, if so skip the rest of the rules
         ASTAnnotation annotation = parent.getAnnotation("lombok.NoArgsConstructor");
 
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/UseUtilityClass.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/UseUtilityClass.xml
index 2540573f5e..498ffe9d3f 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/UseUtilityClass.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/UseUtilityClass.xml
@@ -360,4 +360,21 @@ public class FooLocal extends ThreadLocal<Integer> {
 }
      ]]></code>
     </test-code>
+
+    <test-code>
+        <description>#1094 [java] UseUtilityClass should be LombokAware</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import lombok.experimental.UtilityClass;
+
+@UtilityClass
+public class MyUtil {
+    private final static int CONSTANT = 5;
+
+    public static int addSomething(int in) {
+        return in + CONSTANT;
+    }
+}
+        ]]></code>
+    </test-code>
 </test-data>

From a115daefe09f81a6b47a18c8cfca0289c9494fb6 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 31 May 2019 20:38:57 +0200
Subject: [PATCH 172/371] Update release notes, fixes #1094

---
 docs/pages/release_notes.md | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..e55b9067e1 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,8 +14,16 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### Modified Rules
+
+*   The Java rule {% rule "java/design/UseUtilityClass" %} (`java-design`) has a new property `ignoredAnnotations`.
+    By default, classes that are annotated with Lombok's `@UtilityClass` are ignored now.
+
 ### Fixed Issues
 
+*   java-design
+    *   [#1094](https://github.com/pmd/pmd/issues/1094): \[java] UseUtilityClass should be LombokAware
+
 ### API Changes
 
 ### External Contributions

From 8492c322737c4148ab37a76b1f562a58d9171a36 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 1 Jun 2019 10:04:33 +0200
Subject: [PATCH 173/371] UseUtilityClass - fix false-negatives with inner
 classes

---
 .../java/rule/design/UseUtilityClassRule.java |  8 +--
 .../java/rule/design/xml/UseUtilityClass.xml  | 52 +++++++++++++++++++
 2 files changed, 57 insertions(+), 3 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseUtilityClassRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseUtilityClassRule.java
index 4dd97f01da..a3fa7780bc 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseUtilityClassRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/UseUtilityClassRule.java
@@ -38,14 +38,16 @@ public class UseUtilityClassRule extends AbstractLombokAwareRule {
 
     @Override
     public Object visit(ASTClassOrInterfaceBody decl, Object data) {
+        Object result = super.visit(decl, data);
+
         if (decl.jjtGetParent() instanceof ASTClassOrInterfaceDeclaration) {
             ASTClassOrInterfaceDeclaration parent = (ASTClassOrInterfaceDeclaration) decl.jjtGetParent();
             if (parent.isAbstract() || parent.isInterface() || parent.getSuperClassTypeNode() != null) {
-                return data;
+                return result;
             }
 
             if (hasLombokNoArgsConstructor(parent)) {
-                return data;
+                return result;
             }
 
             int i = decl.jjtGetNumChildren();
@@ -92,7 +94,7 @@ public class UseUtilityClassRule extends AbstractLombokAwareRule {
                 addViolation(data, decl);
             }
         }
-        return super.visit(decl, data);
+        return result;
     }
 
     private boolean hasLombokNoArgsConstructor(ASTClassOrInterfaceDeclaration parent) {
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/UseUtilityClass.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/UseUtilityClass.xml
index 498ffe9d3f..a57f064085 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/UseUtilityClass.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/UseUtilityClass.xml
@@ -374,6 +374,58 @@ public class MyUtil {
     public static int addSomething(int in) {
         return in + CONSTANT;
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Inner class in abstract class false-negative</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public abstract class Outer {
+    private static class Inner {
+        public static int getInt() { return 42; }
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Inner class in abstract class false-negative</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public abstract class Outer {
+    private static class Inner {
+        private static int answer;
+        public static int getInt() { return answer; }
+    }
+}
+        ]]></code>
+    </test-code>
+
+
+    <test-code>
+        <description>Inner class in interface false-negative</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public interface Outer {
+    private static class Inner {
+        public static int getInt() { return 42; }
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Inner class in sub-class false-negative</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public class Outer extends Object {
+    private static class Inner {
+        public static boolean isYes(int a) {
+            return a != 0;
+        }
+    }
 }
         ]]></code>
     </test-code>

From f1f20b97f2f2f844e2a7bcc2b69c400f30809784 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 1 Jun 2019 10:31:20 +0200
Subject: [PATCH 174/371] [java] UnsynchronizedStatic(Date)Formatter - test
 cases, documentation * Fixes #1814 * Fixes #1815

---
 .../UnsynchronizedStaticFormatterRule.java    | 16 +++--
 .../category/java/multithreading.xml          | 16 +++--
 .../xml/UnsynchronizedStaticDateFormatter.xml | 55 +++++++++++++++++-
 .../xml/UnsynchronizedStaticFormatter.xml     | 58 +++++++++++++++++--
 4 files changed, 127 insertions(+), 18 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
index 638f3ab975..0378082ab9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
@@ -10,8 +10,9 @@ import java.util.List;
 
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceType;
+import net.sourceforge.pmd.lang.java.ast.ASTExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration;
-import net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration;
+import net.sourceforge.pmd.lang.java.ast.ASTName;
 import net.sourceforge.pmd.lang.java.ast.ASTSynchronizedStatement;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId;
 import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
@@ -68,10 +69,17 @@ public class UnsynchronizedStaticFormatterRule extends AbstractJavaRule {
                 continue;
             }
 
-            ASTMethodDeclaration method = n.getFirstParentOfType(ASTMethodDeclaration.class);
-            if (method != null && (!method.isSynchronized() || !method.isStatic())) {
-                addViolation(data, n);
+            ASTSynchronizedStatement syncStatement = n.getFirstParentOfType(ASTSynchronizedStatement.class);
+            if (syncStatement != null) {
+                ASTExpression expression = syncStatement.getFirstChildOfType(ASTExpression.class);
+                if (expression != null) {
+                    ASTName name = expression.getFirstDescendantOfType(ASTName.class);
+                    if (name != null && name.hasImageEqualTo(var.getVariableName())) {
+                        continue;
+                    }
+                }
             }
+            addViolation(data, n);
         }
         return data;
     }
diff --git a/pmd-java/src/main/resources/category/java/multithreading.xml b/pmd-java/src/main/resources/category/java/multithreading.xml
index 8ca9046a6a..95460df02a 100644
--- a/pmd-java/src/main/resources/category/java/multithreading.xml
+++ b/pmd-java/src/main/resources/category/java/multithreading.xml
@@ -266,7 +266,7 @@ public static Foo getFoo() {
         <description>
 SimpleDateFormat instances are not synchronized. Sun recommends using separate format instances
 for each thread. If multiple threads must access a static formatter, the formatter must be
-synchronized either on method or block level.
+synchronized on block level.
 
 This rule has been deprecated in favor of the rule {% rule UnsynchronizedStaticFormatter %}.
         </description>
@@ -278,8 +278,10 @@ public class Foo {
     void bar() {
         sdf.format(); // poor, no thread-safety
     }
-    synchronized void foo() {
-        sdf.format(); // preferred
+    void foo() {
+        synchronized (sdf) { // preferred
+            sdf.format();
+        }
     }
 }
 ]]>
@@ -295,7 +297,7 @@ public class Foo {
 Instances of `java.text.Format` are generally not synchronized.
 Sun recommends using separate format instances for each thread.
 If multiple threads must access a static formatter, the formatter must be
-synchronized either on method or block level.
+synchronized on block level.
         </description>
         <priority>3</priority>
         <example>
@@ -305,8 +307,10 @@ public class Foo {
     void bar() {
         sdf.format(); // poor, no thread-safety
     }
-    synchronized void foo() {
-        sdf.format(); // preferred
+    void foo() {
+        synchronized (sdf) { // preferred
+            sdf.format();
+        }
     }
 }
 ]]>
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticDateFormatter.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticDateFormatter.xml
index dce41430c7..98ccfcd6de 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticDateFormatter.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticDateFormatter.xml
@@ -31,7 +31,7 @@ public class Foo {
      ]]></code>
     </test-code>
     <test-code>
-        <description>3, Instace synchronized, Not OK</description>
+        <description>3, Instance synchronized, Not OK - see #1815</description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.text.SimpleDateFormat;
@@ -71,6 +71,22 @@ public class Foo {
     synchronized void bar() {
         sdf.format();
     }
+}
+     ]]></code>
+    </test-code>
+    <test-code>
+        <description>5a, Use DateFormat with synchronized block, ok</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.text.DateFormat;
+
+public class Foo {
+    private static final DateFormat sdf = new DateFormat();
+    void bar() {
+        synchronized(sdf) {
+            sdf.format();
+        }
+    }
 }
      ]]></code>
     </test-code>
@@ -105,6 +121,37 @@ public class Test {
 }
         ]]></code>
     </test-code>
+
+    <test-code>
+        <description>#1815 static synchronized, Not OK</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import java.text.SimpleDateFormat;
+
+public class Foo {
+    private static final SimpleDateFormat sdf = new SimpleDateFormat();
+    synchronized void bar() { // not static
+        sdf.format();
+    }
+}
+     ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1815 static synchronized, also Not OK</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import java.text.SimpleDateFormat;
+
+public class Foo {
+    private static final SimpleDateFormat sdf = new SimpleDateFormat();
+    static synchronized void bar() { // not a synchronized blocks
+        sdf.format();
+    }
+}
+     ]]></code>
+    </test-code>
+
     <test-code>
         <description>#1815 static synchronized, OK</description>
         <expected-problems>0</expected-problems>
@@ -113,8 +160,10 @@ import java.text.SimpleDateFormat;
 
 public class Foo {
     private static final SimpleDateFormat sdf = new SimpleDateFormat();
-    static synchronized void bar() {
-        sdf.format();
+    static void bar() {
+        synchronized(sdf) {
+            sdf.format();
+        }
     }
 }
      ]]></code>
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
index c46600a570..d52abc9836 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
@@ -31,7 +31,7 @@ public class Foo {
      ]]></code>
     </test-code>
     <test-code>
-        <description>3, Inside synchronized, OK</description>
+        <description>3, Inside synchronized, Not OK</description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.text.SimpleDateFormat;
@@ -61,7 +61,7 @@ public class Foo {
      ]]></code>
     </test-code>
     <test-code>
-        <description>5, Use DateFormat, ok</description>
+        <description>5, Use DateFormat, not ok</description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.text.DateFormat;
@@ -71,6 +71,22 @@ public class Foo {
     synchronized void bar() {
         sdf.format();
     }
+}
+     ]]></code>
+    </test-code>
+    <test-code>
+        <description>5a, Use DateFormat, ok</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.text.DateFormat;
+
+public class Foo {
+    private static final DateFormat sdf = new DateFormat();
+    void bar() {
+        synchronized(sdf) {
+            sdf.format();
+        }
+    }
 }
      ]]></code>
     </test-code>
@@ -149,6 +165,37 @@ public class Foo {
 }
      ]]></code>
     </test-code>
+
+    <test-code>
+        <description>#1815 static synchronized, Not OK</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import java.text.SimpleDateFormat;
+
+public class Foo {
+    private static final SimpleDateFormat sdf = new SimpleDateFormat();
+    synchronized void bar() { // not static
+        sdf.format();
+    }
+}
+     ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1815 static synchronized, also Not OK</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import java.text.SimpleDateFormat;
+
+public class Foo {
+    private static final SimpleDateFormat sdf = new SimpleDateFormat();
+    static synchronized void bar() { // not a synchronized blocks
+        sdf.format();
+    }
+}
+     ]]></code>
+    </test-code>
+
     <test-code>
         <description>#1815 static synchronized, OK</description>
         <expected-problems>0</expected-problems>
@@ -157,11 +204,12 @@ import java.text.SimpleDateFormat;
 
 public class Foo {
     private static final SimpleDateFormat sdf = new SimpleDateFormat();
-    static synchronized void bar() {
-        sdf.format();
+    static void bar() {
+        synchronized(sdf) {
+            sdf.format();
+        }
     }
 }
      ]]></code>
     </test-code>
-
 </test-data>

From 0c219e2a59ff888b7d0b32240b6090cd916cebf4 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 1 Jun 2019 10:53:40 +0200
Subject: [PATCH 175/371] [java] UnsynchronizedStatic(Date)Formatter - new
 property allowMethodLevelSynchronization

This new property is added to allow backwards compatibility, since
the rule now allows by default only synchronized blocks.
---
 .../UnsynchronizedStaticFormatterRule.java    | 22 +++++++--
 .../xml/UnsynchronizedStaticFormatter.xml     | 49 +++++++++++++++++++
 2 files changed, 68 insertions(+), 3 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
index 0378082ab9..4ea482bf6f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
@@ -12,12 +12,15 @@ import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceType;
 import net.sourceforge.pmd.lang.java.ast.ASTExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration;
+import net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTName;
 import net.sourceforge.pmd.lang.java.ast.ASTSynchronizedStatement;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId;
 import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
 import net.sourceforge.pmd.lang.java.typeresolution.TypeHelper;
 import net.sourceforge.pmd.lang.symboltable.NameOccurrence;
+import net.sourceforge.pmd.properties.PropertyDescriptor;
+import net.sourceforge.pmd.properties.PropertyFactory;
 
 /**
  * Using a Formatter (e.g. SimpleDateFormatter, DecimalFormatter) which is static can cause
@@ -34,8 +37,16 @@ public class UnsynchronizedStaticFormatterRule extends AbstractJavaRule {
         "org.apache.commons.lang3.time.FastDateFormat"
     );
 
+    private static final PropertyDescriptor<Boolean> ALLOW_METHOD_LEVEL_SYNC =
+        PropertyFactory.booleanProperty("allowMethodLevelSynchronization")
+            .desc("If true, method level synchronization is allowed as well as synchronized block. Otherwise"
+                + " only synchronized blocks are allowed.")
+            .defaultValue(false)
+            .build();
+
     public UnsynchronizedStaticFormatterRule() {
         addRuleChainVisit(ASTFieldDeclaration.class);
+        definePropertyDescriptor(ALLOW_METHOD_LEVEL_SYNC);
     }
 
     UnsynchronizedStaticFormatterRule(Class<?> formatterClassToCheck) {
@@ -61,14 +72,19 @@ public class UnsynchronizedStaticFormatterRule extends AbstractJavaRule {
         }
         for (NameOccurrence occ : var.getUsages()) {
             Node n = occ.getLocation();
-            if (n.getFirstParentOfType(ASTSynchronizedStatement.class) != null) {
-                continue;
-            }
             // ignore usages, that don't call a method.
             if (!n.getImage().contains(".")) {
                 continue;
             }
 
+            if (getProperty(ALLOW_METHOD_LEVEL_SYNC)) {
+                ASTMethodDeclaration method = n.getFirstParentOfType(ASTMethodDeclaration.class);
+                if (method != null && (!method.isSynchronized() || !method.isStatic())) {
+                    addViolation(data, node);
+                }
+                continue;
+            }
+
             ASTSynchronizedStatement syncStatement = n.getFirstParentOfType(ASTSynchronizedStatement.class);
             if (syncStatement != null) {
                 ASTExpression expression = syncStatement.getFirstChildOfType(ASTExpression.class);
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
index d52abc9836..a97fa56f96 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
@@ -196,6 +196,38 @@ public class Foo {
      ]]></code>
     </test-code>
 
+    <test-code>
+        <description>#1815 static synchronized, OK if allowMethodLevelSynchronization</description>
+        <rule-property name="allowMethodLevelSynchronization">true</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.text.SimpleDateFormat;
+
+public class Foo {
+    private static final SimpleDateFormat sdf = new SimpleDateFormat();
+    static synchronized void bar() {
+        sdf.format();
+    }
+}
+     ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1815 static synchronized, Not OK if allowMethodLevelSynchronization</description>
+        <rule-property name="allowMethodLevelSynchronization">true</rule-property>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import java.text.SimpleDateFormat;
+
+public class Foo {
+    private static final SimpleDateFormat sdf = new SimpleDateFormat();
+    synchronized void bar() { // should be static
+        sdf.format();
+    }
+}
+     ]]></code>
+    </test-code>
+
     <test-code>
         <description>#1815 static synchronized, OK</description>
         <expected-problems>0</expected-problems>
@@ -209,6 +241,23 @@ public class Foo {
             sdf.format();
         }
     }
+}
+     ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1815 static synchronized, Not OK</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import java.text.SimpleDateFormat;
+
+public class Foo {
+    private static final SimpleDateFormat sdf = new SimpleDateFormat();
+    static void bar() {
+        synchronized(Foo.class) { // not synchronized on sdf
+            sdf.format();
+        }
+    }
 }
      ]]></code>
     </test-code>

From ad1e7d2022efbed69d6acda48268f6f04b8ef05c Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 1 Jun 2019 11:06:37 +0200
Subject: [PATCH 176/371] Update release notes, refs #1829, fixes #1814, fixes
 #1815

---
 docs/pages/release_notes.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..06088b1bff 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,11 +14,25 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### Modified Rules
+
+*   The Java rules {% rule "java/multithreading/UnsynchronizedStaticFormatter" %} and
+    {% rule "java/multithreading/UnsynchronizedStaticDateFormatter" %} (`java-multithreading`)
+    now prefer synchronized blocks by default. They will raise a violation, if the synchronization is implemented
+    on the method level. To allow the old behavior, the new property `allowMethodLevelSynchronization` can
+    be enabled.
+
 ### Fixed Issues
 
+*   java-multithreading
+    *   [#1814](https://github.com/pmd/pmd/issues/1814): \[java] UnsynchronizedStaticFormatter documentation and implementation wrong
+    *   [#1815](https://github.com/pmd/pmd/issues/1815): \[java] False negative in UnsynchronizedStaticFormatter
+
 ### API Changes
 
 ### External Contributions
 
+*   [#1829](https://github.com/pmd/pmd/pull/1829): \[java] Fix false negative in UnsynchronizedStaticFormatter - [Srinivasan Venkatachalam](https://github.com/Srini1993)
+
 {% endtocmaker %}
 

From 2d60e2b8225859958541e21ffd2bc39f095f8a8a Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 1 Jun 2019 19:15:50 +0200
Subject: [PATCH 177/371] Remove more unnecessary comments from javacc

---
 .../pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java    | 5 -----
 .../pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java      | 3 ---
 .../pmd/lang/java/ast/ASTClassOrInterfaceBody.java           | 3 ---
 .../sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java   | 5 -----
 .../sourceforge/pmd/lang/java/ast/ASTMethodReference.java    | 5 -----
 .../sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java  | 2 --
 .../sourceforge/pmd/lang/java/ast/ASTModuleDirective.java    | 5 -----
 .../net/sourceforge/pmd/lang/java/ast/ASTModuleName.java     | 5 -----
 .../java/net/sourceforge/pmd/lang/java/ast/ASTResource.java  | 5 -----
 .../pmd/lang/java/ast/ASTResourceSpecification.java          | 5 -----
 .../java/net/sourceforge/pmd/lang/java/ast/ASTResources.java | 5 -----
 .../sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java   | 1 -
 12 files changed, 49 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java
index e86b9d7eb9..56647648df 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationMethodDeclaration.java
@@ -20,7 +20,6 @@ public class ASTAnnotationMethodDeclaration extends AbstractMethodLikeNode {
         super(p, id);
     }
 
-    /** Accept the visitor. **/
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
@@ -32,7 +31,3 @@ public class ASTAnnotationMethodDeclaration extends AbstractMethodLikeNode {
         return MethodLikeKind.METHOD;
     }
 }
-/*
- * JavaCC - OriginalChecksum=f6dd440446f8aa5c9c191ae760080ee0 (do not edit this
- * line)
- */
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java
index 2aa5673e3f..0eb92dbf71 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java
@@ -23,9 +23,6 @@ public class ASTAnnotationTypeDeclaration extends AbstractAnyTypeDeclaration {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor.
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java
index 308d2d9faa..9a25793a7e 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.java
@@ -30,9 +30,6 @@ public class ASTClassOrInterfaceBody extends AbstractJavaNode {
         super(p, id);
     }
 
-    /**
-     * Accept the visitor.
-     */
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java
index 4e0376a8cd..3fff74dd29 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java
@@ -28,7 +28,6 @@ public class ASTLambdaExpression extends AbstractMethodLikeNode {
     }
 
 
-    /** Accept the visitor. **/
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
@@ -39,7 +38,3 @@ public class ASTLambdaExpression extends AbstractMethodLikeNode {
         return MethodLikeKind.LAMBDA;
     }
 }
-/*
- * JavaCC - OriginalChecksum=e706de031abe9a22c368b7cb52802f1b (do not edit this
- * line)
- */
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java
index a9f67e1734..d3fd260b2a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTMethodReference.java
@@ -20,13 +20,8 @@ public class ASTMethodReference extends AbstractJavaNode {
         super(p, id);
     }
 
-    /** Accept the visitor. **/
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
     }
 }
-/*
- * JavaCC - OriginalChecksum=e706de031abe9a22c368b7cb52802f1b (do not edit this
- * line)
- */
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
index 420d6ed23b..adcf280ea2 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDeclaration.java
@@ -22,7 +22,6 @@ public class ASTModuleDeclaration extends AbstractJavaNode {
         super(p, id);
     }
 
-    /** Accept the visitor. **/
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
@@ -38,4 +37,3 @@ public class ASTModuleDeclaration extends AbstractJavaNode {
         return open;
     }
 }
-/* JavaCC - OriginalChecksum=752bbec72a6d0d96c4c69a2d08c73614 (do not edit this line) */
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
index 39ec23b808..5f6e3c4dec 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleDirective.java
@@ -32,7 +32,6 @@ public class ASTModuleDirective extends AbstractJavaNode {
         super(p, id);
     }
 
-    /** Accept the visitor. **/
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
@@ -58,7 +57,3 @@ public class ASTModuleDirective extends AbstractJavaNode {
         return requiresModifier == null ? null : requiresModifier.name();
     }
 }
-/*
- * JavaCC - OriginalChecksum=93c74930e5df0269e81ce18b4efa6378 (do not edit this
- * line)
- */
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java
index bc9eea6143..8d52190862 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTModuleName.java
@@ -20,13 +20,8 @@ public class ASTModuleName extends AbstractJavaNode {
         super(p, id);
     }
 
-    /** Accept the visitor. **/
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
     }
 }
-/*
- * JavaCC - OriginalChecksum=7be9235079394543d4574d840ebb5235 (do not edit this
- * line)
- */
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java
index 6449b0087b..f6ce7781cb 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResource.java
@@ -20,7 +20,6 @@ public class ASTResource extends ASTFormalParameter {
         super(p, id);
     }
 
-    /** Accept the visitor. **/
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
@@ -29,7 +28,3 @@ public class ASTResource extends ASTFormalParameter {
     // TODO Should we deprecate all methods from ASTFormalParameter?
 
 }
-/*
- * JavaCC - OriginalChecksum=92734fc70bba91fd9422150dbf87d5c4 (do not edit this
- * line)
- */
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java
index c17b5c9328..fef9645c20 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResourceSpecification.java
@@ -20,13 +20,8 @@ public class ASTResourceSpecification extends AbstractJavaNode {
         super(p, id);
     }
 
-    /** Accept the visitor. **/
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
     }
 }
-/*
- * JavaCC - OriginalChecksum=d495bcf34ff0f86f77e48f66b9c52e4d (do not edit this
- * line)
- */
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java
index 75a624c863..2d7e7f6ebc 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTResources.java
@@ -20,13 +20,8 @@ public class ASTResources extends AbstractJavaNode {
         super(p, id);
     }
 
-    /** Accept the visitor. **/
     @Override
     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
     }
 }
-/*
- * JavaCC - OriginalChecksum=e83b6cb79b9c5c88242c7dca5255e114 (do not edit this
- * line)
- */
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java
index 44e451ccfd..f8a577a783 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchExpression.java
@@ -25,4 +25,3 @@ public class ASTSwitchExpression extends AbstractJavaTypeNode {
         return visitor.visit(this, data);
     }
 }
-/* JavaCC - OriginalChecksum=8b1747ca53f66203ee212a3699a9a2f3 (do not edit this line) */

From fe420562a1ee576bd200ec63ca4458c515472150 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 1 Jun 2019 19:16:37 +0200
Subject: [PATCH 178/371] More deprecations of node setters and constructors

---
 docs/pages/release_notes.md                               | 2 +-
 .../pmd/lang/java/ast/AbstractJavaAccessNode.java         | 4 ++++
 .../pmd/lang/java/ast/AbstractJavaAccessTypeNode.java     | 6 ++++++
 .../sourceforge/pmd/lang/java/ast/AbstractJavaNode.java   | 8 ++++++++
 .../pmd/lang/java/ast/AbstractJavaTypeNode.java           | 4 ++++
 .../net/sourceforge/pmd/lang/java/ast/DummyJavaNode.java  | 4 ++++
 .../java/net/sourceforge/pmd/lang/java/ast/JavaNode.java  | 3 +++
 7 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 646ac3cadb..0b38612d6c 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -32,7 +32,7 @@ The following usages are now deprecated **in the Java AST** (with other language
 * Manual instantiation of nodes. **Constructors of node classes are deprecated** and marked {% jdoc core::annotation.InternalApi %}. Nodes should only be obtained from the parser, which for rules, means that never need to instantiate node themselves. Those constructors will be made package private with 7.0.0.
 * **Subclassing of abstract node classes, or usage of their type**. Version 7.0.0 will bring a new set of abstractions that will be public API, but the base classes are and will stay internal. You should not couple your code to them.
   * In the meantime you should use interfaces like {% jdoc java::lang.java.ast.JavaNode %} or  {% jdoc core::lang.ast.Node %}, or the other published interfaces in this package, to refer to nodes generically.
-  * Concrete node classes will also most probably **be made final** with 7.0.0.
+  * Concrete node classes will **be made final** with 7.0.0.
 * Setters found in any node class or interface. **Rules should consider the AST immutable**. We will make those setters package private with 7.0.0.
 
 Please look at {% jdoc_package java::lang.java.ast %} to find out the full list
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java
index 1966eefed0..5ca6472b45 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessNode.java
@@ -12,10 +12,14 @@ public abstract class AbstractJavaAccessNode extends AbstractJavaAnnotatableNode
 
     private int modifiers;
 
+    @Deprecated
+    @InternalApi
     public AbstractJavaAccessNode(int i) {
         super(i);
     }
 
+    @Deprecated
+    @InternalApi
     public AbstractJavaAccessNode(JavaParser parser, int i) {
         super(parser, i);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java
index 35a7d04cc8..137d203cb0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaAccessTypeNode.java
@@ -16,10 +16,14 @@ public abstract class AbstractJavaAccessTypeNode extends AbstractJavaAccessNode
      */
     protected JavaTypeDefinition typeDefinition;
 
+    @Deprecated
+    @InternalApi
     public AbstractJavaAccessTypeNode(int i) {
         super(i);
     }
 
+    @Deprecated
+    @InternalApi
     public AbstractJavaAccessTypeNode(JavaParser parser, int i) {
         super(parser, i);
     }
@@ -33,6 +37,8 @@ public abstract class AbstractJavaAccessTypeNode extends AbstractJavaAccessNode
         return null;
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setType(Class<?> type) {
         typeDefinition = JavaTypeDefinition.forClass(type);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
index 497b9769e5..1804cf9e15 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaNode.java
@@ -16,10 +16,14 @@ public abstract class AbstractJavaNode extends AbstractNode implements JavaNode
     private Scope scope;
     private Comment comment;
 
+    @InternalApi
+    @Deprecated
     public AbstractJavaNode(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public AbstractJavaNode(JavaParser parser, int id) {
         super(id);
         this.parser = parser;
@@ -68,11 +72,15 @@ public abstract class AbstractJavaNode extends AbstractNode implements JavaNode
         return scope;
     }
 
+    @InternalApi
+    @Deprecated
     @Override
     public void setScope(Scope scope) {
         this.scope = scope;
     }
 
+    @InternalApi
+    @Deprecated
     public void comment(Comment theComment) {
         comment = theComment;
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java
index e908e0f636..78d973ad76 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/AbstractJavaTypeNode.java
@@ -19,10 +19,14 @@ public abstract class AbstractJavaTypeNode extends AbstractJavaNode implements T
 
     private JavaTypeDefinition typeDefinition;
 
+    @InternalApi
+    @Deprecated
     public AbstractJavaTypeNode(int i) {
         super(i);
     }
 
+    @InternalApi
+    @Deprecated
     public AbstractJavaTypeNode(JavaParser p, int i) {
         super(p, i);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DummyJavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DummyJavaNode.java
index 6b8daa0a94..9dba937df5 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DummyJavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/DummyJavaNode.java
@@ -14,10 +14,14 @@ import net.sourceforge.pmd.annotation.InternalApi;
 @InternalApi
 public class DummyJavaNode extends AbstractJavaNode {
 
+    @InternalApi
+    @Deprecated
     public DummyJavaNode(int id) {
         super(id);
     }
 
+    @InternalApi
+    @Deprecated
     public DummyJavaNode(JavaParser parser, int id) {
         super(parser, id);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
index ff75d6de85..59ba6c3f4a 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaNode.java
@@ -5,6 +5,7 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 
+import net.sourceforge.pmd.annotation.InternalApi;
 import net.sourceforge.pmd.lang.symboltable.Scope;
 import net.sourceforge.pmd.lang.symboltable.ScopedNode;
 
@@ -37,6 +38,8 @@ public interface JavaNode extends ScopedNode {
     Object childrenAccept(JavaParserVisitor visitor, Object data);
 
 
+    @InternalApi
+    @Deprecated
     void setScope(Scope scope);
 
 }

From df53fddef93bd53b9b6083c8cf4c0fa98d40a490 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 1 Jun 2019 19:41:14 +0200
Subject: [PATCH 179/371] Update release notes, fixes #1848

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..d80c12cf5d 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,6 +16,9 @@ This is a {{ site.pmd.release_type }} release.
 
 ### Fixed Issues
 
+*   java
+    *   [#1848](https://github.com/pmd/pmd/issues/1848): \[java] Local classes should preserve their modifiers
+
 ### API Changes
 
 ### External Contributions

From 348a9972e6024b77678c5ea69d7d8dade10efb71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Sun, 2 Jun 2019 09:26:13 +0200
Subject: [PATCH 180/371] Fix #1853 false positive in NonStaticInitializer

---
 .../resources/category/java/errorprone.xml    |  3 +-
 .../errorprone/xml/NonStaticInitializer.xml   | 67 ++++++++++++++++---
 2 files changed, 61 insertions(+), 9 deletions(-)

diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml
index 7e59da309f..19e5edc60a 100644
--- a/pmd-java/src/main/resources/category/java/errorprone.xml
+++ b/pmd-java/src/main/resources/category/java/errorprone.xml
@@ -2505,10 +2505,11 @@ confusing.
         </description>
         <priority>3</priority>
         <properties>
+            <property name="version" value="2.0" />
             <property name="xpath">
                 <value>
 <![CDATA[
-//Initializer[@Static='false']
+//Initializer[@Static=false()][not(ancestor::*[3][self::AllocationExpression or self::EnumConstant])]
 ]]>
                 </value>
             </property>
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/NonStaticInitializer.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/NonStaticInitializer.xml
index cb058c6169..235904d78b 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/NonStaticInitializer.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/NonStaticInitializer.xml
@@ -4,25 +4,76 @@
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
     <test-code>
-        <description><![CDATA[
-bad
-     ]]></description>
+        <description>bad</description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 public class Foo {
  {}
 }
-     ]]></code>
+        ]]></code>
     </test-code>
+
     <test-code>
-        <description><![CDATA[
-static initializers are OK
-     ]]></description>
+        <description>static initializers are OK</description>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 public class Foo {
  static {}
 }
-     ]]></code>
+        ]]></code>
     </test-code>
+
+
+    <test-code>
+        <description>Allowed in anonymous classes</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public class Foo {
+       public Animation getStatusTransition() {
+          return new Transition() {
+
+            {
+                setCycleDuration(Duration.millis(1200));
+            }
+
+            @Override
+            protected void interpolate(double frac) {
+               // magic
+            }
+        };
+     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Flag in local class</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>3</expected-linenumbers>
+        <code><![CDATA[
+public class Foo {
+ static {
+     class Local {{}}
+ }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Allowed in enum constant</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>7</expected-linenumbers>
+        <code><![CDATA[
+public enum Foo {
+       A {
+         { setCycleDuration(Duration.millis(1200)); }
+       };
+
+
+	{ setCycleDuration(Duration.millis(1200)); }
+
+}
+        ]]></code>
+    </test-code>
+
 </test-data>

From 89bb73fc99bb2f4e01cca7bdc3de403c009219e2 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 8 Jun 2019 17:30:54 +0200
Subject: [PATCH 181/371] (doc) Update generated rule documentation

---
 docs/pages/pmd/rules/java/bestpractices.md  |  4 +-
 docs/pages/pmd/rules/java/design.md         |  4 +-
 docs/pages/pmd/rules/java/multithreading.md | 50 +++++++++++++++++----
 3 files changed, 46 insertions(+), 12 deletions(-)

diff --git a/docs/pages/pmd/rules/java/bestpractices.md b/docs/pages/pmd/rules/java/bestpractices.md
index 4023ea302e..0ff9b5c2a4 100644
--- a/docs/pages/pmd/rules/java/bestpractices.md
+++ b/docs/pages/pmd/rules/java/bestpractices.md
@@ -1468,7 +1468,7 @@ public class Something {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|ignoredAnnotations|lombok.Setter \| lombok.Getter \| lombok.Builder \| lombok.Data \| lombok.RequiredArgsConstructor \| lombok.AllArgsConstructor \| lombok.Value \| lombok.NoArgsConstructor \| java.lang.Deprecated \| javafx.fxml.FXML|Fully qualified names of the annotation types that should be ignored by this rule|yes. Delimiter is '\|'.|
+|ignoredAnnotations|lombok.Setter \| lombok.Getter \| lombok.Builder \| lombok.Data \| lombok.RequiredArgsConstructor \| lombok.AllArgsConstructor \| lombok.Value \| lombok.NoArgsConstructor \| java.lang.Deprecated \| javafx.fxml.FXML \| lombok.experimental.Delegate|Fully qualified names of the annotation types that should be ignored by this rule|yes. Delimiter is '\|'.|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -1479,7 +1479,7 @@ public class Something {
 ``` xml
 <rule ref="category/java/bestpractices.xml/UnusedPrivateField">
     <properties>
-        <property name="ignoredAnnotations" value="lombok.Setter|lombok.Getter|lombok.Builder|lombok.Data|lombok.RequiredArgsConstructor|lombok.AllArgsConstructor|lombok.Value|lombok.NoArgsConstructor|java.lang.Deprecated|javafx.fxml.FXML" />
+        <property name="ignoredAnnotations" value="lombok.Setter|lombok.Getter|lombok.Builder|lombok.Data|lombok.RequiredArgsConstructor|lombok.AllArgsConstructor|lombok.Value|lombok.NoArgsConstructor|java.lang.Deprecated|javafx.fxml.FXML|lombok.experimental.Delegate" />
     </properties>
 </rule>
 ```
diff --git a/docs/pages/pmd/rules/java/design.md b/docs/pages/pmd/rules/java/design.md
index b0647c24cd..3458d95fba 100644
--- a/docs/pages/pmd/rules/java/design.md
+++ b/docs/pages/pmd/rules/java/design.md
@@ -1779,7 +1779,7 @@ public class Foo {
 
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
-|ignoredAnnotations|lombok.Setter \| lombok.Getter \| lombok.Builder \| lombok.Data \| lombok.RequiredArgsConstructor \| lombok.AllArgsConstructor \| lombok.Value \| lombok.NoArgsConstructor|Fully qualified names of the annotation types that should be ignored by this rule|yes. Delimiter is '\|'.|
+|ignoredAnnotations|lombok.Setter \| lombok.Getter \| lombok.Builder \| lombok.Data \| lombok.RequiredArgsConstructor \| lombok.AllArgsConstructor \| lombok.Value \| lombok.NoArgsConstructor \| lombok.experimental.Delegate|Fully qualified names of the annotation types that should be ignored by this rule|yes. Delimiter is '\|'.|
 |checkInnerClasses|false|Check inner classes|no|
 |disallowNotAssignment|false|Disallow violations where the first usage is not an assignment|no|
 
@@ -1792,7 +1792,7 @@ public class Foo {
 ``` xml
 <rule ref="category/java/design.xml/SingularField">
     <properties>
-        <property name="ignoredAnnotations" value="lombok.Setter|lombok.Getter|lombok.Builder|lombok.Data|lombok.RequiredArgsConstructor|lombok.AllArgsConstructor|lombok.Value|lombok.NoArgsConstructor" />
+        <property name="ignoredAnnotations" value="lombok.Setter|lombok.Getter|lombok.Builder|lombok.Data|lombok.RequiredArgsConstructor|lombok.AllArgsConstructor|lombok.Value|lombok.NoArgsConstructor|lombok.experimental.Delegate" />
         <property name="checkInnerClasses" value="false" />
         <property name="disallowNotAssignment" value="false" />
     </properties>
diff --git a/docs/pages/pmd/rules/java/multithreading.md b/docs/pages/pmd/rules/java/multithreading.md
index 256bb3e149..34e0e7275d 100644
--- a/docs/pages/pmd/rules/java/multithreading.md
+++ b/docs/pages/pmd/rules/java/multithreading.md
@@ -293,7 +293,7 @@ public static Foo getFoo() {
 
 SimpleDateFormat instances are not synchronized. Sun recommends using separate format instances
 for each thread. If multiple threads must access a static formatter, the formatter must be
-synchronized either on method or block level.
+synchronized on block level.
 
 This rule has been deprecated in favor of the rule {% rule UnsynchronizedStaticFormatter %}.
 
@@ -307,17 +307,34 @@ public class Foo {
     void bar() {
         sdf.format(); // poor, no thread-safety
     }
-    static synchronized void foo() {
-        sdf.format(); // preferred
+    void foo() {
+        synchronized (sdf) { // preferred
+            sdf.format();
+        }
     }
 }
 ```
 
-**Use this rule by referencing it:**
+**This rule has the following properties:**
+
+|Name|Default Value|Description|Multivalued|
+|----|-------------|-----------|-----------|
+|allowMethodLevelSynchronization|false|If true, method level synchronization is allowed as well as synchronized block. Otherwise only synchronized blocks are allowed.|no|
+
+**Use this rule with the default properties by just referencing it:**
 ``` xml
 <rule ref="category/java/multithreading.xml/UnsynchronizedStaticDateFormatter" />
 ```
 
+**Use this rule and customize it:**
+``` xml
+<rule ref="category/java/multithreading.xml/UnsynchronizedStaticDateFormatter">
+    <properties>
+        <property name="allowMethodLevelSynchronization" value="false" />
+    </properties>
+</rule>
+```
+
 ## UnsynchronizedStaticFormatter
 
 **Since:** PMD 6.11.0
@@ -327,7 +344,7 @@ public class Foo {
 Instances of `java.text.Format` are generally not synchronized.
 Sun recommends using separate format instances for each thread.
 If multiple threads must access a static formatter, the formatter must be
-synchronized either on method or block level.
+synchronized on block level.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.multithreading.UnsynchronizedStaticFormatterRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java)
 
@@ -339,17 +356,34 @@ public class Foo {
     void bar() {
         sdf.format(); // poor, no thread-safety
     }
-    static synchronized void foo() {
-        sdf.format(); // preferred
+    void foo() {
+        synchronized (sdf) { // preferred
+            sdf.format();
+        }
     }
 }
 ```
 
-**Use this rule by referencing it:**
+**This rule has the following properties:**
+
+|Name|Default Value|Description|Multivalued|
+|----|-------------|-----------|-----------|
+|allowMethodLevelSynchronization|false|If true, method level synchronization is allowed as well as synchronized block. Otherwise only synchronized blocks are allowed.|no|
+
+**Use this rule with the default properties by just referencing it:**
 ``` xml
 <rule ref="category/java/multithreading.xml/UnsynchronizedStaticFormatter" />
 ```
 
+**Use this rule and customize it:**
+``` xml
+<rule ref="category/java/multithreading.xml/UnsynchronizedStaticFormatter">
+    <properties>
+        <property name="allowMethodLevelSynchronization" value="false" />
+    </properties>
+</rule>
+```
+
 ## UseConcurrentHashMap
 
 **Since:** PMD 4.2.6

From 727684885702a0e8bbda8875b4dbb247f4dad45d Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Tue, 11 Jun 2019 14:33:09 -0400
Subject: [PATCH 182/371] [plsql] Add Table InlineConstraint

---
 pmd-plsql/etc/grammar/PldocAST.jjt            |  72 ++++-
 pmd-plsql/src/main/ant/alljavacc.xml          |   1 +
 .../lang/plsql/ast/ASTInlineConstraint.java   |  47 +++
 .../plsql/ast/PLSQLParserVisitorAdapter.java  |   5 +
 .../lang/plsql/rule/AbstractPLSQLRule.java    |   5 +
 .../pmd/lang/plsql/ast/CreateTableTest.java   |   8 +
 .../lang/plsql/ast/CreateOrganizedTable.pls   | 252 +++++++++++++++
 .../pmd/lang/plsql/ast/CreateTable.pls        | 304 +++++++++++++++++-
 8 files changed, 675 insertions(+), 19 deletions(-)
 create mode 100644 pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java
 create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateOrganizedTable.pls

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index c4af120757..80d6ce6a50 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1177,9 +1177,9 @@ void RestOfStatement() #void :
     [ WhereClause() ]
     [ HierarchicalQueryClause() ]
     [ GroupByClause() ]
-    
+
     (LOOKAHEAD(2) ( SubqueryOperation() ) Subquery() )*
-    
+
     [ OrderByClause() ]
     [ RowLimitingClause() ]
 }
@@ -3647,11 +3647,15 @@ ASTTable Table()  :
   <CREATE> [ ( <GLOBAL> | <PRIVATE> ) <TEMPORARY> | <SHARDED> | <DUPLICATED> ]
   <TABLE> ObjectNameDeclaration()
   [ <SHARING> "=" ( <METADATA> | <DATA> | <EXTENDED> <DATA> | <NONE> ) ]
+  //object_table
+  ( <OF> Datatype() |
+  //relational_table
   [ "(" ( LOOKAHEAD(2) OutOfLineConstraint() | TableColumn() ) ("," ( LOOKAHEAD(2) OutOfLineConstraint() | TableColumn() ))* ")" ]
   [LOOKAHEAD(4) <ON> <COMMIT> (<DROP> | <PRESERVE>) <DEFINITION>]
-  [LOOKAHEAD(4) <ON> <COMMIT> (<DELETE> | <PRESERVE>) <ROWS>]
-  //### [physicalProperties()]
-  //### [tableProperties()]
+  [LOOKAHEAD(4) <ON> <COMMIT> (<DELETE> | <PRESERVE>) <ROWS>] )
+  //### [PhysicalProperties()]
+  //### [TableProperties()]
+  Skip2NextOccurrence(";")
   [";"]
 
       { return jjtThis ; }
@@ -3661,10 +3665,30 @@ ASTTableColumn TableColumn()  :
 {
 }
 {
-  ID() Datatype() [<_DEFAULT> Expression()] [[<NOT> ] <NULL>]
+  ID() Datatype()
+  [ ( <_DEFAULT> [ <ON> <NULL> ] (LOOKAHEAD(2) FunctionCall()|LOOKAHEAD(1) UnaryExpression(true))
+    | LOOKAHEAD(2) <GENERATED> [ ( <BY> <_DEFAULT> [ <ON> <NULL>] | KEYWORD("ALWAYS")) ]
+                               <AS> KEYWORD("IDENTITY") ) ]
+  (LOOKAHEAD(1) InlineConstraint())*
       { return jjtThis ; }
 }
 
+ASTInlineConstraint InlineConstraint() :
+{}
+{
+    [ <CONSTRAINT> ID() ]
+    ( [<NOT>] <NULL>
+    | <UNIQUE>  { jjtThis.setType(ConstraintType.UNIQUE); }
+    | <PRIMARY> { jjtThis.setType(ConstraintType.PRIMARY); } <KEY>
+    | <CHECK>   { jjtThis.setType(ConstraintType.CHECK); } "(" Condition() ")"
+    | <WITH> <ROWID>
+    | <SCOPE> <IS> [ LOOKAHEAD(2) TableName() "." ] Column()
+    | ReferencesClause()
+    )
+    (ConstraintState())*
+    { return jjtThis; }
+}
+
 ASTOutOfLineConstraint OutOfLineConstraint() :
 {}
 {
@@ -3672,16 +3696,31 @@ ASTOutOfLineConstraint OutOfLineConstraint() :
     (   <UNIQUE> { jjtThis.setType(ConstraintType.UNIQUE); } "(" ID() ("," ID())* ")"
       | <PRIMARY> { jjtThis.setType(ConstraintType.PRIMARY); } <KEY> "(" ID() ("," ID())* ")"
       | <FOREIGN> { jjtThis.setType(ConstraintType.FOREIGN); } <KEY> "(" ID() ("," ID())* ")" ReferencesClause()
-      | <CHECK> { jjtThis.setType(ConstraintType.CHECK); } "(" Statement() ")"
+      | <CHECK> { jjtThis.setType(ConstraintType.CHECK); } "(" Condition() ")"
     )
+    (ConstraintState())*
     { return jjtThis; }
 }
 
+void ConstraintState() #void:
+{}
+{
+    ( <USING> <INDEX>
+        ( LOOKAHEAD(2) <IDENTIFIER>
+        | LOOKAHEAD(2) "(" <CREATE> <UNIQUE> <INDEX> <IDENTIFIER> <ON> TableName() "(" Column() ("," Column())* ")" ")"
+        | LOOKAHEAD(2) ( <PCTFREE> NumericLiteral()
+                       | <IDENTIFIER> ( <IDENTIFIER> | Skip2NextTerminator("(",")") ) )* )
+    | <INITIALLY> (<IMMEDIATE>|<DEFERRED>)
+    | <DEFERRABLE>
+    | <ENABLE>
+    | <DISABLE> )
+}
+
 ASTReferencesClause ReferencesClause() :
 {}
 {
     <REFERENCES> ObjectNameDeclaration()
-    [ "(" ID() ( LOOKAHEAD(2) "," ID())* ]
+    [ "(" ID() ( LOOKAHEAD(2) "," ID() )* ")" ]
     [ <ON> <DELETE> ( <CASCADE> | <SET> <NULL> ) ]
     { return jjtThis; }
 }
@@ -4836,7 +4875,12 @@ TOKEN [IGNORE_CASE]:
 <FOREACHROW: "FOR EACH ROW"> |
 <REFERENCING: "REFERENCING"> |
 <OLD: "OLD"> |
-<PARENT: "PARENT">
+<PARENT: "PARENT"> |
+<GENERATED: "GENERATED"> |
+<SCOPE: "SCOPE"> |
+<INITIALLY: "INITIALLY"> |
+<DEFERRABLE: "DEFERRABLE"> |
+<DEFERRED: "DEFERRED">
 
 | <CC_IF: "$IF">
 | <CC_THEN: "$THEN">
@@ -5315,8 +5359,8 @@ ASTKEYWORD_UNRESERVED KEYWORD_UNRESERVED (): {}
 //| <DECLARE>
 //| <DECREMENT>
 //| <DECRYPT>
-//| <DEFERRABLE>
-//| <DEFERRED>
+| <DEFERRABLE>
+| <DEFERRED>
 | <DEFINE>// SQL*Plus command
 //| <DEFINED>
 | <DEFINER>
@@ -5431,7 +5475,7 @@ ASTKEYWORD_UNRESERVED KEYWORD_UNRESERVED (): {}
 //| <G>
 //| <GATHER_PLAN_STATISTICS>
 //| <GBY_CONC_ROLLUP>
-//| <GENERATED>
+| <GENERATED>
 | <GLOBAL>
 //| <GLOBAL_NAME>
 //| <GLOBAL_TOPIC_ENABLED>
@@ -5498,7 +5542,7 @@ ASTKEYWORD_UNRESERVED KEYWORD_UNRESERVED (): {}
 //| <INFORMATIONAL>
 //| <INITIAL>
 //| <INITIALIZED>
-//| <INITIALLY>
+| <INITIALLY>
 //| <INITRANS>
 //| <INLINE>
 //| <INLINE_XMLTYPE_NT>
@@ -5958,7 +6002,7 @@ ASTKEYWORD_UNRESERVED KEYWORD_UNRESERVED (): {}
 | <SCHEMA>
 //| <SCN>
 //| <SCN_ASCENDING>
-//| <SCOPE>
+| <SCOPE>
 //| <SD_ALL>
 //| <SD_INHIBIT>
 //| <SD_SHOW>
diff --git a/pmd-plsql/src/main/ant/alljavacc.xml b/pmd-plsql/src/main/ant/alljavacc.xml
index eddee3573d..d22c66587a 100644
--- a/pmd-plsql/src/main/ant/alljavacc.xml
+++ b/pmd-plsql/src/main/ant/alljavacc.xml
@@ -56,6 +56,7 @@
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTName.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTOuterJoinClause.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTOuterJoinType.java" />
+        <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTOutOfLineConstraint.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTPackageBody.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTPackageSpecification.java" />
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java
new file mode 100644
index 0000000000..5b89bc857e
--- /dev/null
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java
@@ -0,0 +1,47 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+/* Generated By:JJTree: Do not edit this line. ASTInlineConstraint.java Version 4.3 */
+/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
+
+package net.sourceforge.pmd.lang.plsql.ast;
+
+public class ASTInlineConstraint extends net.sourceforge.pmd.lang.plsql.ast.AbstractPLSQLNode {
+  private ConstraintType type;
+
+  public ASTInlineConstraint(int id) {
+    super(id);
+  }
+
+  public ASTInlineConstraint(PLSQLParser p, int id) {
+    super(p, id);
+  }
+
+  void setType(ConstraintType type) {
+    this.type = type;
+  }
+
+  public ConstraintType getType() {
+    return type;
+  }
+
+  public boolean isUnique() {
+    return type == ConstraintType.UNIQUE;
+  }
+
+  public boolean isPrimaryKey() {
+    return type == ConstraintType.PRIMARY;
+  }
+
+  public boolean isCheck() {
+    return type == ConstraintType.CHECK;
+  }
+
+  /** Accept the visitor. **/
+  @Override
+  public Object jjtAccept(PLSQLParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
+/* JavaCC - OriginalChecksum=6100a18102b66b39df188afb7c4dcf8a (do not edit this line) */
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java
index 3b274382f4..33c71ea8ac 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java
@@ -546,6 +546,11 @@ public class PLSQLParserVisitorAdapter implements PLSQLParserVisitor {
         return visit((PLSQLNode) node, data);
     }
 
+    @Override
+    public Object visit(ASTInlineConstraint node, Object data) {
+        return visit((PLSQLNode) node, data);
+    }
+
     @Override
     public Object visit(ASTView node, Object data) {
         return visit((PLSQLNode) node, data);
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java
index 598ac08534..ca77e27c87 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java
@@ -626,6 +626,11 @@ public abstract class AbstractPLSQLRule extends AbstractRule implements PLSQLPar
         return visit((PLSQLNode) node, data);
     }
 
+    @Override
+    public Object visit(ASTInlineConstraint node, Object data) {
+        return visit((PLSQLNode) node, data);
+    }
+
     @Override
     public Object visit(ASTTableColumn node, Object data) {
         return visit((PLSQLNode) node, data);
diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CreateTableTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CreateTableTest.java
index 381efe7a78..cad405334b 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CreateTableTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CreateTableTest.java
@@ -21,4 +21,12 @@ public class CreateTableTest extends AbstractPLSQLParserTst {
         ASTInput input = parsePLSQL(code);
         Assert.assertNotNull(input);
     }
+
+    @Test
+    public void parseCreateOrganizedTable() throws Exception {
+        String code = IOUtils.toString(this.getClass().getResourceAsStream("CreateOrganizedTable.pls"),
+                StandardCharsets.UTF_8);
+        ASTInput input = parsePLSQL(code);
+        Assert.assertNotNull(input);
+    }
 }
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateOrganizedTable.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateOrganizedTable.pls
new file mode 100644
index 0000000000..ac32084672
--- /dev/null
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateOrganizedTable.pls
@@ -0,0 +1,252 @@
+--
+-- BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+--
+
+-- FIXED records
+CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth CHAR(4))
+  ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
+                         ACCESS PARAMETERS (RECORDS FIXED 20 FIELDS (first_name CHAR(7),
+                                                                    last_name CHAR(8),
+                                                                    year_of_birth CHAR(4)))
+                         LOCATION ('info.dat'));
+
+-- VARIABLE records
+CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth CHAR(4))
+  ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
+                         ACCESS PARAMETERS (RECORDS VARIABLE 2 FIELDS TERMINATED BY ','
+                                             (first_name CHAR(7),
+                                              last_name CHAR(8),
+                                              year_of_birth CHAR(4)))
+                         LOCATION ('info.dat'));
+
+-- DELIMITED BY records
+CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth CHAR(4))
+  ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
+                         ACCESS PARAMETERS (RECORDS DELIMITED BY '|' FIELDS TERMINATED BY ','
+                                              (first_name CHAR(7),
+                                               last_name CHAR(8),
+                                               year_of_birth CHAR(4)))
+                         LOCATION ('info.dat'));
+
+-- without any access parameters
+CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth CHAR(4))
+ ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir LOCATION ('info.dat'));
+
+-- External Table with Terminating Delimiters
+CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth CHAR(4))
+  ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
+                         ACCESS PARAMETERS (FIELDS TERMINATED BY WHITESPACE)
+                         LOCATION ('info.dat'));
+
+-- External Table with Enclosure and Terminator Delimiters
+CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth CHAR(4))
+  ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
+                        ACCESS PARAMETERS (FIELDS TERMINATED BY "," ENCLOSED BY "("  AND ")")
+                        LOCATION ('info.dat'));
+
+-- Example: External Table with Optional Enclosure Delimiters
+CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth CHAR(4))
+  ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
+                         ACCESS PARAMETERS (FIELDS TERMINATED BY ','
+                                            OPTIONALLY ENCLOSED BY '(' and ')'
+                                            LRTRIM)
+                         LOCATION ('info.dat'));
+
+-- all data is fixed-length
+CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20),
+year_of_birth CHAR(4))
+  ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
+                         ACCESS PARAMETERS (FIELDS LTRIM)
+                         LOCATION ('info.dat'));
+
+-- MISSING FIELD VALUES ARE NULL
+CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth INT)
+  ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
+                         ACCESS PARAMETERS (FIELDS TERMINATED BY ","
+                                            MISSING FIELD VALUES ARE NULL)
+                         LOCATION ('info.dat'));
+
+-- external table with no field_list and a delim_spec
+CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth INT)
+  ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
+                         ACCESS PARAMETERS (FIELDS TERMINATED BY "|")
+                         LOCATION ('info.dat'));
+
+-- various ways of using pos_spec
+CREATE TABLE emp_load (first_name CHAR(15),
+                      last_name CHAR(20),
+                      year_of_birth INT,
+                      phone CHAR(12),
+                      area_code CHAR(3),
+                      exchange CHAR(3),
+                      extension CHAR(4))
+  ORGANIZATION EXTERNAL
+  (TYPE ORACLE_LOADER
+   DEFAULT DIRECTORY ext_tab_dir
+   ACCESS PARAMETERS
+     (FIELDS RTRIM
+            (first_name (1:15) CHAR(15),
+             last_name (*:+20),
+             year_of_birth (36:39),
+             phone (40:52),
+             area_code (*-12: +3),
+             exchange (*+1: +3),
+             extension (*+1: +4)))
+   LOCATION ('info.dat'));
+
+-- Use of the CHAR clause.
+CREATE TABLE emp_load
+      (employee_number      CHAR(5),
+       employee_dob         CHAR(20),
+       employee_last_name   CHAR(20),
+       employee_first_name  CHAR(15),
+       employee_middle_name CHAR(15),
+       employee_hire_date   DATE)
+  ORGANIZATION EXTERNAL
+    (TYPE ORACLE_LOADER
+      DEFAULT DIRECTORY def_dir1
+      ACCESS PARAMETERS
+        (RECORDS DELIMITED BY NEWLINE
+         FIELDS (employee_number      CHAR(2),
+                 employee_dob         CHAR(20),
+                 employee_last_name   CHAR(18),
+                 employee_first_name  CHAR(11),
+                 employee_middle_name CHAR(11),
+                 employee_hire_date   CHAR(10) date_format DATE mask "mm/dd/yyyy"
+                )
+        )
+      LOCATION ('info.dat')
+    );
+
+-- Use of a complex DATE character string and a TIMESTAMP character string
+CREATE TABLE emp_load
+  (employee_number      CHAR(5),
+   employee_dob         CHAR(20),
+   employee_last_name   CHAR(20),
+   employee_first_name  CHAR(15),
+   employee_middle_name CHAR(15),
+   employee_hire_date   DATE,
+   rec_creation_date    TIMESTAMP WITH TIME ZONE)
+ORGANIZATION EXTERNAL
+  (TYPE ORACLE_LOADER
+   DEFAULT DIRECTORY def_dir1
+   ACCESS PARAMETERS
+     (RECORDS DELIMITED BY NEWLINE
+      FIELDS (employee_number      CHAR(2),
+              employee_dob         CHAR(20),
+              employee_last_name   CHAR(18),
+              employee_first_name  CHAR(11),
+              employee_middle_name CHAR(11),
+              employee_hire_date   CHAR(22) date_format DATE mask "mm/dd/yyyy hh:mi:ss AM",
+              rec_creation_date    CHAR(35) date_format TIMESTAMP WITH TIMEZONE mask "DD-MON-RR HH.MI.SSXFF AM TZH:TZM"
+             )
+     )
+   LOCATION ('infoc.dat')
+  );
+
+-- Uses of VARCHAR and VARRAW
+CREATE TABLE emp_load
+             (first_name CHAR(15),
+              last_name CHAR(20),
+              resume CHAR(2000),
+              picture RAW(2000))
+  ORGANIZATION EXTERNAL
+  (TYPE ORACLE_LOADER
+   DEFAULT DIRECTORY ext_tab_dir
+   ACCESS PARAMETERS
+     (RECORDS
+        VARIABLE 2
+        DATA IS BIG ENDIAN
+        CHARACTERSET US7ASCII
+      FIELDS (first_name VARCHAR(2,12),
+              last_name VARCHAR(2,20),
+              resume VARCHAR(4,10000),
+              picture VARRAW(4,100000)))
+    LOCATION ('info.dat'));
+
+-- Uses of VARCHARC and VARRAWC
+CREATE TABLE emp_load
+             (first_name CHAR(15),
+              last_name CHAR(20),
+              resume CHAR(2000),
+              picture RAW (2000))
+  ORGANIZATION EXTERNAL
+  (TYPE ORACLE_LOADER
+    DEFAULT DIRECTORY ext_tab_dir
+    ACCESS PARAMETERS
+      (FIELDS (first_name VARCHARC(5,12),
+               last_name VARCHARC(2,20),
+               resume VARCHARC(4,10000),
+               picture VARRAWC(4,100000)))
+  LOCATION ('info.dat'));
+
+CREATE TABLE lob_tab (
+  colid        NUMBER(10),
+  clob_content CLOB
+)
+ORGANIZATION EXTERNAL
+(
+  TYPE ORACLE_LOADER
+  DEFAULT DIRECTORY temp_dir
+  ACCESS PARAMETERS
+  (
+    RECORDS DELIMITED BY NEWLINE
+    BADFILE temp_dir:'data.bad'
+    LOGFILE temp_dir:'data.log'
+    FIELDS TERMINATED BY ','
+    MISSING FIELD VALUES ARE NULL
+    (
+      colid             CHAR(10),
+      clob_filename     CHAR(100)
+    )
+    COLUMN TRANSFORMS (clob_content FROM LOBFILE (clob_filename) FROM (temp_dir) CLOB)
+  )
+  LOCATION ('data.txt')
+)
+--PARALLEL 2
+REJECT LIMIT UNLIMITED;
+
+CREATE TABLE dept_external (
+   deptno     NUMBER(6),
+   dname      VARCHAR2(20),
+   loc        VARCHAR2(25)
+)
+ORGANIZATION EXTERNAL
+(TYPE ORACLE_LOADER
+ DEFAULT DIRECTORY admin
+ ACCESS PARAMETERS
+ (
+  RECORDS DELIMITED BY newline
+  BADFILE 'ulcase1.bad'
+  DISCARDFILE 'ulcase1.dis'
+  LOGFILE 'ulcase1.log'
+  SKIP 20
+  FIELDS TERMINATED BY ","  OPTIONALLY ENCLOSED BY '"'
+  (
+   deptno     INTEGER EXTERNAL(6),
+   dname      CHAR(20),
+   loc        CHAR(25)
+  )
+ )
+ LOCATION ('ulcase1.ctl')
+)
+REJECT LIMIT UNLIMITED;
+
+CREATE TABLE countries_demo
+    ( country_id      CHAR(2)
+    , country_name    VARCHAR2(40)
+    , currency_name   VARCHAR2(25)
+    , currency_symbol VARCHAR2(3)
+    , region          VARCHAR2(15) )
+    ORGANIZATION INDEX
+    STORAGE
+     ( INITIAL  4K )
+    PCTTHRESHOLD 2
+    INCLUDING   country_name
+   OVERFLOW
+    STORAGE
+      ( INITIAL  4K );
+
+create table toys_heap (
+  toy_name varchar2(100)
+) organization heap;
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateTable.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateTable.pls
index 5d996edfc8..0351df1eaa 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateTable.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateTable.pls
@@ -4,8 +4,302 @@
 
 -- this is the customers.sql file:
 CREATE TABLE customers
-( customer_id number(10) NOT NULL,
-customer_name varchar2(50) NOT NULL,
-city varchar2(50),
-CONSTRAINT customers_pk PRIMARY KEY (customer_id)
-);
+    ( customer_id       number(10) primary key enable
+    , customer_name     varchar2(50) NOT NULL
+    , zip               NUMBER DEFAULT 10001 NOT NULL
+    , city              varchar2(50) default on null 'New York'
+    , status            VARCHAR2(1) CONSTRAINT status_chk CHECK (status in ('X', 'Y', 'Z'))
+    , registration_date timestamp default CURRENT_TIMESTAMP not null
+    , expiration_date   date default TO_DATE('12-31-2999','mm-dd-yyyy') not null
+    , CONSTRAINT        customers_pk PRIMARY KEY (customer_id)
+    );
+
+CREATE TABLE employees_demo
+    ( employee_id    NUMBER(6)
+    , first_name     VARCHAR2(20)
+    , last_name      VARCHAR2(25)
+         CONSTRAINT emp_last_name_nn_demo NOT NULL
+    , email          VARCHAR2(25)
+         CONSTRAINT emp_email_nn_demo     NOT NULL
+    , phone_number   VARCHAR2(20)
+    , hire_date      DATE  DEFAULT SYSDATE
+         CONSTRAINT emp_hire_date_nn_demo  NOT NULL
+    , job_id         VARCHAR2(10)
+       CONSTRAINT     emp_job_nn_demo  NOT NULL
+    , salary         NUMBER(8,2)
+       CONSTRAINT     emp_salary_nn_demo  NOT NULL
+    , commission_pct NUMBER(2,2)
+    , manager_id     NUMBER(6)
+    , department_id  NUMBER(4)
+    , dn             VARCHAR2(300)
+    , CONSTRAINT     emp_salary_min_demo
+                     CHECK (salary > 0)
+    , CONSTRAINT     emp_email_uk_demo
+                     UNIQUE (email)
+    ) ;
+
+CREATE TABLE employees_demo
+    ( employee_id    NUMBER(6)
+    , first_name     VARCHAR2(20)
+    , last_name      VARCHAR2(25)
+         CONSTRAINT emp_last_name_nn_demo NOT NULL
+    , email          VARCHAR2(25)
+         CONSTRAINT emp_email_nn_demo     NOT NULL
+    , phone_number   VARCHAR2(20)
+    , hire_date      DATE  DEFAULT SYSDATE
+         CONSTRAINT emp_hire_date_nn_demo  NOT NULL
+    , job_id         VARCHAR2(10)
+       CONSTRAINT     emp_job_nn_demo  NOT NULL
+    , salary         NUMBER(8,2)
+       CONSTRAINT     emp_salary_nn_demo  NOT NULL
+    , commission_pct NUMBER(2,2)
+    , manager_id     NUMBER(6)
+    , department_id  NUMBER(4)
+    , dn             VARCHAR2(300)
+    , CONSTRAINT     emp_salary_min_demo
+                     CHECK (salary > 0)
+    , CONSTRAINT     emp_email_uk_demo
+                     UNIQUE (email)
+    )
+   TABLESPACE example
+   STORAGE (INITIAL 8M);
+
+CREATE TABLE t1 (id NUMBER GENERATED AS IDENTITY);
+
+CREATE GLOBAL TEMPORARY TABLE today_sales
+   ON COMMIT PRESERVE ROWS
+   AS SELECT * FROM orders WHERE order_date = SYSDATE;
+
+CREATE TABLE later (col1 NUMBER, col2 VARCHAR2(20))    SEGMENT CREATION DEFERRED;
+
+CREATE TABLE persons OF person_t;
+
+CREATE TABLE books (title VARCHAR2(100), author person_t);
+
+CREATE TABLE dept_80
+   PARALLEL
+   AS SELECT * FROM employees
+   WHERE department_id = 80;
+
+CREATE TABLE dept_80
+   AS SELECT * FROM employees
+   WHERE department_id = 80;
+
+CREATE TABLE departments_demo
+    ( department_id    NUMBER(4)
+    , department_name  VARCHAR2(30)
+           CONSTRAINT  dept_name_nn  NOT NULL
+    , manager_id       NUMBER(6)
+    , location_id      NUMBER(4)
+    , dn               VARCHAR2(300)
+    ) ;
+
+CREATE TABLE departments_demo
+    ( department_id    NUMBER(4)   PRIMARY KEY DISABLE
+    , department_name  VARCHAR2(30)
+           CONSTRAINT  dept_name_nn  NOT NULL
+    , manager_id       NUMBER(6)
+    , location_id      NUMBER(4)
+    , dn               VARCHAR2(300)
+    ) ;
+
+CREATE TABLE print_media
+    ( product_id        NUMBER(6)
+    , ad_id             NUMBER(6)
+    , ad_composite      BLOB
+    , ad_sourcetext     CLOB
+    , ad_finaltext      CLOB
+    , ad_fltextn        NCLOB
+    , ad_textdocs_ntab  textdoc_tab
+    , ad_photo          BLOB
+    , ad_graphic        BFILE
+    , ad_header         adheader_typ
+    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab;
+
+CREATE TABLE business_contacts (
+   company_name VARCHAR2(25),
+   company_reps customer_list)
+   NESTED TABLE company_reps STORE AS outer_ntab
+   (NESTED TABLE phones STORE AS inner_ntab);
+
+CREATE TABLE my_customers (
+   name VARCHAR2(25),
+   phone_numbers phone_list)
+   NESTED TABLE phone_numbers STORE AS outer_ntab
+   (NESTED TABLE COLUMN_VALUE STORE AS inner_ntab);
+
+CREATE TABLE print_media_new
+    ( product_id        NUMBER(6)
+    , ad_id             NUMBER(6)
+    , ad_composite      BLOB
+    , ad_sourcetext     CLOB
+    , ad_finaltext      CLOB
+    , ad_fltextn        NCLOB
+    , ad_textdocs_ntab  textdoc_tab
+    , ad_photo          BLOB
+    , ad_graphic        BFILE
+    , ad_header         adheader_typ
+    ) NESTED TABLE ad_textdocs_ntab STORE AS textdocs_nestedtab_new
+    LOB (ad_sourcetext, ad_finaltext) STORE AS
+      (TABLESPACE example
+       STORAGE (INITIAL 6144)
+       CHUNK 4000
+       NOCACHE LOGGING);
+
+CREATE TABLE promotions_var1
+    ( promo_id         NUMBER(6)
+                       CONSTRAINT promo_id_u  UNIQUE
+    , promo_name       VARCHAR2(20)
+    , promo_category   VARCHAR2(15)
+    , promo_cost       NUMBER(10,2)
+    , promo_begin_date DATE
+    , promo_end_date   DATE
+    ) ;
+
+CREATE TABLE promotions_var2
+    ( promo_id         NUMBER(6)
+    , promo_name       VARCHAR2(20)
+    , promo_category   VARCHAR2(15)
+    , promo_cost       NUMBER(10,2)
+    , promo_begin_date DATE
+    , promo_end_date   DATE
+    , CONSTRAINT promo_id_u UNIQUE (promo_id)
+   USING INDEX PCTFREE 20
+      TABLESPACE stocks
+      STORAGE (INITIAL 8M) );
+
+CREATE TABLE locations_demo
+    ( location_id    NUMBER(4) CONSTRAINT loc_id_pk PRIMARY KEY
+    , street_address VARCHAR2(40)
+    , postal_code    VARCHAR2(12)
+    , city           VARCHAR2(30)
+    , state_province VARCHAR2(25)
+    , country_id     CHAR(2)
+    ) ;
+
+CREATE TABLE locations_demo
+    ( location_id    NUMBER(4)
+    , street_address VARCHAR2(40)
+    , postal_code    VARCHAR2(12)
+    , city           VARCHAR2(30)
+    , state_province VARCHAR2(25)
+    , country_id     CHAR(2)
+    , CONSTRAINT loc_id_pk PRIMARY KEY (location_id));
+
+CREATE TABLE dept_20
+   (employee_id     NUMBER(4),
+    last_name       VARCHAR2(10),
+    job_id          VARCHAR2(9),
+    manager_id      NUMBER(4),
+    hire_date       DATE,
+    salary          NUMBER(7,2),
+    commission_pct  NUMBER(7,2),
+    --department_id,
+   CONSTRAINT fk_deptno
+      FOREIGN  KEY (department_id)
+      REFERENCES  departments(department_id) );
+
+CREATE TABLE dept_20
+   (employee_id     NUMBER(4) PRIMARY KEY,
+    last_name       VARCHAR2(10),
+    job_id          VARCHAR2(9),
+    manager_id      NUMBER(4) CONSTRAINT fk_mgr
+                    REFERENCES employees ON DELETE SET NULL,
+    hire_date       DATE,
+    salary          NUMBER(7,2),
+    commission_pct  NUMBER(7,2),
+    department_id   NUMBER(2)   CONSTRAINT fk_deptno
+                    REFERENCES departments(department_id)
+                    ON DELETE CASCADE );
+
+CREATE TABLE divisions
+   (div_no    NUMBER  CONSTRAINT check_divno
+              CHECK (div_no BETWEEN 10 AND 99)
+              DISABLE,
+    div_name  VARCHAR2(9)  CONSTRAINT check_divname
+              CHECK (div_name = UPPER(div_name))
+              DISABLE,
+    office    VARCHAR2(10)  CONSTRAINT check_office
+              CHECK (office IN ('DALLAS','BOSTON',
+              'PARIS','TOKYO'))
+              DISABLE);
+
+CREATE TABLE dept_20
+   (employee_id     NUMBER(4) PRIMARY KEY,
+    last_name       VARCHAR2(10),
+    job_id          VARCHAR2(9),
+    manager_id      NUMBER(4),
+    salary          NUMBER(7,2),
+    commission_pct  NUMBER(7,2),
+    department_id   NUMBER(2),
+    CONSTRAINT check_sal CHECK (salary * commission_pct <= 5000));
+
+CREATE TABLE order_detail
+  (CONSTRAINT pk_od PRIMARY KEY (order_id, part_no),
+   order_id    NUMBER
+      CONSTRAINT fk_oid
+         REFERENCES oe.orders(order_id),
+   part_no     NUMBER
+      CONSTRAINT fk_pno
+         REFERENCES oe.product_information(product_id),
+   quantity    NUMBER
+      CONSTRAINT nn_qty NOT NULL
+      CONSTRAINT check_qty CHECK (quantity > 0),
+   cost        NUMBER
+      CONSTRAINT check_cost CHECK (cost > 0) );
+
+CREATE TYPE person_name AS OBJECT
+   (first_name VARCHAR2(30), last_name VARCHAR2(30));
+/
+
+CREATE TABLE students (name person_name, age INTEGER,
+   CHECK (name.first_name IS NOT NULL AND
+          name.last_name IS NOT NULL));
+
+CREATE TYPE cust_address_typ_new AS OBJECT
+    ( street_address     VARCHAR2(40)
+    , postal_code        VARCHAR2(10)
+    , city               VARCHAR2(30)
+    , state_province     VARCHAR2(10)
+    , country_id         CHAR(2)
+    );
+/
+CREATE TABLE address_table OF cust_address_typ_new;
+
+CREATE TABLE customer_addresses (
+   add_id NUMBER,
+   address REF cust_address_typ_new
+   SCOPE IS address_table);
+
+CREATE TABLE customer_addresses (
+   add_id NUMBER,
+   address REF cust_address_typ REFERENCES address_table);
+
+CREATE TABLE employees_obj
+   ( e_name   VARCHAR2(100),
+     e_number NUMBER,
+     e_dept   REF department_typ SCOPE IS departments_obj_t );
+
+CREATE TABLE employees_obj
+   ( e_name   VARCHAR2(100),
+     e_number NUMBER,
+     e_dept   REF department_typ REFERENCES departments_obj_t);
+
+CREATE TABLE promotions_var3
+    ( promo_id         NUMBER(6)
+    , promo_name       VARCHAR2(20)
+    , promo_category   VARCHAR2(15)
+    , promo_cost       NUMBER(10,2)
+    , promo_begin_date DATE
+    , promo_end_date   DATE
+    , CONSTRAINT promo_id_u UNIQUE (promo_id, promo_cost)
+         USING INDEX (CREATE UNIQUE INDEX promo_ix1
+            ON promotions_var3 (promo_id, promo_cost))
+    , CONSTRAINT promo_id_u2 UNIQUE (promo_cost, promo_id)
+         USING INDEX promo_ix1);
+
+CREATE TABLE games (scores NUMBER CHECK (scores >= 0));
+
+CREATE TABLE games
+  (scores NUMBER, CONSTRAINT unq_num UNIQUE (scores)
+   INITIALLY DEFERRED DEFERRABLE);

From 473cdba9df140948054a433464578a870f39055e Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Tue, 11 Jun 2019 15:36:17 -0400
Subject: [PATCH 183/371] [plsql] Add Table InlineConstraint fix

---
 .../lang/plsql/ast/ASTInlineConstraint.java   | 56 ++++++++++---------
 1 file changed, 29 insertions(+), 27 deletions(-)

diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java
index 5b89bc857e..4176bfb1fd 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java
@@ -8,40 +8,42 @@
 package net.sourceforge.pmd.lang.plsql.ast;
 
 public class ASTInlineConstraint extends net.sourceforge.pmd.lang.plsql.ast.AbstractPLSQLNode {
-  private ConstraintType type;
+    private ConstraintType type;
 
-  public ASTInlineConstraint(int id) {
-    super(id);
-  }
+    public ASTInlineConstraint(int id) {
+        super(id);
+    }
 
-  public ASTInlineConstraint(PLSQLParser p, int id) {
-    super(p, id);
-  }
+    public ASTInlineConstraint(PLSQLParser p, int id) {
+        super(p, id);
+    }
 
-  void setType(ConstraintType type) {
-    this.type = type;
-  }
+    void setType(ConstraintType type) {
+        this.type = type;
+    }
 
-  public ConstraintType getType() {
-    return type;
-  }
+    public ConstraintType getType() {
+        return type;
+    }
 
-  public boolean isUnique() {
-    return type == ConstraintType.UNIQUE;
-  }
+    public boolean isUnique() {
+        return type == ConstraintType.UNIQUE;
+    }
 
-  public boolean isPrimaryKey() {
-    return type == ConstraintType.PRIMARY;
-  }
+    public boolean isPrimaryKey() {
+        return type == ConstraintType.PRIMARY;
+    }
 
-  public boolean isCheck() {
-    return type == ConstraintType.CHECK;
-  }
+    public boolean isCheck() {
+        return type == ConstraintType.CHECK;
+    }
 
-  /** Accept the visitor. **/
-  @Override
-  public Object jjtAccept(PLSQLParserVisitor visitor, Object data) {
-    return visitor.visit(this, data);
-  }
+    /**
+     * Accept the visitor.
+     **/
+    @Override
+    public Object jjtAccept(PLSQLParserVisitor visitor, Object data) {
+        return visitor.visit(this, data);
+    }
 }
 /* JavaCC - OriginalChecksum=6100a18102b66b39df188afb7c4dcf8a (do not edit this line) */

From 5b6f483f95051555baefee3d06f2fd406af55efd Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Tue, 11 Jun 2019 17:25:12 -0400
Subject: [PATCH 184/371] [plsql] Add support for Subquery Views

---
 pmd-plsql/etc/grammar/PldocAST.jjt                       | 5 +++--
 .../net/sourceforge/pmd/lang/plsql/ast/ViewTest.java     | 8 ++++++++
 .../pmd/lang/plsql/ast/CreateViewWithSubquery.pls        | 9 +++++++++
 3 files changed, 20 insertions(+), 2 deletions(-)
 create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateViewWithSubquery.pls

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 80d6ce6a50..4818ff5a58 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -3648,7 +3648,7 @@ ASTTable Table()  :
   <TABLE> ObjectNameDeclaration()
   [ <SHARING> "=" ( <METADATA> | <DATA> | <EXTENDED> <DATA> | <NONE> ) ]
   //object_table
-  ( <OF> Datatype() |
+  ( <OF> Datatype() [ [ <NOT> ] KEYWORD("SUBSTITUTABLE") <AT> <ALL> KEYWORD("LEVELS") ]|
   //relational_table
   [ "(" ( LOOKAHEAD(2) OutOfLineConstraint() | TableColumn() ) ("," ( LOOKAHEAD(2) OutOfLineConstraint() | TableColumn() ))* ")" ]
   [LOOKAHEAD(4) <ON> <COMMIT> (<DROP> | <PRESERVE>) <DEFINITION>]
@@ -3736,7 +3736,8 @@ ASTView View()  :
   ["(" ViewColumn() ("," ViewColumn())* ")"]
   //### OF ... WITH OBJECT IDENTIFIER...
   <AS>
-  SqlStatement(null,";")
+  [ SqlStatement(null,";") | "(" Subquery() ")"]
+  [<WITH> ( <READ> <ONLY> | <CHECK> <OPTION> ) [ <CONSTRAINT> <IDENTIFIER> ]]
   (";" | "/")
 
   { jjtThis.setImage(simpleNode.getImage()) ;  return jjtThis ; }
diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/ViewTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/ViewTest.java
index 79595e9d86..c794a19099 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/ViewTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/ViewTest.java
@@ -21,4 +21,12 @@ public class ViewTest extends AbstractPLSQLParserTst {
         ASTInput input = parsePLSQL(code);
         Assert.assertNotNull(input);
     }
+
+    @Test
+    public void parseCreateView() throws Exception {
+        String code = IOUtils.toString(this.getClass().getResourceAsStream("CreateViewWithSubquery.pls"),
+                StandardCharsets.UTF_8);
+        ASTInput input = parsePLSQL(code);
+        Assert.assertNotNull(input);
+    }
 }
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateViewWithSubquery.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateViewWithSubquery.pls
new file mode 100644
index 0000000000..04d7d2dd4b
--- /dev/null
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateViewWithSubquery.pls
@@ -0,0 +1,9 @@
+--
+-- BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+--
+
+CREATE OR REPLACE VIEW EMP_DETAILS_VIEW AS
+(
+SELECT *
+FROM DUAL
+) WITH READ ONLY;
\ No newline at end of file

From a300a65ed2bf78e0a8e72e31d8c00dcfbbe9f25e Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Tue, 11 Jun 2019 20:16:45 -0400
Subject: [PATCH 185/371] [plsql] Add Support for Extract Expression

---
 pmd-plsql/etc/grammar/PldocAST.jjt            | 24 +++++++++++++++----
 .../plsql/ast/PLSQLParserVisitorAdapter.java  |  5 ++++
 .../lang/plsql/rule/AbstractPLSQLRule.java    |  5 ++++
 .../pmd/lang/plsql/ast/FunctionsTest.java     |  7 ++++++
 .../pmd/lang/plsql/ast/ExtractExpressions.pls | 21 ++++++++++++++++
 5 files changed, 58 insertions(+), 4 deletions(-)
 create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/ExtractExpressions.pls

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 4818ff5a58..f9d18af9ac 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -3147,19 +3147,35 @@ ASTUnaryExpression UnaryExpression(boolean isUnarySign) #UnaryExpression(>1) :
  }
 }
 
+ASTExtractExpression ExtractExpression() :
+{}
+{
+    <EXTRACT> "("
+        ( <MONTH> | <YEAR> | <DAY> |<HOUR> | <MINUTE> | <SECOND>
+        | <TIMEZONE_HOUR> | <TIMEZONE_MINUTE>
+        | <TIMEZONE_REGION> | <TIMEZONE_ABBR> )
+    <FROM>
+        (LOOKAHEAD(2) FunctionCall()
+        |LOOKAHEAD(2) DateTimeLiteral()
+        |LOOKAHEAD(1) Name() ) ")"
+    { return jjtThis ; }
+}
+
 ASTUnaryExpressionNotPlusMinus UnaryExpressionNotPlusMinus() #UnaryExpressionNotPlusMinus(>1) :
 { PLSQLNode simpleNode = null; StringBuilder sb = new StringBuilder() ; }
 {
   (
-  (<NOT>) {sb.append(" NOT "); }
-  (simpleNode = UnaryExpression(false) ) { sb.append(simpleNode.getImage()); }
+    <NOT> {sb.append(" NOT "); } simpleNode = UnaryExpression(false)
   |
-   (simpleNode = IsNullCondition() ) {sb.append(simpleNode.getImage()); }
-  )
+    LOOKAHEAD(2) simpleNode = ExtractExpression()
+  |
+    LOOKAHEAD(2) simpleNode = IsNullCondition()
+  ) {sb.append(simpleNode.getImage()); }
  {
  jjtThis.setImage(sb.toString()); return jjtThis;
  }
 }
+
 ASTIsNullCondition IsNullCondition() #IsNullCondition(>1) :  //yanzin
 { PLSQLNode simpleNode = null; PLSQLNode name = null; StringBuilder sb = new StringBuilder(); }
 {
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java
index 33c71ea8ac..675d444b83 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java
@@ -426,6 +426,11 @@ public class PLSQLParserVisitorAdapter implements PLSQLParserVisitor {
         return visit((PLSQLNode) node, data);
     }
 
+    @Override
+    public Object visit(ASTExtractExpression node, Object data) {
+        return visit((PLSQLNode) node, data);
+    }
+
     @Override
     public Object visit(ASTUnaryExpressionNotPlusMinus node, Object data) {
         return visit((PLSQLNode) node, data);
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java
index ca77e27c87..7da4036f88 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java
@@ -516,6 +516,11 @@ public abstract class AbstractPLSQLRule extends AbstractRule implements PLSQLPar
         return visit((PLSQLNode) node, data);
     }
 
+    @Override
+    public Object visit(ASTExtractExpression node, Object data) {
+        return visit((PLSQLNode) node, data);
+    }
+
     @Override
     public Object visit(ASTUnaryExpressionNotPlusMinus node, Object data) {
         return visit((PLSQLNode) node, data);
diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/FunctionsTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/FunctionsTest.java
index 99d01bd2a2..ea78ede269 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/FunctionsTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/FunctionsTest.java
@@ -22,4 +22,11 @@ public class FunctionsTest extends AbstractPLSQLParserTst {
         Assert.assertNotNull(input);
     }
 
+    @Test
+    public void parseSelectExtractExpression() throws Exception {
+        String code = IOUtils.toString(this.getClass().getResourceAsStream("ExtractExpressions.pls"),
+                StandardCharsets.UTF_8);
+        ASTInput input = parsePLSQL(code);
+        Assert.assertNotNull(input);
+    }
 }
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/ExtractExpressions.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/ExtractExpressions.pls
new file mode 100644
index 0000000000..0e4e7f3b90
--- /dev/null
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/ExtractExpressions.pls
@@ -0,0 +1,21 @@
+--
+-- Subqueries / Expressions in the SelectList
+--
+
+SELECT EXTRACT(month FROM order_date) "Month",
+  COUNT(order_date) "No. of Orders"
+  FROM orders
+  GROUP BY EXTRACT(month FROM order_date)
+  ORDER BY "No. of Orders" DESC;
+
+SELECT EXTRACT(YEAR FROM DATE '1998-03-07') FROM DUAL;
+
+SELECT last_name, employee_id, hire_date
+   FROM employees
+   WHERE EXTRACT(YEAR FROM
+   TO_DATE(hire_date, 'DD-MON-RR')) > 1998
+   ORDER BY hire_date;
+
+SELECT EXTRACT(TIMEZONE_REGION
+      FROM TIMESTAMP '1999-01-01 10:00:00 -08:00')
+   FROM DUAL;

From d9a441c7d6bd7b8bb67ec1e12dbaf80d3b74a253 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Wed, 12 Jun 2019 18:38:25 +0200
Subject: [PATCH 186/371] Clarify violationSuppressXPath docs

---
 .../pmd/userdocs/suppressing_warnings.md      | 22 +++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/docs/pages/pmd/userdocs/suppressing_warnings.md b/docs/pages/pmd/userdocs/suppressing_warnings.md
index 20ab95452d..cf52782c0a 100644
--- a/docs/pages/pmd/userdocs/suppressing_warnings.md
+++ b/docs/pages/pmd/userdocs/suppressing_warnings.md
@@ -187,8 +187,13 @@ of no use.
 ###  The property `violationSuppressXPath`
 
 This property defines an XPath query to be executed *using the
-violation node as the starting point*.  If the XPath query matches anything,
-then the violation will be suppressed.
+violation node as the context node*.  If the XPath query matches anything,
+then the violation will be suppressed. Note that the query shouldn't be finding
+the violation nodes to suppress, but rather, finding a non-empty sequence of nodes
+when evaluated with the violation node as a context node.
+
+The XPath version used by those queries is XPath 1.0, so it doesn't support e.g.
+regex tests. This will be updated with PMD 7.0.0.
 
 For example, to suppress reporting specifically typed parameters which are unused:
 
@@ -200,6 +205,19 @@ For example, to suppress reporting specifically typed parameters which are unuse
 </rule>
 ```
 
+Note the use of `.` to refer to the context node. Using `//` at the start of the
+expression should be avoided, as it would test all nodes in the file, and suppress
+more violations than expected.
+
+Another example, to suppress violations occurring in classes whose name contains `Bean`:
+```xml
+<property name="violationSuppressXPath" value="./ancestor::ClassOrInterfaceDeclaration[contains(@Image, 'Bean')]"/>
+```
+
+Note here the used of the `./ancestor::` axis instead of `//`. The latter would match
+any ClassOrInterfaceDeclaration in the file, while the former matches only class
+declaration nodes that *enclose the violation node*, which is usually what you'd want.
+
 Note for XPath based suppression to work, you must know how to write
 an XPath query that matches the AST structure of the nodes of the
 violations you wish to suppress.  XPath queries are explained in

From c5a77fbc35cf32ea6980b99586c087d16b9c5919 Mon Sep 17 00:00:00 2001
From: "artem.krosheninnikov" <artem.krosheninnikov@team.wrike.com>
Date: Thu, 13 Jun 2019 01:04:50 +0300
Subject: [PATCH 187/371] add inner interface, inner and top-level annotations

---
 .../xml/MethodReturnsInternalArray.xml        | 46 +++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
index 4adaf5b87e..1c9293b0f2 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
@@ -262,6 +262,52 @@ public enum MethodReturnsInternalArrayCaseEnum {
     public String toString() {
         return titles[0];
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Inner interface</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public interface OuterInterface {
+       interface InnerInterface {
+            String method();
+       }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Inner annotation</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Retention;
+
+public final class I {
+    private I(){
+    }
+    @Retention(RetentionPolicy.RUNTIME)
+    public static @interface Inner {}
+}
+        ]]>
+        </code>
+    </test-code>
+    
+    <test-code>
+        <description>Top-level annotation</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface TopLevelAnnotation {
+
 }
         ]]></code>
     </test-code>

From 5f40ab11cf3ddecff87d83133af0c59b05dca08f Mon Sep 17 00:00:00 2001
From: "artem.krosheninnikov" <artem.krosheninnikov@team.wrike.com>
Date: Fri, 14 Jun 2019 01:47:17 +0300
Subject: [PATCH 188/371] enum with array instead of copy, inner enums with
 error and no error

---
 .../xml/MethodReturnsInternalArray.xml        | 66 +++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
index 1c9293b0f2..12a62be692 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
@@ -308,6 +308,72 @@ import java.lang.annotation.Target;
 @Retention(RetentionPolicy.RUNTIME)
 public @interface TopLevelAnnotation {
 
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Enum that returns array instead of copy</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public enum MethodReturnsInternalArrayCaseEnum {
+    ONE("One"),
+    TWO("Two", "Three");
+
+    private String[] titles;
+
+    MethodReturnsInternalArrayCaseEnum(String... titles) {
+        this.titles = titles;
+    }
+
+    public String[] getTitles() {
+        return titles;
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Inner enum that returns array instead of copy</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+public class OuterClass {
+
+    public enum InnerEnum {
+        INNER_ENUM("first", "second");
+        private String[] titles;
+
+        InnerEnum(String... titles) {
+            this.titles = titles;
+        }
+
+        public String[] getTitles() {
+            return titles;
+        }
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Inner enum that returns array instead of copy</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.util.Arrays;
+public class OuterClass {
+
+    public enum InnerEnum {
+        INNER_ENUM("first", "second");
+        private String[] titles;
+
+        InnerEnum(String... titles) {
+            this.titles = titles;
+        }
+
+        public String[] getTitles() {
+            return Arrays.copyOf(titles, titles.length);
+        }
+    }
 }
         ]]></code>
     </test-code>

From 3998e0c4a7f332fa4bac737d603df9ad29ce7324 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 14 Jun 2019 11:51:55 +0200
Subject: [PATCH 189/371] [plsql] Fixes from review #1863

---
 .../pmd/lang/plsql/ast/ASTInlineConstraint.java     | 13 +++----------
 .../pmd/lang/plsql/ast/CreateTableTest.java         |  5 +++++
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java
index 4176bfb1fd..ab1273b363 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTInlineConstraint.java
@@ -2,19 +2,16 @@
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
 
-/* Generated By:JJTree: Do not edit this line. ASTInlineConstraint.java Version 4.3 */
-/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
-
 package net.sourceforge.pmd.lang.plsql.ast;
 
-public class ASTInlineConstraint extends net.sourceforge.pmd.lang.plsql.ast.AbstractPLSQLNode {
+public class ASTInlineConstraint extends AbstractPLSQLNode {
     private ConstraintType type;
 
-    public ASTInlineConstraint(int id) {
+    ASTInlineConstraint(int id) {
         super(id);
     }
 
-    public ASTInlineConstraint(PLSQLParser p, int id) {
+    ASTInlineConstraint(PLSQLParser p, int id) {
         super(p, id);
     }
 
@@ -38,12 +35,8 @@ public class ASTInlineConstraint extends net.sourceforge.pmd.lang.plsql.ast.Abst
         return type == ConstraintType.CHECK;
     }
 
-    /**
-     * Accept the visitor.
-     **/
     @Override
     public Object jjtAccept(PLSQLParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
     }
 }
-/* JavaCC - OriginalChecksum=6100a18102b66b39df188afb7c4dcf8a (do not edit this line) */
diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CreateTableTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CreateTableTest.java
index cad405334b..0052faf081 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CreateTableTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/CreateTableTest.java
@@ -20,6 +20,11 @@ public class CreateTableTest extends AbstractPLSQLParserTst {
                 StandardCharsets.UTF_8);
         ASTInput input = parsePLSQL(code);
         Assert.assertNotNull(input);
+
+        // 5th column of first table statement has a inline constraint of type check
+        ASTTableColumn columnStatus = input.findChildrenOfType(ASTTable.class).get(0).findChildrenOfType(ASTTableColumn.class).get(4);
+        Assert.assertEquals("status", columnStatus.getFirstChildOfType(ASTID.class).getImage());
+        Assert.assertEquals(ConstraintType.CHECK, columnStatus.getFirstChildOfType(ASTInlineConstraint.class).getType());
     }
 
     @Test

From 876ee6910dde786c5bfdb94c274ca8896f4f96b6 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 14 Jun 2019 11:57:01 +0200
Subject: [PATCH 190/371] Update release notes, refs #1863

---
 docs/pages/release_notes.md | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 87e1896642..91c1c30a3c 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,6 +14,12 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### PLSQL Grammar Updates
+
+The grammar has been updated to support Inline Constraints in CREATE TABLE statements. Additionally, the
+CREATE TABLE statement may now be followed by physical properties and table properties. However, these
+properties are skipped over during parsing.
+
 #### Modified Rules
 
 *   The Java rule {% rule "java/bestpractices/UnusedPrivateField" %} (`java-bestpractices`) now ignores by
@@ -74,6 +80,7 @@ of deprecations.
 *   [#1792](https://github.com/pmd/pmd/pull/1792): \[java] Added lombok.experimental to AbstractLombokAwareRule - [jakivey32](https://github.com/jakivey32)
 *   [#1808](https://github.com/pmd/pmd/pull/1808): \[plsql] Fix PL/SQL Syntax errors - [kabroxiko](https://github.com/kabroxiko)
 *   [#1829](https://github.com/pmd/pmd/pull/1829): \[java] Fix false negative in UnsynchronizedStaticFormatter - [Srinivasan Venkatachalam](https://github.com/Srini1993)
+*   [#1863](https://github.com/pmd/pmd/pull/1863): \[plsql] Add Table InlineConstraint - [kabroxiko](https://github.com/kabroxiko)
 
 {% endtocmaker %}
 

From fadaf070156e1c85cb3ad89d820748531e98cdb0 Mon Sep 17 00:00:00 2001
From: "artem.krosheninnikov" <artem.krosheninnikov@team.wrike.com>
Date: Fri, 14 Jun 2019 13:02:15 +0300
Subject: [PATCH 191/371] review fixes

---
 .../xml/MethodReturnsInternalArray.xml              | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
index 12a62be692..74dbe488ed 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/MethodReturnsInternalArray.xml
@@ -272,7 +272,7 @@ public enum MethodReturnsInternalArrayCaseEnum {
         <code><![CDATA[
 public interface OuterInterface {
        interface InnerInterface {
-            String method();
+            String[] method();
        }
 }
         ]]></code>
@@ -284,12 +284,13 @@ public interface OuterInterface {
         <code><![CDATA[
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Retention;
-
 public final class I {
-    private I(){
+    private I() {
     }
     @Retention(RetentionPolicy.RUNTIME)
-    public static @interface Inner {}
+    public static @interface Inner {
+        String[] value();
+    }
 }
         ]]>
         </code>
@@ -308,6 +309,8 @@ import java.lang.annotation.Target;
 @Retention(RetentionPolicy.RUNTIME)
 public @interface TopLevelAnnotation {
 
+    String[] value();
+
 }
         ]]></code>
     </test-code>
@@ -356,7 +359,7 @@ public class OuterClass {
     </test-code>
 
     <test-code>
-        <description>Inner enum that returns array instead of copy</description>
+        <description>Inner enum that returns copy of array</description>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 import java.util.Arrays;

From 8dae5141685b3433b75942df6b6d25b9e5b98270 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 14 Jun 2019 13:26:42 +0200
Subject: [PATCH 192/371] [plsql] Fix object table substitution clause for
 CREATE TABLE

---
 pmd-plsql/etc/grammar/PldocAST.jjt                            | 3 +--
 .../net/sourceforge/pmd/lang/plsql/ast/CreateTable.pls        | 4 ++++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 4818ff5a58..2838e36436 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -3648,7 +3648,7 @@ ASTTable Table()  :
   <TABLE> ObjectNameDeclaration()
   [ <SHARING> "=" ( <METADATA> | <DATA> | <EXTENDED> <DATA> | <NONE> ) ]
   //object_table
-  ( <OF> Datatype() [ [ <NOT> ] KEYWORD("SUBSTITUTABLE") <AT> <ALL> KEYWORD("LEVELS") ]|
+  ( <OF> Datatype() [ [ <NOT> ] <SUBSTITUTABLE> <AT> <ALL> KEYWORD("LEVELS") ]|
   //relational_table
   [ "(" ( LOOKAHEAD(2) OutOfLineConstraint() | TableColumn() ) ("," ( LOOKAHEAD(2) OutOfLineConstraint() | TableColumn() ))* ")" ]
   [LOOKAHEAD(4) <ON> <COMMIT> (<DROP> | <PRESERVE>) <DEFINITION>]
@@ -5586,7 +5586,6 @@ ASTKEYWORD_UNRESERVED KEYWORD_UNRESERVED (): {}
 | <LENGTH>
 //| <LESS>
 | <LEVEL>
-//| <LEVELS>
 | <LIBRARY>
 //| <LIKE_EXPAND>
 | <LIKE2>
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateTable.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateTable.pls
index 0351df1eaa..a99a0651c5 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateTable.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/CreateTable.pls
@@ -74,6 +74,10 @@ CREATE TABLE later (col1 NUMBER, col2 VARCHAR2(20))    SEGMENT CREATION DEFERRED
 
 CREATE TABLE persons OF person_t;
 
+CREATE TABLE persons OF person_t SUBSTITUTABLE AT ALL LEVELS;
+
+CREATE TABLE persons OF person_t NOT SUBSTITUTABLE AT ALL LEVELS;
+
 CREATE TABLE books (title VARCHAR2(100), author person_t);
 
 CREATE TABLE dept_80

From 194db1963c3fb655a95d1e4450fa60a791522589 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 14 Jun 2019 13:55:23 +0200
Subject: [PATCH 193/371] [plsql] Simplify grammar, #1864

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 2838e36436..d3db3f5f53 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -3736,8 +3736,8 @@ ASTView View()  :
   ["(" ViewColumn() ("," ViewColumn())* ")"]
   //### OF ... WITH OBJECT IDENTIFIER...
   <AS>
-  [ SqlStatement(null,";") | "(" Subquery() ")"]
-  [<WITH> ( <READ> <ONLY> | <CHECK> <OPTION> ) [ <CONSTRAINT> <IDENTIFIER> ]]
+  Subquery()
+  [ SubqueryRestrictionClause() ]
   (";" | "/")
 
   { jjtThis.setImage(simpleNode.getImage()) ;  return jjtThis ; }

From 034ceeb151dd0183d925284e5c5f805b54f6f067 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 14 Jun 2019 14:01:51 +0200
Subject: [PATCH 194/371] Update release notes, refs #1864

---
 docs/pages/release_notes.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 87e1896642..4f6909aaf7 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,6 +14,10 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### PLSQL Grammar Updates
+
+The CREATE VIEW statement now supports subquery views.
+
 #### Modified Rules
 
 *   The Java rule {% rule "java/bestpractices/UnusedPrivateField" %} (`java-bestpractices`) now ignores by
@@ -74,6 +78,7 @@ of deprecations.
 *   [#1792](https://github.com/pmd/pmd/pull/1792): \[java] Added lombok.experimental to AbstractLombokAwareRule - [jakivey32](https://github.com/jakivey32)
 *   [#1808](https://github.com/pmd/pmd/pull/1808): \[plsql] Fix PL/SQL Syntax errors - [kabroxiko](https://github.com/kabroxiko)
 *   [#1829](https://github.com/pmd/pmd/pull/1829): \[java] Fix false negative in UnsynchronizedStaticFormatter - [Srinivasan Venkatachalam](https://github.com/Srini1993)
+*   [#1864](https://github.com/pmd/pmd/pull/1864): \[plsql] Add support for Subquery Views - [kabroxiko](https://github.com/kabroxiko)
 
 {% endtocmaker %}
 

From 6d67e473794a92548f618a24f7cb770fca69df94 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 14 Jun 2019 14:12:34 +0200
Subject: [PATCH 195/371] Update release notes, refs #1865

---
 docs/pages/release_notes.md | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 87e1896642..da8ecfb928 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,6 +14,11 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### PLSQL Grammar Updates
+
+The EXTRACT function can now be parsed correctly. It is used to extract values from a specified
+datetime field.
+
 #### Modified Rules
 
 *   The Java rule {% rule "java/bestpractices/UnusedPrivateField" %} (`java-bestpractices`) now ignores by
@@ -74,6 +79,7 @@ of deprecations.
 *   [#1792](https://github.com/pmd/pmd/pull/1792): \[java] Added lombok.experimental to AbstractLombokAwareRule - [jakivey32](https://github.com/jakivey32)
 *   [#1808](https://github.com/pmd/pmd/pull/1808): \[plsql] Fix PL/SQL Syntax errors - [kabroxiko](https://github.com/kabroxiko)
 *   [#1829](https://github.com/pmd/pmd/pull/1829): \[java] Fix false negative in UnsynchronizedStaticFormatter - [Srinivasan Venkatachalam](https://github.com/Srini1993)
+*   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [kabroxiko](https://github.com/kabroxiko)
 
 {% endtocmaker %}
 

From ef90a7c64e2352207b561c61e08e579230be98da Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 14 Jun 2019 14:22:58 +0200
Subject: [PATCH 196/371] Update release notes, fixes #1845, refs #1847

---
 docs/pages/release_notes.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 87e1896642..9ece04f665 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -36,6 +36,7 @@ This is a {{ site.pmd.release_type }} release.
     *   [#1848](https://github.com/pmd/pmd/issues/1848): \[java] Local classes should preserve their modifiers
 *   java-bestpractices
     *   [#1703](https://github.com/pmd/pmd/issues/1703): \[java] UnusedPrivateField on member annotated with lombok @Delegate
+    *   [#1845](https://github.com/pmd/pmd/issues/1845): \[java] Regression in MethodReturnsInternalArray not handling enums
 *   java-multithreading
     *   [#1814](https://github.com/pmd/pmd/issues/1814): \[java] UnsynchronizedStaticFormatter documentation and implementation wrong
     *   [#1815](https://github.com/pmd/pmd/issues/1815): \[java] False negative in UnsynchronizedStaticFormatter
@@ -74,6 +75,7 @@ of deprecations.
 *   [#1792](https://github.com/pmd/pmd/pull/1792): \[java] Added lombok.experimental to AbstractLombokAwareRule - [jakivey32](https://github.com/jakivey32)
 *   [#1808](https://github.com/pmd/pmd/pull/1808): \[plsql] Fix PL/SQL Syntax errors - [kabroxiko](https://github.com/kabroxiko)
 *   [#1829](https://github.com/pmd/pmd/pull/1829): \[java] Fix false negative in UnsynchronizedStaticFormatter - [Srinivasan Venkatachalam](https://github.com/Srini1993)
+*   [#1847](https://github.com/pmd/pmd/pull/1847): \[java] Regression in MethodReturnsInternalArray not handling enums - [Artem](https://github.com/KroArtem)
 
 {% endtocmaker %}
 

From e0afb8764188965082ed5aadb58ac831bc4e8cdc Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 14 Jun 2019 15:05:38 +0200
Subject: [PATCH 197/371] (doc) violationSuppressXPath with matches

---
 docs/pages/pmd/userdocs/suppressing_warnings.md | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/docs/pages/pmd/userdocs/suppressing_warnings.md b/docs/pages/pmd/userdocs/suppressing_warnings.md
index cf52782c0a..78860877d0 100644
--- a/docs/pages/pmd/userdocs/suppressing_warnings.md
+++ b/docs/pages/pmd/userdocs/suppressing_warnings.md
@@ -192,10 +192,10 @@ then the violation will be suppressed. Note that the query shouldn't be finding
 the violation nodes to suppress, but rather, finding a non-empty sequence of nodes
 when evaluated with the violation node as a context node.
 
-The XPath version used by those queries is XPath 1.0, so it doesn't support e.g.
-regex tests. This will be updated with PMD 7.0.0.
+The XPath version used by those queries is XPath 1.0, so it doesn't support various XPath 2.0
+features. This will be updated with PMD 7.0.0.
 
-For example, to suppress reporting specifically typed parameters which are unused:
+For example, to suppress reporting specifically "String" parameters which are unused:
 
 ```xml
 <rule ref="rulesets/java/unusedcode.xml/UnusedFormalParameter">
@@ -214,7 +214,13 @@ Another example, to suppress violations occurring in classes whose name contains
 <property name="violationSuppressXPath" value="./ancestor::ClassOrInterfaceDeclaration[contains(@Image, 'Bean')]"/>
 ```
 
-Note here the used of the `./ancestor::` axis instead of `//`. The latter would match
+You can also use regex for string comparison. The next example suppresses violations in classes ending with `Bean`:
+```xml
+<property name="violationSuppressXPath" value="./ancestor::ClassOrInterfaceDeclaration[matches(@Image, '^.*Bean$')]"/>
+```
+
+
+Note here the usage of the `./ancestor::` axis instead of `//`. The latter would match
 any ClassOrInterfaceDeclaration in the file, while the former matches only class
 declaration nodes that *enclose the violation node*, which is usually what you'd want.
 

From 4f58cc695cd94c307de0aa9008d81192c81cda7d Mon Sep 17 00:00:00 2001
From: "artem.krosheninnikov" <artem.krosheninnikov@team.wrike.com>
Date: Fri, 14 Jun 2019 18:03:51 +0300
Subject: [PATCH 198/371] fix #1666 wrong cdata rule description and examples

---
 pmd-xml/src/main/resources/category/xml/errorprone.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pmd-xml/src/main/resources/category/xml/errorprone.xml b/pmd-xml/src/main/resources/category/xml/errorprone.xml
index 18c01924d6..c868b036f0 100644
--- a/pmd-xml/src/main/resources/category/xml/errorprone.xml
+++ b/pmd-xml/src/main/resources/category/xml/errorprone.xml
@@ -12,11 +12,11 @@ Rules to detect constructs that are either broken, extremely confusing or prone
     <rule name="MistypedCDATASection"
           language="xml"
           since="5.0"
-          message="Potentialy mistyped CDATA section with extra [ at beginning or ] at the end."
+          message="Potentially mistyped CDATA section with extra [ at beginning or ] at the end."
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_xml_errorprone.html#mistypedcdatasection">
         <description>
-An XML CDATA section begins with a &lt;!CDATA[ marker, which has only one [, and ends with a ]]&gt; marker, which has only two ]. 
+An XML CDATA section begins with a &lt;![CDATA[ marker, which has only one [, and ends with a ]]&gt; marker, which has two ].
         </description>
         <priority>3</priority>
         <properties>
@@ -30,7 +30,7 @@ An XML CDATA section begins with a &lt;!CDATA[ marker, which has only one [, and
         </properties>
         <example>
 <![CDATA[
-An extra [ looks like &lt;!CDATA[[]]&gt;, and an extra ] looks like &lt;!CDATA[]]]&gt;.
+An extra [ looks like &lt;![CDATA[[]]&gt;, and an extra ] looks like &lt;![CDATA[]]]&gt;.
 ]]>
         </example>
     </rule>

From 75d40e741d8858e999c187eae925cd6ab81aa312 Mon Sep 17 00:00:00 2001
From: "artem.krosheninnikov" <artem.krosheninnikov@team.wrike.com>
Date: Fri, 14 Jun 2019 23:51:41 +0300
Subject: [PATCH 199/371] fixed output typo

---
 pmd-xml/src/test/java/net/sourceforge/pmd/ant/PMDTaskTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/ant/PMDTaskTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/ant/PMDTaskTest.java
index 6d560cc89c..15955b0565 100644
--- a/pmd-xml/src/test/java/net/sourceforge/pmd/ant/PMDTaskTest.java
+++ b/pmd-xml/src/test/java/net/sourceforge/pmd/ant/PMDTaskTest.java
@@ -15,6 +15,6 @@ public class PMDTaskTest extends AbstractAntTestHelper {
     @Test
     public void testXML() {
         executeTarget("testXML");
-        assertOutputContaining("Potentialy mistyped CDATA section with extra [ at beginning or ] at the end.");
+        assertOutputContaining("Potentially mistyped CDATA section with extra [ at beginning or ] at the end.");
     }
 }

From e40359c9614dd462f94954277beac86688a45df5 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 15 Jun 2019 11:55:24 +0200
Subject: [PATCH 200/371] Update release notes, refs #1698

---
 docs/pages/7_0_0_release_notes.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/docs/pages/7_0_0_release_notes.md b/docs/pages/7_0_0_release_notes.md
index c4c68d4bdc..4ee5e97ac6 100644
--- a/docs/pages/7_0_0_release_notes.md
+++ b/docs/pages/7_0_0_release_notes.md
@@ -34,7 +34,8 @@ This is a {{ site.pmd.release_type }} release.
 
 ### External Contributions
 
-*  [#1658](https://github.com/pmd/pmd/pull/1658/): \[core] Node support for Antlr-based languages
+*   [#1658](https://github.com/pmd/pmd/pull/1658): \[core] Node support for Antlr-based languages - [Matías Fraga](https://github.com/matifraga)
+*   [#1698](https://github.com/pmd/pmd/pull/1698): \[core] [swift] Antlr Base Parser adapter and Swift Implementation - [Lucas Soncini](https://github.com/lsoncini)
 
 {% endtocmaker %}
 

From a7906a5da37b3b9d674678b1741fcc22e39908ca Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 15 Jun 2019 12:09:58 +0200
Subject: [PATCH 201/371] Don't swallow the exception

---
 .../java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
index 5742356905..6de13b7e0b 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrBaseParser.java
@@ -41,9 +41,8 @@ public abstract class AntlrBaseParser implements Parser {
         try {
             return new AntlrTokenManager(getLexer(source), fileName);
         } catch (final IOException e) {
-            e.printStackTrace();
+            throw new RuntimeException(e);
         }
-        return null;
     }
 
     @Override
@@ -52,7 +51,7 @@ public abstract class AntlrBaseParser implements Parser {
         try {
             rootNode = getRootNode(getParser(getLexer(source)));
         } catch (final IOException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
-            e.printStackTrace();
+            throw new ParseException(e);
         }
         return rootNode;
     }

From ec3ba3e867b1fa8b1822b1152b7fc0af41bb1222 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 15 Jun 2019 12:12:14 +0200
Subject: [PATCH 202/371] Update release notes, refs #1774

---
 docs/pages/7_0_0_release_notes.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/pages/7_0_0_release_notes.md b/docs/pages/7_0_0_release_notes.md
index c4c68d4bdc..a74ae546f1 100644
--- a/docs/pages/7_0_0_release_notes.md
+++ b/docs/pages/7_0_0_release_notes.md
@@ -35,6 +35,7 @@ This is a {{ site.pmd.release_type }} release.
 ### External Contributions
 
 *  [#1658](https://github.com/pmd/pmd/pull/1658/): \[core] Node support for Antlr-based languages
+*   [#1774](https://github.com/pmd/pmd/pull/1774): \[core] Antlr visitor rules - [Lucas Soncini](https://github.com/lsoncini)
 
 {% endtocmaker %}
 

From 573fee621eb86a8e049ae0500640c5150bd366af Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 15 Jun 2019 18:58:47 +0200
Subject: [PATCH 203/371] Use latest build-tools

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 7efbb21f56..07fc342ed7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -283,7 +283,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
 
         <argLine>-Xmx512m -Dfile.encoding=${project.build.sourceEncoding}</argLine>
 
-        <pmd.build-tools.version>2</pmd.build-tools.version>
+        <pmd.build-tools.version>3-SNAPSHOT</pmd.build-tools.version>
 
         <pmd-designer.version>6.14.0</pmd-designer.version>
     </properties>

From 44c360325319bf9f7f8286390ab7d09e90fd6040 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 15 Jun 2019 20:50:14 +0200
Subject: [PATCH 204/371] (doc) Improve documentation for ant task

* Add installation section
* Update supported sourceLanguages and improve description
  when this is needed
* Add full build.xml example with auxclasspath configuration

refs #1861, refs #1870
---
 docs/pages/pmd/userdocs/tools/ant.md | 188 +++++++++++++++++++--------
 1 file changed, 131 insertions(+), 57 deletions(-)

diff --git a/docs/pages/pmd/userdocs/tools/ant.md b/docs/pages/pmd/userdocs/tools/ant.md
index d85c588782..5939a05ffa 100644
--- a/docs/pages/pmd/userdocs/tools/ant.md
+++ b/docs/pages/pmd/userdocs/tools/ant.md
@@ -14,6 +14,38 @@ author: >
 
 Runs a set of static code analysis rules on some source code files and generates a list of problems found.
 
+### Installation
+
+Before you can use the `pmd` task in your ant `build.xml` file, you need to install PMD and its libraries into
+ant's classpath, as described in [Optional Tasks](https://ant.apache.org/manual/install.html#optionalTasks).
+
+First you need to download PMD's binary distribution zip file.
+Then you can either copy all "*.jar" files from PMD's lib folder into one of ANT's library folders
+(`ANT_HOME/lib`, `${user.home}/.ant/lib`) or using the `-lib` command line parameter.
+
+However, the preferred way is to define a `<classpath>` for pmd itself and use this classpath when
+adding the PMD Task. Assuming, you have extracted the PMD zip file to `/home/joe/pmd-bin-{{site.pmd.version}}`,
+then you can make use of the PMD Task like this:
+
+    <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask">
+        <classpath>
+            <fileset dir="/home/joe/pmd-bin-{{site.pmd.version}}/lib">
+                <include name="*.jar"/>
+            </fileset>
+        </classpath>
+    </taskdef>
+
+Alternatively, a path can be defined and used via `classpathref`:
+
+    <path id="pmd.classpath">
+        <fileset dir="/home/joe/pmd-bin-{{site.pmd.version}}/lib">
+            <include name="*.jar"/>
+        </fileset>
+    </path>
+    <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.classpath" />
+
+The examples below won't repeat this taskdef element, as this is always required.
+
 ### Parameters
 
 <table>
@@ -93,7 +125,8 @@ Runs a set of static code analysis rules on some source code files and generates
 </table>
 
 
-`formatter` nested element - specifies the format of and the files to which the report is written.
+`formatter` nested element - specifies the format of and the files to which the report is written. You can
+configure multiple formatters.
 
 <table>
 <tr><th>Name</th><th>Values</th></tr>
@@ -120,47 +153,58 @@ Runs a set of static code analysis rules on some source code files and generates
        <dt>encoding</dt>
        <dd>Specifies the encoding to be used in the generated report (only honored when used with `toFile`). When rendering `toConsole` PMD will automatically detect the terminal's encoding and use it, unless the output is being redirected / piped, in which case `file.encoding` is used. See example below.</dd>
        <dt>linkPrefix</dt>
-       <dd>Used for linking to online HTMLized source (like <a href="xref/net/sourceforge/pmd/PMD.html">this</a>).  See example below.</dd>
+       <dd>Used for linking to online HTMLized source (like <a href="https://maven.apache.org/plugins/maven-pmd-plugin/xref/org/apache/maven/plugins/pmd/PmdReport.html">this</a>).  See example below. Note, this only works with [maven-jxr-plugin](https://maven.apache.org/jxr/maven-jxr-plugin/index.html).</dd>
        <dt>linePrefix</dt>
-       <dd>Used for linking to online HTMLized source (like <a href="xref/net/sourceforge/pmd/PMD.html#102">this</a>).  See example below.</dd>
+       <dd>Used for linking to online HTMLized source (like <a href="https://maven.apache.org/plugins/maven-pmd-plugin/xref/org/apache/maven/plugins/pmd/PmdReport.html#L375">this</a>).  See example below. Note, this only works with [maven-jxr-plugin](https://maven.apache.org/jxr/maven-jxr-plugin/index.html).</dd>
        </dl>
    </td>
 </tr>
 </table>
 
 
-`classpath` nested element - useful for specifying custom rule. More details on the `classpath`
-element are in the Ant documentation [here](http://ant.apache.org/manual/using.html#path) and there's
+`classpath` nested element - useful for specifying custom rules. More details on the `classpath`
+element are in the Ant documentation for [path-like structures](https://ant.apache.org/manual/using.html#path) and there's
 an example below.
 
-`auxclasspath` nested element - extra classpath used for Type Resolution rules.
+`auxclasspath` nested element - extra classpath used for type resolution. Some rules make use of type resolution
+in order to avoid false positives. The `auxclasspath` is configured also with [path-like structures](https://ant.apache.org/manual/using.html#path). It should contain the compiled classes of the project that is being analyzed and all the compile time
+dependencies.
 
 `sourceLanguage` nested element - specify which language (Java, Ecmascript, XML,...)
-and the associated version (1.5, 1.6,...)
+and the associated version (1.5, 1.6,...). This element is optional. The language is determined by file extension
+automatically and the latest language version is used.
 
-`ruleset` nested element - another way to specify rulesets.  Here's an example:
+`ruleset` nested element - another way to specify rulesets. You can specify multiple elements. Here's an example:
 
     <target name="pmd">
         <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
         <pmd shortFilenames="true">
-            <sourceLanguage name="java" version="1.6"/>
             <ruleset>rulesets/java/design.xml</ruleset>
             <ruleset>java-basic</ruleset>
-            <formatter type="html" toFile="pmd_report.html">
-                <param name="linkPrefix" value="http://pmd.sourceforge.net/xref/"/>
-            </formatter>
             <fileset dir="/usr/local/j2sdk1.4.1_01/src/">
                 <include name="java/lang/*.java"/>
             </fileset>
         </pmd>
     </target>
 
+`fileset` nested element - specify the actual java source files, that PMD should analyze. You can use multiple
+fileset elements. See [FileSet](https://ant.apache.org/manual/Types/fileset.html) for the syntax and usage.
+
 ### Language version selection
 
-The specific version of a language to be used for parsing is selected via the `sourceLanguage`
+PMD selects the language automatically using the file extension. If multiple versions of a language are
+supported, PMD uses the latest version as default. This is currently the case for Java only, which has
+support for multiple versions.
+
+If a languages supports multiple versions, you can select a specific version here, so that e.g. rules, that only apply
+to specific versions, are not executed. E.g. the rule {% rule "java/bestpractices/UseTryWithResources" %} only makes
+sense with Java 1.7 and later. If your project uses Java 1.5, then you should configure the `sourceLanguage`
+accordingly and this rule won't be executed.
+
+The specific version of a language to be used is selected via the `sourceLanguage`
 nested element. Possible values are:
 
-    <sourceLanguage name="apex" version=""/>
+    <sourceLanguage name="apex" version="45"/>
     <sourceLanguage name="ecmascript" version="3"/>
     <sourceLanguage name="java" version="1.3"/>
     <sourceLanguage name="java" version="1.4"/>
@@ -169,6 +213,9 @@ nested element. Possible values are:
     <sourceLanguage name="java" version="1.7"/>
     <sourceLanguage name="java" version="1.8"/>
     <sourceLanguage name="java" version="9"/>
+    <sourceLanguage name="java" version="10"/>
+    <sourceLanguage name="java" version="11"/>
+    <sourceLanguage name="java" version="12"/> <!-- this is the default -->
     <sourceLanguage name="jsp" version=""/>
     <sourceLanguage name="pom" version=""/>
     <sourceLanguage name="plsql" version=""/>
@@ -183,22 +230,21 @@ Several folks (most recently, Wouter Zelle) have written XSLT scripts
 which you can use to transform the XML report into nifty HTML.  To do this,
 make sure you use the XML formatter in the PMD task invocation, i.e.:
 
-    <formatter type="xml" toFile="${tempbuild}/$report_pmd.xml">
+    <formatter type="xml" toFile="${tempbuild}/report_pmd.xml">
         <param name="encoding" value="UTF-8" /> <!-- enforce UTF-8 encoding for the XML -->
     </formatter>
 
 Then, after the end of the PMD task, do this:
 
-    <xslt in="${tempbuild}/$report_pmd.xml" style="${pmdConfig}/wz-pmd-report.xslt" out="${pmdOutput}/$report_pmd.html" />
+    <xslt in="${tempbuild}/report_pmd.xml" style="${pmdConfig}/wz-pmd-report.xslt" out="${pmdOutput}/report_pmd.html" />
 
 ### Examples
 
+#### One ruleset
+
 Running one ruleset to produce a HTML report (and printing the report to the console as well) using a file cache
 
-    <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
-
     <target name="pmd">
-        <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
         <pmd rulesetfiles="java-imports" cacheLocation="build/pmd/pmd.cache">
             <formatter type="html" toFile="pmd_report.html" toConsole="true"/>
             <fileset dir="C:\j2sdk1.4.1_01\src\java\lang\">
@@ -207,12 +253,11 @@ Running one ruleset to produce a HTML report (and printing the report to the con
         </pmd>
     </target>
 
+#### Multiple rulesets
+
 Running multiple rulesets to produce an XML report with the same analysis cache
 
-    <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
-
     <target name="pmd">
-        <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
         <pmd rulesetfiles="rulesets/java/imports.xml,java-unusedcode" cacheLocation="build/pmd/pmd.cache">
             <formatter type="xml" toFile="c:\pmd_report.xml"/>
             <fileset dir="C:\j2sdk1.4.1_01\src\java\lang\">
@@ -221,9 +266,19 @@ Running multiple rulesets to produce an XML report with the same analysis cache
         </pmd>
     </target>
 
-Using a custom renderer
+#### Custom renderer
 
-    <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
+Using a custom renderer. For this to work, you need to add you custom renderer to the classpath of PMD. This
+need to be configured when defining the task:
+
+    <path id="pmd.classpath">
+        <fileset dir="/home/joe/pmd-bin-{{site.pmd.version}}/lib">
+            <include name="*.jar"/>
+        </fileset>
+        <!-- the custom renderer is expected to be in /home/joe/pmd-addons/com/company/MyRenderer.class -->
+        <pathelement location="/home/joe/pmd-addons" />
+    </path>
+    <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.classpath" />
 
     <target name="pmd">
         <pmd rulesetfiles="rulesets/java/design.xml">
@@ -234,27 +289,57 @@ Using a custom renderer
         </pmd>
     </target>
 
-Using a classpath reference in the taskdef
+#### Full example with auxclasspath
 
-    <path id="pmd.classpath">
-        <pathelement location="${build}"/>
-        <fileset dir="/path/to/my/pmd/lib/">
-            <include name="*.jar"/>
-        </fileset>
-    </path>
+Full build file example using the correct auxclasspath configuration.
+Your project needs to be compiled first which happens in the target "compile":
 
-    <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.classpath"/>
+    <project name="MyProject" default="pmd" basedir=".">
+        <property name="src" location="src"/>
+        <property name="build" location="build"/>
+        <path id="project.dependencies">
+            <pathelement location="lib/third-party.jar"/>
+            <pathelement location="lib/xyz.jar"/>
+        </path>
+        <path id="pmd.classpath">
+            <fileset dir="/home/joe/pmd-bin-{{site.pmd.version}}/lib">
+                <include name="*.jar"/>
+            </fileset>
+        </path>
+        <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.classpath" />
+        
+        <target name="init">
+            <mkdir dir="${build}"/>
+        </target>
+        
+        <target name="compile" depends="init">
+            <javac srcdir="${src}" destdir="${build}" classpathref="project.dependencies"
+                source="1.8" target="1.8" />
+        </target>
+        
+        <target name="pmd" depends="compile">
+            <pmd cacheLocation="${build}/pmd.cache">
+                <auxclasspath>
+                    <pathelement location="${build}"/>
+                    <path refid="project.dependencies"/>
+                </auxclasspath>
+                <ruleset>rulesets/java/quickstart.xml</ruleset>
+                <formatter type="html" toFile="${build}/pmd_report.html"/>
+                <sourceLanguage name="java" version="1.8"/>
+                <fileset dir="${src}">
+                    <include name="**/*.java"/>
+                </fileset>
+            </pmd>
+        </target>
+        
+        <target name="clean">
+            <delete dir="${build}"/>
+        </target>
+    </project>
 
-    <target name="pmd">
-          <pmd rulesetfiles="rulesets/java/design.xml">
-              <formatter type="net.sourceforge.pmd.renderers.HTMLRenderer" toFile="foo.html"/>
-              <fileset dir="/path/to/java/src">
-                  <include name="**/*.java"/>
-              </fileset>
-          </pmd>
-    </target>
+You can run pmd then with `ant pmd`.
 
-Getting verbose output
+#### Getting verbose output
 
     [tom@hal bin]$ ant -v pmd
     Apache Ant version 1.6.2 compiled on July 16 2004
@@ -287,27 +372,16 @@ Getting verbose output
     Total time: 2 seconds
     [tom@hal bin]$
 
-An HTML report with the "linkPrefix" gizmo
+#### HTML report with linkPrefix
+
+An HTML report with the "linkPrefix" and "linePrefix" properties:
 
     <target name="pmd">
         <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
         <pmd rulesetfiles="java-basic" shortFilenames="true">
             <formatter type="html" toFile="pmd_report.html">
-                <param name="linkPrefix" value="http://pmd.sourceforge.net/xref/"/>
-            </formatter>
-            <fileset dir="/usr/local/j2sdk1.4.1_01/src/">
-                <include name="java/lang/*.java"/>
-            </fileset>
-        </pmd>
-    </target>
-
-An HTML report with the "linePrefix" gizmo
-
-    <target name="pmd">
-        <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
-            <pmd rulesetfiles="java-basic" shortFilenames="true">
-            <formatter type="html" toFile="pmd_report.html">
-                <param name="linePrefix" value=".line"/>
+                <param name="linkPrefix" value="https://maven.apache.org/plugins/maven-pmd-plugin/xref/"/>
+                <param name="linePrefix" value="L"/>
             </formatter>
             <fileset dir="/usr/local/j2sdk1.4.1_01/src/">
                 <include name="java/lang/*.java"/>

From 4ae973ed1bb7685c801fd4c50fb2de3b8f1fd56f Mon Sep 17 00:00:00 2001
From: "Travis CI (pmd-bot)" <andreas.dangel+pmd-bot@adangel.org>
Date: Mon, 17 Jun 2019 01:01:32 +0000
Subject: [PATCH 205/371] Update documentation

TRAVIS_JOB_NUMBER=3857.1
TRAVIS_COMMIT_RANGE=5c38c08e4df5...ecfcfaf8aeab
---
 docs/pages/pmd/rules/java/design.md | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/docs/pages/pmd/rules/java/design.md b/docs/pages/pmd/rules/java/design.md
index 3458d95fba..a1bba57d0c 100644
--- a/docs/pages/pmd/rules/java/design.md
+++ b/docs/pages/pmd/rules/java/design.md
@@ -2141,8 +2141,23 @@ public class MaybeAUtility {
 }
 ```
 
-**Use this rule by referencing it:**
+**This rule has the following properties:**
+
+|Name|Default Value|Description|Multivalued|
+|----|-------------|-----------|-----------|
+|ignoredAnnotations|lombok.experimental.UtilityClass|Fully qualified names of the annotation types that should be ignored by this rule|yes. Delimiter is '\|'.|
+
+**Use this rule with the default properties by just referencing it:**
 ``` xml
 <rule ref="category/java/design.xml/UseUtilityClass" />
 ```
 
+**Use this rule and customize it:**
+``` xml
+<rule ref="category/java/design.xml/UseUtilityClass">
+    <properties>
+        <property name="ignoredAnnotations" value="lombok.experimental.UtilityClass" />
+    </properties>
+</rule>
+```
+

From 4867777097edea64050981e1ea6d66056bf1e490 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Mon, 17 Jun 2019 19:35:46 +0200
Subject: [PATCH 206/371] Fix checkstyle

---
 .../pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java        | 1 -
 1 file changed, 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java
index cc74095ed2..04d44028d7 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTSwitchLabeledThrowStatement.java
@@ -5,7 +5,6 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 import net.sourceforge.pmd.annotation.InternalApi;
-
 import net.sourceforge.pmd.lang.ast.AbstractNode;
 
 public class ASTSwitchLabeledThrowStatement extends AbstractJavaNode implements ASTSwitchLabeledRule {

From 2271ae2d51f2c22fef5d54e683a46c9c6a3e8f50 Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Wed, 19 Jun 2019 08:52:42 -0400
Subject: [PATCH 207/371] [plsql] Add parenthesis equation support to Update

---
 pmd-plsql/etc/grammar/PldocAST.jjt                           | 2 +-
 .../pmd/lang/plsql/ast/UpdateStatementExample2.pls           | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 9d10399bf1..d35ca98082 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -2386,7 +2386,7 @@ ASTUpdateSetClause UpdateSetClause() :
         (
           ( "(" ( [ LOOKAHEAD(2) TableName() "." ] Column() (",")? )+ ")" "=" "(" Subquery() ")" )
           |
-          ( [ LOOKAHEAD(2) TableName() "." ] Column() "=" ( LOOKAHEAD(1) "(" Subquery() ")" | Expression() | <_DEFAULT> ) )
+          ( [ LOOKAHEAD(2) TableName() "." ] Column() "=" ( LOOKAHEAD(2) "(" Subquery() ")" | Expression() | <_DEFAULT> ) )
         )
         (",")?
       )+
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/UpdateStatementExample2.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/UpdateStatementExample2.pls
index 272fc16109..570ac1943b 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/UpdateStatementExample2.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/UpdateStatementExample2.pls
@@ -58,4 +58,9 @@ update xsearch_wsh_active
        and revision = p_rev
      returning opp_id into v_opp_id;
 
+update employees
+     set salary = salary + sal_raise,
+         salary = (salary - discounts) * sal_raise
+     where employee_id = emp_id;
+
 END;

From 56040b403cc3060560247fab8da837cb27240b26 Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 18:30:29 -0300
Subject: [PATCH 208/371] Remove deprecated method

---
 .../net/sourceforge/pmd/lang/swift/SwiftHandler.java   | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java
index 833ac7e00c..0ed33998ab 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java
@@ -4,12 +4,9 @@
 
 package net.sourceforge.pmd.lang.swift;
 
-import java.io.Writer;
-
 import net.sourceforge.pmd.lang.AbstractPmdLanguageVersionHandler;
 import net.sourceforge.pmd.lang.Parser;
 import net.sourceforge.pmd.lang.ParserOptions;
-import net.sourceforge.pmd.lang.VisitorStarter;
 import net.sourceforge.pmd.lang.XPathHandler;
 import net.sourceforge.pmd.lang.antlr.AntlrRuleViolationFactory;
 import net.sourceforge.pmd.lang.ast.xpath.DefaultASTXPathHandler;
@@ -31,11 +28,4 @@ public class SwiftHandler extends AbstractPmdLanguageVersionHandler {
     public Parser getParser(final ParserOptions parserOptions) {
         return new SwiftParserAdapter(parserOptions);
     }
-
-    @Override
-    public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
-        return rootNode -> {
-            // TODO: implement dump for AntlrBaseNode
-        };
-    }
 }

From 766ccf578ab064a0256fa27ed752bcad09af95d2 Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 20:02:50 -0300
Subject: [PATCH 209/371] Adjust some xpath rules

---
 .../net/sourceforge/pmd/lang/ast/AntlrBaseNode.java   |  5 +++++
 .../java/net/sourceforge/pmd/lang/ast/AntlrNode.java  |  5 -----
 .../src/main/resources/category/swift/errorprone.xml  |  8 ++++----
 .../pmd/lang/swift/rule/errorprone/ForceCastTest.java |  9 +++++++++
 .../pmd/lang/swift/rule/errorprone/ForceTryTest.java  |  9 +++++++++
 .../pmd/lang/swift/rule/errorprone/xml/ForceCast.xml  |  2 +-
 .../pmd/lang/swift/rule/errorprone/xml/ForceTry.xml   |  2 +-
 .../sourceforge/pmd/testframework/RuleTestRunner.java | 11 ++---------
 8 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
index d45799021a..3aa170a932 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
@@ -90,6 +90,11 @@ public class AntlrBaseNode extends ParserRuleContext implements AntlrNode {
         }
     }
 
+    @Override
+    public String getImage() {
+        return getText();
+    }
+
     @Override
     public int jjtGetNumChildren() {
         return children == null ? 0 : children.size();
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrNode.java
index ded0f8a900..d9c1cbcdfc 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrNode.java
@@ -46,11 +46,6 @@ public interface AntlrNode extends Node {
         throw new UnsupportedOperationException("Out of scope for antlr current implementations");
     }
 
-    @Override
-    default String getImage() {
-        throw new UnsupportedOperationException("Out of scope for antlr current implementations");
-    }
-
     @Override
     default void setImage(final String image) {
         throw new UnsupportedOperationException("Out of scope for antlr current implementations");
diff --git a/pmd-swift/src/main/resources/category/swift/errorprone.xml b/pmd-swift/src/main/resources/category/swift/errorprone.xml
index dcdeb020b8..8cf222090c 100644
--- a/pmd-swift/src/main/resources/category/swift/errorprone.xml
+++ b/pmd-swift/src/main/resources/category/swift/errorprone.xml
@@ -22,8 +22,8 @@
         <properties>
             <property name="xpath">
                 <value>
-                    <![CDATA[
-//TypeCastingOperatorContext[@Text = 'as!']
+<![CDATA[
+//TypeCastingOperatorContext[starts-with(@Image,'as!')]
 ]]>
                 </value>
             </property>
@@ -43,8 +43,8 @@
         <properties>
             <property name="xpath">
                 <value>
-                    <![CDATA[
-//TryOperatorContext[@Text = 'try!']
+<![CDATA[
+//TryOperatorContext[@Image='try!']
 ]]>
                 </value>
             </property>
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
index 3f5472591f..3f5bd77af2 100644
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
@@ -4,8 +4,17 @@
 
 package net.sourceforge.pmd.lang.swift.rule.errorprone;
 
+import java.util.Collections;
+import java.util.List;
+import net.sourceforge.pmd.Rule;
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
 public class ForceCastTest extends PmdRuleTst {
     // no additional unit tests
+
+    @Override
+    protected List<Rule> getRules() {
+        final Rule rule = findRule("category/swift/errorprone.xml", "ForceCast");
+        return Collections.singletonList(rule);
+    }
 }
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
index 391985dd62..e776737a2d 100644
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
@@ -4,8 +4,17 @@
 
 package net.sourceforge.pmd.lang.swift.rule.errorprone;
 
+import java.util.Collections;
+import java.util.List;
+import net.sourceforge.pmd.Rule;
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
 public class ForceTryTest extends PmdRuleTst {
     // no additional unit tests
+
+    @Override
+    protected List<Rule> getRules() {
+        final Rule rule = findRule("category/swift/errorprone.xml", "ForceTry");
+        return Collections.singletonList(rule);
+    }
 }
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
index 0530e4c194..4f31806bde 100644
--- a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
@@ -17,7 +17,7 @@ NSNumber() as? Int
         <description><![CDATA[
 Bad example #1
      ]]></description>
-        <expected-problems>0</expected-problems>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 NSNumber() as! Int
      ]]></code>
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml
index 03719309e1..a283d4b263 100644
--- a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceTry.xml
@@ -20,7 +20,7 @@ do {
         <description><![CDATA[
 Bad example #1
      ]]></description>
-        <expected-problems>0</expected-problems>
+        <expected-problems>1</expected-problems>
         <code><![CDATA[
 func a() throws {}
 try! a()
diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java
index 7420567b0b..954eea11e8 100644
--- a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java
+++ b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java
@@ -67,19 +67,12 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
     @Override
     protected List<TestDescriptor> getChildren() {
         List<Rule> rules = new ArrayList<>(instance.getRules());
-        Collections.sort(rules, new Comparator<Rule>() {
-            @Override
-            public int compare(Rule o1, Rule o2) {
-                return o1.getName().compareTo(o2.getName());
-            }
-        });
+        rules.sort(Comparator.comparing(Rule::getName));
 
         List<TestDescriptor> tests = new LinkedList<>();
         for (Rule r : rules) {
             TestDescriptor[] ruleTests = instance.extractTestsFromXml(r);
-            for (TestDescriptor t : ruleTests) {
-                tests.add(t);
-            }
+            Collections.addAll(tests, ruleTests);
         }
 
         return tests;

From 0f57fa460fa871097997d3191c8ddec4256eeaf6 Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 20:10:56 -0300
Subject: [PATCH 210/371] remove unused method

---
 .../pmd/lang/swift/rule/errorprone/ForceCastTest.java    | 9 ---------
 .../pmd/lang/swift/rule/errorprone/ForceTryTest.java     | 9 ---------
 2 files changed, 18 deletions(-)

diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
index 3f5bd77af2..3f5472591f 100644
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
@@ -4,17 +4,8 @@
 
 package net.sourceforge.pmd.lang.swift.rule.errorprone;
 
-import java.util.Collections;
-import java.util.List;
-import net.sourceforge.pmd.Rule;
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
 public class ForceCastTest extends PmdRuleTst {
     // no additional unit tests
-
-    @Override
-    protected List<Rule> getRules() {
-        final Rule rule = findRule("category/swift/errorprone.xml", "ForceCast");
-        return Collections.singletonList(rule);
-    }
 }
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
index e776737a2d..391985dd62 100644
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceTryTest.java
@@ -4,17 +4,8 @@
 
 package net.sourceforge.pmd.lang.swift.rule.errorprone;
 
-import java.util.Collections;
-import java.util.List;
-import net.sourceforge.pmd.Rule;
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
 public class ForceTryTest extends PmdRuleTst {
     // no additional unit tests
-
-    @Override
-    protected List<Rule> getRules() {
-        final Rule rule = findRule("category/swift/errorprone.xml", "ForceTry");
-        return Collections.singletonList(rule);
-    }
 }

From cf6b1ac2b298475add3cf5003235e2e553af87ea Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 20:14:13 -0300
Subject: [PATCH 211/371] remove old rule

---
 .../resources/category/swift/errorprone.xml   | 21 ---------------
 .../swift/rule/errorprone/ForceCastTest.java  | 11 --------
 .../swift/rule/errorprone/xml/ForceCast.xml   | 26 -------------------
 3 files changed, 58 deletions(-)
 delete mode 100644 pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
 delete mode 100644 pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml

diff --git a/pmd-swift/src/main/resources/category/swift/errorprone.xml b/pmd-swift/src/main/resources/category/swift/errorprone.xml
index 8cf222090c..1df8d8e9dd 100644
--- a/pmd-swift/src/main/resources/category/swift/errorprone.xml
+++ b/pmd-swift/src/main/resources/category/swift/errorprone.xml
@@ -9,27 +9,6 @@
         Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
     </description>
 
-    <rule name="ForceCast"
-          language="swift"
-          since="7.0"
-          message="Force casts should be avoided."
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_errorprone.html#forcecast">
-        <description>
-            Force casts should be avoided.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="xpath">
-                <value>
-<![CDATA[
-//TypeCastingOperatorContext[starts-with(@Image,'as!')]
-]]>
-                </value>
-            </property>
-        </properties>
-    </rule>
-
     <rule name="ForceTry"
           language="swift"
           since="7.0"
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
deleted file mode 100644
index 3f5472591f..0000000000
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
- */
-
-package net.sourceforge.pmd.lang.swift.rule.errorprone;
-
-import net.sourceforge.pmd.testframework.PmdRuleTst;
-
-public class ForceCastTest extends PmdRuleTst {
-    // no additional unit tests
-}
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
deleted file mode 100644
index 4f31806bde..0000000000
--- a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<test-data
-        xmlns="http://pmd.sourceforge.net/rule-tests"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
-    <test-code>
-        <description><![CDATA[
-Good example #1
-     ]]></description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-NSNumber() as? Int
-     ]]></code>
-        <source-type>swift</source-type>
-    </test-code>
-    <test-code>
-        <description><![CDATA[
-Bad example #1
-     ]]></description>
-        <expected-problems>1</expected-problems>
-        <code><![CDATA[
-NSNumber() as! Int
-     ]]></code>
-        <source-type>swift</source-type>
-    </test-code>
-</test-data>
\ No newline at end of file

From dcfc7e822de5247feaa1a14f4dcc14dfe84251da Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 20:19:39 -0300
Subject: [PATCH 212/371] Autoformat

---
 .../pmd/testframework/RuleTestRunner.java     | 21 ++++++++++---------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java
index 954eea11e8..299c3823f9 100644
--- a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java
+++ b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java
@@ -28,8 +28,8 @@ import org.junit.runners.model.Statement;
 import net.sourceforge.pmd.Rule;
 
 /**
- * A JUnit Runner, that executes all declared rule tests in the class.
- * It supports Before and After methods as well as TestRules.
+ * A JUnit Runner, that executes all declared rule tests in the class. It supports Before and After methods as well as
+ * TestRules.
  *
  * @author Andreas Dangel
  */
@@ -37,7 +37,7 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
     private ConcurrentHashMap<TestDescriptor, Description> testDescriptions = new ConcurrentHashMap<>();
     private final RuleTst instance;
 
-    public RuleTestRunner(Class<? extends RuleTst> testClass) throws InitializationError {
+    /* default */ RuleTestRunner(Class<? extends RuleTst> testClass) throws InitializationError {
         super(testClass);
         instance = createTestClass();
         instance.setUp();
@@ -49,8 +49,8 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
         if (description == null) {
             description = Description.createTestDescription(getTestClass().getJavaClass(),
                 testCase.getRule().getName() + "::"
-                        + testCase.getNumberInDocument() + " "
-                        + testCase.getDescription().replaceAll("\n|\r", " "));
+                    + testCase.getNumberInDocument() + " "
+                    + testCase.getDescription().replaceAll("\n|\r", " "));
             testDescriptions.putIfAbsent(testCase, description);
         }
         return description;
@@ -58,9 +58,10 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
 
     /**
      * Checks whether this test class has additionally unit test methods.
+     *
      * @return true if there is at least one unit test method.
      */
-    public boolean hasUnitTests() {
+    /* default */ boolean hasUnitTests() {
         return !getTestClass().getAnnotatedMethods(Test.class).isEmpty();
     }
 
@@ -97,8 +98,7 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
     }
 
     /**
-     * Executes the actual test case. If there are Before, After, or TestRules present,
-     * they are executed accordingly.
+     * Executes the actual test case. If there are Before, After, or TestRules present, they are executed accordingly.
      *
      * @param testCase the PMD rule test case to be executed
      * @return a single statement which includes any rules, if present.
@@ -106,7 +106,7 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
     private Statement ruleTestBlock(final TestDescriptor testCase) {
         Statement statement = new Statement() {
             @Override
-            public void evaluate() throws Throwable {
+            public void evaluate() {
                 instance.runTest(testCase);
             }
         };
@@ -127,7 +127,8 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
     }
 
     private Statement withRules(final TestDescriptor testCase, Statement statement) {
-        List<TestRule> testRules = getTestClass().getAnnotatedFieldValues(instance, org.junit.Rule.class, TestRule.class);
+        List<TestRule> testRules =
+            getTestClass().getAnnotatedFieldValues(instance, org.junit.Rule.class, TestRule.class);
         return testRules.isEmpty() ? statement : new RunRules(statement, testRules, describeChild(testCase));
     }
 

From 5c02aadcf50ff368ee3f99445c0a7777c20acfde Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 20:21:27 -0300
Subject: [PATCH 213/371] Add final modifiers

---
 .../pmd/testframework/RuleTestRunner.java     | 30 +++++++++----------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java
index 299c3823f9..b85e3f5184 100644
--- a/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java
+++ b/pmd-test/src/main/java/net/sourceforge/pmd/testframework/RuleTestRunner.java
@@ -37,14 +37,14 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
     private ConcurrentHashMap<TestDescriptor, Description> testDescriptions = new ConcurrentHashMap<>();
     private final RuleTst instance;
 
-    /* default */ RuleTestRunner(Class<? extends RuleTst> testClass) throws InitializationError {
+    /* default */ RuleTestRunner(final Class<? extends RuleTst> testClass) throws InitializationError {
         super(testClass);
         instance = createTestClass();
         instance.setUp();
     }
 
     @Override
-    protected Description describeChild(TestDescriptor testCase) {
+    protected Description describeChild(final TestDescriptor testCase) {
         Description description = testDescriptions.get(testCase);
         if (description == null) {
             description = Description.createTestDescription(getTestClass().getJavaClass(),
@@ -67,12 +67,12 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
 
     @Override
     protected List<TestDescriptor> getChildren() {
-        List<Rule> rules = new ArrayList<>(instance.getRules());
+        final List<Rule> rules = new ArrayList<>(instance.getRules());
         rules.sort(Comparator.comparing(Rule::getName));
 
-        List<TestDescriptor> tests = new LinkedList<>();
-        for (Rule r : rules) {
-            TestDescriptor[] ruleTests = instance.extractTestsFromXml(r);
+        final List<TestDescriptor> tests = new LinkedList<>();
+        for (final Rule r : rules) {
+            final TestDescriptor[] ruleTests = instance.extractTestsFromXml(r);
             Collections.addAll(tests, ruleTests);
         }
 
@@ -82,14 +82,14 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
     private RuleTst createTestClass() throws InitializationError {
         try {
             return (RuleTst) getTestClass().getOnlyConstructor().newInstance();
-        } catch (Exception e) {
+        } catch (final Exception e) {
             throw new InitializationError(e);
         }
     }
 
     @Override
-    protected void runChild(TestDescriptor testCase, RunNotifier notifier) {
-        Description description = describeChild(testCase);
+    protected void runChild(final TestDescriptor testCase, final RunNotifier notifier) {
+        final Description description = describeChild(testCase);
         if (isIgnored(testCase)) {
             notifier.fireTestIgnored(description);
         } else {
@@ -116,24 +116,24 @@ public class RuleTestRunner extends ParentRunner<TestDescriptor> {
         return statement;
     }
 
-    private Statement withBefores(Statement statement) {
-        List<FrameworkMethod> befores = getTestClass().getAnnotatedMethods(Before.class);
+    private Statement withBefores(final Statement statement) {
+        final List<FrameworkMethod> befores = getTestClass().getAnnotatedMethods(Before.class);
         return befores.isEmpty() ? statement : new RunBefores(statement, befores, instance);
     }
 
-    private Statement withAfters(Statement statement) {
-        List<FrameworkMethod> afters = getTestClass().getAnnotatedMethods(After.class);
+    private Statement withAfters(final Statement statement) {
+        final List<FrameworkMethod> afters = getTestClass().getAnnotatedMethods(After.class);
         return afters.isEmpty() ? statement : new RunAfters(statement, afters, instance);
     }
 
     private Statement withRules(final TestDescriptor testCase, Statement statement) {
-        List<TestRule> testRules =
+        final List<TestRule> testRules =
             getTestClass().getAnnotatedFieldValues(instance, org.junit.Rule.class, TestRule.class);
         return testRules.isEmpty() ? statement : new RunRules(statement, testRules, describeChild(testCase));
     }
 
     @Override
-    protected boolean isIgnored(TestDescriptor child) {
+    protected boolean isIgnored(final TestDescriptor child) {
         return TestDescriptor.inRegressionTestMode() && !child.isRegressionTest();
     }
 }

From a81e68f6dabea448b8d72112b0216355d6836033 Mon Sep 17 00:00:00 2001
From: Tomi De Lucca <tomas.delucca@mercadolibre.com>
Date: Thu, 20 Jun 2019 20:36:42 -0300
Subject: [PATCH 214/371] Added UnavailableFunctionRule

---
 .../UnavailableFunctionRule.java              |  57 ++++++++++
 .../category/swift/bestpractices.xml          |  11 ++
 .../UnavailableFunctionTest.java              |   6 +
 .../bestpractices/xml/UnavailableFunction.xml | 104 ++++++++++++++++++
 4 files changed, 178 insertions(+)
 create mode 100644 pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
 create mode 100644 pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionTest.java
 create mode 100644 pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/UnavailableFunction.xml

diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
new file mode 100644
index 0000000000..f2ee19ef7a
--- /dev/null
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
@@ -0,0 +1,57 @@
+package net.sourceforge.pmd.lang.swift.rule.bestpractices;
+
+import java.util.List;
+import net.sourceforge.pmd.lang.swift.AbstractSwiftRule;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
+
+public class UnavailableFunctionRule extends AbstractSwiftRule<Void> {
+
+    private static final String AVAILABLE_UNAVAILABLE = "@available(*,unavailable)";
+    private static final String FATAL_ERROR = "fatalError";
+
+    @Override
+    public Void visitFunctionDeclaration(final SwiftParser.FunctionDeclarationContext ctx) {
+        if (ctx == null) {
+            return null;
+        }
+
+        if (shouldIncludeUnavailableModifier(ctx.functionBody().codeBlock())) {
+            SwiftParser.AttributesContext attributes = ctx.functionHead().attributes();
+            if (attributes == null || !hasUnavailableModifier(attributes.attribute())) {
+                addViolation(data, ctx);
+            }
+        }
+
+        return super.visitFunctionDeclaration(ctx);
+    }
+
+    @Override
+    public Void visitInitializerDeclaration(final SwiftParser.InitializerDeclarationContext ctx) {
+        if (ctx == null) {
+            return null;
+        }
+
+        if (shouldIncludeUnavailableModifier(ctx.initializerBody().codeBlock())) {
+            SwiftParser.AttributesContext attributes = ctx.initializerHead().attributes();
+            if (attributes == null || !hasUnavailableModifier(attributes.attribute())) {
+                addViolation(data, ctx);
+            }
+        }
+
+        return super.visitInitializerDeclaration(ctx);
+    }
+
+    private Boolean shouldIncludeUnavailableModifier(final SwiftParser.CodeBlockContext ctx) {
+        if (ctx == null || ctx.statements() == null) {
+            return false;
+        }
+
+        List<SwiftParser.StatementContext> statements = ctx.statements().statement();
+
+        return statements.size() == 1 && FATAL_ERROR.equals(statements.get(0).getStart().getText());
+    }
+
+    private Boolean hasUnavailableModifier(final List<SwiftParser.AttributeContext> attributes) {
+        return attributes.stream().anyMatch(atr -> AVAILABLE_UNAVAILABLE.equals(atr.getText()));
+    }
+}
diff --git a/pmd-swift/src/main/resources/category/swift/bestpractices.xml b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
index 46a03545fe..bba425f9ab 100644
--- a/pmd-swift/src/main/resources/category/swift/bestpractices.xml
+++ b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
@@ -19,4 +19,15 @@ Rules which enforce generally accepted best practices.
         </description>
         <priority>2</priority>
     </rule>
+
+    <rule name="UnavailableFunction"
+          since="7.0"
+          message="Unimplemented functions should be marked as unavailable."
+          class="net.sourceforge.pmd.lang.swift.rule.bestpractices.UnavailableFunctionRule"
+          externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_bestpractices.html#unavailablefunctionrule">
+        <description>
+            Unimplemented functions should be marked as unavailable.
+        </description>
+        <priority>2</priority>
+    </rule>
 </ruleset>
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionTest.java
new file mode 100644
index 0000000000..0f3851f7ee
--- /dev/null
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionTest.java
@@ -0,0 +1,6 @@
+package net.sourceforge.pmd.lang.swift.rule.bestpractices;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class UnavailableFunctionTest extends PmdRuleTst {
+}
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/UnavailableFunction.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/UnavailableFunction.xml
new file mode 100644
index 0000000000..d50310fc9f
--- /dev/null
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/UnavailableFunction.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test-data
+    xmlns="http://pmd.sourceforge.net/rule-tests"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+    <test-code>
+        <description><![CDATA[
+Good example #1
+     ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+class ViewController: UIViewController {
+  @available(*, unavailable)
+  public required init?(coder aDecoder: NSCoder) {
+    fatalError("init(coder:) has not been implemented")
+  }
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Good example #2
+     ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+func jsonValue(_ jsonString: String) -> NSObject {
+   let data = jsonString.data(using: .utf8)!
+   let result = try! JSONSerialization.jsonObject(with: data, options: [])
+   if let dict = (result as? [String: Any])?.bridge() {
+    return dict
+   } else if let array = (result as? [Any])?.bridge() {
+    return array
+   }
+   fatalError()
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Good example #3
+     ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+@OtherAttribute @available(*, unavailable)
+func doSomething() {
+    fatalError("doSomething() has not been implemented")
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Good example #4
+     ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+func doSomething() {
+    fatalErrorNotTheTriggeringOne("doSomething() has not been implemented")
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Bad example #1
+     ]]></description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+class ViewController: UIViewController {
+  public required init?(coder aDecoder: NSCoder) {
+    fatalError("init(coder:) has not been implemented")
+  }
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Bad example #2
+     ]]></description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+func doSomething() {
+    fatalError("doSomething() has not been implemented")
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Bad example #3
+     ]]></description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+@OtherAttribute
+func doSomething() {
+    fatalError("doSomething() has not been implemented")
+}
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+</test-data>
\ No newline at end of file

From ca39fc36e6f368d71a2adce5fb845ac85444feb1 Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 21:31:48 -0300
Subject: [PATCH 215/371] PR review

---
 .../net/sourceforge/pmd/lang/antlr/AntlrTokenManager.java    | 4 ++--
 .../java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java     | 5 -----
 .../main/java/net/sourceforge/pmd/lang/ast/AntlrNode.java    | 5 +++++
 pmd-swift/src/main/resources/category/swift/errorprone.xml   | 2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrTokenManager.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrTokenManager.java
index 48434eca01..55cb99e124 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrTokenManager.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AntlrTokenManager.java
@@ -67,7 +67,7 @@ public class AntlrTokenManager implements TokenManager {
 
         @Override
         public void syntaxError(final Recognizer<?, ?> recognizer, final Object offendingSymbol, final int line,
-                                final int charPositionInLine, final String msg, final RecognitionException ex) {
+            final int charPositionInLine, final String msg, final RecognitionException ex) {
             throw new ANTLRSyntaxError(msg, line, charPositionInLine, ex);
         }
     }
@@ -78,7 +78,7 @@ public class AntlrTokenManager implements TokenManager {
         private final int column;
 
         /* default */ ANTLRSyntaxError(final String msg, final int line, final int column,
-                                       final RecognitionException cause) {
+            final RecognitionException cause) {
             super(msg, cause);
             this.line = line;
             this.column = column;
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
index 3aa170a932..d45799021a 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
@@ -90,11 +90,6 @@ public class AntlrBaseNode extends ParserRuleContext implements AntlrNode {
         }
     }
 
-    @Override
-    public String getImage() {
-        return getText();
-    }
-
     @Override
     public int jjtGetNumChildren() {
         return children == null ? 0 : children.size();
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrNode.java
index d9c1cbcdfc..a246f368de 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrNode.java
@@ -51,6 +51,11 @@ public interface AntlrNode extends Node {
         throw new UnsupportedOperationException("Out of scope for antlr current implementations");
     }
 
+    @Override
+    default String getImage() {
+        throw new UnsupportedOperationException("Out of scope for antlr current implementations");
+    }
+
     @Override
     default boolean hasImageEqualTo(final String image) {
         throw new UnsupportedOperationException("Out of scope for antlr current implementations");
diff --git a/pmd-swift/src/main/resources/category/swift/errorprone.xml b/pmd-swift/src/main/resources/category/swift/errorprone.xml
index 1df8d8e9dd..31e36a0538 100644
--- a/pmd-swift/src/main/resources/category/swift/errorprone.xml
+++ b/pmd-swift/src/main/resources/category/swift/errorprone.xml
@@ -23,7 +23,7 @@
             <property name="xpath">
                 <value>
 <![CDATA[
-//TryOperatorContext[@Image='try!']
+//TryOperatorContext[@Text='try!']
 ]]>
                 </value>
             </property>

From af1b8a12aaf2f9792d337b5f786ac78ff39454c9 Mon Sep 17 00:00:00 2001
From: Tomi De Lucca <tomas.delucca@mercadolibre.com>
Date: Thu, 20 Jun 2019 21:51:05 -0300
Subject: [PATCH 216/371] Optimizing rule

---
 .../swift/rule/bestpractices/UnavailableFunctionRule.java     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
index f2ee19ef7a..7de31a32cc 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
@@ -22,7 +22,7 @@ public class UnavailableFunctionRule extends AbstractSwiftRule<Void> {
             }
         }
 
-        return super.visitFunctionDeclaration(ctx);
+        return null;
     }
 
     @Override
@@ -38,7 +38,7 @@ public class UnavailableFunctionRule extends AbstractSwiftRule<Void> {
             }
         }
 
-        return super.visitInitializerDeclaration(ctx);
+        return null;
     }
 
     private Boolean shouldIncludeUnavailableModifier(final SwiftParser.CodeBlockContext ctx) {

From a2756dcdcd9c06d82580ed23c50b58a49a04c57e Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 21:53:36 -0300
Subject: [PATCH 217/371] Return null by default on getimage

---
 .../java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java     | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
index d45799021a..f3440f0f7c 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
@@ -90,6 +90,11 @@ public class AntlrBaseNode extends ParserRuleContext implements AntlrNode {
         }
     }
 
+    @Override
+    public String getImage() {
+        return null;
+    }
+
     @Override
     public int jjtGetNumChildren() {
         return children == null ? 0 : children.size();

From de006b17f4ccbe63b39176c503142b40ec6f422a Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 22:22:29 -0300
Subject: [PATCH 218/371] Fix pmd test

---
 docs/_data/sidebars/pmd_sidebar.yml           | 15 ++++++++++
 docs/pages/pmd/rules/swift.md                 | 21 ++++++++++++++
 docs/pages/pmd/rules/swift/bestpractices.md   | 26 +++++++++++++++++
 docs/pages/pmd/rules/swift/errorprone.md      | 29 +++++++++++++++++++
 .../pmd/it/BinaryDistributionIT.java          |  2 +-
 5 files changed, 92 insertions(+), 1 deletion(-)
 create mode 100644 docs/pages/pmd/rules/swift.md
 create mode 100644 docs/pages/pmd/rules/swift/bestpractices.md
 create mode 100644 docs/pages/pmd/rules/swift/errorprone.md

diff --git a/docs/_data/sidebars/pmd_sidebar.yml b/docs/_data/sidebars/pmd_sidebar.yml
index 0841643c75..9fdb63eaa8 100644
--- a/docs/_data/sidebars/pmd_sidebar.yml
+++ b/docs/_data/sidebars/pmd_sidebar.yml
@@ -253,6 +253,21 @@ entries:
         - title: Security
           output: web, pdf
           url: /pmd_rules_vf_security.html
+    - title: null
+      output: web, pdf
+      subfolders:
+      - title: Swift Rules
+        output: web, pdf
+        subfolderitems:
+        - title: Index
+          output: web, pdf
+          url: /pmd_rules_swift.html
+        - title: Best Practices
+          output: web, pdf
+          url: /pmd_rules_swift_bestpractices.html
+        - title: Error Prone
+          output: web, pdf
+          url: /pmd_rules_swift_errorprone.html
     - title: null
       output: web, pdf
       subfolders:
diff --git a/docs/pages/pmd/rules/swift.md b/docs/pages/pmd/rules/swift.md
new file mode 100644
index 0000000000..47e34a46c7
--- /dev/null
+++ b/docs/pages/pmd/rules/swift.md
@@ -0,0 +1,21 @@
+---
+title: Swift Rules
+tags: [rule_references, swift]
+summary: Index of all built-in rules available for Swift
+language_name: Swift
+permalink: pmd_rules_swift.html
+folder: pmd/rules
+---
+<!-- DO NOT EDIT THIS FILE. This file is generated. -->
+## Best Practices
+
+{% include callout.html content="Rules which enforce generally accepted best practices." %}
+
+*   [ProhibitedInterfaceBuilder](pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder): Creating views using Interface Builder should be avoided.
+
+## Error Prone
+
+{% include callout.html content="Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors." %}
+
+*   [ForceTry](pmd_rules_swift_errorprone.html#forcetry): Force tries should be avoided.
+
diff --git a/docs/pages/pmd/rules/swift/bestpractices.md b/docs/pages/pmd/rules/swift/bestpractices.md
new file mode 100644
index 0000000000..abc5bab0c7
--- /dev/null
+++ b/docs/pages/pmd/rules/swift/bestpractices.md
@@ -0,0 +1,26 @@
+---
+title: Best Practices
+summary: Rules which enforce generally accepted best practices.
+permalink: pmd_rules_swift_bestpractices.html
+folder: pmd/rules/swift
+sidebaractiveurl: /pmd_rules_swift.html
+editmepath: ../pmd-swift/src/main/resources/category/swift/bestpractices.xml
+keywords: Best Practices, ProhibitedInterfaceBuilder
+language: Swift
+---
+<!-- DO NOT EDIT THIS FILE. This file is generated from file ../pmd-swift/src/main/resources/category/swift/bestpractices.xml. -->
+## ProhibitedInterfaceBuilder
+
+**Since:** PMD 7.0
+
+**Priority:** Medium High (2)
+
+Creating views using Interface Builder should be avoided.
+
+**This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.swift.rule.bestpractices.ProhibitedInterfaceBuilderRule](https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java)
+
+**Use this rule by referencing it:**
+``` xml
+<rule ref="category/swift/bestpractices.xml/ProhibitedInterfaceBuilder" />
+```
+
diff --git a/docs/pages/pmd/rules/swift/errorprone.md b/docs/pages/pmd/rules/swift/errorprone.md
new file mode 100644
index 0000000000..d94255a80a
--- /dev/null
+++ b/docs/pages/pmd/rules/swift/errorprone.md
@@ -0,0 +1,29 @@
+---
+title: Error Prone
+summary: Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
+permalink: pmd_rules_swift_errorprone.html
+folder: pmd/rules/swift
+sidebaractiveurl: /pmd_rules_swift.html
+editmepath: ../pmd-swift/src/main/resources/category/swift/errorprone.xml
+keywords: Error Prone, ForceTry
+language: Swift
+---
+<!-- DO NOT EDIT THIS FILE. This file is generated from file ../pmd-swift/src/main/resources/category/swift/errorprone.xml. -->
+## ForceTry
+
+**Since:** PMD 7.0
+
+**Priority:** Medium (3)
+
+Force tries should be avoided.
+
+**This rule is defined by the following XPath expression:**
+``` xpath
+//TryOperatorContext[@Text='try!']
+```
+
+**Use this rule by referencing it:**
+``` xml
+<rule ref="category/swift/errorprone.xml/ForceTry" />
+```
+
diff --git a/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java b/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
index 5da0b5f5a1..d057485d97 100644
--- a/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
+++ b/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
@@ -95,7 +95,7 @@ public class BinaryDistributionIT {
         ExecutionResult result;
 
         result = PMDExecutor.runPMD(tempDir, "-h");
-        result.assertExecutionResult(1, "apex, ecmascript, java, jsp, plsql, pom, vf, vm, wsdl, xml, xsl");
+        result.assertExecutionResult(1, "apex, ecmascript, java, jsp, plsql, pom, swift, vf, vm, wsdl, xml, xsl");
 
         result = PMDExecutor.runPMDRules(tempDir, srcDir, "src/test/resources/rulesets/sample-ruleset.xml");
         result.assertExecutionResult(4, "JumbledIncrementer.java:8:");

From 07c19ff6310a1887f92b9fd493c3d805298a0581 Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 22:27:37 -0300
Subject: [PATCH 219/371] Add another xpath rule

---
 .../resources/category/swift/errorprone.xml   | 22 ++++++++++++++++
 .../swift/rule/errorprone/ForceCastTest.java  | 11 ++++++++
 .../swift/rule/errorprone/xml/ForceCast.xml   | 26 +++++++++++++++++++
 3 files changed, 59 insertions(+)
 create mode 100644 pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
 create mode 100644 pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml

diff --git a/pmd-swift/src/main/resources/category/swift/errorprone.xml b/pmd-swift/src/main/resources/category/swift/errorprone.xml
index 31e36a0538..07292f30fc 100644
--- a/pmd-swift/src/main/resources/category/swift/errorprone.xml
+++ b/pmd-swift/src/main/resources/category/swift/errorprone.xml
@@ -9,6 +9,28 @@
         Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
     </description>
 
+    <rule name="ForceCast"
+          language="swift"
+          since="7.0"
+          message="Force casts should be avoided."
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_errorprone.html#forcecast">
+        <description>
+            Force casts should be avoided.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="xpath">
+                <value>
+                    <![CDATA[
+//TypeCastingOperatorContext[starts-with(@Text,'as!')]
+]]>
+                </value>
+            </property>
+            <property name="version" value="2.0"/>
+        </properties>
+    </rule>
+
     <rule name="ForceTry"
           language="swift"
           since="7.0"
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
new file mode 100644
index 0000000000..249f5f0dc3
--- /dev/null
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
@@ -0,0 +1,11 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.swift.rule.errorprone;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class ForceCastTest extends PmdRuleTst {
+    // no additional unit tests
+}
\ No newline at end of file
diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
new file mode 100644
index 0000000000..6fb25a7c5f
--- /dev/null
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/errorprone/xml/ForceCast.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test-data
+    xmlns="http://pmd.sourceforge.net/rule-tests"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+    <test-code>
+        <description><![CDATA[
+Good example #1
+     ]]></description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+NSNumber() as? Int
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+    <test-code>
+        <description><![CDATA[
+Bad example #1
+     ]]></description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+NSNumber() as! Int
+     ]]></code>
+        <source-type>swift</source-type>
+    </test-code>
+</test-data>
\ No newline at end of file

From 93a52b766982009805a1842f1825e6238da56006 Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Thu, 20 Jun 2019 22:50:57 -0300
Subject: [PATCH 220/371] Fix checkstyle

---
 .../pmd/lang/swift/rule/errorprone/ForceCastTest.java           | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
index 249f5f0dc3..3f5472591f 100644
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/errorprone/ForceCastTest.java
@@ -8,4 +8,4 @@ import net.sourceforge.pmd.testframework.PmdRuleTst;
 
 public class ForceCastTest extends PmdRuleTst {
     // no additional unit tests
-}
\ No newline at end of file
+}

From 623764ebb013414dc94ecca427e0097544cf45ca Mon Sep 17 00:00:00 2001
From: Tomi De Lucca <tomas.delucca@mercadolibre.com>
Date: Fri, 21 Jun 2019 01:35:40 -0300
Subject: [PATCH 221/371] Minor fixes

---
 docs/pages/pmd/rules/swift.md                 |  2 ++
 docs/pages/pmd/rules/swift/bestpractices.md   | 17 +++++++++++++++-
 docs/pages/pmd/rules/swift/errorprone.md      | 20 ++++++++++++++++++-
 .../UnavailableFunctionRule.java              | 11 +++++++---
 .../category/swift/bestpractices.xml          |  4 ++--
 .../UnavailableFunctionTest.java              |  5 +++++
 6 files changed, 52 insertions(+), 7 deletions(-)

diff --git a/docs/pages/pmd/rules/swift.md b/docs/pages/pmd/rules/swift.md
index 47e34a46c7..bf73529619 100644
--- a/docs/pages/pmd/rules/swift.md
+++ b/docs/pages/pmd/rules/swift.md
@@ -12,10 +12,12 @@ folder: pmd/rules
 {% include callout.html content="Rules which enforce generally accepted best practices." %}
 
 *   [ProhibitedInterfaceBuilder](pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder): Creating views using Interface Builder should be avoided.
+*   [UnavailableFunction](pmd_rules_swift_bestpractices.html#unavailablefunction): Unimplemented functions should be marked as unavailable.
 
 ## Error Prone
 
 {% include callout.html content="Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors." %}
 
+*   [ForceCast](pmd_rules_swift_errorprone.html#forcecast): Force casts should be avoided.
 *   [ForceTry](pmd_rules_swift_errorprone.html#forcetry): Force tries should be avoided.
 
diff --git a/docs/pages/pmd/rules/swift/bestpractices.md b/docs/pages/pmd/rules/swift/bestpractices.md
index abc5bab0c7..7c0ad9b18b 100644
--- a/docs/pages/pmd/rules/swift/bestpractices.md
+++ b/docs/pages/pmd/rules/swift/bestpractices.md
@@ -5,7 +5,7 @@ permalink: pmd_rules_swift_bestpractices.html
 folder: pmd/rules/swift
 sidebaractiveurl: /pmd_rules_swift.html
 editmepath: ../pmd-swift/src/main/resources/category/swift/bestpractices.xml
-keywords: Best Practices, ProhibitedInterfaceBuilder
+keywords: Best Practices, ProhibitedInterfaceBuilder, UnavailableFunction
 language: Swift
 ---
 <!-- DO NOT EDIT THIS FILE. This file is generated from file ../pmd-swift/src/main/resources/category/swift/bestpractices.xml. -->
@@ -24,3 +24,18 @@ Creating views using Interface Builder should be avoided.
 <rule ref="category/swift/bestpractices.xml/ProhibitedInterfaceBuilder" />
 ```
 
+## UnavailableFunction
+
+**Since:** PMD 7.0
+
+**Priority:** Medium (3)
+
+Unimplemented functions should be marked as unavailable.
+
+**This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.swift.rule.bestpractices.UnavailableFunctionRule](https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java)
+
+**Use this rule by referencing it:**
+``` xml
+<rule ref="category/swift/bestpractices.xml/UnavailableFunction" />
+```
+
diff --git a/docs/pages/pmd/rules/swift/errorprone.md b/docs/pages/pmd/rules/swift/errorprone.md
index d94255a80a..a9fa53761a 100644
--- a/docs/pages/pmd/rules/swift/errorprone.md
+++ b/docs/pages/pmd/rules/swift/errorprone.md
@@ -5,10 +5,28 @@ permalink: pmd_rules_swift_errorprone.html
 folder: pmd/rules/swift
 sidebaractiveurl: /pmd_rules_swift.html
 editmepath: ../pmd-swift/src/main/resources/category/swift/errorprone.xml
-keywords: Error Prone, ForceTry
+keywords: Error Prone, ForceCast, ForceTry
 language: Swift
 ---
 <!-- DO NOT EDIT THIS FILE. This file is generated from file ../pmd-swift/src/main/resources/category/swift/errorprone.xml. -->
+## ForceCast
+
+**Since:** PMD 7.0
+
+**Priority:** Medium (3)
+
+Force casts should be avoided.
+
+**This rule is defined by the following XPath expression:**
+``` xpath
+//TypeCastingOperatorContext[starts-with(@Text,'as!')]
+```
+
+**Use this rule by referencing it:**
+``` xml
+<rule ref="category/swift/errorprone.xml/ForceCast" />
+```
+
 ## ForceTry
 
 **Since:** PMD 7.0
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
index 7de31a32cc..9daa297273 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
@@ -1,6 +1,11 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
 package net.sourceforge.pmd.lang.swift.rule.bestpractices;
 
 import java.util.List;
+
 import net.sourceforge.pmd.lang.swift.AbstractSwiftRule;
 import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
 
@@ -16,7 +21,7 @@ public class UnavailableFunctionRule extends AbstractSwiftRule<Void> {
         }
 
         if (shouldIncludeUnavailableModifier(ctx.functionBody().codeBlock())) {
-            SwiftParser.AttributesContext attributes = ctx.functionHead().attributes();
+            final SwiftParser.AttributesContext attributes = ctx.functionHead().attributes();
             if (attributes == null || !hasUnavailableModifier(attributes.attribute())) {
                 addViolation(data, ctx);
             }
@@ -32,7 +37,7 @@ public class UnavailableFunctionRule extends AbstractSwiftRule<Void> {
         }
 
         if (shouldIncludeUnavailableModifier(ctx.initializerBody().codeBlock())) {
-            SwiftParser.AttributesContext attributes = ctx.initializerHead().attributes();
+            final SwiftParser.AttributesContext attributes = ctx.initializerHead().attributes();
             if (attributes == null || !hasUnavailableModifier(attributes.attribute())) {
                 addViolation(data, ctx);
             }
@@ -46,7 +51,7 @@ public class UnavailableFunctionRule extends AbstractSwiftRule<Void> {
             return false;
         }
 
-        List<SwiftParser.StatementContext> statements = ctx.statements().statement();
+        final List<SwiftParser.StatementContext> statements = ctx.statements().statement();
 
         return statements.size() == 1 && FATAL_ERROR.equals(statements.get(0).getStart().getText());
     }
diff --git a/pmd-swift/src/main/resources/category/swift/bestpractices.xml b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
index bba425f9ab..de97e48b59 100644
--- a/pmd-swift/src/main/resources/category/swift/bestpractices.xml
+++ b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
@@ -24,10 +24,10 @@ Rules which enforce generally accepted best practices.
           since="7.0"
           message="Unimplemented functions should be marked as unavailable."
           class="net.sourceforge.pmd.lang.swift.rule.bestpractices.UnavailableFunctionRule"
-          externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_bestpractices.html#unavailablefunctionrule">
+          externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_bestpractices.html#unavailablefunction">
         <description>
             Unimplemented functions should be marked as unavailable.
         </description>
-        <priority>2</priority>
+        <priority>3</priority>
     </rule>
 </ruleset>
diff --git a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionTest.java b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionTest.java
index 0f3851f7ee..e1d00f69d5 100644
--- a/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionTest.java
+++ b/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionTest.java
@@ -1,6 +1,11 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
 package net.sourceforge.pmd.lang.swift.rule.bestpractices;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
 public class UnavailableFunctionTest extends PmdRuleTst {
+    // no additional unit tests
 }

From 7425bbe54c8b0b91c42b8826a5471cd645e75357 Mon Sep 17 00:00:00 2001
From: Tomi De Lucca <tomas.delucca@mercadolibre.com>
Date: Fri, 21 Jun 2019 01:40:29 -0300
Subject: [PATCH 222/371] Remove test

---
 .../bestpractices/xml/UnavailableFunction.xml | 38 -------------------
 1 file changed, 38 deletions(-)

diff --git a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/UnavailableFunction.xml b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/UnavailableFunction.xml
index d50310fc9f..8c9210ec87 100644
--- a/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/UnavailableFunction.xml
+++ b/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/UnavailableFunction.xml
@@ -39,31 +39,6 @@ func jsonValue(_ jsonString: String) -> NSObject {
     </test-code>
     <test-code>
         <description><![CDATA[
-Good example #3
-     ]]></description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-@OtherAttribute @available(*, unavailable)
-func doSomething() {
-    fatalError("doSomething() has not been implemented")
-}
-     ]]></code>
-        <source-type>swift</source-type>
-    </test-code>
-    <test-code>
-        <description><![CDATA[
-Good example #4
-     ]]></description>
-        <expected-problems>0</expected-problems>
-        <code><![CDATA[
-func doSomething() {
-    fatalErrorNotTheTriggeringOne("doSomething() has not been implemented")
-}
-     ]]></code>
-        <source-type>swift</source-type>
-    </test-code>
-    <test-code>
-        <description><![CDATA[
 Bad example #1
      ]]></description>
         <expected-problems>1</expected-problems>
@@ -82,19 +57,6 @@ Bad example #2
      ]]></description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
-func doSomething() {
-    fatalError("doSomething() has not been implemented")
-}
-     ]]></code>
-        <source-type>swift</source-type>
-    </test-code>
-    <test-code>
-        <description><![CDATA[
-Bad example #3
-     ]]></description>
-        <expected-problems>1</expected-problems>
-        <code><![CDATA[
-@OtherAttribute
 func doSomething() {
     fatalError("doSomething() has not been implemented")
 }

From 499a31ca850e20c9da16de4c3d4844846228b478 Mon Sep 17 00:00:00 2001
From: Matias Fraga <matias.fraga@mercadolibre.com>
Date: Fri, 21 Jun 2019 13:26:08 -0300
Subject: [PATCH 223/371] Enhance rules description

---
 .../src/main/resources/category/swift/bestpractices.xml      | 2 ++
 pmd-swift/src/main/resources/category/swift/errorprone.xml   | 5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/pmd-swift/src/main/resources/category/swift/bestpractices.xml b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
index 46a03545fe..194910248e 100644
--- a/pmd-swift/src/main/resources/category/swift/bestpractices.xml
+++ b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
@@ -16,6 +16,8 @@ Rules which enforce generally accepted best practices.
           externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder">
         <description>
             Creating views using Interface Builder should be avoided.
+            Defining views by code allows the compiler to detect issues that otherwise will be runtime errors.
+            It's difficult to review the auto-generated code and allow concurrent modifications of those files.
         </description>
         <priority>2</priority>
     </rule>
diff --git a/pmd-swift/src/main/resources/category/swift/errorprone.xml b/pmd-swift/src/main/resources/category/swift/errorprone.xml
index 07292f30fc..857555d3be 100644
--- a/pmd-swift/src/main/resources/category/swift/errorprone.xml
+++ b/pmd-swift/src/main/resources/category/swift/errorprone.xml
@@ -16,7 +16,8 @@
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_errorprone.html#forcecast">
         <description>
-            Force casts should be avoided.
+            Force casts should be avoided. This may lead to a crash if it's not used carefully.
+            For example assuming a JSON property has a given type, or your reused Cell has a certain contract.
         </description>
         <priority>3</priority>
         <properties>
@@ -38,7 +39,7 @@
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_errorprone.html#forcetry">
         <description>
-            Force tries should be avoided.
+            Force tries should be avoided. If the code being wrapped happens to raise and exception, our application will crash.
         </description>
         <priority>3</priority>
         <properties>

From 6d9066067db88c70a3a480dc87eb50913fd59498 Mon Sep 17 00:00:00 2001
From: Tomi De Lucca <tomas.delucca@mercadolibre.com>
Date: Fri, 21 Jun 2019 16:36:23 -0300
Subject: [PATCH 225/371] Improved rule description

---
 .../src/main/resources/category/swift/bestpractices.xml    | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/pmd-swift/src/main/resources/category/swift/bestpractices.xml b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
index 7be7ac182a..037dd27794 100644
--- a/pmd-swift/src/main/resources/category/swift/bestpractices.xml
+++ b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
@@ -19,7 +19,7 @@ Rules which enforce generally accepted best practices.
             Defining views by code allows the compiler to detect issues that otherwise will be runtime errors.
             It's difficult to review the auto-generated code and allow concurrent modifications of those files.
         </description>
-        <priority>2</priority>
+        <priority>4</priority>
     </rule>
 
     <rule name="UnavailableFunction"
@@ -28,7 +28,10 @@ Rules which enforce generally accepted best practices.
           class="net.sourceforge.pmd.lang.swift.rule.bestpractices.UnavailableFunctionRule"
           externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_bestpractices.html#unavailablefunction">
         <description>
-            Unimplemented functions should be marked as unavailable.
+            Due to Objective-C and Swift interoperability some functions are often required to be implemented but
+            aren't really needed. Is extremely common that the sole implementation of the functions consist of throwing
+            a fatal error. Marking this functions as unavailable prevents them from being executed while still making
+            the compiler happy.
         </description>
         <priority>3</priority>
     </rule>

From 107ccbf145073ed34d5165f3775165fa09ef0004 Mon Sep 17 00:00:00 2001
From: Tomi De Lucca <tomas.delucca@mercadolibre.com>
Date: Fri, 21 Jun 2019 18:56:23 -0300
Subject: [PATCH 226/371] Added docs

---
 docs/pages/pmd/rules/swift.md               | 8 ++++----
 docs/pages/pmd/rules/swift/bestpractices.md | 9 +++++++--
 docs/pages/pmd/rules/swift/errorprone.md    | 5 +++--
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/docs/pages/pmd/rules/swift.md b/docs/pages/pmd/rules/swift.md
index bf73529619..c8419e49b1 100644
--- a/docs/pages/pmd/rules/swift.md
+++ b/docs/pages/pmd/rules/swift.md
@@ -11,13 +11,13 @@ folder: pmd/rules
 
 {% include callout.html content="Rules which enforce generally accepted best practices." %}
 
-*   [ProhibitedInterfaceBuilder](pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder): Creating views using Interface Builder should be avoided.
-*   [UnavailableFunction](pmd_rules_swift_bestpractices.html#unavailablefunction): Unimplemented functions should be marked as unavailable.
+*   [ProhibitedInterfaceBuilder](pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder): Creating views using Interface Builder should be avoided.            Defining views by code allow...
+*   [UnavailableFunction](pmd_rules_swift_bestpractices.html#unavailablefunction): Due to Objective-C and Swift interoperability some functions are often required to be implemented...
 
 ## Error Prone
 
 {% include callout.html content="Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors." %}
 
-*   [ForceCast](pmd_rules_swift_errorprone.html#forcecast): Force casts should be avoided.
-*   [ForceTry](pmd_rules_swift_errorprone.html#forcetry): Force tries should be avoided.
+*   [ForceCast](pmd_rules_swift_errorprone.html#forcecast): Force casts should be avoided. This may lead to a crash if it's not used carefully.            Fo...
+*   [ForceTry](pmd_rules_swift_errorprone.html#forcetry): Force tries should be avoided. If the code being wrapped happens to raise and exception, our appl...
 
diff --git a/docs/pages/pmd/rules/swift/bestpractices.md b/docs/pages/pmd/rules/swift/bestpractices.md
index 7c0ad9b18b..7c3deadd09 100644
--- a/docs/pages/pmd/rules/swift/bestpractices.md
+++ b/docs/pages/pmd/rules/swift/bestpractices.md
@@ -13,9 +13,11 @@ language: Swift
 
 **Since:** PMD 7.0
 
-**Priority:** Medium High (2)
+**Priority:** Medium Low (4)
 
 Creating views using Interface Builder should be avoided.
+Defining views by code allows the compiler to detect issues that otherwise will be runtime errors.
+It's difficult to review the auto-generated code and allow concurrent modifications of those files.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.swift.rule.bestpractices.ProhibitedInterfaceBuilderRule](https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java)
 
@@ -30,7 +32,10 @@ Creating views using Interface Builder should be avoided.
 
 **Priority:** Medium (3)
 
-Unimplemented functions should be marked as unavailable.
+Due to Objective-C and Swift interoperability some functions are often required to be implemented but
+aren't really needed. Is extremely common that the sole implementation of the functions consist of throwing
+a fatal error. Marking this functions as unavailable prevents them from being executed while still making
+the compiler happy.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.swift.rule.bestpractices.UnavailableFunctionRule](https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java)
 
diff --git a/docs/pages/pmd/rules/swift/errorprone.md b/docs/pages/pmd/rules/swift/errorprone.md
index a9fa53761a..8ff91722a4 100644
--- a/docs/pages/pmd/rules/swift/errorprone.md
+++ b/docs/pages/pmd/rules/swift/errorprone.md
@@ -15,7 +15,8 @@ language: Swift
 
 **Priority:** Medium (3)
 
-Force casts should be avoided.
+Force casts should be avoided. This may lead to a crash if it's not used carefully.
+For example assuming a JSON property has a given type, or your reused Cell has a certain contract.
 
 **This rule is defined by the following XPath expression:**
 ``` xpath
@@ -33,7 +34,7 @@ Force casts should be avoided.
 
 **Priority:** Medium (3)
 
-Force tries should be avoided.
+Force tries should be avoided. If the code being wrapped happens to raise and exception, our application will crash.
 
 **This rule is defined by the following XPath expression:**
 ``` xpath

From 2da9708d20a226e56bbab67ed3e6be4aca05ee16 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@adangel.org>
Date: Fri, 21 Dec 2018 12:30:18 +0100
Subject: [PATCH 227/371] [java] The rule CloseResource should deal with IO
 stream as default Fixes #1000

---
 docs/pages/release_notes.md                   |   7 +
 .../rule/errorprone/CloseResourceRule.java    |  16 +-
 .../resources/category/java/errorprone.xml    |  38 ++-
 .../rule/errorprone/xml/CloseResource.xml     | 314 +++++++++++++-----
 4 files changed, 275 insertions(+), 100 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 24e0613aa7..a73b425b9f 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -44,6 +44,11 @@ datetime field.
 *   The Java rule {% rule "java/design/UseUtilityClass" %} (`java-design`) has a new property `ignoredAnnotations`.
     By default, classes that are annotated with Lombok's `@UtilityClass` are ignored now.
 
+*   The Java rule {% rule "java/errorprone/CloseResource" %} (`java-errorprone`) now by default searches
+    for any unclosed `java.io.Closable` resource. This includes now the standard `java.io.*Stream` classes.
+    Previously only SQL-related resources were considered by this rule. The types can still be configured
+    via the `types` property.
+
 ### Fixed Issues
 
 *   java
@@ -53,6 +58,8 @@ datetime field.
     *   [#1845](https://github.com/pmd/pmd/issues/1845): \[java] Regression in MethodReturnsInternalArray not handling enums
 *   java-design
     *   [#1094](https://github.com/pmd/pmd/issues/1094): \[java] UseUtilityClass should be LombokAware
+*   java-errorprone
+    *   [#1000](https://github.com/pmd/pmd/issues/1000): \[java] The rule CloseResource should deal with IO stream as default
 *   java-multithreading
     *   [#1814](https://github.com/pmd/pmd/issues/1814): \[java] UnsynchronizedStaticFormatter documentation and implementation wrong
     *   [#1815](https://github.com/pmd/pmd/issues/1815): \[java] False negative in UnsynchronizedStaticFormatter
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index 2febbcd39f..537dbb1da6 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -36,6 +36,7 @@ import net.sourceforge.pmd.lang.java.ast.ASTType;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableInitializer;
 import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
+import net.sourceforge.pmd.lang.java.typeresolution.TypeHelper;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
 /**
@@ -69,7 +70,7 @@ public class CloseResourceRule extends AbstractJavaRule {
     private static final PropertyDescriptor<List<String>> TYPES_DESCRIPTOR =
             stringListProperty("types")
                     .desc("Affected types")
-                    .defaultValues("java.sql.Connection", "java.sql.Statement", "java.sql.ResultSet")
+                    .defaultValues("java.io.Closeable", "java.sql.Connection", "java.sql.Statement", "java.sql.ResultSet")
                     .delim(',').build();
 
     private static final PropertyDescriptor<Boolean> USE_CLOSE_AS_DEFAULT_TARGET =
@@ -136,7 +137,7 @@ public class CloseResourceRule extends AbstractJavaRule {
                 if (ref.jjtGetChild(0) instanceof ASTClassOrInterfaceType) {
                     ASTClassOrInterfaceType clazz = (ASTClassOrInterfaceType) ref.jjtGetChild(0);
 
-                    if (clazz.getType() != null && types.contains(clazz.getType().getName())
+                    if (isResourceTypeOrSubtype(clazz)
                             || clazz.getType() == null && simpleTypes.contains(toSimpleType(clazz.getImage()))
                                     && !clazz.isReferenceToClassSameCompilationUnit()
                             || types.contains(clazz.getImage()) && !clazz.isReferenceToClassSameCompilationUnit()) {
@@ -154,6 +155,17 @@ public class CloseResourceRule extends AbstractJavaRule {
         }
     }
 
+    private boolean isResourceTypeOrSubtype(ASTClassOrInterfaceType refType) {
+        if (refType.getType() != null) {
+            for (String type : types) {
+                if (TypeHelper.isA(refType, type)) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
     private boolean hasNullInitializer(ASTLocalVariableDeclaration var) {
         ASTVariableInitializer init = var.getFirstDescendantOfType(ASTVariableInitializer.class);
         if (init != null) {
diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml
index 7e59da309f..daf7900c5a 100644
--- a/pmd-java/src/main/resources/category/java/errorprone.xml
+++ b/pmd-java/src/main/resources/category/java/errorprone.xml
@@ -1008,23 +1008,39 @@ public class MyClass implements Cloneable{
           class="net.sourceforge.pmd.lang.java.rule.errorprone.CloseResourceRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#closeresource">
         <description>
-Ensure that resources (like Connection, Statement, and ResultSet objects) are always closed after use.
+Ensure that resources (like `java.sql.Connection`, `java.sql.Statement`, and `java.sql.ResultSet` objects
+and any subtype of `java.io.Closeable`) are always closed after use.
+Failing to do so might result in resource leaks.
+
+Note: It suffices to configure the super type, e.g. `java.io.Closable`, so that this rule automatically triggers
+on any subtype (e.g. `java.io.FileInputStream`).
         </description>
         <priority>3</priority>
         <example>
 <![CDATA[
 public class Bar {
-  public void foo() {
-    Connection c = pool.getConnection();
-    try {
-      // do stuff
-    } catch (SQLException ex) {
-     // handle exception
-    } finally {
-      // oops, should close the connection using 'close'!
-      // c.close();
+    public void withSQL() {
+        Connection c = pool.getConnection();
+        try {
+            // do stuff
+        } catch (SQLException ex) {
+           // handle exception
+        } finally {
+            // oops, should close the connection using 'close'!
+            // c.close();
+        }
+    }
+
+    public void withFile() {
+        InputStream file = new FileInputStream(new File("/tmp/foo"));
+        try {
+            int c = file.in();
+        } catch (IOException e) {
+            // handle exception
+        } finally {
+            // TODO: close file
+        }
     }
-  }
 }
 ]]>
         </example>
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index 46409718e9..7b03334c68 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -4,12 +4,12 @@
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
     <test-code>
-        <description><![CDATA[
-connection is closed, ok
-     ]]></description>
-        <rule-property name="types">Connection,Statement,ResultSet</rule-property>
+        <description>connection is closed, ok</description>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+
 public class Foo {
  void bar() {
   Connection c = pool.getConnection();
@@ -22,12 +22,10 @@ public class Foo {
 }
      ]]></code>
     </test-code>
-    <test-code>
 
-        <description><![CDATA[
-connection not closed, should have failed
-     ]]></description>
-        <rule-property name="types">Connection,Statement,ResultSet</rule-property>
+    <test-code>
+        <description>connection not closed, should have failed</description>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.sql.*;
@@ -42,11 +40,8 @@ public class Foo {
      ]]></code>
     </test-code>
     <test-code>
-        <description><![CDATA[
-ResultSet not closed, should have failed
-     ]]></description>
-        <rule-property name="types">Connection,Statement,ResultSet</rule-property>
-
+        <description>ResultSet not closed, should have failed</description>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.sql.*;
@@ -60,12 +55,9 @@ public class Foo {
      ]]></code>
     </test-code>
     <test-code>
-        <description><![CDATA[
-Statement not closed, should have failed
-     ]]></description>
-        <rule-property name="types">Connection,Statement,ResultSet</rule-property>
+        <description>Statement not closed, should have failed</description>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>1</expected-problems>
-
         <code><![CDATA[
 import java.sql.*;
 public class Foo {
@@ -92,29 +84,22 @@ public class Foo {
 }
      ]]></code-fragment>
     <test-code>
-        <description><![CDATA[
-Bad, no closeTargets properties for statements
-     ]]></description>
-        <rule-property name="types">Connection,Statement,ResultSet</rule-property>
+        <description>Bad, no closeTargets properties for statements</description>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>2</expected-problems>
         <code-ref id="executeQuery"/>
-
     </test-code>
     <test-code>
-        <description><![CDATA[
-Ok, closeTargets properties for statements
-     ]]></description>
+        <description>Ok, closeTargets properties for statements</description>
         <rule-property name="closeTargets">MyHelper.close,cleanup</rule-property>
-        <rule-property name="types">Connection,Statement,ResultSet</rule-property>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>0</expected-problems>
         <code-ref id="executeQuery"/>
     </test-code>
-    
+
     <test-code>
-        <description><![CDATA[
-Add type param
-     ]]></description>
-        <rule-property name="types">ObjectInputStream</rule-property>
+        <description>Add type param</description>
+        <rule-property name="types">java.io.ObjectInputStream</rule-property>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.io.*;
@@ -129,13 +114,11 @@ readExternal(aStream);
 }
      ]]></code>
     </test-code>
-    <test-code>
 
-        <description><![CDATA[
-OK
-     ]]></description>
+    <test-code>
+        <description>OK with custom closeTargets</description>
         <rule-property name="closeTargets">MyHelper.close</rule-property>
-        <rule-property name="types">Connection,Statement,ResultSet</rule-property>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 import java.sql.*;
@@ -151,11 +134,9 @@ public class Foo {
      ]]></code>
     </test-code>
     <test-code>
-        <description><![CDATA[
-New use case
-     ]]></description>
+        <description>New use case: commit</description>
         <rule-property name="closeTargets">commit,close</rule-property>
-        <rule-property name="types">DAOTransaction,Connection,Statement,ResulSet</rule-property>
+        <rule-property name="types">DAOTransaction,java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>1</expected-problems>
         <expected-linenumbers>8</expected-linenumbers>
         <code><![CDATA[
@@ -184,13 +165,10 @@ public class Foo {
      ]]></code>
     </test-code>
 
-
     <test-code>
-        <description><![CDATA[
-[1964798] 3 bugs in CloseResourceRule : Case failing with complete name
-     ]]></description>
+        <description>[1964798] 3 bugs in CloseResourceRule : Case failing with complete name</description>
         <rule-property name="closeTargets">MyHelper.MyClose</rule-property>
-        <rule-property name="types">Connection,Statement,ResultSet</rule-property>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 import java.sql.*;
@@ -205,14 +183,11 @@ public class Foo {
 }
      ]]></code>
     </test-code>
-    
- 
+
     <test-code>
-        <description><![CDATA[
-[1964798] 3 bugs in CloseResourceRule : null object is passed to close conection method (1)
-     ]]></description>
-        <rule-property	name="closeTargets">this.closeConnection</rule-property>
-        <rule-property	name="types">Connection,Statement,ResultSet</rule-property>
+        <description>[1964798] 3 bugs in CloseResourceRule : null object is passed to close conection method (1)</description>
+        <rule-property name="closeTargets">this.closeConnection</rule-property>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.sql.*;
@@ -227,13 +202,11 @@ public class Foo {
  }
 }
      ]]></code>
-    </test-code>  
+    </test-code>
    <test-code>
-        <description><![CDATA[
-[1964798] 3 bugs in CloseResourceRule : null object is passed to close conection method (2)
-     ]]></description>
-        <rule-property	name="closeTargets">this.closeConnection</rule-property>
-        <rule-property	name="types">Connection,Statement,ResultSet</rule-property>
+        <description>[1964798] 3 bugs in CloseResourceRule : null object is passed to close conection method (2)</description>
+        <rule-property name="closeTargets">this.closeConnection</rule-property>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 import java.sql.*;
@@ -248,11 +221,9 @@ public class Foo {
  }
 }
      ]]></code>
-    </test-code>        
-	<test-code>
-        <description><![CDATA[
-[1964798] 3 bugs in CloseResourceRule : If connection is returned, we should not log a violation.
-     ]]></description>
+    </test-code>
+    <test-code>
+        <description>[1964798] 3 bugs in CloseResourceRule : If connection is returned, we should not log a violation.</description>
         <rule-property name="types">Connection,Statement,ResultSet</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
@@ -264,14 +235,10 @@ public class Foo {
 }
      ]]></code>
     </test-code>
-        <test-code reinitializeRule="true">
-        <description><![CDATA[
-invoke an external method that close the resource
-bug 2920057
-     ]]></description>
-        <rule-property name="closeTargets">closeStatement,closeStatement,closeResultSet,closeConnexion
-        </rule-property>
-        <rule-property name="types">PreparedStatement,Statement,ResultSet,Connection</rule-property>
+    <test-code reinitializeRule="true">
+        <description>invoke an external method that close the resource: bug 2920057</description>
+        <rule-property name="closeTargets">closeStatement,closeStatement,closeResultSet,closeConnexion</rule-property>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet,java.sql.PreparedStatement</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 import java.sql.*;
@@ -301,13 +268,9 @@ public class StructureFactory {
      ]]></code>
     </test-code>
     <test-code reinitializeRule="true">
-        <description><![CDATA[
-invoke an external method that closes the resource, but one is not the right method and an another is not the right variable
-see bug 2920057
-     ]]></description>
-        <rule-property name="closeTargets">closeStatement,closeStatement,closeResultSet,closeConnexion
-        </rule-property>
-        <rule-property name="types">PreparedStatement,Statement,ResultSet,Connection</rule-property>
+        <description>invoke an external method that closes the resource, but one is not the right method and an another is not the right variable: see bug 2920057</description>
+        <rule-property name="closeTargets">closeStatement,closeStatement,closeResultSet,closeConnexion</rule-property>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet,java.sql.PreparedStatement</rule-property>
         <expected-problems>2</expected-problems>
         <code><![CDATA[
 import java.sql.*;
@@ -341,6 +304,8 @@ public class StructureFactory {
         <description>#1011 CloseResource Rule ignores Constructors</description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+
 public class Test {
     public Test() {
         Connection c = pool.getConnection();
@@ -352,6 +317,8 @@ public class Test {
         <description>#1011 CloseResource Rule ignores Constructors - closed in finally</description>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+
 public class Test {
     public Test() {
         Connection c;
@@ -368,6 +335,8 @@ public class Test {
         <description>#1011 CloseResource Rule ignores Constructors - not a problem - instance variable</description>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+
 public class Test {
     Connection c;
     public Test() {
@@ -380,6 +349,8 @@ public class Test {
         <description>#1029 No instance level check in the close resource rule</description>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+
 public class Test {
     Connection c;
     public void doIt() {
@@ -392,6 +363,10 @@ public class Test {
         <description>#947 CloseResource rule fails if field is marked with annotation</description>
         <expected-problems>2</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.Statement;
+
 public class CloseResourceRuleBug {
   public void foo() {
     try {
@@ -427,9 +402,9 @@ public class Test {
 }
         ]]></code>
     </test-code>
-    
+
     <test-code>
-        <description><![CDATA[Custom close method, should be ok]]></description>
+        <description>Custom close method, should be ok</description>
         <rule-property name="closeTargets">cleanup</rule-property>
         <rule-property name="types">MyClass</rule-property>
         <expected-problems>0</expected-problems>
@@ -449,9 +424,11 @@ public class Foo {
     </test-code>
     <test-code>
         <description>bug #1131 CloseResource should complain if code between declaration of resource and try: Code between declaration and try, should fail</description>
-        <rule-property name="types">Connection</rule-property>
+        <rule-property name="types">java.sql.Connection</rule-property>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+
 public class Foo {
     void bar() {
         String test = "";
@@ -470,9 +447,11 @@ public class Foo {
     </test-code>
     <test-code>
         <description>bug #1131 CloseResource should complain if code between declaration of resource and try: Creation inside try, ok</description>
-        <rule-property name="types">Connection</rule-property>
+        <rule-property name="types">java.sql.Connection</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+
 public class Foo {
  void bar() {
   String test = "";
@@ -495,9 +474,11 @@ public class Foo {
     </test-code>
     <test-code>
         <description>bug #1131 CloseResource should complain if code between declaration of resource and try: No sentences between creation and try, ok</description>
-        <rule-property name="types">Connection</rule-property>
+        <rule-property name="types">java.sql.Connection</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+
 public class Foo {
  void bar() {
   String test = "";
@@ -521,6 +502,8 @@ public class Foo {
         <description>#1259 CloseResource rule ignores conditionals within finally blocks</description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+
 public class Bar {
     public void foo() {
         Connection c = pool.getConnection();
@@ -541,6 +524,9 @@ public class Bar {
         <description>#1375 CloseResource not detected properly - ok</description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
+import java.sql.ResultSet;
+import java.sql.Statement;
+
 public class Foo {
  void bar() {
   ResultSet rs;
@@ -561,6 +547,9 @@ public class Foo {
         <description>#1375 CloseResource not detected properly - false negative</description>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
+import java.sql.ResultSet;
+import java.sql.Statement;
+
 public class Foo {
  void bar() {
   ResultSet rs = null;
@@ -579,11 +568,16 @@ public class Foo {
     </test-code>
     <test-code>
         <description>#1372 False Negative for CloseResource rule.</description>
-        <rule-property name="types">Connection,Statement,ResultSet,PreparedStatement</rule-property>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet,java.sql.PreparedStatement</rule-property>
         <rule-property name="closeTargets">closeLocalResources,closeResultSet</rule-property>
         <expected-problems>1</expected-problems>
-        <expected-linenumbers>8</expected-linenumbers>
+        <expected-linenumbers>13</expected-linenumbers>
         <code><![CDATA[
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.Statement;
+import java.sql.PreparedStatement;
+
 public class CloseResourceTest {
     public Object selectOne(final int val, final int val2) {
         getCurrentSession().doWork(new Work() {
@@ -616,6 +610,10 @@ public class CloseResourceTest {
         <rule-property name="closeTargets">closeConnection,closeCloseable,closeReader,closeResource,closeResultSet,closeStream,closeStatement</rule-property>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.Statement;
+
 public class CloseResource {
     public void querySomething(Connection connection) {
         Statement stmt = null; // it complains this is not closed
@@ -645,6 +643,9 @@ public class CloseResource {
         <rule-property name="closeAsDefaultTarget">false</rule-property>
         <expected-problems>2</expected-problems>
         <code><![CDATA[
+import java.sql.ResultSet;
+import java.sql.Statement;
+
 public class CloseResource {
     public void doSomething() {
         Statement stmt = connection.createStatement();
@@ -671,6 +672,145 @@ public class Test {
 
     static class Statement {
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>CloseResource for input streams - not ok</description>
+        <rule-property name="types">java.io.InputStream</rule-property>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import java.io.*;
+
+public class CloseResourceTest {
+    public static void main(String[] args) {
+        InputStream in = null;
+        try {
+            in = new FileInputStream(new File("/tmp/foo"));
+            in.read();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>CloseResource for file input streams - not ok</description>
+        <rule-property name="types">java.io.InputStream</rule-property>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import java.io.*;
+
+public class CloseResourceTest {
+    public static void main(String[] args) {
+        FileInputStream in = null;
+        try {
+            in = new FileInputStream(new File("/tmp/foo"));
+            in.read();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>CloseResource for input streams - ok</description>
+        <rule-property name="types">java.io.InputStream</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.io.*;
+
+public class CloseResourceTest {
+    public static void main(String[] args) {
+        InputStream in = null;
+        try {
+            in = new FileInputStream(new File("/tmp/foo"));
+            in.read();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            in.close();
+        }
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>CloseResource for input streams - ok try-with-resources</description>
+        <rule-property name="types">java.io.InputStream</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.io.*;
+
+public class CloseResourceTest {
+    public static void main(String[] args) {
+        try (InputStream in = new FileInputStream(new File("/tmp/foo"))) {
+            in.read();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>CloseResource for closable - not ok</description>
+        <rule-property name="types">java.io.Closeable</rule-property>
+        <expected-problems>2</expected-problems>
+        <code><![CDATA[
+import java.io.*;
+
+public class CloseResourceTest {
+    public static void main(String[] args) {
+        InputStream in = null;
+        OutputStream in2 = null;
+        try {
+            in = new FileInputStream(new File("/tmp/foo"));
+            in.read();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>CloseResource for closable by default - not ok</description>
+        <expected-problems>3</expected-problems>
+        <expected-linenumbers>5,6,16</expected-linenumbers>
+        <code><![CDATA[
+import java.io.*;
+
+public class CloseResourceTest {
+    public static void main(String[] args) {
+        InputStream in = null;
+        OutputStream in2 = null;
+        try {
+            in = new FileInputStream(new File("/tmp/foo"));
+            in.read();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void bar() {
+        InputStream file = new FileInputStream(new File("/tmp/foo"));
+        try {
+            int c = file.in();
+        } catch (IOException e) {
+            // handle exception
+        } finally {
+            // TODO: close file
+        }
+    }
 }
         ]]></code>
     </test-code>

From eab41508da322832cbb136ce875406d51e552dc1 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@adangel.org>
Date: Sun, 23 Dec 2018 17:45:49 +0100
Subject: [PATCH 228/371] [java] CloseResource: Use java.lang.AutoCloseable by
 default

---
 .../pmd/lang/java/rule/errorprone/CloseResourceRule.java        | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index 537dbb1da6..67a50d17ba 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -70,7 +70,7 @@ public class CloseResourceRule extends AbstractJavaRule {
     private static final PropertyDescriptor<List<String>> TYPES_DESCRIPTOR =
             stringListProperty("types")
                     .desc("Affected types")
-                    .defaultValues("java.io.Closeable", "java.sql.Connection", "java.sql.Statement", "java.sql.ResultSet")
+                    .defaultValues("java.lang.AutoCloseable")
                     .delim(',').build();
 
     private static final PropertyDescriptor<Boolean> USE_CLOSE_AS_DEFAULT_TARGET =

From 1e03ae5c060bd27ab4171fa1423bb6504313efe2 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 22 Jun 2019 12:24:43 +0200
Subject: [PATCH 229/371] [java] CloseResource - add allowedResourceTypes
 property for exceptions

By default, ByteArrayOutputStream and StringWriter are excluded from
the rule.
---
 docs/pages/release_notes.md                   |   3 +-
 .../rule/errorprone/CloseResourceRule.java    | 107 +++++++++++++-----
 .../closeresource/CustomStringWriter.java     |  18 +++
 .../rule/errorprone/xml/CloseResource.xml     |  79 +++++++++++++
 4 files changed, 175 insertions(+), 32 deletions(-)
 create mode 100644 pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/errorprone/closeresource/CustomStringWriter.java

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index a73b425b9f..8c4982cdf0 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -47,7 +47,8 @@ datetime field.
 *   The Java rule {% rule "java/errorprone/CloseResource" %} (`java-errorprone`) now by default searches
     for any unclosed `java.io.Closable` resource. This includes now the standard `java.io.*Stream` classes.
     Previously only SQL-related resources were considered by this rule. The types can still be configured
-    via the `types` property.
+    via the `types` property. Some resources do not need to be closed (e.g. `ByteArrayOutputStream`). These
+    exceptions can be configured via the new property `allowedResourceTypes`.
 
 ### Fixed Issues
 
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index 67a50d17ba..e422446314 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -8,19 +8,22 @@ import static net.sourceforge.pmd.properties.PropertyFactory.booleanProperty;
 import static net.sourceforge.pmd.properties.PropertyFactory.stringListProperty;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import org.jaxen.JaxenException;
 
+import net.sourceforge.pmd.RuleContext;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.ast.ASTArgumentList;
 import net.sourceforge.pmd.lang.java.ast.ASTBlock;
 import net.sourceforge.pmd.lang.java.ast.ASTBlockStatement;
 import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceType;
-import net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit;
 import net.sourceforge.pmd.lang.java.ast.ASTConstructorDeclaration;
+import net.sourceforge.pmd.lang.java.ast.ASTExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTIfStatement;
 import net.sourceforge.pmd.lang.java.ast.ASTLocalVariableDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration;
@@ -32,9 +35,10 @@ import net.sourceforge.pmd.lang.java.ast.ASTReferenceType;
 import net.sourceforge.pmd.lang.java.ast.ASTReturnStatement;
 import net.sourceforge.pmd.lang.java.ast.ASTStatementExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTTryStatement;
-import net.sourceforge.pmd.lang.java.ast.ASTType;
+import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclarator;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableInitializer;
+import net.sourceforge.pmd.lang.java.ast.TypeNode;
 import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
 import net.sourceforge.pmd.lang.java.typeresolution.TypeHelper;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
@@ -77,30 +81,40 @@ public class CloseResourceRule extends AbstractJavaRule {
             booleanProperty("closeAsDefaultTarget")
                     .desc("Consider 'close' as a target by default").defaultValue(true).build();
 
+    private static final PropertyDescriptor<List<String>> ALLOWED_RESOURCE_TYPES =
+            stringListProperty("allowedResourceTypes")
+            .desc("Exact class names that do not need to be closed")
+            .defaultValues("java.io.ByteArrayOutputStream", "java.io.StringWriter")
+            .build();
+
 
     public CloseResourceRule() {
         definePropertyDescriptor(CLOSE_TARGETS_DESCRIPTOR);
         definePropertyDescriptor(TYPES_DESCRIPTOR);
         definePropertyDescriptor(USE_CLOSE_AS_DEFAULT_TARGET);
+        definePropertyDescriptor(ALLOWED_RESOURCE_TYPES);
     }
 
     @Override
-    public Object visit(ASTCompilationUnit node, Object data) {
-        if (closeTargets.isEmpty() && getProperty(CLOSE_TARGETS_DESCRIPTOR) != null) {
+    public void start(RuleContext ctx) {
+        closeTargets.clear();
+        simpleTypes.clear();
+        types.clear();
+
+        if (getProperty(CLOSE_TARGETS_DESCRIPTOR) != null) {
             closeTargets.addAll(getProperty(CLOSE_TARGETS_DESCRIPTOR));
         }
         if (getProperty(USE_CLOSE_AS_DEFAULT_TARGET) && !closeTargets.contains("close")) {
             closeTargets.add("close");
         }
-        if (types.isEmpty() && getProperty(TYPES_DESCRIPTOR) != null) {
+        if (getProperty(TYPES_DESCRIPTOR) != null) {
             types.addAll(getProperty(TYPES_DESCRIPTOR));
         }
-        if (simpleTypes.isEmpty() && getProperty(TYPES_DESCRIPTOR) != null) {
+        if (getProperty(TYPES_DESCRIPTOR) != null) {
             for (String type : getProperty(TYPES_DESCRIPTOR)) {
                 simpleTypes.add(toSimpleType(type));
             }
         }
-        return super.visit(node, data);
     }
 
     private static String toSimpleType(String fullyQualifiedClassName) {
@@ -125,43 +139,72 @@ public class CloseResourceRule extends AbstractJavaRule {
     }
 
     private void checkForResources(Node node, Object data) {
-        List<ASTLocalVariableDeclaration> vars = node.findDescendantsOfType(ASTLocalVariableDeclaration.class);
-        List<ASTVariableDeclaratorId> ids = new ArrayList<>();
+        List<ASTLocalVariableDeclaration> localVars = node.findDescendantsOfType(ASTLocalVariableDeclaration.class);
+        List<ASTVariableDeclarator> vars = new ArrayList<>();
+        Map<ASTVariableDeclaratorId, TypeNode> ids = new HashMap<>();
+
+        // find all variable declarators
+        for (ASTLocalVariableDeclaration localVar : localVars) {
+            vars.addAll(localVar.findChildrenOfType(ASTVariableDeclarator.class));
+        }
 
         // find all variable references to Connection objects
-        for (ASTLocalVariableDeclaration var : vars) {
-            ASTType type = var.getTypeNode();
+        for (ASTVariableDeclarator var : vars) {
+            // get the type of the local var declaration
+            TypeNode type = ((ASTLocalVariableDeclaration) var.jjtGetParent()).getTypeNode();
 
-            if (type != null && type.jjtGetChild(0) instanceof ASTReferenceType) {
-                ASTReferenceType ref = (ASTReferenceType) type.jjtGetChild(0);
-                if (ref.jjtGetChild(0) instanceof ASTClassOrInterfaceType) {
-                    ASTClassOrInterfaceType clazz = (ASTClassOrInterfaceType) ref.jjtGetChild(0);
-
-                    if (isResourceTypeOrSubtype(clazz)
-                            || clazz.getType() == null && simpleTypes.contains(toSimpleType(clazz.getImage()))
-                                    && !clazz.isReferenceToClassSameCompilationUnit()
-                            || types.contains(clazz.getImage()) && !clazz.isReferenceToClassSameCompilationUnit()) {
-
-                        ASTVariableDeclaratorId id = var.getFirstDescendantOfType(ASTVariableDeclaratorId.class);
-                        ids.add(id);
+            if (type != null && isResourceTypeOrSubtype(type)) {
+                if (var.hasInitializer()) {
+                    // figure out the runtime type. If the variable is initialized, take the type from there
+                    TypeNode runtimeType = var.getInitializer().getFirstChildOfType(ASTExpression.class);
+                    if (runtimeType != null && !isAllowedResourceType(runtimeType)) {
+                        ids.put(var.getVariableId(), runtimeType);
                     }
+                } else {
+                    ids.put(var.getVariableId(), type);
                 }
             }
         }
 
         // if there are connections, ensure each is closed.
-        for (ASTVariableDeclaratorId x : ids) {
-            ensureClosed((ASTLocalVariableDeclaration) x.jjtGetParent().jjtGetParent(), x, data);
+        for (Map.Entry<ASTVariableDeclaratorId, TypeNode> entry : ids.entrySet()) {
+            ASTVariableDeclaratorId variableId = entry.getKey();
+            ensureClosed((ASTLocalVariableDeclaration) variableId.jjtGetParent().jjtGetParent(), variableId,
+                    entry.getValue(), data);
         }
     }
 
-    private boolean isResourceTypeOrSubtype(ASTClassOrInterfaceType refType) {
+    private boolean isResourceTypeOrSubtype(TypeNode refType) {
         if (refType.getType() != null) {
             for (String type : types) {
                 if (TypeHelper.isA(refType, type)) {
                     return true;
                 }
             }
+        } else if (refType.jjtGetChild(0) instanceof ASTReferenceType) {
+            // no type information (probably missing auxclasspath) - use simple types
+            ASTReferenceType ref = (ASTReferenceType) refType.jjtGetChild(0);
+            if (ref.jjtGetChild(0) instanceof ASTClassOrInterfaceType) {
+                ASTClassOrInterfaceType clazz = (ASTClassOrInterfaceType) ref.jjtGetChild(0);
+                if (simpleTypes.contains(toSimpleType(clazz.getImage())) && !clazz.isReferenceToClassSameCompilationUnit()
+                        || types.contains(clazz.getImage()) && !clazz.isReferenceToClassSameCompilationUnit()) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    private boolean isAllowedResourceType(TypeNode refType) {
+        List<String> allowedResourceTypes = getProperty(ALLOWED_RESOURCE_TYPES);
+        if (refType.getType() != null && allowedResourceTypes != null) {
+            for (String type : allowedResourceTypes) {
+                // the check here must be a exact type match, since subclasses may override close()
+                // and actually require closing
+                if (TypeHelper.isExactlyA(refType, type)) {
+                    return true;
+                }
+            }
         }
         return false;
     }
@@ -180,7 +223,7 @@ public class CloseResourceRule extends AbstractJavaRule {
         return false;
     }
 
-    private void ensureClosed(ASTLocalVariableDeclaration var, ASTVariableDeclaratorId id, Object data) {
+    private void ensureClosed(ASTLocalVariableDeclaration var, ASTVariableDeclaratorId id, TypeNode type, Object data) {
         // What are the chances of a Connection being instantiated in a
         // for-loop init block? Anyway, I'm lazy!
         String variableToClose = id.getImage();
@@ -335,10 +378,12 @@ public class CloseResourceRule extends AbstractJavaRule {
 
         // if all is not well, complain
         if (!closed) {
-            ASTType type = var.getFirstChildOfType(ASTType.class);
-            ASTReferenceType ref = (ASTReferenceType) type.jjtGetChild(0);
-            ASTClassOrInterfaceType clazz = (ASTClassOrInterfaceType) ref.jjtGetChild(0);
-            addViolation(data, id, clazz.getImage());
+            Class<?> typeClass = type.getType();
+            if (typeClass != null) {
+                addViolation(data, id, typeClass.getName());
+            } else {
+                addViolation(data, id, id.getVariableName());
+            }
         }
     }
 
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/errorprone/closeresource/CustomStringWriter.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/errorprone/closeresource/CustomStringWriter.java
new file mode 100644
index 0000000000..fc56da5596
--- /dev/null
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/errorprone/closeresource/CustomStringWriter.java
@@ -0,0 +1,18 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.java.rule.errorprone.closeresource;
+
+import java.io.IOException;
+import java.io.StringWriter;
+
+public class CustomStringWriter extends StringWriter {
+
+    @Override
+    public void close() throws IOException {
+        getBuffer().setLength(0);
+        getBuffer().trimToSize();
+        super.close();
+    }
+}
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index 7b03334c68..f97781fe8a 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -814,4 +814,83 @@ public class CloseResourceTest {
 }
         ]]></code>
     </test-code>
+
+    <test-code>
+        <description>ByteArrayOutputStream and StringWriter do not need closing</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.OutputStream;
+
+public class CloseResourceWithExceptions {
+    public void bar() {
+        /*ByteArray*/OutputStream buffer = new ByteArrayOutputStream();
+        try {
+            buffer.write(new byte[] {1, 2, 3});
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        byte[] result = buffer.toByteArray();
+        return result;
+    }
+
+    public String baz() {
+        StringWriter writer = new StringWriter();
+        writer.write("Test");
+        return writer.toString();
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>A custom StringWriter does need closing</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.StringWriter;
+import net.sourceforge.pmd.lang.java.rule.errorprone.closeresource.CustomStringWriter;
+
+public class CloseResourceWithExceptions {
+    public void bar() {
+        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
+        try {
+            buffer.write(new byte[] {1, 2, 3});
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        byte[] result = buffer.toByteArray();
+        return result;
+    }
+
+    public String baz() {
+        StringWriter writer = new CustomStringWriter();
+        writer.write("Test");
+        return writer.toString();
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>connection not closed, should have failed - missing import</description>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+// without the import
+//import java.sql.*;
+// type resolution doesn't work, so the rule falls back to simple names
+public class Foo {
+ void bar() {
+  Connection c = pool.getConnection();
+  try {
+  } catch (Exception e) {
+  }
+ }
+}
+     ]]></code>
+    </test-code>
 </test-data>

From 86ce57ca3c4e0e37e39f6439e421837f83d7f0df Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 22 Jun 2019 19:01:24 +0200
Subject: [PATCH 230/371] [java] CloseResource: support try-with-resources

---
 .../rule/errorprone/CloseResourceRule.java    | 18 +++++++++++++---
 .../rule/errorprone/xml/CloseResource.xml     | 21 +++++++++++++++++++
 2 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index e422446314..27ba1d8818 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -32,6 +32,7 @@ import net.sourceforge.pmd.lang.java.ast.ASTPrimaryExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTPrimaryPrefix;
 import net.sourceforge.pmd.lang.java.ast.ASTPrimarySuffix;
 import net.sourceforge.pmd.lang.java.ast.ASTReferenceType;
+import net.sourceforge.pmd.lang.java.ast.ASTResourceSpecification;
 import net.sourceforge.pmd.lang.java.ast.ASTReturnStatement;
 import net.sourceforge.pmd.lang.java.ast.ASTStatementExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTTryStatement;
@@ -157,10 +158,12 @@ public class CloseResourceRule extends AbstractJavaRule {
                 if (var.hasInitializer()) {
                     // figure out the runtime type. If the variable is initialized, take the type from there
                     TypeNode runtimeType = var.getInitializer().getFirstChildOfType(ASTExpression.class);
-                    if (runtimeType != null && !isAllowedResourceType(runtimeType)) {
-                        ids.put(var.getVariableId(), runtimeType);
+                    if (runtimeType != null && runtimeType.getType() != null) {
+                        type = runtimeType;
                     }
-                } else {
+                }
+
+                if (!isAllowedResourceType(type)) {
                     ids.put(var.getVariableId(), type);
                 }
             }
@@ -358,6 +361,15 @@ public class CloseResourceRule extends AbstractJavaRule {
                 if (closed) {
                     break;
                 }
+            } else if (t.isTryWithResources()) {
+                // maybe the variable is used as a resource
+                List<ASTName> names = t.getFirstChildOfType(ASTResourceSpecification.class).findDescendantsOfType(ASTName.class);
+                for (ASTName potentialUsage : names) {
+                    if (potentialUsage.hasImageEqualTo(variableToClose)) {
+                        closed = true;
+                        break;
+                    }
+                }
             }
         }
 
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index f97781fe8a..206b2ee851 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -893,4 +893,25 @@ public class Foo {
 }
      ]]></code>
     </test-code>
+
+    <test-code>
+        <description>closed with try-with-resources</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.io.*;
+
+public class Foo {
+    public int bar() {
+        InputStream inputStream = getInputStreamFromSomewhere();
+        if (inputStream != null) {
+            try (InputStreamReader reader = new InputStreamReader(inputStream, "UTF-8")) {
+                char c = reader.read();
+                return c;
+            }
+        }
+        return -1;
+    }
+}
+        ]]></code>
+    </test-code>
 </test-data>

From 903f0c924190c92b2f913930c1a45bc9a3c23796 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Robert=20S=C3=B6semann?=
 <8180281+rsoesemann@users.noreply.github.com>
Date: Sun, 23 Jun 2019 21:16:21 +0200
Subject: [PATCH 231/371] Added Apex PMD related content

---
 docs/pages/pmd/projectdocs/trivia/news.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/docs/pages/pmd/projectdocs/trivia/news.md b/docs/pages/pmd/projectdocs/trivia/news.md
index 5c7b3c0e6e..981b1d06e7 100644
--- a/docs/pages/pmd/projectdocs/trivia/news.md
+++ b/docs/pages/pmd/projectdocs/trivia/news.md
@@ -6,6 +6,22 @@ author: Tom Copeland <tom@infoether.org>
 
 ## Sites/Articles about PMD
 
+
+### Salesforce / Apex Language Module
+
+*   June 2019 - Pluralsight Course about leveraging PMD usage for Salesforce by [Robert Sösemann](https://github.com/rsoesemann) (Apex Language Module Contributor) [Play by Play: Automated Code Analysis in Salesforce - a Tools Deep-Dive](https://www.pluralsight.com/courses/play-by-play-automated-code-analysis-in-salesforce)
+
+*   June 2018 - Salesforce Way Podcast with [Robert Sösemann](https://github.com/rsoesemann) [Static Code Analysis with PMD for Apex](https://salesforceway.com/podcast/podcast/static-code-analysis-with-pmd-for-apex/)
+
+* January 2018 - [Webinar: How to contribute Apex rules to PMD with Robert Sösemann](https://www.youtube.com/watch?v=7_Ex9WWS_3Q)
+
+*   August 2017 - Webinar about how to use PMD with The Welkin Suite Salesforce IDE - Author [Robert Sösemann](https://github.com/rsoesemann) - [Improving your Apex Code Quality with PMD in The Welkin Suite](https://www.youtube.com/watch?v=Ypyiy5b6huc)
+
+*   November 2016 - Recording of [Robert Sösemann](https://github.com/rsoesemann)'s Session at Salesforce Dreamforce Conference about enforcing Clean Code in the Salesforce world using PMD and other tools [Clean Apex Code with Automatic Code Metrics](https://www.youtube.com/watch?v=bW7m6y6bEug)
+
+
+### Other Language Modules
+
 *   February 2012 - Romain Pelisse's lightning talk at FOSDEM 2012 about "PMD5: What can it do for you?".
     [Video recording is available](http://video.fosdem.org/2012/lightningtalks/PMD5.webm).
 

From 54b2267a34386d2f5b25d9445f06078e08a43dd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Robert=20S=C3=B6semann?=
 <8180281+rsoesemann@users.noreply.github.com>
Date: Sun, 23 Jun 2019 21:18:42 +0200
Subject: [PATCH 232/371] Update news.md

---
 docs/pages/pmd/projectdocs/trivia/news.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/pages/pmd/projectdocs/trivia/news.md b/docs/pages/pmd/projectdocs/trivia/news.md
index 981b1d06e7..7baabc251c 100644
--- a/docs/pages/pmd/projectdocs/trivia/news.md
+++ b/docs/pages/pmd/projectdocs/trivia/news.md
@@ -9,9 +9,9 @@ author: Tom Copeland <tom@infoether.org>
 
 ### Salesforce / Apex Language Module
 
-*   June 2019 - Pluralsight Course about leveraging PMD usage for Salesforce by [Robert Sösemann](https://github.com/rsoesemann) (Apex Language Module Contributor) [Play by Play: Automated Code Analysis in Salesforce - a Tools Deep-Dive](https://www.pluralsight.com/courses/play-by-play-automated-code-analysis-in-salesforce)
+*   June 2019 - [Pluralsight](https://www.pluralsight.com/authors/don-robins) Course about leveraging PMD usage for Salesforce by [Robert Sösemann](https://github.com/rsoesemann) (Apex Language Module Contributor) [Play by Play: Automated Code Analysis in Salesforce - a Tools Deep-Dive](https://www.pluralsight.com/courses/play-by-play-automated-code-analysis-in-salesforce)
 
-*   June 2018 - Salesforce Way Podcast with [Robert Sösemann](https://github.com/rsoesemann) [Static Code Analysis with PMD for Apex](https://salesforceway.com/podcast/podcast/static-code-analysis-with-pmd-for-apex/)
+*   June 2018 - [Salesforce Way Podcast](https://salesforceway.com/podcast/podcast/) with [Robert Sösemann](https://github.com/rsoesemann) [Static Code Analysis with PMD for Apex](https://salesforceway.com/podcast/podcast/static-code-analysis-with-pmd-for-apex/)
 
 * January 2018 - [Webinar: How to contribute Apex rules to PMD with Robert Sösemann](https://www.youtube.com/watch?v=7_Ex9WWS_3Q)
 

From 6b3ccdf0693945e9077c8c1699b230347328eebd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Mon, 24 Jun 2019 12:11:12 +0200
Subject: [PATCH 233/371] Add a test case

---
 .../errorprone/xml/NonStaticInitializer.xml   | 32 ++++++++++++++++---
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/NonStaticInitializer.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/NonStaticInitializer.xml
index 235904d78b..d66001be47 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/NonStaticInitializer.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/NonStaticInitializer.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<test-data
-    xmlns="http://pmd.sourceforge.net/rule-tests"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+<test-data xmlns="http://pmd.sourceforge.net/rule-tests"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
     <test-code>
         <description>bad</description>
         <expected-problems>1</expected-problems>
@@ -23,7 +22,6 @@ public class Foo {
         ]]></code>
     </test-code>
 
-
     <test-code>
         <description>Allowed in anonymous classes</description>
         <expected-problems>0</expected-problems>
@@ -72,6 +70,30 @@ public enum Foo {
 
 	{ setCycleDuration(Duration.millis(1200)); }
 
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Flag in nested local class</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>7</expected-linenumbers>
+        <code><![CDATA[
+public class Foo {
+       public Animation getStatusTransition() {
+          return new Transition() {
+
+            {
+                setCycleDuration(Duration.millis(1200));
+                class ImInAnon {{}} // should be flagged
+            }
+
+            @Override
+            protected void interpolate(double frac) {
+               // magic
+            }
+        };
+     }
 }
         ]]></code>
     </test-code>

From 5694e0414a1317cdd7d1ac1157cc65b6686b30e9 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Mon, 24 Jun 2019 19:26:34 +0200
Subject: [PATCH 234/371] Update release notes, refs #1874

---
 docs/pages/release_notes.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 24e0613aa7..3be7be27ee 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -95,6 +95,7 @@ of deprecations.
 *   [#1863](https://github.com/pmd/pmd/pull/1863): \[plsql] Add Table InlineConstraint - [kabroxiko](https://github.com/kabroxiko)
 *   [#1864](https://github.com/pmd/pmd/pull/1864): \[plsql] Add support for Subquery Views - [kabroxiko](https://github.com/kabroxiko)
 *   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [kabroxiko](https://github.com/kabroxiko)
+*   [#1874](https://github.com/pmd/pmd/pull/1874): \[plsql] Add parenthesis equation support for Update - [kabroxiko](https://github.com/kabroxiko)
 
 {% endtocmaker %}
 

From 82cda02eb110cc5df0accbf7f90eb1c51ca08d48 Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Wed, 19 Jun 2019 11:16:36 -0400
Subject: [PATCH 235/371] [plsql] Add date/time literal support for Expressions

---
 pmd-plsql/etc/grammar/PldocAST.jjt                            | 3 ++-
 .../net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls  | 4 ++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index d35ca98082..31832e8182 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -3166,6 +3166,8 @@ ASTUnaryExpressionNotPlusMinus UnaryExpressionNotPlusMinus() #UnaryExpressionNot
 {
   (
     <NOT> {sb.append(" NOT "); } simpleNode = UnaryExpression(false)
+  |
+    LOOKAHEAD(2) simpleNode = DateTimeLiteral()
   |
     LOOKAHEAD(2) simpleNode = ExtractExpression()
   |
@@ -3656,7 +3658,6 @@ ASTAccessibleByClause AccessibleByClause() :
 
 // SRT *
 ASTTable Table()  :
-
 {
 }
 {
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
index 813c3deef4..9288736d0e 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
@@ -54,6 +54,10 @@ SELECT department_id "Dept", hire_date "Date", last_name "Name",
   INTO some_record
   FROM employees
   WHERE hire_date < '01-SEP-2003'
+  AND   hire_date > timestamp '2001-01-01 00:00:00'
+  AND   hire_date < sysdate - interval '50' minute
+  AND   hire_date < sysdate - interval '5' year
+  AND   hire_date < sysdate - interval '3' month
   ORDER BY "Dept", "Date", "Name";
 
 SELECT listagg(e.email,',') within group (order by e.email )INTO

From 4b7e2c97d576788bcf2f51226196443554bae245 Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Sat, 22 Jun 2019 22:17:57 -0400
Subject: [PATCH 236/371] [plsql] fix #1873 Expression list not working

---
 pmd-plsql/etc/grammar/PldocAST.jjt            | 61 ++++++++-----------
 .../pmd/lang/plsql/ast/SelectExpressions.pls  |  7 ++-
 .../pmd/lang/plsql/ast/WhereClauseParens.pls  |  6 +-
 3 files changed, 36 insertions(+), 38 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index d35ca98082..38d00c2f8d 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1332,9 +1332,6 @@ void Condition2() #void :
 {}
 {
  (
-    // a IS OF Type condition that starts with a function...
-    LOOKAHEAD(FunctionCall() <IS> [<NOT>] <OF>) IsOfTypeCondition()
- |
     LOOKAHEAD(<REGEXP_LIKE>) RegexpLikeCondition()
  |
     LOOKAHEAD(<EXISTS>) ExistsCondition()
@@ -1351,7 +1348,7 @@ void Condition2() #void :
  |
     LOOKAHEAD(BetweenCondition()) BetweenCondition()
  |
-    LOOKAHEAD(Name() <IS> [<NOT>] <NULL>) IsNullCondition()
+    LOOKAHEAD(PrimaryExpression() <IS> [<NOT>] <NULL>) IsNullCondition()
  |
     LOOKAHEAD(PrimaryExpression() <IS> [<NOT>] <OF>) IsOfTypeCondition()
  |
@@ -1445,7 +1442,11 @@ ASTCompoundCondition CompoundCondition() :
 {}
 {
  (
-   LOOKAHEAD(1) "(" Condition() ")" (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
+   LOOKAHEAD(3) "(" Condition() ")" (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
+ |
+   LOOKAHEAD(3) "(" (LOOKAHEAD(2) ComparisonCondition() (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
+                    | LOOKAHEAD(2) CompoundCondition()) ")"
+     (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
  |
    LOOKAHEAD(1) <NOT> { jjtThis.setType(token.getImage()); } Condition()
  |
@@ -1547,8 +1548,8 @@ ASTSimpleExpression SimpleExpression() :
                      | LOOKAHEAD({isKeyword("found")}) KEYWORD("FOUND")
                      | LOOKAHEAD({isKeyword("notfound")}) KEYWORD("NOTFOUND")
                      | LOOKAHEAD({isKeyword("rowcount")}) KEYWORD("ROWCOUNT")
-                     | LOOKAHEAD({isKeyword("bulk_rowcount")}) KEYWORD("BULK_ROWCOUNT")
-                     | LOOKAHEAD({isKeyword("bulk_exceptions")}) KEYWORD("BULK_EXCEPTIONS")
+                     | LOOKAHEAD({isKeyword("bulk_rowcount")}) KEYWORD("BULK_ROWCOUNT") "(" (Name()|NumericLiteral()) ")"
+                     | LOOKAHEAD({isKeyword("bulk_exceptions")}) KEYWORD("BULK_EXCEPTIONS") ["(" (Name()|NumericLiteral()) ")"] "." Name()
                      ) { sb.append('%').append(token.image); }
  |
     LOOKAHEAD(2)
@@ -1581,12 +1582,12 @@ ASTFunctionCall FunctionCall() :
     (
         LOOKAHEAD({"TRIM".equalsIgnoreCase(token.image)}) TrimExpression()
       | LOOKAHEAD({"XMLCAST".equalsIgnoreCase(token.image)}) "(" Expression() <AS> Datatype() ")"
-      | LOOKAHEAD({"XMLQUERY".equalsIgnoreCase(token.image)}) "(" StringLiteral() [ LOOKAHEAD({isKeyword("PASSING")}) XMLPassingClause() ] <RETURNING> KEYWORD("CONTENT") [ <NULL> <ON> <EMPTY> ] ")"
+      | LOOKAHEAD({"XMLQUERY".equalsIgnoreCase(token.image)}) "(" StringLiteral() [ LOOKAHEAD({isKeyword("PASSING")}) XMLPassingClause() ] <RETURNING> KEYWORD("CONTENT") [ <NULL> <ON> <EMPTY> ] ")" ["." FunctionCall()]
       | LOOKAHEAD({"CAST".equalsIgnoreCase(token.image)}) "(" ( <MULTISET> "(" Subquery() ")" | Expression() ) <AS> Datatype() ")"
       | LOOKAHEAD({"XMLFOREST".equalsIgnoreCase(token.image)}) "(" SqlExpression() [ <AS> ID() ] ( "," SqlExpression() [ <AS> ID() ] )* ")"
       | LOOKAHEAD({"XMLELEMENT".equalsIgnoreCase(token.image)}) XMLElement()
       | Arguments()
-    )
+    ) ["." Name()]
 
     {
         jjtThis.setImage(name.getImage());
@@ -2809,10 +2810,10 @@ ASTExpression Expression() :
 {
 	// Need syntactic lookahead to discriminate between Assignment and a procedure call
 	(
-  	LOOKAHEAD( PrimaryExpression() ":" "=" ) (simpleNode = Assignment()) {sb.append(simpleNode.getImage());  }
-	| (simpleNode = ConditionalOrExpression() )  {sb.append(simpleNode.getImage()); }
-	| (simpleNode = CompilationExpression() )  {sb.append(simpleNode.getImage()); }
-	)
+  	LOOKAHEAD( PrimaryExpression() ":" "=" ) (simpleNode = Assignment())
+	| (simpleNode = ConditionalOrExpression() )
+	| (simpleNode = CompilationExpression() )
+	) {sb.append(simpleNode.getImage()); }
  {
  jjtThis.setImage(sb.toString()); return jjtThis;
  }
@@ -2989,14 +2990,15 @@ ASTEqualityExpression EqualityExpression() #EqualityExpression(>1) :
   //RelationalExpression() ( ( "=" | "!=" | "<>" | <IS>) RelationalExpression() )*
   (
 	  (
-	   simpleNode = RelationalExpression()
+	    LOOKAHEAD(PrimaryExpression() <IS> [<NOT>] <OF>) (simpleNode = IsOfTypeCondition())
+      |
+	    simpleNode = RelationalExpression()
 	  ) {sb.append(simpleNode.getImage());}
 	  (
 	   ( ("=" ) {sb.append(" = ");}
 	   | ("!" "=" ) {sb.append(" != ");}
 	   // Now unde RelationalExpression | ("<" ">" ) {sb.append(" <> ");}
-	   | (<IS>) {sb.append(" IS ");}
-           )
+	   | (<IS>) {sb.append(" IS ");})
 	   (
 	   simpleNode = RelationalExpression()
 	   ) {sb.append(simpleNode.getImage());}
@@ -3166,10 +3168,12 @@ ASTUnaryExpressionNotPlusMinus UnaryExpressionNotPlusMinus() #UnaryExpressionNot
 {
   (
     <NOT> {sb.append(" NOT "); } simpleNode = UnaryExpression(false)
+  |
+    LOOKAHEAD(2) simpleNode = CaseExpression()
   |
     LOOKAHEAD(2) simpleNode = ExtractExpression()
   |
-    LOOKAHEAD(2) simpleNode = IsNullCondition()
+    LOOKAHEAD(2) simpleNode = PrimaryPrefix()
   ) {sb.append(simpleNode.getImage()); }
  {
  jjtThis.setImage(sb.toString()); return jjtThis;
@@ -3177,25 +3181,14 @@ ASTUnaryExpressionNotPlusMinus UnaryExpressionNotPlusMinus() #UnaryExpressionNot
 }
 
 ASTIsNullCondition IsNullCondition() #IsNullCondition(>1) :  //yanzin
-{ PLSQLNode simpleNode = null; PLSQLNode name = null; StringBuilder sb = new StringBuilder(); }
+{ PLSQLNode simpleNode = null; StringBuilder sb = new StringBuilder(); }
 {
-  (
-    LOOKAHEAD(Name() <IS> [<NOT>] <NULL>)
-    (
-		(name = Name()) {sb.append(name.getImage());} <IS> {sb.append(" IS");} [<NOT> {sb.append(" NOT");}] <NULL> {sb.append(" NULL");}
-	)
-    |
-	(
-		simpleNode = IsOfTypeCondition()
-	)
-	{
-		sb.append(simpleNode.getImage());
-	}
-  )
+  simpleNode = PrimaryPrefix() { sb.append(simpleNode.getImage()); }
+  <IS> {sb.append(" IS");} [<NOT> {sb.append(" NOT");}] <NULL> {sb.append(" NULL");}
   {
     jjtThis.setImage(sb.toString());
 	return jjtThis;
- }
+  }
 }
 
 ASTIsOfTypeCondition IsOfTypeCondition() #IsOfTypeCondition(>1) :
@@ -3540,7 +3533,7 @@ ASTArgument Argument() :
 {
 	//[LOOKAHEAD(2) UnqualifiedID() "=>"] Expression()
 	[LOOKAHEAD(2) (simpleNode = UnqualifiedID())  ("=>" | <AS> )  ]
-        (Expression() )
+        (SqlExpression())
 	//Allow Using CharacterSet suffix clause
 	[
 	   ( <USING>  )
@@ -3682,7 +3675,7 @@ ASTTableColumn TableColumn()  :
 }
 {
   ID() Datatype()
-  [ ( <_DEFAULT> [ <ON> <NULL> ] (LOOKAHEAD(2) FunctionCall()|LOOKAHEAD(1) UnaryExpression(true))
+  [ ( <_DEFAULT> [ <ON> <NULL> ] PrimaryPrefix()
     | LOOKAHEAD(2) <GENERATED> [ ( <BY> <_DEFAULT> [ <ON> <NULL>] | KEYWORD("ALWAYS")) ]
                                <AS> KEYWORD("IDENTITY") ) ]
   (LOOKAHEAD(1) InlineConstraint())*
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
index 813c3deef4..e2db5ab873 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
@@ -60,17 +60,18 @@ SELECT listagg(e.email,',') within group (order by e.email )INTO
                 v_task_resp
             FROM sso_auth_employees e;
 
-select listagg(asap_func_loc_number,'; ') within group (order by 1)
+SELECT listagg(asap_func_loc_number,'; ') within group (order by 1)
     INTO my_record
     FROM company_asap_func_locs
-    WHERE cmp_id = cmp_id_in;
+    WHERE cmp_id = cmp_id_in
+    AND   function_call() is null;
 
 SELECT CASE
             WHEN priv != 'Y' AND my_package.my_function(param1, TO_NUMBER(TO_CHAR(SYSDATE, 'yyyy'))) >= 100 THEN
                  'Y'
                ELSE
                  'N'
-             END
+            END
         INTO my_result
         FROM DUAL;
 
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls
index 23b902bc56..338b3a1666 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls
@@ -7,8 +7,12 @@ BEGIN
 
 select *
 from dual
-where (dummy = X or 1 = 2)
+where (dummy <= X or 1 = 2)
 and 1=1;
 
+select *
+FROM dual
+WHERE (dummy, 'X') in (select dummy, 'X' from dual);
+
 END;
 /

From ac285e50a5b07fb3a4b402290c956d1336a231d8 Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Sun, 23 Jun 2019 10:04:54 -0400
Subject: [PATCH 237/371] [plsql] fix #1878 Support explicit INNER word for
 INNER JOIN

---
 pmd-plsql/etc/grammar/PldocAST.jjt            | 21 ++++++++-----------
 .../pmd/lang/plsql/ast/JoinClauseTest.java    |  2 +-
 .../pmd/lang/plsql/ast/InnerJoinUsing.pls     |  5 +++++
 3 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index d35ca98082..5bd13d7a6e 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1809,7 +1809,9 @@ void FromClauseEntry() #void :
 {}
 {
  (
-     LOOKAHEAD(JoinClause()) JoinClause()
+     LOOKAHEAD(TableReferenceInJoin()
+              ([<INNER>] <JOIN> | <CROSS> | <NATURAL> | <PARTITION> | <FULL> | <LEFT> | <RIGHT> ))
+              JoinClause()
  |
      // using lookahead to avoid misinterpreting the token after the identifier
      // as a table alias rather than as a keyword
@@ -1957,6 +1959,7 @@ ASTTableReference TableReferenceInJoin() #TableReference :
     [ LOOKAHEAD(1, ID(), {getToken(1).kind != NATURAL
         && getToken(1).kind != CROSS
         && getToken(1).kind != ON
+        && getToken(1).kind != USING
         && getToken(1).kind != PARTITION
         && getToken(1).kind != RIGHT
         && getToken(1).kind != FULL})
@@ -2002,18 +2005,12 @@ ASTInnerCrossJoinClause InnerCrossJoinClause() :
 {}
 {
   (
-    [ <INNER> ] <JOIN> TableReferenceInJoin()
-    (
-        <ON> ConditionalOrExpression()
-    |
-        <USING> "(" Column() ("," Column() )* ")"
-    )
+    [<INNER>] <JOIN> TableReferenceInJoin()
+    (<ON> ConditionalOrExpression()
+    |<USING> "(" Column() ("," Column() )* ")")
   |
-    (
-        <CROSS> { jjtThis.setCross(true); }
-    |
-        <NATURAL> { jjtThis.setNatural(true); } [ <INNER> ]
-    )
+    (<CROSS> { jjtThis.setCross(true); }
+    |<NATURAL> { jjtThis.setNatural(true); } [<INNER>] )
     <JOIN> TableReferenceInJoin()
   )
   { return jjtThis; }
diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
index a86ef0d759..a90cbc2b92 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
@@ -43,7 +43,7 @@ public class JoinClauseTest extends AbstractPLSQLParserTst {
                 StandardCharsets.UTF_8);
         ASTInput input = parsePLSQL(code);
         List<ASTInnerCrossJoinClause> joins = input.findDescendantsOfType(ASTInnerCrossJoinClause.class);
-        Assert.assertEquals(1, joins.size());
+        Assert.assertEquals(2, joins.size());
         Assert.assertFalse(joins.get(0).isCross());
         Assert.assertFalse(joins.get(0).isNatural());
         List<ASTColumn> columns = joins.get(0).findChildrenOfType(ASTColumn.class);
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InnerJoinUsing.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InnerJoinUsing.pls
index fb426ab8dc..9be3e9a08b 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InnerJoinUsing.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InnerJoinUsing.pls
@@ -3,5 +3,10 @@ SELECT department_id AS d_e_dept_id, e.last_name
 INTO r_record
    FROM departments d JOIN employees e
    USING (department_id);
+
+SELECT department_id AS d_e_dept_id, e.last_name
+INTO r_record
+   FROM departments d INNER JOIN employees e
+   USING (department_id);
 END;
 /

From bcb33fd5ead3b634ee3a969e42d7b7c649623e56 Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Sun, 23 Jun 2019 15:12:46 -0400
Subject: [PATCH 238/371] [plsql] fix #1878 Simplified solution

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 5bd13d7a6e..d5fb5f1490 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1809,13 +1809,8 @@ void FromClauseEntry() #void :
 {}
 {
  (
-     LOOKAHEAD(TableReferenceInJoin()
-              ([<INNER>] <JOIN> | <CROSS> | <NATURAL> | <PARTITION> | <FULL> | <LEFT> | <RIGHT> ))
-              JoinClause()
- |
-     // using lookahead to avoid misinterpreting the token after the identifier
-     // as a table alias rather than as a keyword
-     LOOKAHEAD(<IDENTIFIER> (<PARTITION>|<NATURAL>|<OUTER>|<JOIN>|<RIGHT>|<CROSS>|<FULL>)) JoinClause()
+     LOOKAHEAD([ LOOKAHEAD(2) SchemaName() "." ] TableName()
+               [<IDENTIFIER>] (<PARTITION>|<NATURAL>|<OUTER>|[<INNER>] <JOIN>|<LEFT>|<RIGHT>|<CROSS>|<FULL>)) JoinClause()
  |
      LOOKAHEAD(<IDENTIFIER> "(", {isKeyword("XMLTABLE")}) XMLTable() [ LOOKAHEAD(2) TableAlias() ]
  |
@@ -1959,7 +1954,6 @@ ASTTableReference TableReferenceInJoin() #TableReference :
     [ LOOKAHEAD(1, ID(), {getToken(1).kind != NATURAL
         && getToken(1).kind != CROSS
         && getToken(1).kind != ON
-        && getToken(1).kind != USING
         && getToken(1).kind != PARTITION
         && getToken(1).kind != RIGHT
         && getToken(1).kind != FULL})

From c3591dcc1a491bf5433aa33fdd29547b141cacaa Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Sun, 23 Jun 2019 17:12:25 -0400
Subject: [PATCH 239/371] [plsql] Suport table alias for Insert Clause

---
 pmd-plsql/etc/grammar/PldocAST.jjt                       | 9 ++++++++-
 .../sourceforge/pmd/lang/plsql/ast/InsertIntoClause.pls  | 5 ++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index d35ca98082..cf0f53a5a2 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -2283,7 +2283,14 @@ ASTSingleTableInsert SingleTableInsert() :
 ASTInsertIntoClause InsertIntoClause() :
 {}
 {
-    <INTO> DMLTableExpressionClause() [ LOOKAHEAD(2) TableAlias() ] [ LOOKAHEAD(2) "(" Column() ( "," Column() )* ")" ]
+    <INTO> DMLTableExpressionClause()
+    [ LOOKAHEAD(2) TableAlias() ]
+    [
+        LOOKAHEAD(2) "("
+              [ LOOKAHEAD(2) TableName() "." ] Column()
+        ( "," [ LOOKAHEAD(2) TableName() "." ] Column() )*
+        ")"
+    ]
     { return jjtThis; }
 }
 
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClause.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClause.pls
index 66c6e94b06..0c480fa168 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClause.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InsertIntoClause.pls
@@ -23,7 +23,10 @@ INSERT INTO
 INSERT INTO bonuses
    SELECT employee_id, salary*1.1 
    FROM employees
-   WHERE commission_pct > 0.25; 
+   WHERE commission_pct > 0.25;
 
+INSERT INTO emp_job a
+     (a.employee_id, a.job_id)
+   VALUES (emp_id, emp_jobid);
 END;
 /

From 8e988fd7fd41f3eed60d8b150dccaefedbbb28c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Wed, 26 Jun 2019 19:40:11 +0200
Subject: [PATCH 240/371] Add DoubleBraceInitialization to design.xml

---
 .../main/resources/category/java/design.xml   | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/pmd-java/src/main/resources/category/java/design.xml b/pmd-java/src/main/resources/category/java/design.xml
index 41cc421ca4..d54d3964bc 100644
--- a/pmd-java/src/main/resources/category/java/design.xml
+++ b/pmd-java/src/main/resources/category/java/design.xml
@@ -550,6 +550,47 @@ public class Foo extends Error { }
         </example>
     </rule>
 
+
+    <rule name="DoubleBraceInitialization"
+          language="java"
+          since="1.5"
+          message="Double-brace initialization should be avoided"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#nonstaticinitializer">
+        <description>
+            Double brace initialisation is a pattern to initialise eg collections concisely. But it implicitly
+            generates a new .class file, and the object holds a strong reference to the enclosing object. For those
+            reasons, it is preferable to initialize the object normally, even though it's verbose.
+
+            This rule counts any anonymous class which only has a single initializer as an instance of double-brace
+            initialization.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="version" value="2.0" />
+            <property name="xpath">
+                <value>
+                    <![CDATA[
+//AllocationExpression/ClassOrInterfaceBody[count(*)=1]/Initializer[@Static=false()]
+]]>
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
+            // this is double-brace initialization
+            return new ArrayList<String>(){{addAll("a","b","c");}};
+
+            // the better way is to not create an anonymous class:
+            List<String> a = new ArrayList<>();
+            a.addAll("a","b","c");
+            return a;
+
+            ]]>
+        </example>
+    </rule>
+
+
     <rule name="ExceptionAsFlowControl"
           since="1.8"
           message="Avoid using exceptions as flow control."

From 8fc0e9c87519af81fa2ac8efb065884ce1acadfb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Wed, 26 Jun 2019 19:45:55 +0200
Subject: [PATCH 241/371] Add test cases

---
 .../main/resources/category/java/design.xml   |  5 +-
 .../design/DoubleBraceInitializationTest.java | 11 +++
 .../design/xml/DoubleBraceInitialization.xml  | 97 +++++++++++++++++++
 3 files changed, 111 insertions(+), 2 deletions(-)
 create mode 100644 pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/design/DoubleBraceInitializationTest.java
 create mode 100644 pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/DoubleBraceInitialization.xml

diff --git a/pmd-java/src/main/resources/category/java/design.xml b/pmd-java/src/main/resources/category/java/design.xml
index d54d3964bc..f8070fbdac 100644
--- a/pmd-java/src/main/resources/category/java/design.xml
+++ b/pmd-java/src/main/resources/category/java/design.xml
@@ -563,7 +563,8 @@ public class Foo extends Error { }
             reasons, it is preferable to initialize the object normally, even though it's verbose.
 
             This rule counts any anonymous class which only has a single initializer as an instance of double-brace
-            initialization.
+            initialization. There is currently no way to find out whether a method called in the initializer is not
+            accessible from outside the anonymous class, and those legit cases should be suppressed for the time being.
         </description>
         <priority>3</priority>
         <properties>
@@ -571,7 +572,7 @@ public class Foo extends Error { }
             <property name="xpath">
                 <value>
                     <![CDATA[
-//AllocationExpression/ClassOrInterfaceBody[count(*)=1]/Initializer[@Static=false()]
+//AllocationExpression/ClassOrInterfaceBody[count(*)=1]/*/Initializer[@Static=false()]
 ]]>
                 </value>
             </property>
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/design/DoubleBraceInitializationTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/design/DoubleBraceInitializationTest.java
new file mode 100644
index 0000000000..8a67cf5b63
--- /dev/null
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/design/DoubleBraceInitializationTest.java
@@ -0,0 +1,11 @@
+/*
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.java.rule.design;
+
+import net.sourceforge.pmd.testframework.PmdRuleTst;
+
+public class DoubleBraceInitializationTest extends PmdRuleTst {
+    // no additional unit tests
+}
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/DoubleBraceInitialization.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/DoubleBraceInitialization.xml
new file mode 100644
index 0000000000..c8042cb7c5
--- /dev/null
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/DoubleBraceInitialization.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test-data xmlns="http://pmd.sourceforge.net/rule-tests"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
+    <test-code>
+        <description>Pos in return</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>4</expected-linenumbers>
+        <code><![CDATA[
+class Foo {
+
+ List<String> bar() {
+    return new ArrayList<String>(){{addAll("a","b","c");}};
+ }
+
+
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Neg, override</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+class Foo {
+
+ List<String> bar() {
+    return new ArrayList<String>(){
+
+        {addAll("a","b","c");}
+
+        void add(String x) {
+            throw new UnsupportedOperationException();
+        }
+    };
+ }
+
+
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Neg, new field</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+class Foo {
+
+ List<String> bar() {
+    return new ArrayList<String>(){
+
+        {addAll("a","b","c");}
+
+        int field;
+    };
+ }
+
+
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Neg, enum constant</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+enum Foo {
+
+ A {
+    // neg in enum cons
+    {addAll("a","b","c");}
+
+
+ };
+
+
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Neg, regular class</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+class Foo {
+
+    // neg in regular class
+    {addAll("a","b","c");}
+
+
+
+
+}
+        ]]></code>
+    </test-code>
+
+</test-data>

From 45331699ab8fbcdfdd496e037024580161f732d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Wed, 26 Jun 2019 19:54:02 +0200
Subject: [PATCH 242/371] Add to quickstart ruleset

---
 pmd-java/src/main/resources/category/java/design.xml     | 4 ++--
 pmd-java/src/main/resources/rulesets/java/quickstart.xml | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/pmd-java/src/main/resources/category/java/design.xml b/pmd-java/src/main/resources/category/java/design.xml
index f8070fbdac..fe164aa512 100644
--- a/pmd-java/src/main/resources/category/java/design.xml
+++ b/pmd-java/src/main/resources/category/java/design.xml
@@ -553,10 +553,10 @@ public class Foo extends Error { }
 
     <rule name="DoubleBraceInitialization"
           language="java"
-          since="1.5"
+          since="6.16.0"
           message="Double-brace initialization should be avoided"
           class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#nonstaticinitializer">
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_design.html#doublebraceinitialization">
         <description>
             Double brace initialisation is a pattern to initialise eg collections concisely. But it implicitly
             generates a new .class file, and the object holds a strong reference to the enclosing object. For those
diff --git a/pmd-java/src/main/resources/rulesets/java/quickstart.xml b/pmd-java/src/main/resources/rulesets/java/quickstart.xml
index a3e1aff5aa..0d39ea25e7 100644
--- a/pmd-java/src/main/resources/rulesets/java/quickstart.xml
+++ b/pmd-java/src/main/resources/rulesets/java/quickstart.xml
@@ -128,6 +128,7 @@
     <!-- <rule ref="category/java/design.xml/CyclomaticComplexity" /> -->
     <!-- <rule ref="category/java/design.xml/DataClass" /> -->
     <rule ref="category/java/design.xml/DoNotExtendJavaLangError" />
+    <rule ref="category/java/design.xml/DoubleBraceInitialization" />
     <!-- <rule ref="category/java/design.xml/ExceptionAsFlowControl" /> -->
     <!-- <rule ref="category/java/design.xml/ExcessiveClassLength" /> -->
     <!-- <rule ref="category/java/design.xml/ExcessiveImports" /> -->

From 9cf19214ff4e82f0964a0815a659675d70122fca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Wed, 26 Jun 2019 22:18:45 +0200
Subject: [PATCH 243/371] Move to bestpractices

---
 .../resources/category/java/bestpractices.xml | 40 ++++++++++++++++++
 .../main/resources/category/java/design.xml   | 42 -------------------
 .../resources/rulesets/java/quickstart.xml    |  2 +-
 .../DoubleBraceInitializationTest.java        |  2 +-
 .../xml/DoubleBraceInitialization.xml         |  0
 5 files changed, 42 insertions(+), 44 deletions(-)
 rename pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/{design => bestpractices}/DoubleBraceInitializationTest.java (80%)
 rename pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/{design => bestpractices}/xml/DoubleBraceInitialization.xml (100%)

diff --git a/pmd-java/src/main/resources/category/java/bestpractices.xml b/pmd-java/src/main/resources/category/java/bestpractices.xml
index 1a8dfe3948..acb14b3c08 100644
--- a/pmd-java/src/main/resources/category/java/bestpractices.xml
+++ b/pmd-java/src/main/resources/category/java/bestpractices.xml
@@ -398,6 +398,46 @@ public class Foo {
         </example>
     </rule>
 
+    <rule name="DoubleBraceInitialization"
+          language="java"
+          since="6.16.0"
+          message="Double-brace initialization should be avoided"
+          class="net.sourceforge.pmd.lang.rule.XPathRule"
+          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_bestpractices.html#doublebraceinitialization">
+        <description>
+            Double brace initialisation is a pattern to initialise eg collections concisely. But it implicitly
+            generates a new .class file, and the object holds a strong reference to the enclosing object. For those
+            reasons, it is preferable to initialize the object normally, even though it's verbose.
+
+            This rule counts any anonymous class which only has a single initializer as an instance of double-brace
+            initialization. There is currently no way to find out whether a method called in the initializer is not
+            accessible from outside the anonymous class, and those legit cases should be suppressed for the time being.
+        </description>
+        <priority>3</priority>
+        <properties>
+            <property name="version" value="2.0"/>
+            <property name="xpath">
+                <value>
+                    <![CDATA[
+//AllocationExpression/ClassOrInterfaceBody[count(*)=1]/*/Initializer[@Static=false()]
+]]>
+                </value>
+            </property>
+        </properties>
+        <example>
+<![CDATA[
+            // this is double-brace initialization
+            return new ArrayList<String>(){{addAll("a","b","c");}};
+
+                    // the better way is to not create an anonymous class:
+                    List<String> a=new ArrayList<>();
+                    a.addAll("a","b","c");
+                    return a;
+            ]]>
+        </example>
+    </rule>
+
+
     <rule name="ForLoopCanBeForeach"
           language="java"
           since="6.0.0"
diff --git a/pmd-java/src/main/resources/category/java/design.xml b/pmd-java/src/main/resources/category/java/design.xml
index fe164aa512..41cc421ca4 100644
--- a/pmd-java/src/main/resources/category/java/design.xml
+++ b/pmd-java/src/main/resources/category/java/design.xml
@@ -550,48 +550,6 @@ public class Foo extends Error { }
         </example>
     </rule>
 
-
-    <rule name="DoubleBraceInitialization"
-          language="java"
-          since="6.16.0"
-          message="Double-brace initialization should be avoided"
-          class="net.sourceforge.pmd.lang.rule.XPathRule"
-          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_design.html#doublebraceinitialization">
-        <description>
-            Double brace initialisation is a pattern to initialise eg collections concisely. But it implicitly
-            generates a new .class file, and the object holds a strong reference to the enclosing object. For those
-            reasons, it is preferable to initialize the object normally, even though it's verbose.
-
-            This rule counts any anonymous class which only has a single initializer as an instance of double-brace
-            initialization. There is currently no way to find out whether a method called in the initializer is not
-            accessible from outside the anonymous class, and those legit cases should be suppressed for the time being.
-        </description>
-        <priority>3</priority>
-        <properties>
-            <property name="version" value="2.0" />
-            <property name="xpath">
-                <value>
-                    <![CDATA[
-//AllocationExpression/ClassOrInterfaceBody[count(*)=1]/*/Initializer[@Static=false()]
-]]>
-                </value>
-            </property>
-        </properties>
-        <example>
-<![CDATA[
-            // this is double-brace initialization
-            return new ArrayList<String>(){{addAll("a","b","c");}};
-
-            // the better way is to not create an anonymous class:
-            List<String> a = new ArrayList<>();
-            a.addAll("a","b","c");
-            return a;
-
-            ]]>
-        </example>
-    </rule>
-
-
     <rule name="ExceptionAsFlowControl"
           since="1.8"
           message="Avoid using exceptions as flow control."
diff --git a/pmd-java/src/main/resources/rulesets/java/quickstart.xml b/pmd-java/src/main/resources/rulesets/java/quickstart.xml
index 0d39ea25e7..8266a15230 100644
--- a/pmd-java/src/main/resources/rulesets/java/quickstart.xml
+++ b/pmd-java/src/main/resources/rulesets/java/quickstart.xml
@@ -17,6 +17,7 @@
     <rule ref="category/java/bestpractices.xml/CheckResultSet"/>
     <rule ref="category/java/bestpractices.xml/ConstantsInInterface"/>
     <rule ref="category/java/bestpractices.xml/DefaultLabelNotLastInSwitchStmt"/>
+    <rule ref="category/java/bestpractices.xml/DoubleBraceInitialization"/>
     <rule ref="category/java/bestpractices.xml/ForLoopCanBeForeach"/>
     <!-- <rule ref="category/java/bestpractices.xml/ForLoopVariableCount" /> -->
     <rule ref="category/java/bestpractices.xml/GuardLogStatement"/>
@@ -128,7 +129,6 @@
     <!-- <rule ref="category/java/design.xml/CyclomaticComplexity" /> -->
     <!-- <rule ref="category/java/design.xml/DataClass" /> -->
     <rule ref="category/java/design.xml/DoNotExtendJavaLangError" />
-    <rule ref="category/java/design.xml/DoubleBraceInitialization" />
     <!-- <rule ref="category/java/design.xml/ExceptionAsFlowControl" /> -->
     <!-- <rule ref="category/java/design.xml/ExcessiveClassLength" /> -->
     <!-- <rule ref="category/java/design.xml/ExcessiveImports" /> -->
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/design/DoubleBraceInitializationTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/DoubleBraceInitializationTest.java
similarity index 80%
rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/design/DoubleBraceInitializationTest.java
rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/DoubleBraceInitializationTest.java
index 8a67cf5b63..2e7b29a342 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/design/DoubleBraceInitializationTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/DoubleBraceInitializationTest.java
@@ -2,7 +2,7 @@
  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
  */
 
-package net.sourceforge.pmd.lang.java.rule.design;
+package net.sourceforge.pmd.lang.java.rule.bestpractices;
 
 import net.sourceforge.pmd.testframework.PmdRuleTst;
 
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/DoubleBraceInitialization.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/DoubleBraceInitialization.xml
similarity index 100%
rename from pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/design/xml/DoubleBraceInitialization.xml
rename to pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/DoubleBraceInitialization.xml

From b1ba1bbbfeed56571882b2844507d9994a736bcd Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 27 Jun 2019 19:21:57 +0200
Subject: [PATCH 244/371] [plsql] Add more JoinClause test cases

---
 .../pmd/lang/plsql/ast/JoinClauseTest.java        | 15 +++++++++++++--
 .../pmd/lang/plsql/ast/InnerJoinUsing.pls         | 12 ++++++++++++
 .../pmd/lang/plsql/ast/LeftOuterJoin.pls          | 11 +++++++++++
 .../pmd/lang/plsql/ast/RightOuterJoin.pls         | 10 ++++++++++
 4 files changed, 46 insertions(+), 2 deletions(-)
 create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/LeftOuterJoin.pls

diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
index a90cbc2b92..f62acaff93 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
@@ -43,7 +43,7 @@ public class JoinClauseTest extends AbstractPLSQLParserTst {
                 StandardCharsets.UTF_8);
         ASTInput input = parsePLSQL(code);
         List<ASTInnerCrossJoinClause> joins = input.findDescendantsOfType(ASTInnerCrossJoinClause.class);
-        Assert.assertEquals(2, joins.size());
+        Assert.assertEquals(3, joins.size());
         Assert.assertFalse(joins.get(0).isCross());
         Assert.assertFalse(joins.get(0).isNatural());
         List<ASTColumn> columns = joins.get(0).findChildrenOfType(ASTColumn.class);
@@ -71,11 +71,22 @@ public class JoinClauseTest extends AbstractPLSQLParserTst {
                 StandardCharsets.UTF_8);
         ASTInput input = parsePLSQL(code);
         List<ASTOuterJoinClause> joins = input.findDescendantsOfType(ASTOuterJoinClause.class);
-        Assert.assertEquals(1, joins.size());
+        Assert.assertEquals(2, joins.size());
         ASTOuterJoinType type = joins.get(0).getFirstChildOfType(ASTOuterJoinType.class);
         Assert.assertEquals(ASTOuterJoinType.Type.RIGHT, type.getType());
     }
 
+    @Test
+    public void testLeftOuterJoin() throws Exception {
+        String code = IOUtils.toString(this.getClass().getResourceAsStream("LeftOuterJoin.pls"),
+                StandardCharsets.UTF_8);
+        ASTInput input = parsePLSQL(code);
+        List<ASTOuterJoinClause> joins = input.findDescendantsOfType(ASTOuterJoinClause.class);
+        Assert.assertEquals(1, joins.size());
+        ASTOuterJoinType type = joins.get(0).getFirstChildOfType(ASTOuterJoinType.class);
+        Assert.assertEquals(ASTOuterJoinType.Type.LEFT, type.getType());
+    }
+
     @Test
     public void testNaturalRightOuterJoin() throws Exception {
         String code = IOUtils.toString(this.getClass().getResourceAsStream("NaturalRightOuterJoin.pls"),
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InnerJoinUsing.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InnerJoinUsing.pls
index 9be3e9a08b..74109d3464 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InnerJoinUsing.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/InnerJoinUsing.pls
@@ -8,5 +8,17 @@ SELECT department_id AS d_e_dept_id, e.last_name
 INTO r_record
    FROM departments d INNER JOIN employees e
    USING (department_id);
+
+--
+-- https://github.com/pmd/pmd/issues/1878
+--
+
+SELECT COUNT(qsec_id)
+      FROM quots_sections  qsec
+           INNER JOIN quots_sections_lang USING (qsec_id)
+     WHERE qsec.wsh_id = 11
+       AND qsec.revision = 1
+       AND lang_code = 'en';
+
 END;
 /
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/LeftOuterJoin.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/LeftOuterJoin.pls
new file mode 100644
index 0000000000..27794c903b
--- /dev/null
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/LeftOuterJoin.pls
@@ -0,0 +1,11 @@
+--
+-- https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/SELECT.html#GUID-CFA006CA-6FF1-4972-821E-6996142A51C6__I2107296
+--
+
+BEGIN
+SELECT d.department_id, e.last_name
+   FROM departments d LEFT OUTER JOIN employees e
+   ON d.department_id = e.department_id
+   ORDER BY d.department_id, e.last_name;
+END;
+/
\ No newline at end of file
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/RightOuterJoin.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/RightOuterJoin.pls
index 6b40ad95d1..2c0517076c 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/RightOuterJoin.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/RightOuterJoin.pls
@@ -1,3 +1,7 @@
+--
+-- https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/SELECT.html#GUID-CFA006CA-6FF1-4972-821E-6996142A51C6__I2107296
+--
+
 BEGIN
 SELECT times.time_id, product, quantity
 INTO r_record
@@ -5,4 +9,10 @@ FROM inventory
    RIGHT OUTER JOIN times ON (times.time_id = inventory.time_id) 
    ORDER BY  2,1;
 END;
+
+SELECT d.department_id, e.last_name
+   FROM departments d RIGHT OUTER JOIN employees e
+   ON d.department_id = e.department_id
+   ORDER BY d.department_id, e.last_name;
+
 /
\ No newline at end of file

From a84869153d2c9f7fb31ffffd869ec25c950e94da Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 27 Jun 2019 19:49:01 +0200
Subject: [PATCH 245/371] [plsql] Fixes #1878

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index d5fb5f1490..0a92bc9708 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1809,8 +1809,8 @@ void FromClauseEntry() #void :
 {}
 {
  (
-     LOOKAHEAD([ LOOKAHEAD(2) SchemaName() "." ] TableName()
-               [<IDENTIFIER>] (<PARTITION>|<NATURAL>|<OUTER>|[<INNER>] <JOIN>|<LEFT>|<RIGHT>|<CROSS>|<FULL>)) JoinClause()
+     LOOKAHEAD([ SchemaName() "." ] TableName() [<IDENTIFIER>]
+               (<PARTITION>|<NATURAL>|<OUTER>|<INNER>|<JOIN>|<LEFT>|<RIGHT>|<CROSS>|<FULL>)) JoinClause()
  |
      LOOKAHEAD(<IDENTIFIER> "(", {isKeyword("XMLTABLE")}) XMLTable() [ LOOKAHEAD(2) TableAlias() ]
  |
@@ -1951,12 +1951,25 @@ ASTTableReference TableReferenceInJoin() #TableReference :
 {
     QueryTableExpression()
 
-    [ LOOKAHEAD(1, ID(), {getToken(1).kind != NATURAL
-        && getToken(1).kind != CROSS
-        && getToken(1).kind != ON
+    [ LOOKAHEAD(1, ID(), {
+        // ON / USING might follow a table reference inside a inner cross join
+           getToken(1).kind != ON
+        && getToken(1).kind != USING
+
+        // PARTITION might follow a table reference inside a outer join
+        // or it might precede a outer join
         && getToken(1).kind != PARTITION
+
+        // join clauses can be repeated
+        && getToken(1).kind != INNER
+        && getToken(1).kind != JOIN
+        && getToken(1).kind != CROSS
+        && getToken(1).kind != NATURAL
+        && getToken(1).kind != FULL
+        && getToken(1).kind != LEFT
         && getToken(1).kind != RIGHT
-        && getToken(1).kind != FULL})
+        && getToken(1).kind != OUTER
+        })
 
         TableAlias() ]
 

From 558fea1c0518cc0cd0eea3b71afaeb0525dbf936 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 27 Jun 2019 19:50:44 +0200
Subject: [PATCH 246/371] Update release notes, fixes #1878, refs #1884

---
 docs/pages/release_notes.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 3be7be27ee..26f93f7364 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -59,6 +59,7 @@ datetime field.
 *   plsql
     *   [#1828](https://github.com/pmd/pmd/issues/1828): \[plsql] Parentheses stopped working
     *   [#1850](https://github.com/pmd/pmd/issues/1850): \[plsql] Parsing errors with INSERT using returning or records and TRIM expression
+    *   [#1878](https://github.com/pmd/pmd/issues/1878): \[pslql] ParseException when parsing USING
 
 ### API Changes
 
@@ -96,6 +97,7 @@ of deprecations.
 *   [#1864](https://github.com/pmd/pmd/pull/1864): \[plsql] Add support for Subquery Views - [kabroxiko](https://github.com/kabroxiko)
 *   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [kabroxiko](https://github.com/kabroxiko)
 *   [#1874](https://github.com/pmd/pmd/pull/1874): \[plsql] Add parenthesis equation support for Update - [kabroxiko](https://github.com/kabroxiko)
+*   [#1884](https://github.com/pmd/pmd/pull/1884): \[plsql] fix #1878 Support explicit INNER word for INNER JOIN - [kabroxiko](https://github.com/kabroxiko)
 
 {% endtocmaker %}
 

From ef011c526de3d156bdf71718c22a1eb47d21ea4b Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 27 Jun 2019 20:22:05 +0200
Subject: [PATCH 247/371] [apex] False positive ApexSharingViolationsRule,
 unsupported Apex feature

Fixes #1664
---
 .../apex/rule/security/ApexSharingViolationsRule.java |  3 ++-
 .../apex/rule/security/xml/ApexSharingViolations.xml  | 11 +++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/security/ApexSharingViolationsRule.java b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/security/ApexSharingViolationsRule.java
index b2de63fc32..93289a121b 100644
--- a/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/security/ApexSharingViolationsRule.java
+++ b/pmd-apex/src/main/java/net/sourceforge/pmd/lang/apex/rule/security/ApexSharingViolationsRule.java
@@ -96,7 +96,8 @@ public class ApexSharingViolationsRule extends AbstractApexRule {
      * @return
      */
     private boolean isSharingPresent(ASTUserClass node) {
-        return node.getModifiers().isWithoutSharing() || node.getModifiers().isWithSharing();
+        return node.getModifiers().isWithoutSharing() || node.getModifiers().isWithSharing()
+                || node.getModifiers().isInheritedSharing();
     }
 
 }
diff --git a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/security/xml/ApexSharingViolations.xml b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/security/xml/ApexSharingViolations.xml
index 196a9782cd..3e5df59843 100644
--- a/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/security/xml/ApexSharingViolations.xml
+++ b/pmd-apex/src/test/resources/net/sourceforge/pmd/lang/apex/rule/security/xml/ApexSharingViolations.xml
@@ -97,4 +97,15 @@ public without sharing class Foo {
 		]]></code>
 	</test-code>
 
+    <test-code>
+       <description>Apex class with inherited sharing doing a safe SOQL query</description>
+       <expected-problems>0</expected-problems>
+       <code><![CDATA[
+public inherited sharing class MyClass {
+   public List<Contact> getAllTheSecrets(){
+       return [SELECT Name FROM Contact];
+   }
+}
+     ]]></code>
+    </test-code>
 </test-data>

From 7c90c42fe5ab0c9b1cc10c03166478a0582b7eed Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Thu, 27 Jun 2019 20:28:40 +0200
Subject: [PATCH 248/371] Update release notes, fixes #1664

---
 docs/pages/release_notes.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 26f93f7364..97b02c37f9 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -46,6 +46,8 @@ datetime field.
 
 ### Fixed Issues
 
+*   apex
+    *   [#1664](https://github.com/pmd/pmd/issues/1664): \[apex] False positive ApexSharingViolationsRule, unsupported Apex feature
 *   java
     *   [#1848](https://github.com/pmd/pmd/issues/1848): \[java] Local classes should preserve their modifiers
 *   java-bestpractices

From cd66277c194cdd712bb657af20dd9fb2b37946e9 Mon Sep 17 00:00:00 2001
From: Maikel Steneker <maikel.steneker@tiobe.com>
Date: Fri, 28 Jun 2019 16:48:24 +0200
Subject: [PATCH 249/371] Added Lua support to CPD.

The tokenizer uses an ANTLR4 grammar based on the one at https://github.com/antlr/grammars-v4/tree/master/lua.
---
 pmd-dist/pom.xml                              |   5 +
 .../pmd/it/BinaryDistributionIT.java          |   2 +-
 pmd-lua/pom.xml                               |  57 +++
 .../sourceforge/pmd/lang/lua/antlr4/Lua.g4    | 335 ++++++++++++++++++
 .../net/sourceforge/pmd/cpd/LuaLanguage.java  |  18 +
 .../net/sourceforge/pmd/cpd/LuaTokenizer.java |  28 ++
 .../services/net.sourceforge.pmd.cpd.Language |   1 +
 .../sourceforge/pmd/cpd/LuaTokenizerTest.java |  56 +++
 .../net/sourceforge/pmd/cpd/factorial.lua     |  13 +
 .../net/sourceforge/pmd/cpd/helloworld.lua    |   2 +
 pom.xml                                       |   1 +
 11 files changed, 517 insertions(+), 1 deletion(-)
 create mode 100644 pmd-lua/pom.xml
 create mode 100644 pmd-lua/src/main/antlr4/net/sourceforge/pmd/lang/lua/antlr4/Lua.g4
 create mode 100644 pmd-lua/src/main/java/net/sourceforge/pmd/cpd/LuaLanguage.java
 create mode 100644 pmd-lua/src/main/java/net/sourceforge/pmd/cpd/LuaTokenizer.java
 create mode 100644 pmd-lua/src/main/resources/META-INF/services/net.sourceforge.pmd.cpd.Language
 create mode 100644 pmd-lua/src/test/java/net/sourceforge/pmd/cpd/LuaTokenizerTest.java
 create mode 100644 pmd-lua/src/test/resources/net/sourceforge/pmd/cpd/factorial.lua
 create mode 100644 pmd-lua/src/test/resources/net/sourceforge/pmd/cpd/helloworld.lua

diff --git a/pmd-dist/pom.xml b/pmd-dist/pom.xml
index a992ec8570..e25aa23c7c 100644
--- a/pmd-dist/pom.xml
+++ b/pmd-dist/pom.xml
@@ -127,6 +127,11 @@
             <artifactId>pmd-groovy</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>net.sourceforge.pmd</groupId>
+            <artifactId>pmd-lua</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         <dependency>
             <groupId>net.sourceforge.pmd</groupId>
             <artifactId>pmd-java</artifactId>
diff --git a/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java b/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
index 5da0b5f5a1..8caab02442 100644
--- a/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
+++ b/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
@@ -112,7 +112,7 @@ public class BinaryDistributionIT {
 
         result = CpdExecutor.runCpd(tempDir, "-h");
 
-        result.assertExecutionResult(1, "Supported languages: [apex, cpp, cs, dart, ecmascript, fortran, go, groovy, java, jsp, kotlin, matlab, objectivec, perl, php, plsql, python, ruby, scala, swift, vf]");
+        result.assertExecutionResult(1, "Supported languages: [apex, cpp, cs, dart, ecmascript, fortran, go, groovy, java, jsp, kotlin, lua, matlab, objectivec, perl, php, plsql, python, ruby, scala, swift, vf]");
 
         result = CpdExecutor.runCpd(tempDir, "--minimum-tokens", "10", "--format", "text", "--files", srcDir);
         result.assertExecutionResult(4, "Found a 10 line (55 tokens) duplication in the following files:");
diff --git a/pmd-lua/pom.xml b/pmd-lua/pom.xml
new file mode 100644
index 0000000000..6e3c30cd2f
--- /dev/null
+++ b/pmd-lua/pom.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>pmd-lua</artifactId>
+    <name>PMD Lua</name>
+
+    <parent>
+        <groupId>net.sourceforge.pmd</groupId>
+        <artifactId>pmd</artifactId>
+        <version>6.16.0-SNAPSHOT</version>
+    </parent>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.antlr</groupId>
+                <artifactId>antlr4-maven-plugin</artifactId>
+            </plugin>
+
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <configuration>
+                    <useDefaultDelimiters>false</useDefaultDelimiters>
+                    <delimiters>
+                        <delimiter>${*}</delimiter>
+                    </delimiters>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.antlr</groupId>
+            <artifactId>antlr4-runtime</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>net.sourceforge.pmd</groupId>
+            <artifactId>pmd-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>net.sourceforge.pmd</groupId>
+            <artifactId>pmd-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/pmd-lua/src/main/antlr4/net/sourceforge/pmd/lang/lua/antlr4/Lua.g4 b/pmd-lua/src/main/antlr4/net/sourceforge/pmd/lang/lua/antlr4/Lua.g4
new file mode 100644
index 0000000000..497f11060e
--- /dev/null
+++ b/pmd-lua/src/main/antlr4/net/sourceforge/pmd/lang/lua/antlr4/Lua.g4
@@ -0,0 +1,335 @@
+/*
+BSD License
+
+Copyright (c) 2013, Kazunori Sakamoto
+Copyright (c) 2016, Alexander Alexeev
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the NAME of Rainer Schuster nor the NAMEs of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This grammar file derived from:
+
+    Lua 5.3 Reference Manual
+    http://www.lua.org/manual/5.3/manual.html
+
+    Lua 5.2 Reference Manual
+    http://www.lua.org/manual/5.2/manual.html
+
+    Lua 5.1 grammar written by Nicolai Mainiero
+    http://www.antlr3.org/grammar/1178608849736/Lua.g
+
+Tested by Kazunori Sakamoto with Test suite for Lua 5.2 (http://www.lua.org/tests/5.2/)
+
+Tested by Alexander Alexeev with Test suite for Lua 5.3 http://www.lua.org/tests/lua-5.3.2-tests.tar.gz
+*/
+
+grammar Lua;
+
+chunk
+    : block EOF
+    ;
+
+block
+    : stat* retstat?
+    ;
+
+stat
+    : ';'
+    | varlist '=' explist
+    | functioncall
+    | label
+    | 'break'
+    | 'goto' NAME
+    | 'do' block 'end'
+    | 'while' exp 'do' block 'end'
+    | 'repeat' block 'until' exp
+    | 'if' exp 'then' block ('elseif' exp 'then' block)* ('else' block)? 'end'
+    | 'for' NAME '=' exp ',' exp (',' exp)? 'do' block 'end'
+    | 'for' namelist 'in' explist 'do' block 'end'
+    | 'function' funcname funcbody
+    | 'local' 'function' NAME funcbody
+    | 'local' namelist ('=' explist)?
+    ;
+
+retstat
+    : 'return' explist? ';'?
+    ;
+
+label
+    : '::' NAME '::'
+    ;
+
+funcname
+    : NAME ('.' NAME)* (':' NAME)?
+    ;
+
+varlist
+    : var (',' var)*
+    ;
+
+namelist
+    : NAME (',' NAME)*
+    ;
+
+explist
+    : exp (',' exp)*
+    ;
+
+exp
+    : 'nil' | 'false' | 'true'
+    | number
+    | string
+    | '...'
+    | functiondef
+    | prefixexp
+    | tableconstructor
+    | <assoc=right> exp operatorPower exp
+    | operatorUnary exp
+    | exp operatorMulDivMod exp
+    | exp operatorAddSub exp
+    | <assoc=right> exp operatorStrcat exp
+    | exp operatorComparison exp
+    | exp operatorAnd exp
+    | exp operatorOr exp
+    | exp operatorBitwise exp
+    ;
+
+prefixexp
+    : varOrExp nameAndArgs*
+    ;
+
+functioncall
+    : varOrExp nameAndArgs+
+    ;
+
+varOrExp
+    : var | '(' exp ')'
+    ;
+
+var
+    : (NAME | '(' exp ')' varSuffix) varSuffix*
+    ;
+
+varSuffix
+    : nameAndArgs* ('[' exp ']' | '.' NAME)
+    ;
+
+nameAndArgs
+    : (':' NAME)? args
+    ;
+
+/*
+var
+    : NAME | prefixexp '[' exp ']' | prefixexp '.' NAME
+    ;
+
+prefixexp
+    : var | functioncall | '(' exp ')'
+    ;
+
+functioncall
+    : prefixexp args | prefixexp ':' NAME args
+    ;
+*/
+
+args
+    : '(' explist? ')' | tableconstructor | string
+    ;
+
+functiondef
+    : 'function' funcbody
+    ;
+
+funcbody
+    : '(' parlist? ')' block 'end'
+    ;
+
+parlist
+    : namelist (',' '...')? | '...'
+    ;
+
+tableconstructor
+    : '{' fieldlist? '}'
+    ;
+
+fieldlist
+    : field (fieldsep field)* fieldsep?
+    ;
+
+field
+    : '[' exp ']' '=' exp | NAME '=' exp | exp
+    ;
+
+fieldsep
+    : ',' | ';'
+    ;
+
+operatorOr
+	: 'or';
+
+operatorAnd
+	: 'and';
+
+operatorComparison
+	: '<' | '>' | '<=' | '>=' | '~=' | '==';
+
+operatorStrcat
+	: '..';
+
+operatorAddSub
+	: '+' | '-';
+
+operatorMulDivMod
+	: '*' | '/' | '%' | '//';
+
+operatorBitwise
+	: '&' | '|' | '~' | '<<' | '>>';
+
+operatorUnary
+    : 'not' | '#' | '-' | '~';
+
+operatorPower
+    : '^';
+
+number
+    : INT | HEX | FLOAT | HEX_FLOAT
+    ;
+
+string
+    : NORMALSTRING | CHARSTRING | LONGSTRING
+    ;
+
+// LEXER
+
+NAME
+    : [a-zA-Z_][a-zA-Z_0-9]*
+    ;
+
+NORMALSTRING
+    : '"' ( EscapeSequence | ~('\\'|'"') )* '"'
+    ;
+
+CHARSTRING
+    : '\'' ( EscapeSequence | ~('\''|'\\') )* '\''
+    ;
+
+LONGSTRING
+    : '[' NESTED_STR ']'
+    ;
+
+fragment
+NESTED_STR
+    : '=' NESTED_STR '='
+    | '[' .*? ']'
+    ;
+
+INT
+    : Digit+
+    ;
+
+HEX
+    : '0' [xX] HexDigit+
+    ;
+
+FLOAT
+    : Digit+ '.' Digit* ExponentPart?
+    | '.' Digit+ ExponentPart?
+    | Digit+ ExponentPart
+    ;
+
+HEX_FLOAT
+    : '0' [xX] HexDigit+ '.' HexDigit* HexExponentPart?
+    | '0' [xX] '.' HexDigit+ HexExponentPart?
+    | '0' [xX] HexDigit+ HexExponentPart
+    ;
+
+fragment
+ExponentPart
+    : [eE] [+-]? Digit+
+    ;
+
+fragment
+HexExponentPart
+    : [pP] [+-]? Digit+
+    ;
+
+fragment
+EscapeSequence
+    : '\\' [abfnrtvz"'\\]
+    | '\\' '\r'? '\n'
+    | DecimalEscape
+    | HexEscape
+    | UtfEscape
+    ;
+
+fragment
+DecimalEscape
+    : '\\' Digit
+    | '\\' Digit Digit
+    | '\\' [0-2] Digit Digit
+    ;
+
+fragment
+HexEscape
+    : '\\' 'x' HexDigit HexDigit
+    ;
+
+fragment
+UtfEscape
+    : '\\' 'u{' HexDigit+ '}'
+    ;
+
+fragment
+Digit
+    : [0-9]
+    ;
+
+fragment
+HexDigit
+    : [0-9a-fA-F]
+    ;
+
+COMMENT
+    : '--[' NESTED_STR ']' -> channel(HIDDEN)
+    ;
+
+LINE_COMMENT
+    : '--'
+    (                                               // --
+    | '[' '='*                                      // --[==
+    | '[' '='* ~('='|'['|'\r'|'\n') ~('\r'|'\n')*   // --[==AA
+    | ~('['|'\r'|'\n') ~('\r'|'\n')*                // --AAA
+    ) ('\r\n'|'\r'|'\n'|EOF)
+    -> channel(HIDDEN)
+    ;
+
+WS
+    : [ \t\u000C\r\n]+ -> skip
+    ;
+
+SHEBANG
+    : '#' '!' ~('\n'|'\r')* -> channel(HIDDEN)
+    ;
diff --git a/pmd-lua/src/main/java/net/sourceforge/pmd/cpd/LuaLanguage.java b/pmd-lua/src/main/java/net/sourceforge/pmd/cpd/LuaLanguage.java
new file mode 100644
index 0000000000..e2a87ec878
--- /dev/null
+++ b/pmd-lua/src/main/java/net/sourceforge/pmd/cpd/LuaLanguage.java
@@ -0,0 +1,18 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.cpd;
+
+/**
+ * Language implementation for Lua
+ */
+public class LuaLanguage extends AbstractLanguage {
+
+    /**
+     * Creates a new Lua Language instance.
+     */
+    public LuaLanguage() {
+        super("Lua", "lua", new LuaTokenizer(), ".lua");
+    }
+}
diff --git a/pmd-lua/src/main/java/net/sourceforge/pmd/cpd/LuaTokenizer.java b/pmd-lua/src/main/java/net/sourceforge/pmd/cpd/LuaTokenizer.java
new file mode 100644
index 0000000000..23c292dbe7
--- /dev/null
+++ b/pmd-lua/src/main/java/net/sourceforge/pmd/cpd/LuaTokenizer.java
@@ -0,0 +1,28 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.cpd;
+
+import org.antlr.v4.runtime.CharStream;
+
+import net.sourceforge.pmd.cpd.token.AntlrTokenFilter;
+import net.sourceforge.pmd.lang.antlr.AntlrTokenManager;
+import net.sourceforge.pmd.lang.lua.antlr4.LuaLexer;
+
+/**
+ * The Lua Tokenizer
+ */
+public class LuaTokenizer extends AntlrTokenizer {
+
+    @Override
+    protected AntlrTokenManager getLexerForSource(SourceCode sourceCode) {
+        CharStream charStream = AntlrTokenizer.getCharStreamFromSourceCode(sourceCode);
+        return new AntlrTokenManager(new LuaLexer(charStream), sourceCode.getFileName());
+    }
+
+    @Override
+    protected AntlrTokenFilter getTokenFilter(final AntlrTokenManager tokenManager) {
+        return new AntlrTokenFilter(tokenManager);
+    }
+}
diff --git a/pmd-lua/src/main/resources/META-INF/services/net.sourceforge.pmd.cpd.Language b/pmd-lua/src/main/resources/META-INF/services/net.sourceforge.pmd.cpd.Language
new file mode 100644
index 0000000000..ff792867ee
--- /dev/null
+++ b/pmd-lua/src/main/resources/META-INF/services/net.sourceforge.pmd.cpd.Language
@@ -0,0 +1 @@
+net.sourceforge.pmd.cpd.LuaLanguage
diff --git a/pmd-lua/src/test/java/net/sourceforge/pmd/cpd/LuaTokenizerTest.java b/pmd-lua/src/test/java/net/sourceforge/pmd/cpd/LuaTokenizerTest.java
new file mode 100644
index 0000000000..5328e71823
--- /dev/null
+++ b/pmd-lua/src/test/java/net/sourceforge/pmd/cpd/LuaTokenizerTest.java
@@ -0,0 +1,56 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.cpd;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+import net.sourceforge.pmd.testframework.AbstractTokenizerTest;
+
+@RunWith(Parameterized.class)
+public class LuaTokenizerTest extends AbstractTokenizerTest {
+
+    private final String filename;
+    private final int nExpectedTokens;
+
+    public LuaTokenizerTest(String filename, int nExpectedTokens) {
+        this.filename = filename;
+        this.nExpectedTokens = nExpectedTokens;
+    }
+
+    @Parameterized.Parameters
+    public static Collection<Object[]> data() {
+        return Arrays.asList(
+                new Object[] { "factorial.lua", 44 },
+                new Object[] { "helloworld.lua", 5 }
+        );
+    }
+
+    @Before
+    @Override
+    public void buildTokenizer() throws IOException {
+        this.tokenizer = new LuaTokenizer();
+        this.sourceCode = new SourceCode(new SourceCode.StringCodeLoader(this.getSampleCode(), this.filename));
+    }
+
+    @Override
+    public String getSampleCode() throws IOException {
+        return IOUtils.toString(LuaTokenizer.class.getResourceAsStream(this.filename), StandardCharsets.UTF_8);
+    }
+
+    @Test
+    public void tokenizeTest() throws IOException {
+        this.expectedTokenCount = nExpectedTokens;
+        super.tokenizeTest();
+    }
+}
diff --git a/pmd-lua/src/test/resources/net/sourceforge/pmd/cpd/factorial.lua b/pmd-lua/src/test/resources/net/sourceforge/pmd/cpd/factorial.lua
new file mode 100644
index 0000000000..f2f2d82661
--- /dev/null
+++ b/pmd-lua/src/test/resources/net/sourceforge/pmd/cpd/factorial.lua
@@ -0,0 +1,13 @@
+-- defines a factorial function
+    function fact (n)
+      if n == 0 then
+        return 1
+      else
+        return n * fact(n-1)
+      end
+    end
+    
+    print("enter a number:")
+    a = io.read("*number")        -- read a number
+    print(fact(a))
+
diff --git a/pmd-lua/src/test/resources/net/sourceforge/pmd/cpd/helloworld.lua b/pmd-lua/src/test/resources/net/sourceforge/pmd/cpd/helloworld.lua
new file mode 100644
index 0000000000..45d4840a9f
--- /dev/null
+++ b/pmd-lua/src/test/resources/net/sourceforge/pmd/cpd/helloworld.lua
@@ -0,0 +1,2 @@
+ print("Hello World")
+
diff --git a/pom.xml b/pom.xml
index 07fc342ed7..92c9318b5b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1141,6 +1141,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
         <module>pmd-fortran</module>
         <module>pmd-go</module>
         <module>pmd-groovy</module>
+        <module>pmd-lua</module>
         <module>pmd-java</module>
         <module>pmd-javascript</module>
         <module>pmd-jsp</module>

From b97a1f29dd96d50ebd5acc5758f95a87f2e3b4a5 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 20:26:02 +0200
Subject: [PATCH 250/371] [plsql] Keep the grammar compatible

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 35 ++++++++++++++++++------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 38d00c2f8d..1ac092e151 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1548,8 +1548,8 @@ ASTSimpleExpression SimpleExpression() :
                      | LOOKAHEAD({isKeyword("found")}) KEYWORD("FOUND")
                      | LOOKAHEAD({isKeyword("notfound")}) KEYWORD("NOTFOUND")
                      | LOOKAHEAD({isKeyword("rowcount")}) KEYWORD("ROWCOUNT")
-                     | LOOKAHEAD({isKeyword("bulk_rowcount")}) KEYWORD("BULK_ROWCOUNT") "(" (Name()|NumericLiteral()) ")"
-                     | LOOKAHEAD({isKeyword("bulk_exceptions")}) KEYWORD("BULK_EXCEPTIONS") ["(" (Name()|NumericLiteral()) ")"] "." Name()
+                     | LOOKAHEAD({isKeyword("bulk_rowcount")}) KEYWORD("BULK_ROWCOUNT")
+                     | LOOKAHEAD({isKeyword("bulk_exceptions")}) KEYWORD("BULK_EXCEPTIONS")
                      ) { sb.append('%').append(token.image); }
  |
     LOOKAHEAD(2)
@@ -1582,12 +1582,12 @@ ASTFunctionCall FunctionCall() :
     (
         LOOKAHEAD({"TRIM".equalsIgnoreCase(token.image)}) TrimExpression()
       | LOOKAHEAD({"XMLCAST".equalsIgnoreCase(token.image)}) "(" Expression() <AS> Datatype() ")"
-      | LOOKAHEAD({"XMLQUERY".equalsIgnoreCase(token.image)}) "(" StringLiteral() [ LOOKAHEAD({isKeyword("PASSING")}) XMLPassingClause() ] <RETURNING> KEYWORD("CONTENT") [ <NULL> <ON> <EMPTY> ] ")" ["." FunctionCall()]
+      | LOOKAHEAD({"XMLQUERY".equalsIgnoreCase(token.image)}) "(" StringLiteral() [ LOOKAHEAD({isKeyword("PASSING")}) XMLPassingClause() ] <RETURNING> KEYWORD("CONTENT") [ <NULL> <ON> <EMPTY> ] ")"
       | LOOKAHEAD({"CAST".equalsIgnoreCase(token.image)}) "(" ( <MULTISET> "(" Subquery() ")" | Expression() ) <AS> Datatype() ")"
       | LOOKAHEAD({"XMLFOREST".equalsIgnoreCase(token.image)}) "(" SqlExpression() [ <AS> ID() ] ( "," SqlExpression() [ <AS> ID() ] )* ")"
       | LOOKAHEAD({"XMLELEMENT".equalsIgnoreCase(token.image)}) XMLElement()
       | Arguments()
-    ) ["." Name()]
+    )
 
     {
         jjtThis.setImage(name.getImage());
@@ -2990,8 +2990,6 @@ ASTEqualityExpression EqualityExpression() #EqualityExpression(>1) :
   //RelationalExpression() ( ( "=" | "!=" | "<>" | <IS>) RelationalExpression() )*
   (
 	  (
-	    LOOKAHEAD(PrimaryExpression() <IS> [<NOT>] <OF>) (simpleNode = IsOfTypeCondition())
-      |
 	    simpleNode = RelationalExpression()
 	  ) {sb.append(simpleNode.getImage());}
 	  (
@@ -3168,12 +3166,10 @@ ASTUnaryExpressionNotPlusMinus UnaryExpressionNotPlusMinus() #UnaryExpressionNot
 {
   (
     <NOT> {sb.append(" NOT "); } simpleNode = UnaryExpression(false)
-  |
-    LOOKAHEAD(2) simpleNode = CaseExpression()
   |
     LOOKAHEAD(2) simpleNode = ExtractExpression()
   |
-    LOOKAHEAD(2) simpleNode = PrimaryPrefix()
+    LOOKAHEAD(2) simpleNode = IsNullCondition()
   ) {sb.append(simpleNode.getImage()); }
  {
  jjtThis.setImage(sb.toString()); return jjtThis;
@@ -3181,10 +3177,21 @@ ASTUnaryExpressionNotPlusMinus UnaryExpressionNotPlusMinus() #UnaryExpressionNot
 }
 
 ASTIsNullCondition IsNullCondition() #IsNullCondition(>1) :  //yanzin
-{ PLSQLNode simpleNode = null; StringBuilder sb = new StringBuilder(); }
+{ PLSQLNode simpleNode = null; PLSQLNode name = null; StringBuilder sb = new StringBuilder(); }
 {
-  simpleNode = PrimaryPrefix() { sb.append(simpleNode.getImage()); }
-  <IS> {sb.append(" IS");} [<NOT> {sb.append(" NOT");}] <NULL> {sb.append(" NULL");}
+  (
+    LOOKAHEAD(PrimaryExpression() <IS> [<NOT>] <NULL>)
+    (
+        (name = PrimaryExpression() #Name) {sb.append(name.getImage());} <IS> {sb.append(" IS");} [<NOT> {sb.append(" NOT");}] <NULL> {sb.append(" NULL");}
+    )
+    |
+    (
+        simpleNode = IsOfTypeCondition()
+    )
+    {
+        sb.append(simpleNode.getImage());
+    }
+  )
   {
     jjtThis.setImage(sb.toString());
 	return jjtThis;
@@ -3533,7 +3540,7 @@ ASTArgument Argument() :
 {
 	//[LOOKAHEAD(2) UnqualifiedID() "=>"] Expression()
 	[LOOKAHEAD(2) (simpleNode = UnqualifiedID())  ("=>" | <AS> )  ]
-        (SqlExpression())
+        (Expression() )
 	//Allow Using CharacterSet suffix clause
 	[
 	   ( <USING>  )
@@ -3675,7 +3682,7 @@ ASTTableColumn TableColumn()  :
 }
 {
   ID() Datatype()
-  [ ( <_DEFAULT> [ <ON> <NULL> ] PrimaryPrefix()
+  [ ( <_DEFAULT> [ <ON> <NULL> ] (LOOKAHEAD(FunctionName() "(") FunctionCall()|LOOKAHEAD(1) UnaryExpression(true))
     | LOOKAHEAD(2) <GENERATED> [ ( <BY> <_DEFAULT> [ <ON> <NULL>] | KEYWORD("ALWAYS")) ]
                                <AS> KEYWORD("IDENTITY") ) ]
   (LOOKAHEAD(1) InlineConstraint())*

From 598c9b79adb833c59738f89317f40915ea1416e0 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 19:03:10 +0200
Subject: [PATCH 251/371] [plsql] Simplify condition / compound condition

---
 pmd-plsql/etc/grammar/PldocAST.jjt                | 15 ++++++---------
 .../pmd/lang/plsql/ast/SelectExpressions.pls      |  5 +++++
 .../pmd/lang/plsql/ast/WhereClauseParens.pls      |  5 +++++
 3 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 1ac092e151..6e05ca1197 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1320,9 +1320,7 @@ ASTCondition Condition() :
 {}
 {
  (
-    LOOKAHEAD(4) CompoundCondition()
- |
-    LOOKAHEAD(4) Condition2()
+    CompoundCondition()
  )
     { return jjtThis; }
 }
@@ -1442,13 +1440,12 @@ ASTCompoundCondition CompoundCondition() :
 {}
 {
  (
-   LOOKAHEAD(3) "(" Condition() ")" (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
- |
-   LOOKAHEAD(3) "(" (LOOKAHEAD(2) ComparisonCondition() (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
-                    | LOOKAHEAD(2) CompoundCondition()) ")"
-     (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
- |
    LOOKAHEAD(1) <NOT> { jjtThis.setType(token.getImage()); } Condition()
+ |
+   // this might be a expression list
+   LOOKAHEAD("(" SqlExpression() ",") Condition2() (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
+ |
+   LOOKAHEAD(1) "(" Condition() ")" (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
  |
     Condition2() (LOOKAHEAD(2) ( <AND> | <OR> ) { jjtThis.setType(token.getImage()); } Condition() )*
  )
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
index e2db5ab873..2c2609b391 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
@@ -60,6 +60,11 @@ SELECT listagg(e.email,',') within group (order by e.email )INTO
                 v_task_resp
             FROM sso_auth_employees e;
 
+SELECT listagg(asap_func_loc_number,'; ') within group (order by 1)
+    INTO my_record
+    FROM company_asap_func_locs
+    WHERE cmp_id = cmp_id_in;
+
 SELECT listagg(asap_func_loc_number,'; ') within group (order by 1)
     INTO my_record
     FROM company_asap_func_locs
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls
index 338b3a1666..be96b4a02d 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/WhereClauseParens.pls
@@ -5,6 +5,11 @@
 
 BEGIN
 
+select *
+from dual
+where (dummy = X or 1 = 2)
+and 1=1;
+
 select *
 from dual
 where (dummy <= X or 1 = 2)

From 930309bb61c361c1e8f4a9f16bd890dc42fa365d Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 20:46:12 +0200
Subject: [PATCH 252/371] Update release notes, fixes #1873, refs #1883

---
 docs/pages/release_notes.md        | 12 +++++++-----
 pmd-plsql/etc/grammar/PldocAST.jjt |  4 ++++
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 3be7be27ee..9845e5cafa 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -59,6 +59,7 @@ datetime field.
 *   plsql
     *   [#1828](https://github.com/pmd/pmd/issues/1828): \[plsql] Parentheses stopped working
     *   [#1850](https://github.com/pmd/pmd/issues/1850): \[plsql] Parsing errors with INSERT using returning or records and TRIM expression
+    *   [#1873](https://github.com/pmd/pmd/issues/1873): \[plsql] Expression list not working
 
 ### API Changes
 
@@ -89,13 +90,14 @@ of deprecations.
 ### External Contributions
 
 *   [#1792](https://github.com/pmd/pmd/pull/1792): \[java] Added lombok.experimental to AbstractLombokAwareRule - [jakivey32](https://github.com/jakivey32)
-*   [#1808](https://github.com/pmd/pmd/pull/1808): \[plsql] Fix PL/SQL Syntax errors - [kabroxiko](https://github.com/kabroxiko)
+*   [#1808](https://github.com/pmd/pmd/pull/1808): \[plsql] Fix PL/SQL Syntax errors - [Hugo Araya Nash](https://github.com/kabroxiko)
 *   [#1829](https://github.com/pmd/pmd/pull/1829): \[java] Fix false negative in UnsynchronizedStaticFormatter - [Srinivasan Venkatachalam](https://github.com/Srini1993)
 *   [#1847](https://github.com/pmd/pmd/pull/1847): \[java] Regression in MethodReturnsInternalArray not handling enums - [Artem](https://github.com/KroArtem)
-*   [#1863](https://github.com/pmd/pmd/pull/1863): \[plsql] Add Table InlineConstraint - [kabroxiko](https://github.com/kabroxiko)
-*   [#1864](https://github.com/pmd/pmd/pull/1864): \[plsql] Add support for Subquery Views - [kabroxiko](https://github.com/kabroxiko)
-*   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [kabroxiko](https://github.com/kabroxiko)
-*   [#1874](https://github.com/pmd/pmd/pull/1874): \[plsql] Add parenthesis equation support for Update - [kabroxiko](https://github.com/kabroxiko)
+*   [#1863](https://github.com/pmd/pmd/pull/1863): \[plsql] Add Table InlineConstraint - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1864](https://github.com/pmd/pmd/pull/1864): \[plsql] Add support for Subquery Views - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1874](https://github.com/pmd/pmd/pull/1874): \[plsql] Add parenthesis equation support for Update - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1883](https://github.com/pmd/pmd/pull/1883): \[plsql] Fix #1873 Expression list not working - [Hugo Araya Nash](https://github.com/kabroxiko)
 
 {% endtocmaker %}
 
diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 6e05ca1197..152f7356f0 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -27,6 +27,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
 /**
+ * Various fixes for expression lists, join clauses
+ *
+ * Hugo Araya Nash 06/2019
+ *====================================================================
  * Various fixes for INSERT INTO with records, implicit cursor attributes
  * and trim expression.
  *

From 79ae09638f9fcf10a6c3f93a134a79ebf0666ecf Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 20:58:56 +0200
Subject: [PATCH 253/371] Update release notes, fixes #1853

---
 docs/pages/release_notes.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 6f8569d6b5..0629d1b5dc 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -18,6 +18,8 @@ This is a {{ site.pmd.release_type }} release.
 
 *   java
     *   [#1848](https://github.com/pmd/pmd/issues/1848): \[java] Local classes should preserve their modifiers
+*   java-errorprone
+    *   [#1853](https://github.com/pmd/pmd/issues/1853): \[java] False positive for NonStaticInitializer in anonymous class
 
 ### API Changes
 

From 939a1dfb78f4f0ec58dabd4f22ba11f7d6ea2965 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 21:10:39 +0200
Subject: [PATCH 254/371] Update release notes, fixes #1854

---
 docs/pages/release_notes.md                         | 12 ++++++++++++
 .../src/main/resources/rulesets/releases/6160.xml   | 13 +++++++++++++
 2 files changed, 25 insertions(+)
 create mode 100644 pmd-core/src/main/resources/rulesets/releases/6160.xml

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 3be7be27ee..17df31c0e7 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -25,6 +25,13 @@ The CREATE VIEW statement now supports subquery views.
 The EXTRACT function can now be parsed correctly. It is used to extract values from a specified
 datetime field.
 
+#### New Rules
+
+*   The Java rule {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpracticces`)
+    detects non static initializers in anonymous classes also known as "double brace initialization".
+    This can be problematic, since a new class file is generated and object holds a strong reference
+    to the surrounding class.
+
 #### Modified Rules
 
 *   The Java rule {% rule "java/bestpractices/UnusedPrivateField" %} (`java-bestpractices`) now ignores by
@@ -44,6 +51,10 @@ datetime field.
 *   The Java rule {% rule "java/design/UseUtilityClass" %} (`java-design`) has a new property `ignoredAnnotations`.
     By default, classes that are annotated with Lombok's `@UtilityClass` are ignored now.
 
+*   The Java rule {% rule "java/errorprone/NonStaticInitializer" %} (`java-errorprone`) does not report
+    non static initializers in anonymous classes anymore. For this use case, there is a new rule now:
+    {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpracticces`).
+
 ### Fixed Issues
 
 *   java
@@ -51,6 +62,7 @@ datetime field.
 *   java-bestpractices
     *   [#1703](https://github.com/pmd/pmd/issues/1703): \[java] UnusedPrivateField on member annotated with lombok @Delegate
     *   [#1845](https://github.com/pmd/pmd/issues/1845): \[java] Regression in MethodReturnsInternalArray not handling enums
+    *   [#1854](https://github.com/pmd/pmd/issues/1854): \[java] Rule to check for double brace initialisation
 *   java-design
     *   [#1094](https://github.com/pmd/pmd/issues/1094): \[java] UseUtilityClass should be LombokAware
 *   java-multithreading
diff --git a/pmd-core/src/main/resources/rulesets/releases/6160.xml b/pmd-core/src/main/resources/rulesets/releases/6160.xml
new file mode 100644
index 0000000000..8bd7619fd2
--- /dev/null
+++ b/pmd-core/src/main/resources/rulesets/releases/6160.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<ruleset name="6160"
+    xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
+  <description>
+This ruleset contains links to rules that are new in PMD v6.16.0
+  </description>
+
+    <rule ref="category/java/bestpractices.xml/DoubleBraceInitialization"/>
+</ruleset>
+

From 793f7808bee5cca626557cd70f640f2feb6c9df3 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 21:13:43 +0200
Subject: [PATCH 255/371] (doc) Fix typo

---
 docs/pages/release_notes.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 44e804ca17..1b72777f84 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -27,7 +27,7 @@ datetime field.
 
 #### New Rules
 
-*   The Java rule {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpracticces`)
+*   The Java rule {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpractices`)
     detects non static initializers in anonymous classes also known as "double brace initialization".
     This can be problematic, since a new class file is generated and object holds a strong reference
     to the surrounding class.
@@ -53,7 +53,7 @@ datetime field.
 
 *   The Java rule {% rule "java/errorprone/NonStaticInitializer" %} (`java-errorprone`) does not report
     non static initializers in anonymous classes anymore. For this use case, there is a new rule now:
-    {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpracticces`).
+    {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpractices`).
 
 ### Fixed Issues
 

From 8c750d57f6d98102983829407ed5e4e6f628af49 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 21:20:32 +0200
Subject: [PATCH 256/371] (doc) Update generated rule documentation

---
 docs/pages/pmd/rules/java.md               |  3 +-
 docs/pages/pmd/rules/java/bestpractices.md | 38 +++++++++++++++++++++-
 docs/pages/pmd/rules/java/errorprone.md    |  2 +-
 3 files changed, 40 insertions(+), 3 deletions(-)

diff --git a/docs/pages/pmd/rules/java.md b/docs/pages/pmd/rules/java.md
index 0a7a0f0dfe..4d86fd52ee 100644
--- a/docs/pages/pmd/rules/java.md
+++ b/docs/pages/pmd/rules/java.md
@@ -23,6 +23,7 @@ folder: pmd/rules
 *   [CheckResultSet](pmd_rules_java_bestpractices.html#checkresultset): Always check the return values of navigation methods (next, previous, first, last) of a ResultSet...
 *   [ConstantsInInterface](pmd_rules_java_bestpractices.html#constantsininterface): Avoid constants in interfaces. Interfaces should define types, constants are implementation detai...
 *   [DefaultLabelNotLastInSwitchStmt](pmd_rules_java_bestpractices.html#defaultlabelnotlastinswitchstmt): By convention, the default label should be the last label in a switch statement.
+*   [DoubleBraceInitialization](pmd_rules_java_bestpractices.html#doublebraceinitialization): Double brace initialisation is a pattern to initialise eg collections concisely. But it implicitl...
 *   [ForLoopCanBeForeach](pmd_rules_java_bestpractices.html#forloopcanbeforeach): Reports loops that can be safely replaced with the foreach syntax. The rule considers loops overl...
 *   [ForLoopVariableCount](pmd_rules_java_bestpractices.html#forloopvariablecount): Having a lot of control variables in a 'for' loop makes it harder to see what range of valuesthe ...
 *   [GuardLogStatement](pmd_rules_java_bestpractices.html#guardlogstatement): Whenever using a log level, one should check if the loglevel is actually enabled, orotherwise ski...
@@ -541,7 +542,7 @@ folder: pmd/rules
 
     It contains the following rules:
 
-    [AbstractClassWithoutAnyMethod](pmd_rules_java_design.html#abstractclasswithoutanymethod), [AssignmentInOperand](pmd_rules_java_errorprone.html#assignmentinoperand), [AssignmentToNonFinalStatic](pmd_rules_java_errorprone.html#assignmenttononfinalstatic), [AvoidAccessibilityAlteration](pmd_rules_java_errorprone.html#avoidaccessibilityalteration), [AvoidBranchingStatementAsLastInLoop](pmd_rules_java_errorprone.html#avoidbranchingstatementaslastinloop), [AvoidCatchingThrowable](pmd_rules_java_errorprone.html#avoidcatchingthrowable), [AvoidDecimalLiteralsInBigDecimalConstructor](pmd_rules_java_errorprone.html#avoiddecimalliteralsinbigdecimalconstructor), [AvoidDollarSigns](pmd_rules_java_codestyle.html#avoiddollarsigns), [AvoidInstanceofChecksInCatchClause](pmd_rules_java_errorprone.html#avoidinstanceofchecksincatchclause), [AvoidMultipleUnaryOperators](pmd_rules_java_errorprone.html#avoidmultipleunaryoperators), [AvoidProtectedFieldInFinalClass](pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass), [AvoidProtectedMethodInFinalClassNotExtending](pmd_rules_java_codestyle.html#avoidprotectedmethodinfinalclassnotextending), [AvoidStringBufferField](pmd_rules_java_bestpractices.html#avoidstringbufferfield), [AvoidThreadGroup](pmd_rules_java_multithreading.html#avoidthreadgroup), [AvoidUsingHardCodedIP](pmd_rules_java_bestpractices.html#avoidusinghardcodedip), [AvoidUsingOctalValues](pmd_rules_java_errorprone.html#avoidusingoctalvalues), [AvoidUsingVolatile](pmd_rules_java_multithreading.html#avoidusingvolatile), [BadComparison](pmd_rules_java_errorprone.html#badcomparison), [BigIntegerInstantiation](pmd_rules_java_performance.html#bigintegerinstantiation), [BooleanInstantiation](pmd_rules_java_performance.html#booleaninstantiation), [BrokenNullCheck](pmd_rules_java_errorprone.html#brokennullcheck), [CheckResultSet](pmd_rules_java_bestpractices.html#checkresultset), [CheckSkipResult](pmd_rules_java_errorprone.html#checkskipresult), [ClassCastExceptionWithToArray](pmd_rules_java_errorprone.html#classcastexceptionwithtoarray), [ClassNamingConventions](pmd_rules_java_codestyle.html#classnamingconventions), [ClassWithOnlyPrivateConstructorsShouldBeFinal](pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal), [CloneMethodMustBePublic](pmd_rules_java_errorprone.html#clonemethodmustbepublic), [CloneMethodMustImplementCloneable](pmd_rules_java_errorprone.html#clonemethodmustimplementcloneable), [CloneMethodReturnTypeMustMatchClassName](pmd_rules_java_errorprone.html#clonemethodreturntypemustmatchclassname), [CloneThrowsCloneNotSupportedException](pmd_rules_java_errorprone.html#clonethrowsclonenotsupportedexception), [CloseResource](pmd_rules_java_errorprone.html#closeresource), [CompareObjectsWithEquals](pmd_rules_java_errorprone.html#compareobjectswithequals), [ConstantsInInterface](pmd_rules_java_bestpractices.html#constantsininterface), [ControlStatementBraces](pmd_rules_java_codestyle.html#controlstatementbraces), [DefaultLabelNotLastInSwitchStmt](pmd_rules_java_bestpractices.html#defaultlabelnotlastinswitchstmt), [DoNotCallGarbageCollectionExplicitly](pmd_rules_java_errorprone.html#donotcallgarbagecollectionexplicitly), [DoNotExtendJavaLangError](pmd_rules_java_design.html#donotextendjavalangerror), [DoNotExtendJavaLangThrowable](pmd_rules_java_errorprone.html#donotextendjavalangthrowable), [DontCallThreadRun](pmd_rules_java_multithreading.html#dontcallthreadrun), [DontImportJavaLang](pmd_rules_java_codestyle.html#dontimportjavalang), [DontUseFloatTypeForLoopIndices](pmd_rules_java_errorprone.html#dontusefloattypeforloopindices), [DoubleCheckedLocking](pmd_rules_java_multithreading.html#doublecheckedlocking), [DuplicateImports](pmd_rules_java_codestyle.html#duplicateimports), [EmptyCatchBlock](pmd_rules_java_errorprone.html#emptycatchblock), [EmptyFinalizer](pmd_rules_java_errorprone.html#emptyfinalizer), [EmptyFinallyBlock](pmd_rules_java_errorprone.html#emptyfinallyblock), [EmptyIfStmt](pmd_rules_java_errorprone.html#emptyifstmt), [EmptyInitializer](pmd_rules_java_errorprone.html#emptyinitializer), [EmptyStatementBlock](pmd_rules_java_errorprone.html#emptystatementblock), [EmptyStatementNotInLoop](pmd_rules_java_errorprone.html#emptystatementnotinloop), [EmptySwitchStatements](pmd_rules_java_errorprone.html#emptyswitchstatements), [EmptySynchronizedBlock](pmd_rules_java_errorprone.html#emptysynchronizedblock), [EmptyTryBlock](pmd_rules_java_errorprone.html#emptytryblock), [EmptyWhileStmt](pmd_rules_java_errorprone.html#emptywhilestmt), [EqualsNull](pmd_rules_java_errorprone.html#equalsnull), [ExtendsObject](pmd_rules_java_codestyle.html#extendsobject), [FinalFieldCouldBeStatic](pmd_rules_java_design.html#finalfieldcouldbestatic), [ForLoopCanBeForeach](pmd_rules_java_bestpractices.html#forloopcanbeforeach), [ForLoopShouldBeWhileLoop](pmd_rules_java_codestyle.html#forloopshouldbewhileloop), [FormalParameterNamingConventions](pmd_rules_java_codestyle.html#formalparameternamingconventions), [GenericsNaming](pmd_rules_java_codestyle.html#genericsnaming), [GuardLogStatement](pmd_rules_java_bestpractices.html#guardlogstatement), [IdempotentOperations](pmd_rules_java_errorprone.html#idempotentoperations), [IdenticalCatchBranches](pmd_rules_java_codestyle.html#identicalcatchbranches), [ImportFromSamePackage](pmd_rules_java_errorprone.html#importfromsamepackage), [InstantiationToGetClass](pmd_rules_java_errorprone.html#instantiationtogetclass), [JumbledIncrementer](pmd_rules_java_errorprone.html#jumbledincrementer), [LocalVariableNamingConventions](pmd_rules_java_codestyle.html#localvariablenamingconventions), [LogicInversion](pmd_rules_java_design.html#logicinversion), [LooseCoupling](pmd_rules_java_bestpractices.html#loosecoupling), [MethodNamingConventions](pmd_rules_java_codestyle.html#methodnamingconventions), [MisplacedNullCheck](pmd_rules_java_errorprone.html#misplacednullcheck), [MissingBreakInSwitch](pmd_rules_java_errorprone.html#missingbreakinswitch), [MissingOverride](pmd_rules_java_bestpractices.html#missingoverride), [MissingStaticMethodInNonInstantiatableClass](pmd_rules_java_errorprone.html#missingstaticmethodinnoninstantiatableclass), [NonCaseLabelInSwitchStatement](pmd_rules_java_errorprone.html#noncaselabelinswitchstatement), [NonStaticInitializer](pmd_rules_java_errorprone.html#nonstaticinitializer), [NonThreadSafeSingleton](pmd_rules_java_multithreading.html#nonthreadsafesingleton), [NoPackage](pmd_rules_java_codestyle.html#nopackage), [OneDeclarationPerLine](pmd_rules_java_bestpractices.html#onedeclarationperline), [OptimizableToArrayCall](pmd_rules_java_performance.html#optimizabletoarraycall), [OverrideBothEqualsAndHashcode](pmd_rules_java_errorprone.html#overridebothequalsandhashcode), [PackageCase](pmd_rules_java_codestyle.html#packagecase), [PositionLiteralsFirstInCaseInsensitiveComparisons](pmd_rules_java_bestpractices.html#positionliteralsfirstincaseinsensitivecomparisons), [PositionLiteralsFirstInComparisons](pmd_rules_java_bestpractices.html#positionliteralsfirstincomparisons), [PreserveStackTrace](pmd_rules_java_bestpractices.html#preservestacktrace), [ProperCloneImplementation](pmd_rules_java_errorprone.html#propercloneimplementation), [ProperLogger](pmd_rules_java_errorprone.html#properlogger), [ReturnEmptyArrayRatherThanNull](pmd_rules_java_errorprone.html#returnemptyarrayratherthannull), [ReturnFromFinallyBlock](pmd_rules_java_errorprone.html#returnfromfinallyblock), [SimplifiedTernary](pmd_rules_java_design.html#simplifiedternary), [SimplifyBooleanReturns](pmd_rules_java_design.html#simplifybooleanreturns), [SimplifyConditional](pmd_rules_java_design.html#simplifyconditional), [SingleMethodSingleton](pmd_rules_java_errorprone.html#singlemethodsingleton), [SingletonClassReturningNewInstance](pmd_rules_java_errorprone.html#singletonclassreturningnewinstance), [SingularField](pmd_rules_java_design.html#singularfield), [SuspiciousEqualsMethodName](pmd_rules_java_errorprone.html#suspiciousequalsmethodname), [SuspiciousHashcodeMethodName](pmd_rules_java_errorprone.html#suspicioushashcodemethodname), [SuspiciousOctalEscape](pmd_rules_java_errorprone.html#suspiciousoctalescape), [SwitchStmtsShouldHaveDefault](pmd_rules_java_bestpractices.html#switchstmtsshouldhavedefault), [UncommentedEmptyConstructor](pmd_rules_java_documentation.html#uncommentedemptyconstructor), [UncommentedEmptyMethodBody](pmd_rules_java_documentation.html#uncommentedemptymethodbody), [UnconditionalIfStatement](pmd_rules_java_errorprone.html#unconditionalifstatement), [UnnecessaryAnnotationValueElement](pmd_rules_java_codestyle.html#unnecessaryannotationvalueelement), [UnnecessaryConstructor](pmd_rules_java_codestyle.html#unnecessaryconstructor), [UnnecessaryConversionTemporary](pmd_rules_java_errorprone.html#unnecessaryconversiontemporary), [UnnecessaryFullyQualifiedName](pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname), [UnnecessaryLocalBeforeReturn](pmd_rules_java_codestyle.html#unnecessarylocalbeforereturn), [UnnecessaryModifier](pmd_rules_java_codestyle.html#unnecessarymodifier), [UnnecessaryReturn](pmd_rules_java_codestyle.html#unnecessaryreturn), [UnsynchronizedStaticFormatter](pmd_rules_java_multithreading.html#unsynchronizedstaticformatter), [UnusedFormalParameter](pmd_rules_java_bestpractices.html#unusedformalparameter), [UnusedImports](pmd_rules_java_bestpractices.html#unusedimports), [UnusedLocalVariable](pmd_rules_java_bestpractices.html#unusedlocalvariable), [UnusedNullCheckInEquals](pmd_rules_java_errorprone.html#unusednullcheckinequals), [UnusedPrivateField](pmd_rules_java_bestpractices.html#unusedprivatefield), [UnusedPrivateMethod](pmd_rules_java_bestpractices.html#unusedprivatemethod), [UseAssertEqualsInsteadOfAssertTrue](pmd_rules_java_bestpractices.html#useassertequalsinsteadofasserttrue), [UseAssertNullInsteadOfAssertTrue](pmd_rules_java_bestpractices.html#useassertnullinsteadofasserttrue), [UseAssertSameInsteadOfAssertTrue](pmd_rules_java_bestpractices.html#useassertsameinsteadofasserttrue), [UseAssertTrueInsteadOfAssertEquals](pmd_rules_java_bestpractices.html#useasserttrueinsteadofassertequals), [UseCollectionIsEmpty](pmd_rules_java_bestpractices.html#usecollectionisempty), [UseEqualsToCompareStrings](pmd_rules_java_errorprone.html#useequalstocomparestrings), [UselessOperationOnImmutable](pmd_rules_java_errorprone.html#uselessoperationonimmutable), [UselessOverridingMethod](pmd_rules_java_design.html#uselessoverridingmethod), [UselessParentheses](pmd_rules_java_codestyle.html#uselessparentheses), [UselessQualifiedThis](pmd_rules_java_codestyle.html#uselessqualifiedthis), [UseLocaleWithCaseConversions](pmd_rules_java_errorprone.html#uselocalewithcaseconversions), [UseNotifyAllInsteadOfNotify](pmd_rules_java_multithreading.html#usenotifyallinsteadofnotify), [UseUtilityClass](pmd_rules_java_design.html#useutilityclass)
+    [AbstractClassWithoutAnyMethod](pmd_rules_java_design.html#abstractclasswithoutanymethod), [AssignmentInOperand](pmd_rules_java_errorprone.html#assignmentinoperand), [AssignmentToNonFinalStatic](pmd_rules_java_errorprone.html#assignmenttononfinalstatic), [AvoidAccessibilityAlteration](pmd_rules_java_errorprone.html#avoidaccessibilityalteration), [AvoidBranchingStatementAsLastInLoop](pmd_rules_java_errorprone.html#avoidbranchingstatementaslastinloop), [AvoidCatchingThrowable](pmd_rules_java_errorprone.html#avoidcatchingthrowable), [AvoidDecimalLiteralsInBigDecimalConstructor](pmd_rules_java_errorprone.html#avoiddecimalliteralsinbigdecimalconstructor), [AvoidDollarSigns](pmd_rules_java_codestyle.html#avoiddollarsigns), [AvoidInstanceofChecksInCatchClause](pmd_rules_java_errorprone.html#avoidinstanceofchecksincatchclause), [AvoidMultipleUnaryOperators](pmd_rules_java_errorprone.html#avoidmultipleunaryoperators), [AvoidProtectedFieldInFinalClass](pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass), [AvoidProtectedMethodInFinalClassNotExtending](pmd_rules_java_codestyle.html#avoidprotectedmethodinfinalclassnotextending), [AvoidStringBufferField](pmd_rules_java_bestpractices.html#avoidstringbufferfield), [AvoidThreadGroup](pmd_rules_java_multithreading.html#avoidthreadgroup), [AvoidUsingHardCodedIP](pmd_rules_java_bestpractices.html#avoidusinghardcodedip), [AvoidUsingOctalValues](pmd_rules_java_errorprone.html#avoidusingoctalvalues), [AvoidUsingVolatile](pmd_rules_java_multithreading.html#avoidusingvolatile), [BadComparison](pmd_rules_java_errorprone.html#badcomparison), [BigIntegerInstantiation](pmd_rules_java_performance.html#bigintegerinstantiation), [BooleanInstantiation](pmd_rules_java_performance.html#booleaninstantiation), [BrokenNullCheck](pmd_rules_java_errorprone.html#brokennullcheck), [CheckResultSet](pmd_rules_java_bestpractices.html#checkresultset), [CheckSkipResult](pmd_rules_java_errorprone.html#checkskipresult), [ClassCastExceptionWithToArray](pmd_rules_java_errorprone.html#classcastexceptionwithtoarray), [ClassNamingConventions](pmd_rules_java_codestyle.html#classnamingconventions), [ClassWithOnlyPrivateConstructorsShouldBeFinal](pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal), [CloneMethodMustBePublic](pmd_rules_java_errorprone.html#clonemethodmustbepublic), [CloneMethodMustImplementCloneable](pmd_rules_java_errorprone.html#clonemethodmustimplementcloneable), [CloneMethodReturnTypeMustMatchClassName](pmd_rules_java_errorprone.html#clonemethodreturntypemustmatchclassname), [CloneThrowsCloneNotSupportedException](pmd_rules_java_errorprone.html#clonethrowsclonenotsupportedexception), [CloseResource](pmd_rules_java_errorprone.html#closeresource), [CompareObjectsWithEquals](pmd_rules_java_errorprone.html#compareobjectswithequals), [ConstantsInInterface](pmd_rules_java_bestpractices.html#constantsininterface), [ControlStatementBraces](pmd_rules_java_codestyle.html#controlstatementbraces), [DefaultLabelNotLastInSwitchStmt](pmd_rules_java_bestpractices.html#defaultlabelnotlastinswitchstmt), [DoNotCallGarbageCollectionExplicitly](pmd_rules_java_errorprone.html#donotcallgarbagecollectionexplicitly), [DoNotExtendJavaLangError](pmd_rules_java_design.html#donotextendjavalangerror), [DoNotExtendJavaLangThrowable](pmd_rules_java_errorprone.html#donotextendjavalangthrowable), [DontCallThreadRun](pmd_rules_java_multithreading.html#dontcallthreadrun), [DontImportJavaLang](pmd_rules_java_codestyle.html#dontimportjavalang), [DontUseFloatTypeForLoopIndices](pmd_rules_java_errorprone.html#dontusefloattypeforloopindices), [DoubleBraceInitialization](pmd_rules_java_bestpractices.html#doublebraceinitialization), [DoubleCheckedLocking](pmd_rules_java_multithreading.html#doublecheckedlocking), [DuplicateImports](pmd_rules_java_codestyle.html#duplicateimports), [EmptyCatchBlock](pmd_rules_java_errorprone.html#emptycatchblock), [EmptyFinalizer](pmd_rules_java_errorprone.html#emptyfinalizer), [EmptyFinallyBlock](pmd_rules_java_errorprone.html#emptyfinallyblock), [EmptyIfStmt](pmd_rules_java_errorprone.html#emptyifstmt), [EmptyInitializer](pmd_rules_java_errorprone.html#emptyinitializer), [EmptyStatementBlock](pmd_rules_java_errorprone.html#emptystatementblock), [EmptyStatementNotInLoop](pmd_rules_java_errorprone.html#emptystatementnotinloop), [EmptySwitchStatements](pmd_rules_java_errorprone.html#emptyswitchstatements), [EmptySynchronizedBlock](pmd_rules_java_errorprone.html#emptysynchronizedblock), [EmptyTryBlock](pmd_rules_java_errorprone.html#emptytryblock), [EmptyWhileStmt](pmd_rules_java_errorprone.html#emptywhilestmt), [EqualsNull](pmd_rules_java_errorprone.html#equalsnull), [ExtendsObject](pmd_rules_java_codestyle.html#extendsobject), [FinalFieldCouldBeStatic](pmd_rules_java_design.html#finalfieldcouldbestatic), [ForLoopCanBeForeach](pmd_rules_java_bestpractices.html#forloopcanbeforeach), [ForLoopShouldBeWhileLoop](pmd_rules_java_codestyle.html#forloopshouldbewhileloop), [FormalParameterNamingConventions](pmd_rules_java_codestyle.html#formalparameternamingconventions), [GenericsNaming](pmd_rules_java_codestyle.html#genericsnaming), [GuardLogStatement](pmd_rules_java_bestpractices.html#guardlogstatement), [IdempotentOperations](pmd_rules_java_errorprone.html#idempotentoperations), [IdenticalCatchBranches](pmd_rules_java_codestyle.html#identicalcatchbranches), [ImportFromSamePackage](pmd_rules_java_errorprone.html#importfromsamepackage), [InstantiationToGetClass](pmd_rules_java_errorprone.html#instantiationtogetclass), [JumbledIncrementer](pmd_rules_java_errorprone.html#jumbledincrementer), [LocalVariableNamingConventions](pmd_rules_java_codestyle.html#localvariablenamingconventions), [LogicInversion](pmd_rules_java_design.html#logicinversion), [LooseCoupling](pmd_rules_java_bestpractices.html#loosecoupling), [MethodNamingConventions](pmd_rules_java_codestyle.html#methodnamingconventions), [MisplacedNullCheck](pmd_rules_java_errorprone.html#misplacednullcheck), [MissingBreakInSwitch](pmd_rules_java_errorprone.html#missingbreakinswitch), [MissingOverride](pmd_rules_java_bestpractices.html#missingoverride), [MissingStaticMethodInNonInstantiatableClass](pmd_rules_java_errorprone.html#missingstaticmethodinnoninstantiatableclass), [NonCaseLabelInSwitchStatement](pmd_rules_java_errorprone.html#noncaselabelinswitchstatement), [NonStaticInitializer](pmd_rules_java_errorprone.html#nonstaticinitializer), [NonThreadSafeSingleton](pmd_rules_java_multithreading.html#nonthreadsafesingleton), [NoPackage](pmd_rules_java_codestyle.html#nopackage), [OneDeclarationPerLine](pmd_rules_java_bestpractices.html#onedeclarationperline), [OptimizableToArrayCall](pmd_rules_java_performance.html#optimizabletoarraycall), [OverrideBothEqualsAndHashcode](pmd_rules_java_errorprone.html#overridebothequalsandhashcode), [PackageCase](pmd_rules_java_codestyle.html#packagecase), [PositionLiteralsFirstInCaseInsensitiveComparisons](pmd_rules_java_bestpractices.html#positionliteralsfirstincaseinsensitivecomparisons), [PositionLiteralsFirstInComparisons](pmd_rules_java_bestpractices.html#positionliteralsfirstincomparisons), [PreserveStackTrace](pmd_rules_java_bestpractices.html#preservestacktrace), [ProperCloneImplementation](pmd_rules_java_errorprone.html#propercloneimplementation), [ProperLogger](pmd_rules_java_errorprone.html#properlogger), [ReturnEmptyArrayRatherThanNull](pmd_rules_java_errorprone.html#returnemptyarrayratherthannull), [ReturnFromFinallyBlock](pmd_rules_java_errorprone.html#returnfromfinallyblock), [SimplifiedTernary](pmd_rules_java_design.html#simplifiedternary), [SimplifyBooleanReturns](pmd_rules_java_design.html#simplifybooleanreturns), [SimplifyConditional](pmd_rules_java_design.html#simplifyconditional), [SingleMethodSingleton](pmd_rules_java_errorprone.html#singlemethodsingleton), [SingletonClassReturningNewInstance](pmd_rules_java_errorprone.html#singletonclassreturningnewinstance), [SingularField](pmd_rules_java_design.html#singularfield), [SuspiciousEqualsMethodName](pmd_rules_java_errorprone.html#suspiciousequalsmethodname), [SuspiciousHashcodeMethodName](pmd_rules_java_errorprone.html#suspicioushashcodemethodname), [SuspiciousOctalEscape](pmd_rules_java_errorprone.html#suspiciousoctalescape), [SwitchStmtsShouldHaveDefault](pmd_rules_java_bestpractices.html#switchstmtsshouldhavedefault), [UncommentedEmptyConstructor](pmd_rules_java_documentation.html#uncommentedemptyconstructor), [UncommentedEmptyMethodBody](pmd_rules_java_documentation.html#uncommentedemptymethodbody), [UnconditionalIfStatement](pmd_rules_java_errorprone.html#unconditionalifstatement), [UnnecessaryAnnotationValueElement](pmd_rules_java_codestyle.html#unnecessaryannotationvalueelement), [UnnecessaryConstructor](pmd_rules_java_codestyle.html#unnecessaryconstructor), [UnnecessaryConversionTemporary](pmd_rules_java_errorprone.html#unnecessaryconversiontemporary), [UnnecessaryFullyQualifiedName](pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname), [UnnecessaryLocalBeforeReturn](pmd_rules_java_codestyle.html#unnecessarylocalbeforereturn), [UnnecessaryModifier](pmd_rules_java_codestyle.html#unnecessarymodifier), [UnnecessaryReturn](pmd_rules_java_codestyle.html#unnecessaryreturn), [UnsynchronizedStaticFormatter](pmd_rules_java_multithreading.html#unsynchronizedstaticformatter), [UnusedFormalParameter](pmd_rules_java_bestpractices.html#unusedformalparameter), [UnusedImports](pmd_rules_java_bestpractices.html#unusedimports), [UnusedLocalVariable](pmd_rules_java_bestpractices.html#unusedlocalvariable), [UnusedNullCheckInEquals](pmd_rules_java_errorprone.html#unusednullcheckinequals), [UnusedPrivateField](pmd_rules_java_bestpractices.html#unusedprivatefield), [UnusedPrivateMethod](pmd_rules_java_bestpractices.html#unusedprivatemethod), [UseAssertEqualsInsteadOfAssertTrue](pmd_rules_java_bestpractices.html#useassertequalsinsteadofasserttrue), [UseAssertNullInsteadOfAssertTrue](pmd_rules_java_bestpractices.html#useassertnullinsteadofasserttrue), [UseAssertSameInsteadOfAssertTrue](pmd_rules_java_bestpractices.html#useassertsameinsteadofasserttrue), [UseAssertTrueInsteadOfAssertEquals](pmd_rules_java_bestpractices.html#useasserttrueinsteadofassertequals), [UseCollectionIsEmpty](pmd_rules_java_bestpractices.html#usecollectionisempty), [UseEqualsToCompareStrings](pmd_rules_java_errorprone.html#useequalstocomparestrings), [UselessOperationOnImmutable](pmd_rules_java_errorprone.html#uselessoperationonimmutable), [UselessOverridingMethod](pmd_rules_java_design.html#uselessoverridingmethod), [UselessParentheses](pmd_rules_java_codestyle.html#uselessparentheses), [UselessQualifiedThis](pmd_rules_java_codestyle.html#uselessqualifiedthis), [UseLocaleWithCaseConversions](pmd_rules_java_errorprone.html#uselocalewithcaseconversions), [UseNotifyAllInsteadOfNotify](pmd_rules_java_multithreading.html#usenotifyallinsteadofnotify), [UseUtilityClass](pmd_rules_java_design.html#useutilityclass)
 
 *   Security Code Guidelines (`rulesets/java/sunsecure.xml`):
 
diff --git a/docs/pages/pmd/rules/java/bestpractices.md b/docs/pages/pmd/rules/java/bestpractices.md
index 0ff9b5c2a4..3f64ad46fc 100644
--- a/docs/pages/pmd/rules/java/bestpractices.md
+++ b/docs/pages/pmd/rules/java/bestpractices.md
@@ -5,7 +5,7 @@ permalink: pmd_rules_java_bestpractices.html
 folder: pmd/rules/java
 sidebaractiveurl: /pmd_rules_java.html
 editmepath: ../pmd-java/src/main/resources/category/java/bestpractices.xml
-keywords: Best Practices, AbstractClassWithoutAbstractMethod, AccessorClassGeneration, AccessorMethodGeneration, ArrayIsStoredDirectly, AvoidPrintStackTrace, AvoidReassigningLoopVariables, AvoidReassigningParameters, AvoidStringBufferField, AvoidUsingHardCodedIP, CheckResultSet, ConstantsInInterface, DefaultLabelNotLastInSwitchStmt, ForLoopCanBeForeach, ForLoopVariableCount, GuardLogStatement, JUnit4SuitesShouldUseSuiteAnnotation, JUnit4TestShouldUseAfterAnnotation, JUnit4TestShouldUseBeforeAnnotation, JUnit4TestShouldUseTestAnnotation, JUnitAssertionsShouldIncludeMessage, JUnitTestContainsTooManyAsserts, JUnitTestsShouldIncludeAssert, JUnitUseExpected, LooseCoupling, MethodReturnsInternalArray, MissingOverride, OneDeclarationPerLine, PositionLiteralsFirstInCaseInsensitiveComparisons, PositionLiteralsFirstInComparisons, PreserveStackTrace, ReplaceEnumerationWithIterator, ReplaceHashtableWithMap, ReplaceVectorWithList, SwitchStmtsShouldHaveDefault, SystemPrintln, UnusedFormalParameter, UnusedImports, UnusedLocalVariable, UnusedPrivateField, UnusedPrivateMethod, UseAssertEqualsInsteadOfAssertTrue, UseAssertNullInsteadOfAssertTrue, UseAssertSameInsteadOfAssertTrue, UseAssertTrueInsteadOfAssertEquals, UseCollectionIsEmpty, UseTryWithResources, UseVarargs, WhileLoopWithLiteralBoolean
+keywords: Best Practices, AbstractClassWithoutAbstractMethod, AccessorClassGeneration, AccessorMethodGeneration, ArrayIsStoredDirectly, AvoidPrintStackTrace, AvoidReassigningLoopVariables, AvoidReassigningParameters, AvoidStringBufferField, AvoidUsingHardCodedIP, CheckResultSet, ConstantsInInterface, DefaultLabelNotLastInSwitchStmt, DoubleBraceInitialization, ForLoopCanBeForeach, ForLoopVariableCount, GuardLogStatement, JUnit4SuitesShouldUseSuiteAnnotation, JUnit4TestShouldUseAfterAnnotation, JUnit4TestShouldUseBeforeAnnotation, JUnit4TestShouldUseTestAnnotation, JUnitAssertionsShouldIncludeMessage, JUnitTestContainsTooManyAsserts, JUnitTestsShouldIncludeAssert, JUnitUseExpected, LooseCoupling, MethodReturnsInternalArray, MissingOverride, OneDeclarationPerLine, PositionLiteralsFirstInCaseInsensitiveComparisons, PositionLiteralsFirstInComparisons, PreserveStackTrace, ReplaceEnumerationWithIterator, ReplaceHashtableWithMap, ReplaceVectorWithList, SwitchStmtsShouldHaveDefault, SystemPrintln, UnusedFormalParameter, UnusedImports, UnusedLocalVariable, UnusedPrivateField, UnusedPrivateMethod, UseAssertEqualsInsteadOfAssertTrue, UseAssertNullInsteadOfAssertTrue, UseAssertSameInsteadOfAssertTrue, UseAssertTrueInsteadOfAssertEquals, UseCollectionIsEmpty, UseTryWithResources, UseVarargs, WhileLoopWithLiteralBoolean
 language: Java
 ---
 <!-- DO NOT EDIT THIS FILE. This file is generated from file ../pmd-java/src/main/resources/category/java/bestpractices.xml. -->
@@ -465,6 +465,42 @@ public class Foo {
 <rule ref="category/java/bestpractices.xml/DefaultLabelNotLastInSwitchStmt" />
 ```
 
+## DoubleBraceInitialization
+
+**Since:** PMD 6.16.0
+
+**Priority:** Medium (3)
+
+Double brace initialisation is a pattern to initialise eg collections concisely. But it implicitly
+generates a new .class file, and the object holds a strong reference to the enclosing object. For those
+reasons, it is preferable to initialize the object normally, even though it's verbose.
+
+This rule counts any anonymous class which only has a single initializer as an instance of double-brace
+initialization. There is currently no way to find out whether a method called in the initializer is not
+accessible from outside the anonymous class, and those legit cases should be suppressed for the time being.
+
+**This rule is defined by the following XPath expression:**
+``` xpath
+//AllocationExpression/ClassOrInterfaceBody[count(*)=1]/*/Initializer[@Static=false()]
+```
+
+**Example(s):**
+
+``` java
+// this is double-brace initialization
+            return new ArrayList<String>(){{addAll("a","b","c");}};
+
+                    // the better way is to not create an anonymous class:
+                    List<String> a=new ArrayList<>();
+                    a.addAll("a","b","c");
+                    return a;
+```
+
+**Use this rule by referencing it:**
+``` xml
+<rule ref="category/java/bestpractices.xml/DoubleBraceInitialization" />
+```
+
 ## ForLoopCanBeForeach
 
 **Since:** PMD 6.0.0
diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index aafa1eeec2..23386d725a 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -2718,7 +2718,7 @@ confusing.
 
 **This rule is defined by the following XPath expression:**
 ``` xpath
-//Initializer[@Static='false']
+//Initializer[@Static=false()][not(ancestor::*[3][self::AllocationExpression or self::EnumConstant])]
 ```
 
 **Example(s):**

From 3e5b3d66aa4cc64c46e8751b2701ec09ce5de13c Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 21:42:09 +0200
Subject: [PATCH 257/371] [plsql] Fix PrimaryPrefix: parse literals first

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 31832e8182..ec2dd6661f 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -3166,8 +3166,6 @@ ASTUnaryExpressionNotPlusMinus UnaryExpressionNotPlusMinus() #UnaryExpressionNot
 {
   (
     <NOT> {sb.append(" NOT "); } simpleNode = UnaryExpression(false)
-  |
-    LOOKAHEAD(2) simpleNode = DateTimeLiteral()
   |
     LOOKAHEAD(2) simpleNode = ExtractExpression()
   |
@@ -3260,8 +3258,8 @@ ASTPrimaryPrefix PrimaryPrefix() :
 | LOOKAHEAD(CaseExpression()) ( simpleNode =CaseExpression() ) { sb.append(simpleNode.getImage()) ; } //SRT 20110520
 | LOOKAHEAD(ObjectExpression() ) ( simpleNode = ObjectExpression() ) { sb.append(simpleNode.getImage()) ; } //SRT 20110604
 //| LOOKAHEAD(LikeExpression()) ( simpleNode = LikeExpression() ) { sb.append(simpleNode.getImage()) ; } //SRT 20110604
-| LOOKAHEAD(SimpleExpression()) ( simpleNode = SimpleExpression() ) { sb.append(simpleNode.getImage()); }
 | LOOKAHEAD(Literal()) ( simpleNode = Literal() ) { sb.append(simpleNode.getImage()) ; }
+| LOOKAHEAD(SimpleExpression()) ( simpleNode = SimpleExpression() ) { sb.append(simpleNode.getImage()); }
 | ( simpleNode =Name() ) { sb.append(simpleNode.getImage()) ; }
 | SelectStatement()
 | LOOKAHEAD("(" <SELECT>) "(" SelectStatement() ")"

From 3589b6b739510a62acf43a178aba3d700ceb64de Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 21:43:47 +0200
Subject: [PATCH 258/371] Update release notes, refs #1876

---
 docs/pages/release_notes.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 3be7be27ee..01cee0c126 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -23,7 +23,7 @@ properties are skipped over during parsing.
 The CREATE VIEW statement now supports subquery views.
 
 The EXTRACT function can now be parsed correctly. It is used to extract values from a specified
-datetime field.
+datetime field. Also date time literals are parsed now correctly.
 
 #### Modified Rules
 
@@ -96,6 +96,7 @@ of deprecations.
 *   [#1864](https://github.com/pmd/pmd/pull/1864): \[plsql] Add support for Subquery Views - [kabroxiko](https://github.com/kabroxiko)
 *   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [kabroxiko](https://github.com/kabroxiko)
 *   [#1874](https://github.com/pmd/pmd/pull/1874): \[plsql] Add parenthesis equation support for Update - [kabroxiko](https://github.com/kabroxiko)
+*   [#1876](https://github.com/pmd/pmd/pull/1876): \[plsql] Datetime support for queries - [Hugo Araya Nash](https://github.com/kabroxiko)
 
 {% endtocmaker %}
 

From 5570e65bafc8e424869dde753e890da991b09c97 Mon Sep 17 00:00:00 2001
From: Hugo Araya Nash <kabroxiko@gmail.com>
Date: Sun, 23 Jun 2019 16:55:45 -0400
Subject: [PATCH 259/371] [plsql] Correct case expression

---
 pmd-plsql/etc/grammar/PldocAST.jjt            | 24 ++++++-------------
 .../pmd/lang/plsql/ast/SelectExpressions.pls  | 23 ++++++++++++++++++
 2 files changed, 30 insertions(+), 17 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 62f94d4028..4f6a57314d 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -2870,24 +2870,14 @@ ASTAssignment Assignment() :
 }
 
 ASTCaseExpression CaseExpression() :
-{ Token thisToken;  PLSQLNode simpleNode = null; StringBuilder sb = new StringBuilder() ; }
+{}
 {
-  (
-	thisToken = <CASE> { sb.append(thisToken.image);}
-	( simpleNode = Expression() { sb.append(" "); sb.append(simpleNode.getImage()); }  )?
-          ( thisToken = <WHEN> { sb.append("  "); sb.append(thisToken.image); }
-	        simpleNode = Expression() { sb.append(" "); sb.append(simpleNode.getImage()); }
-	     thisToken = <THEN>  { sb.append(" "); sb.append(thisToken.image); }
-	          Expression() { sb.append(" "); sb.append(simpleNode.getImage()); }
-	   )+
-	  [ thisToken = <ELSE> { sb.append(" "); sb.append(thisToken.image);}
-	        Expression() { sb.append(" "); sb.append(simpleNode.getImage()); }
-	  ]
-	  thisToken = <END> { sb.append(" "); sb.append(thisToken.image);}
-  )
- {
- jjtThis.setImage(sb.toString()); return jjtThis;
- }
+	<CASE>
+	   ( Expression() ( <WHEN> Expression() <THEN> Expression() )+
+	   |              ( <WHEN> Condition()  <THEN> Expression() )+ )
+	   [ <ELSE>  Expression() ]
+	<END>
+    { return jjtThis; }
 }
 
 /*
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
index 2c2609b391..764c82d919 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/SelectExpressions.pls
@@ -80,5 +80,28 @@ SELECT CASE
         INTO my_result
         FROM DUAL;
 
+SELECT CASE WHEN EXISTS(SELECT *
+                        FROM DUAL
+                        WHERE 1 = 1)
+            THEN 1
+            ELSE 0
+       END isExists
+       INTO VAL
+       FROM dual;
+
+SELECT CASE WHEN EXISTS(SELECT *
+                        FROM DUAL)
+            THEN 1
+            ELSE 0
+       END isExists
+       INTO VAL
+       FROM dual;
+
+SELECT CASE
+          WHEN f1(x) IS NULL THEN 1
+          ELSE 0
+       END isExists
+       INTO VAL
+       FROM dual;
 END;
 /
\ No newline at end of file

From f05cde6f2484cf70c263ac344a428b9c03178ace Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 21:52:45 +0200
Subject: [PATCH 260/371] [plsql] Fix lookahead for CaseExpression

---
 pmd-plsql/etc/grammar/PldocAST.jjt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 4f6a57314d..6254b382d3 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -3250,7 +3250,7 @@ ASTPrimaryPrefix PrimaryPrefix() :
   // Note: AnalyticClause and WithinClause are only allowed for specific functions, but this grammar allows it for all functions.
   LOOKAHEAD(FunctionName() "(") ( simpleNode = FunctionCall() [ AnalyticClause() ] [ WithinClause() ] ) { sb.append(simpleNode.getImage()); }
 | LOOKAHEAD(MultiSetCondition()) simpleNode = MultiSetCondition()
-| LOOKAHEAD(CaseExpression()) ( simpleNode =CaseExpression() ) { sb.append(simpleNode.getImage()) ; } //SRT 20110520
+| LOOKAHEAD(<CASE>) ( simpleNode =CaseExpression() ) { sb.append(simpleNode.getImage()) ; } //SRT 20110520
 | LOOKAHEAD(ObjectExpression() ) ( simpleNode = ObjectExpression() ) { sb.append(simpleNode.getImage()) ; } //SRT 20110604
 //| LOOKAHEAD(LikeExpression()) ( simpleNode = LikeExpression() ) { sb.append(simpleNode.getImage()) ; } //SRT 20110604
 | LOOKAHEAD(SimpleExpression()) ( simpleNode = SimpleExpression() ) { sb.append(simpleNode.getImage()); }

From f6f4512a9264c2db0e64e5d9ef85ae90a7948ace Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 21:59:34 +0200
Subject: [PATCH 261/371] Update release notes, refs #1885

---
 docs/pages/release_notes.md        | 5 ++++-
 pmd-plsql/etc/grammar/PldocAST.jjt | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 1b72777f84..52c3dbef86 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,7 +16,7 @@ This is a {{ site.pmd.release_type }} release.
 
 #### PLSQL Grammar Updates
 
-The grammar has been updated to support Inline Constraints in CREATE TABLE statements. Additionally, the
+The grammar has been updated to support inline constraints in CREATE TABLE statements. Additionally, the
 CREATE TABLE statement may now be followed by physical properties and table properties. However, these
 properties are skipped over during parsing.
 
@@ -25,6 +25,8 @@ The CREATE VIEW statement now supports subquery views.
 The EXTRACT function can now be parsed correctly. It is used to extract values from a specified
 datetime field.
 
+The CASE expression can now be properly used within SELECT statements.
+
 #### New Rules
 
 *   The Java rule {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpractices`)
@@ -116,6 +118,7 @@ of deprecations.
 *   [#1874](https://github.com/pmd/pmd/pull/1874): \[plsql] Add parenthesis equation support for Update - [Hugo Araya Nash](https://github.com/kabroxiko)
 *   [#1883](https://github.com/pmd/pmd/pull/1883): \[plsql] Fix #1873 Expression list not working - [Hugo Araya Nash](https://github.com/kabroxiko)
 *   [#1884](https://github.com/pmd/pmd/pull/1884): \[plsql] fix #1878 Support explicit INNER word for INNER JOIN - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1885](https://github.com/pmd/pmd/pull/1885): \[plsql] Correct case expression - [Hugo Araya Nash](https://github.com/kabroxiko)
 
 {% endtocmaker %}
 
diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 6254b382d3..b7a918a04d 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -27,7 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
 /**
- * Various fixes for expression lists, join clauses
+ * Various fixes for expression lists, join clauses, case expression
  *
  * Hugo Araya Nash 06/2019
  *====================================================================

From fd0b6032602168b1c2d40d2f4a676055e789ca16 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 28 Jun 2019 22:07:09 +0200
Subject: [PATCH 262/371] Update release notes, refs #1886

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 3be7be27ee..3175a60e70 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -25,6 +25,8 @@ The CREATE VIEW statement now supports subquery views.
 The EXTRACT function can now be parsed correctly. It is used to extract values from a specified
 datetime field.
 
+Table aliases are now supported when specifying columns in INSERT INTO clauses.
+
 #### Modified Rules
 
 *   The Java rule {% rule "java/bestpractices/UnusedPrivateField" %} (`java-bestpractices`) now ignores by
@@ -96,6 +98,7 @@ of deprecations.
 *   [#1864](https://github.com/pmd/pmd/pull/1864): \[plsql] Add support for Subquery Views - [kabroxiko](https://github.com/kabroxiko)
 *   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [kabroxiko](https://github.com/kabroxiko)
 *   [#1874](https://github.com/pmd/pmd/pull/1874): \[plsql] Add parenthesis equation support for Update - [kabroxiko](https://github.com/kabroxiko)
+*   [#1886](https://github.com/pmd/pmd/pull/1886): \[plsql] Support table alias for Insert Clause - [Hugo Araya Nash](https://github.com/kabroxiko)
 
 {% endtocmaker %}
 

From 9b095e113d9b01cc233ea3f5d872e6aa220871be Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 09:50:45 +0200
Subject: [PATCH 263/371] [plsql] Fix JoinClause preceded by subquery

Fixes #1879
---
 pmd-plsql/etc/grammar/PldocAST.jjt                   | 12 ++++++++----
 .../pmd/lang/plsql/ast/ASTSelectStatement.java       |  6 ++++--
 .../pmd/lang/plsql/ast/JoinClauseTest.java           |  7 ++++++-
 .../sourceforge/pmd/lang/plsql/ast/LeftOuterJoin.pls | 11 +++++++++++
 4 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index e3bc3406ce..928f3bfe7b 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1816,7 +1816,7 @@ void FromClauseEntry() #void :
  |
      LOOKAHEAD(<IDENTIFIER> "(", {isKeyword("XMLTABLE")}) XMLTable() [ LOOKAHEAD(2) TableAlias() ]
  |
-     LOOKAHEAD(3) TableReference()
+     LOOKAHEAD(3) (TableReference() (JoinClausePart())*) #JoinClause(>1)
  |
      "(" JoinClause() ")"
  )
@@ -2000,14 +2000,18 @@ ASTJoinClause JoinClause() :
 {}
 {
     TableReferenceInJoin()
-    (
+    (JoinClausePart())+
+    { return jjtThis; }
+}
+
+void JoinClausePart() #void :
+{}
+{
         LOOKAHEAD(2) InnerCrossJoinClause()
     |
         LOOKAHEAD(2) OuterJoinClause()
     |
         LOOKAHEAD(2) CrossOuterApplyClause()
-    )+
-    { return jjtThis; }
 }
 
 ASTInnerCrossJoinClause InnerCrossJoinClause() :
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSelectStatement.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSelectStatement.java
index e6bee8060c..e007d03f74 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSelectStatement.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSelectStatement.java
@@ -16,10 +16,12 @@ public class ASTSelectStatement extends AbstractSelectStatement {
         super(p, id);
     }
 
-    /** Accept the visitor. **/
     @Override
     public Object jjtAccept(PLSQLParserVisitor visitor, Object data) {
         return visitor.visit(this, data);
     }
+
+    public ASTFromClause getFromClause() {
+        return getFirstChildOfType(ASTFromClause.class);
+    }
 }
-/* JavaCC - OriginalChecksum=6a27b24d958d9811f9cd9229a7d3a3ac (do not edit this line) */
diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
index f62acaff93..dd74690268 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
@@ -82,9 +82,14 @@ public class JoinClauseTest extends AbstractPLSQLParserTst {
                 StandardCharsets.UTF_8);
         ASTInput input = parsePLSQL(code);
         List<ASTOuterJoinClause> joins = input.findDescendantsOfType(ASTOuterJoinClause.class);
-        Assert.assertEquals(1, joins.size());
+        Assert.assertEquals(2, joins.size());
         ASTOuterJoinType type = joins.get(0).getFirstChildOfType(ASTOuterJoinType.class);
         Assert.assertEquals(ASTOuterJoinType.Type.LEFT, type.getType());
+
+        List<ASTSelectStatement> selects = input.findDescendantsOfType(ASTSelectStatement.class);
+        Assert.assertEquals(2, selects.size());
+        Assert.assertTrue(selects.get(0).getFromClause().jjtGetChild(0) instanceof ASTJoinClause);
+        Assert.assertTrue(selects.get(1).getFromClause().jjtGetChild(0) instanceof ASTJoinClause);
     }
 
     @Test
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/LeftOuterJoin.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/LeftOuterJoin.pls
index 27794c903b..cabb81ed05 100644
--- a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/LeftOuterJoin.pls
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/LeftOuterJoin.pls
@@ -3,9 +3,20 @@
 --
 
 BEGIN
+
 SELECT d.department_id, e.last_name
    FROM departments d LEFT OUTER JOIN employees e
    ON d.department_id = e.department_id
    ORDER BY d.department_id, e.last_name;
+
+SELECT cv.hidden
+      FROM (SELECT CONNECT_BY_ROOT dep_id dep_id, LEVEL as dep_level
+              FROM departments
+             WHERE dep_id = c.dep_id
+           CONNECT BY PRIOR dep_id = parent_dep_id
+             ORDER BY LEVEL) dep
+      LEFT JOIN config_visibility cv ON (cv.dep_id = dep.dep_id AND cv.app_id = p_app_id)
+      ORDER BY dep.dep_level;
+
 END;
 /
\ No newline at end of file

From c6ac31f41d810a95c4dd96c218aed2d010d8abb0 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 09:51:37 +0200
Subject: [PATCH 264/371] Update release notes, fixes #1879

---
 docs/pages/release_notes.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 855a1d241c..7b321325d1 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -81,6 +81,7 @@ Table aliases are now supported when specifying columns in INSERT INTO clauses.
     *   [#1850](https://github.com/pmd/pmd/issues/1850): \[plsql] Parsing errors with INSERT using returning or records and TRIM expression
     *   [#1873](https://github.com/pmd/pmd/issues/1873): \[plsql] Expression list not working
     *   [#1878](https://github.com/pmd/pmd/issues/1878): \[pslql] ParseException when parsing USING
+    *   [#1879](https://github.com/pmd/pmd/issues/1879): \[pslql] ParseException when parsing LEFT JOIN
 
 ### API Changes
 

From 7db495f7aa90096671782580e8b8d6ad45531eb6 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 10:30:45 +0200
Subject: [PATCH 265/371] [java] CommentDefaultAccessModifier: add new property
 "checkTopLevelTypes"

Fixes #1880
---
 .../CommentDefaultAccessModifierRule.java     | 39 ++++++++++++++-----
 .../xml/CommentDefaultAccessModifier.xml      | 25 ++++++++++--
 2 files changed, 51 insertions(+), 13 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java
index af2ebd7d56..5aa95edbd0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java
@@ -21,8 +21,8 @@ import net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTMethodDeclarator;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId;
-import net.sourceforge.pmd.lang.java.ast.AbstractAnyTypeDeclaration;
-import net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessNode;
+import net.sourceforge.pmd.lang.java.ast.AccessNode;
+import net.sourceforge.pmd.lang.java.ast.Annotatable;
 import net.sourceforge.pmd.lang.java.ast.Comment;
 import net.sourceforge.pmd.lang.java.rule.AbstractIgnoredAnnotationRule;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
@@ -39,13 +39,17 @@ import net.sourceforge.pmd.properties.PropertyFactory;
 public class CommentDefaultAccessModifierRule extends AbstractIgnoredAnnotationRule {
 
     private static final PropertyDescriptor<Pattern> REGEX_DESCRIPTOR = PropertyFactory.regexProperty("regex")
-                                                                                       .desc("Regular expression").defaultValue("\\/\\*\\s+(default|package)\\s+\\*\\/").build();
+            .desc("Regular expression").defaultValue("\\/\\*\\s+(default|package)\\s+\\*\\/").build();
+    private static final PropertyDescriptor<Boolean> TOP_LEVEL_TYPES = PropertyFactory.booleanProperty("checkTopLevelTypes")
+            .desc("Check for default access modifier in top-level classes, annotations, and enums")
+            .defaultValue(false).build();
     private static final String MESSAGE = "To avoid mistakes add a comment "
             + "at the beginning of the %s %s if you want a default access modifier";
     private final Set<Integer> interestingLineNumberComments = new HashSet<>();
 
     public CommentDefaultAccessModifierRule() {
         definePropertyDescriptor(REGEX_DESCRIPTOR);
+        definePropertyDescriptor(TOP_LEVEL_TYPES);
     }
 
     @Override
@@ -104,7 +108,7 @@ public class CommentDefaultAccessModifierRule extends AbstractIgnoredAnnotationR
 
     @Override
     public Object visit(final ASTClassOrInterfaceDeclaration decl, final Object data) {
-        if (decl.isNested() && shouldReport(decl)) { // check for nested classes
+        if (decl.isNested() && shouldReportTypeDeclaration(decl)) { // check for nested classes
             addViolationWithMessage(data, decl, String.format(MESSAGE, decl.getImage(), "nested class"));
         } else if (!decl.isNested() && shouldReportTypeDeclaration(decl)) { // and for top-level ones
             addViolationWithMessage(data, decl, String.format(MESSAGE, decl.getImage(), "top-level class"));
@@ -120,17 +124,24 @@ public class CommentDefaultAccessModifierRule extends AbstractIgnoredAnnotationR
         return super.visit(decl, data);
     }
 
-    private boolean shouldReport(final AbstractJavaAccessNode decl) {
-        final AbstractAnyTypeDeclaration parentClassOrInterface = decl
-                .getFirstParentOfType(AbstractAnyTypeDeclaration.class);
+    private boolean shouldReport(final AccessNode decl) {
+        final ASTAnyTypeDeclaration parentClassOrInterface = decl
+                .getFirstParentOfType(ASTAnyTypeDeclaration.class);
 
         boolean isConcreteClass = parentClassOrInterface.getTypeKind() == ASTAnyTypeDeclaration.TypeKind.CLASS;
 
-        // ignore if it's an Interface / Annotation
-        return isConcreteClass && shouldReportTypeDeclaration(decl);
+        // ignore if it's inside an interface / Annotation
+        return isConcreteClass && isMissingComment(decl);
     }
 
-    private boolean shouldReportTypeDeclaration(final AbstractJavaAccessNode decl) {
+    protected boolean hasIgnoredAnnotation(AccessNode node) {
+        if (node instanceof Annotatable) {
+            return hasIgnoredAnnotation((Annotatable) node);
+        }
+        return false;
+    }
+
+    private boolean isMissingComment(AccessNode decl) {
         // check if the class/method/field has a default access
         // modifier
         return decl.isPackagePrivate()
@@ -140,4 +151,12 @@ public class CommentDefaultAccessModifierRule extends AbstractIgnoredAnnotationR
                 // that it is not annotated with e.g. @VisibleForTesting
                 && !hasIgnoredAnnotation(decl);
     }
+
+    private boolean shouldReportTypeDeclaration(ASTAnyTypeDeclaration decl) {
+        // don't report on interfaces
+        return decl.getTypeKind() != ASTAnyTypeDeclaration.TypeKind.INTERFACE
+                && isMissingComment(decl)
+                // either nested or top level and we should check it
+                && (decl.isNested() || getProperty(TOP_LEVEL_TYPES));
+    }
 }
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml
index ae52606693..3d958e9214 100755
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml
@@ -129,7 +129,14 @@ public @interface Foo {}
 /* default */ @interface FoobarWithComment {}
     ]]></code-fragment>
     <test-code>
-        <description>Top-level annotations with default access modifier</description>
+        <description>Top-level annotations with default access modifier are ignored by default (#1880)</description>
+        <expected-problems>0</expected-problems>
+        <code-ref id="top-level-annotations-with-default-access-modifier"/>
+    </test-code>
+
+    <test-code>
+        <description>Top-level annotations with default access modifier checks enabled with property</description>
+        <rule-property name="checkTopLevelTypes">true</rule-property>
         <expected-problems>2</expected-problems>
         <expected-linenumbers>1,6</expected-linenumbers>
         <code-ref id="top-level-annotations-with-default-access-modifier"/>
@@ -149,7 +156,13 @@ enum Foobar {}
 /* default */ enum FoobarWithComment {}
     ]]></code-fragment>
     <test-code>
-        <description>Top-level enums with default access modifier</description>
+        <description>Top-level enums with default access modifier are ignored by default (#1880)</description>
+        <expected-problems>0</expected-problems>
+        <code-ref id="top-level-enums-with-default-access-modifier"/>
+    </test-code>
+    <test-code>
+        <description>Top-level enums with default access modifier checks enabled with property</description>
+        <rule-property name="checkTopLevelTypes">true</rule-property>
         <expected-problems>2</expected-problems>
         <expected-linenumbers>1,6</expected-linenumbers>
         <code-ref id="top-level-enums-with-default-access-modifier"/>
@@ -169,7 +182,13 @@ class Foobar {}
 /* default */ class FoobarWithComment {}
     ]]></code-fragment>
     <test-code>
-        <description>Top-level classes with default access modifier</description>
+        <description>Top-level classes with default access modifier are ignored by default (#1880)</description>
+        <expected-problems>0</expected-problems>
+        <code-ref id="top-level-classes-with-default-access-modifier"/>
+    </test-code>
+    <test-code>
+        <description>Top-level classes with default access modifier checks enabled with property</description>
+        <rule-property name="checkTopLevelTypes">true</rule-property>
         <expected-problems>2</expected-problems>
         <expected-linenumbers>1,6</expected-linenumbers>
         <code-ref id="top-level-classes-with-default-access-modifier"/>

From 26967d627e629083866268ca8ebd536beda9b829 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 10:36:46 +0200
Subject: [PATCH 266/371] Update release notes, fixes #1880

---
 docs/pages/release_notes.md | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 855a1d241c..917a6cd3ff 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -59,6 +59,13 @@ Table aliases are now supported when specifying columns in INSERT INTO clauses.
     non static initializers in anonymous classes anymore. For this use case, there is a new rule now:
     {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpractices`).
 
+*   The Java rule {% rule "java/codestyle/CommentDefaultAccessModifier" %) (`java-codestyle`) was enhanced
+    in the last version 6.15.0 to check also top-level types by default. This created many new violations.
+    Missing the access modifier for top-level types is not so criticial, since it only decreases the visibility
+    of the type.
+    The default behaviour has been restored. If you want to enable the check for top-level types, you can
+    use the new property `checkTopLevelTypes`.
+
 ### Fixed Issues
 
 *   apex
@@ -69,6 +76,8 @@ Table aliases are now supported when specifying columns in INSERT INTO clauses.
     *   [#1703](https://github.com/pmd/pmd/issues/1703): \[java] UnusedPrivateField on member annotated with lombok @Delegate
     *   [#1845](https://github.com/pmd/pmd/issues/1845): \[java] Regression in MethodReturnsInternalArray not handling enums
     *   [#1854](https://github.com/pmd/pmd/issues/1854): \[java] Rule to check for double brace initialisation
+*   java-codestyle
+    *   [#1880](https://github.com/pmd/pmd/issues/1880): \[java] CommentDefaultAccessModifier should be configurable for top-level classes
 *   java-design
     *   [#1094](https://github.com/pmd/pmd/issues/1094): \[java] UseUtilityClass should be LombokAware
 *   java-errorprone

From 314bb713360465645142d262b86923754570c034 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 11:13:51 +0200
Subject: [PATCH 267/371] Fix reporting of nested classes inside
 interfaces/enums

---
 .../CommentDefaultAccessModifierRule.java     |  2 +-
 .../xml/CommentDefaultAccessModifier.xml      | 21 +++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java
index 5aa95edbd0..2891b13843 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/CommentDefaultAccessModifierRule.java
@@ -108,7 +108,7 @@ public class CommentDefaultAccessModifierRule extends AbstractIgnoredAnnotationR
 
     @Override
     public Object visit(final ASTClassOrInterfaceDeclaration decl, final Object data) {
-        if (decl.isNested() && shouldReportTypeDeclaration(decl)) { // check for nested classes
+        if (decl.isNested() && shouldReport(decl)) { // check for nested classes
             addViolationWithMessage(data, decl, String.format(MESSAGE, decl.getImage(), "nested class"));
         } else if (!decl.isNested() && shouldReportTypeDeclaration(decl)) { // and for top-level ones
             addViolationWithMessage(data, decl, String.format(MESSAGE, decl.getImage(), "top-level class"));
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml
index 3d958e9214..2cbe71f112 100755
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/CommentDefaultAccessModifier.xml
@@ -354,4 +354,25 @@ public class Foo {
             </expected-messages>
         <code-ref id="constructor-with-default-access-modifier-rule"/>
     </test-code>
+
+    <test-code>
+        <description>Nested classes inside interfaces</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public interface MyInterface {
+    class MyNestedClass {} // this is always implicitly public static
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Nested classes inside enum</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+public enum MyEnum {
+    FOO;
+    class MyNestedClass {}
+}
+        ]]></code>
+    </test-code>
 </test-data>
\ No newline at end of file

From f6cc999f2c613f1f079d36a4e9e2edfe240b7b56 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 11:22:03 +0200
Subject: [PATCH 268/371] [java] CloseResource: Use simple class name in
 message

Report simple class name to retain same message as before.
This helps in comparing the reports.
---
 .../pmd/lang/java/rule/errorprone/CloseResourceRule.java      | 4 +---
 .../pmd/lang/java/rule/errorprone/xml/CloseResource.xml       | 4 ++++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index 27ba1d8818..1bc80b184f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -110,8 +110,6 @@ public class CloseResourceRule extends AbstractJavaRule {
         }
         if (getProperty(TYPES_DESCRIPTOR) != null) {
             types.addAll(getProperty(TYPES_DESCRIPTOR));
-        }
-        if (getProperty(TYPES_DESCRIPTOR) != null) {
             for (String type : getProperty(TYPES_DESCRIPTOR)) {
                 simpleTypes.add(toSimpleType(type));
             }
@@ -392,7 +390,7 @@ public class CloseResourceRule extends AbstractJavaRule {
         if (!closed) {
             Class<?> typeClass = type.getType();
             if (typeClass != null) {
-                addViolation(data, id, typeClass.getName());
+                addViolation(data, id, typeClass.getSimpleName());
             } else {
                 addViolation(data, id, id.getVariableName());
             }
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index 206b2ee851..41d1be9262 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -27,6 +27,10 @@ public class Foo {
         <description>connection not closed, should have failed</description>
         <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>1</expected-problems>
+        <expected-linenumbers>4</expected-linenumbers>
+        <expected-messages>
+            <message>Ensure that resources like this Connection object are closed after use</message>
+        </expected-messages>
         <code><![CDATA[
 import java.sql.*;
 public class Foo {

From 62a2c12585e7df8a3dab22190596b94862f24992 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 12:15:19 +0200
Subject: [PATCH 269/371] [java] CloseResource: consider javax.jms.Connection
 as before

Adding back the default types java.sql.Connection etc. so that
we also match javax.jms.Connection in case no type information
is available as before.

Also fix the reported type when method calls are involved.
---
 .../rule/errorprone/CloseResourceRule.java    | 17 +++++-
 .../rule/errorprone/xml/CloseResource.xml     | 55 +++++++++++++++++++
 2 files changed, 69 insertions(+), 3 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index 1bc80b184f..324e248471 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -75,7 +75,7 @@ public class CloseResourceRule extends AbstractJavaRule {
     private static final PropertyDescriptor<List<String>> TYPES_DESCRIPTOR =
             stringListProperty("types")
                     .desc("Affected types")
-                    .defaultValues("java.lang.AutoCloseable")
+                    .defaultValues("java.lang.AutoCloseable", "java.sql.Connection", "java.sql.Statement", "java.sql.ResultSet")
                     .delim(',').build();
 
     private static final PropertyDescriptor<Boolean> USE_CLOSE_AS_DEFAULT_TARGET =
@@ -155,8 +155,9 @@ public class CloseResourceRule extends AbstractJavaRule {
             if (type != null && isResourceTypeOrSubtype(type)) {
                 if (var.hasInitializer()) {
                     // figure out the runtime type. If the variable is initialized, take the type from there
-                    TypeNode runtimeType = var.getInitializer().getFirstChildOfType(ASTExpression.class);
-                    if (runtimeType != null && runtimeType.getType() != null) {
+                    ASTExpression expression = var.getInitializer().getFirstChildOfType(ASTExpression.class);
+                    TypeNode runtimeType = expression;
+                    if (!isMethodCall(expression) && runtimeType != null && runtimeType.getType() != null) {
                         type = runtimeType;
                     }
                 }
@@ -175,6 +176,13 @@ public class CloseResourceRule extends AbstractJavaRule {
         }
     }
 
+    private boolean isMethodCall(ASTExpression expression) {
+        return expression != null
+             && expression.jjtGetNumChildren() > 0
+             && expression.jjtGetChild(0) instanceof ASTPrimaryExpression
+             && !expression.jjtGetChild(0).findChildrenOfType(ASTPrimarySuffix.class).isEmpty();
+    }
+
     private boolean isResourceTypeOrSubtype(TypeNode refType) {
         if (refType.getType() != null) {
             for (String type : types) {
@@ -388,9 +396,12 @@ public class CloseResourceRule extends AbstractJavaRule {
 
         // if all is not well, complain
         if (!closed) {
+            ASTLocalVariableDeclaration localVarDecl = id.getFirstParentOfType(ASTLocalVariableDeclaration.class);
             Class<?> typeClass = type.getType();
             if (typeClass != null) {
                 addViolation(data, id, typeClass.getSimpleName());
+            } else if (localVarDecl != null && localVarDecl.getTypeNode() != null) {
+                addViolation(data, id, localVarDecl.getTypeNode().getTypeImage());
             } else {
                 addViolation(data, id, id.getVariableName());
             }
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index 41d1be9262..49f728b50c 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -915,6 +915,61 @@ public class Foo {
         }
         return -1;
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Correctly determine the type with method calls</description>
+        <expected-problems>2</expected-problems>
+        <expected-linenumbers>6,7</expected-linenumbers>
+        <expected-messages>
+            <message>Ensure that resources like this Connection object are closed after use</message>
+            <message>Ensure that resources like this PreparedStatement object are closed after use</message>
+        </expected-messages>
+        <code><![CDATA[
+import java.sql.*;
+
+public class CloseResourceSQL {
+    public void run() {
+        try {
+            Connection con = DataSourceUtils.getConnection(ds);
+            PreparedStatement ps = con.prepareStatement("some SQL statement");
+            DataSourceUtils.applyTransactionTimeout(ps, ds);
+        } catch (SQLException ex) {
+            throw new RuntimeException("", ex);
+        }
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>JMS Connections without auxclasspath</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>10</expected-linenumbers>
+        <expected-messages>
+            <message>Ensure that resources like this Connection object are closed after use</message>
+        </expected-messages>
+        <code><![CDATA[
+// javax.jms.* is not on the (aux)classpath during unit tests
+import javax.jms.Connection;
+import javax.jms.Session;
+
+public class CloseResourceJMS {
+    public void run() {
+        Session session = resourceFactory.getSession(resourceHolder);
+        if (session != null) {
+            if (startConnection) {
+                Connection con = resourceFactory.getConnection(resourceHolder);
+                if (con != null) {
+                    con.start();
+                }
+            }
+            return session;
+        }
+        return null;
+    }
 }
         ]]></code>
     </test-code>

From ae046bb5164f7fcdd2735ef56d8e6b49a1916aba Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 12:19:24 +0200
Subject: [PATCH 270/371] [java] CloseResource: verify old behaviour can be
 restored

---
 .../rule/errorprone/xml/CloseResource.xml     | 34 ++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index 49f728b50c..97492ea0d9 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -881,7 +881,6 @@ public class CloseResourceWithExceptions {
 
     <test-code>
         <description>connection not closed, should have failed - missing import</description>
-        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
         <expected-problems>1</expected-problems>
         <code><![CDATA[
 // without the import
@@ -970,6 +969,39 @@ public class CloseResourceJMS {
         }
         return null;
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>CloseResource for closable - ignored if the types do not contain AutoClosable</description>
+        <rule-property name="types">java.sql.Connection,java.sql.Statement,java.sql.ResultSet</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.io.*;
+
+public class CloseResourceTest {
+    public static void main(String[] args) {
+        InputStream in = null;
+        OutputStream in2 = null;
+        try {
+            in = new FileInputStream(new File("/tmp/foo"));
+            in.read();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void bar() {
+        InputStream file = new FileInputStream(new File("/tmp/foo"));
+        try {
+            int c = file.in();
+        } catch (IOException e) {
+            // handle exception
+        } finally {
+            // TODO: close file
+        }
+    }
 }
         ]]></code>
     </test-code>

From 18006de84c423f56d717a647c5f1a20c7a33d655 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 12:29:40 +0200
Subject: [PATCH 271/371] [java] CloseResource: Update release notes and rule
 documentation

---
 docs/pages/release_notes.md                           |  4 +++-
 .../src/main/resources/category/java/errorprone.xml   | 11 ++++++++---
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 8c4982cdf0..444d54cedb 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -45,10 +45,12 @@ datetime field.
     By default, classes that are annotated with Lombok's `@UtilityClass` are ignored now.
 
 *   The Java rule {% rule "java/errorprone/CloseResource" %} (`java-errorprone`) now by default searches
-    for any unclosed `java.io.Closable` resource. This includes now the standard `java.io.*Stream` classes.
+    for any unclosed `java.lang.AutoCloseable` resource. This includes now the standard `java.io.*Stream` classes.
     Previously only SQL-related resources were considered by this rule. The types can still be configured
     via the `types` property. Some resources do not need to be closed (e.g. `ByteArrayOutputStream`). These
     exceptions can be configured via the new property `allowedResourceTypes`.
+    In order to restore the old behaviour, just remove the type `java.lang.AutoCloseable` from the `types`
+    property and keep the remaining SQL-related classes.
 
 ### Fixed Issues
 
diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml
index daf7900c5a..63dc031f79 100644
--- a/pmd-java/src/main/resources/category/java/errorprone.xml
+++ b/pmd-java/src/main/resources/category/java/errorprone.xml
@@ -1009,11 +1009,16 @@ public class MyClass implements Cloneable{
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#closeresource">
         <description>
 Ensure that resources (like `java.sql.Connection`, `java.sql.Statement`, and `java.sql.ResultSet` objects
-and any subtype of `java.io.Closeable`) are always closed after use.
+and any subtype of `java.lang.AutoCloseable`) are always closed after use.
 Failing to do so might result in resource leaks.
 
-Note: It suffices to configure the super type, e.g. `java.io.Closable`, so that this rule automatically triggers
-on any subtype (e.g. `java.io.FileInputStream`).
+Note: It suffices to configure the super type, e.g. `java.lang.AutoClosable`, so that this rule automatically triggers
+on any subtype (e.g. `java.io.FileInputStream`). Additionally specifying `java.sql.Connection` helps in detecting
+the types, if the type resolution / auxclasspath is not correctly setup.
+
+Note: Since PMD 6.16.0 the default value for the property `types` contains `java.lang.AutoCloseable` and detects
+now cases where the standard `java.io.*Stream` classes are involved. In order to restore the old behaviour,
+just remove "AutoCloseable" from the types.
         </description>
         <priority>3</priority>
         <example>

From 40849dda65c676ba5ba7f26942eddb1722e76e76 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 14:13:42 +0200
Subject: [PATCH 272/371] [java] CloseResource: consider chained streams

This assumes that the underlaying stream is always the
first argument in the constructor call.
---
 .../rule/errorprone/CloseResourceRule.java    | 22 +++++++++++-
 .../rule/errorprone/xml/CloseResource.xml     | 36 +++++++++++++++++++
 2 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index 324e248471..589825fe01 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -18,6 +18,7 @@ import org.jaxen.JaxenException;
 
 import net.sourceforge.pmd.RuleContext;
 import net.sourceforge.pmd.lang.ast.Node;
+import net.sourceforge.pmd.lang.java.ast.ASTAllocationExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTArgumentList;
 import net.sourceforge.pmd.lang.java.ast.ASTBlock;
 import net.sourceforge.pmd.lang.java.ast.ASTBlockStatement;
@@ -160,6 +161,14 @@ public class CloseResourceRule extends AbstractJavaRule {
                     if (!isMethodCall(expression) && runtimeType != null && runtimeType.getType() != null) {
                         type = runtimeType;
                     }
+
+                    // consider cases, when the streams are chained
+                    // assumes, that the underlaying stream is always the first argument in the
+                    // constructor call.
+                    ASTExpression firstArgument = getAllocationFirstArgument(expression);
+                    if (firstArgument != null) {
+                        type = firstArgument;
+                    }
                 }
 
                 if (!isAllowedResourceType(type)) {
@@ -176,11 +185,22 @@ public class CloseResourceRule extends AbstractJavaRule {
         }
     }
 
+    private ASTExpression getAllocationFirstArgument(ASTExpression expression) {
+        List<ASTAllocationExpression> allocations = expression.findDescendantsOfType(ASTAllocationExpression.class);
+        if (!allocations.isEmpty()) {
+            ASTArgumentList argumentList = allocations.get(allocations.size() - 1).getFirstDescendantOfType(ASTArgumentList.class);
+            if (argumentList != null) {
+                return argumentList.getFirstChildOfType(ASTExpression.class);
+            }
+        }
+        return null;
+    }
+
     private boolean isMethodCall(ASTExpression expression) {
         return expression != null
              && expression.jjtGetNumChildren() > 0
              && expression.jjtGetChild(0) instanceof ASTPrimaryExpression
-             && !expression.jjtGetChild(0).findChildrenOfType(ASTPrimarySuffix.class).isEmpty();
+             && expression.jjtGetChild(0).getFirstChildOfType(ASTPrimarySuffix.class) != null;
     }
 
     private boolean isResourceTypeOrSubtype(TypeNode refType) {
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index 97492ea0d9..95c8409c30 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -1002,6 +1002,42 @@ public class CloseResourceTest {
             // TODO: close file
         }
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>PrintWriter based on StringWriter</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.io.*;
+
+public class CloseResourcePrintWriter {
+    public String run1() {
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw);
+
+        pw.println("Foo");
+        String result = sw.toString();
+        return result;
+    }
+
+    public String run2() {
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw, true);
+
+        pw.println("Foo");
+        String result = sw.toString();
+        return result;
+    }
+
+    public String run3() {
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(new BufferedWriter(sw));
+
+        pw.println("Foo");
+        return sw.toString();
+    }
 }
         ]]></code>
     </test-code>

From d10d522d1fe4d4580b64ec1370ac7b2221501f62 Mon Sep 17 00:00:00 2001
From: Karl-Philipp Richter <krichter722@aol.de>
Date: Mon, 26 Nov 2018 20:03:35 +0100
Subject: [PATCH 273/371] Explain the existence of AvoidFinalLocalVariable in
 it's description

---
 pmd-java/src/main/resources/category/java/codestyle.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml
index 8dbdf7006b..87a5bbb276 100644
--- a/pmd-java/src/main/resources/category/java/codestyle.xml
+++ b/pmd-java/src/main/resources/category/java/codestyle.xml
@@ -95,7 +95,7 @@ public class Fo$o {  // not a recommended name
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           message="Avoid using final local variables, turn them into fields"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidfinallocalvariable">
-        <description>Avoid using final local variables, turn them into fields.</description>
+        <description><![CDATA[Avoid using final local variables, turn them into fields. Note that this is a controversial rule which is merely useful to enforce a certain code style (which is contradictory to good coding practices in most of the cases it's applied to) and avoid local literals being declared in a scope smaller than the class. The rule is destined to be moved to the "controversial" ruleset again or removed alltogether, but not until 7.0.0, see https://github.com/pmd/pmd/issues/811 for the discussion about that.]]></description>
         <priority>3</priority>
         <properties>
             <property name="xpath">

From 74f36bf18ef205ab2751f27beb26c1aafecbcd9a Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 14:34:36 +0200
Subject: [PATCH 274/371] [java] Deprecate AvoidFinalLocalVariable

Fixes #1612, Refs #1482
---
 docs/pages/release_notes.md                      | 11 +++++++++++
 .../main/resources/category/java/codestyle.xml   | 16 +++++++++++++++-
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 855a1d241c..af0b321c9c 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -59,6 +59,14 @@ Table aliases are now supported when specifying columns in INSERT INTO clauses.
     non static initializers in anonymous classes anymore. For this use case, there is a new rule now:
     {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpractices`).
 
+#### Deprecated Rules
+
+*   The Java rule {% rule "java/codestyle/AvoidFinalLocalVariable" %} (`java-codestyle`) has been deprecated
+    and will be removed with PMD 7.0.0. The rule is controversial and also contradicts other existing
+    rules such as {% rule "java/codestyle/LocalVariableCouldBeFinal" %}. If the goal is to avoid defining
+    constants in a scope smaller than the class, then the rule {% rule "java/errorprone/AvoidDuplicateLiterals" %}
+    should be used instead.
+
 ### Fixed Issues
 
 *   apex
@@ -69,6 +77,8 @@ Table aliases are now supported when specifying columns in INSERT INTO clauses.
     *   [#1703](https://github.com/pmd/pmd/issues/1703): \[java] UnusedPrivateField on member annotated with lombok @Delegate
     *   [#1845](https://github.com/pmd/pmd/issues/1845): \[java] Regression in MethodReturnsInternalArray not handling enums
     *   [#1854](https://github.com/pmd/pmd/issues/1854): \[java] Rule to check for double brace initialisation
+*   java-codestyle
+    *   [#1612](https://github.com/pmd/pmd/issues/1612): \[java] Deprecate AvoidFinalLocalVariable
 *   java-design
     *   [#1094](https://github.com/pmd/pmd/issues/1094): \[java] UseUtilityClass should be LombokAware
 *   java-errorprone
@@ -110,6 +120,7 @@ of deprecations.
 
 ### External Contributions
 
+*   [#1482](https://github.com/pmd/pmd/pull/1482): \[java] Explain the existence of AvoidFinalLocalVariable in it's description - [Karl-Philipp Richter](https://github.com/krichter722)
 *   [#1792](https://github.com/pmd/pmd/pull/1792): \[java] Added lombok.experimental to AbstractLombokAwareRule - [jakivey32](https://github.com/jakivey32)
 *   [#1808](https://github.com/pmd/pmd/pull/1808): \[plsql] Fix PL/SQL Syntax errors - [Hugo Araya Nash](https://github.com/kabroxiko)
 *   [#1829](https://github.com/pmd/pmd/pull/1829): \[java] Fix false negative in UnsynchronizedStaticFormatter - [Srinivasan Venkatachalam](https://github.com/Srini1993)
diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml
index 87a5bbb276..d6b5793180 100644
--- a/pmd-java/src/main/resources/category/java/codestyle.xml
+++ b/pmd-java/src/main/resources/category/java/codestyle.xml
@@ -92,10 +92,24 @@ public class Fo$o {  // not a recommended name
     <rule name="AvoidFinalLocalVariable"
           language="java"
           since="4.1"
+          deprecated="true"
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           message="Avoid using final local variables, turn them into fields"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#avoidfinallocalvariable">
-        <description><![CDATA[Avoid using final local variables, turn them into fields. Note that this is a controversial rule which is merely useful to enforce a certain code style (which is contradictory to good coding practices in most of the cases it's applied to) and avoid local literals being declared in a scope smaller than the class. The rule is destined to be moved to the "controversial" ruleset again or removed alltogether, but not until 7.0.0, see https://github.com/pmd/pmd/issues/811 for the discussion about that.]]></description>
+        <description>
+Avoid using final local variables, turn them into fields.
+
+Note that this is a controversial rule which is merely useful to enforce a certain code style
+(which is contradictory to good coding practices in most of the cases it's applied to) and
+avoid local literals being declared in a scope smaller than the class.
+
+Also note, that this rule is the opposite of {% rule "java/codestyle/LocalVariableCouldBeFinal" %}.
+Having both rules enabled results in contradictory violations being reported.
+
+This rule is deprecated and will be removed with PMD 7.0.0. There is no replacement planned.
+If the goal is to avoid defining constants in a scope smaller than the class, then the rule
+{% rule "java/errorprone/AvoidDuplicateLiterals" %} should be used instead.
+        </description>
         <priority>3</priority>
         <properties>
             <property name="xpath">

From c2a45c64caad35aed004ea8c8fd95979c8ae2460 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 15:01:24 +0200
Subject: [PATCH 275/371] [java] CloseResource: verify first argument for
 chained streams

---
 .../rule/errorprone/CloseResourceRule.java    | 19 +++++++++++++-
 .../rule/errorprone/xml/CloseResource.xml     | 25 +++++++++++++++++++
 2 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index 589825fe01..d51bda2cc0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -42,7 +42,9 @@ import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableInitializer;
 import net.sourceforge.pmd.lang.java.ast.TypeNode;
 import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
+import net.sourceforge.pmd.lang.java.symboltable.VariableNameDeclaration;
 import net.sourceforge.pmd.lang.java.typeresolution.TypeHelper;
+import net.sourceforge.pmd.lang.symboltable.NameOccurrence;
 import net.sourceforge.pmd.properties.PropertyDescriptor;
 
 /**
@@ -187,10 +189,25 @@ public class CloseResourceRule extends AbstractJavaRule {
 
     private ASTExpression getAllocationFirstArgument(ASTExpression expression) {
         List<ASTAllocationExpression> allocations = expression.findDescendantsOfType(ASTAllocationExpression.class);
+        ASTExpression firstArgument = null;
+
         if (!allocations.isEmpty()) {
             ASTArgumentList argumentList = allocations.get(allocations.size() - 1).getFirstDescendantOfType(ASTArgumentList.class);
             if (argumentList != null) {
-                return argumentList.getFirstChildOfType(ASTExpression.class);
+                firstArgument = argumentList.getFirstChildOfType(ASTExpression.class);
+            }
+        }
+
+        // the argument must not be a literal, it needs to be a Name referring to a variable
+        if (firstArgument != null && firstArgument.getFirstDescendantOfType(ASTName.class) != null) {
+            ASTName name = firstArgument.getFirstDescendantOfType(ASTName.class);
+
+            Map<VariableNameDeclaration, List<NameOccurrence>> vars = firstArgument.getScope()
+                    .getDeclarations(VariableNameDeclaration.class);
+            for (VariableNameDeclaration nameDecl : vars.keySet()) {
+                if (nameDecl.getName().equals(name.getImage())) {
+                    return firstArgument;
+                }
             }
         }
         return null;
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index 95c8409c30..98df84b9f8 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -1038,6 +1038,31 @@ public class CloseResourcePrintWriter {
         pw.println("Foo");
         return sw.toString();
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>Correctly determine the type for the message</description>
+        <expected-problems>2</expected-problems>
+        <expected-linenumbers>7,8</expected-linenumbers>
+        <expected-messages>
+            <message>Ensure that resources like this FileInputStream object are closed after use</message>
+            <message>Ensure that resources like this Scanner object are closed after use</message>
+        </expected-messages>
+        <code><![CDATA[
+import java.io.*;
+import java.util.Scanner;
+
+public class CloseResourceCase {
+    public void run() {
+        try {
+            FileInputStream in = new FileInputStream("MyFile.txt");
+            Scanner input = new Scanner(System.in, "utf-8");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }
         ]]></code>
     </test-code>

From 3928242f5699ec12d0e5011be644df218c410b7e Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 15:05:05 +0200
Subject: [PATCH 276/371] (doc) Fix release notes

---
 docs/pages/release_notes.md | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 855a1d241c..47b697bb26 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -27,14 +27,16 @@ datetime field. Also date time literals are parsed now correctly.
 
 The CASE expression can now be properly used within SELECT statements.
 
+Table aliases are now supported when specifying columns in INSERT INTO clauses.
+
 #### New Rules
 
 *   The Java rule {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpractices`)
     detects non static initializers in anonymous classes also known as "double brace initialization".
     This can be problematic, since a new class file is generated and object holds a strong reference
     to the surrounding class.
-
-Table aliases are now supported when specifying columns in INSERT INTO clauses.
+    
+    Note: This rule is also part of the Java quickstart ruleset (`rulesets/java/quickstart.xml`).
 
 #### Modified Rules
 

From da69dc777a960913a331454da17f3d99fdfeeeeb Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 15:29:03 +0200
Subject: [PATCH 277/371] [java] CloseResource: fix another FP

---
 .../pmd/lang/java/rule/errorprone/CloseResourceRule.java   | 2 +-
 .../pmd/lang/java/rule/errorprone/xml/CloseResource.xml    | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index d51bda2cc0..abb6b8cf6f 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -205,7 +205,7 @@ public class CloseResourceRule extends AbstractJavaRule {
             Map<VariableNameDeclaration, List<NameOccurrence>> vars = firstArgument.getScope()
                     .getDeclarations(VariableNameDeclaration.class);
             for (VariableNameDeclaration nameDecl : vars.keySet()) {
-                if (nameDecl.getName().equals(name.getImage())) {
+                if (nameDecl.getName().equals(name.getImage()) && isResourceTypeOrSubtype(firstArgument)) {
                     return firstArgument;
                 }
             }
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index 98df84b9f8..604380c3e5 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -1044,11 +1044,12 @@ public class CloseResourcePrintWriter {
 
     <test-code>
         <description>Correctly determine the type for the message</description>
-        <expected-problems>2</expected-problems>
-        <expected-linenumbers>7,8</expected-linenumbers>
+        <expected-problems>3</expected-problems>
+        <expected-linenumbers>7,8,10</expected-linenumbers>
         <expected-messages>
             <message>Ensure that resources like this FileInputStream object are closed after use</message>
             <message>Ensure that resources like this Scanner object are closed after use</message>
+            <message>Ensure that resources like this FileInputStream object are closed after use</message>
         </expected-messages>
         <code><![CDATA[
 import java.io.*;
@@ -1059,6 +1060,8 @@ public class CloseResourceCase {
         try {
             FileInputStream in = new FileInputStream("MyFile.txt");
             Scanner input = new Scanner(System.in, "utf-8");
+            String file = "MyFile.txt";
+            FileInputStream in2 = new FileInputStream(file);
         } catch (Exception e) {
             e.printStackTrace();
         }

From 1e2d94ebf99c9362833746e2d4a3fb41eee06c80 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 15:56:34 +0200
Subject: [PATCH 278/371] Use released build-tools version 3

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 07fc342ed7..8e58990380 100644
--- a/pom.xml
+++ b/pom.xml
@@ -283,7 +283,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
 
         <argLine>-Xmx512m -Dfile.encoding=${project.build.sourceEncoding}</argLine>
 
-        <pmd.build-tools.version>3-SNAPSHOT</pmd.build-tools.version>
+        <pmd.build-tools.version>3</pmd.build-tools.version>
 
         <pmd-designer.version>6.14.0</pmd-designer.version>
     </properties>

From 634e3592c7ab4b12adfb601a6ff1fedf82fa7523 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@adangel.org>
Date: Sat, 29 Jun 2019 21:35:01 +0200
Subject: [PATCH 279/371] Update docs/pages/release_notes.md
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-Authored-By: Clément Fournier <clement.fournier76@gmail.com>
---
 docs/pages/release_notes.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 917a6cd3ff..3c3814cdf1 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -61,7 +61,7 @@ Table aliases are now supported when specifying columns in INSERT INTO clauses.
 
 *   The Java rule {% rule "java/codestyle/CommentDefaultAccessModifier" %) (`java-codestyle`) was enhanced
     in the last version 6.15.0 to check also top-level types by default. This created many new violations.
-    Missing the access modifier for top-level types is not so criticial, since it only decreases the visibility
+    Missing the access modifier for top-level types is not so critical, since it only decreases the visibility
     of the type.
     The default behaviour has been restored. If you want to enable the check for top-level types, you can
     use the new property `checkTopLevelTypes`.

From 45e2248fa7e1dd7cff1062c1d06fd10be936fb6e Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 29 Jun 2019 21:50:39 +0200
Subject: [PATCH 280/371] (doc) Add PMD article

---
 docs/pages/pmd/projectdocs/trivia/news.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/docs/pages/pmd/projectdocs/trivia/news.md b/docs/pages/pmd/projectdocs/trivia/news.md
index 7baabc251c..ec415ca8f4 100644
--- a/docs/pages/pmd/projectdocs/trivia/news.md
+++ b/docs/pages/pmd/projectdocs/trivia/news.md
@@ -20,7 +20,9 @@ author: Tom Copeland <tom@infoether.org>
 *   November 2016 - Recording of [Robert Sösemann](https://github.com/rsoesemann)'s Session at Salesforce Dreamforce Conference about enforcing Clean Code in the Salesforce world using PMD and other tools [Clean Apex Code with Automatic Code Metrics](https://www.youtube.com/watch?v=bW7m6y6bEug)
 
 
-### Other Language Modules
+### PMD in general and other Language Modules
+
+*   May 2019 - [Code quality assurance with PMD – An extensible static code analyser for Java and other languages](https://www.datarespons.com/code-quality-assurance-with-pmd/)
 
 *   February 2012 - Romain Pelisse's lightning talk at FOSDEM 2012 about "PMD5: What can it do for you?".
     [Video recording is available](http://video.fosdem.org/2012/lightningtalks/PMD5.webm).

From cbd88560074b41ddc44bc067db819e6683f14c84 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 30 Jun 2019 09:38:58 +0200
Subject: [PATCH 281/371] (doc) Update generated rule documentation

---
 docs/pages/pmd/rules/java.md            |  4 +-
 docs/pages/pmd/rules/java/codestyle.md  | 15 ++++++++
 docs/pages/pmd/rules/java/errorprone.md | 49 ++++++++++++++++++-------
 3 files changed, 53 insertions(+), 15 deletions(-)

diff --git a/docs/pages/pmd/rules/java.md b/docs/pages/pmd/rules/java.md
index 4d86fd52ee..1b72fec5cc 100644
--- a/docs/pages/pmd/rules/java.md
+++ b/docs/pages/pmd/rules/java.md
@@ -68,7 +68,7 @@ folder: pmd/rules
 *   [AbstractNaming](pmd_rules_java_codestyle.html#abstractnaming): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> Abstract classes should be named 'AbstractXXX'.This rule is deprecated and will be removed with P...
 *   [AtLeastOneConstructor](pmd_rules_java_codestyle.html#atleastoneconstructor): Each non-static class should declare at least one constructor.Classes with solely static members ...
 *   [AvoidDollarSigns](pmd_rules_java_codestyle.html#avoiddollarsigns): Avoid using dollar signs in variable/method/class/interface names.
-*   [AvoidFinalLocalVariable](pmd_rules_java_codestyle.html#avoidfinallocalvariable): Avoid using final local variables, turn them into fields.
+*   [AvoidFinalLocalVariable](pmd_rules_java_codestyle.html#avoidfinallocalvariable): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> Avoid using final local variables, turn them into fields.Note that this is a controversial rule w...
 *   [AvoidPrefixingMethodParameters](pmd_rules_java_codestyle.html#avoidprefixingmethodparameters): <span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f; font-size: 75%;">Deprecated</span> Prefixing parameters by 'in' or 'out' pollutes the name of the parameters and reduces code readab...
 *   [AvoidProtectedFieldInFinalClass](pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass): Do not use protected fields in final classes since they cannot be subclassed.Clarify your intent ...
 *   [AvoidProtectedMethodInFinalClassNotExtending](pmd_rules_java_codestyle.html#avoidprotectedmethodinfinalclassnotextending): Do not use protected methods in most final classes since they cannot be subclassed. This shouldon...
@@ -222,7 +222,7 @@ folder: pmd/rules
 *   [CloneMethodMustImplementCloneable](pmd_rules_java_errorprone.html#clonemethodmustimplementcloneable): The method clone() should only be implemented if the class implements the Cloneable interface wit...
 *   [CloneMethodReturnTypeMustMatchClassName](pmd_rules_java_errorprone.html#clonemethodreturntypemustmatchclassname): If a class implements cloneable the return type of the method clone() must be the class name. Tha...
 *   [CloneThrowsCloneNotSupportedException](pmd_rules_java_errorprone.html#clonethrowsclonenotsupportedexception): The method clone() should throw a CloneNotSupportedException.
-*   [CloseResource](pmd_rules_java_errorprone.html#closeresource): Ensure that resources (like Connection, Statement, and ResultSet objects) are always closed after...
+*   [CloseResource](pmd_rules_java_errorprone.html#closeresource): Ensure that resources (like 'java.sql.Connection', 'java.sql.Statement', and 'java.sql.ResultSet'...
 *   [CompareObjectsWithEquals](pmd_rules_java_errorprone.html#compareobjectswithequals): Use equals() to compare object references; avoid comparing them with ==.
 *   [ConstructorCallsOverridableMethod](pmd_rules_java_errorprone.html#constructorcallsoverridablemethod): Calling overridable methods during construction poses a risk of invoking methods on an incomplete...
 *   [DataflowAnomalyAnalysis](pmd_rules_java_errorprone.html#dataflowanomalyanalysis): The dataflow analysis tracks local definitions, undefinitions and references to variables on diff...
diff --git a/docs/pages/pmd/rules/java/codestyle.md b/docs/pages/pmd/rules/java/codestyle.md
index ef25185266..3c9cbab427 100644
--- a/docs/pages/pmd/rules/java/codestyle.md
+++ b/docs/pages/pmd/rules/java/codestyle.md
@@ -126,12 +126,25 @@ public class Fo$o {  // not a recommended name
 
 ## AvoidFinalLocalVariable
 
+<span style="border-radius: 0.25em; color: #fff; padding: 0.2em 0.6em 0.3em; display: inline; background-color: #d9534f;">Deprecated</span> 
+
 **Since:** PMD 4.1
 
 **Priority:** Medium (3)
 
 Avoid using final local variables, turn them into fields.
 
+Note that this is a controversial rule which is merely useful to enforce a certain code style
+(which is contradictory to good coding practices in most of the cases it's applied to) and
+avoid local literals being declared in a scope smaller than the class.
+
+Also note, that this rule is the opposite of {% rule &quot;java/codestyle/LocalVariableCouldBeFinal&quot; %}.
+Having both rules enabled results in contradictory violations being reported.
+
+This rule is deprecated and will be removed with PMD 7.0.0. There is no replacement planned.
+If the goal is to avoid defining constants in a scope smaller than the class, then the rule
+{% rule &quot;java/errorprone/AvoidDuplicateLiterals&quot; %} should be used instead.
+
 **This rule is defined by the following XPath expression:**
 ``` xpath
 //LocalVariableDeclaration[
@@ -512,6 +525,7 @@ public class Foo {
 |----|-------------|-----------|-----------|
 |ignoredAnnotations|com.google.common.annotations.VisibleForTesting \| android.support.annotation.VisibleForTesting|Fully qualified names of the annotation types that should be ignored by this rule|yes. Delimiter is '\|'.|
 |regex|\\/\\\*\\s+(default\|package)\\s+\\\*\\/|Regular expression|no|
+|checkTopLevelTypes|false|Check for default access modifier in top-level classes, annotations, and enums|no|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -524,6 +538,7 @@ public class Foo {
     <properties>
         <property name="ignoredAnnotations" value="com.google.common.annotations.VisibleForTesting|android.support.annotation.VisibleForTesting" />
         <property name="regex" value="\/\*\s+(default|package)\s+\*\/" />
+        <property name="checkTopLevelTypes" value="false" />
     </properties>
 </rule>
 ```
diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index 23386d725a..a85d3f1ed9 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -1163,7 +1163,17 @@ public class MyClass implements Cloneable{
 
 **Priority:** Medium (3)
 
-Ensure that resources (like Connection, Statement, and ResultSet objects) are always closed after use.
+Ensure that resources (like `java.sql.Connection`, `java.sql.Statement`, and `java.sql.ResultSet` objects
+and any subtype of `java.lang.AutoCloseable`) are always closed after use.
+Failing to do so might result in resource leaks.
+
+Note: It suffices to configure the super type, e.g. `java.lang.AutoClosable`, so that this rule automatically triggers
+on any subtype (e.g. `java.io.FileInputStream`). Additionally specifying `java.sql.Connection` helps in detecting
+the types, if the type resolution / auxclasspath is not correctly setup.
+
+Note: Since PMD 6.16.0 the default value for the property `types` contains `java.lang.AutoCloseable` and detects
+now cases where the standard `java.io.*Stream` classes are involved. In order to restore the old behaviour,
+just remove &quot;AutoCloseable&quot; from the types.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.errorprone.CloseResourceRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java)
 
@@ -1171,17 +1181,28 @@ Ensure that resources (like Connection, Statement, and ResultSet objects) are al
 
 ``` java
 public class Bar {
-  public void foo() {
-    Connection c = pool.getConnection();
-    try {
-      // do stuff
-    } catch (SQLException ex) {
-     // handle exception
-    } finally {
-      // oops, should close the connection using 'close'!
-      // c.close();
+    public void withSQL() {
+        Connection c = pool.getConnection();
+        try {
+            // do stuff
+        } catch (SQLException ex) {
+           // handle exception
+        } finally {
+            // oops, should close the connection using 'close'!
+            // c.close();
+        }
+    }
+
+    public void withFile() {
+        InputStream file = new FileInputStream(new File("/tmp/foo"));
+        try {
+            int c = file.in();
+        } catch (IOException e) {
+            // handle exception
+        } finally {
+            // TODO: close file
+        }
     }
-  }
 }
 ```
 
@@ -1190,8 +1211,9 @@ public class Bar {
 |Name|Default Value|Description|Multivalued|
 |----|-------------|-----------|-----------|
 |closeTargets||Methods which may close this resource|yes. Delimiter is ','.|
-|types|java.sql.Connection , java.sql.Statement , java.sql.ResultSet|Affected types|yes. Delimiter is ','.|
+|types|java.lang.AutoCloseable , java.sql.Connection , java.sql.Statement , java.sql.ResultSet|Affected types|yes. Delimiter is ','.|
 |closeAsDefaultTarget|true|Consider 'close' as a target by default|no|
+|allowedResourceTypes|java.io.ByteArrayOutputStream \| java.io.StringWriter|Exact class names that do not need to be closed|yes. Delimiter is '\|'.|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -1203,8 +1225,9 @@ public class Bar {
 <rule ref="category/java/errorprone.xml/CloseResource">
     <properties>
         <property name="closeTargets" value="" />
-        <property name="types" value="java.sql.Connection,java.sql.Statement,java.sql.ResultSet" />
+        <property name="types" value="java.lang.AutoCloseable,java.sql.Connection,java.sql.Statement,java.sql.ResultSet" />
         <property name="closeAsDefaultTarget" value="true" />
+        <property name="allowedResourceTypes" value="java.io.ByteArrayOutputStream|java.io.StringWriter" />
     </properties>
 </rule>
 ```

From 17faa9ead4d475293aba35e4460626dce5dfd722 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 30 Jun 2019 09:39:28 +0200
Subject: [PATCH 282/371] Update pmd-designer to 6.16.0

---
 docs/pages/release_notes.md | 5 +++++
 pom.xml                     | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index e1b36f133e..623c9b0936 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,6 +14,11 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### Updated PMD Designer
+
+This PMD release ships a new version of the pmd-designer.
+For the changes, see [PMD Designer Changelog](https://github.com/pmd/pmd-designer/releases/tag/6.16.0).
+
 #### PLSQL Grammar Updates
 
 The grammar has been updated to support inline constraints in CREATE TABLE statements. Additionally, the
diff --git a/pom.xml b/pom.xml
index 8e58990380..9d2c7f9c8f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -285,7 +285,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
 
         <pmd.build-tools.version>3</pmd.build-tools.version>
 
-        <pmd-designer.version>6.14.0</pmd-designer.version>
+        <pmd-designer.version>6.16.0</pmd-designer.version>
     </properties>
 
     <build>

From 743671ff2376fa8111ff2fab4d30a0324f4f3e6d Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 30 Jun 2019 10:23:07 +0200
Subject: [PATCH 283/371] Prepare pmd release 6.16.0

---
 docs/_config.yml                     |  2 +-
 docs/pages/next_major_development.md | 23 +++++++++++++++++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/docs/_config.yml b/docs/_config.yml
index 5791161d12..4b69c8bcaa 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -3,7 +3,7 @@ repository: pmd/pmd
 pmd:
     version: 6.16.0
     previous_version: 6.15.0
-    date: ??-June-2019
+    date: 30-June-2019
     release_type: minor
 
 # release types: major, minor, bugfix
diff --git a/docs/pages/next_major_development.md b/docs/pages/next_major_development.md
index e6ba911c9d..d2e0840206 100644
--- a/docs/pages/next_major_development.md
+++ b/docs/pages/next_major_development.md
@@ -73,6 +73,29 @@ the breaking API changes will be performed in 7.0.0.
 an API is tagged as `@Deprecated` or not in the latest minor release. During the development of 7.0.0,
 we may decide to remove some APIs that were not tagged as deprecated, though we'll try to avoid it." %}
 
+#### 6.16.0
+
+##### Deprecated APIs
+
+> Reminder: Please don't use members marked with the annotation {% jdoc core::annotation.InternalApi %}, as they will likely be removed, hidden, or otherwise intentionally broken with 7.0.0.
+
+
+###### In ASTs
+
+As part of the changes we'd like to do to AST classes for 7.0.0, we would like to
+hide some methods and constructors that rule writers should not have access to.
+The following usages are now deprecated **in the Java AST** (with other languages to come):
+
+* Manual instantiation of nodes. **Constructors of node classes are deprecated** and marked {% jdoc core::annotation.InternalApi %}. Nodes should only be obtained from the parser, which for rules, means that never need to instantiate node themselves. Those constructors will be made package private with 7.0.0.
+* **Subclassing of abstract node classes, or usage of their type**. Version 7.0.0 will bring a new set of abstractions that will be public API, but the base classes are and will stay internal. You should not couple your code to them.
+  * In the meantime you should use interfaces like {% jdoc java::lang.java.ast.JavaNode %} or  {% jdoc core::lang.ast.Node %}, or the other published interfaces in this package, to refer to nodes generically.
+  * Concrete node classes will **be made final** with 7.0.0.
+* Setters found in any node class or interface. **Rules should consider the AST immutable**. We will make those setters package private with 7.0.0.
+
+Please look at {% jdoc_package java::lang.java.ast %} to find out the full list
+of deprecations.
+
+
 #### 6.15.0
 
 ##### Deprecated APIs

From 45facbd32308e81c0e567e3f400f8161e30b5791 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 30 Jun 2019 10:32:58 +0200
Subject: [PATCH 284/371] [maven-release-plugin] prepare release
 pmd_releases/6.16.0

---
 pmd-apex-jorje/pom.xml  | 2 +-
 pmd-apex/pom.xml        | 2 +-
 pmd-core/pom.xml        | 2 +-
 pmd-cpp/pom.xml         | 2 +-
 pmd-cs/pom.xml          | 2 +-
 pmd-dart/pom.xml        | 2 +-
 pmd-dist/pom.xml        | 2 +-
 pmd-doc/pom.xml         | 2 +-
 pmd-fortran/pom.xml     | 2 +-
 pmd-go/pom.xml          | 2 +-
 pmd-groovy/pom.xml      | 2 +-
 pmd-java/pom.xml        | 2 +-
 pmd-java8/pom.xml       | 2 +-
 pmd-javascript/pom.xml  | 2 +-
 pmd-jsp/pom.xml         | 2 +-
 pmd-kotlin/pom.xml      | 2 +-
 pmd-lang-test/pom.xml   | 2 +-
 pmd-matlab/pom.xml      | 2 +-
 pmd-objectivec/pom.xml  | 2 +-
 pmd-perl/pom.xml        | 2 +-
 pmd-php/pom.xml         | 2 +-
 pmd-plsql/pom.xml       | 2 +-
 pmd-python/pom.xml      | 2 +-
 pmd-ruby/pom.xml        | 2 +-
 pmd-scala/pom.xml       | 2 +-
 pmd-swift/pom.xml       | 2 +-
 pmd-test/pom.xml        | 2 +-
 pmd-visualforce/pom.xml | 2 +-
 pmd-vm/pom.xml          | 2 +-
 pmd-xml/pom.xml         | 2 +-
 pom.xml                 | 4 ++--
 31 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/pmd-apex-jorje/pom.xml b/pmd-apex-jorje/pom.xml
index 66e61df977..af396fbd32 100644
--- a/pmd-apex-jorje/pom.xml
+++ b/pmd-apex-jorje/pom.xml
@@ -8,7 +8,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.16.0-SNAPSHOT</version>
+    <version>6.16.0</version>
   </parent>
 
   <properties>
diff --git a/pmd-apex/pom.xml b/pmd-apex/pom.xml
index 4d551dd897..937ac0c0f3 100644
--- a/pmd-apex/pom.xml
+++ b/pmd-apex/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.16.0-SNAPSHOT</version>
+    <version>6.16.0</version>
   </parent>
 
   <properties>
diff --git a/pmd-core/pom.xml b/pmd-core/pom.xml
index c33d0008d7..73af4e9e17 100644
--- a/pmd-core/pom.xml
+++ b/pmd-core/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-cpp/pom.xml b/pmd-cpp/pom.xml
index 9f26738735..9e96d4cf0b 100644
--- a/pmd-cpp/pom.xml
+++ b/pmd-cpp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-cs/pom.xml b/pmd-cs/pom.xml
index 0ec9a88410..eafefb2d0d 100644
--- a/pmd-cs/pom.xml
+++ b/pmd-cs/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-dart/pom.xml b/pmd-dart/pom.xml
index 68c14c4151..1fd0028029 100644
--- a/pmd-dart/pom.xml
+++ b/pmd-dart/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-dist/pom.xml b/pmd-dist/pom.xml
index a992ec8570..33d0bc3fd3 100644
--- a/pmd-dist/pom.xml
+++ b/pmd-dist/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-doc/pom.xml b/pmd-doc/pom.xml
index c32d846fa3..cfcd893542 100644
--- a/pmd-doc/pom.xml
+++ b/pmd-doc/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-fortran/pom.xml b/pmd-fortran/pom.xml
index 48b49b8d5a..d38d97f8ac 100644
--- a/pmd-fortran/pom.xml
+++ b/pmd-fortran/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-go/pom.xml b/pmd-go/pom.xml
index f92f9a4104..58a1a04d91 100644
--- a/pmd-go/pom.xml
+++ b/pmd-go/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-groovy/pom.xml b/pmd-groovy/pom.xml
index 26f7fb1d54..8509b9a44e 100644
--- a/pmd-groovy/pom.xml
+++ b/pmd-groovy/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-java/pom.xml b/pmd-java/pom.xml
index 98f8f964c8..cd5ba93f5d 100644
--- a/pmd-java/pom.xml
+++ b/pmd-java/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-java8/pom.xml b/pmd-java8/pom.xml
index 24fb01995e..dc30732bd7 100644
--- a/pmd-java8/pom.xml
+++ b/pmd-java8/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-javascript/pom.xml b/pmd-javascript/pom.xml
index a61b4024c4..6de9dc6f84 100644
--- a/pmd-javascript/pom.xml
+++ b/pmd-javascript/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-jsp/pom.xml b/pmd-jsp/pom.xml
index 8afa365d0a..3d9b07051b 100644
--- a/pmd-jsp/pom.xml
+++ b/pmd-jsp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-kotlin/pom.xml b/pmd-kotlin/pom.xml
index da6fc60074..c294cbd2b0 100644
--- a/pmd-kotlin/pom.xml
+++ b/pmd-kotlin/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-lang-test/pom.xml b/pmd-lang-test/pom.xml
index eba4e23799..f3ee6d7e87 100644
--- a/pmd-lang-test/pom.xml
+++ b/pmd-lang-test/pom.xml
@@ -12,7 +12,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-matlab/pom.xml b/pmd-matlab/pom.xml
index c0a8c4afbf..2b67fbf5c2 100644
--- a/pmd-matlab/pom.xml
+++ b/pmd-matlab/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-objectivec/pom.xml b/pmd-objectivec/pom.xml
index 0f76fa1b53..7e76f143e9 100644
--- a/pmd-objectivec/pom.xml
+++ b/pmd-objectivec/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-perl/pom.xml b/pmd-perl/pom.xml
index 599df6c63d..d02be73bf6 100644
--- a/pmd-perl/pom.xml
+++ b/pmd-perl/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-php/pom.xml b/pmd-php/pom.xml
index a69b1b0f18..0b3b6681b9 100644
--- a/pmd-php/pom.xml
+++ b/pmd-php/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-plsql/pom.xml b/pmd-plsql/pom.xml
index 5617aaa34d..cdfb3b0e80 100644
--- a/pmd-plsql/pom.xml
+++ b/pmd-plsql/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-python/pom.xml b/pmd-python/pom.xml
index a977c9d094..0680397676 100644
--- a/pmd-python/pom.xml
+++ b/pmd-python/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-ruby/pom.xml b/pmd-ruby/pom.xml
index 84af9ba351..fd1768472b 100644
--- a/pmd-ruby/pom.xml
+++ b/pmd-ruby/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-scala/pom.xml b/pmd-scala/pom.xml
index 83fe5e567a..3a36c8a12a 100644
--- a/pmd-scala/pom.xml
+++ b/pmd-scala/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml
index de51b2a4e0..018aa275de 100644
--- a/pmd-swift/pom.xml
+++ b/pmd-swift/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-test/pom.xml b/pmd-test/pom.xml
index 4c5f3b012a..3039102b9d 100644
--- a/pmd-test/pom.xml
+++ b/pmd-test/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-visualforce/pom.xml b/pmd-visualforce/pom.xml
index e5dbe32a95..dc92460314 100644
--- a/pmd-visualforce/pom.xml
+++ b/pmd-visualforce/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-vm/pom.xml b/pmd-vm/pom.xml
index 885fc90202..5c156570d3 100644
--- a/pmd-vm/pom.xml
+++ b/pmd-vm/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pmd-xml/pom.xml b/pmd-xml/pom.xml
index cf00576b5e..e27e5ad218 100644
--- a/pmd-xml/pom.xml
+++ b/pmd-xml/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0-SNAPSHOT</version>
+        <version>6.16.0</version>
     </parent>
 
     <build>
diff --git a/pom.xml b/pom.xml
index 9d2c7f9c8f..4c7d5843a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.16.0-SNAPSHOT</version>
+    <version>6.16.0</version>
     <packaging>pom</packaging>
     <name>PMD</name>
 
@@ -234,7 +234,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
         <connection>scm:git:git://github.com/pmd/pmd.git</connection>
         <developerConnection>scm:git:ssh://git@github.com/pmd/pmd.git</developerConnection>
         <url>https://github.com/pmd/pmd</url>
-        <tag>HEAD</tag>
+        <tag>pmd_releases/6.16.0</tag>
     </scm>
     <distributionManagement>
         <snapshotRepository>

From 73a8e4cc69ab4408feef209f449250a48a7bd126 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 30 Jun 2019 10:33:08 +0200
Subject: [PATCH 285/371] [maven-release-plugin] prepare for next development
 iteration

---
 pmd-apex-jorje/pom.xml  | 2 +-
 pmd-apex/pom.xml        | 2 +-
 pmd-core/pom.xml        | 2 +-
 pmd-cpp/pom.xml         | 2 +-
 pmd-cs/pom.xml          | 2 +-
 pmd-dart/pom.xml        | 2 +-
 pmd-dist/pom.xml        | 2 +-
 pmd-doc/pom.xml         | 2 +-
 pmd-fortran/pom.xml     | 2 +-
 pmd-go/pom.xml          | 2 +-
 pmd-groovy/pom.xml      | 2 +-
 pmd-java/pom.xml        | 2 +-
 pmd-java8/pom.xml       | 2 +-
 pmd-javascript/pom.xml  | 2 +-
 pmd-jsp/pom.xml         | 2 +-
 pmd-kotlin/pom.xml      | 2 +-
 pmd-lang-test/pom.xml   | 2 +-
 pmd-matlab/pom.xml      | 2 +-
 pmd-objectivec/pom.xml  | 2 +-
 pmd-perl/pom.xml        | 2 +-
 pmd-php/pom.xml         | 2 +-
 pmd-plsql/pom.xml       | 2 +-
 pmd-python/pom.xml      | 2 +-
 pmd-ruby/pom.xml        | 2 +-
 pmd-scala/pom.xml       | 2 +-
 pmd-swift/pom.xml       | 2 +-
 pmd-test/pom.xml        | 2 +-
 pmd-visualforce/pom.xml | 2 +-
 pmd-vm/pom.xml          | 2 +-
 pmd-xml/pom.xml         | 2 +-
 pom.xml                 | 4 ++--
 31 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/pmd-apex-jorje/pom.xml b/pmd-apex-jorje/pom.xml
index af396fbd32..fc096ae970 100644
--- a/pmd-apex-jorje/pom.xml
+++ b/pmd-apex-jorje/pom.xml
@@ -8,7 +8,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.16.0</version>
+    <version>6.17.0-SNAPSHOT</version>
   </parent>
 
   <properties>
diff --git a/pmd-apex/pom.xml b/pmd-apex/pom.xml
index 937ac0c0f3..3f7204095f 100644
--- a/pmd-apex/pom.xml
+++ b/pmd-apex/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.16.0</version>
+    <version>6.17.0-SNAPSHOT</version>
   </parent>
 
   <properties>
diff --git a/pmd-core/pom.xml b/pmd-core/pom.xml
index 73af4e9e17..e5c36bdd33 100644
--- a/pmd-core/pom.xml
+++ b/pmd-core/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-cpp/pom.xml b/pmd-cpp/pom.xml
index 9e96d4cf0b..1c544d5fd3 100644
--- a/pmd-cpp/pom.xml
+++ b/pmd-cpp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-cs/pom.xml b/pmd-cs/pom.xml
index eafefb2d0d..c158bb1cf6 100644
--- a/pmd-cs/pom.xml
+++ b/pmd-cs/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-dart/pom.xml b/pmd-dart/pom.xml
index 1fd0028029..9e3967ee4c 100644
--- a/pmd-dart/pom.xml
+++ b/pmd-dart/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-dist/pom.xml b/pmd-dist/pom.xml
index 33d0bc3fd3..1540caebfc 100644
--- a/pmd-dist/pom.xml
+++ b/pmd-dist/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-doc/pom.xml b/pmd-doc/pom.xml
index cfcd893542..ab62832e72 100644
--- a/pmd-doc/pom.xml
+++ b/pmd-doc/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-fortran/pom.xml b/pmd-fortran/pom.xml
index d38d97f8ac..d180c4bbed 100644
--- a/pmd-fortran/pom.xml
+++ b/pmd-fortran/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-go/pom.xml b/pmd-go/pom.xml
index 58a1a04d91..5b2f85b429 100644
--- a/pmd-go/pom.xml
+++ b/pmd-go/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-groovy/pom.xml b/pmd-groovy/pom.xml
index 8509b9a44e..26cbc9832a 100644
--- a/pmd-groovy/pom.xml
+++ b/pmd-groovy/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-java/pom.xml b/pmd-java/pom.xml
index cd5ba93f5d..2213df1538 100644
--- a/pmd-java/pom.xml
+++ b/pmd-java/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-java8/pom.xml b/pmd-java8/pom.xml
index dc30732bd7..ca34c630b8 100644
--- a/pmd-java8/pom.xml
+++ b/pmd-java8/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-javascript/pom.xml b/pmd-javascript/pom.xml
index 6de9dc6f84..ab05feefe0 100644
--- a/pmd-javascript/pom.xml
+++ b/pmd-javascript/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-jsp/pom.xml b/pmd-jsp/pom.xml
index 3d9b07051b..1f4fe8dc29 100644
--- a/pmd-jsp/pom.xml
+++ b/pmd-jsp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-kotlin/pom.xml b/pmd-kotlin/pom.xml
index c294cbd2b0..db9b4710f7 100644
--- a/pmd-kotlin/pom.xml
+++ b/pmd-kotlin/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-lang-test/pom.xml b/pmd-lang-test/pom.xml
index f3ee6d7e87..993bacd4b3 100644
--- a/pmd-lang-test/pom.xml
+++ b/pmd-lang-test/pom.xml
@@ -12,7 +12,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-matlab/pom.xml b/pmd-matlab/pom.xml
index 2b67fbf5c2..b2167a5daf 100644
--- a/pmd-matlab/pom.xml
+++ b/pmd-matlab/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-objectivec/pom.xml b/pmd-objectivec/pom.xml
index 7e76f143e9..d3da39e300 100644
--- a/pmd-objectivec/pom.xml
+++ b/pmd-objectivec/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-perl/pom.xml b/pmd-perl/pom.xml
index d02be73bf6..9f6c8dcc38 100644
--- a/pmd-perl/pom.xml
+++ b/pmd-perl/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-php/pom.xml b/pmd-php/pom.xml
index 0b3b6681b9..2b5e989163 100644
--- a/pmd-php/pom.xml
+++ b/pmd-php/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-plsql/pom.xml b/pmd-plsql/pom.xml
index cdfb3b0e80..f6f82b1dce 100644
--- a/pmd-plsql/pom.xml
+++ b/pmd-plsql/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-python/pom.xml b/pmd-python/pom.xml
index 0680397676..09f8a3de02 100644
--- a/pmd-python/pom.xml
+++ b/pmd-python/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-ruby/pom.xml b/pmd-ruby/pom.xml
index fd1768472b..72b40cb720 100644
--- a/pmd-ruby/pom.xml
+++ b/pmd-ruby/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-scala/pom.xml b/pmd-scala/pom.xml
index 3a36c8a12a..d5eff767b3 100644
--- a/pmd-scala/pom.xml
+++ b/pmd-scala/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml
index 018aa275de..3be97f4d3b 100644
--- a/pmd-swift/pom.xml
+++ b/pmd-swift/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-test/pom.xml b/pmd-test/pom.xml
index 3039102b9d..0bf33fe77a 100644
--- a/pmd-test/pom.xml
+++ b/pmd-test/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-visualforce/pom.xml b/pmd-visualforce/pom.xml
index dc92460314..ff9e531d6d 100644
--- a/pmd-visualforce/pom.xml
+++ b/pmd-visualforce/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-vm/pom.xml b/pmd-vm/pom.xml
index 5c156570d3..72407cf8c5 100644
--- a/pmd-vm/pom.xml
+++ b/pmd-vm/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-xml/pom.xml b/pmd-xml/pom.xml
index e27e5ad218..2ec3dc6ecd 100644
--- a/pmd-xml/pom.xml
+++ b/pmd-xml/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.16.0</version>
+        <version>6.17.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pom.xml b/pom.xml
index 4c7d5843a8..64d59a86b4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.16.0</version>
+    <version>6.17.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>PMD</name>
 
@@ -234,7 +234,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
         <connection>scm:git:git://github.com/pmd/pmd.git</connection>
         <developerConnection>scm:git:ssh://git@github.com/pmd/pmd.git</developerConnection>
         <url>https://github.com/pmd/pmd</url>
-        <tag>pmd_releases/6.16.0</tag>
+        <tag>HEAD</tag>
     </scm>
     <distributionManagement>
         <snapshotRepository>

From f6c43c63b61627535f729c2847b7a298b08f01d4 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 30 Jun 2019 11:04:30 +0200
Subject: [PATCH 286/371] Prepare next development version

---
 docs/_config.yml                |   6 +-
 docs/pages/release_notes.md     | 141 ----------------------------
 docs/pages/release_notes_old.md | 161 ++++++++++++++++++++++++++++++++
 3 files changed, 164 insertions(+), 144 deletions(-)

diff --git a/docs/_config.yml b/docs/_config.yml
index 4b69c8bcaa..e72b65f35a 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1,9 +1,9 @@
 repository: pmd/pmd
 
 pmd:
-    version: 6.16.0
-    previous_version: 6.15.0
-    date: 30-June-2019
+    version: 6.17.0
+    previous_version: 6.16.0
+    date: ??-July-2019
     release_type: minor
 
 # release types: major, minor, bugfix
diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 623c9b0936..b8f8783555 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,152 +14,11 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
-#### Updated PMD Designer
-
-This PMD release ships a new version of the pmd-designer.
-For the changes, see [PMD Designer Changelog](https://github.com/pmd/pmd-designer/releases/tag/6.16.0).
-
-#### PLSQL Grammar Updates
-
-The grammar has been updated to support inline constraints in CREATE TABLE statements. Additionally, the
-CREATE TABLE statement may now be followed by physical properties and table properties. However, these
-properties are skipped over during parsing.
-
-The CREATE VIEW statement now supports subquery views.
-
-The EXTRACT function can now be parsed correctly. It is used to extract values from a specified
-datetime field. Also date time literals are parsed now correctly.
-
-The CASE expression can now be properly used within SELECT statements.
-
-Table aliases are now supported when specifying columns in INSERT INTO clauses.
-
-#### New Rules
-
-*   The Java rule {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpractices`)
-    detects non static initializers in anonymous classes also known as "double brace initialization".
-    This can be problematic, since a new class file is generated and object holds a strong reference
-    to the surrounding class.
-    
-    Note: This rule is also part of the Java quickstart ruleset (`rulesets/java/quickstart.xml`).
-
-#### Modified Rules
-
-*   The Java rule {% rule "java/bestpractices/UnusedPrivateField" %} (`java-bestpractices`) now ignores by
-    default fields, that are annotated with the Lombok experimental annotation `@Delegate`. This can be
-    customized with the property `ignoredAnnotations`.
-
-*   The Java rule {% rule "java/design/SingularField" %} (`java-design`) now ignores by
-    default fields, that are annotated with the Lombok experimental annotation `@Delegate`. This can be
-    customized with the property `ignoredAnnotations`.
-
-*   The Java rules {% rule "java/multithreading/UnsynchronizedStaticFormatter" %} and
-    {% rule "java/multithreading/UnsynchronizedStaticDateFormatter" %} (`java-multithreading`)
-    now prefer synchronized blocks by default. They will raise a violation, if the synchronization is implemented
-    on the method level. To allow the old behavior, the new property `allowMethodLevelSynchronization` can
-    be enabled.
-
-*   The Java rule {% rule "java/design/UseUtilityClass" %} (`java-design`) has a new property `ignoredAnnotations`.
-    By default, classes that are annotated with Lombok's `@UtilityClass` are ignored now.
-
-*   The Java rule {% rule "java/errorprone/NonStaticInitializer" %} (`java-errorprone`) does not report
-    non static initializers in anonymous classes anymore. For this use case, there is a new rule now:
-    {% rule "java/bestpractices/DoubleBraceInitialization" %} (`java-bestpractices`).
-
-*   The Java rule {% rule "java/codestyle/CommentDefaultAccessModifier" %) (`java-codestyle`) was enhanced
-    in the last version 6.15.0 to check also top-level types by default. This created many new violations.
-    Missing the access modifier for top-level types is not so critical, since it only decreases the visibility
-    of the type.
-    
-    The default behaviour has been restored. If you want to enable the check for top-level types, you can
-    use the new property `checkTopLevelTypes`.
-
-*   The Java rule {% rule "java/errorprone/CloseResource" %} (`java-errorprone`) now by default searches
-    for any unclosed `java.lang.AutoCloseable` resource. This includes now the standard `java.io.*Stream` classes.
-    Previously only SQL-related resources were considered by this rule. The types can still be configured
-    via the `types` property. Some resources do not need to be closed (e.g. `ByteArrayOutputStream`). These
-    exceptions can be configured via the new property `allowedResourceTypes`.
-    In order to restore the old behaviour, just remove the type `java.lang.AutoCloseable` from the `types`
-    property and keep the remaining SQL-related classes.
-
-#### Deprecated Rules
-
-*   The Java rule {% rule "java/codestyle/AvoidFinalLocalVariable" %} (`java-codestyle`) has been deprecated
-    and will be removed with PMD 7.0.0. The rule is controversial and also contradicts other existing
-    rules such as {% rule "java/codestyle/LocalVariableCouldBeFinal" %}. If the goal is to avoid defining
-    constants in a scope smaller than the class, then the rule {% rule "java/errorprone/AvoidDuplicateLiterals" %}
-    should be used instead.
-
 ### Fixed Issues
 
-*   apex
-    *   [#1664](https://github.com/pmd/pmd/issues/1664): \[apex] False positive ApexSharingViolationsRule, unsupported Apex feature
-*   java
-    *   [#1848](https://github.com/pmd/pmd/issues/1848): \[java] Local classes should preserve their modifiers
-*   java-bestpractices
-    *   [#1703](https://github.com/pmd/pmd/issues/1703): \[java] UnusedPrivateField on member annotated with lombok @Delegate
-    *   [#1845](https://github.com/pmd/pmd/issues/1845): \[java] Regression in MethodReturnsInternalArray not handling enums
-    *   [#1854](https://github.com/pmd/pmd/issues/1854): \[java] Rule to check for double brace initialisation
-*   java-codestyle
-    *   [#1612](https://github.com/pmd/pmd/issues/1612): \[java] Deprecate AvoidFinalLocalVariable
-    *   [#1880](https://github.com/pmd/pmd/issues/1880): \[java] CommentDefaultAccessModifier should be configurable for top-level classes
-*   java-design
-    *   [#1094](https://github.com/pmd/pmd/issues/1094): \[java] UseUtilityClass should be LombokAware
-*   java-errorprone
-    *   [#1000](https://github.com/pmd/pmd/issues/1000): \[java] The rule CloseResource should deal with IO stream as default
-    *   [#1853](https://github.com/pmd/pmd/issues/1853): \[java] False positive for NonStaticInitializer in anonymous class
-*   java-multithreading
-    *   [#1814](https://github.com/pmd/pmd/issues/1814): \[java] UnsynchronizedStaticFormatter documentation and implementation wrong
-    *   [#1815](https://github.com/pmd/pmd/issues/1815): \[java] False negative in UnsynchronizedStaticFormatter
-*   plsql
-    *   [#1828](https://github.com/pmd/pmd/issues/1828): \[plsql] Parentheses stopped working
-    *   [#1850](https://github.com/pmd/pmd/issues/1850): \[plsql] Parsing errors with INSERT using returning or records and TRIM expression
-    *   [#1873](https://github.com/pmd/pmd/issues/1873): \[plsql] Expression list not working
-    *   [#1878](https://github.com/pmd/pmd/issues/1878): \[pslql] ParseException when parsing USING
-    *   [#1879](https://github.com/pmd/pmd/issues/1879): \[pslql] ParseException when parsing LEFT JOIN
-
 ### API Changes
 
-#### Deprecated APIs
-
-> Reminder: Please don't use members marked with the annotation {% jdoc core::annotation.InternalApi %}, as they will likely be removed, hidden, or otherwise intentionally broken with 7.0.0.
-
-
-##### In ASTs
-
-As part of the changes we'd like to do to AST classes for 7.0.0, we would like to
-hide some methods and constructors that rule writers should not have access to.
-The following usages are now deprecated **in the Java AST** (with other languages to come):
-
-* Manual instantiation of nodes. **Constructors of node classes are deprecated** and marked {% jdoc core::annotation.InternalApi %}. Nodes should only be obtained from the parser, which for rules, means that never need to instantiate node themselves. Those constructors will be made package private with 7.0.0.
-* **Subclassing of abstract node classes, or usage of their type**. Version 7.0.0 will bring a new set of abstractions that will be public API, but the base classes are and will stay internal. You should not couple your code to them.
-  * In the meantime you should use interfaces like {% jdoc java::lang.java.ast.JavaNode %} or  {% jdoc core::lang.ast.Node %}, or the other published interfaces in this package, to refer to nodes generically.
-  * Concrete node classes will **be made final** with 7.0.0.
-* Setters found in any node class or interface. **Rules should consider the AST immutable**. We will make those setters package private with 7.0.0.
-
-Please look at {% jdoc_package java::lang.java.ast %} to find out the full list
-of deprecations.
-
-
-
-
-
 ### External Contributions
 
-*   [#1482](https://github.com/pmd/pmd/pull/1482): \[java] Explain the existence of AvoidFinalLocalVariable in it's description - [Karl-Philipp Richter](https://github.com/krichter722)
-*   [#1792](https://github.com/pmd/pmd/pull/1792): \[java] Added lombok.experimental to AbstractLombokAwareRule - [jakivey32](https://github.com/jakivey32)
-*   [#1808](https://github.com/pmd/pmd/pull/1808): \[plsql] Fix PL/SQL Syntax errors - [Hugo Araya Nash](https://github.com/kabroxiko)
-*   [#1829](https://github.com/pmd/pmd/pull/1829): \[java] Fix false negative in UnsynchronizedStaticFormatter - [Srinivasan Venkatachalam](https://github.com/Srini1993)
-*   [#1847](https://github.com/pmd/pmd/pull/1847): \[java] Regression in MethodReturnsInternalArray not handling enums - [Artem](https://github.com/KroArtem)
-*   [#1863](https://github.com/pmd/pmd/pull/1863): \[plsql] Add Table InlineConstraint - [Hugo Araya Nash](https://github.com/kabroxiko)
-*   [#1864](https://github.com/pmd/pmd/pull/1864): \[plsql] Add support for Subquery Views - [Hugo Araya Nash](https://github.com/kabroxiko)
-*   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [Hugo Araya Nash](https://github.com/kabroxiko)
-*   [#1874](https://github.com/pmd/pmd/pull/1874): \[plsql] Add parenthesis equation support for Update - [Hugo Araya Nash](https://github.com/kabroxiko)
-*   [#1876](https://github.com/pmd/pmd/pull/1876): \[plsql] Datetime support for queries - [Hugo Araya Nash](https://github.com/kabroxiko)
-*   [#1883](https://github.com/pmd/pmd/pull/1883): \[plsql] Fix #1873 Expression list not working - [Hugo Araya Nash](https://github.com/kabroxiko)
-*   [#1884](https://github.com/pmd/pmd/pull/1884): \[plsql] fix #1878 Support explicit INNER word for INNER JOIN - [Hugo Araya Nash](https://github.com/kabroxiko)
-*   [#1885](https://github.com/pmd/pmd/pull/1885): \[plsql] Correct case expression - [Hugo Araya Nash](https://github.com/kabroxiko)
-*   [#1886](https://github.com/pmd/pmd/pull/1886): \[plsql] Support table alias for Insert Clause - [Hugo Araya Nash](https://github.com/kabroxiko)
-
 {% endtocmaker %}
 
diff --git a/docs/pages/release_notes_old.md b/docs/pages/release_notes_old.md
index ea1ed77757..2765fcd089 100644
--- a/docs/pages/release_notes_old.md
+++ b/docs/pages/release_notes_old.md
@@ -5,6 +5,167 @@ permalink: pmd_release_notes_old.html
 
 Previous versions of PMD can be downloaded here: https://github.com/pmd/pmd/releases
 
+## 30-June-2019 - 6.16.0
+
+The PMD team is pleased to announce PMD 6.16.0.
+
+This is a minor release.
+
+### Table Of Contents
+
+* [New and noteworthy](#new-and-noteworthy)
+    * [Updated PMD Designer](#updated-pmd-designer)
+    * [PLSQL Grammar Updates](#plsql-grammar-updates)
+    * [New Rules](#new-rules)
+    * [Modified Rules](#modified-rules)
+    * [Deprecated Rules](#deprecated-rules)
+* [Fixed Issues](#fixed-issues)
+* [API Changes](#api-changes)
+    * [Deprecated APIs](#deprecated-apis)
+        * [In ASTs](#in-asts)
+* [External Contributions](#external-contributions)
+
+### New and noteworthy
+
+#### Updated PMD Designer
+
+This PMD release ships a new version of the pmd-designer.
+For the changes, see [PMD Designer Changelog](https://github.com/pmd/pmd-designer/releases/tag/6.16.0).
+
+#### PLSQL Grammar Updates
+
+The grammar has been updated to support inline constraints in CREATE TABLE statements. Additionally, the
+CREATE TABLE statement may now be followed by physical properties and table properties. However, these
+properties are skipped over during parsing.
+
+The CREATE VIEW statement now supports subquery views.
+
+The EXTRACT function can now be parsed correctly. It is used to extract values from a specified
+datetime field. Also date time literals are parsed now correctly.
+
+The CASE expression can now be properly used within SELECT statements.
+
+Table aliases are now supported when specifying columns in INSERT INTO clauses.
+
+#### New Rules
+
+*   The Java rule [`DoubleBraceInitialization`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_bestpractices.html#doublebraceinitialization) (`java-bestpractices`)
+    detects non static initializers in anonymous classes also known as "double brace initialization".
+    This can be problematic, since a new class file is generated and object holds a strong reference
+    to the surrounding class.
+    
+    Note: This rule is also part of the Java quickstart ruleset (`rulesets/java/quickstart.xml`).
+
+#### Modified Rules
+
+*   The Java rule [`UnusedPrivateField`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_bestpractices.html#unusedprivatefield) (`java-bestpractices`) now ignores by
+    default fields, that are annotated with the Lombok experimental annotation `@Delegate`. This can be
+    customized with the property `ignoredAnnotations`.
+
+*   The Java rule [`SingularField`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_design.html#singularfield) (`java-design`) now ignores by
+    default fields, that are annotated with the Lombok experimental annotation `@Delegate`. This can be
+    customized with the property `ignoredAnnotations`.
+
+*   The Java rules [`UnsynchronizedStaticFormatter`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_multithreading.html#unsynchronizedstaticformatter) and
+    [`UnsynchronizedStaticDateFormatter`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_multithreading.html#unsynchronizedstaticdateformatter) (`java-multithreading`)
+    now prefer synchronized blocks by default. They will raise a violation, if the synchronization is implemented
+    on the method level. To allow the old behavior, the new property `allowMethodLevelSynchronization` can
+    be enabled.
+
+*   The Java rule [`UseUtilityClass`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_design.html#useutilityclass) (`java-design`) has a new property `ignoredAnnotations`.
+    By default, classes that are annotated with Lombok's `@UtilityClass` are ignored now.
+
+*   The Java rule [`NonStaticInitializer`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_errorprone.html#nonstaticinitializer) (`java-errorprone`) does not report
+    non static initializers in anonymous classes anymore. For this use case, there is a new rule now:
+    [`DoubleBraceInitialization`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_bestpractices.html#doublebraceinitialization) (`java-bestpractices`).
+
+*   The Java rule [`CommentDefaultAccessModifier`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier) (`java-errorprone`) now by default searches
+    for any unclosed `java.lang.AutoCloseable` resource. This includes now the standard `java.io.*Stream` classes.
+    Previously only SQL-related resources were considered by this rule. The types can still be configured
+    via the `types` property. Some resources do not need to be closed (e.g. `ByteArrayOutputStream`). These
+    exceptions can be configured via the new property `allowedResourceTypes`.
+    In order to restore the old behaviour, just remove the type `java.lang.AutoCloseable` from the `types`
+    property and keep the remaining SQL-related classes.
+
+#### Deprecated Rules
+
+*   The Java rule [`AvoidFinalLocalVariable`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_codestyle.html#avoidfinallocalvariable) (`java-codestyle`) has been deprecated
+    and will be removed with PMD 7.0.0. The rule is controversial and also contradicts other existing
+    rules such as [`LocalVariableCouldBeFinal`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_codestyle.html#localvariablecouldbefinal). If the goal is to avoid defining
+    constants in a scope smaller than the class, then the rule [`AvoidDuplicateLiterals`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_errorprone.html#avoidduplicateliterals)
+    should be used instead.
+
+### Fixed Issues
+
+*   apex
+    *   [#1664](https://github.com/pmd/pmd/issues/1664): \[apex] False positive ApexSharingViolationsRule, unsupported Apex feature
+*   java
+    *   [#1848](https://github.com/pmd/pmd/issues/1848): \[java] Local classes should preserve their modifiers
+*   java-bestpractices
+    *   [#1703](https://github.com/pmd/pmd/issues/1703): \[java] UnusedPrivateField on member annotated with lombok @Delegate
+    *   [#1845](https://github.com/pmd/pmd/issues/1845): \[java] Regression in MethodReturnsInternalArray not handling enums
+    *   [#1854](https://github.com/pmd/pmd/issues/1854): \[java] Rule to check for double brace initialisation
+*   java-codestyle
+    *   [#1612](https://github.com/pmd/pmd/issues/1612): \[java] Deprecate AvoidFinalLocalVariable
+    *   [#1880](https://github.com/pmd/pmd/issues/1880): \[java] CommentDefaultAccessModifier should be configurable for top-level classes
+*   java-design
+    *   [#1094](https://github.com/pmd/pmd/issues/1094): \[java] UseUtilityClass should be LombokAware
+*   java-errorprone
+    *   [#1000](https://github.com/pmd/pmd/issues/1000): \[java] The rule CloseResource should deal with IO stream as default
+    *   [#1853](https://github.com/pmd/pmd/issues/1853): \[java] False positive for NonStaticInitializer in anonymous class
+*   java-multithreading
+    *   [#1814](https://github.com/pmd/pmd/issues/1814): \[java] UnsynchronizedStaticFormatter documentation and implementation wrong
+    *   [#1815](https://github.com/pmd/pmd/issues/1815): \[java] False negative in UnsynchronizedStaticFormatter
+*   plsql
+    *   [#1828](https://github.com/pmd/pmd/issues/1828): \[plsql] Parentheses stopped working
+    *   [#1850](https://github.com/pmd/pmd/issues/1850): \[plsql] Parsing errors with INSERT using returning or records and TRIM expression
+    *   [#1873](https://github.com/pmd/pmd/issues/1873): \[plsql] Expression list not working
+    *   [#1878](https://github.com/pmd/pmd/issues/1878): \[pslql] ParseException when parsing USING
+    *   [#1879](https://github.com/pmd/pmd/issues/1879): \[pslql] ParseException when parsing LEFT JOIN
+
+### API Changes
+
+#### Deprecated APIs
+
+> Reminder: Please don't use members marked with the annotation [`InternalApi`](https://javadoc.io/page/net.sourceforge.pmd/pmd-core/6.16.0/net/sourceforge/pmd/annotation/InternalApi.html#), as they will likely be removed, hidden, or otherwise intentionally broken with 7.0.0.
+
+
+##### In ASTs
+
+As part of the changes we'd like to do to AST classes for 7.0.0, we would like to
+hide some methods and constructors that rule writers should not have access to.
+The following usages are now deprecated **in the Java AST** (with other languages to come):
+
+* Manual instantiation of nodes. **Constructors of node classes are deprecated** and marked [`InternalApi`](https://javadoc.io/page/net.sourceforge.pmd/pmd-core/6.16.0/net/sourceforge/pmd/annotation/InternalApi.html#). Nodes should only be obtained from the parser, which for rules, means that never need to instantiate node themselves. Those constructors will be made package private with 7.0.0.
+* **Subclassing of abstract node classes, or usage of their type**. Version 7.0.0 will bring a new set of abstractions that will be public API, but the base classes are and will stay internal. You should not couple your code to them.
+  * In the meantime you should use interfaces like [`JavaNode`](https://javadoc.io/page/net.sourceforge.pmd/pmd-java/6.16.0/net/sourceforge/pmd/lang/java/ast/JavaNode.html#) or  [`Node`](https://javadoc.io/page/net.sourceforge.pmd/pmd-core/6.16.0/net/sourceforge/pmd/lang/ast/Node.html#), or the other published interfaces in this package, to refer to nodes generically.
+  * Concrete node classes will **be made final** with 7.0.0.
+* Setters found in any node class or interface. **Rules should consider the AST immutable**. We will make those setters package private with 7.0.0.
+
+Please look at [`net.sourceforge.pmd.lang.java.ast`](https://javadoc.io/page/net.sourceforge.pmd/pmd-java/6.16.0/net/sourceforge/pmd/lang/java/ast/package-summary.html#) to find out the full list
+of deprecations.
+
+
+
+
+
+### External Contributions
+
+*   [#1482](https://github.com/pmd/pmd/pull/1482): \[java] Explain the existence of AvoidFinalLocalVariable in it's description - [Karl-Philipp Richter](https://github.com/krichter722)
+*   [#1792](https://github.com/pmd/pmd/pull/1792): \[java] Added lombok.experimental to AbstractLombokAwareRule - [jakivey32](https://github.com/jakivey32)
+*   [#1808](https://github.com/pmd/pmd/pull/1808): \[plsql] Fix PL/SQL Syntax errors - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1829](https://github.com/pmd/pmd/pull/1829): \[java] Fix false negative in UnsynchronizedStaticFormatter - [Srinivasan Venkatachalam](https://github.com/Srini1993)
+*   [#1847](https://github.com/pmd/pmd/pull/1847): \[java] Regression in MethodReturnsInternalArray not handling enums - [Artem](https://github.com/KroArtem)
+*   [#1863](https://github.com/pmd/pmd/pull/1863): \[plsql] Add Table InlineConstraint - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1864](https://github.com/pmd/pmd/pull/1864): \[plsql] Add support for Subquery Views - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1874](https://github.com/pmd/pmd/pull/1874): \[plsql] Add parenthesis equation support for Update - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1876](https://github.com/pmd/pmd/pull/1876): \[plsql] Datetime support for queries - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1883](https://github.com/pmd/pmd/pull/1883): \[plsql] Fix #1873 Expression list not working - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1884](https://github.com/pmd/pmd/pull/1884): \[plsql] fix #1878 Support explicit INNER word for INNER JOIN - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1885](https://github.com/pmd/pmd/pull/1885): \[plsql] Correct case expression - [Hugo Araya Nash](https://github.com/kabroxiko)
+*   [#1886](https://github.com/pmd/pmd/pull/1886): \[plsql] Support table alias for Insert Clause - [Hugo Araya Nash](https://github.com/kabroxiko)
+
 ## 26-May-2019 - 6.15.0
 
 The PMD team is pleased to announce PMD 6.15.0.

From 1a690ed1e83875773183b73a333d421b3cdff062 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Mon, 1 Jul 2019 18:33:48 +0200
Subject: [PATCH 287/371] Fix DoubleBraceInitialization example

---
 .../resources/category/java/bestpractices.xml   | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/pmd-java/src/main/resources/category/java/bestpractices.xml b/pmd-java/src/main/resources/category/java/bestpractices.xml
index acb14b3c08..1cbc1fe9ab 100644
--- a/pmd-java/src/main/resources/category/java/bestpractices.xml
+++ b/pmd-java/src/main/resources/category/java/bestpractices.xml
@@ -424,16 +424,15 @@ public class Foo {
                 </value>
             </property>
         </properties>
-        <example>
-<![CDATA[
-            // this is double-brace initialization
-            return new ArrayList<String>(){{addAll("a","b","c");}};
+        <example><![CDATA[
+// this is double-brace initialization
+return new ArrayList<String>(){%raw%}{{ addAll("a","b","c"); }};{%endraw%}
 
-                    // the better way is to not create an anonymous class:
-                    List<String> a=new ArrayList<>();
-                    a.addAll("a","b","c");
-                    return a;
-            ]]>
+// the better way is to not create an anonymous class:
+List<String> a = new ArrayList<>();
+a.addAll("a","b","c");
+return a;
+]]>
         </example>
     </rule>
 

From 85186f46aa268b6b8c8f0a1c0c83a09e7265d46f Mon Sep 17 00:00:00 2001
From: "Travis CI (pmd-bot)" <andreas.dangel+pmd-bot@adangel.org>
Date: Mon, 1 Jul 2019 16:53:51 +0000
Subject: [PATCH 288/371] Update documentation

TRAVIS_JOB_NUMBER=3945.1
TRAVIS_COMMIT_RANGE=f6c43c63b616...1a690ed1e838
---
 docs/pages/pmd/rules/java/bestpractices.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/docs/pages/pmd/rules/java/bestpractices.md b/docs/pages/pmd/rules/java/bestpractices.md
index 3f64ad46fc..4fe71fb790 100644
--- a/docs/pages/pmd/rules/java/bestpractices.md
+++ b/docs/pages/pmd/rules/java/bestpractices.md
@@ -488,12 +488,12 @@ accessible from outside the anonymous class, and those legit cases should be sup
 
 ``` java
 // this is double-brace initialization
-            return new ArrayList<String>(){{addAll("a","b","c");}};
+return new ArrayList<String>(){%raw%}{{ addAll("a","b","c"); }};{%endraw%}
 
-                    // the better way is to not create an anonymous class:
-                    List<String> a=new ArrayList<>();
-                    a.addAll("a","b","c");
-                    return a;
+// the better way is to not create an anonymous class:
+List<String> a = new ArrayList<>();
+a.addAll("a","b","c");
+return a;
 ```
 
 **Use this rule by referencing it:**

From e8f62f8d58f27300cca06b841704fa75ae3ab936 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Mon, 1 Jul 2019 19:06:45 +0200
Subject: [PATCH 289/371] Fix release notes for 6.16.0

Refs #1896
---
 docs/pages/release_notes_old.md | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/docs/pages/release_notes_old.md b/docs/pages/release_notes_old.md
index 2765fcd089..477d4a430d 100644
--- a/docs/pages/release_notes_old.md
+++ b/docs/pages/release_notes_old.md
@@ -79,7 +79,15 @@ Table aliases are now supported when specifying columns in INSERT INTO clauses.
     non static initializers in anonymous classes anymore. For this use case, there is a new rule now:
     [`DoubleBraceInitialization`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_bestpractices.html#doublebraceinitialization) (`java-bestpractices`).
 
-*   The Java rule [`CommentDefaultAccessModifier`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier) (`java-errorprone`) now by default searches
+*   The Java rule [`CommentDefaultAccessModifier`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier) (`java-codestyle`) was enhanced
+    in the last version 6.15.0 to check also top-level types by default. This created many new violations.
+    Missing the access modifier for top-level types is not so critical, since it only decreases the visibility
+    of the type.
+    
+    The default behaviour has been restored. If you want to enable the check for top-level types, you can
+    use the new property `checkTopLevelTypes`.
+
+*   The Java rule [`CloseResource`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_errorprone.html#closeresource) (`java-errorprone`) now by default searches
     for any unclosed `java.lang.AutoCloseable` resource. This includes now the standard `java.io.*Stream` classes.
     Previously only SQL-related resources were considered by this rule. The types can still be configured
     via the `types` property. Some resources do not need to be closed (e.g. `ByteArrayOutputStream`). These

From cf16484ec6d294d0c1c7aa8ccac1e05dbb522a5f Mon Sep 17 00:00:00 2001
From: YoonhoChoi96 <uenho830@gmail.com>
Date: Fri, 5 Jul 2019 10:04:37 +0900
Subject: [PATCH 290/371] Modifiying for reduce Fasle Positive in DFA Analysis
 Rule

---
 .../lang/java/dfa/VariableAccessVisitor.java  | 58 ++++++++++++++++++-
 1 file changed, 56 insertions(+), 2 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java
index ecd6348877..d60c3649d1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java
@@ -4,7 +4,9 @@
 
 package net.sourceforge.pmd.lang.java.dfa;
 
+import java.util.AbstractMap.SimpleEntry;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -14,6 +16,7 @@ import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.dfa.DataFlowNode;
 import net.sourceforge.pmd.lang.dfa.StartOrEndDataFlowNode;
 import net.sourceforge.pmd.lang.dfa.VariableAccess;
+import net.sourceforge.pmd.lang.java.ast.ASTAssignmentOperator;
 import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceBodyDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTConstructorDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTFormalParameter;
@@ -45,6 +48,8 @@ public class VariableAccessVisitor extends JavaParserVisitorAdapter {
     }
 
     private void computeNow(Node node) {
+        
+
         DataFlowNode inode = node.getDataFlowNode();
 
         List<VariableAccess> undefinitions = markUsages(inode);
@@ -65,7 +70,6 @@ public class VariableAccessVisitor extends JavaParserVisitorAdapter {
         for (Map<VariableNameDeclaration, List<NameOccurrence>> declarations : variableDeclarations) {
             for (Map.Entry<VariableNameDeclaration, List<NameOccurrence>> entry : declarations.entrySet()) {
                 VariableNameDeclaration vnd = entry.getKey();
-
                 if (vnd.getAccessNodeParent() instanceof ASTFormalParameter) {
                     // no definition/undefinition/references for parameters
                     continue;
@@ -76,8 +80,58 @@ public class VariableAccessVisitor extends JavaParserVisitorAdapter {
                 }
                 undefinitions.add(new VariableAccess(VariableAccess.UNDEFINITION, vnd.getImage()));
 
+                //make arraylist which could store all name occurrences
+                List<NameOccurrence> data = new ArrayList<>();
+
+                //make arraylist which could store sorted name occurrences
+                List<NameOccurrence> order = new ArrayList<>();
+
+                //add all occurrences to arraylist(data)
                 for (NameOccurrence occurrence : entry.getValue()) {
-                    addAccess((JavaNameOccurrence) occurrence, inode);
+                    data.add(occurrence);
+                }
+                
+                //make arraylist which could store pair structure which is consist of assignment operator and related Name occurrences
+                ArrayList<SimpleEntry<Node, NameOccurrence>> assignments = new ArrayList<>();
+
+                //travers all elements which are in arraylist(data)
+                for (NameOccurrence name : data) {
+                    //Make a flag which is for preventing double addition of same name occurrence
+                    int flag = 0;
+                    //traverse parents nodes until it is method declaration or constructor declaration
+                    checker :
+                    for (Node temp = name.getLocation(); !(temp.jjtGetParent() instanceof ASTMethodDeclaration) 
+                        && !(temp.jjtGetParent() instanceof ASTConstructorDeclaration); temp = temp.jjtGetParent()) {
+                        //traverse children nodes to check it has assignment operator as a child 
+                        for (int i = 0; i < temp.jjtGetNumChildren(); i++) {
+                            if (temp.jjtGetChild(i) instanceof ASTAssignmentOperator) {
+                                //if assignment operator is found, add to arraylist(assignments) with the assignment operator and its name
+                                assignments.add(new SimpleEntry(temp.jjtGetChild(i), name));
+                                //change flag
+                                flag = 1;
+                                break checker;    
+                            }
+                        }
+                    }
+                    //if a name is not related to assignment operator, add to arraylist(assignments) with null and its name
+                    if (flag == 0) {
+                        assignments.add(new SimpleEntry(null, name));
+                    }
+                }
+                //swap the arraylist(assignments)'s elements, when it share same assignment operator
+                for (int i = 0; i < assignments.size() - 1; i++) {
+                    if (assignments.get(i).getKey() != null 
+                        && assignments.get(i).getKey().equals(assignments.get(i + 1).getKey())) {
+                        Collections.swap(assignments, i, i + 1);
+                    }
+                }
+                //add sorted element from assignments(arraylist) to order(arraylist) 
+                for (SimpleEntry<Node, NameOccurrence> tempPair : assignments) {
+                    order.add(tempPair.getValue());
+                }
+                //add access to the sorted arraylist
+                for (NameOccurrence orderedOccurrence : order) {
+                    addAccess((JavaNameOccurrence) orderedOccurrence, inode);
                 }
             }
         }

From 6cb07014983164c8819d083c762c9a42e0827380 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 6 Jul 2019 11:15:30 +0200
Subject: [PATCH 291/371] [doc] Fix broken internal links

* Links to pages need to be relative...
* Fixes #1906
---
 docs/pages/pmd/rules/java/design.md                  | 4 ++--
 docs/pages/pmd/userdocs/cli_reference.md             | 2 +-
 docs/pages/pmd/userdocs/cpd.md                       | 2 +-
 docs/pages/pmd/userdocs/installation.md              | 2 +-
 pmd-java/src/main/resources/category/java/design.xml | 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/docs/pages/pmd/rules/java/design.md b/docs/pages/pmd/rules/java/design.md
index a1bba57d0c..ca13441730 100644
--- a/docs/pages/pmd/rules/java/design.md
+++ b/docs/pages/pmd/rules/java/design.md
@@ -1245,7 +1245,7 @@ public class Foo extends Bar {
 This rule uses the NCSS (Non-Commenting Source Statements) metric to determine the number of lines
 of code in a class, method or constructor. NCSS ignores comments, blank lines, and only counts actual
 statements. For more details on the calculation, see the documentation of
-the [NCSS metric](/pmd_java_metrics_index.html#non-commenting-source-statements-ncss).
+the [NCSS metric](pmd_java_metrics_index.html#non-commenting-source-statements-ncss).
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.java.rule.design.NcssCountRule](https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/NcssCountRule.java)
 
@@ -1426,7 +1426,7 @@ The NPath complexity of a method is the number of acyclic execution paths throug
 While cyclomatic complexity counts the number of decision points in a method, NPath counts the number of
 full paths from the beginning to the end of the block of the method. That metric grows exponentially, as
 it multiplies the complexity of statements in the same block. For more details on the calculation, see the
-documentation of the [NPath metric](/pmd_java_metrics_index.html#npath-complexity-npath).
+documentation of the [NPath metric](pmd_java_metrics_index.html#npath-complexity-npath).
 
 A threshold of 200 is generally considered the point where measures should be taken to reduce
 complexity and increase readability.
diff --git a/docs/pages/pmd/userdocs/cli_reference.md b/docs/pages/pmd/userdocs/cli_reference.md
index 68909b97a1..57356e4a5e 100644
--- a/docs/pages/pmd/userdocs/cli_reference.md
+++ b/docs/pages/pmd/userdocs/cli_reference.md
@@ -181,7 +181,7 @@ This behavior has been introduced to ease PMD integration into scripts or hooks,
 *   [plsql](pmd_rules_plsql.html)
 *   [vf](pmd_rules_vf.html) (Salesforce VisualForce)
 *   [vm](pmd_rules_vm.html) (Apache Velocity)
-*   [xml and xsl](/pmd_rules_xml.html)
+*   [xml and xsl](pmd_rules_xml.html)
 
 
 ## Available Report Formats
diff --git a/docs/pages/pmd/userdocs/cpd.md b/docs/pages/pmd/userdocs/cpd.md
index 492776d5df..fbc1b267f7 100644
--- a/docs/pages/pmd/userdocs/cpd.md
+++ b/docs/pages/pmd/userdocs/cpd.md
@@ -17,7 +17,7 @@ It can also be run with Maven by using the `cpd-check` goal on the [Maven PMD Pl
 
 
 Your own language is missing?
-See how to add it [here](/pmd_devdocs_major_adding_new_cpd_language.html).
+See how to add it [here](pmd_devdocs_major_adding_new_cpd_language.html).
 
 
 ### Why should you care about duplicates?
diff --git a/docs/pages/pmd/userdocs/installation.md b/docs/pages/pmd/userdocs/installation.md
index 31734de6a7..e8ed430074 100644
--- a/docs/pages/pmd/userdocs/installation.md
+++ b/docs/pages/pmd/userdocs/installation.md
@@ -22,7 +22,7 @@ sidebar: pmd_sidebar
 
 ### Installation
 
-PMD is distributed as a zip archive, which includes both [PMD](#running-pmd-via-command-line) and [CPD](/pmd_userdocs_cpd.html). 
+PMD is distributed as a zip archive, which includes both [PMD](#running-pmd-via-command-line) and [CPD](pmd_userdocs_cpd.html). 
 You can download the latest binary distribution from [the github releases page](https://github.com/pmd/pmd/releases).
 
 Unzip it into any directory, optionally add the `bin` subdirectory in your `PATH`, and you're good to go!         
diff --git a/pmd-java/src/main/resources/category/java/design.xml b/pmd-java/src/main/resources/category/java/design.xml
index 41cc421ca4..b65b33eb9a 100644
--- a/pmd-java/src/main/resources/category/java/design.xml
+++ b/pmd-java/src/main/resources/category/java/design.xml
@@ -995,7 +995,7 @@ public class Foo extends Bar {
 This rule uses the NCSS (Non-Commenting Source Statements) metric to determine the number of lines
 of code in a class, method or constructor. NCSS ignores comments, blank lines, and only counts actual
 statements. For more details on the calculation, see the documentation of
-the [NCSS metric](/pmd_java_metrics_index.html#non-commenting-source-statements-ncss).
+the [NCSS metric](pmd_java_metrics_index.html#non-commenting-source-statements-ncss).
         </description>
         <priority>3</priority>
         <example>
@@ -1106,7 +1106,7 @@ The NPath complexity of a method is the number of acyclic execution paths throug
 While cyclomatic complexity counts the number of decision points in a method, NPath counts the number of
 full paths from the beginning to the end of the block of the method. That metric grows exponentially, as
 it multiplies the complexity of statements in the same block. For more details on the calculation, see the
-documentation of the [NPath metric](/pmd_java_metrics_index.html#npath-complexity-npath).
+documentation of the [NPath metric](pmd_java_metrics_index.html#npath-complexity-npath).
 
 A threshold of 200 is generally considered the point where measures should be taken to reduce
 complexity and increase readability.

From b691cec6a403157114a117b948f0cd0d3f37d09c Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 6 Jul 2019 12:00:33 +0200
Subject: [PATCH 292/371] [doc] Improve DeadLinksChecker

A leading slash is a problem now. Links need to be relative.
---
 .../pmd/docs/DeadLinksChecker.java            | 22 +++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java
index 75e2aff439..ca2e400942 100644
--- a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java
+++ b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java
@@ -30,6 +30,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 import java.util.concurrent.FutureTask;
+import java.util.concurrent.RunnableFuture;
 import java.util.logging.Logger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -79,7 +80,7 @@ public class DeadLinksChecker {
         final Path pagesDirectory = rootDirectory.resolve("docs/pages");
 
         if (!Files.isDirectory(pagesDirectory)) {
-            LOG.warning("can't check for dead links, didn't find \"pages\" directory at: " + pagesDirectory);
+            LOG.severe("can't check for dead links, didn't find \"pages\" directory at: " + pagesDirectory);
             System.exit(1);
         }
 
@@ -110,10 +111,13 @@ public class DeadLinksChecker {
                 linkCheck:
                 while (matcher.find()) {
                     final String linkText = matcher.group();
-                    final String linkTarget = matcher.group(1).replaceAll("^/+", ""); // remove the leading "/"
+                    final String linkTarget = matcher.group(1);
                     boolean linkOk;
 
-                    if (linkTarget.startsWith(LOCAL_FILE_PREFIX)) {
+                    if (linkTarget.charAt(0) == '/') {
+                        // links must never start with / - they must be relative or start with https?//...
+                        linkOk = false;
+                    } else if (linkTarget.startsWith(LOCAL_FILE_PREFIX)) {
                         String localLinkPart = linkTarget.substring(LOCAL_FILE_PREFIX.length());
                         if (localLinkPart.contains("#")) {
                             localLinkPart = localLinkPart.substring(0, localLinkPart.indexOf('#'));
@@ -168,7 +172,11 @@ public class DeadLinksChecker {
                     }
 
                     if (!linkOk) {
-                        addDeadLink(fileToDeadLinks, mdFile, new FutureTask<>(() -> String.format("%8d: %s", lineNo, linkText)));
+                        RunnableFuture<String> futureTask = new FutureTask<>(() -> String.format("%8d: %s", lineNo, linkText));
+                        // execute this task immediately in this thread.
+                        // External links are checked by another executor and don't end up here.
+                        futureTask.run();
+                        addDeadLink(fileToDeadLinks, mdFile, futureTask);
                     }
                 }
             }
@@ -322,6 +330,12 @@ public class DeadLinksChecker {
 
 
     public static void main(String[] args) throws IOException {
+        if (args.length != 1) {
+            System.err.println("Wrong arguments!");
+            System.err.println();
+            System.err.println("java " + DeadLinksChecker.class.getSimpleName() + " <project base directory>");
+            System.exit(1);
+        }
         final Path rootDirectory = Paths.get(args[0]).resolve("..").toRealPath();
 
         DeadLinksChecker deadLinksChecker = new DeadLinksChecker();

From 1f18888380cfe4d6d309f31385d6b25bac217e08 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 6 Jul 2019 12:01:40 +0200
Subject: [PATCH 293/371] Update release notes, fixes #1906

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..ad683c568e 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,6 +16,9 @@ This is a {{ site.pmd.release_type }} release.
 
 ### Fixed Issues
 
+*   doc
+    *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
+
 ### API Changes
 
 ### External Contributions

From 8216c3517f604fc505c677f57c52450eaf97d5c4 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 6 Jul 2019 15:53:46 +0200
Subject: [PATCH 294/371] [doc] Error in changelog 6.16.0 due to not properly
 closed rule tag

Fixes #1896
---
 docs/pages/release_notes.md                   |   1 +
 pmd-doc/pom.xml                               |  13 ++
 .../sourceforge/pmd/docs/RuleTagChecker.java  | 139 ++++++++++++++++++
 .../pmd/docs/RuleTagCheckerTest.java          |  29 ++++
 .../pages/pmd/rules/java/bestpractices.md     |   4 +
 .../docs/pages/ruletag-examples.md            |  12 ++
 6 files changed, 198 insertions(+)
 create mode 100644 pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleTagChecker.java
 create mode 100644 pmd-doc/src/test/java/net/sourceforge/pmd/docs/RuleTagCheckerTest.java
 create mode 100644 pmd-doc/src/test/resources/ruletagchecker/docs/pages/pmd/rules/java/bestpractices.md
 create mode 100644 pmd-doc/src/test/resources/ruletagchecker/docs/pages/ruletag-examples.md

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index ad683c568e..b7ff7a206d 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -17,6 +17,7 @@ This is a {{ site.pmd.release_type }} release.
 ### Fixed Issues
 
 *   doc
+    *   [#1896](https://github.com/pmd/pmd/issues/1896): \[doc] Error in changelog 6.16.0 due to not properly closed rule tag
     *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
 
 ### API Changes
diff --git a/pmd-doc/pom.xml b/pmd-doc/pom.xml
index ab62832e72..eb26c4c980 100644
--- a/pmd-doc/pom.xml
+++ b/pmd-doc/pom.xml
@@ -51,6 +51,19 @@
                             </arguments>
                         </configuration>
                     </execution>
+                    <execution>
+                        <id>check-rule-tags</id>
+                        <goals>
+                            <goal>java</goal>
+                        </goals>
+                        <phase>verify</phase>
+                        <configuration>
+                            <mainClass>net.sourceforge.pmd.docs.RuleTagChecker</mainClass>
+                            <arguments>
+                                <argument>${project.basedir}</argument>
+                            </arguments>
+                        </configuration>
+                    </execution>
                 </executions>
             </plugin>
         </plugins>
diff --git a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleTagChecker.java b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleTagChecker.java
new file mode 100644
index 0000000000..55603bace4
--- /dev/null
+++ b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleTagChecker.java
@@ -0,0 +1,139 @@
+/*
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.docs;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileVisitResult;
+import java.nio.file.Files;
+import java.nio.file.NoSuchFileException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class RuleTagChecker {
+    private static final Logger LOG = Logger.getLogger(DeadLinksChecker.class.getName());
+
+    private static final Pattern RULE_TAG = Pattern.compile("\\{%\\s*rule\\s+\"(.*?)\"\\s*");
+    private static final Pattern RULE_REFERENCE = Pattern.compile("(\\w+)\\/(\\w+)\\/(\\w+)");
+    
+    private final Path pagesDirectory;
+    private final List<String> issues = new ArrayList<>();
+    private final Map<Path, Set<String>> rulesCache = new HashMap<>();
+
+    public RuleTagChecker(Path rootDirectory) {
+        final Path pagesDirectory = rootDirectory.resolve("docs/pages");
+        
+        if (!Files.isDirectory(pagesDirectory)) {
+            LOG.severe("can't check rule tags, didn't find \"docs/pages\" directory at: " + pagesDirectory);
+            System.exit(1);
+        }
+
+        this.pagesDirectory = pagesDirectory;
+    }
+
+    public List<String> check() throws IOException {
+        Files.walkFileTree(pagesDirectory, new SimpleFileVisitor<Path>() {
+            @Override
+            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
+                checkFile(file);
+                return super.visitFile(file, attrs);
+            }
+        });
+        return issues;
+    }
+
+    private void checkFile(Path file) throws IOException {
+        if (file == null || !file.getFileName().toString().toLowerCase(Locale.ROOT).endsWith(".md")) {
+            return;
+        }
+
+        LOG.finer("Checking " + file);
+        int lineNo = 0;
+        for (String line : Files.readAllLines(file, StandardCharsets.UTF_8)) {
+            lineNo++;
+            Matcher ruleTagMatcher = RULE_TAG.matcher(line);
+            while (ruleTagMatcher.find()) {
+                String ruleReference = ruleTagMatcher.group(1);
+                int pos = ruleTagMatcher.end();
+                if (line.charAt(pos) != '%' || line.charAt(pos + 1) != '}') {
+                    addIssue(file, lineNo, "Rule tag for " + ruleReference + " is not closed properly");
+                } else if (!ruleReferenceTargetExists(ruleReference)) {
+                    addIssue(file, lineNo, "Rule " + ruleReference + " is not found");
+                }
+            }
+        }
+    }
+
+    private boolean ruleReferenceTargetExists(String ruleReference) {
+        Matcher ruleRefMatcher = RULE_REFERENCE.matcher(ruleReference);
+        if (ruleRefMatcher.matches()) {
+            String language = ruleRefMatcher.group(1);
+            String category = ruleRefMatcher.group(2);
+            String rule = ruleRefMatcher.group(3);
+
+            Path ruleDocPage = pagesDirectory.resolve("pmd/rules/" + language + "/" + category.toLowerCase(Locale.ROOT) + ".md");
+            Set<String> rules = getRules(ruleDocPage);
+            return rules.contains(rule);
+        }
+        return false;
+    }
+
+    private Set<String> getRules(Path ruleDocPage) {
+        Set<String> result = rulesCache.get(ruleDocPage);
+
+        if (result == null) {
+            result = new HashSet<>();
+            try {
+                for (String line : Files.readAllLines(ruleDocPage, StandardCharsets.UTF_8)) {
+                    if (line.startsWith("## ")) {
+                        result.add(line.substring(3));
+                    }
+                    rulesCache.put(ruleDocPage, result);
+                }
+            } catch (NoSuchFileException e) {
+                LOG.warning("File " + ruleDocPage + " not found.");
+            } catch (IOException e) {
+                LOG.log(Level.SEVERE, "Unable to read rules from " + ruleDocPage, e);
+            }
+        }
+
+        return result;
+    }
+
+    private void addIssue(Path file, int lineNo, String message) {
+        issues.add(String.format("%s:%2d: %s", pagesDirectory.relativize(file).toString(), lineNo, message));
+    }
+
+    public static void main(String[] args) throws IOException {
+        if (args.length != 1) {
+            System.err.println("Wrong arguments!");
+            System.err.println();
+            System.err.println("java " + RuleTagChecker.class.getSimpleName() + " <project base directory>");
+            System.exit(1);
+        }
+        final Path rootDirectory = Paths.get(args[0]).resolve("..").toRealPath();
+
+        RuleTagChecker ruleTagChecker = new RuleTagChecker(rootDirectory);
+        List<String> issues = ruleTagChecker.check();
+
+        if (!issues.isEmpty()) {
+            issues.forEach(System.err::println);
+            throw new AssertionError("Wrong rule tags detected");
+        }
+    }
+}
diff --git a/pmd-doc/src/test/java/net/sourceforge/pmd/docs/RuleTagCheckerTest.java b/pmd-doc/src/test/java/net/sourceforge/pmd/docs/RuleTagCheckerTest.java
new file mode 100644
index 0000000000..3b9a6fc777
--- /dev/null
+++ b/pmd-doc/src/test/java/net/sourceforge/pmd/docs/RuleTagCheckerTest.java
@@ -0,0 +1,29 @@
+/*
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+
+package net.sourceforge.pmd.docs;
+
+import java.nio.file.FileSystems;
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class RuleTagCheckerTest {
+
+    @Test
+    public void testAllChecks() throws Exception {
+        RuleTagChecker checker = new RuleTagChecker(FileSystems.getDefault().getPath("src/test/resources/ruletagchecker"));
+        List<String> issues = checker.check();
+
+        Assert.assertEquals(3, issues.size());
+        Assert.assertEquals("ruletag-examples.md: 8: Rule tag for java/bestpractices/AvoidPrintStackTrace is not closed properly",
+                issues.get(0));
+        Assert.assertEquals("ruletag-examples.md:10: Rule java/notexistingcategory/AvoidPrintStackTrace is not found",
+                issues.get(1));
+        Assert.assertEquals("ruletag-examples.md:12: Rule java/bestpractices/NotExistingRule is not found",
+                issues.get(2));
+    }
+}
diff --git a/pmd-doc/src/test/resources/ruletagchecker/docs/pages/pmd/rules/java/bestpractices.md b/pmd-doc/src/test/resources/ruletagchecker/docs/pages/pmd/rules/java/bestpractices.md
new file mode 100644
index 0000000000..7de208cf28
--- /dev/null
+++ b/pmd-doc/src/test/resources/ruletagchecker/docs/pages/pmd/rules/java/bestpractices.md
@@ -0,0 +1,4 @@
+
+## AvoidPrintStackTrace
+
+Sample rule doc for tests.
diff --git a/pmd-doc/src/test/resources/ruletagchecker/docs/pages/ruletag-examples.md b/pmd-doc/src/test/resources/ruletagchecker/docs/pages/ruletag-examples.md
new file mode 100644
index 0000000000..89bdeb6a01
--- /dev/null
+++ b/pmd-doc/src/test/resources/ruletagchecker/docs/pages/ruletag-examples.md
@@ -0,0 +1,12 @@
+---
+title: Sample Page with rule tags
+permalink: rule_tag_samples.html
+---
+
+This is a link to the rule AvoidPrintStackTrace: {% rule "java/bestpractices/AvoidPrintStackTrace" %}.
+
+This is the same link, but the rule tag is not closed properly: {% rule "java/bestpractices/AvoidPrintStackTrace" %).
+
+Now this is link to a rule inside a category, which doesn't exist: {% rule "java/notexistingcategory/AvoidPrintStackTrace" %}.
+
+This is link to a rule, which doesn't exist: {% rule "java/bestpractices/NotExistingRule" %}.

From 7fd0b81a3ad7542361878d9db313d2a15fdfa1d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Sat, 6 Jul 2019 18:58:38 -0300
Subject: [PATCH 295/371] Revert "Fix bug with maven incremental compil"

This reverts commit a755c83eef56ed5562060af38917e827f9001031.
---
 pom.xml | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 64d59a86b4..098b6abf37 100644
--- a/pom.xml
+++ b/pom.xml
@@ -369,9 +369,6 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
                     <artifactId>maven-compiler-plugin</artifactId>
                     <version>3.7.0</version>
                     <configuration>
-                        <!-- Bug with incremental compilation -->
-                        <!-- https://issues.apache.org/jira/browse/MCOMPILER-209 -->
-                        <useIncrementalCompilation>false</useIncrementalCompilation>
                         <release>${java.version}</release>
                     </configuration>
                     <executions>

From e853ea98c7e2db2b60a8186255dab7bb69dd2bca Mon Sep 17 00:00:00 2001
From: crunsk <crunsk@users.noreply.github.com>
Date: Mon, 8 Jul 2019 20:29:26 +0300
Subject: [PATCH 296/371] Update ruleset filename from deprecated basic.xml to
 quickstart.xml

Frontpage (https://pmd.github.io/) uses ruleset quickstart.xml but https://pmd.github.io/pmd-6.16.0/pmd_userdocs_installation.html#sample-usage uses deprecated ruleset basic.xml
(page https://pmd.github.io/pmd-6.16.0/pmd_rules_java.html shows status of both rulesets)
---
 docs/pages/pmd/userdocs/installation.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/pages/pmd/userdocs/installation.md b/docs/pages/pmd/userdocs/installation.md
index e8ed430074..7339d1b986 100644
--- a/docs/pages/pmd/userdocs/installation.md
+++ b/docs/pages/pmd/userdocs/installation.md
@@ -79,7 +79,7 @@ Additionally, the following options, are specified most of the time even though
   <div class="tab-content">
     <div role="tabpanel" class="tab-pane active" id="linux">
 <figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="gp">~ $ </span><span class="s2">cd</span> ~/bin/pmd-bin-{{site.pmd.version}}/bin
-<span class="gp">~/.../bin $ </span><span class="s2">./run.sh</span> pmd -d ../../../src/main/java/ -f text -R rulesets/java/basic.xml
+<span class="gp">~/.../bin $ </span><span class="s2">./run.sh</span> pmd -d ../../../src/main/java/ -f text -R rulesets/java/quickstart.xml
   
   .../src/main/java/com/me/RuleSet.java:123  These nested if statements could be combined
   .../src/main/java/com/me/RuleSet.java:231  Useless parentheses.
@@ -89,7 +89,7 @@ Additionally, the following options, are specified most of the time even though
     </div>
     <div role="tabpanel" class="tab-pane" id="windows">
 <figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="gp">C:\ &gt; </span><span class="s2">cd</span> C:\pmd-bin-{{site.pmd.version}}\bin
-<span class="gp">C:\...\bin > </span><span class="s2">.\pmd.bat</span> -d ..\..\src\main\java\ -f text -R rulesets/java/basic.xml
+<span class="gp">C:\...\bin > </span><span class="s2">.\pmd.bat</span> -d ..\..\src\main\java\ -f text -R rulesets/java/quickstart.xml
       
   .../src/main/java/com/me/RuleSet.java:123  These nested if statements could be combined
   .../src/main/java/com/me/RuleSet.java:231  Useless parentheses.

From cb697696442b72ed421f05d4eadc8dc0bbc68e82 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 12 Jul 2019 09:56:41 +0200
Subject: [PATCH 297/371] Update release notes, refs #1908, fixes #1909

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b7ff7a206d..43128b8b43 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -19,10 +19,13 @@ This is a {{ site.pmd.release_type }} release.
 *   doc
     *   [#1896](https://github.com/pmd/pmd/issues/1896): \[doc] Error in changelog 6.16.0 due to not properly closed rule tag
     *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
+    *   [#1909](https://github.com/pmd/pmd/issues/1909): \[doc] Sample usage example refers to deprecated ruleset "basic.xml" instead of "quickstart.xml"
 
 ### API Changes
 
 ### External Contributions
 
+*   [#1908](https://github.com/pmd/pmd/pull/1908): \[doc] Update ruleset filename from deprecated basic.xml to quickstart.xml - [crunsk](https://github.com/crunsk)
+
 {% endtocmaker %}
 

From 6c9ecfa7c1d5cad3d13016d48f5dddc5606965f1 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 12 Jul 2019 10:57:10 +0200
Subject: [PATCH 298/371] [doc] Escape code examples for liquid with {%raw%}

Fixes #1898
---
 docs/pages/release_notes.md                     |  1 +
 .../sourceforge/pmd/docs/RuleDocGenerator.java  |  2 ++
 pmd-doc/src/test/resources/expected/sample.md   | 17 +++++++++++++++++
 .../resources/rulesets/ruledoctest/sample.xml   |  7 +++++++
 .../resources/category/java/bestpractices.xml   |  2 +-
 5 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 43128b8b43..282e941987 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -18,6 +18,7 @@ This is a {{ site.pmd.release_type }} release.
 
 *   doc
     *   [#1896](https://github.com/pmd/pmd/issues/1896): \[doc] Error in changelog 6.16.0 due to not properly closed rule tag
+    *   [#1898](https://github.com/pmd/pmd/issues/1898): \[doc] Incorrect code example for DoubleBraceInitialization in documentation on website
     *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
     *   [#1909](https://github.com/pmd/pmd/issues/1909): \[doc] Sample usage example refers to deprecated ruleset "basic.xml" instead of "quickstart.xml"
 
diff --git a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java
index acf13282e6..6f7fabd7f1 100644
--- a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java
+++ b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java
@@ -422,7 +422,9 @@ public class RuleDocGenerator {
                         lines.add("");
                         for (String example : rule.getExamples()) {
                             lines.add("``` " + mapLanguageForHighlighting(languageTersename));
+                            lines.add("{%raw%}");
                             lines.addAll(toLines(StringUtils.stripToEmpty(example)));
+                            lines.add("{%endraw%}");
                             lines.add("```");
                             lines.add("");
                         }
diff --git a/pmd-doc/src/test/resources/expected/sample.md b/pmd-doc/src/test/resources/expected/sample.md
index 866bb6815c..9be9d85930 100644
--- a/pmd-doc/src/test/resources/expected/sample.md
+++ b/pmd-doc/src/test/resources/expected/sample.md
@@ -50,6 +50,7 @@ Avoid jumbled loop incrementers - its usually a mistake, and is confusing even i
 **Example(s):**
 
 ``` java
+{%raw%}
 public class JumbledIncrementerRule1 {
     public void foo() {
         for (int i = 0; i < 10; i++) {          // only references 'i'
@@ -59,6 +60,7 @@ public class JumbledIncrementerRule1 {
         }
     }
 }
+{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -123,6 +125,7 @@ Avoid jumbled loop incrementers - its usually a mistake, and is confusing even i
 **Example(s):**
 
 ``` java
+{%raw%}
 public class JumbledIncrementerRule1 {
     public void foo() {
         for (int i = 0; i < 10; i++) {          // only references 'i'
@@ -132,6 +135,7 @@ public class JumbledIncrementerRule1 {
         }
     }
 }
+{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -162,6 +166,7 @@ Third paragraph.
 **Example(s):**
 
 ``` java
+{%raw%}
 public class Bar {      // poor, missing a hashcode() method
     public boolean equals(Object o) {
       // do some comparison
@@ -182,6 +187,14 @@ public class Foo {      // perfect, both methods provided
       // return some hash value
     }
 }
+
+// A sample with double braces (#1898)
+public class Foo {
+    public List<String> bar() {
+        return new ArrayList<String>(){{ addAll("a","b","c"); }};
+    }
+}
+{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -214,6 +227,7 @@ Avoid jumbled loop incrementers - its usually a mistake, and is confusing even i
 **Example(s):**
 
 ``` java
+{%raw%}
 public class JumbledIncrementerRule1 {
     public void foo() {
         for (int i = 0; i < 10; i++) {          // only references 'i'
@@ -223,6 +237,7 @@ public class JumbledIncrementerRule1 {
         }
     }
 }
+{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -312,6 +327,7 @@ if (0 > 1 && 0 < 1) {
 **Example(s):**
 
 ``` java
+{%raw%}
 public class Bar {
     public boolean foo() {
       if (0 < 1) { // less-than should not be escaped in markdown
@@ -320,6 +336,7 @@ public class Bar {
     }
     // <script>alert('XSS');</script>
 }
+{%endraw%}
 ```
 
 **This rule has the following properties:**
diff --git a/pmd-doc/src/test/resources/rulesets/ruledoctest/sample.xml b/pmd-doc/src/test/resources/rulesets/ruledoctest/sample.xml
index aa49c9a6f2..44e2bb76fb 100644
--- a/pmd-doc/src/test/resources/rulesets/ruledoctest/sample.xml
+++ b/pmd-doc/src/test/resources/rulesets/ruledoctest/sample.xml
@@ -123,6 +123,13 @@ public class Foo {      // perfect, both methods provided
       // return some hash value
     }
 }
+
+// A sample with double braces (#1898)
+public class Foo {
+    public List<String> bar() {
+        return new ArrayList<String>(){{ addAll("a","b","c"); }};
+    }
+}
  ]]>
       </example>
     </rule>
diff --git a/pmd-java/src/main/resources/category/java/bestpractices.xml b/pmd-java/src/main/resources/category/java/bestpractices.xml
index 1cbc1fe9ab..3ab442e456 100644
--- a/pmd-java/src/main/resources/category/java/bestpractices.xml
+++ b/pmd-java/src/main/resources/category/java/bestpractices.xml
@@ -426,7 +426,7 @@ public class Foo {
         </properties>
         <example><![CDATA[
 // this is double-brace initialization
-return new ArrayList<String>(){%raw%}{{ addAll("a","b","c"); }};{%endraw%}
+return new ArrayList<String>(){{ addAll("a","b","c"); }};
 
 // the better way is to not create an anonymous class:
 List<String> a = new ArrayList<>();

From 490ad67aa0817e86c9f893c43494881c41b3ef11 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 12 Jul 2019 16:03:15 +0200
Subject: [PATCH 299/371] [doc] fix unnecessary blank lines

---
 .../pmd/docs/RuleDocGenerator.java            |  4 +--
 pmd-doc/src/test/resources/expected/sample.md | 30 +++++++------------
 2 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java
index 6f7fabd7f1..8b6f68f16a 100644
--- a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java
+++ b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/RuleDocGenerator.java
@@ -422,9 +422,7 @@ public class RuleDocGenerator {
                         lines.add("");
                         for (String example : rule.getExamples()) {
                             lines.add("``` " + mapLanguageForHighlighting(languageTersename));
-                            lines.add("{%raw%}");
-                            lines.addAll(toLines(StringUtils.stripToEmpty(example)));
-                            lines.add("{%endraw%}");
+                            lines.addAll(toLines("{%raw%}" + StringUtils.stripToEmpty(example) + "{%endraw%}"));
                             lines.add("```");
                             lines.add("");
                         }
diff --git a/pmd-doc/src/test/resources/expected/sample.md b/pmd-doc/src/test/resources/expected/sample.md
index 9be9d85930..79b91c61a8 100644
--- a/pmd-doc/src/test/resources/expected/sample.md
+++ b/pmd-doc/src/test/resources/expected/sample.md
@@ -50,8 +50,7 @@ Avoid jumbled loop incrementers - its usually a mistake, and is confusing even i
 **Example(s):**
 
 ``` java
-{%raw%}
-public class JumbledIncrementerRule1 {
+{%raw%}public class JumbledIncrementerRule1 {
     public void foo() {
         for (int i = 0; i < 10; i++) {          // only references 'i'
             for (int k = 0; k < 20; i++) {      // references both 'i' and 'k'
@@ -59,8 +58,7 @@ public class JumbledIncrementerRule1 {
             }
         }
     }
-}
-{%endraw%}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -125,8 +123,7 @@ Avoid jumbled loop incrementers - its usually a mistake, and is confusing even i
 **Example(s):**
 
 ``` java
-{%raw%}
-public class JumbledIncrementerRule1 {
+{%raw%}public class JumbledIncrementerRule1 {
     public void foo() {
         for (int i = 0; i < 10; i++) {          // only references 'i'
             for (int k = 0; k < 20; i++) {      // references both 'i' and 'k'
@@ -134,8 +131,7 @@ public class JumbledIncrementerRule1 {
             }
         }
     }
-}
-{%endraw%}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -166,8 +162,7 @@ Third paragraph.
 **Example(s):**
 
 ``` java
-{%raw%}
-public class Bar {      // poor, missing a hashcode() method
+{%raw%}public class Bar {      // poor, missing a hashcode() method
     public boolean equals(Object o) {
       // do some comparison
     }
@@ -193,8 +188,7 @@ public class Foo {
     public List<String> bar() {
         return new ArrayList<String>(){{ addAll("a","b","c"); }};
     }
-}
-{%endraw%}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -227,8 +221,7 @@ Avoid jumbled loop incrementers - its usually a mistake, and is confusing even i
 **Example(s):**
 
 ``` java
-{%raw%}
-public class JumbledIncrementerRule1 {
+{%raw%}public class JumbledIncrementerRule1 {
     public void foo() {
         for (int i = 0; i < 10; i++) {          // only references 'i'
             for (int k = 0; k < 20; i++) {      // references both 'i' and 'k'
@@ -236,8 +229,7 @@ public class JumbledIncrementerRule1 {
             }
         }
     }
-}
-{%endraw%}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -327,16 +319,14 @@ if (0 > 1 && 0 < 1) {
 **Example(s):**
 
 ``` java
-{%raw%}
-public class Bar {
+{%raw%}public class Bar {
     public boolean foo() {
       if (0 < 1) { // less-than should not be escaped in markdown
           String s = "abc"; // the quotes should not be escaped in markdown.
       }
     }
     // <script>alert('XSS');</script>
-}
-{%endraw%}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**

From 4d7f7d3f738c58d2729ff14044f326991888abd9 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 13 Jul 2019 18:28:15 +0200
Subject: [PATCH 300/371] Update release notes, refs #1892

---
 docs/pages/release_notes.md | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 97b02c37f9..5d0beb4ab6 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,6 +14,15 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### Lua support
+
+Thanks to the contribution from [Maikel Steneker](https://github.com/maikelsteneker), and built on top of the ongoing efforts to fully support Antlr-based languages,
+PMD now has CPD support for [Lua](https://www.lua.org/).
+
+Being based on a proper Antlr grammar, CPD can:
+*   ignore comments
+*   honor [comment-based suppressions](pmd_userdocs_cpd.html#suppression)
+
 #### PLSQL Grammar Updates
 
 The grammar has been updated to support Inline Constraints in CREATE TABLE statements. Additionally, the
@@ -100,6 +109,7 @@ of deprecations.
 *   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [kabroxiko](https://github.com/kabroxiko)
 *   [#1874](https://github.com/pmd/pmd/pull/1874): \[plsql] Add parenthesis equation support for Update - [kabroxiko](https://github.com/kabroxiko)
 *   [#1884](https://github.com/pmd/pmd/pull/1884): \[plsql] fix #1878 Support explicit INNER word for INNER JOIN - [kabroxiko](https://github.com/kabroxiko)
+*   [#1892](https://github.com/pmd/pmd/pull/1892): \[lua] \[cpd] Added CPD support for Lua - [Maikel Steneker](https://github.com/maikelsteneker)
 
 {% endtocmaker %}
 

From 614484143a69c2b6ff618e441da157215c0a06b3 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 13 Jul 2019 18:43:01 +0200
Subject: [PATCH 301/371] [doc] Add Lua support

---
 README.md                      | 2 +-
 docs/pages/pmd/userdocs/cpd.md | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index b2ff396ea5..4ffb7c745d 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ unnecessary object creation, and so forth. It supports Java, JavaScript, Salesfo
 XML, XSL.
 
 Additionally it includes **CPD**, the copy-paste-detector. CPD finds duplicated code in
-C/C++, C#, Dart, Fortran, Go, Groovy, Java, JavaScript, JSP, Kotlin, Matlab,
+C/C++, C#, Dart, Fortran, Go, Groovy, Java, JavaScript, JSP, Kotlin, Lua, Matlab,
 Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex, Scala, Swift and Visualforce.
 
 ## Source and Documentation
diff --git a/docs/pages/pmd/userdocs/cpd.md b/docs/pages/pmd/userdocs/cpd.md
index fbc1b267f7..1afc993ae1 100644
--- a/docs/pages/pmd/userdocs/cpd.md
+++ b/docs/pages/pmd/userdocs/cpd.md
@@ -218,6 +218,7 @@ This behavior has been introduced to ease CPD integration into scripts or hooks,
 * Java
 * Jsp
 * Kotlin
+* Lua
 * Matlab
 * Objective-C
 * Perl
@@ -366,7 +367,7 @@ Here's a screenshot of CPD after running on the JDK 8 java.lang package:
 ## Suppression
 
 Arbitrary blocks of code can be ignored through comments on **Java**, **C/C++**, **Dart**, **Go**, **Javascript**,
-**Kotlin**, **Matlab**, **Objective-C**, **PL/SQL**, **Python** and **Swift** by including the keywords `CPD-OFF` and `CPD-ON`.
+**Kotlin**, **Lua**, **Matlab**, **Objective-C**, **PL/SQL**, **Python** and **Swift** by including the keywords `CPD-OFF` and `CPD-ON`.
 
 ```java
     public Object someParameterizedFactoryMethod(int x) throws Exception {

From 084c78a5ea4ee3780f63d696de4ae7226a604d42 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 13 Jul 2019 19:39:41 +0200
Subject: [PATCH 302/371] [xml] Improve example for MistypedCDATASection

---
 .../resources/category/xml/errorprone.xml     | 13 +++++++-
 .../errorprone/xml/MistypedCDATASection.xml   | 30 +++++++++++++++++++
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/pmd-xml/src/main/resources/category/xml/errorprone.xml b/pmd-xml/src/main/resources/category/xml/errorprone.xml
index c868b036f0..46f598d8e4 100644
--- a/pmd-xml/src/main/resources/category/xml/errorprone.xml
+++ b/pmd-xml/src/main/resources/category/xml/errorprone.xml
@@ -30,7 +30,18 @@ An XML CDATA section begins with a &lt;![CDATA[ marker, which has only one [, an
         </properties>
         <example>
 <![CDATA[
-An extra [ looks like &lt;![CDATA[[]]&gt;, and an extra ] looks like &lt;![CDATA[]]]&gt;.
+<root>
+    <child>
+        <![CDATA[[ character data ]]><![CDATA[]]]]><![CDATA[> - this cdata section is valid, but it contains an
+        additional square bracket at the beginning.
+        It should probably be just <![CDATA[ character data ]]><![CDATA[]]]]><![CDATA[>.
+    </child>
+    <child>
+        <![CDATA[ character data ]]]><![CDATA[]]]]><![CDATA[> - this cdata section is valid, but it contains an
+        additional square bracket in the end.
+        It should probably be just <![CDATA[ character data ]]><![CDATA[]]]]><![CDATA[>.
+    </child>
+</root>
 ]]>
         </example>
     </rule>
diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/errorprone/xml/MistypedCDATASection.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/errorprone/xml/MistypedCDATASection.xml
index 45388522ab..c748e2e5e4 100644
--- a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/errorprone/xml/MistypedCDATASection.xml
+++ b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/errorprone/xml/MistypedCDATASection.xml
@@ -70,4 +70,34 @@
      ]]></code>
 		<source-type>xml</source-type>
 	</test-code>
+    <test-code>
+        <description>Example code</description>
+        <expected-problems>2</expected-problems>
+        <expected-linenumbers>3,8</expected-linenumbers>
+        <code><![CDATA[
+<root>
+    <child>
+        <![CDATA[ character data ]]]><![CDATA[]]]]><![CDATA[> - this cdata section is valid, but it contains an
+        additional square bracket in the end.
+        It should probably be just <![CDATA[ character data ]]><![CDATA[]]]]><![CDATA[>.
+    </child>
+    <child>
+        <![CDATA[[ character data ]]><![CDATA[]]]]><![CDATA[> - this cdata section is valid, but it contains an
+        additional square bracket at the beginning.
+        It should probably be just <![CDATA[ character data ]]><![CDATA[]]]]><![CDATA[>.
+    </child>
+</root>
+        ]]></code>
+    </test-code>
+    <test-code>
+        <description>Square bracket at end separate by space is ok</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+<root>
+    <child>
+        <![CDATA[ character data[] ]]><![CDATA[]]]]><![CDATA[>
+    </child>
+</root>
+        ]]></code>
+    </test-code>
 </test-data>

From 70c66c29524b291487e8ad1d41c039238199be1d Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 13 Jul 2019 19:41:53 +0200
Subject: [PATCH 303/371] Update release notes, fixes #1666, refs #1869

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index f78c2baa10..0839fda19f 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -54,6 +54,8 @@ datetime field.
 *   plsql
     *   [#1828](https://github.com/pmd/pmd/issues/1828): \[plsql] Parentheses stopped working
     *   [#1850](https://github.com/pmd/pmd/issues/1850): \[plsql] Parsing errors with INSERT using returning or records and TRIM expression
+*   xml
+    *   [#1666](https://github.com/pmd/pmd/issues/1666): \[xml] wrong cdata rule description and examples
 
 ### API Changes
 
@@ -90,6 +92,7 @@ of deprecations.
 *   [#1863](https://github.com/pmd/pmd/pull/1863): \[plsql] Add Table InlineConstraint - [kabroxiko](https://github.com/kabroxiko)
 *   [#1864](https://github.com/pmd/pmd/pull/1864): \[plsql] Add support for Subquery Views - [kabroxiko](https://github.com/kabroxiko)
 *   [#1865](https://github.com/pmd/pmd/pull/1865): \[plsql] Add Support for Extract Expression - [kabroxiko](https://github.com/kabroxiko)
+*   [#1869](https://github.com/pmd/pmd/pull/1869): \[xml] fix #1666 wrong cdata rule description and examples - [Artem](https://github.com/KroArtem)
 
 {% endtocmaker %}
 

From 93b46283877a5edfd7ac553ad905c740eb08c41b Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 13 Jul 2019 19:53:59 +0200
Subject: [PATCH 304/371] [doc] Update generated rule doc

---
 docs/pages/pmd/rules/xml.md            |  2 +-
 docs/pages/pmd/rules/xml/errorprone.md | 15 +++++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/docs/pages/pmd/rules/xml.md b/docs/pages/pmd/rules/xml.md
index 0b10fd891b..fca26968bb 100644
--- a/docs/pages/pmd/rules/xml.md
+++ b/docs/pages/pmd/rules/xml.md
@@ -11,7 +11,7 @@ folder: pmd/rules
 
 {% include callout.html content="Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors." %}
 
-*   [MistypedCDATASection](pmd_rules_xml_errorprone.html#mistypedcdatasection): An XML CDATA section begins with a &lt;!CDATA[ marker, which has only one [, and ends with a ]]&gt; mar...
+*   [MistypedCDATASection](pmd_rules_xml_errorprone.html#mistypedcdatasection): An XML CDATA section begins with a &lt;![CDATA[ marker, which has only one [, and ends with a ]]&gt; ma...
 
 ## Additional rulesets
 
diff --git a/docs/pages/pmd/rules/xml/errorprone.md b/docs/pages/pmd/rules/xml/errorprone.md
index 2ddd87c822..1c612d8467 100644
--- a/docs/pages/pmd/rules/xml/errorprone.md
+++ b/docs/pages/pmd/rules/xml/errorprone.md
@@ -15,7 +15,7 @@ language: XML
 
 **Priority:** Medium (3)
 
-An XML CDATA section begins with a &lt;!CDATA[ marker, which has only one [, and ends with a ]]&gt; marker, which has only two ].
+An XML CDATA section begins with a &lt;![CDATA[ marker, which has only one [, and ends with a ]]&gt; marker, which has two ].
 
 **This rule is defined by the following XPath expression:**
 ``` xpath
@@ -25,7 +25,18 @@ An XML CDATA section begins with a &lt;!CDATA[ marker, which has only one [, and
 **Example(s):**
 
 ``` xml
-An extra [ looks like &lt;!CDATA[[]]&gt;, and an extra ] looks like &lt;!CDATA[]]]&gt;.
+<root>
+    <child>
+        <![CDATA[[ character data ]]> - this cdata section is valid, but it contains an
+        additional square bracket at the beginning.
+        It should probably be just <![CDATA[ character data ]]>.
+    </child>
+    <child>
+        <![CDATA[ character data ]]]> - this cdata section is valid, but it contains an
+        additional square bracket in the end.
+        It should probably be just <![CDATA[ character data ]]>.
+    </child>
+</root>
 ```
 
 **Use this rule by referencing it:**

From a9c68a55b3a747b659169e03d942f1c9ccbc8ed7 Mon Sep 17 00:00:00 2001
From: AnthonyKot <kotatut@gmail.com>
Date: Sat, 13 Jul 2019 21:17:53 +0200
Subject: [PATCH 305/371] issue-1833

---
 docs/pages/pmd/rules/java/errorprone.md       |  3 +
 .../resources/category/java/errorprone.xml    |  3 +
 ...ngStaticMethodInNonInstantiatableClass.xml | 73 +++++++++++++++++++
 3 files changed, 79 insertions(+)

diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index a85d3f1ed9..1d4dfebb53 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -2628,6 +2628,9 @@ A class that has private constructors and does not have any static methods or fi
     ./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration
     and
     count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) = count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Private='true'])
+    and
+    not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration/
+        ../Annotation/MarkerAnnotation/Name[pmd-java:typeIs('org.springframework.beans.factory.annotation.Autowired') or pmd-java:typeIs('javax.inject.Inject')])
   )
   and
   not(.//MethodDeclaration[@Static='true'])
diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml
index 545ff05628..52de06fb82 100644
--- a/pmd-java/src/main/resources/category/java/errorprone.xml
+++ b/pmd-java/src/main/resources/category/java/errorprone.xml
@@ -2420,6 +2420,9 @@ A class that has private constructors and does not have any static methods or fi
     ./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration
     and
     count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) = count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Private='true'])
+    and
+    not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration/
+        ../Annotation/MarkerAnnotation/Name[pmd-java:typeIs('org.springframework.beans.factory.annotation.Autowired') or pmd-java:typeIs('javax.inject.Inject')])
   )
   and
   not(.//MethodDeclaration[@Static='true'])
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/MissingStaticMethodInNonInstantiatableClass.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/MissingStaticMethodInNonInstantiatableClass.xml
index 36945b2db8..caf8041500 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/MissingStaticMethodInNonInstantiatableClass.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/MissingStaticMethodInNonInstantiatableClass.xml
@@ -247,4 +247,77 @@ public final class BacklogElementParameters {
 }
         ]]></code>
     </test-code>
+
+    <test-code>
+        <description>#1832 Check constructor injection with @Autowired or @Inject </description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import javax.inject.Inject;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class Foo {
+
+ private String arg;
+
+ @Autowired
+ private Foo() {}
+
+ @Inject
+ private Foo(String arg) {
+    this.arg = arg;
+ }
+
+ public void bar() {}
+}
+     ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1832 fine with a least one constructor annotated with "Autowired</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.annotation.PersistenceConstructor;
+
+public class Foo {
+
+ private String arg;
+
+ @PersistenceConstructor
+ private Foo() {}
+
+ @Autowired
+ private Foo(String arg) {
+    this.arg = arg;
+ }
+
+ public void bar() {}
+}
+     ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1832 but fail with both private constructors annotated with @PersistenceConstructor</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+import org.springframework.data.annotation.PersistenceConstructor;
+
+public class Foo {
+
+ private String arg;
+
+ @PersistenceConstructor
+ private Foo() {}
+
+ @PersistenceConstructor
+ private Foo(String arg) {
+    this.arg = arg;
+ }
+
+ public void bar() {}
+}
+     ]]></code>
+    </test-code>
+
+
 </test-data>

From 267cee9caf3031464a52a67c6d53ed9729502b35 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 14 Jul 2019 18:15:15 +0200
Subject: [PATCH 306/371] [doc] Fix broken links

---
 docs/pages/pmd/projectdocs/trivia/news.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/pages/pmd/projectdocs/trivia/news.md b/docs/pages/pmd/projectdocs/trivia/news.md
index ec415ca8f4..b9a2112c1b 100644
--- a/docs/pages/pmd/projectdocs/trivia/news.md
+++ b/docs/pages/pmd/projectdocs/trivia/news.md
@@ -45,7 +45,7 @@ author: Tom Copeland <tom@infoether.org>
     PMD/CPD analyses of Azureus and Columba.
 
 *   April 2006 - John Ferguson Smart's article "PMD Squashes Code Bugs" on
-    [DevX](http://www.devx.com/Java/Article/31286) discusses PMD and the Eclipse plugin. Lots of screenshots!
+    [DevX](https://web.archive.org/web/20140214143838/http://www.devx.com/Java/Article/31286) discusses PMD and the Eclipse plugin. Lots of screenshots!
 
 *   November 2005 - Mike Clark's article "Staying Out of Code Debt" on
     [StickyMinds](http://www.stickyminds.com/sitewide.asp?Function=edetail&amp;ObjectType=ART&amp;ObjectId=9860&amp;tth=DYN&amp;tt=siteemail&amp;iDyn=2)
@@ -63,7 +63,7 @@ author: Tom Copeland <tom@infoether.org>
     [Doctor Dobb's Journal](http://www.drdobbs.com/benefits-of-the-build/184415286) mentions PMD as a way
     to automate code reviews
 
-*   February 2005 - [Java Is Well-Suited for Open-Source Projects](http://www.eweek.com/c/a/Application-Development/Java-Is-WellSuited-for-OpenSource-Projects/) -
+*   February 2005 - [Java Is Well-Suited for Open-Source Projects](https://webcache.googleusercontent.com/search?q=cache:aEL-9Ncx2RgJ:https://www.eweek.com/development/java-is-well-suited-for-open-source-projects) -
     Peter Coffee's eWeek article on open source, Java, and PMD
 
 *   January 2005 - [Zap bugs with PMD](http://www.ibm.com/developerworks/java/library/j-pmd/) - Elliotte Rusty

From 5150b316e40d42bccfe469a9e5273bf0ec4b9ac4 Mon Sep 17 00:00:00 2001
From: Renato Oliveira <ren811@gmail.com>
Date: Mon, 15 Jul 2019 19:21:02 -0300
Subject: [PATCH 307/371] Add 'no error' return option, and assign it to the
 cli when the help command is invoked.

---
 .../java/net/sourceforge/pmd/cli/PMDCommandLineInterface.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDCommandLineInterface.java b/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDCommandLineInterface.java
index 03fe697a36..58af4c1bd2 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDCommandLineInterface.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDCommandLineInterface.java
@@ -27,6 +27,7 @@ public final class PMDCommandLineInterface {
     public static final String NO_EXIT_AFTER_RUN = "net.sourceforge.pmd.cli.noExit";
     public static final String STATUS_CODE_PROPERTY = "net.sourceforge.pmd.cli.status";
 
+    public static final int NO_ERRORS_STATUS = 0;
     public static final int ERROR_STATUS = 1;
     public static final int VIOLATIONS_FOUND = 4;
 
@@ -41,7 +42,7 @@ public final class PMDCommandLineInterface {
             if (arguments.isHelp()) {
                 jcommander.usage();
                 System.out.println(buildUsageText(jcommander));
-                setStatusCodeOrExit(ERROR_STATUS);
+                setStatusCodeOrExit(NO_ERRORS_STATUS);
             }
         } catch (ParameterException e) {
             jcommander.usage();

From 383baaffd30e6e7cefe8cc537285082e977b1afb Mon Sep 17 00:00:00 2001
From: Renato Oliveira <ren811@gmail.com>
Date: Tue, 16 Jul 2019 18:14:18 -0300
Subject: [PATCH 308/371] Should expect the return code to equal zero.

---
 .../test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java b/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
index 8caab02442..1bf4da9e5a 100644
--- a/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
+++ b/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
@@ -95,7 +95,7 @@ public class BinaryDistributionIT {
         ExecutionResult result;
 
         result = PMDExecutor.runPMD(tempDir, "-h");
-        result.assertExecutionResult(1, "apex, ecmascript, java, jsp, plsql, pom, vf, vm, wsdl, xml, xsl");
+        result.assertExecutionResult(0, "apex, ecmascript, java, jsp, plsql, pom, vf, vm, wsdl, xml, xsl");
 
         result = PMDExecutor.runPMDRules(tempDir, srcDir, "src/test/resources/rulesets/sample-ruleset.xml");
         result.assertExecutionResult(4, "JumbledIncrementer.java:8:");

From d080e3cb4844aa6fa0230e11dc7bf1450b059e36 Mon Sep 17 00:00:00 2001
From: YoonhoChoi96 <uenho830@gmail.com>
Date: Wed, 17 Jul 2019 19:02:54 +0900
Subject: [PATCH 309/371] add test cases for reduce False Positive

---
 .../xml/DataflowAnomalyAnalysis.xml           | 213 ++++++++++++++++++
 1 file changed, 213 insertions(+)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
index 76bd78ff95..3d673a6523 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
@@ -132,6 +132,219 @@ public class AssertTest {
 
         System.out.println(k);
     }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 1</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message> DU-Anomaly(b) </message>
+        </expected-messages>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int a = 0 ;
+       int b = 0 ;
+       a = a + b ;
+       b = a + b ;
+       }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 2</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message> DU-Anomaly(a) </message>
+        </expected-messages>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int a = 0 ;
+       for(int i = 0 ; i <= 10; i ++){
+           a = a+3;
+       }
+   }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 3</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message> DU-Anomaly(a) </message>
+        </expected-messages>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int[] b = new int[10];
+       for(int a : b){
+           a = a+3;
+       }
+   }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 4</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message> DU-Anomaly(a) </message>
+        </expected-messages>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int a = 0 ;
+       int i = 0 ;
+       while(i < 30){
+           a = a+3;
+           i += 3;
+       }
+   }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 5</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message> DU-Anomaly(a) </message>
+        </expected-messages>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int a = 0 ;
+       int i = 0 ;
+       do{
+           a = a+3;
+           i += 3;
+       }while(i < 30);
+   }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 6</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message> DU-Anomaly(a) </message>
+        </expected-messages>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int a = 0 ;
+       int i = 0 ;
+       switch(i){
+           case 1 : a = a+1;
+           break;
+           case 2 : a = a+2;
+           break;
+           case 3 : a = a+3;
+           break;
+           default : a = a + 0;
+       }
+   }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 7</description>
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message> DU-Anomaly(a) </message>
+        </expected-messages>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int a = 0 ;
+       int i = 0 ;
+       switch(i){
+           case 1 : a = a+1;
+           case 2 : a = a+2;
+           case 3 : a = a+3;
+           default : a = a + 0;
+       }
+   }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 9</description>
+        <!-- Note: due to https://sourceforge.net/p/pmd/bugs/1383/ the 6 problems are false positives!  -->
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message> DU-Anomaly(t1) </message>
+        </expected-messages>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int t1 = 0 ;
+       Test2 test = new Test2() ;
+       t1 = test.simpleTest(t1) ;
+   }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 12</description>
+        <!-- Note: due to https://sourceforge.net/p/pmd/bugs/1383/ the 6 problems are false positives!  -->
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message> DU-Anomaly(t1) </message>
+        </expected-messages>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int t1 = 0 ;
+       int t2 = 0 ;
+       Test2 test = new Test2();
+       if((t1 = test.simpleTest(t1)) == t2);
+   }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 13</description>
+        <!-- Note: due to https://sourceforge.net/p/pmd/bugs/1383/ the 6 problems are false positives!  -->
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int t1 = 0 ;
+
+       Test2 test = new Test2();
+       if( (t1 = test.simpleTest(t1)) == t1);
+   }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 14</description>
+        <!-- Note: due to https://sourceforge.net/p/pmd/bugs/1383/ the 6 problems are false positives!  -->
+        <expected-problems>1</expected-problems>
+        <expected-messages>
+            <message> DU-Anomaly(t1) </message>
+        </expected-messages>
+        <code><![CDATA[
+class Test{
+   public static void main(String[] args){
+       int t1 = 0;
+       int t2 = 0;
+       Test2 test = new Test2() ;
+       if( t1 == (t1 = test.simpleTest(t1))) ;
+   }
 }
         ]]></code>
     </test-code>

From 24cb0aa9761eb4f26ac42beb4a53f1917bf66ba4 Mon Sep 17 00:00:00 2001
From: YoonhoChoi96 <uenho830@gmail.com>
Date: Wed, 17 Jul 2019 19:26:22 +0900
Subject: [PATCH 310/371] add test cases for reduce False Positive

---
 .../xml/DataflowAnomalyAnalysis.xml           | 54 ++++---------------
 1 file changed, 10 insertions(+), 44 deletions(-)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
index 3d673a6523..dd03a17bcd 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
@@ -137,11 +137,8 @@ public class AssertTest {
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 1</description>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 1. DU-Anomaly(b)</description>
         <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message> DU-Anomaly(b) </message>
-        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -155,11 +152,8 @@ class Test{
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 2</description>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 2. DU-Anomaly(a)</description>
         <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message> DU-Anomaly(a) </message>
-        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -173,11 +167,8 @@ class Test{
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 3</description>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 3. DU-Anomaly(a)</description>
         <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message> DU-Anomaly(a) </message>
-        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -191,11 +182,8 @@ class Test{
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 4</description>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 4. DU-Anomaly(a)</description>
         <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message> DU-Anomaly(a) </message>
-        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -211,11 +199,8 @@ class Test{
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 5</description>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 5. DU-Anomaly(a)</description>
         <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message> DU-Anomaly(a) </message>
-        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -231,11 +216,8 @@ class Test{
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 6</description>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 6. DU-Anomaly(a)</description>
         <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message> DU-Anomaly(a) </message>
-        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -256,11 +238,8 @@ class Test{
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 7</description>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 7. DU-Anomaly(a)</description>
         <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message> DU-Anomaly(a) </message>
-        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -278,12 +257,8 @@ class Test{
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 9</description>
-        <!-- Note: due to https://sourceforge.net/p/pmd/bugs/1383/ the 6 problems are false positives!  -->
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 9. DU-Anomaly(t1)</description>
         <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message> DU-Anomaly(t1) </message>
-        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -296,12 +271,8 @@ class Test{
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 12</description>
-        <!-- Note: due to https://sourceforge.net/p/pmd/bugs/1383/ the 6 problems are false positives!  -->
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 12. DU-Anomaly(t1)</description>
         <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message> DU-Anomaly(t1) </message>
-        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -316,7 +287,6 @@ class Test{
 
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 13</description>
-        <!-- Note: due to https://sourceforge.net/p/pmd/bugs/1383/ the 6 problems are false positives!  -->
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 class Test{
@@ -331,12 +301,8 @@ class Test{
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 14</description>
-        <!-- Note: due to https://sourceforge.net/p/pmd/bugs/1383/ the 6 problems are false positives!  -->
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 14. DU-Anomaly(t1)</description>
         <expected-problems>1</expected-problems>
-        <expected-messages>
-            <message> DU-Anomaly(t1) </message>
-        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){

From 82ea3ed51bc38489db8be97900ac1f910d2ac039 Mon Sep 17 00:00:00 2001
From: YoonhoChoi96 <uenho830@gmail.com>
Date: Wed, 17 Jul 2019 19:49:08 +0900
Subject: [PATCH 311/371] Simplify nested loop

---
 .../pmd/lang/java/dfa/VariableAccessVisitor.java          | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java
index d60c3649d1..dce8857b22 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java
@@ -103,21 +103,21 @@ public class VariableAccessVisitor extends JavaParserVisitorAdapter {
                     for (Node temp = name.getLocation(); !(temp.jjtGetParent() instanceof ASTMethodDeclaration) 
                         && !(temp.jjtGetParent() instanceof ASTConstructorDeclaration); temp = temp.jjtGetParent()) {
                         //traverse children nodes to check it has assignment operator as a child 
-                        for (int i = 0; i < temp.jjtGetNumChildren(); i++) {
-                            if (temp.jjtGetChild(i) instanceof ASTAssignmentOperator) {
+                        List<ASTAssignmentOperator> assignmentOperators = temp.findChildrenOfType(ASTAssignmentOperator.class);
+                        if (!assignmentOperators.isEmpty()) {
                                 //if assignment operator is found, add to arraylist(assignments) with the assignment operator and its name
-                                assignments.add(new SimpleEntry(temp.jjtGetChild(i), name));
+                                assignments.add(new SimpleEntry(assignmentOperators.get(0), name));
                                 //change flag
                                 flag = 1;
                                 break checker;    
                             }
-                        }
                     }
                     //if a name is not related to assignment operator, add to arraylist(assignments) with null and its name
                     if (flag == 0) {
                         assignments.add(new SimpleEntry(null, name));
                     }
                 }
+                
                 //swap the arraylist(assignments)'s elements, when it share same assignment operator
                 for (int i = 0; i < assignments.size() - 1; i++) {
                     if (assignments.get(i).getKey() != null 

From 33f3129562baa9fe655dc2e7edbb29075b6ad8b1 Mon Sep 17 00:00:00 2001
From: YoonhoChoi96 <uenho830@gmail.com>
Date: Thu, 18 Jul 2019 10:54:16 +0900
Subject: [PATCH 312/371] Modify expected problems and exclude for-each case

---
 .../rule/errorprone/xml/DataflowAnomalyAnalysis.xml | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
index dd03a17bcd..f8a5f09f2a 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
@@ -153,7 +153,7 @@ class Test{
 
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 2. DU-Anomaly(a)</description>
-        <expected-problems>1</expected-problems>
+        <expected-problems>2</expected-problems>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -166,6 +166,7 @@ class Test{
         ]]></code>
     </test-code>
 
+    <!-- This case invoke False Positive(UR-a), because of for-each statement.
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 3. DU-Anomaly(a)</description>
         <expected-problems>1</expected-problems>
@@ -179,11 +180,11 @@ class Test{
    }
 }
         ]]></code>
-    </test-code>
+    </test-code> -->
 
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 4. DU-Anomaly(a)</description>
-        <expected-problems>1</expected-problems>
+        <expected-problems>2</expected-problems>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -217,7 +218,7 @@ class Test{
 
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 6. DU-Anomaly(a)</description>
-        <expected-problems>1</expected-problems>
+        <expected-problems>4</expected-problems>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -301,8 +302,8 @@ class Test{
     </test-code>
 
     <test-code>
-        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 14. DU-Anomaly(t1)</description>
-        <expected-problems>1</expected-problems>
+        <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 14. DU-Anomaly(t1, t2)</description>
+        <expected-problems>2</expected-problems>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){

From 052d38200e0986aedd1d685860c3529892093c41 Mon Sep 17 00:00:00 2001
From: Renato Oliveira <ren811@gmail.com>
Date: Thu, 18 Jul 2019 16:24:42 -0300
Subject: [PATCH 313/371] Change return code to zero for CPD when the help
 command is requested through the CLI.

---
 .../net/sourceforge/pmd/cpd/CPDCommandLineInterface.java     | 5 +++--
 .../java/net/sourceforge/pmd/it/BinaryDistributionIT.java    | 3 +--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDCommandLineInterface.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDCommandLineInterface.java
index 91aaba88df..fef32365df 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDCommandLineInterface.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDCommandLineInterface.java
@@ -26,8 +26,9 @@ import com.beust.jcommander.ParameterException;
 public final class CPDCommandLineInterface {
     private static final Logger LOGGER = Logger.getLogger(CPDCommandLineInterface.class.getName());
 
-    private static final int DUPLICATE_CODE_FOUND = 4;
+    public static final int NO_ERRORS_STATUS = 0;
     private static final int ERROR_STATUS = 1;
+    private static final int DUPLICATE_CODE_FOUND = 4;
 
     public static final String NO_EXIT_AFTER_RUN = "net.sourceforge.pmd.cli.noExit";
     public static final String STATUS_CODE_PROPERTY = "net.sourceforge.pmd.cli.status";
@@ -66,7 +67,7 @@ public final class CPDCommandLineInterface {
             if (arguments.isHelp()) {
                 jcommander.usage();
                 System.out.println(buildUsageText());
-                setStatusCodeOrExit(ERROR_STATUS);
+                setStatusCodeOrExit(NO_ERRORS_STATUS);
                 return;
             }
         } catch (ParameterException e) {
diff --git a/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java b/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
index 1bf4da9e5a..b6e635437d 100644
--- a/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
+++ b/pmd-dist/src/test/java/net/sourceforge/pmd/it/BinaryDistributionIT.java
@@ -111,8 +111,7 @@ public class BinaryDistributionIT {
         ExecutionResult result;
 
         result = CpdExecutor.runCpd(tempDir, "-h");
-
-        result.assertExecutionResult(1, "Supported languages: [apex, cpp, cs, dart, ecmascript, fortran, go, groovy, java, jsp, kotlin, lua, matlab, objectivec, perl, php, plsql, python, ruby, scala, swift, vf]");
+        result.assertExecutionResult(0, "Supported languages: [apex, cpp, cs, dart, ecmascript, fortran, go, groovy, java, jsp, kotlin, lua, matlab, objectivec, perl, php, plsql, python, ruby, scala, swift, vf]");
 
         result = CpdExecutor.runCpd(tempDir, "--minimum-tokens", "10", "--format", "text", "--files", srcDir);
         result.assertExecutionResult(4, "Found a 10 line (55 tokens) duplication in the following files:");

From 266d6bb4532f92ee0184db26c9371c50c201b67f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Thu, 18 Jul 2019 19:29:13 -0300
Subject: [PATCH 314/371] Fix issues running unit tests from Eclipse

---
 pom.xml | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 4ffaa8910d..71fd902efa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -914,13 +914,25 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
             <dependency>
                 <groupId>org.junit.jupiter</groupId>
                 <artifactId>junit-jupiter-api</artifactId>
-                <version>5.4.0</version>
+                <version>5.5.0</version>
                 <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>org.junit.jupiter</groupId>
                 <artifactId>junit-jupiter-engine</artifactId>
-                <version>5.4.0</version>
+                <version>5.5.0</version>
+                <scope>test</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.junit.platform</groupId>
+                <artifactId>junit-platform-commons</artifactId>
+                <version>1.5.0</version>
+            </dependency>
+            <dependency>
+                <groupId>org.junit.platform</groupId>
+                <artifactId>junit-platform-launcher</artifactId>
+                <version>1.5.0</version>
                 <scope>test</scope>
             </dependency>
 
@@ -928,7 +940,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
             <dependency>
                 <groupId>org.junit.vintage</groupId>
                 <artifactId>junit-vintage-engine</artifactId>
-                <version>5.4.0</version>
+                <version>5.5.0</version>
                 <scope>test</scope>
             </dependency>
 

From ca34d4fa1c15e292b6f6f5dd695c838e00d6d2ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Thu, 18 Jul 2019 19:34:51 -0300
Subject: [PATCH 315/371] Add failing test case for #1903

---
 .../xml/UnsynchronizedStaticFormatter.xml      | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
index a97fa56f96..e8a0677f0c 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/multithreading/xml/UnsynchronizedStaticFormatter.xml
@@ -258,6 +258,24 @@ public class Foo {
             sdf.format();
         }
     }
+}
+     ]]></code>
+    </test-code>
+    
+    <test-code>
+        <description>#1903 - Block synch is valid even with allowMethodLevelSynchronization</description>
+        <rule-property name="allowMethodLevelSynchronization">true</rule-property>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.text.SimpleDateFormat;
+
+public class Foo {
+    private static final SimpleDateFormat sdf = new SimpleDateFormat();
+    private void bar() {
+        synchronized(sdf) { 
+            sdf.format();
+        }
+    }
 }
      ]]></code>
     </test-code>

From cb62b7e472580fff6fd940e305aded678e2a7999 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Thu, 18 Jul 2019 19:35:09 -0300
Subject: [PATCH 316/371] Fix false positive on
 UnsynchronizedStaticFormatterRule

---
 .../UnsynchronizedStaticFormatterRule.java     | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
index 4ea482bf6f..af9e04c26b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/multithreading/UnsynchronizedStaticFormatterRule.java
@@ -77,14 +77,7 @@ public class UnsynchronizedStaticFormatterRule extends AbstractJavaRule {
                 continue;
             }
 
-            if (getProperty(ALLOW_METHOD_LEVEL_SYNC)) {
-                ASTMethodDeclaration method = n.getFirstParentOfType(ASTMethodDeclaration.class);
-                if (method != null && (!method.isSynchronized() || !method.isStatic())) {
-                    addViolation(data, node);
-                }
-                continue;
-            }
-
+            // is there a block-level synch?
             ASTSynchronizedStatement syncStatement = n.getFirstParentOfType(ASTSynchronizedStatement.class);
             if (syncStatement != null) {
                 ASTExpression expression = syncStatement.getFirstChildOfType(ASTExpression.class);
@@ -95,6 +88,15 @@ public class UnsynchronizedStaticFormatterRule extends AbstractJavaRule {
                     }
                 }
             }
+            
+            // method level synch enabled and used?
+            if (getProperty(ALLOW_METHOD_LEVEL_SYNC)) {
+                ASTMethodDeclaration method = n.getFirstParentOfType(ASTMethodDeclaration.class);
+                if (method != null && method.isSynchronized() && method.isStatic()) {
+                    continue;
+                }
+            }
+            
             addViolation(data, n);
         }
         return data;

From c39a342b9230eb87dcdda249cf15c8de9ea76dea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Thu, 18 Jul 2019 19:36:21 -0300
Subject: [PATCH 317/371] Update changelog, refs #1903

---
 docs/pages/release_notes.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index fe3d2aa4c7..06417b1a9d 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -29,6 +29,8 @@ Being based on a proper Antlr grammar, CPD can:
     *   [#1896](https://github.com/pmd/pmd/issues/1896): \[doc] Error in changelog 6.16.0 due to not properly closed rule tag
     *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
     *   [#1909](https://github.com/pmd/pmd/issues/1909): \[doc] Sample usage example refers to deprecated ruleset "basic.xml" instead of "quickstart.xml"
+*   java-multithreading
+    *   [#1903](https://github.com/pmd/pmd/issues/1903): \[java] UnsynchronizedStaticFormatter doesn't allow block-level synchronization when using allowMethodLevelSynchronization=true
 *   xml
     *   [#1666](https://github.com/pmd/pmd/issues/1666): \[xml] wrong cdata rule description and examples
 

From efd0eafff0df573427b18a42c290ee46a22868cc Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 19 Jul 2019 11:03:06 +0200
Subject: [PATCH 318/371] Make the new constants "NO_ERRORS_STATUS" private to
 avoid increasing the API footprint

---
 .../net/sourceforge/pmd/cli/PMDCommandLineInterface.java    | 2 +-
 .../net/sourceforge/pmd/cpd/CPDCommandLineInterface.java    | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDCommandLineInterface.java b/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDCommandLineInterface.java
index 58af4c1bd2..24ed254d6a 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDCommandLineInterface.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDCommandLineInterface.java
@@ -27,7 +27,7 @@ public final class PMDCommandLineInterface {
     public static final String NO_EXIT_AFTER_RUN = "net.sourceforge.pmd.cli.noExit";
     public static final String STATUS_CODE_PROPERTY = "net.sourceforge.pmd.cli.status";
 
-    public static final int NO_ERRORS_STATUS = 0;
+    private static final int NO_ERRORS_STATUS = 0;
     public static final int ERROR_STATUS = 1;
     public static final int VIOLATIONS_FOUND = 4;
 
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDCommandLineInterface.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDCommandLineInterface.java
index fef32365df..aee45308ad 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDCommandLineInterface.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDCommandLineInterface.java
@@ -26,7 +26,7 @@ import com.beust.jcommander.ParameterException;
 public final class CPDCommandLineInterface {
     private static final Logger LOGGER = Logger.getLogger(CPDCommandLineInterface.class.getName());
 
-    public static final int NO_ERRORS_STATUS = 0;
+    private static final int NO_ERRORS_STATUS = 0;
     private static final int ERROR_STATUS = 1;
     private static final int DUPLICATE_CODE_FOUND = 4;
 
@@ -97,10 +97,10 @@ public final class CPDCommandLineInterface {
                 if (arguments.isFailOnViolation()) {
                     setStatusCodeOrExit(DUPLICATE_CODE_FOUND);
                 } else {
-                    setStatusCodeOrExit(0);
+                    setStatusCodeOrExit(NO_ERRORS_STATUS);
                 }
             } else {
-                setStatusCodeOrExit(0);
+                setStatusCodeOrExit(NO_ERRORS_STATUS);
             }
         } catch (IOException | RuntimeException e) {
             e.printStackTrace();

From d3a3c5529f8850862e7a0fc6d4416b3d943e76c4 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 19 Jul 2019 11:03:21 +0200
Subject: [PATCH 319/371] Update release notes, fixes #1913, refs #1917

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index fe3d2aa4c7..3a23db495f 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -25,6 +25,8 @@ Being based on a proper Antlr grammar, CPD can:
 
 ### Fixed Issues
 
+*   core
+    *   [#1913](https://github.com/pmd/pmd/issues/1913): \[core] "-help" CLI option ends with status code != 0
 *   doc
     *   [#1896](https://github.com/pmd/pmd/issues/1896): \[doc] Error in changelog 6.16.0 due to not properly closed rule tag
     *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
@@ -39,6 +41,7 @@ Being based on a proper Antlr grammar, CPD can:
 *   [#1869](https://github.com/pmd/pmd/pull/1869): \[xml] fix #1666 wrong cdata rule description and examples - [Artem](https://github.com/KroArtem)
 *   [#1892](https://github.com/pmd/pmd/pull/1892): \[lua] \[cpd] Added CPD support for Lua - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1908](https://github.com/pmd/pmd/pull/1908): \[doc] Update ruleset filename from deprecated basic.xml to quickstart.xml - [crunsk](https://github.com/crunsk)
+*   [#1917](https://github.com/pmd/pmd/pull/1917): \[core] Add 'no error' return option, and assign it to the cli when the help command is invoked - [Renato Oliveira](https://github.com/renatoliveira)
 
 {% endtocmaker %}
 

From 3623c02c55a5ea3110e9eed0f292e54a1ce8f14a Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 19 Jul 2019 11:06:52 +0200
Subject: [PATCH 320/371] [doc] fix typo

---
 docs/pages/pmd/userdocs/cpd.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/pages/pmd/userdocs/cpd.md b/docs/pages/pmd/userdocs/cpd.md
index 1afc993ae1..e9843661fe 100644
--- a/docs/pages/pmd/userdocs/cpd.md
+++ b/docs/pages/pmd/userdocs/cpd.md
@@ -199,7 +199,7 @@ Please note that if CPD detects duplicated source code, it will exit with status
 This behavior has been introduced to ease CPD integration into scripts or hooks, such as SVN hooks.
 
 <table>
-<tr><td>0</td><td>Everything is fine, now code duplications found</td></tr>
+<tr><td>0</td><td>Everything is fine, no code duplications found</td></tr>
 <tr><td>1</td><td>Couldn't understand command line parameters or CPD exited with an exception</td></tr>
 <tr><td>4</td><td>At least one code duplication has been detected unless '--failOnViolation false' is used.</td></tr>
 </table>

From 14f5a2fe1ce61f8e90d3304b48ef24e3bb59cf54 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 19 Jul 2019 11:23:53 +0200
Subject: [PATCH 321/371] [doc] Update generated rule documentation

---
 docs/pages/pmd/rules/apex/bestpractices.md    |  24 +-
 docs/pages/pmd/rules/apex/codestyle.md        |  48 +--
 docs/pages/pmd/rules/apex/design.md           |  40 +-
 docs/pages/pmd/rules/apex/documentation.md    |   4 +-
 docs/pages/pmd/rules/apex/errorprone.md       |  36 +-
 docs/pages/pmd/rules/apex/performance.md      |  12 +-
 docs/pages/pmd/rules/apex/security.md         |  44 +-
 .../pmd/rules/ecmascript/bestpractices.md     |  20 +-
 docs/pages/pmd/rules/ecmascript/codestyle.md  |  36 +-
 docs/pages/pmd/rules/ecmascript/errorprone.md |  12 +-
 docs/pages/pmd/rules/java/bestpractices.md    | 198 ++++-----
 docs/pages/pmd/rules/java/codestyle.md        | 248 +++++------
 docs/pages/pmd/rules/java/design.md           | 174 ++++----
 docs/pages/pmd/rules/java/documentation.md    |  18 +-
 docs/pages/pmd/rules/java/errorprone.md       | 392 +++++++++---------
 docs/pages/pmd/rules/java/multithreading.md   |  44 +-
 docs/pages/pmd/rules/java/performance.md      | 118 +++---
 docs/pages/pmd/rules/java/security.md         |   8 +-
 docs/pages/pmd/rules/jsp/bestpractices.md     |  14 +-
 docs/pages/pmd/rules/jsp/codestyle.md         |   2 +-
 docs/pages/pmd/rules/jsp/design.md            |  10 +-
 docs/pages/pmd/rules/jsp/errorprone.md        |   4 +-
 docs/pages/pmd/rules/jsp/security.md          |   8 +-
 docs/pages/pmd/rules/plsql/bestpractices.md   |   4 +-
 docs/pages/pmd/rules/plsql/codestyle.md       |  12 +-
 docs/pages/pmd/rules/plsql/design.md          |  44 +-
 docs/pages/pmd/rules/plsql/errorprone.md      |  12 +-
 docs/pages/pmd/rules/pom/errorprone.md        |   8 +-
 docs/pages/pmd/rules/vf/security.md           |   4 +-
 docs/pages/pmd/rules/xml/errorprone.md        |   4 +-
 docs/pages/pmd/rules/xsl/codestyle.md         |   4 +-
 docs/pages/pmd/rules/xsl/performance.md       |   2 +-
 32 files changed, 804 insertions(+), 804 deletions(-)

diff --git a/docs/pages/pmd/rules/apex/bestpractices.md b/docs/pages/pmd/rules/apex/bestpractices.md
index 4acf3f478d..4bc962d958 100644
--- a/docs/pages/pmd/rules/apex/bestpractices.md
+++ b/docs/pages/pmd/rules/apex/bestpractices.md
@@ -24,7 +24,7 @@ improves the readability of test output.
 **Example(s):**
 
 ``` java
-@isTest
+{%raw%}@isTest
 public class Foo {
      @isTest
     static void methodATest() {
@@ -33,7 +33,7 @@ public class Foo {
         System.assert(o.isClosed); // not good
         System.assert(o.isClosed, 'Opportunity is not closed.'); // good
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -63,7 +63,7 @@ with messages provide the developer a clearer idea of what the test does.
 **Example(s):**
 
 ``` java
-@isTest
+{%raw%}@isTest
 public class Foo {
    public static testMethod void testSomething() {
       Account a = null;
@@ -71,7 +71,7 @@ public class Foo {
    // System.assertNotEquals(a, null, 'account not found');
    a.toString();
    }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -101,7 +101,7 @@ As testMethod keyword is deprecated, Salesforce advices to use @isTest annotatio
 **Example(s):**
 
 ``` java
-@isTest
+{%raw%}@isTest
 private class ATest {
     @isTest
     static void methodATest() {
@@ -116,7 +116,7 @@ private class ATest {
     }
     private void fetchData() {
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -145,7 +145,7 @@ Apex unit tests should not use @isTest(seeAllData=true) because it opens up the
 **Example(s):**
 
 ``` java
-@isTest(seeAllData = true)
+{%raw%}@isTest(seeAllData = true)
 public class Foo {
    public static testMethod void testSomething() {
       Account a = null;
@@ -153,7 +153,7 @@ public class Foo {
    // System.assertNotEquals(a, null, 'account not found');
    a.toString();
    }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -183,11 +183,11 @@ Many interfaces (e.g. Batch) required global modifiers in the past but don't req
 **Example(s):**
 
 ``` java
-global class Unchangeable {
+{%raw%}global class Unchangeable {
     global UndeletableType unchangable(UndeletableType param) {
         // ...
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -219,7 +219,7 @@ See more here: https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex
 **Example(s):**
 
 ``` java
-trigger Accounts on Account (before insert, before update, before delete, after insert, after update, after delete, after undelete) {
+{%raw%}trigger Accounts on Account (before insert, before update, before delete, after insert, after update, after delete, after undelete) {
     for(Account acc : Trigger.new) {
         if(Trigger.isInsert) {
             // ...
@@ -231,7 +231,7 @@ trigger Accounts on Account (before insert, before update, before delete, after
             // ...
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
diff --git a/docs/pages/pmd/rules/apex/codestyle.md b/docs/pages/pmd/rules/apex/codestyle.md
index c6286feaa7..a585b2af6a 100644
--- a/docs/pages/pmd/rules/apex/codestyle.md
+++ b/docs/pages/pmd/rules/apex/codestyle.md
@@ -27,9 +27,9 @@ By default this rule uses the standard Apex naming convention (Pascal case).
 **Example(s):**
 
 ``` java
-public class FooClass { } // This is in pascal case, so it's ok
+{%raw%}public class FooClass { } // This is in pascal case, so it's ok
 
-public class fooClass { } // This will be reported unless you change the regex
+public class fooClass { } // This will be reported unless you change the regex{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -80,11 +80,11 @@ By default this rule uses the standard Apex naming convention (Camel case).
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     Integer instanceField; // This is in camel case, so it's ok
 
     Integer INSTANCE_FIELD; // This will be reported unless you change the regex
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -138,12 +138,12 @@ from the rest.
 **Example(s):**
 
 ``` java
-for (int i = 0; i < 42; i++) // not recommended
+{%raw%}for (int i = 0; i < 42; i++) // not recommended
     foo();
 
 for (int i = 0; i < 42; i++) { // preferred approach
     foo();
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -177,11 +177,11 @@ By default this rule uses the standard Apex naming convention (Camel case).
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public bar(Integer methodParameter) { } // This is in camel case, so it's ok
 
     public baz(Integer METHOD_PARAMETER) { } // This will be reported unless you change the regex
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -229,14 +229,14 @@ from the rest.
 **Example(s):**
 
 ``` java
-// this is OK
+{%raw%}// this is OK
 if (foo) x++;
 
 // but this is not
 if (foo)
     x = x+1;
 else
-    x = x-1;
+    x = x-1;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -270,12 +270,12 @@ controlled from the rest.
 **Example(s):**
 
 ``` java
-if (foo)    // not recommended
+{%raw%}if (foo)    // not recommended
     x++;
 
 if (foo) {  // preferred approach
     x++;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -309,13 +309,13 @@ By default this rule uses the standard Apex naming convention (Camel case).
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public Foo() {
         Integer localVariable; // This is in camel case, so it's ok
 
         Integer LOCAL_VARIABLE; // This will be reported unless you change the regex
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -361,10 +361,10 @@ By default this rule uses the standard Apex naming convention (Camel case).
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void instanceMethod() { } // This is in camel case, so it's ok
 
-    public void INSTANCE_METHOD() { } // This will be reported unless you change the regex
+    public void INSTANCE_METHOD() { } // This will be reported unless you change the regex{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -418,13 +418,13 @@ can lead to quite messy code. This rule looks for several declarations on the sa
 **Example(s):**
 
 ``` java
-Integer a, b;   // not recommended
+{%raw%}Integer a, b;   // not recommended
 
 Integer a,
         b;      // ok by default, can be flagged setting the strictMode property
 
 Integer a;      // preferred approach
-Integer b;
+Integer b;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -468,11 +468,11 @@ By default this rule uses the standard Apex naming convention (Camel case).
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public Integer instanceProperty { get; set; } // This is in camel case, so it's ok
 
     public Integer INSTANCE_PROPERTY { get; set; } // This will be reported unless you change the regex
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -523,11 +523,11 @@ by the more general rules {% rule &quot;apex/codestyle/FieldNamingConventions&qu
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public static final Integer MY_NUM = 0;
     public String myTest = '';
     DataModule dmTest = new DataModule();
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -591,12 +591,12 @@ controlled from the rest.
 **Example(s):**
 
 ``` java
-while (true)    // not recommended
+{%raw%}while (true)    // not recommended
     x++;
 
 while (true) {  // preferred approach
     x++;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
diff --git a/docs/pages/pmd/rules/apex/design.md b/docs/pages/pmd/rules/apex/design.md
index b7043622cf..7e9760b946 100644
--- a/docs/pages/pmd/rules/apex/design.md
+++ b/docs/pages/pmd/rules/apex/design.md
@@ -22,7 +22,7 @@ Avoid creating deeply nested if-then statements since they are harder to read an
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void bar(Integer x, Integer y, Integer z) {
         if (x>y) {
             if (y>z) {
@@ -32,7 +32,7 @@ public class Foo {
             }
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -84,7 +84,7 @@ into subcomponents.
 **Example(s):**
 
 ``` java
-public class Complicated {
+{%raw%}public class Complicated {
   public void example() { // This method has a cyclomatic complexity of 12
     int x = 0, y = 1, z = 2, t = 2;
     boolean a = false, b = true, c = false, d = true;
@@ -106,7 +106,7 @@ public class Complicated {
       }
     }
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -149,7 +149,7 @@ apart the code becomes more managable and ripe for reuse.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void bar1() {
         // 1000 lines of code
     }
@@ -162,7 +162,7 @@ public class Foo {
     public void barN() {
         // 1000 lines of code
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -204,14 +204,14 @@ same datatype. These situations usually denote the need for new objects to wrap
 **Example(s):**
 
 ``` java
-// too many arguments liable to be mixed up
+{%raw%}// too many arguments liable to be mixed up
 public void addPerson(int birthYear, int birthMonth, int birthDate, int height, int weight, int ssn) {
     // ...
 }
 // preferred approach 
 public void addPerson(Date birthdate, BodyMeasurements measurements, int ssn) {
     // ...
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -255,7 +255,7 @@ developed easily.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public String value;
     public Bar something;
     public Variable var;
@@ -265,7 +265,7 @@ public class Foo {
     public void doMoreWork() {}
     public void doWorkAgain() {}
     // [... more more public methods ...]
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -308,7 +308,7 @@ lines of code that are split are counted as one.
 **Example(s):**
 
 ``` java
-public class Foo extends Bar {
+{%raw%}public class Foo extends Bar {
     //this constructor only has 1 NCSS lines
     public Foo() {
         super();
@@ -318,7 +318,7 @@ public class Foo extends Bar {
 
         super.foo();
 }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -361,7 +361,7 @@ lines of code that are split are counted as one.
 **Example(s):**
 
 ``` java
-public class Foo extends Bar {
+{%raw%}public class Foo extends Bar {
     //this method only has 1 NCSS lines
     public Integer methd() {
         super.methd();
@@ -370,7 +370,7 @@ public class Foo extends Bar {
 
         return 1;
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -413,7 +413,7 @@ lines of code that are split are counted as one.
 **Example(s):**
 
 ``` java
-//this class only has 6 NCSS lines
+{%raw%}//this class only has 6 NCSS lines
 public class Foo extends Bar {
     public Foo() {
         super();
@@ -424,7 +424,7 @@ public class Foo extends Bar {
 
         super.foo();
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -468,7 +468,7 @@ high complexity, and 11+ is very high complexity.
 **Example(s):**
 
 ``` java
-// This has a Cyclomatic Complexity = 12
+{%raw%}// This has a Cyclomatic Complexity = 12
 public class Foo {
 1   public void example() {
 2   if (a == b || (c == d && e == f)) {
@@ -503,7 +503,7 @@ public class Foo {
                 break;
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -548,7 +548,7 @@ city/state/zip fields could park them within a single Address field.
 **Example(s):**
 
 ``` java
-public class Person {
+{%raw%}public class Person {
     // too many separate fields
     int birthYear;
     int birthMonth;
@@ -561,7 +561,7 @@ public class Person {
     // this is more manageable
     Date birthDate;
     BodyMeasurements measurements;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
diff --git a/docs/pages/pmd/rules/apex/documentation.md b/docs/pages/pmd/rules/apex/documentation.md
index 20a24496e8..121415dbe6 100644
--- a/docs/pages/pmd/rules/apex/documentation.md
+++ b/docs/pages/pmd/rules/apex/documentation.md
@@ -32,7 +32,7 @@ Method overrides and tests are both exempted from having ApexDoc.
 **Example(s):**
 
 ``` java
-/**
+{%raw%}/**
  * @description Hello World
  */
 public class HelloWorld {
@@ -41,7 +41,7 @@ public class HelloWorld {
      * @return Bar
      */
     public Object bar() { return null; }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
diff --git a/docs/pages/pmd/rules/apex/errorprone.md b/docs/pages/pmd/rules/apex/errorprone.md
index 2e1c5ae832..c268244785 100644
--- a/docs/pages/pmd/rules/apex/errorprone.md
+++ b/docs/pages/pmd/rules/apex/errorprone.md
@@ -25,13 +25,13 @@ Avoid directly accessing Trigger.old and Trigger.new as it can lead to a bug. Tr
 **Example(s):**
 
 ``` java
-trigger AccountTrigger on Account (before insert, before update) {
+{%raw%}trigger AccountTrigger on Account (before insert, before update) {
    Account a = Trigger.new[0]; //Bad: Accessing the trigger array directly is not recommended.
    
    foreach ( Account a : Trigger.new ){   
         //Good: Iterate through the trigger.new array instead.
    }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -62,7 +62,7 @@ the logic can dynamically identify the proper data to operate against and not fa
 **Example(s):**
 
 ``` java
-public without sharing class Foo {
+{%raw%}public without sharing class Foo {
     void foo() {
         //Error - hardcoded the record type id
         if(a.RecordTypeId == '012500000009WAr'){
@@ -71,7 +71,7 @@ public without sharing class Foo {
             //do some logic here for a different record type...
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -103,11 +103,11 @@ A full list of supported annotations can be found at https://developer.salesforc
 **Example(s):**
 
 ``` java
-@NonExistentAnnotation public class ClassWithNonexistentAnnotation {
+{%raw%}@NonExistentAnnotation public class ClassWithNonexistentAnnotation {
 	@NonExistentAnnotation public void methodWithNonExistentAnnotation() {
 		// ...
 	}
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -141,14 +141,14 @@ or reported.
 **Example(s):**
 
 ``` java
-public void doSomething() {
+{%raw%}public void doSomething() {
   ...
   try {
     insert accounts;
   } catch (DmlException dmle) {
     // not good
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -181,13 +181,13 @@ Empty If Statement finds instances where a condition is checked but nothing is d
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   public void bar(Integer x) {
     if (x == 0) {
       // empty!
     }
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -220,7 +220,7 @@ Empty block statements serve no purpose and should be removed.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
 
    private int _bar;
 
@@ -228,7 +228,7 @@ public class Foo {
         // empty
    }
 
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -260,7 +260,7 @@ Avoid empty try or finally blocks - what's the point?
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void bar() {
         try {
           // empty !
@@ -278,7 +278,7 @@ public class Foo {
             // empty!
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -312,11 +312,11 @@ a while loop that does a lot in the exit expression, rewrite it to make it clear
 **Example(s):**
 
 ``` java
-public void bar(Integer a, Integer b) {
+{%raw%}public void bar(Integer a, Integer b) {
   while (a == b) {
     // empty!
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -345,12 +345,12 @@ Non-constructor methods should not have the same name as the enclosing class.
 **Example(s):**
 
 ``` java
-public class MyClass {
+{%raw%}public class MyClass {
     // this is OK because it is a constructor
     public MyClass() {}
     // this is bad because it is a method
     public void MyClass() {}
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
diff --git a/docs/pages/pmd/rules/apex/performance.md b/docs/pages/pmd/rules/apex/performance.md
index d092b7820f..67c3bc34e9 100644
--- a/docs/pages/pmd/rules/apex/performance.md
+++ b/docs/pages/pmd/rules/apex/performance.md
@@ -22,7 +22,7 @@ Avoid DML statements inside loops to avoid hitting the DML governor limit. Inste
 **Example(s):**
 
 ``` java
-public class Something {
+{%raw%}public class Something {
     public void foo() {  
         for (Integer i = 0; i < 151; i++) {
             Account account;
@@ -30,7 +30,7 @@ public class Something {
             insert account;
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -59,13 +59,13 @@ New objects created within loops should be checked to see if they can created ou
 **Example(s):**
 
 ``` java
-public class Something {
+{%raw%}public class Something {
     public static void main( String as[] ) {
         for (Integer i = 0; i < 10; i++) {
             List<Account> accounts = [SELECT Id FROM Account];
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -94,13 +94,13 @@ Sosl calls within loops can cause governor limit exceptions.
 **Example(s):**
 
 ``` java
-public class Something {
+{%raw%}public class Something {
     public static void main( String as[] ) {
         for (Integer i = 0; i < 10; i++) {
             List<List<SObject>> searchList = [FIND 'map*' IN ALL FIELDS RETURNING Account (Id, Name), Contact, Opportunity, Lead];
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
diff --git a/docs/pages/pmd/rules/apex/security.md b/docs/pages/pmd/rules/apex/security.md
index e77159bddb..c45d22b882 100644
--- a/docs/pages/pmd/rules/apex/security.md
+++ b/docs/pages/pmd/rules/apex/security.md
@@ -23,12 +23,12 @@ Hard-wiring these values greatly compromises the security of encrypted data.
 **Example(s):**
 
 ``` java
-public without sharing class Foo {
+{%raw%}public without sharing class Foo {
     Blob hardCodedIV = Blob.valueOf('Hardcoded IV 123');
     Blob hardCodedKey = Blob.valueOf('0000000000000000');
     Blob data = Blob.valueOf('Data to be encrypted');
     Blob encrypted = Crypto.encrypt('AES128', hardCodedKey, hardCodedIV, data);
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -59,7 +59,7 @@ privilege and may produce runtime errors. This check forces you to handle such s
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public Contact foo(String status, String ID) {
         Contact c = [SELECT Status__c FROM Contact WHERE Id=:ID];
 
@@ -72,7 +72,7 @@ public class Foo {
         update c;
         return c;
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -102,7 +102,7 @@ modification of the database just by accessing a page.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public init() {
         insert data;
     }
@@ -110,7 +110,7 @@ public class Foo {
     public Foo() {
         insert data;
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -146,11 +146,11 @@ of private data.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public Foo() {
         Configuration.disableTriggerCRUDSecurity();
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -180,12 +180,12 @@ Checks against accessing endpoints under plain **http**. You should always use
 **Example(s):**
 
 ``` java
-public without sharing class Foo {
+{%raw%}public without sharing class Foo {
     void foo() {
         HttpRequest req = new HttpRequest();
         req.setEndpoint('http://localhost:com');
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -215,12 +215,12 @@ redirecting users to phishing sites.
 **Example(s):**
 
 ``` java
-public without sharing class Foo {
+{%raw%}public without sharing class Foo {
     String unsafeLocation = ApexPage.getCurrentPage().getParameters.get('url_param');
     PageReference page() {
        return new PageReference(unsafeLocation);
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -250,9 +250,9 @@ forces the developer to take access restrictions into account before modifying o
 **Example(s):**
 
 ``` java
-public without sharing class Foo {
+{%raw%}public without sharing class Foo {
     // DML operation here
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -281,11 +281,11 @@ Detects the usage of untrusted / unescaped variables in DML queries.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void test1(String t1) {
         Database.query('SELECT Id FROM Account' + t1);
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -326,13 +326,13 @@ For more information, you can check [this](https://developer.salesforce.com/docs
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void foo(String username, String password) {
         Blob headerValue = Blob.valueOf(username + ':' + password);
         String authorizationHeader = 'BASIC ' + EncodingUtil.base64Encode(headerValue);
         req.setHeader('Authorization', authorizationHeader);
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -363,9 +363,9 @@ attacks if unescaped.
 **Example(s):**
 
 ``` java
-public without sharing class Foo {
+{%raw%}public without sharing class Foo {
     Trigger.new[0].addError(vulnerableHTMLGoesHere, false);
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -395,10 +395,10 @@ to avoid XSS attacks.
 **Example(s):**
 
 ``` java
-public without sharing class Foo {
+{%raw%}public without sharing class Foo {
     String unescapedstring = ApexPage.getCurrentPage().getParameters.get('url_param');
     String usedLater = unescapedstring;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
diff --git a/docs/pages/pmd/rules/ecmascript/bestpractices.md b/docs/pages/pmd/rules/ecmascript/bestpractices.md
index 9815aaf2f7..33d795d66d 100644
--- a/docs/pages/pmd/rules/ecmascript/bestpractices.md
+++ b/docs/pages/pmd/rules/ecmascript/bestpractices.md
@@ -25,9 +25,9 @@ Avoid using with - it's bad news
 **Example(s):**
 
 ``` javascript
-with (object) {
+{%raw%}with (object) {
     property = 3; // Might be on object, might be on window: who knows.
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -50,7 +50,7 @@ usage is likely a bug, or at best poor style.
 **Example(s):**
 
 ``` javascript
-// Ok
+{%raw%}// Ok
 function foo() {
     if (condition1) {
         return true;
@@ -64,7 +64,7 @@ function bar() {
         return;
     }
     return false;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -108,13 +108,13 @@ Global variables can lead to side-effects that are hard to debug.
 **Example(s):**
 
 ``` javascript
-function(arg) {
+{%raw%}function(arg) {
     notDeclaredVariable = 1;    // this will create a global variable and trigger the rule
 
     var someVar = 1;            // this is a local variable, that's ok
 
     window.otherGlobal = 2;     // this will not trigger the rule, although it is a global variable.
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -143,7 +143,7 @@ is better to explicitly scope the variable name to the nearest enclosing scope w
 **Example(s):**
 
 ``` javascript
-// Ok
+{%raw%}// Ok
 function foo() {
     var p = 'clean';
     function() {
@@ -168,7 +168,7 @@ function bar() {
     }();
 
     // 'p' is trashed and has value of 'dirty'!
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -200,9 +200,9 @@ See also: [parseInt()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/R
 **Example(s):**
 
 ``` javascript
-parseInt("010");    // unclear, could be interpreted as 10 or 7 (with a base of 7)
+{%raw%}parseInt("010");    // unclear, could be interpreted as 10 or 7 (with a base of 7)
 
-parseInt("10", 10); // good
+parseInt("10", 10); // good{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/ecmascript/codestyle.md b/docs/pages/pmd/rules/ecmascript/codestyle.md
index 4ced64c596..a4529a14f8 100644
--- a/docs/pages/pmd/rules/ecmascript/codestyle.md
+++ b/docs/pages/pmd/rules/ecmascript/codestyle.md
@@ -36,7 +36,7 @@ indicative of the bug where the assignment operator '=' was used instead of the
 **Example(s):**
 
 ``` javascript
-var x = 2;
+{%raw%}var x = 2;
 // Bad
 if ((x = getX()) == 3) {
     alert('3!');
@@ -44,7 +44,7 @@ if ((x = getX()) == 3) {
 
 function getX() {
     return 3;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -95,14 +95,14 @@ Avoid using 'for' statements without using curly braces.
 **Example(s):**
 
 ``` javascript
-// Ok
+{%raw%}// Ok
 for (var i = 0; i < 42; i++) {
     foo();
 }
 
 // Bad
 for (var i = 0; i < 42; i++)
-    foo();
+    foo();{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -128,7 +128,7 @@ Avoid using if..else statements without using curly braces.
 **Example(s):**
 
 ``` javascript
-// Ok
+{%raw%}// Ok
 if (foo) {
     x++;
 } else {
@@ -139,7 +139,7 @@ if (foo) {
 if (foo)
     x++;
 else
-    y++;
+    y++;{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -163,14 +163,14 @@ Avoid using if statements without using curly braces.
 **Example(s):**
 
 ``` javascript
-// Ok
+{%raw%}// Ok
 if (foo) {
     x++;
 }
 
 // Bad
 if (foo)
-    x++;
+    x++;{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -197,7 +197,7 @@ See also: <http://eslint.org/docs/rules/no-else-return>
 **Example(s):**
 
 ``` javascript
-// Bad:
+{%raw%}// Bad:
 if (x) {
     return y;
 } else {
@@ -208,7 +208,7 @@ if (x) {
 if (x) {
     return y;
 }
-return z;
+return z;{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -238,14 +238,14 @@ be misleading.  Considering removing this unnecessary Block.
 **Example(s):**
 
 ``` javascript
-if (foo) {
+{%raw%}if (foo) {
     // Ok
 }
 if (bar) {
     {
         // Bad
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -269,9 +269,9 @@ Unnecessary parentheses should be removed.
 **Example(s):**
 
 ``` javascript
-var x = 1; // Ok
+{%raw%}var x = 1; // Ok
 var y = (1 + 1); // Ok
-var z = ((1 + 1)); // Bad
+var z = ((1 + 1)); // Bad{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -302,7 +302,7 @@ will never execute.  This is a bug, or extremely poor style.
 **Example(s):**
 
 ``` javascript
-// Ok
+{%raw%}// Ok
 function foo() {
    return 1;
 }
@@ -311,7 +311,7 @@ function bar() {
    var x = 1;
    return x;
    x = 2;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -335,14 +335,14 @@ Avoid using 'while' statements without using curly braces.
 **Example(s):**
 
 ``` javascript
-// Ok
+{%raw%}// Ok
 while (true) {
     x++;
 }
 
 // Bad
 while (true)
-    x++;
+    x++;{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/ecmascript/errorprone.md b/docs/pages/pmd/rules/ecmascript/errorprone.md
index a3cf0fd5fa..3b8ec3cb69 100644
--- a/docs/pages/pmd/rules/ecmascript/errorprone.md
+++ b/docs/pages/pmd/rules/ecmascript/errorprone.md
@@ -27,13 +27,13 @@ This rule helps improve code portability due to differences in browser treatment
 **Example(s):**
 
 ``` javascript
-function(arg) {
+{%raw%}function(arg) {
     var obj1 = { a : 1 };   // Ok
     var arr1 = [ 1, 2 ];    // Ok
 
     var obj2 = { a : 1, };  // Syntax error in some browsers!
     var arr2 = [ 1, 2, ];   // Length 2 or 3 depending on the browser!
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -80,7 +80,7 @@ same type. The === operator avoids the casting.
 **Example(s):**
 
 ``` javascript
-// Ok
+{%raw%}// Ok
 if (someVar === true) {
   ...
 }
@@ -95,7 +95,7 @@ if (someVar == true) {
 // Bad
 if (someVar != 3) {
   ...
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -120,13 +120,13 @@ precision in a floating point number.  This may result in numeric calculations b
 **Example(s):**
 
 ``` javascript
-var a = 9; // Ok
+{%raw%}var a = 9; // Ok
 var b = 999999999999999; // Ok
 var c = 999999999999999999999; // Not good
 var w = 1.12e-4; // Ok
 var x = 1.12; // Ok
 var y = 1.1234567890123; // Ok
-var z = 1.12345678901234567; // Not good
+var z = 1.12345678901234567; // Not good{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/java/bestpractices.md b/docs/pages/pmd/rules/java/bestpractices.md
index 4fe71fb790..223db9a15c 100644
--- a/docs/pages/pmd/rules/java/bestpractices.md
+++ b/docs/pages/pmd/rules/java/bestpractices.md
@@ -32,12 +32,12 @@ directly) a protected constructor can be provided prevent direct instantiation.
 **Example(s):**
 
 ``` java
-public abstract class Foo {
+{%raw%}public abstract class Foo {
   void int method1() { ... }
   void int method2() { ... }
   // consider using abstract methods or removing
   // the abstract modifier and adding protected constructors
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -62,14 +62,14 @@ This turns a private constructor effectively into one with package scope, and is
 **Example(s):**
 
 ``` java
-public class Outer {
+{%raw%}public class Outer {
  void method(){
   Inner ic = new Inner();//Causes generation of accessor class
  }
  public class Inner {
   private Inner(){}
  }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -92,7 +92,7 @@ be avoided by changing the visibility of the field / method from private to pack
 **Example(s):**
 
 ``` java
-public class OuterClass {
+{%raw%}public class OuterClass {
     private int counter;
     /* package */ int id;
 
@@ -105,7 +105,7 @@ public class OuterClass {
             return OuterClass.this.id; // id is package-private, no accessor method needed
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -127,13 +127,13 @@ This prevents future changes from the user from affecting the original array.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private String [] x;
         public void foo (String [] param) {
         // Don't do this, make a copy of the array at least
         this.x=param;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -159,7 +159,7 @@ Avoid printStackTrace(); use a logger call instead.
 **Example(s):**
 
 ``` java
-class Foo {
+{%raw%}class Foo {
     void bar() {
         try {
             // do something
@@ -167,7 +167,7 @@ class Foo {
             e.printStackTrace();
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -200,7 +200,7 @@ In for-loops, configured by the `forReassign` property:
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   private void foo() {
     for (String s : listOfStrings()) {
       s = s.trim(); // OK, when foreachReassign is "firstOnly" or "allow"
@@ -220,7 +220,7 @@ public class Foo {
       doSomethingWith(i);
     }
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -258,11 +258,11 @@ Reassigning values to incoming parameters is not recommended.  Use temporary loc
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   private void foo(String bar) {
     bar = "something else";
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -287,9 +287,9 @@ if held within objects with long lifetimes.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private StringBuffer buffer;    // potential memory leak as an instance variable;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -311,9 +311,9 @@ Externalizing IP adresses is preferable.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private String ip = "127.0.0.1";     // not recommended
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -350,7 +350,7 @@ If the value return is 'false', it should be handled properly.
 **Example(s):**
 
 ``` java
-Statement stat = conn.createStatement();
+{%raw%}Statement stat = conn.createStatement();
 ResultSet rst = stat.executeQuery("SELECT name FROM person");
 rst.next();     // what if it returns false? bad form
 String firstName = rst.getString(1);
@@ -361,7 +361,7 @@ if (rst.next()) {    // result is properly examined and used
     String firstName = rst.getString(1);
     } else  {
         // handle missing data
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -386,7 +386,7 @@ better placed in classes or enums. See Effective Java, item 19.
 **Example(s):**
 
 ``` java
-public interface ConstantInterface {
+{%raw%}public interface ConstantInterface {
     public static final int CONST1 = 1; // violation, no fields allowed in interface!
     static final int CONST2 = 1;        // violation, no fields allowed in interface!
     final int CONST3 = 1;               // violation, no fields allowed in interface!
@@ -405,7 +405,7 @@ public interface YetAnotherConstantInterface {
     public static final int CONST1 = 1; // no violation
 
     int anyMethod();
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -446,7 +446,7 @@ By convention, the default label should be the last label in a switch statement.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   void bar(int a) {
    switch (a) {
     case 1:  // do something
@@ -457,7 +457,7 @@ public class Foo {
        break;
    }
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -487,13 +487,13 @@ accessible from outside the anonymous class, and those legit cases should be sup
 **Example(s):**
 
 ``` java
-// this is double-brace initialization
-return new ArrayList<String>(){%raw%}{{ addAll("a","b","c"); }};{%endraw%}
+{%raw%}// this is double-brace initialization
+return new ArrayList<String>(){{ addAll("a","b","c"); }};
 
 // the better way is to not create an anonymous class:
 List<String> a = new ArrayList<>();
 a.addAll("a","b","c");
-return a;
+return a;{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -519,7 +519,7 @@ element of the list or array left to right.
 **Example(s):**
 
 ``` java
-public class MyClass {
+{%raw%}public class MyClass {
   void loop(List<String> l) {
     for (int i = 0; i < l.size(); i++) { // pre Java 1.5
       System.out.println(l.get(i));
@@ -529,7 +529,7 @@ public class MyClass {
       System.out.println(s);
     }
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -554,9 +554,9 @@ the loop iterates over. By default this rule allows a regular 'for' loop with on
 **Example(s):**
 
 ``` java
-// this will be reported with the default setting of at most one control variable in a for loop
+{%raw%}// this will be reported with the default setting of at most one control variable in a for loop
 for (int i = 0, j = 0; i < 10; i++, j += 2) {
-   foo();
+   foo();{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -593,9 +593,9 @@ otherwise skip the associate String creation and manipulation.
 **Example(s):**
 
 ``` java
-// Add this for performance
+{%raw%}// Add this for performance
     if (log.isDebugEnabled() { ...
-        log.debug("log something" + " and " + "concat strings");
+        log.debug("log something" + " and " + "concat strings");{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -639,7 +639,7 @@ through the @RunWith(Suite.class) annotation.
 **Example(s):**
 
 ``` java
-public class BadExample extends TestCase{
+{%raw%}public class BadExample extends TestCase{
 
     public static Test suite(){
         return new Suite();
@@ -649,7 +649,7 @@ public class BadExample extends TestCase{
 @RunWith(Suite.class)
 @SuiteClasses( { TestOne.class, TestTwo.class })
 public class GoodTest {
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -681,7 +681,7 @@ JUnit 5 introduced @AfterEach and @AfterAll annotations to execute methods after
 **Example(s):**
 
 ``` java
-public class MyTest {
+{%raw%}public class MyTest {
     public void tearDown() {
         bad();
     }
@@ -690,7 +690,7 @@ public class MyTest2 {
     @After public void tearDown() {
         good();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -722,7 +722,7 @@ JUnit 5 introduced @BeforeEach and @BeforeAll annotations to execute methods bef
 **Example(s):**
 
 ``` java
-public class MyTest {
+{%raw%}public class MyTest {
     public void setUp() {
         bad();
     }
@@ -731,7 +731,7 @@ public class MyTest2 {
     @Before public void setUp() {
         good();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -767,7 +767,7 @@ In JUnit 5, one of the following annotations should be used for tests: @Test, @R
 **Example(s):**
 
 ``` java
-public class MyTest {
+{%raw%}public class MyTest {
     public void testBad() {
         doSomething();
     }
@@ -776,7 +776,7 @@ public class MyTest {
     public void testGood() {
         doSomething();
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -813,14 +813,14 @@ assertEquals(), not the two-argument version.
 **Example(s):**
 
 ``` java
-public class Foo extends TestCase {
+{%raw%}public class Foo extends TestCase {
     public void testSomething() {
         assertEquals("foo", "bar");
         // Use the form:
         // assertEquals("Foo does not equals bar", "foo", "bar");
         // instead
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -857,7 +857,7 @@ This rule checks for JUnit4, JUnit5 and TestNG Tests, as well as methods startin
 **Example(s):**
 
 ``` java
-public class MyTestCase extends TestCase {
+{%raw%}public class MyTestCase extends TestCase {
     // Ok
     public void testMyCaseWithOneAssert() {
         boolean myVar = false;
@@ -870,7 +870,7 @@ public class MyTestCase extends TestCase {
         assertFalse("myVar should be false", myVar);
         assertEquals("should equals false", false, myVar);
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -907,14 +907,14 @@ with messages provide the developer a clearer idea of what the test does.
 **Example(s):**
 
 ``` java
-public class Foo extends TestCase {
+{%raw%}public class Foo extends TestCase {
    public void testSomething() {
       Bar b = findBar();
    // This is better than having a NullPointerException
    // assertNotNull("bar not found", b);
    b.work();
    }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -935,7 +935,7 @@ In JUnit4, use the @Test(expected) annotation to denote tests that should throw
 **Example(s):**
 
 ``` java
-public class MyTest {
+{%raw%}public class MyTest {
     @Test
     public void testBad() {
         try {
@@ -949,7 +949,7 @@ public class MyTest {
     public void testGood() {
         doSomething();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -972,7 +972,7 @@ by their interface types (i.e, Set) provides much more flexibility.
 **Example(s):**
 
 ``` java
-import java.util.ArrayList;
+{%raw%}import java.util.ArrayList;
 import java.util.HashSet;
 
 public class Bar {
@@ -989,7 +989,7 @@ public class Bar {
     public Set<SomeType> getFoo() {
         return new HashSet<SomeType>();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1011,13 +1011,13 @@ removed or replaced outside of the object that owns it. It is safer to return a
 **Example(s):**
 
 ``` java
-public class SecureSystem {
+{%raw%}public class SecureSystem {
     UserData [] ud;
     public UserData [] getUserData() {
         // Don't return directly the internal array, return a copy
         return ud;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1041,12 +1041,12 @@ the method really overrides one, which helps refactoring and clarifies intent.
 **Example(s):**
 
 ``` java
-public class Foo implements Runnable {
+{%raw%}public class Foo implements Runnable {
                 // This method is overridden, and should have an @Override annotation
                 public void run() {
 
                 }
-            }
+            }{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1078,14 +1078,14 @@ can lead to quite messy code. This rule looks for several declarations on the sa
 **Example(s):**
 
 ``` java
-String name;            // separate declarations
+{%raw%}String name;            // separate declarations
 String lastname;
 
 String name, lastname;  // combined declaration, a violation
 
 String name,
        lastname;        // combined declaration on multiple lines, no violation by default.
-                        // Set property strictMode to true to mark this as violation.
+                        // Set property strictMode to true to mark this as violation.{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1138,11 +1138,11 @@ can be avoided, they will just return false.
 **Example(s):**
 
 ``` java
-class Foo {
+{%raw%}class Foo {
   boolean bar(String x) {
     return x.equalsIgnoreCase("2"); // should be "2".equalsIgnoreCase(x)
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1176,11 +1176,11 @@ can be avoided, they will just return false.
 **Example(s):**
 
 ``` java
-class Foo {
+{%raw%}class Foo {
   boolean bar(String x) {
     return x.equals("2"); // should be "2".equals(x)
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1203,7 +1203,7 @@ effectively.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void good() {
         try{
             Integer.parseInt("a");
@@ -1223,7 +1223,7 @@ public class Foo {
             throw new Exception(e.getMessage());
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1247,7 +1247,7 @@ Consider replacing Enumeration usages with the newer java.util.Iterator
 **Example(s):**
 
 ``` java
-public class Foo implements Enumeration {
+{%raw%}public class Foo implements Enumeration {
     private int x = 42;
     public boolean hasMoreElements() {
         return true;
@@ -1255,7 +1255,7 @@ public class Foo implements Enumeration {
     public Object nextElement() {
         return String.valueOf(i++);
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1279,11 +1279,11 @@ Consider replacing Hashtable usage with the newer java.util.Map if thread safety
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void bar() {
         Hashtable h = new Hashtable();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1307,11 +1307,11 @@ Consider replacing Vector usages with the newer java.util.ArrayList if expensive
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void bar() {
         Vector v = new Vector();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1335,14 +1335,14 @@ All switch statements should include a default option to catch any unspecified v
 **Example(s):**
 
 ``` java
-public void bar() {
+{%raw%}public void bar() {
     int x = 2;
     switch (x) {
       case 1: int j = 6;
       case 2: int j = 8;
           // missing default: here
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1372,14 +1372,14 @@ will (and by priority) and avoid clogging the Standard out log.
 **Example(s):**
 
 ``` java
-class Foo{
+{%raw%}class Foo{
     Logger log = Logger.getLogger(Foo.class.getName());
     public void testA () {
         System.out.println("Entering test");
         // Better use this
         log.fine("Entering test");
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1400,11 +1400,11 @@ Avoid passing parameters to methods or constructors without actually referencing
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private void bar(String howdy) {
         // howdy is not used
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1441,10 +1441,10 @@ This rule will also find unused on demand imports, i.e. import com.foo.*.
 **Example(s):**
 
 ``` java
-import java.io.File;  // not referenced or required
+{%raw%}import java.io.File;  // not referenced or required
 import java.util.*;   // not referenced or required
 
-public class Foo {}
+public class Foo {}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1465,11 +1465,11 @@ Detects when a local variable is declared and/or assigned, but not used.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void doSomething() {
         int i = 5; // Unused
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1490,14 +1490,14 @@ Detects when a private field is declared and/or assigned a value, but not used.
 **Example(s):**
 
 ``` java
-public class Something {
+{%raw%}public class Something {
     private static int FOO = 2; // Unused
     private int i = 5; // Unused
     private int j = 6;
     public int addOne() {
         return j++;
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1533,9 +1533,9 @@ Unused Private Method detects when a private method is declared but is unused.
 **Example(s):**
 
 ``` java
-public class Something {
+{%raw%}public class Something {
     private void foo() {} // unused
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1587,13 +1587,13 @@ This rule detects JUnit assertions in object equality. These assertions should b
 **Example(s):**
 
 ``` java
-public class FooTest extends TestCase {
+{%raw%}public class FooTest extends TestCase {
     void testCode() {
         Object a, b;
         assertTrue(a.equals(b));                    // bad usage
         assertEquals(?a should equals b?, a, b);    // good usage
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1632,7 +1632,7 @@ more specific methods, like assertNull, assertNotNull.
 **Example(s):**
 
 ``` java
-public class FooTest extends TestCase {
+{%raw%}public class FooTest extends TestCase {
     void testCode() {
         Object a = doSomething();
         assertTrue(a==null);    // bad usage
@@ -1640,7 +1640,7 @@ public class FooTest extends TestCase {
         assertTrue(a != null);  // bad usage
         assertNotNull(a);       // good usage
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1679,13 +1679,13 @@ by more specific methods, like assertSame, assertNotSame.
 **Example(s):**
 
 ``` java
-public class FooTest extends TestCase {
+{%raw%}public class FooTest extends TestCase {
     void testCode() {
         Object a, b;
         assertTrue(a == b); // bad usage
         assertSame(a, b);   // good usage
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1715,7 +1715,7 @@ When asserting a value is the same as a literal or Boxed boolean, use assertTrue
 **Example(s):**
 
 ``` java
-public class MyTestCase extends TestCase {
+{%raw%}public class MyTestCase extends TestCase {
     public void testMyCase() {
         boolean myVar = true;
         // Ok
@@ -1729,7 +1729,7 @@ public class MyTestCase extends TestCase {
         // Bad
         assertEquals("myVar is false", Boolean.FALSE, myVar);
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1751,7 +1751,7 @@ Comparing the value of size() to 0 does not convey intent as well as the isEmpty
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void good() {
         List foo = getList();
         if (foo.isEmpty()) {
@@ -1765,7 +1765,7 @@ public class Foo {
             // blah
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1801,7 +1801,7 @@ preserved.
 **Example(s):**
 
 ``` java
-public class TryWithResources {
+{%raw%}public class TryWithResources {
     public void run() {
         InputStream in = null;
         try {
@@ -1822,7 +1822,7 @@ public class TryWithResources {
             int i = in2.read();
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1880,7 +1880,7 @@ having to deal with the creation of an array.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void foo(String s, Object[] args) {
         // Do something here...
     }
@@ -1888,7 +1888,7 @@ public class Foo {
     public void bar(String s, Object... args) {
         // Ahh, varargs tastes much better...
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1919,14 +1919,14 @@ a block `{}` is sufficient.
 **Example(s):**
 
 ``` java
-public class Example {
+{%raw%}public class Example {
   {
     while (true) { } // allowed
     while (false) { } // disallowed
     do { } while (true); // disallowed
     do { } while (false); // disallowed
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/java/codestyle.md b/docs/pages/pmd/rules/java/codestyle.md
index 3c9cbab427..588e052abc 100644
--- a/docs/pages/pmd/rules/java/codestyle.md
+++ b/docs/pages/pmd/rules/java/codestyle.md
@@ -37,8 +37,8 @@ by {% rule java/codestyle/ClassNamingConventions %}.
 **Example(s):**
 
 ``` java
-public abstract class Foo { // should be AbstractFoo
-}
+{%raw%}public abstract class Foo { // should be AbstractFoo
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -75,11 +75,11 @@ Classes with solely static members are ignored, refer to [UseUtilityClassRule](p
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
    // missing constructor
   public void doSomething() { ... }
   public void doOtherThing { ... }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -115,8 +115,8 @@ Avoid using dollar signs in variable/method/class/interface names.
 **Example(s):**
 
 ``` java
-public class Fo$o {  // not a recommended name
-}
+{%raw%}public class Fo$o {  // not a recommended name
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -162,11 +162,11 @@ If the goal is to avoid defining constants in a scope smaller than the class, th
 **Example(s):**
 
 ``` java
-public class MyClass {
+{%raw%}public class MyClass {
     public void foo() {
         final String finalLocalVariable;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -199,18 +199,18 @@ by the more general rule {% rule java/codestyle/FormalParameterNamingConventions
 **Example(s):**
 
 ``` java
-// Not really clear
+{%raw%}// Not really clear
 public class Foo {
   public void bar(
       int inLeftOperand,
       Result outRightOperand) {
       outRightOperand.setValue(inLeftOperand * outRightOperand.getValue());
   }
-}
+}{%endraw%}
 ```
 
 ``` java
-// Far more useful
+{%raw%}// Far more useful
 public class Foo {
   /**
    *
@@ -222,7 +222,7 @@ public class Foo {
         Result rightOperand) {
         rightOperand.setValue(leftOperand * rightOperand.getValue());
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -249,11 +249,11 @@ Clarify your intent by using private or package access modifiers instead.
 **Example(s):**
 
 ``` java
-public final class Bar {
+{%raw%}public final class Bar {
   private int x;
   protected int y;  // bar cannot be subclassed, so is y really private or package visible?
   Bar() {}
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -281,10 +281,10 @@ visibility cannot be reduced). Clarify your intent by using private or package a
 **Example(s):**
 
 ``` java
-public final class Foo {
+{%raw%}public final class Foo {
   private int bar() {}
   protected int baz() {} // Foo cannot be subclassed, and doesn't extend anything, so is baz() really private or package visible?
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -309,7 +309,7 @@ and increases the maintenance burden.
 **Example(s):**
 
 ``` java
-public class SomeJNIClass {
+{%raw%}public class SomeJNIClass {
 
      public SomeJNIClass() {
          System.loadLibrary("nativelib");
@@ -322,7 +322,7 @@ public class SomeJNIClass {
      public void invalidCallsInMethod() throws SecurityException, NoSuchMethodException {
          System.loadLibrary("nativelib");
      }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -354,9 +354,9 @@ and not(../Annotation//Name[@Image = 'Override'])
 **Example(s):**
 
 ``` java
-public boolean getFoo();            // bad
+{%raw%}public boolean getFoo();            // bad
 public boolean isFoo();             // ok
-public boolean getFoo(boolean bar); // ok, unless checkParameterizedMethods=true
+public boolean getFoo(boolean bar); // ok, unless checkParameterizedMethods=true{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -399,7 +399,7 @@ another constructor (such as an overloaded constructor) is called, this rule wil
 **Example(s):**
 
 ``` java
-public class Foo extends Bar{
+{%raw%}public class Foo extends Bar{
   public Foo() {
    // call the constructor of Bar
    super();
@@ -409,7 +409,7 @@ public class Foo extends Bar{
    this();
    // no problem with this
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -436,7 +436,7 @@ and reports utility class names not ending with 'Util'.
 **Example(s):**
 
 ``` java
-// This is Pascal case, the recommended naming convention in Java
+{%raw%}// This is Pascal case, the recommended naming convention in Java
 // Note that the default values of this rule don't allow underscores 
 // or accented characters in type names
 public class FooBar {}
@@ -447,7 +447,7 @@ public class FooBar {}
 public abstract class Thing {}
 
 // This class doesn't respect the convention, and will be flagged
-public class Éléphant {}
+public class Éléphant {}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -497,7 +497,7 @@ property &quot;ignoredAnnotations&quot; to customize the recognized annotations.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     final String stringValue = "some string";
     String getString() {
        return stringValue;
@@ -516,7 +516,7 @@ public class Foo {
 
     /* default */ class NestedFoo {
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -561,9 +561,9 @@ as &quot;does the error case go first?&quot; or &quot;does the common case go fi
 **Example(s):**
 
 ``` java
-boolean bar(int x, int y) {
+{%raw%}boolean bar(int x, int y) {
     return (x != y) ? diff : same;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -628,12 +628,12 @@ and IfElseStmtMustUseBraces.
 **Example(s):**
 
 ``` java
-while (true)    // not recommended
+{%raw%}while (true)    // not recommended
   x++;
 
 while (true) {  // preferred approach
   x++;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -707,7 +707,7 @@ Avoid importing anything from the package 'java.lang'.  These classes are automa
 **Example(s):**
 
 ``` java
-import java.lang.String;    // this is unnecessary
+{%raw%}import java.lang.String;    // this is unnecessary
 
 public class Foo {}
 
@@ -715,7 +715,7 @@ public class Foo {}
 
 import java.lang.*;         // this is bad
 
-public class Foo {}
+public class Foo {}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -736,9 +736,9 @@ Duplicate or overlapping import statements should be avoided.
 **Example(s):**
 
 ``` java
-import java.lang.String;
+{%raw%}import java.lang.String;
 import java.lang.*;
-public class Foo {}
+public class Foo {}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -777,7 +777,7 @@ usage by developers who should be implementing their own versions in the concret
 **Example(s):**
 
 ``` java
-public abstract class ShouldBeAbstract {
+{%raw%}public abstract class ShouldBeAbstract {
     public Object couldBeAbstract() {
         // Should be abstract method ?
         return null;
@@ -785,7 +785,7 @@ public abstract class ShouldBeAbstract {
 
     public void couldBeAbstract() {
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -809,8 +809,8 @@ No need to explicitly extend Object.
 **Example(s):**
 
 ``` java
-public class Foo extends Object {     // not required
-}
+{%raw%}public class Foo extends Object {     // not required
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -831,7 +831,7 @@ Fields should be declared at the top of the class, before any method declaration
 **Example(s):**
 
 ``` java
-public class HelloWorldBean {
+{%raw%}public class HelloWorldBean {
 
   // Field declared before methods / inner classes - OK
   private String _thing;
@@ -842,7 +842,7 @@ public class HelloWorldBean {
 
   // Field declared after methods / inner classes - avoid this
   private String _fieldInWrongLocation;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -887,7 +887,7 @@ convention for constants and enum constants.
 **Example(s):**
 
 ``` java
-class Foo {
+{%raw%}class Foo {
                 int myField = 1; // This is in camel case, so it's ok
                 int my_Field = 1; // This contains an underscore, it's not ok by default
                                   // but you may allow it, or even require the "my_" prefix
@@ -902,7 +902,7 @@ class Foo {
                 enum AnEnum {
                     ORG, NET, COM; // These use a separate property but are set to ALL_UPPER by default
                 }
-            }
+            }{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -957,11 +957,11 @@ Some for loops can be simplified to while loops, this makes them more concise.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void bar() {
         for (;true;) true; // No Init or Update part, may as well be: while (true)
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -992,8 +992,8 @@ by the rule {% rule java/codestyle/ControlStatementBraces %}.
 **Example(s):**
 
 ``` java
-for (int i = 0; i < 42; i++)
-   foo();
+{%raw%}for (int i = 0; i < 42; i++)
+   foo();{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1019,7 +1019,7 @@ By default this rule uses the standard Java naming convention (Camel case).
 **Example(s):**
 
 ``` java
-class Foo {
+{%raw%}class Foo {
 
                 abstract void bar(int myInt); // This is Camel case, so it's ok
 
@@ -1037,7 +1037,7 @@ class Foo {
 
                 }
 
-            }
+            }{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1086,7 +1086,7 @@ Names for references to generic values should be limited to a single uppercase l
 **Example(s):**
 
 ``` java
-public interface GenericDao<E extends BaseModel, K extends Serializable> extends BaseDao {
+{%raw%}public interface GenericDao<E extends BaseModel, K extends Serializable> extends BaseDao {
     // This is ok...
 }
 
@@ -1100,7 +1100,7 @@ public interface GenericDao<e extends BaseModel, K extends Serializable> {
 
 public interface GenericDao<EF extends BaseModel, K extends Serializable> {
    // 'EF' is not ok.
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1125,7 +1125,7 @@ branch.
 **Example(s):**
 
 ``` java
-try {
+{%raw%}try {
     // do something
 } catch (IllegalArgumentException e) {
     throw e;
@@ -1137,7 +1137,7 @@ try {
     // do something
 } catch (IllegalArgumentException | IllegalStateException e) { // This is better
     throw e;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1171,14 +1171,14 @@ by the rule {% rule java/codestyle/ControlStatementBraces %}.
 **Example(s):**
 
 ``` java
-// this is OK
+{%raw%}// this is OK
 if (foo) x++;
 
    // but this is not
 if (foo)
        x = x+1;
    else
-       x = x-1;
+       x = x-1;{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1209,12 +1209,12 @@ by the rule {% rule java/codestyle/ControlStatementBraces %}.
 **Example(s):**
 
 ``` java
-if (foo)    // not recommended
+{%raw%}if (foo)    // not recommended
     x++;
 
 if (foo) {  // preferred approach
     x++;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1245,7 +1245,7 @@ Developers Perceive Them](https://doi.org/10.1007/s10664-014-9350-8).
 **Example(s):**
 
 ``` java
-public class LinguisticNaming {
+{%raw%}public class LinguisticNaming {
     int isValid;    // the field name indicates a boolean, but it is an int.
     boolean isTrue; // correct type of the field
 
@@ -1281,7 +1281,7 @@ public class LinguisticNaming {
     void grapeToWine() {
         // nothing to return?
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1350,9 +1350,9 @@ The Local Home interface of a Session EJB should be suffixed by 'LocalHome'.
 **Example(s):**
 
 ``` java
-public interface MyBeautifulLocalHome extends javax.ejb.EJBLocalHome {} // proper name
+{%raw%}public interface MyBeautifulLocalHome extends javax.ejb.EJBLocalHome {} // proper name
 
-public interface MissingProperSuffix extends javax.ejb.EJBLocalHome {}  // non-standard name
+public interface MissingProperSuffix extends javax.ejb.EJBLocalHome {}  // non-standard name{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1386,9 +1386,9 @@ The Local Interface of a Session EJB should be suffixed by 'Local'.
 **Example(s):**
 
 ``` java
-public interface MyLocal extends javax.ejb.EJBLocalObject {}                // proper name
+{%raw%}public interface MyLocal extends javax.ejb.EJBLocalObject {}                // proper name
 
-public interface MissingProperSuffix extends javax.ejb.EJBLocalObject {}    // non-standard name
+public interface MissingProperSuffix extends javax.ejb.EJBLocalObject {}    // non-standard name{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1409,12 +1409,12 @@ A local variable assigned only once can be declared final.
 **Example(s):**
 
 ``` java
-public class Bar {
+{%raw%}public class Bar {
     public void foo () {
     String txtA = "a";          // if txtA will not be assigned again it is better to do this:
     final String txtB = "b";
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1455,7 +1455,7 @@ By default this rule uses the standard Java naming convention (Camel case).
 **Example(s):**
 
 ``` java
-class Foo {
+{%raw%}class Foo {
                 void bar() {
                     int localVariable = 1; // This is in camel case, so it's ok
                     int local_variable = 1; // This will be reported unless you change the regex
@@ -1469,7 +1469,7 @@ class Foo {
                     }
 
                 }
-            }
+            }{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1512,7 +1512,7 @@ Fields, formal arguments, or local variable names that are too long can make the
 **Example(s):**
 
 ``` java
-public class Something {
+{%raw%}public class Something {
     int reallyLongIntName = -3;             // VIOLATION - Field
     public static void main( String argumentsList[] ) { // VIOLATION - Formal
         int otherReallyLongName = -5;       // VIOLATION - Local
@@ -1520,7 +1520,7 @@ public class Something {
              interestingIntIndex < 10;
              interestingIntIndex ++ ) {
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1571,9 +1571,9 @@ The EJB Specification states that any MessageDrivenBean or SessionBean should be
 **Example(s):**
 
 ``` java
-public class SomeBean implements SessionBean{}                  // proper name
+{%raw%}public class SomeBean implements SessionBean{}                  // proper name
 
-public class MissingTheProperSuffix implements SessionBean {}   // non-standard name
+public class MissingTheProperSuffix implements SessionBean {}   // non-standard name{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1594,13 +1594,13 @@ A method argument that is never re-assigned within the method can be declared fi
 **Example(s):**
 
 ``` java
-public void foo1 (String param) {       // do stuff with param never assigning it
+{%raw%}public void foo1 (String param) {       // do stuff with param never assigning it
 
 }
 
 public void foo2 (final String param) { // better, do stuff with param never assigning it
 
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1626,10 +1626,10 @@ By default this rule uses the standard Java naming convention (Camel case).
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void fooStuff() {
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1685,12 +1685,12 @@ by the more general rule
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private int m_foo; // OK
     public void bar(String m_baz) { // Bad
       int m_boz = 42; // Bad
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1714,9 +1714,9 @@ Detects when a class, interface, enum or annotation does not have a package defi
 **Example(s):**
 
 ``` java
-// no package declaration
+{%raw%}// no package declaration
 public class ClassInDefaultPackage {
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1737,14 +1737,14 @@ A method should have only one exit point, and that should be the last statement
 **Example(s):**
 
 ``` java
-public class OneReturnOnly1 {
+{%raw%}public class OneReturnOnly1 {
   public void foo(int x) {
     if (x > 0) {
       return "hey";   // first exit
     }
     return "hi";    // second exit
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1768,10 +1768,10 @@ Detects when a package definition contains uppercase characters.
 **Example(s):**
 
 ``` java
-package com.MyCompany;  // should be lowercase name
+{%raw%}package com.MyCompany;  // should be lowercase name
 
 public class SomeClass {
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1792,7 +1792,7 @@ Checks for variables that are defined before they might be used. A reference is
 **Example(s):**
 
 ``` java
-public int getLength(String[] strings) {
+{%raw%}public int getLength(String[] strings) {
 
     int length = 0; // declared prematurely
 
@@ -1803,7 +1803,7 @@ public int getLength(String[] strings) {
     }
 
     return length;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1840,14 +1840,14 @@ Remote Interface of a Session EJB should not have a suffix.
 **Example(s):**
 
 ``` java
-/* Poor Session suffix */
+{%raw%}/* Poor Session suffix */
 public interface BadSuffixSession extends javax.ejb.EJBObject {}
 
 /* Poor EJB suffix */
 public interface BadSuffixEJB extends javax.ejb.EJBObject {}
 
 /* Poor Bean suffix */
-public interface BadSuffixBean extends javax.ejb.EJBObject {}
+public interface BadSuffixBean extends javax.ejb.EJBObject {}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1881,9 +1881,9 @@ A Remote Home interface type of a Session EJB should be suffixed by 'Home'.
 **Example(s):**
 
 ``` java
-public interface MyBeautifulHome extends javax.ejb.EJBHome {}       // proper name
+{%raw%}public interface MyBeautifulHome extends javax.ejb.EJBHome {}       // proper name
 
-public interface MissingProperSuffix extends javax.ejb.EJBHome {}   // non-standard name
+public interface MissingProperSuffix extends javax.ejb.EJBHome {}   // non-standard name{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1907,8 +1907,8 @@ Short Classnames with fewer than e.g. five characters are not recommended.
 **Example(s):**
 
 ``` java
-public class Foo {
-}
+{%raw%}public class Foo {
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1947,10 +1947,10 @@ Method names that are very short are not helpful to the reader.
 **Example(s):**
 
 ``` java
-public class ShortMethod {
+{%raw%}public class ShortMethod {
     public void a( int i ) { // Violation
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1997,7 +1997,7 @@ Fields, local variables, or parameter names that are very short are not helpful
 **Example(s):**
 
 ``` java
-public class Something {
+{%raw%}public class Something {
     private int q = 15;                         // field - too short
     public static void main( String as[] ) {    // formal arg - too short
         int r = 20 + q;                         // local var - too short
@@ -2008,7 +2008,7 @@ public class Something {
             r += q;
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -2056,12 +2056,12 @@ by the more general rule {% rule java/codestyle/FieldNamingConventions %}.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
  // this is bad, since someone could accidentally
  // do PI = 2.71828; which is actually e
  // final double PI = 3.16; is ok
   double PI = 3.16;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2088,11 +2088,11 @@ which class a static member comes from (Sun 1.5 Language Guide).
 **Example(s):**
 
 ``` java
-import static Lennon;
+{%raw%}import static Lennon;
 import static Ringo;
 import static George;
 import static Paul;
-import static Yoko; // Too much !
+import static Yoko; // Too much !{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -2128,7 +2128,7 @@ Avoid the use of value in annotations when it's the only element.
 **Example(s):**
 
 ``` java
-@TestClassAnnotation(value = "TEST")
+{%raw%}@TestClassAnnotation(value = "TEST")
 public class Foo {
 
     @TestMemberAnnotation(value = "TEST")
@@ -2154,7 +2154,7 @@ public class Foo {
         int x = 42;
         return;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2177,9 +2177,9 @@ modifier as the declaring class. In an enum type, the default constructor is imp
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   public Foo() {}
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -2216,12 +2216,12 @@ which is covered by an import statement is redundant.  Consider using the non-fu
 **Example(s):**
 
 ``` java
-import java.util.List;
+{%raw%}import java.util.List;
 
 public class Foo {
     private java.util.List list1;   // Unnecessary FQN
     private List list2;             // More appropriate given import of 'java.util.List'
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2242,12 +2242,12 @@ Avoid the creation of unnecessary local variables
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
    public int foo() {
      int x = doSomething();
      return x;  // instead, just 'return doSomething();'
    }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -2287,7 +2287,7 @@ For historical reasons, modifiers which are implied by the context are accepted
 **Example(s):**
 
 ``` java
-public @interface Annotation {
+{%raw%}public @interface Annotation {
     public abstract void bar();     // both abstract and public are ignored by the compiler
     public static final int X = 0;  // public, static, and final all ignored
     public static class Bar {}      // public, static ignored
@@ -2304,7 +2304,7 @@ public class Bar {
     public static enum FoorBar {    // static ignored
         FOO;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2325,12 +2325,12 @@ Avoid the use of unnecessary return statements.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void bar() {
         int x = 42;
         return;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2367,8 +2367,8 @@ which makes the code also more readable.
 **Example(s):**
 
 ``` java
-List<String> strings = new ArrayList<String>(); // unnecessary duplication of type parameters
-List<String> stringsWithDiamond = new ArrayList<>(); // using the diamond operator is more concise
+{%raw%}List<String> strings = new ArrayList<String>(); // unnecessary duplication of type parameters
+List<String> stringsWithDiamond = new ArrayList<>(); // using the diamond operator is more concise{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2445,7 +2445,7 @@ Useless parentheses should be removed.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
 
     private int _bar1;
     private Integer _bar2;
@@ -2454,7 +2454,7 @@ public class Foo {
         _bar1 = Integer.valueOf((n)); // here
         _bar2 = (n); // and here
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2483,7 +2483,7 @@ Reports qualified this usages in the same class.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     final Foo otherFoo = Foo.this;  // use "this" directly
 
     public void doSomething() {
@@ -2506,7 +2506,7 @@ public class Foo {
     private class Foo2 {
         final Foo2 myFoo2 = Foo2.this;  // Use "this" direclty
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2535,8 +2535,8 @@ E.g. `int[] x = new int[] { 1, 2, 3 };` can be written as `int[] x = { 1, 2, 3 }
 **Example(s):**
 
 ``` java
-Foo[] x = new Foo[] { ... }; // Overly verbose
-Foo[] x = { ... }; //Equivalent to above line
+{%raw%}Foo[] x = new Foo[] { ... }; // Overly verbose
+Foo[] x = { ... }; //Equivalent to above line{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2588,9 +2588,9 @@ that are misplaced (not making groups of 3 digits) are reported.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private int num = 1000000; // should be 1_000_000
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -2635,11 +2635,11 @@ by the more general rules {% rule java/codestyle/FieldNamingConventions %},
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public static final int MY_NUM = 0;
     public String myTest = "";
     DataModule dmTest = new DataModule();
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -2707,12 +2707,12 @@ by the rule {% rule java/codestyle/ControlStatementBraces %}.
 **Example(s):**
 
 ``` java
-while (true)    // not recommended
+{%raw%}while (true)    // not recommended
       x++;
       
 while (true) {  // preferred approach
       x++;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/java/design.md b/docs/pages/pmd/rules/java/design.md
index ca13441730..4d442590f2 100644
--- a/docs/pages/pmd/rules/java/design.md
+++ b/docs/pages/pmd/rules/java/design.md
@@ -30,10 +30,10 @@ protected constructor in order to prevent instantiation than make the class misl
 **Example(s):**
 
 ``` java
-public abstract class Example {
+{%raw%}public abstract class Example {
     String field;
     int otherField;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -60,7 +60,7 @@ Avoid catching generic exceptions such as NullPointerException, RuntimeException
 **Example(s):**
 
 ``` java
-package com.igate.primitive;
+{%raw%}package com.igate.primitive;
 
 public class PrimitiveType {
 
@@ -75,7 +75,7 @@ public class PrimitiveType {
             e.printStackTrace();
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -96,7 +96,7 @@ Avoid creating deeply nested if-then statements since they are harder to read an
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   public void bar(int x, int y, int z) {
     if (x>y) {
       if (y>z) {
@@ -106,7 +106,7 @@ public class Foo {
       }
     }
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -148,13 +148,13 @@ Catch blocks that merely rethrow a caught exception only add to code size and ru
 **Example(s):**
 
 ``` java
-public void bar() {
+{%raw%}public void bar() {
     try {
         // do something
     }  catch (SomeException se) {
        throw se;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -187,14 +187,14 @@ code size and runtime complexity.
 **Example(s):**
 
 ``` java
-public void bar() {
+{%raw%}public void bar() {
     try {
         // do something
     } catch (SomeException se) {
         // harmless comment
         throw new SomeException(se);
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -244,11 +244,11 @@ public class Foo {
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void bar() {
         throw new NullPointerException();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -282,11 +282,11 @@ or
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void bar() throws Exception {
         throw new Exception();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -315,8 +315,8 @@ exceptional cases with a `@throws` Javadoc tag, which allows being more descript
 **Example(s):**
 
 ``` java
-public void foo() throws RuntimeException {
-}
+{%raw%}public void foo() throws RuntimeException {
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -345,9 +345,9 @@ TypeDeclaration[count(../TypeDeclaration) = 1]/ClassOrInterfaceDeclaration
 **Example(s):**
 
 ``` java
-public class Foo {  //Should be final
+{%raw%}public class Foo {  //Should be final
     private Foo() { }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -376,7 +376,7 @@ Sometimes two consecutive 'if' statements can be consolidated by separating thei
 **Example(s):**
 
 ``` java
-void bar() {
+{%raw%}void bar() {
     if (x) {            // original implementation
         if (y) {
             // do stuff
@@ -388,7 +388,7 @@ void bar() {
     if (x && y) {        // optimized implementation
         // do stuff
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -410,7 +410,7 @@ A number higher than the specified threshold can indicate a high degree of coupl
 **Example(s):**
 
 ``` java
-import com.Blah;
+{%raw%}import com.Blah;
 import org.Bar;
 import org.Bardo;
 
@@ -425,7 +425,7 @@ public class Foo {
         ObjectZ var93;
         return something;
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -475,7 +475,7 @@ into subcomponents.
 **Example(s):**
 
 ``` java
-class Foo {
+{%raw%}class Foo {
   void baseCyclo() {                // Cyclo = 1
     highCyclo();
   }
@@ -498,7 +498,7 @@ class Foo {
       }
     }
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -550,7 +550,7 @@ into the former client classes.
 **Example(s):**
 
 ``` java
-public class DataClass {
+{%raw%}public class DataClass {
 
   public int bar = 0;
   public int na = 0;
@@ -559,7 +559,7 @@ public class DataClass {
   public void setBee(int n) {
     bee = n;
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -584,7 +584,7 @@ Errors are system exceptions. Do not extend them.
 **Example(s):**
 
 ``` java
-public class Foo extends Error { }
+{%raw%}public class Foo extends Error { }{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -606,7 +606,7 @@ Either add the necessary validation or use an alternate control structure.
 **Example(s):**
 
 ``` java
-public void bar() {
+{%raw%}public void bar() {
     try {
         try {
         } catch (Exception e) {
@@ -616,7 +616,7 @@ public void bar() {
     } catch (WrapperException e) {
         // do some more stuff
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -639,7 +639,7 @@ apart the code becomes more manageable and ripe for reuse.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void bar1() {
         // 1000 lines of code
     }
@@ -653,7 +653,7 @@ public class Foo {
     public void barN() {
         // 1000 lines of code
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -693,12 +693,12 @@ user-specified threshold.
 **Example(s):**
 
 ``` java
-import blah.blah.Baz;
+{%raw%}import blah.blah.Baz;
 import blah.blah.Bif;
 // 18 others from the same package elided
 public class Foo {
     public void doWork() {}
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -739,11 +739,11 @@ Try to reduce the method length by creating helper methods and removing any copy
 **Example(s):**
 
 ``` java
-public void doSomething() {
+{%raw%}public void doSomething() {
     System.out.println("Hello world!");
     System.out.println("Hello world!");
     // 98 copies omitted for brevity.
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -782,7 +782,7 @@ same datatype. These situations usually denote the need for new objects to wrap
 **Example(s):**
 
 ``` java
-public void addPerson(      // too many arguments liable to be mixed up
+{%raw%}public void addPerson(      // too many arguments liable to be mixed up
     int birthYear, int birthMonth, int birthDate, int height, int weight, int ssn) {
 
     . . . .
@@ -792,7 +792,7 @@ public void addPerson(      // preferred approach
     Date birthdate, BodyMeasurements measurements, int ssn) {
 
     . . . .
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -833,7 +833,7 @@ developed easily.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public String value;
     public Bar something;
     public Variable var;
@@ -843,7 +843,7 @@ public class Foo {
     public void doMoreWork() {}
     public void doWorkAgain() {}
     // [... more more public methods ...]
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -888,9 +888,9 @@ in each object at runtime.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   public final int BAR = 42; // this could be static and save some space
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -936,7 +936,7 @@ of the field or by a constructor.  This helps in converting existing classes to
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   private int x; // could be final
   public Foo() {
       x = 7;
@@ -944,7 +944,7 @@ public class Foo {
   public void foo() {
      int a = x + 2;
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -988,7 +988,7 @@ See also the references:
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     /**
      * This example will result in two violations.
      */
@@ -1008,7 +1008,7 @@ public class Foo {
         // this method call is ok, because we have create the new instance of D locally.
         d.doSomethingElse(); 
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1032,7 +1032,7 @@ Use opposite operator instead of negating the whole expression with a logic comp
 **Example(s):**
 
 ``` java
-public boolean bar(int a, int b) {
+{%raw%}public boolean bar(int a, int b) {
 
     if (!(a == b)) { // use !=
          return false;
@@ -1043,7 +1043,7 @@ public boolean bar(int a, int b) {
     }
 
     return true;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1065,13 +1065,13 @@ except when using one of the configured allowed classes.
 **Example(s):**
 
 ``` java
-package some.package;
+{%raw%}package some.package;
 
 import some.other.package.subpackage.subsubpackage.DontUseThisClass;
 
 public class Bar {
     DontUseThisClass boo = new DontUseThisClass();
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1118,7 +1118,7 @@ by the rule {% rule java/design/CyclomaticComplexity %}.
 **Example(s):**
 
 ``` java
-public class Foo {    // This has a Cyclomatic Complexity = 9
+{%raw%}public class Foo {    // This has a Cyclomatic Complexity = 9
 1   public void example()  {
 2       if (a == b)  {
 3           if (a1 == b1) {
@@ -1153,7 +1153,7 @@ public class Foo {    // This has a Cyclomatic Complexity = 9
             }
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1200,7 +1200,7 @@ by the rule {% rule java/design/NcssCount %}.
 **Example(s):**
 
 ``` java
-public class Foo extends Bar {
+{%raw%}public class Foo extends Bar {
     public Foo() {
         super();
 
@@ -1211,7 +1211,7 @@ public class Foo extends Bar {
         //this constructor only has 1 NCSS lines
         super.foo();
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1252,7 +1252,7 @@ the [NCSS metric](pmd_java_metrics_index.html#non-commenting-source-statements-n
 **Example(s):**
 
 ``` java
-import java.util.Collections;       // +0
+{%raw%}import java.util.Collections;       // +0
 import java.io.IOException;         // +0
 
 class Foo {                         // +1, total Ncss = 12
@@ -1276,7 +1276,7 @@ class Foo {                         // +1, total Ncss = 12
       assert false;                 // +1
     }
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1323,7 +1323,7 @@ by the rule {% rule java/design/NcssCount %}.
 **Example(s):**
 
 ``` java
-public class Foo extends Bar {
+{%raw%}public class Foo extends Bar {
     public int methd() {
         super.methd();
 
@@ -1335,7 +1335,7 @@ public class Foo extends Bar {
         //this method only has 1 NCSS lines
         return 1;
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1380,7 +1380,7 @@ by the rule {% rule java/design/NcssCount %}.
 **Example(s):**
 
 ``` java
-public class Foo extends Bar {
+{%raw%}public class Foo extends Bar {
     public Foo() {
         //this class only has 6 NCSS lines
         super();
@@ -1391,7 +1391,7 @@ public class Foo extends Bar {
 
         super.foo();
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1436,7 +1436,7 @@ complexity and increase readability.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   public static void bar() { // Ncss = 252: reported!
     boolean a, b = true;
     try { // 2 * 2 + 2 = 6
@@ -1469,7 +1469,7 @@ public class Foo {
         List buz = new ArrayList();
     } while (a && j++ < 30);
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1509,8 +1509,8 @@ derived from RuntimeException or a checked exception.
 **Example(s):**
 
 ``` java
-public void foo() throws Exception {
-}
+{%raw%}public void foo() throws Exception {
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1559,7 +1559,7 @@ or
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public boolean test() {
         return condition ? true : something(); // can be as simple as return condition || something();
     }
@@ -1575,7 +1575,7 @@ public class Foo {
     public void test4() {
         final boolean otherValue = condition ? something() : false; // can be as simple as condition && something();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1622,12 +1622,12 @@ PrimaryExpression/PrimarySuffix/Arguments/ArgumentList
 **Example(s):**
 
 ``` java
-public class SimpleTest extends TestCase {
+{%raw%}public class SimpleTest extends TestCase {
     public void testX() {
         assertTrue("not empty", !r.isEmpty());  // replace with assertFalse("not empty", r.isEmpty())
         assertFalse(!r.isEmpty());              // replace with assertTrue(r.isEmpty())
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1652,13 +1652,13 @@ Avoid unnecessary comparisons in boolean expressions, they serve no purpose and
 **Example(s):**
 
 ``` java
-public class Bar {
+{%raw%}public class Bar {
   // can be simplified to
   // bar = isFoo();
   private boolean bar = (isFoo() == true);
 
   public isFoo() { return false;}
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1680,7 +1680,7 @@ the conditional test can be returned instead.
 **Example(s):**
 
 ``` java
-public boolean isBarEqualTo(int x) {
+{%raw%}public boolean isBarEqualTo(int x) {
     if (bar == x) {      // this bit of code...
         return true;
     } else {
@@ -1690,7 +1690,7 @@ public boolean isBarEqualTo(int x) {
 
 public boolean isBarEqualTo(int x) {
     return bar == x;    // can be replaced with this
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1737,13 +1737,13 @@ InstanceOfExpression
 **Example(s):**
 
 ``` java
-class Foo {
+{%raw%}class Foo {
   void bar(Object x) {
     if (x != null && x instanceof Bar) {
       // just drop the "x != null" check
     }
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1766,13 +1766,13 @@ within those methods.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private int x;  // no reason to exist at the Foo instance level
     public void foo(int y) {
      x = y + 5;
      return x;
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1820,7 +1820,7 @@ by the rule {% rule java/design/CyclomaticComplexity %}.
 **Example(s):**
 
 ``` java
-public class Foo {    // This has a Cyclomatic Complexity = 12
+{%raw%}public class Foo {    // This has a Cyclomatic Complexity = 12
 1   public void example()  {
 2       if (a == b || (c == d && e == f))  { // Only one
 3           if (a1 == b1) {
@@ -1855,7 +1855,7 @@ public class Foo {    // This has a Cyclomatic Complexity = 12
             }
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1897,7 +1897,7 @@ on the switch variable.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   public void bar(int x) {
     switch (x) {
       case 1: {
@@ -1909,7 +1909,7 @@ public class Foo {
       }
     }
   }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1949,7 +1949,7 @@ city/state/zip fields could park them within a single Address field.
 **Example(s):**
 
 ``` java
-public class Person {   // too many separate fields
+{%raw%}public class Person {   // too many separate fields
    int birthYear;
    int birthMonth;
    int birthDate;
@@ -1960,7 +1960,7 @@ public class Person {   // too many separate fields
 public class Person {   // this is more manageable
    Date birthDate;
    BodyMeasurements measurements;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -2041,7 +2041,7 @@ The overriding method merely calls the same method defined in a superclass.
 **Example(s):**
 
 ``` java
-public void foo(String bar) {
+{%raw%}public void foo(String bar) {
     super.foo(bar);      // why bother overriding?
 }
 
@@ -2052,7 +2052,7 @@ public String foo() {
 @Id
 public Long getId() {
     return super.getId();  // OK if 'ignoreAnnotations' is false, which is the default behavior
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -2098,7 +2098,7 @@ your API.
 **Example(s):**
 
 ``` java
-public class MyClass {
+{%raw%}public class MyClass {
     public void connect(String username,
         String pssd,
         String databaseName,
@@ -2110,7 +2110,7 @@ public class MyClass {
     {
 
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2135,10 +2135,10 @@ remember to add a private constructor to prevent instantiation.
 **Example(s):**
 
 ``` java
-public class MaybeAUtility {
+{%raw%}public class MaybeAUtility {
   public static void foo() {}
   public static void bar() {}
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
diff --git a/docs/pages/pmd/rules/java/documentation.md b/docs/pages/pmd/rules/java/documentation.md
index 0c9a065c3c..2abf433d4f 100644
--- a/docs/pages/pmd/rules/java/documentation.md
+++ b/docs/pages/pmd/rules/java/documentation.md
@@ -22,7 +22,7 @@ A rule for the politically correct... we don't want to offend anyone.
 **Example(s):**
 
 ``` java
-//OMG, this is horrible, Bob is an idiot !!!
+{%raw%}//OMG, this is horrible, Bob is an idiot !!!{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -60,11 +60,11 @@ Denotes whether comments are required (or unwanted) for specific language elemen
 **Example(s):**
 
 ``` java
-/**
+{%raw%}/**
 * 
 *
 * @author Jon Doe
-*/
+*/{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -116,7 +116,7 @@ Determines whether the dimensions of non-header comments found are within the sp
 **Example(s):**
 
 ``` java
-/**
+{%raw%}/**
 *
 *   too many lines!
 *
@@ -131,7 +131,7 @@ Determines whether the dimensions of non-header comments found are within the sp
 *
 *
 *
-*/
+*/{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -177,9 +177,9 @@ and unintentional empty constructors.
 **Example(s):**
 
 ``` java
-public Foo() {
+{%raw%}public Foo() {
   // This constructor is intentionally empty. Nothing special is needed here.
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -221,8 +221,8 @@ empty methods.
 **Example(s):**
 
 ``` java
-public void doSomething() {
-}
+{%raw%}public void doSomething() {
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index a85d3f1ed9..ba4394cd45 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -22,12 +22,12 @@ Avoid assignments in operands; this can make code more complicated and harder to
 **Example(s):**
 
 ``` java
-public void bar() {
+{%raw%}public void bar() {
     int x = 2;
     if ((x = getX()) == 3) {
       System.out.println("3!");
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -69,12 +69,12 @@ Identifies a possible unsafe usage of a static field.
 **Example(s):**
 
 ``` java
-public class StaticField {
+{%raw%}public class StaticField {
    static int x;
    public FinalFields(int y) {
     x = y; // unsafe
    }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -121,7 +121,7 @@ and
 **Example(s):**
 
 ``` java
-import java.lang.reflect.AccessibleObject;
+{%raw%}import java.lang.reflect.AccessibleObject;
 import java.lang.reflect.Method;
 import java.security.PrivilegedAction;
 
@@ -147,7 +147,7 @@ public class Violation {
       // Possible call to forbidden PrivilegedAction
     PrivilegedAction priv = (PrivilegedAction) new Object(); priv.run();
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -171,11 +171,11 @@ Use of the term 'assert' will conflict with newer versions of Java since it is a
 **Example(s):**
 
 ``` java
-public class A {
+{%raw%}public class A {
     public class Foo {
         String assert = "foo";
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -197,7 +197,7 @@ Ensure that the usage is not a bug, or consider using another approach.
 **Example(s):**
 
 ``` java
-// unusual use of branching statement in a loop
+{%raw%}// unusual use of branching statement in a loop
 for (int i = 0; i < 10; i++) {
     if (i*i <= 25) {
         continue;
@@ -210,7 +210,7 @@ for (int i = 0; i < 10; i++) {
     if (i*i > 25) {
         break;
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -253,10 +253,10 @@ Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
 **Example(s):**
 
 ``` java
-void foo() {
+{%raw%}void foo() {
     Bar b = new Bar();
     b.finalize();
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -282,14 +282,14 @@ original error, causing other, more subtle problems later on.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void bar() {
         try {
             // do something
         } catch (NullPointerException npe) {
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -311,13 +311,13 @@ OutOfMemoryError that should be exposed and managed separately.
 **Example(s):**
 
 ``` java
-public void bar() {
+{%raw%}public void bar() {
     try {
         // do something
     } catch (Throwable th) {  // should not catch Throwable
         th.printStackTrace();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -367,11 +367,11 @@ exactly equal to 0.1, as one would expect.  Therefore, it is generally recommend
 **Example(s):**
 
 ``` java
-BigDecimal bd = new BigDecimal(1.123);       // loss of precision, this would trigger the rule
+{%raw%}BigDecimal bd = new BigDecimal(1.123);       // loss of precision, this would trigger the rule
 
 BigDecimal bd = new BigDecimal("1.123");     // preferred approach
 
-BigDecimal bd = new BigDecimal(12);          // preferred approach, ok for integer values
+BigDecimal bd = new BigDecimal(12);          // preferred approach, ok for integer values{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -392,13 +392,13 @@ Code containing duplicate String literals can usually be improved by declaring t
 **Example(s):**
 
 ``` java
-private void bar() {
+{%raw%}private void bar() {
      buz("Howdy");
      buz("Howdy");
      buz("Howdy");
      buz("Howdy");
 }
-private void buz(String x) {}
+private void buz(String x) {}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -446,11 +446,11 @@ Use of the term 'enum' will conflict with newer versions of Java since it is a r
 **Example(s):**
 
 ``` java
-public class A {
+{%raw%}public class A {
     public class Foo {
         String enum = "foo";
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -473,12 +473,12 @@ Smalltalk often prefer this approach as the methods denote accessor methods.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     Object bar;
     // bar is data or an action or both?
     void bar() {
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -500,9 +500,9 @@ This probably means that type and/or field names should be chosen more carefully
 **Example(s):**
 
 ``` java
-public class Foo extends Bar {
+{%raw%}public class Foo extends Bar {
     int foo;    // There is probably a better name that can be used
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -531,7 +531,7 @@ Each caught exception type should be handled in its own catch clause.
 **Example(s):**
 
 ``` java
-try { // Avoid this
+{%raw%}try { // Avoid this
     // do something
 } catch (Exception ee) {
     if (ee instanceof IOException) {
@@ -543,7 +543,7 @@ try {  // Prefer this:
     // do something
 } catch (IOException ee) {
     cleanup();
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -572,7 +572,7 @@ More exceptions can be defined with the property &quot;ignoreMagicNumbers&quot;.
 **Example(s):**
 
 ``` java
-private static final int MAX_NUMBER_OF_REQUESTS = 10;
+{%raw%}private static final int MAX_NUMBER_OF_REQUESTS = 10;
 
 public void checkRequests() {
 
@@ -589,7 +589,7 @@ public void checkRequests() {
 
     if (aDouble > 0.0) {}                  // magic number 0.0
     if (aDouble >= Double.MIN_VALUE) {}    // preferred approach
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -640,13 +640,13 @@ only add to code size.  Either remove the invocation, or use the return result.
 **Example(s):**
 
 ``` java
-public void bar() {
+{%raw%}public void bar() {
     try {
         // do something
     } catch (SomeException se) {
         se.getMessage();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -668,7 +668,7 @@ Ensure that the intended usage is not a bug, or consider simplifying the express
 **Example(s):**
 
 ``` java
-// These are typo bugs, or at best needlessly complex and confusing:
+{%raw%}// These are typo bugs, or at best needlessly complex and confusing:
 int i = - -1;
 int j = + - +1;
 int z = ~~2;
@@ -684,7 +684,7 @@ boolean c = false;
 
 // And these just make your brain hurt:
 int i = ~-2;
-int j = -~7;
+int j = -~7;{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -706,9 +706,9 @@ interpreted as an octal value.
 **Example(s):**
 
 ``` java
-int i = 012;    // set i with 10 not 12
+{%raw%}int i = 012;    // set i with 10 not 12
 int j = 010;    // set j with 8 not 10
-k = i * j;      // set k with 80 not 120
+k = i * j;      // set k with 80 not 120{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -750,7 +750,7 @@ precision when comparing floating point numbers these are likely to cause logic
 **Example(s):**
 
 ``` java
-boolean x = (y == Double.NaN);
+{%raw%}boolean x = (y == Double.NaN);{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -774,7 +774,7 @@ naming conventions, i.e. for a variable named foo, getFoo() and setFoo() accesso
 **Example(s):**
 
 ``` java
-private transient int someFoo;  // good, it's transient
+{%raw%}private transient int someFoo;  // good, it's transient
 private static int otherFoo;    // also OK
 private int moreFoo;            // OK, has proper accessors, see below
 private int badFoo;             // bad, should be marked transient
@@ -785,7 +785,7 @@ private void setMoreFoo(int moreFoo){
 
 private int getMoreFoo(){
       return this.moreFoo;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -824,14 +824,14 @@ It is likely that you used || instead of &amp;&amp; or vice versa.
 **Example(s):**
 
 ``` java
-public String bar(String string) {
+{%raw%}public String bar(String string) {
   // should be &&
     if (string!=null || !string.equals(""))
         return string;
   // should be ||
     if (string==null && string.equals(""))
         return string;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -871,12 +871,12 @@ Super should be called at the start of the method
 **Example(s):**
 
 ``` java
-public class DummyActivity extends Activity {
+{%raw%}public class DummyActivity extends Activity {
     public void onCreate(Bundle bundle) {
         // missing call to super.onCreate(bundle)
         foo();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -914,12 +914,12 @@ Super should be called at the end of the method
 **Example(s):**
 
 ``` java
-public class DummyActivity extends Activity {
+{%raw%}public class DummyActivity extends Activity {
     public void onPause() {
         foo();
         // missing call to super.onPause()
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -940,7 +940,7 @@ The skip() method may skip a smaller number of bytes than requested. Check the r
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
 
    private FileInputStream _s = new FileInputStream("file");
 
@@ -955,7 +955,7 @@ public class Foo {
             throw new EOFException();
          n -= skipped;
       }
-   }
+   }{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -989,7 +989,7 @@ count(PrimarySuffix) = 1
 **Example(s):**
 
 ``` java
-Collection c = new ArrayList();
+{%raw%}Collection c = new ArrayList();
 Integer obj = new Integer(1);
 c.add(obj);
 
@@ -997,7 +997,7 @@ c.add(obj);
 Integer[] a = (Integer [])c.toArray();
 
    // this is fine and will not trigger the rule
-Integer[] b = (Integer [])c.toArray(new Integer[c.size()]);
+Integer[] b = (Integer [])c.toArray(new Integer[c.size()]);{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1024,7 +1024,7 @@ Object.clone (which is protected) with a public method.&quot;
 **Example(s):**
 
 ``` java
-public class Foo implements Cloneable {
+{%raw%}public class Foo implements Cloneable {
     @Override
     protected Object clone() throws CloneNotSupportedException { // Violation, must be public
     }
@@ -1039,7 +1039,7 @@ public class Foo implements Cloneable {
 public class Foo implements Cloneable {
     @Override
     public Object clone() // Ok
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1063,11 +1063,11 @@ The rule can also detect, if the class implements or extends a Cloneable class.
 **Example(s):**
 
 ``` java
-public class MyClass {
+{%raw%}public class MyClass {
  public Object clone() throws CloneNotSupportedException {
   return foo;
  }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1101,7 +1101,7 @@ and not (ResultType//ClassOrInterfaceType/@Image = ancestor::ClassOrInterfaceDec
 **Example(s):**
 
 ``` java
-public class Foo implements Cloneable {
+{%raw%}public class Foo implements Cloneable {
     @Override
     protected Object clone() { // Violation, Object must be Foo
     }
@@ -1111,7 +1111,7 @@ public class Foo implements Cloneable {
     @Override
     public Foo clone() { //Ok
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1144,12 +1144,12 @@ and count(NameList/Name[contains
 **Example(s):**
 
 ``` java
-public class MyClass implements Cloneable{
+{%raw%}public class MyClass implements Cloneable{
     public Object clone() { // will cause an error
          MyClass clone = (MyClass)super.clone();
          return clone;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1180,7 +1180,7 @@ just remove &quot;AutoCloseable&quot; from the types.
 **Example(s):**
 
 ``` java
-public class Bar {
+{%raw%}public class Bar {
     public void withSQL() {
         Connection c = pool.getConnection();
         try {
@@ -1203,7 +1203,7 @@ public class Bar {
             // TODO: close file
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1245,11 +1245,11 @@ Use equals() to compare object references; avoid comparing them with ==.
 **Example(s):**
 
 ``` java
-class Foo {
+{%raw%}class Foo {
   boolean bar(String a, String b) {
     return a == b;
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1276,7 +1276,7 @@ private method bar() that calls a public method buz(), this denotes a problem.
 **Example(s):**
 
 ``` java
-public class SeniorClass {
+{%raw%}public class SeniorClass {
   public SeniorClass(){
       toString(); //may throw NullPointerException if overridden
   }
@@ -1293,7 +1293,7 @@ public class JuniorClass extends SeniorClass {
   public String toString(){
     return name.toUpperCase();
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1319,12 +1319,12 @@ From those informations there can be found various problems.
 **Example(s):**
 
 ``` java
-public void foo() {
+{%raw%}public void foo() {
   int buz = 5;
   buz = 6; // redefinition of buz -> dd-anomaly
   foo(buz);
   buz = 2;
-} // buz is undefined when leaving scope -> du-anomaly
+} // buz is undefined when leaving scope -> du-anomaly{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1383,7 +1383,7 @@ should be annotated with @Test and @Ignore.
 **Example(s):**
 
 ``` java
-public class MyTest {
+{%raw%}public class MyTest {
     @Test
     public void someTest() {
     }
@@ -1392,7 +1392,7 @@ public class MyTest {
     public void someOtherTest () {
     }
 
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1427,7 +1427,7 @@ starts-with(@Image,'Runtime.getRuntime') and
 **Example(s):**
 
 ``` java
-public class GCCall {
+{%raw%}public class GCCall {
     public GCCall() {
         // Explicit gc call !
         System.gc();
@@ -1447,7 +1447,7 @@ public class GCCall {
         // Explicit gc call !
         Runtime.getRuntime().gc();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1476,12 +1476,12 @@ application server should stop the JVM. This rule also checks for the equivalent
 **Example(s):**
 
 ``` java
-public void bar() {
+{%raw%}public void bar() {
     System.exit(0);                 // never call this when running in an application server!
 }
 public void foo() {
     Runtime.getRuntime().exit(0);   // never stop the JVM manually, the container will do this.
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1506,7 +1506,7 @@ Extend Exception or RuntimeException instead of Throwable.
 **Example(s):**
 
 ``` java
-public class Foo extends Throwable { }
+{%raw%}public class Foo extends Throwable { }{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1530,13 +1530,13 @@ Use Environment.getExternalStorageDirectory() instead of &quot;/sdcard&quot;
 **Example(s):**
 
 ``` java
-public class MyActivity extends Activity {
+{%raw%}public class MyActivity extends Activity {
     protected void foo() {
         String storageLocation = "/sdcard/mypackage";   // hard-coded, poor approach
 
        storageLocation = Environment.getExternalStorageDirectory() + "/mypackage"; // preferred approach
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1562,7 +1562,7 @@ Note: This is a PMD implementation of the Lint4j rule &quot;A throw in a finally
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void bar() {
         try {
             // Here do some stuff
@@ -1573,7 +1573,7 @@ public class Foo {
             throw new Exception();
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1594,8 +1594,8 @@ Avoid importing anything from the 'sun.*' packages.  These packages are not port
 **Example(s):**
 
 ``` java
-import sun.misc.foo;
-public class Foo {}
+{%raw%}import sun.misc.foo;
+public class Foo {}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1622,7 +1622,7 @@ performance need (space or time).
 **Example(s):**
 
 ``` java
-public class Count {
+{%raw%}public class Count {
   public static void main(String[] args) {
     final int START = 2000000000;
     int count = 0;
@@ -1632,7 +1632,7 @@ public class Count {
       System.out.println(count);
       //The termination test misbehaves due to floating point granularity.
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1663,13 +1663,13 @@ or reported.
 **Example(s):**
 
 ``` java
-public void doSomething() {
+{%raw%}public void doSomething() {
     try {
         FileInputStream fis = new FileInputStream("/tmp/bugger");
     } catch (IOException ioe) {
         // not good
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -1711,9 +1711,9 @@ Empty finalize methods serve no purpose and should be removed. Note that Oracle
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
    protected void finalize() {}
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1737,7 +1737,7 @@ Empty finally blocks serve no purpose and should be removed.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void bar() {
         try {
             int x=2;
@@ -1745,7 +1745,7 @@ public class Foo {
             // empty!
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1770,13 +1770,13 @@ Empty If Statement finds instances where a condition is checked but nothing is d
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
  void bar(int x) {
   if (x == 0) {
    // empty!
   }
  }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1800,13 +1800,13 @@ Empty initializers serve no purpose and should be removed.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
 
    static {} // Why ?
 
    {} // Again, why ?
 
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1830,7 +1830,7 @@ Empty block statements serve no purpose and should be removed.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
 
    private int _bar;
 
@@ -1839,7 +1839,7 @@ public class Foo {
       {} // But remove this.
    }
 
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1874,12 +1874,12 @@ and should be removed.
 **Example(s):**
 
 ``` java
-public void doit() {
+{%raw%}public void doit() {
       // this is probably not what you meant to do
       ;
       // the extra semicolon here this is not necessary
       System.out.println("look at the extra semicolon");;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1903,13 +1903,13 @@ Empty switch statements serve no purpose and should be removed.
 **Example(s):**
 
 ``` java
-public void bar() {
+{%raw%}public void bar() {
     int x = 2;
     switch (x) {
         // once there was code here
         // but it's been commented out or something
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1933,13 +1933,13 @@ Empty synchronized blocks serve no purpose and should be removed.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void bar() {
         synchronized (this) {
             // empty!
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1963,14 +1963,14 @@ Avoid empty try blocks - what's the point?
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void bar() {
         try {
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1996,11 +1996,11 @@ a while loop that does a lot in the exit expression, rewrite it to make it clear
 **Example(s):**
 
 ``` java
-void bar(int a, int b) {
+{%raw%}void bar(int a, int b) {
     while (a == b) {
         // empty!
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2036,7 +2036,7 @@ Tests for null should not use the equals() method. The '==' operator should be u
 **Example(s):**
 
 ``` java
-String x = "foo";
+{%raw%}String x = "foo";
 
 if (x.equals(null)) {   // bad form
     doSomething();
@@ -2044,7 +2044,7 @@ if (x.equals(null)) {   // bad form
 
 if (x == null) {        // preferred
     doSomething();
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2081,10 +2081,10 @@ If the finalize() is implemented, its last action should be to call super.finali
 **Example(s):**
 
 ``` java
-protected void finalize() {
+{%raw%}protected void finalize() {
     something();
     // neglected to call super.finalize()
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2114,9 +2114,9 @@ If the finalize() is implemented, it should do something besides just calling su
 **Example(s):**
 
 ``` java
-protected void finalize() {
+{%raw%}protected void finalize() {
     super.finalize();
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2144,11 +2144,11 @@ Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     // this is confusing and probably a bug
     protected void finalize(int a) {
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2177,9 +2177,9 @@ Note that Oracle has declared Object.finalize() as deprecated since JDK 9.
 **Example(s):**
 
 ``` java
-public void finalize() {
+{%raw%}public void finalize() {
     // do something
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2200,12 +2200,12 @@ Avoid idempotent operations - they have no effect.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
  public void bar() {
   int x = 2;
   x = x;
  }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2226,12 +2226,12 @@ There is no need to import a type that lives in the same package.
 **Example(s):**
 
 ``` java
-package foo;
+{%raw%}package foo;
 
 import foo.Buz;     // no need for this
 import foo.*;       // or this
 
-public class Bar{}
+public class Bar{}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2260,11 +2260,11 @@ Avoid instantiating an object just to call getClass() on it; use the .class publ
 **Example(s):**
 
 ``` java
-// replace this
+{%raw%}// replace this
 Class c = new String().getClass();
 
 // with this:
-Class c = String.class;
+Class c = String.class;{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2285,9 +2285,9 @@ Check for messages in slf4j loggers with non matching number of arguments and pl
 **Example(s):**
 
 ``` java
-LOGGER.error("forget the arg {}");
+{%raw%}LOGGER.error("forget the arg {}");
 LOGGER.error("too many args {}", "arg1", "arg2");
-LOGGER.error("param {}", "arg1", new IllegalStateException("arg")); //The exception is shown separately, so is correct.
+LOGGER.error("param {}", "arg1", new IllegalStateException("arg")); //The exception is shown separately, so is correct.{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2316,7 +2316,7 @@ Avoid jumbled loop incrementers - its usually a mistake, and is confusing even i
 **Example(s):**
 
 ``` java
-public class JumbledIncrementerRule1 {
+{%raw%}public class JumbledIncrementerRule1 {
     public void foo() {
         for (int i = 0; i < 10; i++) {          // only references 'i'
             for (int k = 0; k < 20; i++) {      // references both 'i' and 'k'
@@ -2324,7 +2324,7 @@ public class JumbledIncrementerRule1 {
             }
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2360,12 +2360,12 @@ Some JUnit framework methods are easy to misspell.
 **Example(s):**
 
 ``` java
-import junit.framework.*;
+{%raw%}import junit.framework.*;
 
 public class Foo extends TestCase {
     public void setup() {}    // oops, should be setUp
     public void TearDown() {} // oops, should be tearDown
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2399,12 +2399,12 @@ The suite() method in a JUnit test needs to be both public and static.
 **Example(s):**
 
 ``` java
-import junit.framework.*;
+{%raw%}import junit.framework.*;
 
 public class Foo extends TestCase {
     public void suite() {}         // oops, should be static
     private static void suite() {} // oops, should be public
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2438,11 +2438,11 @@ The rule is replaced by {% rule java/errorprone/ProperLogger %}.
 **Example(s):**
 
 ``` java
-public class Foo{
+{%raw%}public class Foo{
     Logger log = Logger.getLogger(Foo.class.getName());                 // not recommended
 
     static final Logger log = Logger.getLogger(Foo.class.getName());    // preferred approach
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2463,12 +2463,12 @@ Non-constructor methods should not have the same name as the enclosing class.
 **Example(s):**
 
 ``` java
-public class MyClass {
+{%raw%}public class MyClass {
 
     public MyClass() {}         // this is OK because it is a constructor
 
     public void MyClass() {}    // this is bad because it is a method
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2509,19 +2509,19 @@ Either the check is useless (the variable will never be &quot;null&quot;) or it
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void bar() {
         if (a.equals(baz) && a != null) {}
         }
-}
+}{%endraw%}
 ```
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void bar() {
         if (a.equals(baz) || a == null) {}
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2554,7 +2554,7 @@ may indicate problematic behaviour. Empty cases are ignored as these indicate an
 **Example(s):**
 
 ``` java
-public void bar(int status) {
+{%raw%}public void bar(int status) {
     switch(status) {
       case CANCELLED:
         doCancelled();
@@ -2570,7 +2570,7 @@ public void bar(int status) {
         doErrorHandling();
         break;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2600,11 +2600,11 @@ chain needs an own serialVersionUID field. See also [Should an abstract class ha
 **Example(s):**
 
 ``` java
-public class Foo implements java.io.Serializable {
+{%raw%}public class Foo implements java.io.Serializable {
     String name;
     // Define serialization id to avoid serialization related bugs
     // i.e., public static final long serialVersionUID = 4328743;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2651,14 +2651,14 @@ A class that has private constructors and does not have any static methods or fi
 **Example(s):**
 
 ``` java
-// This class is unusable, since it cannot be
+{%raw%}// This class is unusable, since it cannot be
 // instantiated (private constructor),
 // and no static method can be called.
 
 public class Foo {
   private Foo() {}
   void foo() {}
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2679,12 +2679,12 @@ Normally only one logger is used in each class.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     Logger log = Logger.getLogger(Foo.class.getName());
     // It is very rare to see two loggers on a class, normally
     // log information is multiplexed by levels
     Logger log2= Logger.getLogger(Foo.class.getName());
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2709,7 +2709,7 @@ This legal, but confusing. It is easy to mix up the case labels and the non-case
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   void bar(int a) {
    switch (a) {
      case 1:
@@ -2721,7 +2721,7 @@ public class Foo {
        break;
     }
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2747,12 +2747,12 @@ confusing.
 **Example(s):**
 
 ``` java
-public class MyClass {
+{%raw%}public class MyClass {
   // this block gets run before any call to a constructor
   {
     System.out.println("I am about to construct myself");
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2776,13 +2776,13 @@ NOTE: This sort of assignment may used in some cases to dereference objects and
 **Example(s):**
 
 ``` java
-public void bar() {
+{%raw%}public void bar() {
   Object x = null; // this is OK
   x = new Object();
      // big, complex piece of code here
   x = null; // this is not required
      // big, complex piece of code here
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2803,7 +2803,7 @@ Override both public boolean Object.equals(Object other), and public int Object.
 **Example(s):**
 
 ``` java
-public class Bar {        // poor, missing a hashcode() method
+{%raw%}public class Bar {        // poor, missing a hashcode() method
     public boolean equals(Object o) {
       // do some comparison
     }
@@ -2822,7 +2822,7 @@ public class Foo {        // perfect, both methods provided
     public int hashCode() {
       // return some hash value
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2854,11 +2854,11 @@ ClassOrInterfaceDeclaration[1]/@Image)
 **Example(s):**
 
 ``` java
-class Foo{
+{%raw%}class Foo{
     public Object clone(){
         return new Foo(); // This is bad
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2908,12 +2908,12 @@ with the restriction that the logger needs to be passed into the constructor.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
 
     private static final Log LOG = LogFactory.getLog(Foo.class);    // proper way
 
     protected Log LOG = LogFactory.getLog(Testclass.class);         // wrong approach
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -2963,7 +2963,7 @@ and
 **Example(s):**
 
 ``` java
-public class Example {
+{%raw%}public class Example {
     // Not a good idea...
     public int[] badBehavior() {
         // ...
@@ -2975,7 +2975,7 @@ public class Example {
         //...
         return new String[0];
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -2999,7 +2999,7 @@ Avoid returning from a finally block, this can discard exceptions.
 **Example(s):**
 
 ``` java
-public class Bar {
+{%raw%}public class Bar {
     public String foo() {
         try {
             throw new Exception( "My Exception" );
@@ -3009,7 +3009,7 @@ public class Bar {
             return "A. O. K."; // return not recommended here
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3036,10 +3036,10 @@ formatting is used.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   // Should specify Locale.US (or whatever)
   private SimpleDateFormat sdf = new SimpleDateFormat("pattern");
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3062,7 +3062,7 @@ for each call and new objects will be created for every invocation.
 **Example(s):**
 
 ``` java
-public class Singleton {
+{%raw%}public class Singleton {
 
     private static Singleton singleton = new Singleton( );
 
@@ -3076,7 +3076,7 @@ public class Singleton {
         Singleton singleton = (Singleton) obj;
         return singleton;           //violation
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3099,14 +3099,14 @@ for each call and new objects will be created for every invocation.
 **Example(s):**
 
 ``` java
-class Singleton {
+{%raw%}class Singleton {
     private static Singleton instance = null;
     public static Singleton getInstance() {
         synchronized(Singleton.class) {
             return new Singleton();
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3150,12 +3150,12 @@ behavior especially when instances are distributed by the container on several J
 **Example(s):**
 
 ``` java
-public class SomeEJB extends EJBObject implements EJBLocalHome {
+{%raw%}public class SomeEJB extends EJBObject implements EJBLocalHome {
 
     private static int CountA;          // poor, field can be edited
 
     private static final int CountB;    // preferred, read-only access
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3200,14 +3200,14 @@ Literal
 **Example(s):**
 
 ``` java
-// misleading instantiation, these buffers
+{%raw%}// misleading instantiation, these buffers
 // are actually sized to 99 characters long
 StringBuffer  sb1 = new StringBuffer('c');
 StringBuilder sb2 = new StringBuilder('c');
 
 // in these forms, just single characters are allocated
 StringBuffer  sb3 = new StringBuffer("c");
-StringBuilder sb4 = new StringBuilder("c");
+StringBuilder sb4 = new StringBuilder("c");{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3250,7 +3250,7 @@ intention to override the equals(Object) method.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
    public int equals(Object o) {
      // oops, this probably was supposed to be boolean equals
    }
@@ -3260,7 +3260,7 @@ public class Foo {
    public boolean equals(Object o1, Object o2) {
      // oops, this probably was supposed to be equals(Object)
    }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3282,10 +3282,10 @@ to override the hashCode() method.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public int hashcode() { // oops, this probably was supposed to be 'hashCode'
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3315,10 +3315,10 @@ the literal character &quot;8&quot;.
 **Example(s):**
 
 ``` java
-public void foo() {
+{%raw%}public void foo() {
   // interpreted as octal 12, followed by character '8'
   System.out.println("suspicious: \128");
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3340,14 +3340,14 @@ since most people will assume it is a test case. Test classes have test methods
 **Example(s):**
 
 ``` java
-//Consider changing the name of the class if it is not a test
+{%raw%}//Consider changing the name of the class if it is not a test
 //Consider adding test methods if it is a test
 public class CarTest {
    public static void main(String[] args) {
     // do something
    }
    // code
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3373,13 +3373,13 @@ Do not use &quot;if&quot; statements whose conditionals are always true or alway
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     public void close() {
         if (true) {        // fixed conditional, not recommended
             // ...
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3423,11 +3423,11 @@ UnaryExpressionNotPlusMinus[@Image='!']
 **Example(s):**
 
 ``` java
-public class SimpleTest extends TestCase {
+{%raw%}public class SimpleTest extends TestCase {
     public void testX() {
         assertTrue(true);       // serves no real purpose
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3448,9 +3448,9 @@ Using equalsIgnoreCase() is faster than using toUpperCase/toLowerCase().equals()
 **Example(s):**
 
 ``` java
-boolean answer1 = buz.toUpperCase().equals("baz");              // should be buz.equalsIgnoreCase("baz")
+{%raw%}boolean answer1 = buz.toUpperCase().equals("baz");              // should be buz.equalsIgnoreCase("baz")
 
-boolean answer2 = buz.toUpperCase().equalsIgnoreCase("baz");    // another unnecessary toUpperCase()
+boolean answer2 = buz.toUpperCase().equalsIgnoreCase("baz");    // another unnecessary toUpperCase(){%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3472,11 +3472,11 @@ on the wrapper classes instead.
 **Example(s):**
 
 ``` java
-public String convert(int x) {
+{%raw%}public String convert(int x) {
     String foo = new Integer(x).toString(); // this wastes an object
 
     return Integer.toString(x);             // preferred approach
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3506,7 +3506,7 @@ After checking an object reference for null, you should invoke equals() on that
 **Example(s):**
 
 ``` java
-public class Test {
+{%raw%}public class Test {
 
     public String method1() { return "ok";}
     public String method2() { return null;}
@@ -3540,7 +3540,7 @@ public class Test {
             }
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3570,7 +3570,7 @@ concat(ancestor::ClassOrInterfaceDeclaration/ClassOrInterfaceBody/ClassOrInterfa
 **Example(s):**
 
 ``` java
-public class Main {
+{%raw%}public class Main {
     private static final Log _LOG = LogFactory.getLog( Main.class );
     void bar() {
         try {
@@ -3580,7 +3580,7 @@ public class Main {
             _LOG.error( oe.getMessage(), oe ); //Correct
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3609,11 +3609,11 @@ and count(PrimarySuffix) = 0)]
 **Example(s):**
 
 ``` java
-public boolean test(String s) {
+{%raw%}public boolean test(String s) {
     if (s == "one") return true;        // unreliable
     if ("two".equals(s)) return true;   // better
     return false;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3635,7 +3635,7 @@ since the result of the operation is a new object. Therefore, ignoring the opera
 **Example(s):**
 
 ``` java
-import java.math.*;
+{%raw%}import java.math.*;
 
 class Test {
     void method1() {
@@ -3646,7 +3646,7 @@ class Test {
         BigDecimal bd=new BigDecimal(10);
         bd = bd.add(new BigDecimal(5)); // this won't trigger the rule
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3683,7 +3683,7 @@ PrimarySuffix
 **Example(s):**
 
 ``` java
-class Foo {
+{%raw%}class Foo {
     // BAD
     if (x.toLowerCase().equals("list")) { }
 
@@ -3696,7 +3696,7 @@ class Foo {
      */
     // GOOD
     String z = a.toLowerCase(Locale.EN);
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -3721,9 +3721,9 @@ Thread.currentThread().getContextClassLoader() instead.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     ClassLoader cl = Bar.class.getClassLoader();
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/java/multithreading.md b/docs/pages/pmd/rules/java/multithreading.md
index 34e0e7275d..cffce2e683 100644
--- a/docs/pages/pmd/rules/java/multithreading.md
+++ b/docs/pages/pmd/rules/java/multithreading.md
@@ -27,7 +27,7 @@ gets it.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
   // Try to avoid this:
   synchronized void foo() {
   }
@@ -46,7 +46,7 @@ public class Foo {
     synchronized(Foo.class) {
     }
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -72,14 +72,14 @@ it contains methods that are not thread-safe.
 **Example(s):**
 
 ``` java
-public class Bar {
+{%raw%}public class Bar {
     void buz() {
         ThreadGroup tg = new ThreadGroup("My threadgroup");
         tg = new ThreadGroup(tg, "my thread group");
         tg = Thread.currentThread().getThreadGroup();
         tg = System.getSecurityManager().getThreadGroup();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -105,10 +105,10 @@ the volatile keyword should not be used for maintenance purpose and portability.
 **Example(s):**
 
 ``` java
-public class ThrDeux {
+{%raw%}public class ThrDeux {
   private volatile String var1; // not suggested
   private          String var2; // preferred
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -132,7 +132,7 @@ The J2EE specification explicitly forbids the use of threads.
 **Example(s):**
 
 ``` java
-// This is not allowed
+{%raw%}// This is not allowed
 public class UsingThread extends Thread {
 
 }
@@ -143,7 +143,7 @@ public class OtherThread implements Runnable {
     public void methode() {
         Runnable thread = new Thread(); thread.run();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -177,9 +177,9 @@ Explicitly calling Thread.run() method will execute in the caller's thread of co
 **Example(s):**
 
 ``` java
-Thread t = new Thread();
+{%raw%}Thread t = new Thread();
 t.run();            // use t.start() instead
-new Thread().run(); // same violation
+new Thread().run(); // same violation{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -207,7 +207,7 @@ or <http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html>
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     /*volatile */ Object baz = null; // fix for Java5 and later: volatile
     Object bar() {
         if (baz == null) { // baz may be non-null yet not fully created
@@ -219,7 +219,7 @@ public class Foo {
         }
         return baz;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -250,7 +250,7 @@ See Effective Java, item 48.
 **Example(s):**
 
 ``` java
-private static Foo foo = null;
+{%raw%}private static Foo foo = null;
 
 //multiple simultaneous callers may see partially initialized objects
 public static Foo getFoo() {
@@ -258,7 +258,7 @@ public static Foo getFoo() {
         foo = new Foo();
     }
     return foo;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -302,7 +302,7 @@ This rule has been deprecated in favor of the rule {% rule UnsynchronizedStaticF
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private static final SimpleDateFormat sdf = new SimpleDateFormat();
     void bar() {
         sdf.format(); // poor, no thread-safety
@@ -312,7 +312,7 @@ public class Foo {
             sdf.format();
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -351,7 +351,7 @@ synchronized on block level.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private static final SimpleDateFormat sdf = new SimpleDateFormat();
     void bar() {
         sdf.format(); // poor, no thread-safety
@@ -361,7 +361,7 @@ public class Foo {
             sdf.format();
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -404,7 +404,7 @@ perform efficient map reads without blocking other threads.
 **Example(s):**
 
 ``` java
-public class ConcurrentApp {
+{%raw%}public class ConcurrentApp {
   public void getMyInstance() {
     Map map1 = new HashMap();           // fine for single-threaded access
     Map map2 = new ConcurrentHashMap(); // preferred for use with multiple threads
@@ -412,7 +412,7 @@ public class ConcurrentApp {
     // the following case will be ignored by this rule
     Map map3 = someModule.methodThatReturnMap(); // might be OK, if the returned map is already thread-safe
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -445,12 +445,12 @@ one is chosen.  The thread chosen is arbitrary; thus its usually safer to call n
 **Example(s):**
 
 ``` java
-void bar() {
+{%raw%}void bar() {
     x.notify();
     // If many threads are monitoring x, only one (and you won't know which) will be notified.
     // use instead:
     x.notifyAll();
-  }
+  }{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/java/performance.md b/docs/pages/pmd/rules/java/performance.md
index 039c9bf319..26b5419bcb 100644
--- a/docs/pages/pmd/rules/java/performance.md
+++ b/docs/pages/pmd/rules/java/performance.md
@@ -26,8 +26,8 @@ It is much better to use one of the type-specific toString() methods instead.
 **Example(s):**
 
 ``` java
-String s = "" + 123;                // inefficient
-String t = Integer.toString(456);   // preferred approach
+{%raw%}String s = "" + 123;                // inefficient
+String t = Integer.toString(456);   // preferred approach{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -48,11 +48,11 @@ Avoid concatenating characters as strings in StringBuffer/StringBuilder.append m
 **Example(s):**
 
 ``` java
-StringBuffer sb = new StringBuffer();
+{%raw%}StringBuffer sb = new StringBuffer();
 sb.append("a");     // avoid this
 
 StringBuffer sb = new StringBuffer();
-sb.append('a');     // use this instead
+sb.append('a');     // use this instead{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -91,7 +91,7 @@ or AdditiveExpression) and count(.//PrimaryPrefix/Name)=1]
 **Example(s):**
 
 ``` java
-public class Test {
+{%raw%}public class Test {
     public void bar() {
         int[] a = new int[10];
         int[] b = new int[10];
@@ -105,7 +105,7 @@ public class Test {
             b[i]=a[c[i]];
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -151,7 +151,7 @@ that one covers both.
 **Example(s):**
 
 ``` java
-// these instantiations cause garbage collection pauses, even if properly closed
+{%raw%}// these instantiations cause garbage collection pauses, even if properly closed
 
     FileInputStream fis = new FileInputStream(fileName);
     FileOutputStream fos = new FileOutputStream(fileName);
@@ -167,7 +167,7 @@ that one covers both.
     try(BufferedReader br = Files.newBufferedReader(Paths.get(fileName), StandardCharsets.UTF_8)) {
     }
     try(BufferedWriter wr = Files.newBufferedWriter(Paths.get(fileName), StandardCharsets.UTF_8)) {
-    }
+    }{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -188,13 +188,13 @@ New objects created within loops should be checked to see if they can created ou
 **Example(s):**
 
 ``` java
-public class Something {
+{%raw%}public class Something {
     public static void main( String as[] ) {
         for (int i = 0; i < 10; i++) {
             Foo f = new Foo(); // Avoid this whenever you can it's really expensive
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -231,14 +231,14 @@ adverse impacts on performance.
 **Example(s):**
 
 ``` java
-public class UsingShort {
+{%raw%}public class UsingShort {
    private short doNotUseShort = 0;
 
    public UsingShort() {
     short shouldNotBeUsed = 1;
     doNotUseShort += shouldNotBeUsed;
   }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -260,11 +260,11 @@ for Java 1.5 onwards, BigInteger.TEN and BigDecimal (BigDecimal.ZERO, BigDecimal
 **Example(s):**
 
 ``` java
-BigInteger bi = new BigInteger(1);       // reference BigInteger.ONE instead
+{%raw%}BigInteger bi = new BigInteger(1);       // reference BigInteger.ONE instead
 BigInteger bi2 = new BigInteger("0");    // reference BigInteger.ZERO instead
 BigInteger bi3 = new BigInteger(0.0);    // reference BigInteger.ZERO instead
 BigInteger bi4;
-bi4 = new BigInteger(0);                 // reference BigInteger.ZERO instead
+bi4 = new BigInteger(0);                 // reference BigInteger.ZERO instead{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -286,8 +286,8 @@ Note that new Boolean() is deprecated since JDK 9 for that reason.
 **Example(s):**
 
 ``` java
-Boolean bar = new Boolean("true");        // unnecessary creation, just reference Boolean.TRUE;
-Boolean buz = Boolean.valueOf(false);    // ...., just reference Boolean.FALSE;
+{%raw%}Boolean bar = new Boolean("true");        // unnecessary creation, just reference Boolean.TRUE;
+Boolean buz = Boolean.valueOf(false);    // ...., just reference Boolean.FALSE;{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -315,9 +315,9 @@ and ClassOrInterfaceType[pmd-java:typeIs('java.lang.Byte')]]
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private Byte i = new Byte(0); // change to Byte i = Byte.valueOf(0);
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -339,7 +339,7 @@ by producing a smaller bytecode, reducing overhead and improving inlining. A com
 **Example(s):**
 
 ``` java
-String foo = " ";
+{%raw%}String foo = " ";
 
 StringBuffer buf = new StringBuffer();
 buf.append("Hello"); // poor
@@ -347,7 +347,7 @@ buf.append(foo);
 buf.append("World");
 
 StringBuffer buf = new StringBuffer();
-buf.append("Hello").append(foo).append("World"); // good
+buf.append("Hello").append(foo).append("World"); // good{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -370,7 +370,7 @@ can be appended in a single method call.
 **Example(s):**
 
 ``` java
-StringBuilder buf = new StringBuilder();
+{%raw%}StringBuilder buf = new StringBuilder();
 buf.append("Hello").append(" ").append("World");    // poor
 buf.append("Hello World");                          // good
 
@@ -378,7 +378,7 @@ buf.append('h').append('e').append('l').append('l').append('o'); // poor
 buf.append("hello");                                             // good
 
 buf.append(1).append('m');  // poor
-buf.append("1m");           // good
+buf.append("1m");           // good{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -434,11 +434,11 @@ include the check for != null).
 **Example(s):**
 
 ``` java
-public void bar(String string) {
+{%raw%}public void bar(String string) {
     if (string != null && string.trim().length() > 0) {
         doSomething();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -460,12 +460,12 @@ need to be be created and destroyed by the JVM.
 **Example(s):**
 
 ``` java
-// Avoid this, two buffers are actually being created here
+{%raw%}// Avoid this, two buffers are actually being created here
 StringBuffer sb = new StringBuffer("tmp = "+System.getProperty("java.io.tmpdir"));
 
 // do this instead
 StringBuffer sb = new StringBuffer("tmp = ");
-sb.append(System.getProperty("java.io.tmpdir"));
+sb.append(System.getProperty("java.io.tmpdir"));{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -490,11 +490,11 @@ is assumed if the length of the constructor can not be determined.
 **Example(s):**
 
 ``` java
-StringBuffer bad = new StringBuffer();
+{%raw%}StringBuffer bad = new StringBuffer();
 bad.append("This is a long string that will exceed the default 16 characters");
 
 StringBuffer good = new StringBuffer(41);
-good.append("This is a long string, which is pre-sized");
+good.append("This is a long string, which is pre-sized");{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -522,9 +522,9 @@ Note that new Integer() is deprecated since JDK 9 for that reason.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private Integer i = new Integer(0); // change to Integer i = Integer.valueOf(0);
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -552,9 +552,9 @@ and ClassOrInterfaceType[pmd-java:typeIs('java.lang.Long')]]
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private Long i = new Long(0); // change to Long i = Long.valueOf(0);
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -596,14 +596,14 @@ PrimarySuffix/Arguments/ArgumentList/Expression
 **Example(s):**
 
 ``` java
-List<Foo> foos = getFoos();
+{%raw%}List<Foo> foos = getFoos();
 
 // much better; this one allows the jvm to allocate an array of the correct size and effectively skip
 // the zeroing, since each array element will be overridden anyways
 Foo[] fooArray = foos.toArray(new Foo[0]);
 
 // inefficient, the array needs to be zeroed out by the jvm before it is handed over to the toArray method
-Foo[] fooArray = foos.toArray(new Foo[foos.size()]);
+Foo[] fooArray = foos.toArray(new Foo[foos.size()]);{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -625,7 +625,7 @@ is redundant and results in a larger class file (approximately three additional
 **Example(s):**
 
 ``` java
-public class C {
+{%raw%}public class C {
     boolean b   = false;    // examples of redundant initializers
     byte by     = 0;
     short s     = 0;
@@ -643,7 +643,7 @@ public class C {
     class Nested {
         boolean b = false;
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -671,9 +671,9 @@ and ClassOrInterfaceType[pmd-java:typeIs('java.lang.Short')]]
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     private Short i = new Short(0); // change to Short i = Short.valueOf(0);
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -707,7 +707,7 @@ at the expense of some readability.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
 
     boolean checkIt(String x) {
         return x.startsWith("a");   // suboptimal
@@ -716,7 +716,7 @@ public class Foo {
     boolean fasterCheckIt(String x) {
         return x.charAt(0) == 'a';  // faster approach
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -737,7 +737,7 @@ Avoid instantiating String objects; this is usually unnecessary since they are i
 **Example(s):**
 
 ``` java
-private String bar = new String("bar"); // just do a String bar = "bar";
+{%raw%}private String bar = new String("bar"); // just do a String bar = "bar";{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -758,10 +758,10 @@ Avoid calling toString() on objects already known to be string instances; this i
 **Example(s):**
 
 ``` java
-private String baz() {
+{%raw%}private String baz() {
     String bar = "howdy";
     return bar.toString();
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -789,7 +789,7 @@ if-then statement to increase code readability.
 **Example(s):**
 
 ``` java
-// With a minimumNumberCaseForASwitch of 3
+{%raw%}// With a minimumNumberCaseForASwitch of 3
 public class Foo {
     public void bar() {
         switch (condition) {
@@ -800,7 +800,7 @@ public class Foo {
                 break; // not enough for a 'switch' stmt, a simple 'if' stmt would have been more appropriate
         }
     }
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -838,7 +838,7 @@ garbage-collected later.
 **Example(s):**
 
 ``` java
-public int convert(String s) {
+{%raw%}public int convert(String s) {
     int i, i2;
 
     i = Integer.valueOf(s).intValue();  // this wastes an object
@@ -851,7 +851,7 @@ public int convert(String s) {
     s3 = Integer.toString(i2);                  // this is better
 
     return i2;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -877,12 +877,12 @@ ArrayList is a much better Collection implementation than Vector if thread-safe
 **Example(s):**
 
 ``` java
-public class SimpleTest extends TestCase {
+{%raw%}public class SimpleTest extends TestCase {
     public void testX() {
     Collection c1 = new Vector();
     Collection c2 = new ArrayList();    // achieves the same with much better performance
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -943,7 +943,7 @@ You must use new ArrayList&lt;&gt;(Arrays.asList(...)) if that is inconvenient f
 **Example(s):**
 
 ``` java
-public class Test {
+{%raw%}public class Test {
     public void foo(Integer[] ints) {
         // could just use Arrays.asList(ints)
         List<Integer> l= new ArrayList<>(100);
@@ -954,7 +954,7 @@ public class Test {
             l.add(a[i].toString()); // won't trigger the rule
         }
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -975,11 +975,11 @@ Use String.indexOf(char) when checking for the index of a single character; it e
 **Example(s):**
 
 ``` java
-String s = "hello world";
+{%raw%}String s = "hello world";
 // avoid this
 if (s.indexOf("d") {}
 // instead do this
-if (s.indexOf('d') {}
+if (s.indexOf('d') {}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1000,12 +1000,12 @@ No need to call String.valueOf to append to a string; just use the valueOf() arg
 **Example(s):**
 
 ``` java
-public String convert(int i) {
+{%raw%}public String convert(int i) {
     String s;
     s = "a" + String.valueOf(i);    // not required
     s = "a" + i;                    // preferred approach
     return s;
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1028,7 +1028,7 @@ threadsafe StringBuffer is recommended to avoid this.
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void bar() {
         String a;
         a = "foo";
@@ -1037,7 +1037,7 @@ public class Foo {
         // StringBuilder a = new StringBuilder("foo");
         // a.append(" bar");
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -1059,11 +1059,11 @@ or StringBuffer.toString().length() == ...
 **Example(s):**
 
 ``` java
-StringBuffer sb = new StringBuffer();
+{%raw%}StringBuffer sb = new StringBuffer();
 
 if (sb.toString().equals("")) {}        // inefficient
 
-if (sb.length() == 0) {}                // preferred
+if (sb.length() == 0) {}                // preferred{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/java/security.md b/docs/pages/pmd/rules/java/security.md
index 8fe84a69b6..2ada23a5ad 100644
--- a/docs/pages/pmd/rules/java/security.md
+++ b/docs/pages/pmd/rules/java/security.md
@@ -22,7 +22,7 @@ Do not use hard coded values for cryptographic operations. Please store keys out
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void good() {
         SecretKeySpec secretKeySpec = new SecretKeySpec(Properties.getKey(), "AES");
     }
@@ -30,7 +30,7 @@ public class Foo {
     void bad() {
         SecretKeySpec secretKeySpec = new SecretKeySpec("my secret here".getBytes(), "AES");
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -51,7 +51,7 @@ Do not use hard coded initialization vector in cryptographic operations. Please
 **Example(s):**
 
 ``` java
-public class Foo {
+{%raw%}public class Foo {
     void good() {
         SecureRandom random = new SecureRandom();
         byte iv[] = new byte[16];
@@ -65,7 +65,7 @@ public class Foo {
     void alsoBad() {
         byte[] iv = "secret iv in here".getBytes();
     }
-}
+}{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/jsp/bestpractices.md b/docs/pages/pmd/rules/jsp/bestpractices.md
index 87c1175a20..efeb91efee 100644
--- a/docs/pages/pmd/rules/jsp/bestpractices.md
+++ b/docs/pages/pmd/rules/jsp/bestpractices.md
@@ -25,7 +25,7 @@ Do not nest JSF component custom actions inside a custom action that iterates ov
 **Example(s):**
 
 ``` jsp
-<html>
+{%raw%}<html>
   <body>
     <ul>
       <c:forEach items='${books}' var='b'>
@@ -33,7 +33,7 @@ Do not nest JSF component custom actions inside a custom action that iterates ov
       </c:forEach>
     </ul>
   </body>
-</html>
+</html>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -57,9 +57,9 @@ Do not use an attribute called 'class'. Use &quot;styleclass&quot; for CSS style
 **Example(s):**
 
 ``` jsp
-<HTML> <BODY>
+{%raw%}<HTML> <BODY>
 <P class="MajorHeading">Some text</P>
-</BODY> </HTML>
+</BODY> </HTML>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -85,13 +85,13 @@ little other purpose. Consider switching to JSP comments.
 **Example(s):**
 
 ``` jsp
-<HTML><title>bad example><BODY>
+{%raw%}<HTML><title>bad example><BODY>
 <!-- HTML comment -->
 </BODY> </HTML>
 
 <HTML><title>good example><BODY>
 <%-- JSP comment --%>
-</BODY> </HTML>
+</BODY> </HTML>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -115,7 +115,7 @@ Do not do a forward from within a JSP file.
 **Example(s):**
 
 ``` jsp
-<jsp:forward page='UnderConstruction.jsp'/>
+{%raw%}<jsp:forward page='UnderConstruction.jsp'/>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/jsp/codestyle.md b/docs/pages/pmd/rules/jsp/codestyle.md
index 56412f2e82..de425db9e5 100644
--- a/docs/pages/pmd/rules/jsp/codestyle.md
+++ b/docs/pages/pmd/rules/jsp/codestyle.md
@@ -22,7 +22,7 @@ Avoid duplicate import statements inside JSP's.
 **Example(s):**
 
 ``` jsp
-<%@ page import=\"com.foo.MyClass,com.foo.MyClass\"%><html><body><b><img src=\"<%=Some.get()%>/foo\">xx</img>text</b></body></html>
+{%raw%}<%@ page import=\"com.foo.MyClass,com.foo.MyClass\"%><html><body><b><img src=\"<%=Some.get()%>/foo\">xx</img>text</b></body></html>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/jsp/design.md b/docs/pages/pmd/rules/jsp/design.md
index d9fc103a59..c54e2acd3b 100644
--- a/docs/pages/pmd/rules/jsp/design.md
+++ b/docs/pages/pmd/rules/jsp/design.md
@@ -42,7 +42,7 @@ tags, or attributes like &quot;align='center'&quot;.
 **Example(s):**
 
 ``` jsp
-<html><body><p align='center'><b>text</b></p></body></html>
+{%raw%}<html><body><p align='center'><b>text</b></p></body></html>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -66,7 +66,7 @@ Scripts should be part of Tag Libraries, rather than part of JSP pages.
 **Example(s):**
 
 ``` jsp
-<HTML>
+{%raw%}<HTML>
 <BODY>
 <!--Java Script-->
 <SCRIPT language="JavaScript" type="text/javascript">
@@ -86,7 +86,7 @@ onload=calcDays;
 //-->
 </SCRIPT>
 </BODY>
-</HTML>
+</HTML>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -112,7 +112,7 @@ Scriptlets should be factored into Tag Libraries or JSP declarations, rather tha
 **Example(s):**
 
 ``` jsp
-<HTML>
+{%raw%}<HTML>
 <HEAD>
 <%
 response.setHeader("Pragma", "No-cache");
@@ -121,7 +121,7 @@ response.setHeader("Pragma", "No-cache");
     <BODY>
         <jsp:scriptlet>String title = "Hello world!";</jsp:scriptlet>
     </BODY>
-</HTML>
+</HTML>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/jsp/errorprone.md b/docs/pages/pmd/rules/jsp/errorprone.md
index 9006c497fe..0cf946ee62 100644
--- a/docs/pages/pmd/rules/jsp/errorprone.md
+++ b/docs/pages/pmd/rules/jsp/errorprone.md
@@ -31,11 +31,11 @@ and
 **Example(s):**
 
 ``` jsp
-Most browsers should be able to interpret the following headers:
+{%raw%}Most browsers should be able to interpret the following headers:
 
 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
 
-<meta http-equiv="Content-Type"  content="text/html; charset=UTF-8" />
+<meta http-equiv="Content-Type"  content="text/html; charset=UTF-8" />{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/jsp/security.md b/docs/pages/pmd/rules/jsp/security.md
index 88a56a136e..72c3daf482 100644
--- a/docs/pages/pmd/rules/jsp/security.md
+++ b/docs/pages/pmd/rules/jsp/security.md
@@ -26,13 +26,13 @@ through SSL. See http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q261188
 **Example(s):**
 
 ``` jsp
-<HTML><title>bad example><BODY>
+{%raw%}<HTML><title>bad example><BODY>
 <iframe></iframe>
 </BODY> </HTML>
 
 <HTML><title>good example><BODY>
 <iframe src="foo"></iframe>
-</BODY> </HTML>
+</BODY> </HTML>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -54,11 +54,11 @@ would be interpreted by the browser directly (e.g. &quot;&lt;script&gt;alert('he
 **Example(s):**
 
 ``` jsp
-<%@ page contentType="text/html; charset=UTF-8" %>
+{%raw%}<%@ page contentType="text/html; charset=UTF-8" %>
 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
 ${expression}                    <!-- don't use this -->
 ${fn:escapeXml(expression)}      <!-- instead, escape it -->
-<c:out value="${expression}" />  <!-- or use c:out -->
+<c:out value="${expression}" />  <!-- or use c:out -->{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/plsql/bestpractices.md b/docs/pages/pmd/rules/plsql/bestpractices.md
index 3dc2813b31..7d07f7e024 100644
--- a/docs/pages/pmd/rules/plsql/bestpractices.md
+++ b/docs/pages/pmd/rules/plsql/bestpractices.md
@@ -25,7 +25,7 @@ language: PLSQL
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE PACKAGE BODY update_planned_hrs
+{%raw%}CREATE OR REPLACE PACKAGE BODY update_planned_hrs
 IS
 
 PROCEDURE set_new_planned (p_emp_id IN NUMBER, p_project_id IN NUMBER, p_hours IN NUMBER)
@@ -64,7 +64,7 @@ BEGIN
    END existing_planned;
 
 END update_planned_hrs;
-/
+/{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/plsql/codestyle.md b/docs/pages/pmd/rules/plsql/codestyle.md
index 949599d55b..01c9ca1636 100644
--- a/docs/pages/pmd/rules/plsql/codestyle.md
+++ b/docs/pages/pmd/rules/plsql/codestyle.md
@@ -82,7 +82,7 @@ Calling a procedure:
 **Example(s):**
 
 ``` sql
-BEGIN
+{%raw%}BEGIN
   -- select columns each on a separate line
   SELECT cmer_id
         ,version
@@ -108,7 +108,7 @@ BEGIN
    ,slt_code_in          => NULL
   );
 
-END;
+END;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -157,7 +157,7 @@ In case you have loops please name the loop variables more meaningful.
 **Example(s):**
 
 ``` sql
--- good example
+{%raw%}-- good example
 BEGIN
 FOR company IN (SELECT * FROM companies) LOOP
   FOR contact IN (SELECT * FROM contacts) LOOP
@@ -179,7 +179,7 @@ FOR c1 IN (SELECT * FROM companies) LOOP
   END LOOP;
 END LOOP;
 END;
-/
+/{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -258,7 +258,7 @@ https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/static.htm#BABIIHBJ
 **Example(s):**
 
 ``` sql
-create or replace package inline_pragma_error is
+{%raw%}create or replace package inline_pragma_error is
 
 end;
 /
@@ -273,7 +273,7 @@ create or replace package body inline_pragma_error is
    end do_transaction;
 
 end inline_pragma_error;
-/
+/{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/plsql/design.md b/docs/pages/pmd/rules/plsql/design.md
index b1f6ff27f7..3cb5697e57 100644
--- a/docs/pages/pmd/rules/plsql/design.md
+++ b/docs/pages/pmd/rules/plsql/design.md
@@ -25,7 +25,7 @@ high complexity, and 11+ is very high complexity.
 **Example(s):**
 
 ``` sql
--- Cyclomatic Complexity of 25 
+{%raw%}-- Cyclomatic Complexity of 25 
 CREATE OR REPLACE PACKAGE BODY pkg_pmd_working_sequence  AS
 1 PROCEDURE ty_logger  IS BEGIN
 2        IF true
@@ -138,7 +138,7 @@ CREATE OR REPLACE PACKAGE BODY pkg_pmd_working_sequence  AS
      END IF;
 END;
 
-END;
+END;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -181,12 +181,12 @@ Try to reduce the method length by creating helper methods and removing any copy
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE
+{%raw%}CREATE OR REPLACE
 PROCEDURE doSomething BEGIN
     DBMS_OUTPUT.PUT_LINE("Hello world!");
     DBMS_OUTPUT.PUT_LINE("Hello world!");
         -- 98 copies omitted for brevity.
-END;
+END;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -226,7 +226,7 @@ apart the code becomes more managable and ripe for reuse.
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE
+{%raw%}CREATE OR REPLACE
 PACKAGE BODY Foo AS
     PROCEDURE bar1 IS BEGIN
     -- 1000 lines of code
@@ -242,7 +242,7 @@ PACKAGE BODY Foo AS
     PROCEDURE barN IS BEGIN
     -- 1000 lines of code
     END barn;
-END;
+END;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -282,7 +282,7 @@ apart the code becomes more managable and ripe for reuse.
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE
+{%raw%}CREATE OR REPLACE
 PACKAGE BODY Foo AS
     PROCEDURE bar1 IS BEGIN
     -- 1000 lines of code
@@ -298,7 +298,7 @@ PACKAGE BODY Foo AS
     PROCEDURE barN IS BEGIN
     -- 1000 lines of code
     END barn;
-END;
+END;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -338,7 +338,7 @@ apart the code becomes more managable and ripe for reuse.
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE
+{%raw%}CREATE OR REPLACE
 PACKAGE Foo AS
     PROCEDURE bar1;
     PROCEDURE bar2;
@@ -347,7 +347,7 @@ PACKAGE Foo AS
     ...
 
     PROCEDURE barN;
-END;
+END;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -386,7 +386,7 @@ same datatype. These situations usually denote the need for new objects to wrap
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE
+{%raw%}CREATE OR REPLACE
 PROCEDURE addPerson(        -- too many arguments liable to be mixed up
     birthYear pls_integer, birthMonth pls_integer, birthDate pls_integer, height pls_integer, weight pls_integer, ssn pls_integer) {
 
@@ -398,7 +398,7 @@ PROCEDURE addPerson(        -- preferred approach
     birthdate DATE, measurements BodyMeasurements , ssn INTEGER) BEGIN
 
     . . . .
-END;
+END;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -438,7 +438,7 @@ apart the code becomes more managable and ripe for reuse.
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE
+{%raw%}CREATE OR REPLACE
 TYPE BODY Foo AS
     MEMBER PROCEDURE bar1 IS BEGIN
     -- 1000 lines of code
@@ -454,7 +454,7 @@ TYPE BODY Foo AS
     MEMBER PROCEDURE barN IS BEGIN
     -- 1000 lines of code
     END barn;
-END;
+END;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -494,12 +494,12 @@ lines of code that are split are counted as one.
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE PACKAGE BODY AS
+{%raw%}CREATE OR REPLACE PACKAGE BODY AS
  FUNCTION methd RETURN INTEGER IS
  BEGIN
    RETURN 1;;
  END;
-END;
+END;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -539,14 +539,14 @@ lines of code that are split are counted as one.
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE PACKAGE pkg_
+{%raw%}CREATE OR REPLACE PACKAGE pkg_
  PROCEDURE Foo IS
  BEGIN
  --this class only has 6 NCSS lines
      super();
      super();
  END;
-}
+}{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -586,7 +586,7 @@ complexity and increase readability.
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE
+{%raw%}CREATE OR REPLACE
 PROCEDURE bar AS BEGIN  -- this is something more complex than it needs to be,
     if (y) THEN -- it should be broken down into smaller methods or functions
         for j IN 0 .. j-1 LOOP
@@ -617,7 +617,7 @@ PROCEDURE bar AS BEGIN  -- this is something more complex than it needs to be,
             log_problem;
         END;
     END;
-END;
+END;{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -657,12 +657,12 @@ city/state/zip fields could park them within a single Address field.
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE PACKAGE pkg_too_many_fields AS
+{%raw%}CREATE OR REPLACE PACKAGE pkg_too_many_fields AS
     C_CHAR_A CONSTANT CHAR(1 CHAR) := 'A';
     C_CHAR_B CONSTANT CHAR(1 CHAR) := 'B';
     ...
     C_CHAR_Z CONSTANT CHAR(1 CHAR) := 'Z';
-END pkg_too_many_fields;
+END pkg_too_many_fields;{%endraw%}
 ```
 
 **This rule has the following properties:**
diff --git a/docs/pages/pmd/rules/plsql/errorprone.md b/docs/pages/pmd/rules/plsql/errorprone.md
index 92385aacf9..da02816663 100644
--- a/docs/pages/pmd/rules/plsql/errorprone.md
+++ b/docs/pages/pmd/rules/plsql/errorprone.md
@@ -27,7 +27,7 @@ TO_DATE(TO_CHAR(date-variable)) used to remove time component - use TRUNC(date-v
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE PACKAGE BODY date_utilities
+{%raw%}CREATE OR REPLACE PACKAGE BODY date_utilities
 IS
 
 -- Take single parameter, relying on current default NLS date format
@@ -39,7 +39,7 @@ END strip_time;
 
 
 END date_utilities;
-/
+/{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -64,7 +64,7 @@ TO_DATE without date format- use TO_DATE(expression, date-format)
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE PACKAGE BODY date_utilities
+{%raw%}CREATE OR REPLACE PACKAGE BODY date_utilities
 IS
 
 -- Take single parameter, relying on current default NLS date format
@@ -89,7 +89,7 @@ BEGIN
 END to_date_three_parameters;
 
 END date_utilities;
-/
+/{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -114,7 +114,7 @@ TO_TIMESTAMP without date format- use TO_TIMESTAMP(expression, date-format)
 **Example(s):**
 
 ``` sql
-CREATE OR REPLACE PACKAGE BODY date_utilities
+{%raw%}CREATE OR REPLACE PACKAGE BODY date_utilities
 IS
 
 -- Take single parameter, relying on current default NLS date format
@@ -139,7 +139,7 @@ BEGIN
 END to_timestamp_three_parameters;
 
 END date_utilities;
-/
+/{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/pom/errorprone.md b/docs/pages/pmd/rules/pom/errorprone.md
index aeb3e52dc9..abc289d563 100644
--- a/docs/pages/pmd/rules/pom/errorprone.md
+++ b/docs/pages/pmd/rules/pom/errorprone.md
@@ -28,7 +28,7 @@ The following types are considered valid: pom, jar, maven-plugin, ejb, war, ear,
 **Example(s):**
 
 ``` xml
-<project...>
+{%raw%}<project...>
   ...
   <dependencyManagement>
       ...
@@ -41,7 +41,7 @@ The following types are considered valid: pom, jar, maven-plugin, ejb, war, ear,
     </dependency>
     ...
   </dependencyManagement>
-</project>
+</project>{%endraw%}
 ```
 
 **This rule has the following properties:**
@@ -87,13 +87,13 @@ By far the most common problem is the use of ${project.version} in a BOM or pare
 **Example(s):**
 
 ``` xml
-<project...>
+{%raw%}<project...>
   ...
   <dependency>
     ...
     <version>${project.dependency}</version>
   </dependency>
-</project>
+</project>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/vf/security.md b/docs/pages/pmd/rules/vf/security.md
index 86f8e57ef5..eba7e27f1a 100644
--- a/docs/pages/pmd/rules/vf/security.md
+++ b/docs/pages/pmd/rules/vf/security.md
@@ -22,7 +22,7 @@ Avoid calling VF action upon page load as the action becomes vulnerable to CSRF.
 **Example(s):**
 
 ``` vf
-<apex:page controller="AcRestActionsController" action="{!csrfInitMethod}" >
+{%raw%}<apex:page controller="AcRestActionsController" action="{!csrfInitMethod}" >{%endraw%}
 ```
 
 **Use this rule by referencing it:**
@@ -43,7 +43,7 @@ Avoid unescaped user controlled content in EL as it results in XSS.
 **Example(s):**
 
 ``` vf
-<apex:outputText value="Potential XSS is {! here }" escape="false" />
+{%raw%}<apex:outputText value="Potential XSS is {! here }" escape="false" />{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/xml/errorprone.md b/docs/pages/pmd/rules/xml/errorprone.md
index 1c612d8467..7ab8b27fcd 100644
--- a/docs/pages/pmd/rules/xml/errorprone.md
+++ b/docs/pages/pmd/rules/xml/errorprone.md
@@ -25,7 +25,7 @@ An XML CDATA section begins with a &lt;![CDATA[ marker, which has only one [, an
 **Example(s):**
 
 ``` xml
-<root>
+{%raw%}<root>
     <child>
         <![CDATA[[ character data ]]> - this cdata section is valid, but it contains an
         additional square bracket at the beginning.
@@ -36,7 +36,7 @@ An XML CDATA section begins with a &lt;![CDATA[ marker, which has only one [, an
         additional square bracket in the end.
         It should probably be just <![CDATA[ character data ]]>.
     </child>
-</root>
+</root>{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/xsl/codestyle.md b/docs/pages/pmd/rules/xsl/codestyle.md
index a0c276933e..e664ae3c8e 100644
--- a/docs/pages/pmd/rules/xsl/codestyle.md
+++ b/docs/pages/pmd/rules/xsl/codestyle.md
@@ -26,8 +26,8 @@ The XPath concat() functions accepts as many arguments as required so you can ha
 **Example(s):**
 
 ``` xsl
-<xsl:variable name="var" select="concat("Welcome",concat("to you ",$name))"/>
-<xsl:variable name="var" select="concat("Welcome","to you ",$name))">
+{%raw%}<xsl:variable name="var" select="concat("Welcome",concat("to you ",$name))"/>
+<xsl:variable name="var" select="concat("Welcome","to you ",$name))">{%endraw%}
 ```
 
 **Use this rule by referencing it:**
diff --git a/docs/pages/pmd/rules/xsl/performance.md b/docs/pages/pmd/rules/xsl/performance.md
index 3b5cca3dd4..c89ae0d35f 100644
--- a/docs/pages/pmd/rules/xsl/performance.md
+++ b/docs/pages/pmd/rules/xsl/performance.md
@@ -41,7 +41,7 @@ cutting through 100% of the document.
 **Example(s):**
 
 ``` xsl
-<xsl:variable name="var" select="//item/descendant::child"/>
+{%raw%}<xsl:variable name="var" select="//item/descendant::child"/>{%endraw%}
 ```
 
 **This rule has the following properties:**

From fdb31686f00b9d4e34943fdf08a6b6994303d466 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@microdoc.com>
Date: Fri, 19 Jul 2019 12:21:04 +0200
Subject: [PATCH 322/371] Fixes #1902 [pslql] ParseException when parsing (+)

---
 pmd-plsql/etc/grammar/PldocAST.jjt            |  4 ++-
 pmd-plsql/src/main/ant/alljavacc.xml          |  1 +
 .../lang/plsql/ast/ASTSimpleExpression.java   | 30 +++++++++++++++++++
 .../pmd/lang/plsql/ast/JoinClauseTest.java    | 17 +++++++++++
 .../pmd/lang/plsql/ast/JoinOperator.pls       | 28 +++++++++++++++++
 5 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSimpleExpression.java
 create mode 100644 pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/JoinOperator.pls

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 928f3bfe7b..88686f7b8f 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1556,6 +1556,7 @@ ASTSimpleExpression SimpleExpression() :
     LOOKAHEAD(2)
         ( "*" | Column() ) { sb.append(token.image); }
  )
+ [LOOKAHEAD(3) "(" "+" ")" {jjtThis.setJoinOperator(true);} ] // JoinOperator
  {
     jjtThis.setImage(sb.toString());
     return jjtThis;
@@ -3258,8 +3259,9 @@ ASTPrimaryPrefix PrimaryPrefix() :
 }
 {
 (
+  LOOKAHEAD(ID() ("." ID())* "(" "+" ")") ( simpleNode = SimpleExpression() ) { sb.append(simpleNode.getImage()); }
   // Note: AnalyticClause and WithinClause are only allowed for specific functions, but this grammar allows it for all functions.
-  LOOKAHEAD(FunctionName() "(") ( simpleNode = FunctionCall() [ AnalyticClause() ] [ WithinClause() ] ) { sb.append(simpleNode.getImage()); }
+| LOOKAHEAD(FunctionName() "(") ( simpleNode = FunctionCall() [ AnalyticClause() ] [ WithinClause() ] ) { sb.append(simpleNode.getImage()); }
 | LOOKAHEAD(MultiSetCondition()) simpleNode = MultiSetCondition()
 | LOOKAHEAD(<CASE>) ( simpleNode =CaseExpression() ) { sb.append(simpleNode.getImage()) ; } //SRT 20110520
 | LOOKAHEAD(ObjectExpression() ) ( simpleNode = ObjectExpression() ) { sb.append(simpleNode.getImage()) ; } //SRT 20110604
diff --git a/pmd-plsql/src/main/ant/alljavacc.xml b/pmd-plsql/src/main/ant/alljavacc.xml
index d22c66587a..26b272ac49 100644
--- a/pmd-plsql/src/main/ant/alljavacc.xml
+++ b/pmd-plsql/src/main/ant/alljavacc.xml
@@ -67,6 +67,7 @@
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTRegexpLikeCondition.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTSelectIntoStatement.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTSelectStatement.java" />
+        <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTSimpleExpression.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTSubqueryOperation.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTTriggerTimingPointSection.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTTriggerUnit.java" />
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSimpleExpression.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSimpleExpression.java
new file mode 100644
index 0000000000..497492e916
--- /dev/null
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSimpleExpression.java
@@ -0,0 +1,30 @@
+/*
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.plsql.ast;
+
+public class ASTSimpleExpression extends AbstractPLSQLNode {
+    private boolean joinOperator;
+
+    ASTSimpleExpression(int id) {
+        super(id);
+    }
+
+    ASTSimpleExpression(PLSQLParser p, int id) {
+        super(p, id);
+    }
+
+    @Override
+    public Object jjtAccept(PLSQLParserVisitor visitor, Object data) {
+        return visitor.visit(this, data);
+    }
+
+    void setJoinOperator(boolean joinOperator) {
+        this.joinOperator = joinOperator;
+    }
+
+    public boolean hasJoinOperator() {
+        return joinOperator;
+    }
+}
diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
index dd74690268..5033394e47 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
@@ -5,6 +5,7 @@
 package net.sourceforge.pmd.lang.plsql.ast;
 
 import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.io.IOUtils;
@@ -129,4 +130,20 @@ public class JoinClauseTest extends AbstractPLSQLParserTst {
                 StandardCharsets.UTF_8);
         ASTInput input = parsePLSQL(code);
     }
+
+    @Test
+    public void testJoinOperator() throws Exception {
+        String code = IOUtils.toString(this.getClass().getResourceAsStream("JoinOperator.pls"),
+                StandardCharsets.UTF_8);
+        ASTInput input = parsePLSQL(code);
+        List<ASTSimpleExpression> expressions = input.findDescendantsOfType(ASTSimpleExpression.class);
+        List<ASTSimpleExpression> expressionsWithJoinOperator = new ArrayList<ASTSimpleExpression>();
+        for (ASTSimpleExpression exp : expressions) {
+            if (exp.hasJoinOperator()) {
+                expressionsWithJoinOperator.add(exp);
+            }
+        }
+        Assert.assertEquals(4, expressionsWithJoinOperator.size());
+        Assert.assertEquals("h.opp_id", expressionsWithJoinOperator.get(3).getImage());
+    }
 }
diff --git a/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/JoinOperator.pls b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/JoinOperator.pls
new file mode 100644
index 0000000000..02c089a9c7
--- /dev/null
+++ b/pmd-plsql/src/test/resources/net/sourceforge/pmd/lang/plsql/ast/JoinOperator.pls
@@ -0,0 +1,28 @@
+--
+-- https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/Joins.html
+--
+
+BEGIN
+
+SELECT e1.employee_id, e1.manager_id, e2.employee_id
+   FROM employees e1, employees e2
+   WHERE e1.manager_id(+) = e2.employee_id
+   ORDER BY e1.employee_id, e1.manager_id, e2.employee_id;
+
+SELECT * FROM A, B, D
+  WHERE A.c1 = B.c2(+) and D.c3 = B.c4(+);
+
+-- From https://github.com/pmd/pmd/issues/1902
+SELECT DISTINCT
+                      o.op_id
+                  FROM
+                      opportunities o,
+                      v_opp_bundles b,
+                      jopportunities h
+                  WHERE
+                      o.opp_id = b.opp_id
+                      AND b.bun_id = p_bun_id
+                      AND o.opp_id = h.opp_id (+);
+
+END;
+/
\ No newline at end of file

From ddb60b01634b3a39ca5c7954a7426f2a8911a257 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 20 Jul 2019 10:30:30 +0200
Subject: [PATCH 323/371] [ci] Upgrade to AdoptOpenJDK 11.0.4 B11

---
 .travis/install-openjdk.sh | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/.travis/install-openjdk.sh b/.travis/install-openjdk.sh
index 017b50d488..3204cf0b95 100644
--- a/.travis/install-openjdk.sh
+++ b/.travis/install-openjdk.sh
@@ -1,21 +1,18 @@
 #
-# Original sources:
-# Linux: https://github.com/AdoptOpenJDK/openjdk11-upstream-binaries/releases/jdk-11.0.3%2B7/
-#        https://github.com/AdoptOpenJDK/openjdk11-upstream-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-x64_linux_11.0.3_7.tar.gz
-# MacOSX: https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/jdk-11.0.3%2B7/
-#         https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_mac_hotspot_11.0.3_7.tar.gz
+# AdoptOpenJDK Builds from:
+# https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/tag/jdk-11.0.4%2B11
 #
 
-
 if [[ "$OSTYPE" == "darwin"* ]]; then
-    OPENJDK_ARCHIVE=OpenJDK11U-jdk_x64_mac_hotspot_11.0.3_7.tar.gz
+    DOWNLOAD_URL=https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_x64_mac_hotspot_11.0.4_11.tar.gz
     COMPONENTS_TO_STRIP=3 # e.g. jdk-11.0.3+7/Contents/Home/bin/java
 else
-    OPENJDK_ARCHIVE=OpenJDK11U-x64_linux_11.0.3_7.tar.gz
+    DOWNLOAD_URL=https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_x64_linux_hotspot_11.0.4_11.tar.gz
     COMPONENTS_TO_STRIP=1 # e.g. openjdk-11.0.3+7/bin/java
 fi
 
-DOWNLOAD_URL=https://pmd-code.org/${OPENJDK_ARCHIVE}
+OPENJDK_ARCHIVE=$(basename $DOWNLOAD_URL)
+
 LOCAL_DIR=${HOME}/.cache/openjdk
 TARGET_DIR=${HOME}/openjdk11
 

From 1ef5079b29401bdb0df6e773f0160fa54f779018 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 20 Jul 2019 11:35:27 +0200
Subject: [PATCH 324/371] [java] ATFD calculation problem

* Fixes #1910
* Method call chains are now considered
---
 docs/pages/release_notes.md                   |  2 +
 .../impl/visitors/AtfdBaseVisitor.java        | 39 ++++++++++++++-----
 .../lang/java/metrics/impl/xml/AtfdTest.xml   | 34 ++++++++++++++++
 3 files changed, 66 insertions(+), 9 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 0068f262c7..68317b11bf 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -32,6 +32,8 @@ Being based on a proper Antlr grammar, CPD can:
     *   [#1898](https://github.com/pmd/pmd/issues/1898): \[doc] Incorrect code example for DoubleBraceInitialization in documentation on website
     *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
     *   [#1909](https://github.com/pmd/pmd/issues/1909): \[doc] Sample usage example refers to deprecated ruleset "basic.xml" instead of "quickstart.xml"
+*   java
+    *   [#1910](https://github.com/pmd/pmd/issues/1910): \[java] ATFD calculation problem
 *   java-multithreading
     *   [#1903](https://github.com/pmd/pmd/issues/1903): \[java] UnsynchronizedStaticFormatter doesn't allow block-level synchronization when using allowMethodLevelSynchronization=true
 *   xml
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/metrics/impl/visitors/AtfdBaseVisitor.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/metrics/impl/visitors/AtfdBaseVisitor.java
index 6576ae6f1d..b40f79e58d 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/metrics/impl/visitors/AtfdBaseVisitor.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/metrics/impl/visitors/AtfdBaseVisitor.java
@@ -32,28 +32,44 @@ public class AtfdBaseVisitor extends JavaParserVisitorAdapter {
 
     @Override
     public Object visit(ASTPrimaryExpression node, Object data) {
-        if (isForeignAttributeOrMethod(node) && (isAttributeAccess(node)
-            || isMethodCall(node) && isForeignGetterSetterCall(node))) {
-
-            ((MutableInt) data).increment();
+        if (isForeignAttributeOrMethod(node)) {
+            if (isAttributeAccess(node)) {
+                ((MutableInt) data).increment();
+            } else {
+                ((MutableInt) data).add(countForeignGetterSetterCalls(node));
+            }
         }
         return super.visit(node, data);
     }
 
 
     private boolean isForeignGetterSetterCall(ASTPrimaryExpression node) {
-
         String methodOrAttributeName = getMethodOrAttributeName(node);
+        return isForeignGetterSetterCall(methodOrAttributeName);
+    }
 
+
+    private boolean isForeignGetterSetterCall(String methodOrAttributeName) {
         return methodOrAttributeName != null && StringUtils.startsWithAny(methodOrAttributeName, "get", "is", "set");
     }
 
 
-    private boolean isMethodCall(ASTPrimaryExpression node) {
-        boolean result = false;
+    private int countForeignGetterSetterCalls(ASTPrimaryExpression node) {
+        if (!isForeignGetterSetterCall(node) || !isForeignAttributeOrMethod(node)) {
+            return 0;
+        }
+
         List<ASTPrimarySuffix> suffixes = node.findDescendantsOfType(ASTPrimarySuffix.class);
-        if (suffixes.size() == 1) {
-            result = suffixes.get(0).isArguments();
+        int result = 0;
+        for (ASTPrimarySuffix suffix : suffixes) {
+            if (suffix.isArguments()) {
+                result++;
+            } else {
+                String methodOrAttributeName = getMethodOrAttributeName(suffix);
+                if (!isForeignGetterSetterCall(methodOrAttributeName)) {
+                    break;
+                }
+            }
         }
         return result;
     }
@@ -106,6 +122,11 @@ public class AtfdBaseVisitor extends JavaParserVisitorAdapter {
     }
 
 
+    private String getMethodOrAttributeName(ASTPrimarySuffix node) {
+        return node.getImage();
+    }
+
+
     private boolean isAttributeAccess(ASTPrimaryExpression node) {
         return !node.hasDescendantOfType(ASTPrimarySuffix.class);
     }
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/metrics/impl/xml/AtfdTest.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/metrics/impl/xml/AtfdTest.xml
index cc74cf3e6f..d6615dbbe5 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/metrics/impl/xml/AtfdTest.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/metrics/impl/xml/AtfdTest.xml
@@ -188,4 +188,38 @@ public class StatementAndBraceFinder extends JavaParserVisitorAdapter {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>ATFD without method call chains</description>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>'Foo' has value 2 highest 2.</message>
+            <message>'Foo#bar()' has value 2.</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public void bar() {
+        JFileChooser openDialog = createOpenFileChooser();
+        FileFilter tmp = openDialog.getFileFilter();
+        showStatus("Not a valid file format: " + tmp.getDescription());
+    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>ATFD with method call chains</description>
+        <expected-problems>2</expected-problems>
+        <expected-messages>
+            <message>'Foo' has value 2 highest 2.</message>
+            <message>'Foo#bar()' has value 2.</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Foo {
+    public void bar() {
+        JFileChooser openDialog = createOpenFileChooser();
+        showStatus("Not a valid file format: " + openDialog.getFileFilter().getDescription());
+    }
+}
+        ]]></code>
+    </test-code>
 </test-data>
\ No newline at end of file

From 50d211eae49479015dc93be959efb8949d97ffeb Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 20 Jul 2019 17:32:31 +0200
Subject: [PATCH 325/371] [plsql] Introduce new node OuterJoinExpression

---
 pmd-plsql/etc/grammar/PldocAST.jjt            | 17 +++++++++--
 pmd-plsql/src/main/ant/alljavacc.xml          |  1 -
 .../lang/plsql/ast/ASTSimpleExpression.java   | 30 -------------------
 .../plsql/ast/PLSQLParserVisitorAdapter.java  |  5 ++++
 .../lang/plsql/rule/AbstractPLSQLRule.java    |  5 ++++
 .../pmd/lang/plsql/ast/JoinClauseTest.java    | 13 ++------
 6 files changed, 28 insertions(+), 43 deletions(-)
 delete mode 100644 pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSimpleExpression.java

diff --git a/pmd-plsql/etc/grammar/PldocAST.jjt b/pmd-plsql/etc/grammar/PldocAST.jjt
index 88686f7b8f..6f3477722a 100644
--- a/pmd-plsql/etc/grammar/PldocAST.jjt
+++ b/pmd-plsql/etc/grammar/PldocAST.jjt
@@ -1556,13 +1556,26 @@ ASTSimpleExpression SimpleExpression() :
     LOOKAHEAD(2)
         ( "*" | Column() ) { sb.append(token.image); }
  )
- [LOOKAHEAD(3) "(" "+" ")" {jjtThis.setJoinOperator(true);} ] // JoinOperator
  {
     jjtThis.setImage(sb.toString());
     return jjtThis;
  }
 }
 
+ASTOuterJoinExpression OuterJoinExpression() :
+{ StringBuilder sb = new StringBuilder(); }
+{
+    [ LOOKAHEAD(6) SchemaName() { sb.append(token.image); } "." { sb.append(token.image); } ]
+    [ LOOKAHEAD(4) TableName() { sb.append(token.image); } "." { sb.append(token.image); } ]
+    Column() { sb.append(token.image); }
+    "(" "+" ")"
+
+    {
+        jjtThis.setImage(sb.toString());
+        return jjtThis;
+    }
+}
+
 /**
  * Built-in function call or a user defined function call.
  * See https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/Functions.html#GUID-D079EFD3-C683-441F-977E-2C9503089982
@@ -3259,7 +3272,7 @@ ASTPrimaryPrefix PrimaryPrefix() :
 }
 {
 (
-  LOOKAHEAD(ID() ("." ID())* "(" "+" ")") ( simpleNode = SimpleExpression() ) { sb.append(simpleNode.getImage()); }
+  LOOKAHEAD(OuterJoinExpression()) ( simpleNode = OuterJoinExpression() ) { sb.append(simpleNode.getImage()); }
   // Note: AnalyticClause and WithinClause are only allowed for specific functions, but this grammar allows it for all functions.
 | LOOKAHEAD(FunctionName() "(") ( simpleNode = FunctionCall() [ AnalyticClause() ] [ WithinClause() ] ) { sb.append(simpleNode.getImage()); }
 | LOOKAHEAD(MultiSetCondition()) simpleNode = MultiSetCondition()
diff --git a/pmd-plsql/src/main/ant/alljavacc.xml b/pmd-plsql/src/main/ant/alljavacc.xml
index 26b272ac49..d22c66587a 100644
--- a/pmd-plsql/src/main/ant/alljavacc.xml
+++ b/pmd-plsql/src/main/ant/alljavacc.xml
@@ -67,7 +67,6 @@
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTRegexpLikeCondition.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTSelectIntoStatement.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTSelectStatement.java" />
-        <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTSimpleExpression.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTSubqueryOperation.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTTriggerTimingPointSection.java" />
         <delete file="${target}/net/sourceforge/pmd/lang/plsql/ast/ASTTriggerUnit.java" />
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSimpleExpression.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSimpleExpression.java
deleted file mode 100644
index 497492e916..0000000000
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTSimpleExpression.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
- */
-
-package net.sourceforge.pmd.lang.plsql.ast;
-
-public class ASTSimpleExpression extends AbstractPLSQLNode {
-    private boolean joinOperator;
-
-    ASTSimpleExpression(int id) {
-        super(id);
-    }
-
-    ASTSimpleExpression(PLSQLParser p, int id) {
-        super(p, id);
-    }
-
-    @Override
-    public Object jjtAccept(PLSQLParserVisitor visitor, Object data) {
-        return visitor.visit(this, data);
-    }
-
-    void setJoinOperator(boolean joinOperator) {
-        this.joinOperator = joinOperator;
-    }
-
-    public boolean hasJoinOperator() {
-        return joinOperator;
-    }
-}
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java
index 675d444b83..e70249f69d 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java
@@ -1106,4 +1106,9 @@ public class PLSQLParserVisitorAdapter implements PLSQLParserVisitor {
     public Object visit(ASTXMLElement node, Object data) {
         return visit((PLSQLNode) node, data);
     }
+
+    @Override
+    public Object visit(ASTOuterJoinExpression node, Object data) {
+        return visit((PLSQLNode) node, data);
+    }
 }
diff --git a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java
index 7da4036f88..018dfb81f2 100644
--- a/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java
+++ b/pmd-plsql/src/main/java/net/sourceforge/pmd/lang/plsql/rule/AbstractPLSQLRule.java
@@ -1200,6 +1200,11 @@ public abstract class AbstractPLSQLRule extends AbstractRule implements PLSQLPar
         return visit((PLSQLNode) node, data);
     }
 
+    @Override
+    public Object visit(ASTOuterJoinExpression node, Object data) {
+        return visit((PLSQLNode) node, data);
+    }
+
     /*
      * Treat all Executable Code
      */
diff --git a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
index 5033394e47..a15ceaa7dd 100644
--- a/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
+++ b/pmd-plsql/src/test/java/net/sourceforge/pmd/lang/plsql/ast/JoinClauseTest.java
@@ -5,7 +5,6 @@
 package net.sourceforge.pmd.lang.plsql.ast;
 
 import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.io.IOUtils;
@@ -136,14 +135,8 @@ public class JoinClauseTest extends AbstractPLSQLParserTst {
         String code = IOUtils.toString(this.getClass().getResourceAsStream("JoinOperator.pls"),
                 StandardCharsets.UTF_8);
         ASTInput input = parsePLSQL(code);
-        List<ASTSimpleExpression> expressions = input.findDescendantsOfType(ASTSimpleExpression.class);
-        List<ASTSimpleExpression> expressionsWithJoinOperator = new ArrayList<ASTSimpleExpression>();
-        for (ASTSimpleExpression exp : expressions) {
-            if (exp.hasJoinOperator()) {
-                expressionsWithJoinOperator.add(exp);
-            }
-        }
-        Assert.assertEquals(4, expressionsWithJoinOperator.size());
-        Assert.assertEquals("h.opp_id", expressionsWithJoinOperator.get(3).getImage());
+        List<ASTOuterJoinExpression> expressions = input.findDescendantsOfType(ASTOuterJoinExpression.class);
+        Assert.assertEquals(4, expressions.size());
+        Assert.assertEquals("h.opp_id", expressions.get(3).getImage());
     }
 }

From 169d08a8980e000d5159c61846868fb6ea61bbd0 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 20 Jul 2019 17:49:35 +0200
Subject: [PATCH 326/371] Update release notes, fixes #1902

---
 docs/pages/release_notes.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 0068f262c7..64aeff98bd 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -34,6 +34,8 @@ Being based on a proper Antlr grammar, CPD can:
     *   [#1909](https://github.com/pmd/pmd/issues/1909): \[doc] Sample usage example refers to deprecated ruleset "basic.xml" instead of "quickstart.xml"
 *   java-multithreading
     *   [#1903](https://github.com/pmd/pmd/issues/1903): \[java] UnsynchronizedStaticFormatter doesn't allow block-level synchronization when using allowMethodLevelSynchronization=true
+*   plsql
+    *   [#1902](https://github.com/pmd/pmd/issues/1902): \[pslql] ParseException when parsing (+)
 *   xml
     *   [#1666](https://github.com/pmd/pmd/issues/1666): \[xml] wrong cdata rule description and examples
 

From 7c77945164ebfb8fa00bad913d8fcb71cd0918da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Sun, 21 Jul 2019 16:38:35 +0200
Subject: [PATCH 327/371] #1921 - exclude ByteArrayInputStream from
 CloseResource

---
 .../rule/errorprone/CloseResourceRule.java    |  2 +-
 .../rule/errorprone/xml/CloseResource.xml     | 27 +++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index abb6b8cf6f..a3c9740f56 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -88,7 +88,7 @@ public class CloseResourceRule extends AbstractJavaRule {
     private static final PropertyDescriptor<List<String>> ALLOWED_RESOURCE_TYPES =
             stringListProperty("allowedResourceTypes")
             .desc("Exact class names that do not need to be closed")
-            .defaultValues("java.io.ByteArrayOutputStream", "java.io.StringWriter")
+            .defaultValues("java.io.ByteArrayOutputStream", "java.io.ByteArrayInputStream", "java.io.StringWriter")
             .build();
 
 
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index 604380c3e5..5f8c0beccc 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -849,6 +849,33 @@ public class CloseResourceWithExceptions {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>ByteArrayInputStream does not need closing</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+public class CloseResourceWithExceptions {
+
+    {
+        ByteArrayInputStream bis = new ByteArrayInputStream("fooString".getBytes(StandardCharsets.UTF_8));
+    }
+
+    public int bar() {
+        /*ByteArray*/InputStream buffer = new ByteArrayInputStream();
+        try {
+            return buffer.read();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        return -1;
+    }
+}
+        ]]></code>
+    </test-code>
+
     <test-code>
         <description>A custom StringWriter does need closing</description>
         <expected-problems>1</expected-problems>

From 2278613cfdd57c7add868aea3c039a90b21afa6b Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 21 Jul 2019 19:15:26 +0200
Subject: [PATCH 328/371] Update release notes, fixes #1921

---
 docs/pages/release_notes.md | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 0068f262c7..861678ffcc 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -23,6 +23,11 @@ Being based on a proper Antlr grammar, CPD can:
 *   ignore comments
 *   honor [comment-based suppressions](pmd_userdocs_cpd.html#suppression)
 
+#### Modified Rules
+
+*   The Java rule {% rule "java/errorprone/CloseResource" %} [`java-errorprone`] now ignores by default
+    `java.io.ByteArrayInputStream`. Such streams do not need to be closed.
+
 ### Fixed Issues
 
 *   core
@@ -32,6 +37,8 @@ Being based on a proper Antlr grammar, CPD can:
     *   [#1898](https://github.com/pmd/pmd/issues/1898): \[doc] Incorrect code example for DoubleBraceInitialization in documentation on website
     *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
     *   [#1909](https://github.com/pmd/pmd/issues/1909): \[doc] Sample usage example refers to deprecated ruleset "basic.xml" instead of "quickstart.xml"
+*   java-errorprone
+    *   [#1921](https://github.com/pmd/pmd/issues/1921): \[java] CloseResource false positive with ByteArrayInputStream
 *   java-multithreading
     *   [#1903](https://github.com/pmd/pmd/issues/1903): \[java] UnsynchronizedStaticFormatter doesn't allow block-level synchronization when using allowMethodLevelSynchronization=true
 *   xml

From 6f05882c95bbb93ba9031df422481e21903168e8 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 21 Jul 2019 19:27:19 +0200
Subject: [PATCH 329/371] [doc] Update generated rule documentation

---
 docs/pages/pmd/rules/java/errorprone.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index ba4394cd45..11b48a8963 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -1213,7 +1213,7 @@ just remove &quot;AutoCloseable&quot; from the types.
 |closeTargets||Methods which may close this resource|yes. Delimiter is ','.|
 |types|java.lang.AutoCloseable , java.sql.Connection , java.sql.Statement , java.sql.ResultSet|Affected types|yes. Delimiter is ','.|
 |closeAsDefaultTarget|true|Consider 'close' as a target by default|no|
-|allowedResourceTypes|java.io.ByteArrayOutputStream \| java.io.StringWriter|Exact class names that do not need to be closed|yes. Delimiter is '\|'.|
+|allowedResourceTypes|java.io.ByteArrayOutputStream \| java.io.ByteArrayInputStream \| java.io.StringWriter|Exact class names that do not need to be closed|yes. Delimiter is '\|'.|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -1227,7 +1227,7 @@ just remove &quot;AutoCloseable&quot; from the types.
         <property name="closeTargets" value="" />
         <property name="types" value="java.lang.AutoCloseable,java.sql.Connection,java.sql.Statement,java.sql.ResultSet" />
         <property name="closeAsDefaultTarget" value="true" />
-        <property name="allowedResourceTypes" value="java.io.ByteArrayOutputStream|java.io.StringWriter" />
+        <property name="allowedResourceTypes" value="java.io.ByteArrayOutputStream|java.io.ByteArrayInputStream|java.io.StringWriter" />
     </properties>
 </rule>
 ```

From 1dca17fd1b91c1af9a823e5572a8faf5932a3d0d Mon Sep 17 00:00:00 2001
From: YoonhoChoi96 <uenho830@gmail.com>
Date: Mon, 22 Jul 2019 12:46:24 +0900
Subject: [PATCH 330/371] Verifying line numbers and the messages in Test Cases

---
 .../xml/DataflowAnomalyAnalysis.xml           | 51 +++++++++++++++++--
 1 file changed, 48 insertions(+), 3 deletions(-)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
index f8a5f09f2a..7be1ab2c4b 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
@@ -139,6 +139,10 @@ public class AssertTest {
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 1. DU-Anomaly(b)</description>
         <expected-problems>1</expected-problems>
+        <expected-linenumbers>6</expected-linenumbers>
+        <expected-messages>
+        <message>Found 'DU'-anomaly for variable 'b' (lines '6'-'7').</message>
+        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -154,6 +158,11 @@ class Test{
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 2. DU-Anomaly(a)</description>
         <expected-problems>2</expected-problems>
+        <expected-linenumbers>3,5</expected-linenumbers>
+        <expected-messages>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '3'-'7').</message>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '5'-'7').</message>
+        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -166,10 +175,13 @@ class Test{
         ]]></code>
     </test-code>
 
-    <!-- This case invoke False Positive(UR-a), because of for-each statement.
-    <test-code>
+    <test-code regressionTest="false">
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 3. DU-Anomaly(a)</description>
         <expected-problems>1</expected-problems>
+        <expected-linenumbers>5</expected-linenumbers>
+        <expected-messages>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '5'-'7').</message>
+        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -180,11 +192,16 @@ class Test{
    }
 }
         ]]></code>
-    </test-code> -->
+    </test-code>
 
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 4. DU-Anomaly(a)</description>
         <expected-problems>2</expected-problems>
+        <expected-linenumbers>3,6</expected-linenumbers>
+        <expected-messages>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '3'-'9').</message>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '6'-'7').</message>
+        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -202,6 +219,10 @@ class Test{
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 5. DU-Anomaly(a)</description>
         <expected-problems>1</expected-problems>
+        <expected-linenumbers>6</expected-linenumbers>
+        <expected-messages>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '6'-'9').</message>
+        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -219,6 +240,13 @@ class Test{
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 6. DU-Anomaly(a)</description>
         <expected-problems>4</expected-problems>
+        <expected-linenumbers>6,8,10,12</expected-linenumbers>
+        <expected-messages>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '6'-'14').</message>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '8'-'14').</message>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '10'-'14').</message>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '12'-'14').</message>
+        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -241,6 +269,10 @@ class Test{
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 7. DU-Anomaly(a)</description>
         <expected-problems>1</expected-problems>
+        <expected-linenumbers>9</expected-linenumbers>
+        <expected-messages>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '9'-'11').</message>
+        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -260,6 +292,10 @@ class Test{
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 9. DU-Anomaly(t1)</description>
         <expected-problems>1</expected-problems>
+        <expected-linenumbers>5</expected-linenumbers>
+        <expected-messages>
+        <message>Found 'DU'-anomaly for variable 't1' (lines '5'-'6').</message>
+        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -274,6 +310,10 @@ class Test{
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 12. DU-Anomaly(t1)</description>
         <expected-problems>1</expected-problems>
+        <expected-linenumbers>6</expected-linenumbers>
+        <expected-messages>
+        <message>Found 'DU'-anomaly for variable 't1' (lines '6'-'7').</message>
+        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){
@@ -304,6 +344,11 @@ class Test{
     <test-code>
         <description>#1905 [java] DataflowAnomalyAnalysis Rule in right order : Case 14. DU-Anomaly(t1, t2)</description>
         <expected-problems>2</expected-problems>
+        <expected-linenumbers>4,6</expected-linenumbers>
+        <expected-messages>
+        <message>Found 'DU'-anomaly for variable 't2' (lines '4'-'7').</message>
+        <message>Found 'DU'-anomaly for variable 't1' (lines '6'-'7').</message>
+        </expected-messages>
         <code><![CDATA[
 class Test{
    public static void main(String[] args){

From 83f4682063af5ca89613c43b461e6ad194d1129b Mon Sep 17 00:00:00 2001
From: YoonhoChoi96 <uenho830@gmail.com>
Date: Mon, 22 Jul 2019 12:57:21 +0900
Subject: [PATCH 331/371] fix typo

---
 .../lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
index 7be1ab2c4b..381dbcd8ff 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
@@ -200,7 +200,7 @@ class Test{
         <expected-linenumbers>3,6</expected-linenumbers>
         <expected-messages>
         <message>Found 'DU'-anomaly for variable 'a' (lines '3'-'9').</message>
-        <message>Found 'DU'-anomaly for variable 'a' (lines '6'-'7').</message>
+        <message>Found 'DU'-anomaly for variable 'a' (lines '6'-'9').</message>
         </expected-messages>
         <code><![CDATA[
 class Test{

From 56b1bfbd97b954e0f4e300668eafbbb585cd2ad0 Mon Sep 17 00:00:00 2001
From: YoonhoChoi96 <uenho830@gmail.com>
Date: Mon, 22 Jul 2019 14:22:26 +0900
Subject: [PATCH 332/371] Remove wasted lists and Simplify

---
 .../lang/java/dfa/VariableAccessVisitor.java  | 73 +++++++------------
 1 file changed, 27 insertions(+), 46 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java
index dce8857b22..40caf39014 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/dfa/VariableAccessVisitor.java
@@ -19,8 +19,10 @@ import net.sourceforge.pmd.lang.dfa.VariableAccess;
 import net.sourceforge.pmd.lang.java.ast.ASTAssignmentOperator;
 import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceBodyDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTConstructorDeclaration;
+import net.sourceforge.pmd.lang.java.ast.ASTExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTFormalParameter;
 import net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration;
+import net.sourceforge.pmd.lang.java.ast.ASTStatementExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTVariableInitializer;
 import net.sourceforge.pmd.lang.java.ast.JavaNode;
 import net.sourceforge.pmd.lang.java.ast.JavaParserVisitorAdapter;
@@ -80,58 +82,37 @@ public class VariableAccessVisitor extends JavaParserVisitorAdapter {
                 }
                 undefinitions.add(new VariableAccess(VariableAccess.UNDEFINITION, vnd.getImage()));
 
-                //make arraylist which could store all name occurrences
-                List<NameOccurrence> data = new ArrayList<>();
-
-                //make arraylist which could store sorted name occurrences
-                List<NameOccurrence> order = new ArrayList<>();
-
-                //add all occurrences to arraylist(data)
+                //Map the name occurrences to their assignment expressions, if any
+                List<SimpleEntry<Node, NameOccurrence>> occurrencesWithAssignmentExp = new ArrayList<>();
                 for (NameOccurrence occurrence : entry.getValue()) {
-                    data.add(occurrence);
+                    // find the nearest assignment, if any
+                    Node potentialAssignment = occurrence.getLocation().getFirstParentOfAnyType(ASTStatementExpression.class,
+                                                                                            ASTExpression.class);
+                    while (potentialAssignment != null 
+                            && (potentialAssignment.jjtGetNumChildren() < 2
+                                    || !(potentialAssignment.jjtGetChild(1) instanceof ASTAssignmentOperator))) {
+                        potentialAssignment = potentialAssignment.getFirstParentOfAnyType(ASTStatementExpression.class,
+                                ASTExpression.class);
+                    }
+                    // at this point, potentialAssignment is either a assignment or null
+                    occurrencesWithAssignmentExp.add(new SimpleEntry<>(potentialAssignment, occurrence));
                 }
                 
-                //make arraylist which could store pair structure which is consist of assignment operator and related Name occurrences
-                ArrayList<SimpleEntry<Node, NameOccurrence>> assignments = new ArrayList<>();
+                //The name occurrences are in source code order, the means, the left hand side of
+                //the assignment is first. But this is not the order in which the data flows: first the
+                //right hand side is evaluated before the left hand side is assigned.
+                //Therefore move the name occurrences backwards if they belong to the same assignment expression.
+                for (int i = 0; i < occurrencesWithAssignmentExp.size() - 1; i++) {
+                    SimpleEntry<Node, NameOccurrence> oc = occurrencesWithAssignmentExp.get(i);
+                    SimpleEntry<Node, NameOccurrence> nextOc = occurrencesWithAssignmentExp.get(i + 1);
 
-                //travers all elements which are in arraylist(data)
-                for (NameOccurrence name : data) {
-                    //Make a flag which is for preventing double addition of same name occurrence
-                    int flag = 0;
-                    //traverse parents nodes until it is method declaration or constructor declaration
-                    checker :
-                    for (Node temp = name.getLocation(); !(temp.jjtGetParent() instanceof ASTMethodDeclaration) 
-                        && !(temp.jjtGetParent() instanceof ASTConstructorDeclaration); temp = temp.jjtGetParent()) {
-                        //traverse children nodes to check it has assignment operator as a child 
-                        List<ASTAssignmentOperator> assignmentOperators = temp.findChildrenOfType(ASTAssignmentOperator.class);
-                        if (!assignmentOperators.isEmpty()) {
-                                //if assignment operator is found, add to arraylist(assignments) with the assignment operator and its name
-                                assignments.add(new SimpleEntry(assignmentOperators.get(0), name));
-                                //change flag
-                                flag = 1;
-                                break checker;    
-                            }
-                    }
-                    //if a name is not related to assignment operator, add to arraylist(assignments) with null and its name
-                    if (flag == 0) {
-                        assignments.add(new SimpleEntry(null, name));
+                    if (oc.getKey() != null && oc.getKey().equals(nextOc.getKey())) {
+                        Collections.swap(occurrencesWithAssignmentExp, i, i + 1);
                     }
                 }
-                
-                //swap the arraylist(assignments)'s elements, when it share same assignment operator
-                for (int i = 0; i < assignments.size() - 1; i++) {
-                    if (assignments.get(i).getKey() != null 
-                        && assignments.get(i).getKey().equals(assignments.get(i + 1).getKey())) {
-                        Collections.swap(assignments, i, i + 1);
-                    }
-                }
-                //add sorted element from assignments(arraylist) to order(arraylist) 
-                for (SimpleEntry<Node, NameOccurrence> tempPair : assignments) {
-                    order.add(tempPair.getValue());
-                }
-                //add access to the sorted arraylist
-                for (NameOccurrence orderedOccurrence : order) {
-                    addAccess((JavaNameOccurrence) orderedOccurrence, inode);
+
+                for (SimpleEntry<Node, NameOccurrence> oc : occurrencesWithAssignmentExp) {
+                    addAccess((JavaNameOccurrence) oc.getValue(), inode);
                 }
             }
         }

From f9bb5b85a27871fc1cbdf9b1798832b252a9b71e Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Mon, 22 Jul 2019 19:34:02 +0200
Subject: [PATCH 333/371] [java] DataflowAnomalyAnalysis - add test case for
 #1749

---
 .../errorprone/xml/DataflowAnomalyAnalysis.xml  | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
index 381dbcd8ff..620dfa4bc3 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/DataflowAnomalyAnalysis.xml
@@ -357,6 +357,23 @@ class Test{
        Test2 test = new Test2() ;
        if( t1 == (t1 = test.simpleTest(t1))) ;
    }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>#1749 DD False Positive in DataflowAnomalyAnalysis</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>4</expected-linenumbers>
+        <expected-messages>
+            <message>Found 'DU'-anomaly for variable 'a' (lines '4'-'5').</message>
+        </expected-messages>
+        <code><![CDATA[
+public class Test {
+  public void test(){
+    int a = 0;
+    a = a + 3;
+  }
 }
         ]]></code>
     </test-code>

From 342f8482f5de94d3745f79b8d5edadb6073f1bd7 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Mon, 22 Jul 2019 20:05:12 +0200
Subject: [PATCH 334/371] Update release notes, fixes #1749, refs #1905

---
 docs/pages/release_notes.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..cbd3cce72c 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,9 +16,14 @@ This is a {{ site.pmd.release_type }} release.
 
 ### Fixed Issues
 
+*   java-errorprone
+    *   [#1749](https://github.com/pmd/pmd/issues/1749): \[java] DD False Positive in DataflowAnomalyAnalysis
+
 ### API Changes
 
 ### External Contributions
 
+*   [#1905](https://github.com/pmd/pmd/pull/1905): \[java] DataflowAnomalyAnalysis Rule in right order - [YoonhoChoi96](https://github.com/YoonhoChoi96)
+
 {% endtocmaker %}
 

From f7c16d4abc11d0feb7197cb25e7f2b50e0e7c43f Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Tue, 23 Jul 2019 20:12:37 +0200
Subject: [PATCH 335/371] [java] MissingStaticMethodInNonInstantiatableClass

* Migrate to XPath 2.0
* Add property "annotations"
---
 .../resources/category/java/errorprone.xml    | 34 ++++++++++++-------
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml
index 52de06fb82..90e199fc88 100644
--- a/pmd-java/src/main/resources/category/java/errorprone.xml
+++ b/pmd-java/src/main/resources/category/java/errorprone.xml
@@ -2408,35 +2408,45 @@ public class Foo implements java.io.Serializable {
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#missingstaticmethodinnoninstantiatableclass">
         <description>
 A class that has private constructors and does not have any static methods or fields cannot be used.
+
+When one of the private constructors is annotated with one of the annotations, then the class is not considered
+non-instantiatable anymore and no violation will be reported.
+See the property `annotations`.
         </description>
         <priority>3</priority>
         <properties>
+            <property name="annotations" type="List[String]" delimiter="," value="org.springframework.beans.factory.annotation.Autowired, javax.inject.Inject" description="If a constructor is annotated with one of these annotations, then the class is ignored."/>
+            <property name="version" value="2.0"/>
             <property name="xpath">
                 <value>
 <![CDATA[
-//ClassOrInterfaceDeclaration[@Nested='false']
+//ClassOrInterfaceDeclaration[@Nested=false()]
 [
   (
+    (: at least one constructor :)
     ./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration
     and
-    count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) = count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Private='true'])
+    (: only private constructors :)
+    count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) = count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Private=true()])
     and
-    not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration/
-        ../Annotation/MarkerAnnotation/Name[pmd-java:typeIs('org.springframework.beans.factory.annotation.Autowired') or pmd-java:typeIs('javax.inject.Inject')])
+    (: all constructors must not be annotated :)
+    (every $x in $annotations satisfies
+      not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration/
+            ../Annotation/MarkerAnnotation/Name[pmd-java:typeIs($x)]))
   )
   and
-  not(.//MethodDeclaration[@Static='true'])
+  not(.//MethodDeclaration[@Static=true()])
   and
-  not(.//FieldDeclaration[@Private='false'][@Static='true'])
+  not(.//FieldDeclaration[@Private=false()][@Static=true()])
   and
-  not(.//ClassOrInterfaceDeclaration[@Nested='true']
-           [@Public='true']
-           [@Static='true']
-           [not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) or ./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Public='true']]
+  not(.//ClassOrInterfaceDeclaration[@Nested=true()]
+           [@Public=true()]
+           [@Static=true()]
+           [not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) or ./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Public=true()]]
            [./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/MethodDeclaration
-                [@Public='true']
+                [@Public=true()]
                 [./ResultType/Type/ReferenceType/ClassOrInterfaceType
-                    [@Image = //ClassOrInterfaceDeclaration[@Nested='false']/@Image]
+                    [@Image = //ClassOrInterfaceDeclaration[@Nested=false()]/@Image]
                 ]
             ]
         )

From 189861656c42c0295bfb9393993b7ebe667ef758 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Tue, 23 Jul 2019 20:21:20 +0200
Subject: [PATCH 336/371] Update release notes, fixes #1832, refs #1916

---
 docs/pages/release_notes.md | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index fe3d2aa4c7..d07faf3609 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -23,12 +23,22 @@ Being based on a proper Antlr grammar, CPD can:
 *   ignore comments
 *   honor [comment-based suppressions](pmd_userdocs_cpd.html#suppression)
 
+#### Modified Rules
+
+*   The Java rule {% rule "java/errorprone/MissingStaticMethodInNonInstantiatableClass" %} (`java-errorprone`) has now
+    the new property `annotations`.
+    When one of the private constructors is annotated with one of the annotations, then the class is not considered
+    non-instantiatable anymore and no violation will be reported. By default, Spring's `@Autowired` and
+    Java EE's `@Inject` annotations are recognized.
+
 ### Fixed Issues
 
 *   doc
     *   [#1896](https://github.com/pmd/pmd/issues/1896): \[doc] Error in changelog 6.16.0 due to not properly closed rule tag
     *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
     *   [#1909](https://github.com/pmd/pmd/issues/1909): \[doc] Sample usage example refers to deprecated ruleset "basic.xml" instead of "quickstart.xml"
+*   java-errorprone
+    *   [#1832](https://github.com/pmd/pmd/issues/1832): \[java] False positives for MissingStaticMethodInNonInstantiatableClass when DI is used
 *   xml
     *   [#1666](https://github.com/pmd/pmd/issues/1666): \[xml] wrong cdata rule description and examples
 
@@ -39,6 +49,7 @@ Being based on a proper Antlr grammar, CPD can:
 *   [#1869](https://github.com/pmd/pmd/pull/1869): \[xml] fix #1666 wrong cdata rule description and examples - [Artem](https://github.com/KroArtem)
 *   [#1892](https://github.com/pmd/pmd/pull/1892): \[lua] \[cpd] Added CPD support for Lua - [Maikel Steneker](https://github.com/maikelsteneker)
 *   [#1908](https://github.com/pmd/pmd/pull/1908): \[doc] Update ruleset filename from deprecated basic.xml to quickstart.xml - [crunsk](https://github.com/crunsk)
+*   [#1916](https://github.com/pmd/pmd/pull/1916): \[java] Exclude Autowired and Inject for MissingStaticMethodInNonInstantiatableClass - [AnthonyKot](https://github.com/AnthonyKot)
 
 {% endtocmaker %}
 

From f269b3dc3f57552bc3aa546ebe863d46040b129f Mon Sep 17 00:00:00 2001
From: "Travis CI (pmd-bot)" <andreas.dangel+pmd-bot@adangel.org>
Date: Tue, 23 Jul 2019 18:51:13 +0000
Subject: [PATCH 337/371] Update documentation

TRAVIS_JOB_NUMBER=3997.1
TRAVIS_COMMIT_RANGE=26e74b880e96...ca71d2fae4b3
---
 docs/pages/pmd/rules/java.md            |  2 +-
 docs/pages/pmd/rules/java/errorprone.md | 49 ++++++++++++++++++-------
 2 files changed, 37 insertions(+), 14 deletions(-)

diff --git a/docs/pages/pmd/rules/java.md b/docs/pages/pmd/rules/java.md
index 1b72fec5cc..8f699f323c 100644
--- a/docs/pages/pmd/rules/java.md
+++ b/docs/pages/pmd/rules/java.md
@@ -262,7 +262,7 @@ folder: pmd/rules
 *   [MisplacedNullCheck](pmd_rules_java_errorprone.html#misplacednullcheck): The null check here is misplaced. If the variable is null a NullPointerException will be thrown.E...
 *   [MissingBreakInSwitch](pmd_rules_java_errorprone.html#missingbreakinswitch): Switch statements without break or return statements for each case optionmay indicate problematic...
 *   [MissingSerialVersionUID](pmd_rules_java_errorprone.html#missingserialversionuid): Serializable classes should provide a serialVersionUID field.The serialVersionUID field is also n...
-*   [MissingStaticMethodInNonInstantiatableClass](pmd_rules_java_errorprone.html#missingstaticmethodinnoninstantiatableclass): A class that has private constructors and does not have any static methods or fields cannot be used.
+*   [MissingStaticMethodInNonInstantiatableClass](pmd_rules_java_errorprone.html#missingstaticmethodinnoninstantiatableclass): A class that has private constructors and does not have any static methods or fields cannot be us...
 *   [MoreThanOneLogger](pmd_rules_java_errorprone.html#morethanonelogger): Normally only one logger is used in each class.
 *   [NonCaseLabelInSwitchStatement](pmd_rules_java_errorprone.html#noncaselabelinswitchstatement): A non-case label (e.g. a named break/continue label) was present in a switch statement.This legal...
 *   [NonStaticInitializer](pmd_rules_java_errorprone.html#nonstaticinitializer): A non-static initializer block will be called any time a constructor is invoked (just prior toinv...
diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index b60651b17d..4224dd971b 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -2620,31 +2620,39 @@ chain needs an own serialVersionUID field. See also [Should an abstract class ha
 
 A class that has private constructors and does not have any static methods or fields cannot be used.
 
+When one of the private constructors is annotated with one of the annotations, then the class is not considered
+non-instantiatable anymore and no violation will be reported.
+See the property `annotations`.
+
 **This rule is defined by the following XPath expression:**
 ``` xpath
-//ClassOrInterfaceDeclaration[@Nested='false']
+//ClassOrInterfaceDeclaration[@Nested=false()]
 [
   (
+    (: at least one constructor :)
     ./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration
     and
-    count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) = count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Private='true'])
+    (: only private constructors :)
+    count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) = count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Private=true()])
     and
-    not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration/
-        ../Annotation/MarkerAnnotation/Name[pmd-java:typeIs('org.springframework.beans.factory.annotation.Autowired') or pmd-java:typeIs('javax.inject.Inject')])
+    (: all constructors must not be annotated :)
+    (every $x in $annotations satisfies
+      not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration/
+            ../Annotation/MarkerAnnotation/Name[pmd-java:typeIs($x)]))
   )
   and
-  not(.//MethodDeclaration[@Static='true'])
+  not(.//MethodDeclaration[@Static=true()])
   and
-  not(.//FieldDeclaration[@Private='false'][@Static='true'])
+  not(.//FieldDeclaration[@Private=false()][@Static=true()])
   and
-  not(.//ClassOrInterfaceDeclaration[@Nested='true']
-           [@Public='true']
-           [@Static='true']
-           [not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) or ./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Public='true']]
+  not(.//ClassOrInterfaceDeclaration[@Nested=true()]
+           [@Public=true()]
+           [@Static=true()]
+           [not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) or ./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Public=true()]]
            [./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/MethodDeclaration
-                [@Public='true']
+                [@Public=true()]
                 [./ResultType/Type/ReferenceType/ClassOrInterfaceType
-                    [@Image = //ClassOrInterfaceDeclaration[@Nested='false']/@Image]
+                    [@Image = //ClassOrInterfaceDeclaration[@Nested=false()]/@Image]
                 ]
             ]
         )
@@ -2664,11 +2672,26 @@ public class Foo {
 }{%endraw%}
 ```
 
-**Use this rule by referencing it:**
+**This rule has the following properties:**
+
+|Name|Default Value|Description|Multivalued|
+|----|-------------|-----------|-----------|
+|annotations|org.springframework.beans.factory.annotation.Autowired ,  javax.inject.Inject|If a constructor is annotated with one of these annotations, then the class is ignored.|yes. Delimiter is ','.|
+
+**Use this rule with the default properties by just referencing it:**
 ``` xml
 <rule ref="category/java/errorprone.xml/MissingStaticMethodInNonInstantiatableClass" />
 ```
 
+**Use this rule and customize it:**
+``` xml
+<rule ref="category/java/errorprone.xml/MissingStaticMethodInNonInstantiatableClass">
+    <properties>
+        <property name="annotations" value="org.springframework.beans.factory.annotation.Autowired, javax.inject.Inject" />
+    </properties>
+</rule>
+```
+
 ## MoreThanOneLogger
 
 **Since:** PMD 2.0

From f1fb425313f1abdb7e7744a3e54206b1a5758220 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Thu, 25 Jul 2019 02:41:33 +0200
Subject: [PATCH 338/371] Improve UseLocaleWithCaseConversions doc based on
 #1929

---
 .../resources/category/java/errorprone.xml    | 41 ++++++++++++-------
 1 file changed, 26 insertions(+), 15 deletions(-)

diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml
index 90e199fc88..74e40ae08e 100644
--- a/pmd-java/src/main/resources/category/java/errorprone.xml
+++ b/pmd-java/src/main/resources/category/java/errorprone.xml
@@ -3421,8 +3421,19 @@ class Test {
           class="net.sourceforge.pmd.lang.rule.XPathRule"
           externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_errorprone.html#uselocalewithcaseconversions">
         <description>
-When doing String.toLowerCase()/toUpperCase() conversions, use Locales to avoids problems with languages that
-have unusual conventions, i.e. Turkish.
+            When doing `String::toLowerCase()/toUpperCase()` conversions, use an explicit locale argument to specify the case transformation rules.
+
+            Using `String::toLowerCase()` without arguments implicitly uses `Locale::getDefault()`.
+            The problem is that the default locale depends on the current JVM setup (and usually on the system in which it is running).
+            Using the system default may be exactly what you want (e.g. if you are manipulating strings you got through standard input),
+            but it may as well not be the case (e.g. if you are getting the string over the network or a file, and the encoding is well-defined
+            and independent of the environment). In the latter case, using the default locale makes the case transformation brittle, as
+            it may yield unexpected results on a machine whose locale has other case translation rules. For example, in Turkish, the
+            uppercase form of `i` is `İ` (U+0130, not ASCII) and not `I` (U+0049) as in English.
+
+            The rule is intended to *force* developers to think about locales when dealing with strings. By taking a conscious decision about
+            the choice of locale at the time of writing, you reduce the risk of surprising behaviour down the line, and communicate your intent
+            to future readers.
         </description>
         <priority>3</priority>
         <properties>
@@ -3448,20 +3459,20 @@ PrimarySuffix
         </properties>
         <example>
 <![CDATA[
-class Foo {
-    // BAD
-    if (x.toLowerCase().equals("list")) { }
+// violation - implicitly system-dependent conversion
+if (x.toLowerCase().equals("list")) {}
 
-    /*
-     * This will not match "LIST" when in Turkish locale
-     * The above could be
-     * if (x.toLowerCase(Locale.US).equals("list")) { }
-     * or simply
-     * if (x.equalsIgnoreCase("list")) { }
-     */
-    // GOOD
-    String z = a.toLowerCase(Locale.EN);
-}
+// The above will not match "LIST" on a system with a Turkish locale.
+// It could be replaced with
+if (x.toLowerCase(Locale.US).equals("list")) { }
+// or simply
+if (x.equalsIgnoreCase("list")) { }
+
+// ok - system independent conversion
+String z = a.toLowerCase(Locale.ROOT);
+
+// ok - explicit system-dependent conversion
+String z2 = a.toLowerCase(Locale.getDefault());
 ]]>
         </example>
     </rule>

From b416df404d83dcb25327af16cfa5a6a2fc27f8cf Mon Sep 17 00:00:00 2001
From: "Travis CI (pmd-bot)" <andreas.dangel+pmd-bot@adangel.org>
Date: Thu, 25 Jul 2019 01:00:55 +0000
Subject: [PATCH 339/371] Update documentation

TRAVIS_JOB_NUMBER=4001.1
TRAVIS_COMMIT_RANGE=f269b3dc3f57...f1fb425313f1
---
 docs/pages/pmd/rules/java.md            |  2 +-
 docs/pages/pmd/rules/java/errorprone.md | 41 ++++++++++++++++---------
 2 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/docs/pages/pmd/rules/java.md b/docs/pages/pmd/rules/java.md
index 8f699f323c..c293956270 100644
--- a/docs/pages/pmd/rules/java.md
+++ b/docs/pages/pmd/rules/java.md
@@ -289,7 +289,7 @@ folder: pmd/rules
 *   [UseCorrectExceptionLogging](pmd_rules_java_errorprone.html#usecorrectexceptionlogging): To make sure the full stacktrace is printed out, use the logging statement with two arguments: a ...
 *   [UseEqualsToCompareStrings](pmd_rules_java_errorprone.html#useequalstocomparestrings): Using '==' or '!=' to compare strings only works if intern version is used on both sides.Use the ...
 *   [UselessOperationOnImmutable](pmd_rules_java_errorprone.html#uselessoperationonimmutable): An operation on an Immutable object (String, BigDecimal or BigInteger) won't change the object it...
-*   [UseLocaleWithCaseConversions](pmd_rules_java_errorprone.html#uselocalewithcaseconversions): When doing String.toLowerCase()/toUpperCase() conversions, use Locales to avoids problems with la...
+*   [UseLocaleWithCaseConversions](pmd_rules_java_errorprone.html#uselocalewithcaseconversions): When doing 'String::toLowerCase()/toUpperCase()' conversions, use an explicit locale argument to ...
 *   [UseProperClassLoader](pmd_rules_java_errorprone.html#useproperclassloader): In J2EE, the getClassLoader() method might not work as expected. Use Thread.currentThread().getCo...
 
 ## Multithreading
diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index 4224dd971b..8715d96337 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -3686,8 +3686,19 @@ class Test {
 
 **Priority:** Medium (3)
 
-When doing String.toLowerCase()/toUpperCase() conversions, use Locales to avoids problems with languages that
-have unusual conventions, i.e. Turkish.
+When doing `String::toLowerCase()/toUpperCase()` conversions, use an explicit locale argument to specify the case transformation rules.
+
+Using `String::toLowerCase()` without arguments implicitly uses `Locale::getDefault()`.
+The problem is that the default locale depends on the current JVM setup (and usually on the system in which it is running).
+Using the system default may be exactly what you want (e.g. if you are manipulating strings you got through standard input),
+but it may as well not be the case (e.g. if you are getting the string over the network or a file, and the encoding is well-defined
+and independent of the environment). In the latter case, using the default locale makes the case transformation brittle, as
+it may yield unexpected results on a machine whose locale has other case translation rules. For example, in Turkish, the
+uppercase form of `i` is `İ` (U+0130, not ASCII) and not `I` (U+0049) as in English.
+
+The rule is intended to *force* developers to think about locales when dealing with strings. By taking a conscious decision about
+the choice of locale at the time of writing, you reduce the risk of surprising behaviour down the line, and communicate your intent
+to future readers.
 
 **This rule is defined by the following XPath expression:**
 ``` xpath
@@ -3709,20 +3720,20 @@ PrimarySuffix
 **Example(s):**
 
 ``` java
-{%raw%}class Foo {
-    // BAD
-    if (x.toLowerCase().equals("list")) { }
+{%raw%}// violation - implicitly system-dependent conversion
+if (x.toLowerCase().equals("list")) {}
 
-    /*
-     * This will not match "LIST" when in Turkish locale
-     * The above could be
-     * if (x.toLowerCase(Locale.US).equals("list")) { }
-     * or simply
-     * if (x.equalsIgnoreCase("list")) { }
-     */
-    // GOOD
-    String z = a.toLowerCase(Locale.EN);
-}{%endraw%}
+// The above will not match "LIST" on a system with a Turkish locale.
+// It could be replaced with
+if (x.toLowerCase(Locale.US).equals("list")) { }
+// or simply
+if (x.equalsIgnoreCase("list")) { }
+
+// ok - system independent conversion
+String z = a.toLowerCase(Locale.ROOT);
+
+// ok - explicit system-dependent conversion
+String z2 = a.toLowerCase(Locale.getDefault());{%endraw%}
 ```
 
 **Use this rule by referencing it:**

From 49d2a585568b0a4f0b2743de4b8e00a40c23b2c0 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 27 Jul 2019 09:44:22 +0200
Subject: [PATCH 340/371] Update pmd-designer to 6.17.0

---
 docs/pages/release_notes.md | 8 +++++++-
 pom.xml                     | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 02f839df42..78cf620b7c 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,6 +14,12 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### Updated PMD Designer
+
+This PMD release ships a new version of the pmd-designer.
+For the changes, see [PMD Designer Changelog](https://github.com/pmd/pmd-designer/releases/tag/6.17.0).
+It contains a new feature to edit test cases directly within the designer. Any feedback is highly appreciated.
+
 #### Lua support
 
 Thanks to the contribution from [Maikel Steneker](https://github.com/maikelsteneker), and built on top of the ongoing efforts to fully support Antlr-based languages,
@@ -25,7 +31,7 @@ Being based on a proper Antlr grammar, CPD can:
 
 #### Modified Rules
 
-*   The Java rule {% rule "java/errorprone/CloseResource" %} [`java-errorprone`] now ignores by default
+*   The Java rule {% rule "java/errorprone/CloseResource" %} (`java-errorprone`) now ignores by default
     `java.io.ByteArrayInputStream`. Such streams do not need to be closed.
 
 *   The Java rule {% rule "java/errorprone/MissingStaticMethodInNonInstantiatableClass" %} (`java-errorprone`) has now
diff --git a/pom.xml b/pom.xml
index 71fd902efa..4045e6582f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -285,7 +285,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
 
         <pmd.build-tools.version>3</pmd.build-tools.version>
 
-        <pmd-designer.version>6.16.0</pmd-designer.version>
+        <pmd-designer.version>6.17.0</pmd-designer.version>
     </properties>
 
     <build>

From aa55a0108c5d6eccc64bdbd91c7e8f1494d7dfb7 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 27 Jul 2019 10:27:18 +0200
Subject: [PATCH 341/371] [java] CloseResource: ignore java.io.CharArrayWriter
 by default

Refs #1928
---
 docs/pages/release_notes.md                   |  4 ++--
 .../rule/errorprone/CloseResourceRule.java    |  3 ++-
 .../rule/errorprone/xml/CloseResource.xml     | 24 +++++++++++++++++++
 3 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 78cf620b7c..33624df787 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -31,8 +31,8 @@ Being based on a proper Antlr grammar, CPD can:
 
 #### Modified Rules
 
-*   The Java rule {% rule "java/errorprone/CloseResource" %} (`java-errorprone`) now ignores by default
-    `java.io.ByteArrayInputStream`. Such streams do not need to be closed.
+*   The Java rule {% rule "java/errorprone/CloseResource" %} (`java-errorprone`) ignores now by default
+    `java.io.ByteArrayInputStream` and `java.io.CharArrayWriter`. Such streams/writers do not need to be closed.
 
 *   The Java rule {% rule "java/errorprone/MissingStaticMethodInNonInstantiatableClass" %} (`java-errorprone`) has now
     the new property `annotations`.
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
index a3c9740f56..a9cad8b0ac 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/CloseResourceRule.java
@@ -88,7 +88,8 @@ public class CloseResourceRule extends AbstractJavaRule {
     private static final PropertyDescriptor<List<String>> ALLOWED_RESOURCE_TYPES =
             stringListProperty("allowedResourceTypes")
             .desc("Exact class names that do not need to be closed")
-            .defaultValues("java.io.ByteArrayOutputStream", "java.io.ByteArrayInputStream", "java.io.StringWriter")
+            .defaultValues("java.io.ByteArrayOutputStream", "java.io.ByteArrayInputStream", "java.io.StringWriter",
+                    "java.io.CharArrayWriter")
             .build();
 
 
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
index 5f8c0beccc..008b5521b0 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/CloseResource.xml
@@ -876,6 +876,30 @@ public class CloseResourceWithExceptions {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>CharArrayWriter does not need closing</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+import java.io.Writer;
+import java.io.CharArrayWriter;
+import java.io.IOException;
+
+public class CloseResourceWithExceptions {
+
+    public char[] bar() {
+        /*CharArray*/Writer buffer = new CharArrayWriter();
+        try {
+            buffer.append("foo");
+            return buffer.toCharArray();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        return null;
+    }
+}
+        ]]></code>
+    </test-code>
+
     <test-code>
         <description>A custom StringWriter does need closing</description>
         <expected-problems>1</expected-problems>

From 01c8a271222840053d9e1e28f2717b14c43cf518 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 27 Jul 2019 10:39:39 +0200
Subject: [PATCH 342/371] [doc] Update generated rule documentation

---
 docs/pages/pmd/rules/java/errorprone.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/pages/pmd/rules/java/errorprone.md b/docs/pages/pmd/rules/java/errorprone.md
index 8715d96337..5998b4fab6 100644
--- a/docs/pages/pmd/rules/java/errorprone.md
+++ b/docs/pages/pmd/rules/java/errorprone.md
@@ -1213,7 +1213,7 @@ just remove &quot;AutoCloseable&quot; from the types.
 |closeTargets||Methods which may close this resource|yes. Delimiter is ','.|
 |types|java.lang.AutoCloseable , java.sql.Connection , java.sql.Statement , java.sql.ResultSet|Affected types|yes. Delimiter is ','.|
 |closeAsDefaultTarget|true|Consider 'close' as a target by default|no|
-|allowedResourceTypes|java.io.ByteArrayOutputStream \| java.io.ByteArrayInputStream \| java.io.StringWriter|Exact class names that do not need to be closed|yes. Delimiter is '\|'.|
+|allowedResourceTypes|java.io.ByteArrayOutputStream \| java.io.ByteArrayInputStream \| java.io.StringWriter \| java.io.CharArrayWriter|Exact class names that do not need to be closed|yes. Delimiter is '\|'.|
 
 **Use this rule with the default properties by just referencing it:**
 ``` xml
@@ -1227,7 +1227,7 @@ just remove &quot;AutoCloseable&quot; from the types.
         <property name="closeTargets" value="" />
         <property name="types" value="java.lang.AutoCloseable,java.sql.Connection,java.sql.Statement,java.sql.ResultSet" />
         <property name="closeAsDefaultTarget" value="true" />
-        <property name="allowedResourceTypes" value="java.io.ByteArrayOutputStream|java.io.ByteArrayInputStream|java.io.StringWriter" />
+        <property name="allowedResourceTypes" value="java.io.ByteArrayOutputStream|java.io.ByteArrayInputStream|java.io.StringWriter|java.io.CharArrayWriter" />
     </properties>
 </rule>
 ```

From a8d277a02aba881078742ab2b87dd729fe3f449a Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 28 Jul 2019 10:15:10 +0200
Subject: [PATCH 343/371] Prepare pmd release 6.17.0

---
 docs/_config.yml                     | 2 +-
 docs/pages/next_major_development.md | 4 ++++
 docs/pages/release_notes.md          | 2 --
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/docs/_config.yml b/docs/_config.yml
index e72b65f35a..c428074d93 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -3,7 +3,7 @@ repository: pmd/pmd
 pmd:
     version: 6.17.0
     previous_version: 6.16.0
-    date: ??-July-2019
+    date: 28-July-2019
     release_type: minor
 
 # release types: major, minor, bugfix
diff --git a/docs/pages/next_major_development.md b/docs/pages/next_major_development.md
index d2e0840206..a979294adf 100644
--- a/docs/pages/next_major_development.md
+++ b/docs/pages/next_major_development.md
@@ -73,6 +73,10 @@ the breaking API changes will be performed in 7.0.0.
 an API is tagged as `@Deprecated` or not in the latest minor release. During the development of 7.0.0,
 we may decide to remove some APIs that were not tagged as deprecated, though we'll try to avoid it." %}
 
+#### 6.17.0
+
+No changes.
+
 #### 6.16.0
 
 ##### Deprecated APIs
diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 33624df787..6fbecd3811 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -62,8 +62,6 @@ Being based on a proper Antlr grammar, CPD can:
 *   xml
     *   [#1666](https://github.com/pmd/pmd/issues/1666): \[xml] wrong cdata rule description and examples
 
-### API Changes
-
 ### External Contributions
 
 *   [#1869](https://github.com/pmd/pmd/pull/1869): \[xml] fix #1666 wrong cdata rule description and examples - [Artem](https://github.com/KroArtem)

From 365e1c9e8bcabcc3d799ca444a9d8a258866549e Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 28 Jul 2019 10:24:43 +0200
Subject: [PATCH 344/371] [maven-release-plugin] prepare release
 pmd_releases/6.17.0

---
 pmd-apex-jorje/pom.xml  | 2 +-
 pmd-apex/pom.xml        | 2 +-
 pmd-core/pom.xml        | 2 +-
 pmd-cpp/pom.xml         | 2 +-
 pmd-cs/pom.xml          | 2 +-
 pmd-dart/pom.xml        | 2 +-
 pmd-dist/pom.xml        | 2 +-
 pmd-doc/pom.xml         | 2 +-
 pmd-fortran/pom.xml     | 2 +-
 pmd-go/pom.xml          | 2 +-
 pmd-groovy/pom.xml      | 2 +-
 pmd-java/pom.xml        | 2 +-
 pmd-java8/pom.xml       | 2 +-
 pmd-javascript/pom.xml  | 2 +-
 pmd-jsp/pom.xml         | 2 +-
 pmd-kotlin/pom.xml      | 2 +-
 pmd-lang-test/pom.xml   | 2 +-
 pmd-lua/pom.xml         | 2 +-
 pmd-matlab/pom.xml      | 2 +-
 pmd-objectivec/pom.xml  | 2 +-
 pmd-perl/pom.xml        | 2 +-
 pmd-php/pom.xml         | 2 +-
 pmd-plsql/pom.xml       | 2 +-
 pmd-python/pom.xml      | 2 +-
 pmd-ruby/pom.xml        | 2 +-
 pmd-scala/pom.xml       | 2 +-
 pmd-swift/pom.xml       | 2 +-
 pmd-test/pom.xml        | 2 +-
 pmd-visualforce/pom.xml | 2 +-
 pmd-vm/pom.xml          | 2 +-
 pmd-xml/pom.xml         | 2 +-
 pom.xml                 | 4 ++--
 32 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/pmd-apex-jorje/pom.xml b/pmd-apex-jorje/pom.xml
index fc096ae970..2215a9b09e 100644
--- a/pmd-apex-jorje/pom.xml
+++ b/pmd-apex-jorje/pom.xml
@@ -8,7 +8,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.17.0-SNAPSHOT</version>
+    <version>6.17.0</version>
   </parent>
 
   <properties>
diff --git a/pmd-apex/pom.xml b/pmd-apex/pom.xml
index 3f7204095f..d3276ac3e3 100644
--- a/pmd-apex/pom.xml
+++ b/pmd-apex/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.17.0-SNAPSHOT</version>
+    <version>6.17.0</version>
   </parent>
 
   <properties>
diff --git a/pmd-core/pom.xml b/pmd-core/pom.xml
index e5c36bdd33..db0d54f103 100644
--- a/pmd-core/pom.xml
+++ b/pmd-core/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-cpp/pom.xml b/pmd-cpp/pom.xml
index 1c544d5fd3..881088367d 100644
--- a/pmd-cpp/pom.xml
+++ b/pmd-cpp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-cs/pom.xml b/pmd-cs/pom.xml
index c158bb1cf6..2860fb9fcd 100644
--- a/pmd-cs/pom.xml
+++ b/pmd-cs/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-dart/pom.xml b/pmd-dart/pom.xml
index 9e3967ee4c..f82af30a19 100644
--- a/pmd-dart/pom.xml
+++ b/pmd-dart/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-dist/pom.xml b/pmd-dist/pom.xml
index 5538c8e402..9cc87433c2 100644
--- a/pmd-dist/pom.xml
+++ b/pmd-dist/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-doc/pom.xml b/pmd-doc/pom.xml
index eb26c4c980..14fc649b4b 100644
--- a/pmd-doc/pom.xml
+++ b/pmd-doc/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-fortran/pom.xml b/pmd-fortran/pom.xml
index d180c4bbed..2cbbe08807 100644
--- a/pmd-fortran/pom.xml
+++ b/pmd-fortran/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-go/pom.xml b/pmd-go/pom.xml
index 5b2f85b429..277f00c79b 100644
--- a/pmd-go/pom.xml
+++ b/pmd-go/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-groovy/pom.xml b/pmd-groovy/pom.xml
index 26cbc9832a..29a7aff926 100644
--- a/pmd-groovy/pom.xml
+++ b/pmd-groovy/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-java/pom.xml b/pmd-java/pom.xml
index 2213df1538..a7fc6ca904 100644
--- a/pmd-java/pom.xml
+++ b/pmd-java/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-java8/pom.xml b/pmd-java8/pom.xml
index ca34c630b8..7c6c4d4d87 100644
--- a/pmd-java8/pom.xml
+++ b/pmd-java8/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-javascript/pom.xml b/pmd-javascript/pom.xml
index ab05feefe0..7e32369898 100644
--- a/pmd-javascript/pom.xml
+++ b/pmd-javascript/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-jsp/pom.xml b/pmd-jsp/pom.xml
index 1f4fe8dc29..1961fe3cea 100644
--- a/pmd-jsp/pom.xml
+++ b/pmd-jsp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-kotlin/pom.xml b/pmd-kotlin/pom.xml
index db9b4710f7..725148b0d8 100644
--- a/pmd-kotlin/pom.xml
+++ b/pmd-kotlin/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-lang-test/pom.xml b/pmd-lang-test/pom.xml
index 993bacd4b3..d3e9a3d56e 100644
--- a/pmd-lang-test/pom.xml
+++ b/pmd-lang-test/pom.xml
@@ -12,7 +12,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-lua/pom.xml b/pmd-lua/pom.xml
index a67b0556e5..c0e3475992 100644
--- a/pmd-lua/pom.xml
+++ b/pmd-lua/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-matlab/pom.xml b/pmd-matlab/pom.xml
index b2167a5daf..6a7ac31771 100644
--- a/pmd-matlab/pom.xml
+++ b/pmd-matlab/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-objectivec/pom.xml b/pmd-objectivec/pom.xml
index d3da39e300..86d79a5793 100644
--- a/pmd-objectivec/pom.xml
+++ b/pmd-objectivec/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-perl/pom.xml b/pmd-perl/pom.xml
index 9f6c8dcc38..cfeddcd946 100644
--- a/pmd-perl/pom.xml
+++ b/pmd-perl/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-php/pom.xml b/pmd-php/pom.xml
index 2b5e989163..974e51042f 100644
--- a/pmd-php/pom.xml
+++ b/pmd-php/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-plsql/pom.xml b/pmd-plsql/pom.xml
index f6f82b1dce..693519779f 100644
--- a/pmd-plsql/pom.xml
+++ b/pmd-plsql/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-python/pom.xml b/pmd-python/pom.xml
index 09f8a3de02..c7e5908b93 100644
--- a/pmd-python/pom.xml
+++ b/pmd-python/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-ruby/pom.xml b/pmd-ruby/pom.xml
index 72b40cb720..a93530c851 100644
--- a/pmd-ruby/pom.xml
+++ b/pmd-ruby/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-scala/pom.xml b/pmd-scala/pom.xml
index d5eff767b3..36e897a948 100644
--- a/pmd-scala/pom.xml
+++ b/pmd-scala/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <properties>
diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml
index 3be97f4d3b..a7d2fd39b4 100644
--- a/pmd-swift/pom.xml
+++ b/pmd-swift/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-test/pom.xml b/pmd-test/pom.xml
index 0bf33fe77a..4fb36871f9 100644
--- a/pmd-test/pom.xml
+++ b/pmd-test/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-visualforce/pom.xml b/pmd-visualforce/pom.xml
index ff9e531d6d..e5a5f84a26 100644
--- a/pmd-visualforce/pom.xml
+++ b/pmd-visualforce/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-vm/pom.xml b/pmd-vm/pom.xml
index 72407cf8c5..05d1c42e07 100644
--- a/pmd-vm/pom.xml
+++ b/pmd-vm/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pmd-xml/pom.xml b/pmd-xml/pom.xml
index 2ec3dc6ecd..b6b4600055 100644
--- a/pmd-xml/pom.xml
+++ b/pmd-xml/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0-SNAPSHOT</version>
+        <version>6.17.0</version>
     </parent>
 
     <build>
diff --git a/pom.xml b/pom.xml
index 4045e6582f..c344a81a25 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.17.0-SNAPSHOT</version>
+    <version>6.17.0</version>
     <packaging>pom</packaging>
     <name>PMD</name>
 
@@ -234,7 +234,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
         <connection>scm:git:git://github.com/pmd/pmd.git</connection>
         <developerConnection>scm:git:ssh://git@github.com/pmd/pmd.git</developerConnection>
         <url>https://github.com/pmd/pmd</url>
-        <tag>HEAD</tag>
+        <tag>pmd_releases/6.17.0</tag>
     </scm>
     <distributionManagement>
         <snapshotRepository>

From 7a7971f64d7f9c36af6813e27997536e20d944e4 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 28 Jul 2019 10:24:51 +0200
Subject: [PATCH 345/371] [maven-release-plugin] prepare for next development
 iteration

---
 pmd-apex-jorje/pom.xml  | 2 +-
 pmd-apex/pom.xml        | 2 +-
 pmd-core/pom.xml        | 2 +-
 pmd-cpp/pom.xml         | 2 +-
 pmd-cs/pom.xml          | 2 +-
 pmd-dart/pom.xml        | 2 +-
 pmd-dist/pom.xml        | 2 +-
 pmd-doc/pom.xml         | 2 +-
 pmd-fortran/pom.xml     | 2 +-
 pmd-go/pom.xml          | 2 +-
 pmd-groovy/pom.xml      | 2 +-
 pmd-java/pom.xml        | 2 +-
 pmd-java8/pom.xml       | 2 +-
 pmd-javascript/pom.xml  | 2 +-
 pmd-jsp/pom.xml         | 2 +-
 pmd-kotlin/pom.xml      | 2 +-
 pmd-lang-test/pom.xml   | 2 +-
 pmd-lua/pom.xml         | 2 +-
 pmd-matlab/pom.xml      | 2 +-
 pmd-objectivec/pom.xml  | 2 +-
 pmd-perl/pom.xml        | 2 +-
 pmd-php/pom.xml         | 2 +-
 pmd-plsql/pom.xml       | 2 +-
 pmd-python/pom.xml      | 2 +-
 pmd-ruby/pom.xml        | 2 +-
 pmd-scala/pom.xml       | 2 +-
 pmd-swift/pom.xml       | 2 +-
 pmd-test/pom.xml        | 2 +-
 pmd-visualforce/pom.xml | 2 +-
 pmd-vm/pom.xml          | 2 +-
 pmd-xml/pom.xml         | 2 +-
 pom.xml                 | 4 ++--
 32 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/pmd-apex-jorje/pom.xml b/pmd-apex-jorje/pom.xml
index 2215a9b09e..926f343aca 100644
--- a/pmd-apex-jorje/pom.xml
+++ b/pmd-apex-jorje/pom.xml
@@ -8,7 +8,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.17.0</version>
+    <version>6.18.0-SNAPSHOT</version>
   </parent>
 
   <properties>
diff --git a/pmd-apex/pom.xml b/pmd-apex/pom.xml
index d3276ac3e3..e93f196b8f 100644
--- a/pmd-apex/pom.xml
+++ b/pmd-apex/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.17.0</version>
+    <version>6.18.0-SNAPSHOT</version>
   </parent>
 
   <properties>
diff --git a/pmd-core/pom.xml b/pmd-core/pom.xml
index db0d54f103..68c9df4625 100644
--- a/pmd-core/pom.xml
+++ b/pmd-core/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-cpp/pom.xml b/pmd-cpp/pom.xml
index 881088367d..1470e1a698 100644
--- a/pmd-cpp/pom.xml
+++ b/pmd-cpp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-cs/pom.xml b/pmd-cs/pom.xml
index 2860fb9fcd..aeb904f919 100644
--- a/pmd-cs/pom.xml
+++ b/pmd-cs/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-dart/pom.xml b/pmd-dart/pom.xml
index f82af30a19..5b9c96f0e7 100644
--- a/pmd-dart/pom.xml
+++ b/pmd-dart/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-dist/pom.xml b/pmd-dist/pom.xml
index 9cc87433c2..15e1d74bfa 100644
--- a/pmd-dist/pom.xml
+++ b/pmd-dist/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-doc/pom.xml b/pmd-doc/pom.xml
index 14fc649b4b..2a351f112e 100644
--- a/pmd-doc/pom.xml
+++ b/pmd-doc/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-fortran/pom.xml b/pmd-fortran/pom.xml
index 2cbbe08807..151c1b61ac 100644
--- a/pmd-fortran/pom.xml
+++ b/pmd-fortran/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-go/pom.xml b/pmd-go/pom.xml
index 277f00c79b..9c9c0316be 100644
--- a/pmd-go/pom.xml
+++ b/pmd-go/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-groovy/pom.xml b/pmd-groovy/pom.xml
index 29a7aff926..ce66110735 100644
--- a/pmd-groovy/pom.xml
+++ b/pmd-groovy/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-java/pom.xml b/pmd-java/pom.xml
index a7fc6ca904..2479508fbc 100644
--- a/pmd-java/pom.xml
+++ b/pmd-java/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-java8/pom.xml b/pmd-java8/pom.xml
index 7c6c4d4d87..1cc7adb758 100644
--- a/pmd-java8/pom.xml
+++ b/pmd-java8/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-javascript/pom.xml b/pmd-javascript/pom.xml
index 7e32369898..3e8893f007 100644
--- a/pmd-javascript/pom.xml
+++ b/pmd-javascript/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-jsp/pom.xml b/pmd-jsp/pom.xml
index 1961fe3cea..c5088a0b8a 100644
--- a/pmd-jsp/pom.xml
+++ b/pmd-jsp/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-kotlin/pom.xml b/pmd-kotlin/pom.xml
index 725148b0d8..a29eba4f87 100644
--- a/pmd-kotlin/pom.xml
+++ b/pmd-kotlin/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-lang-test/pom.xml b/pmd-lang-test/pom.xml
index d3e9a3d56e..c1a03ab2c7 100644
--- a/pmd-lang-test/pom.xml
+++ b/pmd-lang-test/pom.xml
@@ -12,7 +12,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-lua/pom.xml b/pmd-lua/pom.xml
index c0e3475992..d5d31e9a77 100644
--- a/pmd-lua/pom.xml
+++ b/pmd-lua/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-matlab/pom.xml b/pmd-matlab/pom.xml
index 6a7ac31771..2b2caf0b61 100644
--- a/pmd-matlab/pom.xml
+++ b/pmd-matlab/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-objectivec/pom.xml b/pmd-objectivec/pom.xml
index 86d79a5793..0355d93afa 100644
--- a/pmd-objectivec/pom.xml
+++ b/pmd-objectivec/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-perl/pom.xml b/pmd-perl/pom.xml
index cfeddcd946..5918ef27c6 100644
--- a/pmd-perl/pom.xml
+++ b/pmd-perl/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-php/pom.xml b/pmd-php/pom.xml
index 974e51042f..46596427b8 100644
--- a/pmd-php/pom.xml
+++ b/pmd-php/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-plsql/pom.xml b/pmd-plsql/pom.xml
index 693519779f..9f6ded833c 100644
--- a/pmd-plsql/pom.xml
+++ b/pmd-plsql/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-python/pom.xml b/pmd-python/pom.xml
index c7e5908b93..066e1c1ac5 100644
--- a/pmd-python/pom.xml
+++ b/pmd-python/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-ruby/pom.xml b/pmd-ruby/pom.xml
index a93530c851..40c08285dd 100644
--- a/pmd-ruby/pom.xml
+++ b/pmd-ruby/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-scala/pom.xml b/pmd-scala/pom.xml
index 36e897a948..5b647f0191 100644
--- a/pmd-scala/pom.xml
+++ b/pmd-scala/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <properties>
diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml
index a7d2fd39b4..5d85201840 100644
--- a/pmd-swift/pom.xml
+++ b/pmd-swift/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-test/pom.xml b/pmd-test/pom.xml
index 4fb36871f9..5118662809 100644
--- a/pmd-test/pom.xml
+++ b/pmd-test/pom.xml
@@ -8,7 +8,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <dependencies>
diff --git a/pmd-visualforce/pom.xml b/pmd-visualforce/pom.xml
index e5a5f84a26..a87ccb0b6b 100644
--- a/pmd-visualforce/pom.xml
+++ b/pmd-visualforce/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-vm/pom.xml b/pmd-vm/pom.xml
index 05d1c42e07..c09cd94bd8 100644
--- a/pmd-vm/pom.xml
+++ b/pmd-vm/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pmd-xml/pom.xml b/pmd-xml/pom.xml
index b6b4600055..b4d4d1a887 100644
--- a/pmd-xml/pom.xml
+++ b/pmd-xml/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.17.0</version>
+        <version>6.18.0-SNAPSHOT</version>
     </parent>
 
     <build>
diff --git a/pom.xml b/pom.xml
index c344a81a25..7ec756ec8e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>net.sourceforge.pmd</groupId>
     <artifactId>pmd</artifactId>
-    <version>6.17.0</version>
+    <version>6.18.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>PMD</name>
 
@@ -234,7 +234,7 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
         <connection>scm:git:git://github.com/pmd/pmd.git</connection>
         <developerConnection>scm:git:ssh://git@github.com/pmd/pmd.git</developerConnection>
         <url>https://github.com/pmd/pmd</url>
-        <tag>pmd_releases/6.17.0</tag>
+        <tag>HEAD</tag>
     </scm>
     <distributionManagement>
         <snapshotRepository>

From a651514e567145dc48643a0f5a7351ce5ed5b2d4 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 28 Jul 2019 10:28:43 +0200
Subject: [PATCH 346/371] Prepare next development version

---
 docs/_config.yml                |  6 +--
 docs/pages/release_notes.md     | 53 +----------------------
 docs/pages/release_notes_old.md | 74 +++++++++++++++++++++++++++++++++
 3 files changed, 78 insertions(+), 55 deletions(-)

diff --git a/docs/_config.yml b/docs/_config.yml
index c428074d93..ff47ffbc19 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1,9 +1,9 @@
 repository: pmd/pmd
 
 pmd:
-    version: 6.17.0
-    previous_version: 6.16.0
-    date: 28-July-2019
+    version: 6.18.0
+    previous_version: 6.17.0
+    date: ??-August-2019
     release_type: minor
 
 # release types: major, minor, bugfix
diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 6fbecd3811..b8f8783555 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,62 +14,11 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
-#### Updated PMD Designer
-
-This PMD release ships a new version of the pmd-designer.
-For the changes, see [PMD Designer Changelog](https://github.com/pmd/pmd-designer/releases/tag/6.17.0).
-It contains a new feature to edit test cases directly within the designer. Any feedback is highly appreciated.
-
-#### Lua support
-
-Thanks to the contribution from [Maikel Steneker](https://github.com/maikelsteneker), and built on top of the ongoing efforts to fully support Antlr-based languages,
-PMD now has CPD support for [Lua](https://www.lua.org/).
-
-Being based on a proper Antlr grammar, CPD can:
-*   ignore comments
-*   honor [comment-based suppressions](pmd_userdocs_cpd.html#suppression)
-
-#### Modified Rules
-
-*   The Java rule {% rule "java/errorprone/CloseResource" %} (`java-errorprone`) ignores now by default
-    `java.io.ByteArrayInputStream` and `java.io.CharArrayWriter`. Such streams/writers do not need to be closed.
-
-*   The Java rule {% rule "java/errorprone/MissingStaticMethodInNonInstantiatableClass" %} (`java-errorprone`) has now
-    the new property `annotations`.
-    When one of the private constructors is annotated with one of the annotations, then the class is not considered
-    non-instantiatable anymore and no violation will be reported. By default, Spring's `@Autowired` and
-    Java EE's `@Inject` annotations are recognized.
-
 ### Fixed Issues
 
-*   core
-    *   [#1913](https://github.com/pmd/pmd/issues/1913): \[core] "-help" CLI option ends with status code != 0
-*   doc
-    *   [#1896](https://github.com/pmd/pmd/issues/1896): \[doc] Error in changelog 6.16.0 due to not properly closed rule tag
-    *   [#1898](https://github.com/pmd/pmd/issues/1898): \[doc] Incorrect code example for DoubleBraceInitialization in documentation on website
-    *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
-    *   [#1909](https://github.com/pmd/pmd/issues/1909): \[doc] Sample usage example refers to deprecated ruleset "basic.xml" instead of "quickstart.xml"
-*   java
-    *   [#1910](https://github.com/pmd/pmd/issues/1910): \[java] ATFD calculation problem
-*   java-errorprone
-    *   [#1749](https://github.com/pmd/pmd/issues/1749): \[java] DD False Positive in DataflowAnomalyAnalysis
-    *   [#1832](https://github.com/pmd/pmd/issues/1832): \[java] False positives for MissingStaticMethodInNonInstantiatableClass when DI is used
-    *   [#1921](https://github.com/pmd/pmd/issues/1921): \[java] CloseResource false positive with ByteArrayInputStream
-*   java-multithreading
-    *   [#1903](https://github.com/pmd/pmd/issues/1903): \[java] UnsynchronizedStaticFormatter doesn't allow block-level synchronization when using allowMethodLevelSynchronization=true
-*   plsql
-    *   [#1902](https://github.com/pmd/pmd/issues/1902): \[pslql] ParseException when parsing (+)
-*   xml
-    *   [#1666](https://github.com/pmd/pmd/issues/1666): \[xml] wrong cdata rule description and examples
+### API Changes
 
 ### External Contributions
 
-*   [#1869](https://github.com/pmd/pmd/pull/1869): \[xml] fix #1666 wrong cdata rule description and examples - [Artem](https://github.com/KroArtem)
-*   [#1892](https://github.com/pmd/pmd/pull/1892): \[lua] \[cpd] Added CPD support for Lua - [Maikel Steneker](https://github.com/maikelsteneker)
-*   [#1905](https://github.com/pmd/pmd/pull/1905): \[java] DataflowAnomalyAnalysis Rule in right order - [YoonhoChoi96](https://github.com/YoonhoChoi96)
-*   [#1908](https://github.com/pmd/pmd/pull/1908): \[doc] Update ruleset filename from deprecated basic.xml to quickstart.xml - [crunsk](https://github.com/crunsk)
-*   [#1916](https://github.com/pmd/pmd/pull/1916): \[java] Exclude Autowired and Inject for MissingStaticMethodInNonInstantiatableClass - [AnthonyKot](https://github.com/AnthonyKot)
-*   [#1917](https://github.com/pmd/pmd/pull/1917): \[core] Add 'no error' return option, and assign it to the cli when the help command is invoked - [Renato Oliveira](https://github.com/renatoliveira)
-
 {% endtocmaker %}
 
diff --git a/docs/pages/release_notes_old.md b/docs/pages/release_notes_old.md
index 477d4a430d..2a8f8b20ac 100644
--- a/docs/pages/release_notes_old.md
+++ b/docs/pages/release_notes_old.md
@@ -5,6 +5,80 @@ permalink: pmd_release_notes_old.html
 
 Previous versions of PMD can be downloaded here: https://github.com/pmd/pmd/releases
 
+## 28-July-2019 - 6.17.0
+
+The PMD team is pleased to announce PMD 6.17.0.
+
+This is a minor release.
+
+### Table Of Contents
+
+* [New and noteworthy](#new-and-noteworthy)
+    * [Updated PMD Designer](#updated-pmd-designer)
+    * [Lua support](#lua-support)
+    * [Modified Rules](#modified-rules)
+* [Fixed Issues](#fixed-issues)
+* [External Contributions](#external-contributions)
+
+### New and noteworthy
+
+#### Updated PMD Designer
+
+This PMD release ships a new version of the pmd-designer.
+For the changes, see [PMD Designer Changelog](https://github.com/pmd/pmd-designer/releases/tag/6.17.0).
+It contains a new feature to edit test cases directly within the designer. Any feedback is highly appreciated.
+
+#### Lua support
+
+Thanks to the contribution from [Maikel Steneker](https://github.com/maikelsteneker), and built on top of the ongoing efforts to fully support Antlr-based languages,
+PMD now has CPD support for [Lua](https://www.lua.org/).
+
+Being based on a proper Antlr grammar, CPD can:
+*   ignore comments
+*   honor [comment-based suppressions](pmd_userdocs_cpd.html#suppression)
+
+#### Modified Rules
+
+*   The Java rule [`CloseResource`](https://pmd.github.io/pmd-6.17.0/pmd_rules_java_errorprone.html#closeresource) (`java-errorprone`) ignores now by default
+    `java.io.ByteArrayInputStream` and `java.io.CharArrayWriter`. Such streams/writers do not need to be closed.
+
+*   The Java rule [`MissingStaticMethodInNonInstantiatableClass`](https://pmd.github.io/pmd-6.17.0/pmd_rules_java_errorprone.html#missingstaticmethodinnoninstantiatableclass) (`java-errorprone`) has now
+    the new property `annotations`.
+    When one of the private constructors is annotated with one of the annotations, then the class is not considered
+    non-instantiatable anymore and no violation will be reported. By default, Spring's `@Autowired` and
+    Java EE's `@Inject` annotations are recognized.
+
+### Fixed Issues
+
+*   core
+    *   [#1913](https://github.com/pmd/pmd/issues/1913): \[core] "-help" CLI option ends with status code != 0
+*   doc
+    *   [#1896](https://github.com/pmd/pmd/issues/1896): \[doc] Error in changelog 6.16.0 due to not properly closed rule tag
+    *   [#1898](https://github.com/pmd/pmd/issues/1898): \[doc] Incorrect code example for DoubleBraceInitialization in documentation on website
+    *   [#1906](https://github.com/pmd/pmd/issues/1906): \[doc] Broken link for adding own CPD languages
+    *   [#1909](https://github.com/pmd/pmd/issues/1909): \[doc] Sample usage example refers to deprecated ruleset "basic.xml" instead of "quickstart.xml"
+*   java
+    *   [#1910](https://github.com/pmd/pmd/issues/1910): \[java] ATFD calculation problem
+*   java-errorprone
+    *   [#1749](https://github.com/pmd/pmd/issues/1749): \[java] DD False Positive in DataflowAnomalyAnalysis
+    *   [#1832](https://github.com/pmd/pmd/issues/1832): \[java] False positives for MissingStaticMethodInNonInstantiatableClass when DI is used
+    *   [#1921](https://github.com/pmd/pmd/issues/1921): \[java] CloseResource false positive with ByteArrayInputStream
+*   java-multithreading
+    *   [#1903](https://github.com/pmd/pmd/issues/1903): \[java] UnsynchronizedStaticFormatter doesn't allow block-level synchronization when using allowMethodLevelSynchronization=true
+*   plsql
+    *   [#1902](https://github.com/pmd/pmd/issues/1902): \[pslql] ParseException when parsing (+)
+*   xml
+    *   [#1666](https://github.com/pmd/pmd/issues/1666): \[xml] wrong cdata rule description and examples
+
+### External Contributions
+
+*   [#1869](https://github.com/pmd/pmd/pull/1869): \[xml] fix #1666 wrong cdata rule description and examples - [Artem](https://github.com/KroArtem)
+*   [#1892](https://github.com/pmd/pmd/pull/1892): \[lua] \[cpd] Added CPD support for Lua - [Maikel Steneker](https://github.com/maikelsteneker)
+*   [#1905](https://github.com/pmd/pmd/pull/1905): \[java] DataflowAnomalyAnalysis Rule in right order - [YoonhoChoi96](https://github.com/YoonhoChoi96)
+*   [#1908](https://github.com/pmd/pmd/pull/1908): \[doc] Update ruleset filename from deprecated basic.xml to quickstart.xml - [crunsk](https://github.com/crunsk)
+*   [#1916](https://github.com/pmd/pmd/pull/1916): \[java] Exclude Autowired and Inject for MissingStaticMethodInNonInstantiatableClass - [AnthonyKot](https://github.com/AnthonyKot)
+*   [#1917](https://github.com/pmd/pmd/pull/1917): \[core] Add 'no error' return option, and assign it to the cli when the help command is invoked - [Renato Oliveira](https://github.com/renatoliveira)
+
 ## 30-June-2019 - 6.16.0
 
 The PMD team is pleased to announce PMD 6.16.0.

From 295759456dacef3b3a3f9e5510f035b56d827f65 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 28 Jul 2019 18:35:12 +0200
Subject: [PATCH 347/371] [java] Deprecate ASTImportDeclaration#getPackage(),
 refs #1888

---
 docs/pages/release_notes.md                                | 7 +++++++
 .../pmd/lang/java/ast/ASTImportDeclaration.java            | 5 +++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index b8f8783555..5f63319150 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -18,6 +18,13 @@ This is a {{ site.pmd.release_type }} release.
 
 ### API Changes
 
+#### Deprecated APIs
+
+##### For removal
+
+*   The method {% jdoc java::ast.ASTImportDeclaration#getPackage() %} has been deprecated and
+    will be removed with PMD 7.0.0.
+
 ### External Contributions
 
 {% endtocmaker %}
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
index e75f57f64f..8e1dc8cd55 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
@@ -153,9 +153,10 @@ public class ASTImportDeclaration extends AbstractJavaTypeNode {
      * type or method imported by this declaration. This may be null if the
      * auxclasspath is not correctly set, as this method depends on correct
      * type resolution.
+     *
+     * @deprecated this will be removed with PMD 7.0.0
      */
-    // TODO deprecate? This is only used in a test. I don't think it's really
-    // useful and it gives work to ClassTypeResolver.
+    @Deprecated
     public Package getPackage() {
         return this.pkg;
     }

From d1a5cb36eb21326accf61aef0b2113ebbc5d650a Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 28 Jul 2019 18:36:35 +0200
Subject: [PATCH 348/371] Fix build

---
 pmd-lua/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pmd-lua/pom.xml b/pmd-lua/pom.xml
index d5d31e9a77..88a46ec574 100644
--- a/pmd-lua/pom.xml
+++ b/pmd-lua/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>net.sourceforge.pmd</groupId>
         <artifactId>pmd</artifactId>
-        <version>6.18.0-SNAPSHOT</version>
+        <version>7.0.0-SNAPSHOT</version>
     </parent>
 
     <build>

From d935db0a6d293532c4beb684bb7abc8715c589e1 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Mon, 29 Jul 2019 19:50:26 +0200
Subject: [PATCH 349/371] Cleanup developers list in pom.xml. The contributors
 can easily be retrieved at https://github.com/pmd/pmd/graphs/contributors

---
 pom.xml | 199 +++-----------------------------------------------------
 1 file changed, 10 insertions(+), 189 deletions(-)

diff --git a/pom.xml b/pom.xml
index 7ec756ec8e..8fb1bbbbdc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,9 +8,13 @@
     <name>PMD</name>
 
     <description>
-PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. It supports Java, JavaScript, Salesforce.com Apex, PLSQL, Salesforce.com Visualforce, Apache Velocity, XML, XSL.
+PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks,
+unnecessary object creation, and so forth. It supports Java, JavaScript, Salesforce.com Apex, PLSQL,
+Salesforce.com Visualforce, Apache Velocity, XML, XSL.
 
-Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code in Java, C, C++, C#, Groovy, PHP, Ruby, Fortran, JavaScript, PLSQL, Apache Velocity, Scala, Objective C, Matlab, Python, Go, Swift and Salesforce.com Apex.
+Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code in Java, C, C++, C#,
+Groovy, PHP, Ruby, Fortran, JavaScript, PLSQL, Apache Velocity, Scala, Objective C, Matlab, Python,
+Go, Swift and Salesforce.com Apex.
     </description>
 
     <url>https://pmd.github.io/</url>
@@ -41,193 +45,10 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
     </mailingLists>
     <developers>
         <developer>
-            <id>tomcopeland</id>
-            <name>Tom Copeland</name>
-            <email>tom@infoether.com</email>
-            <organization>InfoEther</organization>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>dpeugh</id>
-            <name>David Dixon-Peugh</name>
-            <email>ddp@apache.org</email>
-            <organization>Lockheed Martin Corporation</organization>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>olemartin</id>
-            <name>Ole-Martin Mork</name>
-            <email>olemartin@users.sourceforge.net</email>
-            <organization>Bekk Consulting</organization>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>mikkey</id>
-            <name>Miguel Griffa</name>
-            <email>mikkey@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>phherlin</id>
-            <name>Philippe Herlin</name>
-            <email>phherlin@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>jigerjava</id>
-            <name>Jiger Patel</name>
-            <email>jigerjava@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>kubacki</id>
-            <name>Radim Kubacki</name>
-            <email>kubacki@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>tomslot</id>
-            <name>Tomasz Slota</name>
-            <email>tomslot@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>ezust</id>
-            <name>Alan Ezust</name>
-            <email>ezust@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>nascif</id>
-            <name>Nascif Abousalh Neto</name>
-            <email>nascif@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>allancaplan</id>
-            <name>Allan Caplan</name>
-            <email>allancaplan@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>holobender</id>
-            <name>Sven Jacob</name>
-            <email>holobender@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>wfzelle</id>
-            <name>Wouter Zelle</name>
-            <email>wfzelle@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>hooperbloob</id>
-            <name>Brian Remedios</name>
-            <email>hooperbloob@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>xlv</id>
-            <name>Xavier Le Vourch</name>
-            <email>xlv@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>rgustav</id>
-            <name>Ryan Gustafson</name>
-            <email>rgustav@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>bluejohn</id>
-            <name>Johan Nagels</name>
-            <email>bluejohn@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>tkleiber</id>
-            <name>Torsten Kleiber</name>
-            <url>http://develishdevelopment.wordpress.com</url>
-            <email>tkleiber@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>rpelisse</id>
-            <name>Romain Pelisse</name>
-            <email>rpelisse@users.sourceforge.net</email>
-            <url>http://belaran.eu/</url>
-            <organization>Atos Origin</organization>
-            <organizationUrl>https://osc-service.si.fr.atosorigin.com/</organizationUrl>
-            <roles>
-                <role>Developer</role>
-            </roles>
-            <timezone>+1</timezone>
-            <properties>
-                <picUrl>http://belaran.eu/wordpress/wp-content/uploads/2008/05/RomainPELISSE.jpg</picUrl>
-            </properties>
-        </developer>
-        <developer>
-            <id>adangel</id>
-            <name>Andreas Dangel</name>
-            <email>adangel@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-            <timezone>+1</timezone>
-        </developer>
-        <developer>
-            <id>acanda</id>
-            <name>Philip Graf</name>
-            <email>acanda@users.sourceforge.net</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>jsotuyod</id>
-            <name>Juan Martín Sotuyo Dodero</name>
-            <email>juansotuyo@gmail.com</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-            <timezone>-3</timezone>
+            <id>github</id>
+            <name>github contributors</name>
+            <organization>github</organization>
+            <organizationUrl>https://github.com/pmd/pmd/graphs/contributors</organizationUrl>
         </developer>
     </developers>
     <scm>

From fd3eac3c9dc69672dce15d4392a781bba102ff58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 30 Jul 2019 16:28:16 +0200
Subject: [PATCH 350/371] Fix #1951 - false positive for UnnecessaryFQCN

---
 .../pmd/lang/java/ast/TypeNode.java           |  2 +-
 .../UnnecessaryFullyQualifiedNameRule.java    | 49 ++++++++++--
 .../xml/UnnecessaryFullyQualifiedName.xml     | 75 +++++++++++++++++++
 3 files changed, 118 insertions(+), 8 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java
index a614dfe947..b4fc69d091 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java
@@ -11,7 +11,7 @@ import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefin
 /**
  * This interface allows a Java Class to be associated with a node.
  */
-public interface TypeNode extends Node {
+public interface TypeNode extends JavaNode {
 
     /**
      * Get the Java Class associated with this node.
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java
index 9353548a71..b7ad4e8b6b 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java
@@ -7,6 +7,7 @@ package net.sourceforge.pmd.lang.java.rule.codestyle;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map.Entry;
 import java.util.Objects;
 import java.util.Set;
 
@@ -20,10 +21,13 @@ import net.sourceforge.pmd.lang.java.ast.ASTPackageDeclaration;
 import net.sourceforge.pmd.lang.java.ast.ASTPrimaryExpression;
 import net.sourceforge.pmd.lang.java.ast.ASTPrimaryPrefix;
 import net.sourceforge.pmd.lang.java.ast.ASTPrimarySuffix;
-import net.sourceforge.pmd.lang.java.ast.AbstractJavaTypeNode;
 import net.sourceforge.pmd.lang.java.ast.JavaNode;
+import net.sourceforge.pmd.lang.java.ast.TypeNode;
 import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
 import net.sourceforge.pmd.lang.java.symboltable.SourceFileScope;
+import net.sourceforge.pmd.lang.java.symboltable.VariableNameDeclaration;
+import net.sourceforge.pmd.lang.symboltable.NameOccurrence;
+import net.sourceforge.pmd.lang.symboltable.Scope;
 
 public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule {
 
@@ -102,8 +106,16 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule {
         return false;
     }
 
-    private void checkImports(AbstractJavaTypeNode node, Object data) {
+    private void checkImports(TypeNode node, Object data) {
         String name = node.getImage();
+
+        // variable names shadow everything else
+        // If the first segment is a variable, then all
+        // the following are field accesses and it's not an FQCN
+        if (isVariable(node)) {
+            return;
+        }
+
         List<ASTImportDeclaration> matches = new ArrayList<>();
 
         // Find all "matching" import declarations
@@ -211,12 +223,35 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule {
         return result;
     }
 
-    private boolean isSamePackage(AbstractJavaTypeNode node) {
+    private boolean isVariable(TypeNode node) {
+        String name = node.getImage();
+        String firstSegment = name.substring(0, name.indexOf('.'));
+
+        return isVariableInScope(node.getScope(), firstSegment);
+    }
+
+    private boolean isVariableInScope(Scope scope, String name) {
+
+        while (scope != null) {
+
+            for (Entry<VariableNameDeclaration, List<NameOccurrence>> entry : scope.getDeclarations(VariableNameDeclaration.class).entrySet()) {
+                if (entry.getKey().getName().equals(name)) {
+                    return true;
+                }
+            }
+
+            scope = scope.getParent();
+        }
+
+        return false;
+    }
+
+    private boolean isSamePackage(TypeNode node) {
         String name = node.getImage();
         return name.substring(0, name.lastIndexOf('.')).equals(currentPackage);
     }
-    
-    private boolean isJavaLangImplicit(AbstractJavaTypeNode node) {
+
+    private boolean isJavaLangImplicit(TypeNode node) {
         String name = node.getImage();
         boolean isJavaLang = name != null && name.startsWith("java.lang.");
 
@@ -232,8 +267,8 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule {
         return false;
     }
 
-    private boolean isAvoidingConflict(final AbstractJavaTypeNode node, final String name,
-            final ASTImportDeclaration firstMatch) {
+    private boolean isAvoidingConflict(final TypeNode node, final String name,
+                                       final ASTImportDeclaration firstMatch) {
         // is it a conflict between different imports?
         if (firstMatch.isImportOnDemand() && firstMatch.isStatic()) {
             final String methodCalled = name.substring(name.indexOf('.') + 1);
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml
index 8f3d802135..cf87255b74 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml
@@ -502,4 +502,79 @@ public class SamePackage {
 }
         ]]></code>
     </test-code>
+
+    <test-code>
+        <description>#1951 false positive when package name is shadowed by variable</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+package threads;
+
+public class FQNTest {
+  public static void main(String[] args) {
+    Thread[] threads = new Thread[5];
+    int i = threads.length;
+  }
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>False positive when package name is shadowed by variable (2)</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+package threads;
+
+public class FQNTest {
+  public static void main(String[] args) {
+    Thread[] threads = new Thread[5];
+    // threads is obscured
+    int i = threads.length.foo;
+  }
+}
+
+class length {
+    static int foo;
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>False negative when name refers to static field</description>
+        <expected-problems>1</expected-problems>
+        <code><![CDATA[
+package threads;
+
+public class FQNTest {
+  public static void main(String[] args) {
+    // threads.length is the class
+    int i = threads.length.foo;
+  }
+}
+
+class length {
+    static int foo;
+}
+        ]]></code>
+    </test-code>
+
+    <test-code>
+        <description>False positive when type name is shadowed by variable</description>
+        <expected-problems>0</expected-problems>
+        <code><![CDATA[
+
+public class FQNTest {
+  public static void main(String[] args) {
+    length length = new length();
+    // the type name 'length' is obscured.
+    // 'length' here may only mean the variable
+    int i = length.foo;
+  }
+}
+
+class length {
+    static int foo;
+}
+        ]]></code>
+    </test-code>
+
 </test-data>

From 493e0014b042bf1076244ad7b7c7e91a31f52d42 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 30 Jul 2019 16:38:42 +0200
Subject: [PATCH 351/371] Also fix a false negative

---
 .../UnnecessaryFullyQualifiedNameRule.java    | 30 ++++++++++---------
 .../xml/UnnecessaryFullyQualifiedName.xml     | 10 +++----
 2 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java
index b7ad4e8b6b..fd248a50f9 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java
@@ -107,12 +107,12 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule {
     }
 
     private void checkImports(TypeNode node, Object data) {
-        String name = node.getImage();
+        final String name = node.getImage();
 
         // variable names shadow everything else
         // If the first segment is a variable, then all
         // the following are field accesses and it's not an FQCN
-        if (isVariable(node)) {
+        if (isVariable(node.getScope(), name)) {
             return;
         }
 
@@ -184,7 +184,7 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule {
         if (matches.isEmpty()) {
             if (isJavaLangImplicit(node)) {
                 addViolation(data, node, new Object[] { node.getImage(), "java.lang.*", "implicit "});
-            } else if (isSamePackage(node)) {
+            } else if (isSamePackage(name)) {
                 addViolation(data, node, new Object[] { node.getImage(), currentPackage + ".*", "same package "});
             }
         } else {
@@ -223,19 +223,13 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule {
         return result;
     }
 
-    private boolean isVariable(TypeNode node) {
-        String name = node.getImage();
+    private boolean isVariable(Scope scope, String name) {
         String firstSegment = name.substring(0, name.indexOf('.'));
 
-        return isVariableInScope(node.getScope(), firstSegment);
-    }
-
-    private boolean isVariableInScope(Scope scope, String name) {
-
         while (scope != null) {
 
             for (Entry<VariableNameDeclaration, List<NameOccurrence>> entry : scope.getDeclarations(VariableNameDeclaration.class).entrySet()) {
-                if (entry.getKey().getName().equals(name)) {
+                if (entry.getKey().getName().equals(firstSegment)) {
                     return true;
                 }
             }
@@ -246,9 +240,17 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule {
         return false;
     }
 
-    private boolean isSamePackage(TypeNode node) {
-        String name = node.getImage();
-        return name.substring(0, name.lastIndexOf('.')).equals(currentPackage);
+    private boolean isSamePackage(String name) {
+        int i = name.lastIndexOf('.');
+        while (i > 0) {
+            name = name.substring(0, i);
+            if (name.equals(currentPackage)) {
+                return true;
+            }
+            i = name.lastIndexOf('.');
+        }
+
+        return false;
     }
 
     private boolean isJavaLangImplicit(TypeNode node) {
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml
index cf87255b74..25a35a57dc 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml
@@ -488,7 +488,7 @@ public class TestArrayType {
 }
         ]]></code>
     </test-code>
-    
+
     <test-code>
         <description>#1199 false negative for same package FQCN</description>
         <expected-problems>1</expected-problems>
@@ -504,7 +504,7 @@ public class SamePackage {
     </test-code>
 
     <test-code>
-        <description>#1951 false positive when package name is shadowed by variable</description>
+        <description>#1951 false positive when package name is obscured by variable</description>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 package threads;
@@ -519,7 +519,7 @@ public class FQNTest {
     </test-code>
 
     <test-code>
-        <description>False positive when package name is shadowed by variable (2)</description>
+        <description>False positive when package name is obscured by variable (2)</description>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 package threads;
@@ -527,7 +527,6 @@ package threads;
 public class FQNTest {
   public static void main(String[] args) {
     Thread[] threads = new Thread[5];
-    // threads is obscured
     int i = threads.length.foo;
   }
 }
@@ -558,7 +557,7 @@ class length {
     </test-code>
 
     <test-code>
-        <description>False positive when type name is shadowed by variable</description>
+        <description>False positive when type name is obscured by variable</description>
         <expected-problems>0</expected-problems>
         <code><![CDATA[
 
@@ -566,7 +565,6 @@ public class FQNTest {
   public static void main(String[] args) {
     length length = new length();
     // the type name 'length' is obscured.
-    // 'length' here may only mean the variable
     int i = length.foo;
   }
 }

From 091ce3d40e24327a8008f0e8de3dcd06442f5324 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Tue, 30 Jul 2019 19:30:19 +0200
Subject: [PATCH 352/371] [java] Deprecate
 ASTImportDeclaration#getImportedNameNode() as well

Refs #1888
---
 docs/pages/release_notes.md                                 | 3 ++-
 .../sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java | 6 ++++--
 .../pmd/lang/java/rule/codestyle/DuplicateImportsRule.java  | 6 +++---
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 5f63319150..428bb7bdf1 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -22,7 +22,8 @@ This is a {{ site.pmd.release_type }} release.
 
 ##### For removal
 
-*   The method {% jdoc java::ast.ASTImportDeclaration#getPackage() %} has been deprecated and
+*   The methods {% jdoc java::ast.ASTImportDeclaration#getImportedNameNode() %} and
+    {% jdoc java::ast.ASTImportDeclaration#getPackage() %} have been deprecated and
     will be removed with PMD 7.0.0.
 
 ### External Contributions
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
index 8e1dc8cd55..188288eeb1 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTImportDeclaration.java
@@ -89,8 +89,10 @@ public class ASTImportDeclaration extends AbstractJavaTypeNode {
         return isStatic;
     }
 
-    // TODO - this should go away, but the DuplicateImports rule still uses it
-    // (in a clunky way)
+    /**
+     * @deprecated this will be removed with PMD 7.0.0
+     */
+    @Deprecated
     public ASTName getImportedNameNode() {
         return (ASTName) jjtGetChild(0);
     }
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/DuplicateImportsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/DuplicateImportsRule.java
index 28963d7557..655cd8c600 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/DuplicateImportsRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/DuplicateImportsRule.java
@@ -87,19 +87,19 @@ public class DuplicateImportsRule extends AbstractJavaRule {
     @Override
     public Object visit(ASTImportDeclaration node, Object data) {
         ImportWrapper wrapper = new ImportWrapper(node.getImportedName(), node.getImportedName(),
-                node.getImportedNameNode(), node.isStatic() && node.isImportOnDemand());
+                node, node.isStatic() && node.isImportOnDemand());
 
         // blahhhh... this really wants to be ASTImportDeclaration to be
         // polymorphic...
         if (node.isImportOnDemand()) {
             if (importOnDemandImports.contains(wrapper)) {
-                addViolation(data, node.getImportedNameNode(), node.getImportedNameNode().getImage());
+                addViolation(data, node, node.getImportedName());
             } else {
                 importOnDemandImports.add(wrapper);
             }
         } else {
             if (singleTypeImports.contains(wrapper)) {
-                addViolation(data, node.getImportedNameNode(), node.getImportedNameNode().getImage());
+                addViolation(data, node, node.getImportedName());
             } else {
                 singleTypeImports.add(wrapper);
             }

From 225430953b1b4aaa476295b2c2371a869c09f5e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Tue, 30 Jul 2019 19:43:49 +0200
Subject: [PATCH 353/371] Checkstyle

---
 .../main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java    | 1 -
 1 file changed, 1 deletion(-)

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java
index b4fc69d091..55632f5e36 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/TypeNode.java
@@ -5,7 +5,6 @@
 package net.sourceforge.pmd.lang.java.ast;
 
 import net.sourceforge.pmd.annotation.InternalApi;
-import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.java.typeresolution.typedefinition.JavaTypeDefinition;
 
 /**

From 79b2de8549f1e2260edd06b6767faff967c0b334 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Wed, 31 Jul 2019 17:52:59 +0200
Subject: [PATCH 354/371] Put designer wiki doc on the website

Fix absolute links

Add css for details tag

Add installation doc
---
 docs/_data/sidebars/pmd_sidebar.yml           |   3 +
 docs/_plugins/details_block.rb                |  22 ++
 docs/css/pmd-customstyles.css                 |  32 ++-
 docs/images/designer/bottom-ui.png            | Bin 0 -> 28418 bytes
 docs/images/designer/demo.gif                 | Bin 0 -> 221144 bytes
 docs/images/designer/designer-top.png         | Bin 0 -> 79215 bytes
 docs/images/designer/designer.png             | Bin 0 -> 86884 bytes
 docs/images/designer/empty-tests.png          | Bin 0 -> 13562 bytes
 docs/images/designer/export-example.gif       | Bin 0 -> 185192 bytes
 docs/images/designer/hover-selection.gif      | Bin 0 -> 290234 bytes
 docs/images/designer/parents-bar.gif          | Bin 0 -> 27446 bytes
 docs/images/designer/property-defs.png        | Bin 0 -> 12588 bytes
 docs/images/designer/property-edit.png        | Bin 0 -> 23927 bytes
 docs/images/designer/tests/add-violation.gif  | Bin 0 -> 183286 bytes
 docs/images/designer/tests/all-green.png      | Bin 0 -> 7447 bytes
 docs/images/designer/tests/export.gif         | Bin 0 -> 281571 bytes
 docs/images/designer/tests/failing.png        | Bin 0 -> 7689 bytes
 docs/images/designer/tests/import.gif         | Bin 0 -> 251411 bytes
 docs/images/designer/tests/load.gif           | Bin 0 -> 87311 bytes
 docs/images/designer/tests/property.gif       | Bin 0 -> 164420 bytes
 docs/images/designer/tests/toolbar.png        | Bin 0 -> 10841 bytes
 docs/images/designer/usages.gif               | Bin 0 -> 72909 bytes
 .../userdocs/extending/designer_reference.md  | 254 ++++++++++++++++++
 23 files changed, 310 insertions(+), 1 deletion(-)
 create mode 100644 docs/_plugins/details_block.rb
 create mode 100644 docs/images/designer/bottom-ui.png
 create mode 100644 docs/images/designer/demo.gif
 create mode 100644 docs/images/designer/designer-top.png
 create mode 100644 docs/images/designer/designer.png
 create mode 100644 docs/images/designer/empty-tests.png
 create mode 100644 docs/images/designer/export-example.gif
 create mode 100644 docs/images/designer/hover-selection.gif
 create mode 100644 docs/images/designer/parents-bar.gif
 create mode 100644 docs/images/designer/property-defs.png
 create mode 100644 docs/images/designer/property-edit.png
 create mode 100644 docs/images/designer/tests/add-violation.gif
 create mode 100644 docs/images/designer/tests/all-green.png
 create mode 100644 docs/images/designer/tests/export.gif
 create mode 100644 docs/images/designer/tests/failing.png
 create mode 100644 docs/images/designer/tests/import.gif
 create mode 100644 docs/images/designer/tests/load.gif
 create mode 100644 docs/images/designer/tests/property.gif
 create mode 100644 docs/images/designer/tests/toolbar.png
 create mode 100644 docs/images/designer/usages.gif
 create mode 100644 docs/pages/pmd/userdocs/extending/designer_reference.md

diff --git a/docs/_data/sidebars/pmd_sidebar.yml b/docs/_data/sidebars/pmd_sidebar.yml
index 0841643c75..01fc82faa7 100644
--- a/docs/_data/sidebars/pmd_sidebar.yml
+++ b/docs/_data/sidebars/pmd_sidebar.yml
@@ -67,6 +67,9 @@ entries:
         - title: Writing XPath rules
           url: /pmd_userdocs_extending_writing_xpath_rules.html
           output: web, pdf
+        - title: Rule designer reference
+          url: /pmd_userdocs_extending_designer_reference.html
+          output: web, pdf
         - title: Defining rule properties
           url: /pmd_userdocs_extending_defining_properties.html
           output: web, pdf
diff --git a/docs/_plugins/details_block.rb b/docs/_plugins/details_block.rb
new file mode 100644
index 0000000000..db2a87050a
--- /dev/null
+++ b/docs/_plugins/details_block.rb
@@ -0,0 +1,22 @@
+# Mimics an HTML <details> element
+# Courtesy of https://github.com/towbi (https://gist.github.com/towbi/a67fda47e075d2b7fa4764bb42605063)
+class DetailsTag < Liquid::Block
+
+  def initialize(tag_name, markup, tokens)
+    super
+    @caption = markup
+  end
+
+  def render(context)
+    site = context.registers[:site]
+    converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
+    # below Jekyll 3.x use this:
+    # converter = site.getConverterImpl(::Jekyll::Converters::Markdown)
+    caption = converter.convert(@caption).gsub(/<\/?p[^>]*>/, '').chomp
+    body = converter.convert(super(context))
+    "<details><summary>#{caption}</summary>#{body}</details>"
+  end
+
+end
+
+Liquid::Template.register_tag('details', DetailsTag)
diff --git a/docs/css/pmd-customstyles.css b/docs/css/pmd-customstyles.css
index e9de59c713..136529ec4c 100644
--- a/docs/css/pmd-customstyles.css
+++ b/docs/css/pmd-customstyles.css
@@ -19,4 +19,34 @@
     top: 50px; /* height of the nav bar */
     bottom: 0px;
     width: 100%;
-}
\ No newline at end of file
+}
+
+details {
+    border-radius: 3px;
+    background: #EEE;
+    margin-left: 10px;
+}
+
+details p {
+    padding: 5px 10px 5px;
+    background: white;
+}
+
+details summary {
+    font-size: 11pt;
+    vertical-align: top;
+    background: #d2d2d2;
+    color: black;
+    border-radius: 3px;
+    padding: 5px 10px;
+    outline: none;
+}
+
+details summary::after {
+    content: "...";
+}
+
+details[open] summary {
+    background-color: #347DBE;
+    color: white;
+}
diff --git a/docs/images/designer/bottom-ui.png b/docs/images/designer/bottom-ui.png
new file mode 100644
index 0000000000000000000000000000000000000000..64015fb7e8ba4f053f58ac4ae618d1b749bdbc4e
GIT binary patch
literal 28418
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%0D`WHm23@`dbNG>c9|s1%*Hjz#JMXrdM-P7I
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
P-eph&X#>liym<F7yWO7^

literal 0
HcmV?d00001

diff --git a/docs/images/designer/demo.gif b/docs/images/designer/demo.gif
new file mode 100644
index 0000000000000000000000000000000000000000..405712d484ca604721c4a241f768cb06c2902f43
GIT binary patch
literal 221144
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
WE_iS@c=$SaG#{^@+8ao3zy2RyUskFB

literal 0
HcmV?d00001

diff --git a/docs/images/designer/designer-top.png b/docs/images/designer/designer-top.png
new file mode 100644
index 0000000000000000000000000000000000000000..45942a0ed47793964908a140b7d8c8d6f36ee670
GIT binary patch
literal 79215
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

literal 0
HcmV?d00001

diff --git a/docs/images/designer/designer.png b/docs/images/designer/designer.png
new file mode 100644
index 0000000000000000000000000000000000000000..1068d6ce28bfc33cc304c79524600e04bc0d2063
GIT binary patch
literal 86884
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

literal 0
HcmV?d00001

diff --git a/docs/images/designer/empty-tests.png b/docs/images/designer/empty-tests.png
new file mode 100644
index 0000000000000000000000000000000000000000..6c71392b840137d8a8f97fe6f12a6271eb0942e7
GIT binary patch
literal 13562
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
K-`C1~3jH6YrcJW|

literal 0
HcmV?d00001

diff --git a/docs/images/designer/export-example.gif b/docs/images/designer/export-example.gif
new file mode 100644
index 0000000000000000000000000000000000000000..92af52fda946bb277b2e616a31cf314607ce9d9a
GIT binary patch
literal 185192
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%0AapA=tKm26;wjLrN$c?BaazoLSE>!ZJHC%sIB@
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
To+gZ$_UWJwjGHEnfB*nH%Y+zj

literal 0
HcmV?d00001

diff --git a/docs/images/designer/hover-selection.gif b/docs/images/designer/hover-selection.gif
new file mode 100644
index 0000000000000000000000000000000000000000..09bdc6bb7ddbc5b1ec1c622427a8dfbb075f771f
GIT binary patch
literal 290234
zcmWiebyO4H7r+;6W3-4!cjxGa(Tzh;Ld8)6Qj-=C2OHavHYiC6QBguVbTmp!ON~%M
zlx}pt@9%TYJMaDR{(9%$`_BEGYie$yuHjlma|3h?PykQ?P$*PDSX$x#m@6u(Dr)*D
zT1KeYrmHxXs6-8@UBj!nzSmH{rePeY;nl3AsIKkZtfQu`V`PR5YezmD(|5=+2wF0-
zvNqNWHa34~e9Pa2Fkz<QV&?tQT2a*|dF)zrCCb<W^=K0H_|x^IMmsfoJ0mr_@Rv8#
zHE-CXZe&c}y!POxt&4+(r-QYTL(F4Gk1)s5C8y`j&d&C?JlyZRo^!8V^HDSM@%Hj5
zAp7bn`}+s@zbFqdcM0&g9{8vvux%4lM8S0I2ASyxRsRf)Obaux3=6`BRZfM+u0*}~
z@yJFc#z-ah`70bAk1PF5bh06JtR(zLGU-W-*OT$%q*rsv|1q$WVypKw(BgR->Bakv
z%<F2I8PBrP{j##MvMc{&H+JW|smyiM$jg6K@G$;W)k3L@eCgt8SxM3B^4W4{&GL%6
z^48VzZ!2%g%ilG9emDN7BJ@qg%ZC+Z&)x^yy?_6{%G0wdP`|3{TQ$zEI-OEoRaN7m
z^wCGN&O^112(9bdu5X=f*gS8n{Lu2ky*0+TwJ5fAb+?Vg*_L|kb2=yaKRUa~-DB;a
z>N<wDJBF7!{#<m{CUy38_4W0A>3H|$%a{J{&jalr2f8W;me&WTehp#uhw#S3Sl!`g
zw8Q<Mhewx($5ux^7LD{xjeI{CS>5`UWHI*KZESFI>_2wS#@k+vkBp8l?M!4|pP1g5
zm|dHqEKME%o32}(8T&T#A1gcGKg7-!!Dic^&lNk&mEN77{XRcGzmRXgFx9`XFu%CE
zw)kU*QgoA2EkUXFrBD`^nyr?WD9aPg%gf6vZ(LR=Q!D?my1LqmUH$Q6b#v?If1LeY
zZ}nU6da}NIyz#AQV{3PFb#QZiX>)U9YcOSN>(`$j?SKB`{O|V0^!E1lZlB-oQrYhI
z*52OU{_mZ`|2Wz?JU=`7`|o&v<7DQ=>FMd&a`D+p`PsqJ`9|~k&gl8Se}7LX|1P%w
z{X3<eQK;vCsQ=EWRH`7A-p1J8&QKp^tSE;70|5Yl;3*A+?!R5;zXkYzngD3207w?M
zSyf>>j`p(D?Y^p_P9lr2MXp)(tL{V&rTcSz)y2K30)|g`%xg-%Jd?0{d;3dGX@4fd
zU6aT3W0^Hj)t8`jD4H~^u<|q>ar2K&dWgm|sXNW%FW;ywg?uuwJCGQA=lD^~pWVcE
z{K1X%`!_a|Gn%Ts$KKxQuYW(=fLZyPXW8&!z9nLRbH2Z!a`7`3OwVW4Shdtis$8~m
z{*ww8xt4}pnxv;2RaEU-Rynr55@+w#o8aqKeEXH!97`0KCf2C#<NVjTljftB6|@uH
z;tPW<4cm)k96i5HYvb-p-!tjEx(>+3wUJJhpJ`EZ!GRx3`u`pA<cOIy6(>^puf<%b
zUUn+H_6s4NTjMs;hGRbd{V3dd%J;?MFjYg7$KIPVp<X>dGALYXv^E&N6c4tFSfsJD
z)<_Z=v5;jvdc8#830q$x3J@fgNg^5E%Lx)?<;zcG>erVO5j_$sNy?MnE6M6V%U4pg
zQ(kjCTqs%M3aM8>2;MvRz1I$vmqC~lL^Fgv0^Zr8tTfDGibbB;#NbH2^UAx~YK16(
zXToQZ5r#|p5tnV$T*v|)%q;6@EA_T5atRP)FPy@zuicPLAM6nfqLJ-Fz`}J@H`j~P
zOr$nSp5MH`QJQt{?M7K{7~M+hB3|mP+G8F7Co6{SjisL|9-IQdPNv#13Eg~h|JVD*
zpHiFhFp0fERdq94#&;jW07SKq*D2PD1^&Wu^q7!h<4esqeSfP}Sb(3TcScrYE87ay
zzB61_tU-#q(w$4!F7<UF6((*=Z?_&y`fj(K{Cv0l>Eh_u_GbW0W`|63)o-VrR=i@T
zgF$U;r<280X19y&);q@!*X2g+I1<nH<lZeH++szuJ)V-ld0q57Ip)#({S6D)tr=m_
zg1Ik+m<!f8KDAsJ>=D4r-A{$Wz_>;?iN4iCXDokz@Szha7|&*2phi^t!)~`bc{}{~
z;S`!Edo=Bl>3=li{rdgUcZR!ugR>aJePTA|)=GesfbcgYqs9T%A1^dIE_*`3PyJ0+
zBOwq;R|VAFtrwz>^EwwFixm+WKcjXMA$e?nPS;4>NC>-qNtMBX%k)mN$^s1tq{<|*
z7pBzy#1PLmuFWVr$xu>rwnm1@U+i>U4ZPUx6R*738&KQ6*dH;K|9dd*5cv0S+N<*K
z(OmfU-(w0<{?o~mOLA)Sfp)=aeOJnslU2sel>SDBSpkTXGxgM%i*a=v38srRly|Ix
zu(E+82faZI`DC)J0N_qi|NLkNgxJt#LHAgyV-_DK6F#vVzCvF_YiicPnzMtKuqvW+
z=<8r_-ib#fEy1rCCUbos;aYn~xL97(ziABS5yBcMP|JbIrVOJ5GpkpunckfN2z?NI
z9j`_raR&McL(I|8OUY)*9t@P*%V+~&91EjZ&S=u4838Oc{aM<=^#M$MQZ8wNLH0S8
zePpB)Tm+=08-K+eNwHIKnS}e~?xvBfN`$U{=`+#XOHWHG5fL~4V&S~^G;5$lOzq1T
zo5;Oqg$$(<rsiL-=j=T%w<?wLkx0H-|CD6#7INV{(>bnz<7`oHr?Ei+z&*n+$P8r&
z;*7<;J~x2s4ne5|D9()lXEv{v%2#@qYVUpF9u+84O@Jq>p6q7MmjH6nJ8@T8kTAn7
z$R#m>SVnTui-$R6ntZg3kFq;G*c-`S)kGbPIomG)FqR`>79(+72ZglO<px*3ju12t
zidd4%jl?ZRpEw`9;utJ9QTsZY5_wR}d&5fE#NxW4MKQ;F9v_R$jU+z{VXlF`F3J0s
z^qzh{C{rJNW1Uw$;9VP1q8%!#ga*Q&H!HrJIe;p~yd5jsR4$dj;iJF^PqrFy%igu?
zk&v@z$N&jn&O;NVA8wA<<Q!IbTfcLj`Z`(PeE1%d{O<Oe#Z>e6!w(UI?_7?*PJKE%
zti&=_pkbEN9b89MB;Ge}5nrc!>c^|oMBiN#ww(Fud{i@>yXC3Y@6>-^wWi>Ag}15Y
z_is5zwdL0D?>qE=pKLy=t4e<F=Vdwjo%;Q#zH#t<KzRS`!r4&+nehWg<6V{)*KuQ?
z^@pI${<)u;$4w*2A3|PR&Tl#&H%||K2y5t{{}XxKLSd|o=(Swf%Q<dcx2}x*@0UDk
zK5pAdu8dyezSAwS^66x-GUm8{@!#3;X8=<b7G^~Oai5TBZK~p~4p5+4C+#dLRd{i$
zCAwQD9UMbd1hs)Brl^xn0j6q_sns$o{q!d>o9ZVH1Iz3!C*6pY>Lf3#6|UKn9`&K>
zl<;VDH_J*dlBp(*XtgTDecEScQ}Z-)U{y@(^b0Db=J{)@A5ynYzd8=pWHb!?kc&F)
zM>BoQ>b3f*`0{kX+va1=)WA<wX(y^eJLzNYn$?=-?CDU%(8v7afi>Op(_t)AZ6VBh
z-GKXSgk)3u>gwRSiPqU@T1st+xb=p`t+Q`gL$zgUgBvzcXJgR>rE*j2&Fe4E#>;K$
z-Z~6!-fTIWs7k4;@Us5p40Be9=&Sn>KKRS!{A`NMR9{83-g4tUpYF4%ugM(Tx~FwM
zGm=tY``Y^V{afeXr-$n68wP&|M4iu4m>L>;t^WkQJfG{jnZ!Ri_$RF8d_D$)7nRfB
zj+{MTI2mgAbUe5nbAG-EU~VMCY<A+fFDSHnjiNk)+jy;uC6?62E^(XPC$}z^Iffg1
zWItgd)uLAfn49`cZT6nNyjYc>7Bq^|0JbwawXRC0HVt^$>_1sszN9kTG!#CxpMQR_
zc1SoC#WNke;{LmCcCGo_@4=u<tw;0Oj?Lq*Z9*eW+cq7Cn<pEFLZk2g-MquxGTm!)
zl&$u6Lr(tu%U^7Keaqk97-9=Q`NL83?B72T!z~NPL&u-a^VYmfwOXkG5A^W*J3G4C
z^YG!59<6`7X{oKN;@3_|FuvX2A1>NIQ;23=E&Bz>t-?sX$kEDk`kZTRn-0TglP&)a
zs}@gwD181ieauatl7<r&DmtGt?Ko~)e6;;zCrW1e-$~!KPkWie7e5^y9o2^GwtXh=
zY-$NHO%8uLvX%e)CyIJbVg5`#>12L15Kg5}tui{}uO<Km+F3VKsb@c^w0}~m|2T*B
zfg)+(i*qU!z=0KZh#`f?s1t)TSm0Y8&<HftmjcT~1j0CCGtrMh5wXzMAP52=g^lGq
zi51|8J2An=tp&a$L)=k;WmrfM1|CXAUPD6F8v+>|0$-3pveSX$w2&NBpo&>w4hvlQ
zSs;-DOs#_37J?HS0u4x*Iq}%cDk!8X*3J>IKaM{j1hdm(b5JmCGT1}_C++~hmIgMX
z&={@<8mr^}mBFL`tA~Z~1OSBXHJm_(TuX~PWQT|C&}cgb5?Mg|J%PShprZiDUL7EW
zgm6?rg{U0Z7YK+uCe*AP?=OM3l)&g`5sq)dZ;-)WjW8VvjH5TkgBFLNh2)-)D%3F|
zq%i*o7_17GQ3ZFV0AH;`n8;v_9Uy%b?7Rm?iy*x~gPu(X5&=LaWa5EXQr9#vk`$N#
zpvfk~tq@>Q_qZt%#uWqiQ-`ErX?WHjUK0R<5x^9)*o={6P&xe82*3mhxse78N=x8e
zBhavb?RIFiu!%?Bfk{|^-*n&$3g}rm+=T@MKE)*L069?NBEj&iDlp>?5RM>aW8tO%
z$V^sX1_H=}03>9QE+d}2mx#$hK_P`{wqD7a2-3w(_(&E;ku&)yjFyqg0(L|}l+g*m
z2KcNuCL0C6djkG_5U+!IY9WcKJPDx^;8p^pXbM1*losa=f3XA1;DAT4z+Q0>qpJYT
z$FwR5@CT?=%dDq}G*HGm!A&wS0S!V4;Nd5<>6nb1v>4<YaCkN@a|f3>g3lVE5#5PW
zb|<>LfjeA<`(iS9%>%d00<}>94K$p~5wI;Df9@5V4#&PAXYghxlbliy>M@4pa7J<b
zBPYdhPM9Al>s4b!0sx3Y1n#UsaeY}q<OBjGr-L@>VDe>*PhbWa#)p3CLI#Mq6MZR}
zSk5e^zN~<%CrEGj<<qB!N3=O<(63H`8HF&qrog*Y1VBgwaNz*{*%-@$g-{!xe|3Nh
zp&<57ibxIcBcK1m66Tc<{6HgfV~sWyO&fs?zMY+g7SB7FEGXq5!V`jdot~7x$pbX!
zu$pHPvf&V}mm^I?dMCv!Kn{|&5TuFgco-<UnJ+N?+y;h8s3Q3_<ucyS(*h8Q2%yvs
zh_MhH)Mv>-2D$HK>tTWFU(*vEl2C=P#t3)<xmX790*nQ66oQeQVDXXI4qEtRBT%Xk
z#3De-DTIB^hS#fuGcYg~1dxLQG;9KM6oNFq<GxITqyWj6;MopD2)8<b**hhjB}+r#
zDJvj0j0<ZBf0c;|Ma=+|0YFhIA~0bDSnHSz(kK;TDJ{m(vW}ENQK>J;WdU!C(G7X<
zw3yTl0%<vsTn-OM{+HW8Jw#I7Ns96gPy+e(P&I2h`zf79ItLQWih7rUq5WtU*sTuD
zKtV4f!QvP|uURguMscbS9E(Xmyr;+{01J%_OeuUU<O4mp2mSE{oPvF|kO}{}3^OVO
zADFyJlp^_le<z6mqnrS!w_xP=;`aN+>Tf@=HbE*PK@60V!zTq+Xnc_~R7UcRhYv_!
zv&1v9%qIt~5?QRlMZC3>n1i8(qMsce(Gi@J^bkPZukad+cacst<nQ^bbTLvnVbrp>
z;ItBkx4G>W03K=+oHl}%3;Q0J9g~^%!l4ObLJD+kf~DTCC?><$DIZlhLy->wK>&CL
zOB%e72IZ?5behKpfOEWsc-&9MWTo4}9~0An?pXN7{g?07--{{%e<VC|L;zH<G#WcJ
z_S26=SKi|{Qy?s0SB}ud)5MICG@gfwC7fxF_v^f8URh+pANnLaIMok27bQz2Gm_I$
zlB5I#FslU&a>{kfPS+w=s!C*vy1z&zV?^BP)C=)1Mw+t`bdiX+^lE|4&1nZ=d7(M*
z400ag^rQYk)-gMbn*=-}09QF-(zB21r^_R&YU|1yEx3#p%|9-jeC#o+;4e(;&;F<t
z1-GMWB=Anv9*4d8N}^FTQzT;EzdC=4^o9TN#-q7IIX2r4vziLbn~#51>t?^G``Y6A
z@N+SJGpOQo|F6fgvq6Bh6fow+gYu_a_5frRtTl>w4FzFDS6EoKPy1G6vZUR8_-@KO
zZ&u<>mv@rv7aCDiAh%z#bTm8{ZMyj7se)D6A!lg!I!z1~7KUh6Xa%|>KAiN_XQRMB
znxNXKE<yN{AEz{;&)|`>DK34M>;f>fR$zU3lPo4lV5@_8A5IcTLuYns&2=WfY|%nB
zb#eA6E7idOJy+qMBWq#VFMS^f)cSZUj&Ow1ntx2+fiNf+?+{DU3R@m{!_H5@^i*Wt
z@RMZpREz8V&?(8*Bj|^p8n_ezAa_;@Y#`b+@dYPCr<9fApjI7}LPMTu@4DZN^=;>f
zuE(2)cjqMJpMbzs)fr^CPs=A++5*10?kU=^4?JJ>UV>N!NM}byUVbHfTra|8YSYOy
z5>=hyepPu%<l5r^KsYT2Duw4uAs-7Y2Km-*7Ld04wOd1Rf3lV}3Q(U@$XbQGkZ2^e
z3`s=8)dpJZwLUY;kkE9GbE=Y6tOB!~!OG|n6>O7U8VG^~ah<)twnZC257c0RQr7G5
zVp}0du*kCpj*~8nGvJ<Pb7?{q&NB5(J1Lz~C%T_EPDf(Jj=-!-4ye#3dZ#vA<0tjJ
zZ;DTV&_^Rkfx4Rx6{51F7Z{Mje*v7<lVb7WmsWxvPwLhFq~o%dRPFaOPvBMW0`H~e
z2eky4w8pZsbWcS`FZv8!y#OXhcK-FtM5FtW6<>K78k4Y-mC<>55yLK11GEB9EV$vc
ziNRaZw27_XFdVU=kA^s{lwMLGG?ez!p3gJt{jYwFDFen^rN-oMPabEIachB>oj~SV
zi90XTcCM!HYdtUfmGmw;37_}%K{>32_K60$$xbWjecJ~sa^;3!rfqh|P)nT%195b#
zuiHXN;7(uyqWJh8bS4W<5C92jKw{AF>l{zPNN~zd7m6n?n@ayeo}mfX(hZPF8@+f6
zxJaCcoSU=Gjl|UX&P`q7$PgQ731(OzI_K2*HB)kjcGf!f3GaNc11j*(#=cJ*=-#Jp
zwS;~h$X<sDo9BaBo^nf+=lVxo<^<m*(dZ!(vu}+RCzU%3q#6DF7<D_jJ*f>v={{2J
zzxYWgVJt{8E0GJ33&~x+7#Qf@06a-*IS`xaYVK{S=s4w#m0`k5MJ@HO&3vB=yerj+
z+bI1qGukXmN~cuzNL7?Ltt2u$E5m>`xmt43-<?xBoutboV`dF)URdO`w|}iDM!|#_
zKgY_ZLo5@+vYN-T)2)$ZM?Xn(ziFR20i?*_Ohh&-b%%!cZ&xk@Hj5nBI-4fX`H3~E
z$<Vwl@B7r7I|DiZ_z3((BkgCx&QLa*?l0+m5G_qAxv?0%nf(1#-NW%Ju21b6xnU^_
z&Ca<cc}XwmdzjF(-2>@)PpXgE;irl5Ee=pP>WQXh;*olGpVkuVpL+9()%w@f&-z*l
zG%~HoKZzqi9v|Anb%IEKU2yWSd(@BAwv`(*{az^rx2x950;-Dt>--T(-(!~Xc`>0(
z&u^yuaLfjw(waU;y({$jIWzR9?!!)|z@JIE7^^=4_i6uN>3{V`zCcf<?RA0M6XCXL
z*HDP*%{w_<mN}xGwDua60YflBCy<=E;?tZ)1Qi1kM*?(^N+?O-WfrgzWzA9(@aPWQ
z79GzDsM~)6WJPtSHbLk9cEund8c1+C5eV6VSQo&P|2_6@d7P63x}FHXg^pLft7z^U
z&qP7O`@WSr!6eBx`#yAT2WbxHeJ^&vKOgq%kXwj5z<^)Cy^LBGERc5xJo4_XmlQDb
z<$H=Reuw*ohdIqbGth`H)=8s+o%_T~zEL(G#Oea@c#_7-bigLlveXoq$^y;VfdoXQ
zlwXC;{@tm}eA;{3MY{n6>g)@l_jkf!nvX$Ha=N*1iYR4Sux+<J>W8L0@ct&DBekIQ
z^J6feYbJ}96}zw&u!4&MA@v%gsd_-30-8$lIPh`Lk=P9FwezDPn}ooV&ATtnna-=P
z?q>G}%FZubiunG7A730(E~^s=NS7QFjRni|8j&y*gLsgvQ!~wOVLO3M<@Dh=;weu8
z{Ic_t)!uYuoFK20Py)tUKZ6Z&mM#Dk?N{ORU+BuVTeHd6dGwFwOlizmFHM^eZN%zk
z_FO6OzM=>b-DM?4FDAk%xp~7fg(1&=z3-YGF+)z%;{M0$i3%AA1<BD6_pdnK%ZiWI
z(?1NxNigTQ`8tRvgTUTZ3^|UwZavAodITP)z12Jq^Lu+y8_UH5S2Z**%p9IgCdry}
zzxShEnXn}C^w~yczv><3pjNx(C37!X&7evre{;Rq!z_0v^PA@1J{1MV<mwUm?lc$V
zS6s1~XmSYrGpo_Guk-IOIyd77eT;s`Ep+aW-}9!EHmLI(yV37gjBdAG48;=pM9+$V
z64&2umz_i__B}PivRH{L<wtZR9gF>^&gkW%8LH!N@BJY&{gB3Jr6Q``iL8h&n}#O_
zM%Bhw@8WHnewG#6Hgg2pCu#2=DW&T0Jf>09TK;qXhDoGHK+#Mz)1$_m&8bTvod-)9
zFqf|EQncjsUER}=#f?8ORiNM7wNx55QnFT=^7v?7`W>%iqj4v<x}R&UmW7$6S9zON
zXO~79r4JLWMHw<1D^o}1f7J$S8YlO6G3$o68eNy*?^d?6R{K$FcTEoxs%XNUEH~am
zN?>EY;ow;}aYIzJ$KJ`SwC?7uz;2Z(dQ;H}%R8s^_jrN{qV<mM3B2N2mXAH_oxBR-
zRh@k*SL+-$%eqx>`8WKizZLjd<->QEcF~60!NbOCcS5gR$sA7?i&t}bxK`TW61Cl}
zcK6Zok8l@Lo=d{$SeRHN8pmv+?izpfUZX3KpP=rRAYRt!mMGt&?w+jnGs4xBDYD^i
zx~W)`$FplD8lEp4?lpNnoqZ$+$Oe;zo70`Yh<fFP|7`LqcnsC_E+UFGdl#pgX!?|9
z-fQ+Lz4c}Fu7b#$cq;q5${tPMceYE-zLlS$T7K2NVl93jhfTEn>!$9t_%|#Pv;vye
z%31<iX8DYgQstXwd_Gg5+L(5jcq^up*;M;MH=O8vTPs2U%&aRQ0f20nfO@zF)z(^r
zhxK4OA)}_^Z6RaVOm#vh9K6~>ryO8n_pv^LWnr^{y=`IlrkC2n7azlPBbJEbpCVRL
zO?4ms$n^U3aIJu-8@ciN^{2>RFHMaD)0BWe`L{pA^rClr#Xm>y51Z;eI-K(Q{OEX*
zs26j(_WE<o`F5|~<30DQ4NQ!ERp3h~0D&p3{a!Y0j~ZJe5~?~9%Zx|Uh^p(;-5iO#
z+J%OyH0m>jjZksi_8H^eR~c9{M)2YcJ%2tl7_irm#LMGd89dbuxhB&hW@cy2;)?Y6
zjz)-jG;S>M>PABBqom(<8I4TU0KM@d>;nM<W+t;FjQ!{nhb}kvx<+HUu+hZ3H0~VT
z>L!XAqe)&y?p%W;sY|Tj_(lwk<XnWomG2`d;a%>0hmEGXN9hmM=lB#-)Xfaozoik4
zJcO=f>)HP&`EEG^__ioGKK!bNux*dJa+A4D*tcf|G@cU18Wz_xzCC|!<SBKd$>L`H
zw-@j130qx=4%VY(m~x>$>rd|v&9l+W&ouWC@fuclK~Dp-Q9VL0nyl`rj%5$yf1bEW
z%4s8t0IbyYSf0%hkYXcHGb`Fty<5X3C}S*l&FHm;`;5tD)lSBAk^w6!%fM}NEdRL6
zOZV_p%iT>ehf3p(glMATG6HjM(;2Q_pkd;-nX)(V-bSLDwoh(8&;6A<FBc0;LMwN|
z%&}0qsHSUAGsa8AjU^Ax5(eVx$4lkoeXOD)M!1$@>F<@#gphq~^N+?~>p|X1D`@uL
z$*AJg8}YQ=$i7~tI`QV({F=oxNxQc<C*C@|khFdcCNMLgfdS=)P==F1B6Om{%h=ah
zT+`mUUMb(=j+FfmO^4>mP{MW5a$T49cyaai%iHU{yd~Jw)6-(k&~<4kTIo;G9358@
zdGAs+``UFMZN))3C1^b68&VxA+8KP)aMF`r%zP-&yVu74XSG~;Mx;X6zgz3{g&4Bc
z+ll&yZvOz&FE<<cZe$A8`C{U=ZZC^5SAyDzd<+yCZLB_xA;pxNQ0R2L;eLg2T|Zb5
zMYH*@lTW?M;Pe$Y&CzHl4ThsvYxQ+1k_Ss?Pl^MMkIe6mc0%IK{9_L3KTQ~TB}9}P
zGW4NI65nn%z)Uc4gI{m4sS4-s^Y}av)pn)RJ8UG{n{X(%x-wpyh&l&AKvuunBD-Gk
z`!~iO9{?F0*FiOZIiS+Ft=t@I4Y(J;M0m|kn@^TN>)(-{C$_uuJAd4HP9$K`AE--h
zQ4vef#l~H|n-#0u=JkAy>%Gd#g|q<?l{}4w@sXb!QUh{3I2K>-JuT&-WoZTTpPGST
zT?{MNt&XA`CgXK(?=VLgo$~)n+lqnYO;{alKmPX&$BRMSs+qjmo=ONQ>Hk8x9I5;!
zqykf>(&qEXWjgJoPv6x@2g~C<$*1+7CF@B{jZ$_6>zyFsVwS1AegZIYvj>VIEI5Ak
zLYBV(8pzf~>Ut2Gzt<7TW{&^~QQi5($_?mU1Qs7vfIyeM_2I4kcn39f)o6S>{XZa+
z5Cak-2vC5!Vd5Z3S$tL)GIM^*?*QhEHh-}&?wf@R{^Ms5CKNcu*BVUaXe9GbS7Bva
zucn?eeP5FMy&Vjq1tT2EOt$Js8+oUj=HYWI{Nkde=Cnzc=w%qHkw#M8xq~+N`ww|y
z6QhoQAI1tj&T(RLvOF4#C2n^~PMSXd{eVXL#E_j0RjId-&MaHv{B@f`yy^j%c~l+;
z><vJUw$ZzIy(UBdjP#1LQBu}zj`>d|I;VEi85vP={60vmEG<0~qr@ElFI1o&3ouSC
z3P`iM)2rLpo?6@D{@dSc8(2k-=Z~ONTmNg;^|%xs<J}HDS%*n5ph!_XuDv&|9(5Y)
zjga(SGigZ-0948ACb+r7%J8;6oNGV(2ofSY0xWa?6t!?njfq!M^AHn3U_opGmzQTB
z4!1jmbxgWn_H{J8eElK`yrs{LPnM$-b6vZ+h~2C)BUf`4{=7F_yhJ6NfId{;_bO1k
zO7@117Hb{GPvuped7JP|RzaX?xTWmB`Cd5OaiX3yTAukt27!s?J=fb-kXJ!BUYcz(
zm?joS5r^n2N5{yIrF7P-aPnlyyk+%i;dWMSMEXnNl()Q;y*Boc_NzvG6r~b`L=u99
z|8Yb;@4g1xIV_Sz;IBJ~Q=r~RAP%$xFh;8&%z&VE;H?O)XuE1u1Rz?SKwI^3FF5v+
z7VOad(}Qy?M<0-n#ZU#Q_4=F`F#;G}hUqv0sJY9yT`-X$qGB6JlxOHvXjKb8A-X5F
zsONS@0py#Xweb0=pG(o;?HU>Fjl4FITFAKSAh1?nZ1s0_Q>AvxuC9+y+a7+?;W+5J
zhS%qm5kX1U?fTR_qUZm487e)XCU}v*8VMlp!#eNB36zr?&-tRfL4p+>(yN;L+zR+x
zdVJcQ=ie&i4q*Br^)hpYcTsx#cAwm6kjm~#3Y}1JRXkO=!pjc4-&v`&1-JmI@_K{M
zZgmCQmoXji2L>@|A%GSkDS2PJ9+sFUemAo5&_Ip%KAO|9l_`;uD&Vt>`|_4}r!TJH
zoak-_xV1y{Nds`7z`Pr)>7ubQ0ubuq{TjA0V^&n-ssXlFlQ1&dyaO`Xp6T!%fgzFI
z>&tyQJcM>>@JFrAX5Y`)vF=^>FTP}=uDf~sEHTr{oCyUBV}Z#>U=R1T$RLQ^LENJi
zn9;QM_7^CeWD!#P)#!=3R#u$UI)FAdO;#Nc!Ip5TqPIr5-~3r=eTS*ba&LV|Kiz)s
zz3)Un2{kyvpura>fL4(gz+OehDy9L8aR3JOSg?TMCwm~AHrA+?D9Zt8F#=kUVUO31
zx7$0=wOG+#4L}aP2h(xw&#`!6Z6zbarZJcahZQ3Le7G+syWU^XN$e2;Fwk1xLRSLG
z)*vKsbW>l<8xRIYQbVSJ3@kulM9*Vy#q`#%KSW9@qGK;hVBrEb4BkLV#j1~8LtAWb
zYm*3n4u-aAhX0fh8bpToYTq^bl{w*IUOOKj3sgLsh6Rp5754LENKp5z0X-bd(|h;}
z9_G`idl5_Y=1|?)h3&=?-7rM(U%u#aqMHD$&-q%IqYRX{;6xdE_FVD4qhcRdGlRzv
zi^?mK9itWk6jpKR;rP%M&(V1c%SPw^45eYt($Vs7`R;p&OE-)jaS+t(m3Sf71vZi4
zg8l3&--O$GIo^+odVY&G7#0|;j8+E=b0|pEUH{AZO`QbR9=R?TDq*Sp4dH1!1BNbU
z;nOy|HZBpVcShpHLdVo@yx~54Eq$f!Q58zFd+f}%_d|#E92?6-xsk$^afL^ttXu@G
zLZFK~y)%Gt=c(;l5z)jfo{N>Jlm%XoB^oux72(HhJl~2Bj-jqh{NTC1j{Aflf!IbG
zBV@kmhfX|XYjWMenF~O@)$try+!c``Q~!K3V~E9ItmPxV2ntw`Vt>te@+oM-)^qaS
zl{UfT6mvJ7n~*Vwx=G8D+F8M(J7}P~W7C}<yb)xAts~UL41b@J7i9)D@y1*9K^ASN
zOw{oX<<Rh*8)4-zzY&^HEYWWV@{ku|GdT6%W&d)T07_o8Cyfc2#-D@l!3hZA4HPZ}
zQN=Nkg$;rx1t=T=wuvV?l!HVNAa%-=MOK^y2`EDbxpq(6VWvIeXVA_!y-H_tbY#5`
z$spf0-ycqXvi5931S3+c`G`&gCEl2f_eT;mky8=n_<P<2PbA*llNiMkugL)oF(cTZ
zVRvPTrN)k--S_|i%yt?V>J9Ti(>MZ%CRxtWH)iimLv43(OK)J-2natGWQnE0Um;4Y
z1I-ZeJZYc>Ad!Ou>`2B-dlN&wp{CPutPyxqQv5<J>;^j4fHX5GE2iNo`4TceGEvD?
z`$nD|Cy&+!vshmFJu?Yu5}7ARu*BUSX^W&lv?$Q<Dwu5+O_(>48is*|SKTo~5yKn_
zhUE^SlyNhEh=&<Ilh-2jKUwWaSeu_WKba4bg@$?Gau^|mkzghx@nI3u=-+u^C-E$p
z=`b_sq30qC0ve`%GfZGoH0$o^JVc<-dFaQYc8=31gaSw@W3s|uCc)uZSVr&iUm^3*
zqsAydf)pUm=Hw=(^sWnnW<e6>5`kYHggSZSO<3?uHn+3@e32|P`ri13-@G9w4knGx
z{#iuhEc<X0(F6loF~(bD5nLPz#+2_%)i8b(xW5g|<_P`^1~Zcu{da)E9JuT1H{Dbw
z7i|~*b-Pgy=XkDA<c{319W!#ScVJ>GG_zfXj6muOcl}vWd??w$B@G-VF=Z=348X3?
z4^bA2V767bmE^l&S;YTh#(SNxGC|<}cVovB?~HIUS&z3^k9UcP*JJ1V<~9?l?xyE>
zMZ<CNUKLKN5Xc+h6w!#28d|nnD5m~hzH#q|P~7A-lQ>hh_WQCc&ONd-zifZwY_BMO
zSLd*J7f&-AioeSq?`ku<_Lny#Z9Iwsxtp;P{CB=|0vhG$x~K!=2_Oce@xCYXi?aEG
zH^HfQ;yELnma+*Pg?NnY<hds?gccTN@+0CC-;IDDk@a3OvdUcTxZy4UmpX9%;`%Li
z@A)SahE;%R7Ls#0`by0mBlK!;mh)^Kj=FsZs*j;r$R=Lmvv`1<GCQORL&9vacs~~p
zZuWS?5om<t_xmg`7Yfean>e40-<Bob<A5zU5oK9G!RvYc=vXzfqX8xF9x{G;9>VNx
zw|ED_X12M1C!PcC^f2T8ucEc6`ptI){?L&3YXSoCbmOs5-@30iVV$B}-m&ayaVCSk
z^tv>*C|66`g@+j5xHk7i*;%%G_^*c(i#kMOQhXGWz^04$M1Rj>@-uRD$O<E-*|_Q>
ze=ga=ZoLAs7t+L(>U{hZw_R7km9?dYAue2kp-g;j{E0XE=H8h6-h6Yv;@<B`)dHs5
zLTrozyl6^Qy?^1;wmWZm>s)-PvybqYbwW_tVgN0SaylQd0}T^f+>l)e+95p1T3i-|
z`424xd~lCo=X-dP7lI|Yu>}0NcWsX`-(8ldRRvVD`F)Tw#&b6J?wj<dJ!vwl%$Xa1
zr-6((s$$otLPMkgd8^=SbA?Yd|InVy$nxNU;Cm^?f}S%OH7uV0P63%q=5#j@{yK0f
zrod!XEMayhukAPU_8XCIQ<tCUtqi{1Bi<+u0tT?9LMs-61R0~YIm7cOV#-#XKm3gR
zAeY4dt3&ShvfQqZ>K<q1o@V8NbLCNF<w;KEfr8PVh6+bkocMGsR070k%+L3@K!{3=
z`L7{t#4rRF{Hu|qO^BmH)AppyfXpP^cj&HKro^Q+BZ3Lk0J+Q2yu{XXhifhPb<OUj
z9|)#?Tb9e!T1pCTx2xHssySX(KQ1S7CD!nawLf03=BHQm=1}~gq$pCXxEi7;VW;4|
ze(<<TQD#h0ZeI~GhEh~gQobCj(xRq@Q_^@h>{_n0)2^hmqNE2_p8wITV?}^wg+!o2
zcLc+(XUX87E3*3@Sj!U=FNpH=N@C|B{*5iJQ3sBWGG6?l3gQL-n$;Q7Y%Z~cUn18}
z_}@@>2(R^cU1w#--Mp`xdHnorUkFrZE1h(G;J^9Dx>gSr2b_x2uXg8_y4$mLF6VV<
z?s_+^dXHQ6dpK39PqC_Rr>g%)SO9%mpf3)?-4LYJ5OS*_EEpN_tiitJB(js}IIL#B
z)xdbtkPjxtN;l#x8{=Cl1-JL~Sn3~T5!gtvS6NOUO~<oE)G?4P+x+Sr66?N1)=Qz(
zSbPC|>cC6y>V18ItR%U@^LS`^?ByLmyl-Ses!1So0U{>lM(JdzLsW>{yPc5pZJyzW
znNfQc$3kzLUiNG3nCtH9_Z5D$dZnaUa{jT@SMv%^^G&hlyH3sb(t4F(t!iPd4I!CY
zJFWU)twwGm&(@aK*_Kb|Eo9u6ucoa>&aFLB+VZ5<FTn==o!Wyd+QYMkH&|42k72GP
zt$px*OxhzVb*%aknHWaa<~xYm7Si-O2iSMPT7T{RH-~$9tbg?x(Jq?!5OYyw2apku
z+EzGcvp%jnj&VG53cvfSNu2tq;#`PTcUehyb)_jrO=}IOyKxTN{HVL-3;w<G-}%#y
z7GW1mdQ9C~s@e<8Pc#5ki#GODTC+sMtjS*>6*HHlnLW)eu3p2*CY<GTJAI4?Hbua-
zY$_rYia#Ow1}cCnLW#Y2&_*_@_~}z}1TWq1XU0qOZAoByx{I}KPSC>+*4npM{H8#U
zJ5Z{Bk1?dK$d{89K0)9`?aT3+DI!r%=Q>F)vvWJ*zuHw|hq;98Pf}eMKE%N;%lVxk
zmZ@D&t||p=HNL5_0$rd!40I>tNnTS8%r_`g^fb+Wo-FNuro1`+*5PBo?=zLH=^C%G
z5B}$>f9C3iwSq(l?A7QF;$?ZhB+i!AubE1Le=al**1x^Bs|@(7d9?MtA$a@GU#*j!
z<z8P?(Vo##%U3US0=7S4vOwSthNDdO*OZtL>ZowsE0N2J5ie*jK_Uuib&s*>AfV24
z$2Bg2*0JZhMcUY5g-dC|Ec#GEnsL1~<%1VSlxP-1ChhWa6J1Y+(Q(rc5v9GLdz5w<
zcnbS0R$3;T^y-Or`K8OWe=a@_E6`5YxTjL*>{!$V%#BiQ?AhazA@wqzX~=W@Q*0)c
zktQ3=avpuX9dEr64u1R(C_y2Db`6V@)iuYVj@0$5_-t>wkd&tn2-71`@m!G-uM+s!
zXFLjLE<xzRSYl&opSzJeyb9mH=6;<Qc_vw2^hEQ1dFv^Z=Rv1;9FhAO(w!%0^^2zT
z`?~Lu(jS^Oo24s9vx)hU#gdv^t|zN$V9Pu6E8TQHs>ZJnTtlL0yW{m;fW|-XS*y#@
zUtf9H9VrW<3ETk>)93}<9*V!zct3F^!N&NFXYTn)M<)IKkkW50Y*3*k1L$-|rIF8@
zQ3sUa2Ass?j|usJJXWrb)9YP5xn}Bo=Rzj`#HeM-WIfJtyKU=h)8b9;n@N?;RCXE@
znE{3V3W?%EjZGRp)nBcWZ*<Ntlt%RFf4_P286rN12(Kk~GOHk6uRN$e(o~taaqE%F
zq?2#neC5V_wf%u5y!*7Wm`Js&PK!tNPrY6dbfVsv8M;$%#5;KP&fhe}r5e8{mT?)A
zLL(~*Y+18KeUDX3m<0xhASdaa<R5OP{G+pDNbA)T7WfneoT{4Z+myPR6kN!pwHy(9
zRnNt2npr|v@tjGI#6fXTWt|%mWOAx{HYDvL17Ooprx8Tyek}BCMJ}{<*3V-4{lU%~
zbRL+W8j62T@=v<lK{m@BK7R}4agTJ*HkfaI9E#z2rC;`&sQP{6aQ3m@KkDhPo62w7
zS-=c36`&-;E;LgmSIT&O85yEj70VP|2x?)MIV!*Q=)4bl3Hsltj;)X!d=CV4!Nw`}
zk>yy(WH=L9h~+I3BslU7Szp)=D#Ws$lxNiriI#`{b?4UNK&Et6$6vM(u)M%rN-8N~
zHpxYS(E`tPYFRp<jzIpSX%G;BGP>2}0dNrk(0O$6iz!oR=p(Lbh9M<|E4s{G5In>f
zbu7paK<Cy4Qx8J`FR`H^CuCFA18)<DkU%Fv9zj!@x-KzY1$kYXWy9&()H~70#5~Kn
zySHz)TL&rL+ZxN}bw)zf`T}E0M){@e-h90QN`7oA&7=_74x*|9gzvMoipmAQ>A$o0
zRD<=xS$z1lY=rtsfOUGG?$HvXzq;kMQA7`89*EhK!%jdAPgJf=uP|&E=K9H+qz473
zx-|;t_EwlG^tH3P)d;&2Y|9jK-Z0-^jTb#a(Yd~wx#G#*>2xyPtMvDwh^OK{VnxQw
z?P4_54f?T&DSk%W|44#?BUZ^#ptNkg_iJ)cZ82YHvUD;y$#xD1DUq-NMZNj<qNcV~
z?)Q*<{NYIUx7xDQ(O$%s$5`H8?Q6o5@?sYRkYVc*n444}srPogRPo9SLD3;OZzPy)
zE0&{Dd&u(R+llu<H%b*s3$JxbP1^iiVK4!VI*z@)SpcHeJ>Oe#vRjdwYKq%@({ai#
zgRq4>b5SY1^H&-TmY%-#DD*u+$M4mVt4)_;ef6fVwC5HUe=-vbGdl#|-grAR7{p$Z
zy`DU3M3>}$f}|ryl-`BC`#w=qUpFFI;qERyJM*o+KL2^r#bzNe>8zbetkLhDmh{}x
z{mBpAK0VA&(Kl$C>zjrieL%bV&Td?9Xr6rUe`|#tFBO7Sx;7mL#=f&%e%jD#S?8-X
z2S`A#hGe|<lnYsrUOfGCy?LrlK4$;jU1Gh;C3$syAi?<!qq?itii&*P<y?z{fFg*p
zw?0D;K;`6HLkIh(s)?<ZMaJO9PQCzUk0@W7g-?fMDxI#v6WqNi=W)>0%)TzXf5H;y
zSYuDkw;f_|#R_k*de_s^3QvFbIkwA9eFcgi9-uu}M3tJpOtvee7R&sQ>{ab*{_#Gr
zJIX>hxT(KUKj^9F)~dp@nJ=g^#hkH<doSxJm>ek|!rR|@%8xY-RRe>w;-7t2+;1A*
z)7j4f%dYDWR}4}at4eA8D6+FnqbYKX)K`KV=622Bo|X{`l-~QSgK|dl|0$Pqueb}Z
z4!k#vQGVN$w5GlNaO^`&-AygtO{cM(Nx?}cUNLEp%deZKj9fyqZZZCHz1;F?Z8yhC
zuQk=73;6yNf#)6&=NN%^@qginP3OTevZk%fDBDsiYp;x@YMHsdOr9}S|EByWXsUUh
z)Ew&Z4uC%SoiqCB({aMCc9Ln@avNKijn+^*?Ok<HXrmNN8JmvrcEoA__BP?@Lo<Z4
zwJhiA9?^u(8DsxKKrj~fNBM%XJgUJ8LgGZ7FaUUPs}N``q2adtgHI~9oWCp!*EIh=
zxChU{j6P}Sxr&)7S#DXUgYF}kisD4ZuMYsOnkq#s!ElTBxgIv2O`KPy>=t&yP*}XG
zjNH-BuQ}CUX~EyeQo^eK35zMDUDrEE!=<W~@>F5V@;%xC?szcq57tC7$BEgoOUUU5
zx?9C2rBPV47<h6D)5hp0-ZRN(<953>ODzJ@-w7$<|2_g!Mm^{ZGK(?zH%*}b$-)%0
z<<7gv6TJjke)w$=^iwN5{N-bEAxD-gJ)cBqTe4jAzEC#D3uGK~*22_AEtr#lF#S-b
z5A&)hKCAg^!f;#R=yyZ?7D*)|x<e1(5gPwMX}TkEy*<uCz0mZOVh9exfC75mVKjyM
z4BrV@XaN@J{H<4>1<9C;g<UL4(W2??ffh3P`4_QETb;@!NQPGO4$l|45;F7x2@PQ}
z5;42%L4iF-*7J0NjAH4Mu)0_fv<u5=+oAJZABaXWngO-9VE?&a06V&S>n>vnmMS~>
zdx<Y#W`K8u#pKi_VP<wmmg@T8(d3)kHxSB(SCaJE5WE($y*eU>!aN<)_J%>q1%iHg
zL4}?2${=BTgK1Hi=1B*;n*rBCry`<*lie`HF;Afar!7NN7ct<oDhMKXN>_Ana>Oa1
zdX*!vM-K{wOs@6-FNel=(vbL}(Kxi<HANIwOB)Q&?F1e4+0&%3GsNnhboBA!fCKGX
zr2a(Oc&=#F$11m<6bSgfabXFc?g37UW9ZnUU6*30HTQ~<YfOi;O97Rx@xBv(02WfF
zA2i3qs$Xf#B=TP==IX;qL6?5l-Qc|-!#RPR0<Pz|T$fXX?Kr0Z8)ON4*D>2^9g+br
z16WhUP&~S5KY=Q!MZ+VeY^Wq)$cxX@A;k%jI#mk=wa8#SRYUC_gAfleuaV(lLXrBa
zK0m2bZWSmcLY$a4P&z0Qe1#O06EX{XajbAt%#6%)1u4d0VpW0FIl&4&kG<jnPUT5w
zbTpC^0Kv98zi7mFuR>OykKCc@abb(EW$Okh8rSK^+oR%dpyPX@$8N7CIHtur*$?#8
z@|tJSSST0gkHp`h#Jh+fyRo7xxe(RO+obogtyi!#GJu2|1ofxIx5J)4I0Uh>7$}vm
zTv=FA<S|fb#A%{<Iliyx)Znyg!J0C0(&dKQ%5l;qu0gfJBIV$2bK-<+p794m#gTTy
z4{?(dR71WwkeZ`ApIKZ;ZKpgQ;6V`aZ5}sMycs<JbM+h66#y}Kz{Q*6y8Mt&N=PgM
z=8_ilE7MrLT=N`&1ziw!Lz3@0-<M4Mm#pUr55gd`2fdFg^s%+pOoQghb7qDZ&)WxI
z9tZ)L{QIuui#jv8O3t)10~{F!W^VVqzCJU7Sk-48H*j$-O5!Zx1>Dwgb5%qb2rG98
z-S*H@?2u*vA6yYplra!Z>QHmM=k1I$yjkECCg!zZ=v~vPiTx?dA{KmLaHWeZP;t*U
z-&?-z=P|G4kUz7)BQo6u_!&>S)6H2sn%5774B({<*Tl$r(F5t_9kxLU&#aPeOxo4?
zQ{zvOiM4pErrW89)0Qb1(b=8#ug|?^fuQ+9ua@>(o)qBKRY3Gt@$7)-cMc8cQ9yPS
zkdXt(wi=f-0hZ^8drT+_ngh#^>#IFCbbA%2S!<|a)u~8pz#HMJAJADS7biY0$U9eb
z*xng0)+>j(XJlc(7r7p%X{wQBz(xz4D3U1OeELKvW16k!NZqb}RZLgA6C@Fbe2z;(
zgB$G`c)Ib}Ew`U@Z{ZyH##LJV6Q&(n=3T_F-hUFBXIM|2`JmN$Zoqn$JZiL_*r?ov
z$Y*e*ygfm0JPh)A|M1N%SN6&mZyJ|}?SNqMXkc>?kdaL0NCVv;br;H7*U_XdswcS$
zONhA3b!dwbHM78)qz(}TG4~8uYy#F=6(oKD@%D9UBHvE>tjikxB$yDjcwVVS-!H#c
z0ZxAF-{kF(i-Q7;^>_?K^RPflmkvWZa0{Hq^cr&WDb4L~x*~?68l#}Emw0E=Rep@}
z9ggxtzR@sT7mQ7#O-~EU=@)Xv4!YoUD>`5dWX7sNk#@hek+%=;OE!ePi;VGQO?fx9
zIc(=NF}f<A`!!2@04LxL+9ctMYC1Ip3}j2do70BENRSp~Lr4OoHEk$YXrs+0p*3!(
zgz22$i{lx0<(m`is4>*W|I`{W^mdlu#dK=gm&jT5Di@M}+?QDkp!x}m-6}i;D`5<k
zeEMA_*bGA<+KxD_Ekj-4QhJ1;9`9vj_m~3XxZ;e9UDB8q`9o7tfQqL-OXRyZ@xP|{
zDu*eYGk<>Q#Ni}p;{*_K1`EPG27zQ~u7FG&PPN0h$MA^GKzPJwDNep9W;NKXV0qc~
z@P@~v{~hHIpvidy&&eWKR^Zw~<s_zJ=Z`$~h;29H`fZ^~z|@P&gq!)2*+I32S|K>K
z=(nJ&KXpKF=LfcRG7QyNJ_M!V)ItpL7Q{mZnU0@Jn$hJtHw#oycSEs;3@FgQdd%c{
zAhoB80X9Yr`wdt`yaC*L3g@1{Rt5KUF3S<m6t_ZXZ5fc%*uTwHtiR|OhN~{?Jt*>*
zos#2Xa(M8D4MXLr8dI6lq;yF3{bD65yjNCW%dF<4K4-i3z(lg>O2cjdT7m7p0&}7Q
zZzmULfdb!Jwc9vGovV_Ys^DjoQ_8qk;_A%HUo$;l%_pxYY-qyuPGJ;SBhpV`5=IE!
z-K&xe5)M@4+gG@9O;O^riKvpiSY}O`kD~bNy~|NSJMlHrm4pY$aiZ!S!s;E8;~je&
zU$wJ9P<k2F=b(^UoMfSX1PRBDyr<Tv&uZG+X*}1Jt;kzkBXup9TC>OXSy8o^aEEaO
zXFkE;sQ4kbQxN+=V+SONglQu>=&&$to;Vg6Q?1X`;LwoysaOT&l}cs1kGjF{R60xf
zy*`Qr?hE3{n66!(L>NQ~mY=^LOa}AI=$8fcstUv|$idV(+KsQnjzpJr5+CSpE15BG
z3mXOjzz6*F%K9I3!bS{5(FkpHr)1#}m#Tr#cn8Nn(AA?LEi6t30TSDZn^#p99zY5S
z#9q!4(|T?wstsi3Xy=hJm9GMdV}YzlpvK&aR2nuR%#iIQMNr7i)O3HX=8jorsCa5E
zS7xnwLp8FOd=J^q<ZG%0-C9ruNmhZs|6EZN==ii?sMIBB8YM4Q2v(#88G?BvssL=>
z9fA=^sVcChdaSGih+g|p=br(CKs$#KHICE!uFjnPCA6Ow&wmfIej4fF_@8Qfsp4A@
zT8s>muB?*|3>HGia$;kd2aq%WUWRh4?l=7w<S^V91uZeje1^^mHYzJlw|Bq73DDF9
zmxKB7NWmwDY-X|Ky;$vco$^&kL6)-6sKcPzPN{OS{n9d>*Q#qV2O+YvTv_@&EFk+&
zz0H5^ni;#I*3_(9^@r+?7><KQ`c)-nCvN=ikonQka^F;2z(A$%jj*?&t{Jb^#YPY}
zPY~5}Nz=gN2`EGjrj6~OD@-w@k5vUQ+wB7wY1`xef#4$5>L*w(QkY_dhXHY&lu;fj
zuMidPC%^-^qTSBaI#`ruru2=9yJruiA(QWg#Qr%8X8@}={tvc5Nx!nOfV=Uky+U#^
zLxN*RJIpoRE-E}oT^<g18oGlx|0STBGwMhtbV#=nv_nDO!3wm)G{k@$1Oqg{xpHK+
ziMFJ8C$OGlEOTsXrviG8ulH&T8j<|dJfwgXqzULDUQ_sk-O+-1s)M@S4cnmJ9DIYh
z+`|sM$dRN&wzZu(+~VgAL+z<<={b3NzBX+8vy@M{72{bf<$x3%ke+Qv^VxwohaG<=
z$Cr!mJ(l@l277Y+V}~<GI&1aa-hmK|IO=@%I$t)kW8oGQK@ej#2~bDHdcegNdJFG(
zZ4n9I>;SUb0~2Im1C-mG#NP{O|A^)2g@(k%3l4w^w15=!uBUTJ+&K=*K0w8kU=EH>
z1WsTDvbxr~`m0B|tPeOG563XL!7Y=N2UNv69`p~-LnDa7;U>p9ghD4UW+Tw`u#dBw
zyDcN6LOTp<vcoeUR5m-vk|Lx-c?)+`sd#d*xQUW?X$N{9NI`lpN9JxWxZkh1(^gDy
zfH~B|D%=h}(4;#6QpkP;h_Hi4fP}o0!<yiOm1NAmcf`CTNGMhe6*&nBRS(YLBD5lW
zs6n|}H$3v9R}@H<3c$b~fb(^1IWGWia@511La!l2J1;;l;X}ff7q%cA0*9mXDxg3V
z)IbYdfi^r`gVg{K!1>8%|23e40}`<Ca!hnZV{ZKxJw6|Lpmos~WkJDEghgP46%-E?
z#NO4z(8&=w`8dVbI|V<4Vu%b*+Yrh>JOcx;EK^>^0>BX4gPPm_Gu#U>fd@k-T*4{j
zLX72lcU<*&*F!hd>lfbRVV*p{mV-CcICB^rJP-pnfd4u`!!l>Pa(KhfQyrvEJ9VhA
z=aasn1B)ZB8M)U3K<Hs$%OAK8F>>%ws0QD*C=wh<krz*ct$+WXMIhI&&5eKbTu{Py
z(cirtR!08wm$4n775Mxe(|GY5f_<SHDCCg?h{cOPfd&;ilxR_-N0BB~x|C^Cr%$0q
zmAX_}CINo1X4Sft|EnKInUswaJC<x&vuDw!RlAmLTeolF#+5slZe6=`t2%Ndh8D44
ze}fV83z+a<X6z6rR=k*TW5<snN0uykn-gt`#hsxv8L_x6F`yXZJeqWA)2C6VR=t{a
zYuB$&qY~rj(xtD;rsmeY8>qfOAm076*Q5x(crFU1{5i5;G6RL;Wv~TP*aLF>+6=)5
zQY1-}D1X}Xfv1HUmB$iXgL#a>KVb~6{Zr1HetrA*@#oi{yXw`h|GB#Dt^o-w(7*!`
zOi)1t^V+Mg!XPZ{FxV)p@U?YtIps17IqcBG4?zr3L<(i2%{H+1OYuJ6fV=1!1YE(6
z1dH|=hMaq1|G~#N<m@>j3w(yNjw6qHwBo0dPEt;vPYReRCIY0u=N>I=*bavvF3M+?
z`Bd!E%P+wUlehi=EHf(s7fe&lHQ8*_%>o<bYp@6-oN&ZD@yt`tJ^Ad@PY_G2?KUw9
zU5drv{<)`#8-Uz`01PCsz?OJYnBav5gm`D4Um%!3127o4E<1emS>=NP7)27ipW^vo
z2$GJmU<(W&2q8Xvz}aB}5ej&z&|iTKR@kUo@goc@!tkS&pvW|{Of=t&R@!N)t+uW>
zX^BSLZMp4MTWbCcSKM*QE!W(0CkymM+=gveD1U;gCmMEA+Q*w>$N>tTYTSW$IiOO4
zSI3}g|MDp&>%8G+K6{Hn)ZK?6j`&M<BEe#ci!a6^5_W!S*4h7{wN~VjNiJDUZ0Dp?
zLUdVf+2xmEj#)Bw2bI`n73<+d3mJ|)hJt)=4qE7;>5By8qc3(OC67N25G<3Sj#}!e
z*+N<6I%UpU>#e!&nnRjVBwB3U=0O4qpfAd133tYB+wHf3YQ<utF~(xqf0%AstB|Sg
z+wZ@pwVE(uMlnPVQh-@m#Cc5Nrb2Pda0Rw<pmCfXc%YfLG;|DECr@$Q*f6nhViC<W
z$}PuSbJ95Xe6n(Yfd&}YFOS`J+P6VNbgy|I4QzJd4jw9h{1x8#<K6XxZlwLVC~v*7
z|Kc0)>8Y=tK*9eS=8zV0_yL7dQnnMsa}L@4F?(c5g)?xBKn1pG^629mcDBib4$B=A
zhYn{H%jSMO;c*BdD8?HkP=Er4;11KkPk!{XAO0GnKmH}ge-L~OJXVnh4chNA@z|gS
zZ?Pe9AVCtnGa+YwhddRokcBOLSQwUfv@kf&D$sLUSge;r9qzC#*ds<FVz38V1cMb2
z65odu$Qg7r!hMrbhdL+(KRQqYgZ7JzJ@U{*#Q4v2BiaTM6rq@P45AYw7(zQ1Xg?}u
zkPcVOV*lvSMaW=~4(nJ)Gvdb%JJKT$Ayf<obzr^|4pK2Gbm1WpnMg(QW^OT@{{j|h
zC;(?nl9H2*MkOg34QWW@lFpDG4?!8q>S1pfchCX&=yXI5q2m{acm@9AVG3}_f)S&D
zqCI{g3qc&>7nRTk6eGw5ELa9M{#(T@%0Y)+)Uh0<NQC`nftY(F;+b?vL>t-RzgMh+
z4!0P`V<1-tBgjFVVJt@_p1=bm%mFdwu)`Y^=*~evu^p=*!S0?|4<($@G{!`xGMVX2
zXiAfs_Pgd5>9Eaie$z2@M9ez4DG$Wp5f!vU3^+Ux3&wOqLxeP;Ar~1^k&cw4|7c_k
zA&EDuV3MURt>h;~8B>`?O>o3$Miii62P8OQ61fOpi0;vhWiUc=h*?G>|LP!ACbFX(
z%{WIRFwqQKKBgR+0ODpKQx8q(g{zOyg=3~chhFr-e__>zJ-XSAUA!?Jx5!2xn{f*?
zzO|cc^~7Vq!GbaHAqIP00Xxv)1V@~r5-eb6He;X&42HlM3arN+iU3T-)Pn>GT%cIV
zN(Zx|^%iPnt6SkJ*KFGF7Iu9MMEhVzha!fLw|K{5>=6YkECwE`U_l`~+B=Yzl()V0
z?b}Yeyp;CGrNzZ0OlO*0<pwSjdXW=gIPrrVI3W&OKtWIEq)H2^qaEb4oIIZD3U}N?
z6p(O7JKC{CMYJP{kO2o0unNvIC<F-#F+vy{6V`6z;h6q&9X#ZL|5|y#gB{}Nqhi33
z2V=;i9(|PTV&Z`UU1S3V#+U{P9$XJT4DfRHtOOV_6NM}^1|IuFV`=ouU$@o~F#r}Y
zfem~M1S^=q4sIwnZy}Dg`jH(JWlV#Uuo!jh0to8Mt=D$@TO}`<$-@dR-G;kT<4zg5
z%eC^A7gW<`_@D$ny=f8@2cqsCf?w<yvo_jM4_@pcF-z29WWZqoIXdRVlL_lOmN|=M
z+Ho6a*kB(d$_^}|BGBvrM;zCI!9L*C2(icp5L_`0AZWuJuSh2kXdnc0wDS%u$bw|W
z;R7oaIx+C5Y<ov@=REIu9ew_Dpa)&(LmMN}t621nH`q<u|F!lV4=%?Ygz(@e9$B}u
z5meZkoNQ$;J4H`MT9hR@W#d*E%hk5FT?7Y=o9aLr!5GFCbP(nbjk(P2SjHi)p$>TP
z0uoSk2R)WLnfJ!mG42e*z3*)XdMoD6-MGa%!YYp)ucI8cUWY{Y`)2>v`qqsBM}@Ny
z0&ZNG9lMBu9D)IjJN#9ecW6Nt>KxnIGN#1*L~$Mc4RAULypIGoIKtmZ!8$Vhg50#D
zMSC1`#r!(5#P(>CnH_YY54|bQJ{q*8J?*Dmo9Ru*c5@vxr*G?k7TS(N5^_Np?ON!}
zXmkhpE~92ba97armJB#z;ED$`#@_f2gBjk;@0kbq|IW4!@H*nx55x@m;0U!whx?#+
z#H3?>h}nh_T=8gKNID%GhT>y69>5S-9KTG>LlGK7S<5CS9pP9zWA1!#l?&L8dEa{$
z`<_iY{9Vz4X9wX+9nr?{dNKD9F=IOad7r}!=tTGZ?}2ahx<xYS#ih2>k)Qmr_z;La
zEi4?e4w$W1=<8%Y@0r!1=0^b29-`R3ygl&M*Mwf8b#EiU^A5#wv|Q#lw|k3M!2<k(
z0|<_m_=Oj1jCSlI)0@slV%y;mLSRDza0Z0T7=mF0f*=(vr=DWqupWc_*unhth=KY+
z{n!to+z-&;PyQat;8O4PoS}Yh!5J)S8xm_V{~QnkcTZ+|5BOj(29r(rGKTnyuceMp
z`E-!!d}tW>pap242B0ANqz^>YOc0O|2_eDU(2X6$4w$+N2^m5Be(Vlt00^%z$Xesh
z^k@R>$iOs+4r~p;wrGP0&3{<W)&vh87~!@q3gUoZ@h0u2YJdiSVB-MG2S$t??ja9!
zfE=KReJYO~ykP_m=zwnE8q6&Ia0@cH&~xq#4DDwO1MRIe=nPj6@Yb*m8<CDgFEJAA
zg9ste+Tj;Qpw1AZp4_knv*rb5@D*W^q-gMwZ14t;Yw30{7j@8wf}s|0;SvzXh{Vjy
zt`9NXVILAh_vE1+bT33)=k5Y5z`Wt+{}{uL0?m%}$Qmt*)Er~LfI*Jrq0rWD{iHwz
z%?vSs=^nNq*d*f_wNV<WaWSm%p*-j20!%STEd<5r=0flussNrA<JW8e=UCBYTv5sP
z;T7V55`H2d48aZJgDBuZ8%QD<Mu2Ua0vkwx930XN*1!!QAtITgAMPMZqGBJy!C{(0
z9NvH*41pjl5+j)+At}Kg-asW|5n^T$>1^>9aYz?|(&@10YKpKRS0f+YaWU>OF(ir`
zL8LMSi7`fK5GMmE5o0NtavRyfDH($+AwwOqK?#^~G0*|Tj51~p^0$0r09xc9umJ)N
zz!ivMC7eVia55<}f*kB&2Vh_d|DIq68lVX7(kQS)JEDR+o?;~^;2wOS5dOg~ouVHC
zVF=D)CUR0@cCr?Ga*}c|C_Ph@hLR|QVfxO}G`x~)2+}mi1r<w^YtpiXl)>%X4tV~-
zH)5b7@Sz{{AP3^|C&~d9jDb01fdPym9AY8@+yNR&K_%+}7IFkA%7GQGAusI#2aMz&
z_8}P>APas19&mvcRMI<1Azy~%BJ=?oU_lpBq93&3JW&BA%HcbM!ymT61?C_efTkaY
zp%l<29mt^`aKR@o0vjkG)ErYL++i4I!C}rbJ?mv0@Sz+?p&tN&GA;8mb<&Y)P^F@6
zGdU9%KQly^D>R9cG+XmT|4}qWS>`oa2p@8w00sa?VKfKkLmvQP2Dac;=z#?)!2w(W
zAM$|@8XyNwU?byU2MB-$V&E|mU<+E{1O}oue}MpM-~>FtB1(lyTc8R;r8=+kANt`B
zer6x0Aq8UK1r~rI_hA=OU;}<211JGIf<Q`|z)e4(1jr#K79a{#U<C956fhtLP9RP1
zp$rND18N{jwqXZ0-~}AOJg@@>Uf|;b<{1{VF&}eJtMp0}rA~j~PV;3ROrQz^l_M+^
zZ7|ebGLu6+l#)7AL}8VBu*F+wm0Q3?MR7G(byZwgl!d}!0%UXmFyI@4!bVph87ROV
zo`D3;VF7+r7!trD|E6RJ{J|IM(g5b*9fspo;-Lc=;vT$U1>T`s%_B&z!Ap-s7!be~
z=D|L5Qx$$D9!ww$_5mN-AvZgsHYrj#j=)Hcp#iMGU)CWw`T-Hdl{<6<Twg*TWMN(T
zAr01*OZ?#-{DEGc#7GKN21sRJi{u~X;RD2#Bw#`wQZ-^$mAG2flRz|9S(b-L^lD6W
zS7ml)X_hs5m4z}v0%EiPGC?SOV+F)R5z4>{vLORvqzr5z7l0ub5P<{sAurDZK57#X
zWWXO};Q=D@84_S0WML+_wo9$^NM1x9ptTihAsBXH0sP@TP_-~eq8>J34c1^$VnS-o
zvl-%G4YnXu{}A>cj>9oO!UWU+J9y?OVj?|UL~7wyZWjd~L^U}|R%lLE%3AeRTlR8k
z3hJIqG>fukJ@<1#w=`~+g~9+vXUJz=VjmCz1|+3fT|rScAR!V$2=+lH^5r=5#YSzw
zA3mW15Tz#mlmq6II>YuNZenY3LMM1)A9`0M%ab0600r`v33$eKFM=QRU;)ek5BMNG
z`W76dV<hguI{BdtUd3>&_a6!ddZl*_sMljdB61~HLurv!Q`T}ZH-AS4dw@X`9>Ed*
z*AfsXyHH~rzF-XIEOZrkfp>3oSI9+abSR7!AF=^t{{eiDmQjv`E^pU*^#Kv8mTk`?
z0o=oD|5X8Ozf@6Hpl)x4B;G?L|G{mAVI~OoF)g!Q)zlZ@qi_FqBt&&^M+JS;V?Ekq
zhV!L{aaewXW^y~!L-ALCp_sXx>p}kFrm*k|rNE~;w={;q6r#WenvsFUc#ONofmbLT
z!htA^6-=WcPhA%uo?!tL;UdaGF0o-<&*NumGZ1)2Ub%BP`q%`FWH{iXI!7!WUcn2}
z^dqh$OSWVl8u=f*;T_5oJqThNB)|q9Q;$7XaD}4@(xYQz*b6{lBS0ZN%GWTB;z^=p
zN_JOkZGlWP*>U4niEW07Q&wevGKzUQbEi0EY9VpZHU=g^+)N`GNWg-~c$t|QEsbqm
z|AcOWf#MuAfFb+g5Iz6{PQU=TQyn3|0QSL%r&g2KG@B)W1mYt*v-wlHbO#0?MmGQo
z<WfFzWmkGdN3uaz2GtcfVot%80A2tE%Ak5JQy&-s0x*D`uc1^<g;D5%2_`@S79crN
znM>X!R%WGE)WaUMU{?fMW0TmHF_V6IvT|3pmr+_|Ubd8GV2HF%HIiWfn|Y>bx@F8*
z+4_MQxIra}XO;WG8TPe1t>GAl0w#ijVH^e@_8}UKA*r#`UbJB_yR%`6=OUEDUaG;O
zkwQoOAz`lCt3{e<aQS{uI;G88T3+@QazF~8!I(=UrlYc^<$A93<fg;=uJKww|Hj&+
zcloUS`b|g_7!Cmig7KwOV;aJbt`&Q+@5HY2`mrH9H}=|z%lfY^JIgeeiUGr>u8s(|
z*fj2euR?>dNxQU3<e6(GvQ>Mv^JB6%^NBAzw&Q|CEp89G&8<m89B^t9;@Y%*`?qHX
zwULdriMzO`!nJ!6wq<*{t0uEk#@p_I1cF%@QKKEEp~8SWyR|!Agqt>v`@6wADUjP1
zm7BTE`z(f%7+&EAq(GQ)n={k_nU#6F>3h2!JG}AxvB&!c%lo|jTP%iBusy(Ru_iU(
zy1o&-zVAD~8C<0IyZHM1zt7u;ltCGu+ptfgp6)5ZIXt@;yum@dWFI`~{~}z%nLE7&
zLuF#tF?yj2TA&;|JjPA?!$Z8rV{yc#t;9`SwqI7oQKKAAA%SIl$mN>GZT!e#5XY&k
zvUj}6%c93qiO8i~%8eY!t$gT|T<QAS$+?^?;sh6lp&5o@6vBMW%bd)`oXm%z9^j$P
z-TckrJkI5O&gs0)?flO1JkRxf&-uL1{rt}XJ<tVx&<VZJ4gJvjycoLs${GExv)uTY
zyvv(BPDTL}EdA0kJ<~0n6Y`-RJpI!_J=8^g)JeV6P5snSJ=Ilx)mgpOUH#QzJ=SG?
z)@i-gZT;49-PONg(Hp(j<#)W9VHhF-57r<K+~5&Nff;;K(wTkv|1@_LI6>2;{n9x-
z*RB29u|3<hecQRc+r9nU!QIq%-9%Cw787y}JkktqQa?139M0Vg;(!oP)k{!Ps(oEm
zNm?_VA=nLp3;;M2U_lciVGRyP**|p4n|;!sJ=!r{6NVworM=qg0UW--4X7d9F+Srp
ze&ad5<30Z4Q+?cz&AVmLHxA$l{PGIyT{rU5<guU%pcIC?1TpXZW?UN@BH<L2fs&Y^
z=apd;AR!n!Nyihumnog$Eu9te1t!D+={LR8>p>j6SO?$%<gNbdu|Dgye(O12<e@ny
z4<#u40UB6A8`iTup#c^2!5ku#6yif4hT%Cc0v?8e6oR_t|9>Mm<{<^ZBR;{?cp+3m
zgM;qv{wMqsK#f5qBotM>^Y7`?KJn8$$zCK6KS2MXIa?v9YhJJO-F}O&=Q~N4i(b-?
z{?a$WBD%pw_F)?`UE)1Gro92`xqkL(zxHka_PO5c%l#F@{wMB14;r8bBp_4tlut)M
zR9*Z94!{zkpawnw1lT4UM4$$KfB=33BQzrHO(F>P0Z;{Xk&!=8|3Uhx-}><(QfYt&
z8bAtu@C0B)smt_C3AGFcKm}?5OYDIO+;siVzYPEa#)}sIk~OIDBSRs4{~9`c2r;6>
zi4-eZyofQQ#*G|1dTfYgipY^9r(kKQERz6dEL*x%|AwnoF=j4XI?AMMoX(v*d;0td
zG^o&_M2i|diZrRxrA(VTU7FI7BQc{mVY;g68b3~)bp2~~H7uum^~%;uhT@yqwQSqE
zeG50P+_`k?+P#Z6uim|U`}+M0II!Tsb-#&mbm`JfWgi<mehe9+zCZ__h*YyrRRUZ8
z;+e4G?^pvX4d<n>;f`OL1BLd*>rm)lJ#zT)O|xLj-?IqhCWCml4_gB@_}0Dq*AEd0
zeDgl6IPPzD?c26gC%A^s7l9)9?s>Vv+{GMx{ZvsPN6$s<fBDLw#+OY4CDjNx^V2fq
zA3lA@Bm4gkV1NSt7g9+jo%ByiE7jCeGi$6d|3)#*xIs%aE-m&{h8k|jVTT@m2%?8k
zO;uG`n7HDPIJl70&o(AvGS*tj08tECgx!c^jymqhV~;-m2xO4;7>1Z)I1Pwok{(UA
zKpbntK}kN}HN;OFGK9v!HKnQdPiE)+bI%c^{nL#hYk&dUKfCo7NC6m}K!6bB{G(4Z
zPHw>fIrEsXkV9pj30sxmb=CnTU48<BKf)x?N-e?cvVbk=8T!wjaO46^Gh$XL1C?!{
zFv*-sj!J5&re;*2fg>TPAcHIogU2Mzu)z#8hLlnhh9U0CYp=fk3hag>Qe{<GnrPF|
zK485Vqgm6$kcy2$PD^dI)?SNkw%Wo)|72o|oeD0g`T+79Ltr*x1w;D;lIStKZE0v`
z6&x2PXvuWoL>!59poW^fO-4a3#gMblKm6#ifEjr3k>xxtP+Aba`tr+98AC7>j|Q$B
z3c^02G{8g1IRGK)!wrG+K@2&B%!3;3<=4<XV5C4m51fUIbIv+Dma3{Ip`?<l&NL$j
zEkqY%>m<@#h*PjmKMi%%Qa?3piC1m1aXH?+vsJNIHCxs_hs5B7H`|_#cG_yM&33ij
z8p+tsazEx<e+GZY5T~KNTdB$N(yN6P73aqspZKg<_d^cH>&tbMQfaY%dlvFC#v0gy
z&pwFab4-@{IW#H8>Y3~5#SQs`|9Ue`+%R|RuDjl|s;ma>D$zz0QcIbo&}387Q~wTp
z@WT6Awbz-va}QUZ{9_NZ($<5H4`f&ZPutdCkA3#qTmSaAuYZqG;>ikwfGhCvyU#IS
z_8qS(9JmAKrdD!|hync~&aT~+n$WL3O*CvWgUyd0^;5&(8j`V%Y3?`lz(Eiil8;&7
z!yaPt6bU%9k71Bwa17~3Dd^>eAdn7xBrKtTVrQV)EvP2Zu+<)jmJ3W2Emyu9o(*q^
z!yF2wcwspO@~pDF=9vg=^}q%SsIk2yDshQSY~o+KcO(-^(IMi4;2jDe0s=_k9eWei
z;<}`YdBu-3+4ukkM9>4n|Kaa9577rBAb<f4fWdJA{6`tjm`2LA!F2J+00t5D4t#)P
z2NMuM0amb|ReWFo;1S0b;3xsy9Pn-gP=N$Ou(2s>a+4iF;emj*!kRE+7=|#z8qDAZ
zPcTSVI&7sYUnw;nVns{!U<MbP@rofn4=v$vqA!05%wTE{igDwlF&hGpfn~%W66uFC
zkhPIyx`UY$aV9i3vJY<*Lw}!h2t1-8s)+al9?H1pG0%xkhj@}CDioSCn86HSz(QcI
zVkIo^iO+m;NS0S=1#SM3qE~ngM!N(;HH3-Kger8QJ|bp19}3ZkN_3)+S?8)i>CTMy
zE+_izs7F6q6n+}3|0)Ch+VfTs0&hHzp)75wOJC|1hf;K=G_9#kk7-enw9}pO%!N;L
z!Mlxubf`ofsz_giRDzZz8&zn56krO~s7f`VGQFu)uZq>Ik}9V^OAzfC#EeZi=|QM0
z#nOaY)U>Mgl}AmgF3Td0Q7~hrQ?09A@4B|CYIU!C?W<oa!quHJs2O;Ggff)D48&T9
zX&havV;>v5wz}1%c)e>m%25x@Vz#oJ#g<<G3fj<$wx)r_D1)M5yTuC4o{(*=YkxJY
zTtH*Cw5_deXIl<<v_rSN-K}qX3*6rdH@L(du5pWt+~X=Yxy)UzbDIm@=ROx6=1PY{
zfZ+{zM0dN=|K+ZCy9?g$iZ{IE9j|%ItBb>UD~h9SuY2Fi$<lf?lrAA9Ei}s7*Xnn_
z`^<z?#DEHRu%jIUCh&j@j9>vPc)<*Au!A2A;Rs83!W6Esg)fZZ3{%(~{|JBpA|ZeP
z>?0DnFo%XujN%llc*QJkv5Q-b3iZMbzBI0}jpZiaR-HDiZn#7ye$0wm(6F)mEwYiB
zGOPf<c*#s|vXh@|;c;~72?0QYKkyNUR*VD6T<)@$zYOLI$GAw|yRn(ijAj7k_^UM`
zB_7`VW;Y0#u}7}6osE*@Fzb2Ge15VyfZ+&yi1-U(@B=YS+~-6qdeMv)@R-+I%rr}S
z(v-Hy|C;HWQPraL&YbS_PV(I7P>Y(;>i9-0I*gAm_#qeHP{*iW4eMBI_|Y@2w5@Ml
z=}Tvn8M$ahE;PMqPYb)wpq90<kL}`8quLCaXf?8*4Q*J{y3Dw)wzX-jYoQHetZPVR
zP+5}SVT=2<#g4YQ&kbQIi`WdX*fP4`4eu^bo4wbrx4r+GZ3fv&4z=JlCMY!IaSMFE
z<&L+(pRI0uu-n}SZ@9xxJnu-~d*T$oX})V>yOt#Ftl+NUz(4NTf<JuZjZXN&NsjWA
zJ2>KL-p4CWxdu68vLAPl!U!!w4<t~k;yjn)#a%KXUGQ$>bOyQ6)hcq8EB(tRZ}-xl
z|2}e-qj@q1paK=5V84A-$#fa{V$Z)$!k=s05PSGFH2z(oq91+jAWb^d-@fFgGaT-8
zH@DRPs*Et`eeZgYblvcgk2G-L9sOtn>l#uISj1w4<$wh(j^lNBaO37+uROTK&Jt$W
ziL7qGRlwN}`i{E2?xa7l+)I!8W8dAc_{c#42JrgV=U{}1tI~6-Btm`s;vgsR0B7>S
zhl9LeUSHgX4{UDv<cACMEQtm)Vv>tm0NWYi4!!krIQrCUU&5!~zV{owdcTHa0<j+e
z2EHK~%3y&DKk$J03eURNs6igyS;0QYXFh+dgMHI*K^Bw`fTzNInFkC%1yrAR|9uIl
zL)rIz4ag4476ACL2F>Pb4rqa47Jhz}2@(K%1&|35F&Q3UN?_oB{;+lOAPWzmC2EoY
z{D3!#;{sry0eupHHK-)a7gpR>Rvbrt9;bjmC_D^!fvKks4MAl*&=9TQY(vO|PnLmx
z6$Y;t1`^>L@RL6E0e_k!M*naQ2yhQg05c9@8WI2k@MD8#I3UbNScZjIiiLnc2#3ET
zgiTm?9Ohvl7J-I_XmrSjFeYQv23oB*dsLV|4S@{?;0lE&Lc)+I0Cfy4SO$Y4hAv<U
zTCf7-Kuu_<iI9PLs8ux6r*?5Dicm9$eF$|@wh#MoY7LQPduWQUIBS1M|8Joc4&g8n
z<H7;1CJtVpf`ZZ+Ch&j$b0yDk0E*Bh)xbXXpanA!PMheA9>IL}g<n26iq%Lw{xua!
z28*fpXOZwAW90}XwvFR>VNXb7lQ974NB}6XF^ZTuyI@8VKmuCQ4~GCpAMhJrbPr`P
zkI(3j9MOq9=3_uMXTfHT2e~VyNRA{|YQ5G959w=5xR4Y1VCG0^=Hd_5^bq3|4cc&X
zl=qJz30OXJQS+s3h5%=AR*)S>WC-b!B7%(oMv<ha4(8Ak=1_q%sgnw3ks|4n|2TlB
zwMx|Zl0`{1F{zC^sgz5JdOi7*PpOGPsZl-Hl16EjNQRV5sg+y#|8`CZm0uZvKL-tw
z00}cu6VNaUdq50}Ree|KmLZjuTq&1x`EXtdmUmfsVn<4GAP0|-35sDRazF~9_?CqU
zm;aTNbg7t&32k<XmycO-(WnWA5C?eR2ar$;%J7DU$(cc+kc<hMp{Zw%37Mr?Zv)6X
z(cpabM3kNBnmX~BqA8oR*<_??nzwmtQaO!P`I@g8o3sg>!HHtFiJQeKX}XzFZP}ZK
z`J2M&oX;s?#A%$<d1J`wPRhBQZ`qvC$(`NF4$?`T;rU+HxmvB6orSrb-l?9!37+EV
zo}opatjU|_iJoz}p7)8LJSmG3_n!S(og}GKrZtu2IiK|D|CZ^Qp9xBr?dhKlidFGB
zlm%*_R*9erYN1-mpz!5#Feh^jL37BL5jnSW4WSROzy(iW27>@U@L*07!J^>uq7J$<
z5W1NYs-5<Ep*aei8TwvSXLVSI8CwUE6XA6v3JM0`1b6@jF|aXfLJ_*bH>3ik%_yUn
z2cTW0V*@ImHrkmLs-s`JkUV--dB=Bq=Xd!7c!EcGhUXB8w|EcHc#p?E$ixlyfCFRV
z5d9zv3}6i5a2)yo4X~gK9ki!?+8^+M3v${e<A4w4Knhx-55w@L4$*kVU@rZj4H+~G
z$DyZu>Zet@d{-)1T3VxAN})Ikrm3o!Vro^bSAMcb|9gdKdtB27xwm^Y(0jiZd^Iq9
z?@)ZlXQv>FKs!JHG!O%Y@P!-j10PTV<PZ<UYOICe57UqWG4KKlU?_XiR4;G<mJkIs
zfRFG4d<~ETCqM$2cnk=z1vQWY3}6e-TCB$ks#Xf1qe`j<X{x7+n5xRJtGb_QHh$%I
ze(84r>(_qo$ENZ}e_mjJ_=gYr$A2YAKm-5-WFQIZ;tPDE570zGq>-^+Bp&2p9(r;b
zsj(WZ@fy<lh@5c`_z@bzArJmD1pe@`^BSu4Dxmj@ulZV(UfQoedx5NaRU6oWADDh3
zcqS6NM<}R*4e<;u_=1xtgEUy8XYc|85CXa3|D=ew2@kS5QwmUv(kPD-DGn1GUNR^3
zQZYJE3k8S>9FRUuJ1#c>wl*t(qMEZhOO-r(qx%Z9f2)*2dsR_508<Ep>|%xKY71HT
z30v5OUl@j^kpg6BhNt5X`v49p5CrMNH}pURDBvVaFpTfwF(4x{B=bdoGe*g}GAknl
zoI5AuGP+c1w>OBlCaJeO%eM&Wvw-WnP5G~qCWs&@K8KiywTcgnI47Y2iITV_m3WDn
zNF@yGFUu<o@1i$OiX~b?I;k5*fFn4ONIIzFF0l&;Hc-8_YbrEKn7iwez5BcI3wMHh
zRke7FfRKyqu#3Hzu)xSXO)!kbc#O%o|BU2t4{oqA{*bx(ferQHh?_C35`ex9d@~L7
zK<ptw-upgdq#FxhjQ>y$C{n(30tlT#!RlKo?5n%(TaEB5zb~wG^b1<(sE+K29LT#5
z@Q4BONRRf20r=>vCbN$ua1W0}01`j|IzTUvWIx_P055<7WzZ=_3<1OO4}(-lhZG*|
zBS!Ut9EV^=Ctv_s5E@@HF6c|eR*b?)qQWf6!ba)BFf7MW7rd5-ks9d`9O;n|!4Q`U
z4b;F*sM96cqz&8z5!tj&6Cu41(GSeP4TikNIMc>^`^GOB$8(Iy1}DRj%*i@4$=F%R
zKX}QROv>lB$(@YKcZ;*Qt5L*2{|s9i%DjuJrA*6ocgm@Z%eK49S$dX{U{=jwN_!BY
zu`J7eTg%5hzjd6;%dAOiSTrs)A++#qpiIoxH_FJ2&7yY8%*@S^p@wXr4AGo4nnuml
z40_j`&FQRY+uY6V{1IyC2A%K<a)30qGR@{`&ew;|>deohsm$&S&@+0wyzCOtU<%zf
z3Cb`Gejv^5o6ick&;2aX^7hXGZPD~flJ@En&*yp2zzW|+$qx;O5k1i*U7Hns(J4JD
z%%=>nAbl+1(VFSdB5lpHY|=L^YwWDjJFQLw&1Ur_XDzYNo^a0+O4Dmc(m1WuDW=mr
zz0=NI3}ZJ5<c!ZpeRN5^|I}HHVNLDSDIJXzvRJmVJ2P$7NNv+vjn;g|)m?4Tm{%)?
zz;DiA&||QYAzjurZOmz{*J_Q@U*~dzFr*%V4J5D+rU2M^ybW&v$q@0OLn@+-U2{X4
z52e&?kg$RqVGleoq8+ghpUOO%jhh2VN}T6;WPR5lht+$n+6%VUqg6$au^aby9p>_d
z+;I{8U<%_wq;*s}LuwB@00UF-1Ut|GMX=Ztksj;u5sw2VbZ|4KiJCCsYi3!hr)_kp
zz1pkY+BQX|Wf}%&%0?UM(R)m(j(4cTKnmBiCVN60CzAn`upfassL8^pj=B%)AS!?=
zsOGXb<-iIn2!Gy`|ET?8r(?1Y2JwH$G~f?`sH89_%nc9deNC7OsHhO%`wdXrARggB
zFy_!7{xIH`nyJIEsUi7uElmp0@MAwVkkswQ)*X7-o!xuA-8JQ^u!rM=NJWL{5ci-5
z2O$AMa2(^xs}<l6*&qT4K>%665Npy8e=vB+5eny#tjpT0`%?uN5CZ{T<;*%K+S&py
z-~i)+dznM6){3pnbEkRw2j{U5XMU~mvI{AotnZ!Nc9i5lu;dSW3=0qiDlh`~zyvLj
z175z5Zc+nMaOXY_<U$@A>dLO}y2xlKmXWXrZkCcoQ`9gX<7YkNpYDfbHjC93usA-j
zZN%eXv>Cr>{{{C~J`cNp(qS98F{Su`4GXX_1->5~TS3k790HVkyiOX;QHJ^;3)d0g
z4l^F*K>_bj;CW0wwxH}Hdmf&V1^a*x?SK!VBkR<WKBIv;8(SM4`wyYB?GKX~tL_<~
zAsX{1vq0(7^aW4OFn#lG+MF(KG7jomUE?-Iv<2XSha28^b9kKMg3j9ze}X2l;iMEa
zv(MnbveC6`usVg)Cjl<;UJD-V-4N+vKzk(HV+$#^@a(4p@$w+Hjshu)(uknLC1heI
z3%|W>I`I`BI_0h&2k$9Yatv|{2nZjQ@h&tTUDv~m?`ECX`>ymW*6%h&xQ3g41OJ8T
z(k1Ky|G67^FZr@B_d~j$Kmqko28dMdpBuWJ;&o;2xuClSqC2O|BPLn+F)TAOB){g#
z5()`Wx^fQ$TBtvvll2p$23^$gWWV;Ea`Tfi^~bR;?eZ?N3-7!9(+x61$ywD$?`itJ
z^f=x0Hl71I9`$x}@Ofh;72~`IWbuc?H?L6%{1Ud<Yb9+T;MY4RoU%Xtg7bwSq{5(r
zBUJL|vH~-Yk&JlRw{QBB!#VGwD6Vh#55o}2P5PqG^NoMLkDt+bE7X3VN|bNZmfvZZ
zpZO-e`88#~gvbHoP?PH5>gJOT=tGQWTMhXzKn0Y(cQXN=!@RjM4HCS?y}hy#3=lT(
z|IJH5;+j5H46gNSbK@U996|p5%Qp+3JsersrF-RN0i}l#CsrIN@}IYN^juKl*G9%W
zeuxaH@pp^@xqmei*zz|`f<SvmtV~o%X`d_vuJC2+pl08(2srftk}=WhRjgUHZspq5
z>sPR0#g4U#Wy)E!X{TVBs4SBJXL04mg@(z^qfB{O)tc+fQ6^>M1P>-$*zjS*i4`wq
z+}QDB$dM&ard-+bWVenSi9yBA^JmbZMUN(3+VpAEsa3CL-P-kQ*s*2Lrd`|iZQQv@
zqY~rj(xt!3$POo7-1u>?`T`ALKA?e`dUp!EAW&ptKSmHRd;qcZ0|pU2OccWR|19c6
zf4&9`!8h@q7XmL(l#wxT<@JXD-p8L`f1U|2FgW1=HU4RdJ$%5~VFD2fSmB}_m@8ld
zC|sE+!37(9aH$1PSilyQ3i&6S@4_4Jsq^%MPd@to(Pxzp2Dl+ailn1Xig#+d$wfeH
zK<-B%gA@`hv(!?Ht$*BttFO3*F$51Np>%_<xq`dwN-VR~a!W3|^peZWHtS3`GRrjc
zOf=I}b4@nebdxpSd;<=!A?vjB&av=m?;m)Id1udw;E6_?J^OJ+o3ZxU#~W?l`AShn
z9mT3oNiVc&Q9rf9#~-XPtrVYqqA{jYs|-bSD@Ys73ec<iB!^WzW0iGQ|E`KO5-lW^
zWOCQIqG8g?FM}0!SYnGcHp?(MdvjT4n|1bCXrq-jw>W<bj#g~5)plEMyY=>4aFMh1
z*0tJti`QWusl``kpoxT*zJNV;UV7`b_uk5q9dlZK`}Ox<fCCmdv})%RE?k5YR(N5C
z8+Q24ac|A_++Bx}gBEt7@uL)W<B}I&kV6)EWMTCk_+*q*R(WNXODp)=hhvs`W}0iZ
zdB}*3oOsE(pvhztH!jKRl1SXZxJtlCR(ffsn`X@9mZO$>YO1Ry^JO}3)_QBMyY@QV
zoR2h@XStljV~r^BkYkdLJx<zbxZ{=^U#P9N`)<7Rt{UruzxMlY|G)zmyjF5?9lNh+
zd>sZ7W#nRJ*N^9xd~(W>%|tV0_11iI&O3jW@4-VCeRR?t4m+)#cTL<GWpHVwn8$y8
zyK>rVxBcnM#q@l4-h20bHqc8Ket6=G7xHw&lcadpX4Y6^jAEKGy6wnsxBmLd>;8Rv
z?z{Irc;mwte|+-)LH?}NE5>7zX4qf`8beBncXsUSw;yipz1M$#{-*}Nd;kVefL}Xb
zxs*q?xisTq3M>ZvCLs-^1?GMeq~OT%*FOwqP=oyX-vB-MK@cvifaznB0%_3<Le!!g
z@r#|?Bv?Th#_(7d++YoDctbRGFoZkgVGm<9!ox8s8t~hL{{nM?iHpteg)(Gf6Ty_b
z%;8XqQ=}sBdSk7u`A~~n<YIAvctBn;!%1dXgBjf53E3^tiECsdW}vvQD#lTca}<pZ
zyLd-D=JAWV3L`Us0gGG|19J3hV<8Qx7#h-1k&CRM9rG9@ei(v`lU#!vt^un@W-?}b
zTpq7H>B2*XQj~>BBqL3E%I-N*lgGJ79iH%n9XQ~XPPpVMZTT=xBG4I}a9%Ha=?3{l
zaFoLgWhqg4Ok{FSmAAx-GQ#joXg;%VmjVO_Bn6LC<s=>C*vB~DQ4UsI<0|@qMmU*y
zPMj4EeL<YdE8-xBOu!-&t(fOtlt@f`w$Yf$<Yzyr|F%qY{sSL5D8K*;TF@L|QXipE
zz@D&S0b5KY9xf=vf2z=e7dT)J?Xd?FHt>T6NCA@pC23f4i8yAA!VvEyMJ=S!LSg1p
zrcB(YKW%!`lL0iK;h4Zd2Y`WZXhk{Jbk7m8@Q;0{;wJOpjyv=riv(OFA7!wCJC>pW
zkd#!bVmYZ0odJwZ;2{os2*x1QI8(IRuckO<Yg?tI(|~3|0tPKWCQ!xDJspJt@3@Ch
z{_&pzJ;ViS_zxU%0gPt&b*qc@N>@Eumo+>vjcKLq{nqMM%x1Pta1Ce}3K|Bk47E}r
zdT2!Fai4z##R~C&Kn-~CS{|rjq>QDlWBa0v|4~F@4Qqp`T&h=D;AZcQnk8;=nZ;Rj
z4m6=$*#}-r1qdCuq&<Ko3PmSM9@=KNE4FP?B;w!(NaW&^zYT7A<#t))rdPeOK`uJO
z5st2i_A1$sfB{7G*Mb}*A=hY$K|nPOoM>0T=2NEu`8XF&d{;9Ic7(d9M@aKV7=OcE
zZ-p&foAwI0xedL_dv^3!011dd6S2n@2!H_zKy<(Y=592a;RhJU7{(WS@L45%W2K?@
z!aL@%XELl^PGv>4Ryi#tC^ac(uw%9>E-7~(mpExeS;}n#C62AUG#&R?%j^9ylU+0n
zJ}899sP%H0%Tizxe$tcVy>grBmE|qR|CzX5W^z8xV1%ra7z-9MbDz1Z=E=HQ(D#C~
zoDJPpI<I&iLGE*-v+`#^$8^w>o*{(~eQ66P+R>Z#Gn&~M=|EFj)Wa$?rcI4ZO><h+
zD~2?v{Q}`p$68CJK6R}bnd(*Ny0)GMqpL$LYhYUrb8xhEv2luPT_?NAygsn6eGBVg
zM_V$qHg>hAh-_tNo0+W!HJhdVZQKpp+T-pgwzYlkOmaKY-UfHO4?}Ho#~Xv@Mt8lt
zsBS>B+ui#X47}z2Z|~9D-UII;zSXR6e!JV>0B893u4piVN1U++A1|~Mp74b?T;rV+
zxWqjkK#H%~;uqg{#y5WQymg$m|ND4F8RI~R0AmFkB#3!eW{#6>TIJ?pVR;#SPR2X~
zNgQv8WJGtq6>M5%=tU=Z$a#ful1tm<D5v_~9u6~tE9U@MsKN=vjFoL%VaZnsJ3d+>
zk%^R@=ewA~6HIJ`Crlx*K=Q{kC~yxSh)C^Psrz~Ae)qgLo!Omq_N#3i^^#k<>WdHf
z)w4Ko<$%CZ1hE1>)<KSX;6fYiU<Xpifsb;KLY(>-Ml1@Y4i(+t8;I(MI{a~YtLVcV
zdnyMki~%TooZ|pWaS=BFmGsNk!}hGI{q3`Y4GM@O@U5T7HZ!k__Vhy*3@`?Kk+1yw
z+S}=7MLgoC&Uo;rOy!J?|GcB_v4bGA1O_i?!9UDH4vS*+0G5bC4Vvoy2<&4O5STy<
zN`U`<0E88A6n_u~h2RH1Xn-6z0h+Ulb65c08!`hagBwu47We@O5CTWZhXh=}2DFO5
z!#fdqKlSqg8jt`DjE55-02+t^_XE7_tGDg@weI7$?+ZU144Cm-tn%9jY<P}(NCO10
zh4y$qf~YEfNP`0?gnfvI4j93xIFLOtkAFCaAv6##kO*Pe3H{K5A#lJ9$f|t+1)>6n
zFigUvz=wD+0omHZh`I+a#0r1N5hcSva!5ih%!V*TkpP=Rf2hNOo56dk!Hc`W96Ur0
za=dA>H{~b*0U-b(|F}cxng}DLD5O#<oan2eAi*{Wf+>uOzB(#1WC^M|tXx0@qN+j&
zw2F8LLw)!JYif!5zz2qq0e&b&U^vB8+zL*-0gmzkns~pDJ2Q1kv%-TqLL4<iL_}u%
z97U8k<)DB-;-(4wLQ0H^BD=&2Fh9TIME1BwZUO}ga0fDUhkIy(4afl=P)8xyhlx0c
zFtm!6xB-k%1DGfSw3~_*ILCBcM;>U$t{}lOuts|T#(faRVI;6({Ip{nxnu;kWo$-?
ze3KpAs`9%EDFnxCOsZ|{!cC0A`~b&)XvJ0_f}yxYUj#u1Tt%I;fL~yMh?2$jm`9WZ
z6h`C4C>+RN{|v?y8Ad^rw1;fBh@42GRFjI-s*99Iodn0CxI_+c2mR>AsL)4A5yo4r
zfh#=71yF>EC<i{P!g#cbbA$kgFpxC(h^1(Xy4%XG{7Rg>!+|6*VEhMcxWa_|$!9yf
zpoB=pD@wl<zh{iNq@0Lbv_?B@N{-~lkHm>>h!6&_L!?rV`nZlm_>L1WfTMaxmYj&B
za)7M5MHuh_>PQ00v`ozO3UAy={n!Escn+T&JYDiNWZX+Z8_K`DP24z2UAsxL;LU&N
z2WH>~QV}Xtl#~O}2WhCe-we*-Oh|Eo&B6mp+Ke{a#7*n8B00f2=cJi#sD!~%%5U6G
zTEWXI|C>&!>&xp*&uGz2@jQ-w*aakbgG%X#M99qcloj$cJoEgv>QqnvR1NmLPvd|U
z-xN?g$<Nu`PaNyd|7=i~2}}cxP!K{;hg48EV^9apP|yfa3GL8Lg3jnHPYaDT4AoE#
z<xmezQ4s>s5KYh#HLnsiQ3pj)6|GTlp-{bi(Kd@w8U0ThwNW75796FVa4-ck=mc&U
z2X8QiH!ufcNrn(GhH|)rB1i|s*oGKTgmoZ{DXmh<_y%A|(s2M&F)fTPO$RL1(#G%x
zT5wVr;?W*e&mRp^I-Qjvot$#`g8=}6a2SVjpsGF<mT>5WE2xG)wE=T*Q^GKZZEyia
z{|HpUIMhU)j7ELbai~;C9Sm<sgeJvQ#s~*lh=6K{AvlfG>zva%P1OTs(dcy1d&yG_
z&?rAGgB7sSap;CeAcaiT)M0RhQWy+n7*)aW24zUna?k`wC<aXp20v{BL{-vW{Z+xJ
z)O68>NOe{>9fnJgR>SayXcdfbU<$(u*A6hOYWN0a_=d$v2WA*mYJCK2?Kfc!2Vw{Z
zZ(xK3$c0)ER&C|haexL*xP&&PoKiJa+(cDXO;{kgQ_1lLKq!GS0D)@g2CDi7Z&(Ea
zsDTskfKDh3acBYz$N>o`0VxFpi8TjMO#pM4hW?|0kotyk@CEAo(;Enfj}6(8|22km
z00$HJff{%L1Aqf=pxJPk(gvu36bON8;08s#S&=1KanORFY5{SGf~ie{Z7_i<zyKB?
zTAuY;poN2Kh}s~q(ng&Fa9BYVh=DmUT8)j;bohm%rGXBZ14TVA^fXw#g$;yNSikim
zR&B@}U7B(*S#T)VKdn`!kOFuR2PWWC!te%bO^3wFf^bNN1xN*R=mssQ*>cd?bimwH
zh*<_ORH{k`$sGsEJpw6Ehi&+P5~zlBU<3q6g+omTS+IbP6$c_H+sK{V#F7F=byRLZ
zQ%4O4G=*KJJyh3)UD>7GRN!1GVA@Lk1_K;b+|}K2_}C!eTrd5GYPj3D|0&qLEy}+A
zTlD3sz;!lPtrv6fhCcuSZ_on@pjaF5hJ?UgU#Q)?U7;}ef+ny5n`K>Y&_hM|hHz+}
zFaU$P4F{Q(QVQ%-{{>(H=Gi$Y-mGm~3hV|in1Ol91U(=DVI7PK4&X~2taLEmIcSG)
zuwY}wRu@K76PN?eE!*Lp1Kcg$TkYTvrr$sHfIS#h@g3j1Eng!}jq~*&eK3VNxC(#R
z2KfYwqst0<K!TwA%{vgOt;h#Ssw7AdC$g{y9=Kw%*oSavP9SC2xhY%__y(RG1FG@{
zM4*819S3Y!03>zO#)JVfVuBS=(m9r63P9jr=l~}$gE}ZzZjf2i|Fr=$B?3OS13zZe
z4p4+76^D#C)Q{bO8pr`p)&Zs+j6Lq-6&PMitzJ{^Q=;95O72rk&Vr~Nf^;zDZ(w9|
z*yK+3WFh#5W&nc~1Om;S9P&NlW=!G%+J`NyCH-iEA{aZX*t@LAMvQEO@D#EgfPuE#
zfd(i7H0BB#F^;BGRW**A_l;j}fCohI045M%s9M^T9bIshg$Ec_4i;c@Fhffqg6ZYl
zn&pPWor7v%WTKU4W7uH<&e|+6+Zm?WdWO_Vjpup3RX{yk7S38Vuu^a!-dS~Io=xaW
zo#7gu<$q3x2i{ySuz|sNFLOwT_iD_V73Lx)W|^)d2&FA&|B5DPnkK;7lTmDsa=-;z
zs1)bZJkFa4a)Jfun}{L<CopD+vg8w>mK2N_3ZzPg2Cz?fi0W3s1yaC?aE6CrAcbt|
z2W=oHRKSO$PU<IifjJ0=024mb<IK+sy>9-vagG}{cGnXa02^>)6Oe)gZh{qn)OQYt
zU66oU-C-KQV{=H{Zzu;n2wDd&-P=WqR7i)z9&B((T4Rvo1h8Fa#oYtI;c*xSPaurK
zP6h}lWpv00<ZW%sz2R9d2WM^GC@lv>`0T<JVca%=IT(jzK!8p_Sy>ouD>dzMfCO#`
z2hMe5m=?F0j_wD|&c|b{f$}MYVwHaQ1ET7OP`HUP|HOb8@DPwtKlZaje*6L0#fkXK
zsEs;1P??4lh=CXQh}6OXs{YMC0B`xGZ~K1F6!@qxq>*e8fg1P$0?2|*Ifey@0u>m6
zdtibV$bt2~hca-)8ju2c_=Sw!Skuy4@#ekuylbZ^XFgqNP#Az({f1rmfC-QQ6wq8Z
zy=5kd4-YtL*(GTe58rf{1{cQwBM<>KsO6b$2%BYs2H4n>4u`DW+5v$Bbs*YuI0WtZ
zfU9<B$F*@B4~NR+>u>0C8^~xyh|~z?StmaLC}-3Zn1Bg*f>suXEpQGsnDQzQDb97o
z5AXnZmYiXh?(j2a;o&Kt0xCJYV+)z;O<4y=|LF%r=nga_LOaxlQyDU*0s*Ijs)fjp
z)7q$hP^x#BY7i8LA>4FY#Kbksf_=b;cEE?Cz=wKx6?~Wmh<b_!umXSZ2T9kHA!~It
zYzlmMj{#(=0gO-*r<_?H)5ivCbr4^B9fn#!;Bau$<$ma*eI0XH?!lPUKn;gs=!Eym
z_H=-TTo6_#g;a0Ag<2@nl=fCy2!}ehRVNi+bsvXlPt?X{g*rywa%cr(D0g}vha~M&
zdqsC`SZQ;BhE}+2;eu{IZ+IW8+`Uy$Tz$9g-A&`}H16(B&_;s06I_D@4G9)#++71C
zSa5eIxO)ih4gmteCG_d%efK_lpQ`iKceQWMbys!Onrp3EV~+Wszj1t;%-&wlPAe8n
zTPoHuA7K|6BDjQr3>{Amo$y^kJaj-X|Hjp;9RiX*K(r5gg9^V5xS9$HZ($IC&yq|=
z!~+sbPr~<TSF?OUi!GVbsG6sUByJyb=bJ)r08c=8=_Af5-;5RW+e^xwKJO#<$dA1<
zzC*RX>`jlOJ-)RGv2_ucmFC{-?%ok7*V~tsKmcdeQiMhx)Hm<v=lKvM9*{UH|4Xz=
zF#`hOmN!!=x`RGviAyyyw2A_NV4Ugm4LuAI;y;Lj(Dqxg!v4mFXHP^Cu_-hfP>9k)
z@?5U@s8Q?B-iYLo{&<r%iT-nz{Fi4_iD)wk)&3hk=E~4w&6B4k6!XaP*n#f|;y6Z#
zbv@{Ktc1wLZ;6JbhKXo=-B$>{qU@fqh4vA$ln$dzPor7l24vuJD8rTrK?7)CTEpG+
z|Aw755x@Jin834?@HZv<FC>DydJBa+6IxTq1y`vc6Xh)_WT+ziT&4h;(8d3sZ^{@=
z%<CxU{eSmOMUn6YMlK_XVlP!~9^TeO#RgtkSjDn=vHdL9ud$je_hMhHHv9fzkk6K5
zxn8H%LN{Fr+R*H>*%$Y3m-KvRvf?B6W_JJ#0h_~{XS**PhyEXAs#Vj!Tv8Xl{jqdz
z>#0f~{==!SQX$x!z5>T{#Ttd`Rlb717OMIG<&rYCkM-=prmFmef3LmxV}XNl3MJw0
zs68NM3yx3e<CTnood1U>8Z?6l#$?7WePGrRk#rMdie#w`-i-%>(4C<>=++Nc$BVn;
zA6^C!jJYxXrc9!MBWFU;!cIM7--ET@Qhrc7ZWu!Wt<_F*fs|_#bu@1l@*}8&!B%=!
zpKXcXz)A<xP1uKQ$*sBjz=g5=bB2X+0;0&DZE7x;3KOIdNWUe@;v0QS%Ks-v$t!B<
zTZ)D+ss``*eacVCC-1^ZF<qrLTit%kP+MLz^)QVz?I<NCN%)c~=4Y*&-B=+5)6e_a
z*Oq%4Ii51hCAopoidIoJUoz=pBHH(N;$mQYE2V`AGGx~ANt8xqMHyCEWyRSZCvTD)
zmyt_L3zOfJmz5M`m6vOwi5?j_RE4n=M9aUasA}2Cs<28qUn;BljzC^n+mG+GT%xkk
zTwXuUw_4dSEkmAO5!zQ?P{}@5UeUbjvC3K4Nlaedx|?iV-Ihg3?%4RNezm&eci*^P
zMF=t3ucoDi{i^P#KdY`5TVKg*dq4yxJPF5qq&0mQ{A;!Snp4JBT?-o+2F)*4IdwxV
z2+p;`)FBiey{ODjwWG|1Ie$j+vJKx2dYE?BP4NG~v>vA0&1sktGgq!3lLApT&Q#Q!
zEDUhBWV%kO@UJ&o2wzb&&Fko>WlhV%tiLoZ82{E6XkuB3d0(I`X4<^0CTrTX;?%%-
z^V6iCvSrQ0Phw%#D&gJYvfove`^q~IRqGb;yF|-&1pS8FdQGre-4gE|W!qlci$v>w
zhV_)gc9iEv+u=A@fbfQAl0@5aiR>GngNlZY_Jr&}s*ckJDbn`w!jx*^la4F1!jozc
zb?1fR7_wtuBYke?pSI-<k@L1Ys;=wUzmlCdi{?1+vUqNOx(eUHez@LEnKrmtD$ETy
zSoz3ZE?GQ5n<ll|>0Y9@lsKcKcTJ;}towIO8r`BmSrXGST(A|0zX*tdv-!WTozhd>
z7XDyI=7q!xTm*sfhRN?OQH`Hrpg_21$j)M!@YtlmzKKD;F<{V5lKk8MB%2m%aj2W{
z(Sf?p5IggHHk8iff^D@`2Dk7JAy#w=)^u4koNE}uDsG8_#nOjZ^Cx$`6EVtgR)GfM
zR>CenNIjj`BjFFoqunW_4g&YRA`b1ZsGM>4Km$;M@-So4u)}?0Et#lf%g7M;65n-f
zljjTI5R?K{w?+Vr;X2qRGr_9IGzt=K`Eeg=LqukvVO%}$2Rv%6f?$y&ay$q)ioRv^
zuOEgblV_pdGV#;2Uoo=!!e@QhA%y;9MMCfpAl<G0j2w!oXA_<Xx1$=W+DN3#TV8Dc
z)DS|GYdU$hG7P^~00gGpi;Og2Iiyu?oeH%mB*#!n6R9pG)yNFxO9loZOyq&R=hvxz
zu}YAl^W{D=fN3X}zXd!8fs9WSSiI|TG%aY5pIM_+EiQtIpXo(^IP@V0Tm<1??<MNl
z_hL}+p!kn4pgLvAqg!1dB(or)R8Z_wV=8N>6wJ%8ma@>-WMbjXZ=oQL1b>dNgR+!b
zAl_NXV0gIA9;fC5!0;|)?-B!HehZNbkS|Zrp1|cYDo&mU#H?ri&YO-0!9N=oSuK?c
zR7U#Z@i`pHo)?qpC=Z_lDl4$DBjdLt=yAWsZ2m-69Z*0d_tG<ja8RhsUuB&a2>>eo
zfC7v$6$&1=U?~!jJMbfMJ(Q1$gC2@)`3bkOM1<ZEZ2c^;!;(mi1&qU5^|d(ujUZ~H
z0R@SXARPbNpTua6P@?DUgwc)W`q!U1CE>|Ga@uc^erFD&q>3q5{*lE%IYwc@%$wxt
z?x#MDJPqEnWb#4$z~&e?E+7txF`H;2*Gdc)&P;0Q>?47bk=Q@|s%YDxW$%QRpW+VO
z8}10uV>>M&fJSC>$e~IFu+m|sh1zf?n)}4<{74M=G?$VokEjWCi0e^jMO*>|{IirF
z{;CrYh+5dA4YU@<tV8B`pNA{zqo@l$wLl#wW^zg%1j#+b?o-s`_J2MQ+v%m<HCtpu
zU-%sfE4FP}?F}P63Jc)?YsT2gZDTc+IvJmnZF2L!>%OJr{~Uv8$aH5%otp=d7^|ha
zJhBAZ!BJRLb2+qfuM4he5YQ1PLW?QzLgZ-oC1qv-R5YR}klMirBhqL@!pE5?<lrp!
zi{fRbLXdi-EM0sBf$(|Tw9`F*7`c%H_ZLtT1s$J=0Kf>Hxs6Rl-t*0u36YD}K44!k
z0GNy$$LiN#?Ssf)H@l!fnf7XVY-;|qLl^n3{!S|x?OM{mF6WX#1cAjYQ56uU82gN}
z+IMt`M1Iy!G~pd&A;TM2i0^XvY%M0Euc^_zp5l_RqRLu*$D8gs9*FzEx+3SHZ+8Ye
z4UE0xoV7sa72rj)lPe?*Z7r-lHad-2RGk>#5E)kcaT>B4PHmP6>0qo(Wm;N(wfr&)
zLH9@u<@iR6bLsq=D>*6d{T@9nsgjaod~)1`H6!P!Rg05HO3rEMCdB<gQ-66S1?2m4
z<|f$Voz;49#?=;D!Z;6I9f~b(2w15>WN7@n#Tr((>u4_KB#Hf}=9x*vf^Et@+4EhR
ztb!<3yZVRbA76flqO9IXC-^SyQr(Y4NFLCN2VC<5U+#x15a<$vaOGT)^&)=bCgX;2
zgwkRmk!>0NMS%m9Y3OYlBDHy28(PkZ?M&<e`gTstEF1fl*%Eipb0VvLzn?~7t$)wD
zlJL_iLm4^U9aObREwak3ipvCYC7nG8^ls%!c2`~37dE3MOY>c}RmMjPLdJ#s0r2FD
ztuaYxh~H+#)7@Rn-S^zU;Sijcr(KwAwJXM1!#2<qv){KV<Ehsi_#x(b)*OK;`|rLv
zNOa5KG&j`<!kK5zE71SAOmz+3LUzPJVB11jAOT5kp(b0TL{X=9A@K`@5Kr`QdH3)*
z2ce`Q4B*kAtXNce)1aPgNk&<qJ<_0^o15Ms5D-Fum^}!!)EVnk%j*^dT*}zz7K8}e
zI4>4N2b(XiWCavM_+n)kATm#rDFo4$g^+y0EXzmDe4_I0Rm<%z?`0Uc&(bP&n{;mb
z;@dXa4sBKwEx%hZrD_l<E`ngJDFuE(?1UvHoz<^3ODaCPH<q*l6bOio5UfrB@CYid
zXF}^pcavvY!?44A@`Fxjhh+zs*d+u_F^G?2jmri=5xULPw_`~`$1-QN6-mdsvvVtF
z;qwy#3z^0*Xq$X!hi7MyV_}E4e3J8Ehi^_D(FKH|iohhf%b+OBgug5J62?onD<mJs
z$G0o&i%pE(PbmT=s05On0?@alDMo-y==4H;1wtOX;ybaz!MhSv@vJXU)KVzA1w`tF
z9xd_<a-X#{u{HCYwG2Xn1l8KpfChM0gGen5)d&ejg9kuMgy|6`vX_3<7MYRi>F3h2
z(X(Js@Mn;`MJ8^h1~((AbQenF7l^a%sbXWwijs$$%HsUhR8U7EGkSgW8mZanb)nXv
z#7vM2=VuLlq-Ih^)O-fl#(aLae0qqCAU2&U**Dd>J^l0;wdMrAP-(+xTf_8N9hzi1
z-emewe0f!EMpJDj;2M+HTw^aHOH}gPL2U-hMCHplNz8r@?@`Ijez9xWG|~{n8(9&{
z0s7;879~XXIN1+HvLc#xA{SBIVcNQlj9eo7I?a~cr%*g%0KOfKv=yU}BcnmNU7fe>
z-IgqN<bfY11lt4`f;P`WG>=M~DwD4(E1@fQO!?Y~5GMb5U*2n8A#7eTZC)uYl<gQ1
z!C4yX8vukk5IE3}jSIjU0Jxpl$#Cl8N9ne{lg228qACJV+z<(LbwQ|!uFU`q3C6zV
zmHV#O{5;aA_Dk@@9)$OO5Uy<pVjIWm19*^+(+3R^Rfw}ykFe^X1(Ck85zva2*!nWW
zx+}{@E8UjY!0w&?TM0YIqFKjRhr9xC@1<XRYuWiBm|Tfal3{^`Q=d%Y!1+NAN@3u+
z1QpwhKpqGU`@_I*MSHfMg#HNNS)hSp7eeuml3k*MK4`#Mw0?vTCZ1WmYlFyFMUse1
zP@<(ETVsu-rI6Q4En1mjta#yRh7r73%ExlB1Rw<s%@Psk=U|62C|+g|t5&=zoE4Iq
z)GN&ekmbik>K<gSm|#ZlMl$}1FlhNX>4iDjtT37H_}iQ4ln)wUuqD_qEUWHwHWrH1
zz;ez{QqLaajU?I92c!9i1UI~_d|EObmX$2x!Tn<pjlgT-v;G`ql+rQMFOzGrCz;w5
zK%&1O5k>e5#fDQVEt%?=KX!;FnqVRT!n+0tV#Aq>kTWCtZ%nK*+9xf+u|*!!PICu(
zknF~Hib}exP5TZT%f|RVtD#}WU*nC{l?Nla6suMMl~H&x$|y}n<eq!SMC&2hZ6R9U
zzUrbDHIy^hw+{m-ddTk&3q71Tl-XddRvd|u?01?>`jHf)QOTp6ug5sG-q)IFcIL?N
zgvvq&Vyoqpx12QQPpVG9LeC^0=lWaXoX6D>XODqMk=pp216i0MLEDu5RE~{9Nc_+*
zOx~8<X10Svg)Mf@KfjI-g&VAK;;qw0cqBTGo|qm;L~i<^cr)PnaBO^XL(FDc&pv1G
zbpav@03;RD-QRO|pbrNw$)bxp1HF?ZoPj_KD54>hbM143)c`$NA7;A&f8#E@@)?s^
z<xlN%M~kynyv@%hxnCGIvw3obSvDhV&i~{`x#}T_i}Zh>t@dW*tnNkfWtDj{r7?Zy
zv`4(Nr|)v^OA$~ue)4#JdYTIpNG0KH+~dZk8C-Eu)vh|{`(0yl{#(Yi(ZZ739>Ux@
zc&dJ?!o>Z&?Q-So`c~ZaI-0vdE>FZ>8dX(h;9U@s{jVgK8t{kTcVpakp}+4}T+8KX
z_&X5@#5wR~KzrT4!9%~F@p&#T&o9?p5uC7y<z)pRvLrIWe6<XJkZTFB-GI}sf7vdO
zVM@B9{X9!>T86YkmK~DtHj?$log)uQLv2c{8J{6Q@PjNlAtX2*z|>xY=1GHI;&xT-
zh5@R3Y2w0o1>)yHK${QdSM5i<Cu8rEuHCQ2Ca1x<t37{l!?ku_#H`zegitL(5yxek
z@k8?Z;Ka~6LeJlS^e<s#Eki_aFUe)Mi2IQQX!@{ZWyv%l_%Z$P6=6MX9x{zOvW82V
z!f^8bOWKM=ivHJp;2yAU9}0sso@)q3PY`tm4-E+o5rM}L86TZrJ(@bkC%%4>b_LXH
zW_~w)=2nJt%ldPNKTIJ`%z=M6n5*eJ!iWQSSaD^awq>|fYj2x9{JZ!#bjmpjiO{Ng
zfuDm&?PqgS890Y|8{5x!Ydv@})_Dl{Q^*>m+-HH}LF)r#dDo!lXBL6n6wVe+LF21I
zOHUz!BcW+*!}ub@bjGC7X@-3?$reTqFeuZxSm&#@b^IJpZJ!Ajn4_^T=d@omCykF+
zCsRDdH0!D%oDWt&hs9IVAkowyR>LGdKIJr2jF;}DyTq>)(kHtG60(8N3g}`y0}xTA
z)f$6jyACBg2|cw3u$>{;IX!X=A&3J#I3fTQsba}z8IashT_R?M?a)_#7nP-+@*&Ie
zo&pBGji)rF!F;8<@A-*h!w8_b4b=eAQeA7>9)F6#`p2WUNCYgJP^pnV`-cIsy%6Fp
z(w@;qMbeBYrbUk;Nc>4ZGYeGC?ox*uU0$V$O3O>{$DZCecB(RKnmQ5*Cxnk47xh8*
zbxsfZ+Nvt1g4_sHl_pc;6qgkc67@P2)ENYa6_e-nFdX5q_BLh96DIoTp>m=KkPF4o
ze6adH1GD09mJw|}wKxITv+2#V392DUJxlAvD3C6hR8{wU!BY6f_^aSXmJYWU;0>kQ
z>X(2@qvJwwz%Jy7y=9hi<;yZhUu0c={BhaEAb7mhg*Pv&cW%SjZRKW45n6mAJ;ZW7
z2wuicn*gt;0p1xyy!8+&alotlbSVK@0>q%VXRAT0%`l4)B*Zi3e&GqZ8~<G*_&<p6
zd^~;ctmlS@5*s3#86xVe^hPHFYhI2lQ7&N3zTt6g@-Ik$MIhk@#OjRZwFZ$p64Zv6
zwimbfO?yNra7L13M<(10rHkCT&Gxq|;I4(de>X~NEA80>#nH9G&*99(-1v0b&qgr}
z`#2Faf(J!cgrK$t+c(UGVR9Y0D~7waGV{Lzh`svsl*BCW<EHVdDlS4&vENAV_4RQS
zzivpzJxH9VpKEmbR!xAV1O1cPb;Mnp)#Aszj;p-F&p`(5<)=PpF6}%Y+e--eOZkmH
z^v{*<a*OIT_~-gcNVk=T&{h1(IOy}ORN=>aD_XTES^|4jjqwP~u&rVDOG$ks#Sz0?
zZ?B^-sOIkYE%Zb!^+ff$qwxoAlY!Wd*%RYic=8c>OQ2|dpkF)2WzG2P`1Nh8##D25
z2cd6AyI*l7idbiaclop*&SFQ`u6678j_$j-&btom7qOm@!X78l-rw=P)XykPov=O-
zYj=lVKO8Cx@gHE`8qo3Q;_Iw^EB@PAe0Vx{I8dB5{CPxH?0a_SbAk9BO#|rwke0?*
zH}+e~QV1XO6%FofiVZGRwfK03#^`td--FM$@A-*!d(j%Rby<p1EI>eTFM(kfVUDs6
zde@-AL=Qn%9nsUQf%_bFy!f;yc>d~$Q7)9P(bx*#MuvcuBN48AWOtLfdX>1P`(<*|
zBr|1EZ-#Y4ZFDgMq^{@8k?rI_J|=c{UsFLGGcwKu*Cy!28Q1+hseMN8ils3&X9E9T
zgS(b0D3{5x6~~Je%@ZXy`>_#&{5(qJ-RFUZGKBL0JIYhF{dx79c@0Y_O!BBV`*;Qf
z2zYCSD59IGjVq1!9HKGXt*e!WrYkMO8s_@~@C#0*5`bWLLf_AXs9(LG_Wdbz^j-mJ
zL-h%Or3g_C$vq4VxDM?;@}xK>SJxju2v!%;KLZJ++DlY6$pHsC35C`!RXp=%y5aFn
ze=8KQsk<GBozKJ;dd9v7ZV4>)ebg9F3|vA5=kwW)QTRXE7%3v5BEAYF;oo4V2W@uZ
zuy6bwHwdTcb|zyPq%TjRR6&>cd-Lrucus<w{o*(!tS7w}vH8Vz9HL}xSZ6(&F6c-6
z?oE@^a<gCzlC4P_OP&2c1}cA--^1<AzYSDW5+Q%EyVYO}j8yo;GuXpsG=<fm*`L&N
zzvEvHD)xK(*+QiZp-*I9jz24mT0Z<G`{2CX;IP>IiTtC>dWYJ-&zbg&tq}_cQ22Q4
zkN>nw=E;KusoLBiu|c;HfwX(~O}%B8Mu;9)CIV|E(eTr<ckwpQi<2{CJeY6!T5qSR
zzbC?`Xx#+sfy@g$)>yAEF3}RvYWv<6Bc4AUl0F^q=EK)%Lg`5?vK$hq;Fz#|2r8ww
zY&LE#TWDwaOa3sT;63YZIOyzB8tcHh6HkGBJIkrM{iTh)=6mS1Q|m;mIQ}R@no05~
zQ^p$Hll0C`9%HNO#2@EqT1y`1GQGkQ*+v|PB~9>6ieI(zpo3{*>&pviGOR|H4|7Rg
zBWQ^K=@G37{<_rAmun;HMi(z9s%g!1De#B6^8+B?k)cu`+J4RkITG)?HQ_!EyM!RZ
zVF=h`D@a%HVwnjY4IWvU8-P!11;D}dkH&Z7yRes_s628(C3TP^ShDcit5fK>Aj4no
zihiHGZ1?38@rr#?=o~+HRTuH9bJKeIs>??Zf9rNAWyYFELO*i^g$zZ7D6TJh%pz_-
zIZk=t{k2Yv={PPcGy3JMu0)*OKw%h}!W(Esov43b5IT8hc&{~>CPF`Mht+jm33kj(
z3eq*vNI+o;KiNTteV!To^ht1OE!}hhX0Kp%%qKKr6JesilH;}U`S2@up}w+f7**C$
zL7XJn@oW!KN^8cK0N*vYKHiG;kAn3&W|wS|380S)PBmhr8`~&&AY2KiuG;H|Z&0;5
zBN`&lc`XHrY<+u$^ePTIs9vJ;NZE$yDos$ur*PUsD%{I9FtvSSodI!@#@=vD<|A-W
zx)Sy|$+lENnBVU6C&W2B8~0n%n|VF+E~C7Z0Lt4X+uSd=KhlZsuGYMy8XW6RF`YK5
z^p3B7#nwLnKzP1+GX-j#FI!VddF0SXlxwX)N&j}^UOJ5C9zZbe`IYV#Cu$D_A$mv2
zGMI!6H<%H%RxD5c&1HT>6dHpeEU#}<80Pg6Xrg`;DcEkErmk3Gy^cV-1VLdN@@h)i
zLS!|R#!x^0V2!_p{K}pyFtvz!%A4ZNV+v2pgq+RBmi*8N0?yl7dby{I@Epn3I(u+P
z7+I2~pvRIlHCY5yoX=tscZmc^5;saow_u9STbfxCFIub70y+CumfdXD;btq8*v2jA
z^Ea#*%QXwI4RMCh-y`U2fdY&4C3)fQBqg=f9g1T^1u?6bXsh{Ms!0JH1_-Ui(C83;
z=a7P|=p>G<Toko^u{>QJUVKvO9s@P~u$UQs%IA3-=Re+x8UghtFQv3BN@$h(h`d~e
z_OIzFM>FWP@zd-43mJutU@FEN_$gmF_PKnPRm_oj@NHw|A{7^vZKbu-M|JJ+9imj;
zN)lw@&+l`W8L2s${gA)6P+&lfL{ccF=NJ@VvPf)G_58~3H5q##y1YE)qDGK?nR+OG
z?31T|Pm5`Y8bbXhiPxR%D(#5y2x6RpHl;iM1x@crrVUZUSCX&*FYZvvm{c>^jIdB%
zn_2eNidI7RP(D7<v7(ZrVzlU70jb`xGHt_bLN{SCFP4Ln!yBFKlk;zms;nwLD?0tH
z0>#oqjxuk3bqcA7%IwD+@IIdClvERz%BG#@x*E-YGb5@n@*3C1TbeHkNXyeIIx!r5
zqfp^UROO(?ZlH3gR}1U@nPbKI%jEb?Z$mjzjZYV=@w)^4))&EakE&l5Xix1OCpU>t
z-h<E`NF*d0en!yS`SYnX4gW}QsFSn;ArBA!C|z@izgoIE(0D}=y}7nb?@TO^fD0?Q
zIpgOm0CBk+!c(Fxxxo=_yrLC8Q)V3JD*15PdyG}A=!N(D0%sm6Q7b<sN!qdAasG%U
zm$wZCb}SFN5W!}}g5c?3zy8wz?>Fn`L}5KIOt6Hqa9n_qS>;=K-yMO-o^WecCfs?d
zJ4-eGwsON0d}zG4f{7)TBSf-jkX$+oski1MUden*KrvW!80q@#@p*MyNmRI<mYCNS
zJH~Q4-wCG1N(F5nnCtL6r9oW}>V@YU=Zk;NL+AAF1#;lQ!)O4AX5-<gju#*V8(J%j
ztxCyjK-nkMUEoWT0SnayH)Dkb;!~zPy5mJKk{qKRI1(s%u-~G842)$G$_OVIvBdel
z97jWSnRCpMjbHKLu$>8w=DooBfYfLD)FTg?*Gv%L7#Z3nRg}g~P7D*+`xlwl{!dxF
zzm1gZQ-Z_?NLq{yP->6&=S{jt0*hfj^VORiw1bNnq*kjIZ%Kk|n9LiIP0=sNaoS&e
z)_=LGk$kK_&-2Wqr#vx45nI`g|5z{2eU(?@ayE<Vzb8u_wazT{bUYnc3k*Wbq0vu;
zbyrD+CPDS*5x^Y~uwqZPz2DygAf;PE?da=Y3fRbt5Bdc;pVnOi8{mA)51+G^_KG1r
zO6u?bm={QR)$AZSYKDpG79b3jqKcqvFS+$FIBFHBvN}@d+XKoJkr0h*pCDKGOV|_)
z7rrHUc`gfg6MDnH12=P~fFFI@W(IexJH|i0J0kje)Ks#)tz!P1r5OewP7fkdrFR|Y
z807a_^~zsce+Go2L~0^docS;C)Ray*n0@%VOmXOtP(9U4)l^1Gade?gIvcjwv=jEu
z*;dRrYjL3&>hOlc9Mdo&I4{Y60^!HmR}vK#1Z<Mb@-s{3ou$inAI6_B&m0&1VUEjG
zJ|#Em=d&1QT@)`R)ifGD6HdN{JHW15MTv`w;s1!7gR&XoOv_{2a+}`|U)k2*k+BE*
z>>hGlWgAGEic$MZ#A|cVR@N9P+f$Gd_dBL~ykrf=Yu8g#KfBKh%4C=am<b0yEzHxA
z{BWH+|8@PeodHWqb`5yKAo_a-E20LL!6dLZ({@~6kZ1T#e!pN}6#kip5hns??f-Pv
z+@oqD@b?4oW)Mh}f#jN?792nVD*`hvB5NT6cOv34D@Yg@X|)=3)3+cqgM?;{sG^Dd
z<rq<C2Ko3M(&#bBJQ0P29{DXUs&E;yYa*%|2a0hm3iAa@NFv&Am_2F?F1qwDR3siW
zA2+mYT#TY4w8BJ;pN{AsYtj2J&>Iplx$QAJaIxx6F!~d*aI7)Maj}cgmdx0(e$DK|
zsiapISi6Zh)`ys9xVR4JI9G{SceOY;m-a6_xFlKy$Vs>rGq`wK_+j#Rq*|PW<5(|+
z9cGr;(AWQ_ezLRu!s?T$+W~M)z-ge{rbj?DZ7oAdUP6A1I*Lm?KOTH$Es~}pd`>*h
za%+IMj9dGWDmV<`ycdNGfgBm4EmVSrPUAaLV5QFF7CZ<}y0rdw@i#LX-PQfY!=0pm
zR>gOgq>KqyD9<uni~a(G_&sg-d`wsSuP(k~3JYMw2n-I+gis{AGf+TL*FfX~5CiN`
z%5^-ce^WN2t0@e(rHAM!hcHNDfl>?XiRgTCTlw7r9t_t>)N$j)U9(8NS`;dLDkF6i
z3Ga{rL7<@_v4ui3A^0)jJj8ix84u@S-_zmX3FiAepvM-XBs)iS5_KIAh%H_JD2<Z`
zMU~s3vhrYZnq#UiME(Y#R0UwZ$7~J8Mz;SK?+VVJRqv6KL|}8!mY}GSKh6I|vj>*K
zZ<f(!kWOS!o8u}&WYno2q_U+o30=On3_X=zfg^A+5oihfR+_COZs{*JdZ{h!894Gt
z4dDi15Rzy<S`P*flKjf)q0NUK$_1D_5dGM3u1ET!mjo4_KH7(2Wy3G5umb+gXoVoP
zw@pn$z|c}x(eBQbP{Z{bU&NE1`^JNkdXN$~2yulLtGn=DOvyYnD~8vnNGs>nnC}7W
z9zeV|_?)rY<kvK)p+TU5ZEC-QSGoM6zfssYzKIu9?{5`h@z~Pd?h!!G#q$Yt{?JO}
zsx9o*3!_~Khv+~YtVN=9sHygCQ~}uOR{?NDBpg+lnHNKLeiVJkDr})Ej}*{O0Ic4I
zQw!z4YBL=5O2ffr1~w99yhPL65;b<`u{%<?`I4JKa?}DcQFzoGNIIdDQm`xXVQzb5
zT}1+S?6w$@pnXW03^fGS3tG|u6EZsMriw;Itee>=T+(ya2GM=RXa9=d`Bhh<V4i<e
zL4~?r{dUlb3r>InQ1|Fk8X%&8hio2ogjb`5Kh2*ayjQ$?FNm(oopKG&Z9qZJi;1^n
zf3_rJ*m7l=KYt0;B8K1z6i^6Ua>ULNKlhSTMM#80wXT`8VDdccA^wKfWY75|)p<0b
z=Mal|vy&@x>>HiSZRT?(S9`pEUqX#u4ULCX1HVGWg!d)@A`etAiB9N0z(p4Xx7c{)
zqAF@^pbs3}2&ocdmEq_lq&}6#h!-^KP^8x1262U{a&D2yoCB++J$JVC-~2TF7HsUg
z<6HmMkEx>F4JK$1=W5`mXD-{X5tPPpD;?gr{c8x}u^@qz>(oS*R|n;m+Nw$f@WJxS
zwAt^UfBtxx-!z&3)w8a$w_<HR<+!!-5wsRgw@Ii_e>zc@AYOzB+1$OiQ6aYTEV0(p
z-!yEt4ZF6r)_==?YNNnz>u@{id~1g!@b=?^{kW}N(CtF#2m7D~`vhXgAV!BYA^V_4
zhZ<t;Ktacr^o-(kN3mFkx@Lylbf@tJ`OaIX40h*1A&Suj=S|{QGeYlFoZc<#ldKcF
zTs3p<eQ<%5yPWCcU+TM}kZ|5NyKbJi0`G8<GTg{Na$w%MeP?qg%D^FAbmu1VpkFLw
z%JA5p@gRX|)`7?C#^~yg(o_e6FunpXZhQ1=(r|QpKrfaJJb7?VF$Q>ngx|o^FWOTq
z15;`dW)suwJgzE8*Fus0Djo&(q6gdGVq<KF6rYBuF`s(H0;x}$8b6;PNblpvj3VE~
zk9D}-KDr%^F&&-kNIfc@BjcSjPSjg<T?f3~2Nm6jnBT8|(M`fRy=Rm%dm-1-lpC*m
zUVv1%K?tpuy=1ZEE<c<^wCO3l@j4d$^w9nLGth<&7BroG7X}U&k^&b&LpHHPVC>=d
zvBUnDBcZV)v6!QFGNU}u(HzXN`)wRHsK5^a%f4M>sXXADEvjZnfK{Has|7uktLI8G
z9wW><n72Hb6O77hxNsdi{aiVCZ!m*8IfMJo3^ipI`)ZZ~fsP@Vjst<7V-h~oVJO}P
z3H6}e(pbdOMGS^GB~CGhSTMe^5>gY!f};ug#~i<a6Vv3KKBg}fSc|@#iq>0;^%XA{
zUy08RU2o7!9u(r9fL5<%8JZ`}2J*2300>8i)LWTH2d&;hOp;ixQtpgVenM?MwF$?!
z2_U2Ne8VNw^Vk>6?Snnl*W4P4H8PZXny7=CQ+7HW*t>>`Y;y9c1aYZa)nccumR^KD
zZHWoyq+hZO)43DV`9(~9QLn4z^`hcs$^^^<O3X8-e7;tDzE=d-2J4Ng*<`&ke*@c3
z-PTnvAw{oP&e~;5Z&;3Mc@@2Re%P(<iC=Zzd7yC-?>r%YF(3Yp@HMrnH2(7d#+)oq
z(gal&%~!o3u`g{{r{4OP^1KEQ!0qX@J5u+j<=lRfJc-}gA4$C%hcdE%dTYA+;9K2%
zJygHm#?{UPeC-F_?vZq=fqE>g_DDO!Ma*dJ%#?g{3@_elWd-Z`7KybKb<|o2$~?{$
zJQC`Y6(>L|dMWFDwJ(;-a>>w&vZBh`%ZcvFg+Kg_y!4>XNE1H&_S4sMxxMP_wn{J^
zcD>|&Lt0~rmVMX${ODVqpkIsf)PKEFTSr_+;P;j!yG~=gj=IBv-nia6y`CNBm(E4r
z;Huvs++icO+OS$$D{FivpWP_D(5T_J2{CTsPH!?^H8&@3PGV_#`*h&A+MGbx;<+01
zA-m=8WJ{nicZhK-X=H26>S8>3+qhO+Mz&YhYTLAHVxe(|yG?sp$AQgLyQxq|OLk{k
zVMiCaSEX3zA!d8aG?k`%h(6xOl#c4v)9Tr$oO!>l*Ogr%8q~O!fE|~Q#ah<W<lm>U
zJMXgXhgY3zD*RhwI1p1XaG5yhk~>@by6m<ox1=RR#JlHrKV4dO?T~c$6;S=2?Z#B-
z$Kj(T@vsgLBEr;e|JAWj@Yuts^qq*J{gJ#`z;I9$><!K%2kV3y(_nmq^#KEDkR!K{
zpMwhh3dADsnbZuKby}GN`B-dsz_=C|jx<Q%t-Ub|fNmagFhrC08Zpv)NF|H>_tQ`|
zd#~3smk$Lz^2zrxmZM;evit`P@t*kUE+u3iS+ULcEHeh{$1Hvd`;0desu~rauiUB*
zYo=BA*-X!-$r}%oDZQ8}%ZkLfI1Xhy_Z5ESUjrE7@gB&3N0Ai97`sFX9z`2G#W;6N
zIxujpY{+sg<;1xdxha3-zy2ZIRVzx_?A*pN)eq?F!ECjlX+%-8tY0r!8*OWt$?#JC
z`%QvNK-LEkkaZ5}7~wZX(zh9`y!t%!`)rY$Z7J+iZ6sx*Z*|017(Q|>0HfOiqnXak
z@Gk^nHDjBv@uyI*sPTG?RDR)gY9}SGGvGBVt@Syr4Zts9`pf;?dIAoc;_@fOb;`zX
z;g9hJmSPOYdq~<(mP9nrNI^Atc9iI+Hm%iNE&3a3rnHl8N}=_BcNztoh37J_#2pmJ
zb>4t#0kZ|{RPX2%(4Q{#ye6P8KpqkfkOLq!TI_!&TIJs{D)f3o{s<uoh(MtUIC%So
z-f#yrGwHWc&q;OkpnDYJ+M?>pIF>K>A*NFJz=EAJ)TMN-aAt9`TPZ;DY}oN^^*7bT
z79Ni!MrBjypw;h(7p0x&-=K_M0&|W(w0K{)65eEVlH^{dzy^L(o0lVO!VbDS1p}{+
zr!OVG<4BwT(Mr5l$wknhzS-5hF)#-iZ{7qV-&%jie4BeqI&<r4&hKG<*N}MUw+RcN
zzGp7HihvbGZ{DxsJfukRrRP3Kj6LM$f`&IhMY+kP-ydI{Jl09w7vw%s_CI~62GN^8
z=jJ|-=kiWb|BX`qyZHTXb@MN+;{C2Ua)0hiFE&l8E&f(zUT+90fv9Jy(sFAAF1>P&
zVqL*t44B_>ZKSSnIDtksngUHbk6yt_v(9+5zGysy$9gPBsiAl>Tg3BZZM30eIu{ax
zPO02jI-6NKAkzLmD!)EZvrzeqa#Q)w3d07+^|7XkMOckRfAmjBZtS8u`-XFjJ8VZu
z+3JheXCD=!P0BACi`K_mYRsz<(AX$)W>`o2BMI2eCR*#PhnTd=#g*IY_s28&oi--g
z8V+;dZt1)Gmd4{Br8*Vq<v6nd+;;|nMTa}5Qhp+pif3;fr%cOU;MrBo9j)%)gV5N8
z?eFWZ4rdBga=(grj7={!IBiaKb=>`ym*w~J?d*KGI!X&OnhyB;qwF@`&B%h?QPktc
z?dPJf^MaW701%u8eTogyc=gTX3Ma7c`BvjqE!fjQYUT8Yx$%qhZXd;VVo0`&)<Xlf
zJM5Ytlf8ZGM*;^XxS!aUXNX15W1Mx7!b{|!bQcyc9&NL3vxUUEmncW<u$ROYCA{Lt
zCv?1*V!WLq3j}E@*<xeM++c#%?RgP(pBsVw7@Ril2_)FhxF9^?`$BY-cVRyLQdgOp
zuQ9kOER+ZZ{Q<#Zu)Tf-(5oB>!mAgGkRD>eZ#_`XyHs8%x*+0ZzOKiM>@+qxp|7mC
z7%oH>GYsNz;wZ2nvJ@xLd~#AzD|tts+_>QQtE%;YEhTyH%gL`AzHt7aG?2vwmYzp@
zAv)5)WePGv^HxIw8>Yz>wg~ka4`&WzGajPk)i;X}u_-Fe5y{K<nu-Nz^B)s3qJ;9o
z#cu^J8Q&Fcz<t$?9eNBTaCgHrZ$Hq92j&4PQwCSm37uZ_;~EH5R1+FFUk-wGhS(iY
zKA!SAepb}91%B2gO27!)^7JUP90L@S$c_vqkgRl*z9sjZ3i%`TgYRitLcy?CgH&`L
zL6s}gjpqV{egYc7x}ULIEz+`mj0L&c(;K)U1)eq;l(EI)_Ty!|yIp>zo^!e4+;S!~
zM9%+kv-aMP2szDCSFj3bnb{lGdXM>ce_G9umVe5{V^!n3Xs+Npq<6q~gA!`*$7Hd^
zQF+~Z)jK$vOmt<N?pyvc$P56eSn3np7#7YRbuD8iO=RsCU7pV3%KqM-cix?Md~pBH
z^?aeN6lJTI+7Cq{Hg}$N$>fF6m%vPZJF;W!y-ehIz7wxNc$j{JYKlBh%QW_iM#%mR
z`O%YpT!Zf2(PhtxDZy{w(|T?>vGeD<-{0lipS}Q46nhZ<FnHgpSgiNqVOQkHf|{e=
zxFCMac*_C7`)i1Vcn}%~_i3nqj1afBws1m}xI{=om0y`yO76Tr7m^M^cd56)_9_jb
zEbK=SxUR=B67Qj2f~F(<3YS_=Itx@(-8n<B?_m<Xi~`AR;g;NsmVCltQ{M$#pZ6um
z`sV>9z?;+85CC2t1Vhuw<gS~!4c`Y3zOn)##^2{JDbk>>xbFeDSR_zlZY6*qJv%E5
z7^pp$0LS}fVj3E5wt&h=E0|aTKC_Zi1TS86<^=qh1=DK<-?;#zXl3#uJ?yG5e72Wb
zWvR^GxTT9C>e<8@=3``~Fs1tB)`_BcuC`IL$3GdH$9o(RuR8rQxA8KUf{{*SC+x<G
z)63h7xJr~JhcECmmnMpZIO$d2`d(Q-C=L)L0+8$iu5to{?Bc!|O@3(iWLR7)7C%(d
zm|?LMr;sg?6iXlb^vKV7VuCHUsWcO8$ME$=wN!>^Win9oIv@9oG2~sNRLGm_0+h)C
zrRs*6c;D3gI}>d=1?9QqN5=w;3Kn^TvAGDE>q4HmV*+x=xvZ7z;$rFJa^01=uVmLn
zd|2h0ehNA{WH+UX>(MZEB0kMr(WYbwWw~yNZ(RY?O}XLg6K#zCA0@te8Cpf<hQrG2
z6?Qk3_LRr^!wWxa+P#u387oW<$tDtS*{ZxJo#YmM6N|fVYMNr$O;J>qrZV+vBGoFH
zA4J6>0Jn9DgwB@CD$9iw`gNI;l^0-R-0w2C4Ol78whAgMUrqEIO4Z&Ci&RJr2j4c?
zH%!rJO0TZ0+%~sPR=Io}U)^}TZRx?Pc8gG1+abGa9Z{?H$QWNc5WQ<_rwldaPr|S@
zylY>Ytp3n4zJBg|*Rh3F<2|gh@h9u9^GL16cX52<w*9W_B98l`r#o8jUQJ!?WX*CV
zefZ1c-FE<XEffW&x`jY~--D`N8%zSn){5Qt;>Op)x3;&@jqm%wLbdkb<S1;v`+gei
zx=01p9sKP30T%VTXoHCz;*R@4p7^@hx2n5jtM@}9LUo^hufF;FcyF2XDk?ETb&rnx
zVMI~AJ~?Azk4fxdR5QLl6~1!KX8bT_I8~qCGO^E;P%>_T-H<t~dcc?cFk!FWkX6>X
z`{a8&?3SJ;|5@fxboF7%d#d5<-Nd2f)5A0ryD<+%?MR0FaVAo|v4CXqNM7u5HZi{O
z8?)N6vhm|w=2T-b@A|=W*Q=?#@QEB@wG-{^$N5tArgDSH6a9|IpSAH#m2bbCsFT-K
z<xe%`yq5h1Gkbbm?7?oXjZizaB7a&MacQcek8&~<GoJ5MZ*DA6J99LCT3MQEZf>bM
zv0bfSp2ohjRP8(S$bMQoQg3NroIL-)ys|or*wT7vnyl6Fv~fSx(tS7iJK*VQU3`eU
z3q{h!5B9W$s?pj<GIbHoF1Gb0O}Lji0MA40c?Ue*IwU-G8P@Oj1;3<qgwg6UKKpr(
zMWb!Zfa_NRhQJ<ug3qXt`c>BI^MT0ptFNZ&T8l%^hxq)hQxWRd1>}E^?hbsEKVe@N
z%i0_$CbZ9&sNa-Nzd07OZU2#t?N#CT_m>4u#}ZbYS8<>Juj}*2rNyb+<_?Jy+r#pO
zSuW4~@36n;-qRf$f>a-yr@oxi89Z&EXx#UaQ>}mc{c9NrbMB>nxlByx-23#!JBa_~
zFg~~QKzRCLN~iq~9_(o!<*Uzh_RDptM%P#A&E45WiIwt%uG6=hJ_~^>H||^#XCJ4Z
zHfq*yV}?JSpPfJLki+h^QM!-9HobS~VGlD2-D7Ff{?Wh89+#%OZ~v<OJt260T*di*
zKWu(}?k9CN#r*woaXP>u8}__|9Qbso0efs9yZ@P1^Kv&0dwGJv0N$q8NPf2lP-Jgt
z5wicQW+>(o6#E{E3l5@_hoTw=5qk&4+W9#(2T?2qQQZeAg$L1z1T(PMBW$6tWCpXf
z2Fr0Q1#{g8^MFJ6MBrS&5Fzgn5%_tF))4Wf5Xt)x2sl(mBvj5YRNgyOF*8)THB@ye
zRQ*0w6C9>35~gbyroR*d1OjLu5RuRU004&~uoh4QAOrwVI{-jb3I)}Fi8wZsk=p$J
z{}gf3viKbTA>xSXl}1qNzm2A_=pghcYX3{b9axk8BjPA{Z3q4laUuIBv(HM6N8@e}
za?Ju`jmHZ4^k0;}IJ&dIMI6avR2E#sRjG7Er)8!7T53?MDllDbSW<0p-dzbb&?s5!
z5c*ve8q-oU>WlFDk+M>obGx6CeiphIU$;AyNUajD>QlczmdWijHR026IF%<AgT2m0
z^Iz9fgQ$xD1OVaJg9rd3BL0v3@Lx5nh1bkxSpEN2Gw+N4U9(?Nh)Vye88EUk<6pv8
zuR8W0;Tuiw3KzaVjJrRJhoE~syki{CS4;_h{;X5>ql7R>=8LjdeoL`lgML_qUWGxC
z{P$=tHm^#fFF*UfnmYY>YtZawT+cz?;xg)wu(`61k<7LEonp0@K-If;yDt)lU46p)
z|Ew7~HtPRKJ^nvy{$GXqf8*i$08|1j0QBGw7wn&xMX{Eq*UO5K)MNw~&|z#u_TM|6
zq#aR4bg}whDX)!(;V(<M$>^V*c44bjLOgoAt#NjhgI0nO7yS%I(}P++7Q0dWEWloq
z$yg(t^ZH9uNt;f-eAMexwBjV|OjfeA_GY5>TUBj+rBcAD|5$U?Y76orC#%3kKCZzZ
zDy}xW#dO(VdX+v()m9#rO6U^@=|F2KJ76vKJy69ZuhaN78~HyCk6fGMiJh%#R!N<-
zX)2}`v!-b-?Wy?q*U5*%f+a^@6<uMKDE5Vnn5|;9&ify55+9ikK3P3O&=AGRCrrqC
z72|xI)8^OuLwrWh2s0Q;4MTz1h01&;;Rt6jK6`)Lc&<5b&3@-l{dj-Puiw36m$S@U
zP|B*;TS2HyrCY(6LPuL6xbiI9p@jPO+hJh4((Q1H4@cV(G~p~ekqqhfJ5emfr906a
z%||;i@Q!CUR$#$?H}0Q~Ctm#ah+bK1G8mn$;rh-xvc)9tTQXne$8Qlz+J7>%HGI97
zk-iVUog`AO<WVqPjDwn{;mAA0i&g?JX3_0TXH1gyOoJFdW16+?AsLxOWr%+gIL^ZK
z|0IBz_MXnWh+*i+3N!0dW!|LbClia9JnT;lCi!S)N~4-}aq~9XO6uiVS%#x|q{WCQ
z$D6XrGArMTl+j@A*yX75uXLRn;LA!vW<-|SsQ`voDEW<ZCCnvoF6uY@fU1z6$yPaU
zD(i0D$9_~cfIZp7R>1r*DL=67tE5|!W1L%$iYw0BPn&<8cc4gKGj`%irjmBytW;pt
z-80#n;)PHU&54!*ixjf}6MQ2aue;pUzJG1|K*$!tLdz&)ul6&?EJleBb>OS15R<+>
zO(m0(_<BKTAkD{c6X)vQ1syGUMiOT{Z&Dki@0?OZYu*0XzUws6-9j^7I3$E&L=yc)
zi-IQ?pToM+;M+)e$Z07k<7!fj?)F_o^;2HeM|y~9?WFHVFo7Q?=WS)cdQ>fI{w;EN
zHQV8&tsqhuUh=BCdq*yB0-Io~&>pUnh4lUfV(WB*0@uS{s)5VH{uS+jaAK+4;S5Ke
zy^R{l@+)xKp+wl%*`p$rfw;s{_;PuY?9|+&{6g%gb}~DJGA=nl@LJ0gfzjtFxbq47
z`RxRrjsI)<^|n6isWqRVNxG)E<ofK}{LpU`hpdU>->GY8?&v>Ji^C_xxw;QCcf5Ut
zU4o>mq9mR967s0Dwtti|NToMYdyti?LU5IFe^k#8g#V6mP*qAE_!wQ=8cf4r5p5w$
z0uMyUeZOt-lQdLwo<Zho6$2E+vGonNw5LMg0s+Tg6_MFcI{4xkAuDRWJ4aBMX3~o7
zU{^62?!pJ>E1i(XNDq>~FJelFgJ6avhALIM0~sfRaJ~6x0iAp(gYVr@9r0y{vNCEJ
zoliuYmvWWE4F?7(c%xLF=R|W*U$eUWBTVUJ4F@xh7^{5G#YROt@#W%<(8OgGwdY)Z
zmeiG&iH9mDlPv|Mk)Jxzwt0r}*7C<NLNVC!+(*0^SQv9jagw6<l$^<Yq!g(p)lyGG
z7}f4M$_U*wzp+hMYX3=+v6G`}n;XKF_4<luvZa%dvvNO1qCz@f%f2-FMM!j%B%IV1
zO^95{cLiYr1N91_l;*%YHfrK_JKW#U@qj-CpB1dl=nyhdK*q_ZxY@{{y8uRfl^hC7
zV6e^i{NziBBWu+8-dEXM`6!*)i@&iTD2aJv)yVjwOe5ftAn%sE^a^vOB>chw(K=~?
zzOX1c!3_)A0tT85cmn;ekM*~V5)6uo$$d00dB5VbqIkBv)^O2wgz#svxI)HYO$<<W
z+cXthfR4roTNlBuGFh@Vg$Kqnn(r7k3Ma=Zu_ml>b=z;h-6u0VNob?0^KGzwW=s4~
ziU4?jT*fQJI?<3c>8yN=#W>U)deaq`Y5DHh(8zWnA@3&57SyA%`nb^gXEdN+D}q;7
z2+?{Zo_>V^M@TPNH^StYjM^w2KgUNZja7+Od(y$!ARnk)E6-J(Xva)zE!>$F<nG-t
zC%<v9oHSLx+mK(iW52Go^4k>9<f+XGSm}MUSbv4^i9+$_oDgxtSC?}SLZNcoke)x%
zPk9olR<PE~pR!i-X5SHOe1SH>lqpR44~@wV#qdT-_gP2zvx_&7XXDRHSl1V2SFcui
zl^(;7LYJ%=&>|4{iBB$u)QDLHKQ<c)qg97+Id^-6sD_yGp7RX#f9C7{Umx-R7uC)Q
zumb=FQ2fUyox=bd(i@CGz-EF9*!&)NO!Yz@o|ymIABZT2j|<4nw<P9Fe>!wk1~9z5
zEazu(@AX+G-6Aaw?~f~FV2)#@L?y)J+Yz}lo!-_IQmRXbVRNu?V`|3SoB$Kq1T94Z
z`6qk+6xULU*I0ZHAQGuQlC0V$tT!HS<`k>9Yl_$TwZOR+?{U0f>qla~5$d;k`%fej
z#A`Ep$2jFUyFJVgN6H@`I^3@xe}j%}QC%t@fB%fjU-Fq7TK{z0lngE*I_~@M3KY|5
zr<Su4@6kmJCI#%6R0X3<r;*;;Z5|A<8n~RhA2%uIX6uuAi%y-)lvyXl|E;<`nFT@-
zaQ@r#vkWW+Py$%~U6xXQ;c5$M&l3O(ye*)W^@7o5#oXg8wS;2x^W}gc5C$Od;`NxV
zdZ7|v_vOqF9}p$w@BRjk@t>vOQMgAqeZn8YsY@21EPq-!F(2U$@G!;9axc~Lx8viq
z&EhRm=dZQXu6iV_Sg6A4l4wdPqcV)xj~&DKQMtAp?%=gTx_^7t*Xp#o(&hAibFJO)
zvO2$m1R|F%{_;SMeDAEDKyyb*W+!~s{i*eWwYh)koJaP<X(gJ(tBYE#{;d3S=lZY9
zi}t|Qcc(K=XRCg$znUvLT9zBSO%JinmOfenhA{e_S~?%xKg<+1_;FE+-kdBJy-hG{
zZNF{VsLRE}f>Cn#obOI+XasJ!_yPWV^VAMZ1qcCH|6L^j&HH=|sPxbZkl;U?C&b!w
z>h8dU7YD=(D4ke1HFGq@Xss0hm;`T3a8aNo;d_c>IV`Sg-#=*}&|KanOo8AT=jcRb
z@kF>jz>804Kk5kv^EIi<8{~P9Nu=Td0|>Z$OaSi+01JMrdQ?R{z>d>hL?vp*4Uo9w
znS7iM@xs~WwbDAG*8>cZnK`w}#e(1QEfzgx%wtx*_m&QS2J6yvjAJcVIk6;|PE2J2
zy+7IW_ec)!hKI*yeYSM)FNG&1PlAOi=Nmjh-jv37&KoVCVAbo!BD!9ijy0p#ob{KV
zPXrG3^6T`j4*B`Ns(zlw;q_dyU5Q_7sYx3Obbk|sBQ-}+tLU^a5cQj7(f5`h>Cka7
zH?aEGJ)Z592qM0Hyr-sV@m4S}x^XKcUl0{96h|417l!%f9yc7_v6VKW!iR-4j7}ZZ
zG77%nR3LlNctj`8E~+~X*MkJsvVwEo^s=v}S_>f(EBDrkvdFA9vGP<=R>_id4tw!R
zFR0Ks-6=xc|7vp-fp8=TQ1rhf`~U9Mwjo{zLrSUk>R<Z*&mqOXdNstKe~len_N6Q~
zIST&!kizy~cdv(pHRIJ+#S}JExMctF?Y}?ue*X+9;4_L10h9^6ZopG_=%wsw=~9c^
z?%0<n-SrlISa`r?3Om#KcPI#h>VFaUR&i}b|N7=m0>ML|xD|H^?iAPJQlvNpcc;(>
z*HYYy1Sv&ZtQ05`T#8$PLW?^sRthyHzjMya`On2%&vkC{*;#wNEARg9=SiLQwu#WQ
zvoL;5M7cSV&ZhH^j?xRPvsXm0Ac1{GF^$$T`;uU%|855RjKU_eQAB}_Z?36C_rvw}
z_(f_uz`UKS=s|$@91c;;lnBOn@!3xOsXRsi*~G0Jq%0qTw3|mAM;I}<z$ZMjJ0HEC
zuG^)A;u#P+ar4K?+6pKUilI~r*}pvYQCQXD1VlIj8G|hbN2Ua*+gZOpC6<tSY42K)
zkz|XN0-?pv{J2PcuLTY^5}38C<{p@wHyZJ6;>VT-9RtjRervZ#+msE0g*0A(;^H&;
zFii^%@SehOM&Lob>rRIBEl#$<P2-|LiuPmQC{}vHolV8l`f?Bl)olJ65{Ghj1pbKC
zZLfeu?cKCOXhU|6nlsg4vBa_O`>9}@F%`BV$huaAVkk@%R&sJ6ZByjRS$m-5q}Du4
z=O=fRXo&Nd=XKP&z1SBGKEb1!^5EUM@#>0eO0;r5^4DQ){VL9^Dn;>KvU_dAlDo&F
z8rJaRH(jgQ9&a&Fo%y%@R30Z99ktl1d}6Aw{>`NNlarQlZI9E|1)Dm7wrTHUuf_%C
z->2;*!8+eM{`bg!Hq7_E>uSm4d-u(r)px1EgX6be@tSAfG4*P!N(wk!43-#tzLQ3$
zTg0EU!E}38#1IX{Oi!NN<;3st=8mK9!2LW1su8@G^&;ksZ%>+ypH}|4n9vz|C^9Lv
z&)z&C{WHS&qXM3nkucdM|J5vOpYe+!O-X?{c>p-QTA*2EOYbvrnao(Q3~4Z67sJe_
zEjzvN3SMz7Z3tfVe0v)F*|%39WG!&oD`Y+NYeUGFi0|;zkgupafzXXuQt!~sFuebx
z8z}(AVIz?4zi*O6NIJ(_d(7TK4Fo{Z%f`dm)J=ZAE$>LaLq*1LH93x?{C67KRz4<<
zX}vt~`=9MAK}e4e5H{*?yd}#odj`6WB-qBI0a(^TgH3)mP#Q$o{@HPtz@-F&&0CN^
zMz3lL9&S?EENWldYvd_SV(9Ri_*ZgmKD7mX_~H4ujredWCy}buvdi&Dzrd}e!%|Rn
zs&g^rM?w3J_?7j}#;w9mS7NX8Za%W(9ir?B!N1pmx>Y_7m*XGA%ctS9<b1<BhE0@5
z9a)AAK%*0Uzz6;_j=^FMyIFZXvh^LJ-x6=xwD}fbIm_w4*dplq0T<&w!XxLOXt2Mz
z<K#X~?P&o~oMOx6(cgNoVtjnPyvX)=Y+xK-Iv9jsFrcd(X8)>4An5kBiPOo(esUC1
zcy^B5MSDe#98gJBX7lIWJC+2pVD@~~|1&HyKv4iSK>I&o5eh+(0K$t4udrcZkB!uS
zoAZ?Cwr{+_E7F0k-)#S9mr0r*&idcY#fHE$B(qFfS@8^a`6tK2N+j(H0j2gmlmzw`
zM4csmPboE9Z=;}<X?0a$!J2BY+x0px{HWR;hgpqYrCxRt14hG&$kZG_%uz3ecQxN_
zFXwz@i{q68_=X8jLaEJcf<G6z((`^J=12&BM@OYY$zj|Da1+HxtoS0w#n~K}B8=80
zt32A{aZlk}4|3&L+kUlmifFuGR@=H%nP51M=lOZ+VJfW0_tj4t{9lKVy)=Io{i&J2
zH)hLL&qa1dGD0+71d<4Nd3hJz`T@1fn|(}UYv<y$$zB@r3Mj<Q`O7k#umAr3vCogv
ze)i9;jrRW)w<(}!044Uc_TTjj4tff^Oz|db=ttAbI-kKOmHyzJeD04Y?)Xc@%$$h=
zZcvXwm^X~-Q33z=p+xTuh2x{|m6*qA*emG5{;=}#-f~ilMXXib^P9%eK4-&f#W0%1
zNEJFxW8>g!z`RKsR#RZMxtt`B_j;3`LuE+|hZb7DoSA@Zr2nsQ^*DdW_%qmBCG6>k
zXfa62+vRFv+-)|`<+r*(GHq`pKf-@=?8PfqYe&;{`<JA5O*^0s+q$Y3pMw7+PLnpF
z)98cO-@i3I#O7vSn*7Xv=O)27eD1w?qkwmo-m;%ezd(psA0FJ^jP>{&yZNhHFkg4L
zXtEK3Faw%Dqd4)VNdAvQ+y7?|_y6k$bbuI;i^Bx|&#!hzfGy4bp9KEjhIuFn5cxmG
z1pd1%{ZDE3zheTgDve6~!}|~2a`j7_kh62IQgVf@hch`Fkf~PU-Uelb+sLURnYyFq
z{~i<g&y)b8PFwv-i|c%?^~e8|X4nMYt-UB;{}6h4gq;%j{-y9g3H-3Vaq~Y@0&lb?
z=5>puBg+dZ#kdVCJCivUC$g>PtJj9(-pKsVlz`1-=R1%0L4U`w3EX!2Ih6YN%jAdm
z-@jsFgkVr<k=n6r9@~<j)($MWsx-R9o$~k?+i?Hal)&|J`#{Rwef^#YwatV1I@{@<
z?kBl2FQy9_QhMH4sJ;++_NDcKYmJHD_BslO$`xChwLwe5{;M==>E`;M(oAqSHaY&1
z!(}CMl4YpWg<X#t9YpZorCIxWH2l9xGuGJ6|1QnChd#|aU2P^LKOH`KZQ@cI3AHob
zbKTy`GEnE)&9?6|-_9{d@-V%49DKN&XBS^t#+CI~la^OiIIlEuI_JQ|WPw0)w<vJQ
z%_YQ)uyvX*W+Q;(L5S1l>)cqXWW)SKYyy{`C_$YPayRkHGjwiW?_^eX=jf?x0tf=h
zAAo_Xthd*=ntE1*sUAZ~>`-cv^Q*fod@}lpC|1kEd~$UfWP3)k#Q}i8lMSKr;I|0-
zSE0|$+;!<ft3vF4(7M1mc<^o+S?6Wv=q+Vy;HsTm5a7k>wq<f8wPGge?9>VccyJ71
zfMhly08+0v#08YsYV{f|P^NmcKfpvNidjspnfx>0Z1CPg07&R`z?D5|qH*amZT=|n
zTVG~pAtpum?#39#vqOwCji_{0Nmm${xPZy=5aEytwo2)cJ(yX7qzKOC#<Wb`Pe@G>
zSmb2fZhI(sdNt1!^w~bWGuDc|W0;vXCy<MG&6Lm9j_i8bytSE9E|DLNFK3psJ=O)7
z=S(5;T5C;ZDjpjpo9(*ZWhMz)=+2`k2Ad&@5R2CB=fa^+SYd!gepZ_3c3=R(#!(<P
z7BCc9i)-mL6*-cN*;z@FfD<BVzrfa?aOh|vl0YDY^j^3baR5S376L)&nSDw1*A}-b
zP|#^iPI+V6Pbc|+Yh<ElK%X8lqd2e;(dr8ZzuCxojxYX45rw{6+m3@g7{m;c+?<H&
z5(;-U0vxi&U;9bn_~&T~Xgl}-!R7CftN*Z(()Hc&#Yh*ZMln#<al@7~)ySzp+REyr
z2f4pUgG6?7{5&hMkB?ZAnI6TynK*{-g+3;7PbZu8Vq<#%k0MzG0r&t4%4ncc&8pbs
zUl|2Hg{!OIAr!$VzwJ2ssDUbxaxi%-BuQ*^R4N<~738#y!;Ay0(qWVVZdN`aF-7%g
zG>lt&mj2mHG1iL=uJgr#S&XR@0%y^wm29;5nz&6E7Jeh??=SSDZCY+JpwQ+1`#sEx
zWM}q0^nWUtb})DfRahqefeIyY`>-tL9CST7fE$3(cwnLwRd}dHNuH0wF)Gler-)5o
z8_<w@h=xYg4_N$C#KAuU=~!v<MPb%5AqiR&4o0pIk%beHxiy^H&XW(kk1RVe<-`Cn
z8u(NMh_-`a_t?|;d{eB2>o3~*D^(}~I9#s1tb-ZD7MugY5VmE)4A?OYNq>;iljnE+
zw5}CQiD<<`{M?+d24;rSe03<r><8N#Hnv_74Y7s3wD1EK?@M0LdB34d7^_KHvK<Xj
ztr(Ze&C0kn6aC=04<D#3XLvXhCDT?7eZs&Wj0S*nV9c0`z$hH&o~E3PVsB)GL*Cs%
zJj)Ug52IkcZ<Ck{bo)Y{;j@7ns?`v|O+Y0X4%3ufyjT&LnM->rvs_kG>91MnyQ2zP
zKl1@98bw%1lTdyrWtH&H@lQP$oC+_%b0U0+?<(7qJpAZVu)1rIMj!`$zX(hBT$8#=
z>?YAmj|3qA0iBrq2$7i_-}Y4053Ew5B3S0ZObDBZKi;JUe1|ZE!z03Xt>u(O%*s?y
zB&1$3mpnTTONoNVr<y<*q^~Mu(mkx!$dw2WZw9~sJf62zk?^CgH*FklS{yR&MSv6+
z(8`jwe|^=(`|I$kl8%(5ee1sZy0eJPMywP&Yr@Z&Xv!k-Zu%283X+W|Q~-eU7FJ20
z78=V&ev+tz-pcX9k1o9eB~o6gkP;yvOgHH$k26pFFp_hxKib$S0UE?;k)=QMBZG_k
zsS(!}vw05!03!NqKj&9CZC@+X<g>6z<U6Rl6DI^GRuFOl0Nm-bpm`qzPVAb%&x98A
zt7Ntl`cp206){*BA=1c4HDUfhhx#wF=H9|j&?4qfIPKuO=41nJ33g1su!>&gn(K(0
zHKB{ciWt#60QlZ5j!;j5UWBW@Ehnk8alNhS?n(7gK>r|(m>9s(=g2R;uv&C<YM#Se
z8R7LefEeX<Le)Z@X%~1g5^Ky@??bJSNXHl3<eQ~u(oJtdCXX`}XCB5(PUC7g2}<F*
z7TTYqzjtMliBtJBH*4<Gb;F$+T+={{%%(DJO)>OE0Z)(Nr+agoDR|XX{(r6<%rZCk
zp0x7u0S6d{><{YE#TGNC2j8e;s^`n5>>UB$Q#1dcvO$<!@(m73@_RjN3YLLTXXev#
zE(NrD%+3ANNS}z;T#!SSe(dPZi0H!73sXf@<kcP4os5HZCohLH|Kp}r#;3)2?xZsb
z;&;dw&TNwQGJI0()qI<v7g(-yYWTx`&v4kZW`K^~+Q~3pq{jgU#99RIYQ|D*<ic30
z${EKRH`jm=Jtzi3u6Gnqg}iBp|IrR`&l1VedN<AQf=j>VNP~|f)(CHB4Q@O*Ao=#U
zj#`hHQP#JG^ly*4P+s5nLll<A--n2LT0v`x308k+2vcpR@ZRJeQQP-QQ+zUOOQGNG
zvG5ssjRf4(cQFr|&q2hAXuSMk4F%YF6!eO@`UV(*aWY4P>o@j^H))9@&cJH_D(<JE
z0H_!MwUm`PSnk!CeLo#ZuJimMBVq7eAtJvoU@TPN@L&iQe=>BhDxF~PC-82dESX>X
zVE~<ylIqK{3{dDs%FZ?5-)tHD(*OXZ(oF$xC}0Uk0*yekn$S;mf>Q(12)k$aigJJQ
z$hNbTE$yBa!>w5=$^6=^%|d|7YgGUNqB+AEd&i>-x2%<n`INy=K1+&>ga7o!F+;$A
zZ;%WricxHm{(_TK?U0@s5PxeVUHKFnHXDhZ5`gV+BguKTM*?*pdFrq-H_lVdq!Xpi
zQy!v--p#<4Hc2oBME>Pc?I`I|N7yb9Z(k;O)kZm34y#n={W3!+yGR*?Ptu1nu$+aR
zp2f*7!cI0wIuuDPG7_HOY5ME|B=1lO6%gX`3YT(c8?p8z!c6jJKT_lwetsiv&Q5HV
zxqwlAa&5c7D1~|UISX??r}k!`)o79dn6wZ82+(qE%PCd%F~J$6NoP2k04_8*d9<3N
zu03_)M$u73+>G1P{L+C=m2!VS1>XqvyWDws`MEDBHIyu1Oe$@BIdv~IP5L5ogO&ZG
zDm#q{YhI?g^}%zTW>|>ki<?oZ4b8Ma%drPHF92y4cx)g)73*}FxIvWpNbU>bmGqG2
z7k_Co+NshhEHVye1s*h~nYIKDm<i5OI9Bhcvr1?3fHTO$GDDp+csnvX{Q@@=IGgZU
z@d$L!Lp?7wGo|hdvO+V-FJ`h7ZnG3=vz4W@RV}jB!?HCCvb8(1AFgEU-DVrm=ID)O
znpot-2;*m>axxop9v9rpY-G7O=Z+O;-S?-I3CndYVB}@V@m$IEzRmTe&GVPe^K;7y
z4$BkjBeodJvF^xG@MpLNWtr3HE<|~{h2<xP(Rpa)rLN?s-R7s$7I-J+Wm^<*MdetI
z<)v-X*bzJ(7c(D3K24G?th{|L$5T*UP*~ehSWlaidt2DJLKa?75Wz$6a;(5!`u<0<
zLVcIqSGO-Q7E~!Kg@YDF!(l~fv@geLUp~=#*>;;_tHtRQO?cm5$x}Js#4oF_qj*ia
zX!N#tgSKSrPAmJPMM+Ll!Mocctf2MM{(fHHOT#jl%|P)LR)Q*Ba#K+HtEO;orPOSU
zcxojtE%T-6y%Z(_uGK~ui$y7Ma{kZ5tkW|>B%&-<5mvVXTiSr>t`G;G;TWT!pJsAt
zYRe2)h=c5KeC*18ca*CimI`)ewshnb-WC<p<~AKXjJ2R#wV=~k;3*~Nt#A-}y~R`8
z&-+HC)SiW})q&45gYUx}A54vkD&WPCBi;vP=o3r|Qdmf7oa(KSLAg-^32)JB+U&n@
zd^|;5({ylrWnrlazRn7)ZU#`dgW6(nUJd5@(B+(`gXQh;WbGjQGSw=#<?)soB9<?U
zItuLX+-MO=;`ez<8~OylfrT!Vg|4H8e)S9e10%pH2GAIUraKku4+NR0un{l6NiF38
z3IdC90@87CA5qy3Q?=w!o~7gaiB`FtqvZ*(mhrO4LfjK((kf#@-c{IF3~cvIX1I`G
z^eF2q8usH%QhtTxtxEX?Kw1HBI00aS0NxUsM1BP}klr9K-Efvpa51B6guPNTuzJPv
z^>l(^#qwkJhMi8my=0M#vxZHXH+r{D3<mYf>7Z=IYQp2Jgw@8o#FFHrJbIDhXxze2
zv@Zxc(T*SqhxsOZM+wU)3HJdBk1GjU7Rf+I$<i#zC&mU(W2B>1q$q-<l3Jvm-?ivx
z8B6D7Q5FtJ*F$8wG-aw{WNHUwaxZ1BR3%$4rQ0gxa7JWLjePq=<%Y5dMj*gg3njs&
z)Uvqo&$)LV*#z}~Y*hfEc}R0pR&$7o^uD&-44R;lnM?k&^iiW!L<PYs6s5F>wD)LT
zPiI3E26Vas`#Iy)5epJ$evr&enrDXlZyuJ2YER}P#hUXLRUkO&IH_p)OE%KeMk1c{
zcJ}~MLj;g$h4UK)d)Ns2#D<&g(SdvAL<TQcJoJX1K}gbZR(-W_k6}MH+%K4ki5hWN
zvw*gATU_5xJvUMf1dcopOv(<I=tCpSs(XT_;xOzb9hiN?KMs$VQs!=)YCM;WnO)gR
zNjWo4nRh`=5JyEsRYf9JMFt0u8<c!7=mRLKs>iC*m8sIrs`7@a7^$k6#j4RZsaaP#
z+l#4l(x~;ssJjoUduOZqiD?Ak03q2LPuTfO!YQj&oDUm`fOJeI1i0_30)rdj#25jM
z$^uT&!Lj)FFv@Jddw~sa(`;CsB0y&t>eE`$cl#bg2;KpL6I)2X&SU|&;BP3{eE>Yf
zORDv-qjTqj+XnJix~3MEoHPt;l)(E2kfIH=pLCMud;p(dBLmg=BOSWNM!LraF+9o2
z+d+Pt(Y5f^qC}VV%7*q}-KdSEvXVG8$Kbd|QpK?cwReNs4Pqk~ilnV3^*?8Dln~v7
z9^Lu%$#B_<6vF(ktb$U6j+v`ei-EdWKdM#KNDz(QAwuuSKyT}n-U$xy4M)FFR6oQ~
z|3*w9Fv0upl|D$^0N2sr{yPH_Tpz(8%6q1U)VK)%+VBWtI9Oyr#9_qlY{dP_=x)JC
zh|*Xz4xhxpSkhE~I}Y}x^8IWs;pYwAL%`s0P-Etml!ueX8JcJZNBRg(3T)_G2pcXC
z0u1nQbhz>%M#C3F!n3H}OKbohs)Htys}PVrOYh=R1Z3>W`YG{{h)1h{hx<krZTBqk
znLdtj{kj^#37S-62v!|r)qyd6gM!7cWvSe~!|O;VnnYXu*uWK;$;$GCtRBsq42`%k
zLr&3z(Z?S!e8dIpq<;Z?k(ohJ#%xzj;yyU>pxxpykeycr&8)|jv>S^p9CKQaT&8cL
zcX(;1CGK(2y;6hrZZfBxHGe^Au_0!W6J$~F&Y~E%3jNNw!qk!`)pDOoy5WaqQ&1hr
zr^g-dtjPAQqNyGam_C+?d+d&WJc0d+xYl!O)=P2LxedN+yVfMsHV3LU)2~RbP~N56
zL_`Q!vmL0w*9!0jo-8F?o_K{lx9I+%?2dl_((cvptL4WDT6qUVYXQr9fYlr3s&$Jh
z#jq-hbkiN}j_^hh5{}1!BogUvU%Gp~zUtMLV>NbK2zs;8QHlZaGTJ$++X>4rZYa8(
zPD0EOZac-KZWxdf$%wAvsNN*M#w6%y19rRNu0#Q%Az8d&p7*88o@}&(_t;g#7qF6P
zi;ele0!uNLOAI!FFW2(i<%^9g0-N(IbT6pHkd9JSjv<qdz=oqDr_&O<usXC(XGvBM
z>g@l>`B9s-<*>6&e9aNU#X%iuVTbg~o^T&VT5TYGIb8ywKyWT@XqC(1n#<9dOO%8w
zRYi0{Rp0L`=~7f*i6qiGR)zviveXwOf9?1(%iFST$7_%9o5aLbw1nH!5F+%{QJb^%
z-i$IsyAmTQ{xQsG$zJ5HxbZ^qAlvSs88P=w{Y&gO!uXOe7Hd^>mi5GX^U_?Tt1@49
zYYBb+WChvOdwDKYI+Z=A=pwZ%bKxC%$&_7T1`#uWwAnzk3_jRd*IS>C(xsI$GM#*&
zs+g+jrueudBArq$SL<5l*+S?$H7q&9>9woq)e`QtLM6Ml=T!@MZy_Nd^JU*2@6&5<
zQVyRh39EbgK3|4>7B_qVE?-L}Ukg89;`hFhCaaXycyKPiIu38<Mwdyi+}FFvakZJ*
z;gBU8RBVsWtOWL8S|xgQ_Nd9?4SG7+j`C!WFk8GT3O2MF?q<gilXD?zT-sp$4rBM}
zx?a!P*s!@k&oSI7!Wt}bA|4W67;Hv8>~K@Wz7f(fpg6Zve5tz;9RH8d05gZ5-Z-DG
za)Kf$mL(|;+}Odu^pTJg^kw2nw$ZS>>%4u>zvC^Q6DJ=B&{3WkZ}FNH+8kfkD5J@j
zB?#*=2T(zlBSAKJ!48tdP6=8rdBGkoPQXTR!6nL1!g+P(V}>y*be}MMB;>`<kVAMV
zmul$epwJ{PD>qE&?nY=jS6KE>yxfGa!k-gZ@2^k}S(#)w(lwm+Zk&f1_bWgGz=dtE
zl(h^DYBC)=-oj=uB%$Ap!oSPnx`wX8`Ms%lpX7bUjWmAI0^aU%#z(&*{`LNEy1Ehx
zX=-}c!rddS(#nI?>A!XcT0i0TbiXdLzrZw12Uidgl-=Oic0zIl5X}p-O79}K1EtwQ
zRfI?Z7VnP$0XaipM#y(qEHzGMyUubv3ZKH#yY-SXs;KK}lvBIMd+mOJ{^DVYYJteB
zelQmmcXYMU-orw1uP=iI#`{wRK*T>BI+Fu~a<%77YK10;Mpe4S3UPF%M<%tV4K_oC
z;=EXRUZ*ygXeo=`#8JLXImJEK(z+8#JMaAPjj(rM$GUjlqn9#0k$?Z;GMM{z+Q>%0
z0CY72ihgfUxPZAohMIoUgz|>qHN62v%|e04bpQ%a?P%^c9P?aA2C$g$(wX@5S}<tk
z4xrH7AVg6SC{VXsV&!ID+NVe7eJA&n#DmHr$$bU%bo_zhxxXEMjSXdk8bO*;h}YJ#
z%l8m+hv+J689*06JW7D!%`i3HkY7uK`iZ>`t6tqCW%|##o-~bewrsvzUXV_c!FlX9
zBC$pV!L<Hi#*dO-rV!RBb^=fa2r>=!Ce?fTs={iNxKEO~!n*v_iwnE#)r*6J!AS*{
zPL*Ty&h1SEOm?YBW9&ZevrvvmbWMCQtM%HUrhiFnvo_z`!3*t%ww-1jp<W!(hr%Q5
zEfWIW7rgvUgS^M}?;Hx$s7*GK`2;(TI{Ea2Ostypd(dM;`GJ5AUY_OZVfvkr52_|^
zI=HJZuB~TI_;rz@#@a{qzU9pn*>7ELxC)r|OQJ%%ewM}IU?A=-V{q44T%n%0>7q~o
zdPR6q?Rk@*LC_$Jax!MZVqYj=4wOCp+rP}2L77A?aH;oU!|;4h{Vt!7PRe<Ul}|6O
z<QkdPMDyc-X*Egfpij=!+M-|MByGa>U%j_^GU>#rEB@)K@@vbCB@yNO)o>5N&Xazf
zmqFx|@9h)r$D2P66$3GYY}kgS9G^>K%e~jDxYAA;8k`+Fyx-NNopT-`JDl^%wg@L9
zCs~i{pSdKdZL}Q~5lzcoig3-RC2)2gkbkUkP^!p7cDhxJiA%fJysqlJb1$|TmhotK
zzt?$O)3f?0vuT{1-VTKq{Ba}ZvdcsN_1AdWtstrAAG|+&*CTVU`?>eQr+5B`jBg(v
zSC?;?b4kJE)5$brmv-W7>CL$FsxJSJLL+hk-FJIk0n-m2jQP%LaCHaHrzA^zHVs`%
z3cL$U%i5PE+k?86iH^vJtcUD(Pfsf0DTHonD0GKzztHG$9$c*K;NSn6D(^Mw_DFZ-
z%i9r!C#O8mj_!Z&#d{EOKEl--aXGE=Ao9m2m)^*qUlSfYz5S}+^Yr)kk!L!{FEp`O
z9V#CBX#848QhG|yqt4o<?Y$yYVkQcH{N)e3loFvCR>nDK2NlSF01KYEi@8rR{_h_b
z6!=H#IZ;<|ye9G*Vx&(`{KSsfSxSX&e3*xB&>j}luEKQP7|o310FMimap{VR<se4)
zV4{;jGD1|4Cu=8X4zT0JndC=<tlwA<R0M-(Q*3b@|HMnFi{u)5OabUSZG0+@H&bD6
zvy3Ue$G%4QAyPsH9hnN+h7i}YFP`Bz!6v0Nm8tw~)K$v~KDVpBe8mwi;6y)jC8ecp
zCgKo5?8GVFp{18OonDIL%>6EUSc!owiR*FJB_Tf73QJ>nZmcuEa}w*r;JMuQgU-}y
z9XdAG{ygqtyB7vG>TQj1{~(JIK9`P%NWqrej##AFD;_0Vv-!fsyER+Hr)71{TJkhm
z*}du7(bmBHe&S^AT$youJQ120Z`66bu*@J6d1{O57(PgHi8daQZcj?BGwYC?UQ79E
zTO)#uTj^zoL4tfhA!(ee>PU!gve`m<<w6x=K&0(i4TnqM5pDk(^nJKp0wif}O7^cm
z9rVPRp*a+Ds&|!=JB|nFW8II~e^f4I+)`gwXClc#fUL+u^;iFD)tpWfSIdPOeMSfM
zEE)-)lHDXfqtDi<84q!h^^~?4u=!AOoY~E*N_qg`pus`WNukIOPlh?<W?6i0DyjMq
z2?!>G=k|(Q!Mii6Ja$s44{2hm7U6h6Wg~ScfCBoJUGF%}&p$mZihe{<xR2Ob%?qt^
zqzEw8c&y))7l^8W_%cHSwpOSygl2}(V3h3(8LJoKaW(IUyadZSt-frLKKI$MMHm*0
zr@i4w^E#ycY*XFj2jGh4M{Nda1E{FxDj2N+j_kM}URxC!XAwxyGgUOP;AbWjuQumh
zY9U02ax$j6qV%5vfL9|Y(Mqky!}%tnwqLO-C$|9Lx&f#yR1iyQYB*S-Yyg@H#^y5u
zs3t(FDu(JyK8UA+&quS<&;ZApBfR)$_ond&x&SF9@PdvN)o+fPjyS*6pcN~+Pd9;m
zx|Qnd%cBQlvo2vxuLrV0C=dmD^j>v_1@`TiXxlCg8VbxXh&uyjVUD3B@K%P;v83i+
z3{jJ``#8j)VZQmyM5pO6{0R^YnCKIJXa_hL`+ohcC`I`h5g>CEg%9|~Od4s9R4g23
z1!7dF8MQsB^dO8zYATE;)d@_B@cRG-xGa@N0NB7h7b~q2PXl4{t>liVKVpeuQ|RZW
z-A8?t!Xq-@kQ#;=qV-G$b?>ac4KtkIBai|k&dfzTHqdeWc5K2w&-#fiK}6;UQ8-76
zBmonkP3k2!IG~xpyLIA>)2c!#ERH8<a?bRd^GJ*+v<6pXHrWi=08E~~u#Fb2_NQSb
zwgpfm)kT2etC)Kp_%ZsmO=Wj5L+;PS8<gsBG|ZxPfnh0E$xvf*#;9U-i<+9PPQ2$l
zufwu-VEz2Kgl5E-(_jn!8|=_yu#gF6W(dbVPI)X$@}4udK^g$2YPufL_g%#u;tvwi
z=|nxWcLW{Y;LLVU0P7QBMx_{u(tvab^i$3Ov8a@%ogK9FfL^@7aspZePY^(HGbQmz
zIdazr2GPjB-GKfg<ovRg?6~$V<iY)sA3Z;xNDpMYFZdCr@FCK*o4k~sng@Vp=6fG&
zOwJ$Z%1mu8`5ROTjr42g>9>3e#z5eFp}sM?+eDs{MXg}{z;bdTaA<;SN%N>~?H-B!
zqKVB{h3^J(jdie4%v}#%z2P+43m)#4^>n}1UcYo-?{nw&`t9@`-q%+TB1QkUWhXHR
zYRo#Aax(?gjql`(WV7UF>UA=;+f9iz61}jEO)y?Ri%qB<NOK!m5G(yOT>1<b=xDi}
zI6$O+6$SC!KwSZVGm&Ij6C7I@`%N<n*96aXhD-S#6fk(}ghI`=^nROZ{dGa`D4kU1
zrQ}~7{<2HyFWbGljy?3zJyd~8XJtJ!*-Ap7E-xd-(-=0Y=69OPa^*FA@b+Tv%hXOV
zir|cZ2P?951p*XFb}p0rG!_2hgRtaW+fhY;Th_{s<X0o<{6QSiCg~jjFNMRwVJ(od
z)XD8E=xx#+UQ~k0fec|&I_n@j%w3r%LzYsmcJE1_LTVE&&Y)r?VebcplWopES^Ax3
z@r<LsvcB9N1D+s!JQe8<`<m>>8&tZpP@UO$6D=+WVJfFF++(bQ(Y{M7Dp$LbDh^ES
z)u(D%Kq3EF>GQ>aWtXhd;Lzj8gvX+T^bc8D(eKRWc;D2jT8IrhF3>2n4mqcCTL%ui
zFc2~v4@K7SwgInq#<L!)414XUry8mwaYkIDhy5bdAAJ-~A5gNRpm7wDV?G`Zi5>C1
z9rmr%uwor~GN|@Kc0_Hi=iNaQV`Yj=@<<f>XqSCoxT<DS|43Ysk}?AeedVyN$;f+D
zW$9t<UG(5+>YtRbhofm%Y-OnUbc(SI_OWy)XuPVH$JUS=LzSt_o8&GcuZ7V9{?V_r
zB`*iZisWd~qjC0UW2HFb=qoK(*Mw{_ZJU0)h|q*ex$&x2&f?hd>g@4C{Nxgf@j4vs
z*9+qfJL7LE^J;KDHpY(E5^L)%$7(9-=)$$jC+L*nkacvjm(=UhbRD&`@ehL^yBJuT
zc0TstFgE`gLv9Gt0Vt|7lp%b)-Y`MI0IaP@7>t@2O`RxhPvB+-dEF5BHBPwGB={Y`
zyKyFGC?@C5KhB9wc7rBLu^{MttQH~~;TktMNEc)d=J3T0Mi7oI=#E|`S))NbX9Raa
zHzgW3Om;WWAezY?ld0W^g89IyefEL{254U@NE4%78i-eKk2h=*D`*}q4NvByiT%8j
zZKRAVVGb5<$F5;~B2C;<M8Y$C0F;OW!UrM}V;>{%_I9TKT}_8XO#ze!n9VVCR}7sZ
z7+{9zv}-ri=yFs~au`5>MkqdI3<rQ>K}`gq4DhYNEHfm5XHjs>#L#cNXZg{9BKR35
zLCO_(==U^D&Ma+1GU(kb{rXsGqjo99Lpn5w5)GnA)I~de%v+hlP6$~UMAO?P1aTXB
zn@4jr#&J4Nu*^V1HsaYqcy#7br3gGb-`L1@eK!1<KWqAQYV%^I#&;E%S&1Oym+4dX
zm{<*(_(xJg-072fWs}362oCOOh2t1JTogz9WKgxPHr9|b3dO=dMNJcYTybv)@z~O1
z%%rBohZY{{&P!rpz~V_#xZ^5l5F`FLYf!<d=LBb*0T!@0d~=^8JxaMj_hL|2ZP#dr
zc*-Yzfr%zgXK}$6*X-Zbg1wiq!S3wh;5^!7V$}o^oFB)*Xo9^!VH;3<0h3|X1xs9j
zj3Y`kQu%fbj|+uML$c&A{;7+7DUi|Na1F|o4;HKj(<Mg9-)If45uf4!9Pnr&T!0Ti
znK6P*@J&8@&Z+F`V%Lkn8DI@0`vH$cQE|RfpORiJ-!+(gN{Q4v+=&%%jp|R05^f(q
zS(smCz`+*)d)eWc9Lxx!Of5Lfy-1R%MzKc1B;RzCM2=6%iz~&98mT{4=5Q7bH*lcc
z+Q!bb-kL-bN1UzZ<*n)BFE^p3jS1Z5Aez(omyC}}7FQc4hf1-HkJ!@jl~#RN47d2_
z7PZf<YM+(xr>qg+5B2FbnAM`))y{WTX}?#ya>g6G^(vfc3tx?&;5-hq!|Uf*tI$m7
z=>9z9yk<K8d1O+nr+aFCMc0diFriz&$ZKtKckOlb+B9Ve+#!C}8G0^i?aUlM?+j&S
zFCLd)E(<l$vW|Ipwm9`}{WB%U%;NgAA=am~e)sk7I*W((r$}oweCk<fG_V2s-emH4
zXnjA<Mr3vU@GpJUne`6Km#rU0x0U+82k{;-Lw%lqIp?s2m4CTZ(-j%F`S_P0VLc%-
z(d2s)#Ecs^Uf}ERp|9IYU;h>tidcRvyP4B8j}cFd0R_ieZv%iGp3CT0Xs})X=2v_{
z+Pg`c<-hTd?cNhl#o_I3z+emn(9LvVwk?6=>4S-TU#5x9l7h}QsDd}M&qryfH0WRA
z(&7_(gl=w;#W3z|GF@-phi)-bZLx4}VZ|wI>Raq)TO7zO&fqPs_$}_-EuN|^UT=rA
z>`ne}EcEoCQUma_zXXMon{!QDA`;u8>f3i>X4~S(ZHeG*NkIp!MMZkJjP3(2(1?3S
zx4j*;t#G~l0J@_{wWGx8#FgtPqrO9OBv8l*dW3*#anF{*W8|5NmD_f7hIbw=?O^e9
zDtbHmCHLt+pm=bTBhLu@ZwP4ZY_-48=>_jTir+QQ-L?2<uMgd|3cfGMNeCNtG!ta7
zgzni<?b&l8dE1;HtM6Tr?b_Hlqg|1<PYWD!_uQ)X++ll;dV8MN>~x>;gkjs9B-?1T
z1y%f>Yug^rw`d*!Orbf=C;_2BfH@ApEZ?H}+M~m$VuYEaq2?e?P6*inKnsV6n!B(8
zU`E${j(=b>UleQlR(KDXoAcm~!xzla9xWUSdK$bX3`BD<$D}E^U^_Q2&cp9KE+r&x
zJnE1E8Wc|cKA&AQ$ki<Z>L7B1C2qM0w?{M505CfT(R2U|j}}}8vx$n}qfq#0H}<_~
z5CRqZbc>e;1wkEgya7YtU`}&X_}(FzuY>3fiV%Q+;Ro4*dl`amnF@!+;vOtLU^Yb%
zJ8HjOJ?hEcX0c#1borAI3MdFZWPIbo?Yb`rcog;Q3u{J!Xrct+p7(peeKtoU*9R}D
zTx&Q{a6~lq!7(1%ZOrBfV-p>=2gXML2}^F=sFM$A2O~CK3$Rm0bx2LsQQ{Z->AlVH
zZ{XoKN4#+NJ5EIuD-EP%4_N=UIih#E>V3+GfZ)@B1esB_-X50f$E{O)@0L~$pj(2j
zQLHMdpIxI~E$xHyQQ&G6Um`dfLlU9@DqsR|%%gXa-$9{(1hWX~4N#DVVq9`zQz3p!
z6*H@TM1t=gCg={y-xrkfDO)<cZ|4IUbrUuBDNsiVx*olzg4B4Qm8qZ1wtpvj;Zx7)
zek}+TAtBH_H}IJ|jz%iA>mk#(Xx<r*uX{(JWfUo*`43f0x%b&qm^bXZ+si#vlc2{5
zbnmdr+o|naGRFn>>ahM!B0zgF*&KrGP*^KC(+z-QcZLIpaBF&!9)MW60Vp$s>A>TT
zDA9#`;}Cp?qD}|k4}2g%Gy@G##2GVa12CKWG++A?QO6+CQQ)(~d<7JfVl-)}yU=|A
z4*;{B0fbzqSA$??12C7J?@uJ8r0Sdo9;5a4O6NP6%Qpaw+80c8lYSjgH04(ijG{63
zq#oH{`{D~xjABqcdU_qG<MW;N>(xx!502iw7`Y33ms0lE=5{~rxiw+<sOVQy`;6QG
zVfqn)!AaDHKY|+tWd?C6Mr*!zGo9Wae1nRr@_hNtP1yVpoCtW19Nod(qXd2Dp~qkv
z>@NNt4uF|8J%s@X{>(8GmVE&WVoL<kaid;;Im2uB;$jYsdGCwJKf1f>x(q1wf2H74
zE3rj#|7YN%o2VC2biPL%nxRgmNH(r(eTnNNj@!=?(X66i7mbjTH$Z^U>1D86jUa%(
z;nV!@y7`;m+ke3vjfY^ktMPr5Lf*~GZ!R_0msNr&O2p41m+uOar;JReuhnBN1yL|_
zpZYJprRpKV3BViDTOuJ8u4cHYWcXCuHQT>1VZ;yN?_gmrfH)m^W()3u{?56N%z6-}
zs&^Z(`vl`1MS{9@;ribG7N87q<Hf&y(&i$3b6vFbWbC!4kPwO}^crOTGv@23St|E(
zh0uhO(Au_;@Pt24kRjEun=xw0h!3iZ`Ws_#<nq@?i6fy;9-Z7x?w?#DQ3H4O;`dQQ
zr5AX<e+j9h-`@YzLw(&F@-K<-kH7WP;xzyJCH`Bz`|uFAO$}7UbQHnJv6(GcoI3C$
z>EBClfC3GAmIu191!y!q6-I7hG)Xd#!0j(CBQ(Hd=^zOp@g9U2t>{ojL`?wAO}|B8
zV#uPPv8h_ZcCj?VBt(kY?W)Ao__$)|19E3Y2!$9k9PZ!`#H5P2%sH{8qY~~z@atV~
z5Uk@IltgxwZdcrMmD+hCUPo6vSTG03puzn|?cy`b_x`6xKlqj#9Y!(*Jg)gyTiri3
zdmRT0EVcXZ&oy}b6#UW^{`2DW_@~eYCK~Uapyv%@>#p61TGabQimi|l!W($VT6Hmo
zlRMVMjj(fx9oJ`|+OWGUA10L>LSxZ<Em7s>4CJUjBdt6ET)B#?Gctb|K`9ac&FF0q
zX!0@iY5hf~5-~s$TZO_XRRv@VGmF9dSA(MB9R0hP5``rvzUqu<UNbiWaj8>8iV28w
zvBZ&IKQF(3FGbq=5J)jc;nIaNM-wpR)5MU-+%U(IX-l!hQCcp4dPeI$n(eG^ilm@>
z^f<#LfjwE%n3_wSa*L7!$-b2+*t5)P%sQS(ks`WYo$Z_xhlS3|cuTQos9jT|qqTTD
z*t2wHv^L@lwWT?7OfADWa$$5G9C;e2_=|aWsc|dL>W<pZoCR*RTAZ2sowuAte&Z`<
zxk0O8TqR*g9sAZEzizqEQG_zwWpU#RdqqjSo!k}L7q{G%8QL;Dufl1=d8!KBJ9%Ea
zv95AgmnF;an&%XT^VZhXYTLhV=={Z7-{k#^r{>*i`0>j+Yz_Oi`<Hu8eIKDLf76hJ
zI^UZy-VgPtUYXzgt+Pls{&$O(Pa5hX$65s5uZRB@Xx~hh73|n8d?MI+So=Zn!)fPl
z!4GrevO?WIR-Xv<+#Y?P?)v-dw-5$IB!}n&e}97LC*bQs43Nm4JnAFUkrN)Gv?4wm
zp!Mhy9$|d)=RAixMNVXl<0Y}sC{JCN$j3W@4@Ku=!XM>CCn+UIVX{KUU82+SzyF91
ziWA9;&8lU6W|lhxy2a*oW&gGgsO!j!FA7VVlP(!}bc=toej@L-XrCf~jd|qqSA5m2
zu3O@Be8yjiHNVo2%u6osBPG9t9T&H)MgCrYzw(4gL25JZ!yn15q({a1lD7+9Qac$s
z3er8vR!_qwlOl~n<g=grlRhXjPL@7=^<o0O9h}l5bKLMju<WquqfO&Vaqm;vZym=a
zpH8}er-{UTsqT?IAENL5^?i)*fn>}X@iV!rS)I2(FBYx73#`A;@0I_#9ug^kv-s(o
z{O#_`-hi9KyApHpqS8BsKj#DW3V)kKOFIAD-5&S$cK`UTAMPOYTK*qdBMPdzct>6>
zHMkSQJ1xtM!^W+|&(j$Fl>RG@XmuZn-e@#atX0e^h?FeTH<pv1g%I1`Q8fF;33{>+
z+j0-k%=yMk)U&{Rss|V@d=nH-Sm4jN2bszJ64m(~NTsV)@r3J=^dibFa=C|ijD&Rz
zx>%{+nhy#1H>JSGS!o6m`Ghi?Qju3FH1pNN>cvgZy(1jWmbgcxI|<T)yBw(xt4HK{
z@n1as!-jXuJ*w1$n;tJ$2_mQ&RZ}O+NQ>C{O~W&$6^xsi+qHAeU8AMt(41AWw$7=d
zHL9Q4oLzU1gZHQFxM{P9e@(<I1}mPAcNTjjxos3|0s%E2->x_3nXhpmVpha#$>)>$
z<v2xx%qE<9`3j~Y_D1q~bgh(H3YR>W#aei3J^Wi<-p+AK(e6(AWr|vE%Iz18*GvT+
z5f*=&pp@O_(bwv3DbX$DQn*awdU7GE_3ICpV$D@wRI&gXD$jj_Uu#gq(pm<SpHODg
zZcQ+1Emz9oR(D3uKKE}Gr2Ts^Cc`_IVT4=BDbJ{7>^_^-yny75tWmMzolop*t->qj
z(IY|57axhfR`@}!A0sneO1@~VEPo`EQfm^#@~&q4F|Wzw?m~@?XssC~wQ0+*i8_DE
zCzgL}5g&NX!cgz(KQMSanyg*2D8I|8^N2j={Ty!EKKCQb|DC(_W%$?!b<?*`gV=4$
zetqf#i!|zR@H>2WHGjp~*5rM{<wU)+JeDckoXZGz7X3K%(LYzO@NYeZEZ=G?s;xDO
zLBM^?VRcat@$L-?k%!|G%%{1w%;xUXf9`dkpKY|gzxeFs70I`D3Ce35kbm<t`M2ec
zNJ#j2kXJy(ldk<Lv(6=4jv$RE>!)7?KdkNwhUy=#PsP9QLemR{P1f0rmF2Y@N50)$
zePVGl_sI9+ooD1_%KP8yX1)Kc>7TLu{tCJj!Te!IM88LFK)BlbbgeuM8TsweO8M3I
zdJxmRe~gI(ZhYyc+!9pkn@MBL2k$t)(IokWZ&7++LGjMQsq}je1;g#b1TXz`yy_hz
zH}hY~{`0#F_cUU@XJMnv<e!msQqLA+GN$*9GV8&w9iF$m<Fv0ta`l~^Q;{7X?LPaf
zcJuFPL`hFLDu|YhcNvJabm+O8xxU=?d?k6$WGXn9ycjQhU;YvI^!*)CG~12~DYSEj
z#IjMIq~TzIxw9nY>6IPbUp-CZUqYF|F0Vwp^K>eV=SzBsUQgd18cuU8Y_f~jzIAZ-
zt?FC^%-=~^7rUFg7%x><{Sfogb$_g5{HbD3Tr~2po1KvHatUX!@bd;Yr+daL1;{p`
zVrw_opGK?MRo4OyByOIcjXuBFyOZGW?soO<HCjvN4B?&hat*97T90FD#a(A~4Si(r
z1y%JPd^+h8!DaCE$==VqKann|-})QDoS}b-1zlq2^*8;H?Y|hlAQNBfZ+TXQ-tea(
zu|&mfm%W=Gatg?FEBze@&W@XhU!1dr^mqAO!Y&?{IOmT%-ZQDX{pG3PT=ZLSUv~fY
zB;ubF8qfMbo3ryI^=V+`OT9xa<a_R78>i|7qa)R-Uz`mvr+N>g;|F^(9Nj&Rjrv9>
zGMutplQxd6qDH44E+1IenH<|ktiSPB{pLRHap)p7`u=2J_Ws|e4j4R}Ggi(nUXuF`
zgU5#FDK38)7{A(&YS>)RR7LRL2|Tl(cx!n1azBDj{(=2Wg3T3-Q(jQ_tKC9^;SUmI
z_`LNCyX8E+>z3D8eWJeI+P=-tyWPLL5qD2EgbZ$eaXdYLZfm>4rFVPltguzo8*yN3
z@ayc=(;p4JHYX6h-=FuNu65l-p7rYfIpTPLKWS@om1p~R)A_;5+TGI|YLkC!ub%xq
zeP;b9LHF+S?%mc+X%L8c5q|?9XI7!L3uLha^D+lCG0{ld1t{53X>CA^&{P&1e)e`y
zceJk`Gey{jZ`8)Uqz$}GyL$y_pE5hbT4wJi=9cyiqJBHkF|_Bb9my)Q$EIELft~01
z1`T#>1GL$IzX>O|Z=fl2W4W^@=VfsfW~q_dyr;Y=p;d-7w5POWakjUwcC|<Pu~dg{
zQbm_ZC6zg5*wYr;JCtpfSKB)Zqi5Ug9s2BNM_C+ZH&s_Q?KU@O4mO!C?DuZUY(Wmp
zgbp@jtdlh5HY{5c+*>Rn<%?3R)=CcS+FMqJ4w@EQ91ad+u3Mb`tlDAa7E!EYiRG3V
z4%~%XkIKqNs~s$wwuahS&HKuSMz?t9ScjI&%{Cnbk62C5w+3&vguraN1Qo_)j>2?o
zMl5Wn+-ycoW#v-aqRNgkS``L{j^dVV`t}t?u8szNjzyu{647jONshW1j?#tOI%STG
zHEa)?wzJx|W&5|~$L=b$XC38N*|av<vJM=z&$lygwiUpY4+ttX$()qv*fm(3?(^&@
zi?Bya?WibMMrrP-8&*15u&dcSsk!f{`?F_<?x;jLX(l_VWUwO(cC^Z!SZdgnh1vSr
zcXawI^~RhOXPtCccOGmyVGee5FLruw*cCy}287P~WX`=byN0a0AGn<rggMTnUdbsr
z8*A^H7&(71-!*mE?R0gP^K<SBbvBCPFiv_Uli_Sp$RS<k+*$1`-Nez^zH8b4%4F=7
z<gByxDu?8zbH{<R<oWLGjk76;(~O`>oD6AC$0^2wZ0AObH#zCZREa88S!wQx8dkYj
zaEjP-TDc-c{O&j(hwceSRaqwPxn^=&=2s!gknXjdh^9S@_C1e&q{Zl-;4IQ>6)Ct`
z<$lO1aK2}Lv*!cm@+5f8Pv+uB$Hm9uQp3IPFY@}4)P8_6*CWk+Uc=X37F;~`E<x`5
z!Tzt!Lia<WUxz*=4~=&T3!V$RFbj7ecZ}9~(z*X6+%!UYE@I9l61)`Yuk&<u|Eagm
zGljWlU{@6D94gZ^ifJy2vpO2a9YZ%4t#EK(tvYs#EY7T&(V9EHCnMh5l|HCCp^z*w
zo}2bLcT#XhQpo|;tLkJUvXr)Jif-;y-i*|#1L$J)b0j=%uNtR;>&4z|*uMiLZcVyb
z#tSMQO2#{$%y_B{!9#MMnyeD4F!dU8C7v8)dXA0T3yGTCHmbZ}Hymf4e9pPNG@b&z
zngZqY{3<u^9G;hLJcT_xpoW^FVbbCyH}(#mlK$!9Z*I3&HKm++B~bU<6YetQ7iCPf
z=j^rR<fIi6wcq4;E4R`r^^T5BYG1X%s*t=FQrxe@r>maw9>msGhfgK$Df3m<*1qAb
zYpbp6sjVyLt)Jp;SgLLK!uw{g_Dx%K{kPh;|9Bgrb&W8-Ca}j_D!yjUx@N)SdM3UW
z1-@4Gx>miqMj5_$HhfqFEYC7;V!tw9ETlcYu04&fBe$+2^H_368BxUd0ZUux;p-Z%
z>zcZ&69EP~r}+Luk^jcmdtKN2&!c_mxEsvhM^)d)bkae{-!I5NAW=V{aMH`mKd8q)
zv{xtc5X_FiO>B!6HSugOuN{f^9H{c(i-;L5;UBN!?|Q0ITU-CJ$FrmP<b6N?<Wl|Q
zUfsl(`l)}%k`KXruJx}i)i@_SM`ct55d%}4SU_$6EN{cSLPM8`z?`zcB6<CSnZOd#
zYrv*qDOiA~sGpu+Eujr8T;$ogr~IkkQw)HtRyBM+I$6cO?>E)ZF)XnDMc_+r-TGd`
zoXh}wQS>s@%d|CG9L<l&=KmVb|CY*oOG0o^@Xhv|z>d1$uEXh$nc&1P&t=ZIc-WoS
z_#3Yk2f+by6~Wjy2PJ~NnQsou1s7`tk9!0sI|WZlJOvcNEZlMN{n2YB{G(HX7)zD!
zzuuf-h2-R?XGfmrOm8ogJud`>E`RZVBNPPE8+xA(@Zv{}DML78L3H_^QlXIhno%84
z6+u;%_TU)C*gop&x4$x#_^;|D^ZThIqG;QrxI%rpat9bGK>xOmB^6_YQFZ?=gnC69
zZqq#e=z++k`j~tNfS*EB{>qH}XY3{_9l-;1n*AOBe1MTUNp>)q6u@wHEIBIlcU1`I
z!!hJLA0E-!zbfB_T%iumGqB_tVOArKaU*UPAJn6<qpcAyrV&4@kstv?8+xbQRUU(t
z=E`){fu<XIxDgQ9Goqi^b<%jx<P6v43<_!Ndg_b+0zpK5PR4akE-6g<x$jqD6vF|y
z=L=#g+)oPQ*Q4OqKI}s?0ivsT`@5u0av>TE@DWPKz($TG*;Vilz`x%3(f9gM9@j|%
z1F(7Fp5}gbPwxUd5IiC_Uc##v>#OGOmrPW-_Yi}pih;ct5HnZg&E^wN|9)H2caOOb
zCIyhof#9toy}1MT88G+cqV&)x!2u8H>?o2m56SF4lKd0AUL}@&K2c0_d$I~G4M3R>
zqN!9Qqqr2ltdp$A(g&kxr4rx<kdAT)Eb(neZVWYlK-Yg9+jk%_xl8(=7eaWKh+aNP
zwiXf509Gl{UiHgw@epw<Q3;Prg(sp?DWcLZFWbvoWb*iAKZthqx5&+3c3m_JJphqm
zNi}wX9o{iS6Ma%$b&4-Mlxzbed|Li5y6!8gsknXg{7z4R6ne+dK~zF-qM>&Mr74zB
zln$YH4WU;9(h&`Uf+89bDGC}uiii-3fQlM=v4KjnW%Bwz@0nS1W^Qwlm9^L2xp?;T
z`+PNezM5Xrf);%@sQcc2M4PX&!D8h5fwx*#3EI||8>}x!wqG~ndB)uLl?YKtHWQ4n
z`x>bEI6{k~-ElRt?b|m17jC1RlBCj&eF28Juj>tTL##L3f0}~DAWo7|!rXGW0%%?{
zO7CN!qh6Tv_rU$6JNbkzz?>o$*`)1$f3G7G<I$ss?{>d-PsAEzU9<OZMUVkNC1scy
z63sL+)d)g8de9y{K2DE(+lKTdu)>6?&38?NV~<{9kM1V`70J+}wD?`r1!h7u%r*)7
zrm8a<8qPfgZjn2vMQJ@+Ki5nvwu?K*#lHyCC#ERbQ@7*ILL#<)_3iWipdq)9qLLD*
zXWt#96%qVl%l9x?^%EofFnB-Zqqa6hDAr70Djed|B{gmuc+^y@_Pc(p8DV8h-h7)Z
z8nd4g7?=@l!wJ<;Y31HNaC_5>zjVnNAN6v<ae8`w<K2E76aQ<`0ry%iK908WjSafk
z6MZo>X1;|R@Su7y$bzk5kg#yBReLz*0%tw)S4`B|7=54Zj0CgHi!re&A7e{n^smIk
z-;2>~-cIP}Y$w{8Bz@3}O!;_0GA13e6MtMcSyG>RZ=3LYOG|Gj<#2oIh(=mNj3#fi
zO#-AOCr}R{s%HN1af@y{vz4wDn|twVZo<91ZLQ3=Ep08ju{o_uwAQ$q*7ygl38j$4
zOVq^i)};B?3pKG9FWyVH+NA`VChv)*p53LUG?a{kQ_W0EFYA_-CYN0dEx)E-(O_`S
zqeVl?;3fwQvQFOKyM1G1Bh+mxZ+U0?kY1L@qb$AMu$c91t=5Z=V<T$<uYCW;eZB5h
znj$m71d$&Wztz>!G6gq-@i`B*DO*}<dJJzv-;Y#v0&y=<ThBQ~?>9L9>CbxJ^*bZ?
ztLF8u{^G>!f7V)Dx~untiej1^An9r_;=+x(^Dl;Wc>ls)>mC_27bSGTg{+jHK710L
zA_7g`p49UZ4fnLtZHGe$DiChsu}ujAUeVN#WJ)o=W1E@0JCXW95J7z=Rv{{h!|hvt
zR2QSDG#q@P93|M$0s2jWLc0!K)`U+m5k(Zqo(N%kB3~>-&Yp<ALWxS~kxgVm>xsxu
zS`%i(@dToBZ3oIZndizuDMDhKS4Uq;gFbf?m9Ej2-!r0T!ontver3X0Oq7&X!xVtd
z?9c<c-Q0BQGd98IAUKWECi!P7p;?DOh1zomb40`G#23mYhLI_vOeXK|9bP^T0H+f@
zwK~VowhrnM#}Ouj_YxPLCJtqM9GdD_olji-nmE$>=dGae)Sjd<^`!B`NfSqtUbX&s
z<@;w+^3ZgSaa&<h+ts8uIcjfPwOPEzpX;_}rjqn$lHQMWz2EKxIGy{Tf7zlJruJNz
zRy#CrbZBAz;G)N&rNBeW^M98sgH|qGSpASFKtH6HYo=EVLb{XH2mbJ85{T}+Q)<2G
zq6GU?yL7xu8<}l56sAAwNgxd>Wxw^5m+lQ)9Gpff-$kWM?6F<pX$|g&ODLQFm2*t7
zG!LbSIaeYJyY)`+UMJy`F&RQ3Z|$9(Ho5_+z+44;I=|dIT_wx~ZR^6joJvtK^=^j*
z?w~w7G*f9p|2}cFwb)*w9{o+EVKVIfUq`m?T@MMIVZy`2S?210=caN_HJHvDagLwg
z-o@&i*;jUXxbj?zgix}O&6t91v2}xe<}AALWXpR@QW;$?b%o53t>0w%pBua306TUk
zHf-*tz{#Z$Z>Rp`>*RM|o*DC-y0r*Gou93vew+ipZ;QHkxae{3r7JJ9!+HDne_I$V
z)e8Ocdp2T)i}75wU;XUsC~#-|q#b`)Grl2B!F>J`4%PkkK=zkd!Qtv-c=1|Zjc3FZ
zBs|mI<SN#L&*>Sz&A!oRf=>2My}~DgMtem)bDjFcJ)ulXNe@mK7wL@qgvM;*&3rVo
zuX_4Pp&C&)i{*28Q^8f1hNjt}?g;`{gly~kBrV0(EP16>DwR@Lf7!rbhCQv@j?ln=
zoL}8eCEYlX_^3-V)X$(vT-D9grY@A?bWh6Iy8dRRX2_0GmEqIpHzBHH{23_Rlh;cr
z;<@5QRIlh-c$s34|3vCO!|V0KM&J2-M^s(1=oRv}HkvX+zudMQ6IS^KFM{sK6SK*E
zCSTp`G+s4JSYG?3Ii&H}l-bT8dLSH4P&&>z0=eytWjdvb<3m|Yo6B!?%R60<gszwi
zxft&@Yrk-WpnX}UScga_bIBy_F&ni`?c>I}++*|d792&Fw&NQ<r7mus#l^0nLFd3z
zbJ3qSr${+#58Nr2di72ao`yYm?OT@>eKM{gP0J&+#YJ~P<HhbgMfvJZ7sR5YATr&%
z{ge4I!V8mH)v(%HfdXYCmqK=s<^Cw{1Mm89#q}&&*>(T<#?8r7Y9+mHq_kH%ACwCg
zw-)s}$&=NE!UekT;~INiJs!Nvja#Y+9WKwRda=5@?46dLvZC6sPbny)<+#Gkz7ABy
zBXaAb{ils;&O986Ihy|XjD>iV&@mfT#ps|TinW&h8H4_i)U&6G)4)L$-=BluS9o5}
zB>OzilDsA{a9tuY6Djv$WH(9(<56kN-qu#OP2A|?=fusV4vbppyS(W9t5Y@9@U9PL
z5xI8iENl1UpUU$UxC>VPN(L}9jYlNY<h^1${eORLjGX2C+5P%~!vTpAK^PhZrp*TN
zml0ty>z4XsPM7d2xXht0sa_CtOo^HYQR(&<yl;7cc&<xX`njaDAcDWv5nU@4DrH>`
zG4G>g*^}jBHO60<w-kU?@rvnM=CbA&o+-RN*pEBQ1`7tQ=aFB6Y~N3ti#=h$;I&?v
zElw6kX6AU)DLpU&@qR4<S~kWoRRZrbrfmoyQ0V)T76-iql4dCyEO6Ahb*2p6yih^+
zs4%iVeP4I1LceoL&Kan@@YkL)nK4I)GYn3$UVaf89cgNOB=x$`aSaoa4Fi&M$MX!O
zSwQ-mV|p%h?#!BsfSd$>maR5OQ1<&jxqZ7`?p$|uuYEMXdxliatD&|Q?YkNU!9I#o
zi`G_gulX-wM&}_<NBa-MHKkJa`Kb5kn~RkQq@9lQQBXc%bHeM`W&1Zbu_?F*uvA$-
z7bdevDOQ1dvVvA%@2!10%2X9<rN4(yR^nAG!|T!g;;<{;(qGH^l|J!@jX{0(LQe>p
ze*2d5+J3=6eAU4^-K?;v<E4I``;jB@npGFweT_ccdX_m5;k>!9V(gIF9m*#Vc6e7F
zysrS|u3!rJK!QT7OKmg6zUSRdU9{q;+q^J8$)D3cBWICx;t}cn5*AOi;@zUdRPB2J
zze*FOlLaWs4f&XhgQv~bo2Y)eE;*x#K%K3=ML*zgr1x_5NW#x?`hnxc=D~|*<v!0(
z-1L%^_TxR<6J{~?aPv+M_!-Y_C8@2hxg<Z@9`REQ;>(bd2UVM&d`%?ZjOgNkcD64x
z0b0;wsw8AKi1&*Y$~{F=a1%Xvd7Dkkg{|LYREpa;-Rz=E@#!H>WWH`qEl-OWN^R2^
z0PFVo>`lB6g?YN036d9$KSY~hCCS|qEi_7S+>mZ2x!5f7E$VCXQCSi9T(Xayhtv7l
z<S2WgsK%UkWMU1*T#N}{B6FVXJ%vEt(icM3J4qQ6fS9|&lTJ^TOMKd5B0TxOkgMJn
zn>V6cW;PGR_8R3aIV!a2;6uVLB`9g{Eo~RO5E6MU`h&Fd_M_LIy{r!Yez%?<)3a!N
z&ouh+nJW98PN6Jy%yHt`<iWDOpNsb{g7%TXl5KoQS3=6US@w@RZrws#?pc+UF!aaF
z;E~n4`DO>_vMA+kefuw;;Af%q3<TR4r)@;l7O68|bc-yn?k_CfcUoy#)a~fsP)el+
z2`se3M5PZ=CHZb3BHBBh-xDe$XrAgpVkd{6Yh>og&iOWe?(T{D-kK<|Y`}?bh@K3&
zx@~Xc>GFABhp9Q_NG>&;lL$`PYMjVLB`trxDn22+rBO7dwqV=8HB#SjTki(|VKGC9
z4%3vZj0VWeqJr~@$>$EPj*33&#F_b>boK5`%#tjIzokznEb8S)t^E-!o%|n;S)JaW
zqZgd5BwLTBLqlX1y#!KY&;H&^PE*M&nMKF!^vKF=3>WH(=353|ng}Kg0NoEUyB1<G
z6WkilvXZ=cmCSj^bm4m6u(uJj(CSD9NpO}9?|_fF%CTa%tIu`MCFRQ(i_I2`P434w
z-lz)izvV2r)yJbzNPZ&w4G~>~I^k95nDoV=RVwT8@l>mNcR2w^hNAq>%@(tXKWe3W
zEi2<Oif#w{M#)rfj=cqTUO=_GcTZ#gYrPJ%T+rR;Su4NmGhZ6A+GD4?WhPhbT-?SU
zzoaD@Nndv?{b^nw61AGWu%58+lX`q(^K4Glr(x~Kf#ZK^2V}B7i$?uotL=-i9jn@i
zxp?mVS*(Jjz$eku!ijBc+(>Enth|a_+_lP>-D+3kCimr*Nxj#btdu1AS+QUBHq?d(
zZkOW%eXZYaf5EjyJgS+YcfQk#OCT>k`P#8<JUlA&yBPCyNA+x+&gDDug%rx+<5x19
zWdgppI4CzC*qHI!V0~Trd34ps<XgoNjk}nzqD!~`f+ZD*jrHiCQr$C&$)F|}JA3wk
zOkkrJ4%G4)vKerfV}FS=yvDr?7Otj$zdBN|)AJCAi|JO8;ZsXAm6H}y`vzavm1)?;
zWeB^^CTaR0_R@LVh;vugQPl*V8{}k_VR408O*&JILGWnlLLHnXb>LBS1qpicd_Wfu
z=dL47K{VXN)HdY(J{Hh1aLkl0=H7GN6lk<G5e=%BpnD2^VY(SAVMD!za%UZp_oe)*
zm(MFpMSB8;e&3dE9V^Vp24>Z9YNu}2MhE3~X4;#UC8N{4B_seI=j)OJCJr(qMnYgP
z`5ZQMzHSgCfaLN8xFl1G-m_}HGv2?Jvd1#-NF69ZphhM6G`0r$RPpB|_wp-*JDm}^
z&zBvB<@{R5LNwB@IAO6)5|XC;;sts#8UmFe0_7T&=^BFL3yBI#!v{w@iB3W`cZ7~=
z2!BjF?5-hxN<)eiW+z4x3EU8=WQ)h#7j+7Kk$OOEL_?A{OwwS#_;~H!3MYxU9?ACm
zxLtz!Cr0$mdNqckUq_Ff?oHKv1&pGXmFa!-{HV~i6dAVyz4Z-Y7wVor8{A_e5@aXQ
zIDX&6Q9PDcR>Mg)uR!)WUrQ0c+y+^$CQL#-{CJ0nJbH-Nu<4y4NP%Oa(37knZR%bI
zlCV!k>DC`RhDW9I2;|G{d*>ylxp>H@n!iV5Br!*-QbYEunc%DYf*C{7Y4ZvW7E#Sm
z5zd17MB*F(-Y1prDbQ!qs*hwp`Fx+{BdC~8E6Y$^*z3^Jr1n%Z<JmWZ0RgQM&HV<K
z_RHRfS3?hs@AqDLSuAzDarg*Z!CYL)Q-Fq>eMINI$<Ph{t{Wyer;;x=!*~}ti;41-
z0&b5a%8|Uz1GEU>rpmEe1+bc&==Cmi@W-|K10>e7sv~Rwd|SMQ4sbo5^9c3A2(Tl7
ziA*)>6g+6urBu!>bu!(=ZbT~)p<YB@nXIwFWGo(lXw!LS)TF`QfB?m*!&6v+ZS<Y6
zlE@2AOF@q^;-b5rD$s$007k(4kOdRs=P2Cq9g6I+>-Y|dHap7WWBT1vgEJ)`6oLao
zv~yYCjeM224A;JHJvhvH5Iu7och=dsSJ2@3_`wHFMxK$zVLyy-;189P4t@N7DDA-E
zz=^}X^%kfJZk1G6s99dDNKQ&<O)e6!pD<0pnd$r}&=-On6v7aNAm+`2))RKBLcWeg
zlFmgdDxp#*wS}X#E$2flPt4ndHXG+nD5VuyaqtEx04C=nnMndG5RIg%ib?>41}wKF
zD_pI8qU2?#dR<eY$h50S{#m4%(GRnScylXf7uz2Wow7%ko0anxj(m^YyB%5RS9G{q
zTRPj>3ZZk5SJ(in!)^aML3oZS79ZO$T*{J#(H;Q0bi@;aGuRu<Q3AlxH#Lutz)j<a
z1Yl;R6O!x44+n1^z9Dp$=Lb;{Z^DbRyLQAbV%9_zhq1aN)o14L(n_j@1V~UM6EQQ*
z3j99vr$)1F^?=JPPekE^6W2B+uScD1h!VZ4<5A#j^ZB^86XH~`wlHZPg5Pj7zkW&s
z0Dq%-?Y=UwnH72up!VB=4k+lI;2urgItR*ZJ_%Bcd1jyy1*z;p*oH%tshbD!`ikZY
zu?wZzrabwzX-^OmCry-*=byS)i-m0QREY${x%x*{KhcMXPDUJ0GxPVpYt`2!H3$+3
z@cc*{G3e=%NOd)hMo0`qUoKM!j7Zk>OEV@V3#~*yJy|WnQ84$f)(ub}mY)GjTooZd
zj`mNJmrk!1cJ7{el1#p(ONF<R8%o0NPf9jNzbCv3j4QF~jt+Vu;yx^5GwG`TW-IuT
z>u*9#$kXbO&e@RfuKv4QWR5Obc3|e_Bw3Xj5fKt5*%~Fgojlj_#C6-g-Y4|s?Ao&~
zZJSo%=!M8#-KZXukkx3ZPa>fnZlS(0F&@>?!BY{+dg1b!F$nGgH7r)OHKJA7jqDjx
z*)K_Riz|;gu2F1Dt`=^(p-%>d$`b-xTjDU=fyQn@+@@<9B>2^2oN<gCCDn!w5)A;^
z&VY9hdc~W#S=|wp2$%Kf>xz$3NYE3G*eFff)m!EewlBt|#;C1OE|pNs^vI2#0xD{{
z1-SFUJLzF<x;DHbLOTif$fBANRvohZ?@8~a<RrqA^_*U0ePMQ%`Fu;%&%WVqT00dz
zS|XPzn<c-Joum(Lk4+AZ$-bo@_0&E0W!rhZ)r1%NImKc@Bl>wpdgK>k`6F#9vmy_d
z#PX7RvvvS=#nimkoxD!>JjiZda$4?&es=l70p03LIiKdfP3Jba=gT5#x7uh)`T_DM
zE}?fRMkh?EvqF3rl#M}#!)}q2c(b*d;ND@{MgQZf`cj7$o8xOGZ!?jub}m=(ria=~
z6H4-p;=oC9Wm&tWdhKPXxUw|y^77X-<@Rz;@M~nE+JfcX^2QUi<nr>GxQcrQ1;y<Z
zj}5N$zK%XoEo{Ae<+wrBtGFsyX0xrD*qz<%n*8&vvC{f+S2p6TXk}Nww_p3SdrjW&
z8YrIr=k?VDb2`efy7x6*_)!`EqiWfomvgF<hTDr??_SrasCp-!`t!ATc(S;hVJ+fI
zjm4u{hc~&eakWR|Z)6$VIPvp_=gBLl4R89NwBx;dJy5?UD!wjkx=Kq{%sKvwiFHii
z$tyK?Gja@Xnf<IUess$z=T?>B?HiA*=<&B5eo79C*F{v+wLfYI9j^irZPpFe*spK*
zpAZiRi4Da!_KG*Ys%Wfv(>NP{H|ONt)koE*1qE`Ne<pQ2y7%WNs!KwIXuW`Z%s~HQ
z@EhG1PPi}r_`dY7`?5w&iV01skDK=YYSJ)zpp)>x;PC_FUk^--nk^EVZ5}r}{AzYG
zdgzkS^rHQK*UyKZMlI(OTKpfk1pjIYGir@WXpMW^n)Is`M9<6ndG}s<N!G8nk?FRA
zUpI;q+N%=imA~41#YOy#@Lam>zXc%fIvpU(#lHVX)fB4Ft1^j(a0T>w7U{8z#!|ge
zCat<R4KY9JuCc-Hy#&F&&zb8gGrEL7EVC~r!$LM2{Hk2iD&o{57Y%ipJ5$Hd_E8*a
z1@F&Gy_I2j^tZ^YaKC?=>9my(ytU|)WjyN~nca5r*HtKS4*Nj_xV3l9eA(O5<lz#<
zpj&U#uFOp0)QzChI~F2Ez(i8uraJIM{X%rLLtLmG(whRgsFpi2bi*GIQhb;0<7o8|
z{Pc(pguB&O1WYG=sc?)u=RVIy%NG~P1>P&Nk?##KY6^VUkpTINHfke3d=}Gi@Cl|^
zBY8Gl^xpp8A{614Nl;CP(zssKL;`Pt6o~l#u!8sYpTJGy-zIS=UbEtCEDTVr7tbf^
zfbTpt{tJacWrF}ZJa!iq*+ta4QUHjbzr$~H0MdS$O`Q7S)FqQ-4%ny#shEH-KpHQ9
z*eCj*MB3wW2oZJ~AlRAGS8E-Oz$e;hx}snP$yACN)1{-mWzB_)e}I5XO4pSx<;&hs
zqG^0w&nz(ff9kRIpcFv<zeF!mXdu7JFaiRT@GkvNrwQP>4Ozzm+S#1&q)Oy{?{4bS
zUl@S1Ap(iv6xkmGP2B7K_a^sxf8A5=I`7`%<BKVi2b5dI@Mb|bj${fveJGF>`Xb$U
zR$s;<U|n*2|2{yh%64<n<^Z^=ZSKwJje(@|mR(*JE&Gh_?F=yoU$>|oZ;$+FsGT5i
z?|nw%{P3U0F(q}6Q&7AeH-}%R@!L=Nys6(YeRhcR*BHf=k5C(ox57Eg71r7$%CgA6
z0^@oc6~AtMPDxYOq9IQ#pq-DI3%ph|3jq-z_~8njf)xNiMU#DT0%(5s2)|lFH3k-d
zOnf}vDDe1el<^+P)9h!weh2v{jj0_G?-mhvj~`@dQutd00#fv^F$5I(VJnUoPi@xm
z8hvAyvJ8j$t!WV-QMGhufa|XR@B9A$7e$40VZ+<dWB<U?f0dvAFR=9ggAD&y`S}Ny
z@>f*aJUBn}e|Al4{!50}{U2S^d;bHL22GQ>V5!c3!O|+b)-R3^V|!lzCu{oQ9~sW~
zqmm1jqW)z~=ecBfsD=G*<--5Yno=iCb7cOs|4-KROjTraVBj6^7ykp6LT|0Ue<}G7
zEalzv-nC+5ejtlWhIh1oU)HO!xpqYQ(dIv}6vHgv{>pCu2bOlky&M{AID7F)=dbPc
z`O7YrPoE_1?tK6FVPsGJAI{(pW%fU?)Z&>!J)4U7SNZuOI>fE~i2bYlR7VI$iw&j!
ztNhf>dU7j2h1|+d*y->r;sG9?EP1ej7b-_z;)fTv@-zJ^--xFuhj!>cSyO9Wn1V?;
za>A$ZA6V+_>c7YZOK&Zf{4cOnb*ap!giD6|-MqC_5!AA}R7vhrUFL$N<%KyKV78ay
z@!X9CC8w2jh1^(yS{sE+e2;KfO~7Qo>$!dIHo^z-v(IEI6pEBhG7W`PuNEJaU8_Gz
zEU2%lzj-^r<l5RT8*x}FhrCzWeuX?wOcQXnL3kf5`bd17zp<*Ap^bxxxUldlrcZgA
zQG#09+Mg85ox35}!`6(hhsJl-KDS05@yJ5D=(By5Muu^y-1sxsZKT2mHU<>4$^h7P
ztwUZ&nM(i;B@;%fu&EAglXdLe7FeqnZ35GtGfVN=bxQdMO~amUtYz5<Dw-b)Q{uqy
z*j%n!Qw_U{^)Bpg%6IJueTot<)M(S53Od(-(Q2aXF<)WNJ<!Mm0I00{vCkNQMeF7(
zBRBzYu@y%fp2H+2RWZY!-pz~NNkl1m;ON~bK5b)Q;*j98R7C0{kMuj`?%fFRC1<a0
zEI>x5DaH^v1Q1-tr*L!f^yA09;4&F63M1~(&fp;K?Vlbf*Uo!xQW-P~p!d+%Ge>nZ
z4m`Rv4yIe6N>)6(mPcgph)%grjR;7Id-(H?Xst8P5ls?}&pX@$*A4e9^*MMmaPtO(
zEDYYHZ<%U@w^AzmMEdx}BCrYewt1Mqc*@)(cW~1_mGE#X@9eiWdP4MtHIs04Lei#T
zZV2bkUJNf$t^@371L?jlyvB+$v?Fu_rQl*zr0>0q)7=8;>~6u^05h+cj&HY<sZrXb
zg7ysyTv-tZFtVL?xq*CoUQqBBtMe-ePZfmHi8qy!uUp(cy;pF8`3as@1j0jO*+POG
zM>c{I{55IE?z(`qv!SszfD-%-tc~d~+@9|hAg!?Bsl|_t_mfHRL@&O6;#14TyQd4{
z#dclmQHR{|0--(9_hh0oVF%>|PL?I-bR#Wz@@1VW*TEpiShIeUkc_j=&SL>U>Y67V
zu1#5hm0CZy#rU0kmDBZ*ww?m{#9f)<s!VxXa`t}7A*Z!xrLHX)b6(p~&j0p$EBDIs
z=t-|r&P*b<;UO`3<<n)BggdXpG_l=)jfnOUs-6^WHxOB{!TWS8z%(`OPJXZ0C@+~C
zj(Q=qlY?54b4A4aWv)KtFWzc84Oic|bKOENNJZf)Lt7T%_QfHkf=!haILFDBj>S9G
zOjDsaQnSb1ru;wI@<uOwvtlq!m5#uT&peCQr3?uv*;1Jr37g&VUf*l*!XwRR7C|+}
z_JU{DDN1EPieM%MFs^?m4G@wA#poF|>=Y>6ks3Aj5h4fxSTBTT@)069IdJ}n9aF_&
z#smxlm_W-4)7+Zrn)zc~@q&Mr`4tiXb$~i56DAZoyb$#tZ(_WC27aD%$pdhHCRf(<
zP}=OPvfPEuYvZ@2%Ogo)frXEMuNxQ}3}R(q%*L%1qNwyB?)$O%9y!nnYn=H-oWh;U
zr_8(Kb)VN_#_82^)vv`=Z{KfwBji0BKSrGx=3ks?2=Z-^I>&jkVi8d5>W7e<b}(4=
z9D1~Wumb8Ptz&x>qkvTUL~$*WnqrhD-SzRed$%^X)Q*7+qOm0qywKz$Hahg>^kD5s
z_W!GEdM|O=?!(VF+fR00-n+2<;=_NsrgHo#T#Axp)s|@qaI>ZxDcNwNwyqRhO0xQF
zrhT(l7x{TFjWFbSlQG|e|4Z1bkjS<Nym2Ws^K8YgIgtcYfvcHexlS6q68&-_j|T1^
z$nEl$iKvm7L2Byxjd>Q;&;QGsUiy9MqR{ShD^ysf)xlXFgnX}>%rk{keBNRSVBxcO
zH}*wpEJ;av_Zy2e(fU0x!Nhisf?a+@Vdd{7Lxja3{$_YqR>7jkgPmSYctn{KKd<wG
zn6U4c`<L>n&qt6Uz!Kwu^@6>>q213h!>$LJHukgj1hd`?TUzw4-|Q35yoNG$A6#$m
z^3#E^N6Y>qZ!89_y1#v+SaCk%s!=1K<GtyT`ju~`h`a#rq7$RJAyG7G<I5fqK9ga0
zA3mr{Dm?Y|QTHG-ygtqN(=o|ML${ASXv#P!sCQgao^__FdE{jX&AoD5_<Y~JR<xfD
z?NMLdWLov}+)q9YyQ7Sd7>lvSg{ZT&&p8Y$DHRReg&A4i9g?--Kp1~)*;_m^rpc7W
z591S(or8D5Q7Q+>E}f4DuX46@IzJoF!>3|D+_HSoCfS%5W&TDs{7AoA8|jt}xke^N
z#necq$tStCMqD7WTY+|p7XGYD5Nyz7QpUed6_N&4t)cw7gp5jcg<*F+3$bnzT(5Qx
zZ=-}Xj3pqVg|gTYlWmq2cd+Js0Q4&kd3cZjr75TG;bOHGzc+G`v<|$u8<Oot$nO!Y
zUC&pKt2%OK?#zhfG(l;zH2Bn#hI0IpX^V~7!c3kfo{T10o8SgV(<O1n!>jHvP%a~V
zFOi5`a<npGC8z8ID63FaEAdm8wwigN(n>T_?b~;822=A`1Ws6x56H-|lHTc$F?ss|
z6QlIPSl*$fpTpnA06etgzM9n|_C<oiFBU;Wn&~^n9pscyzxh3@0MVH2c_EfBMQ9QM
ze6`~J%EC4=fj%52&I%`<L53ugf8j9>c-X6T42OLY(8tjbz!${D3<S1~NGWVpD(Vk>
z(-K}|>3zV>&rm7iuWraaCEvz%m^(2=Hxt%~k6Ht;nG7Hsz_z<#t}^5G$PqmN;3yik
zO5iDV<at_$StMvaBKwT9fMZO|8WZDE2K&rL_c2nh;xV1Rm{m64JPTb)=Y2YbK0|^q
z9r>P?VtN2nAI0arBYKgBdQU)$6HsI%;1|myT89abMK!OdhFfP?Z6!((FrPX2#5@(;
zdje0LBig1U;{gS8fR)xq#Jy;hd$*h<HR?0M1m4kMX5<UO00dZvv~FX5v&{|G!Tbzt
z16yyuBY2mQt<C~-XlOY{$YCNk`UC7T5okw<x+7?V0f7=B8ji@!DaynScAEh^DhSyD
za=Wc_`4MsVr-284vA+mtRUAZ}0r2Tj{f<#L-~n$Z&rz31JCkwO5b-Z=qP6&a=V=fa
z0f6CXFdF0x0+?e!EEqoKei(siunyiLsts+#03F7Iby=9_07!!fk*32p0VF>iZS9Kj
zCxSk66+>2-0yE(R6aAJ1c42|liAndD_4X3MpE(RPS3%S!rOo3L3G3jGG&JA{?8Si(
zmgOq5Q=ZmchC3FR&@qP3FCSV(Uu0!Emcj8je*y0B3P4zupj8<lb!PS|jSorV2|-}q
z=tU|BWUrCPA{$sr4CD))M~H}tEQcf6JUck75*@xl2NkinMGY)vDkdQdSX#zz61i<$
z>^KS3!oYU3N_W`Uj|^--DRwLxdlC<_QmhbQ0|7)|2Y7|+Iwl`gUT9OE>KmKVo*$xz
zeUpLxLn$rj&-a?kFQ)~siv@H|23Pt9{4DW)K)&=>BtEz#A?zlfAV32QKtuEd2neIZ
zOgmbiU~Zk+i}Rl&Lr-vMnAqoNqXBfC7`NaQ<+}n?qxq}?JSY<82{HFG9phC7TVkN?
zYS5cplZ%qkqZ|b=z_Tn&Vm-3EwB#uQBSGU?BVk5qX`6I}#|g|CM{tQ41{^>~R)BsY
zlAMXK!)#DC4Kqix`g_atmLujN7_hkopHqgpBX~eO+0`ng!W-BPHaKm)^bik_pbXhr
z$Npi#HHlb#I^<JbHdPsCT@m(<gsh(erO~iI+-e;}D&u#PxW?}&lWz=n)9cL*WDM4d
z1VifGaM_zjtE;t_2>XlYL$P=s;`kmrUg+>wda~=UtP;?@6u#FzXm*QwcQVLr8ENDK
z2yocQNdw$#7AS(AVr7}S3Z$ju;AdG-(N$gq0Um%%3uc2ZJEET|C+jjJ7s`QEJTHor
z1uzSja9C-S{|F7Zi%--e`%D|a8(BQEMX+vP$Z$D2HSX3r0~LsadoY1l07g3QTF0Q;
zQwdY|Z3Hg~?uom6jGi#c1E`|_HVu?bXpA6U<yw1lM5uOl&AYl9q5Ig|B*3R1rb^;I
zFR><$wLbx*+B)_v4t7Ho_KjAC?~n1Q;FD%U!<dHy$XEwP1+xFf*iCHBI#T%Z{c<w;
zWJSeE60H0dgYP2)0OEFV3`hg^8Vi`}hP*q+n{ZO;3F^v*%BB6BR_eel?}5I6ye&Vy
zIv>ae3_<|T(h^`@*G|xBjjh+r0myj<+@1tEd@BmV29a5qIY$`Rg(T7%&H>=1TM6p`
zl8=RHS_kC(X{xm5w`_1W9yd(_Jz`a@(a-`ohyktjAPx3C1~L|K2X_*~^%9RT;2xBQ
z*TlPHCtC%$E<q(E;a4K*EvB)eB&z`#;*0InL-*gtROllNZYBBMD*3__vu?<b<Au08
zrep;2n(+XUuj4IvfIl=oIFlR<JT`p;&(6BQp<ut0z-f#aJ=T4pUr87@NPa_y0WR;s
z$NTskt_jr9or9HB!95HF06ZTb89grfz?U;tw^#W}`Bbo1OQ_-FfO$*7rSpm4(Mtvd
z%rpY{o>9!4if@zvEoD_7`<42RVDyT7Z53ajN4&b$hIy26dzH<L1sa;(w1n~k&nXSt
zgha4OLj(a=Y?!!>0{U!Gp9yzE6AJHTcR@#M0!URkvBlp!npzW@lb@H+8!#-MN5Y1X
zb0mm9xU^1<f0<b3kdCztfc>Vy*LHHG<FNN}<;EwGe;$EFR66ggK^U1xI350Xofm=6
z`{jt{P|&&lxPtZ@Qag_^$j;sDT9?FL#lTqGp=XC~*B-6FK48bNd6l$&)ln*_`X1ir
zl_C!Ernp$qp(cBX2|h~%v;c<&jdI6i;bG=&ohTZQ7z(6|&p2*<l@Gwu@P&1;1p;DV
z+|Q?n{962sB6r)bg)}6PKJgR=UIp`m?^2=|c=`p&671e$CC8){2Bgilu!%1%;+O7S
z8fG2f?ORU-{Y1Z{!-n_b6xru93D3m>=+r=fUO6B@0<s-x^4&cjV)*}@1c_M3P?(?u
z1mw^<m<!edIIJoGbV?p7qEY~10>1&k40!x>2PB3E8#{LXVIpx9&>l+66cU7{!^fv7
zzpsSdK2iIcJp!EWq#;JW%>X|-uxtiI5D$hiz|o2QXU6JE5%u5o>sLO;89jcYv-}cO
z5YfqiKsb!!N{?uBOz57^pkOh~?R9NsGC*dgdqDsdpn8eL=ixZ+;&GSvH^BJKY`B97
zGfI2SfWRmXs(ZP=2E@yL*m|lp^)+Ubi8xxrJsS>`Ob<bs!#~Tf1FTmfEY#{cV$23m
zS#NpN4@Kia2;dQWZImmQk5*uC2{rq`!^&KwoQTfYzR}C5<o=ugVe^5IHKTO2d>$@K
z8HbTBhd8}1-H)Svj-_={6r`2r8v6I?UQso!{~3M$K--lUmOi-ICjfwMUr(DZ#k6tT
zSvY^IrT-A-jLEb%LK>t1v*d_*EFHx%#w|^DJ#~9`qCUY)FOmzHGi-5I9Lsl45$G;5
z-DwK*nf~_XZOmsT<~@yfg7S{}=N&s3!*b*ub(pELZU^7L`?+G;Kw_BSly^(|td``J
zYS++hOTRu;$l8ksrdt6IK+RwfHn<3=YU|-N3Qp*=p?CeKwkq%Z@!i)Nx7W|_SILzF
zE9~9rp!>;h7ad`ixGu53cYzCnI>WOcAHLBsx}xQJMfps9&ZOT<Rms$YxR2~;<LlG<
zPZj`LKYaMyJIjDNcu1PWKnBma-Q5NI;aS5AW5_S_{ky?`ZqAu4J@EMQPW-|W<jaE5
znJ2Y3sXkl%`}Z#d-&~rqnvcHvCg~?Ulz>di_o57Yec$p5{Ttq!9z^79v1#X*PhMTt
z2psbQRtjb2QZY*!Q*4u#mE5aK`F~erFriOhFJC{j8vJ)jSLCg#OuSC%a^CyZPb-zf
ztmT43t3@)47lzpMsq-J1YgfLk-TS+$vds73$Vb^PZ%9|499jy<f4}zROgQ7qGQZ_V
z9gkIN{1un?0r@STI^Ta9#(XN?UVip>VXH6vRsLGT&9%o*R%0;&;W*we4BR#oA%_F^
zF<v7*u?9rcCjcvY2={IME0&)jhKGJx{|cz%o)f_}FLCgT{P2tGGhE74X0_+Q>fHNz
zYJ5Ob-fDsCvP40I(Nx4?(Z~>kc!3L%Hm#8s2Pj8ll8*N$N+f<e$?1=B55bX2F<w^D
z=iL%5o<s+`MJ|#M-d6Ag*4Klada(63{km>z%P6oD#`c=T&|Utc?ChpHxTiFrii!UE
z1y`}tQstk7{(#$L!PSW9H|y(&v$4ESao$Jy1Jtqn7x5#1mxV8mHGW>wKL7dF0iTAy
z8)2^Tb*1qQQ}Op&eeUZeJd8=OY>4h`t#a_~vf|Va)Fl!w;f4`OV^&F^%(vHa((L*Y
z2m}*l7GOibls)}c5cJI+n^uU$X0f7fYix>XM1Etvkl+6LnZQSNUta|1L$s~OSl%xf
zfGdN~Ffrkmet#lj5Ak3T?!2$q(P8SifY3kRC=VTQ(Dz)hwI9oS$MGw8mY1K5?mx^|
zj^nky@Vmy5=lzHESL*!O(BHVj+hENHO)_839Qi^H`2u*_<Mq5}+R7mm9Md!%4XRHO
z<M(P%ci(&F*%;59S!^bkC-psY+TiHon;A!aK8kYs+F0Hr=e1dDhw@01E0aVXqo_~e
z=lz#oPTL)wBl~ES4!>>-DUCG#wA2e{cwxuUDL(tIw+1X~##NSh9&-U4j`|12Z3;A&
zyFD<yvz^h?7QHw)bb2Lt;#Pn_=dkIrT>WI)+VwE4y=mT>;B3hzQ_0bfs*OrckEEiX
zUp8#8%h+&1I0&kS;A)QSzj<V3D7?Z})p>B@mf4$!oZt_ARUX?R?>m!3OT<pKJ-W!b
z@I6}jXq+abXrbD>DLH*Oy5SIx?)2=;W%OYMTALE~3fyh*nns)Mh=nX!nbEIOd+KlE
zPhjCgjvUC0@0whIeQEc>A1kk`jrc=IR@Y7+tDl7dLe=-4%rAIkcF!MpMleHj&qJ7D
z4?{J~|8KAq_uBKmg@_Y>Pl4TmFa<&1_hJfG(osb|IGYPl0bv`*4XCiZuZe}IVidn0
zK84TJu61@oTsZ>_SHZskhdcVohDEEG>c1G`ugek%*r7ukTU6H({6T)o;z%!gHAH6(
zqyP?9uuI`m;V1AseAdKem5>&VYEHJu83K?W>6%Oe3tRj7R;~b2{RhO(xGPHnJdU!d
z`4aWBsh4D$CIGz@$NpohkrMrq?S0~^XfCM`A&X#BR4RpZV?l6W%m$w9JPiV*M3+>w
zc{7I!Hj`Dv6Frkt$6hZ&R;3(kuWE)^*9~cnpVAurGiCy%96L-!9J8@$TYeiQqeyqg
z9`n~3wUEp^W^s|z7;KxIBUw<ju#nZCy6>B+H!OPVxe~<o4JZu~zTlrBx%kPTJ3FaQ
z?da9-&DH%d<fT!q?u2F<35+^f!b~>6xPG~+bcbXm6WeSOE%D9#0$tigrL9eRcrHvf
zCy5P8qpr&p^~=^T2WD~tctQUQEDgN(6mArBUp;cvLhM}asHIfzbb%HA!&dEpT!DRf
ziDKoxdU}e$n_w<(z!Z3aDx1xfB@2c4Dh=<8xFweQ%s?(DGW`HrCgjnm95Ocj++dEd
zf-Ry5I<%1n&?hu_ZUrAJGpUTnRnr?n^}wVw@*9*L|Kr>wzk`V{vu@VK|7d$CrEa^T
zCiObF-xvbS8B%!mURWm<kRSSW%2?*^&p=57VlL?X8{}L5!7L|tg;F1lXi1<cRwg<G
zQz}<Q2N?ULV<Y*wO3?f+@grWKV<!wR72OUp|AxrNFhLq8+g`0TAsz?hzNCr@Ocx>H
z*NJ2b=lqIwvakR=!*$`hxH(|k`=<IzIH{ZOEQyN7apyV(LB^lgEudF*uSM(2i!t$*
zxa4~D?ZzPF-^>dAIR>0C?Z0Q4zZ}v>G+!L(2G<T)9EdiNsW{yjaQw1FT1TvjX31!-
zuerCxt2WEV;zkSKN~gRlT`f|h1y+aR-_jJEYUQiB6D?wzM%hHIvdJyI?h~2v3KT_@
z{&h0nb4$b$ga7#z1!;K=?#3z$s=qr2c*hP}zhNiaIOC$O<PI>L3n-BTa-bv-@xc&3
z)<|(d97TqKWy9Mv{*xjiR-X={KMC@q2$ZJ&OA+lS&?WesQ%0j-C!hISi0t9~>;Vtq
z;1&f~Alg>ydSNlh!af3XxrU<q%mk`R`=qjFm!U2~zyR)eZUm<nbaK_ccM*HJVxiUm
zcLN?9(v2C4ym?^5*T#jw6a$#DV1Q_+Gc8b><t;CvrGEt-?-zk5xKGf_(WnUu!e9V|
zy+gm0Eq=$5;O@oOYu59<b~)Xkb}o^v!DIDfqV5v1JRBfj8rWY4IpS_6eI;`|UV(~)
ztTUzD-vC9|g^(r>FFE>a=`^}pH+T>Ex%V2nHkG`(<GV?dJS$YA|HcoeAK;N6U(|1m
z$+}ce94mwy;5ub%?T!^9&7Ke_phOb|%!#T8RIQuAI1v22yBUX1YtgyByIOj#o|<qs
zKonP$uC)$8A#Y@P{lhG!RLPUN_AR&|ccN(SafFSxql=8stjw9VWbK@+d*Lgd5bJl~
z1M)YK{(UXA%`Z()8NSVTl?ZGbXzF)LjJA)0p2rlQbiJQnY#4iiTAWD_zy#1B_}F>D
zRp)CeT`-{ER5u;0Qw~nzJ$0&2Et$8|#A@t04OVOVFq_mEIBM9E$5U4$PwiL6v3Y85
zdG7h{=?|OPs6(C_^3cq+f}fhjMAIhI)0owm8eOkAZl^$J2b&#;g8;|<&gnN~h*H`4
z?iI`~9hZEgFVz|JU9hqCi`%K)$cM6*+ZrI2;f2MV4j&~waf^U+2&wU#xet4VFGUIq
z6s!j*oSt^DiB(h3`}wNXS+myGfG+%5B>ZhVR0Jp~vVhupACzQ`YsZssj*fLHk#Bi{
zirh2&4a7$f%wr{-)7F}6zZ%n6;h6p6&s%fh6t5$EQVXf|gfpuv>Dp~%a=EbY)lsQu
zZ`@Bzxga3-j5@@Ny5P71Me{)@HH|=#MfxvV_#=D`=8x{3-%&T$<YSLMIaaNde0krM
zTbMDOH$F(GX0@?dpGIMQeZ&?H)y$uNe!VO5Q@xd>HHkMDo#MMUGDDqw>ykf_3ICKC
zA~NHo^rK$+(6l?*^}!kj<I#A?ytuX1m7UL-5+|J>iKQG&_vA}Neg;heo<@sK*kh3e
z0ittzAL={_%a56vKcCiAwCHDLG`KlP%&shH<+C>Vq7w?=Xb7Dc!ktr**VoeM*H)mV
z4l0=Plz=EVkMk?XoLyA9><t{m-&Y>$x@9lRbkqB>UNCB_7B+*{1=hJQ7D~>`%948-
zB-zI^TegrLQz5D0R>-Lmc{FLy^S~EC^q;P7v9PRndKJ~M3t&3b&%_*j%=6&e%}Ms>
zfp#b#J@fAkBF_g(pIRAtFTkeAE|!@$9HT)qi7Ar1f`+3Xr9LIzl9qO0Dqc0r`4Gv%
z0_RSG5<z#Opa*}<t2VWmGdg8i0-R{B_}(oQu7nK>ss`k^>-VQjG%(FQ(p#i%s5u3E
z%YH``Rt5k}$FG}=c^QwLPKnH+SM}l>U9WclIDwQZQg5>7DT#6jpO!2r1z-kOdofCE
znT&H%^ZbuG0U;(xfe98Wpm{emho!eRY3?y--@{+{xVzynk3uQ$1C4o_s!hgkNs7ho
zs~Y?nD}o>_Et~9^2BshWmBRye1Ode45B~7=@62#H?R!SeJI696A7uqiCxe-aVI*-r
z?(ZE?w9$H;bqjHbXo3bH(3PA{d5S1OT5}W(;7oZ}QX_X#n6iKnKo}-bxhI$)Z3h6-
zWfYU54Aez3$~n`?I#T#M;Ax6XW?J6BVW12^`c*}ir3+0zJsj~^GS--1q03XQQ{hy%
z(y2o-KTPO7CD?%;+)56Is=L^u0)ZCH<Yd14PK#mdrPHvXcz6h1<CZ_dj{x`aN5(qB
zqx~|HRGRAB(TqZgSY*0J4bF8R{KDl+(WLYVm4cj}XPyduUfO+^%!tjm`1eYt7Dh-u
z`UZXcrbz)+djh9mx~BF7#jodq^czU4R(asr1<N!=X0F3Y^{^24Ogb~Il9U-q$Ozx*
z>!w?!XBOHdWF~$>4O?G%wvp~ixxt0>6BChs$n>|WxzYN)rwBKqNr=z^SOD89Q^K06
zjo|pzr^O%a&+s~+?pbHGmoEa@Y-NfJb?%QDf}ON}aMTWQsvh<%0qH+z1rP>!sP*N9
z3OntL*dbVxzNO%(c_#bWHHE?J+JiObwzc+sEfw<8VSVj`HT&jkI=*Rkj8-alF>60n
zRC*v|S<pk)z}s<KFrV!lA^*Pli)QB+4}D(bp0tJe5Y<v_+X^J*PqaVovMd|#Yk`V|
zJiE4+Kz%*`B46!AwbW3L`Oq`xq26bCt*83-=BPcQGL6^dd9>4s;0LCIwtYec<sO+)
zjuyi~P2C6WMzvp#o4=gcXW8G(Ul>@~Zf@ZJsYd+)Gw8S4t7i_43NL3CUcUeF@&lh5
zXYv%WEqe$tAzxf$+Yu>n2Rgi@-S;kXc%^7~wRRZdtXA*>dOp&!y>O_g(l#K-fbihu
zn!?fil;LmYBR`x+)`X5|kVm#tM|O%vc56p|Hjn&zHu8I7<j+5_lmle}!Yq&?3#`L}
zSg@cvLz_M<c$8zWkHdLu7U~9fLdoLoW%0dYp%+;gGz*r*!U>P^>kQH$z_}qPYLg{=
zZd4>{R5Wc=tk?;*-$8&2mi9W?`#78{8<p7{-2)rL3y;ZG9mTyImA4pEFjf<^aFS6R
zQ%)OGDIQb3F(%jOq}V&Q?-lnyb9C?Km^y5nAUuxJ8QZTju4Qrj;_4Vj<J`Dz)VLmc
zT=R2YQf!(IWuI1TN)i(;fY10aJ$|T@mcWJxuTui+(Ftsjt@XIYxrrX1v6k>-`kf;O
z%D{MHvSRE}Eh0$Xk$Rwh<Uku$ZQWTz3?k=85#BkfiA%=NKpF&yoemh!0@?o=QOAK0
zDpWA+l^S`3tBj&D0UKdgjpF0)Ss6rqigFoMxea`AI$e#K@gX*yr-$ZYoAwe)DO63h
zT$~J%exW1n`qMl`8h;16KEVYP!=+#CDx`cQx@fe4!xt$WZ3qev$gY6rd8PhCC%RAl
zS)hUlz)5M=f9OQ!M4~hR-<cvuO)Kx8e5db<i_PGquVi%FAj0c2qH`zjO2Ln<l={Oa
zKCsk7R*ol8;O?xn{Qcq<Niyz!X%|dRxDuR0AHJ^K)F+=CS0jLhh*XEo6GFIG+qrK0
z`~g{93YS=n`us|b0zUZ}tVMQnl1>p4qwud#>++7)ou*z~d=srman*4LBSG@9$v2WH
zQHyUb!d}&FIv=0_kO7z2G;pip$um(WI~w2KjXJ7La8K=hTmAV}XVS>&8y;tprk|Z2
z&3u)Y)##p%J8{7eBDM~apaHV=(?RQ(_7JN4gkR6oo?`tdA}Zj@)qL&M<H0bB4~-(W
z142x@u6)E)t+-#|f~6LkRnp^Jf05Z$$N~E$U)=xdzW^f@^TT9YJ4JBa80rqzazFVY
z0ni12`kz2IkLxi-s+u?e76WakdR%x1Bz$(B*8+}yrY>~4#r^?((4xcyzhC}LrAWJL
z5Zt@L0E9VpyZ1eadG>>#dm`+qz5<Zu0BrMdzx+(9Fr-aUxH|w)be!RN@7VV;&)Z>A
zwTzmbJ)><6c+j=8;$*^^h{Q5DH$Qc8=T!PM!i6GURt`v#Gewsu*{?EGX2sM7Tt(@r
zi7cwDJ2EL2k$xW(!_2VldB+7y?~lFH=maxSS5U;6ZK<g=V-RE|8B3&WJCIZuC$THZ
zU(NxV?Bp8{0nU*$aQJ=z8w={~nOe{R@B_(TPlGfWZ(sm;8T}S`a#jNgL8(yU9Ht;E
zAcY-DGHf112Ji$hw*Es~uk${Ds~}Ui)6VGPr?`})7!G3F;$!~>tQ<RkK%2TLO=&*u
z0|mh0rzwhTs)Z(CzSWifknLgV$k&(W&HXSNVoRFkxjZA8>6);foV}OVjC36{Jt=Y?
z8B2zrr@?(Q&-*fok{4#;9dGLRfxRYOpIao`026Tpkp2LS<d>fBKNod=Su1`{BaN!2
z3UH;zbm<hCS|9~>g&%kdg{Of100A;sf#$<Va^o}tZk-r$zbR1JRM>tBa>tkRH;I%G
z?DC_^<JNu(zgWsAGzbrX8-yVQ3Z*9P=&zTroOHp4s+8o-4+xc0%I^LWe*X5bloW^Q
zh0W!PXcwdkAWnIENY{O(ck%j7C)_B4NS}U_H=~L30tn}I)-!zcZ|hs9o(x|~TY+1}
zre0lJvm>TSxTZ-CyUG!h%L<caZbB2=5Cm%wcm?DEWMIqo%P<0U>fc3k*^H%%7?JS<
z1n@qCbGsdLJbr%dul&#U3S3jV!+^bYRdfkQpJljEqyPA8tWYC2z3p{YUW%OE*FOKL
z%J;+f`F7#6HkK(1`zaXmnZKJK;)EgED`$|T;N;$ky($#9=%ef20O#<Q^9z||_a`5o
zD!SL`hJaozz9rA3`>n~UEO{>>>fk^ke%X|nap!%83r>AQ;+}*G`2G{mi#T{d@l3Pp
z>5Ig#=l!U7qQu9gkK5^A8#g{a<+75D#R1*-L&IO6-2}fCdF3daGMw%fhh9&E&x6}2
z12RBXh<`0Q035P<s@MC<mzBJ~p-xpRbC#>aU%tZKsn^qjF&yLCPJhG~>h`&5<xG!S
zGz5wCXuGjed4}@q&=-lRk%gAL#q?92B_Z|cUvz27F>Hi60l?mze6x-KtiQcsp1-J{
zj@v?1Jpd*8ok&ti%kFHHq|JmuC`n@J1$kcyqTg}lp&GDt&hEZX2Z#_S3-%pFH`klq
zP{1WTii?X<bz~O6Pu-mVgHa|ImVgd&F-peC>b^pZd+pa7B<HK%c;Y{d(l7YhL&{H=
z4n;pdEP*;H0_LDUfJ5gUT0bMU{L#eZi8Jncdnhm>h$|q^KKbmT9wJ${`TN<%8`efz
z=8P^mWY0a7A3Xs73P_Og<<8ad`+ec+nWjQ25OMmqO*Z138wdp$)xQUW+f4aoz6UQy
zqgB6qIz((*oQpuOi>{vmuTLF_1&=NPHcw9)Te)cOB(LgFj`mYODFR~u7fo;C4(0p5
z|KGEZZD#CaAN$UX?CXqu&mQv9SVESvB`F$X4cW_5$yOvuwkT=FP6#QIYOF~TB}p>h
zd4GP#?|-=N`?`+v`8*$w$eo|#JZyUa)gndIdUs)Mvvq(crv1}<-+6dua-lD^Aq`;8
z4SxE1dcV-p`{M5}yWfI;%RoNMs(cXG^3n4A(DbWt=+#MPep2%q_q&Y5ZFoeyPsTRF
zV<uhpyKOKzqkC)b_UAtf`*D8HzpFK`YCZD*Q@hh^6jQ67@K5F-oy*;~ebve6;Mwhj
zu^Y$lXS{0A`SUREc=7i?j}VtYhkt};4{R(ZTRtDOmAE`Y|LwSNNnYeqd&%Ffx=ROv
zf1eEf?M8HcwWpnK{QClNNc(=E{N``3&gIbTOY{?m14FCNOb&-KE<d)pJXm))D(Eqk
zcQ`hCxv}i>%io8u5UyjN4yWW3dEQM;f4Vqjm1u9C5fqvJCV297#y`S|e=G+_91%{U
zq%!A;8K;_|`6|-!_%wAS!~*H?{(^tcIhPgm&-vh_yuN=HbBXi12vR15@uE`qOfohS
zOuu}@a7(iOcl0~%XlGXUqHa<~eUe${_+~IvfFkizQ2AZSl{hu#fmKcXe%hDsiB>FA
zHuyB#m@Ed+O&+loYs`4)d^d)=DcTsaBQ=;KtP`3#lsO=pD`i!va^{E3XtC0Xmhdk>
zWbF$!gQjm?wauxqD-k{IBJfjwveGnzM>X{SfTik3f1mshSn5*eqMGICBo_1S23tZZ
zhEi!s6}af~#Jv$`4Squ9mq8Lm&%0aoE<>XKKVWIQXY1PdErUyYs{aQp?a#{7{`YR{
zjmU*;3pwd3)lau^M{+S+KAIAbEb58baMchOgR58DK>0Z;4{4XGq1PKSIBDg5THho5
zoQIEXGkU9z?h1LzAHUQ0pLWE@_)ibCf|f8+7p5=90ROhE=}*)bo?Y3iEz)US<LX)6
zm{mU~+Ik9yDV#OQj_exe+B^9DXqA1W0(TX_<tk)$PUjj`Z~Kjr9+7%cz^+1krFnXe
zE7oA6)OA8qwJp*@YlAo}aaDHX#4QJ1NvqPUGJdnSj9L8O0bT<ca<+}S_P}uwGlp3n
zNAaQV0Ixd{=;J*eyW^Pcpx;$|2~X!mA_^009E_U#!GOVsThZer<~FT2i|~c*e}?$x
zB2-v#u1nT=<;0rY(zY?3&)%P`*X*FPGbx{nlBERDK0JD0BK5M{GAbF~0U;WoCSu=6
zF4Srl_(f~M99)m=sdbfAS>F6vo1!|U(KQ~m%O(UW<Ab51Cq3}NWHUIZZk1-5eg2@{
zEX-v7@HIM#8NS>r`YHeQjFAE7)Qs_$PDqX3KJ>vWe5>dG9QFA7N}Z0Df2NCZ`L4%>
zSh{xz$Ob>%%Z79U(=?@Kh-MHMq)e^=b_N6C)#-dap{6*q-3!jDPi=atNyMe<{|@nk
zr4o<!I3Y=3VYQ*-BZEkdYz38*(zgLj9xkJejZ(|p9PY4I*@`@!sh9RflmZkWF*IW*
zz%^!w#PPx9ex00PTMR(Mo{ArbPZb;4hi{wp>~GgtLG-$DPKLsB({70?+gK=YnzPcB
z!=-!qc&mrzn>=yl)F*j(^nT13*m)+BiqPHqpNbx5_<b@Bq0?md?~qP1_*Gj#QT`|T
zT21eFd=$jsR|sTLQ@FDlt-#4B9Y>T7r8F9BQ%pgnh-BkrC=X5T8J9Hsitfs85b<ii
zS$KLbhhXqwa8kO6glp~DH*~IAAHwv@a8`EqO7r!Y$B<^}OrPE82+Kt1w|uz#iWk5w
zzA`alL@(}qd#3I*rBt2OmP?2xI~p+`V4X7GoStK#j9aQewy_buO!AP))4ld9sn<Mp
z_MNw<kM(pc)+jQzy%X9P&jK`Q5x*5uIJXJtKrcIfzRcHuUFrq<+iQKUD?`>WEe6(!
zrpB8XE7AYC+3O`Gym9Y$)rL@hGGw04;Q=)P277iq1ly0a#Aoi9!`-3(5!y1?W^jZo
z3x)X2_(8~)t08}(v&;`-8ICjAG<$}VD6rV4B?F~cM#`#bL(-+EThUVXm55QmTL^N$
zVV`X+L@dBP2VQ9n4y>a7#DhemK{-L9boN~uh|k}d4o%<+=f<4O!-de;wrK49y9g6a
zBqat%<7eu^fhLeP6F#Z>f7<xMOli^&9$UwYua*{))o@g4h~3PPJhmhUr7MX#&sa1n
zr&%nuL-@RwNi6Mos;oz?Q0~5*u2^!`pM@q)V%rdRTRnZ;lM}c+J%_#Y?q!_eXk0#+
zsP`89B960BD^H(Svn}e{6#+}JPay-OQanh3&rI#d<&bP-SG8LjM}hr=3~}?%=*Y`B
zxE=#!{f3ekVNL?0@_U7z-)n;la9EqV2*0=Ovbi!-Cr0rE8E@^4+-r`Os0snBAG4+Y
zXWCXz^pmt3y{;D%Jzfg23o_~k%wq$mvM^a|T=SASIW~i0dwj!6(UFgY^V{Jz&BJ&Y
z)#CgCb1TrdA8U9`X;w~X7v~<I%uZaI?E1m4%X9maWNWJ?CUr>MK>=*+IApTv)+{kH
zcgj$MB7J3stJpaDewlx$?cJ+Gi1?6X;lT?zPykmqL<WEkcDZA}+S`>#8@7BW?zTzw
z#{fh*#E-=nV=P;GOvn%`PtG{B0b<r^Bpw-8v`hYLnYQ)}^bCL|<}-YryZ0H>6f9?>
zFPM~L2NY2=A9jS-9;L5%PV0Vc*ajFv4_CO^dOGs_+|Jrv<r3EyVWY?yQbbXF$7Rvg
zUThs3ys)`1ACQw`SKr}Gbpe0lAiDPtmw5LV#V(g;NbfnGF5MRefG=_skbEFF!2G4#
zk3ddBu+jGg4N56U_Gap%!j&#vCkW87<Im|-1$l8%en&}VWnj|`x7hhPzet7uXAAQA
zJ7@LRrEgLZ^8p-C8U?CC&W^7I0QC?G=HuhMQ$#XY7=S=jveAi+OAtsrgQ9nnhBmZo
z6PN?D_Q$|pOAt}@T!Q2Ea5ph8Xot!fH7f>*^Xw$n*=m?Ix1K_U@CBS!J)>qwt>QB0
zIKX#N;Pq7mPNzKYnR~|P>s%j(UdNYJn>}kL>i>FqZ$?^p6aU({+c`(8H^BMkAK7F(
zWz6nkpZ&Ps>MRiX<Ooa=;hi{7=xGlnwQP*sTFurS!(~{9gQ6`em~o5Igq*0NXA5iM
zI+{rKt@Eun?G!Y;i)L^8-hGq8>z$uW$&2cZd)YpJT)WL}qaafr2V!?yxiHk9xRq9N
zQgJ;b{TQ{E%cc^%C~(UD!5^b@z*r3<Y;2H6H!(`%;P0pAw=eB2E4I^Oz(9O+f7k14
z#Vhw=3QwG<{Cn)YZo_F870U*A*2rgS!}~bdA7m1O=;OuP-S7Bk|5#Jhb_=i&{?^Qa
zNtgzQ+xn9IJzUDDPT@}TsrOPxbDZxWUeUh+!*2~9x?MLxfN(tpt}@rxRm5}OV&<0g
zPDrYBWktbBfQ<YBjKUfxbBzH8I7kDcGU#_a3?RbIN|J|}SEKV3JlAk_l@#LH{PTq}
zNjqRKeM^ON7qiK}GGCp*mdH~DZ&Gw4sPcd3J~aK!Xi9u5|LI@bqVZPO5QQ_H0Upbk
z;*5Q8Q{hL5rllG`qA>7C)`F4FqZSFOV+3%Ol@@&~uKK6@IAy!~)TmlW<)f4ZQ;@O~
zh10vF@N2LHQ2!!xU!9orGw-9+*N{V=Skk}yeJVbn&HrfpfppS#I%46}{Hpl21#aZw
ze~tetpmF8fBOg8}O7uxum;yA@MwsqluYw8$AcKEa_KAX64Jw*srl6(yE#eqx_kKSt
zhXxz#g*En>7?OZ(qH8{lKk_v{vLA+o=CY-7;+Yly&Olc|H2zd5OGdUR*3Zw`%k!{L
zBr{pLzE3q11T+sCEhNKgdr89<2Dhl-1<GMrKi692UYaD(Oy>b8Jk}s?VM!kGex8a7
z%kGbSO?|4Ok|o1^IB#Em(@~{1qJWGP5NRhTD%wk8z&xsVc70*qOATzFln;rV0FfV?
zEZXn$6E@)0X)!K)+_SRU;PCdzR10ah1%_%ek4o}lgt^Ww5M2^PH=<9SHs|&sN`y;H
zth3xXDKH-jXMKuR;GMlQcfdR!kAaC8;wM!VkSZ8Z&GJ2_mW(AYW03vhT*-u)Dk)KM
z{e2=b@V4;a9b4!!zE>PD?}N=Sr8Y+ZJxvzvR2r}j5cLSK1f=*;QUD_p=kf7GGK32W
z!Z{r0n<NS>h<EaH0emjUcf~D(YAw&oSjE*^CCON)*IMVw*xabKsgSX~7YMuIBNyu5
zz;;R<AacxzarM)%D<7OiD^eN<!unw+_CcwgDdr4NsdcTP=&IJoYRfq@{=g#7Re(pv
z&oZ?}<A?=@G*hm8Wl~Cl`cSkRQ*fboq_rzlIi(Q!kZU7-DhkQM3qF$g3e`rlo8(VC
zj7<IAWFy<VrcFe}21$_{OV&<zF|>~-JZ@=YQ}z;1d-C{O_z=B(X<lzD#j@x|-d2AU
zmnZKo>wEOC-F5i&kST28U8_+mbLPgqGZk{7_wI!@$%S>uSvS?bXs@+n7q&klauDfw
zQ7Wswtz3L_Ofsz&2|W>?X1-7NcC$7MHFwEfwWyRd0#VHOq=7)t^66wA8A@zCz)A+e
zv8y~Iefl|fi1B`_zoY}3oGmcECzU|5cyYZ(Gl@y5O;wOi6hsw89}Q#yTjYVZ0FgrI
zqVwn2Uh#NTfT%C+f_BBxHTlKGn_ktQNkBEVMgCB;UR$?1$a}uFoeF6=8RA$RmR_Hk
zt8n#3{nZMEtb2lTH$H?bm2F3)p!<Q3cTXW1GLiRSsp}~z;TFPPLwB*JvEt@`-buyy
zLIp&>6zDUPg?!EV3zt>bsXXR@@+2KHBP|m0=>}2?Rb9t93^7tuC<?VZ2?k_2!JCAS
zT%6RhQ9$SUM;<;9`<Kt`$cj^_VjIo-1Zyy^1+x4f1&dYC`Otf#rJ^KD-m<&mPId33
zn19d_z_x#DD^a1LR^hHk!(Cq`7Oj*;gKZxP%0_v?!2riXpvEMTt@Qmlaf`_5TTZOW
zM~m45?_q0|&#VK&*G7BFP~xZuk+przd*nAIH$*fG_7a2ReTiR-C4fwEQU{wMwpUnz
znpyvOyj>p1ho~-<5@!4b27^1q&Gid`D+j@)rKX~X)s{X)fkTPQV4zyNnkxKYPnN07
z)cRURe9-nZY}v-oLg4|Yj0{&Jjj09g$-Px8mvK+7@&ACOn|Gs?9>j0dd6aIi%5l+X
zf^%yQ<?o%HUa3W*_sCS^eS{&Od}<qHl-REpD`r`rQXU5akjdq7^_II0#0CFnQVkeu
z(>v8vL){q|l-%P{Vd$Asb++OFMDcDp-99LPM?hQ&FP>;Cuh%QSh{wHThe|dAtl;hM
z?NdezAZhs8B1j6S270CKD<E7osqa=ItXeAd?Lcw^*Elu4NH*&I;w@t~@0q$Fy!p&s
zCR1N!QJ`s2Tx}^@rk_VRo5fizzq!C>&aq3Bt85tWO%-v6N;KPhhcnX@I_V>8DQwiV
z5zz)Q@qTs%(0H}^(n#97(F$&<`kp;Ha-s1>d7Y@fjCqzc&?qmv(EFmAYQ&D~Aq?|4
zQ6-f~+|B9wDpK91wi1+&q(~sQxKCjBY`(VdL|0gIuiD2ZRh9-PW$Elq+(U5mcRp|E
zrjp;y)Ci%22tNDZ0>?l`R?yN%^`o^%N1+=_J(>L-&{)piR4;RVqJmYW86Qgz`8d_6
zlrAC)jqL|5)<R7dl9ME1U}e^VB~;t3B+Pvi-`1-TX}YSm;M@!`dGq@6dJ1vf%tS0T
zkZ8?SO_i~xN;!!ttu))!LzLpF^1IvU&&~4I)bgcmG=j<Ug%D7mBYFDrq%{Zws!^y}
zJm2vs{?^8aO~BttSEmNn{%&7QZ2;Tur+9D_`kWZ=r(T@OV?OyP^b^9s2+Tl63iOeR
z`Hja|Me)^uf6_vDh_|stJ8fc{7F+5zmUvlBD`PBGWSHjxEu}f<xJC}GEj$oW)F*W_
zLxf0`4qJ(f9kNQYijS?;?FN}(sjB;ZGACLrO%bwleIhw6lCN5rqh8_KO?HhZEOV~e
zY-b9HG~1B-031zC$ODvGW4mo8w2ySz|Dg-S%w5L!Im9%?S?c*qYX`LA@=|32TXn7+
z)6Iy{4i;0&Y}LDR3~TyX4GVf2)UVkOya-~N>)knKbhA}O>OZ64pE#PC6hKnSIjubd
zh}Mfr=E<pM1m*yMpB7A;NCR~i=1%fa#mu0?(U$4gj5YyI%m_-8$nCj1zmu7Fxz_Hy
zjDs`HXrCzA?P3ulbD5K_w>d+4)%N|djM|e_HNi+D234&#V|9UcT{N|+_$twdLvu4l
zS2LN<4N_EW_QYBQ*i0$0UUIt0rmYKbdx8*Q04iL-m=1Oh%g|njXpVu40@-vFe_{e{
zj-N1h7yRXE22l#fTjAPWj{TCpH!^D8YO>D$D0Re@qj39LucppIq^PXFvZ|A)FTX~|
zw7z!Wv5r8Ky+iR-!_GcuCG9|0W=D{6oUQde3r+3Qc6)&(djWUif&|ZmUeNZJkCW2&
z-kUxb<#y}e^lr9-8Fr=P?B@=WjzvyC0H-^k3}abTu;yVf1Z$?dUTi=#Q}m3z5mFda
z-1m?id&104Lz5_=iFgv99TUl+sPgj48+Mi5-S_>!e189O&3pBDjHIjbvY8WdOEbf9
zxfe{(gk`4Kwze4rW~&sPzj$uiI0s@}3{l*L;An03@Ap)GtH&Lx+cgU2(J1Ii3KU5<
zZZs`xC$f<>Bm&3T+-5(laKX3XP+cM?1qJV?v8e!ylmExf%p~fr^<{h}W}ZZ7<7kp@
zf(t|t_sl*E0{Q{Rq<p*#u<e?DIHLpD$8#Lg`tVn;rF3R4JMh)hki=is+m@ilc;MYj
zG~Oj4b^J}>ILGDbPtXYllm{ueSO4GHznm()BVBd^nkmOTP<%9Cy{qCgP4162Zj2^i
z$YIn>l+~puGx~~`<IfNDp)f>;9v*Nws5{f~!66vfbokUZs)QkOwGsJi%Zz+}zdxk2
z-R)v@cDf6U&1_E0G0Zd_#u2gmnWz3B>vglA?IX@#<ciJ6ji7Pp5<?vJIq*yNMiATY
zPp*d@%=RCk0b&LVLF-P>;?1V^{l5MEQObjQSW{}M$;5hRf`Xz5_oDUp1qZ~yVE@XD
zKHkOz$LxKuk|J1|ZL$f`b9#HtK2OOn1*Qq%a5AmBK-C=S3n}}nFO~u#pJ;4cHXb&;
zvSTLP=Hh>v+qn2y&p9VV)dz5B@@7A36Z!0u<JkNRM33*iW=NTNkr{}N9x8A$DaGJL
zUe(?9)+zNKFY&%lN?G1A?3}yUp<|_M58Ocm@XL_6^*#q#2&}X3SUycp!Fk}*u*ofh
zJ1Q?f?7ua@zHRM?py^Kqhq-1mZul9|v~r%lkIlkkej>+7Y`2{ZONj!T5aYI#cD`(5
za}E72E`(RIN5|i09Cd+wV|KaNco<ADGbAuC)-{ellx3wUljVzvvNnGa!wz*T#fFE>
zZpm}cM*gLyE?XrKON6@<ivH%wtb(N?X~wrazJ@y|teYKMnG~ok^M8Cp<2~(5U609T
zr}jDtgM=V5%{*#2wjhv=2S;bTtTZKm>V=ePWaP)SC37w$ZAo7l^f7O;fE=?<**j;F
z@X?IIX0Aj0iu!L%{=Y(0n^w;!7d2IuJJ;#vGrd=@uGH^$uQAQ!tZ5a3M7eGxah;>B
zw*qZ(x-sx2BkPoqNEc<*wBPSjD{|%NkHH{g-XxI{xL@?Ea`{Ct+uq32eRWw#^j@Ur
zAD!2qjzNE<%7(Zr&o#l0QoC;H6`i^%xqtNLeOr)2k%+J!>dmamM7gTkm#)fGO=d;5
z>9H?mPOff)POZUOateP`8eHx<?u;LEMt<>nc424j&9jnor(RqEAq2t&0ZLC=uz*K*
zX;i=v0HwyyMp`dY1FkJWA|H*Uiy9hpyt}aJzj(>Jk+EDCoGfH`d4_tj{$1?nS5^P~
z%p$+tf=h(zq8B%XG|^MFBOpeG_c2|rjx6}pVbs9(`$4OcpvH4E(pDdz2S2rZuNiY?
zL|^x6QGJRqATYA{UciD1Q9Ll#VmvlMuo4{*rxOjtrozeuV}vZ}FrjcKQpmiXQ!krh
z<76)fVa%zIOK)?sj|D8<A;wv&6qvgKkt>CEq9f*IbTSKA+TE)_rr@`j)n_Hl$<4GI
zF#?eTPnU8}+SFV(ZlT{ft`r}9F9tJ-;6vSN{32BvSbpY?lM}mz$q{8P!$v-1qwbo>
zQB?+#ufe}sWhK*pTx+grB=o_Rz*gA(Oa9e4kE96)2-}l0fiYY<%rdJ7LP8NUQ&y5N
zPC}2|H+;*;Xgw$8<qy5q=Jd0;R}#dRb`H+Az}%2vF5mg%1Sbm^AR?h>MiZE59Inf8
z;uqo9TWy=1(OVzQC$(0erL>=L5nBG7D;zouniuu2414_ArG}HjBEKVy2M%lo0f726
z=p^@)!|%sX!Em|43ybajB=$uDj6=iF`NXHhKi_6QT>+uyPVqW0&7Ca-{>yP&Ok>jJ
zGelX+8~w{If5<RHLF)N>=f#&u$3zU9qC(E}fmP}CJ?8;gm5iluSiOD&M}2*|(nfs|
zLF%i7F7JPC?zx*Qqsp}_y_@yVr-ji<MJJ~JxTRO+dWYVZ|M0*CrQYt<`m+8Kf>JKv
zRNEZwGnGkQ(GF-@cev@4eMi$8FDM?-&2=gKL}2?HiF0l5HZxT|UK~6N3~L*7U2Yo&
zOI%4$yaaM<J%bK^%%=Xgv{j@pL;FgPaS0*ZJ<Ke91VdomyIWT+em1dJAu@36FM|bs
zK$~t8<M=mM5yE^mpe(rLElh=ZLkI}g9dX?E&uZDZj~7?jm}*lD{*#xZHon3*<VCyd
z|JL0J8QwuypV;sSlxty5jSJ+x+Ed7HSt3YgU)ekZPT~!0xFcQKLYBXMqI<hj^Z8l1
zmTV3XbMe}RQZ|PnYl`Y2fs1X99Q@6$*mHfhBW!LN>9v$0NF?SaQF<fFvar6Irhp=2
zS<_bks_LF3Nu>X@^IYp9S5$pT!<R`sv)K(NV^;R?9~^i;M+bDL^UN*-5P3XNpcM8r
z2@eKiCjqQ(i=rxq0pqg1##6T5uQEJpH5+Prnl{%jU&tPH-ESdA7z~l<rT{hy_QC_h
zD(uN9fWMD|Oqf*N@0W)0u2-`{Ds<!~87!s1q_KzmHe6jiiydcx1?!1v5^ZG8hapaB
zE6#Za&6Su!%~eI`GFx|BjRbjH?q57N%)G!s{y|^3WV@f3YfXF?KS`m0_L7g~0aWVW
zIT)`jM(2i1%GDD-?@;Wn6fPp2{}_EpN`wutcF8G_M;4aV#-P<BxnTqI?`#cCEtLIt
zgbzFi5O9oA0^SeI;|ctin%NfMN#?*(h{(YJw5n#yt-*wO74CAU`fqsk6A%6~DW!8g
z(zA@ovO#Elr0WeZYQzUJ(VbHI&R~*T^|h&x&jQQnL`oh(hW|{uQi4_R?l|G^cDj{d
zz-#~R*z2GgnUn-l3f8__h?8CXIdh*lTA_CRzQg$qSGF13ID53;Ti11W#Ij3kj;;F9
z`jGuAFgmO=K;nYef>*5Vz4UL=!h=rAE_;5i5%s^+w&(7fOz;qHdMu|VO)Y%vtU7TH
zD)1mpE4&7qC77|dTkCXwGeC9M6{fX}(PTB0)BPmlWv)l({~xf_o7?7k!yALmGtM`?
z-!$E5=lE9jCPBgb-Nf7bg<^x3J)02-vGb<iJS{kCi6<9PC7rFZ-;^KBd#|dMbd8@^
z^WeQyG9Xa$^bM;g%}avt#Yg)JgboULV<0EIO1f9I&V9?h#EJz=o_{<4{nDb{{n;OQ
z!sqtyi3FK<K?})6rK=B9=Lt-%Z%-xp_qDc@xqYg3d#4+A&TpqkiZ1qAmf#;dY^M=?
zup@9S_|t*LAR#(cFR-*<)^VF!r0mE4sB}Ozi7)My#(%u8I-i<|S)5k?`UyGp6-8KA
zxt1&%IA0zATuu8&LBXv+iHRpw0s=pZg8#n$(@*9sb<Ypd<2bE)?$7;N{*;9O`cD(`
zE_P%@X_QTM+rIbyLo&FLuiwv|hOJZ@Ki~25MK@>A>4maaiAfb@U%v*EX3vg?Pi&@|
zdqIFPibzV_ZjEAbFx;$s`uY*3vLyVB!<G6;kE3(R^MoAxG5^<h-?r602n}_ABup#~
z`t?A5=8Q5VM6@57Z%Do!X27g@n!uWN-23len4d`yUmq3*SWe{x$X|Llj>(sl!H1uj
z6%v2b5!ar*vubnv=KDBQ+!OjZ+d$?sVnII9n0EWD<ZQ}^Z$ZCx+HQxQe<d<Xj~jfx
zbNf4_eVPAUq?KPimHpC6Wif<0Bu2KXN|>W_t%3K25690PE0yHr4IWaK^Nq@4Wtaav
z><#P*tiJp`U!Qm|Urv?K)#E;>$NM_Z^<p=Nh$0{GPcBkFd^;QeRc|={-H`HIa(d;9
z<T`;~4sB~<?j3{?DwTLMGrhMoF|}r0hbegPI~SL$+aio7p9arq&hTG&M*IgXy=W}}
zOXi!2#u6(i`sY*F-vuxcP^>g?074>fJ(Rc-N#g}fV8AAL`y>wF0nmA^g7?HDJn1jK
zJHrvWbks?_7{GT0P%>OZFfTuQV^oYTPpR1bJbv-ng`NoE7<CLHzL&2eGOfWCslLrU
z3~F{t;|=8ANLI_aZ7YGdSMKAp$5Xh+7;uxhDs~A^%G_-dZh$q7k+bf7@yq$zl`Cdq
z+Z33pFN)$+1QxHT#@Hv(KyjTlID03G!4GaED)kg$lQsxiU-<p!m@!x0Io4)0g=dd0
z#zIDi%N`NQD*zxC2S8^e_rZY@GEm-XF0g8Tr{nhzOAlu$V=4m6E*r|ymC5|;L2?Hq
zkzJ55(}^T8mK<qaCB5s1bwdysepqXg2v6T0W!Pp-66UfjF$xk40TK56M7OI%t?4$Q
z+we;YVnC&MBpurWXDbR&V33f{2PHb_ur-`$10Lo@_X&~`8wRm6YsAS_{2?1)S?KHZ
zMb5!Wfzm2`DgA9_6%U0XP)j<Xga`@~*?m!B-PPiw06c_cWF;bJ=wkgNKoSmK%7CxG
zB9f_`o)n(>MIlpwd%|+ZbeJ%)2>AG|-21*N{C#I#ZIK-!cDb34e_4o=GBGzv(Dox(
zR*4JOh;I1p20a!uQHFe#{IwGCtJ;x3Y(BkP2?`~GF*ecyICeKObfr3;>B|6E*1=E)
zga~{yuY@PjwlvKUvda=%eh4aAf(U~6({4td5q`5H(NZPy!Z|9d7juSz{!<Ba1VF>`
z=`J|9FC$9o9N<<7r&5wi$&e%l+6)2rWtBe7gs$KqjRS%R=<8BHRE?zY57mQeKlIBj
zv>XF1D6Py_B|eP<Z3hW!P<ReVr+r8gEg<k&BIu<Vc!N#;YXEBfmAE~Cn#UnyWs#<f
z|1{LMZ!x|#SIOEm{Q`eyizCB^CB^6a<n;RBV`rJ{(n(trQfL{`AM}OL3FVQ(`xIxa
zUOx8Q(w^@*_8Hu1aU`%b#ID(!9aN2opox841K9l}nDsxDHzbX>{e&;~+YT?f?14mt
ziCo)$Vz+7~Fd*nsuYZFKUMmG(B`rHXAc(9)YWH!No)!nlsO?4BS8~cdOA@iN>MW_V
z!eT@?%u@*>vFo=t$}?!VJ+^gCh=o-g%-v*%ikrKnh4W~!O~F;nRQeSc`|ryM)`;Db
z#8Q&6^)dRhlN$bD5h=2WCyhU=5MWknDdch%^Dws*43BMbR8Nc1svws3gnk>iVHEcX
z=cKbg`G*~daXSlVTTR@*sOaFw^zl|;KTv}dN<mVB_&Q@49JDp9>}kqB|5;pr82^-x
zc?)prvrxid4R94uo(ZJV@b{{fny8}86{=eLlIbx%fF0!3Sq+J_u_powu~hlXRHsmD
zH3lG6UX?Pu<T?+)<QBgiwi56^_$P@%x2gn7X_f*2YHgCZt1gro!~Y*c<|S@X7pYrL
zW4CPDk%?k`N_?V=_EWpu#^+r9sVPZh*o-9K{ua6;iU-6HE#>(MfS~iqjX$cG3(3l|
zlNxcA$W&KlR)ea)S5B43gd<fjPt)Zlf_U*PF*~YMrbaE&;@BQ26Idk$yYZK&iW;mN
zPP1HNeKKmMI0c-bVMC)wjh1hUd+4y+n-rtL-qa&Wam~u|kXXAOsODjxV-Q%>7zZ~F
zFqt8qNGFeMfjC_#05gGMBI8cLy9g*$3Zy5q83F*F#Gz8jd#@OMUtQ=ZawR9mu83E+
zjku-Vr)VsXu1teh-i2SzAvBxYb|X!4qL2S=BW$5BVlWX-(XfxCTgH#^_o|G3umn3T
zz@HuMn;>5He)N8;H{orZg8Q!^6&;&cL>OE%&mz{iJ=pZT+v9=booQ<Q1x@CycsC2x
z%wH1wAcDsYudXG%?PSXxKWYCU1*)am^Iq>W+Q--f+zzXR7+L`tdEBOz0(@Xpcd}5&
zqWo_a8MAt^F?aSkx(r)^T_SNMkPf!w76~bI{y-PQ{vtF7N^JNc-%Ii-QN&V<zzw8J
zy>vM<0+V?}{D*zD(;Xx%Ov|04XYxcI^h%1AC!;sdMqGOQ7~bzcq!FMvdrCVFYtVr;
zi4)~D!|oUO&j)C#te<fSI<kJlK1_{Odvw~!No6kGBWfhW-0FNxyVr&G6RxYgGJWTH
zCMdcJb^wdT!7$nL!wyT{IjG|64$_nUV*N;q6&~QjsswIT2~`u>2j4JOzJHpd`#d9J
zI2OZZ&mY^R04(f>RMeKgztg~RM~ihdoMs8fRfGg6ei`Fsd%JV=P~x5+f}IFP5)lXY
zzOP+i;RBH$Tcd@fRn$F_#XSF0(@{M(`#bkBWvdb}C#Gp+1zVqRyPax!x;GE7$+v|B
zGVhw+Zn6#vLyDJ$q;gcb=E{j{kP}08#hR`bh_V$fuvM5^h+bxc$k40~&GiOtU@|!9
zTh_7M`<_IE)M^Wt(-F1gP}Tk@F|&wsw*SE+&ALfKIkALr*JR0G$s<^EDNo{%eT)sN
z4lDiIW%T#<*?Zm&*S?L4=~`V|-q$a1yY{*vGz1||8wz*<7cVB|J$Umb0knfbqjWWd
zG|4=pa}!ylU18lqRWGxN{ZRFbMMhAT7+(6Wr0{xv(G;inMl#q&?>fI4WQymS`=9Ib
zEAIh{w1LI}`48)a1B3fFE?y*Pbd@A~5f_@-D=7&E(O4cybgNEjR1<#eS{bwKPf69q
z@~EFKiR=8;6o3qHq~>xY5y6IJG_kOp5MDA;R($u*trVfx=4C><^qUq$vD;*xQd04o
zKfO}Pa7LBbUe}#JfA0L#t7HL7VNWaB4l23ytGE-Y_@7n@9aM?wS4$>T%Ra4EJg8RH
zuOTGVXg#gbJE$?zuYFGv1iKY|FDprjkiP9F?Uhh={C~jGj`;EG0s7a!UAqz1b&mxs
z6$`uPP+q70=Y6QqC(6_MYX`-b59(9Adl;pJaIgDS`VA1d`*#nLPYVJ1Ee-7n4_>D=
zbd{eeo4=NEaR0^A#_<Hx?t{kLI*t4RjU(O<7xkNjq#v%9tE36*J}$3ka;$vDxDm`B
zEdqgObG3ymX^sf!mtoTG9AkBhj;?Qyo2Y62n$R+m(==}P^oHa53UKjY5#=#V*e(^%
zCkiOuJhdgP`|BYKBn`;a;Kw}pB>M0#(lvYc35=92B!vLNDG%C_b89>73_1y8Eibcw
zY38w4(_;5XVMLMK;})F`Hy?8JJ^Z9kgi66<J0x~-2=b+HvgGQvqX3qM?On8900|e*
zmiYO>`D;Xbw>zR3Fe#c(Z?E@_NUq~}STH?ol2wnHTvX`q&hUG2ja!&Z5)6@k;of|)
z>KQ$w@w!u0Z5oGqu_UL;VXta8T@5C2RBVg2CPYTTGpa?IJ$Z<B>I(QJowU-{dO$Sx
zhj&zJtS7^i=&b8qV!sj;&43oFiElX80}Lz%=#Kktvb)H-2;q)2NX}*c!fsdt`E(?i
zGZUv3|158XTT}}SYTkiZR|>i@#J^97^F&LUTr$1IEmCr5lD>>Eu7vh}##Ru7lTQwO
z>wbyz={>`tE;?v=cp1R0wG*2aIJNadehRV&jJqEj3S+>^SGt~%vV;yNt~oxfGpPGd
z6yt#tQlN=dBtr)g64BK0lmUs$RhpW;z#2nrqfVo~kTsMbpSm4ky>#K_-5xz#JRwH2
z_!+{CDB`jN;(0H*P^D#K;C!4Yf4*?Ubpy*p(%7|YJVT1^CFu-5M@B0ey_d-DByp(s
z`hkx`Aw492Z!|~uJIHWGa$LL7isajrFERi8!~lldJv!{E%ll(14H@$Th-w^4N>XD`
z5@#x<uym5lqSu(pSXbj6rDSbuWPQPi8A?hzV-!TO&}zd}O6gH+@Dp^ar`1-;i&j;M
zgq|UxQj+kNgD~yc3DM!jxn7@zYL);oc<0~R6Qftk=X(P<0Syv(=?S3WrwXA%Qc;|n
zA0)yp#Vx^Wyo?mnyFGj`PR&ZGs3TKP(bsI|R`LB-gTdCO(guYoZiRt1<^9VwfwnE%
z9f=gRJ9Kb|pV<z`=&XBm(rG=Wi?s8dKF=_+N%8f#tz-+@vVq*<-BOlO^R7c6Zn%AU
zL+nLer%@ZUi#74ys9oChG#!pePVQgX{LTlWN>3&@fjf3~9)Fzvp#NI(zP|^~8B%c~
z*P~;^I4~$^Q!LX*-1oGU_}iPf{Ll+0UD|@}0`yW>_0~vRAQ|ym3-5a{ByhRojenFj
z_;-=C^_79$#}fC?R|Nd_xh4kpZ~TLOOb2{Gx6D7tR-OvrF>_WSan$m>Z#`9d_t}7A
zs{S_Wa=*Ow=;yOP)=YrjPXzWAV4Xt-LNw&{0_MUBS<kNw2dqzPh8dSJFe0Pr)c5FG
z&V@sakdt&ij&j+%h4GV#a7=laFVnR6UZ)X9xorsA|M>;|X|Mv!W=+3vJe%vvE1tP|
z9S16_T6TV~J4@@q+lM~S68^DkH_kl{d|7Ukt^IJmJ^cOCL=K&%g|5hV@1BPVUdLLM
zsOgQ?<}@*ynMZzHf=$i-0|!8q(~#q>62z?O$NeYGi)KRhXoZ6(kAx`~)fC>n*67<{
zylFi7EQ!nD>(aaI3j%AbcisG;a{88GT`~_PDZ`ko>sPt>TouE)$tzGrUcUb~PN>9*
zm(~+Fs73K3PE_Pw1-35gvEfc;v0-nODzts~+`aCdzMpgE<)Q!>E8{tQ{031VJQ)O)
zoQs`@N>w^pn*O*iz&x4C<7n-dCg7Xtmo9u33HZi;87MhLiJB9RNE6c}W<e_%qbC2_
zxceR6f+!!f)WpFcxCCVzb*A@&t7V)F$|kS?TW)<bA{~@}vdB>%a>8UR@+ZpKBx3cr
z$wWvDzv0`?)>n=_-&S5-?~Ay9y)5VlH1F7Ej@}KYqximS=l)Kz)fFUcjRfCGI${f{
z^t~7_n3?#GzqFF7>UHy+H@La>__lcs*R6|6S!eEDk<z<a*lF~x_Fi?aZRq`b6<MJT
zDct3=z8Sgop^YsQ`pR|fB;hk2PSc}dk9v;S!<&1P29ylavr5;SN7Y_#k~@^v&UnyP
zro-Fc`esLT%s03*Hy>x7<v80pXM9Pd$wB*Pzs#r%gap!`;kkBpX~OQ@^SzJHf}b==
zWuJR-lxwS2lfJ5b4c5llmx{XHi63fW8goYV^BnKK-Xoc07d0sCij8ao?3Y2R&zk`&
z9cOFq@j<0WW6>|4dmo0jsJ*iP=_R)Ol=ql)pQIhQT{EUdM~kJAnzB5BJods${rT?r
zs>ZP#aR??KswI8AH}<Xfxp6H|n}CJ$bHWDC12xAmH6t=()~`7w+cUW?EJQy$)M||R
zl&JpBkQ8987zUZl5glMS#4o02oP08tq3-+eqrtUC<S_%SWr(Qav0Ro8s;+#0tpf73
zQxo^P@F$*Rcf`E7(eTL8|8wJuvkl9@ZZ%2X&>4jwG=HDC^gXs~>(X|T{zQ(hcPidS
zb3ELSB%c-YW<ohgq1V+Yu9Gzt+Fs!9kCTbKh?bB_C89ZcyW;Z1juYv3x3^v}mAB{1
z>pv)ml|D`vZQ7i9C1y3^p;j>oVJoh`X6#E(lP~qdYyp7bd`7DpX<HQ(_!_!+LSTuo
z%x`Z!1qc9$kj%Rh$yfj>j0D1o4B+oiTjTji2oS!^z6sFOc_!Hc7E(~}PF}lch{@2v
zS7u;Us<|y>UxZ73!67Qa{MC_#iK&6e5~{%Qqs5wmbqF6k5-d)`r2I1qFn%KS8Y|g$
zLxXv+l4B*4y;;r86_O*xlkWuI=mqBy`*FH|DH-C?k(8gHN|7==oE<co>z5A}#|I(|
zJ3*9a92I<WV@L<(m21CFby%>jm0tkm`2|V|XsK{$3*@t3$V@?g2&+*(^`%Z`kKJYz
znWB2`jNR!F0>-e{%6OWVe4$$*-QYfgHQeVO_#bmH9wA`YT4d$l&psJlpn@gmMC!Uq
zOj6R+w5RjJf?k&~DG0T4w)=@W(uK91>7;b-Y~`bXvO()0leXj{FE_<ob2D-(&rP*^
zzWHIpIwg+A80jw7kUWY4U7(hc`$M)D^cPYHN}8m|P`(?QWP*78_c`Hh0Ze`g9Fe1t
zh!*4n1HU@WAkmT3@-{OpM<y6<P0SMuXCS0HNs0s0xlRg|I2kC&0QKipt<oFQmKFZO
z?Sd3AC$Yh0oTPEQ-!3>k5GIq%ZM?gaeft&-(y?!4ygx}1?ydwIQP;FD<6t?WrwKcA
zAW#S<#dM*D&EOxAZP<DC+1eY4*VZIXpqT=m=!3e4&^b`#s|qt@t1Y~;x1TLI8VLoR
ztS7OjV?Dc@V($Z&Zxp6SWe5QdFjXfI7c1_xFg(XvhUjNcB7q`AQ=qTOeg<v@z==+X
zDCd_9B`kwIF%SaAB~rBKLF_0^jF{5x`>@ooZX7_wLYc!<KewvFxcX%!hHf%c4wwAX
zmIhH(2@>&`q^Y{3x9vXs9#+2L#+w!Zc4M^%dk7+O{>dCBWOd{8t7WKqlK7ezJqE+b
zDrsCUD=tmvXkp|PVgPtxKGc}FoV|{<l$gio808YjF-6PToCf&#5kel{98K)dx(~$Q
z%|qq9Rb*O^I_B<hUo;Fv9yvWud~B*6#AhbduK+*BC~Y-JlFd`bSgnqd(_#WCJZoJf
z$kzh6P^s0k)g9__vjnd7=t?ne_cJLm1sp!>$&iC>7^H2A7OYF=6jYHTP`Nq%k^0!d
zeMP(1G<Wj`{~oKeZ8aaLpAJ7N@$!_0GC>-on<??Y6>?`}`g=U|;xKi}VKJl3q+4d1
zLV~0be}P_YQ$eXT0ekK!zm3ONsoIP1cHhS)sRa~|87b^DPl~FwD{`{Cb4X#$O6a4O
zs(B>N_-6#?qj&ouK4sceN>ShY3DaKwHV8Mq^Q?A9_pD^<{rXGord(gAhJ&4gvPE@6
zZGVl<imtHm5SU(jiOQn?ANkPRUlbkE%guRiUuJtm&Ua9U4|vrvpl*D_+D`w3Uw$aI
z;p!V+>KYc=Jb?eb!`5*G2Yo@2b7XPR1I1?~7}liU;%?Xk3<wtG$=U;mv7Ah;1{o?O
zpeT`>(+W2qj&=0<>M)zXCvr#{8=m2u{9F|Aj=z!DMV#aMJHj<I?ZnIC`i!zqVr#XS
zm`Aww%<^yFz!s&6gGN&sc%=#63kzoGiElQB(Zm#Cr17@(_mOkAzvd=r4o_mwbuVA4
zj`F_G-QdygKRj}k3(~n{LEwSMUyja!>i&h-Yjd7asY>Gy@pup5f3Y8N?|%CsBXdGM
zlc)lwOb16vG&o&!X~Z8qxbX$+j_7x5{ui<okplBHu!~rHj|z$WvQRvkp@MPxcSfO8
ztff=Uz-`VaBK$G<^}{W70pfE~;q)+oP1l~ICoUAp9@`vFr%L2853PKEbj`E*-&n`y
zO9~bH36;_@d?03Q1xWY}(XXyR_%{Qt3g%VBLs?ik+23ez0btC{uT4(I?xS}pkonUd
ztrYaLI`(OIaRoT=ijtJ?f@;EHe)^qPbc+^{H>hv_AJ;DmgE&j%_-}~+Rh=+xNBV*j
zAVt*TYP)cl43>Zak~e~;27-PMx(rlFk2nYO4<+hFgAsUyHNU_&vKVi3>Yt4CYfr9>
zwwTM-N~tVK`MQfq5T&)Er1e^)BixBZQ}9a=2#NziD<Kmr8S9HM=r)*B3Su-UDzWoF
z-W$6M@I0Ane*vu!Cq0-fiuK@U;>A{{GDGt(uPhPX(_ED(Af-yMFz#f4WV+`f*BHPg
zZLxS~cwJvB&NtgxQ?;A}&Dnl*)Gs0@rX+o!G$O216&xdy3zjWdLKlHaS&zBRrqGi_
zt`(UWlgH=_)m-k?5na*p0}OkwMRcf)tebz1ZA%15M(+aD%Ct0>g;=bi=KS2ZZE58q
z67`ExpcO#g9x@+vU;dXuzC~)Dq_p0st6qs~KG&Cg5z~CMqG7@@&L}5@7!eL@hr2r&
zw8|DpuoXVwE|BapNC?Q1r%5!_g9#LPd$W@aTM<D>P+GC5LD~RdKnL<grg2<h%Xlre
zVp3UD<C1Eebn%v%VWcK!0TDUMDE<*$?5ud*lT_r|rQ6cS`79p{VK9%K{9NF{c7xz`
z-OomMe;wj9$sxXd?E25Vz%Ms=^lqF})M;tu5T9gw#{fMg>nli?B(fDoeJSy)IX@23
z7@!!O5-PoVCWmsr)H|lAzTiepBx3yajcaGh@`g%FE^1aubBSuYOF$80+ePIz<+&wg
zcl9)LmpP|!T%&lad?${_3Icz(*||G;5t;}A4I(wQ{CO9lPERG&{ANm|BJf60(H#7j
z%-%o3d(_Nzj&W_HRQcbr6Z}x%ncnRq*M#;0bUMZ4EWoza#_!S3yGMg`kMQ3(f&I%k
zj*6=IFQ&*rs@#c9K%p?CEm+cc>E_@21e&5sXe`FCkYuA_`Ko{kXg}t?<PHt+&%K97
z+`Yi>HN)%Lc01b-Z2&-Ax1k1;fCc9E2~vfDU)rgv3Q45HD&1_`CabfTvxPxY*9YJL
z!qoLnax)0k?6Q9b^I_M)pvrOI3H5E)ad?Jz*X`D+Md?)<`%+iUM@>Ex;aZ8&JFfF8
zM?wa2E_R)<b{f2uD>JtyY3$dlWnQK_uGU)124RESJcXUHjONp)25RczcWax`U!5=&
z*gAuPT03uSU#jxjjC~rx;Y%?m*CfWs`CgizV{Nm)qO53;Eqlm@)DnWL9;kCHPkv9s
zFA`CI$td^2WU|t|zU1S5mB-bJ0&|=I0ui3XXlUACMsR-NM-U*nQ|@d#u_lZYu*aU)
zet8yXdC9l&l<>QTKn0#}c%rr|SsIucx+fN6X=Qu&^?`<YmpZw|Tn_C1&)q#>`tD@Q
z1p`TtDZ@Vax<}Y5`W+6ewGH{u&K*31zJjq=<6(!=8?U5Uyb^{aB|K72Z&a^r+{f?`
z!2IdIz*m2vU)N%H8hBm<03ovZOYL=o_S3)j&>N#oTS^$MyI|=^wEZMlulWJd1;9E%
zT*!|v%>tUHO>T6r3N7<64Q*v_>;%AdeX<EpfsX=Kk(%W`bP+u`kJOI)w-|q3?to(+
z0XiLMJrAUCsf3N6gpsrF#$De){;J~B%tVB(zd=-6jbxmQ?ZW^L6_13wZI4g=`*o^d
z>8ck@mFDijvqR=yL-Tr|SDLwDW?|v6wyLR+E-Qa(*43Ywj)$M!lW#VsJZLvscEs=6
zqeFf8wo&XSu`fKLYe8M=H-!FD(BC3&-%UneQ07Yzk>Dc3PMi9RM77D;vY9T{cMk>d
zNMcCZfvRTOKc+d)H$za9kXo9IKV4*tf|Qv=`E_u2-V3YE2%q2aS4Lib<-su}U~e>q
z-dQS|z;XTJtCGWI-BHdOeg=OQNBu7OFfgpA!M`Io%%V8xOzB|9Ct+eb>C!#Rgf}x>
z>CJF*Wk5PXLf$g)6+mSu_hi3ehDK#7gB!aSZpNtL+cx0gy_VsFmR&+f+7AGrYljc)
zh25#cDyAv_zWG8w?vi$NSeHOg?dN)tsB^o@FQg<fZ{Wz<A&r(8wUaDD^>!dF?BoPH
zV(>wX;pZ5(syp4EFDdNBIuAiyXL)}!1oIe3$3tWh?(V@CjKW@@(eId=sOrxz2f7P;
zHs14!=>QUfFSeh_cr<hWrP-;<$BayZ95INimE>j}2?Z-q)~v{ESBz(Orq?bSl8rtg
z+RrD~=@A)ib|UsLJ(jl{UDceN86HcdMBC5OE58m#sthS4#~3^wO1ag0=jCY!GR(bt
z5Qk5h1|iu9eVQVQIwDLMF9s3-s0YwRPQlp4D`9LPF<9~)vxQ6UKQ7T{Z=Kk=pp_4y
z29FVGwF#ror8dBI;hm=41OM5NuZKMp3@9GKRu?0xI{XF!2CP+{r=~7q!XtV4eJH7f
zd>udZLR+HEYPb&s5ZYc&-Fg(-OiLqHUC5~HH0@fQf+`dF4GDZA_PzN_^tD6udJbCm
z^Mo?|Rqn>vfe&26{?g>()d$_V=~JBU`Ct(MRz&0qa(+461%WVdjwDZ)DC%VYC8hYQ
zbziAp1XIp{`An1f2_C!$kv=<B(_(Ye>t5q#4oask-_0n%%0**Xyl)n%d0CbdlaAi2
zga6&;)ahVS)HQizqj+Mw{jY4oc*)#C*n~FtOp>96+s<p1hp%U8uLY9Hy8u9P!u}ys
zu?4WreAFWb45>V8=r=2`OHEtk`p&3tv*MAf8iA7DhDAX3o1Zpv0JDOAZekLerK24$
zM@K8!ALzqeDX>Z-m?Q1HpY!xzMs;UG=G8eIX}sIQkh{O?>WH5}HVi%#1yqNKXVzyn
zIn2EHZ)R5X829UR^#g8IcR-y8SWMRCP%?1&;)9Z4BVtc@adHnHaC5^x8=u#}%p`7f
zE_`_3aqa#7t+)HY)xtRu!Ez}WFs<s(`jzrZ;jfw&a23RZ2iNF=${%L9ByOsF<XU20
zmC*up$dCU}Qb$!`-}8Cu4f%y5lx+*IQ!kA1`$DYoY)?uB-mi0g$dvVt%JsJs*v91=
zk6x2PEhttfTK>B;+Bw<dykrZ$Hj^oLm!BxQwfMulLf1I=g!$53=cFNbu2GVOI=urR
zXB$QFPLVmyCrm=3Z_P(7c}|T_xpBrnD{EXhf1!3!X=^p7Z|PK$s-~!tz3CnQ+_f0q
zwKEecfokfGy=ze@oiMe}sy$OdD5Xf>&zCB+VkbWLRO?)9`h3N4-F%r<u2*hs6ghqL
zEOTpJGiE)nLaBjG_PErSk{*qM+%I=|?ofNa+(8k_Q5)q;Yn2)sb-C)*xf@g$=El9A
zjYlZ82GrNSzR^2NUs`j&zLomg)g)h>^tBtc+1K)wZY=X~V!c0i^Np>7#nsXg)O!2b
zuR|z-DKoh03<~v>|J$~#?@dTCEk2Tzu1*7gxWvCV`R&uzW{vUYp_RxX<MwaJ_p_6)
z+!BgHNv3kUrz5r*UXQy|%n{$T1lP&nNT(1l(tlq{wjT9tU3C=s?SweqT!jL59P!^>
zh1aP`Yx4m$`T{wAZ;4l-9FHf7n*d4;K)kI)9aLs-<Ae<hQ2D9WeUa?(K?2(>*nK7P
z4RB==Z)-U9{bfIUdU0fV@pf*{cB!eI_tU$pEfpON^@SVgFO&C|w^1x)4F5t~ZS=(*
zth&HOH*m~7RF+P_9ucaF_mZvT`i+4dxkD@>&%Nf83;OK3PJ<ep?|U)F&)5dTD#4Q5
zn8dWbJ13Ffoa(iR5ZycRYH40CeRj_$?PmRObN*HKVRW}b!L2@>i|LHrsdQmBH2R+W
zjs0a3c=4H!iNHVdNk%1kTMn`{iNZ76|0SK<rXVd@Dy~z=_{(lHR=#U#z9%@gpF9Hn
z?L#d%nJv+%!#DUILeX)OoU?ary@^5BUVP3&|2Y^qb*HQ2`iq&B*sC80E<s71lh4~{
z^U<gA0j^@AXYZHCt9^47KrY?;e>A;$G*pk{|9@v6``EX^kbU2?n;H9-B}pQK>|`uS
zmduQ8ED0f7c9MjoLh3bRPbx|!sm79}BqRx$-@JdH^ZjqmnZM@Td+yx(ywB(3fskcz
z`90+SN@5GzggqYNo`#`V`~#qN1<%msYM;GbU#oU5%e2=^&$wv#6OH_v3gfVz2+#~z
z*W`xYAQB86gP!X4(%T7jiJ>NruS=(L^F4ZrYxBhDCFfdP2DhBo^r~y4U5R?&?DX2n
z7T2Z|O<r%mooYMt;KJ9Ol24~QeO<Go<JO8A9LM|G1Cw^Xob7?=*onB*V&!|7@TZ@I
z?LlTw4$iwKT>42Bd;(1OtF;7Gvl;Y~T)SVt+YX#4*Sj|H(eUTzp<_3%N<I;gtQFjt
z#Hj~Z=y8igztb!P5vu8A4bWV;cKV-!6o%|HqwpAlN9Dk}^v%-P-`I+At<pFcAhB)`
zT{c5p!xtJy6Wma%^URz-@WtVb?vHby|0V5heSLMy_sdaAtKVS0T9Urn6(DP$vq6(x
z1j7ly9bIa$1_?GDspkepz-NzouNFO8H&m5GQWxhf^fuXumV6EZ<2nMkL8`7$xsjS)
z0(OgF45Vk1(7?CQs}ga<V`IjEP(7gn)|xvC(}QoX-Aah5t%EDpKnF@|TJCI(pf62x
zHAKcME=X#4dA+vOey;n=QTL5|?2FbNNUr()Nw-|5zXDJ|YSGetv*zg$rBezU7h(aY
zNuFIF#pkP9S{jL8)Kw8MJy|&Xx{9JuFzx=)57<byqY0)o|HZ=N*Xhz6Umxa;LgleE
zEqT6{h~P42MMalenX`pNiOo-jG;B1fJ7nz!L_oBq(o^zO{F$K2i@P6eJ_+Qu88Fj!
zyB?9)70{Di!&Dps_uLu`VZR(+EdYOQBM5Jwzs1GZP7ki}Blhop4m$QD!p;7`sa48R
z!z%<3ox3;60Y0}`t9NPkOoqDn!@O)jFPSem7i?KTqkN0dvqPr~2JJn>Q`E39HkX$6
zY74V61{BgoyA)Ir{_t;5RccYGgu%Z`o#2V}_3KlQXpJQF6G;dpji1|Kx>^lMBLpau
zA0}F+Ad>I+w%-urZ^$gy8oAk#AtSCBMV+^nz11k*A`vp8o>UV>)mm0aAhE55Jw4bx
zh+@({%=QKwLROT!3lF#S>8ZMw5w#p3#btUSBRW&Un(MvEYTJ`fVnDmfr{uWT4#)q+
zRU&S^3!auf<x=Cf7b4s+cJ@)q-It~|hw-12{`_NM;7&gIZy+so{AKb>O-fPWI=wz%
zvB6jQ&ydiKqr~<5?<M!<@BF)bP~RpMB9%%z{zdWIDU;Nc-H(^PeAqaXntEk_@RiTM
z{a^1>Q;*bg|Jyr)5mVLzssOG8EL0w)$h=<)me?}}=lmq|Hxgh?qqLuAT+%9X85{b0
zI8^3jl!$;ITgN*bf3r)5N`w&GnLT_+9V%0&(U0rLB3^vi#YubGk0)hs@D2k-wHV@I
z@?<Ai%F0K};@$oE^#UvvtX*?7&o2nvZ4p$o4wUNfOcPzeB9o*uq%Mu&mz#@tEXw@2
zE?|d^Nw2RN+tTx_?QBHufUkM^xL!-*v={t+qh2k3E7$g;guX4oW(23Gm1*fEp*3Jz
zYpGli*0>~A_P#jfi4{7EktN*%eKt&oT@(3mUg6Hjf2#Nl9D;@yJfUf<RqBU~&C4;3
z2hx<>>i|4)(RSZ2$8a)6@hAJhslzQ!)h*ZZ<eh*cnFr$@Pq)P$e;g59R#XDq`K5-I
ziu8_U*Qc!evpZ8Oc&jxtWVNi^m<IB&jd=(;<d+W7P`-5b?+NmbMv1c@3OUE5s;f|2
z&^@(Q8VE3t_aQrQSkOe>(aO)I1&B0`9Rmo*b1%`3<ssEpv5tZ+mywG=`^>1prYpDG
zdVs{zD&n~IaeKhFxE=y}!}YXqG=?@HGGJnFex42lq%TUynJOtA-s7$*?!K{4f~&OO
zb8LCtS^m3n<?Q}n3~3>t={GGyf0oW|c9q4OzbU`&4=PLDv5;W4tT};d-!<@UOYLiB
zRmUVg0#^q#lBTj8tj=7&3;)_4a!OWT5yPF(d`g0?_1Ni)Adwny$=OV+2s78q|A9Te
zwm$xVL+ygtIfocf4#GKulbvKKR(i-OF>qnr1q__Gfa>jmK;u2)Obr7DLW?lKwXAnl
zV2A;0gwbpeG29TB1+7!aNOM-+KFXC|cbxhoB0RVC6l>S6rU)|Jrf0#I7|^T;dy{x9
zAU0Hsdd?MT){UB!as^B662M{Nn9-Ky(-|k5d{3>2Ayc~^-2X|TbMU1*#;87mX&8{?
z>Rr-!NHhs1cG;}!@h3hP12D;po^~jm7rzDRUoe&Re(5SpGuTjjBS+-80)Wne8IR{B
zG^F|CUJc2V(adVe&;-$I{I$p7KtiVRyeKWj=xgf%%^HI5=03g);l<EKTU|1)#Yf!d
zvgouCFj~KsSOAgQD}!ged)t1Av<P|n#7XmjUT{f-c|(edC8;fMk-0Uxxp0%C#a045
zZx@bD1gPIv`K;#vBpZO-**(H-!1?^P1TbGgH`Ih^53COgKkJXJ{>1Tx;vyr(IcTG=
zOSJpfES7$F^NSA1WLo}?wERUlCuQoZ*p<e4AY*3K0$RVQ_MNR9FhGDCzi0R_wBoPo
z-wXQ-W=H&kpj%()fxTS=`O|GbJf0drb^R7f?H`mXJGOl_=E>?zYrNE`ZBWnXi#Hwt
z9+Xy2OHi3LAkDCqdQtE~NW|qBe5SC@lm%1Je$Qpm2I7=Zv^47{g<MIuo4VU#r5S$@
zI6Kn?5+RWwl)q(GPk#3fJ=`@D@z+RKnZq#u&fKSpgh8GyfqCZ#Y|ZQEIfHBibYIVe
zE}%FK`O{52Yvai=(#J%{TfEl9&;LH~j{J#PIq*q0B0?hqP-a@PxXjy}ooSeLaZ!1W
z*Uj<a{${@r{}zYZNgTCGb=REJ!(9U6+d0o&iLbbYoO!C&&NJ=eY$>Ms%*hW0i*e<Q
zQOuG`^dyOHVje$rXGoMke*i@h?NVhMASb96GDfwTb&t1vj;}gE%-pM#%9YuoD-Yjl
zTn<Ur?VHMeXR`96AadqsGux^XH%~g_;isyvy!j$W$K?GcEtzw_U#E0X@m%@bH>(lS
zUWvaIX5#)dwQOcNADVk|NS_rp{azHz{O&jI#69yL%XiX5GOqoR{|mih@L%e4!>T6>
zD;4%!KM5hIww#K+?@zvbFYPh-@8@@8y&1$;hgy0-&Wrk+_0M&k|7v;`wQD26)}6qz
z-(6!+uj}GtLNAB~;QH_ky(pGF8?F9LyH}dtlTp-UsUslRjeROk-4@N3zfDGy_#~i|
zTLVa1S`~6h-{zQT5&8Ic2Rvxt>F&Mjh#_;!H=R&^^Xtd{tJ9&aP&l9m2y8e^2Aj8r
zzhn6^_koHk#~uvcf&xSY))Lz_q4>N><JfRTC?_5kMr%sI);jPdg;3(l5okquU=x1y
zn0AE#eO+O6WC4ZP76p3(R?O9`^=-98<Pdo*>r9yjx`k5!jrZTz@pz_VRdwHb8Zk|5
z2%rpICso%dN~LaQX+hW{T6CoQWlt7sx~ZmL%D!>=wy@lx6~rIE8$ECu!u1Yp9D{t&
z_C0(1d!M-0F!#y-#J8Smw~&n%uiLn%KT^!fcQt+s=K4$`iF@AD1%SWfnXeqI0z_3-
z>GBfS<(_mR{)3Rt40S^WESe@Qa{Zx58o&jlK?`oMsINDaiUOvyPO*x^`>gFHSrTcK
zJeE}&N|IEBd>cRzF}A#lB*96`6X`UE3Y=+!i1jmgX53iq^Jb^e8&^U^o3ll4^<=4$
z00j=c*$?Eav6NzFy4dYHF~XtU5$^~{8GBL5dc+W`<UXPtcdY&TK<a7{hydK0)}?^*
z9>v&|6_!KK7*A>%B4`D|=^&{D5ZD&{B*ZRrV%(rufKb^qQf^b;_$;o^=JGGhT~d}m
zF-yGvdI}XDfPH#ACNoEjt$mQ1vYGjeoMZS6L7#hGyNU>6z-is=mEsd+eP~&z{R>^G
zx+=`$I7d*n>@W^JRy^@w`leY!uf-cgC|1ljXX06-baMB#B+WD%TDn?o!HYSk&+a)d
z=Ne4cGVQT^c?Khj6)*P3vMdw8vLtZQy3=ajiM+iRDzi7XKEPxXAZg#SEGO+1@GlPl
zr!}<mDzou~>8!+)vSVBBGMlo_f09|Jv-4hC-ENihLBBJ-P-q|&b9nw$-?}rvH91k>
z4AQIHS9O6pxiny0VE<|%kuJy#7x>jl_Cy!<CzHTU7tV_qj!!N;8O~h)T>940hrF)*
zr~VgGrtCWlM!JHWT!k;n3te>;yXh=)*Y#HA)a{V0)0z+|SVOHXoUhZdo`mS{%Za3d
zIZ>1@5Fjn*hQ8|drq`9btGXB5JoEwn<B+W$jkNyeM!|wR+j<RT+Fr5V5X3-i_vrk*
zQY=QP`~8|v9}sm#P7)>TBtt;Cg(6^UQQIQ_(2zZza9qDBCov>VuokXpC9hcGX2X1o
zR@Os*U*h*J6s`!P$n?l>6)J4?qK53u1@6gtCxWX~DKn0ZH8XrWyi%1_b?)qdCl`rR
zImaPd5TIrWjDh2kh{zU%=Oiq_vogxFEzPU4i~{pmHB8vM?bQN*NX~Lq%%EB1#G|t0
zk>DsAZvysRHH74pq#VDR>8O}tLh%SqagTdYVSBgS)-_Wz;dDaEdqcw;5f*nsuXm)1
zv{1%NM_BLZy-*>0r>uJmVu-De%IJ?+k&BMHnO!D)^Cfvz(bZnD@!qr40;Nb&?v+V+
zGai;qP$oNdM-s_~NCbZS?R_z+>-gIztuT^dnF?jlKwCIcktC`JZ({ZcaEBoFK9a>n
z9)QC^G64YhAa6XN1(aoes3#wQ0bBkqJR!@+mMkXHe$hK8i3(;zs>Qp^iV?h&M5w_b
zHxeh)HWSInp3L|%R-a-xF6CpznbQ^70w!9h#}Xv;<n^?FX(8XUTns8+vEOC=w}F$$
zLInfA_Q*V|>Ks~RWlzm(Z@M}@A{cz?ufwXGrf19zDjH$Hb0^dryxQBu?9>9a*)FwY
z5f=Fv%%X)P5hy}q<YBq2Bt=Nl9gtE%mM?}RW<Ykh&o#<*H~h||sG5$K2wZ-WY)=3g
zP%|4_PQ`>EvR+V<Z6V?OA5$xbzadLyh*^n~@Ioy08xu24HYhSAW{K31@LZ+#cXY3b
z^MCFH7t$Iw^|FH#fULcd6x*z`a%Xm6u-_SHK~IHyZ=Mxk%VO&}%ee=)@>hsZELxZy
zvP|ph-o77pKf^0&BrmdRu(JRei%2QRAbAf)N9ZIc=nU*BCh}z(>G%oABUC;jRC6_O
z{5skV1sB5sl?1DlNjR_TJs0u&Sx8>ZwaydaXW**mSY6|DgwGeKV5LoX5SBe*57KfB
zkk~w@LFBqO?8|kJnk0dYF1VU;5|T30T|q$bUdX8GG4O~$1S8>uO{9O>B0Zv8937Bx
zU;>M{VLwfFCsgWP2tY~_EG|g@^OgX>k`c^`+`b+TyQu<cgXZuml`Cf<sTStBmUq<J
zvYb5A^ayOpngS!(B8!g*?>d9rK?6bfqhKs>86ZJjzUDSy(d1kTp{n?74_<^GPv&rj
z2fA|m(-TOcGF>ES?*w|P%~dKW#NUAME{IAw-U3_saT{9;<lGUI;I)i$I-3G8;sFBs
z_7lC9v{w*dJLB=Day}XWd!)ZxNyxV$41a2&k~M?lPGEK8v(8O=A#5pE_MmTc@-IDH
zu{aT;uSAId@fvK1!tO)aCkykZIYwelK12&A6px&j1q&2#&32-;76~dY^w-8uF1_rT
z_?qit%d)`3-W(KM`kdvAG52Pw8zr|qdFfyiAL|5ch7^>Nk@V1t(*DJ;dFg44sDGy4
zWEx2Ec?c;eD&aF+^!kMn>b;cK(EI5c=d%*A4|6@abdKI(Kw8SZRBY326Dpr%9{Enw
z?LXULoe%RPzAxSq(@C&}Lx7(9a8kEN2+e~(Q=jmie!bsG_SI#o{a$};9o{+m2H{R0
z&tTE*@VQ};Fdt5RKh2<ey7$l|$7fH_#Sx@+9W9hn;C=MeHFK;wNI@J|G0yFO_C$98
za?ImYn9x;t5C-m41`VQS24T|AsJQ_FS#rJK)Zb;M5Dmh;%e8H<CK85Zr#_Q=@;6@a
zx{2_2{rz5xGX9xz;U_b2=+_h9$R31q50a>f{Qi`hIJQB%@>5qd0`gAi0&e|Vb`RTL
z;PVS;^XZUB)1AEDx~XMwwobC^337tr{csmL5(F?05RTK9K2BMuH!06qVKbG8O(x<w
zAGj88@S2Flw?>{7*#y^ga6di8Ur=t=c6F8>$@fAvPbAZJ1`@bQZCXV<eejKAh#D1`
zr6Wn27C~Mg0ys4(eWlMpMD2KyF}9g8LB>Wyi0)U#?PF0O9qYkx+FP~+GTav25fh_$
zBW6!M7ATDRuiQO#GXu02mBO$|h1xQgmpVB_StL=st5|ci*w2q$#?QtSR>uC$7Wd5n
ziUi{)Ko*%v+SZEQp6bf*R{wN8+4fv`<eYt(v2a-WAqj+e;zO`yqu%)X5hLlJ>3nV6
zOY!~*k&RYjR*DFJ0uuhUlzSty(m%vqxbR|K2qLK9H}=6r@8hw4w|I0FB#h|}PfT76
zf5;k~hL2}k^gBL&G*&fOh2C-eG&#vJgwDRa^*p%4klr0N7!iMbKks$W1mPA&a+cMu
zqp-xnULmXxX-bmuNnbiF<t2~$|E#N=W8v&0HUS?IxMHdQ74yAQ&oBMN?V+zmM_mr$
zXvw&w0l%CD@d!@HGq3f3l~8-;ThJs$bOy#FlBu>ya@&i{cfJgrO(=OJDjM_o90B}T
zgal*O{t3Tux$28l>8s1h^K~Hw@Ia9aTT*)B%H@WRnw#eP!D}u}QTrTj34fy#t>3u@
zF`&j}U>yuJtRS)dOLgPVM4Nf(5CbSOgxospUj<8gz*F7fd!Tpb5`O_WaPo)G7+^q5
z>R-9}@YR9NnQx(_OT`L%it33^HIi*J_O0{}U!3_CNg&(V9*opLLtT=`d8(dtuqdWe
zemxKbk)p?-NMJ!GREVK%(u8?RRd4e2f7dQDLA)*?K^ib~BZUu>*-+MqvuC%_z8a@+
z(k477>Hp`I<5Og}y;7=A|9iUjTIFV%>L<6Cs2YvHQ(AH_w4Hc$eH!%S*fmq$7%;zH
z*{XXpBT#W#B;9cPDC!`~ZM!j*(5O}qO(I>HR{BlGBm<qP^(6Vzt=M{oJPE)MF?0%W
zXqt<CiLn6wfj`mS6BlT~Y;K|9Wkl)Wd`WW(r&5gUvm$xtddJ%_a?eZEeFyTCV&z{{
zXndHT$mail_0S3Vsd`<ew3YJa7c)P$b~`As!>+Iea$RUH9wy~M`Q`1hZ&SdU?t5Ra
zfA9!0QmkMsCUE(E=XY$PIy<>hWl~)(GlcCM2Nb_?>TyQ#k%jGi^|e8-EmL&NiMpwA
zohkn#4y+O`umO!LTAnB$qosi+9Q<HkjADKhKNumemgr~y>7QfnmAVoPJxAKWt4`m2
z%+GM<WgMG3_=8QE45FtYO=L|h1$xxdkLOKa0K|FNSCD{Y`+VuE2Ir0|rU$zlUk0z$
zoV#_R+KkLz(($DwsPUI$OSF)IsLQ}9!>>;o+>P4j>z$0(BbL#seU`rk<-T^taJl{K
zjvfqR792;r?J@|%K?kyLutKo%8v>Ub3x4tVR)&uHxcv)RL@V#v+Ro!X_GsD|XdRv8
zQN367;FZB%u|-a3`jh5d(@WC3Jo+sD<c#^hmPHh%$n{}OS$Sb^u_xH@&2w%Tiw*!L
zatgk_?)C!(J)_w_i5L2_I)&xpL*9F(jB=dBvn?$RvM`>^D(nD0d;c#UwzZB0xU>WY
zuGQxmDW4LBAEF?<yoHUgl%;eh!N3Qq%ODT*y!4dy;ZFG=2m6oz5k31mvA(R~R$J#F
z-`Tc%qudU@CwBh{xL1wg52k#NAJK7?f9ZIT;Q@()<5bw&e|7Wn(fuiR@xx7e9rN(C
z6^Dj_Cc^AIjO^V0cvnm)+r#CK8t?|7eFrOS6oLDoV!J$d+6Qv3nUAWXGT4vJ4O(&-
zwm7^r4HO{ZxZK8mae(xy7-Y5e3YUyW2S|Bg1LFuRgws8zWJV`9wAa<#_k{ep?v=vw
z@^XmYpe6F|w04dpG7g_trS>z;2@*Da9S(lToVjBUzBe2|5j<ahvEbyrPYuH;Cuv5`
z;P>@d&On|hwUQ49Edw;YpXYypZbPQj=up1BACI_TQ;~Pge;1_jn7v_bwejr34fGDw
z6}c$$*1d!K%ayU8dsk}GJ{NTv|DKMxQWtKf=5|E5Pf`KalO~Pc%YX;^Jpz2%@%te<
z3%rLfe}Rx2tH++71mean6cqR!y?ko-_t?bS5}l67_h;7AoQ;9a44#D?oeK^hxjg5u
znfE)KfAv$F(v)B#0ZsVG{u65cpQqZdh77I(vOmpFPhnZ&h=4f#^cYXpGss1KHnE^g
zeH2F=Ui2lwS|?evh!(dFg`&WQV=@r(CKGZT6OqQbD#v?;rJ(5rtkqF;ax!B?`Px||
z`$ZQHp+3#@-(W2Ak3K5F(M6X(&iWG6&0rvI5ETwsAU3;r6B$^9S<X3dfl!{0Dn_4u
zPDc3g>aYgIRlXqraewnyn<o1m$8X|be0!!qitaJ)@EI_~$TO3Q2|Q*sJ0$jQGM##8
z!)1FfSB&<qSoz&T&Y9%T->S(ZsEk|T)SbnwnLl;1>i4pF?w@u0Mz=AyZcI8T7>4LB
z-Mn>p3&nTY&4eaX@MnJ5F}T&XY!b;2-(7KhN$^&awG{(w>EaWB9YL`m*FPdRD^P@j
zZSE2SIys?)`%e7&1rSN^lSt-Czh!KYVoBIJoywOcep$_LxNJ-YcvpAWl##dC2j%`R
zhGDEoWH186U0M2+#@cJnx+Dbn1#93I@;psOw~pOM@!p81b+DGZdEo4*f}+bc?Kak-
zo@9xoNC>kTt_%y?asF%)*iah>ALn>(J{=6>{zQ<fL#|>u#%-I^Wk5jLZR|ZZXpRR4
zXSa6FWaW&ro{6J$u(p!@Ddllz=qb!fnWX3E8Es++5I*<#`6&YnhZ?JC*`9Uw;HoK3
znH>V(YZ17V5Q={5W)SAhk{{<~TYOi7ZMoSFg8k3_&8Oq24C8faBD5q;3@vm|PmyAL
zSI!M!94pz|W9DP`3ppXIDrkIKgs1WM53eZt-LlakYZHoIyShZ3pLd{#hbP~r>@6t8
zzV+ErT*MW#6{VCbbC{*Oj<@8sSlXA5vjfCDvSnbASZldYvEl2n3T(-RT-V5exQ`o7
zG1A1xaNnWr#*QJrQlFbmSjD8-{=DCgfiO}9obegbPY)%^aUyRh@pj)<6W@G;z${-X
z2v)`N_D93;+!#iRI|P{NnN5Y5FkHPzv}Ys|568l_G~FetWHQ1W<p=1^oeZ!Yuu<Uv
z4P%h9QuoVVUOv0NAUv25+xUdXGGL<SD4htd8j5tNM7bR-Yk`TebGovf|4kP##P(Z0
z>M;q*#{eiuNqGd3-9^if>mT5luSejTO?c3jf2BSrAbj=b=6TE=&t@BrygPJV`q%5O
z`aaEv-#twF4!3;zFXLEMl{2Vcvon~rQ$JP9>p1;GSS{+7VNHiOUH4RDF@Jk3K$ciQ
zX)I9OScLRxKbp!zU_jxXg}0<hp!p{(qY#NUZNe4i+My_wh@o+~)Ml_}Em7})A0QJ^
zpPu2>Vf+a=Ncv`eN`C|kSAn&L{8$gRFrF<bzqj^M@yCrueXXY=q%)t#kSD_d&MsKj
zhVC-VtD%-to1`v+PXTZguC8b2;;r8<d<I7V?Cmb>22gy|a9{v}AGo1bafhjS?w}79
zd9v00rBC=p=AgTj2-fiuD2z?^a#O+ylu<kh#49qdPWv5pIb7)n&KLzuYFa9l(K+vr
z*NOa>%w|$xS9nD;O?>A!!ld4{GLzxG0*>}HDtl9O1*J9kxzq4V>4`7l7N+0aYW6K#
zBE4GQTk3#s_Zq9KI&^FVNPV8PrXa!f{zyS34_@QhXOBg*Ubv|`C{Ul&`{i}<L)S#@
z)O3eW?AqtZ^(G4I`d3(74JQhH7r_0^g1_bvQe60|b1id0CF<|<fTMnoj_76MpMT3V
zt94!jBt(c-g>|ag?^a*a?}ZQkzIkA_+x5pGQNmV?E6!h6=f=<Vq@M?0m=LCH$D{bo
z+|<95uiVf8k}g|6#o}_hP)2IZe&3Ngm_KWN;AZm_>wUxy^jyMBmi6vFk2?BgEPk-+
z%gpUHF9^W~V8*eg2j8QZ2glt1?R_z~_~cyRHv<yN18r^jg2Wggq1+>B1~`WIk6aq8
z<<#+R9LNz1D#mJQ65wGBczqT)hJmo=*w%s^E5NF)zlO@<bl3548u>Vh!7)JK%zw9P
zBC!69!If|KBL%6uO6HoVQSA}b(jDXluxbnjuZ$mOB7slaFA*c9iy467EyP?%yg3lw
z9Bcltd7+Ijd@=LF=Q6pKhXb$T<dU&`08O(OK$HB$`|6m#FVBmQOWRW!nsel&4D1`t
zw5>SG(u;X1u>ZGVKMbG04aQeD?{hpVZD}5_ZY%lM$<nx=BI+U|O%lXS4@y)y;bb9f
zA%l%D^833(rkiABI%$g6QbEX7y31dsYY6kO`kZBz(gX;%H>lrFfAd!qM@VZ}h5f<c
zJeNL6*wW7wc(eF;vjkZ141^~gW)f$k!Dk2g4bgHd*SS#3{KqGYUw8o<0J-1<8v%%j
zJ8s%SymqF>ilk4okmIBncMoaEVikxG6ERDCTfNG+MY9~JYS+1k5`6Bu{HGj8HOxjd
zK7a7se5WyTqI?b_LFEaQXq<F>V^O*Y-j`xlte!ibXc<SM;fE~PJwF_eV*|Pek9Q7Q
z!EjMS6w`e?6!UrJA4+vH)2=w}qNas44dNvB$w5ZaIL<=87=MX2s8~E8w;kZtRd4R*
zGs&XFVFTUqfmM455)w%kK~fZvX$Hu2OSG<|Z3YRJsVeN4VoODyT4#)zaSo~?-<p*{
zqD2rfD4QFYVKQ~BRQ6gC(#0r!&^L4Nv!P8U=MbfT#Oj2v^@Szt9LqQ&*0^WTbe+ak
zd{q!j^_xx;reRrfW+<`X(##9PL|bD|be{pOgKBA9mDAKesN2oXrArbhJ{|II{H`}7
zv>D5_lS5Jpj8d25DivC}c#b*Au;A`|7R`<2wuL_Md|rC~`NO#9kJ6v_bYpvOI`p+U
zJnnbspWrZ>&22~KJuRk2OVfm=X$D65el9sptg0L__Yuj#v#h{xb5N+8#7-qai9m@K
zsBb9f(n5B1r{`AaqQADhZGx;}w?)o+_6I7=XwK?wBbPA=Lh2sWNe{{bu<ys@joTpU
zx(LNXCkB$6%5G^)0wYu{O+z5*j%o1zmpUdaA0vc}J!upXQqTi2A%S6->L~D<ly>0B
zB0B?CuEXjlBtrl>>+k(1*7pY2BkX?6y?iS$xv_J?;jZ&0r}GxtdE4dH*FA@9lZolE
zG*exW&c#;_>Xyvjdzs!l7C#Iux8t1ssTrnCD3hSHrA^2NXUmr0Y6w6g%dASBM}bzc
zt)b+=3nen=n>n##hF1#muGD9Wjb77EKMp{&pca}a$SpAoTz8tXJIORB4XsruwhqaR
zIW5oxriwYMbmP?tQ{SO$cl+iG_-+TCr$D>yK<6owZLZ=s9fyXe&~JGOurqlHZc_hv
z<Gu<>ix!>q<Q4ib@YKXn2?V5O@Rh6<Zdi`pd+mzY@)+1da1Yt5(CO@4^Y05L|H8iM
zOSagUKw+2{7mB&WBTq?3I2xG^v9p}_Im_mO+!nfNM$&CYbrjR;kQ_5x*Sk0g8c)RC
z2IHLprkNp@ZwG?)JIReIzPk`McA<{dI=!3$s!XR_o|?7_EcPT8+mNUAr~-CMP*csf
zVvWTkp=%Bosg6^{&OYB0PMjVB4Is9LTa{1sPTAX}xZj!zJqQW)K7<(9vQ9Puo)(;$
zWyRlNl{%Ra3=tR{zxuS)GpHRfIakcp_APJOBC9h^LzARWRl~In__3Z)7?E7H(uBqk
z`$QaycFYJEYrRmqKpPAU6fy(@CKWAXMi=;s)~7=y&R<@S*&PjgP&z^{jo9)?VlUU6
z5n|gayWn&^3J3Ebe4pHY&k)HxUh?r~Wcx&^N=d}Tho^j}mCnx;`@Vnq-6lcSSaY5E
z(!ky{!Sh`+nS3|L^lxJb7%*xC0$?^~SD-mDB%{tYV^jxdf^6*a%`^dQLK*a_g>Vai
zW{U>q%r5K?5SHxQKe7~0S8gVLoymu}UHj+xXiBJ(x4h8GgI)GRk>L+6lQU&bXTB*5
zriw-$sCq^ei<<(-o3Kp}SMc3EMUQS=(TC@nGld&rQa{;SZFejlOx$gD0^lw<{zy)C
z6rBTw<)byw!d6?6bI_g>b}ky{m$~2s5^pz2Y;{m$#>tlZEJT)^2CeGSI=k5VlP?u>
zaOK>?zk?6wJIs>B;prcH<~w=~y!-BcOzr;2)?e9EoYBuV_g_={e{Jm-{-rTnL0AYN
zZs?-blU=!9k>Lkm*?Ue`a%P%FfItKiRQF{-^j(pcul>2dA?`p;plNg4FU-0jTDBUv
zP74<DQVaNLuNWiy2%@9fmF*UzWvR`dyA3wlT6a=^pDptx<I~LiC%0+u*?)txhBrOe
zV9KZ6{K}oxj3J=6zWrgcGS^}>IesMr3RgccG>_LENVL3{iPbT_FCrNGz%*8ye;d16
zt>^noH~g1=gQZfe4pZqqd3WRZ^;kol^y8JW8mE6r=jzxrvu?w5j0Sc3+jWe^w@ns*
z9e*Bc7VK+%q^<cY7R&R?j3dt9Bi1-L7N?@i&%c9*NNsBc85{3d8ed>qoa|QO*T!G_
zWfiMy?iFXl46x3<Z<-co_jA#va))24Tl!0^{bOBB{f<L`q-D4+_W6!ete@jz_rjE}
z-Thy%CtzU{vS|NeLi+YQtAJab>1OL-uJa^iQA<6c#S<qVgsklli=LVF4~Uh4PFI4$
z#)p>df7is+ncqq`+quTi0ErA?^D3$`?3O&b(;<U&gVhCOH1X8;i<UkYmtjr>G>zYp
zE<nK5WIQ;x15qpbEmWarKXl^ri@=z?(fD=iXtYfXk?l*|pi+96-OgaHGWhr=oZ{}m
zDQ>4CFcqV^d+z?jJgZ-CO?Asnn%u3wioRgmDa$rjMdJ2GV#MT`5tGQ!C~I?0h>8o+
ztt$TKx<z<0wGfldtHyRl#xI}-n(g=-+qTlwW`C#OzRx2kJ{4iANroJfki<8(BnU4j
zi9MZ`WFPEX=Avzj<vb)oSS1P~yW7LvD@;dU3-M?%g`%$P7$M8&wJ@)bTxNv9lRVJi
zMER@-IFdh4!g6jNjk5vSnf&Ha%HrFHN0gdk$B2*>j^r6$w?}qyA|M(dYCDi}Zw;6H
zYQa)uIA*9Vfo`)uXhsq=r~<N&u0EUeSt2+U4=9xkxE~R(n;|D>^3+m|4OjO5qzbPU
zc4Zg&!wDzp1Y`QMkRR-MKf^ZDu<K{vi*%GIU+b^cW5V{*R9&!?y+Pxpv@~mU`upbx
zEo751p0Gv|7wVOQBF!g_kzJY2I)I}6G$5U{SSBn_ru$$buUh1ffqZnKQz5nxWl77W
z8D;ddsUC{c$9j@15z2lW#eL@a^#-GE%iiK&tsO!@XOJ~P6*%2N7O%=P$4;@eVe^nf
zh!>%3B`5t2U`jxmOi3=J9~Vj0Vs`|03{F>s-?@Z@Ca^*E(XY7J`|Qeix|*;k)v9>G
zQ|K8GDd8lQi#n@2WC~ar-8+yqxoJ)~6``s&VZCWeBEx@^)T$f|wy?F0`~N90!a0IB
zoi?6vW5<iosa)`249xtHo)v9f92w3`%@#PlxBgbh-CUNEm_(9cq&>L>fR<R{uwaVo
z+m5Qi2hRx)8`7&Y%3>ufF;9}IDKM&@r3u=@Us?!7_@)vl7}n#q{<7q+t_44o{BA>#
zrt+k-&FIec)6vSe&Y3*Z-nY;;pb60$J^SzYe8LV(4QUaJwB%tmCV*ktHFJR!ltFn=
zsBk6dUk4!#wqwHC)o(kOCf?88e+$r2>-2dBWC?aqv^=T5LyJT&T6mZJRm{gB4ZHEg
z>ldkJ#T4(k%q&18suVJ&{%?8I=8Z!y?(nN`+7E-4G{YIW@-LZOV^(5&>}IQ{rPZ#x
zRh1RL7%<1C#awqYFThjW&6ru!y=-mBirI1%5O)04KaO`Pwk={%6bXt^{@PIiTDRc-
z;}vH&+}gW!X(ml*QtWS=zQvx!RevY+*)4SHe(!A(RJP9|*{kKM*vg=Ja)Q~r>?@Lw
zPos*jeruS>DF$%@>DPpzMTd*;gOE>CnVaN~S~yFx;DHB@#)?hRSI!|@3Qz-Y>Egid
zk9`sjoE^?w?yZFafIi22!n^Lv{J|$~8eiVs`O6>TQfHC9@0}o^<W|O!ySt9KI{Uct
z=#aj?;&}E{&E7Y`V_6+79+jIpz5E<Nn|Z=`_owyIyvph3*tK^Ll7yqqJxThz`};tc
zNT8>&2@6edNBa-8Foz8K;-0z62WBdre%P<GW?qKKTD@+4VQp&ipkMI%{;Mx<!(!fQ
zzme|?3TwL&`u^c3o!E`ZN0<NX{u56i&JSh_AHUMin)l~PSd`|W_oJHh{+8H@NF>FN
z_v-w7cO;RVu(kN?#_?3M&h4QIDVyp%$s_L>y#u*%J}L9$4Z9~Rf0$A<0ERB0ZB4T>
z#NBEYBK8H*D3^{Te~dC}mhDFka_Y?$3^KXTXPK^i{$4P|=M<5HpHVd_92W9P<{c4<
z+}E`HbH1N<6nV0nIE+p?<Q>Cg>|7mzTA}%#$u@kPqDz(}^NlMuC3lT2M^y1WS7i(6
zGFN+Y$Ty)0YGb<5d52B-of_iTwO{CeO6Gq#K4zl*(r9>z4^a3qcm0*wzoF2VDonJ1
zoyl)mfhkMD675NtaEgGng+zMsYkRee_gr-}J_%UZ8U7QPb{RG4w6?J_{cZ02o3bLP
zUQMK+CK+1R3P~}w={Ku_9)wmZYN7^i_9y<+o2mTP8-R2#@$q=(SpGJ$=JY$wWBHyp
zhccm)8w)Qbb((L+qk4}jc;u5364qYo{i@ngPhe3#vkhoex?p^MHc7s!uWqoUYJFI^
zIdRsLT=8&|uZ)m(H8MapNaBi!P4JDcCu*?VwE7%=5zn>e$aWz7<3^`6jjG^Sir0(*
z^<;6Med*2=)JP)sM5&$;X=xIRXUsR>^fQ@Ssq_aaDqKG^M;;BT`pA1L8`BTMpd-IM
zvlOn&^6CqX!XE1rh=g4bsrJ*(mOEWWeFt0Uew**IVAFe2KCkC%eo|M1GJIa5)U6X-
zb8+l8LO62PZ>1(>M6{x~WJgq9sDQ~<S^Qr2`z^JQ-K~$fl!@$6(2e&np!%XzRPOe0
z@R@O9^0>5IR7$O%obU8FIYTH$=v%OeN1SVjRP2etC*g=Uf5mTnx}N@5J<)BfKBA0f
zNCw3G0c;s8S&l3z%noAAz{3*Al$C~S^VN!~Id#?AgphdzGJP_>Wm}Gh$&5$Q83!<d
zd1kdAF!{j`VveG7%}hN(S7GJCPcpz;Zys7jBcu!!X@I-|9Zed(K&E{(-?*2CK||ph
zV{de1u=$tEYT4Bi=pa?z46$SYy0K@YZ|RaIg~D*`ZH{WSWr0#w{a}O-S(=hG!yDOf
zw7Scn`8qCL1|Vgrn~)I^bUuOC*Rmav1V|%^=gMjw$S?uNwg#d>J~N~~s0^7u1kr>I
z2-%n&5El!&6b)m$98b<-LEIqPwlb&pdrm)1CtJK|xhK)(NpsLe4D$^vNwVxY#@`Cz
z(8dJ`h9+68;*qx6|4Ms66BMn9xbvxj&13BCad0M8<O&ziS__0I+AvKydIlsGCh;hd
z83*5-Q8LejlYzVo9YkP=+x31l-X&jUsdtKyof&xBkb(a<+-ARbEg_C@^*8If+Uy59
zyS^yG)kz7W)saI#TX0zHjgIAEGn5?txc6qVR8<Suu_O}O*j)kf90N(7ScIsIoi!UL
zIVGRBfD}`0EQJU1Q`|67M`LGq6{C4HpsrF~1<m^WjIN0DfDeAWLDJVXLzokgWrjHz
zC)0sQsKZrBIfBz{v_={|7J1N;CEWSUTy(Bc;w2KUNu6?UR^}|)YGXIi=SAp5_yu$(
zXF^6c-&|Xk5$>6UAlh~v?pI$lpbIR=X-l&pg+dtq^4p#ubv)^h#8B-q7VO@uYb0gt
zb$p@sig}+ORgVO!GM*C&+v9zeS_J{Mmjy$rHr1>YWu-`EB;AV%c~IiIsJOA8v_K5r
zU<oYp!hj;knxQM|UP$LoNYlr{fgitr7svzHix&W)q&+NGhTHqP_4@LNWJdN=K;*Y%
z?cFMU=@xz03r`t_&vpc*J@@x+y=7>z+awG3Ut7K5By+hYan%npy<lPYYwExMZNp)k
zG_*@E`TrK<c;m@gUnXC+yEUIcQ#0hcrlTh3r`sa1nE8?vks+gszczYj@!12n>%o`#
zRe_=@a)MkvBy7fyO>dEh?;(VVQX#SFH$D@{(3BO0tg3}=G^vfv)(>!iMiKrbU&&1@
z*WRk2(qm648BQAH##coHZANbrgT`L9rAExCl+j-cY*DFIqRrwgSNgELYxl`c4;_8%
zggQA@kfpR7uj@%mb#T2}Tva%WJ5hL=qcsm<|EX~7)xhf)i3F?})$1KoQfw-Qy|cs-
zb{pLA^{GbCdu@wjfln$X<%C~qB7S*GT$Y@MHs0NGyONtF1bt5}5B<T9#?DGyd3c`_
zgRt@A<N0AHCeOZRqs`ellEE6Kzxdj6_tEI-Pl<`+Egoyc4}rqbJviZ?AvXGM1*$@S
zawP^5WC7IQT*!Kd#4wX;cfLVv+Wv|-@Bz8yG&i4r;#*_?hC!WD`N-!ZE(`H>TUp4?
z7RNt&qxe1B9U2?A$b-JSA6z&_8<d`?pZBe35SCX#oX&lJX>-v>#taS%+vZ70t_Nh7
zy_F~GxGzHWUtBR;(LzpICCoBv%k^!=ZC!>_IMdL7LeORrS9wDEgK7reNdo=A<Q3Aw
zeIDlBuC1|%CvyQD5Dbg)Uz_$2n*wkV+8<7Wf;J=uWTY5?ap%#*cFZddO%xKx$t6(R
zn!y|Q77&^E@L7DdK}Pr)QjRCOh)0AJ1QR}Fe2*czXnCi_oT1*5^L{~PUVKBjId5k<
zndZ_E`;jAil!;jCMMby}fx1+ZnfpC04Q|ex|0n69lq@Ak@6LchF8(hQ8VTV4xxIEn
zdGk~Y8}@1u{P<qrbz+~lyX0&8wIY=SY?_D*EaxSOe)ZvdOM(T-X6N?;S8&UqZ@AKP
zPpa$H@BEVg*1lxVPgM|sy+OOvu4UsFCip+CclLf}WG=ez7zB4h(rgD+y6dIt=_16t
z^0p0PVd3^=KMh_hAYVHFlP>_Lru|cPiJNJXG{AA>j~|T%W(C=uK~EZdR@u}<!A?%<
zt9OE>A|(p|b_PPHN>;oS3s%d3<}QA6FF+&}XnIZ}GVsnV{{B_!$ZIGzV<_^v=2RZD
zfUO3_4m;1*(D|=zeY^$5abMG<*@Yv;ZXm8<ajt`7w1D$X*wlC<r)xpa>jJKiliEF#
zTnFJ?iv`@@3p5y$+)rFMe--c?bSiF6^1Kh?h7_VWw&Z~+ltd7UzmWF;#VgKxN{E+F
zVTwztkdG&drxGva^_6XcfVwcLa40Qm4G56yr8a7FE5K*ZyC`mudE9A`?XU74TYTY#
zSk<kQwN_p&!(J6vg)D-M`U1U{Xt6}Rt|g0lDkt9+cv4nNaR(&8fblE`_AmPnZBW(s
z=>prgm0E9$^J4@XJLLPPgq}}Xyev4e<I=7Q575mFNcbACi9f!Y&0a<W%9!f9+KU(u
z0y<q)Qe#+@j1OvK$m`yE$f#30gcI{_$p>W#efAq-G1%;J>Tbao8^H;T-~=IU*0*s3
zAlX4bCIKu-oR^NQM-#HpSpz<bBysHEMFLs+$&?hD?}|4fe!^AZ0YsR&6uBI9;aiY&
zsa@2bwKOD{$i71Ku!$BKjmFr-0JWv6h}dn**yY=?7}Y_0gqRCX+J0M_BP+BKqrQ)m
zFnNi_T1ze9UBTN5=j8>%2P8ehb;cQREET>wmJeX0_Gn4xYQd9ipog_E-4UU~`Se!O
z6`=O2KI1CIA%ACkL1aYA0|!(81>vR%?)r)S58O&9WbMCxvRH0jwe07wDsFB-#A;zV
zwNI}wAohT6>sszWNFH`jvU?TLLj_%Wef))sslC-nJd7fX+)+iQWomC3jHO|1)8*UJ
z`A%kdj%5&RGegEQi7odNSF<Qc`E+ULP7n~GE+7d=)!V|XNjfJnsYc4|%L?#Ka=HoI
z@;;8oQqy(rwSs2*wIf?9mJDg6JX0h$I<hxqDt5(%NYsw~kL$J$>f2MUYaD36+BZhj
zVc&2y?bmTpY9FrSI3gGlUNSZNpw6dCJ*+#0^M$hRe#O?I;E@UWBW0}B8^UrC=1yq+
zq}=J&!8(j`)0LC9<OYS5n6ezUodUaZK4wRGwNgbho6%ji%I@sSezvM3T-7GIYJ%-1
zoE?~5yNTuy7pnDL_d`$=Z*~ECUNU30JPqTc?Ay&12`{0`v@hOu$FIg|=x=eJQ-*TK
zzEYfD1iQ-?MIK93(a-k_u;fSOhjr5^GX#pHe)c2I2dM-~9S}z4s}&5B7K!%*Wv&+P
zvgwTu{Eq-vHSZoAV1262x;L2r9f7NYAdBWf#F3<(I3Bp?VzQ=BgH#P*ZBr+jjDgy_
zpOxE7i`#2g+GjBxwbwhkR|bNz7vOg~xmE57T$DSkySK#FCCed>A%IT+&pa;NJH&|?
zJP;y*+#^BNd-C>n3&LWxkVNJKHJy7(E&ft8X_$$-?0IW0^_NCP&Ri}^C-{FCc85<W
zPh8dpoKM5YRU_97c8vBxyh0bH@O7Xos{fG)Qf775P7xo&>c!FXyidQM*8mA#pjbCi
zB&h&wfxuP9XjzUMLu1*O{6-V=0@Bt`r^dskqG{Fz-rNxYU!J*88+~k^F7oqr4Cl6P
zp1Se+AU<L!V&xx8*CYTIM-%wM$PYvEhP2}Y426($daqhSKTho2M{Q{64;Tk72#e4H
zWrccL2O)k7VOIRSoH>3V(hO}OeHy#A@h}xXUiBJ(b_yT$fJ^tN)!mOG6T_<gK8guv
zWP9mhr+yc1vI8E>nD?C6`U_kk4uAA>;#?%vDC$&iu?t%$aGIj(oBGl>^{N9{r)lku
z=@V)u#x`-g9``)(uRouP#HC3AbVwCa{G_n&;wabtu+*O38INW*OsyaL>7nZRFS~VO
zc$7SZ?&{;Old~a_ufEoH?1RCy#dRDc$H^_4bYm|@Xtfw49p@TbuZ)oe`3TCGe%HK(
z1CO*-#GP=+{(%Y0mnFW86Q0p@xp6rfEX&IirOcHgeIefGR3`NKg64*#MdzZK`VtnR
zG8!)3e@WU)1*v;XYWYS&LtM>-Qg*VwdF3O)M*z6F{hP9zAR6!~-~meWHR#+B0`eDu
z4<+Q0EXOQi6JtR0Ugg4fv$+1i_vd-=8as`lzEUzWln|++dD&(4n2h?s)0xN40WkJ&
zu@0-dF;RaS@w*|;;E8PV%ARI=yr-ZoMUZD;=@~^WFJA6vk7n(*derp0z+cV6DyFy6
z!y}}{@VRneDX+5hBM|ysq*O9_E~reST1GhnFNK;vl?0ZoCqEpT5zq6xoP}pykR;pa
z61yOcU9xVsbP23LaDJY-U7UZ(Py^j_V~*#j!s%$B^TW3&_~}NXy@hwTyZg?4rM^18
zV(N`shOWtm|0E+J#s!S3az%SE+h<J4?K4%2Llsl6V15OH%-qUc{Eg8MH@`GieGzqd
z$2?R0{e#=Whw8fY>R;tGcRu82-LLs^z6MfJ`xjcn(YJ>3syqI*R@le}K3jLp$WhFz
zJ^)&;BGzy#y<Vr!O1+}NT+B{itkGep!DhBG*0Rw#(Zb%V>8#kvqYq6F(whP*noCg4
z;a>JZ6{oym9<R?7hi1r;D+X<`=*u#q)L9RTuEG$Vb0aUQ09KkbAfDr;I7=^C8xXX@
zK)F#0`4z3vVjL&MFb5i5)xz@n(cDX}N<w(_XOa|WT~6OuF1}5{1%}*y2XO$Wz6xS1
z785z$c=t=6$gzyfv;iN6)wxwG#iI<X6v{onfq?h|1zTJ3uF=~UVZ3lmCb-!mg$bTq
zuJ2e~5az4pZ_`jv6mNUu(iTm;YpRZdW9#CdpJ7%gxh#q*G9;4;SIwL&#+%sKF=sX_
z-qpYD_+Ibn#QEsrfwiYs&<PaqPC6t^MxqA<JjF>c$ng|d=mq&;EJDbWd`G-1Bws!>
zCMY-|OymS8(sujt;Mrc~vq_9Pu?YXZ=U<UDk|U&<lR}91$AttT`aji)i;au5eC(T-
z=6C6pB+Lt3V3!-Mlqf=Sx6R+VT#rVP!QO+9>Eh>`Ie?iuaqT(*f#%13@(&7$4^%SD
zi(?^Pk<0nxi?uj;2vLdOMptx&HQ)xWMOQ0g(Q!%DXc7|6A+8II3ovEmFCp~)58keM
zmCr3kj@2saK?vvJ;%#wf{gX%ZAkx>s(g6dbC1+W`^K#j!JW-&ip8<c3fN#G}nZ_kI
zB7o+)%n(v8c$xc1JGnONWvVoI7A#Rl13?wftb4!QK8&?;NSdz76JHkP1H{TOeREYQ
zb6MzFX;E1W3%Cy2ual9lh1t_y_}0R{9lq=hd9iz#L_Eu}${w3tFX1r{sb7&mNxX6m
zn(CPEkKp&6^%I`q*VQ-}I;A<xrg~gC2o8{4f)Dfp-o!V?W_Yb;=s(sNM3N(H1`3QH
zT@nXzOP^imXQyJTt9|r;)^QSi*eB^w8a87?OKFp-{r+#QCjayt?pS8|Shm^m-cL6=
zPiI^^L>2(G5-eFDT;LObt#31^X@@?DQ~2`D8{#cph`(RRZrI&UZ?GrHqug3#u87GW
z#YzEBIY5%wQi(Y~Z11hQSzPI?OvO3;b$0z~GqmKS>XnAj{%@cqg=z_b?7|7UL|=O)
zJD&i4%_^Y#`YZ^GOIwMRTRQkEYHQ|VS3e&4qL={^P^`U|D*?IoX{yL{*hQdY6DK8$
zu=yQi|LAt*)7z+XF9J!e4_zTLAY!#@ttbnW&jQyP)v--3tOrCrcs(X(AC5Oa0Xn~`
zXqzLSOa^i=MIYwYr>fO`XKH|N|CZ(lKQjMX#`QHFcKgDoeY)gQ;>RWRpUp#_$PeLy
zc<-Px!)_7kZ@H%~J)pna<OMvX&b}o`X+LH4FTT2t`;2fCOU5emQd=T0r=iwx=m<of
zPQYjq*du?RH6KE%?fS`dM-PaXDT`3*Zc}hAfl`AxR)2VN|L8n@5Qh;Qw-z#ZAQ%I3
zzccmS6}8TLqTOvm0!4<-f-o$8*Jj7(X1(x=Iok18R&}Wd?yi_WKR@%T9FDKHz*L20
zxPJnuLz}K8^9W@38k<aBnt_bRXF(HI1JzWxc=KPlCl&J$`ri786}!&=mmr~tJA}$K
z;?mi-Kx2pyF!-#SRoJKT2Y22xI|ze05)KdBJd1+f96<_xSnyu@n=?D;7wG#$8)rFd
zT%UQf1Bv@6_nmRx=_YsBhMwra?<f}_|9)U?cgZKlK-Sy!gF8QhUiBPb_5w|wC?RY5
z^)z<UH#WEm{{dv80=FYO*wp*2it_e_b3iGZxOH2?*weeK=)}n7mfl#Kmbu7CM2^K{
zMj3BZe(ejN4n;n+?Ao8(plj$=a*zG<r%w+4Y%V^pasKb=zk|JB-@m;2@4wXh>rj@w
zsf9W}CU?W2C|jGUx5`LET{%_c!d!)nu^X2IHevw7f`?ae=pLM3dp(`sveg}P-OA(t
zqw76`nrg#F>zy7-3RR?rjx-}pkQSOCq6SpD8W0c=G@t?sXy{c4NK;S)(nP_~Q4~W5
zK?y}V8j6An8c?K4PM-HYGw1vB{mx7>v-f0@eckI?OQpdKy|{|&2oin}JEXhl%d+5j
zrX)d&5*7BYoj$4L@OQv~z>__QJ<|CkO6|Drx<{fsdc=cU3>Kcv`Bzwf!T9`h+&L{#
z$u>f0%QtWH3uz$02Rl?)`_<Tc9QV*>rH+T8&F?Oh&gUPn?o)92XZxb=qa@4H`;!1o
zjNh4P)+y>V_|p7p;P`<|lPMN4_Ucf{x6*xNFs@8|E6fAp)Vn_NQPqGOwnx>CQlU=U
zXU4>z#`=f&CTue9rE+_k?Gz2brW>8xulHlQmU&cdrEcV;A&UZ&&SOP?4EeEgN9n%T
zEbr#R_b5?09wCqcfIaJJVQW=f^u(2PCO$`Q>&e+BMURV78p&rTV?{R0k7sb2&F6}R
zUYodJ&m23RxuD><gFnlDWl`^;XsmBEOOSPmR9myzNScq={8cwBdJ!0JkA=Q?nUs6p
zq<<D|`(sAY$2d`pcGU2#Bn|1;2~cWn3O?S0^Hhy{r+)a!4xqdrFk;>h)_A*{Gq}IW
zU-eul&wEi%Hnr`8;eXkCqnc_p)e(mQ5aSS^O4~_8tAT9T-4*-ps3YVJyZVnCVRBOX
z=)!rw^5SWOwRx(w=GH=%Q`P5suulptn&0)O!51YS-Kvv+mhpt7ZUs_`>97q6VxfGr
zBkH>P_HVlxx$N3UHoM!`vrRwwo*opi7_ZtkseId#E27YPTrhKNbGVNq@)O&+V1MeU
zLF4!5&1t7hyt$od^@=;_%G~vt+D-s!L!h81nZDxQS{$E&2WeHG0XG>EB}yQ!qFWY6
ziNcU6Qr{&QdljQ9LB556m@h$ebJ0}3j)2<Ugh6^T3JR0FZUZDYm}Iven#lt<2?K#L
zS!v<EQGhD<NqrQOCMApm6&0~K;2s3{HUJHEi-W@H6)k7Wq<;DyhaJpoHR<Fwo462M
zCJmLn@?W!w!JFgVqIqjIg~b0v>~o9(c)#zpY4IoG_eEZ1rlRF)!~nCQqm+HL{~)+?
zuN~@&QUIDv!qR6Re!SVI!WSM5_#{uHPx`(|fpig$YbT;+;q^WJ0GYxthHlPCF~35M
z=ZV63d2br#>>nN(OBYb{D6*=4{E`cs60cQPcrb%8FQ2x<yRROcPU=X%x=cafn=+2S
zSZ<f-_s!CXG{|xLa7BG{9AT7LXa`6NiFGk;Z5Ts+7p|1#PS}awezlbyf^W}l4nXK6
z+n;cJ_4^?^wan-rS0?Ox#qD8!naMvP&C2EZyh&t|+RM3greBFnKdVcxU5j`xmY>G=
z(YB|5=v2n8c9_77vMFNn@f8K|oy^}VHoCS$nGgOHt9<k|{?+?3>(!qUeC4R@#&Fs>
z+$`!@tow<p4~Fx$|CA9>6~qfJM{`Pp%56?ma2y8O?Dy#HQk@agr=PqUsc>Dda6UJ0
zJCHc={MPz2m4^qMyKP5n9;`qAGf~mtnmpR@sy^5=@|pXh?bxfmGnKymW#=~DjUhVg
zUr<obNeH!%MZwvXu_vB;ejFO<Jo2}idRIMyJ$bg*HKh8^o98}<`z9C;qSX&kEAHBA
zlS2>w);a!Lwzuz_e398uPrq9ku=v#V&4<4YW|10KLi?sZnO8Nmpsv{7P@A3;-)Q=y
zv+U}WGX1qGqv^xls_SJEqAZ7vS6^eQT>h-`Y8tij$I$$pS%V*Hs7`8Jx6-NZ%=5wH
zF^E4u-kF@QhHH03VSmgdn`R!0_H1bUPv~%To^uUjQqF*+&%O(vPnm&V9D6nPWz6-f
z+vgpJ;-@S1r+xuA^e;~jOivM&$QwaAZ3Th=qU3=3<2mm889ZTt1%HT>=v1YehTi!v
zdR6$rYNLzilGc(<z(IienOSJ$cCu-jKve2pp5(So?DX>QRA_P0Yge9{m`0;>$kR@3
zB62ku84-6&e>QcqGw>V=1!1^J($Q5tmi=NnUGF(g(*BWFfQymnAnTo^tl_UCJ@y#)
zC3Dq(R2U>xAdUK;q(SAX0m&>SRN>a(-Jc0Zb|>zhj@6E(R(-vfP>i_(b(OHV!V7%O
z0IT&}l$x6E*8fz!fNZ)bRy+RnUX+D7$DJzo_Nx^X*3_yQNq~qZi1t#S8~C{{jEq0G
z!RMA~xE=f@+W(Glx1s($?l8RQfT5qR3H;oWY7Ing9v~Rl*!x8C%Zs{fbw826n{!)-
zSA0iI$Mug#+U<yD3+Q03$%yQ|JL7Jj+P-#~bPPfdkYmPVpMSk+)px17--=i0+#?&U
zU`P>z0@tBZu%86drLYwEAyNv`pA7+fnW=8EEFk{uXx^;dg#({;jq_L(nMBH=3Fn)A
z7h05YhL-ayube6@g43m-Q8Me9@2G6EMwJm3RGKh)@5k<g$YnX0#Ad74<P*#>JsQl4
zJcuzNf<tb`%iQuMpwE*p=EiZ}fW*ogKDlxCo}%~v&v_5@;HIQa=M?M8_V5%Cvk$w_
z%N0e7xU!=m&TZdKuXme9e+bT<zu3#CUv2V-pm~{h9<;mJjzlHBvD};Q_T~yzK3X%x
z$WlNeUzTwqF?Pt&NPU+81(68wV>aG0A9;B6mD<yFvQBAbjiZ})?J>bDh|KWjm`Q9D
z;1qFNYKOF@`nVr+kb7pbH;&kTcIV&niz_4gW+pad)B7dAAQC7WyAcq6{UVm6b3M~~
zVGM3Y!K{+N;W3yMyuE-dNC*c)FHx)(PF3LVY}4$-4=bEBH|@(52#Ll_&_MhRp$g+J
zk&B^%qG%yP7zaWDea343O}OJv({U;kqBe?if4>k!<PJp`(|UWnEV7#k^v8sYQ$#d7
z#D>`*2^KV*>>*SudP>Pq&EeoLf-tNJQ$qqhW$LwzIj^;zyTk@Vu;6DxnDq@FoSCqz
zC&n=IqU+%Q*!P&AII8L<7$7@eUtlZa+C_qG5<+?slA`0YXc+%Zv<2KunE;p*&_rwe
zZW;dRZ?TBXi#Hr8UEqL*1^#{<>H{n31M&QsaS0s(kw>kEh`?1jftzG1AA`w%`%H9Q
zkBf3*G(4Nf;tT+z^6b_miZK(@moyVLE<XE;RnZb?Z#Uv#6K^;pkB=&ISQz4AD93sz
za#R6*gAKuw0e|K#hbGOE9yxfo#A$mG-OaeIS<E*C`T&s<puf+b9Ouo@y0WBpxZy&q
z03wMX38^K9Z+i7DM!FWJpJb#bnkDiIrR(F<Esla-68RVCm_3$x=J*}1rDKr-MD)b(
zv3Z_th|I8%=}bw*n>^(VkrI7Hf)@64BZ@T(IN&fWHs}x_Z^VH3Q+(>j@1@*GY3i}}
zz=e4*4Ke#Ogbak&n?zqUYJQME7^x$k8%6aeUKTD)FdaqjD-sgQ)WZOPeNVy}X94?!
zIEN^Vb7n%}dbqd!?UKcV;<4(Z@**3^gyTc98BR#aeOjPzS(F+PPG~Py3D9CMs*-Q2
z1N7^Zr!e()q2qAj$D#cEjD#Cq3SDx6Zq*pN1Ejj`zAiKTzDrb{4}PWS(7kb?L_PH^
zR)W#DdsSQa-eo&=c@yP8VeyA$T?_N%59OvW=7tx`dHEe2RmsE2-*%mi=L*vPU6*v4
zRUpn`$_{4~9XklU7QQ=nNM`s!PG`=AAj}oI^d2is{fQVBt6eanW$3BnWdA^m9A|tw
z+iX~9hlu*V-*cf+$IR^f&$&k?PpAg7Dkq4K^49_dL?mhjBH+N?y@VjmI#tM~_-_j2
z?JNqCbMV%t$eGQ&XZMVxqlGqrtMDbPr5U)V2Gh<+dU3yq69LOo85fzwqU-MGLH%tO
zC$bjs3MyKLeNB&%uG!rLP<(76jB;q3#G6T%I}a3xuLl2RLNU09IDvw4OUh><lljvo
z!iadbS@_Ctlj>4lG{H19=~0w<I0}gVCl5Bp=WQ}EsVs}aIvAE*+B|A=!!p)4nG1rI
z#`)QkY)xN175PnvpeUe|_`GWuL2eWf77HGuVBD-raA8);bU-IZbbbkT<GS_Dh5e_5
ztx))2janF#0up2&RDDnp-C5Kv^5oSqL4o1?!{UY!b*cHerI+8ubh!wwvO%NHvI$f$
z3~wn-69(9PSUgA^fJ<=SamyMYLrSjOa-PN(Wpq9y{g2dFpadghU+6K2c``1-#-b)^
z59?hpg7-z{lD*H(R{mDzI@_w;f+86g{m*BJ3<{&VfU4yndyu!?CtQX*2=jq~UaF|z
zopO9Wd5`2wJn^w=C)j38%v1CWY6xfa`3&kOP<<{aa;&sua}bry&Xqk|6IDZ3ZLaYg
zq^tiBIpm5dpurr?qsLuE&xfAgbJZ}|fgA4B5S|rjO4JF3+x+G(U6U$NA+<gk^iOkj
zmJ;>#`gIP?bUU|t=luE{i+b1mBB!Z(l0?JDwt7#ulnZVRzWEJU^9KKCp_ir_$P$f~
zaRx`d-GYBSxEkJgtGUs;wSg0{<1M$-7;V^ePb5Fvs!1`gF|oNR_(x-^VSdz3Q>NO>
zG{cuIB~3Z`FJ0VTKA0+cxbrfl?<K9-Gb3MgorLfq!9A$2JP7c-12Vk?@K15kRv{VP
zb+9_M#@!wh%FueU)BM!CiS~uA?Trb-M+-#f?~V9AIxe$8hM(c;by>hEHuNO<>F?@`
z&6c9g0@}Z1mAN&Usb?ZHe6PPYpDCJh7s<{`!~+#wN44t%8gDdkgv}{<0oM%lBoWgi
zYEEbHc2Pyx4ActXXQ1l`s7tZgC|7$%8B<Db74;p!WGP9_5S2#>b}JyvFcp+cMD;nK
z?-O~SooS)v@NlZ>$K{^$El#y5Ww%tu1x_^tzN5VkZ-w!ZY`zhEo2WKFb1uKW?y+`M
zpr-W7a!%eaz3O|S45-Idr3aUXn^2l~#4JPeAD;g?HK44dse08;YdA~;0EX$oI+RdG
zYor?!tV}x+EekrthM-A@`Mp%_=pb)(*aiMzEDp-1^Y%`H74gj;AoM{Zpo#_mqaeiy
z*P2eZEYTqz%HYFH@laf-G6DSJN85vbTYSIkoqb_3``$HvQ+&}4%rNrk@4^l;!7fxi
z<9!fIT0+tNLx-ud_ndC#IzjGlU=CgC{a){dq{9FzxZ7MALIdk!p(VfNlv!`SC(7)V
zp69&DfR8UJP14ne*$SQJu{+FS3u-I_gjt>w%b7#(0Fk!$fFFacS!9e=ln;vx77&Y)
zro3U%-UAHAm1tzGeT$$+=Uq8|Q5J7qA?$5+FY<kFTc7(7%ty5+TGQFyY8K5g5*|qv
zksDP0MZ9+ypL4$lt3MuLI35#&1S%|YZt2JR<1n8J@M{P7gt3Bq?Aj@pS1SS%vOG!;
z<OJt%ayQEN=lZ?XqDx5Qd5XSTYSIyvRKE8Fs0*NUZ(8dz*rcSUxdY4JO5k^u;-Bji
z*?4WpCS!f*ut<lN0TytPX6IK6eo5tPq9M)~FoUIzK9p=1DM^VLOL^1&fO9+VkfN6G
zd4_`AENoQgVSuk3MnK?QkKF!h0jX7i*|K9vJV?DLA-SN@tK_Oj0mI9)S4Ra@wIPzZ
zha{r}9~Og<T!g(bLn7Q$mj!@y$<laF*qIaB*8tUX_UH#}$@d;35f@_(o**Ph7b0j!
zXtPR51SpIJy2g@Q3X(QwqOTdxTsSip5@};$09f@N6bKUcp^3i`IwZo4(zRj+zhj2C
z22Z&>Q=gkYq$NM+BugR6txaKijR9#IlE~-cE{Pm+H+|EpR$8O9O`6<utOe*OL$+wb
znzBDmDpXE&ZAtvR0LB2XR;Q&#AXUq)ek2*}|4A+xBelr|VK}!Kz|)%HkvDVay=L+w
zZ5n#BXV+AmDX<H4ScP_O-E$#LuM;&ixsh@`t7y63o*Cf=g3Dr`MQc<~H;O3j6}$CM
z_(cs1NKZ!1Yp)O<1js|YYyC9;i1R~D6l}%Y>2C`IF%$>PzM{IA=kGHvY4cy2er^9X
z^oj5OSVMq`s%FeZoHx*Hnb72YQoL&<XCo+WzOO(b4xl0bvARt>p7#6(@l}7~TED`h
z4LLMJM}rASwb5k|>TXdS@rvuee-nVFpe?so;l+x=K{TNjT6NNaa%eZMcAi{OMNs}b
zOl`VkacoFh8jVQ>%=)$u((FT^*TD#qHh9EThG4^qlwQgBy(pVvvW6<S>>(>jn_m&M
zK`|lTcy16LkfVTI@!#rr3l@+z(UvyHOH+?aAG=o^*ZcEsc}WvTrv>)o__~DX7sf}@
zEUJUndan9}j)v%46!3|~pFb+n%Js=pj}LcL51n6?w^;d}|3aw9=C<&OFXXBtvm)4V
z8)OMlu;}%jju$(Tl@3={H9xzHnV$0x!T7L|d30F0f4v50&FG-}q0dZ_Y)ldxYSTAc
zk^Iv5@t?x=-xrkD4yOFEm08d2{Nr%Sk$7R<8IylK+?oI3`tF<G=VksjG%-We{^r5{
z`aJ$iwOaRod&cSWUvj!*fXs%)`rqq!HZJIHaKbpJL*8!OPH*wzY(#zBh`z8%DA|aY
zarAw>nfmx_;^$2Tt4*ruma52R7RT|DTk);Zgeg|-c@XJlDDe%SjA6u9sf=v;1$ULt
zTHQa?n_L8U7_VOkAfY@Gp_HJzx<NOr-nIev6+c0(82A2>c(38@_eyhoqT<Tl?xHfc
zTkBgseQ!a$m3eVWu<tMCb_lU!AbY$1a`W5G3j#L{CuZ+O`L+|<wzPcn!KhjQ6Ghqe
z&d@u|M%}Gxj}tXFQ2g*ZmM^<&7XT4hglHH_+A@zgYaWl1GKm$lpR-IB(Kz3cCjc0x
zNf{Ig&MyrqTHnv|v%K%{#WqKr^Cou7f#V|fK-W(-#(?=rK$8#JVrN|?t?9=3gUVmO
zf-?%n-`|@$j3yX3i~*8&b=ltBO?ftGbL`ZVN%60}t*Nh`C-sB>lAS?2L!V!jdL&d2
z#l3i}4)1C^5V+r&{4V#v&c9h&-31li1t4ImdNvNC3vAZE1hLNVhnRX|U#{xTwVcH&
z)v08>K&9@}*nMgnuwR=JIqc98R!tcqeR>ngflIq@lIJ?_a?w$vLhE##Ri@5U_wDO*
zhc3?b*^?+CD+cT@(4ADX!x|Rn&-={C^%);T8wr8fM^@kV9o~DdZC}!v0?8>F+2l@^
z_IeZ2;lbR>N${=#Jc>I>i~_lF^dtyz;?d;3<h<`Y36FZPuVo)eA!)Ml=H(XEMQy}2
zL_W+NgtLekuWglz^fF`Q+@3^w%A6Hz`uZ@y1bG)HqnJkkD`eCa()!{zlOO8@7o+q#
z!#XZW*Z*-SsTO_<)wVm-tx#*HJs_F(GOa-3Y4JT~tkB6HB;HHlpKu0C;s>;?|Dk4n
zrk3>}B?2KS7g=z%8&_jjc=P~9#p`j{5q$v)H2IZv%4V7$0d;fPug&O|yZ-89{%a1x
zGA=5_caKB=8YqFg=hUxRWrc{hJ-$?)ns6p+>5$o7sjIARJ{67MMK;k~m*;-J0>9Dy
zfdw57di$Z~XP#~YSfwaOjz5o2E-aw1-u>Eu)!}nD#^O%DPdE41J`%F1aph!`RtBjV
ztX17OX3k#CZPD}6A8;OgU9P2vu2+Xvm~vh&BGonzSR}YodSL=+QY1q)65t6OnX!w!
zY|+1Wvn%Rw-IlGB%eRLg9Pj?!ijBVY&UsditVRCvEd0~0wMR<N69u&g;orM5tR?MT
z70#3!=gi5{>jeR;4W1H^bi)S_GS~xd7*O4<)EuBa<DGC~>61?LN~))v3ja!5-mnLx
z4Ih(obTwmJu`sEDpCYl)9Bi*~AgBpkE7xGYgbHSXf@MkBA5{oQ(XHmw9=7$5Efd8U
z5Uam8zj`;u+;e$yjHC9ArUmT&<2Cg-^h96VE4wo!Thf30;f8oJZS=45+evHD&VL8=
zYA;fttfk?{2`0C`m6=Kf*3T51?8LI9k%qs%i;Bb5>6@M@#}oGH>m=%G>}@Xmx&{i8
z5gD^fN$OK^(1fdT#^cfRW7BSRZG~-ILXG?M@U5;pbHuyYS%@TELtv-frpSTD!ZM9s
zeMyc~fPkCS5>4k~sOgmiH*bAWz`di@56dI-hhc_=W~RI7UyVB4;eo!<WRc^HIe&S+
z@UOU78kvGnT4Vxqd#mQOLbf3g1_y)((}yVDarHs7vyxq)P~W4TM0biD!vXEIJa9-x
ze*C14WerC?&qC@u$-07esB+GjW_5;F?x=X8z@1G`-~bdb&SO%9)L9qW!36HCgF8|s
z@Zn;SUU2SjCaQx1#YV|n#9+wF{|#jcAJ+739dd@U`2NgZqldnO1!L4@PP==Ubb<c3
ze8tN65-{(8oZ~)g87|2e=0ugN>C=J`WjsMtY(%VY>y*s1O$Km<lrF{3cmN?V=)1Cf
zfaGr=`(?K%j(Nb*+$&vUBH?f<C=XlOt`^nWZSt;FYq6wOY+3!1$@<Gvw{s3;uX?(f
z25qLtM3mtVdAR>xICd&pyhEm{PF%YwY9N77Co>pUMo^n1-VGUfA_McY;aNL{OXmEE
zzcHM;UpgvD!<lti$!gfZ<H+d;qa&pk<-e(3<uwjh)Dk#F01KagHH`1gDz~=scgVg~
zQ1I^Z)4+KZGt12p;r-baPM!Xa^{=R<@axYm7+0KaJ>poCBT{-!_p+;ps$+e_$I7cS
zvaYj7oFZ$ot3o?3pZ})l^ycr`gpl>iB$%P|cXl>C!B~nU(Cpl$r>7WyBfx8-#JSgT
zv?f;y>2;{tMcY27_AxB*g06(?P?vf|iB+Kg?<1}s8$@rE-3Scu-Z?w^VYESQHNbq*
zBiZb_J#IOyQ(`=bdTZLl9~qT!=z1o^R`@XT^v53KO<XkAD+||)YpuJ|eD0?YRD|;x
z_A3;z+Mc;k)Vz2iN$a(LMo7<`Lry^S3co}8gk-E#bqz1@$_(MebZQabvH~AzMST`6
zzCLMnHCp5~_K*&@=<fI>TJgE$u9t@l`2JCN2NDS5j}e|+e?ee@_#9sgNk=@j(j6~M
z_ivK#kdwAL;G>)IUp}lqZ#40^y7&c4hU)UtQ6<|bQdmb=m(bCg%lCb#8444<?N7U9
zpkBI!FdnVUAcmy7QNCXy4X)!$5e9%XA!?8167Fo`RCS8*2=1^%nvEgtSW)Qptv(OY
z#IP!RjIrbr%;fyF{Li~y=KCg@328Q3=R44iUaeBgE@p<4g}l%|p?d2~P8YeX5F|Fc
z;pF$|#EUw943UU?3m!zMWY#Gtp+a#h01P1+<9Fhkcru20)JTh-A6Yzq!#@b|^u%3X
z&wW$l(FUFN?<FJ~|M)uLADoemPe~)aahBv3m&9Dl(xoqlo=HYlhr10XyC?D;g|2b|
zWr0)@_TtPt#hzj{*3{)o%{Pi6g8VnAyiO_k(_c+O7%&rZk{wtOb2O|?q=g)Rn5!R1
z2<uQZSw#pH2{Uk>UAm8gvX`Ftd||lk3vI|3d!yLVyF?KhB_@o57{gJ}b(B$6z2t}_
za#7kwJFnqdX<-oqpy(pFmffsp1z-Hfts7?sQ&emipkqtj${gP-*9wHDzdOC%R&X{8
zstTR?aRFgC*8L`^CgGwYYl$M|x_87D<rK14nXoUKY32VcYRW_u`JmNU!ovm$oV%`T
zc75ZExNr;nn2Jq>0VAzxKnl3g-FTKAg$Yw=2d38yS=B8!KOhQ(%fc+itxRtX<vyCd
z*8|gjSGAf=M?{Z_X@(PMcW>e59LSiPD=6arfHT{}amYhQ$i!I9(HLRVJ2uRZLA4@H
zVghjHnl?ESb1JdmOq;R^kea^xA@uW(U`Ut3Nsn7=xu181?m!L%SKmr|(UETEn{aio
zHC7=mW3_g_ARJGMC9TL8K$f!XK`j%cgaCFi4}~Iv<QOF)Uv2ii{dXDEyaU4}B?#wH
z_W4p2nDHTa#wp$s*lr6}*zD)fE2iOFAxkr1$;PWB)7syt5K6o!8G&7(lf+W^rjYUE
zgpfotXge~DZWhZ`VbNO|^R1rjR)I5Ziq|V$DNu8pR+TLCA^BK$T)e1PoBBwbhS9#t
z{I-Koi{#^`?hJEHopx<Y3t^AAWB6A153o8Atw_e};lYAS;P@ZWYGk@<BBg4+U6W>k
zBY<$kXw9bfB#RgsF%Z4a0&%><3fg?S2j<7rzlx8;=RqzUZ$Ginaq`byS9}xV2UrQ9
zm;}(d2W|khJuV!}#bGT9np6RbCXN$>aRw9;ql5si#JNcg2Sx*i+DjBUvW0?k=Zo+d
zcjvdMY6+$QAXpAR#ohcZKANf@S9y(Y52e7U?V7k~6dCXgpsP`$&)Qi6O<?2a(a@#n
z;8?3exbBOR)+$TUH;OwkRL~*3rHeZVk<uM%2~kn8JVc0*0zijTy8~WFhq!m%8L?Jh
z0%V<S!XoIgmfSY4b$nl(Bgsr|4Ss0^(0|sI!SzY0Cpu7K&GapGa9}tt`nEz0It&bH
zYFFC?0lpxfM2aR09L05|Vq-K2fWQ*KL!cNww=T#6_;6j80TlESAWpJY!AIQ=z~^`Y
zkr7~E2{^aR=~ATt2!KNNI!2O=5nclLnZ1S))O|}7Bq2t{mr`)1^H3P~11RUzk4HlL
z3cTLYEP+OyccBq@n{t>p=_o-ZN`+u_?|OfC!BIc#+W;>xtUMY~ZVjh_A-JQ3uPwB&
zQC9BOPC9@r%}PMuM$?y~=-Vw-4jfuKCX40nazwd2w^HmmTIe2)Pqc~Lje5u*1E<>>
ztJ{zQIwo|YBC@O|B)gyOo;ZX(8l--597?$@2^r&mH^fy%x;OoC>mqO3U^nBCl>RlH
z0qrb1XL1L(;JJ?(CC^=I=%Fa8*zh`oRhqy`<rK}ZPPn#Au~#%7(l*4%3P9Sz^*J4!
z;&&0(JD)^QcV0)U_E11pO>bhYl>xAVO_bI0sly#a`LHM`<>cAd@Ak2X0$+|p{+){C
zXa3CUNaY&{WJmoj9u${qb<cyUT(|i5I$C9%@+2afUnRQsIz`ks3Pl3(Vq*r4tc0aH
z|D{GF$auUyMKf{8xb8$mf0v5>I~5!Sg&#uE0kv$0xLvCyI}jfLme-FOTPEfhQOsWV
zYLcV3Ufae9$EayAZz(X9&*@iM*vY9T=m4OrOo)Wlh-K#yM@E<7%qhGI#o8Fyo(7Rd
zxR;w48Nq}PpW0Jkg4WL*PK|!513F*){@?CE=rR*75u+X1Y4m(VafLIC2Y{dmE7$A~
z7ygVuy{(PcPsc%kv{?HC&*J@vBNwe4Jx|9U%Y)i4j~KnS(4_S$>Qc_CcPm;^&U!hR
z{sYf;^azK&KZpnNc7YIunD1QER;GovFJNQWt%*Dts@UUP868maL4b8iFz&;r=T>J^
zkA3}PMdJT(I~KgWJaEBE-y8r^FCO(=kN1ijPqeBTxNH&q+|C{fF<b#l0~CdClnAew
zeH7rqbhOs`ux40v5Ey`d=?e<RT>A$ADirV%1*_k2SY7+RZs!3;$r<(NH^uMac@!89
zeE9vD&*~I-m`mgW2nkSlReEA9U9!C=G)OM7k@RD}alYkKmY&(XNw6vUOw}>sDf?J`
z9h>feRQ)=|{?M~-wIZE$cioK7=)d&VZ;sTjE160Rk2&odrzJea5Sbq0jX%w_PnPdb
zIzEk8c++`9-y9dG=JmF<WcppFx}&~p*T?DiH|UN4a2as#6PX#5dhVHL_rdC1*UHo{
zcjKWOGh-j0NuHRQ_-9^u`VBK~X8Pl~nl|^z^%<2v(`g0MGm4+)-d7NJXBIR}<Gh`x
zbw6<{FZpfmMQhVb^`Cy6Q*{<gTKV$n=lZ8#u+MCf&#Q``*K|Msw)%V=m=RSdq5y#G
z78J${0D$^)P%Iz`NO0Ac8~}v$>aOAf+3JArWo3F{djguL=6E9ycax$4X+AAx@7Zdo
zK2mqFySmsqge_K`_oRBE>mGMG^7<B)cI4W8TctyWm*o3Q4zMe+@xnJnoqgLxXM=lM
zX9EVa_$=O)4aHk-81qm%KEKtke10BALg&dxfc{4E%qQf%tOkFKy!=u4^FGs;El*=4
zHr&o>-~Y1)qj3KvmhSX31P%2+e(sEsIFeJ5w>r+Z@A}7jtP3rZuWI*LJ;4*_F8f&b
zbVxCj@~m~=xNf#G8|*PTdfV1@Y%yB5ZjGXn#1aR3N5}N5<ar36OcmVM|H(@qC)GW(
zT`-6fC!7ZZ4|OK3xZI<X;hjC40Vjb4QU$`V-aTmWLsVAlWC757DxO*#|ENDYS=sb}
z>~vJ6)o7XlzgGGCBjMbks*!^IctI@6qsNKx|GBa+pl84!0K~nrPyhsl{=ZB9|N8=*
zdqXOq4&eX27m_w~8dtO@r0U-D-@U-f+ZNbV7j>qHY5Pz2R6prX$5|vx9;+$ty{B@z
z!o9bqq%RjQkd}X})~7#T|JwKI-rBN($AlPODcid8!6!ENRL{MudpcZ3d}901w!Y%y
zGw0g><-Gnc<`pphz_<JUxxR+VsYderyNAa^eO>c!{Qf@E*ZAV|TMC5p`uJ)3Y<r@R
z+WGz_u4qGB>i8qOmo;Dd^0fEGK6k8L9H3dGNS_ctusBqH`q}ySuj(&HmtE+4bfURo
zW$N<9`A_eg8-IOfczj2neBHD<-;<6x_2Ko)-;2zH2h&f!dA0syyzk_|hd0d|zgSUM
zIG9r{ueW|LX{4PR_>c3N8EgL^&TD4v*MFRs>DS#om<r1|M_-OApTmE>R}rkC&x%1R
zB4=ZTZ)c|v_6c_2013yX*#unt<{2e$M!83fTxt1SvU<bPTnfHRWj<AB)OY@_{@3#P
zG^4*u^XUZmfd#6isNX_{jndPFOgp`AUT3rI4#g+sTNYX<@m<ODPIzFsmYBrrGeOL~
zAX-OKJj<rU3WfU)v2xJT3t!BFG|%)3g?-(E3SVe@`Q;u3uBu}GAj_VB^bT%|Md$2p
zl@YS9<KxXd^@P6_`$!KF_?^#~wP#CiPsp0(;}1bfZYX6PQ#4|;W1tdsoXME-r)d8l
zm3EGD<|1gj`^TPYTM8yfy7>!s)6)TJA`dal1qZ~lR*^Ab9fL|a5>>NZ(S3S`EAbD)
zqLviz=Pi}QJkVdWc?BTV5IK1|_T~!TeFTrykDU+x8NC?KOL&=A45$L%OaxcznCP7{
zS>AjXwJNOjvZqq2Itw9i1bN1vUyccwA#<L;g1~i(@en0DVG0O-<P4aB5u=lOWrfPw
z=8z-miM^swfDDGHVCcagT>RT&5#GFKREq99w;{mkXFS3Ehb=sMrLcCCD8zkcfcA%6
z-<nQvptL8W_;!mNJ;{NC2k~7b*H}SxA}DS0IRRRsGoc9_yC3C(2u=OCd|&%$MQ#Kj
z^eF<HpNJ#^Gz26^LBDe3V!;-uNcM8(a=$pX&-#VJk>K8v@gw^0WU=}b=>D+K6-IO3
zGBrps-%U<$h`W7N@@6>tq@j@P8998VKPGi&=EU!6V5PzEUxZS<kj8h`_$3ZWF4NWF
z804Pnt<4wlZf%L60H36-`~5lLNs960RZ9_8x10I*vV8oP@=K1ZZNQ~ks4`x!cH-el
z=tW;)c`QBQlSh)pYQD@SE*s24Q9tR%JDzQ$psNC;hJ}@niW*^glxPeLkl2pgu~b`m
z$&UMD<_@9a-(n=u&d#or@^YYfP9W~ukG{`uIiI={_uG>BKgI}sW&BYRv`^>ZAA!oK
zW0SN}`EHzZBQ)3HV_^3O68}iF=jzSEzzW!#m*;7FfL@I_lLFTT%vbQNE^&Ycy%SR?
zy^;55vXgd}>p=(o1%NpXn~2-ZP^CIRx8Kax;Y%=SkA^crRA044TkMm8e>3J9RJj7c
zkKzaItBq;>p}ABqME)X0MxEv6=Qbr@ra(~2A|?KMrjUTlIf4SEr8D?TZ}fjv`&B}7
zv0M76h#mxC#OKaA1Sr&s*LNJx;`Pd4xqz*64NhR6#mN57Rcd0zd)@a$*z|R%G;o8h
zvHjuHe$Sfc`jwYm<??-Wl!S>P95Yitx;x-3r=}g6bm_>6`%JmfC(=s&@kfLW;?@W~
z??f~)Vko#W76iIQd}+wt<OT2)gmo)|ho1&bTNp(s;kmr=hx5x&3baYd>fW5aT_`{R
z*=<{FD4K&)+Z=R{`z2Wxkbs|d9ky<&(F(6U5eeE~;j>w<@4&9#74}|)Dlma(e&EY)
zEB<mXHkdUJboGC!=L!iu<uPSxoC(Zsw^UrP5-d~`j3?x|wnCGPc%iqioP9<>A2Mt{
zndLstD-zQt%F`$ay#vgYL_gnlYL#;o8t8ZUBAGFPKl}YT4YhLRum9N%59S4wV1N<^
zO#Hb0qZX31Ou%~}$~iu3xw0OfNzzSj&D)uUMW`zB*(X!I+X?~(K%1K}-}LN}jh7AJ
z^4K;7mnGMYSL5%iLK^#Ke%{(>W}#k$bszt<_F&`n(uo(h#`-?}eKn?B+8itY*Y@+q
z<VFi?f2`P?;b+H%xwilue|vT)c@DkFurcery-()?X?MOAn?{dSwwvX3+iVm2K#xDn
z#W}+_+i~dXL~FY_!Tik*m6O%U8vOha`OQuXd;A@3fmD&H%`W{9)oG#q^U^z;-Gn_d
z-kpD5ZpX5V{{!?;bpL{q;Z`p(ttPANwWlX`qR06IPv)0=9&h4S9|>KX*KPMz%gK4a
z(}$V|7izw2-J0O^lhbMo7VQ>~xQV^L{Gs;b<g~Zp&ei}0T}KN_y<{vQt`u?mH*Meh
zrK5(om~o>$Cg%?!BaFgu0zN$@8Z~|~c1O@zVm2oHv+<X)mTli~353m{1a;?anFLYy
zq94!Goq7g%9)($({=~&OrHsqGFK-trpzvO>4jZY$>s9m)dPFWq!}qJi))*Rn)8%%J
zg2}Lil~#zY(e@PU6S-KsD4jrINnu58N<}h%CO>b+eUWCoghiu}k_?f&G`#5~Huh|;
z2l7SQ4VI7bV)zm$G7N}8#?!A-(w$|VaVLI)=qNe6DQSIrbliqiEPA*dN)|)BvU2|k
zAx81qbMO@L(i0xHnrPVBw3q#gMpsg^cBVNtH;l<1sdqM?NEVYC2&_Z=4!)34%xE{>
zXB8a=0BvjrOoMrj%GYj)J;bDFum>^53#?Dz0|_J6w=oB&SrP!N`|Xn|K5qy~W}bmy
zo~Zoe%({rPJp78l<<goV1exiu1V*4GSw&5rKk<~&oXEfQND3JA={DKeb1+?R8uyJ!
zv6_;dPWPaD{^pb;)Ln!A+@Z8XT_|iFJKE}PUke!~0oJ994t-fWCyvqFnK+KwnX+(R
zY+CBp(V-!)xZhe9_=EsX4qofu*^@bZ2Vt_70Y|64{#`=Siw&*f3vXh{uvOl022LCQ
zUOV{e>%OGD77un8+$IWRVnL{>m5mnPr2tiX))Q{~AxhJL%nlxP01G)t2QoIUi@~o_
z@DMjV6d+*Ki9Bc)Z`v4OL<UnEG0&*F8bt6G6TWN>5yU~|5gxxu;ImwNFB!<e!gSdn
z919H)?r>qRO)|!n1aU7z2-EyytmWf2yf&#27#^^4jx`_!{G~%I@E($(F(>FCQ<6ph
zQH&uSWIzVz=JE?-A*L)Kj)|c#W3UZZCFz)MI$%!&%j3g2<mdyNVAZlHNoO#Jgt5cL
z{Y=38*Z`MWL%HYfvaB#MEJT?^!5qc({(<m?Cfwv~Lc+x&IrOV)lq*x@xPvUfpG{(s
z<8%OsCJQr80yVHntL)&fxyh9H+oFZH{TM(43)4aXM9abpt<jql%rGH&o5sseM*RZN
zGVD9QS>S7o8x@3jYy+l(Z7;}56(T{(N--2VxR(I>$>vueqxq--KPXqYlmU*B5Xhq3
z<I3EL$rDu2r_w9n46q&xy-WQc{0)ndA|e4Irl~xoc<DdB?i!nKW+~KEMc!=FYZec(
zR?+#4^Vn=k5_G(oTZSpQgs~>U_HcZ{lq-8|^cD?v0vY*>fjN(Zv~;ENQ{qvyjL^KG
ztH|`9G|Xcfu;!eW!^y#TW79XOC~*SM??k}u(k<7;Yo9kUv-)XUEEtY}-lJm{Xdzs_
zDvKEG%z&A)K)sG3tL2y)T-Gi%#vQ>6Cn7h<(5Kz0@5++{3@$x)7WnQ2&qV;6OMyFV
zp7~A83<-G|fNwQrp;fRxi<mYlP)X!#rStI-lLg>hV26K*#h?C-e-eK;iVptEf+Q2+
zj`XzNQp|fg{4yQJkImlo@!R=(Cv*uSm~_1pdCmW+|0O>dxH>oTe)`o7J`@vFcautJ
zBDr^k5p#Hy&i=>U35jN$OuSdv$Wt@{&E4RSDMpn~z*X=(lc5;q{mdFF;JcZE`5OO%
zvqc)G0%PphtH|J&0RMYx#!h@@Y59#D_=6z)gOZ!cLq5^pdmrt0xgt#tB(cCx6CNk|
zg8j+K842lsdoq6E^8>eN!GCjv3vc)D$B5GcLk-gYx0pNq1g`H3i$(xBjhI4GRAr`n
zDv!quO*4&EluO|qcD}nqLE;I?(@VU&Gz1?39>zd?ogkNQU7hWHAn2GH@|0Hu7gqZX
zBQaShql!K5`>16rUt6hwC<?a{gA0AdDCgZ0^1I0)U@R%%^<JnJJ}HTIn#&^`M#2x!
z?Hlmv`nlH&*}x{5Uw{@l_YIs8iZ**!&?W{kV5%C?;71HHIi$i#PQw#E65Mn<g+&GR
z!aZVK%PWiEhZoUzL;1}Oo@U>|>_?#23`)zFg5&VXYP^NdRec1H2n2m2i~93jO~_5+
z<$gf)wllnm7tjxb?2-9dy}{yn5M9#qZdZsE{)rm%o(!G)^?PbF8P>v1dAdb1fAzqh
zLZQbOUo9)PtAIJuLeP27lyHH&08*L&wZa#j<(22*@wUi|6?P2CR`D=b<qtoS6i6+_
z`j9cKtUVy$1Qxo(&Q|lsoS>H8dRK-wsN~?27Y~%CYzKGcRPGTfO7tstSbSeyQY&4m
zw|G1<#j4>XzD++r<#PD^%kr(nED8<s?_F@EYi&Fy*GE9$*=kZ@*w!P(B&6yFW`GVP
zGcgij5KJOOY6G){=ex2&+GAa#JKh*UR{q1HPTqea)0o72`O(>wD+~U9_j~I-Xn~*J
zrAp#rYQNR)0(JgmdNC5MNe}+T`-1V!ha`%gC3!r{h4wpQnyE11Elf8xZ4ZwUBtbX;
z$~u&eVPc9YR~pLc3dCf%@|~L%sgc`d=iTm-rr_CAVeQy#&R_r92anvRprgF6xK!S3
z<JH1u%#-7HC28no9Qr&PSnSPu1?M&U4$B^I@ZKU#;6Uw{YkLg6Ux*7ZFI`b|Dcny?
z4($bLZ-T^dU}JLCa41p+7X(o1HaW~BAsiUSd@fN+d2fqdWZ&CnAhDGH5Ixq-BnSgo
za4pV9q7U{}v%Wvu@A76W{|!KUJ2hFo=G1sl@P&5+W&%hQBm&YvR+&o(lnquP!nNob
zzrw)?O1XD2ShOSWFC7M9GXMh5CieNxcBVL@T9EIuA@S`P4(-Nn5hNsUNIZ5MYxyPd
z_Up|AS7NJ15=Pz*5F@uYV6Q^(0F(lr)GM`P0ttDKm+)G0B&g`KJLl;+y;Geh8eU7T
zUinA3f7%UOYk=Khp*mSrTcds=8R!uf`d!(TD-r(oZe7#guOSX~WhXK8ix}Q|^t1!F
zIV8UwYS$z&+J>_q)kSSHL15kydJgboh6oQ2z%kCpJwm7RI$7v^_nvhke-rWs7b|@6
zw^uNytBcmNO+Ym*UKV>Abl#}X4&HSj=s!}#&?5Q3EavvIImNE8qWpRU@Te`K-^iy=
zCF6gP5dc=V-M1*x-(z%biwr-Cz4`I=d%e<r)!DwG)bk_#?^z9)a=Q;p?w+3{KP;<b
z=L<ftB?oF>e^`<H@JoGQvtR&YJFvdnxAA-ckYdhu4g5=GaMYQ|hs>y>OxV9FL?sg|
zHAwDaqE_-T8iQgF2j8XCifFvwS2>828ZtdPC}kWbqcNoNa7gXwkfPLO<;o$v)Ua&V
zkOn8v_n^kG{=?yYM~9)Zm`^m+8g|6&4c1&^1UiU*!G>!&W6fsJ&xp`966PqDFJKpI
zrGbHPu|gK*XrKTWH;jBP@Rth7VxT3XMto>Umq5f7?0dxOFt`<cVI@XaL;UawpZbu?
zFB>kuIqJz!3h3wx?m1d(P!=iiHGrvCgL4cV%L$ws4HVJyANvZYQo^OX#$qcy780^v
z=S&>==VA2lV@~Kt=Z9FQbJ%~RE5~Ps*MO)j9EJ_>YSAYh&y7IsF*yj}+&O_MGR)_V
zz!D4W|6bs!#?|BJu98BrO?T_Sg)gq38>0n{dHRr%Wn}*D0)>4+LI}7>Xb_&`;vu;h
zgi{X2>_aLg1gkDiBqb&bH^k!cuv1(jmRTj0Qz<L@$;OYjdviiXbh7^Cy-@)8#y}nY
zH@w0|Ei+MNG}KSr$O@jH?-PrSMf#~>cpmYT03&NSK6x5?4coF$T)^octBl6C#*VU4
z!(h;S)l8PziR<^Ve9PF8F96?j5`P^EU{gXo5@t>GSy0fJ+NU}A>H~{Q^LLG|PqSHO
z)>z&u6y)TT(4!k!bPSty1A+Aih-j0&&w3=(@v0Y-#Onj7nLODUlaR3F+_2QeFlu9D
zmUT6~>}Jd8&Bq)5Mb@_p5^q&>-?G`dRlOKr?}Q#G3;)arXL8sPac{1*Sx0msF84I1
z_Kig_bC+_YB8QzK#}4yP?DLpjjASX_-lL*_vf}UN@}q!K*1m5T(Hmw7S;3EP(he_W
z>|i_(-*|Z`B;hCK2Wh<MQYgkT9H1@jMqZL!!D73k019et-^k`ml*%~xJ`%xg0p7HM
z{6tKB?Lx295GX3-AQm)6iGfRu=;y%<PL7xdu2j~MRnWkH4QO_>A~14RJx-1cS)qKt
zk_Ad8ObxJsNhUgxU=1rD?N7UU-Jo&R<d>fCC^)JDz@yd^RvZ9e8OP5hE;Y#DZ{_n=
zXCN9x*jpPc8$c@3VGb-bHV-Le!-k)#>*bh$q>zC4z^e4GQJ>rUeLr2a7^m8l$J#X&
zm;rGPHgOkk#kn-ao!gA_(2tJ~jQ1^%4^VkDsF`rJIZEehLRfjio6&?jVu>+G-ng*D
zjIzX)PqF7PNpF;rvV4>B%99F~l4vT)#lFc0FMYS!LKurtAkLJKmwX3sam$;rlQ;h;
zG6KlXi6UW9`^(og2;i{_%qtg&G7BUTzHa8W-1R|Vod`E$vL=&$t^mBkG}Lb(W`T;C
z`Nq3Jgsb7Yf7tK{J!&Z4p4_3LD~%h?jc2P5V$CWsG{E7*roA3}>g!LKA{j-mME$D5
zbYVxT`2ope=rtPVJK<*wKW3Rjm}<fO+-A(L<I+mfasVc}2KVzHiQi%SEmUCI{~TtL
zG}@kUwT+p%L!+Z@7~EAPpf$Et7l3gkVRdu+V1eB>c7`loMq~6kHj3=@!j2lfoTl4T
zGjRT%Ed0cy|K+?i&b7quKmFD2fo|ZZj{Bz<Pd+k^+=Gf|DXAVx(>xcPb!@`4^u$Ax
zIPtUJ&r~?HpHRW$)Z(w6n!iDW)L+P#;QaBs=+7-u->Fe~y|ei1oQZ}--uLkCffW9T
z6B|!G>A&Qs?r;gPt-}Z7P@&r<2guzo-cwt)-r>7)Pe2rJ`(ekw^PP;TZ2H0a+njjt
zF?XM4cSXMYS50$&K4%?vgc8?>!Bnwlez!S4em<~UH_jNtWJQ^8q<L*^<bn;_6Yp;e
z{k{1p#h~}>iS$cy3N0bMy$`J1!UE?oYOFc!e;8e4MCO6Mt3uGvPP%K9W+%I*ZdOGF
z0m2oln8EgW;my3YR-a1OEP!ZIjdd>*64e*Xx?}gI&A0{Xxgd{p$6&vs7GYq&KxxVA
zHgQrn7q%*>`@ak#GI*yCEFHZ{0papU08UBlBL9O7OI@JJzD>eM9U-LM;yVWi(t=3*
zfj(K-xMOv*tHqb#M|`t%`^Td}fs<yjF(E$(qve63f*RWpyQ1zmb6!E^G+hR8S;nKs
z(gq&cGVH^7Jlmt=+bPnq3QE&@uCENSMNcZAbv}+P#Yd_Ne+2~sOayj+o3QHHvrgXi
zXPqv@={mYxDiKjCN;S8A3J?9V{@6}|SwXR*&0$n`wks~((;Y2edwdB!Zjs-j@H<no
z^ykx>gQb5n6hW<U+aL6fKVH1~(5ei(w;gsA`F*4ZF2}W6@{%vrwfynx8qn#Lt;Pn9
z1#ZmLU-`{QH9beEx=^~bO0~3ITA^XDd=5ree}AyHxF5P8z~#pN2OFbbWK5Q({ZpRs
zu6@`Iz4Oc8XCiX=Vb1dg>8ALnmp;r?QG*9obbSjGlpZW0<fnV2crDH-?1#E%lr8Rm
z2C?Qui-+~dBBY-$En*JOd{gA*k+g|EYJ7D>IZG<MpnCs3$ta0z{3U4jki?guObba8
z`yS7J_Q}{puu<McnIMKu6h&G=>)U?&--8z++H)*<kQ-2*pBbPIqda=ElQUav#OJ4c
zA6?-51WgB!*#*3y>Ov{vD4b*$&Hr7QDl#713U<;fD}L0Y{9-yMqNlBlHj2@zcU=5m
z%&V;B)(`Jj>*d8cs;{^Wm>yOB@?F3EugbbqQ>5jHz(1MWf*=yv>b8Y@klPWioV?cj
zCh+*89Dbs+;WzzG!MwW)gzHeF>Hg<X%c<sjqr>9e_~rrfVL)Wy4u?PMC~~6s0%(w{
zF&Rse^V*Wjea2{capvyD>zX4%dg_D+DS>LjpLnex=6Mj@^1P4;Q|9(iW6NI@^}sG2
z2iHxk>iy%bZpN0y-Va8vG*Kw<{`(tsO;(z`E563PZdQM2F@62z7XD2_!<+IL>G!@?
zI1(a|4NCVCBMAIuGw-ri5&Nf;j%mAEafbpBV1z+EM#!Al)|LkrPKW^kUi&XCq=f_E
zOSh-t=wym2uqg)~Tgo+@oaO8L203}G328XKYBS~+dnjyZ*f<kT(f)q%=F1=RG-MHm
zh_Aq<d3Nhe&ZpVh%Sq=5mZ<C3XGGV<WCILE<rjxf_&W|i7~^#K=$*@c;~w-PWv1PF
zbni<R2Raye!t0BHH{qnQ5kq&6ZLR$Pu$rSPX`FCg<bYK)<@YS&?bQ2Bw{=fuZN<dR
z-x@cuxp{Xbw&Vch#yccWEDACXF48z{F@XD8dmAuE1m-!RI8l`%oAY9<A<^ENFw5&;
z;zOi&vVh1f#_xh!^_ZHRV>f*|gI!1^pP~N5xXG-8f1y~hmxDSAi~@y73UrKuP*GQw
z6&yF0UJ;Aed&LFmvSLJSAqkIk1Y;!(l=+g1iN~9=;DUro=`OMt*u5~_kHCPh^{5)E
zcK~5j^P`NHAmzZ&qale;coxBcp;t9%b@^geaLF^yISH2p1E#}sZ)dZk|D{ayg)))V
zAdMg@G$i06f*&vKjVUs;H@|p>ad|>=+QYf;%Y1p&Z*_z5!9geg;l{VHE95xC>BXRH
z;TDRn`fZ1@{qk@;qZQqnHI$Y+lI_8J#0u2j?Br6<9Oxeo<_@^!DV@1dd@Jk$r&LI@
z<Bw2EN$`Nd`{s0yj#B;&fhFHjk(>;EORZB6pXlu!7vIi&az>J9?eT`9{bu2m0pd?|
z_-3`s<A3rJ$1CX`|2LMx7nZje&B%)A2g_)RubRGIMSpi46CKY6g13|G*U-?GvfhE)
z9TuN%yxQm60}H06IF3B*fk+yvP`>=--k5KBgHRHKYt<v_-%Py72V+p65sh+(|KG-U
zy3Rz;lfvG+9fdIU7=^2IY%u6NE2_^K3Fa=w79eS09vUSG9#o*W){0c;7El&#=Mg5S
zvEg_RupGgRtTGYHOhW?`o7^EV35uB*ddSqtRt=Bx!mvS?#(4wB99c(V3NC81aXN5*
z<Mv2O3=(2PG0bsNF%=vedkYVt$Dsn|zuWe>Ph0C<(THjdQtD=8X!E|q#WYO2yu+kw
zKeiy93J>rA`r&{g+ruGOH2$&Cdf6!sh$6*L!a26o=KKo%oG^J@Cbg-yFv<s`(eo1I
z$gpnYp?=})|KtN8lqrw@4^Qv?Pv!py{-5O>=UB%+_QA17_8#Xr_TC|6XC*6y>YQWC
z-U%UDFRP+ds)J)>WF)DOO_Ho6$@!l5_xAaG{(|fJ?Rs91=lyZNa}Op%E4+Xg@I%ZB
zXprcZREnp|HSf=@#Y|WtiAo;I7xEx*E{Q5@ml66s_9<T}f9R$+EcAa?{={#Nb?%l}
zx*k8eV`;I}q+s>iCRaDQmM?u+`vwe9q}H{G!WgDVnkc$lMP8Fk;tMje*DhmaR8sy7
zOYwr~AS04IKl%wRdJUFXPcsLi`UNaXVLC;^zj!JIP$q7FsbOg`*E=7Gg{m8Wassh<
zVYVG)H4}5Nc}s<+hnU51<F9=Bp(7U;4@!p;k1~IZ*K#ve?S&i1mra-6tnlE&?U<-!
zDeiU;dmN#E!*uF|TWfnodBqbl^{YX-KHXIOZ>wGt-MaG&lTSn+I%vLBBsH=GukBn8
ze#GqP^0Vj(H~u!wAiCWyB=G*;p;XWBo5ZuJ+{xI*v&~p!a`JSJo#Spy$*URbn5mRc
z)4iNIxt`kPH7R2TEP@$%U=xjGs4e(xv<GZRhB%VxEQ`nSZ(zw-`k6Fums<KxG6MzM
zq@i`cJ55;uWWJ@EP)5=p&8U;12WM5qYk(!XE4FT=C@%pe8fBq%y}X^he3ah8a5Cds
zui#8=;vN=s&?}5F5dK2uw=C|zSM?0vCm!7=k!-N^xmTpFPg*wb=83Kh4f9gr{dI?i
zdG#xB^ebZe@0J<J8}_R>_N)5gsf`+aO3D2iMg5v}{odOBYLtGRnSNcJH|j0@`Vb11
zgMv#e)?Vw!8&V7%Db@RUgJ_CLGR3rrLQ<d@by6%S6pK)b+5b2%ij85P`546xGhlDn
zZv`1}bR2N<8(3yDa!4L<DH@<R9B}R&xI`InuPDA)G2nSLaG9~$ZDzn5Gw7pYtSpQ8
zp{VBNHy98-D16xG`#;QUFu0E5w^M&*X7K9TAehxS1TqxPVPdj25T-H|bvAG<F{8OG
zqrM}f!4w|LKXjvRD1Iy>a;*PmT#5#=FHr%aj?`)(q#f<0`JsTZF33<cFmlf%DFSRt
zKMeYorkzKMu+O93q=$j-4rdw;<%A-yN5f-^;5X{v4Yu%t&Y>d5x5YEKP@OglmF_bs
zZu)fkreRd6i26^Nyej~7!W<A)Mv|B#LM1_!6^NpsJRRZcTM8+=d&3Qu`u7#glDslW
z1Vl5&tSAc}muv#a8)`Z-Z}ofo2s7$VF%fZ0Rj?iHa<q8&G8@%VdTTO?ztOB-66WHf
z`^Q$?mmU@w1q+l+K{vx((o-U&Vb0yqsygO~j2u5eMm+)MUY&x@w6yQw+E!u+B+z+G
zme88RHwjQj)U(Ju%kDkeTsbEkop#d&HqSTK=ZBc6Yj;&JZ=5&I3x#(ujyBC%6>^N`
z$>vcPcE+2tG9RnFTXi3J!rvD@lDWZ8;72vs-zCa*FvNQi&BFm-hhchw1bz)-N>-Wx
z8o--Q+%_P{1rph@a!*d^K#fH9J;3y2np5}$S0kx_wW;lH&dst^j&ve7;L+Ax3dbBl
zsDq=tw}iG>#}=OL>q3yUC9*DwF{T649zb0C9`ojb;xt%po}@tICQekE4qJ#E*jCxj
z@i2;2iR3#jG3#apI4avNw#9t8XJmQDd~Ie*AjNQ<zwf_r>$W(=i8&Mzo^}OIjB){d
z-9k+h3WfJzHX}{G3Ixr#wEPZ+^FYntk|p_Mp8UQX>Fu0bC(O5kWDgW_A8Xv9cDm&D
zp1h(taev#6luzZVp0ZGdu{X%m97aQ&9&iY&H9wPMi|jj|Ry*v#6z}?!k^hX=(UkC6
zu@_H?@CSi}J)jZI=N>`#sRJ1MHbw0dY#{4S;mBS48nvGzwUx_Ur7K)#eq-H}sGNON
z9xG2l@2jX6EXCd>d<s(GM4p>ccQrX{@0opoC`eT(GGM!bch=rtIeK3R8RhdgX<f6z
zd#H0e<r#mNy(-XeB4Dt`1K1}bPCmm7w*)TP+FvxaZJpv3Mlx2+H28G^Z=VQ*YD7F&
z0Ph_w^FOEYZC?}!Mhj+&%xJUx^1iRScW+x-9rL1^QH$H#s+3qM0zs=&Lli#*s19Ap
zHYuVw^U68?*WzrjKEnNKHgA2l(CCxIk+Tq^#8wvKWF+gDR(vVQ_8%y_S7Bc|!W!J)
zWM@UVZQAfA{KJ-Lljrr<-zUWyG)kfixKmVl?jEENk<Q!Ou9eL$HwIidvyCe!t%6df
zz8;NqEX;)t%oeGBdE!ql{)JmFK%5lhemP8w9!R_50x;^ZK=h?fpg#P1k$oM(vW0@b
zQ3c)!A`vGQm=8MuoQiD9iX6U~oFR|CkF;%%Xz=o7L=p8$YO~&~Kl<<0T+6HR*71zC
zSLV5@pITKsu>V{-{TF7t@TKm9M#-)X;azFp((uEb><WOb|Gz>{1tU2sQv`rNp5OnH
z<_7?{g289=K){klE}w2bJFr0cc_>!1*jF<!;dxNh=a*#l^{z)wCj?+OaQpM~l~>Th
zl`qS59#?1PssLZ6K3L^@sOMi__&ad<vcng{9a>mE6-|<8M!h*;Hw~dBYtu8o9Wq?&
z&|4bSTL<gy9;Uv3fLKg`anL>A7k=|G<f|U%!WrE%QhfB^k0mxWZ_zU^R_A3-K@&E;
zW$sjO`S{CR^~=2HhTJ*J{IkoRcfI+JmxaU)`4^Xk#eE)Fc%zM1FdK%#@+;yoKDAmt
zV%Frq>J{myD>C&y!Felkx8UNpRxSvx2yU!=txXYOEl{SpM^u=h0mvT37+*l#fO?5<
z8FE$gX}yy3s*av-Kpdx2u&=h@s0MTmr<b86?)SZSRaubEB0Sk7JlUa<PMM2MEsQg!
z4Cb(uTGR*&l}yo>Prp<KwyA<ggeTcarH6%sdlKOP7{E&5FY%sOT<SVbZOyf$%8(iA
zr2zp15^?1~)s0niy)?YSdZ8rD6AiHmNV_CSYI+He(|`zXsRov8lzPFU_kfawWS^(&
zV}<KsC97`GE1SLk9?V4Lk~Q6!Vhy*91Z;qRKtNZ2##JoHNC6%LfQe%1?9}LEhEq}K
z-iX&d*SG@Zxi(29#gTf+QM0S68&`^})69q0s7d5h2L<}elId>YFGz7I8Ewe$JUU}C
z#FLO*YzqqzOcq0e6ZA6VZ6VjU(p^!>u1GK-E-Ao`j%_Ibu$3w~r%*~?zlaSS6Wyw@
zUP)35zG%0FiUR=%Bpv3ByWKFmGKkaTG-EU!pbQ2eCkMDd4YwdpFJSEfkU{UXxTWA|
znx5Nqqj(EkY@C9#C0V$_6!RdCc@Th00p$f9z=ed%OU5;(YfFO4)G}f;k~v+{(wJ%J
z#(Evs)7sQfA+@!az^5;t=g-P*8j?ZE0I*OQ(cRS7yb2zNh2j-pF{l9FK$xE?B+M%<
zeu+-Mo4rhMBSY<~_9XN=7Dfd~1{LR}y^f)aaY@tbAVCfvtek)IhXOhdSNjfviUQM|
z=!uoq88Ig*+f_Rs2Z~GGJ$Pq^lrz8vUR^)KGO{VJvmk&3jlyHKGIg)nlZ7zXrk$~K
z)v-aX&VlvlMLMoPZnK==yBZ;ejnGdq5WsNSr+~EAc&N5QC;+t)yu=zC19`+nXKK6g
zzXIFr9;No1m<tFn7yeov)TjtIeMCBI%kv8l<?u`MY$TzOJ84xvLkmLbda`L3x;32@
zhOJ*qHA*xerd79q=m|uLIFfwhIB#y%X#i&IT-4Zy?{7||^s}9N<ZDmw9!Qr)&JL`r
z+)5EL1qA@Yd2KSN2>^mwcd(5{`lk}utH>X1qV@Q^y%>!E1JjPC^B+a@yCQRJHzxO%
zpak3`o$utHw(EvioWAiLkPNct+w3=(2|Pv;=8z5&&Wjf3ZsW5dv-ar?bbvrWD+;CT
zWgXoeCs?*2!?wY=<_Wa$d740a^-WWl;B$s3)0_!@=x2`M>9hUCndqwU$TRU6c^erY
zlbCzhm{Hm-z{j0v<4w<DpcG9^!yJA$@TxXy!|v@5Z6eH5A=&dzxZUY-_!U?}cX*t0
z^mV||6Q6(u&=Kq90Dbih9Z8bOL=bOmTF@S0fjQ=4vd6p8Dc&MUK>GC@Nk(zWNob=f
zX8RpCpqd*0NMgW}+m#o<83>f>UUGTH{5<Od?gpSReiA9xaeg)du$s9&k>P#$*eCW+
z$;7oXb$GzUK|tEU75!E3aImRhiuN8M7YM!HmeCjlvC9J+>ZjRmL9VB#8J8tfrvJNo
z4d$c;Gd4|$ae;nS3wmSxz%?)ofDGG^2O;kMt~B1^LH0xrgQYq)g0Mgj+doz;C-42q
zUzPw-jcHC^Ij3dWpB3uIy$~_O?HMriQE%FmnN-e4F0Rw;7Ya?c`I>^X6?gY?vXp;z
zH>^rpKPhcMmOZ;Rp`YQ;a`Rr=K}oEKdswO@8pBB->H-3kOT%J4lW#i1%SwI}5|Y(j
zL#Q~7<Y?ILB_s%Wk;L>K8s-8Lb0LXnM6-PjN>l?GZFNmIZ$AA^7#d9EyPwcR#wFpq
zWlgI};HbDqpa~*qjz6&ySdBJ$)@^&%t-$=US|p>Rt)i)tyj7M9zf0HAF#6`a1VHb9
z7l4!v+(Y*zA8;uZndAu*QrRSoD<t=;jne5<-CDNteERZ4ObTR!4lpA{(ib0Fn%!~f
zC{s}O&?^4Vd90$h?2+%=HVMrn-S4bB@M?jVF}pdubk%JY>akX==QB?y%hX~HI!F4=
z!@k?Z*!Q1fT;y|$>i3*m%cLXSpQ18nyIMki%P;oC|33Kf{r83cH+FqPrDSqaukKvD
zj7I+4{^sp9D%8!Q7`eCA0{!}wrU5j~=e9{|rA&zAegC*Is2?vcxoolXbCFr5i~8r%
z0`nvSaGvwXI+3~ewJnp@;V=;MYh@s(!J$3upVo06=ugbi+$-O~OnPN4mEnAmKL?*a
zKDqYh;GwmT!u9DZ8+z+D9e%$Le_oEh$NrfE^Ny#eo3lWZ4w!GQ{af<{oy=-JZ10uC
z8RHT?ZPhL4R{->~VK-W$nf+3hz+|7UUo;(G3Z;-J*9SiYXr6T{Li8R_1@MKv5Ie46
ziR-L}UK_%MGwJm!0tgC>?uRUy`byCCR42C^V#!~A{8}(rd{|m#LY1xjy>8@Eeq+OI
zZ|YgSwN4EjYx6IKPNLF(AZVH>_QTg$9{&1|L^ZM8RoFXKxMVq(bnszW8={*;kWni@
zuIlyYMcK%nWVzJpn)ne}(p6qSFEuzz##{>PVy&BypyN>I2ih-1<#MU5rQ?wq>&l~H
z8A|n%9lhsG4?W#IA%gJ>O)B-J9wdxxCrk5N@q5Qc335+A1@lSPa0_N`J(W>3pVYOQ
z2W)deywF6tr<B4z$ORQNMf>j=s29RZ=*4EMuRNd?vKhnWoAso*CSdrvm@K+WUNoZg
zBY?o7p>2sa0LoOPOBOH3pDCKRp0Gl>yicY^aFnnNdps3^a}@X7z5!Dj|1jl)RDrBB
zV&7?RhF%@VG3csH!LNr%4heAU7U;u1urp~(fI4#32lDz+Iv=`MZH8W*i>iJsXER)n
zXoANwW-o?|UiWe2KFpcsmDl~<wPQ#c;JC4wZG^FE;`fe=X3*1EPT{+C5^dr;thmBF
z+n>Ru#G%4ZcQIBrcJ(fmCu6a4^GEv3ZTv~g#zQ_@JFW5FYpw6!rOvOWwq90eVY7ue
z*{WG|7jDh<jGn(tXkGg8e9@(vk+4M=Wz;#m&9j2mJ}m3YzWhBs-)Uo|TeupxO!2Yw
z7^G-2R7$zNPm#GHLK&BBtTxa!XdGJ^xgDs&vizND_Vs?HzLn_O-*eC$N*_59bqj5J
z0BIzLbkV?K!lEW~uWrE{o~z0BE3O4dI8tR6OhXzt^x!}wMsF!u*Iv~bRwfd~6ccTi
zbV<XME#^pA_?^ZuGE0ORV+u-QfMj_gx-`Q7b)*|}IHM4A&lS+&Xp=;dj(M-N3mkqZ
z2u~`@Z;_J14zNHrmX6!v852gb5B(iwC}FIS4DF&|Z`y(YZm5FmlEMt@`9lbQje@Ey
zw9FHNuk$RfRJ|w#9WvDmsi8My5YCRsOvGTsRCL6wfecnz81YAbM#<Qu?Dser&J(B~
zL+R&O%A*4q*W|DO0mW$mtXSux5o+>e3i`33yS6iq1V1(u_+{J2>#9W3TeF3Sri%jT
zfkR?r#DpOTnV#N2pJeI-hbYz<1e-F)v^+><W%UzafJ=nOp}8EqP1LRPhb?O{w{!d?
zbXNbAnn_O;3`f=K97+kx+NTNp4jfcMDO$zIK485L*y8?VmlII&fVC_zRoX*?!AugD
z3vWsj=dZEL)-&K1{BKAgQ^6u>CJ7=I3YT^cze8)RqQ81cNiPBjn&A#?Nhl%;Dhvk(
z*}|jH5Wo(KEoL4B_;_N*BsQ4ChxmX#PA75JgIJt8s*$cU5`cL#!<NXd|HNyq0Ds)Y
zwigtOeUUU}Fqmfg-a=I(?G>8fJ(hD4(m`w%L22BaQ|Mp+`~+qj8(H8pJecS~dVj`J
zjoQ2va4)#b)EoY<L?O9WP}O>&s8{W|t4T7s<DPoQh^eh`hA(rk@Y0xp9D{wX4#r!0
zdv1W#)@;){*w*s2OU@-j!Z~sA=`-nlAQOUZK56g07V8WzPDHXge$R)+XkSFy&%)%6
zxL<qBX_-c%SIRmNASgZ{Za&<QU0Yk*_!Pa(R)n<Tp>LE}PBaw+hSU7dL-#~&Nhpl?
zWv0&&((BzxNaJme>*?>Gb!O*WV{e(5j}Lo>xD{@8iwq)JiV9cuyo>nxA`4%K6zm~T
zq!)0x$t9F_DnZT+WnbZ=Y}@B+lPzt)`_lLm7Y!Hg7(@@-IVN(bGBhd}3(Z*|wd9Y{
z-yYO3&Pe3yWqI9uCPObUu;=$A*^!KtA0{fsuFDDK_f|$Jl=kZ&02BiHrEM=`x`l6#
z<TKo^t-N-b1^spOfFMSGKf}nLS-UZAV2bIZYi4+LK~<;ZH~O?<b|uh7jpRmlhDg_<
zj^yL>u3^@xrTng-t!wVFkW<xF#67pX1j*xyH0#c*PtN{RcoI+alwTCP^lIG+nalvF
z268Y*E`K{)8&8{bqpjAuUp`o2{g2k`GW6a7F{Iopa~7!5+34lzo<;Sda7g>!?5Z^-
zXp{o=?TzKm)jBP=VPjSUXT;stqr49V9OWo@Qr0U{V?XK{pkDFmKcVORbzi<ZcQgYf
zzZ0pu9}@1U_6oVDEQ7oXo!p}=$`X*K0Iz<N;=@NNR!HMG6=B^+;y4V$e(obMzofzy
zyB^kY(mdAZIfUS3_IRsmIO%bd6N$~Qqo`{B9y&7*R=-^L?LmtHST4uZo+T2W1gTkg
zgCa`64-U#CG?vUQG-j=??3s(`TyRrMC!3L$UbLKkmsI?FdGJ=AlW!zyJl)VV<_FEf
zm?8!FWMW4zTa>P0gt-&})9lRulz%(4D@e-RzO0Y=)mLAd9r~@oV1ZC9GEQJ{GDVwu
z#LjiK<w1M-NAu0f>7uj5s(U03j4L2KSGtGzn%ad6X5u%z_ANL3Z=4Z-4l^MU)yHJ>
zqQYmXSNAr?7h<u``GtkV#Fm%zJHRE05551lRisWRHt)md!uxqQlONc9dZT4P*@xaj
zttbtAUC?HYOfa8YWm?Q-`wV-1UEw?3kIzCGpD)$coRlV06W;32rBv#1mevl#JK@aQ
zfMG2$3bR0oDGCiSM&Gtg0frfUdxTe$#A&<mXyvgcyLv2R2LW;P0533vpFs06H?<hs
zGMYfh<3;oLA9SSZ?f@7qd)areU=ARo{bk%7eNLj#iEwhxSuTLh@R}`I_k;@QVKref
zf6ID|M>F<nb{OMkoM%}nXV(QhO-*(h7tX)2Y-H6SN@{rQ-*SswK2NEk^3-sb2ypZ*
zvySBSXC%)9M{gBP{G%)~a?;U?73jsc*FTw6%){ws%_`Tt9Sl9Pukz5}%2GOVz2Ey)
zA8X854b?kJ5?liyq>VMnB*n&bSp|Y(auUM}uu4%M`z%=2&wQu|EaMJl_zY$)8`0mv
zE2&_)AVTt!AVyv``MkalS%}OnunL(ZzhkT)&LWL5(>xNHr<JX{$^6Ml>qq?xMWppJ
zyjC7wcZu`~2~o4f#;AHjy89Kz`Y!N_Dm9PjWr6jIz*0wGv@O*;qVDqS)n(m%qv@ju
z`scnsdxS~9M8(d18S90y^~pFcKLZ0cV8HS+axqD_c8FGL<{$&SFvc4Iv28GVjLgLd
z1WbY%97*7Aklq?tNCnGW0XQ7!XGQ{;C}e$pFentqP(ko_T)BY6GF1>@bx`t&AA=+C
z&19|IIbQz^x4zS_Qio;iA%krD<aP}Zp=1_6fY_WVa?G6FYaLbu&}19}84?j$1U&)>
zN+H7m0I_*I4+j7`Lud)@XAUJZXaMr(=ox#k42g&$%rYC7fmO-64Rl?<h`}XuU4JYI
z?%3=0B2_m`lq;Y{FNf1Yfw`L=!xvev-$xa~2iN0r0s=h+aL}c|X0IR+i<|;jSrQyN
z7!YcZ6snY@j>UwPGaJQQYFHACnE}v5ya~ue$(Eq41BO@hgR1KkFxcS95#&kIg`N>b
z6q&yVoSyEd6HUG{pTyll)((}(PaaW4ixusqDxe8+V_?;QT4_gXoiZ%fl83h6N{C~v
z8pgP3#t-a*dw<rirDCp+2E}cs*T-#AwvuEUCG_iv@mzKKJxTh8Of6*yck>**wN3q<
zO`SwQTy45OCPSyfI}AkjKXB#_6E~Qxy5i#<{8}<FH6ZA8DXU!kXG`Fnk?IXgi^O3Q
zh2gYZkW~h=)bdXK5G?@hNA&|P75ZQY5pzi_k_J33I5j_PT@jIK4WzIJ5(y{kb$I1#
zn2FI&JG4fr4!ICOR>qL^h7BS*zuC>M+&G4UhVfBPLDoBcpc8zdtvGVlSU0qfw}tpz
z^6k+#yfUSiHx&2=wWXg&?>(3bZzN_919+Pk!uc~Eqz6?qH$PuW@+~+0!P>-SKi&Id
zmHMG1vr0S*x^@TTmoqB~7?BRnT>kIzMxyO#c{jZ2czYVvG?WZ9R<Z-cuOW88B4q4K
z$p#ro@hjn}$Q^Kmdp3h-w#jFLexd;#nF+ve;ueWjc~@IeYZ}?n6seFFwUhKzZ@G~I
zWvwREDiI%AQ$u|Ak_2T5JWD_!+B=cJSu=yWGa~v$#J&oNdh3wLCJEi1kRCVb1p9~B
z)8M9Z>3=sWn{z7Xy<~Gvtp`V%`3GzM6Z9LrwQ$9Ad2ms3m|6I{C4)j>pQuLPs2fNM
zfNw)cnPZl?vw$b2vJ+MCj?_Cw8-$s%mPadiwKz$@$@k)_(TZc}b*?l$w87oupnMEj
zpT7TIvq42UBC}`|f!e0b85h<`6`e`VLX95I`b7Z9{nptRG%|=FK;3MruYL0y)Xtp0
zbb%ziki+D&p6udaV|$gPew*}_)SZXSb;}|`_>sWXzU_emS>9Uubwo{INlQ+^yG|86
zM;(<D*Gb@5GZ<$R)MiYQG9)rpyG^w1CY^<LC*w6RlrpG^zG1(Ml8l~CKS<KRrwEVm
zNs8w(TL%FAOsx}lMbce@6U!0l8gMyzXRRI*x21pRQfAxUh>ptzKwQ6e=YRR`gDR#3
zrWwC=jPb%PQ+EEhw?F{>I3Rr|RFeNKdByZcZ)VFR;%QrxoW{cw(spQ8a64OAvq;@g
z%*OgH@h=%W&C}B0EA^l^!F+<uxw9Yz3Pqkm#>|*loEa+R0nR$)=~pLqRN1oSt)_S>
zny5;9!9JK58IB^$s|i9-WW5TxeNf*Ch%DdP0m&m5F8MHgAGO;h1N_#YSSk*2%WA;g
zaxl<b&1DQO+Yl1{FqVzXP>tmo`>wkU7R3Uf^!uuSEOG^du0k)wlng2xK8v?nRLbhd
zG8WKstnQ3lqXeo!D7>^0pq>5?C^VF_!;e^|y4RpT1~-?tj1+jIL&Dm&DGKwwjFSd8
zO)(W1JiV+J{gud=?zW91uyT0+UpVaJ*`x5IB;^)%9hW5SB@cl3TU__}-{pQi!z9J<
zkU8sY^}wXx%Rh3-{a;ROa7Ty_j{Sq^$0OF31&!mA_T!(ccSKme34%uyLmnsW1zPtQ
zFq;BZ0{5Vol*ApBHMF4;Y08>-Q<c)ge=bo9fPUd>@|g7j)P|Y_i{{t*sC+r=iSFi;
z>lIJ*p5>^rgEz%-@;l8Q^I#zgfMX|A|3b9+k}_Vu({oSRQ2C(TeNRxbzs+7r8^gt6
z*{5!!VydlTn%ik^s$#~SqpGh2w^hJBGt{;OBP5T^?su9_bXuh)n|(c+-;-4A>0>d)
z(OrqQXvD*AcUap*TM7NL+w8PwVak2{1hy2^HAANz7v&)Oi=M^K-&6G>H^d=Ub=Z<Y
zksKh}e`t<Lk-w?pk``s(u4;O_>(Vs_o4=A>bF$pO3^)Pg<$*5UXR4Q#Rotn+x*DIf
z?Lxkl^h*tQdKEsod?7{;_S6@~;QhVX<7=qjgDBt2F`9Vl(*W?OLKcbhW=vpGOn<iP
z6`AXbeyTfT+d=v&SDwXmcp2b^)k4*OsW++tKB{@$lm1vEt;~qWEcNnIh<rLADaWT@
zvonnID3KRNBMZ&qqTk{re~(I9Xhf01?jK!ME^vPGbYp&zSLZ%Y_t)T+frET-+&vsW
z667EM%rpG5Bn)%${?;`<5Dz(2oJ<lo?BgBojks?(>Jl3n#Z7Qfe@u8gW*EEVr=FDd
zDTZMx*d&}D+6UADGJE14Ecse=p#As(T#iI*>#xp-My$8KCLSJ#;qaIWl9EQ!otGOS
zIUo$AA5ol4x(yl2vo^;*i@ui@X``NN5j)x<ub@utw$j)55ft|=>kjS&tkOYJGaXmj
z#yfvY(xiw=>160JCdr6Hbr``?fsN&l2fN4ch?8OEQ=cznQJT(jKJiAGjIsKy2a0>C
zI`-l^SkY^izN&6Hii5Qk38EV3V40_+)WKzyw7rZM8V}f$?|=!)-2p1H0#QkZdHrKK
zhuxzZcZj1|k5ztePpjd=4fIf&hN7DA+>-(mW67^cf+|=hQ^2ddhpsuaA6^_o4;koU
zz%fIH5y-oKN%S*h79_wcQsX~~4Q5EMUZdD0`=713*&XaJAFYBfPXm}#2poGjYlBQ#
zeSb%5F?VJHVg}nb2WIzr`1Dc&-;qB9k}A}4<zb`r4e<-7OwYTOmJDP#l5Xn66V-nc
z3)6BL&WzpTb7M~%^cfoOY4w+KHpf1riPO?9op3bLo=1w(Ylfd}DjrD`l|5(b#wQ74
zg?IX6*aCF(lIkt-FE!-$AD`-Z;lYW<1Zgo50-#Z(HN5VO($OQQ(pY~A0;Z?ORxu>J
zBPKZKgc=6xc{ORHTBlS4_YRV{B*)%_f5**6si^l?=in4olK3VKvhOALm1aBy>-2K>
z^!}%tCmQ#K<xii*j#_$r|9!2n_X!)=L6Btd?s^h8c~IX`dhYSnjQN!W=zuOik+a%V
z9o5H6z`>B>k4M+xNCMKGi54{7u0615JT_m|zqR&-{(YE)Q?m^HUJ%H%tLif;r>q@L
zCYGortu$O+dIm&TlGc-Vd>_QIE1oJW^<q@Od<tL{l!27ri%$~NN7esGZ~m2LrRCwD
zeP;PH)*&xGd2>PesNW=RLnOz<Jawk%PVNrg&++>Z_2<B~|F)&{_OBDzDL9evO?|XB
z-5Tk`4u0ut$m;`QAwV8`c39eyRH%`m)wq1|f7R-JmG0ALKiSi7*6{94mVwjdXtT(F
ze_^}$EPmb_jc<o+*WM&}*(0~S8L;Ceav>Wt&kL{E+}9^UIkk!c?H-uqa}6k^1UWP~
zbj&!GymkE$5E-Znwq>N2*O*Obj<9Px%K{$zk5{#7#%#KFX)O%;f8mn*)D;o6Vs%F?
z=<=J}Kp5A2DSJb28mokJPg#WTP_D2^iO$hIlu4<)=1AR6z~<ZgEZ-R*D<0OjJi|2B
zJ{qUK@ns$U2UcKNGj!rK|N7p?e>v~=$;MsD<exmDQ+3y-nV(NwB!vj!L0kW{<7$eT
zfY{EIToHP}5X!x9flcf6j(qA@_XXRh`oG7^=ku7V4-+SU?{5mdIQsU!5m4Vea`(T-
zB6THUj8Z9gJJuq<w?Ws5ciQjsC+D?4-}x+K@Kkop_6-XzaqKnHOm>RGZf9v{^g#Nh
z?33~B{vac^T$$GTo5@rhnKSXRS>SzN$@CvW>!GV;0l=;%Nqu&48O92pIcd;{4CcRP
z%3j;qkg=Culw&4QQ?Xl<F5bK)5Fbu&@H8=?cSumo|57&Ok~nW_#UlT9Ls6{zfe8IQ
z!&;j`9=P0$#QAB+_8UNDM*V-fZ6kE-EfwA!vh+eT;qrAlI|_ZT1kYyVpQ|j)Ogh+E
zIel<)z52mvz>Q+5{LY7e|HEMLjMRN?1d<4lT8v;)%TJ%*d^%qQLEmFhK-R#P)0M+i
z^e#=OvC=C{(zvVYkf2Wi_q*Ddj#u6i-t8{-!YTyBku?O)y{Rk3EKpOc3b~GAGUyUT
zCmX<tq3`9y>QY~R@H#_UaY#2cHfP@TW>oZLQl8&4#J<sE8tEStKO1%IW@dI>%Qut%
zv{smq`OC=7*N{gkE>k$I0T*)6&~U3_DqsVfK>8$b@A?b)mCD%K8x1#mqy`5o_z@gc
zfqsH^nA=Nssaq9ck*?p#Y}V0JmH=cPPXK`^R_fFI+3iQyr?4+So-L<ZuDgbGsqVhq
ze|PCk+uy%#<ToMBjz4?h7v}f+S%<ELp+c<Y_lJZxGp<olvu}AGN4?c4r4#)*e>j0-
zsazXyZL>LgZx?$bvf(Tyu25q(y>i9A&P@B)mxu|E-wTBzufi5-i=6`>I9unXb<lRk
zJOL%SgE7lB)LhTgZ->XPBDNn*=qaw;J>Vk*(np_P>+QPm_3Uu!q8<0BpMTH#(Q@u>
ziCu0ea;HPM-aqlrpPyf;)It*CxOFEMpt5wd^}DOwFp1}0ct6cmhjX4;A#ips(Tz)B
zxu<@_qmI0`*<7BNV;Nb*WNY{&PjH-Vc`5hbd;K-P*unK~GD5gh$hH=T7ud~9yP6;j
z)Skl&_l>7Ie1a=S(xhc;;ptY<E9?%x@XW7SGM#i>S%0b<%nh{pR6JSX?nN07n@-)V
zXJ6&<NExVzHe&9=iipo+8C2fo=Um4icznxLwRa<of?MFk*)7fvq){$u#nmRxdAPP`
zBJjkHiV+g#dCRi=h!F8*NJjiARFjbr@UJ_Gqg?I235XzQT1|PkBX0KU4=Z3iJV{>T
zV{yBzeeMHHSuwMj#e3BQy{C@r7l_YM=Ft7CwVD9VMkJl&4`1CHl?T>ENh4ltImNkd
zA}UL!4C2fW!_vmw)T5eA!+F_Ck3acq+%Oxy!nJevee|aGbtOyb0!tq6j!oSkX76~H
zMTLTv$l9k<&_C&Qf*t8b?}P1`T_#C3Q)e)pZf`-JhwN37zGBMdj|M&o3@9&!elnT(
zW>=9ulXW=bZ(`(TSNy`E>IXlMUZgDnIP6%jIl0++{-~T&rHKib{_z5@Z4!GN!I~Df
zu%%um@QGaQhgF}68(lP4a=w+z({1Y`_q6F<5lN*kTlCvS2i{Keg2IXn#-a-k%4fBn
zI;M&-3_$|50E~&N^)NDs`_>XsfX-2G-!xrkcR7V~$<&0_9@k2R6a;mn8LnLY&rPnm
zV}+*wE_+|W{Tx2qR`Q|6MnK|<Zh}Q&j6+K$ot&faJvW8NoUO3YWJrJ;LDpFYDVT>s
zp}yz-8pd<6Aaje@!pmpU3)H+O$>ANxE+5RD9xt#919-a!GM*D-BtEqGKDuO4<Qe;N
zolzvH@QZ7kd}&XhpIk5#7xZpwO(0d{UH+|Pz@@!nk#5$vn#k~6@sreUsXPFE4hMD7
zy(HGJB@}v4G^7*Y=OpPa=NF3$F@-1n>SW95up!HQ&iDD)2RT;Yn9yD-=v9Gju!gkJ
zR$9Q_BGr1FP_WNx`BI5@H>oyTtg{0Y2^g;vx>YRHo5l&{^Y5oy3lF@b;|)tV>ZDM3
zT`gWZvHmR^QDKabHshk<S@uGNC4$zRF!P0z7}cAqINz?B@+<sUR`w=iA1QAZxiPdF
zciTbky-WI{Ig`l9qdOW;F0K7AK6z60D>&wd<yw2p$-C@;<>Gzua-d~7KoaG0=lK(c
z05bw)<=c>O$1mVC@|&RlR%eaCf;3uvkH|VkfpCHYt92fi{9w9}dVhXViW+j=w$<ua
zyBvMc(A_y9{1Z5!k&EeS*_?QdEN_QX<rTVvPc%n?aOb1StIqICU!*IgZBpm2M&y1m
zoEQJC@}{zIv+~};kHOsM3vy<%2BK_vl2GMAShn2`5w)E2`wj4%I}SFV6P)bAzqXfd
z={JZh$I$f(3+@A$!!zZJHF#Y$8Ldzv%yD~QOmGe3fk(xfSgyptXrp`K?WtVm|IAfr
z7p=t;XDi?aO^!=?dgO(QP2jT|6KQ2pmF;|6Mnb<QvR~t!cWpMzV&k9YpC56_du(Wz
zo_^pHxZZNxc8m1>&us6xcWc@L$x-6|hqqNR!#N&506V9Xa>b9b?HZ{D%%@|QK3Dzj
zeI#(Ll%`JzSutzKER}eu^U(VL_IxzhbUGv6m170-U7(EXu}|lp{k*VSds=3r5iRx7
z!uUeG`px;1Tk5_d4tImSHo7aC<^wkjg{l<@G%PL^#TaV-<=0SA^wmGF&ji(aFSdTt
z{Q74qHq)_g#Ie!*Hpk}us?$)5n{T%>CK48lRL+hhuymgbNP<OI5dM-C-@tbNE1hTT
zq{*VZvcijug(e9p@&}OHe;gPDyEUkWgFvAXA_oO8luA5vGpNbx71lE2JN8Be5N#GO
zoNrv1OlDcA%l1y){hr=uVD69KZo}zKI%tR;>9wEQcKA`-a{aud+k!Lyo)|X7jWiqq
z8<R5|&wCs5%$tIfn(Dm%RhZkZc*E!kP@ih#Q3&{dU19=%Y6q<!B2+I-=d(n|g~pH`
zAl#Pdn8|Fl)lkE6fylka$R&uW*H8|SmO_Tw6M&)1@azucVDQ6^Kyaarq>dPiemI1-
z$BWC8ueZTN6zSmme$EP`OTqPPnQdWxWxLYt$I@qK=1c&K4*C!iW`=iMG7NQKR(b$*
z7|X^_(o7wA6}=&}NI?L|+?m(Z+`X9hYJ?nxO*e$;LdgOr!c5H7$m8C21a5H4P(78b
z%1dDD@<X}WnZ{=^D^K21QwTR^X8AR_OFf`bAV`OUS{8-~KC=y^*+!R7$WucDmCz8T
za2bZ^5cjyzXND_0BnDMfo?hnnZcEwycT03oG$fRGQuIhrO*m#HNr=t>_5WhRp+vQ{
zNf#1DtjJF|x|)k1%#9?1ZzT)7+<`)rrlv=BbOw1p)beUWPQ@u;yg%}JgxIwKJ~QK2
zP{J$gP?aSarcI0L?K^IJ7H>{Q#e?_XfLa31y#Ln*CM}tm=l?J3>y-wd33ZVd5ml=d
z&0KduPa_KUXn`I2JSDXkJ5t|6d0w^h{FV(ZZ-bcS@fzhqp6p}Pp?p>c5Z6d~n*p)Q
z(lGOuSGJY|E-ekzz2yO)9aKQeVEO=ExaClsCC1v9uCDHcmMYG?rb@O)lkqypX6Xp9
zS&XkR{d--{ei_;(53jPUrfk;>d5lQ`=3}Jej1s=q=8saUyg$3sPNZLF)@Tpo7$s{A
zvp;702tJcFKF|1WjTWQpWy16cWlpPi;9dtCDEyA##gL))mah##R_7SlmpbX}HR;>e
zfS(xwBfXr-bSnN!Lgj_lMLVDc_#cgM$;C+3zu|iLjz6AHz$Vw!eihmVJ6y$NPs_Fz
zo<$0&Fo8A3-(#7;hCc*M$7gndm+7$}dMxY&BT<d%pkJc1t!8|8h!d_xnUFl@={yw*
zZ3+xIsruQj)?~mWt0~q&MVG@6%=CEvka^j`SKd&b=(GD-Np0$}@3FF}U7h}6>ReW~
zUfz$O61hNr67VmOx3R`xvtL&n6x3Ox62K8uWc-nkDsf8W>Glo^llo91A3Br0m8@cQ
zA>H)DOca)lcdFBBz4P{5w6zfI4}gG5UzYvRX|vp5{qHDzrcrt;JEk1xbBwkIU$<+5
z+45WurvX|WD|YS~TngXq6jkH-RULi?G|ypqq@7C6vK`ER#i(^TF4V8PH?e!-n7c)A
z@|;fozoM<LJAbGzxAbP3_hKvZMxBxEud2EjH8`iJJ}wXW+*jXhPPBCee$D*lDw^g(
zttoz<^XqvLkgFrp)hNvE`LFQ0u1hT9tG1@t#1HH~obFQ}uD(|Fc%Lr&gdX7Tgf%So
z_~ztcC!ag{pXZnQ^;F>;N`nlC;bl7KklE{AHUqh3#O&Z+p6XtX!KKeiqn!qr%S<tD
z3^5_{LCCVJmboB4Q!gP)oNrX0(9>n6Mk8{h!JgV|9^*9$N9T_R!amWQY;CxH*$Kh8
zr9JZy$z$*HV9*ttpxPLwTlEMZzqA(`(w*Wlfihg~7o0<E8U1r>HNq*HmX>ca$)BoQ
z3N3+L*RLL1f{&xe1!Dlv`XzWwH87LlR<bXOz?CP1w1QUzw+Q0NCA#Ac%mc<e)Ryhg
zJvrVhRzaWOeRXP5vt}<7TZ8@`1zi&R+nM`{m$f0fPpF#6S)w8_)^4!ujWQKJ_{^$C
z!ZTSi@+%S8RtC=ZY%s^d09d%ttZ?x5&+~F)%@HCe1&@Vo*PP|L&9?s&7vbTpeq>ln
zJ->DkPUP^xhY4jy>HZcv#qn*ka9UrCq4VMMROBD_78)bENq&sHw{b&A0c2#ho(#Lw
zR?Jb|`+-ZIv^)NS(Q1-8JCQG|PRBk%s5rv)Asy#FohY|v<ci=Cx)Fn=H^;+5&`oE;
ze1_G~TLi#kvT%K!(D~B+3Uv-ifLS>fepf;5F%s-UXjgDay0>TExkpE(O^+`2HynE-
z{@X*?<^OXtASL;wG)*E(eYx$iaEp&usW>9f9FgfeiVKZ!^n&aX;cjS{TK5bB01n0?
z;!p&d(h#cQG9AwJC0uB;BXOa4@tBa@%p~)UvmY@IG8+w48VmRt6Y`_falh1wR!rYO
zK%@Fx*a+4uy^xkAHYSEg+eH37pisT{<@9#(4sRf)Hg<I&$|1s3&#R#)8Op<By&=r_
z3&&NF)Xv7h<)05)tcks}qPTuXP2&bv<=)sa5b&Ay6<o~)V)K5loA8nm^LU|>ajP7H
z-daf!wl8PjB{yRV^*iLw^KQ2vS3;MLd<M(1RzLQZX9ZBF=lYgDu6#bZ^|QE)1;)>S
zecC4zoMNHqitn~;5kpe=wU@3Y{Ip8l=V@UFoUx)E9%voZF+tWVKce*rV2if*bR0hJ
z&9i7$dtuy-;5k=8dRoQ#K+$_gJnlqjgop9nC)Gau+4+8z!vmf3-m7mk8(jKT6Bz(%
z(|6}k@y$V`MP;A+nr|0lt7`v*4gFVc@hkfhow&c!^IGROEnXZZNfHymXv7Md4FrhK
zrO^U{BLGjOc&U2_IvL3iZkkKojby4|duJ%Z`Hg`_1BixtS4)U+u%V@&@X|*X)Zjou
z^nGZg0n^B#R<T>NKcUo0{Q(Zt@W)Tc*thjf<RrCmh%8C>Lqx4^wy>pf*xAjkCnqb&
z`-P3a*6saB|DgysOR%7(8&snZ7?mk@a6^OeQ&_8-jm-z0W~AhyNNdpp!T<oYLjdN`
zyf(R%q2_LK@3V@aYQ;D@%!`0~#x>V2s;QI<d%9NXvwyNrc)a{sCqAJY!`_Z}XlEVv
z7=P@}dHoja)e7hM#E7dj`R}8Jlk&>3h_I*t!zAz^PGAftaMEq!er=rhG4H{$MHR+8
z{z5~K7f75J^)OtE_&`k~p8oY}&d)DUf+(Gq73~P1qr#(YM6#NPz#bC>rk6Q;$SJJu
z+C)(+zka@V5Deyt+2R*fK{gZ+s|D=Ir>>W?9pktV46j~JzXB}l6hD2Qeb)}fmBV38
z;ySLQWgVQ#%c=3@>la`Ch<;?Yp)b*j`cAy)NdRPGF{jIJ92}6iWY-Ehx0NqKiQa&@
z2R2I4cz^U8eBX_J7QAW^{*Z@JVF|*FHZM2xFg)^@_k)SI0@MHq%!>N#Ly!3ileu*W
zM?u;f|B)N}%0>obG}2)6q31joAm$;UfZs*u%;@f=_@h}K@?7$ulfoMJDBHysMhwGO
zoQ6Hb^CWD7Fy?ASGiFiHhy)*@7Dr3}^bfC=%?A(xF|{*Y92SM69kl3oNvd{jFG`xj
zHm9@G%VRd`CfN&`mz^89pvp^qd&N;#_cIPM^H5hwX_vL5S$u1JqWRUAhRT-%(_fgx
zSCcKj{Hx}u_L%=rsn~dPffJuS{gH?cTo&oQyzp;vh<^SC|JREHON>C4S#*|!@WP*0
zOMhz@m;@C%=r;gfr~(Oz63t~XK`G>|l|s;PWcsyBH8<s6ud;Z4y*<C0HuOBImdED`
zV`hy#+;h$K^@{5)ebd*=`(AA2L?$*hoTuLA?Y{Nv=MpDcGVV?#(5B6ds?7|~NS`Wf
zc`p`;@ydO@nSK5(3N$R~#EhYnsT17B-FpAzTv;CBgGu$#sri0gZ~Muu=E3^VcN-@6
z+a(kXO<>@k7>Max!JRQ$aODIS(C>M%UHG`$b9<Ue^<%-V&V&g!e)r4c-NW5ovkk%R
zCHUkl5d9T?DtPa$b+(3ZjLPN1d@i-kLY4)#(^HWA*IN!tp8FO#`*s5nUAa$=dq+c)
z59-AQ9>?-8*2LTn;g|Ux!|;1!W{VRk&+aA6?nXTE9zS$aRyEo)`B8|md$Z|Cbv#mU
z3vJdr66W9_Q#!ma8;S@{iZVRgOBU!8EW^V2(DeNtD_m7P#>CY%0!J{8S48m0b{ewE
zc65_NUU`5PT%ZC$1TqoAz^jw4P}7&f$fuP^uUJdT;E-|aNmqO@n9Z*pe@3rVH=Nl>
z(RdO4)=u1?>h>a<s;N{zma;6)feL5uR|j0Uw9P<St|TXzJU;u<kO_KzLkQdbUP7j~
zE73o+yPvjB|FG)9mH2-MwH6nWOMRK{ofrfcaYPB81qIBB>qHzw3MDVJd%gnwJ}v&J
zeu3~N`46+KY+1E8<u;gIkU{hD+S?+TORuvupKN4_+0?tg<=ohqf-0MlUCFKFs=o$O
zWQp+mvWTDQZa{^J<nodu_r|wO65JgDCN0TfW?Ih=*5RY|Rxi1*my#wGTJK`yL{^9H
z&|UleUs*&P`Rk}eK#tz4(_cGZUf#a_NZGttHn+c>e<Prbbm2BsVD6IeoQoGjn0)B3
zT-|{IFpfz_XPBDAd&2*F;wG18cYf4FCFeqPXg1qh-bl+nM$Z(c4G&+*0@$JtEJJ-U
zQ)X9HFb=ht?wg~vJG`2GaMSs6pl*DM4YMZMc+#Tvm71+SVQVs#5w!mFi#~90)j-%3
zq3Ksj+kUQb3w^F?iHYb2n#ptCjrEC5oC++<kfr@H#(FMhT&arReJg>}pEmKnFPOsq
z4mbQqVg~!k)C()j`K}NI|G4!40sgr6KDF*-N10KRh(H8KdWFr^T&k$}X4>4WXV2iy
z-21jZ`*E}6mCE%`2$#keyCWg(uQQJ%0+0V8rVC7&*Hi3s%K=cR1b=lZ_Ba$rQ>i1n
zc`s7J_^7ju6UDq%%D1vCcDo}dSGMubxeWg^*c9NB@KkMM`1w*f^3Ju_r@Nz9I&i_G
z7mUyO>z1xM2-4dqW*i)`=)CKQ3Vk|EXZgr@(Lg;QW6Ds}YDlo*QpB)Gu4Uv~&p&^g
z-g10XW)v!6R+%8yD!SK<s5wL{x;<PRi<;1*o+*#?gT`(3uAp#m+_Bg42!)NE={im`
zN+V##`EvI4Sx?0H!&%4=<qn*6!p&bZ0Y5BbJ_omttNFWw=VRtQ@5$9iH^0q}U5x*^
zF!@DypDAu4`hh^)a;i{H*H;hWcX8yTiwkjU1vc;6SCk!cp10+Gsl2gSb^BJsx^I&8
zX{opUIQ7Q2=Jt1|k+mP^<9E2ic58N?e$7d+Y~OsR9pCwNAz`nN<;~<SMd<RUpTid>
zbbb!1v%I=EVq$aiSEc^7o5%cC?RFoT<Q8@3!9=R=4qtZL&C?m*ug7}rE#AhoNxW!;
z#atd%|F-W}o7-A{zU#l9dd_kSqSDWcTzi$4zRGl_U`RaqtzJsT^MPHxz*m7U-@MIE
z;NjuL52vxROphfpJa>m#HNNJM&%GJ?_bsr)Hif;XMdC}h0i{YUk9P&^fJ5GUZ`qye
zVYv*SQR-u_w|xjvqX<n@lXVkm?zk-l64lEGvNdEVVZf@n;>!oa(-*eo*<^XIt*kFS
z)j&|26bZlny9~A4LaNqB_@EtY1eAyRy8b~R2E-!Hy+_QEGhpt|fiUeHCFaDUB#w_K
zuu&hyn%hTs0YG;eci0{i0znZXMrY`avA&HY_o4F7V0!N&02eJyh2|yKAwcACe3nvy
z4y%~d_-~d_TP(jVgp9ed@&>o<WAJ|p!tT3~cLI`qKfjJ+Rr-7-+rO@s|K7Jj8>ho^
z-Yk0cds2PcnNK2aIDQdK`Cnug=%5gXV*u=B$!ydk<l=gPvaBh*Dgy%4^i4fyAQ9eK
z4Y2}I5Q}z3-Y%I!iL}VBH9^0$!WY<VX&VvOm#Z{SsFXXQ*-#0Si7H3b8diT7uKTEg
zxPqigKs6D9<;`XPU;lTjflGkSnyrngoGX8o{tetQ>^%CO;llvcUz@#}q^QOP{ssru
zi|;xsqlD%H3B23+P{^E*fpkid(@B0Rn8QbCe~a+IF|$e7GB9y-a$EmoIR$-&N5RQU
zx}6Hih<~g6JlIJ+ENjti!h?1%BZBm54PWBqhqkyM8TyOMEa|<6nO?2m^&d}tyve_s
z$r&H&7xc%WXTMYAeP=+yi=dh6;Qty`Em}`zQCO|8!lvtq%~yYOIX(VY2Y4q!Ksxh2
zG#z}8%`wP)9IEWP1odtO3uoFvEi$q`V>O;*4ZVJw+m%utw4YK>3~d#}z==x_gzO6B
zueaW@{af9|q)y1zO{|8>#Ai08@W~k^M~}~q%ywZPx~e_oX)KzG2{pg!d+XXAulaI6
zy*~R|K`@T!&XL6b7l1WB{9Mo`NDnY=0vP1K^z17C+0GFT^IC|=6%R$jbi5uRkEhsP
ziy$4;J7CN+w8f2)5BX55{me^aN!&0*t3Qg=x%85y`25-H25r8zK9i*iW7qP|hd=qu
zB+F}0OD&fA9}^gME}x3WjU|q@etc(^*V*ROf9cy^T37hJUyB6tm#cKFS%p)_FZ{d|
z>$idd3e}ets<BIz$n3+OS?OA5w4t*MV3F@~@pjjp_$NPU12oC?S?G20UsdmtjFE2-
zl^BH!jlVXi{<Bj0@5R-CS>AG3<g)7JN9tFd>0l@D6`Ae+YI-Ys<B+9U%mpl~oK%_&
zN_^F>0R@VB8qUjwg||ebr~Bn&-fs*Cj&S`Me%YJqe1Bt%N$q)9m-cdz)4gxg2#v9Z
zU6qh~i2R!6(&_)&et&SQ?7GOX);DY?)vDQoV4;eBtol623?&mtJN?`M`fC=a5$P-%
zqX1Wzal>{G;W`a387_G+W8xkNgu$Var6+L7*K2Fdf2Q^XPPousPPT{R)BN8eulibS
z3#I-|F#Yf?Xew6E;phCK;cuSTJltxJ6fxhde4y%F)LCP|7WmcQu%!HlikDM=^?$P!
z^4<-6%>(1Ux#Pz@JoWx#w)qKk)(G1A@h&W8eDdW^w8ZJBC)|dZ9&hh|rpb2EyNAmI
zH&ux3FPAUgjQz2o5b9FDxWvNpXV^x3zu?)zs!Z;mvE1Z?^2-bB+AOD&my!=_sq>o_
zxu-J{$w$o%^WQG9{GEBCcbuJ|`{P>spHHic;ZMK5`pMG%_v=LBd@}p%eIuc>)jK68
zHqNgP74M&ICglHVDt!Hm_{Iy}`u8;d`@cJ%oi3!$S%|9nd^~xcd!A?{boo?afS-OP
z_v(&7Y3b^HmT$!5I@bSzseMcy1uUsv*uY38DH8>qYU*wMkN+P}cOBK_1NII4UeMhQ
zqq`f4(cRsnOF9MAjV@`CmX?wR5fDa*5+Vo)QqnDgA|i-;_j}&=dH=u9+0M?{Ioowz
z-_Mu)mYmd)&a+(m;a(C2uj`}B4sxjxial%8(L2;_$D_3lvaoOxom^K<6FpO2a)n)W
z@jRsEfwzhm**yTF-UT5sfgbH4K-=nx+T@rdi<hJ3Gq40TzDI!}f|;hgJ=^rO^&-M?
zC@p$k`el@PJuh1??<6^{ZGEDxoSH?4)vPr89+IdF89xjK630lvm1MI3(dYuDkPT_`
ztj^$=6Qxwrk%!xOF!jVN@OViqQcnCFNmR4RkNGS%3MX9Iq`a#j@k=4RZcFl)W4|~6
zhmw<){~+st>I%1$rFQAOk+JBeLq$p^)aoP{_Oj^VCpM+fQ>pUyf;lbtFzJr2iP2_U
zvZ!=OHiUD5>@m5`9XX-ih4p_@D&QZui2H2;d>5vvd<9`M0hdb{|JnsY+tmHr9R42&
z8<g>&H{~%bV|Dq-J9-U%tkybf4GOX4FoCGR0b3*))`TP?#}N<%|3*WFvmvuOq*%FX
zz!HM3njV4!(m`NWr0P$N3>t3F<WZ$M@3i{mG(HZ_wH%JuYAF3{`d<>fbVmtoa_O8C
zoZa=j(mCl0;%fhpB##P`+uBL-7s*lp@V$IX`?ndp6=Z4NrsKoZMj#q9Ri{u|$<NDV
zx)-FI%as3M#CDeXJ5Q;1kv6s_F5i%3T}foW;40T*7!qieEeTdl-6Xrm??gC4rEFtG
z>8gwOmKv}7;ec!!gguAq3wbL(=eB7Ma|7x(IGyEn4i`ZooojBiD`S1ItY{@n9j)<|
zC;S6B-hWzYn;9dw0|lDuR~vy}8?NE3lf?+rV2%}g;s2_q2qHaO&5uan2i&^Gr<e$x
zpZkaM^naC9PtB}?ZOX!iqS6OX@jCcB&VeTj#%4K8cCN?_Nu^NTXT+5prpsyc^1R<D
z({+}gwT~pAj>=BO3!`({AZ=_augIRmL0B<N5McUG6-D4iZAv^da~IhP#44d#SS9qF
zOlX-BM>7BA96+86foEfi<tmc3DF_K*6;MLx0e_GP>goUWOH;-CFW=i*#XY~_=e8lJ
zRBN|3;+Om)CI6A2?1jy<3$?PPFZ7>vS>sJnEJrzQ+X*Io)$4!C?xnGA74d3@a4A_^
zJr(oEoA(@q(FnfFFqp92TzuYV$_}dX90@9|&4=NqG4uC;-`FB^q)I~RYi&bZuxX{K
zRI-vp&5_v}Q!rp7Ut$wRY^Lg08xd;o+1)#@YQ`i%*sfY8x>}!)b1M?Hc2vbMQJvh#
zs$9&Q;L1k>wx&9l=mphcyRnHDBNQo&FKw*<ue0gF$e(A%za*A#6$iOjK-P&QlPSPC
z%_eQ##NfQsA$zex*<e@KMF?!1lXl@c$tU6Ck~_bv5GuBVmEAPp%u|}%vKzv<|GoBr
z<2{R9i3MOeE5lU>ra1|WqSUX;+T-fK9xHso<J*Et|Jx*joX7otLsNGpg5h(96C4ml
zf<4HcUe5`A>|pXuBHL_({Ksyh%f;mYxpt6AkUxg84Kh`3L(w+wO>|mFLdgqOLV(>8
z>x5l&e?_;NRgpEFgCIc=Rjy!482=r=qy>*WMNt(;@JkViYNqy=(#JWQX`K_5^|!fV
zXXvoNS7cZXa|H+&&Jn`_F_j*Y5ROuTq_PNKbrE&)&mo8_>ceL$boco&T^ccVPAg<K
zw_bru@*+fK@_s$#ot<8{g6{S`z9&7qTrDIrk%2@~d^a6o>8}#=dL9r7M8v#`CF%|7
ze1+=g{iyrWU%xlCNhZFjH*%y$eYrQML?%P<wbJ&(r|GW+)L$2sa576hD<$gFqI-n_
z2UhBfXW6IKHT7|KzHTC7t0#KhBG?a_@9UgmeWaf-=hNSRBG^6EKS=c~nW?|ww*PIv
z;Go|?73ILl?W>8CfvC8Fk4+41P5lJy5l;jtW>@MJZPdD@!#>6I%=HU?`~3()@%ZQO
z(0#YZH}Q{!5B2YUKkgPl`oWPOY{{>X$a}p=lKLUS--Pi&>eo}jG-DVzDb)LVM>!us
z_EWp%nlcAm`2tEYyeIjJkUsEhdfdjY0X^}coZw&|M=_@ywIL$zn-;l1y^4?xxgcJ=
zgigFnO8jMAyvloWWp8W_D-b-KxxcEx$E_)|K!y^79<)_1^$R;oC7>&K7)t}fj>m4E
z4gzkWwfe(VSIv^<FIb2R*_s8N_{b60WUe|%A};?U3?3#4=o19XCD;0PA){)ed&y!C
zljG#Zr8!d)yt$boQc`<Up5T*Y(WeIJq!y&47SrpN)$7y*840r+TxD|?*Xa*XYYy#l
zsSi|EM)ggt5*v#VOlA|4n*a*40%Rb>p-f<-rH4VOPo))R*iJFsfmz_qH5-~QqXM2W
z-b-`3Yb1Y^@$b6k@)Eol_2i3A=0-0~<CpZE_fOu(QuiY>k97#BPcqN>vM#-|uIsb@
z9%cdj*-)Qs{D$mdgN$2p{8%m<tk#V+v~%v8DXr-XgimN>q-q%mt<68}5+gRKfcVPd
zQT<gdDVQ{3Mto25;YgT#{2ATGJXL*L;5(Wtl3F3gpC{#$XZO~!Z#?h)O`b6YO^sc$
z@q_%X%3=fEDlLYm=C)5q8T{>Z>l}TEoEZw-8b~}IK)qhO0NDlCZ3W+F3nU)Q(AMER
zUm>fQ<;%pe&E@vNiXTXEdzw*IRyffcG&pFM#1y~)bHFU&micLqo#VIgKR9Y9br#=c
z5X5h)JD3GhUl-zhD$HUi%4_hNjw&j8T~tO;8`F$i`3EaQ7vmLIq#qSmA1!q>nEV=e
zhpo`)n<#m=S(15wX@sC^Jhk*=MJWRj(?J3^v$d66xAT`P6*+5(`B7pE5<F8=B1&d$
z=O@0<Z!36rE5PT_bDqzQ8J{;AK39a4AH6RB_NV+p{`p^?)?GLmOCRoS!#Kv48N^5k
zxq;yjE{n`D60fY0GFEl#mQwpx(la(Q*{%I~u*RlW%05Zu??E&ZZM0bdvR|yrneNcj
z8s$=78O8Q_z(N+_i+OE}4iB|Dx!>9-z71={ID?fpyFRScCmOEBteO|DR!G!n`ogq}
zYpkAi6*bnCZ`YK6*+>+twM;9tv17NJtab0pC&Z~^Qm*qz`{GRq7^H38Kdwt&-wuu@
z2^9!GIGqQ`H5L4=5V&7u6(!~&bYm3+TpT1H;P?&xlXvT5#&?U>Yb&lVtmWT1kB$rz
z1w14X;mcxdDA#Q$IQG_Oe9?n$C?{;pRpT!(YwS#GY@BRtA#Cc<Yr-I!ej=OtCYwyR
zo6ve$qYBvRVsn!n^Mo&03j|CvZqbAo1%;dZJ#Q)}5mOOa`SE5z&4wptlXwhH+#EX!
zc^Lrq|7gLw+Vf<OvtjR{Ys+C8*YPB#<&3bEV}I(>xAnSl`<77neZ3X2U>mf*5ihxo
zaFw#}tZn-#2}OD_wO>1ZQ#;d2dnaiJhkgf7I*4yo=iiZz+&?mGOFWiU*2?DA739jz
zRL>WAx%iH_U#x@Jgvjv=!Q?r`J-SVl^=HCI!#`$rFP)B;B98|@b*l8ssov|-TorqZ
z>>}puGPu<;zLhq;M{aK49eCMo%VZCH>^ADpr(o-W)sQXB))J<C7Z_Dq-GrFT60uh7
z0wx@PT7D=U&l0`)QN}b7?F%Z)CSk2063zNK-TqzvIs33Z2dxPaxAFP?;h&n18SVvM
z(hVzp007B0B33bCU=vh}CWhr<F0ILEb+Ud@vG2~z5&<Rvju^S+&@T@Rja}ds*|6%T
z%`@;Y@om{v@OKJt(ceTM!$tew4?Z$f`w{mch#!+(qnt^`#je*7#A_xbYZce&A4zs9
zuJ_R-*@2{afuzS3q)!9?6t(^-`S_>o`=94zH<h9{)y6lqfj2L*ZW>x|nm*pV{C?9)
zcH92_54ciM{XKCh0?!<Qn*b*XYW+PVO7ZX0@5j!><0gOOv;HPLzE1u4H{<Jd7Tcek
zK+=_<KOKR0OIdecTJKgr-mQPX`--{gQb|+CCrJiC!X^;*7m&A`x9IQxh}r)>V!QtN
z{BKg$^-Sw^Cfi-E^PfC2@?$85l*<OI@g@+^h`2A$ZmFkGa2wUw%x!CCFh~bj-~&Jb
zKf7jTY24fD4ucts07-UDTPe?e2_R^HZr`v}KKyL=%lv_Hg=!)xx81^_X^rkv5s#IH
zBlCLGTBBOK#bZlsjaq7O*imk^!DPk}qy6;q7vJ$uEz;vJ8DI4TzW%T$6VM_b5cQ#G
zzHWwD8;!yt<8fF%cNt5SjE3sw*60F!mJ%iVm9(ASK$0eC^NFq1Y^7!vkK@Xv&q9M`
ztLJ+0ug@*cqnS$ft37sWLF=FP{AIs?fAeVZm!-qnb@1-QQ&H!c<%^xXB5#S+aaS|(
zVxYNye`EbN61(`%;&sMs#F{TV4X1JI_sH1y^zZy=iJ_DGIy6%B{ow0Y%wvEg^h`bn
zmS<4wau$S6mF`^z;V5orL;8OTbe*daOD+Vdlio`ZQ2MfbZ%U~1etMwt%`rrzb?C>G
zD4gCcKUj<LDN{B&x5}IV>Hmma6^BL)Fw>z-0qL=F<>e>yatE79=)Nd-_@v9F)b&G8
zsB<AiUnB+`thBPGPW0+}LoG+->!oXZE1lmZ8LRn5lz5r-thZ#PyUr#qdzejyJ4@W;
z>*|yUasggaV@kDTJl*As@xs49)_%fN2^_mjWhI|nXn{%cXR1E}_=|O>k8?Zp$|`Dp
zOz@RV>n@78Jq@?Q*!gvLH;Q_NwvMeDtqH%C`u_98$ncrI_EV^Xt~M;VxUJG8Df%@B
zb3#wBYEImw&kn98cDl(Pd|1K7;!F=Svh(F%w<-%5bL_E+`m=K>ZyapqNv#dbsjKIy
zy*#wAtkj?Ztp9vlvP2PyTw5hEMO?e22v1vTh);Cc3_8zs8H)~Hrax=58bqtP=eBz%
z!U{T&5yiyRe~1_jb&4!l0vkavD#rnSE!YPUU5kpS78V{VH|VFUq`#9B2{hYd7oSVD
z=NWJ*w?75r`r6XhbJP0|RC>Y+J*@DM)$_W^MMH%yS`0nuR@%NgYjv*~Yu)}_2W0Gr
zH#?O?f2l-bK!i2`sYep{dUKS(^Or?D+4E1q<D3PtA(MiyVjEL^`ag`V&7AtX(I#?|
z2BOC&K<8jHQCPCf)E`KK(g`Rb&i9ilG@jAO23QT5L~bS0F7R8Ic-q%*#Z#tvHl)!y
z1p%b~nKHa(j%M{+iR&M*@~zOP91j#<h%xMG#O!OC5-NNXcHFHG-4El|BCWNff6^Rz
zrn6~gBf;T4F0K$pDLCQI;re$wSmIoc5sGw<DU9PMKOhxP!0xRntW}8z4I9x>MXlv3
z9JVGH9yw?B6Kqo-48N_Mb$;gNLgaWoGUd^t#MNO_6vj#S<fXUhO3)lwzAA$NDiTD6
zNW!S*1_SpiA$Vpc+V@I_Ng@{1$zWpI-^sHHQN$ma`oy&FjRhwJ`a>S9=-_dZZxSA%
zMse1g@UWX$67GnPbR^eSopG~6eox$@Y^9#bSFvZygjA%hekv#0M`xl8sv$v#>x3h7
zqy_vVX$?9RWWq(+xS0uoKw%P&f~lOR)F__WIWZo4q#9LR5TX^l+{pTS*t&&0sk6pI
z*x!enAs{o<=d}y=SgdaI@;sLzH~|Xg1!*&nWu9EWrNPN1HEL!j###^SlZg1g*I+<V
zD4Bia9LKAHla<G0RBqBMPX6)?cS9e}V>g%P$c&^6X4d{3Ws?PeUy&W^oh-_VF(FaD
z!YTH<21~zuZRF>o4_mdVlG&a^i4WvaX~0&cQ>6_uew=d35l-;jvrQk-6eFw=vNX0z
z=|w)w)=ljs5OVCBv>&&qldNs<4QU{98s?StoLqK@dn+#EVZrH4j|K*VOjk84n6SX8
z^JHZ*i5xqrz0PN)0rX3ufKVn4B#PlP8p@QxS@}5Fj`r9zi3!a~P4Zrq)E7IBsHtj>
zjs?i(DN<-QO(~+Ktl`fY7aMrcw7=m^3dg_c!pK1-$Aw8yUvzvA)?2rF1L{hM{$fDO
zry%2lOA#$b;6ofwMs!_cLYwr7JR*o!$e(}5p+qlk(W0lb*56-cj0W@TQ199IBM0M9
z{ApUp%MJ>0N7C_}?E7J8QkKF|wbokFsP`NoyhK`n9zklWfiSir@tY*1=?bfJDYFgL
zRP9+(vRznYJ_j_MKD;x24DNck0%%WF2s-xp3$lFP_LA)qgKR?$NnWZqc_gRLO-F=v
zR{XFx#S22p-k;5HGxPUt$~UVXSQw#8YVcS3>q7qcx~_kK-Z=QseD>R{8(tm$Dz&R6
zff$<R>z>n}ViQYID0>Ouog6mtiin`Of@M`l6~AvhrLk&}nb<IHj>p9&aITy2n~ru2
zNsMp+7iT=kgWz&D*v*=}!2VZ^FTMk){?F6lY0r3^aNE*3=mF*sRbz%LE=570<B-Hh
zq`t>*JlQzzbDhu56IMy`aLR!(K8fp$yUlE^YHQ$uSTr--?)gLt7y*YM<TyR>Bou?i
zP=M$;TKb*%i~wR2iiaHi`}ry9kRbw04g}eb=4=eM$+o)DyrU(YMgA#(%op!tG0GB?
zuvqjk4lpb?R+(s^j{tcKwbdju92lyNlGmEpLwOgd6EBLMZqEcIYwNh!u-L7ict(zC
zP1~2bo{kL-kdfhVIQZG`iWWSy75m}385d^i+l@aHL};1mFx?D00<=cHm$4ybFE)r!
zNkjeg!CO6}rmwRD2e$@HGXpy4giJK*H3*WYyX^Ncf?f}%jPtym#8*OxXbQxX9)*@3
zIB+gIwMhx66PfrY)rjy$&pmk*Rx=P|a3Lf9@KIkK&56UY`HN_6cqV6#Uj<d^FAy_V
zMp#?2<EfVMWxzw}K<X2*UQ4f-)h{zY<<pP9uor4b6}RIUCxxBH9K?JjcxcXeod3)a
zQ@Rp=95KeL{543MpuX^ekVh^mX!bm2Px$eJq5{WfUcdL|;~9M3COci?4@SSBB}RH{
zKp3mhof3L!50>9KU6DZ)2lUsxiy@2q)dvs1Z@rDeUva08z%F4fm1A~!o&VSs7xI>7
z5gJ#x(tdh2DB@X3bn4|C+C68OCYKcWHQD*^KM+P4$aMkDMpTpF6v9Dz@XEb+&i{VO
z8vm?jyR(hrp#7Bf_E&4*L$|_2Cm$kk4Os=F3e*7pLr^I?mDCdfrL4y>Dn@dp;1(ev
zffXtwYjDyo{xw31gP6gilEi-}Dvl{Qr$p#)JA*xkgHOIF;bf>XC=zeR<0`d*mTp-|
ze3Lkl5Q0-Uj986*tdz_l>tIynuR4xn{on~x`qic|-R=`esj5Kp$Z)-?MwE)T4umip
zEt(tmkU>qHSzUse@b=yaMe`sP6b@=G?3{f<TSJstBq!Lcey=&@hdwTZK3?w{$wf}%
zhl&>yQdbiiQ|nSWj31<s8pd#@%j}k(VbVvV`_=WD$C3eMPo3;4LJ)~7?$L3=lB9+y
zvnGk+D3^iyiM}RH*eLjNa5hyzKjW<pbkKYGnF|cZ6`#i8eWJ-}>f>uo#9wUVk>+!l
zRu-W30$<B*AQi!-=@qLbq^iNSt3vsANQN4&b6-<FK|$XD&m12TL=2HMfl3Kx>ZQur
zT2%bd*Ye=fa$igJWFGf$AoN&BjY`mpoz_m}A8ErMzSSQ+F&{aN8Cgxy;E&ZjPalrH
zj)z2nlcm6q6iB0V66AH>hy7K;T`QS)ON;DEjmXz_yZ_E(K)b45JDXZ7TX8&7QTO3}
z-DeskJ{B6j25<k_zrBB1%g;QNjbUIYr!LB4NJ-p91{LOc7czJ*=N0oO>sKVAbS4ej
zO8(du&*>(c_9mFor-aNxODR&chxH8k692Xp2OlQs&nBja<%QoT%x%`rao3NOn#jGc
z@1C#kLOt<pK!0G2(7Z<3;;#zt*m&H+I9<)?xg^ViDa&Ve{J?7nsay*RiKl@89KDm>
z-y_3*u+UV12*|;HH!Rp_Vd!!qSug9KFG(!R0NaBCcO;U&0!3;95sz=Ngdx{103o~b
zeR1GWeu_a?KlAT<&zh<1eErf2ea|la9mR=P8WRKejSe)(9$6%D<`0@1Xby3`-$)xN
zWmbVva$E^=#M!)03e(}m96}>5;%E?j(2hnNG)K@TYg1p<pb6(wA5KCfo@E76356GM
z-U>q|zhZ~ofs-}2lf0@qI3QxTr*a#_<X`_9Zd*+B<eTIw&Jg^1A4xqEl`(s8YC<MG
zdU&Z_)I5GSr3``^tfq|k3(2J$47e)PxeKHuIv|6%AoWroU?m+|A&oL^s0~}8@N68S
zpce)yyj#IYaWQ@CpGe*8)(%q~T)yH*3f0MGkfEp~chz^e>sfe-CcD%|gpRsI-TK6i
zGX#q!;&&$46U~woU1Q+AMc9}aN^Q7wjGjxNnu9hFfG+#sh4N`H%^6lV$VA~o$xU9U
zp$vL_o0x$(3k+Yf1}qMA4#=HX3FxrF#Cp0yIJePBR|b42G%k_JCt;jy5s!C$4n_sj
zCcV?CyF&B%it|J)S~4#!?QxKA4Aixt@NcWk@eZc+Leo7V1`Hkst}H3eL4a>@yB4Db
z+e?}6Iqk`uDFL(bz5@AoD<~$ul4cNJ=y{?$0pl~%WOto{Nd85f`^3$wI?+<|Hg{(E
zf6b!YC$^zR+oe-m1C|f(W(%iP1|8I>EQd?NG->iw>F(i2U1OugxW3-YN)J8?k>g!*
zRY<`(#$8)B=GqfSP+UQc<|fH5Z6$6lKvV@|#2lE3yfZAyn8&w(#-`)I4DUW1c&)nh
zPtLLilWn=P@P!bEP-^{4)|z#t|IC}%`J($8CBz0aW$HG~BZ*;cRedP0siuDvAb!3I
zx+oC%&?cM_-)0qL8xN49KN{Fe%N^p1ny?YTQQ8ls=SsWDf%<k1YobE&5<~0E+|Kd%
zG(wh{2fL|OG=%#?^TURVL*Kqs8m`5Lnalkex<VT{`Ks!!%?JxqOHD0@y~p9#ObJ8c
zChzDW>JxQ+@B+~|W-KXh;Jsz9?YpLR@K)^KK5_g~`_!R!kdpd6mE*8%z6OGOx?j`c
zv!P;Xnd7$b2FcOVv4$Nmpu17K*8ehDAsehg==6%oY3Gg8DR)+tqsF^E%hR>>*M$xV
zn3|1no8+U~jh@bpQ%C13f0FS#Yn1ya$YPGJnd|b+*H@vAhOSFj-<&aqPgcqX9sNhK
zP1pM@&VLONjpko5{s_D}!ri+it?6|X&DS_f1o3Bi+(!t~Gem76y)Hdem)?c40BS7e
zqN}4ZXfaAHq{F{kN&5l8Fer1k*xdUQ!925teUgH9i;{JVYEZ?3e*36;f|{D@+gKKZ
zldJA3g5{AbUx4`|_ayRvE-)h(Dq7cL$g;M(>J2?D59!WU$TpwI4m0i+>%T2n<{)*?
zx|V~J=!RCfiJW+g8ykn4<jfA<{+5818}%b)j`9i4%$@$_bow4QjXDa&&u&_nv#$;=
zxNKK0lukPu8H2*OHnJ9T^0;p_&UT}0ceO}8P9N?nU%BZ;>|B3y9UjY4zjC)8{K9C}
z#)K<tY4<YB?<FP2t7@RjftKC$p9e+yj6lJzU<CGkxU2r#;OcqR|4S=KDqg9=4V9fg
z;++%()s|Py)R+I-kK>WY*k!5vG{0}JW^>O8*E8%&Oqplj_477YhB@_1bFoKGNwIMP
zIv`xw^Emjkk*FkGI5;^rPEaQ^s1kblYyatwJ!Lmx8@oeCBX$dh0~Gr~Sj*w$1NVq>
zcOhJN&?C3gg&C!seSx)!+>42G_vs-ZnVKH_sg|j9uIN>8QZRjzIUi#bh91W(DklV)
zsGnU@&yX0wr`H;e8{%)g#h2f*J6ZN1zl64=u>8mz;Oos{YIvPc|ER8UV6t$AERa62
zX<zTzKL&jbZ+j>16lFhENm=s?Nm6s+^hbV^?0ZroThhw=>>IA!7JHU5yLwX7Xw_*M
z+v#x&yx?UN2YO|bfpyKHTPFqlK?pTih<i-{n>E050oaHUq5{z+&8Aol7^%XJujwli
zCKtyghUX%OJeLQpp0ZKtbkp15VS<rt<S_83c-&srP;tWrY7kSe#G`Hh1D|ei73jkP
z=(by}gZ7|PS(ZkjkSZkLvz>S78QoEU-`mQ7-i?4rs{M?AZjl(RM9KlJ+Px=+Mgan+
zMhom!t~6YeHPzP^Pz|$FG8<GFUviqiw6t0L?S4{tg#nQcP6#_Pkb#LL`@5GQID{KO
zM(D^Dvf93{kb;5yXF0(L4otMIIJhmG4-c@x9?fzE$pt+jN_LwwK3vI5h?c>T=9JQl
zm$XaPVLY+<yt?T|*s~!<p;owL=1qCLcVJbU62N^X^1~i05h%M@yx)emD5D%yza?zh
z#Lj`?Jn=T~y|L{W|K^OFcnX4w!hpm+j{9PiDV{0uVgO|Sxc!JSC1w_^R)kCW7#9*0
zCrbWK9-#hP4nR$yDo<M&IG+V^zsQ$CrT8YM=7PB~pFnN*Ih^H?Tr4TSIZUMa@<nz+
zHtT}JrQg_Q<{q*hoLqUNYVpIK)rM9FEZhWhI)~fl_zB_$_WxUwTOafY@PLlZS4-dr
z;zJ4FLo=BcCbv8M=5V7B39>&p#PpKg4*_1Wcm+gDprz;#A6;N!)zI~+1-wS)Pa-Ia
z7WKYG_hP{Uund2XOOOK6dMaddiy{+4^2A%{)>^!o#Jx4ci#ac7;l9sI-=^mf@ci(?
zMo*TNF2wYCfJIiRiC1`HD-D;dhj5)TZKju@h@8GqiyMw!evi;*nW%}<#o%?75MOeW
z9c_V0yggGW3XaDHgHU+4RE<}~A?kUf3_CFwiIUMwLE$*TIK|Q`_<^&d!5(yeiPe7W
zvnd7);)2vMa9+cYtA-;NtlG5+@360W7W(gZ(!bztr>GW{4So@iz720-()XyE@QZbK
zTg7ET+0XC>naoI(T4DL$1zdNs2X&1c8ZfMrDcY);K;N0@@#i$R6W150-zY-)A`$?y
zPehSDLB*>Z;+?O2Is>j5z${Fi%(i8bpyf;Odl5VhbUPxlIOO;@<KvrJZ*Hoa%VzCs
zC4E23@6lflvXjVS+^n`Jc3t_NI}8rm4=aCuVtsn><GL?7+2<NbfCf0dQS$Y?`E>Z9
z7-LivZaoWt%U3P*t*rgYxiA{Q$KZoHxgteBfw7PJgyK9k`iDD<3OB*QH<7kleZkHd
zN08m4hvW2VC~8mn;Xh$7BmfJnPy}$vI1Hk)H{pr+3^HMS!P_G#1nkOOI>DUpGFesP
zi1|afCUSX<s|*@KxTgw4oJTVFL-+M9T$vsFcKN6zb>n082pJdhxQxq9STv=Ho|-ut
zg@2IXu@sPXTWfK$d}mlD6Yew=M<N&@^rge|W0hf3gs^?<x0Pb1DbnUw4&yVf^KhT_
zFA@72H~t4Fs?y%w(;YuQH?Ay&&4&2@x*@TC`99!{g0h25!0Jr7N<69IXIKG$opE(}
z+}nx{11V>TSm79%Z!0~4JD8c5F|yw`1|J)DrJ8&3c&H?D@TN5$&Q*81N^5#dA6Yb6
zwHMEOW_BK)Z4AYekqt8Q@W@>E81kN|T3?)f9nHcPWEC!4jkZOQtW}TS{lh@$E07RM
zn+g=(=P+}ld%rH{gViWJ^0{=xYb}I2<!GLYELtYg$gcYEK2PDywW+dRJqO-8mK#>b
zr;3iybK2wnadGy2w41!Crto9AI!gu2P?N3xk7q6Jt$fOw$+T&GeqLWiu1omm2fd3C
z60SwH1um6%D-QN?44$#L-Dbs48oP6`e@i>Q)RhE|FuW*jWzc1oBok<0&ZALI-ZGyz
zTx5^1x8<p;Oy(%AuS&;Mg`04B8Bq`@`_9-l)IM`9Zm26cw&IP4Z`o3ZQYrkdd2SjU
zwQjlUI8oo!I>Ol0yv2|}b}y&!0V8c@eW;0FDVV9bZIsf!xwM=XFF&`6agodXqpI$D
z5~{Iy(dyfW;+H+EAt%SGc|F_O^fn1w+JbpEjnCUpI#yfyzmJq`2HoTTIS#ub%?%u!
z+}GVQGY*gwe)>7WzHJzfQ_)ptXneH|dq~gR-u7O?O%%9sofb`~v5MMyj*9j+swBvB
z=$PQm>Tc_!>|E=Z5*;Omb<AwWh>ll^=(;q_f%Tp?+Ep@l&8kN>g-mO6mUVs7e=gPe
zR+cyQAmqaZL9KW_#>{e2fh|P4YsopDrEbn3&#~u=SHEH>y~#=c{TU1G)JC*r5`E8l
z<c{$6viHyRS6?4{DRh4D^D5mPpAmWcb8X3AHe@49o%N4h48-a6-ZQrVSjVr9H-Yu$
zCu<AuZ0(;qF6CC2_Z{cIxXe0f#e`Cx3Vcxhbiy^v+OPJ?Yoq`BP=C!8jP7gm#g=X*
zc>Qp(qp`2*sE|^N-t%;;S79O>p%nE&CoqYry{+4jn%?30o1f_&A~9zzO&=ef45ULJ
z>vVrVQ$GK_^Zc=P+>%3V{UrAuA8R#fcN@6tCrcyiV>vWcV>TGKW?L9>^p<9X{kfME
z8s8ZEn}5HeAS55-g8SA44@Wo!u2K7u>jwn*yZlNyp;<H%_W}Ez_u&X#hsh(k(yyoP
zg`>-V&XfD**(lQSdp{_BcsvDmG^3=eEq8oJZ{M^^pt+DHiU6hCjj0KutKg(#IL!R?
zYWD_ApM<!p(QVMXD3pq4x|D8<oYUj*_nMR1IJjyapC^fb5>JcJ7?toJ*Z^}xk%{sF
zfG6=gF`g|NsSYr3tfMWNlAYihG|IG4SR*NyN9y6-nnnmA81;Uk{`+lPa)ZMjiRA>g
z{6*yHMSLx}KfMO$w!|~NP`d--XUv&OQ@-FP+DZ-ns^HxU0Kx}I5@pA?JlG*)rcYKF
zYmdj?N#bHey-^CW!+`(&QK+T&FaarfD&H&|%zZd1#bfe6!{>dSWHDMX<tP9Q4K^i%
zEL>!$`9hwP=_HGurh+KZZgl+h!&rY3KUhN*OrL_1A7~&67E{Gv<4eXibUhJenAhMJ
z(j`u`nX)R7s%?+m(@n;odb-kDD`>GtY?`K5bS&{g;UR-)s<q;)#1=IZhO!Ech`#JJ
zZ3ZfveF<K4MqBKK=!7?%mNXU6oPJxidW|OhWSS|(43HiJ$wUjAmI2MxEE8>T0en5A
zP!tZph;EeYGJ&eq#jzYNgYY-m(_am8m)h!RE0L>$0#bJH&1RDjgFd7|g)pKa8w`?z
zD`kQ5Nq&v!Qx{#o6}`M4MzzvwLgZco`t(T!on=bjjO<VBq6kEt6MmMC1Bb1Ax_D{U
z{Ekf`x2)Pah$6~O8VigGK&*qr9v9%^`=8SUT5*=974q^en}6U$Te5seQKv`GqU5{O
zX$cS+3TG}$5e9B8-=efYJZ%<aHC0tRWi>)V*{N1tu5@@68jcgohVP1Z=twFWJs#eh
z%*qepuF>2hb^N3LvB0XEGV@%(Fl}Xqb?hl4&o{q&r!KA+t)T%_G~4A8(*i8B=(9f~
z0PcBWbu=eA^?MDG_e3L1IwnmbCK_-CRnRz3MBBt6l4{x{`MXuVQg8zw1T#>H_t5Dh
zD8@Tce4EngWCTL-zr*L=s-eJkZ-=X5K&jCtu*ShwUxs+aKA><|rYuxgmB@uiJu3M@
z(oy_x=6N!R!Ys<1JXr2veuUpgzS2JJU5gc(%vAitrm81tJ%2&H-PO4KzkQhqMP19k
z*L}8p*wg83((nXxk}Vsup4lykL<&0opAeS~{tfcw`8*9}hQ4f9+wyosEwleQKylv$
zp*zIe*`t0`_EmA~V_m^hi6=f?E(&7_fGJ1U+WqG^-@XOD;_oq$+*oboDWi(4fAF3(
zOCn#jK-BIg#{=DN9p;eoAdd0<GR_v^v?-|uIl4KX{W}*0I|hWiyuC1CgLYyZJ*L`%
z5o9SQ%A8d$M?W@K!asz%cLtq?$7_G-9CP_rrSuIy(td^4S?mr@=|#BOvA0<+|KS1k
z_Lm+KuSzO}5I(*HB#Cl&D|KILxXLFZet!PwedN73;w+z71ejh-jc8viGx;$$6D2-a
zap1>Ci-l;h93O4bh)pMaB!b!XU#mjL#X52l3_{TLMQIG)_iZ&<eefb>TKmzr!5z|b
z3B1@3M1j{BSa8&RBEs_fw?cD!pS_yWq}IRwyy#@MWPz<$JDyiP6RGtm&mxH4BRkE3
zzDqbyc2+v^5eeWHnd;HrDhiliU;V_Jp|}rHI`i;|%*U*C{2E~!tO!&-`v{u1Q0Dba
zi+L<Y-SGa;%FV-*l)$@_$8s0x?-)`Wk}5;1OAw#5>A$}t6FhcPxjUvCJSQ#t$vq<c
zV8mdtQQ7_9?apH<KPMH;ZPpz*oAW6sFBE@%ElTI-o-??Z?dFd&L}Am9yZm;}s+`Mt
zjd&hS{}k-I2|oJ@iQdG+EnZ0h0V%2k#hV0G2*Soq!VUyc-zL!rf_QS1_!EL;Ws_tZ
zL3+GNiY?;3*~EseAaR@IlrG;*3<z>z<N{li5-wB<TU2T;)OuUgX6!_SE)=dVv_C#j
zWFlyyx9H+r=+n07b6pr#Hfela7#rC?-6y3i-oh}AxG+y{F@JJluG(VUc41XBV2W^I
zx!Ga^yZ#qDEZ$@}-eTw2?mKtEhW<DewmH>YxsEHaeIwj<RdqsDT)x{pA+EfX9NY>}
z4IAiVY7HG5jmO!p_f4PzjoShRuDTW5Iw@6ZW82&-u4C?1yvN&25yR8~h+IgOKmkR;
zr%DIkq6at`fNJ_e5P1b$ykL`_epnQj6T3>Hp|7S7Q>D>?LoHnB5GYCq6oti(NDqw9
zDS>a$RlAGh-j%j+z?hH`R11HMPY<eCT&1+nsl2@-e6!QPTP07(MPD^cDm0Jp%}GTK
zK-{aTiihzm0D5vHamp|)Umgfw6+>X9n(o3yR0X0UMnm!ubQ;5e7#9t#I~cA?Xo7~@
zx!^Tw2zR)uPP-cRR4aUPQ!1|#*ml>VhblF?X<l*}jdPf`>}VsPCNdgEJv%B2+&q+w
zZ+a{B&Gx9BP^zS85VTrN0<Gf&qK2!=M+{4+4O=trSQoevRC%bES1`cQ_(32LbVsYl
z1}9~h9#IRj*s)IXkZ}U(C<C?uDBTEE=f+K&2vwIeZfdDrn>Y{YOm3M*Zkd0zdUbG|
zHV?~8m_gl`p;m(F3YRfst<iCf)_YFVf4g2h+}<5LhDkiWXPozYJk6Co{AYCGzMcUh
z>`nsaAjCdGV%NFH29wSXcMSnSv0AIpJeXdUkQjh=?K=KL2VrBhH5Cjx0G<w)CaEU`
z3m*!B=!nr~;We59^MC~}6Jk$-1<)l$gG-STC|<${6s`Ln0UQlz0FIL$wsE^b9B?sG
z&tPRPP%~VwrAGFchcbjm59)DW@z6)4)-c!8r+DADkH^pMFd^hHF|E$mlP_Vi+T@BW
zHMcI==`iWI+P}lQSJNZdU@vacn~ZiBh(Z$}xU6~hr9@B^rC5b_KiHF-Y}X4Eg(lL0
zYZvT-01zb{=~Rc1@!Zi8L6cDf_+lUs8h}c{#auz;d?+dduVCe2Ja=wF02MRHn?nm=
z@MaGXq(~ft13(HOl;c&808s)v)HTS!2vDE|nm`90rgxMPz!TSA6hG*hAi;gVz|;5B
z{(T7n--5$?Gw!KszI?6%H3d~QAp-tA-u0ve0gS#4pAk>Y&{|qZHD$PKW;F$DIEx2P
zm*NG%SEWPlHoNkI@Q3w|Ur+(4P!4yZh+(9{FdjJ^#DxxysG%q3B;<SHwB7h9a~CP1
zs(N!ou<Z+?=4B{63JmcRs{)bJt75HOfD2Bb%oXhE*-+)i*XV81=shsWl|s9BKY;Iz
zoq)Gz<6tI-ibCU%p081w?=T@jL$UA3;O6r)WT4tGsT4X(VporYH-ujh^HSMI3+zcp
zT~8k6mtMx3Jy@a1fed1-kJ38{3pvV)IO-CpkBO+A8szVz-N&Owh6lI@-w1$UbRT%Q
zBwsg-NbpsSC!|cC)XWIJcyz45_-#(czxGTpN#I+`m7l_-V5+izvS&R!=;d&<e>SXn
zHqD>#bG@ULYGA~kmTxUR-)?i&sZ~-9eKrVtKG2#8xa!pr?cb+JIRGP?Uq+vNNCQo7
z2sBv<x)=$13UHEpyXi{Qyke}U-#wKfMPgm&Ri|cp6V)IZB&4RcVNme1mj95^u}Q#7
zbkF_^tHXh9KWu8OdU6}>E1dku|J#+$a;E=TL9OZvx08tZ3Wpa4AEp}g`dc3Da8Fu|
z{bX$nBU+RLg>S;uZs%v~G`y*NL<w!dyXK1)QEjjCB3^sB!^4Bn3jj5L3yav(qXjhg
zn|E=)pMPq;iG%CTG|ncSeL537ir_m=@*LdutLv#cO**Wd3^*ke8(Ikf`^}^asAn9X
zLB4WR01e`CAj$AOn&~5u!9lax@UIU4HGx1ar(vzD{n$R(M8{t6O5-gp95Mzx^W<Xq
z%l9Dw1#}&ErMcrUq4!q2tkp!+_D{PhQ4&64eS}_6YR}P?+K~;>C7I(i<%GpEca>uA
z#TiZ-H-DPQZ%WagFM2dolrKyL&grL!A@{_f)fa?Xbr>06LE=8&jlPSKkqeh%ME^L<
zKDU<TB!J3UoEn2ypBoH&MSE5k%>J{2m8pa4M|+*Cco2CrO#O!uMF@v^2)AT#{D=nU
z_hcUJ5Z;}ST=pS+=^dUT9lRwW-{OAoHT@8Xbmf2kLonS}p!0{&{10AN385Vck*N^j
zpI9)nQt%)|>~?40qEPH7+c86^1d)VzXMuz>o5a0PscH!bU8fWko0NU1%qu=gw?dgt
zR+*SkIWkFU*-kk+R=JW;1x^mxlOlzW%nJRXiZ9sj;XPNx24HX3H!jw@A0*rzc5YBO
z$-0&JEOvT+TUS{PRSSeFHL;$28x?FuF^qxOv(+)>E)W8XOZd-F-4qC&B8c`BCG1{E
zybfWjN8$m1LWZ%*nkwx8WcseiZ>w{P;8IH}?Cw2-AzqlF?5fUJDYCa+Ui_CP@lbWn
z%i|+;*nb%3Fm_!pz3@rK0o3PUqvt+~2Y^_YQP^4Ha}ZWfh6{LOA=P2Rgm`7H5oU|d
z<PVqH<d-_nEgZ;L^?zM@yVy)meDPh+HVzC^>HiXsGiOW{F2@vZf>$h|W9-V?L(VOY
zKX9p7gKgs+{U75S?AAW2aylxvsV<*ABK<dBnOI$DbMyo~DwZ85(`KyV9j^=@RW`XI
z#+sg&>M%K(zH4>wrcr$i#1Es6DPZ}moT5&p1Csp<xz{@y*wk}^j`uwvcQ~=Izm?uN
znu+UPm;_yQez5JfwU6A9Hu&9b7-*k(afv7ibxD@3*ix4ee=4yDxUF94e;p--f>gRt
zGTmrvZ9slHUalKW#Ej(DP$h{4@VO#oQs5+i(e_*MD$Mb!NAax90MWO2F+~82fa7re
zCVLx?yR3Gqs17|G6^MmHy3k7ZvAZ*B+plPq?5B)><FS8WC@R)Wce27F6TDHs!#f?E
ze)nc}QfCh>Boas&dPGia<v*B`jHYvvGk^#FCv`(&?_K@pZ`P|S)quduYCg$wk6$23
zdLb%EOZHQB#V|OA{ja)GHbi-IRLTY^d^##Fg{0{vmGcIG&G-i-AOOCOD>uxV9e)yb
zos1cM_B~!82z?JgKCm6Ww;V~nIjX#1EwDRZ@k~-=D=PE%b@;6<QSk5Q4}VWi<T}lF
zt2cKi2HWHczP=~<V9Nu1K#S}fFfwCXA~+Y2Uw%cLe^sds0MqeA^$)7d(G~U%))@8w
zkj^M;cDZYFOuWi@JT39CN+|@~3kL8bS^ff0W*~#E?*!IYC3(~SJA$c84%mgj41j0P
zuFAhH)P>$O5<Q4d?9*So&5F5+z=SpqF*iJmZ1VcqMCU}$NA;+}%FG-tLJg5Wg#hR3
z3>N*E-tUoZ=5akuYB=wIQ`n$Xh>QLsIm3{Qa@UXgGgT6z?g1l&6;mh7pCH-ll}uy3
zqS4iUD0l6fnoV^HVl>I6!gP1RK!14Ty^{ELtBGNTp-|cKU$)sV6r5j$HmEZ-5ydJ}
z#eR4hNoo>qC@oXXmhg~lxc~9%w|)`hQ@=lG$9C_iKc)jKGmkzx$X2=rSi69Xtgyt;
z2gzRjDmJ~NdHo;sWzye~Ds7^v<lw8;k*ah#v&ISC(j{|(cY4xyk(hg*%ztOEni={q
z5rHnV^lcWKel9LK$R$7;BbC%@-YkEYRq6$}^Of+pez$*DsNswQW&ahYj(Pc54OBRQ
zQ7(+*djE=!x?c%Fr@X9Ag^sNfy-|@<P~MGI&c}XBt-<us=o7M?$iY3{e^(I2<Olz*
z;)k?`)*2zwQTN_##}7)SD_@lTThdp&jg>!fj;-=j{28hUI7s8Bz{v`cMUb&}{M~;v
zf9bxDX2;!-*7Ctzka&8))m@yJDuf<)_o`w0{Oqfeu+{l5zfkq(0=P@(7k-^_6{<xT
zV4>>)m6uW3y$4s9f2h1oD%DfLCIt<L#znHvNTmxq`9Bs(KflQk=!VTVm^3&Uu5=3+
zwK@$INXO9n+jaYW=?TB34RClJdh}T-T`!|r{~5D~nM_`@<8V9y9qy*Fmx|X4ros~^
zh!pj*<aR)JUTdCb!1s*Y?=G3_xzW2M-DjCGT>*%BCCk=`JI09nUpjr3dLG)#IK7Fz
z1CypRMV&AHlJm)7zj_t4Hx*n}-Y+c|wm;us{pt}*OvE>h@bBMlmt^<9?M$qeCPNA3
zcdMsf(VdpIT<`r@UwZYJ?eU|#ss5k1-(!XV9Oi8JHNGPGFqFn2TNUT_Rz&fJu{3*x
z5KnS;gjjkldz4g(`gnL_<TiVZ(ol-9fy&Y$=Pj+{nD7_|h{+je{60E6&K$m$^N!Um
zqwO6mae(9<`x8aV39eta!5Z9Uv6L+wm8H3p0xzX9bb;2j+^MpfQ_5*<MiA3kC*;LN
z^?`TDAn$|B`t+Q^(MIX~xb)Eg)kj69j818#yS3RF6&#lQ+0$!-mRSu3Vhg?p%nzx}
zdRVz9O*>&vwO{Dctmn^@l6kb6cb%rXRsGUi<t>e5%o8)#itoEL(-rg&``qgKL3iFH
zd|i6j*mf_R?;$w@0JZebH5ZF^;9HbbbHr)<q~n+N%gV;Tigw<ow)?Z4UVEA4ygleW
z&2q?x+L@(Le>0wph;@HD0DUSSmyW~L#Lp6PJp8uc@g<h>jND}RM#K|tcrnLfH*buO
zlT&fniY8HS3sXRc+9eMG+==J@4uzb|aW@P}G>#lIgtjuzYiZVWUMFH`_5*pJyk4#J
zE|*^^nXr6zQ0}Jx%qup84*^uA&aiJ3mAh0h2`AN0aML?^v!}-l1Z^hMr}Pf9Wx+#^
zk{<7iS7L8G<<Pl&zSjUW^4~;q7H)_f3L5fP9v3C-tAhgBpYgi^G`{$8<t#FV_fB~Z
z9R4f@vAm-`D17(9)@!o%&5>v6$l}%N1TWpv!K~&x3DNHw3%LhDJYvxR@u2PstZm&i
z5&Y{~ms28E!S0A9NV&JNI_sY}KYr}K?l5j-fJ#O7!|kJr?0%|4>l*g60658mQy(>U
z528O_Y_@zRi)`757X%A349Qm)_f?Yr+)W8){r%zR^LfBy;?+}3?B&0^=S1F0Q&0^;
z6C`z+D60q`RGHESAL!M<#o0=xOCoP40Dttu042-R_{u8{2dvs{V3o;=csqcTE@cy~
zoOyvvI)aePqLVxLRP(&#u(>Na2AfYW1|coAp%>|;<c=~bGmGC-&O6z5C1i)}?#R+i
zHS~cPTHLBckUWbxoPHXOv)f%mOh}+h)l4qh7H$|dCb`j}XamYlm?iw}J+c**4PnJc
zB|<LfU>rK5vzMF{8Yw9pLP-j;FTeBNPFYdJ7it6q&*T*KvF!`J(9rHPPAgj2wXUb{
zV%~*G+2wE&w;>Zn@4G~cG*sXkQ;O#R#<T&K?{MU8Fr%5h6aWW<3xj)#^5ZqbEU~U(
zmB0A?F^5|q=*4vF`vjfmd_Qs}s+lPgqb53L$sQH`T;qBD#jrd~B7BSdgS?bUBf~c0
z8BNBLByB~?qh>Hz764>uH`5*(>_qxCvjd9TGIBTZWoZ?<@(v(_IJ8*Y&knF*MR3tM
zcc<V%b)IC*C!I2i;FOgyPqVfo4gF}Unhoq-A|hp~7@ZAiB<5Bjy+Gk!BA>lpfPk<m
zM&b8CtoH}@m^7o>3tTs$xbH{SeP6wEId-FAqlaI^fCWfBNQdgK(k>!tsL}2zuTJS_
zE8#>-hehKicA6$?ZNg6``_N2a)=@sJceDr-#>0Duz?IDi7t(MPVx+Mrlbq9-YyU^n
z#wKv${M{u<8{tYs+xv|D-SHAynYM$9@zmyLP6}_ufz!c>iw+Bu?Z-z}@H`wLhqv2b
zX5whO8~n4pEt$T|_t5sVdyx8h+%7GBrhWDL&i3dpmF0SIMB@<6Sx~&X{kHFqo_CgK
zA&agK`~O5=e|&lthT3*GP7>)`T0Dz*+3y(cvDCli5fJ&7Na(zP?#&Q)V6=L;)72nd
z&q-oyRlsct+F`Fn^~-7OpL@K2^nxv>I|Q8%;so6GM#)>`zMP-I5?LZ}STlTxbB|Z^
zZ&zf8tiA+3mM^WtsF~V~H8y$bs*e^gLoj7+C&~Q#h;}zn7%WD~EJXNkKBHSw`;Fsd
z=3B{P<#77<iZ^X7%fCb-eXiJkHd=fB>~4K@Cy2liv{5B3XiI!^?n3nM-I#zDRfdlc
z0&}?hPAzFWk#UUeBxT~go)x977@EG}2lhj`?{@De{X=;xy@a}u12#N{St-Vl`h@Ym
zYW4>{hA}IURhV?6Es38Uw%t`$uBW3+*x%1@b#+_jRo}XBV9d$tSFo&{<dl1S;=MJ3
z0P-xB|B#03^6f)rhtAESkFTBfi*QT5^8XZlM$z^>!DSIxY@Z1)e!7mwmU7Sj(1?2p
zdqW<FM=8xJ`e4d$<7ZW5#!=#!&k|;8<En2-wYX*(=1a}?XCvobA?(3;&)~0&#u2a7
zvuL5nefHDrfh`xzs>WN=MIhZ1?IfFxB6JUfO6#Z+MT6o;n!@nzne{uQWhd}xR1(@A
zjwnrLCrQbNpBnwhV%isT70aAxy>qNS1miDV8qJh)+XW&{7&hfabI|G@Z$SuCLA%{5
zI)6Y*e6l^GxipM%)nuS_#f&C^I2C_SNBiEkDGYCqQ~VhXqhwR>5jVju?Dqw+5^n$J
zfG>K}fkJFCvQ7J9+C?)*8yw}4dfpWpGkp3FCM|kgo+3i`3`cqO?Udg<Y5c@Z5W~>w
z?73d=@FHPpPIx%iZNHF=F9wrw%M#fAN@<Bded$nh$BWgMe>B|sVdB|FLr@Bpz^)Xp
z(yXppc=15l_lyI@lLsGTIm(|ipTEEdt<0cksej-bcHnDf#tRjyvm7Im8JP%`Z57dM
z%PASH7=!9lwRaodOXAn+&u<o=KURIIVy%0UX7*I=Wv%FwBXJ*J^U`CfV?|*%l}C&V
zm8{kE2@}q_zCZw)H39)p24Rn@xO%l{i;tn@0$e=+xD9VPY3z+vqGjKA!KiN=vt&?V
zjk|vb%|RS5KR3R#X@TjS@L=^&_YA%p_Ex=fNFEnNog5F(11j0jMk?4&I|ZrK-w4UZ
z*Y?7zt?v*aB9susPsFt0KPOMiG|96$x9L5?tt2P<qCwahq}`HDG(>LDLr&}%fd6im
zm_U>GW1HrH3CXIM?x$H2;{=kOY|@7buV5N~kF)jmO~`IdX3x&Uif73x6Ugx9$c>?-
zWa8?CrW8y$>XdU7ya^PXIh5Q)<Q^KA0^;AKa;UzZQ~I<}$%+f_9yGS-*%$CNw-AKE
z_^Iv1`EWtxp{fj?IkY}=G>KevBA}Fzx70E156iu&M<=NRbLjnDWp6mBa!ncX+UXCV
z#T&^qwG+8!IS*xyL$~p0O2nyutMM`qQ*>Pz(x;|gYBM@}(lBXPD-!0Rb68e`4Hm?!
z>l%u$d5hmC=CoigJj5nhhN@_MIqAxG+5D>5Lb+gHTwyNNu>Zr^Tfarwe(j_8Bts8F
z!w5sC(j_&dbc2*Qgdim)Nb1mybgImN(jeV2bO?x)lrn%VDxx4_u;+O{@B4k9V;_6(
zANHScuX|nRxz=^9b)GqbeD8NL{(CHL@korTlyEM;#3H{GN}$Km&ZDYSTKvvM8V(UL
zZuM5DcR{>~yGJ-F#e5J)oR*>eqL6i~nPcvGk3$9ABHX+6f>o|a)S}28lxVz_Xsi{d
zFbL%mkIax2D9RO+YCYfjUO>W-M}4MFgNEn+JHgaAk!yS0jzqr9hZ4V@3404l`W_zP
zDkXCS&%bvQ-CR7sZ6!M7in0eO+Q%Y!_?Szrq>2{L*TDp}WOF?|od-WuerFPw^O0_|
zl6Y#R7|h3BtYwI1mYqD*6I_zC4OWn}=Hp$uKwgy7Y&&mww!`w0tRT$C{{y9P|4{5n
zOK?*VPjZcDQ!x6ArHo~+jJp7rg@Ix4H(s$Nz3^|ct`OxM59M`~{9R_1t4}$FclfUC
z(POmut*tLA1S{OhQIMJubkJASYgLRLQMyve8a&LEFQ_*8P1WI{TKqSKMP|dbCFMM3
zjh)~NhD!?jvKOnF6<~YldZC;e8O2y8))$kSebyrLOY$jv>?vA?NE<DB8$Avi^(zqV
z91rbnISnZr(U4*JoJ0Aqa+=i3M(BL`20r$|U;_gi$$)Qq7V_Gc<Mnc0>78fM@oE=o
zbiHtOkA8nqN0UVtMBv^h&}5M5C#)p~hFKO!B2RX?bI<so87zj@hukKvblp25Gdm1v
zWNzst;Z8od8j<V9h*3+su%9gY_IKKD1BRPK(au<^H#l^ln`qDoH-5($gg1SWFLGN}
z1TDvfdukY@ZB)A~QYa7I&5-R`HXi<Nbd}2N$uh(IGTq`$QI{`f+wGz*0cQ2C5~*?K
zAi(<WcVQPVqa%5nl4XuCu;s_^M<epac@<Uzv1~5M7Ul{fBeAv;M^<_5*8U>~Lu8Yu
zHyIYS^uFD+SGN@njkCQIX9FTwTen^wBGDZaI41ICOjkrATSZHUFOQN<%G>QzkDQ8*
zgabS5^zt1-__%KDI#h-_Dy=w*tjKj7nY<t{tDS{#-^M~ckIox{P%p7`eigLM0HTl}
z3@*e4Xw#uqC0RO!$4K&DLN5Jmz0^mfW5d&tfQUgYi}(?{Gdx5-)H-jM`{h2j4G3iA
zigqzamy+Q45pL8D{RepwHDUYVb~?vG$EULBg@3e?TPb3sxp=MwH}rMIb2s?Sf<~@`
zu;_PKCX#|-KpbZrANy|`RuqQS&+VE&);M&RI}${b!FSE}rni3u`bH=AR;Sk;#p}td
zs_Dn>S&El4SDi!Me4^yg{X0HwtJYn1&c3_8qpMa0iZ?P>>;gJ(1i7J0?U?#^<_6^h
z$2;wwuEN=#d*^{gzp$B{k%4S->w`1EW3a=yL*6@N_nP~$V{EIiypqt9*pPApjRxRL
zuY~5m6}Y4r6tv5UAW<|+X|RexI&9vy&xIv_cnAFuk$>)YRVl0`Ov0btWheMnCYd^g
z1dxI7#8z}a4(`V4H@<p4{gCBv2d;zwh!cbta8wKIuAIjbsKV%Rj2NGyn@sB^5P-f2
zF!<aGNFNCm!*k#43`-tnaw`y_K4JO5!ll2%<i;ly6AQZO%58$7wF>6C2$)lMv;5BI
zsB`7u;X~tz99FB`@*KyMjS`lf_)u5di1(o*ATD{zV?ZZoAeILB!H&SvxF{!i*$X|<
zN~#X^X77%@-@(@J$|8Km7hu{Q7BvhdW7yM%x!&2_8;r%fcL?|IQ0Cl|VJAm}MBTQ0
zD^o1ZtK+yA%W2m*!ilbq3Vf{nu58i;siUAo+Y=`HlfVFMMpSW<|4DjCc=FY|cWYTw
z_=p@Mu{Tnc*)nX?bL>-%*O(N$Q_Gdp#>J9Ev@!;W@yWz=9fb_*;J7CzNAuz6#qPXy
z<)rO!HZ|5<V^@=p;fYT6cVP~h$)V|9-NFXnx%*?8P#AU}A{W{I-iRxQkILP~VeU90
z*C2=sy(Gh^642AlW>r{{&Q~zNk>RA3p;`!)5A_?;N^q6BXX(J~+#@`t;_GUkImwdB
z8_P0ibDuYs^8P{QP63s=t}(sjv{vd#@qTXI7EyMk2*SXLw!$C);C`Y*UgJqtC1;+s
zRZb>Hst$(-2vai3$H_qU_Pv~)u9Z<T%o+BxuvR`mX+1fI16B1iow_@H)1kb&+iZYX
z_`c*`!HFWVU6=kcfqH{5K3)34o|qa-bXd#bWF=CBWo1Is#Woz`L6wXIm%d?IQA}~y
zTGh|)u(DW0E`~i$B`c59V|YVk2!wKsb?w7b3zL8Z09Y=9pgL&@WST;(Yaf|rj7&oy
z&;ppI_Zu<XYyg@4HiVlELA+gZcw0o7c5#>+$p<bh5$zv#AMX|(Bhqo<;euEya5wko
zGd$n}0HS2>DlM=N9v-K7PQMUTM?^0Y%0LA4cYNKrE0rV8pQb~2$`kB{4`%P8md5!T
z;S)tpsAk_pI&cRKxw2~z;4U~&9P2qhWqc2@gBMp))Yns9)>1?n38HvU#(Iv%wwtP6
zfA7FX(a@E~L+#kQHL=~}TC|SUuv|?4dG0oaGH!jg0dF!CMR2(z%YoP8bX1}@B5>7k
zBWrqFL<n#*!u>(5x^t!-^|1r-QQfA5?yKZ(v97R|%^sptF9_eeMCvUl>(Pwv(<Jl_
zsrFC)YR|)TJXIZd{;TUedhoR>b^i_$Ll{;kxQKMqggG&Ft_y>mIWx{WI_S~EtY{{V
zt>I*~k!sHoiLC)Cwb94yoq3z19h<^+S`$AvhnRl4x9&g@SeP4bgyKEKdoOq?)^nVX
z#s+}60ANudrv&h|P@QoiAQC!6GPfMm6{EN}Bl3npZ!jaan6^+72fs7)MD1Lsntj)B
z;7OTp2nTQ-h*xo*H2wvRM(0fH!{pHnv)`V=)D}R>=<AzsQM(ad_NlkO0e-%DAwt=B
zU;9<HiD%ppH*TnWhX>`kn4Q23UW+>_;_i$^B#?sG@rcOZlcC&m1?M2QG1n)F+}{bH
z(x?ux7>MMRS@jNfy0<ViVOiiF{5k;UxFQ^ZT97$nv^l%K(gy-u1~#YlSG}*m{QekU
zL3bRf4#b>Wvvpfz<qH65tzB~-5co4z&OPsx3>yK(WxDzf@pTH2A6N&Y<@1q$ZRr;9
z2vIzOA9$Qf0FUA6tOyWkESMkncn-Iz3IGfQDibUWgMW2)M1>#-JG(T)Hsu+e+_aXt
z!-z1P5}b??#k+>s4y0*;KrDRcT4OUtwOD!3fHoJ`uAd=0hE-65qQc`{sfy^=N^i5N
ze}qFvS3@&mdzsjQ>wMSBb`TGNoENIaoI4&*?d}f8#tjhBNIvLIV$vhh+L05}Zw*@D
z>Otu67uT(d#^LK-gJF5YA1~P@J2-qEJ&XPP>7_dh1ysTq!hd@7#D4hX!p4Q69VBv=
zVi27UUbP?&$DJ~{4f6Eg>#=-z_r9`67e8EOj0*+Xy&e4g<t52bll9~;H%s|fs-Xiz
zuCFDU2UL`y+7)g=%^PAvAFV;(K4}Cf4SgF&f1l*zzDURzkEO<vxjTmk=oLI_`8ckh
zrTgFU3c?_)oPPLfGe&OH-sZ)O{B$Ec;XV%lrRQ=`H#U<|K);N3cAawx_cp0yYPS(x
zf$T+sPlW5W3Ipa!p+7t4#?b+gdRyix(pnd8YouUFr=oP68*rRAWN&)c#1Po){fsZf
z5w7>59|It>u0N~ase$<_G+pmG)1-QkqL3?oPx-uDXG!+q`43<{Aksf0jbN<|aB)V`
zxtiK0_*|(KJAdeZPpO=J=-Nk&(0yfLjQ#CmS3i+NH=7pE7aO*3c^Os)h2-AbJ$n&5
zfu1L`tpN7|$rop-spjmJpV3-TOdSKa<muA}Qw4H8wxq!NV;T|GrWJ{H*CIcAo`fg9
zLUk5=ke-;Ut?)AkJ#2e3Cq-`9OVD_*6XGTUSgHQJecE{aO@(8R)gKy1d2guz*2Geu
zhKL<5zgCdNror?p#Vg8#AQ5!X#Q6nkrA>KIoKow7osG-I7@G`b+Brd52=Q9msuUIU
zIj7yYNpKp6eAqA)Mp<8no^h!LV&K4)-v&w4vH)^|iuLAjB}6;rs~(m1%@!E=3V?+(
zU;ymiUB|Sq6JkXPVsDB)3cWo`_#f52DfR1o|E4T(LhS9mo2%Y$?}xvsefuE#_<eQh
z>w}hIW?K&o?7_=uMQcl=b!@(#gzhz+7<+}b33l9+J}PY`r48abWWQ#slob7SoIz3E
zV+6ed94sjT*{3je6O%e7v`Vc)vR>^>9A2n|l#2*_N5+gt08_14g+Z`H1AJS01n}gi
zE?_V!^1Mi8Nd0iJq@mr+$6x1yAr0TdvZ`D&6?{V=j~!r<M|=6Qf)3Pm&_29KsVw2^
zI2)bKt3>*jTVcCrCgj!99O~}6USH0Ezg+vxX)IBGmj%yn?vE`P8T(tVx~11vwch;Y
zU%S)#YO$k^U|%l9;yw1^N-3Y9)PUZ4`r|~z*N;*pFteX@+K!-~#Ar{`jIVMlK$aZ$
zeo%9vPa?Y>kt`bgZ4TSZvHE2Q^o=W@+Q%N2g_xXB)E6!Z)J|Z@jr>;OsU*N+RzX#K
z3gZlWR5U`pmdU(AgD6<ie|XKtUmEPE+1CMaUkEPJ<JoU{w|Jgi05^L<>%^qX&NVc|
zE0ql&3x&S3Fi}E|_IfL{%pKE<GEV7Mu<WHYobP&B`UvK_2C&axHw*l##}UXfaSBBg
zPxRqm%+M8|Z8Wx<>LNEEF6f9gg2}Y6a^v@{_V+UG>)G%V<J&z?=8R8yt16o!l@KdG
zBKNzV-T0;5<8<+`Q|RLh2fRrCRTdnWnFCMN#75fsNrUpMELJX+hE@cgzcq9n3*i_U
ztkB(K$y-Bl6%zn%bux`^4WQjbh6-@(Km-6hCqWP{CWAG0$1JjjVPhpEK{R4?s7$1G
zrIN|6iGfK)$=|Ut;fr5WEix)tstv}~O-F&&C(on0Evp|}ki~&w95QV;6Pt}wmLRSx
z-F^lVC?+x()WV;CPD(-O!k}{Na0VPMNm_K)u_?}8Ck!7a-9V(a-AwYEb!Bt^Gsc~A
zM$rfL$&N>J5Zxwbru~sQfPqnKt_o#VM?)+2GoSAHv}QPWW;6VPbcRDm<%}Z2+d$Xx
z{M`!{2^`ailm}D%g)grc#gHfiY_GIAFUy#m`;sE9?nk2bUDF2J6>)%=JPM<~yYsWJ
z8;GgN<^nY!Kr+=(EHEhVKJ=}!j>?SHhN*3>^EHX9KcDE$wPq)qcw8upPqAWqq;;Qz
zeQrM<=`JoHH`89pe!wB&rEOihJeHym8at;U>sl6qd#H?#U;=c5a|`+fFCxKDN}x+u
zd@La*%10MR)#XZ;qF1{2AI0A@(E;Z-c+kzig{8(ZNx(a}?`X^A*5?b*!vXA>nSF8&
zMM4j15_&~2glonITgjlyL4tR#WQgCx1K64r%&#6%e5WpxoM95oDyV#xW4Y!|3Pn$V
z*i&J<6!m=ewNl0Fr<;u}ncot04AWa{9o0gGi8S;6Nk7v;CUv4zzr1ctgj(0V!3zwe
zfT48RP?)Q2eH+t^JQ`Oj&6R#T%oonkiYxe)u-E94`q5c|T>?1C_w{-qA#mE8J=D5b
z5Z5T;YVKjLmL<RmUxP?qch%gvy;n()*A~e~CHRg*JyfL~s77<r4UulfidJ}zkp<AX
z?*>U?%>YeCAec3Y4`TX3n}vrUBud7@{Z0V5;sW^ZM4+)Q3q%lpMjQi6w4@=-n&a4K
z$#B&ZQ>UfN%2j-2H`l~02|Z~KKUgzJ>H6UE#Y@?40K_%Kaqo_O#yMfUMDAE{VDmFy
zOaNXXA=dtUT<F@O(Hoi(aodhJk~2^xL4{up@wdEDX;%0+0(s&vRIl%AT}tj^+ZtZH
zp>2Nn-iM~c*st7;*I^CK6}xbGIy5H-%~J1*D_2nf#v}?G_VAwjl~2kb^$X%k_=agd
z_sm8cm0)1I_7&3|(X9E*{iM+GR`2r{SbNUBDH=uZ_T~Sa^%gb)HYK|nUmO&LusxTU
zJZ^T`S)YuW7&hRKvI+(@3t!<h5MO9mGo@`63JlC(YqoYfTfg2aZkhPpmL%y({7cNg
zGCj+64rmv360t+3(^%M@Yo51Xd-7sIheQr4bC~Z|%Mzy6n<$`5>rW9MV+g8<lwGLF
z5)@uNgo}pLD(NUiG~d!nW}L!+hk1Sg>~Tdrt_yL`Q~D(P)8+pT<}d>d0wOO@U~G-K
zpYXNjOedqXqYq74W7-O10784r>VRkhVfFTbOG*Fx0gr@Yj_sWVrJ;~}8ElF3<8nLa
zCJHy8AvfxL8@>TdJWmD#?p3fl)$uXs3SNcY!$I8u`-1QU<RM$Ez7ydwM{qY-@q3D~
zA+KAJ<5xJOEGCuFtZ(D_{Bh@Fb#Ct86K1piB2ueo+MMBMN#dn%Gb;mi*{H(lf#7GZ
zw?2(21PdZ6`=#;tD^D&9tS3SdicRO7NEiA78<a?2LD}I6bE(rVC=OU^@#93!1!)+w
z<5(_B#^CjAQuaqzg$y6WIRCy%e_n`-?5yugx811J*0>NBWx@KeTg;ww#X0HD%~Il-
zMTU_sCBz#rRR=odaAm=(3iDA9^8DxrJ{kr@iV<9n8rap}Un@^IUH*G~ZEAoAS^f@s
z@&HHTz2ssMY<an>uz0qJ)}K`(V^VBM#D1lSX1G&qV=|`sSw!zagj*uh2dXH9E7*q5
zS>#%j#1dv660rOn>Q@M7DK=&miMePA=d)ltdnrvbf%H4ag165RWwD^0CDF}DGY9j*
zR-XMM-J+xAYWU2$8O5?k6}2Nx(;KL?XvL7dApXKaA}NIOwn6vjmYsKp-99t^hpRGY
zA?M<%GZe%Ssh~O)rrQ0M`CC`i<sJG+3@D48fhbEIUQJh8$s&hgVrk(Xm(l8MH5coS
zyR{d$D@{$;#bMZ;fRZ_H^ai%}HR6j_!XCl#ZxyHPbsPU|*JGw6ol05{4zwqN<2uJ3
zAA>tnm-GYPg?BRrj@qgoS;oGwh<steFVDo45g4)5%v4~<GA2#U_g%n^Bw)x7_oPTC
z0-?5ez!(6`0g$-74&oV1^8k={yLzT)1%o$dxB)QZ?3=o}h?k*ZyQ0E3E@!<7&w5v!
z6&#G<l?I{6fJ&I_9ckdZG5`(Kh{OU{S8jhCp+Zu0)Un`gY5Gr;-8BrjAy`^P3kAcv
zA--}z55PQRSD7mN{#*t-We`6S;)wCF#e+nU;bO(&+Y7X+cq|gj`7RrL)D2Q6Qy;tL
zica%vH`9tpgZOF@+8_X`0)nSzuVS2cvU5bFb8NrS@4vIx4q|r#K>S$15J!K(jxOoh
zg><m~+*>+`f-}9LSghMcE(@6Nif4Wt7g8+8>Ntn*Czr8xu80aq%$rVv8u<P$_W}Nf
zEOik@TTgkN-*`RmOjCtQD<VzTJHIO@AKFHP!h?{QlyU>HCWY`GG96?pTjQvJ16k;9
zn6T<W=cSUvL!HaNUKqhyBme{AS9~@Xz-<&k7ioZ=BngczDHXG;&9z#$z6)Dmo@<7E
z4T+GR(r`#+y=r;)dpP9oFw1EdTLT25iwD(?a-~{oK2m|~5NMD<?m-Pp)i;pn0`=ov
z`qYIiRC63>i|nZTjZ&F={wGxGJJ-TOokS}P2;EL{JD2eh*>Pg|dO7r{gUC_$dzn;*
zJb`=-*5KJVz=>2WnoYwI_ken*tU4rO9RM^+F1{zwRE2;KrecZX&{K}^6};oQw_ugd
z2YD*-XP<vw&=WwddPJSGDF3dQ4XZ7Wk0=m3F29^(Zyy_yV0-_*w$|!6z|3}u)19mI
z8BO&89Oor4Dk=oA0J&k|A`1X>Gi6xFg)=bJP5P?i2wcoU@G=R4B4?em5OfuRzl2fm
zDQA5+sS4z(4z9y3P?UQY#Bb$@M2Mrd0Q#F91+PgoxpJu3Iu%C<pO2M>&o2F_1uYB$
zypFGYEywVlOy9jgt@5_w_J%q#w|W~_+lZqxdR-B9WL=&{OEh9tcdvfy>Z%T*9S=0q
z6yhn2MC!>XUDjgRBh)PC3M=FZuOdDDD{6dNYxT5PZj97qIo9c2Z|J({M-Z=b7DSyz
zy{-^oYOIS?YH-vb?$I~T(7$~sT#!cFeo!-(hTM{7cn#2YV8u!w3P*4?G)m(U#F|pq
zhTWDc9?LZ^Eo_d6m_|~qRB&DGjNX#C2wf3#9}VAjb1fpsKhMa7{~0I!6PjX>RM<DO
zL#~qSjY{N*-hDo0cGub#@s=az#vP#PWn}fE57j&ItanG6j$|09oE~%ZwfI=I`CG9_
zUPSrt(z9&_zKvuB66-G*wL!=AtX1gR@s&^o)B>($dqI3#nvNLBzSZ1H%&D)T21Wy`
zqtco<e3g`G_369XE`vBqcG@^4P*|r{$uw5I`p4&Vn>#^#-9}yZuJjM_H_yEJb)ET9
z3c;|;&BBy9cH3Ox>j04WMEL3<yl|mvSGhXhsi!ciCpfrCrB4Ji*}_oOlik~91L_Tk
ztGVvmTk%BrVOg*LN8zz-+OdV+hBD#$`rdP!wRJvyp;mp&^&+kkB15#mW9~lTC&I%|
z`cjShdg}W^QT;b$YmaCi%eVF4Ky{ANibT)^e?B&w=k8suuYR^U@cd)_+Aon&U2z)g
z0spuV-`s&ABaw)-{s7s*gVTYa#euC&t#`&ZBR91oHi!0^>0YjcC14Rq!5**V9-4j<
z-4<z3wR8NV$f2*u(nnpU{;>Q)5$3JI<NB<VC=t%+;irA1ey8E^+~KnjE4h~zRLQ#)
z=IO)Zt2kCV1_LsbFIJ?F0MQHYmAZ!$H5oM5?UMH!1)Rt9Gguq2Vg8rG{L)CCZ%G#D
zajSijx@4dAy%F2~uxAU=mw#6|N#gmp#%;cjv)mI_ogKJwX~O?fTcqqTubQ5Zv)-Td
z_Djx_f4Bvz7sB*)5oY&DZoen-=&3m89@pQvxk<YC{jg+{$ElKf>9e|t{kXeZQ{GC`
zHXf73_ogpDyOOXFmVE#>-I|2yPd{{?sfwP7MorV}`_=T%jMU9EI*T;WO*`!4+R#rB
zVNZ%0ru(DEwzJ1>TnelBJ=X0!I}tsLr+Y$MMb`t+O_}J;?$2JE`9150nlqK3TiBXi
zM(eF+;0Aur0S$C{05ueyHL5nVd2jwh|NQ>e{O8~E2hp?NXsR15vIx=h@6b<A`=9>a
z>VJQo{!ar%DtjE1iG;+=y$N4{nTpVypCtcY*o4tu_6q}n0KT747!3dbl8-^D06V}2
zP&RJ?P&4-w0~#N{hsu(x{!GwGhEk=ep4{CWN+%5}M2AcB_l2H;5h;QgV9=mvHfWzC
zXlp3O9E|yzEM-<7BmvWxr<!FN1bz)BeAO{|ZFKj;U<Xa=m-KRHu8<Fc#rd@*CYF!D
z7SCm0X~;DP`oPF_^@h!)iCl$r#{Kgh8>=l26&}zfX`^LuGwY`jMDL-=ZEBej*PVi(
z%$7YxiHB-()fl6KuBNAnPh!6|#wMl<s3u3OI}BoyGWQfp02bk{#lwq2?5)2cc-^X@
zJEapY;W4h$syTv?DLEFckDr~IU;q5p_4as3IffxbSMS_Pqt^8)<sg)&DyMdU&}%_w
z?FaoRjFG{;r>Z6Q)gmBEwcK47Ui602Y4)AbZSUw0pkdJe4O}ZFaG3uI90H0>y+0hk
z4;P0L=C`_&8Ru%95IAEx(Fr8i!<x_KmqK{XK))1&FnyujX5LH1fqYW{n4cPfm$JGL
zLgV1`Q2F!rpa>}YWR$&nrTgARMyr2?lCFCCAvb&7uhkE{b5gg1bDUEODoBkkUrVOt
z3oFdpAWIQ1yx^;rZIX?{Fw*>%bw}7vt4$|6sdp&!%LO!1H?2PJG7W9?B{>;AA+XdG
z#>;d%F}7T6rXFq2Ck||6T<IqGzvzuU6zv5!-)(nGtLJ?Z)!6(Bd#7{fcsiz4y2pw1
zwbAt>_wmKuzMYu^M1Jz5rKb@6(7~F5Cvb%=5|^pMd{qb#XLI4u+B$M6KRiD9mHc#`
z3D9w)%}=P)Jp23izGAjuLiSDqvuiQaCBY8+M++#Vez&fx5kMTHt8V5m3}~4aU{vLa
zL%1dL(?HF2niA!*bRl1b*V9@49rVXg8!%<5f|9LJ00jNl-!P#3jS3Lua`T@wMxYIv
z3B&OSW^w1KX5wfveBJP#G86t{$eygHd^JPG<XwzT8rrb+;dGv;b)EBcu;6&nKJdHD
z`^Fnh-1f!Jt?9Pvr{&mqnsYNKVZ9O%R2PK=u0C{rlVWt=sH1MB-u@O><4M4F9$@f$
zCw<AsdA05OQr(p&$FJ;C0ldlxJ8rv3`gV$*|C6rA+e7&H!OWkHD??RRf4`dH>~7hc
z%obpe_Wio)8to}7Q#jkx_V%fDCIk9bcsZxNr&hhoT(5$`tqNG~jmV1~A2+*0+Op^=
z3na_E@wB`zyHn~bTcx-y!O7j<-Yz_LLB#d{xW<UhNB-8gi2DA8JQ{!24kLr9f?4yP
ze|mOl2L&_%V=U%FgMSX+E;%t`9w&1HX<PiG(Vtm^wqp@*gw5sIo$)SuAMEXlm}4@s
zjd+c(k7lEEt_zsQVUniS={L55W9c>wpm(uyG2^2ezcLn5u~0B6Ge!B$Nr~F3{0Uhd
zSO_e(GWoPOEC?WivTp(X)q8mso#R=lqDD8(S!9Q&(lq5F0IH-{91uLpn4=r20$t&F
zUFwHQoGGg@h?~*n1v95|n!S3Tz@2~)Ow|eoW8RhnW9x5-DW~mY6`Xe8O)n&P6rIaU
zwezX9IBXU$uPPh#$WbBGjhZUIf4G!YRSG7FW!|fZd|%&uxVLQ9(7x*Pv9bG2-N&Z>
z;}0Jnli(8j&0}o7`z=$#_4}=}iXZpe7W5@PwJ+QGe(G5BtpC)x754E{7dc7dbN4G@
z=;fYw`tYY|?>jf`)em|l9$!6JmHRT_yW%S~`1=8Czz}fxwW-Dt+)vta`yIuQM~msV
z)F|?sP2d<y+pD=zRxdx48i((`i~-FZN!h7$cm0C3R}!KRXAtzxvQMNTxG!TellSgo
zrJm2q&Rv|`Vo=khqW`|2&2IYrnZ8Ko_eCS6x$jG6m*|g{tuC7$t=M^G9<4gwnmc;#
zl1zWR=H_({`M)Uil#=&6|ARu!+y;RdAY>0EOv!TmXfpB~n<NE%^g`Gu;Ik_2HkJyN
zfg_QISRgtlxa8XjlVD%a*|9n`evEfexpAT;;a%>16<pQ<Z0(0o2CtjMEu)+3%_~EB
zl*HYw`R-~CY(LnQ%S-jKt;c{!Xdigt{9~L*+KS_`B;_e=@`l2%uv!I*9M&wTS+|}^
z=yG9y&l_asVr*BTq-E<E(IT4drt{9n9B#_&^O|A4l5uLO6Jz;j+7R(AB_Y61kFtQx
zvo=-^viPufE5S-g=i<og{hx)o+6k}jf5+}-j!qzpSYm4o&Z({qZvQDu_1M;Q9!6W$
zi6@@>^3>>MrlVv;E*+j}s=zadLH+k&Oyh5dc8nmu&vWl};)awV3XnB}a=?)uNd8n2
zAUrNju%`WCxf{|2o`AY2D#Pb^g`}6Q2I+9mQmJZ`GrKrXKem(l@|@jsvwySYb4s|`
z0M`FzOZV#ef7o)O#QIh<Q70A(`VGMyY*QeFL&HybVQUBg{u|=sxfvPIKmG+6Mg{w`
zppXP9(x8;<Z=_C1Frhb~QDgVluE^zyGUdDC3VH9vZ0<?Ml*V5BCcawhJaAj6r=$M)
zg^<?WZv-8>uK0i^HksofUK$~zI5l}VE|oumzNq_ym{f*vG8ahHa<pj&Beaq4h#`9H
z<??SZTmUV287e$7+Y-H9<B_6c6eBtK>Z|!n1W>!BrT0hX)l>|ROIKe{!tr2C_HT#p
zgt4+WnKc#>{JL;_-diGdfwqug#Eei`tUT1}XI)?Hr`c56x1L!}7n3rVROt}^n~wjl
z_`FI99Q*$S4gn=K5iW*+C&lEeZxBXfVe7TOL@4q4uQCJCLKy!)+?ard>HpsX#}oU1
z0G4RNY5Ahd?#$r!*F57r(|f2Pp>Z$ayrpUjhhurj6XDec>z>Fzy|RAKAA?^va^Jk>
zQ*5`o5IsPgE6o+Mwrt;3%zlhA+UMDD^fEbT9?gTvgf)+)sU^o0W;;#lPrEWkEz;Y_
zdQ@VK;`6gVR_Yp9MTj0dC!PeRD)yhb@UQ=1{5(oxD4O~>D)-7DItd{rHu9W^0=k@^
zo{Bu>72G(R%}~zTBnleVSQzr_>JyknT&Ivi;)zC>uq@+62~evGb?Tnji|LTJS@+e#
z-dmJ9QAtsV_%1cezfSo7C$k~BTgwb`Dzrl1On5I}H@h<Se`B^*A$*#&2+HQi<Eoz0
zGknaqcdh@;Y)0*(W5v?cFX=FtTs&~X|610o{U2s)^LfFA^45#n`}-*h1*B?52RUZ$
z&2%<yb_MQT{O%J(_!mIfyr$tX>2BW1zj=+p=11d-W(@@?HX^!PUq30PUm7_1B%>i$
zBI?Cs+S~3;G+;`4@dRQ;UTSuK@<3gw%IB%5>_F9AUsu3lEn`#RTc}<4_Eerk(dM=3
z0<EUC#;A}$u|a8{BH!)#7d6E~#z~@Qa2y>8rFUp|C#j>e@7Iq5W1q4q(`l5`K0@3w
z@6M5i-2S)-84nd+o<td~b?M%Oc?)Dm0-cx12`phn+bAVE*%XwlZc%xJUN!`9f6&Op
zWzJev;}*dGS>&$Fv0j&%meL;`Hb#XG{*5%XW5m4(9YQcUZhs3*LcRtOrrb@{6Q5q~
z`ziW5KW>`DAbu?N43@l4>V^V`h@0{DzcO~sO}!~Dxut%diD}px0)MJt&<tm_AT$D;
zD&V`O1*P#dIC8xGA$!TJEJfIeB|IbU)&gr!^P-Uu7K@tAO7pA}Gd^rydSCq@Qv7K(
zB&PV8@_UcvXH^ZIA3oGKPwb0-{Qt{r>X|xp-LE`7Q=qS_oE!vEuPQ(H#ozyUq5pet
z!QK9&H&57v-+lP_#rE}b{FfmpGpm`#{=Cz{2$p*5!YJ}gp2BR8Urkb&En{(<#&<u+
z0O9`o>lCl4$>B6DYslj%(XMEu+R?$s!&#~q5d5@!pYvVp{+s=8Smm>=U_p7(Qr0sA
z-o~4YCQ_enE?H=v4_&q~_YYmMzuFkO>KyPX^f~U%`LH#QyZ&M8*UKBjHk_&cRocD#
zH|G8W9k_qeUCidX*$YxKoRQ|Y7lq<*+h`3zjutlnlmms5*u{!^GST!|zq-B{0)l@J
z#=R97uIYxo`QO^?{#Lm4KhU91fes0QnS84Mfex|po@e7BluB$_&3nlp|6IS0_K4{p
zioI-4nBuy>PQ~>{R-z9LfWRO5SNd!P+t<gt;Dt&J;PsV0Yuy**$FGshEbKzGeUnK-
zZOm^+)6`~jTG-kzufJPXDB-8ls%^scsOcSp0;flJYhnYbti;2^^sTb_uO)R8pRA4Y
zZ_vc0gRl=YfxnXcxC54g3oj#bbsgJ;=egv9O>((?|5#)U`vXQDjzc_^y<3NC)5cpt
zd^)WF82rB&{Dl%Pmj8m<SCmQ_cPX0!wf|KTm=Q+f;IO}PKOXZp2hj6sKjgq-1wo(#
zy_swCJJ^(epLjXyoPSpWLJDmEobRD*%K09-e)wu3;1Z?#7;6^;{6+76mV@|K*;elp
za#Chi>TOd#zC59IIF_&v6<ep=k;yeJ_gwv$J07K2@7%`FxGcyOO23jJpG@O1UFlX|
zr|r*kgg|XSy(w%tCaxS(-mm^kd}2(pnFkPq1?bCCzPwZ+E4ZMqE$%*6#D1M=Zl&(l
zmq+hTxf1FF(K?%8$iF_EkFqhH4&|Y2ru{$k07wC&dj>5P<LMl7K3h{QmH+MmG>_A(
z8Zl~xCoIPycKcUGVqSKS_rGr}?Msp9SvN6kuX$E!kSBg+roEOzEtUV%15l81hQi5@
zaieMHj5{0F|I-8f2PtRn8+SFm=nMb$;l+P?00`}WA?0WavxLj+e|iAp2PQrLAmydM
zzpB5m7Kxat4eZ?#d199Gldk9Di!WI$(FcwiTm2E_q1DGst8nZuUagy!(kv>bNN(!j
zl01p4^J*Sn-u6jo|L||VHS&(0X#D(hcG$Oxv(N9(WXMoP4kn$G0#5BMqB`0RaV)3c
zwcUo8>T`NK_n7`y{L8Ow7~oH%wApR=i)8XGI>mQ{_$75O%Y<bnd0gn4jNne#(zT+U
z`1nr{8gM=WftCC~4`RH~yHD}h9L?tE2L4>HWR$PzXXo|*+n{5n*(!}QQPycRcw+G@
zBi>x)VgEOCm2Py8gQou$X5lu=jn2EurUsUorqVO^WpQ2fqekf+oGQzSn19~u{jPcM
z;JI&z;_&wRZ?7cW+AXQ3Jld;>5c({`UninaG;dvw_obmX{|sXx^eDuRha&&-0R&X_
zGh`NQStA{nHE?uGM@<!p)uBr~ku#-{=|5}6rhY57fWc)_)&NG4>=W}lTI9TI2|xTS
zfu<8&omlmVxB(**_p87W`m_CSJ`HW3yWUZHfck=aoiWOO<sGrcH<CvSCA@l*9hI8;
zLb)QVyTZnoV!5)ba`5NRJn}$7XUp+ujU{{B6OBoET%zV#wh?!MR{tLD?XtPO5%kIT
zN*dU!*>A%%iaTvtd4Diq?Frk@5qH^8CK#<JC}sTPfU-uvan-+w48~#juaIqxRtxgH
z=3ixRnF+3tS>XW_rBCvfu}MzEW#I?L-^y=R)PL^X|J)PWi%Y)$ZqfYlwJ)=MCE^Y0
z8a2aCN=XeMeX2&DQIbNLN`FZ$AbN(tYmNvm7@Z&9Z^fVQU_&u`%{8=4u+e2NZ6jlL
zS?J{!owHO_KD-RkjRp^&S9(G5zxzg!oDq;D$1&ef9=bMp;nzM-kdkQ9)wgCh`dGu1
zAD6qw(?0IE<EHujwR7n~p=O6CpKDrwOJkDe^i8rZI(6%#*f{;@bMCPdbUZKcE1^|_
zQSB7~-Mx@+K;WS*j-}$gWo_smaGG(LBJk@=`Lx0Xn!9Wbc*YM7j8Q+t&)q)FLGV)q
zFVaM}e=c?n){1?J<Cw+Z3#-o8d7JuK{aWg8u<LKQGUt5d7x`fRkyiWGD6Ir?`Bla9
zPL@9q-c(xNALxm4@uN()2fds0XWs5IKUiBF2MtIH!XlETIaP3lDG*BtN!*os%JZa|
zkHM6nEc?PjjS*XnEHmh2EB%^b@)3uiJsj4`tiK}gohy{kcK0$}Md}Tfd~}riy_n+N
ztd6gfiZ96zwY8{}Jp9<zvjOQZ7!+Tv%qZ6ukm_qN#-kR<t9Ps=7>l#YyZ(Dp-Xt43
zzv9mBFf|#uYB#Dlg_BQ_CVkH$wtv1hjQ(IjrAkVshpuU3zLT_&;dyr*$jvd}+Jepf
zX9=f|8k|)(=|+Ep@Vcvhc!!%plGkcUcd$C#E4ky4DW+MBUsZ9cZso=2>y3<!ma2~K
zJ3Q%BmtF-4BQc_a)OU)``sRL11_Iyb)Jvt&Vb78?o~pQQ{9bwxD^CNr4j*CQvPd8*
zCr}p467-}$3`Q;N6n$*4Q$&l#g2VBs1z-Ek(<2aF3W3U5ca7neG`^Gp03AcHEf|dP
z9lSdgGex(_F3`kO77XTC066lebXiZS(<MX2O!_!L1im9E73sOgKN}QPdG~Sj^<887
zb~-fXoUR7-j!ShJ_3t6&iLaRC?TNiQ1rRo?NXrbzUGv|fZK>oFc8wcQT6tSzLz9i<
zyU{xKqiikchGxOcXi=m>1WE(Eeo2-qJ2BRNwXGWi3s!bqA7FT>ucSSWBU-K%BM#km
zFq0ayGAwt_W;>eX7bi55WN6b1=Xn3(ljS@gmX#ojeEKC2fmCsMrGikN@jxmCDirn>
zzlT@#xhDTt%=GT$oamQ<P4<(<E;rUwmHKFRsH+S6<H!P3Fb-_=UKwP!U!nXK${gZj
zAtv%Vp7B?V7VI~%!L&p_R{j)1Wxz(0MSl~bd4i?Rwyt*?$5b<B9VCD(cG&t!APxwd
zMgvU3p}^o$^&iNjK}I9$6Gf^Ee=sCn_Y5re#F~IwQ7>MILmL#Me~6B@_+VgMA8i<a
zeR^DtY)<5QhzE5R--w90g`zF|F=Ib3Yds<p`;!5HY>Q6CobP3{-KPb<O2@Ju^U*;Y
zs?II}3!G0Y8Zgl~cTf|6&w@*EM@46i^0uX>96fuh8AS*EypSxJU%XU#&CmS{wgn5k
zHNGU0iT0i!(KvX<5FN<E8+>7H7}Y6#2N~&gJL_q+`inu?a+Nt+<6^E?!zMGXJp+#O
z9Zk0~3r!5LgRrRttqC>c?eJkEXz-(!fCZjsbEcKIzkNeSzcG$oc4yA=1-FGLJ9u1G
z-P}|J4FY&e1(U3~Mv1K*!9QJI7%WdL_q|>ayGk4fCoo^-gcRcT@_Vec*-)ixa=qU#
z_WLFHgGjv45eVV=c4MYLt9wkOsX%&6iDFdIiG>?s4|hTcoeypvH5I9M{q*N8KO<n(
zXRtQG%ph2hJ%rhV<mw@;YX3B@XV%+A*ZlVUZImuA%zyavp%CWXJ8Rw<3G$}-U36?4
zy8KC~Mo4g10Qu8ix9M^0(@%WKJMz`tYm;Wjt=z8%j^>n|(_{9F(a!1&N+*$ZB|1aI
z9!Np=^X&wg!T9G}F)FWBgMT-f;5_qFM=X?s*3=hR_xnoo*d|`=$DH&8SO)FtFpy6_
z8`aZpeMrRjZC-gF3P^9kJ<SI`Tz-0*mLPyeL`YCg5E-0X*XO2ti((iE&thx@csE{M
zk~F;#>TZrZe6UeeFNlk;;JQbgwD>Due0P*3o6L1;kto+_V-`#JrtW~dbav5YC($9t
zsraSR8?^;SAfP|Kl4|>nq{?yEyGs$LbLJg8Vj%e~FP$GHUXgfYSmR|pJRFZOKn7g1
zhAaR+7L2zn04Xe>he7@cwBa}aiR96rKeBR8U<`Z9I4BLA5v~8*LJ$L)f9@}w5+^<t
z*8zre;B9Y=>Yk8nwe@T=t*l|qAd76Tm51>z1(MiMaI(7xTGUpC6)#mBCviRUKmLLG
zg^Wzfu~vAw_V1y1d?YnTlACgpXYv&Qxbg*ymWp+nfHD2TGjEWc5MPsCB9q~<Nzfp!
zIiX~*B^K6_yxhU~Vm#SjIXQ4DnLadW9Ltbukd$?Hl9J7lnyZ|eZ=YHio?2X-TH2j@
zZ!Pt~Nh*OOtwK5Np?z9acv?+yT3vTqLpaN)0~$|cdN7h!lZk0Rn{JYiu~!t?tt`+h
z$_QW>AD_TGrqTroPN4{<A$#P2GSguoV>AZLN4^4gWmLgZ?~{>3hz#zQOvp|qq9uK}
zJEPG)tKh3Xx<Y^Y5jXPIxwouLHdTD9tandcubj4Ic~PwR0s)%?s3rj7!z3^cGn8D)
z`mvMVC(3x5avj=2f0@K^gmu^u&4L7F&!5mzFHmn;WDM<q(+-fY)-uV6EI3mxpLdq%
zdyf6wtS`#i+{;<}_WDODzEYfd^6#^b&qVKr2<FW|7*CcNhEo_+1JT1A!W#$a+XM#4
zSNhK+hG->*Q41O{A0u-JJ!y?$G?3!j%5X@|Lz8k2ke)9r;EFhUZfd~3wxFXp{~()s
z;(*}@p!KOuw^b<+Fw6y8GNfQZvw`{c)U@q2>1>sjhk=(HaCFXM84f)K6kEQ{cg1%N
zk$0yv!&FLMg%=e@<cjr_+;Y7TH=?TQt?kKL%Ja&Gs8aeNQ6Zu|>u^!aJ+JiSU1>11
zl+feSVJKQ%k{7sG5PMLtS4;=TQXe+cQ{4M_6{$Wq%Q}z><lp4e9zgyvY9-Sg9?;zq
zV0=e0Y@yVK7?@Xz`MyQQ)3XEMPcsctn&P<yepPjU>-~KRDu~nq_)wa@WbuKs_x-~B
zk~|gUC+WmGE9flL6%`nBh;{$e?4W>!a1s!ov+r-N-_Kkxeo|b5N-H{zAm(_N-0LBR
z?UbO$6h?KfiG9C-*(e<z72&&By5*`WXk;fOUm;dk7O<O#K|bg$_Lgb~?*oi=WMc_A
z|FsfJvuTH?2%XQ;4>p>EFZMG2-PJ%_Aer+XUPD5AIXooD3?`>iN7?Wj69q>E`gLV`
zu52%Z-po^g<^n|SygOuls+>Rqy~1Q{5z=dg8RL6owVD~PQ0GWaGB}9eqvot3)exB@
zb2+#&3Q|jQrimG6;_Q}?OMVY8bd|VBZs<$<s5yPBxYkkoXIb^0c<t}}TG5$Wv%LaM
zVmf8s!wx5vh++JUW!&|Y+qWQSb16GH+^4p<f6HAeDx0=vflfCYCf|!W;mlDAth@kF
zH6GLtJ2JXpARVHNyU37`O8Bu%#O6DC5|(ZlNjFAnoUlNCBG9mA7r(|+dmg|{0wMc&
z%QR$;s5EugO#L8D!xOPAc1I%DY39$!nwKd>nOx1jvA(<;=6%dk-PCG9Q1bwm%COyv
z<C|q|Vl7|aHQT$F_869$>QwG<W{?A=OpU4!zE=Ll)+dtlnQ#S%3&txyfenBGh165Y
zhN$6Sf6fRvtV7O)dLtWgMlt}BHEy#bwSj}uSKHvBgeXgK;v5-a_NzS$PlH}(2-skt
zPlHG!LrifHt&O@}04|0FD3hU@PLTHk?U8lmOudhj(um2uoh)L_!S!q(?7QyQ)fS{R
z(?(VBZ`3kwRzyqG4d<1PG1o~Xbp2|tklhfja&#ysdwwN@+mi0L)WLKJ)j3hEv3oSX
z78t^G3YZA=IjX+sRC8LZ0xdSEvr6x;gG>n}lb|=SI$Gcz=En1xfZlEzD_w{MRL>Aw
zQuU*XBC{7K!YDD>AzzriiHGP(_cqNu=Ikv`*yy}rOhiQvgp>_<5wpq-yDy}6rJYqY
zPmMArVGQ4>8iEweqY^~->nq^C-6a=mtKaLli4CSjX{Yve`=bz(91L?Ls(T|0Qc&<l
zHe*V&)B%8)v}7EuW*or+RwRa90?awR{AV^?5J#I<ORr=MUOAxOA<@TJYvKX$RLdjI
zjKWdOqfw83$+rx2e!x`f!&AqaAma}70>gf`ZWDoV=>Q~u$^8gR({`$@gdd?K=_QAO
zc<~yRivuf8qe1lpHfXkEj!Hp~<_{lLnSY^wSWuZ`EE$j!X4!+Dupyz-+BygAsC2bb
zM{^GDy6hQwYCmgw02(4)zcvk}$J?e!*N>@yIIysrkN}gySWqqF$(dN=1V0#sqtrf(
zcSv}8>5;<k)-ZzZE>4o;V5;e$cc?po0|z}%fS(@F=8TT*o>uL6Gnyc6c(8?<IhGPS
zfH(#uioIXv3}n$wEB+p<^COy|2dtgPC;A6`wwmeF?R+2E`P-`Cn{j1K+-kWDtqKfZ
z0EciLZY7k1kK~ZJU<=Eyx$i8KG#};TPZ>UE7jI25ED&h-qmzaM>shGjC$clsKhTe1
zMgU`E^gH?)%t)%E!#8K*0&U5-TJ9&@Q@beSYb4zSHtTej-e0`rk24aXK2CDVE$w+W
z`TN<8AeWEhE__Bq(m!2X^smxCVk8m((*%0B0J3D$b@Hr7apNcC#ZO!NxI95qxv50H
zoYLmamE8JT<W{;?Iv0_%<*|9r@+H>+%()egv1=5yf1fTK_bupsTTgVz_0-Pm&k06~
zWQOSq5CMv!%p4mwmauA-@VsDQzrtd6e&wdA>LA>2Bn<g_Z?S|`{tH><t7W)dHM|2%
zMHyt6JMbzU&I^rU4aj5}-&)K4BhRJ;aIi-Wcw5TDmxh)@B9B$R0`1z95TAt<ZsJhh
z{f)XS&#!xJM9p#G36Lfh<~URL65oyb`<uN3n>=45Y51ZB3+PcefNR`!H92OZOV>Xz
zMnI8{c4Twm+>6BlrpKm8Dcw70Pq6&;_y_GU=-I-wjQWdR^_Q<cA+7Y0r$r{8;*+6#
z&inYy*XOnmO<$f$(|sQec%Z(0IzVwuLH-Pc>jOr|co=wn8-AO-JHYrhlT7!L%<z|t
z<k>-K?6A1(uzgMmZHK?{g?ss<8eM&lEU3+;VIFuIu<IPc75#J$c}#+5yt62|nKY@u
zRNij*0!i(Aki$N>CrUhj>578p{F0LQa)#-vZ+*moP(VNfW^b`2M!Y+#Xu*bshgrY`
zvQ3+Pkqp$^@E|WtM-cBdUaQMYKZKdSE?6Ov!D@qV_+y(t*)JZXWbwppbjRN<s||uO
z6*Wo={92%|Mm9xo3b9?A3o^`v1YJ%#yAin{O{+2Ow?+VUV$u4)>CbDu>n6}&jNW}^
z!6+Hbb+3u`FV+bN^nz(PeE|fu7YzaYJJnc6<yObWjyo(w#yc;dKJ#z7HMkSgv)Clc
z)?6#POD^5`Juw#2BK<x!{IAk91|)L;VIWw3CqWqwAn*A2yW<jsP-5o~?iPZ9vlU=b
zJ73Ea&_qIX10mHAqhGiO?;OA+s`B#(I=M@5X)+{#@e>*8E)PIB6+R^EL?q(H>qf+X
z1GpVC24yyJfo6C0V|RiV6Q<}R>hZ_BT-`;HUHuOxrs)*PPOnOeU)e~*tjW;MY{o(f
zWcvd~7u?9-W=4djth}47!`axQh(gat=ah%OS6&NK`a+7GoiKsppuv~~6J3lm*ZaeH
z#?wP%(_UF^Y5O|tR#=i(zDOW*WyEo{b>T-b8i;ds665I)Z_4PX2%+l29_Z?g7o8ek
z{T}CiL1=TRF4Fz#DyMmMHAM7ve{I!?9W7xe&x7_4)8n5(n>1^5GE^$LZE-SMLb3!N
z#lW>5JOYjL8`j47zx`BT0pq32N=kG2Tl}QzVy3B3j9gXxdLSix-_pALSpSXE2O^{c
zpv!p*avKZSJ`R|*d&9;-KaW?Lr%0}5zw^2C(f{gi;Y`)gFU=i2=I6GTg1_u>mAAZ*
zNTW->x=P>a=1Uvf!8Lvc*E|f_{s8Ku>jE?Cx5-OD(Mpj)mrb$STY8M@V42g9%cnj7
zL-vhuF1-)7Qg5a#{{q7TRE&JTvh*+%l{s~O(cK1Des?0R(Fu!q|E=j~m6_Zk1AQEa
zE_r->rVn&WtX>-xp1(4fz-j%)q*THG<yeXJTeAo1F@K?4Ht#Gdq|eU%Nk+Z5sxmDB
z+tYN^j?|h-T^#2^)h<^%^|+b(9DTHG(wlprS7z5Zh{a%&zO#2Z<YB%!*HC*Gq3|(-
zDCfQB`bpy?rIUglS4-m1s1_p15RKYaWA-6;^bn;FkmFC0Ja6bo4;U4~XvLt<cjP-^
zo!W~bmQ&?#6Ozvaq>gV%6E$5CAZQ`t*UhPL6(5erLFg%kd;#OSM4l_BH$SX2UY&e!
z<yY7POLIq7)#H!$txj|1j~olW)GK)IB8`;UD7UO{^9t`@)x7fO;m;>=+sW#38v=n+
z55^+md3Bt>NeP9w_aL-jSN58;X+gO3_@HH(OZRV`^1&WPVQ4d;Z+IS7%RVc`0nPGk
zHKJt<%f<d6Jr?oFf*6k$66>AZSWKJ$OM@C-eKbLr7i$Mlx6f-x?Dafb7JXJ2wINMF
zM%(Ko>V!_kHuC!+0~;r}K~pkHG-0a3AgA9Y`e5z@YHOLi-yqC|=>7hw@~|=DlTlhK
zp>_)$Mm_m6OFj1SRLMs(kdGP$qpe?t45uMapWRuz2&9XfU6-l5)7b+qH+sU)T26}V
zma?_1-|#9Dd$1M<2s|hTKfdo-N#@}-Ggf%C9=*5ne1}8tSfmq<D_qAMevJcI1rfun
z&)PBMM0mqOG80020mv9)h#yX7M;K@mZ!`P^;+g5D!1(CzQ*5yFvXJBykT9MU8xC6Y
zOa^fPpZGTv+pZfu>*OHCD!4&_GS8ALTFSuZb#NSf*}m(=t+uJTuJp<nP@*intynk;
zdgHj$<7$$MXNgx;kEh;%@!iEH*_EFw1_Qon=ez!vh`=Nc9Fp%v20p7g7xs7kKY~+d
zrKZWL<I8tWE#H<i1)S)YJzV}O;{EWu%%zXPI2nCk;6UXqa9MIOnOl_?ig_Qo_9o<0
zr};<{IOsME@0)n+<j9_Wnv)1}A4#<j9PzK}7rsNb)aO=X9jSicHf1S!&Sz^qS}x{c
z>X(Y!#XE1#NB=f_`z8H2Ho4g6WS06fkGJDMX#Vl~B)9*|y8iIJyO%T~UKjmeY`s@d
zQ~d+AyHiLgA%tF}gx-7afdB?Xx-<bpm8uk}f+hq==p6wC>4E}+prE3LUX+f22pWp7
zfQU2|0p;WWor^PP=G^be?9AR5zgc^&=iz3&+Ta*|tLw-1%gwE4pLXNOXfWx_Px`Mi
z^NEaW%rbDHs(u-QS_By;CO8uDiCh){we40>UwH@DpXF*Izg5M!=~ye_dFp@kjuQy4
z&bdS(42B*(eE#$wH`PGD+9^rb`P_&pgh5Z~R8SHPFnig&VG>M_mAo<hpTdgR_h1qt
zyB>-R#^`a(PNZn|c_Je_d)w&03mj7i1~zkHDlTI2(k(>Y!`u`IhnLW<&Beb4(<u`;
zR^Tgo`g#`%3efjn<eu({Xf6gpzC$?p0S2w1P7~-mdBMW7r|%w-t@LR_;2)mMYM7s*
z=ts(cv6dKa7oQj8vU5*8bc*V;g^TeJaVbeYV&dB7|0D4POA}twqoLuzSMxO`<|_`Z
zb?E{&X=TAAZw}+TH~ED<0&Ds_gL9bhYhYG?hasS;HYX;>R_H#aT5@-irF$r^=viN_
zg$hrJG_!1E(M%;{M>S7?@pS3jX`i3Q)8`ipTav-g4;Kw?v5S+0O%$sd2^7ncZkefp
z435x2-X-NcX2jVda9EtziNbr6hGG8UpJ80k4vt&MN3S?Y6x5iMCQPK<Wl8oo5!bOz
zbDSwPKrr+;23VbKF-=@CG?lj{IUdgv>FL`u%N*+8=HPq5Z}5a5y+7yP)wEm7X*(CN
znekn9oq1qL7ig2L<4|P*ua=$JFzcR~OsG$UY)kp#SXCxEv<{TihrF;MN!9LIlbEwV
zkfXL=#WOl&>DJ$1%vsf<Y+GM{Jvqqji;mL^gM)eo4$+XFwaNN&HaysyaOGHq&|RPI
zzMXgnVBpEC6OksKU3dC|F?v3`mb0+ZmS;e%?$L{=*|z(1A^xUsy8;Jl+Fw-*TO5SF
z?I=b@N*I0j_tm|;FgyFK<Gr7zOc-~KBWuSSx@)1yx^62ya*ntd$nFtwXhmc0`FQfR
z8?|rQ7Yn0a%=KT3div6RJ8JIbXS(Y#{kk4|MRQ$WO|QqjPtT9)>OuI?lXxduvVC#@
zV`bKI<Aq~by+_UK1^Q13*Y`e`E|OS8=!sj#UfKLMi2~n}Lz8ZwE5Eyw(Zi<TV+dX*
zNZvSP{2ns^fo|o+;mzDbHXa+}`m@-s!X(Ri!z^#*60AZ+`-P3jOk+u&g1_h6Tmojs
zCstPldaC8e4@{xkr%c(NIbMBVhD@YarZZLMseFq{d-hmx_H}?T;`mG%SWwQe_pg5Q
z*#@qs;+YY>)%5P~MU@CYJEVyXffvQ6D(5x%*`|ttt5M19_TY)12=~GS3*CjW`VLj|
z4NE;=qFNn)?K<{tqtNY%C*7_GbIfN6Z$v0u4@D&Mby3ZZ2=`Ac@IEL#)xN*DpC?>B
zNz4-!AUohJm7I9R1>pHa>WNLY!27Ggt`gs!`{BmU(3@(W5W^fos)QXSN~{{xJ$6=F
zCL&##UQT_6{T558^B2~9u~_=V+EIc3nhEb8K;RbG!?-b%wW&hjyNxN=%X>j4jn;E+
za&Bm?9olKSn9I4-0UWO*Ei2(Lmkk>%>hP^H6K;)#%$7#u4nS#V9BHt?X(uy%^Ji6w
z8i7UUN75IugJ=r7pq!(YE?={C)ZF5KQhJ(k{PF>h^^(8lTO5qC&}AFS;W2)lwylpr
z{l<Dc0y2q%5-a!=c_kW+5*B-TKG&<Zqxg;j0V^9mi4gIr6!ge3O6%W6DZQ(&9C%I9
zBp7Ajp(LIgnknWx?!<pZ5O%*qF#9zsa$c&cPpUYn1O)W!uX%0xzG<BhH;gT5xICmS
z+A-d*x?O%gZ7*pm^buC&x^pup+_9c4s6i7n=#&;JZp9T{*ZUD)0HV<d)Ua?Rl<dr@
zAZ-h02EW&mqSLuVlL$C7F20FBU$HXqUCUedStf)>uZBSbz+_pAB9&?gfPN_5b`To%
zN%UYp)c5?6c1=!L`y1@n+d*TB)`A;<POg^B>78`+ZZ>hd4exd`g;gQc0jhB*IckUL
z^3IE%?)G!(Z8ux=>%kaxr8jPE`pH@^(S(N&sxh^ysh5<He7LN&oW}HdEu;-RdOb5~
zLVfE(3H&3BUn-FSN*J0ptg<kSTIWkvg4X~rwU<VfdnG5NwEMk`2};S@G{)OJY&m$f
znjx0`PWm`Z;$yozx;fy*=ahJ*Bv2Rxm(y0<0vBxQDVZmS;^Yx8+bu8Go^tW#vUS32
zBl1B$aLk|dH~>1Ss=`*E5_$+LuzzvP`bt;?G{@8S2%_bFxiby}g#b@8?lP>e0uOeX
zoF>jpO#m;tYrY<C7t``s*aXX;!o$>af23Ow0e~n_5Iqo2Npe#n+d*Y28W{iFEKJy`
z3YsX*l>(>7^i-ocaoDto5h<Ceo~H{Sp5j6Qf5I6gun<>LIxj1-YS_%)y5*e+(;}Xw
z8&L$f*-%aBAEv0GJ0Kj8a7aoGARK*A3!Nu|51GQ|6D{)yf<{`&Ln%?+XXYr7`UJc<
zPNF!cuc-|#Q4Fx|5M(|+o39WJ$OSlBxMJl1*80KbJkwKq%Qs<!Qb~G1YzH1sAvyAp
z(+{Lw+f9AxNd*qW1r8~-JeVe;c)Aqats=SO5Z>p>_khTlK!7>h+^e2Q569DKi%M`q
z&SZ_l9qW?N6{esIVl|D!^1XC+I7)zziln_j2+iDq3NJq}PsbZ`7n4FM*{_EAk}0JP
z47ppbn&;FQ{15M)O#}RF$WinR9VV%22QXiZHk<)wx0o75fO+Q_6iAWrL%Pq!VApuG
z^9~y9p|JB*GB8h8q=y)yQ=D(StEdvR$S?00CW3i@Nsdu|g1jXp^%i}yy0R#OLS!ef
zmaaVgB@B-{BC<#klTbo?f7C9Si^tECPXlm79;K(RoGsq}fy{DPtz?Wkn-i~!ilz_4
z@W&wVP~x0+3LOQ^$wRz(cF-6CEjEs-4At=EfMXBo!1YA-9bgV6G$)7Nc=2Ym#=30C
zDDp7H@sR9z0yZ3?LpNGaGLjk4qaZ3F;T!vGOHplnStPam*1F~;VUf!dqTv(d<0tS!
zd!gtFxXWRB6%=?`O!DNbjn*3LN5NEBZQ0!OHAfN?sN|>$_Ox~WiEeU03vgM95|WzE
zw3Lr9tvKV)OW8r<>pP;0$t-xbXZOZ|$f=Uf@$2)}@k%61U_z3v$ufs9DMzrxq#^_o
zKMaW=0#eBJFRY9+tVf=nUUVj@`zQACV3G;UGL<53mITN8Wc+;ctk$GnEDV|hSM0IZ
zcL)B)))j2Pu+F4s`I+8?mvMM|&5Id2A9CS2ZC4MOMkdbONSbo}3f?hFQN?tCzvZ2l
z6ot@ayG&%1Qi=;Md3X`7N=VK<n3-UNOd?1H^JMD^z*G#OucV_#BmEVYto5QN6X;XX
zW@!151o~tcjp#oLLboIvM9xA(9sLU((ev+b#4+<R8%R<}CQ7nPInyaI6iP8AZGE<b
zDsmY;@NIL(wXm796BbE<C5OruIKu%OlHJAkn_6^?HUM1?G1}kMrS?+XPr3N{SKe#2
z$oeE+Tgqv~W_p<NK;{bbXCMo8DK`Mi<Jsb1urZzMOkA8-3uJ?JLR`X25$qFe5liz6
zsEo*jvO?edH^pYLWriuq3h-|bae$DZpBibCD3=3I&LPJ$J8yQ<(K&-irp_{Dm+t><
z3?=Xv(%_24fOq<|pXh8<8euV%T`M<#7zbjXgkSP!Mb*OjfzJ41y7=`6a(MEM7&=AD
zXh-J9=VkEDOZ3-c$Vwn2A<%?R8)hf+Q8P7P8)WC9LW~K}@ck}j_1)!>cr)udNf-|o
z$CE1Q0AtjGcroet$PM5DC9lhvJA;#{Z@X+M;#&D<U_u2OXe0nc@|=l>-$e32PXU~3
z0d*-#i>~3~{KI~?k9+VdJOr7|qU)^Zskn#se7SMjC3ol`(b_;4h9^FBkR(Uothihx
zO<*P@y6=4w0IuxzlY?!p%(v5R1aq^lgNo^D4(mVVY4ak?pMg4w&H;D)y|ZG<nqx0|
ztQaSAb|#A-x&wzWm|5}}ZS<2n+?*$g6-6@2fzr3a0GmW@G!(!r6ttwUY?By1xkWj{
zm2;pDIZ*M5LKkN+{AF_GrS~~_@{0cas{1?ysSqOtoAP9!v6ibrz4)Hw)1*_b#tY=z
zc&&iO{PAu1>+q|9Wjmrpt)@=qwO4tFoe)wX$R$y@emMwdXy;BoH8`^utS?pTr{2D}
zdTt_x*6$hQ40cjV(G|RuCfcd??6RFZepVh^Fyy&fyC4W#H7QbpIQo2CSmiTI=6gmL
z<%}1{x$_co;JU7fmtBFDA~h>rwqHKFvnjUft1c*#xWD_@CHkm!lDG|I(Kprj(=ztj
z+T|1_vw<&@B3hSQQjE}Kz5z1d7}!Axrv6&7`tNEE?vm52iSf2m$dGPGXR-)D;1h(p
zYxy}!ysvl)*0D-Gkp0x>->=?c=kn>x4M9bB$FCE7ASaxw#jSJd2HxV%iIxh>zC~o@
zwg1?&vS0p9`Sj(g-I#9d`q{HXk^FouUW1H0Qu+1hc)s9H1+^HRZD6CpUo-wwh??~u
zFZIEcUj>v_`38LKF3}6qyb~{6vXRh=_a;u`;kp_rdUgMa<dFHS-t#>R0C+B0IK$0n
zALrxG4rU;>dFx9){R#7l9^cmMo-HayZN7;63V#`pyX};00~V+M0)I(&_I{eqU$x%$
z11Ky$(*R_{$qDVtI}5w!48Ez5IGXIP?hKEbNa1)*FFM~EwGK(-l#HE++}28yAJTZ4
zvDtgA*@`*Gh%o<co$RRu)uhMvd2qz$z@vwZqB?^kZ9Kgv=%RDT@2m_%>Vr6u-`^FH
zAN{wL<4m3zGkQB49IFHiL6fIvw`RFQ_$Oc9RE3|xYN5$7^t$LoUX0I(g5bSW!6v1S
zv3Q2@{M0p#H1nI+(CMkd)6G_|9(`A;4pt@@X<Wmye&6Bxu`6-?Qo{E=vmdI>M){N}
zHyethf3njMQ5*C1hrzXcpY2W1i;~X8BEt56MceCw9UK3y|LM}p=o#+Xhd(qgd&IAt
zz?0$<1CR0Fsp(>f-62O*Xdn9(*!&D-k$i8%9F}je%J#;Sf6R!@X_te0m;DXpc;;Og
zJvpp15P6m3>ww{!mFDI@%kuqqf<mFk`+8;jY3D^Xk95ODw-mNs3vO3}JXc9vT11V&
zE1T_B={&6PLn04KkLEVE(w92bwp$#wtNcLrl>f8d<-P*->r=;Pay@Ic*82V{&=-;W
zUgP_f;%N<E#0efJrEYDu{7;jghU7*AWEO&btIy=sz=zrUomqE*E!|Ya=TOy-8-G{B
zMEQFJzTVKeqNYXWcvo$D@qC1k<X-uo-S1xE9W9xZrF3^XP&#hL^b)f_LuS(}(5KF6
zy(RmqWcXD)EFcty?^r1S;E<M~3r<lZZQK0g&v$botml5bUAi$E5phFyCxH8>-D&eB
zczs4DIej(Vn({MLV2-y^RMwyE-O#K*Cw-uL>a}%BRwvW}!(j1y+js7FDe0Pxb%*+c
zH#;#=fBhnYvm>m2{}^lQI@$gOxxQD!7=6l^{BuDz^^SbfLOMccB=Wp(mUq0+Dh9dQ
z;#Yv$Ptc6L`|Y>(-0tnKycb*;#T<H?{Ch;8ds1B-GHR%rb-3J2=|0U^5!x$aom$I-
zwFqsu|0AH5l-fT~R;9_n;F3eB%myl<H*w8rd%qH0^uowLd%lo+n}p60pQ0<-sfBl*
za~A1s)J0NZkj|w6gFl@=S^>$!KV2MSFOPM|rEZJ;66^i%-tsz?FnXCVCRO$q+73wK
z&93^KSv?t-Y5v+xZg+;Z14v9vDqI9<PUdro5vY>Xk+{%tU~c{r5+KC)0Y}L$@k8*a
z0D>SUqvMYUEB%$uD-5Zuqo5(S)8}6kh9k<Y?x@{)990)HTtgYYT|8WB!gw#Z^udRM
z@{?gyEq!HsX;U|%hG4Pvhg_@2coayG>&)J|WAX5Wtfb8dpNnluf;Asl^bhBUpe{V=
z!|2;*wAYkYTkzi`6c^>)n+7PiHh}|(+M3&0g2AN{yuKscM`4q+YxLh0F#}FD!ncN$
zMSE|JwVQTD_c8V+d`f!-+1L|*SFCb%sxe?+V(gwy^xoFSzT`xOF_}$1(BbM}$~j4i
zOGmAqZw&cee=(UF2}>cAt>h{Wvag)uQFH}jigrBmnGFpJY_!Hr3b_>d-*v+^=wByH
z+x5jvauUvZp8w=C;w~v(Iek+AY<(;=4uM%5xN(4UE}CQtL7&j}ql1k&I7PRW19D07
z&u{uN;_HP?KPiIMtzuf}Xd#?U$6%sA!?i&epOTd3!S9S7eWAk9JlPnf<;iseeY-2J
z`{gC)i=R2S$p6(n+*ujSSG@jD@91E2uI)MtRp=RAGr+Xnl_evBikdz<<U9^GKFWd4
zn|CAtiMmHac~tek?P0wk3N!DsWjMOnc`TUzh+5v>$5B|4o%+3vxsGYmNP~RaL~H#u
z8fjc@>3f7F#PM)7o1nO0Uy-Iba8|!OTwLvE{PAwzC>Of>3u)*&4~R&?92^&Q|F!H3
zMF2z7C3@S>odhCJHNNBzvEwkyWp@G|K9{%~^5T!gy|58&No!rCr`v6&jcH5%px|ym
z`=lVO_ckEoFfI|)I0>!1-q1SX6G%|+Gx&eolRPR(5A=$>9&Uioffpux?4!Jg`0zJu
zC|40~y{M`*mC`CE*=^CckhY?J+U4Yv2jh9WYcD3U?JWw#%f1jdY_0yO>B>KS?|M`I
z*@wWF^0CM9#zy+SjXOeyadLQ=VEmBGItrnDo`qHFU^ofEs$f>ZiTu=JEycXEa~+Af
zA>(XODMo$#27oMw(8(*$c&i9#v7Q&f#K8oBospNYSG-?K=OmdGZ&;BB!I<FdG=JLt
z!P615KDiDP{f`ds)IY|nj%k1EQXLQa=gg496x%s(@LEYLpwcgdUcmXM4x_X$j%hlm
zk}38D%2l>cC#bUSh%r)l3rw(XIpl{dO);u}-%YENS>q+iY(B3c+e=(veW(9bZQnlb
z_^&37$Yh|kJiE8r4}HQI(o_9Qt@Ro&R!ji2`0P+M6KXw{4`!HKuTE<`^2@-Yn7*ho
z84!KDt#ls8>~ibZ+|4@Ddjg@2>dI)0iiyDLmp@$kA&^h_Qf&C#J4MtF<jih$H$x@g
zWKTi-6A!l_`{!BrH~PPqZl3BNE@RiS6(P80Nl_HO0>pFvEMX1wK<$7TeTOj57*6r{
z&>m2>Napx;33MVj<E@}B4;5f+0ZF~P8Vus6b?)S53Rn_kpWzC94G19Cvu{|*#jFD<
zYHyC-Ul4k9NCkd9WjezhM*J$hd=?pH2?S5j7c}sh>`55Z`CKO(oCu>xQhmbD7|u$B
z<aUWCEQS8Pp3KTs?1M#lg(kVeWnmNxXRrPQlU|-nVnaBwCnnd`c7@&9hY2!OEP<h!
zl=*L!=T@Z#wWnIMqPj!{mGks_)>^Y~ort0#(nCgL0oh4<Vj}DfL#8TEa`o2kii%1P
zo7+9fD?;28R%{r)82%)`{A4Xgg<-@t?@2+Op12J2hb*VAZUHu7QEcCG%BdO{%_}wm
zV-N7U;OYkz9KeVxk)$nyi2*v}Iu@T(0ywb0NSe(_IDNss9G{^F!XG=qx>XF7CB?~i
zxIG6yysmo}me+P~Q`*lO?NZ=V$}W|XbRMlm8@cXZE!a|#Ec?<HcFvh}4xm^=xc`@`
zVeX%-rO1B#U#hlR@_$pcWz(A~2PLm51TAGSi;GeP*Lyr%ud~v|I;lVaY`SjD;W`=h
zq`g)ll3|n!ET8!<qi&(vB{JBexGss|fqCkN_0`Sk?7oBA>_%xlBTQCkHx;fn<Ywpy
zA~LjBKz)rcn74a`daI`odA*H8`OtKLQluPE4D<6xJ31MhV#5?bgADW-5)Xjksptk6
zRw_YGEtkU9fk&=`fivA~v-OxIQL%`J^WMfxty#>Q-cOyJ$x8Mz-|Nrwu_@gTF!@iA
zMTP@&E_^bssPYD2Gs?KwnjLHcYjckD)o=Hl3fQ{zs4M9aR02(0w4g#<-k;av7ReYz
znfWpYe^c*y3XW>jP{~hFxRG2kue8x#oEx&`^_Xc;knPfw$);<{`K6^sB{PB<(|%Je
z3#hd~c9;K8Xx6O?LT4E~w_rZTG-EgapU@13Oi{L!S)k9U5qOQqU_ljgt0RFXJB5k~
z`^QVn5r=u|bc#YRU!G}w+v`p@p{*3#d-j}{uht3p?Vhg^84oRqIv-fEtBU>B4EGlm
zs&%K=Lfeq|Q6+H4oz{R4tjdy&l}L;XA4$Ltc~Prs#IYQzaOP3SVEheY1QEix6BmPV
z6)-)iC!D`_SJc}|a*a8at<NLAZcWAZFBV2fSX;Uy-{fn4I8nxr=}JX6+!5w}l@gdp
zv+(}YA*|*>N#K;n4*Z>KLZqHY`rD8$2D##yJqIg66Il%j+Jd|^SzWC-X0u1nN1Jc`
z6ehp0-|XS-;+s4(0Zg#o4qjz0=-)SMF#;!3iUn~yBaO#laA{g~D=<VBcAMOCQS2Ag
z+hNpe?>_IDPbwSnJAL-_$Cs&*F`kKEJKg*=5QQ_I_Z)l&s`;8V>q!z4Wg#BKhr^#s
z&YNvNI~?i9X~LuRNP|k<DRCc!5g83*0xL0Y;rp+Cc*d~La=qz1=bJg^N@}n}lxn!9
z5qh<+>>Ix4b)~$Sf(<ipV&(r0>96C{PmR9{iDyesd1ciV{o;jg#@wh7`gs>DR#C)Y
zLIc+IA62U2_%Gu#p>k(z*sCbW|NNsf71>wrZHoV%?*aI1oD?4%aMKk7$LPk-57N<_
zF8x}ItJ}T3g41<?jTz5g^Y1R%YSFAx4K0!V`)9i}t{*g<PEi_DNISOshyatjq5QqF
zki<DRPkDW+1<vjf`X{9D1Fk?;P9OWx%l~5?em;{mYx)sMG)Xhwv*vkrn1i&ya%X}T
z>>%c?s@U#NYX6wFv<0)_S~}aGD$RoBaSBzGhx03gUO{(OlvdxlK3YoRm*&6UnR3fe
z-RF^vp*MEF;un%~l`l0KXC?Uf%DUS=cOL5DZ?C6Q?;xhTt$W?kpwTHO#2Ti=z`(&q
z%ryYS+3I0mFLH>}T^W8HK<6Yk;7+rc4>n?|$9xRKY!cqHP~QLR7rGjsClw~dP*lN?
zXrg6FI7}6Sp&Y`JxKiffx7OijJkPgEWP<ZWB0oc-6g`QOMYhBx=U{;;3f~ZEwf#c2
z+v&_5Ww^m2+-MC>!P#ebk$r*Gig|)AE(c~~%=`<EjGUq`NAng{@`5oEXGu6GMgo&m
zMoW#}GQWRfUV&gd$+=V|XHl($oWYHZ#4gqck5K1_ln+LR0dOTA)#j7Rf5cFMW`;2^
zBSTYKsYVI_R`p)rLe3OVd8Onnuf=5IVX~1)3{xkC>3K2Ji~6_fl+0rBq=9$o`-@C_
z>r6c-Z%Y_59^A_`UWcG(($gl~*d<J!-@EW43CVd2LF6D_FW^<!Bk&zMzYG=OCswI@
ztUe-M`D5NU4jpCU9Gz@jT&rOQ8b_zwGiGcqVmX9w99A*6XN2Jq5eQ~)p3{r6X`-;o
zSykTj7B%RU&1$M=H3qpBz4Xb1-)iM>WLgWkc8`VNF!sd<`5`pxE5V9nQ~CX#)h7Kw
z|G|pl6J`VSz346`A(b^#W6JhAi0&-@xnbpjzzXPyNkxhn&DLDJ#r>z)x^f+R)M$O&
zzH;2<b&`?umzMo+C;OBl3fQ8cA!5R?Y~5$?0zyDgHNb#|w|-)+WnuMj9?OV!2OXrG
zxzs>-%*=;G*(|n;pTsUd^S!~#%4XZgQ<#gz*kT<na`9fVr24YSLy_NmGciy-t=>Xl
z+VzFFmqeY{wa=akb>0RNKG&SR%_Mvs>wNR3eLU*?u1Q>FyrLd;D&e0}=Wk)>msJ-~
zE)h7AD|}|yLm2anLEFtQ<K!-TG=8#-{}|)})iD9VDEua&mjhuB`ahKXHa7`l{A$I+
zc0lWU&tcZQoYvXhXZQl@+(^}m|A1Xbg<ty`U07!s%N;FZ$|8R?3<Ht%$5s+P8BogE
zHy}5ANXBYkZ#F`-cS@6zdhdh?ZYdA^Uk#q|g|6~mO4fy~-d=Mf^>(Np0wP^wTXcxk
zUSyBjeBhDtAUV!?Dd8)5qrje4lH##`QR-`+TA%*95oCq{r8g?%?*+JMprhU#Eh<YN
zz>Z3bPwZ!oUjo_(g0}ik<zd&>VN!>08PEji-j!>1r+ss+W(XY0&)<w*<@|Fs46+Mj
ze0blBP+t@{l@ea>-O5A0wqZ%}N67aX)Pr|%#SADf2)`#=c|&6tL@S<<$!3W|Z%lOI
zP>Dk*LGwJlWrWqThH{_2Kj`{y5k!wMHIT^ZV4mKE%Wy_UtiOL%JX4-RAC=Znr@^M9
z+*g*c8FuZVVCGkfLf>+*{d7!<@X-qM8j1Vfc!N%@p@irp#iEYh>%+RasuZJu)q|2a
zteO%@4f?3XZ!>^%$hgtsQCC`JUltPg>E^sl1N45qqpa}vk_WdMntX$7UB1;Dv&EJ>
zvO9O*-h$EJSQ8$>RB8lj-ztjNq4zi#l9xHnke~3@ez>AsUV~llmC{QTJ$&@WuScCW
z@giy<&(?B6YgxmD2-PBRtoKTaSt{5)>TqlnihOkER&jcORE%q|X-)%sf8fgz;KhsT
z3e-qIfKizrrC}=YDnDt(A@kLgsMe=y%c50*U{~aNFycV8Qstq$$=G}W^ScAA3J=D;
zzj06@1nn7o&xQM0Gmllve|*J8?@NttAnC3J-lv39wdzUQ_1Ic`Ayl7Nu`bBv3{ez%
zsm#x4{vkw{8nlTH+A1zG8w)l!<|n$^&N(j!acynyV1MY1ob)GV+n6nlS>>t7uln%|
z>GwTI<hf{m%?kAvq}R=13F7L^m^C<+oXeA$N?yubG6Ho0AP(XVMjYMcZOGpPSHrL%
zN<qmAU`iH4C92Xg2Vg~g(6e^@SM%7<q}x#d9y@VK!bGoz3hlx`>emhQP(L)94>Ur`
z3VCLtf=y^kpEk-=)J!^GpI-^U9UckF@n9<t1$P)Yz9#o6wSe36IOW>G=39`2DMmS-
z=8|7mzxZ<8m|RPz=eQu(j4g(~b%c7@<(lk#aUbYA<uc<jGU4(K^srK-d&xT(RUfUd
zU`F`ND7d7d()W84A~j@z^TW(1nKGT32J5Aq3Fx98Wat`|0fSS)VGt(-$UUW`;HA{5
zln`2q+adCPf}bURP}JlU9BmU!r>IP+!^1mhuVFnP8>9bph#`mbj1|~~_~rNvoZ15I
z_ErPEJ;87&F}Z6{ca6klS#6-ikoRwh6=|LuoW*6_2zIFVWL37zFfYM?;#8E;L4kbD
zp6ASV!4BW~I?sL$yLAtEnYndai-Mr7-wwusbHGYD7A{)Ub0^Bq6;!eKlGg>T!v99p
zXGV?j5E8CVaL@z~Q;|z=kU|2|21$xV4Tk@Ss5_z+e^wY<E<FGBR+Z7xPz=n9Ai$*(
za|lL^C=5%5_^EP6Z;s`w(s$a8;nB~+<*uu;2YFw+_2Z@(2@(vtqt5(Xk6wu>dkWbi
z81o_X5UZ+oYJ{R>DcxgSy!T`nPomqo?inkodD=F}CuV|5pG$1gX;0#2No7_t=euG0
z!6I$K*urcK3}AXs_ACs6^?=xJ=AouNrE$3|gvR+hhLCpi3yQ5t+W^$4QsLmQFR?<c
za6`iArOuk&_BP`d$>IAr=w0_Riol4&(078fR0bGJYMDMfGT2x3EIcqbRM)glGr*Br
zy;#9-$T+e36e>j3;htf|WWTn$L$*5lfvRtsy32!~2VDDm4ic`9)ZG+AuDp1vG5FN|
z^Ha=gb&ntFSG@0e{8q=qqsYE&dR<^{Jt8|Q(RhmurxXP~r{Q%0OkD!i9+>DlLw0RV
zJcUl9ykwIUO-=M|G;ob}vg&;bKS}C7S1h%jU08$&Q84tyKd|#yq)lQV(=T&&$zR4$
zU3o6kt*G!orQfgYe^?@T`l#`4(;-eKn&wG?T0p+?KFTCNU>7QL1**pp&ClN<OJKjF
z57j#prV>n4g(>Q1s&f=v)AYlI6JziVu!X)!oGkcS{!>HA>7RU8>$gX5kt10ekTFiZ
z#(Erji}ttPV<py&b>m60$))x34oOcTQfPumeMwFQIP(L$fwBp)Eio8^!DSZcQXy(S
z#&Z77<hNW}U3b(G^m-Y_((xY>+pyaAzyw3q^RXPb)ET81@ZUTWimHEI6a-s)3i;KY
zucyyy)TG5fVQ*p7i8U%Pc?B^w<pH#`a0L(%8;q0T;a>xGnKrDZkFj)3u7yi%!u7yA
zj-pGp=LQ)&eu6)~9gS@Y3mP$Uy#1zBcoNIln1$u=$}R*UCIIHf7M)J4hF(gj4NMo9
zzmojknb#(AI<12JMdeF~>w63yMCe)KWSIEuS^${0^fERiLl&_dTmH-(L<21|=0my!
zcmTpb%vTlari^!wjWfXIySvaBYNYj)dQzWZIET_=n&u!JGC_?;26{(zcQ{>q;_yE?
z?X698@8!605?AX@nMN%h&X7_arSE9Jbgq3~-~8uZ36HmFQ&j(-pB|^&46pMAQ2-)`
zC?@6H{odX$#PO=S5u1;Ffxr7}S?-8dE^z`$Q)l7z{lbX;+2HrHp}ru`f&yK1c4-#p
zw@!%64^nFZy&j>*qN<nJ(yQwe4VpQAb>A}dJ!e?%dy-Z$r~t>7=rTcpu=Cv13z)Bb
zpIOQpA7Psqw9Dx-JnQn_@%2qbsrA`PD*|)<v!n=uaeMEcOBY!xaRhZyC#SHJqbs81
zWnI+fU8f%}A059<kV<`e^TpNm&|X_lr*0+$)kfC6a}g7(j5HKsYRj6<-ZE0aJ9DAC
zs&x2b>6VPQ=AIlm>EFJnjZfr_2UXXUE-0JCIhj3l0i+N9)^(mHaz`A>-s@(dzLE|8
zK$wY0dg`>o-lzDCB-dX3P@GeDjXV6J!KeLKpFeWn>Sw#H&wIuU)&zP9ob!agcGz~3
zj006w{?_W8lx|I0TU}zJi*x*_6PM4kxyw?|QeF*QlWPi*`tbPWz3AKJy$kegW*YIp
zCbH|f0FloJ%bj?!`YoeY0dMXXLawy+Bip#lhBtZUmictd82a>3W&pUMh3|9eHA#7G
z%`wC&M;S8}297Z5L#@hiloN-vc|kqPB3WcB-jp(Lg*F0yE-d;-TZ#iQgy8mLhi>=o
ztBB?=OnsFP`mVCHk3Mon-Am%*k98h)lE4{74eMyR*grTWl_p3(O@&Upvvq09vf-4U
zM{<y(wviHU(|sx3Y2V{ab7^P>AQTn2GtU!w-?^8}D(To&9OgZkEquO6uO!^}?H%Q-
zvt1<-SI6%gk-6meu58>UU%YSi>cx%j_g+^n_>?XD44wvpr)SHKe{M~_A;P&|m;4TC
z{n^zR3XclB1pKnBPj$*I``mn-6?nH9hOv$R-9?~CJrR7LIPo4Gou%-?fXMpc)$NUb
zvv}CTjLg#^wt81!T3!Y5oD;yMRz%tHvDBRdQ2!ArM+_#gWBML?shE_#aZDO`u~|2D
zB*N-d`TYK-<Q*|raWbEOeRn_K5gUUjawhEj>%Gm>s;koRJ48ud2*-!!mSu|E)R1Vd
zrQNW2N$`}pcz~*$#ivm3Of}iZ4oy#&;#5QKJIyMIB8`V8pQs1pq^3J%t_QU}9oSM9
zeWwJE9mL&?q2CzRC&@Oehb>NgDT{jY2TyqndokGcHNLpI3+2Z80D-=fj=38@h3@78
z7I-BZ0}OB?jd5(bB7OUO{kdgvC}j+DQJ}FB$mswSX?(*@s;VNqy%kQDW7Msuly3^t
zDR3V^9c-eWn0wL#Ek;yMVCB(9Z82Zth6FF7N0=e%*@rW6=OIH<Qee-YlyiX90q6W3
zm8CNclT|_k;)}C79vS`QZiak^P3hBF7KziD)|{Jq8w~f-HdF7|TmQ*$UP+a1o?l5<
z9&;X<wvo-cs1XhMV4+|dmG3=$z_13$J=6k8<$&h@V~nrcnz9^h5vEckV~SRWZm!Qe
ztX2x_@3-H4#zO!Y=qHTMZ4n-F>jQn}3n0}Zo!m`%Mk)r(R7Y2FM}RS>0^s1t)zL9F
zECwKw3lX7uH_w`~bSxt+-2#5m#rQ-zw}7jh46yp^TMSlcJYA%g9DP7-NfaMp@SOin
zcOut2E@Ordo>#ZPdbCwy5baMj0c3NXP_}iz+qKj5^4~&X97u`-g2?bUVotc_iSHWv
z=Q}8Hv$z-o?fO}VV-2+{KI`S0oF=<NKcqH)I{MZ+?s5D*x4p^dZo+<yhHsD5=aap{
zNflqzCvExvzvgV|?E~cu=Lv-74i8Ma-Lv$TKUQdBo_u2Fh4h!l__GnuJ2QqG0dh)&
zwib5aV9?NRzJb_?$u%4SF}Y?u5bDJzE9`)bBjQ_<YY*LZ{v$K-ge!WPRTo{XsLXg^
zIw0^BSoG|w%!o|&5&DE4VB>^jOFF`pzY|iF7ng-(xv(+h0Jv&eWmc~PTyO#ngDI<u
zC7{7jcgu|1VtFP~d@#XojQ7<>|BMcvI)P91$r|;}D9Lcq96hx)Vb&6yse+xi<mJ=+
zAw22sLYKLQYtMP4)t%w9@mxx?%l)$LRuX!rnpr8vh-tnyFSfXXQ9h;{B*&V}7Y{)7
zhg0YScOYONkkCJ^0dN%ol(6ner@TleNjMwTbrN)cp%a^LNxx-}!P`G-1jD>`_$7jA
zaONDa!C@slvkN1BFy9Re4+X<`<@~<J6Cs^g3!Xy)j1AQT=ZzH;a)j~w#F&UjDOJXM
z!30xtNTSF|K%E*^!5q1c73Q-|wQ|r}E+$AQ?=ZK<hYQWy`1hjl={yG5Lg|TfhEt&g
z<1JA^ffk(pP<M5JGnMOD%M8*;<zS{92)f2Nj%8qyr7b;?hx25)Q@I>Q3}x_+R+$^G
z4<S1?9#0oln)YcYmzmi{MDX&{5nE}z<n4L$^96vl@=xLPoGLZY-4Qd`fr;(pR=&!L
z7KAN>kn(x>sq$kj2+KVs`0M|fHPyE~S%Y3#qMCuTy|<^`?9)C5B7aTBLu-fU1qt<F
zk$hcaE6@Zpwh@F-`1$4SNjJ-VFpYmI(Gk)vB5B&EBt$62;BLldKs(n=9?6*?oEXS%
zKsE3ES~#*o33LB{p4#=A?gM*NoC#UTx6=smeHpSX=BRq(X@&vMh<mD!ZPyp|AF-2n
zJ${NvARaLFdfJ&0-8e}6$qn0WN*9o|Nj`0yz?Z9kiKm>BeZs8nyR}bGjHaT1s^SU8
z0HYY_vJZmx0?^utaSclUtMUb+JOpCFG{WM8v5Lq;KSMU7Bv1_gnJ?XWn2C-yzcaA_
zOKpytljZ&KU-6*+uib1SzYoPDFMo#_dTe61YL(~kW(Zs<bE2y)KhcR8&wI#l>q7o#
zUv8Ecvh*5K{>7^X-Jmx=zg&y>_VNiA6jN4!Lmcl`0~f7WSY(3kf?6!p7k>|Y<W%vB
zI=O1ZQaX{WaZqW*o)wDzFW<a*FYoQf+9+Fpo7y!J;!}6FV?+0yGI<J?5ihUwpy!Mq
zao&XEX=2n+Rg;D|Rr6*bq(O%lsF~rQCmUtmJVl^{rn}*4J>d?zPDw(`!siV!t(Of{
zN5;uWwW>;ikO1qu3n|yyO}2vyaQoaNr=tzuO(r06A7@;HH402xlnK+7+n^&GIveVT
z6wdh>@MS6hHOAyH-@nQP-Ql~qI@$G=VYwbfr7|F?WlvT}g8lha@U6Qce&>%rynlAs
zuUsCM`FKu<yg^pojwwc57`Vf-2h&`P=ZVoG36uqkB<Q~G_U94(!WQ7A9(Zjx?fSj1
z`oI5-6BXv-LXDXgMgA!32^>spxoupGKANr+{3$UCVX&E(^?A~ov}5r~#q#UXT(@9U
zYxZB&e-!Nx(yNi}kITM?L?3@#MxHb5FFW0i>^NT99gBGSwd_a2@8i!P!^worRZh2<
zL|)h=JF_6nIxN!C0I|%d`Fj=ldGWl~jydnh?R=GWdOy~1WRn_Q`9ZDbU+<~{Ub*gI
z<%T=DgEHpBb1z@}KbhOTD<~Z)<kbgQQ6W5DO7apyF#nOH=?v2;7JH7!(IVSDAKdfA
zFgN#)GlqYEwhF~8TprMDbb9woQu`+6Cd<!f*%@KsLXp$$JuIG7W1f?Vw2z03?Q9!l
zIUYRXT?C4+etr<4xgL<xO){zCxAZ5LL;i^M2(1kYJ?p0X56wRS5ey}A8Av4^4O)#<
zf&=I;i+Kz6RWj66@NM-GQ1wT0a>=KTLy1~S$8I}x_p>a#Sbj;E{|ZdWd!eWqxC0AQ
z)R<j^1%<-e*8IAx<A=uK-rlSKhyo%Yramx}2<SFj&c2w4U=#uHN8hb7r!&JZXMsS^
zDqwbaw-X~Fo=Q+)1>H0JjdjIguaz*R3Rn$Bu<m~@K{_t9SR=#TU&5j>G$;x!hLff@
zzOI~87vzP06l#7aM!Hbu!o6_9z0F6+A4)8qJ8a6f43ReUS0{WjQ1LyI97dD=l%1QM
zCLHEr+jhAy#cd%GVP$^d6tzqMPe6!u7qj*CTpMB3$tt^M!MxTjSW0u@O3~dWGQ>Y%
z{{EPmKI~15iFDdSA*~B<PU}akRtBw(h?zT;LV7kLaTZ_+444|GSbA}!ktT2gs`E*!
zW3v>0VPX9c!q*YTr`js`-F9Ipo82?T!mib)=Lg5l3CpfQ@2F5t=5UVlW-#?;&U+~3
zmI_XT(Z?Qmz?jOlpe$nbR=jJ+_W*>t1~iJS6zAE3m=X(S&8L!tL9UftiJsh2LmfKi
zLZzO}vv{WXuYZEa&Q%e4Ydj@m_cphe+r*69ac^t+cRO$3$tS|%PEW*pw*)IyWavVE
z9<ctcpAyoal!>&FjhH~|+6o&EaD?Ru<)Y#>##p!@@=QHjzlgDkgheI0w>3f1YfnUd
z@j}K#NMG7;K`Z*SGZ)2;R6GatK_T>N8M8eBpmzYvAt2S6Yvkj@A=u3-5uu{G%xBm9
zfF?<Ol1P2g!+O54uZAiNWAD@HIjm7pzohz#s`wMggTccuuub_f=4teYvtL(bh{%WQ
z@7|18{VTWqiUX^aFQ?6K%iYw^6jUYpZG|Tuo`mrf`}TOY#dleS4Ok5Rtg$6q(8L@p
zH@r<XbzGD7qIH-Ut9Cbxw6IH%#}#ka7<ts8oFWW1_FG){;cek^ba|S;Z8Zco{Py6M
zeMy!Uu!}Qd7hc<`Co26~5wl#Qa{2B1>9Iimbz@jn<Z8DC7xAtq#MoP#-8vz9@vUuJ
zY(Ulp#?v8TH$soQ#YKVnWyRfY!K5jZFsk;RCzszv>w_)rQmXPx)*hXPRUL(|6Vp#r
zLZ<n{=3=0jthZ)i?FN-<77TAs0_{0FRM3AT*ds*$7cUbM)qPS3QL1vSKI()t#$xIv
z)Sgh)_1ir&WJ23U4h&pW7k~+1LQ{b(Y3*D(p-nc)mi-7D0*gbBU=$E(0|yE2i#RSr
zq~snQnL!yVihqqFn5`hx3f(vMDidu{1^}do`RxvI7(5osM=M`Yv6H-HP}_dVowEwp
zYT?@==R}Gh8;qZV`(`yJ{I{I2B1ztY-&UHq4d4j=b!wJML<`cXAnqbC#4l5jcsk#X
zI7vUXA^J&8fcGV#wS;q@Durg2U9v9;b-mYk(=1d$<Wm{%8M~(9=i|=aJL-Y-kgw-i
ztaNvYR2F%sXoOVuxc2zJpO@&O@DC0QJ?&+MMHv*$^R3AFcGZ){0R<Kt1^<Y{jl+d_
z^CJIYfq%<I;Q@ETnTnHAi~avA7DSiqNpc8Mt%<2jzblbJ0L!R_VvDr-Q_Sp<5lbGD
z{iiVNFAO`f`>aCvzp*iEZ<UfowU3XJ?q>BA(81s8WGz$c_^{SPrf$cxE-;WgGVOsQ
z)4RHUoAiykC)Az-<Gw}t#%*E7F;=zJZs>nBZb0(N<MGEiR0hAd{y(FxpE5+X&WyIA
zWl>`3fYjS3=%!&guQnZ7DWi0$3y)CEs!tssJ*}fVhX%qNgM)0-rGr2`Zc|)3k%zyQ
zx%ny}b<={siP!!_MY?dyd<+685dmM)UvFK|-w)D#*)*jUL1oOCUYqLS$msT>KgW+}
z`zMv6fJic~R5N;~gq?FmM0U7F$2D}s?Pm=c|5&h?(q-X}uC`Qd`#$odak2B=+dOlz
zyx%%YTd|^vLO?g9Jk_Hq`qoCrtxBs&o)9O25c`tgQHdr=o;jTQ=q2MDVg|x91CZcJ
z?hTW6Go}@@H{K&=7UEfHb!oPd-!)0<F(g&1n?a*d*>+Rmcf#~J9Zvg0YH!Ug?tF{q
z-ih7?@jE;%E}zrsT$Ob@n<;9MBek{`-v2wgq->_30_MU+cTzGBDSxi5ry)~II#bKE
zj_b!Z%VW|SI@6jC(^|FCpT?v=?@WJnnBJ|G(I1mBtfjor&B10ZGQZ6EsUionhIHgn
zSy<*=1Wb`w{vImg9hF(a^BWgQF!6EDmM~nZJ5#ZmU&E7mfk(Nt5_x9)ZG4;|u6;}&
zo+t19eqrR?T|k9y?YvO04Fl~){|YZ3y8a;zg2W?J)|9I*h!vcjAu1Wp2E$R$80{<I
zTX^_pPhM<EUiXtb;@*Xy=zuz52#2SWN_UD9{4x!c_8OFVO7r9>;9cUvuxL>;5mM}4
zm0zgOA~ua!<XX`$gxOo9NcXhmFjeQQK!$t4(m5{N3Rr;!VGa&VM&F7=Gp{R+vG|Yn
z_N|hi2l+DHk2Ah4vjhf^&NL@95bFwxB|Fw=!H9EDJ7U3;+Yar=O)I_vM)}a14xj>K
z8*meXQQk78MwafOu`QzFu1Wt=^9KQyuU=O$R~Ct7o6AVG6)29HCGK6WcwWwj<4qq?
z?D%>8<o11{l4e5NoeK+`^WE-o#sMz1MQGQmWXXs+?<+JAhZN>By5+$`ulG1Lx$^Fs
zuh{nvo{ozk{xbvZVy0yC7uY;Vz@P%!EZpR0YIy1l4qi0kZ>MT^*)k1;@eAOu98$`I
zOyue=Fh3M60)4C(zPz;;Mt{1CcCpP%_#%IQIi*_LGI)>gVX4`ouux0#d)LY{RkU~+
z-)XbwdyoHk`SA#VA&G-0Vu}EvuEHqd%s%L<C2(EqmyqWWg(~d%DGBW}vvp{9>C++J
zL=X=}_(i4e+N`l}gY`JyWhO1{C(n<+HRrLL+B!BAWC$dJN0vP(rYss5%fpH$++~SI
zzRv3eH9BumJ&_`P8dDE|;Mf$m3+{J#-k|;g=Jm%$V|^(8rP-%rXRwJ`6UNYsx6D8e
zo>U=VB2qeDB_}8x+~-yP?Ss-{e^^TE%Tx2km#gjcAraegy!<*;q`|%+ZA3tcx7}N$
zihGV}ZGn5>3-;k^Q8|GzDG**zjb2<9+zd|Cis$3QBg0?n@YQu}D0eW6=sYBe%wVKB
zgwK?v%G<&$ZZ)QEVlcHAy-gpL;w+l?Ge$1Nk9zO)xvTcSIaYn`gB7)FF~;(LA_yTo
z?N`>AgSR<XsJneDdj=H29L&TIz46~}6I5@ohs5Y_ap=;y%TzfrjA=)5vNO)JQX0tA
zI0xt@3%K2N=R$K1fcV%v;Zbq#!MVjR69r_-iVZQ%4+0-7pILV?=lBM>RbJ@45a#L=
zNk{xqIy1@w!r+IV?s{Jt*Ib%T-8?I!gXTZPFR1Sx3#Mwyeo(dZ10JU7WHxV=6T#cv
za5<4B!Hn}v=q%2=v%f;r*en-^6DHz4fkgb<>#u^83hO@I3|}AsCIDUg<(an1>k<Ii
zk?K@~k&pL%k3cT}5?`_*172supB2IF3c!N^<N<`^zn>wuSOjhf1s|adenJox!IEdf
z`$&M`Reoh)g^31LS;%g9^<UxG&z2>;HUHTyK}OzvG-T$(dy+B!w~rneXFLTwiT@!W
z=cF+FD`hdMKzoZ3#7{1T&woAlH%PQ)SgIR{eSr?8+{zH9GhdE=QohbTF45DoQF&_&
zHG1w|ceyYV-^1?A(-+?9>jug+Bi^l_N;LJ<?Rw(&C&Qge!9?M_+Il{JLDeTi*+Z4P
zA-DE!Za+~zkb%3N-3<&dQj`x0FD2aF)DiK~@xHoIu}@?Pk2~N}S{!_}$Vx*^iCwKE
z(3gw%+{Pbp)&{NR=u@eMNwdtJ1eibd?qLNTa0WuUeegH2q<pnxp6=6f`Ch}DqnmOJ
z(f>4c!s%QC#}$}`4nQP+y>ZJC0UL{2=aKdsLH2PLOM@dqu1Ht83SMUd+d7d>r;>pt
zc`}Zb0wtE8ZSaA2$1N*mudNvuK{51%E2Yr6oj)Qr(9imcnmZfQza~Dh$^yTJpX4y2
z=)-}NVaO@98QoW+7PQcns`_B8Oz-B=34>bwM5ReOpMIKJ!&I&1U7Z9*^@lSJ4v$=4
zrKvx1Y&w1M@9swAH*5mIu@h@j<<7@T_btS=t<HQfR)Mk5!Ib#rRqn~idOe*Sw+Qk_
zxEHqKqBY8szmK)mZeHH)`5}}|&H1;mMw;rMryKNW54eT6A(3*Tp|BoLkU+PH+c$1~
zXb<}MI#ah}d#UT@@jqt0&YfEK=zMq23Fy72g{c*kwv<%FyPDq(4{c%|7v8+6u}0f<
zA2R5rZ!VjrVVQpm1MAvkg;#&6i8st4T7$e^pM~jG141t?1Z?YbFWmrW`R{-V=0Q9O
zX+VGKnZ#y=^GxRQpm?SX#zNEJu9lLPP`OwQ_k?IqI91=(d2%jMej_Q9?pf$>zGz1p
z`wAt*@+xlvB*3p*y{xd?!=I1(EIU9ejb}28Ws=m(j^tpwoZ{$_>RaS`ZP@pY$1MiG
z>*t<z^a9gojYau?mZC)F!(x8{I5ObtxGIy>o{ct;_n=M_{axLpEMU90?yg9#$rAR^
zebrjgsdJV0wi&osjQ+5q!LRag&3=IK`%s==aaEQ@U_)JbTHwQn%}3M45+x;7+|Vw9
zF>i2ptb3FwXkuJg2p^gVa-mACT57C#XLGg9>XaEgim#|h1^Qw}4J!3QM{oW0#h+dv
z{0MGuY&xp%!I+jeQQ01CHov|0a{D#Y^{&0W_Hlz-Tv7Rknm>CHnujpXyRQ~bm~0D8
z-{1Vv#i;l$v=?cJ2<v0BwhZg%x{?t#z<2#!*r4ETMEH<Mwq^LR#Qlu$5t+yD!rv;q
zK}5V$8MllW)%ctdF{bn5T?FZ<SY^=iU+_Mx8}&1S%mJG|PUAOT@yX^5!hKJX$I1R>
z*F$rDapb=)_cuq&&C>S9xZnNEsD~a+A@<I?$(I(f*WSE}TIy@nkG>cN!D}uY(_?cj
z7kz!~Yw+Lt1VEHeNz5QKz1<}C=7VW76#1irWIi^GY{ba?frAC9Ki^7X4!ECn8n@{(
zTh_67^J|}uNz-bd&PVfpgO}g>`^$gnNz@CoYw@}{A{E+c7yd8<)coze(O&P9H~;wS
z;GXAMdeao>JlilGM+v`j3@2KuE(Y%)up_g7hk6Lg%REc@7iMo+ow1Lc4M%q#{usY~
zidb>i?fftr^%6o`T=dg@&1(~NWw~towQ)Yk7!?hRFZ*z`3;*_0lq2>7TuKQ=VwWSR
zmABrLY5dCjg;j=5Ii{OlXet{s1n~2<u;@q8%Gjl{Z+;?qeo?C;!)7pGV<}4w6C08c
z3e9v#8ASfC(>U)dH9K<Q;w*cf`=9ISZd)tCGV}ugS5Bhm)?M)6A$8%jOqm$OU(M4U
z^I}6Dz?_NbGf!HxdJZ70MHc0TR`r8IQ@+T<b-0JKNRDwmMPH&4<9T9RJfMG#(TRGV
z@s#IbOfi-5Up-uVhnRg9HF6&BB>$IDOUGb|0Y5AtKxXjyf3%Y%4i1;FE$jVmo8fn?
zVyl6K4Kt_)D)WsG4SJj5ovK+&Mo7k8-bsl(jQ;<j=|23aexUz>zwdI5>)vZ`uDxZi
zjBAs1twPE*viGj2Ym;?}l4L7nC!4NO8Iiq{ot=af<?HkPeSiPLy^nkE`=0YU&)2G)
zlRH^ZBMAu57BPu6;0A!{N48KWrY}F^B?pe1$jP@@kYQTCWyb+Q>^IL$Dor)TLo_Wz
z30s^sgn7F@%{7;n=j0KYOo_utw7jpt)IH$bgJLjY>G4zgsxqC3j887rX3sn(+;mao
zM)uvQ7s*}=_8CIBG!upxu6x!5mIG3Jz;7C2dqwVBR#J5C20$)z7zOXf$BD=SPyXsd
zX~>p9I!mjUO{rtlsa6?S0*R}Clc2J9(Dq3@NUS(4hPQot(#Wzz;AgZw2Tkl?Qbll;
zhZV2BXrI|)tY!86`%bJ^@6olYJ$_hJt_|m*6tu@VKd&z%Xq`rWcFNqrqCt9)JOWI@
zuaH9ebXxW3fKVFZD{!nW=BD3}|Kt?;1pLKAdmk6gx`uhHL|hqjwxRp1*8jw-s>(aC
zUl)9hnC-IgQS>DvT$9+7GK1;zOQB$FUSWuGjNawEXWe%HKm*2k3Rk`yS(n@aJ#fF!
z+J!PcXSbd!rjUkl{nA%TK?OmtX@u#kxfG(1FR3)h0YDb(m;vvrD;Msi0oz5Ud7Woz
ze_w+0AOORcQ_#%i`!q9i=}4?LmTlK9v3TJ}(?u#(d(&QRyv5U-4k8NK{^NQWBq3HL
zx4^DvcR*f*LgNnW&+HH@3{d|AgjwoBs#)9Z=A{!X-J%0T$>Y^%X=MNX?qPxu>4Bpz
za&kNtf@k((I}Nk}Cjc<pO>#9-T{J~P0U%n&OUG@l_gMco6n>dc{k5hwxW0;np+TS$
ze6M|C0bHPVP_+?=ETnwj3lTa3YA12rLoEQUHHlswv8Df0tXE2){6e~$uw~?A%i<vQ
z!~LIB8a>gOW33D>(J+b(Id|e(CFv>Y`=>nIbYiX}#oriys#bHP#rB8rK}~;;AtIYM
z?p1nX=TTv5XwaSM3j&-+h?EkMP)uRI^g(@Q8C|8JJ^wdaPimpCCW^z2YhB1bYu76I
zAxAaWsN{!rPRCA1u?DW;5#8ph6;zmIbX&%L)4N~47{b>I00>60D-g$T>go#DI6xq7
zk3>DpoC>va>!L#96NM(0AQ-=o>Z#ei{3|_NAFY9q<HC4`nLoa$rH@<)L%NGF(}LkY
zScvU`tMEt6T>yxu>NSkvIlsTDeWi8Ooi3GvIUHa<B{QbK=tOxT-g3H!8EXjSf!VMk
z)Nr9*HEoN8hhemtMGf!OQbz&pQM7y#6njr$DMq!#a04YQu3*tn1il#I6EaJ5PeY!P
zs2&_>^v6IcZxf6rdV662BPga|h@;<m<yl=S!`pF&2Y=o`VllrR|8}9oYrnByh$kv;
zA3(?(X7y#5M!&qZuviBX<f<d7mwnUD7IxGSP*k+Bkx`^w-+h(Bs<s5bSRQ37tGvWh
z(SEt7Eg_lj@oaYirA;KzHg2h-AmX5bE-47zd2qgV<)Jq$_28>v7Cuf!O^KNQf+6<A
zIHGex_;Np>(ts&KFnsVlhhR3GBWjv>Vxek#G#C69JP$TL5~w!`f9a6Resq)yd?wdz
zpZGHcWblO7@m`KKd_oY{Wf}8vfYG5$29e`7k%^~EdsU7we}l02Q8*7QVth<cNQhS2
zRHrZF(gxEoo$^klhqpyJG1t0AgoHpCP+T~^KYrxGBsYC4j&}fv4tr--o1l=P!sa63
zO^{F~k8==;V+i)mwenTgxMzIl%2=)3{B`Q35ITf>T%dk@@TTuEiGs^9{(fJ4M8f@_
z1Sswx^nrdttXo2SLPBC$LQ-Es%4R|ud1AUy;$!{9EFtMVJY}?`q2v!rUz~%S*`?9S
zhaE-MERmT8(yc6!d0W#R;1RlJNZ;j)#3%Ym$=M40SvMGC?D|WSLK&QxCzD90NpFvZ
z3j+)T{OOMU2v`S{X@jDCIwCNLZr2a7txcc%6U1YkH1C!W5uM~smt6HTWhnD%16{JJ
zS*pkSRU1i8pQoTOFtARfC?!e^l&Kt$sL?;Dy~$C<*fg0g)yZgYl)u_DG!;Y0?ZF=E
zJ%XAT2(@cLHF=PzQHb0_Q&JWn7s}F=t({P7=@b)Yi$WP$0*;*S8C+XNz6@B_w`O9q
zI>!faj*p@QBGYgjNN!0p%rR}xPm{qV4H!YT5y6Ug1yN=w0tPZ$pbij_iboKh0+sPK
z%H5@hH%GvNL;*aRj=A;)J)?UB8^sgUOgbCCdE5H+z{?zwwQgU`lR%x+7WxzmcNgUH
zWvU+)zJ|Oy`}i(}+9lN(xP&|aDCseL(Iq^4$HLc3P`|@&Th0Qzinp~2P@M$v8=2Q$
zPh3L+*>Vo)%q@uy6gjI+8SOKUo;EqMx~VU1Zg}_SIA-Qlw-^S~LqS&eF4J5V(Z<sS
zPuUAD1whmiM5JnjvIT2m(XTdrAe{8x#AzhX-yjPG&^mKNcJbFLPtkizh%VsL(0noP
z{$l#Bcr<g)s&E)mJBLR;$4e>0P05MpZ4yU+o^OjGl?G^iL>Os?x>pNwLBqp|0`KlZ
zRQfNKr8KI@3kxMe0d|RUVHsqPCc|Ugj`5cIa`3aIT%~#y{aNH>!lQY4%2c3;`wzLF
zJl%_D>1&Ba%?hcm6whmB9X%-WeP;9IJ{0ZTO}z<4a^T?)kI_FQRrYbot-o1R?%rkB
zc!3xZN18e4T`ujhFpFA<%MbLvpA7;X9H^aTM5`r_eKDm^_lpQG*MXE<L8O2*+2yR2
zXGNZWd{<|5TOa3yGTe}r&+*$%0`Mq*EJfzaJRjLtF0;yK2WoZ=G+&QpJ0aQQC;1!4
znp?q;{mb_m2R${Q9M%PSD;fim2>KIY6bZ>B!gGnN67b6L8bub{NV;cqm*u3i*QtN^
zUA(OG2vSha@ZT=#kI55d@k)>c@}Fev{x)luOJ?rVF=B-7VTs8jVU_~CKn{<0!5zC0
z$nFSo7VSa@fbPUW%xe>akAyu#0FCi%W>&57->wjhn+6CKiFbpL9O@}+qFsx*`*UjU
zy5~G`&wY87rwjIFm0=6#(Tu06mq)xgKz<tc>X~HtWI<bX;!!8>`L<F1vbS{qgrThw
z1v}H9KX|%KqWw!yog3F#TtW!8hK*p-pOcr2;1B{ybO!~9!xMA`YmMB^M4uepdq0)=
zextxmL2y?|+K<2&%)RhcKlD==+w%YMdJkhXm$dvD<NaAb`Xkd(;UgD-k{|ekP5^l=
zOpXZFzlXXb35ehz8h%<zeD~#d8hvlZ8#DzOGu_NzM#j_ASjF?L1yFwnklVqb$43G-
zO~JQ*1?TDo6xQqWDOet&pB*|dr5x#>lQm^|wjkWX5?+PLEkCs!YcY1jB=8I81&1zb
zGo>dr&5bfWq+yQs56LoMynN!Foi_O%)Y6pHhUmKwS-S6BN=XJ-+7W}FtVIitK^0ak
zacufeAP?D^IllbhSWb@-<9>1I&!Q7-Y4DcNGT8A&)O`~!zW{<*6JYkWF!!+se`7-x
z@U%0ad#4la3)4Jx%c#$K9VH$eRslBlTOEIQ-d!+8D)@7rm|d`hl!yn13jT)x*J=f7
z3vC|@XoP77O4A0LXa3lvJUMgLPkdz?WY5n{b$<4a*QooSE~Ah%<FD}tG|QsYBak}<
zDmIOGZZUREri%^_igtp<x-|nHCBBnW06fUVUf<}}@#@tHRjiFit-1L8uD|kEvqiqk
zXFsIZ%Im#WD9Yu4Ji8Y5KH$AQ;zLX}D)9gs=@#vf{J~u%?oQbU@7)i+h>!ka9|Mg(
z277%BKb0|HRMYOcb>mHk?D9>M$8?vHWWFrhrR$hpOXhm-W0NPM6^}?4>wj!V{Q=j%
zfJZDGR4kDCU#K8+y^ss&feq}yMgejgKk%w@;Pt10s@;o$8pL3o*x(zZ!M9$6P052T
zm4j`c20L~K-yuGAiG8ZsrF%%H_)%Xmc*j{iUGcLuor*S_VFCy(`6wm4C5^rRJsvS<
z*Z;+<|JixP@<M;^d4G}Da7iU~naZb~Ps4k=!`~5~e~5klY4n+NPFKvJ(qn;sAE=@h
zl=k_j$|!_pJQ|q%c?I)ab)Gjx)(lmP^F(!dRDYo4utm~!cxo4-zK%gBy@s-qh8`ov
z7L)sPREF~q1K+#`O6)$14vmTLja^Y41b}fFj?e0m8mxTwoKQ_3ZB2D;i^T>_@gvQ4
z9xYjCEydoq)C-oEf~#f_m~%wj;tWjwK{OeoEna&8%etGw_GR=EZ*46YO5Yvg`CGAM
zH@2=aP~?T&${mp1oARZe_7|TH6#uOL!zIi^kN2rwd$%6hX@e|(bF`&?*mHev!4`2E
z1FA2@5BX7S>FC0j!BmC7gR?;4Zs@Ew-I5=;YT_Eso6dc5((h~(Bi_&BJ;gsn?UpjO
zojV+~H&;VFUnf2<JCv-4F`hVbo@yYQp}(tzYh8kvtZ18f1ei?H^6Xf)Nv9Lh9Nnf6
z=V`yzoOB?im-gY$>ULV{VL#k|<RkX|jo!(^y-|DP{;x(;ydC`l5yKu;)a46PZ>Yci
z5dZqq_-pSuonV%^2oudE&@L5BEmNu?&u~GhSZbm2mPVbyGAgb^ztnQ@7OPNh+*lOX
zl%uNcap}_oE0%xck4d)*#24kyM(5b4O8*XRrp%Q`j1}jOy*gh!-dnkXT$NfJ(-^&>
zk|R{=e5do4b$pg}5(8T*%qBy}=1Htg&ZO2x%xognmp5#@K!NonHD$Ic-H%$^*Y9ny
zBZcVYWiHN|8ALyy+LTMg-1dv9&B|fv)Q#f>gi8VWj^y-K0b;>#U>yz5s~uSPgX@eS
zt9PkCjI6l-8`D_6wIpX7cJ21XP}wG|Yj^$j0l)ph6U6ax*KdBkGUC9rE4WAcHotUR
z5}4l{i=3~8OskHFFQWp4WcMV!HHa5pcE}ZbwUzaVekZlzimH{e^KXReoo<zij+`Bt
zp}I$Y1L--i*9esU$+xW~D#XZK8|Nmr&e>Ri4kvKO^2sWezDoA|j)T0*+&vfWNQmYq
z7oRxlJr9AiTB>(EAU<5S5hvg2WoJ4L5F){OJ|*9Abdy-wuG?O(_gQo_8GD<zvKz56
z>~m1NKxvQbq^dcn8X4GJg5doGcl`zyany&*RNF*kF_v-x|6}{$2ZKE|>vzPeB;pkw
zu|1Mja<KTtk0Osa5Rr%M0VuX|k(c-Ay(H=t0>tKEG2+1h+e3;{;1JD%2zYQHT1CG|
z7QfQiyB@dAzf8R);A6gU;q!e1b#(GVu@F^&S3P_1zSwx~!e^z-d&gsF&Y<SxwF(jv
z9|pq#N(bNG5rG~OR0I3t<hP$V26pK^Goy91@sK^q?6T{~d<Wz_9?bC3B^?cu#en#U
z!(kHI!Z`4U17U$15bI}@+JiyjMCi$72C8Nt{vl)=v(0vpDPJ%PEdWbN!s*|g1gnbZ
zHNtcJ$StW)94;n#{(b*uyd%`PxVgLd=H1DFBnWoHkB)?>^2(PdA}b^vw(<Go80RhY
zdNmQbbq8`#K*?<IH{o53s3h{veZa2(srHHtrF3nhc6$$lNZa~n>{q$D1n#az_AXAn
z<oY{8hTdMf@HZ4pj+77Hoe+1P8Clj!py4+uu^wH~Nd{zn)@DXm^@!X$seCr(tFLAB
zbA`HH$JPzArS1%u*o<!&=PCv7ug#8sGcC}FMe;uy&z5j9$dagXsT5XlTBz_Zw#}MX
ztk`IFmvc3FF<ry_K9&FG)UHi~Glu~)4jaXruw?hi9bO%s6S6)qb1-K-m=dzR?_QT~
z!T|HWJHNo(Gz47?D&WM>hw>RJU6HZviYkrQQnrB)O;R~W&&xACVtmw-4y$YpNE-hg
zAgMduJ&UR+UH>w#@V%(ZVc%1D;naVvKkJI?;==F1&CwJtRa+x>i(QjqlP^BU9#d5}
zhq%N4Ud*50J=*&GfJJi2@a{qdLh*Muzm7u(VKUJ(BbIGf-pdV64+AIdkp<!`#HD-Z
z%EhSu$@e*Qvj^eyn7>RIz=;eK8iH~)BT`**aY)%$x!MWLB#5HRRee=vCnG~;R?mjZ
zc7wpnuqo&LBPpTnC$!R6%SsMYMJl^j2VPe@2OSy+jkCIT`(sv6al$VP9I2po{hzT{
zysT3ayOD;wd6M&HI4zl9ZxF_v%#QGee&`C01E%G*_ZGsot&1X?`@!EML?vhWf{V^7
z=n~!xJ~GqieSs7%sUA<&-%oB3F{tk4{f@(F$yu`8;prBDOm@;rQOQOFJ5M1SLf_CA
z6kd42XE1sLS0)M{eOKcibf8R95Wdv#g^!Aq>&S)tuHR(PjDvWhZ&~5X9LPA!hI|h*
z4nA$E&7h!aFevxSE@<2;^j1hp#f0)s_E>dadFq;_fxx7Oo85!6SQ<`j%&oFKb)mkR
zUM)4Z0{9glY$G*Tk`O5=XW?Wq19vbCi=smii#Tiq4B<-*eUYwND6(463ywKYRHT=c
z@THJ?S<lMu-zZdY`4{KsFW00whI?*BN%DW(N}|VOi#-6h*5a2b{&RfZ8I7&QA=(v2
zlp%BOuGx;CW`#V{TK6~E>^x}Bc<ZO9`u5V=K`$A7RHDv2+J8>n_w778IkUSchy2p_
zNZFPU76bPG-FNfvCib8uZrOwf42U+J2Yix=586t}d644{l>7_li;-nw)!_>x@G#UH
zhyD$oae5kYGW&Q={~%QxPV&p>EK>avGW9zmY$ZwIU)UPmWGOR{{cEAP?3KjU_}c5H
zfA@CZOg}garkExVO%3`M!KV!pdU5|~{KmtGlljmK{^4M*Tg98-Q03dde!lv`cJAx(
zElZ&p!nbFwLv#7~&)d7gAyfX5BMzMrVy#8^Q;dg+Z?c;@qZ#tB@5Pj7G;V#;Wa8!H
z21H6TM;LrUMHjBE*i92tNVTC<phSe6V^69iA0N7fn_8VVol4>rXHvhxg*q4%MR6~N
zQ>*|AEP*Il_-F(U^n2MgrBO`uJP9|~9GUJHX&{HY>FPG|V%kF8XfU2pi`LH4x>@sQ
z2QE%=p%A57q?Nk#BR-^kRqLL0ry9?r)Z6UW6iyteffA?ibI*?oGovXMZoG;1NhQEC
z4LOqhApMyT?4Pp~SbG`5&PvQRI;l&okjvm$FXOwq28Mecr4iqh+!4Q;p+SAmkI_Z8
zSi(_C)2Z@Dj1XV$#CC{Lldyz4T|Y0UgPYc6hg}Zxx6|(pp>z*ji=5%3Vy-54J&(CD
zzCYG5sK5vqz!w{`Ch9SASj7HUF64*CC}-D#SY@%4CMrBvw=W9g$<~%&G|eCIQMITP
zgaDO!P(S)oGPs)!<Xw>@vG3Ewg75`oWc03js;t_QA(F{uBQSEEF#2mYBC)<IFR9Kx
zd}7`v@_a4fmZ8!a_aWQk;o>k*9Y8}ti^b~u%xK4rA0RZ5m#bc%Ai8fB$I$G=HQNX9
zOFZj0llSM^x+J9S3gS}iq$}7*;X(o!5Jj$BRpUy67Ko6F(q`bi9P}yGmg(eeSk>(I
z@WWLL4bgw3W4aJy=H{Cpo=h2gb<VS)1FbFkx+h+C{uVHaU><(d8}#ZvEb%4?knUZG
zCbtROaRQc7QRRg%?z`zo<VejK3Iua1j%bL?bPZo1ml!Tj3bbL&A_|UBUglo%>R+-e
zQz49+gc*H;yjsc4Vci?8eN<cagJHU~v?1BXHsw-Z6*;l;^0{g6E1m0DO4V(r>bBo+
z1YKRRDDYU*dZhnB`FjP;{Us9R5)n%sCdtidUC8xt343*6G)YLG1Tp}y0SZNFxYI`7
zAwTU{@m+FD{n4t=ljQPZ_@uMe8@;@#x9ru)XV5RL+cdjxIfgzpdY97lY$DfPUXUu+
zZU5+*bd^-1Diz`3HvY<C#3%1>Y-w$|@|Ays;A#h;G-qZk&52}{?$Qr9%fb`h*L@n)
zZa9eKG@;9ze<eOAdw3%tyVuj@&AO(@hn<s)fZFJ+X@^^0iZ+Md#GDQ<=fSqs-0JBM
zvL^ysV-Alb`IHeZxL#$C<Q~<e682Cb&7D?qNj@LvOZx!0z4`-m>2D`e)V@a>;FCTh
zwb&rT&Ps0F*cN(lCtFMW9cF76rrg<{#y($0^qdPGe$!W=v0B3LnkF7O9`fE<IN6DP
z5qmh(PMQ_CUm9T?jNS!Iml|nO`TN*^&G1>~MoUMNr*hB}CeF|vw-OO#IqxY8m7YJl
zyo`VJx{;StIGaSpN`!jXt}^eFk%Y{|A5**5^$hW2ZhB$767<^LCMWM)(Q*60@H*2k
zG(>p!U;FKPOL<-@_xDV-_<&5OLWYa4e9Z9fA2~tVtLjt^A0D<xRvC^&aVuQW6L72}
z=DjI;xW)XQ|5{yofEy28?$5Yi8Mhz3E$v}h-Tc6>INb>o80Bny;>$Q_h6o7iWgB4r
zI+IP4Ojw<U$KpTQ`4+6_Nm{N1zB+3$LRh0-hPm_R>TJe1yFO_p)?LYTLHOH#JiH!~
z7SZXT_tKKkNRK^KB0N_hx8sldlm%*a)039Qyp|?mVX{O5x|ZP&Qv;TAW9B{F;~>fo
zglD@tLqcg|3Y@VRGTG)q3$A<8;E5$Dr+(}%KdUK(#Qk~K^P|uyk>Kgo`$=h5hiQQu
zsobo&AN=jXufHc7>5fb(0+;#k&}Vy&2aPr?bZ&+>1xU%i{yEGqglGx^Bh*(a@ob93
zDEW~F!U`mwMuQHjA6t>0B<2=>uRt_RF}an6{2e(sOuxjxkFkva@j=7Ifk>!9B+Ez~
ztOPi-$-l1%;VpnRzlj$XDt&H^Ntsdmo}|Ij!0PzA`4*3GCzZfEnaUK;#uQ0~E!(8V
zFsd|6HVh{#od8S8R;93x^ys51tH_zD1$8V@r4V6MeKFVjVs0q{m&@Dvk%XB8f<ahL
zwgXU3lPRGgT`L{$>Lz0NTtg{WOIeob(N(Dq3*N)4+&`%}Qj?1DPN-ivc3%LBUWyBm
zgfG+dsOzgqi9tvgOM>WAT0zYiLJ=CH52H7uVe}`8D1yKM_=-((i)Jzsf`x5KQZ=_K
zd+FQ=f6v*{hN^Ft72#&wk>Cnv!#~epXO2&EQ?lPpu=gW~<AEE5ZiX;zk(k~}5Vcb{
zTk~%^vaoLLoDR0WCnIh-cibyN%%OD#aW7Xytl9Mf#6E5S>MFfmvbM#_I~qqxisqn1
z(PDyQEu%*n8z_c&{+cAK2<QL=_f23VFpIwzM1TO-!2}0fw@)Nozl`-=E$FKu9JC<#
z&-(JEPeEz{tI~RD=laBR9=kaV+r-rp^vjzF_SBnV7<&0A|7R!7AZjDsSvrvL2o-Z!
zB+~^3APlCZ=*QoliKNH|$bm?*+-EtFkaJ#ufe6r#X!Fcvp)dnzw;UA^!MV9f5n)ih
zd#y$`k$Mh8+-yrN$zK2^uD|Z7w9)P$j|%FGm4zk-5#sEYI9dwXQrzIaB-r(s4*`9!
zjo;V0*p0enDNJV)kYM08kFeZW^}%vN{a|q_uiiB=qrrBgPhymoGYJQVbt%kZBP}ob
zCK4(l<*h5@m6vip*%?oH89!Gv0!~F!Hu+QZi_<py>b=^Zl=K8!!<z$*moCrFcN2!7
z6d%|t<tU9AGzYucOumJiY=-O1Kr2(xFFWnZzq1T=&kt?xntVSWrV$;UQK|cU;q_^4
zH}}nX!Wh)_#LM*8f~WyA)F9jRPbSo~*3^J}kd8_WuPpYx>rFK_?}Rp0|Gp_ibtEm*
z^mpaw-|eRFG-2dJZApgm^ESeZqhvLTc_8XkunrFO7pLqTcj`PsHe`AhK7vwi?7Ye9
zXkK_hjvI<B_Zq9rR&Hl06;>M@^>{771~KFMJDR{Y3M(~*uNR!>>c|ds_0;2-<ctT>
z&Dhu9EY`|%R+xK(&BcbsHqCLg!6S6BBXp17WID<#USr=6m-o#W^L#Ugg%rtCD~YFA
zDD4TkSdVavk8VH0vG;b7Y#Ifso;OtH%36)91&(Waj<emdz^)c6d0XmTyv5LTSn#|z
zrPeeL*6!zz<wdBDze}&v7$4QSW#MtvQZT~OLe=V+#+*!i?0l_&oWX+bu<g5z$<KbA
zlA|Rj{}uCF6P!6x>K2x__Y$-WWo2ffM~%p6M}~9V$aD-F6qYRWuy9Ud%vWtI&yMTQ
zmd339n&03M?l2r?yi-_1m~ws1jgJ`Dgf)3+P2<ET>@(j9mPOIyfvK&8+s#pa<d0n4
z0KTP0!RDwnQm0JM^(b-cj4}&aaWl))u_0}kROyJ3T&|Od)$HAd0+xn4+!c3`md88R
zk8if5xGB|v;^~>e9lcLVf0AvaxB4^3SrA#nm|^CA&jSdth6i~sFL+x+h%Na+WR*}X
z(?HJ4dGah6;boGIxg`6O;Mtd>jQR(h-Yqc}VXQ?m$|=Oww?E>{vTciWY-VJwYa=G~
zIY$3DTm3aM%dj=Gxnu5T#HF!4YX0J7P)g&$z4pH6?E`Hp06LyS2%KxwaYZE|)FUz{
zF-8c}L0gvNo()_X7Yr0ixa4&aB-uKDT_7wDRuH2zkw9qR2~v#WlY~1c5`@rdD>9uT
zBm%Q_yf+>UKLtfpU<vnByGm8(?>D0glV<0EyHSuBgeogWm4keuR{S;>|GYPKdF@&$
z1MG%6!wsx=K9b?lvFAH**t^qJAaJvt49{={3+Ob9+h3p;ny<wNZ0dc@qLP!e_py#2
zenYU#rUqlg2@`~aNi5_V8F=%CPaDe!mSCa}p}ky09KgUcg6~Lu-lqhV9lXOj(%&uK
z9h+rl9utC(_alD-uVjObl2Da!-OY@jdl|vmOAlpl(|<7c7QabXWr+fFvnNl=+YTEC
z=Wj7katBfA33aQNDS(+5MHUi%RFQo=_|TV~+_B#3k`OHkKq8^fpkX;(Wex7NUqiy;
zexF9^JcleReWd`tYCBgr<x=~EC#TCrO1Z^eUxM-w!9fM$WoKgciUi5sR;601c1blw
z@|C8XB>I0&XpVUa)zRyd7P6Yfm}isH?{SYVhB#Htks9Hsw1YTo0l}ybCgZG|!ffx2
zLwjF}({4n#LA>)OASfBFjPASh3{hvpNOnM`x<nd;k>;bG+v8a3(__gc*}bqjDNuqJ
zk-%Jl=EOX?eHw|91jy!l8GhV?6;{yg%jGZJWZz`Lc5Xm!EgM)Z#;u!v^RD~CGR?B~
z9{*`^Pe<7pxnMHYhcC~8cOmSh)a1zHiCbJj2Ow!QNc7L_%1*-H`%!KB@w3)~(jl=v
zz2dD2&xL;KrVw?%U88Q(cl(HEFn(Dd@xdjT%v57>D%R>YjrqsSM>7I1y28S5Acekt
zP0<e4P0<XqlkrCnhAq))K*82uH7<VV24SHTc;M!e$R{hPOKqIz?=LK6WV!@<fEWwm
zg#Qa`em#+dCguhaVm<U3Q);PV?Q(piHfuB=_lm={-9%&)wWn~9%we~N2PWPh#?K~9
z0m8Da-8`q)&47mX#~TR)YipKXuGz!ju<W?<-b<T1Qi(bK-bMoc2{t8+ESnu5(}(L4
zv^pfO*<cCcB!HYevee-H=P@h=381hBZeV69NCdKx$Y30dJfZ1%|1CN0s5iENB0;mh
zdgG0W=R%0_>3D($kXWN*L^GGr8Ev%sC+z}rTWMh+9ryC<5m_@kh1Uo$#F41|DQCOW
z-K`9kj)(iY!E#?3E?#J`wX;8eJ>-*)nO-pQ?aG9vxp|&Vkk9b(reI;^8kFfI9G5uU
z2=jO-m_k{@=NRc1y|;Jb<B6OjpA$>02K){d$R_)TGP21y(0-H(w<Q=7zn&B{$tN=D
zeE+uV`>bq=lFQ%ni}%St@*mKB=oN}p0e_~4KOiZe(}mWSrxKQ`{fV281S0)8zx!`m
zl4U3!{JvgnFLDX&P^?ZdaoGn5_zo!m1VJvS@Y8^L7@?kekZHKB<GDix4t}R2Pqfsm
z04<A*SQAhWti2Pbzzmhj4p4vtmoMOt7@RdMU%@<|+NwRD{HL_9v+PBnMR1(l(?gB?
z0MVvH18PIx3sn<|8crea8=6#8LX$JMv&y?6f_^=Xo{z`u)&-0d0<oxIG(!-8hA4&x
za_a=0Jow&|JVGrvxNjSOrDldY_Q>e7SRJ}Wk8x5zKb`HTr5WnvR}h&+=uZVxYsj?e
ze8cw@7iVhfz!!glllG3&i!1HFh&g-?`E@ia=o@G`y>Z6=xoOHz*M5vK=Xi$2GI_H2
z+2N7jcpWh*Bt&oeXe{JD-1JUDfYZ|eMf>C54To^*;tr?Lea+B0(8;Y^zv@S3Tn{Jj
zeYJ9bcO3L${(eo^CSQpB*U+^)%Sxfv!JjN|HRP$XT`~S86K6WEUVPKzBenKTS*H$O
zK>xbuqf?^`IEBkCSp}Tt(;2e<_XEyv!wT{>T$y7u6+#qm1fSCnuHQ0?Vq%Y0KW+XJ
z9GXwld}sRcXZf(K8~3OYT&>f7%^`O~$0FpS1Tj&Mq$xVGK^s5*6!_l%elyVb;^g5g
zQ^Jiu)K`8vW(1Rk29@WBC4MHyRgtF}x1`-s0{^7Ukh94%oOK)_mIvB6p~;`E(>+f)
zkL{Z^o3U9;SAO6Fmo)<dn_K*t;|$O}M(9@UdsTcwWIhLE9{PN)3Ci_>_vc(?%)jqN
zd=E_xnH&-mX8ADe_Yb8KPjTry;-;+*3%T2}RNB|c+p1|hk8e(Rf`UhORz(+jvIxCa
z@$bDCCNH8dm;MXdlqojySi)VxY=RvE0}7jor4Q?{qlt%F+`2JE=8p$+FU19nM3a}1
z5%6$4rYnjJ#bZ?F$K4Z$<kCzQ^5=Q~i1CW!r!s%ukExvMQ3&AxzWxjW(;~jD-64!r
z^zCkTD0a-qK%T$w5K5vG0m|+TkMU1114Y^`&sLuV2#>#{oz#dGF`JD6!75GgF13qX
z$c;IEPvUwW6Z8@Ek7I%Nd_2R}K&cV{2Nan+76Wd=r!*^qI?0_`6pedq{B0ir`i&Td
zt3g+>q{pyk4uZEpeaY+i1h9g?UWuFM)9cTb{GL7($7#=Q8Hgcny-5|nFTXd}=(~C`
zTy<aJ`<LNffVf5bvP9#(=e5I_$AYH$!=O!R<&kXjz>XRxb!ICL9X;C0YkomQPY{BZ
zd~@V_bux97`)ix)&JrAD@Hrq1i72qimBcH58ch|Wu#_25jejeX?eUpjQp1X~#4+`<
zG?ADp#^^kDO|*?2o9Lj0lh0AwI3FWezrN#2<3(AOU6gdCo4GhyX3V-crAY}wV(WT;
zL>r*MulLwQT|+QaLWkP`t*|W=T>MzT-*uD;f;fl`Cc8^V4tus{jsbSQ)XurhHy0$x
zA4qCyxcx4DYy>ySHiHvr=UiXJAi|2_<Wu~sB+e>krx%115P;&LUL$HzD_t-z55#j<
z+<D<dfj(Z-v^FXnp%=HED}R+A#adBToZ&%~7Neea@>3tqeEj-N0j(hp_{8(YY=d~c
zqFNy3@uniV|2o4X{G)QlXOAq)9_5^Jr0Xc%ULcy>5h$Zc6^lW}q@tV?BtK$5i(Mz$
zqlE5oL#iuXZYkIj1afTc8<#;e@&!U7FLMG~Uw57z&ey!V_;)s6p~~nwo;I*|WMSGW
zmh4<Q0b-ZZ9T0kqt9?hSy^D2f#r1^`RL}0-6V0|j@<12X2O+nwCnP`-Gdxv}nUz|^
z*cqQ_Em}xc;3N58;f-~+j65TW?lu!tA}=kRZPDY;ud%<Ku&}uGc9Qo(Nrt>ab-<aO
zsJW5pCss!;cPj%T-m*67DYIsLgZZbOZnkEPl}o)x<6|zB@o-5HnQnvRN5$zyJ)Ar(
z6!f`id9E_x@!nB=bTpbEIa~~sz_9W_o-h@-oY;CaUM%zC%KWS1yw>g44=HmsK2%*p
zcSAt217Zy~JkZrQ>L1)2qyBN5h=tyLY`9P1Pz)NP8G;*27@LbLZ<#({Y&)KI%I`Sg
zrVx9q0h1}A>(OBebk@+GZRz;KniWk!CqL1yrZHxUdVBtBHUHheN>6HnA^dI{MwJGy
z;luPI3hVoj(z#DQ42WIrPkS)_dJ!yonILn-=`tj7Xu4?<G5r_Am^(6T3Ypy{2wTYq
ze;#ADgc7=$x+UYJwG(%MFk<Z}5~%YV22q%omwb{;m~vX)v=i#(<&jFfCZ-R(YeMHO
zR10lb(9RV#^or`HBuw=1Ftu&!P)!lJF`u|`!}2c#_z#ji*s~Z7n?5LXOQm{2Qkl2i
zK3-jsO1rnf%XPN-Q5`HzjAG~GrgHDo;*m~&WXH$Lw$-P{7=ZC^$Y&RI?>Bt%h=sVo
zCwO(M-!w`(vxuEv*pNd1l3h>8w&NGQX~SzgHkw(V%P;QfK6rCQ`e{0p#Fw%;U=Nnb
zHa3fsNOJ$=#3S=;z*0cOVoTRSQzmCjmO{#@<&&qQ%=3%61p$Sf86(#}0XZw|f=W#0
zQdj@fJm0nxygI)%to=YHYgtTCbw_E)qf;jT&w}73=lJ>0(0Cr0!%ehf_H#5(L*}h)
zFgkMtb~U7sk~V?B-0BxAs*;)RgwcdtCw!E^Yf#*f?55ogg9!p%<h+-YDncz(x>>d`
z^!yu?!ejh7+0R_*FT$qWiE$i=B@j!M8$B5bkRmQapa*5T7C1uI;*VDp1WigIOq>)j
zDT1mkW>Ld|B+*zh)lzpVe~+m*wzT<MyTUi;mHR{it1`3qZcMoamS}uK>Ma78{#wO!
z(xYWcTv!?YEN4_okpUW(DPkpxH{%5&$#vH+M4-AP82B{!m9rJU?bRKdE36Y$MI7Q>
zb+&{m&4w}rc@MnIk^sg{AWULO02*g5p?|rGU?zZiYh$O)`vJ~75S&u&42O{%jQ%a}
zCBthbqmPH;8AMGL+TMS5RA|$j5O#0dxg~WjTNb+8%}7Qhh#n9cIVGcL%aj4s5rG_r
z$1*izZ-RSC5J!@x){BGaISEi5gs>fUth~4}U{!<SsBpQv^~u#kp_{g|!1kTza$}rA
zm$sY-Q-&?@GRgs<#zfK)0T6_|tCK6Pj4l}+{e=}nN~CsXLVv=K+A?+1ElQ<*4_)SZ
z^OowRPSx$f=YSMeqkN(&%IX5+mjyy&-nSonrchylpSg;pt3m{Skj)+HH2II2yHd{v
z7uo`=8TvdnT;t;BVv8u{$_=Y{nJLju$>6C@G9gWl^<6WGgfI#}4(!v5({;8st4|;~
znPRptSHi26#?IJfL99y{D&h^`h@%1Gh;b|60m!j^UEo%1tk|#L5LhjN#)Nc}8*@_r
zP#c2s7_o)a;#(X-4x*X%HtiudEeo?`>t<Wbrp>ni-wi*eyaEpi-eZ`l02aEPw5@!-
ztDian1ZBmnf`z8i)FY&`(1gvpL)P4`+X`*RZ@WU?l~EyEHW?^+e537-7Uy^P+t2oV
z4Li=hk~W%1R6Z96^sw_K7lGz(w*7;6t#)2Sn&Nv=pC3u0tgEbF6+iw}{gE22vc{8k
z@KMhvAoYTGUBq5#@aF#E(;k%#>3pRjPoJO9S5>|#e^vT?fB$DbM0Hb>OZl_RgTvzD
z+|6tD%Hz-Xk6vl1Zky*TPrCX9l{kG_vHGe!-L`*R6Ro=I`2F|f8=sT-G}S#1`>XTw
z`yowF|Lz7ToX+p~{AycO{eCa>?!veIUk|>k9z=1eEK{i;bzZ3c=#p1iW&3{m5ykoA
zQNBtsx9{)4nsBZf>u455U$Sd{9bBQ8TV~1p(0&WGV-<PT9gdnbEc+5gsi^j*u~ht6
zQ|Er!4b|^&pPzlbsJX@Bz^wKoz9u>A9Vhg=b&L9#Mrx+Q#qZ%7xL9)J+16?|qi{T2
z!maK+^OqBI<p^xQ{41sRWj1&x?7=`e7uCXdC-zezxM(%#yy|=BuRq^+|DK^j!q-Sv
z<V(OBuwQC-81WSp1%}u`)bLtl^kDS{5Tb#E!V=K!(a>%ZRRflBw@0=Fi)bf-37o3C
zB(h7kZh@rE7Y*$tp%k&u#xBZjt;7iuMHt~^D4N1jgQ}eXDvP`@xb<((o@Ox<&9gie
z+XF>l$ig9m9g83wXk0P!WL=A;5>Q?uFf2jTOF-b}ZuMTs+qE91InAx1XsU%gH3ArR
z8hs&#BOU(k`46>2bb(y(Y*3I|uNJ&4Qib@Qvb{&8gh1UKtri{y=EKuUaL}+W^Ul%n
zUUQtd(;eD=U7%rMM;!Q870Kq7uRa1n=8`B?@}UFRtz#{=J_2+RyY)L-k`E9Dv?O=C
z!RI|Pm)@P5)|LT=(g=K3x<cK)44L^VE<lni;okcTk!N4!lXq<Gr{lY}YNO;NCw+_A
zPKUWUR}F|de9NwW4nn_VSI^WyvtuxofD%$;Yfno^7C@1BQ9z{lkrt2s6SxpqZ2`hu
z0)UPP;`(^>ZjYcP>DLPgct(>oYEeB`OUAZ%L}^9#nzO8`v(6=p&bV|TPZp&hZJ+O@
z0iDSgK3qXm6pL~~ApfF46$`4HT@YflI>}i^Rs#)PRVRl)RPxo?d!$612OOed^u;=V
z?6ggs&HiQJc=$iZYALoa?D+pbu(9VbrI3{vOYMwjC1TXPQd!H22V#qq{%NUw>Q=`>
z{_OR<J%R{}aoH?jMfR7OUAoj~wCMUs>PLK9%FgEd>}IU%_Kvjnlma6ioLS5+Xm;}J
zE9-ZNyok%JH5yBM9u2K_8d!!X>Zg*2&!|;`p?DGnJBj`BOXL6BdZI7CN`w>c5($6T
z*G<XR@r$|k;0^B;7ns>gHGPPZSg%@`mQ;Js1@=@+T~SL8Aqbp8R3x>QnYI0uqXRo}
z{p&8lwy$7W&PrzAf&*Mbt4&q6;Y!}GLNi?NR;Q}ZjECiXyI21$xWe^*w`;h`+Wi67
zh&k8qqu(O7zdcZce&vW6NY@?|?;QXU9(I~NICPB?anopDc=&QbpIJz=FPEKrGs?Cs
z^aFb|cr%7lC=wYH&sauyP?qpdE8&S-LXKPflg;Q<Hzupi*lxFA7a<L_TlAdWBimas
zIhzS%3#nisrVh7cN@2WwSzLhI(6UfsMOpkmp|4+rh-x$0)LWU3LW4@1$r4+S>fPd|
zHlvldo=9w^3X~`5me-hVJ-f!6!0P@qZ}TF%zI>A3{rRELW0$Sx16vF*;hb%EnhN2R
zf1A0(<xhRevKWO^X=670Z?mJpXYO0l8Nk_l_ku;?OBV2(%{GSboB0d`g^L=?+{%mc
z@TuR-8W4Wb>7L6dQuyzZ!P8*K1+LXE$lHPT3oBBkFRxw*G%8)y*CH(zARIGMuTE^s
zXg#x1E3#X+3gkrwDeQmHd?n*p(v{%i4p{y(36Y2)yIPWeo&^z}$yY=4oRzcx2f`M7
z#U4e=Z$f0t@_mspYSwUhF>Ed4C4Bp;1B`8r+7aV(Js;w_2`05pacNxAu_Ul~v*&3F
zml{A)%hn2rvlnjmj3xHG&G>qewB}ytA$He9q#g_a$R#U!yaomXEc76ukz@fFKt&5m
z>_MI^QLz*FwIiz{30K`x$tOrCfJ|+34SZ?hZboxf0zLcDk}3euC)z=)eX9%v%s^-`
zAEbai>J1D)5+mycCZxN_&an_8r}`$SsGTsFgQ2Xz03%u-Ek96n5+Ev7WPbo^eSoZ0
z|AUX$;^H@2`Q^(|26!JLFH2yZh-Q)Y8tnAqZjEN*#B%RyaWR5{35e1XM9nA~Hq))f
zt_88~!V;p%a+f0!kz*U%^d?<<rTq3mtA;*4-xjr4a#vIu-uvAy<PIo3?2SG|K(ChE
zVHf%4S1o?Q59LwYjQ$2Vv+`kUU9`x8JRU7oEo%CPUoWzv2L%3kV=_NdXtO9KtTi=z
zNy}H(p9+iwNdQ67+?8Dq>7z`f3jz+KIlv^1)~GRg0-c|u8W^hvbVD&EpZC|~!l@wp
zcy7sEWcUBV&+L&5F+B9`Uz^reB#^yxjNsD>@wY@LQOzopO4ZK?9!F6JM8{Pi2Bg`}
z30u>YBKD{O1Z7(2iiq<mV@bb6t$K4JU9SeuX`xB0n17?!)dJogM~Eg;d!5l=8bKiY
zS=+|xtl5hF8Px;t#Ugu)S(keLm#+o3CRbHAoDQP2$Z`w&eYo#PSE~9Qe0kt^LH?#L
z){(D=Q@fuwhUNbELA5#r>RY6BB-LsUu-YSabbu|8;%vaeuk2~WT*80_7o5cxE6xW<
zZIvJdI~}y=<UhrBjaA<;L+jw0G{{Mu>}i*>k00Fi<IhHa5&LiE0x|3;?U4G)*~K51
zfG~VX?01eM84nn}%?C3Q<LQ3VHsBe9eShj$NZ_m4par)0UAVsbQ#FAopqGar5T%8l
zvmb?2OFcI7yKjR6J|+v06SdR{-BK=stk0!G3hG7P1m0~8ph`QW8Vq<fc8GXfv(fO9
z{D?rID1k8*1A2Sl$@^G*v=#FPWHVYs63=w`YwA`F^8%4wR^kGF7YM3DM!RQFywCqZ
zw&WVN_XOP3ybo3&s*+uo_xE6QE!ER{R+Q(}!65SDZyL<6f_Sv)Ok+%1OBDPd{JfW+
zx=V>y%CExD_?MQfHJ2vfDhJ4=RQ@zFJpM2R5p;`0;Iyw?$n0nzTi%x|8-~zgyRK_#
z%Zq`AZ=2qDcx?Mw*2pEz_D!(epxiv^*lzy#mY&hA)#KYggUdIA?IDfN{+4?qLfHQX
z<9SbFY_`1V<=Htx9JNA}hBk8=%PT_4^96S5aw_TrLOx22I_ZVD8IC)jxj&wAaeXK}
zQcmNR6ygcDD16fRVxw$$vZ6pj^w9$v&$bhvri=tu?F$cxh+klc_stWR`zNk7Qof?U
zT#w63M9RGfPrScw`pt_3d^`$pQm~a%@YhoCKNIq}5%R}7k431$_nwfviieY@c4<H!
zyJVGCf!2t~Uh$tKAJ<<IHKTQ`<$?Kb9`izBKZRbmid3F7RkC9Amnvv*AUa@KOMi*7
zFF$fRG+;F}*7H~XpH~lGg}hPrWM<DF;Ktm3iG6!rtg$h=@sDQ{Sh88|084z`LL1Xr
zzw?I%+Agx!-W{khpeQ0K_Uo>F&m%25eUL)CmbxFjy}M2geRmVr9DB9pJ3rJzPpOZ!
zp>NECbnSJ2QRP4*R_vV^>d(@rsa^Pj*YLjA=YL)oBS`O2d9ks@Q`z`#$hp)=1&KTy
zPdPy%r}Sm?6j#Ie$oz`tJe7WI|LZYZtK->;)<KoV)#YOm`z55$@=488x*~4r>Q&9^
zHS_9q$LfuM>TgliYTY&M!!@eA*ij!J{HYeJt-t2SWmWA+287_sVIjpQkVkX3#luGt
zT=#0=8;*v(N4Fi>oxZ#J`2I3io*z3b`1<B|QO%$FE5KRLS!(sUh&a@U@Or&qqw%|_
z09JGYEICmmzWHPM<UlP`AD(%o@b&YWwyT*pd&!?l))m)MzNs}7ysG*-N_F~x`r85W
z><vl}K)+FvS0wRGL_x3k_p~~x4Dhyif|%~LTwr*afV1Go@9uwq%(FfBd-B<zjTq3m
zTGy|u!gc0PqN+!s>$z7IyU4;D9*SvXp7s8OVEPPcoGUu;?H_)s6xRiO6t&kNNv~*1
zi_c3_f3FkSmcGK(Q}Av_5Gtc_g>>H9J|4f0C6<;Ms;s=M7FVpQzE4^6>wJc4;_B+v
z(a(pS-+q8sWym&V)IEJLdi7YkUhcMVjJ=D?gY2p2S8ts<^!x!c*WZ`Th*%D_GiK{G
zmWeSjj4^YqpfOCIVf(lC>!y|cG3B1hx@Tv9?6I}egF@d2n^#-bk{)cmk=c6wU^`xN
z`}KpJZ{j;`4|ZRt-W!Z_PumXJ35DM2-2M6B0s*@3J@YRoWBXgv{qJlK{}Dq9KAhB3
zinzFzAGn4T&8vC6M(uK496!8v$R-kcQ$95CBIZfsudk-e+FR{T7r#AG$9f{e5f5L)
zm4Ea&^><C<(k|yJxcKX8T6E=|H#{^O+^Zf5K#^i$Xa|ib3Xs_ObZwz#%;ns)A&kaJ
zH-$|p<mi;fSwFd|)=28^A>WhhJT{F%ziC~Jp2@gRHQc4U%#L2Ydvf%f&J9<nmB=V}
zk6yShnuSifMBj|3r_{JyIlKbRWA)0QWg|I;){8IvR{s;Z`;6YUZ#`!lgU=X!>{_&+
zI!-9dRa}1^Ca8Pf^gWC12Kcxm=kYYp^>+~$GLP=}d?tzmC!g9Q$rX{MDQDdsp8BXn
zmlVQucA{1SJ3xv)SeFUf%PM+%I-?_!NSnkP9C-KF$zQfGzvZ4pCWQy=8`zfvuQlbu
zepQS|{Q*;3|JdhxCoi4-HDdU*=$$M5{%;{DFb_a81QmoOoq1K6ioOkf)&C1T5fNmz
zD@Lwx+_$TRrL)bjzGhJGCh;KDZCR*V$oX@L-IU_(=pKX|qC(=Eh{u3dC+7ea_qM!W
z0dcpH7r|;B)TLJt@uBM#yLt6*y?h79NdLmi(snY<q}oC(`_GX;0=Xz_w=RUelG!ky
z(H=_5_qNOCWe?acE@8i3-L<LydBfnM>yacZ2u8$2Ef9y~zl75bE3W509+nra-?{o;
zqBYR8vg|nsja(cxAp`c^9izF_gt*_{H7YBLWkS~SJz`Y@x;TKt|1Dj|aLXn1@_yF$
zLMuWi9vl&($WM{RL1qE_!o>i>g9zrJBPC1#auSr|BOFnZ<M3;0Ee=D<S+}0dy1a;B
zoO62yqY;b%Y`F7~6Bv4~hz9q*Jl;(9ak9`;gH?j&Nq-~yVX6VP{(b}DGta}tAMr2h
zYU>JE7=;SsV@-0x#%}t(hhf#OeaQJ1y>s+iJJN`oGLXxQ6~}87zBa08<F5LTd5x&U
z`D`u2er{X9^M)UshIY>2LMyIrd)7HcE(hD#`SZjqHfmy@=4rlkP#G-S4o#EEYw>oJ
zm)t=SEokuBrTVu^IPLA3*q<YYOM{7!@?$7C1_QT#Jfz09*D!hex%cX6<%uo89t&}K
zorvX5mCF_iGMuz5C%wt93X_9#QZhN_m(VnCuv3TQR&l4BEmyyH(Bz>!M~9c^c(#T5
zN|^&_ue9xr8LM*~PgvRi70POZy@!ZXG6+OXkY~+zz5pp$Qi(?CUY|%kdAmMxjEu+#
znQv;db6C)sZ`z5|hvV-}RlVap+kN|W(QBG!(Se}(_3it7cfMLserM<g#-i)}&CBWR
zfWOY^@%fL9`TThF1!^(klb*WWwSe1N@}blZk5(x6vu__aPh;U~=qQ@Z0^jx~lugWM
z+-(er3Wtl!F8}TudDU7S`2&Q=B>^_*JlM=Qado+e({=_Arz%ae3daKqn{4;Q{8A!f
zRzUwQdz+ONv_Bi66Adg^XrImWzSwo*I=$+sdtR9SKr))m!r6dWR7Nc>U*cp!zslTi
ztt*p9lj3f<$~rrv`(F!<f95LtmbKp1MVhp`6RVuRXY|zn(GVl)*Dw?|`dXZ{>4}zW
zJS?;NdTO*8>6vSM!Zrqmw`m_gn^+T2nl&(eK$}^J=)WeNk+kznTCil7TI5^NHDYas
zNo`DmXe{r=VBCngcOw*#kO_K}d>}0pL+IsCurV^L-(u6I_$V!Pm|_Qw4j#CyoA#~$
z<aeZ-Gm)Gmr<F0Je0Q8@fgP#H%`^Nq{SEiV1W{T5L?P8qm-k(kl6%g^$cd9qs|9zN
zmPkyu1KxNKd+A7f7Y#Ru7c&4>Ng7H~xLBXQLMDeYUmn)s2h~+Y>+NN6ol+Fndu8(U
z9AMm>=@j>A>GI2*gk%D`5L4?#rHaqWZsNDiTRt^pN~M&V$lV)Sp0F%pGiJkyZ;w-_
zuh9Df!YV1!6b^Yuw8C$R@>#-`fTG3I(j?tcXOGDyFS*yAUBbE~+gJ6BS&FWE?(-8l
zCN&qfeJqa^-<z-7WGY}Cvjwv%u2uapjjE_-XsOk`ks|Vxggkla`?nOo6Esu6$f%gA
zBRbF5c3u9iWqFX?fc{U9&mB3bg*W-hb`sK)Mz34cc?s{iH$9t6s%$i=eNpM>>^b{(
za;l0r^vYsOB<`-7RZYJ5iyIgH%AWL0Z(Ae&hqU*MYAWg$c6WdfN(iA>Y0^b{mlBGA
zfD}PG5>z@!6#*#;MY@6@y@VpY_fF_tQADZ`q>702F1ft-yXW5Xjd9Pf@An=f$zFS|
zHItb+pJ&XIJtn30NqFnam|fQ}3G0QjiMCd^Bq@b?%YqKuLIb+01`Ik{6tluI1J#sh
z*$d}0BL<dmVYJ^`$B}DX%=G(j1iJRX5<7W}Ob;|j;taoCC@}!vt=vQU_96~>&#>-~
zMMLk_QLv5MvR3^d(Jfe+^4Mwa##4xD5L@Bm(j@S`qi(}8v$5d<acFvGb9<Rx6o@je
zfI%6qBDZT0-hE=+1K>O~nrz?56%r1M=Iv>8fa093WQNrSwG!V|{N&&}?~lnAm7rT(
z<0HhdxFm#!`tPj9`4!MBH$^405Ilw4YZ<jP@q9RXwR-1u_{9EtbqEM*3r;<&m2x5u
zyA?;QyqwNQKUjmdiMIK-Yu+FEgcnoFlB9BPmLhxjk8X3`sykruiIEe`Eq?h)SXPD9
zx<-qRYZ5GG)ieF_C29HNAgW^DlbltaPfBiFZ+Ufbgj6Mi;(7F8qQ)u&s%OM9MYd>T
zSD*B+E!Fo&_ag}v^2pe=5Q4%7@lOyvjH`Iy;DbN~&H)aP>T8|Sy}7j#KWyFyFh<I5
zVWN1Rg)^P5do}(SG4xZN;orC^cimM&eltRbU=FZU@gYkW0?Qp^_*Q%zMZd1q&(h_J
z1aB^+EKL&L{C0?c_<8PjlzsGvw;fJnp{%#L_~c|dVjQzR(Jn>W%f0`CCcLniVqy6!
ztKP*)P7M9Q^(jqS{VaRe=b6AaMN;`8rhimv5<li=zn|38?YMcwUam>XHBaSYce4(k
zFCAC4O{XrwgI$6aXinO&eM(8*EGwkyq5$iB=Xz{%A30<0>o)~3D&J3ZIgZF)!a(vw
zkvIg@bru9kyLd0i&2jsvUkb1N@<)Y-*(ytvAELdJYS$xBjgDl}N2Y-z!uRxBwb>>@
ztQYk5W=I*B<R_MtOeAw3|Jm1nHYm!L7fbo>DRoH1AU_)wIcBDprGNw?%E7vf48P3;
zsX6_{l7D&hCXDIR8F5AdC20nvo4F6wUo&Py-b=Ym^}E~th+QSd*0OJ8?C1^eT1dc;
z!(i%`@vN)Sj54<q=f5YtEBJuFr=jj=F(O?FBAspT&a<i~F!~n<?$@DttY1+?^M6=K
z1Q{KLyPQ=(RGb8uYNjX-Qm+-3C{ApzJAvI~U&;ea*Sqw9w`7vY%Pw0`Zsk>(3X`M$
zX_^y>J|!dD<XOJRc?;f&ku{ID>)n-x?Z2ur23-J#;3N3`cWh1gWKkR9?=cW8N-*P2
z;{EO<<rhgeCuy`hDbHjEPK4~3l5qX=LJiy}qi2)k?-9}fpZ58><A%7!!QgB=3;RP{
zyGz&y+L=u_p@uR>iJnU4(Yj7@wYX7Vx|2TuarynFa?GQgG63D`x!!ok__g|6Z}+In
zAov;wxQUR^dYm$P(ErpqTiiS2?fINieIDpcR{VD)jWnZ9B$#*dl3A6wc=9Uk7i}a6
z$f@|Z^p`Z(^BUN{mh`}1e1<p}GVuJ#p#Jj5D)9tqNbmpo)cFg`i`p|UPlh{_3}SG`
za(6~b<Z%azpbT$IMrZ&!cb_$j1ABwm(VtmDSB^;@W$95;TX5#IA@`Z9IVW*s{YWS;
z<@dmHatw|P!0dBT0~qXd6+o7Py4{W>XXN<KN(~^<@c#0{v<RwB5Pa7&{Y><y@!vAI
z3NPuWE);r3X@`;@wb5@2amBFQWE0?qfQ8*Evt?le6LRxV=Oe(}0M~diu_Ffbp5s=`
z3s62lII2R4z_33?gKFGC@+((WPR#NEti_h)#>&y5LQjt(amEoTU}$>t1j>;FPjM_u
z)P%ttcZTv<jxZo+9Qf@E7GETxBaX-wAyUoF8h{qF!GdsD=C&Sk<PC)jAn?I5;_!DF
z{iwHs#rY%a_-%1u3(OYnltA7iK^`0-2rF3o=uYd`J3Wtt^xp~H6XmNEVDZ~K3Pgj}
z?tn>9#QmH%W6Ffm7}j|}e5UU1@*|R#2R#}_OuRb`)JSj`N2jEblqH6wA5AKXB7TY@
zamBG9R@jDmesXw=<Q@R|UV;pXgRny)RRn{_lo$<$COJvYl7p1KUX0yH@_|uLQ~kYe
zZwXUxg|S10DR0GvL&f6*sZ9y#KZmeABjxi$qAMDN7y|KHkL+umD(N>dHx8Cw4e(Q7
zn-_YIvzNtcAI?cYb$$1S$Opq3fgKS92pTSRgu;|9gAyRdfEzaWh6ur<fvP&f4UB5%
z3Y;4&yiX0BJOV#K{;g2?^t53@SAsSCJ%7BHlx32DNV1Zh_pGzTon|j#ZwaBHI-#T$
zp{e)Ma|hZhkA#2KX&-utTpox-bBIFfMJXl3(%*|2Ns8Boi_2ie#b^}n9ZIOx>-ay?
z=rPtcs@F{wSF){Fnn~7nn|j!OaA!4HW|KDfCpny1l^(#}d4ST2KLRI6s+)7LMolpW
zK2+=xCs6;AG04f__d9zMMZ%BxE?iBX4-hZ|gj@*dI0slBAY=v(CQ)MdF@$X>a&8Ra
z6AZ`%+brx}%G_IOR>$+<K3=_AgELNHppG*K1bT$t^BQ9g#pltHd<M!_rkFX%C24|F
zNKKnp2<=fUlHPv-fHg<*RP}J`2C*0O7NB-zEkZ-OLC)`ytZB4=7h_k6z7SaCL6zW7
zf5j@8;zSsDB+V%$)9(_}a<W)RvwrPi?ogo%zuQ-0%WC#k!2!cOil#EA+%tB6YI$;b
z1qDiap6q|nIBm4)#M!ui0L7^wNxvgk0NY$+5L1dCy9qrBs*AVjsR;cg2a+%g0gDr1
z4V4hNE$qzaGuyvHvUNwBY2}$((_gPxX4J|P@*1cs0{%{zRgwm@Gr^*S2IaWj{0Ztl
zH?@{CMGSAU?aFg@p#(NCTS6F`vYwehUHY>R0~vS@k`CKVgU|MTAcu9R)2VOzk`cVr
z(1UcwgUZyi6Ybg8<LM&e#V2FCi4YJo_0B|jD>gGBOns`kZ+#!zyiv=)K-uf0GT)@J
zbb*&WyMGqPNOB&sHXw;JzOGzNFI5>t09am^&qQnVRH|5J=O*SCDaV1XtQ~m{si!P;
zd4z==x8{$vA>SFX?+F5@Gm2zb<q$SWXq!$3WPz_U`FHY@s*@Ue=7#UKnkiHQCR9Qx
zU=ZTjkKdhpi7!-4p0}qwPe+0enu#8nkem22Tb$Vad1#;cD(IcGL-liqo08T&PRDz;
zj&~SeCP||pEvRhYO9EdcT^jn8jElaz3lE;r_0HK-u@=4NJW>QgxYIWsn-}PI8W;<D
zQR*qM*&G<6a@mEZtSn_*Bg<iYe{&p?_cxOBx|_Yi5HN?5i(^PC=s+>JY_3PpHXNxW
zcDjGMS@17~UXRu1X&J_HjFJ%V%(U+@;LS<E((u>MW$*Ahde6SWgc}9;U>IW_DONiR
z#NVh#S3n$GFNV+q-*Mzv+=JK`3*thrgW?|S#G|rN<gDY)r1el<q=&vf{q-M{=82e1
zWDt!n)Z&Iuh9(I`vOK~-wDZ`5dO*nWVzU>oBq{_l>BajvP3Ng!-j(YSWg?VJPg0cY
z9QS!u9g|$H;=OuOmZ9>&e9kKbZ~mmunEbi9><l?H7y}5`Glxzs%{DQr>htDlyjV9)
z^*8@|6~`<zmqASrV@`V|HRVofME(M$@-Kx7^(gp4+TkIf^WFPs-keO*n^+w5@fbzW
z+p|Sb!TNJhTTu3A5fd%ncx75FC8tF`OE0-##<8fp$7>5X`m3*En}AwCHVAm3Bfn=L
zPh&h^?D+SiDTnyWH1!*Cxu9`I>0By^Vaek{hZ57>g@PW4I~d`Jw9`a8QDtt;6dEni
zC_Q>O@X?l&N)iB?+KTReB0Ryt?<5Nm?wG97u~w-s<$w-()AM@dx~@5rWLlFhPqNg^
zZ8ckyA25Gd@&90%o@0wY&*`>J0bx?y<)Ao3T<rVQKMw^~h0}~|(_&i*-^!(@wx;LG
zWjJM|SDZiSxv>JCXH0^Cj`a5|7f-s6YRAm$+S{1F&ei35mP*{qk-Plxhbh-?m4OUN
zz>5SFIJ)H9x8MM^!9^8a&&(T~U$hZ}!TAk07!>^JZ~h7`FXw&~0`$C+yB%dFpbzcE
zfWm>>*;pbIti`eA?L2@a4h4ZCN&5lwp<@c(yaWn!y(7w~C)J4%Q>}y6;$4?qlT%7A
z4jKziidgCb8ffP;c_NvMk(3LT;5@=O<VsBq^K;uH*U2qs5Pb2N0k@eoeTOyJ7Wn3!
zp5pbD)pxTO-y`Ua81Y6#1gMx(aF7Ppz@m_VH0qW43uad2Wq;46mO|%|C^@g(u&h;Q
z8Abnng`SQp)JxDnx5~f=`4^T~1JAPlI<gYED-2z}WicBkhcU2<19!pltj@1WV*@fn
z6o#i<p8Sg&cZ1VHu_>(_U=xm8-xg;=k$22f9loEcTO*2O<a<))XQVO2DOM1(fFt9V
z;7>lVan94Cj!~O$Lw$K)^#6Xj9rX2%b#Nc8k3^@tQ;O<kQ<+f*X4Utbj`fIs_Fx}V
zk&1lZQH}aJeL)^4)eUz2DM$Vvg-uzjlcVD@jtaulPix;;c~vkA@D<TiR`4SbGxEo%
zxvMe>9w2#?r|MbvW2=GY>BU&q-QgXb+?w5SP2GvSlnKS`+2!xq)~tiAh{49ra!;!v
z|Er@w)?xP4$DIK#uii?R`i!J6vShImV5~+<7e^VS#vW&m=~x7VFiZf)c;(cxe<dAZ
z7bo#`KgH5StTmaa-zTQ7PcBz0hk>l`dw>&w-qE(sMd3)^ZX_N<V@5eO*YtzlyG>u%
zjC3WA<tu06F<BI%yA>c{#egl4gk}hmwj69ZhR^^YNx*b7DS#x&sfjszc>;wCITPua
zw%k%F{T8{Jl70sW=DmM_zeZA3j*L~u$fkewb4n#(ep(vR7BlBHXcUw_*#j9y5S`&)
zZ2c0uo9e{k0T5eo<acK-Sjo{D1Qw^drGH0nbgVEyIX;mcdU)Tbic1SzK}fjc4uWv&
z4ne8J+MV`3R8tQoJ_c{Hvaje|<g*a4hPEGE!VaZ!|E>uiTd~+1{`Kg~v->XdTI|P9
zl>CvVaz5q35%F?yAO*3cA35qfIVvN6O2-r(G|SIy%aW^@s(c;tSfGHOW6+<l;pfeS
zyZ2WRBLqOmC_*27BxisD1MZa;K?RI@Ry2(IsxMR~OS4j0Slaz-YrhmwxR>!8lNW#0
zko6#$@+ah}U!@X|>NbZC)!6o-!IT6g#6UKw04pf@&a-Fy6VlM$k*5anmTLI73=(8+
zX1njk^Xa?)dDZabtBHV}9=Z7ytTb1a4jN{ar1JI~@AWb*+CJN+NQ1_ZrbKW|_k^#!
zm)fy3tT8KCx=u)QYOrKV2D;9FUYPOe$NmiVo$@N+YJqu_jRatmx#ZcOtM{{|?jZPH
zAp6|<Kn38e$vC6Cdbrt${P^lk5@HzgmWO*c6mi1xr8Iwwwg-eNsC!|=Zq94M8e@3d
zej<w{fcS2P&!=o!gL3;n%uTNIYClpeU4f&bsDRinO;%5)zI+R(U0fVM39tHXfT)DP
znp8k>1J_{WQ%p}d!Ba*sf{rxG6HLV#$fyBP4J5%vI_^w9jgn3|dy0?a_qEM8tnBa{
zNl?FbTuapAEnR!BEB$LN$v{J3J=xgAY5jwl@Q7}TMg$FoBuc>`R$?VNY#8K$D1b`n
z`iBkM{|=&qNwuyKn8>+#h|*}TyK(0U%PO8y=ugKbWzZT;7(A2<V1zHYzJ9YB&ql3Y
zI4MG|n?GI@Qz;!L6DR4*0D8bUPo#tXB>9+R)L$Y-?5FMlh0L4}{1bnh)~MFgccsRm
zV)ncSUmq;TO+jJpk2R<yURIgf=Olhr-+4+yd@+G>xRtS$AFou#aX-m~45jC*D{dsA
zI~)#!Ju;iprHTGih|pF?NPT#i6FQ&vW<}IxGhjq^kM;gS6z~o25Ih=cFBgeGCZT~H
zE|td+Qf+>q)VxrXHGo1Q+63U5rfsKKAp=URoVG;FK$JpRJ%>CU9(|PTds+R`j|1=K
zy}2gB4&DlZ{u&{QsIQ`Bsmu(QbfJHiR^FOFzCaLT22SbbwbxL&J1$x<uG^`=1ET?#
z`XE%Nuo^QOy&n^Z?*Bj#099?`1~6`kmwoECZnH$6jFvI&1OVOV<T&u?{b~1X-k+t#
z(Lr3MmENlR6>dxtTGM|*Od?zafHddPQZ<V}W@o{Ilx=FDG{u~_{CyYm?~2AH=Hse?
zqwRs}o)jWLdyvc0(Zh^oUDha@>W&;HnGkudAML!$kKbhV7ycqMBD7~|oIutXzu+<U
zV?tjy-ef}NM(#8s$@{!V+N@t!oHXjGPftIgsnwSOI-ub(7Y!Ze3yf<r;zGqXMCf9Y
z4q)WsVnmQwBNF56jk#2HL*eRz)Tz?LJ+OeiFb-%QiDueIWhgG3a7&NOKo%f0{$mgz
zMs+_lG1d{qBaxY>JI?>K%gqO25I6izKS4U4QWqf9fcLOgh)KSEu14Tqpe1gWrYhr)
zlgSZ4yTWV0Py_%j#c4S4e~r6K3lLHp*hoL}P$$^pxK$>*O3Dh)93qJ%C6WbYl+~*F
zv~Wl>m(iq`LD+9`#YGmLuQZ0rCaDD#L}}u6e^PUTQ}{FzZQ1!zMBF%#w|{{x%`C#Q
z%#cEr;>$}J(J8vt#QV>P#2LbpX*u`};<}O}2zWsgvW&zaf+Ga^nP4B2Eda0-7D!^Y
zNAg;FbfAG4kon%=WWu9({a_@p9Ce#`W2=jT;(o$(rrq7UUSn1-o~KeA@`$dBk9XcW
zRElHel3>};b<{Re`PQ%jxK761s)2(}Lkn1cMTr4W49GjmM3!hymZolx_}P?7-nFkN
zBOFBd;%M~m>`DBS9V7t_3bA1fLc4wSlybNN$h1R6-MM?CsF8HPy{OX%4F<WOLHe+J
z-dezsLE;w8&pZHlz%7^<y__F~=K*QlCpM#swVUL6)^;`^`c{n9PT_`8T01D+Wtiz*
zaa(owe<_U;FL;IOO|)|I3%QiR`36BI#t*opEOgvRifC6R+5vt^HgKs{`AQ;ZVS&<$
z77O~hiWEiTO;HwO6HjJ<qLId_lk#)Wo1~fZ!_fdI7)$N!a~m)K5m2N7WXv^0Vn<QI
zJZ&7@;<DV-^CwL$6O}Jsjal+j*{MNqd|~fbKxDTBZYz^PJbrTXIYbl~sF6POde<BC
z6mamHxSMd2QQqR|n9TKL-$m?=O01)KKmRgH<7IbGvOBbZuFAMd2B{Kr==q#Wmq{Zi
z#DzBAqLS-7V)tDKo|=_gg`v}A#NuUjEWMmvH4T*X?`s#siipX=t_|7h2&Vi5SpgZr
z5wM4_#l8*Gb(8qkx|YPY9qj?Vj)-cyR@7gjSPPE7T0zl!BU|lMx4~w8<5GqmVN=h5
z3Ny01MFX*5nzt~QS*`Vw{dl@pKVz+Q%=I@01ApI1j`z5&I^H-KrM8I7^Lxdal>Sb}
z!`Au+7d^2D#-=t0cEuwK=o*07`@Gb4WFp~M)?cyF1iDX|9yzor%hy=vFYvev`3a~k
z89Z;8K`Q39b`Sew{l+erDL%gH{1fCJ*r>aF7zFNKnG`V!b)ni8Wxx{be$BIU<i4*n
zlWF7G@RHL_3LmS`@|8pSs|?OHZp2`)Ri}<vK!Iq1l=-7N??IyBSuwZdn!5&&APvs@
zM?7p1+LXFg*)sHS*DLdK(MIfjj#yHZ%=kS2mtnBj=no3D9XFxvPp^vHvtBF<3%q$m
z1`%8P(SwvJT{;b}OTgcH9(3CYceqQP^nEH$w511r`$2>u^P;;DQ{V%5abuET@P3^8
z;tKU9bqpQsV?t)jie}8*7|W;qxB8_U%)b7q9&VQ5_0Koi@rgF)ox4IStQ#6%{e3-u
zdj~R{Eo-XEzYq27vA=guXZ{H_CkZH87sc`eN!dO-q<4an2{ch~ACB7ZTsTG%lIl%@
zKltVmHbvt9iL*l6-Y>DeDouj_H7qmWO288Gtqn8<Xi_izd%@j9v$Q9xsgMeEAMyAX
zz_fx}TLp5FiwD-b2#3J_ZKc(TcFn__$a`C@uPsf8Mz$xvyCvA`EYvMrpR|1LY_Sz~
z%xmUi*z7u*aASAJZ7TkGNUh`^Yx9u=gk@cg3hYVD<=!wFIiF1J+O4GY;hX!hvAPkw
z?pYov$D_QxNguN5Z5gbQRKu7g3*Pa+d_x{=eR}q}`+CgUafvwF+_Em@!juoxq7v=!
znkX#<;>b<Pk7E0V`mu@PB|xw8p|>>9za7wq@5vuKyzBszx+7jQ6{5M#LV3@)M{yy;
z&AvT+TE2h8g7W!%MWRB;w_g972{jTAqbfnmo1tY}EEUtx%2C|QxPZeU%S!CaMwxKk
z*>JrQui;3lp1tsmB4{fB6>SMIiHeZa3eu{JFy7)uMg=g-zPZQvhWq&&C9Q~2QPKpD
z@HRUY#)j}4HLY)pWqLyBtCq;X*~s9tNEBm~?GV`z&kIh!kkGWKm?-Y_1X80}U-gzK
zuICi&v|-OQqc0qyHPF$~!_i!(p*d+@@BMi4NP=IIkmF1&Z5iPJz<EvtCIbLK=oAzU
zPyloQK!OE80J8W~76QFGUP_~7fKv_wu0fYg3E8b7AR={YIABv~MLZXO+5Gnbz<s?p
z;3V||BZqvu2cA9UiDQ4tIUVE@LAA`F+{!QhZEi}JHxKeMKB@IHv?AqZ)?SpCCfBIM
zu<>yx^W(Depj)jPorZ3|r>cO4H;VU8ep^%!*d_mI+1OG=lW}FNQHdEfwv&lEuSHdZ
zvON6u|18Xq+4K{?ZmF#&5u!#(c>+5mU&``7SsA+QoZq9(M?{bl68wKRRZV0}0J^yy
zfP@GD5fS~LT+q5%pM220o0q}^AQD!s8ca_Z35}rDa7|ucB>c9v!mwVpT<Fb;We(RC
z487w}i(!3GS2&WyZ=_MdzqfoJz@vf|O6rOxGG)ED7f0&(G<`R&!EpEk1Q3|$)p<11
zP&!p?P@oMSd9m0Xq)))HA1R_&?rGE)b4#bGV(u*hE!WF{Tuv1Yj=HO;(_HnV-S4r<
z)pu?FE|FlbiE*8lnw7pN@b0k-?-Z^-;kHiB_|ymaa<>UAflh1v=4T9_Gs_TtuKlMx
zqw*(z&YA6}GR?<w9<u!1`daMrduihGSEEPVvr{&`j<W|dJ%%hcpE~^e7Bs!@<?01p
zP`FKBRe9>xx1IiNx9h-Prhb5oo4o5Ow_&#cS>|i(s~C=Ubp?&=f_7YZCUcWaynpcF
zP(B~&NC6j;H8krakrpltuF+^JOt=mpgr|KNR^G5)7=O8s^rU$kb}Pm4XEc9N$<G*}
zrmdf`qJ#XaagyI1SL0<jN><-0oNTSWLl6tBC8*Oo{r`W#F0Ji@rC8AuQz}@$@i$d`
z9^+JG{`|Z5MuzRjQr=7t)yMW(J{M~bm7Knp7V9myv~K3gtjO_U!t;|I@}g4KCNR;`
z7gP#y@`6t4!FtXD9}}OH{Zg4WZu?bC{3BhU1XJeEUs||vd$Ob?IKa8Qut|dOT}8tu
zXP3&Br81YQj@@mSYV5V3YfV4Q#kF>rt=zS4T==(Z{iM<zw}x+eE^dwE#Q!bw&Tr!A
z&i}p7ZsG_)YStiC(A(qjmMxQ6^5~m5%Hp5I+z;Kpc9JaKXRmRm6o^Uo`@%H@5O9%_
zphO-Cd*6O$B4qCI-(y7l*;gS)SlaDC&`A*KY9!-0hAZ;v)%R`ov7699hs%5M_qv<x
zr;jvzaQXJ0%8gfwki2BBiec)F-S3mT_Z#5TF%cg=2@kmVfw%1zPD5>?#EAzd?xl*L
zs0bVc(2f+_6u=*P@)wH?`P6r)*1;b@W)i5Ln(-e59uF~G-814MCXkf%4BZvBc5!Kg
z{4~r*(jxL=SixYHg5(APGA-K?{dt7bUej}c!fj{1GDa*CH<Enk^xWK^2s>?yCX<~V
z?TWe287h7Hr@TxI<~^=bs_9ewmbG<!ebKg0ehEY~!tBzYh&0Jo;eHo93EImF2Pz88
zRJJ(sv{V|_zm7(-6B~W^msClHt5HPwm?8e#srEk}0APY>fc?K7L(Q||Ppqi0)xmV5
zSO3}0lo0VN2o~2Jg6$FuAO5m}@WvAWQQRCrmsTs(*GlexTm3ucbrO(qsxIKND|}x~
z*G?~ry1S7q`fqHm74th^-O+ElMJ11l>%2+7mGN1dH+l^?48j2zL3YG(OJmtw*zXtC
zfQOsgSXqz;)_Tl$hgpq*TR>pC=EZEg^<j~`>>B27yW7KSFm5}~w$vDX-3cd0aeG0Q
zZ;ih<`Z<uMbuv<pbGp_3<_y-Q)S_<LpM7IiPEJL>Hyjo|{o}I!_i3mi)ZvxSt4xPN
zDacHPXR;TM_j+|B&%|`i<2xlR>{Vp<1iv`;Mg+3__b7$jERVqdyF4sf3EA@AtJJ)b
z#Wz5;|D1M#W(k<K5XK4HE69#zUo;1w32TWM3Z+FrfQwBYvl>o?Yu2%xx-TaIT30Kv
zQ_ig8x#ANb?{E=pmx%2Z-243SqwdRPi+@Jv1Ny@69@;AXlcvi}*EOqmzS{zOEEFPG
z3%}r{ckHo*wR8C;l>IRa_0ZJ)5Q$I`YS$wj4I{^8Yu~24?gC-d2RX2`%kt`XK5IpE
z!+59&FdMg5x!z~cvj&0?GZNA3wcafjg^oS-z?Pr|6GHIwM=*iej4$`1vGp$nB>DU7
z#tLzF+l~>!<!%$0qT1TOfCjH5{>K-dj^zR`qeuSzky+rQD@fO&9swm>@4X&R+(zBE
zsON<RX|@34;u}G))+$>YxG*Tw(kbTW6+Mv&s;i>m9O@v@|4FX-AEWkvyub<E0|JR|
zI=laqopxSJkt}zIkx&ts-DD@VH>8}rSEn^xeP~a9v2lmt38@&msYJ`+zk2k66ntKi
z^@9{;ukbsyoRMGi|0_Ecf6hgOk=@d6DEU&Ll_Y3A`u}97Z0*Lf>GGS$WLG8vCrP8B
zyP$0s71GMKh6GwiQS^dL9as)rXu_YTb4r19iIDD)IDyAxBt4OC=*r3{nmbR%TWVK_
z{*#?_TkF=x(ga>v-=PMCpW&}Q+`bRvzG>QM$exyQ{eI8yqd;%peR9{?x~F`;@p(P;
zUBLlf9oA-VPue3+I~LE1;+KESwLvu+BKydc{Ci<ncc3y{yJ6{lv3Pd<u8#A=t*LUG
z&t09<6Mr{)F)9UUTBW;s93BxOnNiHjaF4IbBXWCcP~An;XQin^cpo{r!P6A;0G>ih
z4hdJWe&wSYgJ{C49YSqFg)PkyrE-L*3OUc()L@{b7Du=n#L!_tWs|Yy2f+^k^}N^r
zTXuSGxVN7~OxSd`N`7OyNLr-8e^a9Yrp%DBN@b!R6Zdd|7@UIe_<p7!ZNKlNQkj-0
zn#gO^Nll%hDgg@KRZ#1dQ}|i`$@3ov0fCbD%JI7-Qr47*#MHdcSM#GdYM#BKGx1w^
zpXIy#s~Gb}aJ!_Cc<woqj1a9pgnIXIBoFYxKO1I7`WR>_J>egH=XFD$Mcip5s*knJ
zAOPM;jBBkz>pqnf8JOOgT@B;1Gutn@18hx=GrPF<0CL`7+es_3gY__G+}&@cgp3Fr
zmh}KxZ=+5#_;|bXY@_^d*VW1I>O{Qc9PtyNzW~%!#g=h1Dczr_1#w<1h@cZqY}e=K
zKESHM5VO>VGH(@rY7M`&3XL)I-wh*yJ|Wm9Qw|V95VHkxdpyivUHZ7&N@JKxBstje
z%)pjy=J$_oExyX5uevgSj;83`h*91|EP-ad=ZnXbN{4A4cglz#1coUOMUkR>XgR~5
z!lY_`_)^@*K!?fx1=aK_<DTQlGMNA1S7X!G*uv{ux3n#Os4qITrFI&~?4GSAXbPXN
z#b>vzC=>U6*s~JvkBkCsDb=I6{uP#RD9RFf8YtCcD88y(1Gvvc{sfcyl51zH;)=W_
zJ*G6$oBpiR{10NQ6m79m0)DAQodV{`nj-&>zL~mrt`gi~)+aU%>FrUT3q+ww6#e4$
zl_CQt5tJn_C_cexq6~l^F)Z1_fOmWFTjJ!cJ`y6vNq}*@DgG7|1u|Y>YQx%=r?Coi
zs#`9;tJ3Ttv)Bv0N#Ow}UP-}{v7SK75LJZ-l{@XKtbp9u7q&Xpgu*c9-C2mfJs%ZZ
zP&ndr3IlsJ+{bpY7a7wU$%JP^N8j}u5v(Q5r%oO2=at`&jvmqE%0UtFvl7Rc-BfCu
zhX;h6d7_^{3mAvA2E{Y>;~aGhm}iCurQ7!7J>m*jH?@Z3=l9?GjTf+;4i70^?7u@n
z3ppSUhE<sl5~6eqxfn)<HRKNx6XFWF`5ugDTO7Pk8!zOQ85z+FI7q^{#wm2<QTV5Q
zO;(n(yZ2<D_?6IFGSq2EFb2!;9}4Ax<FJ73NK(L}EeUMpqyBr9&_`rRob8Lzie3m(
zUv9e(_69_1+qMuHt6Hu?E0TLra_<cS4l{8T+KTfYVb=L|e8oGFrdFhYt*_SYJs<+Q
zn5gqSqn>Y7_k-}~U-%?9EA*|Q1_#BLp)dw534v{6@_P&7Sutx#oV`&9nZ5^KVl0yR
zfAEJ<RDe)E9)u}{u0#I|G8vWwWqR}A7wJ2M2O{&wu)09Q7d`Vh#H|A?L>4AJ>AUeY
zOZg!$FrW9xdbscYdNRb&mWn)?*@ZDZDnbHe05hxUW!!mAqR{0z>NT9qT6Dy(rPKPY
zXo==wgc*rKg>zg6HjG7`=b@T*8O1yMX)`o#A{s}PMd%n_W@D|TAwxD3<xD6=(^>MA
zVQe;H>-POS1gH)x+flz3417UUh0bD+0D?v5Y$1Dzw{L^}8)%7kN+Q{q6T%qOam>`@
zy-HpJwL*B=>0-pdT_H6W4k{?9^q>YpWnmCTnT#shy0NAQbA+-q+-9OE0a1u!qAEsL
znJ6bU?!nP$W`q{i{=B}OHHLVFdZuMiokvl4>?1yb9@v2s6Er2{YB0r8eQ{Hv8!vi{
zNJf%B^3aT=2Ic?pJ#ByYm?{?Fu(`;=cE!ing!h=g6DLCFoH~ZOEr7_#9G|hV10cBr
z&RC+BpKNw!Dp2<O(J5ZoTlYSOE1V?4{3}c;I;_xYN1zzF=@C6Z(auZTgJSANv^^)T
zA^b<I_r|^b@L)1h{^@VZsk+swF272p7QuG`jH9=7KZQQB+n*2SmutB#>7eq_oYGC!
z8_x`R=0R9dL-|?~lm<P@mQBOjG=BQSz@|h@S|pa`F4RB9;h`Dvn_&5wBnSD+uETJ?
zhfaDM5~+G8dx}vU_C7~?Y`gp=%tGyvCTsajSxR^1HqeB(3b}^M1^We#(NScJFO#tx
z8ls^pQ0v_D<dgwVMUlJjypX+68%Nc$w<{<yM(-^CwEhRL$xseaBMk*NgS8zWt<^m+
zw`!$6)+Sc&aAbOQI)PELKM{AL{-`n9he0@=1H6=f)!6H{B%YXZz}T^Q7MrN#T4}0C
zHwgp_T^Aa<z!|q=@3Qo&vZ0@EcldsR&%_8^#NwgTZ4WIBG0PZ;vSRX`a^S+PPJC1-
z5o-dGznRJRqHmh~u9ai<aXTBg)xe7S=`u{+2Vb|aAn5D_5fgx6i{?-TDTv-^Q3#;|
z90*GO1^5n|IVFpz8mqHCx&KktfHb}Q7dxb$k8-N5O9^2=;}t5gfe<c@6P+lpbbnce
zY!~td$3D(Hu9P7wm2x`MT66P>VY%Lm?l{Uj#t_D5e4TOzwlYj3R<kp|-!UD8DB%*J
zg#5j1oi4-d&qb$At3ur*OVHaclLu(x_8e<ozA&D7yLj>bTc<!jVHMSy8xBKa7W`-I
z#}}B5q&7RXPH0{hlVOd?EOGOFnHUi$F#KC>uZf)K*Gf>lD_V8=t~CgMugF&B6;T%T
zLIKhKVY~;qNcal%#I*vIKK=qi4Ubk@m*hqQX+x`o+#VGB-}qP639L1Z=MB6>OkfQN
zeVm7REbnto4*MD+W0eT)B4bJ?1i|bh%0UmOuAgKVq7-l>;f)#N#l~|eKv{^>HT5$6
z?n{v{1p5gn+$RR=YCybz(}2U%+h(EGCXl^H1`!6ff*W=i!jLe?tLaF>2Ur-Gi07Om
z{8Hm4MHmTvm%8zxNS(bp+w`3ng8c(tQ8|Rz`@Qj6dwByrkFTR-BDOogIU!LXJ`dm_
zALY*)Fc<}*MuMtvPyfIv1w=t2lfVO<{SXj&Z~7%&6q+92qI1I*e|_ed$_smf07P&g
z=Jn@*ailkg*bOV38g+9sFXui`#??d;JeL5#06PkZbEMRTEA!*Plc~1S$Y(orN;iZ8
zjmdj6Grmm{?mJjmXU!WnETla$w&@UZC&BD;>S-w>0*T|f1YkEElcYG<tft?`$Tv8~
zx2`^{DGc`2>f!4K(A%{-OE>U&4g<9TXb;Z*UXsZkibQ5FzUK(u+d#R5g-S+Ps(~eU
z6CU4)IJR5h*Cf!vJ@_9FXmukTUjqAs)xZ1(Lr6SUordoL(D@olaUUAa2QC~K*oD~}
ziWQ1ah(s9r{m--aqH`L5M9HM4g2)XGLhz4i+b6+RT97K-`=~Fl2@F^;g>f%|#0y6f
zISDue$ztcp26LLH9>f}xx=>q6BZHXxXjK509A!x9fFqg-XRP)hR=^Q?!#_B;rns8Z
za*i;9=Tf}nQhm%*Z>p$%>8Sy&seyB;!RM(crnFGGv~csZH~wi+>1i>oX>oIDZ_m>b
zn9|?Nr6-%Gr}(F*rKe{^r_+Sewf3mUg{wVNp;vmUrU+6jZdJ`}&8R44%=V`{DaeqL
z%<vRbQ9)-Y^r%#}W_FNfw)jh8A7r%ot1a(m4E$2Slx8-A6ptTe4V^3GrDxX7Wqvcy
z*8ZY8#*}$%ltKM1OX^$tNqzP(K3c8TJZDvaw#6xXyEUiTN%C`g_TB@Ljq~*J+qpkV
zvzJG*hs|^P&vSmI=j<?H2m)xX=5l{J<<3WAXn)=!&&cW<$%Zgz4gSjgVlG4&kjH32
zRrV`~HbeMuE_Xs83%ZS=zsRA|&Lz>#$@~ciGV+Ama#-Z^E=n<{-noL?dHnJP)ke9E
zOu6U&YVd%9skwX+i^5K(9E!36*6keaw%pHid56CW7yR?_P8eS2LNkkOcIJ;T?Sjkn
z0x7cGpZ@vA^B<eiGwx)3bS}#omCKi9E^yCK>ocdFN~ck?D0ayx4v?ok2`$b^FM7>f
z5-QK6eo-7OUlNs3Vs4ueh2NKtxhP3sE`2Xwnru;;5>T3!QJT?Knl)dVbMqOQ%kt&R
z3N6Zt0?JA<%F5cxD&}t_kY!0nQJ@brn+=I=c8Mxt<@XXTdkV{IF3P<H%3ES+I-Zwz
z$kTRdmp75U!_HUuI#o0V=&JIRU;30YFjjsOOejs(JuR&KF<<$Kxypg0a^?om-lpIB
zp=z<L>RS=b#&*=-jEbM~)gSE9-vjh(hRWA0D*g&4#LpUS#8jyqYwxvHz0;~Daq&B8
zs{xPI^cGfwbZQ`XYH)(J=gigXZ55>LwegMBv-8z#uWM-*s%b52ITmU*waW%t>V(LF
zZ6s_JUN7bX+s4)&<J%HpEVZ1kE4Q3$Pv^@|Eb8{QE5Fa{m5kPD{njP1g^_@u%Let*
z_iXRQ*79f8Dv;L-{H8H>sUfy3d$3T4hXVv~QUW+|1}AMr!VK>;%33yBE;Jh7F`y}L
zbdRkb5-hW6uM4Q9)Q1CFILb3Pq*4^-a?j}xSpz}2PW$M)zR?OD!`ipM>z`yce<Fgu
zMNxukC~x#g!3e0cWedioF!{Ic@+6sUETs(&(z@4>x6me{-70)ZQS3sTj%}-Y-JZ+@
ztDQ_xL6h;0P?W&Q4ak92c+(}4xCYTeDMqd%3IRpa45G;D;pCqe;Poi7HdOmOdD0Ss
zfLx5|3Eqi@0SW#y31RR6S(ta&$9Am3DF6<_>C3K_c9^ySRWlC0*WP&%`{uVONwz3~
z+9XWH6LcR-q3zN2>t6c^IdpU3;f_bQ47{7J76y2LbSA-&ow|At@bPPqX#yDL`Rejs
zFZHJGwgII!9E<P--Sz<0dvq}%j9dZWwrG1s4H3B~h<xQ9IVWLI4cy`!enbv<*T9-F
zeS18Vn$YfV^n@z9y#_+I#|Q!(3+;Um(8g<Q6P$tpL!^yrJ-ccC^T3J*f;a-ZMWKKS
z<{eb5f6uEQ@L<%q>bl^E83qm|5mO2*!dxq8)I6}N9@zOBSP1|u0)w_5WE%Lz-YQ80
z1|+%WIB0Eh2%1Oq)Sz2jl$tUSbbblHFWTY9I!XtoG-mCh^z1fAc9|P=AJo7$UV{#h
zO?m+NFYExr<il-`ZViT!=xMl`Rgd+RDdknyNAA%<R@(qpY_coWu_VzT2kFsk(9T{T
z!zB2+rmOKa`CZo}sETjX;+R_?_9=>NzrCM2aD0nZ&&X<E%ecq92DXD6Wq?oY>`?}d
z5n3jZLjyt5a^qCcArL8LeLjhlP7gyu3QTOgF!dAkmfkiJ+9OJ!l0ddtGfwXbQsbc9
z55%gC!=CCi*}IT92KEsB=sQ4CP{gqsB5o{F@GlA^(J#rhCwr~&Rz$eK7K-etgnrnP
zC;^2h;i7Iiohz7^X~Ns;^8te7(gW@ZkO$$W08t_`3IM45Dhc!gxIvg_H^r9``3a54
zHac&MmH~cj;5dwzN!5~r2y+GBMv>*<NIil&OE@~4QN#u)uwKoKErK|lW9GfVOb&eZ
zrS%Njy1udnzAZ}L%rWahF%uR~_8vZq{`c0VQ^U5i<XL66Zx&5S4H4$nd_KjzHbA6}
zA^ccLRM0t}Z#@jNg;v~Jz$lWW#?MKR<&V!5(FtZpY`4*Nln<1ADf$-kYp?G29>s4g
zh2*8S()1#sB^9G%1CvWbW2J^wM&Vg>PP_GwsQraSyxR}UfFG3G*+TOR%Rx)YN4GB?
z6wN)%qqkk!y0!d{C`Ta!vm#JPmoazHxg4v$d>xdll%Ka|y%aaPOkAb4ZM{63jgwB6
zmi8=yu&qR|Ee}vHp+*-j?yfNJY5{`z;I0)8B_}xBPwuyV3{QUYzxXN8^;2l+r||Vp
zQMOfarB%r%tJ1-%vN@~rU8@R9tD*9+e%z|6-h($BAhqDN1X@z+1WK*lGG-V3#MjNO
z^DVnEQwhdvx=U*n7i;tL>-TkN51eVNcC}b**DSi$@fjNoW|cb^wJIzd<E+)xF103a
zHPeu54qavLzt<rP8z#Tk6>OVfm+L{suw&G^KfbCg=xrm9&Sq@a2Ixa$+j{*~Mr9x^
z>>RUZp0ibau{GtKXy)?keQ<T+Qq2-`ZJ^JV{ik2qY}+4}whEv8O4;4QUHoFu`JGU%
z8TDzq=whQ0w(Yi5pTySS^}5+A_V=?c&ET5t4!yFj>&npJohrQ@pRxMd>uOZPPUg~1
z{>4t8@Yc-r@A|iTvwGXgzctf8?JO#ly?nBH8P(#syZfNFVkB6zy=(W3O>@9tV<G47
zb(hAT0p+XfzeJxkP66Qb$sU=q#&Hc?yK4{bu0hJaPuqPz5ka^&31jNsXI|cC#qYDR
zA8;riaM>JihaB+c9`JV`2reH8;SYq_4@L3HhvGJek|BrExregdhw{sZ3ity$_9Ip0
zBXyf2jgTX)+#~JoBi-dAJ^YbE&Wb!|-Xjs*LOe|-#j-*7u?c>~QLs?m@ObEa$@KHF
z{qivpTd}Qk?pbGnv&ct_kb;(fAD8`4eBWjN%q}vtC^C^hKKYmD`}x?|rs$O7qiz{4
zZzS*BDaXzegYG`2cFw<1MJQ;W8O)yqwVga<&U;6B9HxA3qkTRTbe^_c5ZQg2{r4!B
zJy%;W11FbB_aZYwxoD6y?@8{3y2w&(?&<P=VLN+4{9l|CetC)Mw1sj%?(+#|xv+X}
ziBazi9B`HM_oTV{Sny`3yYNTNXVq4`^~u+Fm$$F~{jBC*QNG>?;a&>4-tNBMS-#%I
zU+=Nw50vpoHaB=l{8=vkq8op;d{Z$+;1Ho;3O4mLgB8^`6t|SZ84Z7`$I#t<(w}Cy
zs`2)gVlWZYqcyGfJP&i!(;uyCr`)yf3THCf7!NyeT}p=F?EAAxJ+B*>>WbAca$(;U
zF5rAB7{<thD<=<uhh>i|pA2L?{%ula-5CsKF|ji&co3a&SL>v7sF7^CX*xP(#Tfli
zq}Pq{ahX+Z(7$UitJxm1H-dt_X#S++M~lvDjfe_g%u=%)pUw-{bl3S&6()!49e=^~
z=9lN6UMg4|8FWTjcfYx1dEz?Xh<9Tza%rnyD~frQS_!>q-YZUg%`Ot;FXQ+#o<~^Z
z-}#Bp_H?DqP>%H_F2BtPulLDk^K3djGYJo4>)bg0vB03o)~OIUzO=ec9~^S%d;RYp
z9wLeW;k`w=229A`)*nPYt5n*QH+s?imrXK3xSiujPaZPytfn0XAre!k(&VmHr!gcD
zR;HV_{4I7q>%FJ=i*c<6@zugoOb&V*dRKPo<er!oXC!x>*6qfrTGb(OV^KB6sRAlx
z))m$2!Sm#X@dpAQ>OZToc^A}<?!D!%*OmCJE-{gc^`@35^7fH<z%SD9Wt7%#aa;pu
z#cCu#e_HYAp$dej!9WdSmxNbc&G@}HLWH*x9!Cs>OMbqf4ljFz(7)GUq^}H?`Zf<t
zNb2nCu20_WNW1BB>^k{2Y}jmd96i;JeLk&Z_-eh;)F$NR#Mljtzsc;`yZh2}st!bO
zO}pF(X$z;~Kc7wT6(6N7-I~{%EZw`oGFF~LJk3_#pYO|9znrmawtlr7A@jt4^JDXq
z*MA3OY=TbLn{7hyU|A#@!rOujqtuYKjbN~Ev5jPZBl|R(uc+l|tjM6*WQg>}89N}Y
z5w#j6&sOp*@h+D?R}!VX+_O}hH**F__g|!AGFZy|?cW)8&E<VCCzi9%i{#B1&V2d(
zd^HzrA?Hw-uH<k3F>IF!zgc8iB)4ArO1RCXy1VJ&?@C3DHrM*ro59|OkMs+h^&`RU
zZZ(@lH<t4Eyywm>$4?eETK0+MoVs(_uH4IJG!|YAFgRohHX0FIx!2Y&Ex4A930rOV
z=%gsP_p(3~eZCmhu^wRc|0-;aQ54S~j7!=4bNc?6z0-HWeJ1Ll@|kAPc9&eWf;&z`
z^XmBH<+asmzo$c&|0YF#;NKrXrZ@eauWmL-K`p-JGIUAfYO^etuls7yjzQsIPs}0v
z)hy@1;>GDiad&Y0LXkCBs~U0e`L$bB)b^lE>;Bwl6htT&2X8?T-=I1Vy^%ybvOSe+
z??M^+k;GChDlp$kd>A{CEy;aZRqB+<a6WZgvd1l|^i7iyBH^}BJ6Sd6?~`w2`fXt^
zTh!Q2CL@&#^CC*Z@0#XmtF(-g2gNy3IW&?*>4*O`4R2B3RB(9A9;y`^wZ+FRekaC;
zs6f~FkXyh`K%h0xsIbB({V>Zjw((#hv{zPBzKL5gApcwZ87=>Pm0`^%3b9sa#+s`1
z2i*S7NgoBDv&q#xFmmikrnzl=U(Mv}d)EEQTxL6r@d}k(X4cm?J}=8?t-mH07e?{1
zmuiWWK2q&Ff5fmF#curlYf8!7Dm!NZjgVf+L$~n9xmqJaRw}<zhSYhJr00h2Wq2B4
z7L6s%{d0|YYSVl1+V;}=avCPQWElbdNy3Sa6YNrknVStfPb{8&y8ZpRND<k((;(9w
z-~6eZ(|!k~<5vCPlc`)hks|^uZxBlV4FkFFs7lvn@J9Mu9%Y21I*+_zjLElrh5<(n
zsW!v6zTXPi<MXG4WEIcoJc6!uhP8C$vH#HDKIYTdOk0#Cq~{!QN?DT-O`SZ-S=tTw
za61QREs~nuck_F8xvY2ms$=@Rs#qUveKk4Md^8{#JeVZ7!OzuPQc7E9b8KN^DD(K_
zfu0lJbk6S@`A1bvu#d=yJ73Dkx*Ae;i!JC}ER{`Vw_2sDLjGB-Z3%WCGf`G58ZDf{
zf16^ZO{!+<OYsL6&5~fQ&lR!Lf;M!qiq-Pp>uKxD?Dm=GYhxOMV(lzWuZEiXgTFU2
z)R$d}votrRG&KmmW;L>Dw@iJgSNibb-AVc1ip2z{+_LL#ULV@6Hl$}-KS#Xq`FPKI
z+hnF~X5fWyW4raP?@aqL*xhg7-jjornU2l-?g7*7Pfk)iVstvVSWC5Z3Ks>t{tQ$%
z6h$Rm(i=WD&f*ik%(NlkbBSx?qGZt|Exscq@c|_45uW&R!bSWLv8bNFTzRHJ`YO#d
z>Z(ZcFewAxon$t8<PpP{rJ>n08$T#e#BcQRDKp{Nhw||K*r$O%!85Z%?1MFLhx&BJ
z&pb7Hv-aP8z(WN+g6lFrLB-fxxsfoDxzXojUT<yB^H}u5hfImRi@%*Oo$I|%wbk&>
znC`HbZl0TPf8(9CuHYa)GxzD$pm)x3hlA4T+~*Kt9}HO0QI%nSGSWWFDdO^bat3Yd
z?Jsxpd9vTn3I~*COO-z0QgqTwT`Qg%W8Qp!VOijO5|r6wQFO0!`|X-k^|!GnuCHax
z7l`$zC2t9rzsycF-TYqlNU_|BLi5q-h~!MWhA;3;(aaK`QHx2DGH|)G_}sL8y5eJ{
zD>?b1ou+&J2gS0+fq1H~*BJo~gBFIr$)wCS^(!-3UUhu<F>SwKT$*=n*&eHic-pSN
zgnv?MX_wi7M}KZ>yiF*Br3;?Q`j=A3U-_#bzTG2+l7EG6s3pWF!}G1n=Ikwq|L}b!
zulK1plh>O5qmR41QkoanMI!yj?UcMTW~|;kP7w)NUbEAqnBAZh@|%oM^2ulTv8AaQ
z@byENPmxULR&s*~>Q$Gm>~)sB-cZ2z#;%uDuYUZtfxPZvBGu>UNqhX;zee)6)64$w
zAAj5<UoWmJy=vnNG92rF#2fVFAw|8S^h-z}4y^3g%doWdY{>IDfApYO1kGkJK6Zsi
z*?-h@>A<%7X}08j8&NlsKd5kpNfG6Muc=E%#UU065;mm+E{SGI7O%I+!vf}KmQI>;
zU;jRp{b|;O|9Z@90pGIIXIy0HKDqQ8U>?T=0tUUm{{bl4J=?3^SK_HM!Ms5djTf_&
z%A(&O%D;}ONYJ{rWM=&RhYvxhUy;f;1>BmH>4JYk#O#?%xt*8Ccwf8l9z6b3*={Rs
zpAh|Oi!nqC;x)@iWQ--MfS8HCIq^nV)kMUjAyybL;bK}aBeBV3#K~){$>f`m*~pg$
z*m!@enPYblBP5U?V$$;F-$GlPti%uRPA;$H&M~g5BnqY@mFhl7C?fzc_MR*-5`4qn
zCISO3#DQ31fS)MXkq~f1-_$ArKZpQpl+bLXlNOp0PO@15K@X#8T0rj-0pJV-iR#4*
zTtR})B8VBI$g(0s4Z_%c<Y~N%#LK&PS9^e-KE!yN2Y@1A1l0Ob?xN}Ygn*!^GEjmI
z<R=6W5TJ%25Em(l08Gy!{Qy8}I8qYT|Es)D4hsn~Qw>P~3td4%{2~JZ6sK&j5D|(4
z3(+?w^lyQPn4w>lsIhq5yfqP6OI1ZdUNK9&I4w?@mHL^_;K#9WG(So=jY-3}OUfgR
z><AKoMbiKPI9Zh`O=&9$B+!BWbqKN50v-WxkN^sN7U=+>WG3JITD=+IK)Wv@&;|pL
zs2)FEluH_fL908&uQw!cu=v^FiwDDRB-=#!Z`#rbv%f&l{Db)T)*=1=VG9LSgc<rZ
zYv`|qNCN<16MevjQr}`BxsQ!}4TRAGD7Ko2*U-?Qvv9IWtTzI%EK%FMjPxeaisWvK
zc&?QvIf^D%Jt-JQ@FSA;BcH>gNTPZ?8iu4>KndzY&yc+#qN;COA%Gv?wHI0I`i7T;
z;KLQfc2YBBQXB2s72iWlju<ZZCY`@X-_}1iM;hsY$k<;+c^W{x4IqU5H^(B#!V1vF
zM!KG<C#<E3K||w5BF)brj*LA)2@#Mj$Rkm#bqD(9v0EPX3!On;0|3)mWX>WZCTpz2
zmA(BN{Y>%%`k8tt2|=GE)?XAYG_1wW&m{1Fv3B24O>N!6@OKIcJ)ubvB_O>BNbjL2
zy$A?MN02U3q$-fmJE3<0>AiPEx-{uhRX~a~6{QQxmvf$bpL_1T;~nFD$N2sxW01Y}
z+-t3wz2<L{4qwIgz+I7q6r32Eg>d}Zk4+Dbp^iYhhQ_eUWAQx^P*^&B&EO9si!U@6
z3a@>GP8344{BdDaN}2u#VUH%!f!lDq(y-$YxGh~zhLyHm`osaL<oB^_mm3rLeItL8
zrGH;)0c<*ZJK;*GcVISYP|h_1&&k#w;czn@SnM^Trb&__Y2qp!(#=WoDk-wiYY3Vt
ziUDclgKLy`r>F-csbucccuvtiP`M^@4HPnkZ^pitaNnkF>c-}j_vn<x&J>D9_uj>n
zcK#Ie-Dw6sT}z2+R?lf_GhIvH=`bbP&1i^%z(kyHFYjH+=SE%pH$tMvBxjC>m!fr1
zIn#DFN>{u9@YMNT-~z13RMHs*+@d4oI%}_~L@!Itm^(}hzkdA((tYKm%c`NN-Vdj$
zgqu!=d0E0KoqOC-p>(t1Ryy)=*l;UU=*2$#$t2vKQ~q!k?lCzoGcbD*5>Bx{tCmAR
zW+P9#F(wuQquZbh<b)gLg;H&x5!9+4lW1~Yg2U`?1nH#g#}qk&*(G%~EL|@PBf5Bh
z%y?Fz*f)$26)s5~K??xt0EXcVK)Qwp4#6mN6v0E_7nY;gNw|y=D1kZ*&iNn-1gC9P
ze2xlYISaQo0)p}svjpFf(GhB}Dgw20f>6vI={`XXIjKuH-;pMO1Pc;KTW_XZ*@(z0
z2rDV+_uKJx`}-(}l)~>fhVE3%IceexJckq(!hN<eM-_1QZupCIn97H6YkPoaf$lTo
zVomY@hcH+<8?5&MKM`Q`@%^rl>RAJe&p9D(m3`)ya3kp8z$~D4pp<I^AG5h@co{BO
z7-HsZ=x;QT0mVQ|(Sy7*Jp~J9bw=ya_ps@Mj;wD)Lyg??Mq;@Zu^MmubqI)cx@-Cu
z1Giy{Mi49~wAltjcLaYstE$xxljyvc8e@z`MkHv?2fhgFuj*4k;agV)n*w3B;$R*+
zMb6e)pJ#xdvs~!=<yd+}k=C~!yqZj{eY++mI`VVPMKTe|DpAxCSEigW_l5AV*t>DV
z%Pkuw+4z%e$KlwBV5Kvq=EgaK$~mutp`E_49P05CyiT3`@tKT#&c<-dCEWE4zzPg&
z_lG};028?aJ9?^EOVyh9i#rh0)oj`42bz5yA9bcaepVl;-k?+5q`Mq2aeDAB|G}r{
zlVG0J@H@D>FBVK+h==Wbq?_pvzE=8?L-_q$YC=(^d27NUq%D4?Fvc;ffNm=H9jny}
zuWdz#Q_Jcv#18C0fThiqKgY=*ey_|dk9LL3#hp+1@EUCp0OW-87f&Gcd3PcB8r7p^
z(4P=+?J9=`L63g;8v+cCJ^Z1-awbhg>MZzVREvuhOZ*}H$_f?!T&Kt68R$i=2Ibfo
zZJYvtUJ5Ykb@EwVon7hkle+OI`R0i{_>;;*=~Y@US%Nr&?8h3UNbF4kP)gM*Z)`Y1
zz~*a=3f2ek*9q+(=odwgTh{_X-C95S-tnOTY%O4Npae`BFi$RFTNP^t;C_}t*j3ZF
z*=BNHQs{5gH?P^W$4q88Ok5~2{Ajv)a13)n;tQnUc9!8Z8rpRqy6q#-Ir0;Z_FE%|
zn_5J+lvQx8N${-3mUYCV%Y9o#(ALv{NnbSBKRMSKf9~z>muI)By<oF-``XXhlRXE&
z1YT1LxJexd+YU;V$KIq4Hn6u-vX6bZ9sZ{$OpEF&C~P~bSSIowRaEnKEW1pMELH5*
zHf~%e{x%iv+D_6-okUs6q<cH5e{@pVsnSv%MuT@!UOFsS=nA#!-VRmwF_7fvGnLq0
zZ7J)IU!0Dp-eIxY$-3DoQnV}<JM-kWq~w!+lj@Hx3B5G-J*D?{3q=`<*`?)g%nESM
zqN@AU_4V(0>Z^o4P;1h^H8!icnf`#_0TrXA?&fM3A0)fbNk6@dWDHG79nOveyZD3$
z=!A<2ho8*A`-)|2*b|FjPSqv`ERFls!m~A`K@Pvu*Wb-O`F9&}O+zgH@E%)_ckFzE
zja(HJprOOwW{s#}BYeU65Y`NOf$6&PxGg($lXCdwepTOsA|po0RLTB$L7Q~(KI@~T
zyAS)!7E^zR<9}q$XbR1Iy_kLD?#uUDTEg$Vnik`Kgk$xC_4EmNJHt6^!4Td>6DURk
zNoa_3oQ1eBQ+!*SYj5FGa@26a9^7NDU1oE6)5)enxo^Tp{-KA@lvBxc;PD4d;UONp
z^CT12|KzTxbEq*8=G{op&9=C6!x-4cbo=jL$R=FQeXm^q7+E>ELiTCx{pJ@f%Lhi5
z>dxj^pHJI4HoLLF-h;0k*&)WIZw>a{=4DlH0znAn*)Ls|Sf80?#UH4LKYB=3i=0Qm
zF2SpXZnw-=VV|t4vsZ5h{v`cmd8H!Vee;cJwey<#GxvZzQ-Bj3DKf*wPeD`TUUFf@
z%Rk6`dy(p<F{`<`I_X>XfJYwJ-g8wy0#^Ht?>?K~94gHTMLDk`Y0Y0X5deAfzhq^k
z-W*E5kyc>;r2fZ)-@?X?08kFIQEgt0E!$8ZcT#RyUE>{JcOGW1nfv*E$p3)go}8OD
z6NS!IkCkY~BiZXVFK-;_YsW=C41;-5^mtg!zj3|!g~Z>>KJ8@jnO$zcq!Vp|GyGKg
z=mZpb;wpCfn&I?{^VGxc)I{BT&;Hbhw%r?n^Gx&hDDejBPM^b1Ul@7^z|X!NdH*3i
z3xeljzaxSTeV!@%>>Hhhr?p;%<&s5|_(ZOdN6|`eTo0-4hf&(2UpBvto6y}TfIjzu
zKsL~du8<JwaIsamBHixq2A}vopKhw-C#^x+abtNri*Y;QXu2Se+BtuK0PF*T9H<8R
zz=&JnOq@g2FMWM#&fBRx`_0YyTd_~mC$x*+$7XaB$Lw9~pSQt6@^a0655hf$Fn0!E
z#7KAvqQBJptgJ-pe$CuQ2!_ZWOUbFpzJOt}2X>Ma@I3^tAr0~MB1{5?>Zj-Rw0?)s
z@TL;;;_&Cv$rpQh7ww2g>rDob)c&$}Vdd|Xz8=H(QWqZ>{4!Xf^F<r_mOg0W*E2i{
zw~xCRt%)1UmFoC@c{Ry;m+I`p<c*K6`*bikWcTJp0|*YWKMHI7z5Mof>&$NuLhCRV
z%P6j@6S7L65k~GB^yMo?O8QT|>hodmp{+OVU&1@K#gq-xtoRV)0%@x%gHPV`XANmD
z+X-Lops$V)A#b3Bo?ElOpI^gf%c6Nc{a&9B3#kgc2uoNuv?c5cdt%eM9zKN041!-J
z@H+g=?ebh8<<w34!8(?H$8NgP;gEei5b*lBzjMejnWqp=$>(^)IbEohcIV0N5!WpK
zu(WQK<1zPKrE!b<*IiGC@!Cgk6ZxD@c$XR-=gZ&I+J6B6vIBb7)2GXEAkyl{WiTih
zO47_r&Xw^M0=uG+(V%`MmB`)<B7l(!=tS^sjfuT+|F(ZFv_1JsIqCM3U&6by1tJYD
zUw?`0FVs);M%x<N%GoX19)9!J6**Y#4X5IFxfK7oF_Q7i<=dsi5xzn~Pp;!q@??Lh
z#pC<8-xssHpWi0&KmBv*d$2p-@bvp1naeZ9shOImSF(RD1vd}Bf4`E$fQYw~0|*#=
zP(ehGL{Y(Hl4qz83gQw}D2=ht8kW+rl{x%|-x;$GU6eRWB%3IlC5o%Ol_h%F_a_VY
z%dw!5n1+7JQQr3L)&fD9U-qP8Xm=sjge_NV^2A-vHr6Cf$#d4^`)U$wDG!W&*-{@m
zwy~v|`JJ<+Us**-*e3I3`m$#_l(*5uyqx5`6)V0=8GXBfu3$Y!)&Rnqt3>Wln6PWF
z$etg{;K%tYlDnO=AU2?ly)Z#dvaFE5*T_2C{hQI3cv+Z4AujOdaBM+QrXP2CS$R8m
z#jegT?#jB6UzS-<r&X+T+P2C@<DUoYmXxZH&vMrdFg)k2AEuP#X?Q1j!RwvcPE-;r
z@#<AUj@QqnosxW*`flDxl+^9E%}f*S#+~wx+Z_e()%dtGKbJkJ@&EJdYuov52mhPj
zvWvI7K_t?(defhbt*a#*o$N|Zz$EsGf7GM}2WYa?1P1AyG+e71S|eTKvbM_XazDi}
z*tcG*$aa*xDh~PKP6u$-kC$x%I!aPJryYV5G8eoRJ+q(bMw_yyN2_q3z-r~=npwsZ
zOj0sGLMS{ooVleV0fEYyFMlpY7OWc1ZWj};M?NX(%4BrzH|u!)n8(7BS?r@xV=wD0
zV@RK;<di@axlo~>o~A_FWc|kKrVV9uVpKz-yJUf>?nvUMePZNoH9u>O&CKLG&XVIX
zGw;|k-c*$@lvQ-K2g9tnOBOpsKYZ;gAoi2|W)L@{2Lg`9n<PJ7_VkEr^ac|G?TtyK
zfJd?(4B(zbfq)RjH%Zi6`#<H$q?#JvX~{)cDoO$PDhIL~rEZ9$-R=frkaW>2@-vy9
z1ov-OvGrYYSHD~4f4p^l(C8dnsq6?z$xTgtL!hNf58z^K@NH_@<;eiO=U_lGKhDJm
z1gs_niGEuPB^X060z*NBAY7Duh5*UeQuxo+d}07ceDlLL3<v@co`u$oq8;**8ia6{
z2t^XSRdi;XM@FZc$3Qxpd-aNQfQyC0UL@#7ytqh5Q%>a*?aNn*j6GCD;=QUgA@uZg
z%5QGy)G&PY`9uuEx6P5Bfb}JY65N@J(g0S0-2(z(&{8tXH_tD2Syd7b=Z!b@(Gt4e
zm7e9m*#X@&hLH9A($Zl~_e5bEDWhs}PtnAw+t}tlCU*L>(AF0qpUh<<u_Y_=tIQje
zfUEchnL8{VjadzES28CL%7D-;#c;UVhl`iHf&rk1Mo#)B0sajOWl#;<Zg&`gMw*(U
zXMNVEOLhZO?}~hyclKlrY17UvngZYOZi3MI!KdLui~SH#YKZmv2wEA~NDQwpElli;
zP=vK6g!{C~3(ow|=E#KLaLJ44#00>w&^jj+%yCbs{C**TOeXH2s%d_V4$sgvy7v3k
zon#Q3&m|T-kO$LHeXrmKSQ5zYTdNmONoNsQ8Lg@ZF>2?>Sqa=uAjQC0VeiTK7BK#3
zynr?<KSP7MZ>!b|1B-j>-g(kkVSZdrvu-2WD2TU*dTF^^qK1i2t~OwL52i(xP@#{y
zFdR!hpU6^^<IMMM@JBkZq|aNZ#8+_~oGNz(eHRP~L%Jj1$Jn#+m(3~rH`S+p-QcJ(
z(z0fJQus#AE{~nZm}4_0b%I1e(!EE8vk1b_c9tcExldBu)OWpgaw`$1A7@H!-5Ax*
z>l(Z#=Qd6l&3t_`e%!e5mhV){_=9l%TqnUb-IjK%J<cI7rEb3z_cqR?ZytO1;as(l
zPU?o+eluBhwJgpJImi0bYQMw|<GgO{aq|1K6@U8u)7vaV#6?9>P3^YASjxGKKv2s2
z6#^kT`&7w=Dg{+^La$*Pv4&HSQ01DwNNe9sb1E-_RxUnrI_%Y_obO?Jm5-GDTL*3%
zB(TDmBk5<1C|}n82xfj^N_<-C_0CKX7c5;&OVu{SkXRSv<h;)Ic1W`{BI&j$&vXM=
z4W-a^C-t?>2A_undMu(Y(c#59`&+`~eBlaj!R$?uhI0$E0HN#^$QEn#L(0<Hh9u@n
zGhr&#8=Njed62K=;#BREALZTCpE5Rb#6Re!xt%CFXJsj`_iH4qOSm|xFNSr-cQ9&D
zs37-6fz#`>5fxpJBE6i?`0Bd%-RJHldmlEWgZH%_f2|w7tlTvtS$yC1=h%L$azi_b
zKKU*WO7$JZj_RSL1>f@w`jZ1YPl2aP){d|-^AngY5Ah8EcLfbFgzdW}E%QX&6pedg
zx<#1lJEA7#*}!HXPg;x)O?&{i=u0TI69$N++Z4*})rd+`I#yvNBgK9D4(w8GtqtPe
zs#Mjuo!&lw;FfiLaMP=WZSx6=ol)TlQMkm@BhhE;bc0;t@c8?<Ag4{t09zx2w6#+8
z4Sa(vq0%Y^o-fWG5qn>^477-gGZ;6uG~NoJm^}(DK2vLL<Zp1kRkR}=y<Xrd`B~{3
zk^ha(J#!1<${theyI*{=@27q&xN6*wVyeiI+WGiBomKj?>ap#_`Y;oHUhFTBWkv!z
z7pf*u>YxGmlMR_mhV)SR0G}iN*kB|%Rf&wb9T;w;2TNW}x`nW&E7HNYhcC~_F`k$S
zkaQat&|Y%-D{=ys@znf$A8xiiWyv9lKCbJkzW9i^yT5%?C`LhM4xDMc=q#5CVKxGY
zbX|S6j6M<Rl}7yh_2`(%NM16^SKYN0O}6-DP%<w!>e*Qk@UXOVY(aj8Wt)+RHY8YL
z8U#R}v5>J&4vLR3y)V)giA-qD&}`}xw!yHZ<5(IYQXz^gQ@9J9ng~q-<$K62{ls_D
z(~{fCA}J)_pP=C2?zY$)FE!OOhDjpV7;3kde%y$r`wFG+p&|iye|<ldsBa<S98AQi
zaEa}OkP>U=<Vp%FGWL`14=aGBKgxWF0UWzQvRA<%pqn-XOFssBm#oO(6VLlQi7jD8
zX#fJ0V&4+z@-%`ukXUM;Eb<p|lETv<!s$exWqk45uMK>AlpaPdBFR=@D?=UrEq^}L
z>=oa`gLf*OxXgkKRH3Rd@y$_giF~YYpO%fnZE3S-n;$<7$B1@AZYfdS$-!NI4WXZv
zKNOxNCs$Gw#E5NU*JU6?DYOTZROg(-a)R%Kixfn-R7G_V0F;X3q!;l517Za|8#Wht
z9Q>dxSSA~3&J`)X+C8_;%p_~w<8PVMLs+^--2a2#gWiJWn!405)hF>4wzc=~^)1+%
zLoV+o>EDpQmK;nAQ2c&oB|g+k-pq`Te=Ok!^Wm6w(ro;%LddxcCE~pI+O=DN>8IED
z{u*4vXouhynmqZgTf{%~#sLh`Mm|j8*1bQOOn+|15v?>aUJvD>C3dl{E2K`|h!xXf
zkqFXe?q>q*A0c`ZBo;I-aVrq%8wlngr~rmfpPG#eEMx=`5l?tGh87VBA{d*HYfBOr
z#v@m^$j8kITfvAP1(9ccb7c@l@&{XV?-i>M0HL`ADxN1oM~<&RO2YbHHCu)1dhcr$
zk*N1C+0v#fZ>Xk@ekdwb;>H(Nyq9q7W48rKZ_h$4F%*s6j4{E|pC|Zsafv#*rn7pI
z0=-JF@6!XRyePD`jTT?A6~)@sXK*WCN(W%wtCC|l!HnSR&3&Rstl;Y@^H)V;Q6wgF
zTScK}l?fl)33NK99)o+9%@RlDwT25rO%6)uk}ZQ_8lRGfbjQUxP!Ax&vq8zV!D5YI
zt>!r=zG1P|UT4AK_l?&)?-8|ZzI^i1E_)!e(sM)nVYFZ#xIU6~fZ&T{3WQw%OQ!QF
zg>zP#ozCwMN7~xfchE}G-32!a3o{lL|EM|91AMy^(^QRMa(g<Afqg<78!Bp*u-%S`
z{krSzZJV7hsdQhk4@)EQzuItpNUtkFg=xg~+f~2gh#0q@&n}I<la2{OnN}~;ynDQK
zBhqZT6!&sG_8M2<`O7%REBog`g-@>yhm&(9i^e8sarwROK^g6!Y#dTq%F=&ub}-xL
zrr0INalO$g%Ye}e8I{r5b7i@6_0g1evZm$6ux8Aa1>|tO3`h~O+)1e~^Xu9nbeSvQ
z%1U1<%b&J=$zFc%>kg{2ESLCtEWQMdo>Rqlq$GVd-`25<le;7+Nl3gr*QG3KkS%<~
zA$Pd6xY)7c8Fz(OqR<gnsY{tKWoZ^Nwz@TIiKe{#8+UnQd5t4wZWwo(T6vQH*kb5L
z(I2{++dR9M<qanjC8FiEf4Hzw3^}WjMK8G<nnxPs^BZMUo7jk(2V$<5CZx>9kLPpu
z$nbPjk5|B)vbNYu39crw<mIB<yUpw)ognn<qTbh=%UvQEg0|wjTEmB9=%=84+9sa9
z;<!vLr*w+Fr1!gZBV0I3$F6H51Mg!8{cpivFb}bf52a*p=Vg!7Wsmk`k3G?P_c1#$
zByRk?f{+U%L8>KA+Q%xa#V$>b5P?vz$_u&%i|O>uV&m?V?&XM9PM?q#gq2tR$xr*_
z*i258W4oW;n)BU;?_lHcN1C3GU!iP2b5=kvSIZ!4^fy0qebN&6>%8*D{b^#sn*eS_
z%Mu{!?z?>y!ZJy%o%~8P0zyRy5?j!K>O&%T$EMl84GK6`I+pdmbHb*Uzy4hD-d6Re
z=HO3F+*?_u!@MgUxTeK|xy1=ts)5(aX{d#4V(xkV%2AcYSbcDdmF?wFK9P;QWH*v5
zvX26zb89C@q7g?!S@xOyd$*EP>L7RF?GG;GkBW?U2e_R!gNBL0XcEyClEFOLcPRNq
z6nSwl`Oj4%E+Qmx{(EFT1<RT+r<Ihn;&<wo#3K3>zw~Z~S~1-RYhoGMScbKPF(hl`
zKmPD{cUH{&;mRY{IUKY<Vi;j*PD~PK0no2lzdc?sW?}DT<@njp5%!8d<`r6hg-i10
z;l4Z%T_3u!?@>EKU=vNYfuU&a{k=shK_1c~WB(1PC94_jQ*e$|-4A0)dyRAi)2fNd
zs=f`ira!uxfo83%|ICxDFOUj~XXv*M?0PA)#r)w;q-J82!d(OO6C`kOTSCF``hGtT
z@prOZ!3Me-@&c3Dn^}jp)=1hYRZ2H$e1ppBn?U1+1*}+OdgFtOtJf~8wgL5_z?adN
z2U6f$&vJr9f$ncVi#`oA{l0H=)kVf&QC~^uy8g&MV{<X~U}#p$lu?R!-XIQoT1075
zYe`vb#Zvr8t4>mQi~R1V@tyaunQImxj0Lt^ywmm5fcv58XStn%Wy^ZOH)`Z^+=<iW
z8KH$Z;0LGBh^v~a+sF-fwMch{`jq}$C+4r<8$#lWQ4Dh2O@nMX-5m9@{G0cL-Yjqg
zM3qK`UNuM;M6%cXh*9Nz+O?hhu1u`quuGVe%w$O#AspRZv7UNZs8-Fa&>$y8CJmvN
zR~C*^+GF>qC!E`DDi&fC6IOPLR0@0+PFO3$!(X*V+<ZbO=iR7gL8Q{s7{=<+sZd3D
zkDinN=ykQQmUg82_r~BC<#d<AI`AePgvfo`ru$4Hx*Scq{33c{O?q-7`pQlE+9D4O
zn;uw*7}$C09|{|i5DM9g7=<?(#fv;lYkHU~VqDT>%;Ra;(iHgO*!XRe>4b>ce3RLV
zh`D-`$@iug8%-8hB9`!GOT>xgVUtw{+=>Gan~GYCHCt01TPZjDNsB%<Y<_GZYHQbI
z^YqHg+ostrP}DxW`LTzngI&0NuBhXvC#?nu3G`52Hd4`HDW72<#$%n5uujofdH_T`
zcA_1RrD!~Hx_(S!3VISPPpglGDgnCRMTw!_F1N&-CYqn{gIo||#%ax7Jj#yVE#65Y
z4EvbxF@U>}JV>D1EvbqA1sY$N0vf{5IrrGmVUU;4Xmnuy*F_ivdI0HeZEtz%?Yn+d
z$JcaVkEziheKc)|cc3?x9^FmYD)yq}*vqih?S)vFUF!o2d2`ZkP-nBRP<NmO2>)3x
zZ+W+9P~?ngr1hzG%NYi892^hOBD<Yd#2)Ko=wjr<uXnp9wMH_X(j1&Z3a@;y1>QI+
z9}pctBo3k=MMDTd;bLcg9stcktFcLIDoJ>lcUzj6NW67*5R*jIVGH&an)Vrp77c(V
zF*dvyio$Mua!qh~f}m>!Rd(xSVWF;=khfyV>fK;o5G`ppRR5m;=qcpEAaSjHxcVRn
zI0JaQi8KcD5Xb%(t#qzfC^bNccU>mVa`nzq(<B{VNR*dI-WO_xX9ND>KAG@SO1d5*
zQcO@yTlgUWRSAQ4VxSw|7$yLT0zvKDb(l`wR!+f}m=Ylns2hL^cRN{wkepbm4-%Pj
zJ#Zg!VgOsH-Cj)#z!{%oXT%sjoIekid{Xn=G^@QM?JBJNZAZC~IKc;RXgYp8&hbBy
zQ=sIlI53%tZOCV!KztiMDhv{h%~r-x0od%M)BE1?*jpH?7XW^=!Ii!N(elm(n5+x&
z9t7ZV>$IO=-iN~{X7tpCPQ2U02Xy9b_NHSjJgjs6MVhyKx*<TlkA}=jCYAtM5ZGXa
zZ{56Df>i4O35ecV3cBf|J1PbyJqM88#MF{QE542M?Tz7=L+b4j9x}!1gZLx;r0CA}
zx0hojGIk5n%huw-dp<Ol)e$SF;n7%MNay=tpTKAkeQg^l=OqvWL?HrnSH!^7^7;J0
zl=AsBE#{@k@9y=Bz$D)x9&r~4Xqf-Xmx9nUy-(V#LT20h?s9y9qjp<de9!VbnXGVt
zQl%SM^{=A^^}OkHX*j1;X$LimQbu%#TyN?}0N_rqD5p-(Ks3k)s4^V<n)ZD0xql{A
z8(qKuN4xgu=$^&EfNeWD1Dxz>_z9hKTTnEJ4%HfA(UbH1EC(V@L*4NyTrz9^l;(rj
zmbs*^;%`iiZ?du+lo}1`2heDHloDwM6$Hk*U4OSb__kR(sSgUK0fOA^cdm=Luc0hx
z@1=4io@k?*#Bo0nTATP-J&oULFj*qWRx?Y?ZELnI$xb_04hy4^Ot!yYpq#+|pgq|^
zuS81kUW#Oj<AVyrI@|Z{DOXO0H5M{nZSHq9(h_WoWErEqxJ{BDeN45vp2lrfYm~e7
zz9a3a#hXA7{F-#St5qN7JG((=x|{XecxImF>lyBweQAPrbDbF;b`!bs;ad+go;l2v
z+%GYBo$0AORb%xwRVK^p$#P40^W5t!@24wou!aLN**<RTZxc8SWrch^zD(pRr)hcm
zdhX5F+0A!-{POJkN>4cLRr+(^!!J`MhPl2ko}YeSdt)J&8{mI&`s2&|o7}*_t1A$x
zPB(~%cd{Eop`p`5K<|u4Hko5|dWpCyCwoZ*$8`G0B=#r!5HzgNMD^RCseY>a8utfi
zj&Io{QmEV9AEbAvoEp3?c4ZxkQ@+DY@s<fosyoCS8RI}n;m@l(%$DIitxB|lfevz%
zRZfra)M;qH<!acU9_8;LO%hVT#oQkgn$pmFClctV_?C4sMsHkVXADV#N;N7Y;Z1dY
zCz2=axTA7=k9T%bk>a?91RyT8WW#YIAs93$rIC%6NK=1CQ{wAUI}s@o4B*6ZjU=4a
z+evKo0Orw@-bHd_0Z-nL2Wy%oGgM34_v`z43;A0tc)Ae9qI*Yo8-Nf20;4f7$8B^F
z#7{t;fRJUIFqVnXUOtF$(r;(T49hqF!DH%4R1m)c+xzLbApv=qVDDL8&~3CkCXZhd
z`G^_H&IW-a|6Dom#Oe)c8m@)XyBM*vXFmRneRPXvotPs=;BzoVzd*rCeY0g=f#AmL
zM{r`@&|Z9{!b?`GaI3h7wiYx1Du(>oLcYF`ZY@A?ODjS+hLmuZB`UHX1BTNtoB_dP
z#uz_ngL#k*F3oP-c&}>S^vJw`LL9q}d*^<-#bU4oc1Sd|RQ#g)o7bnv;8S<zUdNB|
z3ssez-<CjJ1v+nn0~Im5F57Viawz&z)r&E5O1Tcuf@)2^j|xs?-;4N0;ES==wzmu-
zh$#|-#KnD!h^5|o9Rw$0$K?h4Zr+@Af9Ez~c1lW{qRMOV@Ktirr?q?5m8uq!bbz|c
z%E$9B`O0=v(-}h{g~~z&6Xq9RpA<^zed|G3T#~KO(O&$R(zfu2G5Z$$Je-fW_;Y?*
zkfn6CGhuP{yQ!el_Ya5;4H{=xyDGq=O#c^thYF|`PeM`S&))pRlTbEqwf+YQm90|u
zY9N|U$nnG9Boz5t59B{csB+Wc`XY7g@uRM6)rNnOP|kD>pT_@%ZY0}k=idDr-Eg>{
zp;e%UM>lrwK0Ws{{y5T9F<-b67w{Je^)UHi{!6pb=BnjT<CT#d^_B{;CeOp&k37^j
z&GB6!NesBW{vx5o1~u{MhIPn$V!4+Zz5;V^QiPmR_dI@VP2>%41xE@u?#!6U6qvvB
zbCB|>vF>}x*CG0Kx!Gg=Q&or9_m!?-2-EFO@gM7hNw+MjJ0%Xkj29^8-j?x2|6h#H
z|4}RX|M3qhAQ${SF!(>RT*;;5A6lbn-~DfvOZW2aG~+0q_<5rLpZ5UIautmJm$W4F
zpYX}8x4)N9Spmwxv(JqTaQr=}vFwXF{wKLKUFW)vzX$Wh?N6)zQ2hSPkv7(jzXvxp
zd{)g~pN-l4GWi=md9J4E1iLmrlrH4-Y0S<2(P*|}^v!pR9-E_uc$Q0MUf6!F)_T--
zm*IGSxz!`9vZ|xy`wE3Ggh?y=%<7fXwFzE4%jN9JTk+F!F{<uxZ$aXURFc|axn&U#
zpFHLDT<PlMZ3<$-!zUl=6Xq%-Z>>z-KRr7Pew|g35_lEBSAw7a*dI{bqbD+24I&lY
z{)^?}TnnK#uwM(Mvn|E5TwdF2;gof^K1bXNvVRr8TFm)5lDEF(Q54@``p0P25qoP7
z;Z&dXxbDqXmU#3@sx?k&_vBH6%BPc8BC4YJQ%ED?T$}dlKwb!Sb#22qjh+|%5~Z3c
z3L>H5=U{8QMCZ{%uvB?#k^mTj08(~y5(}BMHeB&pUMF1XbpDkYY`Fk#{Y$>v<GPZ(
z{r$-80#`m})jVHERnEe6ucj@+m}(D);ymt9Vjx&0Xr!$8rKDqN<?W{aiduuU#obED
zVfqs3pTe1Y)g99rPT8^J4m?%;*PQn2hS)3i>&Ha*_8TVe@qBHZHE{acv|wBDwfTeB
z-q)7ZFrII%8>vp;+O}nd$pv>rog$!L?_7_Bp7&SmcN{N0ca}Zdjpk)P_+{cOaeTxh
zP_?!p^t1~;VJz^PjLONizv>qV|6a->MzECFsne~PD)7=?@Y0X>Xa2z~<X|}c69hfP
zyZkU7eK;7yH72@DPegXmICD553nx38RG`&7n!3jkdo-;k_U>p#OPTC=R@YGT_`QK$
z?D3qj_q*eH^Ki10*?*Ek-$51t3Sh-Y{W$<C6%wnql=s*LIRC=v6tPz<nbBv6g_aP6
zkZ3j?8qEp<9o!vxtW}^Iy8h?ub4nmm?uDCitdzqvqk!@mc>jWO5K)&XEL46mw`(zk
zC&SE0%iT)vzp%Z-_qbfJNK2^JR=4UGb;Vp2qDtW%v1ox&&Eq~Vwyfs0hs{rDyM8mw
zI}C~F3N}BWO<;?Us48}}QEqj$0vKh2`oB=w-|NE>m3(NavF}fhW4agSEHs@d;wCG_
z;^5w}mfvPvW>BSHV>=T<Kq)LvzNWfRx857q;VSg~Q$irm5nuM%)Ai1TJ@SAL&)h$Z
zdbbR`yWM`cGg+kwLn8lc0-6Rr066iQ*WdWje;<v$aN_sBv+P|y%UP~aDts8CKo9)a
z^L;~4lJOr#RrW|0@jr|z#YnxPzn<oV%g-E!gRjKmxd-gnXY@+N9{v)BjIz&F>b3d(
z&eY|3Uv2XslO`)QXSwAmZS~y?nrgEa;xBQbe)BG$YM<4egz_9L&x#m`{JgPm@cB)e
zG<$QqadO>qJhSp=Dz#^B7I=E`tGZ-@t=&Y33^=;cRx^7pPAl=ZskmXqa!U^Py&GaI
z^1=85*w<O2Y+pZLkG~aI`a(i+aQwQlEv^6B(Jpa~^}Kn`^V1#x{15rC3#5e~5k~x&
z9R05d@%(p$kPAuvw+I>j?-Anr-y=li9}(i{{vQ$Ic<1j3nYMY`<YbtvUFRsW)5L2S
zYLIXH(Q%Gvsn$um*^>lSWz_7k_?pbu(8c_<=UN<_lwtl1&Z+Rxk;$B^QmQmdbEaCW
zAP{#`{_`PG<DHMm7bi5abPWxI&BRac{l#rLDYO2VzL8mx@?=?!HdnO66~ENBdz%zz
z3i7*!2ZERk(_ftTZjFP`-m*D<YnXqm-mgH)0LR}0@t3!!W9O1BAG|e7^e?v&{O{nP
z{wp}TJN_9Qcl6Kx3oye62RP;E>|X-oy|sQWn|SF&i_297YQ?F^WW}x@{rKPz1MYEF
zJzq+=KH+a`8M;o4$ysc$qqSWNi?=b#(w-U->A+Q)7>U+=&gSuEW()MLsn?nL#%|FF
z?f~r7Y3AM+KS#{aY#+Ob;ZG#qP3?63Fk8Dk<Q~VFvXQCrq1k=2L+4)sG}7w#tv3pF
zH}Oc3^s(tOSmyik{0NKYisC~OVL0z!57<j7$%h^MJEm3jb`y6mT8<+K5OGZEoDAX*
z;|eC^lBFN|E1qP2d}GHS81U=Y<DGSjAqmufJy0t6F?$8_|KE$MKt7&<W4R|>5|?u~
zn(RL}Hvh0LUGz_DirNCfSpN#2gq)H8urB}7#K^ixQK&==aK^HE$8g4W@-OQWzp>$-
zaJxE@A;R=Cb%|FEiZrR=t;+`cnNMSzgccb8n~wlr#UwMaCLjF9X4Jd9&fw~kA4;*5
zO3&*+zm9XZ<!?<)>hhWo6S2zNZaD;CP0<_9!!N48^{->{&vY7z4LyW*=JAUv%=a<M
zppf&<`vLL47S)DLvW;uvo;)treIUGbdA{!E^22xG*2yC&Kyd4Y*ZAv>)6$k7^jFOJ
ztkIr8^c%b;cJs><Ut6uZE+cYGtmoImy_E^UPI{yF4@1ZUq1WtJ(Yrb)a|{_{!gE;U
zz3m(7SIz^$=qhoeq!9d~x~y~eMrb@!KciPdIA<{@gTci<gbujscUubP##@)>TfpDQ
zVNby=^(miqoKj+n<?Slg44c~wFOB}f<d1PmR9~CTl8tQ3Hd9T#b~e*2!??E6ZBiY!
zGVF`XwlbZYceb)z2f4mvKbv#-lH;>g_T}Y^lbtWQ7#R0<UdT1a?feM#^6ghKqPyD#
zxO?0?g~<kvJ4NZX<vYdy(8N+5cgsqP%XiBwn|F6BY6p+F_bMCb9QUePx61dbJ5P4^
zYPw-O`?ddXi)wMjxAy(!y>A@{gFN3mkLH}d|63FL{sw@@a6biG6CtDt>>f_^5-GR2
z%8<#O3-nXa4!aI0`Xx>D(XE`l>%Xzm`eT53e#mWD#82_g2xo7@ol(XhQlTi030^Ca
zJIjpugZz8WsD6<PQ%hO!G4C_1Jd>HF)Pca)XEXSBEuORb+D|;+8(CC&;ye6(^_;g1
z<nvmviGSj?XrEi<wd7p$)oa=H%@ePGZvC@C_wXq0HT;9nfZyTk|L5cZ&HI+C=s|u3
zx+q3sB=EBAf1tRupcqK)-zYB7?;tYGf?r-$UY-3EWW_jE{UK@uHi)xBfkuCbBn)%g
zi)68hnsAg+7rQabM?jnxjdl?&GoYqVD*t<TX;$h|+AWg7ndo^21rXs?v&Q|U3AbeB
z`W50nwD6borI5S>{k>T9#<?f_POV6>e%rQDf6E7%-(CVNIDG1)NB?7so{7H>#NV9b
z4E{QxdH6js78onD4%hi8huyjf22P%=bw~XBI=1MD|J%Yigy*x@NNN$0aQy#gc`@Ty
zEKR~(4Wu9H=G6rXC&XY_hv^g|R5s};etzAg1nPj0Xh$WuSi&Cc8fbMUBGL8kUGC4j
zP21i2_jhnAn+7Pc!f(Bt_rcvGdH}0bHT~o2j~1RQxNjy&Wtjt5a!|HXJpx@3#V?3=
ze-S0)32b~9R6{@UdYu!{ulkj6L%qMvn0YL;Enhx_nEsz^<^OwP!3+ok(NO#d{2y4~
z|B=J}$5f{z$f@^t4mX-6U_J8h91fp9{0mO}=urPZ;lwD{(!b%vzjL@6OFP}aSzr8A
zSN>NHH&FX`{_q#;EBz5a)wR^Dyus%We<E7`%HgPZ45a_gAO3<9=|6uS{X2hXd%QXE
z*How3F8p@96rVr5GcNsms(Y!K^<)p9KkOOEoLNY^U%~!dzsb1P<@y~!@&~v|xNS~2
zspo3F_IuK4Rt$jZp+!`;)Y@IIZuI4ldJCFWn@*LPOREWe$l-kWrlZS$Ecm>M=#J^C
zd&t$~I+$(p7@p@b{;=e){9%F4+<qTl8+<G8trCc|wIqd}NgsfL?nK<b3xYrMree?_
zJwU5HphH2aNbG%9VuY7O7G%sn9K?$D?Lf$Q=Fh%pOVmy(#K|qU3Mh+rvl$_SdhUK%
z{i|;Vo4$`3^BTYw<;D!*EP@kIv%e~NNoR;=HqU(gs=qjfD+AO+Xo{>=qJ7}n2K9fG
z2O4<6U8K5|$tCM*O9SnUKvRf_?sA$2eQh9yQZ?$}LtLP)2SKKSMacOH<N8P_KIjbs
z+_T+GLD~!pxygouSAR`)k3#0@q^Jd~2+W)X(P4&#;@!1`&!z}ykw|o32nk(6FM!m+
zOw-AcN?|}ewKic;#uuDnHB{tibn^qWfHP?Nv%|Mqn36qTq>pGGXLkIYQ;k#5ju=$-
zYC|uK?AvNmEG)TS@xb-x>McuVf_n~mt~K|@Osl93o$CgWYTG?Tw*wq1DL&A<^#YwN
zqil$+YpXpZl&zfis7=9GC=}L6zx7UwR~;a}7a@PQo>e0O9BN&N28gtPHPCeyk4P|b
zyG{A~Ykk8Uy?~1!Qt?Et8(<9~Wg~e6xlaGjaaS<q8B-;hqVJDo*SB9S2O&B*J1DKJ
z<vz_lx+`q|5D}vkrqisD?yNad;fFI+RnEjp<AKWL<248hfKn@w;s9z&V^{NBu6vfp
z+l3b)$6Z&LLwQn(gVlD1GiRz$D7gx=_R?khuiC)MdcM=|-EjUTGqY7=G(onQfO}XJ
zM>G~n0FA304fX1=dS&y%wYrIB2ntL4eBT^X-5>R%AHE^wYL{Qs@;yM)XhpzO`Zjf<
zl-uP=QVb}0wd>>?f#duB5an(#gMh%Zy-yMB&|+!N9fj!*1Mda=ndD)#8-z~YPn44i
z?p5MS=Qxou2_fK+j)tI2r!EYJdQ+sgoPRN6`To?!TjADk)^)>Ww+#uOhg4aCUXU+e
zz3}d4VfYbYGn^RG9?k=c;(W-A4uT4M^Jda8hd#n3<+KAr5N9|M3*mhY+yj6t4^3){
z>mJ8gLTU6d_)}VO6qE3vG_u<;2Iu^nALp~4s6>F~k#Db|4x~vISZ;Eqcav=3yDnEM
zJQrJ~{mys~-^lU@9!_M{b4igfj|7pfLuP2o2Z|gCzS)T!CPvk#^D^ggX}5ECgPrFn
zg)adxf$Ji5V+ju=21Aw+{Wz>29Y!0&4|=Y_zQYNLx5xF#T^!sKd`Se{;I_eJZV(DL
z55IHq^T-+-Di-H&%Q&i3zNcqB{HYqJm6@KTZTqO?&X;r9DNB!RmEi$_li{n0fL|WD
zllE{~xN-OMrUs6+f)WLFWgW=wVJ`Bkog&Atj!@&HS0ja`2RBD1Y%N*H!)l>Qkn*WS
z1JVLcO@|AOUs7@81@!lIKxFm+z=@vaU)hcm6;OZyA;Cpx{|L2kwOKy`8kgH2VU%OY
zNXbhKo+&G_z$=U_`;9DuwE(@N+iW#=VW}mVlYgh9VA@Foy@`Df-H8M-hWHu(qwPM*
zUI<2^6avgy_T>Ps4?I;q6T^DK(aHE)Ih~}+2$~8!oOr!|Zlv<^#Q*|8J_uweqzA-9
z1V6Z?vhjj|I|r2vvsPqmK3>%i7k2o7$s9I9dD<WX41tQ}63dnNNi%fz<F`Ll-QnUp
znVoEemFZNbYvcm0Z$cMjIEc`j!r>9EvDNmd3tid9Jb2XshbsIIIhMGW%I;yfbc~g;
z39wr2{s1C1CunF0pkDvP!NppcasEC4VHB=9;B<85&#zNv+>HTdV*s<SmV)}GqbxI9
zPY!Ud!3=Nk7WAWyM26O{dGPh3KB(g;R6f5!k=I2iGwL^pt|Ph8SZvdU0U-XU<kU!A
zSmQb?P&?mPVg|-GGDo(7(S%W)aRh(>5#{ysAr&omkl9j<<Rn1IBa45-GG*C<HbU)U
zp1zonLY|L^kU->n3E6udvSpo**=rpJnJz_V%ynORN*g)JsS?LyKcw{R=>$>sAHcv?
zMufq1A#|yE#)2wf8Z(_<#z#&e6ufI>!Qz#f9GW|7CQE|1b6}bT3c(C9_;ZsuPT-m}
z4qvy#_)}%n@rxsYH_jRvLZd=a?PfT$>q|I@jF8?2pmXNu)7|7=i7nX)XOzpRK^Ue^
zuPVVt>|$ZS>!cz6^?nGlV<{m2wp_u!0WjOfS9$>D)^Xc*d#>;yk?^Q>lrQoblQHEV
z03(%+j_?Z4>gx64l_RwZ6FKTwacRBh%vB$6cqT>ezAB*f%MGsma6=4i)!KLH&*oqO
zT^{;$XHf9bk7&iLbtZUQgP0c5!P}I7=_+npmgwiBCc0a11>)PrWS$fBjI29I{HYZO
zP?2}^vWrej`>0;lLg1tyiNGxpvS2rWS7R-eS*2a^NW?XAn}d)-Y~WR(OOd1E^F_<=
z_47$LydFDUZXoHU8b)1C5|Xl)T=;#<7jK_5Szq5Dn-lr?!~CS<FlWPA)mN#dBCT!I
zWc~?9NBzgO!%+Q<y+!?dbnM#a!#sVc3jhjFT>naVu`YH&_f~2I#2R!~dIT6r5{hfb
z-@xRJmDITTceq8Fo)(aaAtT}~LCe45AWWO6yYBcZPGi@b%97Jza&vAAe%&nLU2xf5
zW<*wP$M5eREwU#UaVKGxazAWVx~>LVR=i$cy+*AWcAWgU?foN~>5|z{ePr2BZ+AJ6
z>ugA#w=X5Qd{35|7-_O#sRHg%G|?mAI{=f{dS=vf<pd$h-}(X=vddtu%w8^XWrW5m
zAcq1gx_X|uA~b8cm~_As&oFdI$OS-5hHn#s0g_Q%$<tugJf^l1#G6S##1(wg(j1<S
zf#tzYPZ@T<1l;rS+O!Msg$F)Q3s4yfIY<jpv-jTf_TTpQT1*RdO!N8b9iYGMz28DR
z)=fI16J|@NWn&*U(oOnFAjHLodQAXy5e`~$MXI;>g540xfbB&dF*Ta}@Bma(f~dy<
z^Q-)Lu?tFtg-{^auPg~J5BNbs0?9apIRI9!M{Kx07xQ@_YeN7aBY1F(XSL+RQ-}xv
zoI4G>00S+wP^nqawXj<S;s`E4;MV~WF$(*XkYT<hRC&mI%g|eWD1=EYVBR29&nRZo
zJ7lyq<jqjPxB1ZCvw&SOx_(^jQfX}3eDo)A$_#<K>q$g|AWU5oq8<(Uo)@0iDxyFL
zfM3B(W<)HgL}NIS*46}v+ai|M1k%E;`eKe*wJ@hiXhNgNNx}1XXq-tmuz^3KZ5jLr
zMS{?=p0JEK)R6;Y$->TJyXaycp2dvYyWda_@SG3Ou@5mk^Pi>*>o<xuA`F|Qi!oU6
z4@ii;d6kjGMgeQ5gb}%gQ??2~wu2!o$Xq%E^1#-$7<NhstfHdJ`y|zg$m!82NKfQ}
z3X~HGcj|`TK}OxBPw=Y+Y%%Z`fC}h5>f(TirrY-m2581582FOkC`(F`Pkcic>iZ=|
ztu^tsL<~np0RMTYkZO{tc)Ia+h?Y@$&q5l;E)C~!<9t4ls1C8^lY+^EJV8N%Hsj8W
z<gV=fu(f{er$nxixCh}lsJv${5;RfBWWkjNX3n};B?+?+24k~&S8>29;w>iO?l}VD
zL*_!2fx)_24keC6X8-u&AC-}49uYI@5G$yf6S<i9z&<C?A^U^GjWv8fV0uEID{<uF
z<Q-C~C@wU3J`YijNqv&{@=Ql@!!>+=lDw}QPKG0>Ak6(quLy=CmM|%A97z5MkWpGf
z&QMwT_Fx5jgeIW!3m`1mj(WHrVY!u8N1y#nHM?>;C%`IkN;T<@D#Z-fs{r~}7KBOj
z895s*ZY=HTHyH}_9%X=3km5hX8yvv@az4M?BTUdhs11p_9Um0{^$<X!xeF=Ln3FsL
zXsrrvD2jQT;C>YNad!rBIU)wF!T`W->?pr^6fE3G!gL_LdyXKM%%1uopi^%$$yT6j
z<%6LQ<;-wHEoPI0e4Nv=ebmy4f24D?Be|jiu*Qk*nWc4<PhnR-A|cFa2Rfvk+fT;3
z$^RH?!a;}>N!K$S#0;y^7dp))fieP$vTxm`@Xv_ftEAGOr8?giKjju2C@NK(D)D2W
z=vAS4W?0dtR?+3B`pY#Jb5v@zNc;4cY5RN8x~2R#nbgfAF|13EA2XM#)K$Fmt0G87
z*jYji9FmRlTn95v2a8Ou^cY9mO&5&OlOxnEnbqHZiC$pJae@`=YNkZsiqT)y*QSUA
zkT4^>COAp_OR^Rkt#njwdSYBXMpHsCirhyMX^9a~N)Z?#iS{RJ>9XqFW=xNl>P9ka
z7)Fr^0(GoBb#bm`%vtr^COiYj<u{D8d7O|{$T~KjI-@I8tzcGzqzT(8E8EzJsgwya
zK&OFi4=(?_QDqeMW}sG83TcIIWZg^Blxor^xz0CQ_kaf}Owwe8YcjuRO2#%>Iw4Ke
z8_lGe?X#L4rRX1<G}v`CyIyZ`-@Eq2r2eT?i%(XI-vza&dcAi?3nnY+*8#EV0aR<1
z=sU`dlZ4{Wq)k{fF=rMcY?U~g1VEl5f7Ox*<3L2Jt}r_oA-tMAzZIdZStvz8piFdf
z0Q;`v`e*BDB?-mn1K5SFIs5w-s*4tEM~90K!p{=W!oV$8v7m<(akGF7suQULO>;zu
z15t!-o=ACw=`BCCx6icTp1SkM0V#^<y(r@=!#0vB1Xck0Wi?aX8_*UY&~_y#%tZb<
zAf<Li$hy8{3+)gc?fB({f5YpWJRf^ZKrA4RJVufjW%x~YKZndC`nri<i#gU#5*reb
zvjetZL9+PmsHN3grK_EJbbix@)<Z3~+D~uQpI$%4ko*=PW5^>syZ2&H8F_(z-e%BS
z>K$Ko>L<$k91!ShQqFG+?<QvS?-6@3;Qd0P{?_RHiwW<zH_Cp}jBXgqu5GEz!rd2>
z9QdzyYYBy+Mv)(n>Yl0BU6>3yrUqV=@FbTNN(n$=pdc2NAa=rdsalYPE4VF<loAP%
zTLnTV5g1HC+aipy7V)+g5EKF5yz0b%9k4uSaEdz@Sp>F%5W>HjoKXN~t_|Yy0h3s!
zFbrXD+GEMLxinR=&^yBj!uab8Sf+Flw@V0{PY}Bf0at4f-&v5LI9G~paBG^ML~F3j
z&=C48E?srt&|#pMc1+sdysILZ5(WK^d~<kxu!W?l&1rDyg{_--xTgy82PztdP5HGN
zX(g1fyO8xAhcI3pEITE?TqVesK>7~>VIKek<kM*9=+@HcZ%AB(cqFtB;Q*us5s))j
znvZ%%l|>*@BO?FgMJA+2Brhb#5k@AKMx^*eX0%4WF&)2muJ}qNs(3q!EGLzQJNhR&
z`g`}pH(Yc_M8Mf9qU<WQYfp+mfo{BEn}BCBoXFCgwrc#3W!a;ccjq1NRAOz`#F+`u
zaRm7@Pc@3bsyG-CFyRV3pB$iAgmDTG&9Vk1C{2Xg5A{WHO^~F18BUl75-yD5^&}?%
zOMzyT(XUBT(?#3{GE+h={`W%i`NG`q(s`4QQO5!}0$&{aWSi$Z963<}rE0=8qHG7V
zG{U-PB;6@)$Y2~Fl9ql#o;2&T)P3v94pp<ItAQj4stLM=FtP4|VpERtQcQPJC^86@
z^6o?-gDfqDWh_acnweLpz?my)wL`L9Ro-<5-2Fw#nsxqfjPneu=6MRKwnQrWs%?<E
z59*7_+GVh%tKX9Pi&g0C6qCgiddHL*vsAmbIo+yM=bh9N`qb;?NQ!p9FK3^?KT=uj
z34)ps1@uc~B1^?GtIVPqoTJkOJ(&Y!S)%1|ge&Wx$yQAybek|uZ3$|j`eC+l!b&2$
zm45zM&l9wRAk<8T>SlF2jG<iQM&07ud@>_*G9zDS>Mvym^FkaMQX3tz_W9(l(8V3+
z8eK%$1`^pvRbzc?2>Cw<#czv21WQCb&6%vLQ1i{-$2mmU9@PVl<64r3s608dJUB5h
zS*y2w2K+|hm68|f)6hGOTYmVx79RT;Tk~*;ppeWLv@!qv5LQL_QFbWr$+wpWM0wA(
z6h*I;a!(?2f9>S{a8QgR&&xhTK)AOE%ky6D<RQ89?GB@)^n0EJd^*=$^s*lqwaUN3
z<X@mj-ERxjb1Hp~($;s`Y?OU;fg{U+$lOE|xjGl|V~XwwB!tWsI9f*jMNcEa%_M~o
zK!y`dBviFF_%ZH=3rL=&7{jU(GF#a7^-FB}ByypM?x5(#dEx!2iL=^5MdQLg_d*Xe
z<L>y^GV&r_<4(iOA|i%V)7>IVwd@70;tR`Sdj?i_2}b9ox)>EkP+&17uK3&)PJjYK
zQ3Q67J&kD92J=0JD+`M1GK#RW3siaM0%FRNROn+C9-U^An>j#{8Na4@$LavNVy*#O
zmH%8S%aufCI+i6LAx`yBQh{>f+T?kXjLhH33d$=dtq#@I8Ouk?NtUJL_87HS%KItG
zG<B<WU#jA9Msxm_FWePhe${nSDN)Xtye>MnmQ!-%KiP<?)^nM)xjcTx)MCYSjJEl4
zd-;Tauh>fNglJ7vz-0EG=8|XN*+ZVQfSP05@2r6<r}xRv|3Av^@-51MZ5RCvGt3O#
zokMqb4&72pqjX7kGXq0PgGhHtgNT5Dl$3ygfPkQMiAW2G%;I_0yY{h;y+7?Q^9S6=
z+#l}iI<Mc^ifa`X)k3~-nNV``IP9(0kMoq@Z|sOv@5`(%4{wC<{x~RJf3>>K|8e`|
z)6H&ZGo}7j$?uyPrCS)?WyA;K^t3B<+Em={+rbZQg=sBqE7u`Rx9z|GzD#S*@w#(n
z`dQBZXF&08F|DIEN)K{+hrrZdFxETdM*Z9TaXS`p>O^_JRdVnD<6=3=X}|gY<iqLc
zrQdI+|G<grCYb97IPt?X0LpRV0Zy#30jB@|gcEi1#XSPaU1pdE3*;m2!L*O}4a(J0
z7}fIIEBZ{Wilt63ntm{FU(4M-H`(LnsV6w6@m*N3mGPyz{8gS&mcEqy_i3Z>8}(G)
z7gxasM){_{Ckth8&Q|IE2ToKkG!y<97K$%508$?&j`WCYnX2`A62q7QCm+D?XC&k$
z=7n}?eg+r%{LX>MAY!%2L2ejj*~-208N2VjWLKAAGk?4{Kc+Bg6kBy^INBB}20a|q
zD;U5|I2x$xpB2#ITq?y>>9~KeZ5XzXU(mKx_U35gDs(FMSM>N{m?F^YMc?P!(8S&|
z`hu>{oCx{*&N!hV)ce4hmVkVNqs-U4?4x+>)xj>gJ-N(@A_xTBU<g0ciUHw`^H%Z2
zQqF&5qyivo5P&=Qb7?v+tZBi1&+S$XrYNw8CR}`wGad^fbv8!7)aD!yr<EZn3Cmwv
zk0;XRdQr?EF}8s|&dgwrW1{D(WI}KmkRT_dmiBTVN=I$McMtA8n#UrztRun%WfM)Q
zO`MX*LswfTLj4o~z|gZm4B+5Hp@a=Ic2h+>4m2{CZ$_zp4yyW<$8zAUM@RSoP<-iI
zCWPAR1WJeJuEoW;7FQWiNguG%YGVDr;lxJnLYz!`K#Ui4Qca98%}SGO1aA8tjQ1`h
z7VGO>2qzPNvDgViWKX(ML&Rg-(kVzaMT(e=amxThgo0sz(S!hqxkO~;BPSgJ*9Ip6
z*u52(p1|hPnc?fL5*SU=3qa9FUBTl^!q&!vemo-TkAA@<2jlGzyv*2n7TMkcEQv%2
zm!^lM276hFp<<=WErXJ}oC>@~q@ACNW&p;qL|nO+9jWra)`d!#+oy1JhwUQe+gs~I
z$T<vsFcWmcFWFHNG$-EEAx_wU0&r7e=JbLuu$sn|7f*5#)i_s^C$+c~4fJ)e)+v+O
zKv;V4%3LxF2w4Ra{YF1FR$2U+$?s6&_QSkOtmt`hSE&`}sGQ%F<X%s$P%3@}JnAq!
z&HNZp8V@7iby9|ilflaYMC2Ky$>gy8ft*N{ZJ})Fi8KcmMQ`9nx8I0>%q)@J7z(<#
z(DKR>usMqqh`ccC$CtZar!B-EG=dfG6h!qI6R!eGr=ohH7{)m;g!<Clk9YWqne5)%
zvkxbGA0ASb&~^2scD8sh*JFI{d?9pAwM6G5cuELz=nnOg13ch^F-nlnU+-Qg(8pLm
zd!JfA7TA4o5XZ0fH(qi54-s+oXDa)@D>K@;l7u0LOql*SpgT%3yk!RLcD>?R{S~Er
zH>4}$vhKm+I~3)QP6UFJ?jgR?Tqd(gro$|ggCv9r!<;yduSW&iX7~W~tiX<w(TDnl
z2Wrb+J~a%XsJW332+)XOLq4%5CeE?%;j^xCg#%K92qFNR$d?25w{aw`B38R`^KW8_
z^sAJb;Agbg2_!7GZ`0H$GeL(o@lrh}fHq-Wo>D|HmGVa-)yku|<#Z%(flCIbZ)J}8
zwvP8zyw20BxmO?VW)<36xp2l(pLxKdvwILos?t(?ky1*qkasi);g!dONk_nrozwX7
zOLMtO!3uY?188DFH0AZ@T1daRkGoPnY4FS8xPDd5O%<l(^lC`Iki@JDDsOKPDv5&x
z2CtMGgAiOmgY_gjlR9AL1f5JE5=cTlfX2Xx^F3>cIi^M64A=;MrQ6xmoc2Tx_5*bl
z3nQCI)ucgJZa{^wasJ|bwP=;PZb0{!UR`3w>2wl6Lt9!zunHZewx(jaE&juWE#m~N
zPHF>AP%GV9d6EE;mg_c(D$Gti;fj;(?lugcuXvDFCkUb@QW>jf>e>10gul-kMi^|-
zVqAVImOEl+wY4|v-#xd%elgc~CdMjQRc_0vfoBIEYE6rE$2i0c;0JOow!P|Ienx{e
zHwX!=Vp-d_QG9L`fgckV#Nh7sL}zKCj{FUU($RC#QM2*ItJcYM56=J{-fW4=mWqG;
zHu89@1G`)J>is&;sjw`js>R+;_wINyky;*nPwq%(AK?NpLyZ8eZP|@YddY_7fs<H(
zm%Rz%-Rrm)+Gx5r2y7mfdE&>D(E=O)b~GbCt!$9Kdc))KOYv%hD77iD3v$&Q<-BZp
zCxPxJfGh?u$R?w=*P&coYW7}u8+i@uw1)}m%Ey1w0{{quUwW`G&cRd#sbLy?8muH~
zceQ`VuexyKjx7}n>~koWDvAP*QJ7E97@l9f6TMFnsKF#SJk!dh1|$qHx{%<TXi~n@
zjl^L$YXAe1m*77Qlqt6}h(pk3A4y*y!P*U<3N(i>ut$Pq9U5Xv?P#K!0yNWNzkLIo
zzZ#9iZYc&etY;jDjG9HZ6uGk7;{IeF>cDO;Hx`Lj7&gOk-xmSE26osd%MiJcewa}M
zu@)a3z8{t#XQ4|N*ii8ikUm;4#OE9r%uJa%QdNrmchCAyUe^SLM|26@8Vx7yS46jf
za6Sq41N(;aC|6ZL>}ZLX=`UNY*#LizPy#yK{#$J@2(UZjriE_@wxdR~E!q<RxNHg0
z0Aw!HVCuu1n%39zG-~P8E<|vcadFW#<(%&XqY^bgYRP}%<h5)MS3z&k6STceA@F9@
z$|VCl5PO>~v9GnlhR6kRtaF6Wp+5?GnsR{kmJGXbg-Z*PGb6e1Xk0CuP?&vA0HyY7
zI@=iawj%V_fP>M0o9#UffD6_BstEm?^dIZ)!b9V$p_k=M7>+jaTl_`iW%I1%NdQ8+
zj;{O=os7V-JDHJL;&&>MeSj0+jn8Zx7yPW|$CWWq7m91eW(a@x%P$QU>S3FrlwR@u
zx;BW?z&2UIMILT59i6=V$&TjEdV$p@AfGWRa0>MOyu>tdRVj^H9fW|kw}g@U0+-#=
zB3W3yKjt3r&yReuz|mRi7Vjo}9;lCrT)?r_km*zUDHi4e{|WQ?VErL{cT06#$RpCO
zurPsI^*t%yI^9nUV+2XopOc&7-mO_)wD=cVz>%7C=(jRlN|@n-g+{APvJW0R{s8sr
z$<0;Qhp3qs#h4HukuPpQKrN8VOn&k2hd5;KL}q;Ex2`~AEE+_~MEM7_0XSs8_xx5K
z;1d62iAv;?WL$7-EDY<PPCwa&97aW{!n@6;7Tc;5ecUEO<}V+T4h>2dm42^eU;(wC
zc^I<C(@!dSm_em2<C)0^&Fc9Kj9?6^%JA?vT;zik**MkSxV7oH5B<z9`f(e*v6{RS
zngJ#8wIna3UbL6OA4+mM(_dizmc!n65;hB=JH0`gLJBW(lj`;pL?(y$=ea2=2g}lh
zzPZVelMkw>4y!&^Rdr8LbBJdSAEd`0e&v!pnvguM$(TBWKYfBf<B}j9lJG?{Wx*xo
zYeLF$ErH@=*lkDx2MWa<9L?Z@WI^yGjj5&(s{!_*#<`#;?%aq%)lzCz<sN=oD}@Ud
zL9NH?XEK6LY<&)Lg7M6KF1jP!Vk0)$3A@PDz4TPP*QrvIgd!ruCsJvZJZZiS@fTd_
zS6mE$gtVJlB9~60fLWq@1TmnN73-AHrBef7Kn(FAhGh`rzE;DZB_`a^AQEOGfs>F4
zkCL0iD1At%Ge~HCpcsSIcn23`AQ~ENm5|C7+eSS48<y5oJL;Ru3dl{z1rh_{>CswQ
z{>j)`t7-S0Lws23?njBXY$M}yS|yz$CCLdaa7uPtQce`9LnbLtD=D8+5&uD^AWoJr
zch<wKQ`|L6GLfvgl}v7yOyQIa(F#?%0V)qbRg}opY{@l%*qRyS+O6ceA(^eK<Y8yz
z5SdcLWu%cgrMKqGC$29|6DigJYSwokvE~2bm%%74trBZZ6wf%)Ub~w6btW(O3z^qg
znq{ewbre}ks{BC~B{OQmJLj1Tl2!^xgru0d(54wIFC?GH?|i+|@VYR6YLyM&7Ebxl
zN#p1W!-$0D_-0bNwdT-_=XjhFdI70?;8cD}RL!<jK`5$_R{Z)Fs_<E=$kSKXs1h1s
zYHQuxSl8TmTee^A)JtQzDF@Vo*SYDl44J|-*@iSZT1-z6S%Vi)+v``&2OlH*Kfm`$
zi|CIJ6w3QT^Jq4mQsxE;8jL?trH<7q{-w!LmH`EY#)sri2N@zQdRUg{^-6;I0LTVn
zal?Uini63C540Yn{8fckeiaZ|9g<(`8uR*fe$@bNqco(6yM_phu9c?DL4>YPtKh8`
z%e%yq&b)%|E;_Qgf;ZB0A8^q9<}m}@^esyC9}_89eCeMj7AhLS9$Y7I`h&ZPG^vfn
z*eu0jFX_LB=l=u)sGsE5zb2ziDya0CYZKOUgIA%0A=J1=k%R2S^0O*x^W!&#Ko~<D
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

literal 0
HcmV?d00001

diff --git a/docs/images/designer/parents-bar.gif b/docs/images/designer/parents-bar.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9a266db4b1c2c5e47205316255a63511e8fa9690
GIT binary patch
literal 27446
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
Vw13DnPYYsRF;#pb=u`kO`Y$8Byuttg

literal 0
HcmV?d00001

diff --git a/docs/images/designer/property-defs.png b/docs/images/designer/property-defs.png
new file mode 100644
index 0000000000000000000000000000000000000000..54e309197649d9bd029a7ed1e74283fe1f25401d
GIT binary patch
literal 12588
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
Cr>LU<

literal 0
HcmV?d00001

diff --git a/docs/images/designer/property-edit.png b/docs/images/designer/property-edit.png
new file mode 100644
index 0000000000000000000000000000000000000000..5470ad206f781b19c2b3feedf00edb4a75b09350
GIT binary patch
literal 23927
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
Jm0)e}{}=EUCX4_8

literal 0
HcmV?d00001

diff --git a/docs/images/designer/tests/add-violation.gif b/docs/images/designer/tests/add-violation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c2b71ba494cea889b4c4225b246c63bc0f424661
GIT binary patch
literal 183286
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

literal 0
HcmV?d00001

diff --git a/docs/images/designer/tests/all-green.png b/docs/images/designer/tests/all-green.png
new file mode 100644
index 0000000000000000000000000000000000000000..51264bf9ae9b50da00c98e7528fb611aa27ed840
GIT binary patch
literal 7447
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

literal 0
HcmV?d00001

diff --git a/docs/images/designer/tests/export.gif b/docs/images/designer/tests/export.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b2d36c89dbf2359d2e9a9695e6fe4b7e31807bcc
GIT binary patch
literal 281571
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

literal 0
HcmV?d00001

diff --git a/docs/images/designer/tests/failing.png b/docs/images/designer/tests/failing.png
new file mode 100644
index 0000000000000000000000000000000000000000..96f8f14842b79669753a0a755e14cd5b91d1fd52
GIT binary patch
literal 7689
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
Q&0IiLNmH@vmG#H}1r{70^Z)<=

literal 0
HcmV?d00001

diff --git a/docs/images/designer/tests/import.gif b/docs/images/designer/tests/import.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4aac308cce25e005d4f7c0170e6c07ae679b4f40
GIT binary patch
literal 251411
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%0AFo4JOm52ZNLt(I&02lm8$*G=+i<|z
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

literal 0
HcmV?d00001

diff --git a/docs/images/designer/tests/load.gif b/docs/images/designer/tests/load.gif
new file mode 100644
index 0000000000000000000000000000000000000000..79b56a62bf6f20a41216792250f14589c99ce2f3
GIT binary patch
literal 87311
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

literal 0
HcmV?d00001

diff --git a/docs/images/designer/tests/property.gif b/docs/images/designer/tests/property.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0178084e6abc240d90941985b3168ee9be9470b7
GIT binary patch
literal 164420
zcmWhzXHXN&7EMn`C_$-Gq!%ehItUu7bV5g@H$yc7A|gV75Ky`l0TCmD6a_<*j-hu5
z(yO6^?Lz@YMe}@TW@rEG?9A@nd*|*s=ZcAuhNdSKatrhWZ~?#spin5*PBSraDRC)9
z2^q{e1=VvEQ;N!$G1!O;$|g!0Udl?!%I3++))W=P>*`UXntB$RZY5eiO<I&-oshOm
zs%DpLvM-yH^o%0)Onvo3O7){V3@&OKYIqvP(~Xo>uUs*`LVjnir(y0wGEaD8Ieyp5
z#1yB7!v$wrYj{}ukZg>+ZKC3B(&uanXYK6l9B!36+;4Dn^>qvibEGUd>3d(bkGz)O
z<l=JG)!M>M%f#)XmRoFsTg9Tgx3}lxE?=wb_^2{`<A%Sfy8pY30AHWrOKKt04{rot
zzww~>M&arW+84rQlbhuWp@f^EH}8d}zPVMi9${g2+tciJ;j7y(y6>8+-zCOHx2_~6
zknR`OJir;I(7&cd1*WIOr#JVd53FWbt7SZ2&ZuW(EWOP1Hpz^%f0&(@UAdh@{gV6g
zLvHow{6{YfUN#m~GYVdRd0bdf^sM~J(;^BfkdhZmp-`TcP)eM&O6uO1v~-oU?msX6
zhqAI46)z^&UMzemZyl_dS+0z-t$bNs$!LGMcJ%7bm71FBn(m#~%~h}4`>Afa)KDz-
zc|5hHpW5}6+A~Uh*I!#(Tj%6mUtQSXqt^JkripCZlniWobgPAYuH{WbYZ$SuwWV!(
zzHR=$_76Wh@4LV4Xs7){-yp4jtgEZLtFNy+_<HxNn4Wiwz1z!ueSHJHZwCHhuxD^^
za46S%h*mSyT{Sc`G~#e=gk&^A%@`egJDzPdo^3ZVJ~sLJXsRP?>K~@(rpuIO3b|%h
z4rVI?=H9Q*?JmyGFD#6;EiNuD%?&T@ZZ5xxS{W^0`Es~g>cn6$)&?@yR_N>N>l;g*
z8}D~E7z>-@1)H0jTQ$DhefM@g@9lg!+BsqF?QZUU_^`LX`C)hZ(?1;l`ts$=x6f<e
zzI{6wB_8~@cQ|<a@Lkr?NZ`@#yQ8l^j*dPa{loXEqaTOg7oYrKRR1_(9`AG>AME~Y
z#{B%c@be#j|NeEj_WO9__pgJ$e@~c9rYI9-X=rDwuZuHOQpA9P002PrCj^T8H_QJU
zfd8in0Ko)sA_R@8l&%EC>2ofF)Mq_OXmQgb<JywG6h7sE<-ywL0~sRv4+Kr>N{6y#
zY^z*`>dHnQVb1e-;60I&*WSpe?xE|;C!S&xkV2*n6_d}6v(LE>H&jlQvs^#799JJO
zBZNzn0z6N?;*g3W<g>Iiel&v$d>|eVzo}koB5VvlF>4Ajszg*eucX-T&0Zm%J^C8z
z#UL3zsNo6%Y;y`jV!=yamDW9cXwfpt%g#eDdqy&(9BY~Z$>POw9D!bdhxI#oNa8Mk
zVAGq=OU+>)SH}d@-4b}dBb$7?Zfwwqr%|t{yPQ%`FgL-e0gv9?805CTfY563O7wNV
z!R!}yy68Xk+*XlV(yr?GRbFWKCgg3?pWnv^AKy>BW&Rg$YnO;Ut)Uu+wYQ}}pl9$N
zKv#n`QM4}1LA%5R{?57_!3n+q%fH2Ggw;#@%*G`K<F0|N-sMQtSQnR6+`@{KXZ5XL
zy+r6XjMe_WyODu~$x4_qIm1s|vZ#5A#A#SRJjE4ExsVko6hB!25|e*7AU-Q9vLYTV
zA3t=<kHzlHBdE13+WU#2u@pyu-U|bfl;v92LWj->zel0({CBV%2G6d9y0!cyq7yFZ
z4e|;RXW`s^EIG8ITdQ}j7ED^)HU>Emz6pWYb|(w&tCM$RO6SsAcPg{=91KM=rkP!y
zR|U`E62bzV{lRxKjE0x<^<i?KsJ%RapF#}T8yw@oU$)Q*bW?s#E)GSFtu)GZB@LC4
zzt&rEP1B}JyrlHpYHE7wKI5_do2voEAt6vXk7Byfxfck^%bNDMnG~%5LAMjWIP)qe
zOXwG|AA@3k)c*4w-mXY@|CHosL{y5PSSIN0snQpLD;Gwwk*GoHV4|pcQE-Go(C_5F
z*s{m}4auS;o{9$wy*wD#{_*KxLRwOe?gmo}oT<kf6f_vHu|xVA{qE<Bk+JgeNsu_a
zOPp||IR!pEUw8MlBa(7F=>N5oS2QoBC~ghr{#?p`e$8`lh@XeTef#QYI&<uexR#U0
zxfIVQX`Xo@AKBD8A=OQyAg7Ub;U3|)OZKG1=VLSMl0~DZw>9|2-$+Rp$sz}4wq6d1
z75g>Iu00zW^}C0i3;F%IdB^P)9U<tS5@#!Mm0J>)(<{=*eG4w0#1&RsEH3Y4J%mtC
zU~DfRyUhxEu$AA_?8=tYK3BQnJ)wU*4V>lgOWzbxA99HNw!+w$_)Fwof^REsc)P3L
z_xdLLbbfcIU?Eo$d0il_@Y7u7f24q@Z!PrjOFl1|3Yi`^-#vk;4|cIf5fs}|XiIq-
zR00Y&k?PXRDK_GyFUKj-Z!UA=lE_#Uy<3H+DV^uasUe!5Tz?BVaWLz7)$Yko$g@?@
z#m{w#hLtHKZ(kHELiq9X$TGlQt@-);Dwi^^hCCqtbZ4#}_8!y@z#Q@+T=*Pd<UQ-4
zv#HMocZ>(L>PWYx1ugBJZ{>VcWsiN3HCMr>|Ma7Es@3*y#~DR~7vct4gik;1xG&r?
zhAf{qg2-OuX8j?>f2qz~Bt_zO_xFK;N=r_4KmwoKTya<2yR-*bJGnS~|97g1s~C>N
zgD;J@WC1$*j^+VA8;^ROImjPWLHviN@alY*l;v09yc^I5REaaS6DM%qFEs81sr74d
zJ=gbysoxiBVI|~!0!CLf5P5aJ6lobtN9+0KwRU)L-r}48(R$1*o~O$cbKs-}Q8s6+
zJ{e~%y|mt_lCo5?$s#)4E&36OX?+Kba{+ZNCW+xJXvv;L`3IEchbHeH79N&juSqFC
z8RELUI+FF=Jii;mGLU?38}sutUtgxNaDTAx-95Riq+#)1QjFy_UMJVToj**A{jPiT
zq_Xp<N}*o^w=clD_H3n{n*w+q=E=!fofbc^{wdE{ReT>EhQ9yqP3uuLVJ5?r6PGQ%
z=Tl0T@D;oAQ)hEjS2=p-G#YeM6k3YC|KY$CT!nkl*Ijk$_PQsZdw#KMN5K8OZp%wQ
z3JpjWUvrPz<b8fbp|c7r_4b^3b=f~IDAfdKot2yM^*y4bFeUfhVRF32bB>J}{YOnS
zwi?2Ul4Bg#jb;H808c6{8)58mDROHt>X1NxSdl08s=&BH(3)>E>PH)c?YtR6WcA^R
z3g%TkuW?M@KueIB&sN&&=pD27NtsQZ!qxy5#f$ef4Adk%t<SsCZIX7^f6x$?7{Y%q
zJs84GUFdWwDQ$?sa_zXAZ=6cLZM(*H_qa!dy*4@a-5TfP<6ard+6SM_(s|mB`!MOX
zsn^Xn&MY1GYmC>X-yYo%{(U@v9lsz*Hs2Hz_&I27S@-b1;HK2YpF_Cxx}0+Jt#j9Y
z4m*w4<u#3NDc=1#;=x{@KVZJCG?fqVv#c+ibJ><``^g+52rE6_G2hWz`Z*psUSIrU
zbm!9VpA$rwQX$x4SMRRoc(SERHrv>)(ZyernduFs(iVHBj#2cy@$fS4F@KG~UsDwJ
z#)>NzA8a1~nzrv(sd9APv21f5dX?Vz>bk{8=cQk>&9k*tVPk=EZ-31heQBg7S$y&m
z_&q=P;#*DjSdakt_W}X`rlH*8bHKIVi|KA^ZyvJ+d))ZF#9(h~9<T@z4s2WQ{__3x
z<k**pw%;rJFOFKggVJs!_Xx}&>Q%puZQo0{w(>f?i3Ydaj~8g47-5GCh3+Q^(gEmC
z3_afAn<(C(p5ZNYB9~h<n`n+cuNZnDUs;jl=^`l9#Ek4xk2X)cqM<*$x(_*j=JU3?
zgeOZ7Ad<>4eo*}TWCxq{t!_aSCRkL$UCn2t8ClDE)9z&5o@YQ=f{x0vZ3k^;!Z3r{
z9Ks|K)V9cgTJaa}U>6TQoBn=@0Nn%0w`&M7`p@wM%O9;vf4;!aw(^np*9mqYF3Tnj
z%?j%zX_>A~T=4*VD>1!GU6gfw-%z;u!g2T67=baq1dZXfWc8rug0Z|mv-@;Y*^=YI
z(r*n}1iz9LSoJrjDf%DXt=L^8K;MI921MkEi3-G$ua*uMmt0fR90*>gUhl&++b18m
zr+R&slO8y)-NoY8AjZF0(KkDkmAaXdz+0T(%aoy7rQhh)J83um`_26Vi`7X<-@LKW
zVW3NxSTlhA2CbVdL<Fox1+x86_W|U?@zmH0R7f%THnN$>I!~O*BX|KIZ)qqRjg3?N
zrj<H}EgDJ{LGsd&+agg|DRu@OA$o;<fdK4au(gSRHYss}yK%43Z2vBAngBVc!J!5~
zTJx|+Vjy$WgiQc@6B_8iK>AUE;{-Mf0HlTh6QGBuF~ACb5nEVR77Dza%8HYUK0kZ!
zv<6G*KHC%#k&Ht%ViC%4RuVnBhyj1Q&sI!FD)ghWiEOL;$o73yDG@Ox!d^~9w9`-|
zM$!d!mbW-myfHfo!KTi12qVDZAtDenDpU&xB<w@^sIZ`Ym<0pmF9NZqLam6vfXpzn
zZDLjPgIDtpYG2&uB!Dnza1S9a4$j_2j9O+Sn4^6cGl3K$N9sOk2}@EWrnC;G9MK^}
z3Y#njN~E!#Vz7$M`%Gp6U*XtOv5A)IK$qs!WeSR$aPxo;IX#Ckqq1#d6FSgrd~}q5
zQ^W-_8=Vj{g(E9Vvp>fof9<l!Jz^!Hlfs;mZqIwY2e1tg5pRhZ3g3}22-ajq@+KYm
zSA&g)iB;M5^B_Qg2)H)}=1u_mV_;7a@SB-H8?28v6{<!I3)y~v;m=mm%uaoAJ6bww
zjY)%gV%bF;+4ImT(gctYHWBB*;evsDqkxDa>@qu`ODs8hd*H=ga2o@h&wy|{rs*2p
zJcUD66Itx8r}93^-t}NPFA{o51G0-rw2zF~*-!tf5v`ENnvF$d6A>f;n{V?i;%-I}
z0V(E42AL$KMkc+-AY(8r*$j9)fGwH83ejY1r@={BL<|F7M2Xhhj`%(R3!#98DM0B=
zfIkg(9Rm#TfSm@w1BvQqFkl{f7S$-b;p*czcOHAg;-YuFcz4;juiQLKNw@pX)=CA|
zVbaVOvYXIFo;zL>RG=Rnx_}0sO3Ko8;JAVTvpxdz5aR@~cR1li-pnEBRcfAre?*5z
z1fJK|ZQg4gi~K8dkF({`CjHSmgT>pJJzX;&a-Z!jI%|`d!8(+jOk`_kBwcn0(`JBP
z+%F^$VKOZ6U<S~E{*cN0%-bXO2Klkz;xpl2&*FK!4VoS+<YlKm%6)qb_q@*L!sk0j
z1q)Fh_sg)$wwAa=vT4%+9rRl)w1npatpDL}r7?1v=+D<_to&GZ<6n2p9<Z+;-$|py
zf1rV$QF3)>i;wnL{>miXF?o8=gfg(tRt`w|Z;0hRk*yd<fqzJDr^DMtl8T6IQ-nuT
zjQm=W&{anA5E@lz5?eGxvBLqM7(-bYu{SVKWjY{$0xM+h#=4^)3m{7#YE|a^dZzZ%
zi}(1Zs3UuwNQyKCNEY$EH2+*-Hs|SFC1$_!nKOqYCjF8|8g4sV3~+06KgDtmq?HNg
z#KImYv2aqrZHrz91Sls4Y=ui$!yrWV0ndK<%o7pO=;~+&%K!tOILLBv9}#^ASuDct
z6;<H>D`tp@h#?{dlGp+qYi?_X(W&{#=$Lttr&}N3L37C&%{~HmVuLZDGiZ<suHx?w
zlobHfyj_8$041nkRdi+UB9;9&^`*v*^HNdHdu+ov)|?$*o|M`zEZz=U@xo@cn>h9X
z9Gj?9$-sW-7g_cJBAe)Ot;2V=Z{^-BCNXd(|7%4lcDhK`1;6OY@_M?*lOI(+Aw&?c
z8Rm`q7uyF$d0}TOVK-s5HWwT1eutg9SUHbDmZOuOi!`XhSi^Q%0(O1OUO=S@z#u@Q
zncQvrr8gnJ-|RX7?B&?s(*LbY()OcVxe{aX#wQpJ{VRRj5Y|Mx)=XXs3ccIxwe1%t
z*PQaAIa8qJVOzlci!CnO&G-FU3fo$W1pITCS~|%s)~MFfYppM?U4MGF6(`mD{AFv+
z?^bGxZ>2yR%Wx~JSzGhtw$>Ey`nI;m{%w`JZQU2!TbJ5;A7{}7+6UU&M^UX%N<Lkn
z<K4xMDKlg>8a4m8W3jDcd8uRdcL#$h(7ArGbMso~_TA3i$DJSAIzI(=R%4N~OP${?
zzCFD5_WRwp$B*CsYI}RK^!D%Xw}4NbrNoY}0yJ1O4N*ixw$oVKY5)ChpBCskrOh%x
zr}0F0@fCF)-esM8*(H3^B_h}@rrj;!(p`(|k`C%V*WN9^+^x9WQH=$h*6w+C4Rt=c
zN8_Yht*A$Px#!YJ4|cTYVtbFSORrIMuc3U8N_(&IGA)}3b0@-_0ev>+eYS#qj;wuw
zbG<IFx{I)gd+2^I?S3DZe!u8`d{MuTIiiT(7jn{15F7~A9tcmRq1$_vT?YRA?hW&R
z$D9mA&<A4V2jfl#@EDe;qCp@twYr$vn0_*tDLC{{dnm_cC`&LV_|;%x`%uyHQ1Qu-
zaP&Z=d>2LgEuH`mNbQd%!pfG1_skGs$H+SEkp`EMH_;=_MI)^)BU~nknv)Tl;Apq@
z=z~|i&&`K>T{`i&g3;yC@srWq`!H(e==3tYd><)!f-I-Qr<cc8PsSL6<E-+-1KJ(y
zpE{D{J0dW{@1n<Rg2v{}yB9~tzPL<$kDmDSk>&nE*Rjj!R_f?+Dy#@YpH70Y?n59t
zbYuq|JU0Aid1$|AZ0Ur~<vPi+0>{t*XI6mD=m{R7fz6W%`foZOdrwM-MU)1(Ngck)
zfII(scYch8{m*0+Q*iQ|_N2;_DJ`8*SoP$kF@Ppx@?u)AsKUEs!Or@9XcQf(W{z@3
zvs5z>&P1p)16C$7z4Q^8k=fCVhD2d|S07Jb!}dBq>1biFlrcI=sK5#$2@9Bgk3#((
z?384iDni3AS5J!WLp~3%V05Omo}dzcKsp9!xeTZk0D6ruvmu9+MY9lAI@EN!545NA
zga(?aW?w(eW{q`Re=_^&_rmJk`THHv6ynU9+#I;Qvp{FYd4I9vI`YX_XEJ3{lRz#d
zLeHc@EAA~^a+wxW=xo6tSkNrB45SwoSVmmt*oT+^Kx}}8mEXvG0+3RT6yE>06-xXx
z%RJM3WmX9FnuwACz@AhiO+Ao<Y2f-NGlp|Zn*wmmXBH<6ixmxk@hE5=1Bl}0Vm`Cr
z>8pQ=P=08j-Dl_-Gy+ufwkH^<vcG6R&)vAT@=mBz?GMR;%GgAq(iu=q5lG#=<y)B$
zWdQ6%zBBjp(z%#kDiO{~1&VgAqAsm&Rj<7_+t?oKC<K7y_MuK#hy&pLYTK%wVrSJp
z#L5FALID~JL!~X>nh@WgxS*VA03j^Wuyb93b(yK%*+76w5|H`(fG7`SOXl+YOQg65
zbnYW^vlXHC37JF(q!4GTXdn*^Dh9B#l0s6Tfpue+!`ybL#FY@@Y&8>u9O>BEzq{<n
zAjRw>9^V_Azlf~ZN4hJ5j|*n01eUv&z4dfBiHca3dw*VN>oS8ynlgz<n>*t==X?f!
zHD;oj3U)xR<C8m{bnYz3%~7gn8W|sJXdefHt5bzgZR0yjFOec1&@vqAbta00o_O{b
zQ9<dr;e?z~U|ASpxu!I>bayS|(#H)HDx3&)1Z-IRfw)n@H-b0T)25s+{il<Pl4d|T
zD2#OWy@$meA)S)dxLskwuG=2V>&(vsf3`h7f6n$mf~@vWQkOrZlk0-^zMd?E21h>?
zMiq4KvAq5I+T-iG&fL7&*Vhabk$o{V4T(65TK$V)q<5TWo;_H7{Ep~~s-{dvWB+>_
zJiV>mSw#dn5kOeX*mXD1BTJMv5&T*N#RC9qQ2;?T+Xw<kQuxpW4HBmUq{cfo*<dD-
zpY3iO)f1qsXds3N9<%_91HkV7D>VeD3IU`=2VTG-sRYFEy=BAO$OOW7(M(Vy5oNId
zk`oQ>a#O^e1!@*|y!gUmUo)w&0%YB<N!|xv`uwi;(sVQZ(?m^20}YCQ4^$HQF3ebA
zbS#Iy|BlT>T`aEpDU2fBI8J`uQA1FDq_|q^(Zj|L7Q%v%mzEI#uqYPF3s^AL_$BLs
z)C->S<$%0qAj2~umorzbJD@L!9qCl4HS-VTGSx^gjeLh=L((19K!7;VI`9DSr}uv`
zXol?g!MFF_jYJkUs_2ceA1Y|jt=Jy`YZPw=LeprFaw}06!lz;PjB;wtNbV|+$1cvJ
zZ06-vKQ0<yt>{`exz@ZtRMJns(plPdO*ZZv&#QlbFP&0QD3H%4fro5t{c^o8wK}vw
zl#?Z|0`B2ltYVS^&vaI}X*#_z%-X{)Yu@p0c;=&Ag)cv5|6tmu8qG@2NfdDW;?jES
z^J?E?$N$_q@BR6pfHB$k=uTwg?SK3coxoNxxNUPapb{$A=#r}kHOq#T<trLLkVG4#
z+O+H&d$4fxynsElyF)(+I7+lBW4f*BtxbQ+g~a*X&C5}WD|X_jrn}s?VNJJ@y-6y*
zWk?<!iz)$MXvz9Cq*<(;_JNQW_r%1RZ<F{9oN|12RcCDBujAk7Uq?Rze6ipZ0b6Ab
zRVN6Kz0Aw4Mr^=U3y_^lix^m^>I@ZW8z5SiyZa)gOsf&ESpsodSN5lEoLZz{QMAZJ
z9x><VEC~S3Qe@R7%Y`qkT#bb14`q#QB@+yB>maz}2YgS4vQjdnx8RJ)7YXM=s#s%o
zz)uiNuKJ{;%F%MK=hFGN5M}cV0}}P-$`hk<lKglZwEU{DAez;V{pwz>qffVmy1h~M
zsM4s)#;aU?L4(X3n{ThGnDQ2U|B8e{&<HL8>lIf^<MdLp(B09~-<uc{dv^GM@7!7!
zvS8S>*3M33^K>3hZv0n!r*pX}3QZny4|3{{vGtDbvC!|YY3$-}=1opr>?N`h(x6HZ
zqg_B8pL2ZK!}AUM>%9v>ceg}WeEivZNd&y4C_lQlbZp5(`Mxf{`Qq$~L(W0wxJ{1u
zBVEB)de0u1phagM<QNk++?rbtLSSFljk~kYj+?Hte5Dd@q<ft2Z+=x3dQ*Z$n9n$1
zInCx9j@x9iamXby@L{QB%pYj8U4=%Du1O*OcQsH=s7>=!7$<NsHFvtOwqK4Y@-oj_
zV-hk%DzQsUgnRq<F;5H0$)R|p*wQ~B<fKSddG6HaQz`D|i*+NZbAD~XP4CHVujgoJ
zjCxLKPwwW7aD`V^Il)@js?GaO8Fyf<&R4z05R{8TWLRY{N{A0%wfx*YYby@iQEi$t
zTe8Hv+EWh|H^7_NhDud>$rA|wx=Iq-fTT8;L3x~NwvINA3+P}MOt~1jmXzV^<ehPr
z^}L1ru^2?oJYF8EE_ETY5<$TV_Jzk~oMCly=)s;s|Cr`Tkvp^dN%^9^zjof$yyp>j
z>6MB1x$b@q4rxK_5=G(6>lNmb<LGKGgYKIVgb9hoZh$xih{{G-9gKs(mdyj~y*-TR
zH(=BiB7g~RP_poL16M6T;4x-;Y0lrL-!kpDW&c|O%v+W;a`lUaIlr`J(X>M|x3CDM
zRKrPgujeE#19)LVpU4?~Y1_?pR?%H|c*&-Q8t|)$EotOJF(5%&a6`g>#DlL-!$^tU
zDiB2j@w5X#{0&~VW8M0!uDWnBj0iZ~`)LTFOK~B2J!;`)4pLyJnU0eaWy2WC5yi>*
z2#A^j@R7vokD`KO&by^33sWutOk^B)?hK2C@XNZMvxhiDsfusxCP)`nM7c;Z?!HRJ
z89C3^UFz3g{rW{uxe$Qh$?RHLp-yRi7FEhQCz6iqzIAF!8-TQm)H`KKLQc#ZiL@}+
z5+7%(on~MvAU-#F9}j}Gf`|P=Y^zKae3a3GL`2;4eao{v$%&UD#n{(90jyF$tN&c+
zc}$X-o~cJoUZgGd;kOKkaTg_c)jWD%YsdLiV;w}sP*r~8#W-fs%r?`u#Fw+=cRIO<
zrGVAW`k;sF6<vV`(#_S7ua|1qBVliph;UCaQ+W6litmM|0-yo7M6Kxpp*R>l8pM6>
z!`Pj@5lhnZM1FKZ`F|aL0j!C*kY#SQWpfL~x}O;~gq!i_ivWfzdQ$N;ZWeO-0ba6k
zX|;lKskyzI*Y@VsY2lm_xlFSXvEREcZWrLuJPs%WLwOua=7`H;A9otUk*Q}4F369b
ze2n^rcwq34(%?>pTE_J`7Z}Ql;mXd*%5nz2*iI4hNPD(l<!364e!P{d7#2rQg{O(Z
z-pO1C1LON7jdhWF(TNmXOTz8rAr|qXEr``Vsh5wKh-@7=-EJDh=N|`qzsZAma1%$i
zoJP7d@NjoJabB}>DvDVkpZ@u~`X%Wa&*4Lct{@laTq+plf?j*vf4>hKRM+&bFaC4}
zUohHVr8jHwV{K1uD!&K1GsG9rR0!xY)g|fISR+ks-tlQlnQAEd&h<(gUFgR&omNPj
zK~5F~lS308n4K73IF)H|$929V-c3}>c|jsBFbids)6FYGJ7X8hw1)pBnd&0C!C(nW
z4oK$|cb2)yjg`a&i@G@^=!qltEApSbR4*&FMiNG(`a!13c(U;|VUw8&^@3`Bx7k;{
z_+O5+;>AER$jSRSRPVBp2SkUuWUMyS3AYX_$Sn%i3hd%~Y8?lBY|tmtEe_u4od7;;
z2eDaVKu`l+DV964$YlEXdMXjP+ml$f<mG9XL;*`^pzV%5Tz{ZJsLRAIUhPR9mHl6>
zk?8{N{6r$2rAtldjzi_uhrNk-BC@d61&>?-jzOJfBSw!*%sD^$+J3R7QoxAChoHCB
zWS}VZ`*oZW0&PG6^8@$d4IebbkwhRW4D+-63{mEf;4O%XOl}Uo8vrhnl$zwUGD7^E
zIVHZd&N~oUNP1HhQ7Iv*z|cjYu{DVTzkt`UnJ@T7z(%&H9<q_j1DBiRs00s5ljZQ}
zP~97_a2nuypM9Jb^*rJpk1Ll$;!6Qs%A>Pd>g}I+9-d~Mv5`z0_*~M|Ax^b%^!c+o
z@zP97NB2P<Yuh;gmA2Q1?K@rzzP&zo0<_lFkslH@{U7G-{$MDr8~FNtAXqK3dal*^
z-Hg9|YRiDw$*0zxrq}%N#cy#bH>*g8)z*_k{fV^dHx2HeDoYuVBQ5jW#@r9Tydcc<
zK6BK~)9(A~bM~gFb@#8v&G;`dj~~jdKCZ~iXU2aql=3mY>@V%q&g&>37>)PIKHfy}
z>_?aixyCHs`QUiAukKFbhBN5TdbZa^{Z7dK)6m<U6Y)`2w@lLB=4;h8h#eL)G$hUf
z&RLo`o5dNLtgs|iam;Y@2wY78a5cTpKK1@FgmHkXN5$>dcfvlUG<vu7WOB^t3!v}o
z0844IYdOD?Gf=E;ZTn#FdhM-mr1L~Yw*xSoOT7K`tCm4pQD}X~<CK!gRPLWy&Yrp)
zT-kfJUBZXDC3<g>C!KBcmwrb+(-4U-T(~IYa{1afh`0!e_oPdfghZrbdz}PiPs-7P
zx<44w-t{$HrQH_}Q%de6n&QFBVY=KeHJD1_J?bR=3LI1%2U4BR*XZrJSl=yYUaUQh
z(ra%2Z(mPWLU%+Q0z2$cSJ7Xf>#1$F8<2X9dz)$5y{6``bT)guYkOO;kW+%aST0??
z`CbjyO4ju*YlA*JyFPm#!)BVnrJ%k>4Xo~FxnhHMOd-iA)i4!o@R``@4(a#c>i3lB
z_hRj@;_P#^>-Y8P_j}dp*xv1G4s*+gEa*Z48;mGjMigC=%O~0EuP#~c_S%XJgsKdL
z84QHm4czh>2s<R1Fd&4SfjgxGQS##WRGRCwY$#(O=5QePWWa}Rc-KJQQiOB~J4mt{
zO!OHfhYu!^1`{PnkrIOs8U~puy~aviSKf>arXLPwK!!58{&C}pY0JtF4Tf^;hH`y|
z^1`v%KJxSRZwpF?3LAzV_YM_J4?Wo&Dn1-~3K^zw4L_3@4nL!a&nK7K4VU>0zX%^L
zCk<ER3|E#8S2Ya3>>YkJJzTvxTyr@58ZtuV8mW~SsZ$v#Cy{%yhe~`#-h_`dkw%(x
zMp{ZoS{uw-B%t|4q}wv^5DeT)w9Va^+$AyEtuoqUFxqQ3+UGOcA3i!j8Xe3T9V#6i
zZWtYj9(AXnZ8S#44@V~;V|1>uNr|y{Dq~XyW0iJhwOymL;bU{8vH6^_h0?LbhOwny
zi{9zcc9lF+3`iYIVupJY`F4$ZMB03glQ!+fw|vI8!^d|><GVTId!^$a8pc2Nj(?gS
z|GYW=<&|ZeV9hkw#8-)lZz>Z91`~&NR+TPeKE@Cnkz`MV;GCd1K%!^!ggtG-lQHpE
zkQ{Jqb-e-x+=7K1!$Q#iXm)s*2OV~c4o{>ba_KB(bYvqP)kkNYp|fq#*^lTP&`C7+
zBqy8oe(%7Gp)7HHoE8?yP_caSZJaN6lD};7Oyi_L-y|Q@YTRW)_{h2{I?-f5K~(ac
znCd%m!*>$)?<9TSN!@xUo%l{B?VU+v;tN(A*}ix3Gw&3(-iemIn{=_jCr|t&O?VO^
z%24tjK^XIoAlVCV`xk<{&PN7U!@%~q(0#L0GgCTSQ<sjWE<>lW+|#;=xYMdUS|UI_
z0)%5QOLqSeZz5SRciN<E+O%=n?6W04IdT7F((=fzEE;OXNc0w&u~D6|HJq`tpRxCy
zakw?(m^kB<YkzeMYK2cMW1X>nGUK{6<90OTu0wY2n4z;y{nVcFwwU^@ZL4-<rI9;z
zgAW!`VSCX67v_Z1>zfUlnGN2W4LNc^&)BWX=Z$41DANFX6%e7w>28rW<G$(JiF1*;
zb9eeI@$;ireRF4@K-`RB`2D$9=sb~oK2CBzUUfdfaGqp8pXlpEe$sE^G<@&#9Jy?s
z`Jiz=rOyc;=``sw=1;WxsWO$RGxfK9;%~UEM%t`@^%Qt(K>N?^qr`>$+=YU&tH?&j
zo055^I0TFaG^9g}bW$VA=AKC|mZ&ZYc3c%6n=3Q4x~u^!^;xV~F~w`ZE<2f)CpuTE
zT2(bVd#T=!cw(hoJ&`#xk+o&z_h-TrO~+eY{l`oeCN4Gq<2%ciI64;6>`0oK31;~u
zQ!JSF3VK^-u}gBfTh(RT+_~D`W%@87#&vlh*R-a?c_7i{YmUq7m1$bygtzN#rmL-L
z@T^Allz*eGcE@b1;mWlA%FMlmHbddJ!QfzsOP9{_V&lqE$8>M?^2+DY{xN6f>dMN9
zh3R|f>J-=NguFwhjzeAWtf%o*0~`H~>s6>dZnkmtW8dm0HtRVZyE1VI7uzB&cRXr0
z0f)1U;Ug*1;d_Vha6b5d4e*ft@jI0G)0v<syk)EhjGyMdeB}OoW@Vk5@mgXPNM7Dh
z@Bp)qZ5)ka{>*QEULFr#ZQ!N{H2*93@e0O}yju%sg(Tg~_{jVu0R%KW6BkIh>LnA$
z{)Qe}0l_sp@WK*Vgw{?eCI!$}1!p}Ax7@sLl7w&|3*%|i`8Wj}#5ip{rWpz&#QoiZ
zYkS1+MX$?jTgFC`k&*8|N3WkbCd>O-#txEMcF9c1jc06(@*FZ#3!9+ox1r{d7*JvA
z4}eu3LC+!L{6)xoGO+pvvO96n4*}Ap!RjR30%=e+H*a0yMqQ5g%N(*UA^!cnVeM7#
z^5{+DnBhx*H?YD!wWYB0#*k8#O=(=b6?WK<7;o?71Br0a_uIf$_)JW19zc9_`%PhA
zM!ghljREAXEvx!J%YRdCeQ60$T)f6UNSF`wR@;@sAyEedzeA1VPsc^m5=8OzK)!?<
zbX)`)e74ykq8SvFM~}iLcw&;S=L4?KuSG=c1b<%Zp_9U@6GS7X_sdqcUnNOZfLV7F
zH;cUP9z(D1y2m2mZZhN_zHsgRILIG(I0YUTL1xBM;hK5wTZc)Zj6_d*Qp|iJixVt#
z_x;Diq^Rb2c?RsH8t>7J#}orjRPm(mUUzY1FTOpc{ylyj@A6U@tK~L45+sj{x8L0y
zT!FGA`$p%&@&W&HFHyz`R-X#vK29htg{k0t^&*zbVgT}p0QqCE3Cs+y@u4(*xU2?P
z>t~9mLFF)kWjW*<4j=vVKU5WyUycXV<|MMsdk4};a4cAhO2p7$ZzF(##-<KNrZwLK
zgfjsS$D^&6tlHgtUiNO)hkLlWt=8RxDC`G`?gvTILAHzu<X;XP)z+Wr8M04yae_WN
zBHz%!hfBfzE1(f-@bG-{V&`Wj><IQY2hNRwz-D$=)smXO0|RNEH)x*g+fX-J@XB`Z
z^7rjCcwF}PxQNV<rSuR%MYt>WgBO1Lw$y*$q$VR3Sq<h{)zMzzIzVxw^&N;e3kIf0
zS(pA2Cld;aVk8+Q6Q${KEc?4rBS3!I4IyG&tOgvF4?O4e??~=38W7YmP>2DzB@&<E
z1U%@ojKqMAT7b~&1b7lbu7()0`yZ2iKZNcsoDUSj1K20__$Q|CmYD`pNk|O2RM01I
zF!72E`ISAnRy@Gp_>nV!+>}SQ7D*JbGWFqu+8Tclm4=o$nELFK?DIcL-UzM8C65rk
z`B&^o&VBPIl9_(QhZ0RN4<{dAKB&Tv4gbsywfElm3V-$Up;Aqu<qmP!<3ulG@(ar#
z`KE9FbRVBch=)u-rG%S56~gWWBYxg6C6g~V9eB|WULD;OnF|-Y2GzX$O(OQ2{9L#r
z2I^%QSoZ4B$t_It`a$W*Hyc7|gQe+N>08P_5-%|iuu0B%kweQoZ#*EZIU@0zyJ-L;
zUS4BM3K!vz|JT8V`V9hb*r2|=gDV*y@BpAMGfaB`=05SwvhzTl>8kf5)Po9h%qNSZ
zz;5~BWiAKrb;3o|!)-Hs70-ujTHcm@ee1GOxU~C$4*Pe{x1l08e3V~1r~g@`sXAmG
zEsJ0Q%xF*?KX$>BLKfc#Ue}<f?U3;rAU2JX%a|krErEv)Oa*|==|pZ8=<Q56mj*a9
z7Lav5De&Jb5)KL8CGs{A<*7-o73zGMap7*)!<xw%96#|!!1K+?Q1nm2@ivV6dQi-r
z7jwY!9Wq0Wgl7QR%KZ*tzp4M>4y9O$qVe34ahjRu^k~<2qt``u;jR_`)W8JT@%3Bi
zkXwU*gQKLF<0M%aUb~qX`vRXoOGXi3a&Lae?k7cHZk~6rj6^4}Q=8b6dDt+J?OwRz
zZv18gyywbEEMg-hGl_K<8nvHvdmru(gGAxH*qi;&Ji7OB*}tOqD>C^*X%Lwy2l)Aq
z(A9sP%sWTC>;V(T0{EJNZ8f)8>mR}aP=5^);y8|z2GBJgX3WK{@gC^PBy-ZeUo^nB
zlYl$71B9J^!VzG6a$xpTK@k~P09EC_NMLC(%nty}EC*J74`fG2Y6FtbOqJgE?*hZr
z{CNC!sSJpKsv@f%jSy<l_tbxS)L_sPXk6<*iHnT8>7~nupR!|-eGz(QG=J(u!d8}z
zBgt2(TIeAy;7lz%7V(al1%?dzkJaGmoLwxVeg<0Uncb;y5TE*AoIoi9j^J0UyuW80
zk3c`c+{kkxvlS|`&?8I`dnrjUF%Fwkhn{JRoNQOjxKcD~*ZY{M0vBWC{em6A=P*Vt
z9`>J|8G_=`?IixO1d$-@>F84ysVcp4SMBsJZeNkIc&zbA7yKz9C`AZUC;uJsu)?}j
zG?%U9Oix+OpeXB8qGy`*KRfq_2;l;sP?+IEU378(E3kgjl<<{em#Y#FK5F6g%(N9+
ze1`MNJZ&-)pt-G6&TsSfn3st_kg=(JZKlnL3I$t-l;}~JXPl$F@&banEgOb0{0<wb
z=VijJ+0;d1dMq@&nyD6=Lr3u$e5VfA$CZ&9x+Q#<^269T#E2W|itL9V4&h7f;u%PC
zzAd}@c76{ltb>#=fZmk(nF<-Fiua=!^UuZ7&j*1m#hHSHFkd#)LfZ-MOAS+7k32)g
zGuS9JjV?96#XHi)cRsX8KfU+sr!*xFsU`C)@l2FV$sIjglq|&jn@nkz<vM~BW_L^!
zcwqc%H;#UCAX`B>#Xo%c`QIL^%)_Dp6Sjj-9(@=}$#8FZ#V^W-%YUi1CTDL&qK7Ye
zv2s>jp0Fdz)vjWD7FFi$5<Zph6DIr0Tfcn>l<9N8q`#y({7wbaH2QtcKP$Ye*t%EM
zrr7qm^|xaC*Wr{eC8e2Sl-OA(8({F6`=SY!qdp?W29~=%7RKS+&mGLgeQO<z-_CPw
zD?!f+K2+q5wqaAXz)EKKpl!pT?CGBG0CJFLE^Nw7;gc+99<53HuiRLVo+(hQQyA(k
zec3Ky!b=5rMrBx{{_F)lD#$`b{zUhh*F|-}1JzMVrj3dxx44BkH_70iB?rN`gw4|?
zLKmHqE%I19KT!*ZpPEm3@&&=QF;`bawbQzl+_6W4mQD#KzH|&2L|2jwzRC!*z|C_5
zIMTmO%sPQn@nb4q2~$>0Nm<i&*Pc97M3St>Y%H+}LooPRp(&T?udY{B$q5n4!iv=G
zGeN3p*G(*E(cV$ZzgLvP^&I8I8<xW_zql|UEMWVqXG%h<kX8m=eSO^+s=%ev>0#Gk
zMwe%Q1bUez8E?E?;8Jk6>}hf9ZN<5WL@Va+uj%KRe?|-_aRI<IxF$lMEtHN~rUOwr
zV*2bp1#rLx)(}#%!24t}67WpoP9);2uFXTW7+?0g%j@861_fr748rDsO}F!tkl1Gu
z0d`{S;rm3<`L%9Y3mX3i+Ovy;aos6^b)oG+quiQJuxvqskRx9=i!wg_wn#0nff7Wk
zc(TXfW^Ibwi5OpxO#cN?m0S8^PAQrbt}+VbOvY|VXyq!#?yduaUV%A6R9{*hJ?A`s
zJfJ!bh=*s!3E$P`7RKkk42q;6V+aOWrDcOR>?r~}AK*%s&xR}tyB|L59%$fM7`(!>
zcXlD4rg3tUO*x#H`M22+@-UOcl;+b#tPp40Ln}vIztuhJJhAKevUU01k-5Y<fWDlw
zZi=|inv^WU!1#N83Jc$J<^F6}^H;hk6-pQDEo+!?@!qM}H40Zb!7#t%&e+W;zv#~`
zXRbm(X@2tzj>dxSfMbV86YZ=5;y?A3FkNxaS9;HX{luy?y9@o@G7!bbU*Hb&5_{nZ
zk?NIkQ9Zu$=CKL`wH(xQ&fs*KP&iipZ&X~68|IYHx$FYIhH~>4{;B@*9Pm;+RJPlI
z=j^BJKK@xI0}fMlk7PfUoonfz`Q^nHB=h_f{<xc)7{RGalemCxBpbMTq&1Uz&qPLc
zc?$!`nSZZqO`50szToUm-DReLMc1tU^GP70!vR2RnN+?Q<Yc4AeR&z7LB}DR@i6k<
z1@?*;7b>eb758)a_yLKkX|44GGk#$=Ok~dR1Wato2Px+AoA8B@r!nTL5w3qe_`GaU
z{y>|Ft?A<hTx_H)i0u>k-hn`Tltj4SApaOvm**T_Hw3>?yUj4tDWoS#>rM)O7{toZ
z<I+z(+&H6#c~=lYhjJLPSUO3N;W@M<tyk2<G1VlVC)Ufmeod%Zw#1w&V=3ilm2KyU
z|8c$y?~@P7O8xuiJP|C<0R9+CB}C_lQy643?W$8o1n`-yWW~s2QRwnXH@_gA&29#3
zUvUPcbMh=B2ICE6K4ZYe^BHRfv*)t@%GhUJN|g^z+i*Fi=(ERAyoFv9?Vde!;AP$O
z;uBau+y6~M=NE9*%Yu<d>E1g3Tz*T|_NQxCxWa|sM^E@a%_BT<4|t7;08x1h&z~O_
z&AmgjSt+9I*RlNhedc~NyvM-hWKhqmIKTNu*19umy2^d~wSJ#O8pK}~cSDR+lRl(g
z@245LOMC!NV)c1Aae9IuJmM~Mc~{xr+vOJicCowtP=VLtrO`cUHpX6Wp}OvUe2&%!
zh1;5}qmjg?-re?Tkp6LNL{-qKM`IXC@h87r`m6t#vtfCs&u9ebK7I|DeH2qD_lzg4
z(-gov{NW?CKa)w8N~Qr$(Nv`JD^S77lYqKBzPhMwTAed0JI&b(T#D(__$^jQ^Aw1z
z8&`XBFOAJryJit{|H*}Yv{0t!rb2qn7^jVwzj<I(eGU{kY+9WomHDOw@?Vvt8%?#z
zbV|B$>3yK>m#6b$#=4C{WS}zSfhS=huHAJNE+r!t;(<vthC;$}xzbn<;{~Vw5Ydh@
zl48K_1ijYvT(XD33-~=#dz&OKdj#U67w`S?$cKo04Gv+9r^QVh8}2m-GPLv&EhP5h
z@`mDV9sXll`XE45#GZu<8)<v$lB3osI?8^s$KDld53akFF19A_@Rt@P^NaHvx7@=X
zaxV$Wd~lN5`}_IX_n0kc(M`qJ_GVW~Y2MaP>!)H*>jctbzgD>9LOD3}&)RqDd<na}
zCC3rw{zvH?@zq+2IH7;^?;htx!)}nSy!T6XV>uO))k#7(M4%*#<=ac|%P%DD>DFui
z?9cGi1)$i9eg=PVgtLI|$5M}3Mhspc!2W_nx`<4l2cD?c_BYsWjrC%)yf#t&4@5VI
zwbYYkUzHV^b8RTmKwE*^oM4_-L9%jnHz#FEV5W{gXJ3rtQDx||X_I3zp~jJCo?Act
z6Pz2fY+&QVrLlL#TpRp(-qI*?HkzSpGq_}4u^2Q6(T!$BJ^-?Fc^J>TYxj|kx}dCu
zOp47Xnjj5}{|W!Q!YUP+W)zhEyX*bkSEF~Qp(`pQ_}tl=JKXH@U`IoDt9I_;N<o3T
zWq>Rqp<R&dVJzk`h~er1YxZDdAg>4ss(288jxmddzNSZf1}=ZPphpw?NK?@D)>i-=
zz20&Z&(7BMxR)if9iW-hBPs(BAtp$YggCAay(NG(4oTcAyo>fGJUT>JZi0*iR;Ib9
z;#G;V%Os~Nc5+PU{P&Xcf7hQ)ue`8}=aJ{)!2^|SbYX{2N>5xXj91|zDVr^TszVxA
z5fNnEb-4n}VL)TiPOPd(XttnTqB_+W=&KhKPr1xhCW8?4Tm&7goeu=dGqG7?sLVt@
zt*8yHfYmpH`dV6~OTxO4<N{Pq@fXQbJ;lw|eK)30fkko`%!#bp+&!BU4-VBuR9*8o
zUVF)U<pMF!MlcTS;&XwJYIMm6<kPDn($h~Iz4DIBjgzb*sOP&Yphlm1B(w+%Ni(Pe
zDJAQU=W_&9fNbOwI!)|`2yCx7olP-|DuNTz`5DmYg8nDYs*G+PiKnrLXW=Ixj9@}D
z<;u!5t6Q~?UL<zq#7EVx)GCB%W~^^~vlRbH4<wUkX0$bp-~b~?v1kK!!rG`jhsC1L
z@but;e42F$*E8QZd~=eWjj!q8bR@+=5zrG^wA8I)-t!aXdCauCKyp9Y73tW5;ARkI
zhEkE$lFo0;`6?vbEVon)vu!&`#TNjqN`fM(NzYw9DGI*glwR+_WE*3FDI)FWw2!Mq
z{~K;m@pf$aGa@%vk1KWdOr7U&%d-(qG)W|L?CUJXt_LFzR<s)il>tODdu$A_a36q3
zv%Vx!Xi`<|*3C>_5)IK@qDgS%;vcd%z#?S+3GVtT$&VpaSB{pRsC438BhHvRD_I^O
zgbYpOPh1Y+31^vWRuPMiA{Gf0PbOC+e=ot9J`mrfA<PXBuXb7OfP$LdZJEMn@93v(
znO@H6QJI#h7_4YHPSEktKUa{VV-8kdF3teS>NzmYc5-`^cJVclJ?itq`j)b}N~QYW
zI1G#u`A4}C9yDo#UYA=~B;G2?XsxSKPdyzABF3w*b{pVn{Kvh6A~cp{e}Cfy8FK@;
z0nvLHqC)Z4t&yEFH<a`3<%oIuY%SYV#@zDVb0GzaQIJ2P0b6LC(?#oD1K>G65p}L6
zTvQ^O&SV=Ebs5MIxqYVXi{U<*+{DbWY$xNyW%AXME0iMuCy7|8r~f>(^3k>gH@y;C
zVO6j$i{RP>X^$Gw_mHLcRnw9b`LIJicJH}l?jj9Uxu&&U<3Ooc<YumS^aoTkTs8At
zO>xyJvR~8WfWhX@qn{$Y(WyshAc)AM8TfH!W8a^N+G0v>RpfoBJVmO``{=wW>-yE7
zw<@tb9#G+xs}@cxGku06^^YI2dXyTxAk$uiIQUHO!AR4_%hGLnl3inVO_B+!Inv-)
z*rF=WSda4I7SUjZ!I2>s^8B+g%^q^l-~|r^Gz+YrnV`Z2R&NFu^JNuaChsOD(7&5#
z0`#BsCKO|=wJG{^sryeO^=HnRTx>`vCVWngQJ5zy#O3Z{^mJE+_)2N`+?rrTN!g`N
zh2`(>a=prxra_qIzL@FH=X|DP4y&PlwhAZlTC(8t;ST1zpWPR$wYJO{Ri{<<_169l
zy#F42WFKOVNcA;%ssu<-y~?Cm^mebWo2gEJHtFo$9PZughb*XkjG@-NWsOsruil#d
zyyEs$RR+8pK{mxXe=<!qm+3i&K@sJ_@6}SC>V>HEU8{EjpMM3~`c)a58lsS+XpR}J
zQ!)DlJ5NM|UFu*5An^NH3G}{#|F86~rXh#xAu6)=3WECU>19j_iz_Anb<N!PV+!8w
z9v{?GTwOoAUsv<R?Z!u=vwgc(BdwnT{jZNk?Fh!~2$9Rlj3DT}p5)AgiBrQBn5_AK
z63J~UJj}X-3$U0@P)6dGi~o6ZsYtVh<<_7NV$`i}Dl01ad=OAf1H_TT`e_uy0Y@yf
z&jKwAkAQ=yA5_k>%-TQ`u+WL_*I#fYJW$5P{b%c!z^pzr?rWfGZiCR*7Cm_pj|)WN
zV*wG6klj|7tMn<RRovig#2GYZbQw6di~%H!1sg|dB@ogECkhi_V5I7&Svb5-ghNSG
z&IFNx5tXPDds_XzU>|u|N#aVK1XCYXUMuNd7pR)Rs}1BLcA0p6<7Dm!%HC{?uakYM
zM6}aCZ5E;$8PZw!dc+wll-b34rRVfAH{Z+Ur|Si=Dqt?}nLu5zqITD54_&c#5_^0d
z2n@chL<P^)3davZn4g3>hG%({)UMa7fj2~#o^*FtfiT{s6`v&@)oVUI_-wCq?sdIn
z_W6qkRGBtrUVXc=&YW_mc`Yk%txo;7*lA0}awVdKvQ$ryK+lCy-$CHL@<{d`_1z+Z
zwer~;^#)cdhADXUo=M65IHL?+?p}a+M!op+dgBZglbwfJ|0$c6A8J{F&QBY(cc_>T
zG?-7QSj;t8yjQW@X|ViH#Y$gaX}?=y5MtIAZpGVZeOA@x;Lr-Ldam9jUVa}ad8m6G
zA*@G8Hl`A;QfC}g9B(%|!siXM_a*G&*@JXRiQy*Yjn1!CF&7?SDpgzt8fD+cOYe7I
zSXOo0X>|Kf)%{1KJ5$vI{>Fnt&6796^B`WjA>N$c=qm8W`?8wPl{Y?T!CrC^wy$de
zI)f2nOuB$oBRHj8I5a_@!_gqN(f_Gh09^ceGSx}l>2xz*Twnjvs9Nyco8b3qAv<qE
z{!_d0<IN4G8Ufx!;84HG+jR5nj~h=LT+XY9wFUh%?VL4e3b#_f<=Aw~T|MG@Q^XDR
z+qau;$Nso&)h%~25SGw%=c#&Bc~jJtrpS8bQ9V%fz>gpuW98V0$OjS7`(T4|wb&m`
zu}daS9OCM(eB2(x0=d*6@uv9m8VTyn370iUS2RN9ZihKGC%S8puQ!u#9A9c%6UOR^
z4XR57sR4x=#{81;34@s3rkF?HW8Z3|-o8bAEW;sBFMhKdC*Dl@Pb1?;a|Tl*^Q?Me
zm_`;avnA`S=0oWg)4R>d%7}a7xY30s;q>JHv2@?jZ2n;zz_SRE2x`xuwP)>BL2Fix
zs#4X)sJ-{B1eI7dYST7W?Nw^EDnad{ex)cHMXA=RT{N%vJ@3DHa!#I;^W>cGx$o=x
zM6oR_<)K=R=Uz(hC!W<XFQ{4`z9TP9EgyN5E~!>f(NWN#R#>Ap`Z$a*5Xw93m57Yv
z-Luw1=03Lb%Q@<J8M%{FD8|m(Y};K4$W|*6?JSY)jE7zlCjrY0I?K$|%kOrUKU9C^
z+WE>?y&|-;B1XLu-&vWaUX|Nf^-{gMqO-a|y{4_R{40ZtUN1iR_*q(esIijoopi;A
zegf2v25P4)?cY)qsKcW_&wV&oq4Tw@MzhMPw}$#fgzW14LCf7!d7HOy?jFdq>d9XQ
zw?#&_#k_6DYjniD?MOTA$kpg<c-z?)*;zq7Rk#Srk85;&dE50(<Ney(_uCrXM{m2S
z8YJjD5>oRbe9@%`;w41@5KKkAZLy@IQIVF9v8`d>RaAb5H-O*v`<~6zE6=HeV5Gy#
z^AqeS4MWlP=8AX24N>WOr}ARp(SdiP<C>!;ahW9W*xI|XZO!qccjHve324{E-n&fB
zx-Z<HJ{9Us%0_>ZjQ&sIoK-FQv!2$ZcGr~I`P5ylY2U8t(5}ysT2nDyGkC38*Ylae
z=-I&Y*_!CNIIX#Et*^aZUk9`n#=908&KKIW7Pq4(yL;s>YmWAJL}}3V<sK)l2@(wV
z2)rBvD({!Ud5vbVVi<t%-5yrL+0Ys_MEf|FcNE8~Xs)^5>(dP8D?-Cn<JM0PHRsW?
z>tJ=iUJc$hO>;86Do~3OqMSuiZPeVZ(QFX~e}s0An)GV)^-c(A{}Ju}LygjW7q_Ra
zy>HOHZ>D{4xBK9s_MvO{p|AE)X!lW!_A$QuI8FN`xBKK}%n=gIBNkOL+8L!l$2(9Q
zALhze+OD^)rZKO>`&*m(7Km0=P)Wz=#6h7Ydu*ald9^;Y3udV{&ZES4MO-esNtbja
zaVRCQs%1JGJrlKfWz~`S$Ru^bBSS(i(Z#gzsZD!T;_V94f-(=C5tXcU^U$2DZYR1=
zbl|T0N&3+t#d*z@cT2~bnI));&GgHS30<AYaRx6;!^U2cwU=F+?^1uZMy`+j+fawh
zNrtt&tKBi#9|P_%>^yYeo+saam*?*^kS3^IZ;*QRk$Z-`Q~g>EBe(U|;uChQf*|+*
zDl96jy9$Cmzce@u<Y*O!cz<p4Uz<ima`JRFIRc-wLM{E52k<(^@1thq%s&<f@>r+x
z1p9nz&v3d6Wyldmc1kk0vpg?{+-s3b{Zw=Lnx>w0Cw|*via+;gckN5}%b1w+aMwTX
zEZ5(o(~{^SCVG;YEm7A=M)3^E0w&kdo-c$Y6pgtb)DBk^*-6+W6h_U@`sIb~3+@(%
zTDIT|!+ux@vPOnvVDf!usF^ha9_@oA+>OH)F4@fZdy)c?SyiijtXeBHdH#9tOoqj)
zYA1~)_vUJ3Nmic(p`0aRqYb^^hek&g1WcY}Dt);O5m5Z(OiRn%a_rTnu{(NuT<hfb
zf8*M~sphtCu?#Sl?<wFL9XE1s`{Z5BrG79gwh&nnCZ<C&8Ub_SX>tCe?iEEIu!01h
zpjUzh1^4<*47qOiOX7873p!%so=$|nxf2+mRL+^Uv$MqaAUm9<B;ImCPRKogD*)x*
zw?pQ(?D{!a<o5tb`^DMzVEn5u8F6=>>Ij>tFs@V;j1Qhg=)}E<N@9|X6ic~UNTWOC
z`a)81P!M$WFEdR%9fq1-!v8oGphMgEd5D<H`X$p<GC0f}kie!Jj<1gx#h_x@{u&L$
za#fn6;FZ&z=3rrcPNA2N^OhWF`Q!$Vh70}2Y+c2hFF$GMxqc#;$m_>+o9pV*&ACx~
zv7Zo*`|3-prseW)A0^1Kf~6<wI=1G1HINzYy#AxTLZiCGq*dR3C&_8d!l1Aa2c%_^
z!)yt(GaLMeTki@cddXnMd4sLwuJf~wO`!46f1GaL9!n4Q2*cXsMfpPs<S#`7frKdH
zJpoKUeaNE18YP>JeSN3T7qFH?_ZU?IG@qY+gyD2X@m&jY<_eETL<p|=$zmoPaN4ze
zcTZOHecx*X1gJ$Tnd?=#N7eL_&VP1f=4*f-+^*7<zqGrCef^U8w8}L}=8pw54!>s<
zUQ_?R6UHy2KByggCIE;xir)9{mT9EpTb|%l09EAB_vvxGoHWp$%Rq)#Vx!O6KU9R|
z=pcOjT(wT~^9VqZQa%y+9UB8V<>I7~ymZd@Vfu0s#d#6VdTdKr17(5(Je*07NACWB
zh#PZ$M41p<4QAllD_UfDP;BBb=B8qvO(L6%KC4=KyyJIyWoe&`Wc&T^9KbuR&0G@R
zo=&W#sHq~wYr~+xLOZ&aa+QE|CzQbnfX`IriPSqVA1WY06O96eV)Zx}*Kery?SKN>
z^>~(^QM2g=aT(-dBExUPiyAdOER3K-JF7FGJZzyJl<pB|x*n@mPX;r4frUTs4hmlP
zt2^?O$kIa@D2lnKMG(j|D~78Kt-z=H#~;H#DE^SoP-9-VNXrMkeqi-fC{}F932L85
zL_PM0JKry6*hL8>{UJZKoe^ZbyMw#NeJDrs)G7A9yrtD&hg4@)VXlLCTEzg?TQYFD
z8=u?zcsD3Oy*^*i?g)UB(1)f6EOQQE`cF&xbP{i6mH6yZa$v&Aya0#zZGwT;Rz{*J
zM6awLYhZYzAn_&%#J|VXFOp(`ba0MkTQhVwmUqw_l=EgCB*Hba+C`KsdRUW&XbY(Y
zE(nE%@3gTbA<km%J5{%`tL<2wii!SWZ@5I&l02-+hzj&7S1HUh<Xal*0a<2<c;3!R
zfXc?FcsajiKP;!AJv|5E;Z6@*K=ft)kN)j)_w{HZR)4Y5+O@|H;-4-ZyQ)Pq*|5zh
z2{yOu@s6Q@u7j?qtzDc(kRa}<W^ei>2t@yN@vL)w&YL>6FIS^=iPBaeEt`p0?>7M1
zLd|BenYc;wu_Yk72n<m$jAhOQJdsIhi2CcHi(Hw22DTzgAbfc1`HO?bj4(&Uu8g?x
zC&7~WH2Qx817%GjL{}9=1GXQzW+hKUn@(a{P6h;|VjzN~hLZCG-y5<X)D|Y|B@RcS
zXX;mR^v~*rFUiBJgl`ql-)Pw{mw#R*&vcW4mg75rA%@0zCIe=NV&mMw%!yN&Q(xhn
z_)Sk~G@W(m%`WfC@5%KduECLYcd`ex4tLXV?+R*Q1~rNISh<UrE0q|*h(Nu#;6??5
z_qMTlxHmu)VBm%442cO`WuWxt6OM~=L~lO>eIlgB<V~kCs)!2Y7-PN`#8j4p^VVhf
zEr*x<49K=C7QV)f!>P_MF){k-s~U@r2<|h3!bbZ~TX|vXuR`wDzqz>QXqK5dh`qR9
zJmW2<4fF0_I`6I+E9S2}waaSt+b6IDE;}qlg&p$!yqO{MUZ^RB+SM#}tlEnV*a2gx
z6xsxWn8x8O<7+uVf!#b}WOqrEpRyz9d}sLf{qu+3zL9Z2_GeNq=89n91acvY7N!7P
zO23symJbrY`N;S-<ZUeZ-Fl-@=v+&My)O4b;|<ZLz%)V7eZDL=u*Qx*W1R5)s|AB(
zcx@x+2u=QXwzlJoWT5j^pM$}NcZ6*!gnwV8UwOitbNGOgk|+vp9CrhVT6eqG6WoD{
zF*Oth8K@4k#5ZcF;J4<~afI}z<Kz5v4p;0oKK3kYF*|s<(R^o|JS=(s%-Z`^(~ICb
z9_Rl+)evr8t4p`8kAK!9^Q-mgr0R%au+HK*1^!C7k6b8~cUoC-6itbX>U+bmshT(8
zl+_?*peO~ntQmg3^nzo>NdRvHXxS4))O^0R{&^H+a|nc2`W5ayf0^0FaH&Tw^(&v?
zLZ6{Q_14Y%{tK)LM^DzemKfJ&<iSvVwVhp&m{1`ukbu8D>tbRb>;2=5T^hcCbWoHl
z^YX{ge|yC-JgKg4Qj#3)0_w-b(#>4iK5(i9uMiC0#3rHUFr?+QF)*WQDR16{REY_R
zKj;EDc>SHE{0^7$W}Ernp9<}t-^Ya$a6i4=HzqFj_(a-x1O2Uy)j=G0J!yjEV2!1@
z_8Ca?V*|tbb2j10Wa}1KXJWE*OjJ=298?n#D<nmI+LJ1TrbFw@snP;(0U#jg^u9wb
zD+OXnf_q@E6L3IX6nKmXnsJxxsdC~Umr1YN{v*hZ#@J_JpeY|E|2lAB{UBFKG2aEb
zpQ1qeXyAR+w5Bh7h)D*Glv7M9?U&}~9A)0|mcQ4qaId=Te$uNk9Zpsp*+#I;ZCpMt
zfrHbDAXePBQtX~n%%tJK<3nKi1E`c+W^y4_1xfuCYhsb!WvOTw{M=u|NyC}vG*lL+
zo}lA9RxSKjBwXre-RKfuf+$3v7(*M&J&LAvZ{%=(Li2>^@959&D(A;<4tJId7}T|?
z1abz;-HRHcMdO6zfWY}Dj8>A|1T2tx8Sp6t&-tQJ93nJXJH~af7A4E`=DI>WLCm~l
z+E!xzV<DOkB?1IpcybAECeE;4=tU8bA78?ogyWx=mjKYY{swZlFA21Haz8E;`|fb>
zPZgZ&wIKdGJX`0|QwCZW3Vjw)u1t{sn#U_E9UcM@DLi^f$g78f6E^a=R0$-*bPh4F
zzUy9W+<H9wrl$PB%Fli7(<>jY##O<Vs$_OWaaYBnr7qPpERVUJz7iHU8e1vzV#9wx
zeV2d_%1-t;@H6!A^#D2FFY$<iB;WkusaxXA6csF6x_ecK7uCb3t84Ytfoo2Ocj>B3
zY9g;E$X*cun<%xM$3%R8!bj!%BMVfJd$S3jVx)cFCwH4jf-eVTxxKRTxMXA2bF-4n
z8b`jW!|syA_8Exe8s&76y_)x`j~y(qf#aGfLvs4?JJ!12!u6x{ScN``J_%5EZ&v=0
zAf_gx#<{9?P2RF>ndg0)_&_FVLXd+|2L!p8fSAhUH>*7l<Q;jEf341beiib?LJXpy
z@g`8ipH?W9R#+)OUIc8qf%D)LKDvL2e+S1mgX3oM@d#+p;_`9F0N|`n-@O#H4+6FK
zAS$U+r>GmJIa1;^WUk6y^?eti860C4hKoLyy9LAfB2ZVnMRz++#xquSs_A!ov!2$z
zUPF&Y_kVIsy_%-`*Qp<G^Sr;z5}KlIzkkD_Md|FeH}|R<B|(i?%B}CSV)*oSpMy~Q
zRjb8G-NY8dR7GLAAQoOAj8e{$LQ)s(lhp|_u4>V{5p+GRztlX)q=Qw#@DkU3GUq(*
z#IfaORZ`uLO7V~Tw_I3RYSU`6gwYvSS#z%rC+r#SDw-Xz3TA$0zKZ%SQp{owFji|Z
zMjV(A>=+wl#do$?@J-3z3o^a(CV6y8K<bU9v=Y~QvbgA!@*L}}ZsQ@L8wSCj(Ycnq
zbApCPL3eE582-#`eMbWONow6}{9MLr;jeVJZL_3ShdbinZnTmOZi>5B$7E{nCgnf*
z%mbTzwrdMyzTd!m)N-YJr3bbZckb0?-)p#I_a<AQzvVVLI9WmoKufwrivsMEFJ<Cx
z_uf&S+c#}8JM~dif7QzsX7zNd<<3Fy!_`a~ZEpxR-QI-=8<Y`~I>0b1JFtZ~aJ4${
z9XbdqJ6;KK6mNBuK6I2<c2Wv))Dq)rY$+XHu^7KDY}D#J^tseHMDb?Gqr0v4_SRm5
zWPyDh1`q&twj@Be#4)(^Xkkial(vR~a(fcumdMUHjduHja!(F%o5i?4KXflv_9zeW
zsA~17JM?H$_IwlK+0p9Rb?8a9_I%dDLIjxS8>uQQdryUU&$fCm9C|M)d$S#AaNTkK
z81K4!$nsH;i>gl+0HFjXP>iY$_Irm)uVlS0922%sf37xvz9WA@l>n|bv-}pBm!GYR
z1$~r41J&9BwT=Rn*o872*d>6>jzH(lLwPa13Rqk4%W>ZKK+ZFEKQ$f6*{NWQWxp$-
zq2X<z(MO>;m9QtdZm0WZzXHtVIfAl7!}Ht1pMSZ~DYz;rCj9lVX}MsYQYOTfsb5>9
zG-JrQwZIP|yYf`z9lcPzO7v7{^lV%7LTEtgo(|>?*d-h0F_jNL3_l2sIcbYoQjU0o
zW>h6J2T*7)1BFdkBRQ5U3;KB|<S4=80Y`TGO)N)<a;zCR`det6T6>(<aa{D5hrs~M
z*GCvCvtanS$_3o<#MZ{4!HV4#0B2HlX5-|yEWYH!$s`|!ukeUHD2|oQ!yD+u>9iA4
zj|my7iHRzYO9z<aDe)?bF?L}|RqaVSN5<txv_cLEp6%sc#R%s=%sV=Sp_$|;PQr+d
zBEcqcwmo&>I5kwosC+<VgBY-@638(vP(WrpK4$zw63Ek`UB@{BZPVr11=i6}Wg-uI
zD}OAJqgFNZikjmMD{25{A5iMU)=rTDG7BrE>U4OH&BW@3r{azfS?CL91ZJfMD+uwo
zu+6>`PCtqE97h910A2$a_yaC@0Sa`V=y}1W+@~NKG4wMScq2N;Hk|%-2%MUQp`Sz3
zO`;K$<AM)4iTPD5@37DxCXD7b4yR-mew6GGNnphRP8;rcF32N-&5)iJc%cJID(0K!
zaySRR6$yWN!sXEQjQcu}HXh4XiA(l8u2cnb{j1}=rJTjbZLY6I7@5i9IHG-e=>CmD
z*FOy4#UdW4`71=!asuE@A&5LjkW7K+0sz8<p|1^xzmm`EP%h=elnVkFzXKrigFe?N
zr8Oappq~t^r1GYY$~t8u=3>T`WFR-1k+m4JYf~gmrrA0XSo|Y!2IN~O^FIb|F;4TB
z>DWoVc`iz<7M<po8RY6;68Qd;BVh@1a3XL>HfmqOEF0CHsx?qgIE1QnE<p-7U~|N#
zyG$7#Z2W&4!B<L5W?cv9xG!_i4WP;sm6={O0pn4ycntm1kla}cqLq{%m(#pNL4?c}
z7-=9TF$`f`jQynSxSZEqD4;bL#z@^wt1u_=u=Va+CtgyE-P;!LNcbcMVO5Bj#=u)q
zut}o(7b3!DjwZga<*r7Hwnn*GVf&M>1^7dRkRLn@mHWI9s7!hN1OsoeYYRMW9zeUT
z0wC9jj0yMNrbfIko__cY0Aa<_wo;gsDOJS<4g>ks$eh}@IDs7^Gynzt<C8w_;9Q9T
z-qL>|33wsiD&P$44n)H!OR)Z%4xF|xo5`TZBs!`liuK=;e+miIi5A%J{7}dt^k}K!
zr!uZ7l>Z-s!v!bu71$JBWX8&qC4SF;K@4_T!%ZWSTa;9BKq@pMf`7aMQ849PsJyQl
z@AHL#1fq`!iQ$I}FrDk7B{ft!U&se|(}k}1Njscs%`i~}L{Sj83J?JiJ{OLODyjYB
zh17r=5e1C?OaNYN^M1^yick>m)ba+f;y-BN&y>fH<^lWnVF877ycb_F0JL(y;t{v|
z_<ZVRQt3DBh}J^s*HdtOLFG@4soWeHBoG)u(qSUQxgj*A>J9@PMW1?^{w;A4CP+%Z
z1ir&FHyzT?b$Db*T>r?=#d&Lj1!Jh{n3xv}P?l){A05a#Szv5H;7ljFlhW4~E6|Rm
zZ|oFUCzGNnbIYTB_E8JkNAPGtatwuj#U2UK2!8Y$F#!}{%HWB3_iY;z_2~_A@F*l)
zb?{PXtyHJmHw-s|1QH^FBIe%y6rl;CoaLaAXcDNB7xFF&p-wvyNF1@lj!t2gde5@Q
zNdR^%;ytG95t{y;Erdc`1=`aSNi>>^fXpZc84Xw?pgY6%lK_TB6@?_CU?muaAa2k+
zh5knZ<my)h<3icE8C?pd%-!~rEQ<bz{*S=Ij>3>JHWWw*4KC_fWk%5w0hnUm&8Zig
zT7TWXkxK7$ZROgCPz&<JNxg_M%rrIf;t_((W07>^zU&1O9+UnHH_}+ZCsB+9Nw8jy
zs$*uq^J?jZ%tKT~*W8zI0heOr76q0-`l{!ktBhfr4v+mue39-DJ#&7bb_6dan^dYK
z{95pFs$~!Gr6f2EoSz?gf^RpW053?E-YTgGe*YT<v{BrQBy{NjY`A>!;}UT=7Xw%9
z`ipyj$SVPUCU$XAz|#~sCvlW~e{>0Z#({mC&;7IF6OclI4L?MTX^cnmFoyBNhyVy2
z{R7wokAqlJIC)F2)3Nfyc^mz~x;O?^uYO*63P=dd?6=74AP0O(qP1LPasc2`$=Onf
zeg`Vx(yQ1jUiFGr;I$MS#Lr8eRHcC9&X!K*)=E;Wnk>Irs2&Yds<v=@W5|{luOw-G
z{h35K7w}m;Po1;TRP3Q_-CWDLR2OkgwyxWit$(+-_p*1FNW#BId*&a~gxR8-P1jqe
zFBT*f+$ugwUYpu6ZPzDGRkjIC*Rt!6NnXOAyCZ`1#R!v|_o3WI_w<05)mnegws?Mh
zpQ_QeweT)-@0GEHYLU}$5|8%NckL~qTNJezMy<~MpPzPZ2ab3J-iFS<jifSOdw0CM
zGE%6WcCG90!SAncW02bKqXMZQh^i6_d+pZH=nxf&!BP>u`hHD)j_it-Mr@bBie(nm
zEF%>2qX`~(2PuJ<d5S`dq`O(Rbkl=w|C#=!=VUb4BgKCbBGIMu0qr~U8Iz<C8~;ql
zvv2)72THCHO(&N~qD{O0hMW!(JhKs^W4{S8z{A@oXzA!Cf|eofocXJk{%3Socs&el
zaK;Y+;ZFH}6F_GjhWGTYMFC?*YZfH?8`dwLsb<D!OSbzPy`UeP&Uxf<;$))|x~g=K
zDM5-mS2O-x?~7_8^Pb+Tf`6zd&RMp~cWDR<2eX>Rd<9&WG7|#wee2)DJZoQ%8UNBI
z(Hq<k=;Us@ule~L=G8bsZ|K$3&!6n|dRWGjU(Np<oTBZ|{D(np^g;4wIE0%(rPu~b
zu-#_$<h)XxEM+vrd|e?GD8l;?(9!qwQnkjX{L9%R{oMD?RDmgQ!}NYmU`0lPnHSSR
z0vGK~xdhWom7j`%yy9oibX-N!^)nD!tjwl-_ME#=zBgi-K<$OROv{J2hBCXgt8k7W
z&*L)MQ4PK`?=ki5(PpdAjjFXP*-;LCHnA^mR9=y3QMWBm-uUpvUTLBiDFR~+$*X9O
zhJ8_BQQb>ZMrCo|(;m2=kjAMue+T4vZs_D*7cg!bx)Acsc-Zgl)<R9=W9s?+)>!1N
zu%!eZpIcX7?33{VQTt0qF?h2Vzgx?A^DyJm@=QIP%iJ{m26We%bRis-Kx+RJ3;h*c
zegSE8Z<>%Lyy=;!&;<I1s31n?=H(90Ray%)5DfAA47^0EdxpCDL91LWo>8yIq0HDz
zf~ohCoSGu79<sJEK1*isEgELUi7LsUiCZbpcHoZJ1aqK)vA}-eG&HQK^m_4+e^ew%
z?Hul=BTOMW|CdwFCt+dcY4xz=!X7R{(<`r=lt=Zx`9#o(6_*3g>XMQ27bXpgpd+jA
zL<=b*f;m)+7aq{{at@m-hyC|;G3ZUv4}cGzR8oYDq3c8ao8bLs*f0Autj{^BS6kQ1
zF;WVz<_q+rVbV>C=f2LA?ByJ62I2>^rh}NIP!IGkhI15*>;hHE5G+sP;%x!2=ScyK
z{ZfXY(?mIrA;G8OfRR2Qp;z)nvNzTO>3E_bmpFpb9{tM{&T_-Q{>Sy`(RN(i`|kv-
zGQZcutMYdN+VsQbGLNtjsYkZyIXvz|`q|H#pvwKbwH+tDJoAJ{j=zBjAH)7^|H5L~
z82X#GQ;n*F=KAt!?xW5^&$zc54MHe5zNj51fx||qc6GR^r(<B@-0vTXbw(e3tpkfz
zq$<?L6UTz81E2r)s?hjGKOQz5_+r1dLTfv5+&{<Z<(ZVhH7flCcCne;k7E7fx_j2R
z&MM-C0^O5o)KGSNli0akFDJx0D_Pg@3ag`A|7D3+DNo7NROTyRZir_I7p)M)C8d*Y
z&?sA|y0I23*13xrxepid%jGq^zG4;w`%Hv2OZ4dUOS$1bmq`RyUBElqjkl3u*MqD7
zo5$a2NSdnk2(G!mS$($~Hr<#MT<a`dV>_NS-BKM~=jB~v_YL-?eORgHo7nnlXF00y
zq8%D+DQ43D;qLoGHY}5A<pX5$%=0D1it_m?a{-3gLF150@=)Q`yd>LlAtwRz>}uE2
zds7`rAuVOnb?#=#bDyh2-qdE-sQl*s@J=M8wWY4k+c(*+Tq>st9r)WhhGCupYD>_+
zQ!SbDUrOoKgQ^3JKHm>CV!TKA;;r?;4ap0?Jwo5kQ|q=o5fUHflS1FENH>Jj*sy8t
zwl-C=)<=G0`1X+HZinfnzSJ+Bhh;uF0te<#I07bO*Qet;7o;0;$P@}hGK}nbzGaV$
zSfn!v>tP++^!XBL+|n1?%ey7_=t<ygS*Ih{lDWRp`lqxN?%Za}x&c8SbGmVsJhEba
zQ>t&uGH>$~xv8!(Ee5`V^4z*$P?LPMQdTZYhD-06N<`ZOTf<j4xF(AvL|jNomACE=
z+~0bg+YSE#+T(1{m1)i&PjM+@>KJ@xXnt)GzNR`7J{DBp{CqoQP4idyc+^(&ODcRF
z%@8pW>GRss!ND=&w{W*<v`4b9d>kiIbu_EKg<39~>fZeHWYA=*r9vCA!BO8a=p)in
zWtO^ORTD8)>!VbRANuUDzASKN-sDmvHD$j7fZrQyX^27m#;k??w~2Vul$QG2`K!xk
zPMJ3~FA<w=CXsWW8C!~<{e`(l#Z9;BSKrpCd8)92rF}xeH;$)n1=U2p>6>nR{SC1l
z7Fsa-D>&rMcItN2ugGsv?^`WhFP0xt*~4eq9_szkP><2D1-Nf}ufWz+$VlXO)`l>@
zpC9ca_ac{hx7!EqAUs7iPU0<<>q~!Gq}gA;*U#kJG4in9C($nIhhoDCTz<?ZH706J
zbGu{wTa@>MzEa*rCVWe$DMPFsSO2)J>gY=<<3Z)J%@5^<&Z&kiiK1WoQrg>{U%H?A
z>W!DMckM$T=l<Pfe`w3nmDBn48)GQsHs7zHhPMk-CBe5h&OV+KZwS3xL_QpJV2mHv
z)7%Fh_DTL56ExV6a#?~oqlBA{@p#QKKd@8Fg+09eZtb?l(c9$5`wHV4k;N9Skv6&z
zJhekZY8N0q_!z!y^KR1@8C3G4u08+5@3vpK#EV=ey>!UmwY0Rem0YF$GT--m&%7hR
z0nf+IY_z_Q$UhC((Vaf08<1!Rt_6rKpZbU3uVUpHgRs<(a|YVqf%ehNDS86C>(FoI
zWCqv16YrCOE~?s=Z&$9Bu?n&Ujkvu^<sGiTG7MtvKSYf~am<y@pT5}rr{Y>Y5OIoy
zN)y3q7@#edUXBDtFv0#25n^&+bta%Q8hK)lbld@`HG=NSLAEE5qa?660a(oB)*uSn
zK63euh04zWZ<$Bx8pi7%$Cz-2bV8wmB3QQp<k^nx%STZN!V_D%P^1{ne*MYT4P3<Q
z&=aPZeJnBz1?-wYj$;9qa*R7f<r8f5$pmulf*=iJ;Gw`p=s<eu$jnI^=P(9d^GLsG
zWZMLgj|rGqNl-$$PH{xOcBMNfGPutmH?SakbYc!6(Vl|5NtZNftv7%{Orj9wVM(tD
zNi|}KC9LUfReLK{>XR*W@*B70HbQboW%Ap><gWGPZn_k*SW2&9$_KZU0Yb`9Wy;84
z%E$GTak|uYRe0l*yARz`zl8b!{NTbyhzLr+E&C<t`Gu{e12w}4LOU*>{pkJ8q5K#+
z_g;u^j`H_*1{MH(zz;s^heuZ;SIyx=fOKje{1?=<Iusa)f(9_b_BfFzM4Xabn(twH
zv0=uzwO;Q8|1L3urz+#tN`?S^rl5GHuu<kW`BciP&rD^e<j`%0FvSH`*WC)FD`(nY
zA|uxX!(YFr=V&-TmNtMww>8LkcY<b<h~!p<;5mW%=@5N1SeF>%ua78`gJrYv_D)3j
zvd8RkP~-2CATRUK2PB$ZLwwEM4A%}14%<x6p&aj@IllC{UqCme1~Y@*bLCeuxvX8U
z(LD{@WmHal7G%SvXd9XN=V{o5O-qMVJZ2o11CF7Q>T0g%C<gs>u(n@*t~gD=kGOq&
znCm*2aFo7x%*dDsRRYAjRTad(%JKhM&_G|<BwpyLmRl5(+m={pTao(pI5Sw}nc|6y
z$}B^yI0(swJoTevz|igPz!3o0A&MdTVp`G&wl$AD1;C~0T&u!e?M@!=5*egfk#iIv
z7VzS`(F<&2!LOl$TZD{e`j@-nFZYaIf-DO^<P@G%z3j-yy(ga#W%MjYyr^#$$#j{j
zW84T%AR-S@FlGxH4?W~A6T*NA_-YA+IB|W><$CN#Cs78l-O1(MC`JvxxU%6|XZupT
zx<qogWH<b!c*je5iPFqZFZEq;0SRGh9<Js2$ZZS~{1drdfz;cGz0E}MWk*h%BYu#c
zN9mUZPN#KTc3n+}FJrPqlFB0zN~DL&?KjFFa$lEKFLg40rIf_xMCUedi}Y@!YsSz%
z{IASbqC%^!9OF?Dnp6=ELpd71itc>rGUuYw>2XY<dvE~=raud;uC%{f5wTI32CK>#
zu6S%*)ka_G=Ha2oop07z`MfhQmAk4~qPn!Y<k`Kdiq6bjiOLtl)wZzeG8na{NutKb
zy}Ht)=3!;E+-&t*kCKb%Q8%oX{8#TyM9l{nF7zs5sJeD!xc1|4ZQgLrCs@*ZiP|ZT
zx-UsmeIB)6)guNsYQMqi|HBl{N92A^s#{B{|5?pHXI#G-5xmG<zgu0qyis4Z@nR#X
z;iS4@g<OBI(ZCLE_`}_>|F>b<t^PErk)EOU{9YsC)CVZpNHK0?l*B=68aa}iGVh^~
z2`^cHHBIC`V3usSblNoL+QgOoTKu#eZueTc(3wf{^+)5^GLjLZHLq2YoA-w<WQhy3
zv046Yt-{ylAlGI!&lZDU1sWPHCK|Td3@t+*h5sht-V+RUuaVhAXqOe0=NwD_a0q@C
zs~kiG^Oz&eP~4>Wi)%DKn1?stdL1RT_)E4mSGD+fwxL&B%sdOd<*(FbGNRG}GFCkQ
zNXQg9$UhX)X+nv`9KK0n^adz*2PKH3>3owoLrwJjG};PBI=pS$@)$Z*I9{9ms*Uud
zSM<YECy=Q-V4Nh!(hft$2>YZtd<)Yq_R8c?jxaXCc#dYQ`;MGz!+U*tJ1GbMM~X>L
z)R|51j3kQ{Cx;e%?fB26i~po!BDpK*SsU83Qx!w|LKUe)gjGc*7!j29#Nrg!IWD2|
znKQta7>N=KCH5V#FbaG)Rb&MK%cOI0r$dD0An*MNOny`@`aZ=8yOyaM62pBp9v-_{
z1~R#&OWw0nDILLvM$Ya4=djQInI~f660t;Nw%fzC34E3%2N!F1)*mG*iP1@ogPoF?
zH3-aILPF1w8*-qOb^;#?m|Ms`bp#6VXW)civ@}UZwS9m5yO@9XHC!bN*^v*JAhjeK
zd-T&TCSBl7&lGd8;C?n$F721+!)$-9-AE4Ebog{SJQW2B-0gMGKyWe9c}JSeq}NUW
z5JMaA=2z^N!W^CHO0&s*CSHU16n@jQzT|g27Q9VtQ3ORaXe|B1j$Dpcv0~0VO|C^d
z-cDSCmpi!%Xg0xZMu8MhN}Lg4lg*&$CMx?eiSy|v&Kf@wZEfd`lwP9UAYpW*>o;H0
z=pgy5)mrBwgx8d(sU%V~sv6FrM;am|X1N3Lz#=gsTsMp|n&_{Ck42`UBs>L?`i<iG
zLJ+hjSFEN4A%7(A?a2GzV|e&zkJNb6(jdr=EOuy2^<%_oa3K72=g^#gci@bEx}y_#
zt|-oFO%9Db_TPTGK@PosrJd{ZJcMMBP!!`9CwcR1jPE09S94s@Te8${R3~z@+LK-h
z#btYjJe8vpPEt-K0z}h6_bEf-Uj0Nt?oA#L-wxnKn9jdO29$X*7iGB1KMutN64>bD
z-TY*x)rFFt{BwU?IC8SXfr=E(;aoL0sbb|gmqW}`2AV!0TUy56W=!2P8JuL8^4=V=
z)S4pSp8`it`Fnfa+MEveZt?T}Vy5|JNunkC{IyrzmnY|+7;omr*3BpyPhLU13GSLP
zN%)drI?FNgB_oxTx;cYOo!wQM%|^`qjhKD@ajd|8vdDDqqJ>g?aZJ&etJ-Xhk#0&y
zeC0WutxNqn{dew-R?F-2x(SIoa%yDT^RFMyYu<kRs`=|{e{D_A=DdmFe82QUS<?K_
z=IasZ=9<43lyBH4t%YxhswwY<E6EGv)eG~fix1WoC?6NYBo>!9n^wIiKR#bPI1l`_
zuz0drzK!_CDEVzKV)0O#O5wwQ`|C}S9R7B0-$*^5+1H{V-}}=%rd+!AlD?kuZ<z8u
zViC7S+nbNvl4D5RNeueIxae2D=Lb%Nd2bP6w=a}vw5wSCccyD~HKt1{{MGD_m$nMp
zrqK)!h+ylhU}GlwDbjqTJN<3TNTR#zA0}=cHz+@&_g*8|frQYMaNRXoW))vj-C8wD
zo~i6w?(&}d4}f^@N5e1y4#3h8n4qoz(B&QI5Ox5tMR9hc=id4L4^Ti@W1KW+=mofb
zA%bEWub-PEPSDq5PFyyQTw)eua4tw*IPCk*5>{s2R~acmiVGNI$oS{7)ELd#xq9Ti
z{P5{UNcFPQ7`0AY67i4-{XndZ)I>}YVHW1_mPLx;Q*a6@hMTkCz>kI-1K~q~mr0Bu
zAXov=T`Z3@r6itAtnJDDR%?u%`{}wy5xfB5dv5*ie-OFLgX}|ht5JZ(JB-J2bj;@6
zN6D+@|EelpZ0wDd*NkoSZ?sGie~nge&qlB5-dxA$=WR7Uj{HRPm$FhkkzU9T+nS)0
zF^}Bv+j6x5FPjrr#a!1Kdy@tUex1*I65sk-BlQcAaAevE1-WG&`9Pt_(I{tUEYSYe
zwgNKq@bPxr-{#Y6h(T<64RJ5z>5436hZn#|=vXQ8gZfjr=%_1Ks4GAH@OVQ)CJWsM
zKPvnq`j3Bt2`C><U5BSIUVK>E<kNj)fr8!01fE9NlRRZKHm#e|Z%e<&FS@7bd!*~U
zr;=8EYXmND4xdKB;OPVyhGqn_@*{e!`Un)$4vxj<{Y~fcT!fm8?-Y#vJlW~FnSOHO
z$GHDB%WMboiP819AI#b)+w<k_Dd$Om+{rcbKe=Yyub64ZP{VcPEECjGAQJoM@lls-
zVR*w)_TT2|ot+6k#1uVZnh4|Cp~q`~d;gRDgbCS(0y<K_qiVoCXu&pd^;X)JWkZ^p
zdmiCv%a465KQUh$kbNe0*!wfj<Z0f#0Jmm=qk$ZR*iq%nUeVd$8;oSyhEN$V+e}b&
z;_2CBoM$GM^a#vXZk5@5`hFvYOUY+tCSzGnxy<lG(v52NmKgCn_0F@Ct0sB!kH*Su
z|NCKDq!zrjGW*|}8Bym+YrJ)`70%r#`&RQbouRx7N79w@{wp`%lpC4qj(nN&yc?SH
z;N5>J+jL-o?H6i(IcZ#U0w)`r>yyDRlFaQ_i&1|Z?_Y}wGgkfYiy4<n^h37DsocC>
zHF(#bI`32Etp)Q#?D+>#7sGB>1p11Lir23D=c+pmE(>!9o-<948e}9gS&JO_gSUSy
zd_D4|ke?t$A4I7bW?XJ#e6%=!61e`U+^pikb64*&+h@a_r0UsJGowP96EM~E)cW&T
z-{i;_Gmbd!zZ;1benL<3Teh52(Hi6Wm7#!MJs^7K*$5nR3$PUXfH%%mV3510;r;34
zAK9!iRxB_cG56Ylok@2cgX?rr*uBnr+sgmOw8tfSm1V~)e|>JxmR)_`z)`x63}f{n
zbyOT{fT2*bVy5BmmQrIlqE${0toR<~7*{o>L9YaTn>0XvT<b5w-)}wgx+Wk=XY~32
zi{z+@TsN%oWkBYVzI<rrtcwZz-seEGYkNVvt@A;wLFT#)O8e&5-B&C+1k!@`EewUT
zgDlrGtpd2+*HN*+TS}FVoO`t^)n=9^N(WX}x2N{ZI4=bs+_7=W4z{N9avU&UF%Fyx
zzWX5Z#$@I1tUi~5N14D^c@DDAX|?VY1|QnGm6~Quq21pc-t%gn3i%r9Wj}V;ua_<K
ze!#=mR<=RSj@I`=z6KvH+^$*;c@XjI&C!Ez@4Q>?KR!J;dMG$<pTsRYUl}0ouE_iy
zQ&%5<<UkP4$x|+UP|N->MPWM3Ddpe;8zx<kJ>0nnVqMLBuiczTqqve+$|!+0TtZri
zww|~Y&1UC1y@)(KS<}-J33n?=W}kH~Pw@W1AaRQhmmtkzWNnWRZ2jv|dtS?FPJDa#
z*RydCQ8nP3s(k9z5`5#{jC(cxouSwN<wW}Ag)pA_yxW`R5iI_Bc<M_f<=bg2m@G4%
z`IT-iM*8>jtabSI3Fk)r$)**(Z#Ap{we=s+I6B+&6#NnuH2Jah>`ysdHu}I`4SF6t
z<MhQMXxg*w`TTztzQ@a7BV#@X&&F{)KK|x*bRM=61GT=0CYb#@`H2;M9I;XJaxiSY
z`OEvs)%?5DC!4)c<A`4)D%2=kBS%d1p~==_Wc$&hp^LM<pGf&*7vQQ$WP8()fOj8;
zSAz`Y3u?sqw3qSgtlv2O-1^44*ev!^?Tf#>VLEW@t>~Rn?rrNyqzMVnPo+TlqjtJo
ztuR={T?1v2bW+jrG8c=OzJ|VPH^U=y%au|LGI~apVZ)s8Yveg~iv;cAl0vawRxCFD
zU7X@Lzawy--Y=W5l=k?yBWMIQfOyGyBl|dxuh4%9=I@wh=SSiK|ITE)lc^UIAII@Q
z&M6nW)Gc^1=+M5%igmO1Y0~})zj1wmSsE92Vc+my(Ja=^Bgb*A6M-g*$+Verv4WLx
zblmrJ#CYkAjAWVwUN@4EHhu{lKb*5r=4i$;K$_$zi4K*n1Cs4a)4xukS2tYMtS176
zZHNqinaTnW*A1LSZaZP6Tok+w21mI5(EKsS2_BQ_1Sa(OmBq}pC)bhoewg@wL_GXX
zUZ!`5Lh8P`ffCgsO|tB2O6NLSOBgeLslHF3&HOU^g@1~S`RoL<KOT6pl7V}Wwa0gJ
z^p*Bl2JVXbZLt9>mmAWZ(k{kUr3G;!OK@ATZvctU^!`XwEg23!6XxNfyROoo-;=9O
zDic$31(C(gvWddt6LLtiT~7VSi+%#l>%DySa`CbMT=_K`d*rNiKWbkV<{G>Z=LVqU
zWP7U`yD4k^y1!Gs!7br`PKj4Mh^B0GJ@KcX%b8!KLj+Yz1*#{2U~3E^rc4gE==IC)
z3FRX)r8(tqmcGm_|C!#_o~pla51lj=<eJrYnCR$|(&z;4e^rFFbpRrB$5spgs?{nM
zyK5RbrxPCBQj=Y1^XcG|_@X1&QFTe-f!Gad%o&(?>~@`IR1MAbKD|hszTVUqcYA?l
z89MT43t1-DO`OguHcA!K`l|y+#>W;Erwe(8THgDdaQEF+%ev5yCW>Dkr`1XTmu&fx
z*(0Qs7=%{_*vgl>3#<1*N0RG|KTLH0`(2LSDZ+9kj`XaL?L3~tG6e7Xe~9sFi@!2c
zqX>^$%*Tel<N47zlNl%p$LIO{l%9{+b+tb0swn=Xs(X=b1E7wbI8c86v^y}Qf*b~z
zumerDzldqEfFYt200{@evuKGw&m9Ta=p8-#@Ezh1yI&98FC6hw5LQR%Rbqn1*(14a
zH?NdGsN9b?ud)m@j4JKoRaz}>orP0-xfY(kEL<vLiHwRHyXL;9Z5R6?Kx(<?kktQV
z{5Oj%-u6@SW5aOd`TB!$u0Zu6Z+OjZcS8oonv@?w6|&#gZ{j2HJS#*?lIX^#D|7$V
z{7|g4INuNow&Es{k_sH`HSRRu`+^BMsEf9L{-1>&!^_HqbY?(2OT)>R%#nlo=UR&o
zWbNkqF9%zfSi&Fq0qNQ?WPw*M9+%8CY6~BSbOiHx`&XQbRyfgSmyki`=DqN{`7NEo
zU%Ud>PD|EXL%SD3S%YqXHQy48uf8&WQSiugiNQ52d9coxfY1N-?^RerO{$!x9QtC6
z*RSLSNNU4HS|LQkhd7>Y6DrQ|)JqLvBh1me<u<|`HFC(SLKeRm3+}IJ3~&wK`4>q4
zdVW>UZ0Kh#Iq}ZrWbQOf-eCB@pvvx%HFQPiLHw<t+?QM2Du9l#!M)9e8}`4Qe5XIx
zJU(2q=ljLxs*;@<i*UE0`8`t2J-hihv~E@;)@|*rz|{MYn3po#oMQTwmHs>Fc)smq
z*LR7di=l&&Tie*SwpF4ILOu(__8+=mke382(l}Q<-+3~!!j#zk&P5;&)AM4-B2jgQ
zj3BNLI9h8zoC#aL8KDbR0euc5XkGi$`*40m{N>iX(lV^b5e<f9czuq)0=~D?L#M9z
z>NDikK}0naX}$AA;i9`+bwo|l@&nR?-?#{bVL-NjAO#?>_AyfQ@%f1B*|OPbkY=`;
z=*^~-zDr#n%#qBT(3lwp5t5MFTuOr&^pOos-^8`X<AiQMG~F32)I8ziy4J<(4`x#O
zY^pm6cvnO0gD|{r7~T(%5OPfG<A-Mrf-{an8H%1oVW4x9T1U@H9o#O>HbP_VXkqa>
zY|c9Va`?V=Jm)AhG@bT=8^ehm+uvqwiOc+FBi)becswiP4b5q_+rb*`U^zujB|SuB
zBZS#7B|<fJy!{E?F;FP4>@X~uYY<47d>@K|Dx~A0CTLj+Wpoo#9ZYf1K^&WEb?7?Y
zAn7uEFu6l4BZz7)<e?tNgu)&0#74Nq%IrXayTFT|5&CkRREhirYUNMD>xA_(SC)T^
zLj+TRw<cv+cVdnI51ImWq=)WYK@8&1H@n4(a>Q$O9aEl5_US&f<8fDw6GPKVV1aJ&
zI9?R4%%mN7z1QFTI>SX~#Tgl@3gIB&yXfNT(NLg6Y<M0BRY~ezhk6s>z8g#c5KeFq
z>QT+`*s#=}i5xY9*Z0FdNQW}*BtLeJ7xcsH(-}mY<A0ZsL!t&A*mQ5+W}r_`iJ-)8
z?j;3s0wb#{7}EhgJFp3J!7czUcoZ7e{^5RKGN}^hl|oB^^|LX*cdQ*sRnvEle?z8{
zI~<JIz4A0VdDPUK;vqi)oTm(-Xj(Z<2tDDVyMSG|l+Hf^6nDFE;S{P~r~-2FV>9o^
zIAg<5su<M-Cv?>V8$B92AX6At8!f4~o@DYFA4EtAn;58XAFiDrZim3-0if4sPp<bo
zt8aw5iP2UW)Ak0@9{qwHn`n7Nn2_2(gbYHdauAOs2qv!@mubXSY*ctQ8c7~1y8Z^^
z)Cp+Ozj*W*k7?9nNAyWpwVgPHbbxOxfXtds=LQ(M=#hJH8O#`mw8zT0L8IHRzrPxL
z`QrbA2$Cm%X>|TereaMrIYH4EVP)1zNDAI-2XF-iF+c<L(hXnJ-7=vXk6pHj{pyUr
z-H6EGd~yfXeb^{Hka8=l&+yi}^gzHx%Ia3z-1V{R%;OMK;41qk-jC)^Dpjf<i!@Rd
zq(}`jGSMjVtD@pcc#0qiLYoNPJWU>er+DcaU2myVlT4{!f6uZDquU(#nPP5V2_RT~
z+Wa-~(;0~@$M>%%No7EV2XO)v3;t9|nGCZoQgUD8jr*hckjZ+Fp7+$CcMiPfVl;&y
zC38cK=ez5jO)SF=C=%}-AUZu+7+@5>BO5`0`pV%=R-iZC`VMMvVKaEW8F?1gRAli$
zDCd7t$H~!vgyRy14>PaK4O6<Tpsd7LMb>nV^#N6-_(s&A8kH}VM-egI{;6S*mevT4
zHce4D!}`xaZ_YFw@TByp!bQ9%r|BldOz+s{TS{oP{FjlS<HmAr2ds^Xe|7ua2RHLS
z|3Q^*V3{TW>giY?0^TkCHS>fieGuNBgpDF3Fwq0A%mDQ!ppi^8*43bKvD*TXO@2{*
z+E*;u%E!L*rh|UMToFLGZ0m^j1XJLUIvX=fe(J_(6Q7AiWY%k@2@pFVU9u*P#+~W*
zbA;8MJF%v$*4}p%nkU7vxJwutP87~8?`^OJT&dVbwJO0YDCMFN?n$yq3TEoLo}$=c
zfm8n!wr+FzCL$Wp-%!~VMafJrx9V@V2yIMwBsMioUB@dnS$vp*y3J?}5H9h+ZE(?(
zv08IaxfGc6W{RXr`oP19H<<IEq(->K-N>U+02mbo=hR)9d!cZz3}F|cX7dUmFPR$a
zWDfJdg3QHwL&#8r9gx@z2zzkvt@ORF5s9XSui=7UUu((M*#XUqlTdWX&nY?mji0Kz
z?E1CtG_KkWma}!A+ii36KB|mY$Ka$XaU~^Scx6A0_x(>=9RsQN|BKEZDxaU?E^=|>
zh7j~QiNLGa_n+$QYq@6r`?&DkV(#{B`_{OQ*5U+ZG0pNu+R8eOucnKMWcvm02MdPw
z-_9jQmc`vUpA;@vIVUd$I6PR}e2|KLusKzEPK{)sB^F-@{fmf)#!C;jy}u;^9v*m$
zNP5RgVJ;BRgx=G*iLcL(5gdoX4*>~u$D7~K9&a5938!}w!oPkaUdB8;`387OdBTZ-
zvI~(*``w5v&M4$Qq79b7N|$qy2Bw4k!@ys^t0n>O6L9z4Alw_6M+y!G^h?b3OFm2X
z$eblRllQC3tnjdFcK<CI6+7^-FR`#Y3V{~gDc$#Xx*wU#J}MQ^Xas8;#%l#$=9+2F
zTNhZ%!@tUim2^pv8ta^tc2wvmT;P*CI1$<{VlJTgLd=w<03jRoU|z8F<HT={Pg$yg
zu%JYC-FlMbvVzRYFY*$nwUdP%j~jJ{=0~J6ts$T{*eMqv$RQ?*yDWA=gI<uK9Ujn_
zb)iF+N0E6-n!_d1EUPicC7Lf1v7HwzXacjus)mpZ2e+tNiLhvFiFLiDuCg;GgrI1>
z^4r1L9*t%5i!-wM@kse&gcH39zhIauNJOl-Djt|!fIW<;qW2T~e*_a#VH%6O^|#Eh
z;PP{lJnaOQ=NKP&{KJobt)S<M{r7So^qRSG|3gNXm|Fw~ksms-YVIT&2{e|UE?&aI
zTyI0v1&xytE0$IejWNVa|1yqg#QRSsFs#!?W5t8Mi~PD*k$tg^T*pRMi$W#<@9xnH
ze`ro!Z1CDjh%*+8p@!kXtUuE?RuzQ5$M`H_+1*ySip+Hq)KRfebI`=dqOr*EB~IY3
z-Q`OxwHy+&G3L<tN$HTv_-hl!?<OS|B&r-$s|F`TeMt}YNC_Uq=B&$Nbw51n_RCo3
z3|`%n;>xUQQXb*kT6?+mYhTB?_=hW2FZX3xf{r;Lg5i4(pqNFKR>vff#S!$q;8*lt
zZ0E{n_CHvO9k79)X!?&DQ9sG{0P#az+CE*W+p4d#!hVh}{vPYEx%vk>(j#>hQ!@_p
z7DR2{-E;3&ULZ35UJSnz*NSDEh_hqsP-%@f>2DcqUA3}=vL8d1oJ$}na^u%3zGs$f
zNuc<>>u)(Gwo-F8HXe_@s|IksmiayGlTG;<zxr$O-`Y3YE!S8zXJQ=lAXeID;|olM
z$?|Hp+g9VX3YNdPr#TzVmbYoJo6^4;sMWHLFyWiYiMd<LH+teBFMmQu>NYcF|8gfl
zzj+@$-o`xjJ#pc4(g$!)fD|WUWo>q)0Slj(d{?(*07&P;2wK_;_EBP5<Ti+>U0wlz
z<NMXb9_PV9@GGR-=70A3(#~#!b+K6CYYE{14n3^!w_oqr{H3+&SY&r69h~pT#s0V_
zBWwsff4VEC|3^F7@ACM%u4iELzXar(g02GT1lTgbDD0cQ_i%Yr8u?Y`=#N#L8nGxr
z*X-ej`JN!vB8X}Hk9N#Hnqz-7L(w=V2*a>zAp700Ey(4z;}4ynTS%Dpcu?%ZzPUgf
zSw=}w`(T|MWGUcq+x4Kkc>hjr@RtAn-I#5gwu6r1;FTZ29=!+mkAB%hLt1u&@85aw
z=%u!Uz~M`o5GNHrGZmo~`w-7BTz5l5011a~vfR$dVNc{y2v@K-)YNDDu=wP#k}WjE
zj4ePmv`{lNNPsK2;V`5-)G|CYOjbYq<xzT7sPu<W+_y{7-;N}HhsHoTu>xTUYtLd;
z!cO&$<Nt@K^Zuv$ec=8X&an=TeQ-GEAY1lc=Q#EXABD)Stb}C8;aEus*_&h~G$^BU
z96O3^8OJKCNU{>Q?|uJp{}1PJy|44SUa#l#Fee_>@uh$`M*KW6($R1uWx=Osf|`gU
zb<DWXs;kBz=!|>%6WB(M5)7XvCWbC&9z8t&o|Ehh+o;gq`Y&t({yCM~7;{yJ=r}YT
z3augNCNrJn*gnn8Iqt7G&hIPok`a#hObb%P(rhO#d`%SfWf6_jMeYOn&0qri<jDTD
z0Dvw%ylY%C;$=V91)I2`_$073p203btp@iJZY^<w-TRG&JD%hX1wYrhQJoeZ@Gk7)
z3#wH4jpPZuAmd(kq16=YX7&f&yrlo1p8f?r-$v>ZKb2scqW|eU=IVBWW_=`HQzGX!
zQ%K_^9U<n*DW3nRXFyCgIuh?R*sDJtW599xN%*uYZH{6X>2Gx^-D7ZPJC-yu9PFQ#
zyiKe71N3m4A^EjYN>CajU3}C!ZNNF2e3WUqeH#=p0!a@t)L6@KST~BO1@-`>f_+(%
zPS-&c?<<3}fsKZoB*QkEC_=xeKbjm1Et?R02LIF;!i>^Q5epFPN#>Gq8>$Wv>Pr>S
ziG_&=3J+w6Tq!rJ3B1(p>dVpl{{mFyyURm0_e4JzYe$2aB!a|7%MH>5&1-|i$Eqw!
zHua2ZNv~_Ky>uH+zAvIk1kKy)`j-<yk}JDQzi=`rZ8`k%+SkPA33Hf}>11Hw_Vh~w
z)GTwDO5@_ignxH)?W>WVgUIndP+QZ|`JLOqWe1Di7cL(hP|Nerg2gTPSrYa+1yt@P
zK6Oj{yO9C#l~I6o{0u)Iei5Ovv(On0X1UznG9J%lFL<RPQtkJ*PbK)Y%MZf!a%69Q
ziK~5}arkrL1Cd20D$=^f=1ut(oyR_YQQ4}e5^wXQ1^SMuH(ZxxoOMhukI4T@)!ue2
z!?777o^-PvZK&9JA99Ae#4-ksy4(P<=`o2{h>b7FmNI>tQT^w!62lg!8XJo_uH?F+
zXhYZq@D%B%m$Dkr1$_0_*qg3M(>bw2io>jIE1wt&=2d2x%FlS*mwCd*Zo6t_|Lm!)
zTi&y5yZq<HIS!*)1zOoj=sYZdAt9S3WI&%=0AK%1MC)X3A}ybW^%mlR_virXI-ZUu
z&EW^Nw?xWdbr)a$@Z5x)cl%fW%@R$C`dr?klU95R?JtgRFs*wap4#e)4E4fvJ@vfW
z+Pdc1+Paqw9yhY4Ctg2$(XyOh*U%O|wU+at`TNrdK@O9W2fwxhaWcO=SAb}j4u8aR
zCPE;$21+{<D|X!a-(&3=vAWN%C%)agqxoK}fJFgat#8@XcK?8^8rT7!!Z6x+Prm`x
zuHeM>w$poD{{miJtDzMt+)aBfKwC#)!6Tcx*=0oQvSxl=Xq@=&&B^7^7ai8+ka-nv
z<<XRdacd_gJ;QQ=obWVYHdXgDDRkTj8FZuj62m9{Bsh!4Em^|LVV#|!Nen|_daT1O
zD7TE`C>0sYrg2`Fov*H`=N}8PNLg8CWlbq1F#3xZzMb`n=#lNYOW|*syQkwT_d;N$
zsAVDI_k89{!8*f0Tu8?j=gpC!?|vme?OvHRt$T{Vi~hk^E#$uvazAS<+5Fz9K0q&s
z;(m3zGc8v*{Kquz`)c8Y>^H{Ww*6|%Ny8-g%1q18w%-eXpGJdIi>Y4RpDNZHgi6}?
z=qY|}zdz$q9owz$+iicQ+)Ex<k!VXMc0UqPokuGQCFucQDoQ#}wls_%yqKk+KAcY8
zTl{x*F|*`C&-pt#{TQ#D@&JTH0~tfv4u@r87#z`ko3}sIQeQ^16`~>bQ<`8mSt9RT
zDIVTWVu?MMjk_911q<1c*~?|)wcev?9oD<JXFm}I3o%SS{TytwpW`IvFf0*9aIP-d
zBweK2d}&bA;f(A<6USu>|LKl7Il1Khzo^<I&mKv)0Au+qLGHGGtSFQv*$FAMK*;S;
zD3^OIH6zILb-i~!hSlFKQiwm`rh(G3Tw3@X9pBb^pU$R4s$hW-n$fse<EPw{WHS#G
z(?-8xf?+zTRzO&CfM4&jd}e;Pn~?Ozz!gFL3}-=MF;g!NGe7yKwZ5(wI`To=WxXt+
z3SlXq4R)Ib`JDG0E|PaPOic&n{a?2~)X8_H)i}bi?yuA9Kt~}DsNJZcbf8xL@z8TB
zk@;MG8mkf{XzqO`@7_9hN$ulCyHkQf5dn59+~_#%OcTK5L<Oqk)UZd5i;AB0_tLx{
zWpTtVi=Txi&?JvCM;K(5%-h^<==J)PsH^C=?jffCwclciX-wo_08r}`!vYT?qrR=L
z>zv|Jy(jwwKJ3~UAFGK5rL2e?SVCpp!Z{-5V!@x1YP2eWFu!S!5_Y>Poh~xtRKE>R
z57tvZLca%Kpjd1Dw3>D2B3hdKRen9-yFm_pnvg6I<+vVe{>_zWNqt2t+mE9y92vcB
zQ_6Sh(hWBmgb8?(=y=xStxf_IAgff=_eK(|`hp_guGDbqsYg>>N{lkeq*WL>$6c%h
zCVr|0)#lIpW{QN*e4ezdTll!HF)(g*tF)By6ybBxV*L!=y~>|eo@o00x@}nHB<gIP
z_P>8+kC*`}Ao8CW?Yo%Ro3q5~*;azWS(#<n_M3{G-D)NPF71;)p{BHB=|8ot`JLv$
zS6}&exN!%h7a4DL+<1VX!cvyd#skzXeV^;u8^ye;EhYDEg1lj4>_IjV-jUn{LJY6@
z3foiur|WnxUAYm4>I5YU-KGK(km6=np&WThCPc$Ve>YaO+u$OmG==Gm#?n7j-MB)Z
z+5{^|ep<hG|BkllBj?ss%G<M6$i=%Kd$f@d_jANvx`W&j7!^_?P#udpN8)NuQz@t^
zSv;-B>lHfWI=$*<La@16)=;wQkef37!w%nX3uQ-98-G}g?|{$+X33pL|7f+BDlNaB
z5lb2Wh{#1zzw4Z18G5uXYybJ3X3Qh_IpEE}eI=!lD8bhsZ!<IG_W5p@-m4tSTzI|k
z#h0@oKe*?yKQ8rd6X4|9B<j2D<MNB=F_95>C3`V1wbxr|rQ5k9_iCzY*k4#i!d4~&
zvfn&NTynQyeD)>RN%_^KaxV|OgL`oTHD4{CJuGF|Tk$8E!=e;`W4zk%XTwvmRT(rb
zaA}HP%Wxvg1&r4WMeb4ar{*@(JX0QbTyDMpI;MR47C3U|^G_A>U8VCMf6}kDXl^8K
z27O_<J8iSH5P75`{D33D(7vQiy6;iN#^bxlHfq$CAIa2j?;*@_Rifn!dHx+X>g8#+
zu#VcWdGTKE3Q|*A^v<Wuqn&*4jaMo=YNKV%_c*!dzbmk)k4bCoSK>P~ziHh~uITJ8
zQPJ93jeI}RR=i#F-@h@<!xK<b!=G1m8CxFC5$t4v;5eb8A2*%VXScMkzWJ!NV|a*J
z{QDFC>Z{gncz49YOlQakA?;u6H0@NrG=nbg;_XCR%{57scCUu^?`v_9t8Ln0ABo!g
zK9u%vrY!hRA=;ZI+*(@>G7?`3v=8|79&BcIhEJ_%AChA_wj-Rev*%OA>n&4SzaH)A
zu;3>S2R{q$5=(wBMaOeFk92VfHgN^{<7MBII}cu2#ZDae^VjCaLa%wGKY$4`LKU?C
z-lzOsqd12TheQpPrHw&+%h;S-aWZz5&*xSLT-PZ|DZsL%LGL)+L0FIW$i&H;MerGX
zzGso9*y-v!<Uh3%v11!07aQBq9`7LFtY(7Nb}Wq)MFnY~b^+NNqNUHLs=NjtFvV#Y
zfn^Y1Q>Tf_9ssc<A{KGgoL=uny}sHmNJbTmLrf%M(LXy-5cQ>fJL<Hn%MUeHB~P-b
z4Oor<00D5cyv$9k-IHPfSUpzT6U<<CjppJ6Ov3P-ES|d#Q8+aTtSML`U7y-607SyV
zM*3OcxSKsa1*>2=J3{%<M-3|F0x!gpLVyJk52Rh!m6q781+U)dgIKt3s<A3KVlOaP
z+yLO^MiR<};u%IgR*D7fWBCXmM>sSNf>Bw=>v$6Hw3mBS8aVWmeEJ1(g%mm(ZvXp$
zVUA?&YJAWd81{vzf$W+Y&$GJ;ENZ2=!fnnc@bP+rTjp+;0xP<QoJH8?MEtOFdSFHZ
zNGTVG@OMdG>y<j`;_e@UBA1ACah~Z3UNoiHN@zLf6>WmWEn(tKRd52VTWz}c#xz)d
zE`}c&OA~~@(cc5DkM(%1@3yZ$vhRMbd@!#Z>~7dKs1ob`TFpvvjwG5@Dr!MS!4Mj6
zE3n-ZrCpMPrjd>(18;wfP%iZOsk3(>#p#cbMxkz^Shtv&2M)1%XB#i%LP8#qc}C2N
zHt<>_xEVd13^g$ZofPYlYG5s37`|%Tz+jXh+^qIQkqQL2!W12eOoT3z+8Obm1`h35
zZBV}}H5;=oe3=(ozLB7bPA&&j!Bz2c0?)L&^IG9q3gda?eY^sa4DWxq?jdY@RzwrK
zc5^b-E_JOc=84j3mjnzUuh*sCT!|Ye@*&F}?GoGxjMmGzj%`Xuy^+s?{^jKu3#(q%
zgWg}72Cfzi=vBNHGUgmV8Lt7rxWJ)r>^{m`R;`6yx}__c;rZ=Wu|3k5B9>A`2rI+E
z=tj{1djPNuW<I(Po`@q%xR{4zd?$_*5wedVyF>o#c-L952pW5l$ntBh6};|2#1b?&
zDWj`qUlecKUcVJ2C^ly%dOtjm9Y=XTWG3hDCfE9GntXF0*FwXr*N-Vq%QHcT+WU*+
z<I;Y4q)94vAFozzp|elFw2D{LvsiQdbd5`FS?hM}^7=g~F=BQuyAqz=1E|oAm9xZ~
zWK_jZdS+Y`*<16>>>N(r6AODNq{dt$U%B$c`fI$zMz;0HWA%-kUK5Vq8(F-?UvKIw
zrjsP}D5`?^b9i;7c%WC|we*}=ucC~++>9EL{Ee$vu#!KJnW_t0)fM8fiN94-DCm7Y
zQd1=FZG`nIj^aWnQ8;C>&)f)T-`nNhn@3XK72)1hOX8JW#YA1=?Z8-ZDZEDfKvlEE
zQPAe|u1$T-+G?k#!mc&qU%a35d)DvO-W&36u(m;B@cgA@uE^N3>tc=BqZeYAS0a5c
zC4AJ?o+u@Ozz90lEPc7ssayjeyj<O@SRWItPs>RL`-@A6tYyXOF0raDhm5V>cJJ1`
z&DKsyDRZx@E<{Ct9OAW4^Q7d<?z;9aiH@^6@ncW;>zh{<DHp%Ew_Mu|7u~~f39|OK
z=+m`xj3$X|4#yA2!FFR%G`bU4>-itlb?4U`T5k7W%Sf{T!U{?Btx`k91ej;tho5@x
z7S4Q;pg^8ni*Y>MH`ihs|9Oy`vyi}HH)l0O92NYbrS@NcjnhE!_V_Km!P;#hdTViA
z{D<UvO5QBj1w%6(;JlQpvV`YT%u#tNT{H|~(1vJF5WX(3-*|DO+xkb&^&b<w)<_&!
zJ{{y)yO}#lVeX$c-=|zQBgq%q=)A`37*S;RDMk=ZR^G2mBA3;U@LG;IE&!+c2t~Wz
z=F6GhH^0j&K{jgLiCRlD8paeEny;(8m?6%>`Gq@~-(D;<j1{}Z%k-x_V*oXG&7Y?Y
z<Jld@%&Wm~GnTMQ08SEtafrK!Ul+3pphfN=8UUK`$Iv<K^%tCUtrJ!*FW)Qx9wW%8
z>s-ad6jnq(-8iR?i!Mfaxj4RJeA4gVTfOS#hW@KdoOI+SK?;uxKyt2DLz)Y;Pv9eT
zz36c;)&fUvPDYB$I3MFRq;_?>5nsy-e0f0s(VNiHar<Mi$7|h?f^qr#P{SWN+UvT(
zPsbfbhjbe8@zuy5vof&@erLC?>cR=(X6y1WyC=0m4VN7iLUEeG6e8=>;x}B^-{~uo
zpK9HZ)vkdQ+3PaxXRCOAC%EFjuhK*g*y*70m!`=)>$VRfO`$ZPoTeY=jKV}EVTxOl
z-~BIlnWlD_R(AP}dzhd11zLGt<=8;M8ac8#%qBS<@3XVX$VJM<u*=NqgvyynH$Rr+
zM6mNb$%{R`F6$%BMNhbcALN|hBTB3T!1V--;~Kli%;Be>$gyAZv%mNqvY6{=m5@MY
z07X%Zf_5Z{`rp|FL3EOEOj7=k&r@z}W3vXo8b*19%zl}B{8tW`Ww7J2&}`N$<OFN1
zZf0|6E9ye%mVP${N?!RPN!dfJHRT+2vD!$0g-HbrO%{z5A;qbV7ghJ<xWTprE!?g`
z<#nA%qSo^tLLah;FRqvCXKo*KLq1b7y&Axgfj5ltX5?NP7{@u(OhJR@$Ekdc>b?Dc
zPUYwvg~Xy)IiXdexw^yZ+ZN-*kZdM+DCejYK+ah~=g906()MWCRQ_H;OAX3eQ{H#(
zHgx?v{x9V+0Wjl%EkB<4tchLn-aifsvdO$>bZ_)^V3$Otq>?7cq|N8bK7O-X?#eVp
z5&lAj^SX`;(Of#-?-;LUgVgoOQpxo*p1-b>t~7qY$7Fcl&_d~|;gfgr+a}7yf&+Px
z1jDk&^%sCsm4i3V&P6}3LljafuC7ad=v2twC5iw*j+u3CGRl{f-?~fA+f*AWx?oXP
zC@7&i*GIvLxIeeY0z6xknU*X|l5zC)T^EdQj4A=(d~oi2H}N(_88WEspO{{0?fpy{
zP*wFhfHp*xCFCVn%e@?Kujh$`Jc(N9<@-8^28JR0D>5N>bI`{4OQkUa{(l_aZib7d
z`9~k_nYV;~W}%-*02EvT2LZrY*xD}fh`%adTMr}tIz@gAIaP%#uG-Xk6CoaC;w_S>
z?^d*F=qybu;iEtdck4ll;x#+G&=G;~Ll;aZ3#V<)wm5nSHjZ~_-Ea*}aQ~d(te*%5
zCfMsjJS86<sw8iPCgTs26}%s{9dSH~6}SzN(<BH~gXoN6x@H05-;Pr8$Enq=X}1N^
zY1Q%vny(pA&^DW@%+tmV2ek&rxjRm2|Ec9(KR$m-vC6JUyz=W%@yMo%_u{67`eVPC
zHnMs-nc<`cl}5LrYF6df_<ymOuqs?A>gY)rP55EnN1yz<u*K=csZG>5MEx!e_1WJ9
zEkG6+MEme`(O(lUy7`SdvQpmiI8WpKkA#rQI`;jTQaZOm6?i2qo1$vjK=+Mk_0GWQ
zOO{7B_(dY+3S^xjf8fRU_t;3vtx}?j3q>We&;#yj&Y5f#0M>cx>7PZBwjs&;LYZdK
zNkbk?pe5UJmzs*Bte5ZSaqsK4YVUvGpL^g+QgzXSzZ`6hcibm1uL9aC2hc_`wC!M>
z0x~QGAh(>&9S5Lar6^U)unGhGH#N>byfW1o*VpU^!CJTJgt6!I6CU=8E&U+ZCc=Ng
z6#rJ@XFUMSDCXNYPP+9lZ{amTZ7w925p#9f^YfPXFEwW0w6)1dwtu)mbLp8xv!G)u
zF=-WlB>{9@m2_v_MU2!7F?yhrP9ezv(Cx%;dsBu$vg>Porj(@1njK^K2hcbWc(w=Y
zSi#a?zyRn{rE<`w;6DI#ZJfw7NcH3eU0J9tlWKDN(DJQ)yp|bR!Ha2jhgNMQar!TQ
zd`tC$q&oReb0h?||4v9#9zduCGa7XyozgqP8ZZE8@j6e7UF`MUo7(-8Z&xYafUX`|
z(aCX$Uun<b8s4`abjO8s{*JV)7ecJJ?Y&8}dQ+HrF*@PRP%M8pnX}&5yWYUZsJD`?
zO9ly+M@FsIova$(UUSfH*9~TVs21{G7(=@Zhxr+m8T%{8VBkso-|$Z5ott%7u{p>X
zV_ZiFZg9E{1Blbo#P6?t4e=x@g#Yu?m(A!-V#OTzJwW8VyhtwR7{2{BdOR*>Eo8|2
zXo}Un=h5%{{q(W#$t(|e`+6Q3K)S*5E1zO=fpP<xm(Mi0l)^c@te=_YDc?Wg@E(u6
zK%T}aY~Q%{!r@);pA$}ByC(O6Y^4aUJJ;X%%)Gt-m&?!b-Mx*;H*NP31y7pXp438q
zIJ=OE^xVpkhyb^qN9Q~$!Ka8okAX~a+qaQC_ihcx*JKFFG6i{#Rv4!pF#ZtNmXp!E
zm5Da(Y7P0jD;xIwWib=>^#jCXL-vYiy!)#&bXP5l8Sny`;4a(0!9VB0f8Kq)U&gJK
z(x&`n%(k(lfq|RHVx8-yr;fcr;Hl@L)1XxXY6Kj;Q1I<=vs)8k;@7WHLxW5wftVs|
zUp;Af|A-9bkA!#8T`ElPVvufctZP5m+<G~zc?$1_>mx5RRddZJ&7ZU-ANO!QS2M2(
zpYs<%6@<D7qUIU^u1SxIUoo|a0FGY(Eo<vUP}DiEO6Y?OjmxMBN7=q22c&<3GJ1>E
zx)igA5dq^ZGtO@(N?o3%MTC!Al|733rsf8^ZK+#RbKE<yJ{Xz{1b(3Jb)}VjFbP|G
z$F{m{$dk(Km^Es^Z=Rk7kt@vlVj|taF=nPT&mq%cw6vwjq0j$x+}d1=^Xh+BgPvR+
zJ2Nps1rNCZVwgDq<wZLP6EsI!REmYlgM$nBC|n(m5z_hH)W?QOQfLqgYe*_3LSY-<
zZRdhkZlj~5Tmg<y-gW&F&(tIr8i-@kbCg^1Fg1ngJ;uK?bCVSx!)`5Gks$ofCNYuD
z!jkmx(WV?Yh8;^vwJ_w5Lbz3;pJt6EOLrnxQj`{2FEi<^!5eM#1@cxi%(d;iuR7e|
z>3z1{bPmlAPN~i4Ovuy~<?$O)7%WMBEm>O{T5o^rHt@smYLrjyyXxw|Z0+|}Wks%s
z)uC|-2BTH?QggQ&go+W8sXYP(+s(t;e7b44AMmxe^HF?1Td%(G?s;l|M@_=Z#tH~8
z==e6f^8tb?+%+H@@cruMbT0hWGy%2$*?*~|aBq-xs~*ti(DSz@xNO?Jki>{8+W%rM
zdb-<t)w$@;<c*T8UzXA(MF+EYWH|2)??fp{Jc!cfKcdE?&Pe0VIs(V5Po1@b-`<TD
zI9Y#|C>1jAuv&Pu{bsQ^f~L+|c6+S{RdTwgbVqx2W5T)Q-}kzfPQ~rEl9IEN7?p+7
z(?5&nCDHFj?xF}l4)ojtt&VM3Zxp=^71WmS;Y<r2%bG>iI8(V;GQf!y5~V=AP#Y{t
zmdIR4r8BnEow^E-6SrAnK)u2-clL)#WtHvgdFt|AENtEIOR%tMJp6q+QDA=wE@?|a
z3a~yjt{i86IISmYz>);zSZ1$Dk{6O-ePloG)~EUA?fzBP6xS>VjwKa+xnkCk#YZ+r
zZ>J4ZI<2J5^j44?xdzrAKjX{g-1(0Y<&s^j=`nE?$iH?*c<+Ri$*(IIo;*P%YqRtx
zSsr}!Ge)LP)^ZQW=LL?f9%@gMnM2^u_}-WCM9bo#`=Kd1BXX&O`$Qh~5dsEAIZwj{
z;ZV7nqbSiCQ|HvijQ1Q>mz8SXX)RYUUmxjW6(}8&4#Gdp{gtTM3m@+Fe?<Q@ua6l(
zX7XW9K&2qMWKFw2Iv2AS9W#ok&3N^@&E9zu<4Q+UK420)y~6$JDDnRWn{-vE9~VW7
z<fTE<Hj(=*>$}dH7gPKhrT8doOlLZV7L`OSOW#OTmIpB0!@fp-5HnDusC|lt?Q>Ih
z4P8#Hn4MJJpZ!QlQ5&=WuR!2#k^F=>@8Uo+f~yLZeFQN6H3H@*{r`+}go66qO5nLA
z3!)Fgqaw<2%$o4zXb+0!d2S!4q6-ZpHN!!xAIE&Ons(!yfCj0h$KX&E%z|hDRBqQ0
zpMs5phQ6tE(~A9HTQ^`2%+7VuuJy1SEK*LWQhB=V!I?AG=XCH;Ykuwuy~34pH&NLG
z%V#>T1Aq^--GPKsL#+l9O;i%5Ks0_+p_d|k`*;P(LkDRQF8w@r04hkZ>Z4P)bo9PY
zt&OuXgoXpH0;@AHmrD&*^Gg3$+<pD(hqV4XxWkZ$NOKnFPN>?gnVsUC#Qgbr?idN1
za`i{gws$@F-}6p1LhsWJ%@Us2F--aie`gsmg34EoK>V0+Pv6Pu`O~kkM7V$zM+i_)
z5eY<eH5h!NDK0PJny8RVTX52E00jYuqy4weAp?yD^1PVXyX7IWOP6+1ydpa<>oWJM
z`IU#?;P{-m0BVbIZPaOAijg=XvkpG=hLnD-j~*v7Yhtk+jV2D^g%w~$qps{S03GzM
z7dgeH>(O~knqwho*vqL$MP_J@T_u*r0o#pf;I)gY)}_7Z*I=l)Nm1WpdJFWu)SHg(
zc+{-!w~1fnGW{!C0l~63{@QdOyq8G*zK&_|O&wmKbM(=QdCtL3X6Nx5TB=pqBRi2b
zYQ)=?k=!KJBdhpmWuki0zL2ZeP)GvHN272e8*i}R_;47l59XWMzNh#oa@*eYzi`#0
zs{rX2kza28SwYm=46Ax+F#A0%%{n_zPiT?+w<_ZJkxd2><evR?E==tEfUQ4P1*Gva
zbJGoE)kClqpPlnyY?}shw>qR2`4aI>5}`vvp7}o(ZsQesff_MvzStkXPFtaWN!&0j
zocQhJaDeVVM6j8;X`4JrQ|`W5K^cz#O&l5=MEV1tW0+!%+o)_7yGAQ80wIDg3`N}P
z_80E9iYdRDU&MVE8$SfCyF1dn#s4zKo24GpD`0vrd`w3=FIV@^*xC`)hG~rDZYX=X
z<c~f@)j<DJ7XF_BQzoNnP9cLezDu$mFXwxXg5RBMtp|PoOI^GGlK#!z)!Wyg@?7yH
ziwf)sD?|#gqK@~qGaf&liacLI-3|NvwaG8h`Q*FI-KRr$1^xu=Xl~d$TfAQ@TB^AF
zkAb@+{Htm3pI1{Ii6ZA+gF6DmHy{4(j^;&BQ6J<xSOj+v(~;kGbR@b&&-O*VB3GSD
z!e1tKoR%&=*wJu48RynPzes!VTgKqn+T-kSW-;n-eDvwBMYrS6&e4?04=GzA=V!+{
znnxc|fXt+`?KA)we9mEfesTrK4Zkld13>LoK^p--b^t2kKpr?)VZ`-}1*DN4C+rXU
z{1Wtd1Ee%UbHx&?Is&$Z$6{q^n(oppZGe82QI<)}-vG3?^@7wBx!B6Ys>@jRVtCxp
zL4{q}&D4;}Sm+&D+MDMT?zvKK%`X017}nD=0lFAR&1D9!ZtmGq+sJ2ZbEE>x-G9h*
z$Y<Gf$6d%18R!Fsm{d?+*2BC;EaO{(0dt(a9#vTI6aDfMZ!cB3&<)is4u@0<gc6`x
zHOxhrY6J-q*<DWaOh;Xp|NS6;=gk|Mx_nqPu$c(kGK7p;ats(UO~H?5{a-EYig|ov
zlNLnH0{L4pS{K#7xh1{@3^Eksvq$EyTzaP2<*;wbXNhGPp$K@$p$1)%j)TI<UHn-<
z#E2`J!K2_kRV-H@d}{#p6K|PSA@-@PE;k-3OK^nB(W}eR>jXsT25@|p3o{wzxX;2l
z^+;U!hw$Dxh7TcvI>QTCQelc%S^)rD)2&_+O)E%%{TyJ^Bk)KOVCu0V#gyvlLD~fj
zN@5cj=mKddHH6Zr1e17U672m6ta>iUP&``>MMxrmECr+;0vLY7&>?XxNxJ-PiTv|c
zq7JkID@}jCHT9Xmz2Y{7_kjYfrHnKT{k=E=ES2@xmAhe8%^SU`>fIuR0eu=2)Djf@
zMFRHsNKh(Tl#>k^<WQ;2t?JZPnhc8t4+uv9tX+D(0jKuU9cj0BAt{+}E(1lafK??J
z?`A{<28uFf284eRHD(b*nR7nr`X3*)+x=p{PMTfP30$2&#Y1S8xKm?D?+NyT=U8Af
zN$h<f-S$md7*5Gw*rdBuXw1DQ8Ar;%b>;R7`4efg(9Hg_@ZK1ECl_N?08%i(+(sTH
zA;)of6tan-(<Z~-WBJqrXdz=kbYrqF+3&y=<h1U}<(Z2SD{kdhEbl#W^fqTKC}j*^
z78TGHi*3RfXI>mRhM(Bsse4~wZs?&e0)a8YM&%qo8^vl_J@?2Cc0@B8AWH&RMhk?@
zRG81Mq?MQA_s&qC8ih5n;~jQ;qwZ=<HEKL<kXs{)G3uhW%UB7d^4Arpt3IfwD>|hK
zSne<U3kuqOOKNZ_R3%=i601QaE8Tl0wz~wItC*Nwfp*h)ZUTkV&X?Kjg#`R?pl+-P
z&1)s~Cga62Q70Fqh$4feO+>u{o?_$v`V}6tgEuDr{o=0oNS99?4YX+%myQ)|sI_Fi
zWEE?|^0f!lOzQM~t-P*)3dVuLf!RmG{7-asQr!x=sC?aItDH;oek<k(60HRr3!C7z
zZjvCwYpx~{)E6LshhhZD#?17MTmNe_`W-WtYJsV7+in-lTs&kQeX)H2Lgfwh{agt?
zm@A-cDU$PPmeMmkDp=atnxu5+RmkQN9SrTrMZ(#Gg@R(N-}qlsCjd25xyOEpiEx<c
zO`KmIx9PhYW~p@b*zf9}b&bDd)JcrRTVdhDQPn{p@7r^0AJuXpOWj+gf&%Sjy!&Nz
z^xaNdqbet5$Yk8@LN|5t8=!fbBkF)(#pdACAIR7nVkf)!9FPaPR2%%wm@C^A|JL7#
z)6G<QR5*A?Oj$r$`9L>IeD{Ju3*hjTHykZB)#tiRO!P3%zAe=4cy)5!?%EDroW*Pz
zKeN*9%(t%O=eG;qHd}IeYS>(Of4%CIV}d8WUS(g7QuaQVUUIqX`Qn-{51r4ON#Dg-
zpEj=P3}$n=VBbY$#}^>Bgc!fANxvPgyT7m9J<PuQck=Ezmp|CnpEk#zamt^CJAmCb
zfIBCEZz=%A9Vj&AhXFDx$KfXqPNokCvN^#bP-gA(941}cAj6y>)2Ry`&;9>w@7w0w
zcbK~G%pL4*8+<$GqOKKum-|9E6B3dW5-}ArL%k<?=zhA45FQFm;||NT4a><1E0_u^
z;SR5`4S${!UN;r~k~`v+ZA42>MB7xv(?djO@L!Sad-G816ZQvVwhyLq9(<j8u*e;?
zVjJ~6Cu(adYKJ@ew{7%cPW0cY=yPrY*pBc$<c>F)z=DWjw~OJ<jp3V)K_Oy=>|#Z8
zV<o3!We`LKJEBT1QDd5@(;Blw=PT0^Y5Faa77_oSUA%2>yu)<7Ga|v=F5&j{16+K<
zT}0wNyTp*(#0a~%K9!rMxrEwSndIrDG{nQqbGwH*xep7bAC@4JE9{b==O))pC%;5I
zdS&;hCHGO=^rH`m6pCF+UvA3B>6Fii$76Pnr|cecTI|Q#B@O2!Jw_m+$f-MswBL4V
zhq-Bgr_;_6>0tZx<0AxgCY^=n3A_ChNEj#A%o7w(hR{qJqkV?tOoqnq3<dj4);#X%
z=}aA-EWCY|Vcw(p+`WF4RP)f(<8m%SnH4{0w!3}y?YwNCne4kfIrr>yLc+3}aHRg2
z9HM>h#ccQyPfnRD=QUs`F(<EJCa;7izrsHMd0u|qO#aKfJoXC+G&#3zrXY-mH|n^c
zFR$<;Pj=Z7!pOd8DzE74Oi|Bt)&rKO|DA_<s1sA)%@qE&FX?-i?i^Nf&QqFr%*V@9
zz&Lw>Pbp*1&p)JcJF1nUcym4g5lG&0$?%d7OWfW|MJo9f8nYFPYQ;G+H~+?Pp>b=c
zWjuRSSzr1b<`o2ls7C)MyZW+%%Qf27XR;S&IX(ZU?m$F4xtz#bKFY%zH(QP2MO?$M
za^%+(%wA}JLT!PFs-<e8I!|&-?W_FU%q4E^*}4zB^%UL|{Plm<lc*rfJCOU=N{jx$
z;f?o9<-27}g_uUO4IbfAM5^+0+^5s+Jeeq9$(!qqk7xL3d>dKX3hG=r&49IhUz<=G
z`RqVMDzNE1jJM%^vw}nRb09+T{Cd3(-)p?X>qoiuzdzTv7{5UeI;_$2GSxO5Z<L+H
zXk;(FJ0T;hKE60K<}pZ?7mEcKlApR1lqLCs3?#W3O=P!STc((9*d8OQufMAJnw_@v
z{Mpy{USXv%t}N(+wl=<6KHln=e+xu4+Iu1zHNL(wbm*8W=$Lr-nsua}V*K8smNnK)
z04j<05^u~(t|>GzPr?FSTp+rx0x87zrO7;@F3=$AOJTeg77GkS*JRh$6nhV>zhD)l
z(g&f}*dob%b9<-iTv6nbVTbpWch%;O?U}fmj;}q=bEWJt%2(%dALjSI;pKh*z9Xct
zFJdlb@hga!+uuJr7ipoCaE^cbUAk3|vD~C?Fjq>JA+p8#g{sXXOzcos5Joyp5)@fV
z_9OQkc)d0;Eirifu5^>X%2<U9)Svrz{WPCj>~C+yU%u*yPtP2hqJh1Kg`X?JSQw5!
z#n13<YmUUv@)5{=>^DZa|0Ty1(kvmI^y`898^-0DN`EmEr?}1&LZ{THrpoq<TT?9(
zfJi3u=En5Xg847_=)zJJb__#?K4Tk_9Ex`e>Rk|an><GI<5u&FLqVxPzTDgIke*A7
zr2r;2SH3+pBoxQci4(!O@+D|xf53Sm|L`SYpoN%RN*Nm)FuQ|)&PQ#wh0K>+*6n^=
zTjqdl=V!WrJ};bWG0&EAx6knTV-~&>;8@q(f`2oQXJ+fjR{yl-<9QHfF@eMorV;G_
z5W~Dt^a5>6yq!xIFs1R*(ls==5?i*2X3Cyn6miL859ch_$llRfSkhv~mQg$2@hodG
zuTt5s7iZH)<)o2UU3u2l9;|tF7JLBmY!aBku87VV-sG5E#)5BYWtlwl8zlmp#u0Ib
zX&4C?)kLA1xos2`s0FU;Pn8;wx}0CxUU^_bc})H6GMwN2W9Z8^$92q9-sQ=ML;dNn
z1(L*O0~r>Y3L6p_5$@_H{BtK@dT!?N?z#Z8T$tBgXe!Yq9XR#_7rq9Zinkh4iXpqg
z6_$OD$(_N$ys1wq7!mJdzG@&-f-B#xf?4<DX0QYAI)Jg!g}Dh!pWIpSk<6A)&sdFi
zh$w5ncf2Pvm`hx=!Z`2QI_ExeZOS`lN^${SbAkAwA%Y7{9a!Ks0yLHYWFwrsv}e{N
ztgxTJkbspX0Fy^)%^S7G9^fGgec+CQ@8uzzaX>d6dMtphmHeH;|2u>SU3$q>q@lDm
zFk8UIJ_(XePJ|1Y#I2iOOXLXNgx56QDK|`7EH<|@_*v2IqYQYOLdRrRpCju&SZMsJ
zYPdl4-sarEtLL9futWxalh@T&MUX1-8-uTF#;PuSP=5{I)Ly+Wz)>cvceObA-17W1
zOsPAKl|3pn_vo+6!Qv~1mFf#KRP8oATCi=j?tM$Gj++jM@eI@BJ?$X4UUv24HON%U
zeD#+t!y)hjefTl&!qB@{-#?e)9|@Shf9*AP5y^&!`Cji1%;jyANBCVO`@b_&`z!LZ
z;Eng>b<V#B=Jw(l%k4NxC+}RGkFZrO$8G75ri}6KBh_mu;fG(}g@`&g)Ia@wcg6=X
z^wT{u;5X#MrHdRlhsK3+N#Ji!n~QNAGDz=+(m$(~A(d67!*rGY+~q>mCA&Sca=X$!
zJpx2-of_MpCGV&j`Z}jjzOueKBd{k=w@mSQeXKcdJHW7ruxvCoDDkh%ZsDBB`rs9V
ztUnEXAD^uaS{NBYdU7$^_mzY4`NHxN(yy4j>qT6vC-?GMG?zh<PQs<VId?6e5IAhq
zk8kE*X_iZ*HKkGO<qEKVx5j1p>0NggzIcg*aIbDk$i@Y}>*fvS4PPzy2Y}6DmSp8!
zW5C|)X1EVMwESx7`ORj5@2GZ`%1ne<3$?cXUUMA(w;YUoogI6*%5N=0m$bh)3GsNA
zf49V|COl27pO=KQdq>aOVH0rF@vg5bFAl!@5OZQ}lkY673z8+?T)RDZpLBNJLQ&#0
zVCWJ0pY=zp?YCP$+je^;ciQ)R3&#ID`lexS^Iup37nn2X6_<`%tE|PjPK(jVu$$*Z
zDMEz7|LHKKqhH_F-fTqSGqe46&u7^a#M^70XXq+~0Q2vAA3<#H37=(s!Z-(e`Okj`
z^gmy#|NTkxaQmKT%?qxNatnHjEG!lyo|cN5o~0CU^vFflr@mfF;LIh->ej3}61#XT
zbS^3}nBXEdwV}9+B$3Nw>9H7E4}gcQY6_8`nI-bSnQ|iecY&;42^lc8Kfw=k{`mDn
zg}P|erwEdrljYX~<9?5*EZBA7-c%lR@x3F2G98S$KN=h2<Xs&J4$OafeMCX3AocyG
zJx9<9SS^J_lk|hXA%+#51)rZ{odZ}1v7VCfHB^#x2y87bxA0twYqb+7d81<FaM8+?
zW=P^8ov|>Dl|YyQSlyFE0DCp!^dVNAxHv}N?j;;EYf3tnV*`wQ#?6FfM^2(?;jJ!4
zHkJgax-3xsl79?S7Lj&D55nl_;uA0kW;JplD@BrHMH@-LQ2+>X3&0$8!p5uaPp0WM
zj*_H{fns-o2J{<-4dQeJ$J_85iUbA)1h9t`zzF+gflTHDLOF2pNSYn%ZW2JU_19yY
zuvFe#NrX)TKuAs#ODl;*D&@lyGUD(W>@|hBU^-S5$SSD=UC#O}r~8ufuZMIz116K1
zJ<<ogk8zdL$_)W=i;qdPvxpdwplIsr7kBP2p96%EP5pp3YB<4xBmEBLfdPx~z06YB
zGs~aPURqy{cP=3_f)PSFlB+CW$EJ@uxm+>qVq~aeOd=1K)ckHdo)u4Ls+gLtL(}Tw
zQ6+Bgb{fEZA^xRlQKWIA3bF`{e*syPCh8>E54oRh7f@l(Rin8SCpnk|N3l5W5#SRA
zkSkB47gpwzYWEE>wAbx@+*E7}lmB|GTf0!AEg&Y<Oo<KrTgu_CUNbDDOF_A#6-q~F
zeC)3nE41<JiWWRkPk>6|;aW=yvV7L3by<w3k3dHV)qgBL-hgbWCdmt5kBvIJSL{~0
zuAKV>Xn7G(Lw{XI(9qJ{&LTc9g*%>`XA&P1vMUh!1++ZxFr#T)9%^uPJ^EHw%jP$t
zMeZLj6eb&1=}tCY(3)O}P)w(!rVB)ppbIMwN`OekF!@o*z~K=Rh80KSp9E%V(Tk()
zre|WO`42p6TP=hI#Bcvc<O^<`0zi#T?+`LG82)H~xU3u%c>;odDNW#j4lpuXQV>bI
z)ABdaOm%kvS)Gjlpu9Ir9{_rXtr;#Y=88B=Ax(b^h?DYN;exOCv%Vw~%ZpjPR{=$;
z&1C>7PckDfnxZ@sz=(^zillewwZKt{fr_!<x-SM-Mz6zth4C#dOE2z6^UW=B9kveq
z@ir{l>e11&g%GCK83oUE^>)f#eBaw)5hDQ?ia|U#((9#auw2X?Um_BEGl65EjBzQM
z*lOlk=&l*dl#{gAEoRY_Y&+zZpZ+E5nclP8>Eg})s^Ht#ekE!($}#gMLKM$-dsY0m
zUq#te^a=hp)ER6_X+6^K*AsZ2_1tVtJm;S0_sAq=&E3Q#JqnnaHBpmUN);94@v(F|
zAxs~@{1O<eG9|{HlrYko)yU5C6bt5WotuzIUH#}Pa1Q~MU=H-agP8aoqbma-qDiVl
zi2}XYQJgE|m2SRw@pP(+w$gXIgZSKsbPte%%Q~S<uy!g$IzJr(xXSoYgAQM4^}_p_
zX^!%jI;%^|1n9Zo5p`58zX!SOlF-IKT6fm|b!(O9wvo_vLGPPBWep<$3>^ldOUNi`
z&q|PtBt0<Lll&))c&@aoWa5V<vyB6=Vw}lz><9|01mT$+hu0e=%?z5+abXM=L(A*}
z?)*rbC~c=fAFRJbGxs1NUg)hwU?Yib^)N=}9S(Be%|<ZFBYjATFcshlKG?oj6DYe3
z3ADM)4?JbcwV+!6L9Zw$H4!Abml*W`x=MRBd)$Qqbb}M0RQ?A8K)$TXlBZLaFT$8c
zBAGC#cg^OhdxEu^0a77qLj(PuD34?1*^RK~A|P`dER>rCKndw~ZLwXk|Lg*#9bj>L
z2&_049%i=>e{}fiu=DS~9j!3Al;4+DBr<#Z5=sJ=xj!HEW_}ygdz54;RPJO+N=ng@
zF;WaSVa^Q%JiIN`*V_f}I52xJZ_<kAw*(})zxwC*^h107Rl=dKsteB-%OIR`^8Jrj
z4iCNnY4KX+y@~bXI$t)B>(3QVJpPgBMy}{`N10SeC*t_{b7NSGuMl;*1*RVQ=&~$d
z7{97TKXs;Y(2vL_Dxgokw=eOt-ZV+Qo1V<Mj+*%K=M{s|>o=ezHsRT~{togGrEXgf
zd7VF*cK%ohBQ329);<D&ef!iFm2S&I0!ftu75rne-iZA@fd01&m^6R@521!wo#$)7
z^Jyp~|EaE3hOTouuo6PMaSbdMidC-m^Jx~V0>H>@&L{vgKaTm2t=D3s*VT)4yrH3T
z`YrK9f&XNcXVL*3mWsMpSqw=u>XmA8qTVMx8Wo0-11@U1Mse}Mah%z4_YL*Ts+~io
zu3Qt1cl9@LfUsWgj}KCbdvEDlui&y&O0P}=2*Z^)4A>S4;TPD|uY@?0)<}^*a4;}5
z%kE)z=)+RsP~ss+{P)n}qlcx4<nnc%^c*}3MisFKZ~3NlgTx$)y}exORJ`H^Tvm#1
zlo)>ND2`FZ6XNS>qZyUhhOfc>xNawqEZ$C8hQiU80u<j6+4?-Anc-IAtj6czimW6O
zD!<pu$AezA)N|(EBO@A@fXSOIxCiRvbVE=VuW3F%sQAsX#I^u~?}u^xqrS?2qTcmt
zd@Yr38%-Lcd%TW*TnuJQ4HVvE_tWiy%F@v;yoE9uiWmay@-AI8B8iATzY<Pi)N7i$
zOCT*(VZ-#hx_cs~E;^u9Q7^QPM1Ka(O=m0Nx{qKc%VCCpSH^nw6XjJgNQPR$n1PRH
z@C=*lv0`eU(IbZ`$U`x{;r@$v>nx9zdv1V7?NfZ+{=jB55Hce)Go3ki1b<+J(WQ6A
zCEho**K^>8p4muj>+yMVJY8sH+|N-1U-MM@LdQ0e6uy72laB7+QQ&!WYvdiT^!&Jo
z31PWOdATty59LHSD~@v0dGa#oEz)l%Kx5Q~E^hX+X%}aR3B)?rANWw2CO-%GYKiFr
zPw3GD{77Xg%d<RDwA9l_B?43ns`5Jml7i{-nF-NXs-pw;Ve}(68}b09BTBEQSlRK9
zY3@fqv4fBK!)VH^^YKE9Bp81qz_r)0ek1?H4m9s7g?^^?(S@nsA6f?%<Qriu1zCqS
z7Q?M!do7F{D@;QGkP?-tx8LF|owu!jL`&HH(fcmz0T3+Ot+S=jn3k!ok%7)$xDnz2
zrn{uKcZY+H)|muY$+n|%>1bGjT>?dHK@c=R=h>QWpgi;({;=GCSNLzXeaIV#CfvVn
zBBMSYOF!l3{KX&C!s=})vi)BLF2irDDqt=!HUB@@NMq&VZcbZS+(Dn_VV>%NYBc|-
zb@{dUQYzCRfqphm+S(f!J(9K;$JC8=Y7bC_p#|B1OkW;WB1<dHHY<IPKvv#C|1pGH
z9(gT~Si4%5PGurH;gEGIK2)MAe1<hhoVlNhY{US+Q47(_j&Ibej68!;Tt4g=c=Ak5
z@kvc$&BK%djw02(s_@$C@Y-~hBJ{=KNCNPa0OIMlp0fkdyMVjdVaxu^h2O(wRv;Kz
zkR>=VIJkrrU|z2h^l}r>6{7NZ#RQ!WJmX9}AG=zzM4*SkfiSf4CESYvG5!bMP*`b^
zaiVoqzm#(rpS~bElD(diEO3hezyLtpB!)Z+;D{Hfl};BK2N1=+eD#F?tQPR%nldN?
zBq^&(+%KSwq2H?o{tQ8nHr87_WB5b^lB23EghzP((Ym119Pu{qXX-jH-_i00a`^+J
zA+(%4!raD{+g#0b=|C*i@9r*5KxPr`KGYbla)$R~ss><o0R|*(RW+<LT!kwgln;Rt
zTLJLA>r!<_{Dg9~+)VxVVs*QWxalCwqn9Tf*}4CPd_^;bqF;&=3<AUqy~LTjci#wO
zq15!NbfretBXJD=AaRn_Dpv2jSFPn_l$X(s-np#``8FZQ{_Sl(keBJRh?7jY=UKah
z06PCV4{X8xIzWieV>kPd0DI#u^{TAbfGHjo3;_c8cI5&}@^x1kO#;M$SuZfhrPtfu
zMzl$YT;OIop5@ne{%s=_gxVf3iYu{RL<JwH5<=E6&|cvsE7j85bV~r3=gqh?9P?O&
z<mYA99$ZJxe{d6GN4HN76oVf2$&q{#)bZpo+pj`YueW4C$e5{+BnVc*#yZK!`h|eX
zv44BuWBsoZHWcB?7SKL!$_y&+eEp=oo0WBYg3rMRkD;e^k|*1+i7C_2vYYwyIEoRv
z$aiI-DR0CG<xopE@;P3x3pq!YPA22nG9;105hTXli4R8_tp9|WhPF^tMz&r?<_%N+
zbB9j#dd0rXWY#67R1n+tTIX^)MZ>Jq^N&;(8#4@fF#|;g=LO|b82kLikGD``Z7`c|
z3PYq9iNx62*6Tahd(hl=^relg(HG>{r*`kAVq~vKQy<Hd=*ZJP0<u3=irLRQ4`s#N
zAWN6j+t8}mAG_V%vDA+$>+_<~mWmw6EgX<S5)9cW`H}X;rvrI~bfk1xy3{~5vVWwU
zVJ)yXzHqQHrKd^rV?jR5FY;q+;YaPVwziKl$Gaa%$e}LHp>D^a-pHZ;!lA+Tp`p2<
zPp3m8$l>!Zn!_I>Z#JdFzMFi6%duSdFPuFcu5L#;e`j5yLhJwx5M8G0vM?6dr=MmY
zy$XfPH9zk=em;o&oO8-Jd-UlvGOrl`nO$R@QT_DKaRkBy>)T~`-#!AHA8FUD?KB%^
z(;DTtG0OE|6j3xf?mG;29a)6;LixY&SPv4mJDH@ui1GK2jg%hEeYyPai>$OTpDjh)
z{3BYLb=1CHsbj2BlWCywG86x}?r<;5a4zeMQKO=9la6t-`SDTT;ST^9&G48_(cnwR
z3A-1=eJ%rX^Ak@0CU{PT5(+1FQmoz0Cq4OD!N76+{G{KDT>XxRhCjxGZcGI~m<k;p
znv5JiuPU638t%JsJQX|Kx0v4R@?bh?e&WPzfGFJ`-|_iz(PY}c$*dbQIfyBu%2Zg#
zOyT@Y@tx6#B8UI@XS_Os>P=>=&HJT_rt9Ztf42ubFPcr=u4<D0swoZky)*N^<Ev!C
zjBM3R3IAM|)?D|$j}g+GCxvr^9dkqTbD#drjquNZ(V8FsH#cK9KV39G+c7_<HSZNU
zKhM9gthKN@JV(8;u>N@Ad(p!7{KCwgkL~=6d;BJycTB7TV5a$tCmoBY^NVNy76AfO
zkT&(=FBde5N>@x}=%m7&sC}ip@?~Rhe@vxlEqM$xGH5O0<z~4)^&uCQFfV#}wU>pN
zWzPT1=e|i_mgroTT3Eh(wk#{KBCoxo=(M67wW3<QqTacpxv-*oS@Dv<s;>5`p3|y9
z)ap*)@`)~k*}|&D*{Y?$nzi<tjnmq-s5QIdwd<X0jtgr}XKOA$*Nn8kc{qK$74^;Y
z@;F46-gn`f-`W4L4uRU=gPgtxM_pWKzK3^yk6id3b@rVgupX<u9_O^45Vf9Eyq?^-
zp0co>dbXY}u#us?k>#|J9kr2Lypb=k?$fzZe6~?4uvxCXS?RP{6}4Giyjk11S--H^
zaJJd#w+?ZkeeJaMHfpQ2c<X)VR{O$M=h+rXV7p6uyW45IH)^~8Y|FoW`+p#Xv+eT{
zfgfMAe~df*n2h={UHoIV^T*u6kA<@zRDqw%+CNvFetv3L{Z{<*3T~@u;pbgH+D(C-
zJ?))+r=1Jd=uz>`N$1Y#!p_;*&Uoriz=t2(KYv15cEBaO3?Fu3i@VI{yKvMmHl1H^
znO%;>ZOGl-AE~?Ci@yZUFI32Tf;xM`&U+%~99+?R#~HtPS+<Zb_heDO<#m25I{#LV
z{>@slr~G+OdS_E6?e~S9OIK%K&w1Z~WnbO-x8~yS`m^6-#jry7pF)3z4}@XE=s$KP
zf3AP{<M{cH@s;1EpZ9Bj?wgSrUt2Kvr$C(xz`^O@Ym0yUQHOy#he6JVXJ>yDPzUF3
zX`3D&IIa_3$^!a$c$;-xXkqDKQ}4s%4@W7BN2%vWMBBwLvUC;zrqKnM3;Kcq1*Nzg
zkGs&;Su(ZxFtrk(RWE5xYGu0N;2!FBIO_XT5=6d~F3ySesy}_ECB4%w_(~~F(#W?5
zSUO)PdYe+32MvEMcWLYzAs=+Ur@DasMo!Zf4ozYpguBPYLx`m;t@Fi)mJ$30yY&HZ
zyy|@RE&6OdZNET_DIW{{KLE2pOuyIw?b5&qKF|z2pa5ZD`Q#D???0+$s}KP3ghvBb
z)utUpco5ny3B?jVgcxy}9XpdOUc{Jjl9wu%G=2n$@sgMrlQe<QfF%hJ3~nY>x*`Mr
z(aV@KLxOY!VuleN3{u>5grW+kn?)xvz+!V!5(XjdNIZyz0RtG&phBDq<;zsAIdc3U
zbye(GvSrPlMVnUbTDEQ7zJ(iC?p(Tc?cT+kSMOfFef|Cg9Qba5v&WJhw3f@$Dyz_b
zIYbQ1s<ct0R$)U(t;wHeJajai77fK8tJ9DzwrWlCG{=yY6_bXC!?J1DKuBTzI5M<_
zpr<8%RIGGaibgT|v56=S8aWsHC`IJQVx{GTFjm@8r4o-6)+agQuBg(H6n+T7lu?O!
z#yjgRMpxd((TFIDCJkEP22u2j{DW?>Z<6+!Gwz}%keZ39FPyqcDyoJXYpN&z(BP^<
z1~?HcLk&0NutN_&1TjPrM<lUC6Hi3ZEyBu*t%hl+IYNURKqvt=JW8N#8eJrShM5j#
z(7^&H5Mt(nVw%}ujvcaq<{A{jz($!tBFJHc7>dy>3v9FjL4+5l$U+)RW`hPsAFQE<
z3npt*fwWyFaHyFpG|(Y}A<ZhTK=csVE(91rNWqOt#Mt1XLmEJYjt)XNK>;N$!UO|F
zFj2sY02Mjp0YuE`Ac7E9sDy|a7-b-anJS^80~k73!Hr8YB_f0ra;m~2O0Bp=6A$#8
z<WNE!u|PjmRb|zs0#7**3nLi#q7()nS`~o~D(pbo4r&og!mTWv3d0otzXdm3amOXM
zTyxJwH(hn@T9GVi#5hwm%$jLJOJXnp<;5$UfaW#c?qvlUYYqY8$Q{DK<N{Wlbn}8w
zs?p2|F<-DomJlQ`CK?q4vF1i#l)+>H(x|y2i-WFda~g)Q<N^nWn8`p8JS)=kiWn5(
z4-rSQn}m)BTpCXX@w}r$1D7`4KoK)CaP=ZOEYPkdni6nh()<uPgzE2hc=QYes<197
zCH$C!2uTsqBtQEGX+RNR0USi@ogXc5l2#6601Z!Wdg>u=x%Cz*2`T(L@O2MIJaNSr
zXS{L8ABUW-cE@V*AZ671;tCgGWRe*V{=f{G<-GX3%qhaC2FWo0=ygK0FsKm&hf+>)
zrIFbf`UQ_Ff)Hfo*tk-F$uiZn3gtgkmS7ptz-XlvT8=Q8IGT+^MCwYuctW6?!NVcf
z2)3{&4lSNY!UFI^twQOxmC^)iMQpYYrV{K6N;@J_m}8DOsOZjDi*n-1&j_IiO+?^m
zZ2J`owh$`(>5qTjDG=VUP?WwU<Zl)-Ttu{W!3;*ugC7K82t_zT5|+?}lM~Ck&U6hP
zv;YlpxI)3KVY_75&LOghfD+<R2Mdr!8~E~u>K4)fT8sup8u&pHe-H)bu|N_*kOUsG
zU<nZ{LrfgNk{J|MrjiveWh?X143ubuFwCrOFxegtW&j2MED#}SlQ07b2oXm;AYw{M
zz`_|6P%BL^4O2f;3MRg{Cz{A)Yue#K1Yod882sc681N4FE>Q>W)G=)?!BpGo5P}6J
zG6#(ON!=7A6)5lxB7{K03v)1)5Tr5=aYzPc1jm30anOXf#APmZxl3O5(wAsK;Z<5>
zjg?^ob}xX&mOLN{=)H&wPOt_vTsMtde83vmP~9>})`KU(t_IgU2xc^c1ro4g7b(y|
z7@!fG*-WDuM*u>UxF7|qM8g9zV~Fxfr<Ob!XHQxjAR6scKs1b?dxWfmP?Q$RI)I=G
zHc_9TtS7bl2~;G93J|SkLWl36ZC5inL)+eFQHv1&r9cWg#VMeGAdplrA`XJVSvFX>
zU)I#7H^pgAb-L3H1rsVNB<2>00RoCm<6STyNHyN&GHEno0k2cjybi`2Sunr?VerN-
z5+F0vJj@!FU;r|G0fGlS?20+sMFT$3u^LI^5F%R$oRmSRVl2ZNt`Ls&&IrG(xr7d-
z!da+b@Uu(6Bx#i}!`CV?1sotkJZ4xxtuEoUhrX{ng`7$K6fuYgfKNcp328=o&^?-L
z;8!Df6nGktKmeVgvlh7nfsDf}XW8vQ&yomCA(Smz5{_G8;c0M%J6z%x*SNd%sYHf}
zj4L4E1SyE2L#&|-26*W=%m9I>da#2(MB@hkps<SS4nnf4VnZ6DU_b~u6}@L5fJrcF
zh!tg%BN)Xq8i@=67Ve3>x;7)RApikEb_<n$8l`$da|96(Faiw_VSW}lgaO{zv+Q<&
z210QJ3uIe~GjJt`7tzEB7|?)F8FFXo<1hmvkllwKs*c}rsMFln;Rr;43L*`bcsksH
z4(zdRzaRxhTEPq4zH};8G0RjsKnh;ef)`DG@-L1%Whz(M%2&oRh>{x-pkl)syjX?1
zV&M>j$YKKyk>x|Gk!ESs0vM2)MvesbkTmlK8<<(=m`jspSt`TL*f5A*Yj!i(`XNC5
zIrMbw;2lg|;LtNc#2uuAk>pImBOpQl#2ombltgFb(444*92`3drS!)R(kXS_jN?*>
z*dYY@9q=r<m4htT+Sa$mb*^>&kS#xi8bK*zTl%$%Km#V$ZYl6hD&d6=)JoMKk@T~T
za%pK-+u9Ty%dw&Igdcpx+dn|VuEjlWa+llOCoD@dp5TUJq**Q6HdnGk;s_(q?b`Ro
zcfR#)%5(SI-~R@9z;W4Yh!mTb^4@pC6~1tVvs&N}hj_##K5-HeT&D<Uc*ZrpacooE
z;~xik$VILqDr21ECr5e49X@iFx7_6~54gp1YVwrV+~(I_Im~swbDsCyxCNj{(1kv9
zq8HuhM@M?nmA-VQH{Iz^hkDfir9O44Gu`J`$9mSaj@(wn!s}lLd)UQ3cCwe<>}N-N
z+SR^xwzu8wZ-;x_<v#bew}KR2Cq>ukzIVR&-S2+~eBcE?c)}On@P|iy;uXJm#*^Ld
zc-MR5B|mw}SKjY-FM#DWzj@Age)7lgI_Nz=deWEP^ruIC>Q%q`)r(&AtcQK<S>KAx
z%ii|4$35L^;q~3;-uJ%;e(;4qeBx`q_q{KE@|FMg+ArVv&xd~WrT=$M5TXy)$A0#;
zzkTj^-}~POKlTa1iRqW${O3o1`c2<_^|#;s?}tC-86b8}Ai@(V#ee?wzkmMs-~ayy
z!2H`A@{7L$G{6Hy!1QDPzXW8!26R9KoWHOm1W#y%SFpef#J~*HzzyWU4)nkeyueoQ
z1VVVg5;VaRL_y12z!YS`7IeYbi$JjJgHw0~+<S#n=z|y3!5!qm9{jo$^uZt$LI$)z
z`4hVttijv6!5kdICUn9lJU<|uK2Jy`KR~{=^8}(G3Q{-)DD=YgTNVaL0=Ub<N!Y?J
zY`YlzIwZ6~9Q?vJgu^(rJt>qvyg7j@WV;Zk5G=?6G{8eS1jOHa1sFK8By2l9<O)9Y
zL$*^xuVX_cbi+WD#7U$?#-qbnaD^|>f=$GNO;iF@FvPQSg-0m8TCl@ER69hR3O;0j
zI0(f`JiJ->0zGK|h25hCEr^6xa0D&rL^mjfR|LCJ{5o6+0zE)QufqjS+{7(7M#CdU
zFsOxQL_1nY0x*b$S*U~TsR9}tyJdTVEii=|#04nOgR|>{6ZnD?s1S5K0Y1pXJzOPM
zT)Re$1vZ3*UF^kQEIh?11!N2YXq3jVTS8bQNY=YYEhtB?lSMR$1Yq<!ek?m!5QPos
z$F_UMfK)qIFascPNVQXi6!=A0m?VTW1!N@0A-qId@PZ^*i3eawD2N1%jD=T7n2Pi~
zQ=E!BggaG43L|*6Ns!5cq`O>*n@GS!LMa7T5Q7IGp8$)=v7^Zgs7O`t0AnmWQBVLH
zNP_H%f}jNdJX*klMes_olgJB*g<Qacl<<NPxPVB2g)3AA5a@v~-~kyZg<5EZMkoQB
z6uVa7Np1-NG)z05RF<C%N_u2NrDVz^aLTc4yH~&k6aYxD6ic=nNTI~c(o;$X*Z@=5
zy{cM(Kp;EFl+0s<1x%0tP-MGWh)ihQJEg>djzl|G-~u4<y13LsAlN;;)JwkP!AmSc
zSil2{jK<v)Nk6Deh3o@DSOiQwltu6a-^4`o(8pNdgg%%AzMO^SY|gK{&PRZSuiH-M
zOgo%p0G)h0p3H$hxC1`8yUZ*+TDXD|I0a0206j2;Tp*O&904onI#-B}%5;V2j80Wx
z0Wg^V1?2ogQFwrctij!@j3kUuSQrIVxCG|xy-`R?<n%gMFprY#P(<j1N6<R}9nlJG
z1r7DO<LpjMe1u%MQ0ctJE3kroq``hv1q)!FU>weHOdHXB1y#rZs~kJunhGQM0SiF`
z*$g}NWKZ{;$0OuM{oDZl^iK`-(B@>(udC1meS}c_&hT_m7=;C@bOTRVgj`TjuM1Q0
z<j$|VO!$;j&C|~r(11Xw1&z#s`!vo=7||Lm(_M+qt`o^Wg@r?q08)t2VEj-<eT3GG
z#;>DLRNw>!{W<_81iplYN+1MMh@Fb`P(lFFne<apeMJMsQ&@lnRCpfS^tvD&Qparn
zz)So(w3L9m+&x?%f(WRSu9QdwfPp#z163FS=b8c6T+x$&ffIOuKoCwU838{1)nJVP
zXw*nW>VOn5g=rPmV^qg#p%w<<u}OHxzj4R+oKwJ41r)%7699tn)Xx$CMOqlGSC9n@
z2-Zqz1!6VUVMT!?2!Rn;fE@)pSx5jp1v^~<1IXlocU@O1Xs`vaf;_zf8W;f>0D@dl
z))B}6Xv76i8UYz#O^_8?NTmfXz*ZSRh11LcDhSvHa7(zXN<72`5SUo7qgUO81z+HS
z8jXeLsZmrM1*VvaJBWo^xC5?8f>BtzzvPN@O*_P#QZbO%SD;rMaD|G!SRkPP1u;lj
zRLEKyH~}5#fEc*TYh4v>J<SK0f)J2T6~kCnPyuT-18h}WQ2^F%oykZ{*S>8$Dy>b{
zWC5QM&FAqG5TMAnRU{l>&0SrUcePKK9RZkC)s5}gS}0QxSXLU)QMg0_Du4lj-BDFY
zq&k_{T98jgYA}(71<R#dMLGegG{i%_RpiUr-m}^x2wESc)fFAiyPQ##jRj5606mz6
z7<$zTtV!VgI#uWZD?o)<$h%3!L^G&T`E=C^JX8#D%T~o+udBe0yr2qk$ELj?KA40M
zKm@<_yIeQ~&Qwh*Ed`0RfQfa5Qdn8yb<2d2grlulv$a*`jfK;U02;{uo+q#ZUU1*G
zLCRQg-VIpULy3g0J=kbm*NJss37}n6z})#g1d6mkP;AXZZGc56)B4SYTd4(KAOhVC
zJ4|Q*NeD#}PR^N(%$t249C%2ol}$fjB|}6+KPXpjL0|PnJE^Tf`K4bgP|6CX;UKNw
zSrCJRg<|G81nz}}Rz1y1c}qxTP02h>3@~BuMc!Bl-@Ro*_EqD<i&sq808(&cP2f{k
z5X%+bfr<6v<0Z~qm|qoUVcopoTF78ljR~+l1O-6Wqa{{(4Pg0{S63)X5{^kt=l~o*
zg+Lx;sw_uX;KoZ80~rX#Rt39wWzrPv-Lo7{N!Y!0trb4$S*0ZZ0bhIt%tcMrl+;6L
z%cHH;O4vjyxBy9jWnWatm_QDs31%4uyYYS6Ay$=7>O%_Y0H9psxpQ9$6I1<Muxg0`
z<Gda%@B$q@P1z07(yRqph+#vl1+2t^PSgT7utl#;02y{*$wbBw0E4U**#W*{Lg443
zS=%k>&b6(A$|TKuz5*PmK&32!(`*3GgoRI@VMMj%0TzV_NZ?Rh*M-ep#vS0_Ejv3<
zviCfNX<-06U}hL_=2Q|_X)Ze?K1(skW(3$~d>&>?eg%a-Uc1aws>SDGwqAygNyx0q
znUq^Fkk6YT1Y;J1Smw((o#v+oym-Zh6L13>m4#-FMr`E&MIr!YTo~$kPGp95=uh5W
zekO#X2?R}kg?;saM6QL5_BwNx1h|fc)|5}iMctSv>wdmdTo?f%phdAe-q?iG+m%$0
z=H0Xt&f0xz&Gm{Ln1PAquxd$x{r%+`ZiL$P<OjflFQ5YMeTB(JfXaTJ2<SGi5CT&W
z?aDqz@zKOp5?3wIL^MFx!Q=`UKt4h|GN_Kb_W6Pku!0>9l<Zv5iiQGj)=`>F%^EaN
zFyMtSmS^5GShqad-aAbOuw+G^+uid86ky`mG0sL%fXB{(6^H~^paT($WlW?4B4B`y
zg$28Yr`<!#4LHrzL<O`gfymQmsg%_Anb^1dx)t{SZm$#Nj_yoUoP!Gaftg5Bu9yS!
zJ+j=s?Xz=f{TyykE#p?D@8Qf^j;`<0CT}6QZ`Ca7Xq;-JJ_6Hz?9^WEr*vxGmT|dz
zg?QCS8qk19kYi)~*cFg%u0{o1u;*0{P2?-_8ov=(5O4A}Z(_jef=0f#RsmzA$r#oZ
zgr!$20NS&S9VH*{$2RYKqyiO-f>0c6u*=<dJ?sQeY_zNIehgG=<h|m2h4>z=aIVf3
zJrq@L-UEGZ7>>zWsPm7-fx*_h;uLf{C+xD@J-mT|SuR3mc4in*>1dwuwtF5KpkY{$
z-(W=Ex0cK*FG(pc$8tVrIK_knpl-19>m;cERz;S~yKK#@<;eb4Wje3!u9X1lwpufY
z;aNZE|D4YazUfcqV6YQ~Q*T`q7Q2mR?pQxcO-IF}Q0AtPaB-dVN+(ydyYL3~WR8~4
ze9qbuQ0VCW@VlO6T_*M~cJBC|+rb82L?85eMdM4icepF|h1LWHSm>*EONkC%cZbF@
z4fR`2&7)jsT)y>a4AQn<<<1>&P4-N=&S=cd=)v~POh43LM)X&$agGAW4&~v(h9?1!
zc9Z{2#s1wIRLTu7VUZ*SQZUtUPiIvZ(_y5Ke&mEw$mk#^0+@A$nb&LklygpagrE;c
znnydl34yqC+NnU_4v+&`<?Y%z=c6wFg?NqLR~>h-H3LL`1yR5NV|?oa#awe<^`pIN
zJ@AB47=<o$WK@t~2kroh)W{e<URPz!oX=B2c!f)7PWQb4k<?O!AK^n7(%}W?T1I7g
zh0E=3-42L?wpY>CRf283Vm(;khD6;a2=1~w5U16{F}!vQiTbIxa4Ah<s@?hyjUhlq
z{Bmp`1iga$d<9LAOjIEH-Qxs32xmU;ZYy}pqE6ulaLwM&1)<O97{B-CKRZFDT28+N
z99;logkcjtiG{|6JI-oCF=0B!b3smWzm9^l71iT4Ta85IDEDe(gax#hPm0V1U;p<K
zmPqV|Ouk3@S)fHJ2M92+2G)ZAg-HUcSFv7=s&oX$s8R!IHL)`ABF2mwH*)Og@gvBP
zB1d8@5Hc4Y36g3p#6^Wc2nHDf(Yk^lL<bUqYSDVB0F1(gur!T`(BVNKSY}{qpmIS{
z&6^-})^arngi!@nqT-|q@(BY5Cs>la7&9!|uzXrgB3t$?+_-Y*(ya?pQv{#`RapSz
zO3VgRZiiwW(F29RnhbubQlY07DohO|1zm_KEdvLx4mF4bYu1$*rBtCv5@N&yfq#K0
zd^NOa2Lv%-9fFD4O0L?cQ@6r}nAa>b2u3J~Qi`^OQm9~wDUq=%7a+0zVg^#Mk%NS^
zgfmDTRMkwk8c)S}g{DLQ*bZo3#W_XtEM^94+k#}EvCpYjuW|t{<@PTQWCb@|aizF&
z1q~+<heIpV4FXdK5m;dmLi)in2zoN$5&{@iJ&2QpT;;UWLZ|d$7m6vWxFU-!y7(fD
zF_Oez38-8Ii!2X#<_i(St#CyNuw0lSD!B9*f&~*El3Xmz$*>$z5sV<4f2!~hK?pP;
z=GH5!c<>l1yG-_qk;A113s1sjNdykZMH!oDsuZSx46tC-B@22C<O>LC$-okLB+57_
zp&pq8l54dn8VgyYTtbSXin=n%BV-BLQ7)Hw;-93G2xjL%jxMrjET&AlDOr<NDiRtY
zgph=I@5L9^iG|w#dMmDPk-E@A3Pq~Xq@^^-Yow$q$_uC${d%LN7}cUmp23o(pR%>&
z!U-p(_(}>VlQ60%x07h=Yc14{B5q}{kh|+ZI6lQ_vKPJ5in>D0vgt*xn1MsQ9o3RU
zSUFTC>#VhgWM4-3QM>Fw`o$WoegMM42`THIqNzl#^{Wt?#ny5$z5}VsrHQ$kd@{-@
ztGseuEXAv+LK029h>%<or06V@kisdN-+pUtxBh(#%cBhc%xEmf^*XU9Ha0x*BMFgv
zZMGL(JBicI=CbdwF8i!6zbuPA*P$WB>THUyuyl5dm(Jx$w{cI>E!$(;eYah8_v-A~
zWa$mkvtJVbq-(i+E6b6u&u#RID_(Rcl70iz0>!8z*?|QXcEknu+?~@s62cfMJordK
z9mra)uat~8>#e)~I_&<wweYURRvQ<)du!CMzk1^$M8zCUUU}@Xmt8#a$t%D7Tz{MG
z3luv!&%C_61D<l|7mY5LD|A?t`s&n+KR)^8o4+C~!!B<9`6nOWKK${^54$Ny&rg2#
z18pBy<R+_b@cjZPzyT7lfClWy`wpnU1v0RK=gVI#2;qrVM6QAsykG@eK|u_1u!A1-
zU@JU92nUj|geE*83Q?566tb{|E_~rzAjk<sc;XZ`yde&AsKXudu!lbU;SD`8Hy9GJ
zh(<jBBK1~?#3eGZi3j8aA^IT2DN?bDR=gq>v#7-_PLU9ta3UDPD8@0?MTulQBO24F
z#x=6Bjc$CQ8Q&<!InuF?cDy4V^B9*n>amZ0{39R(Dab(vumB!ABq9^3$VD=;k&b*M
zBqJ%wNm8<smb@e;GwCr>3<Oe|{3IwtDauijvXrJgB`Q;?%2l$mm9Bi{DLEMnPr|a6
zw!9@SM@b4p{vsK^{3S4hDa>IKvzW#_CNh($%w;mOna+GBG@~iaX)f~@wU8yGtWl0_
za<iM>{3bZVDb8_{vz+EUCpy!q&ULc0o$h=mJmV?PdD63<_Pi%P^Qq5$^0S-PxMnB+
zYtc(;611QOJt#sGs?dd6bC<P9h8-d*(TP&Dq87a<Ml-6>jdHZ39{ngtLn_jdlC-2I
z^=L8xI?Gy=V;?SkDNJK3)0xt=rZ&APPIIc$o$|D&KK&_BgDTXa61AvCJt|U@s??=2
zwW&^hDoo3vQb<Acq*lEuR<o+rt#Y-iDRpQv?$Fh-lC`X6Ju6z%TG6itw53peD_r9$
z*SXTQu6DgEUh}Hgy~0(h*nFs1)hgJ*61K2{{i-3MVc5kowy}<VY(=3l%eM0Msr9Ht
zB?z$!e$=%dqX5TH@zIP+Z~_(O;A~}W>RHg*RJ5cuEo%3Q4`dvpuJ{OtTT{FL(|Wuj
zw{)e3H+b5NRp?Z-*!nC?=YcIw7(=(ty{TUVs#wTUx4PCHtYjTJ-Rp9<yWaioM4>TN
zmdX?#vPeO5W2%lIgkc}}AVv;g5MLOiU>QiQhZ$y&11N04zCgWf9dyv%re3xfGfl@0
z{2NsK<{$?#VC{S3JKy>u6&|910SspFge|aEr`kyHO&RRq4#O25=a2?X)d2-oxHQ7@
z#W01FS`Ru%I0_^-Dn4-WiJ}%*ruhAXJ!~rrP{j78__&1((2-Mo3_=GvSb>7~k&XDy
zAPhx*E|y&y-IZ<^yk7n?n8SO`#D=-dW<Il4#rs#^x^x~>utJbw$_`BbqyV(|c*YGD
z;fg)8^vXiTuMAw_67>F=3t8~<QRNW?LHM~IvAD5M>p_Vdu=u6sy@4n8oQqhnd8q6d
zL=5(f3nSQgr`jMvlxHewN_SQm$cQscEer%p%L3Dy=Cq6lkpfeMqZw_0G*RI(2rG2j
zr;28@Oo{Pey3V5#Nzeiz44hMH0E4IX-~ypvYL6pVIm_OD>6RhYWi*q!+}Is+Eyiu`
zb+fzNYNjkq-%Dv&yL7!^c&RL)EK_z!qa4(j1ux=^kAAz9-!0`gHBRAg<l@%}Z8ifC
zVEyk?+!!DKCIyM{d+3<f0~ws)g>TuRjB?at7PxjVGG>ACmx|o~7e>&7GL*quk;k0P
zvz<jPI&AQN2i&FnsK*&tZRuy|JEl7axWEa%4}&jV8VO&xof{#8mf~X<F}``u<Na@7
zeAvDsm-EPf9`s7b6dv-p28xq=4Qk-yrSPbSTiH>M7Q?+B@}P!W@llU?2!j^&s7E+p
zs_0J$oam`;y1$X$Vx==3;R>e)a`(ZE8+^jgSl4;Kc}{P3%);alrUo+15QUgq<E0({
zcy5p0^Q9}p<uI4I;1`W(Bd6WiQ>X$R<Uj{9-~%2`cLg*&n+()aBj(AFbLJHf(|S;$
z=r9#U4hH<~EQdSY?Y=(tv#Mq?XTSU2=kB{#%I0}M+~%VHaK7PXy52hcAPF!4Lrd4o
z3MHR|)z6qg5_0f_C*;7!%y+nZi9!l&!_r;Y6Bq#vRGv%K!ysr_5(wQsFrW0fls4!9
z4LkuAqyX6=m?PxC59ELq@B{fdV7KkVIV6D*z(D&!fgn(z5g5S@7z3;^poZl@jICe$
zy<bcHoEbo%OA!OAsb3JVpZmezKFA;a*&qJtAOA%`Ilx0I#DF^l-~dKo1M**tSr`l)
zpckwFEAT`8Dd3&Oz%uZl54zMj2tzPDgD~Jikm18U1Vb<ggD#}qI_N?;aMm4yRy_y<
zGss~Zw$wZTq8#c1GQd<e#Mlo8p?VEr4jLg6nxGQ@=HLGHA2`4RCM+ArU7-#77Y-Jo
zTgd|zTp$%JTRnJz5#+!O7(o(P0R?*C0cP7L>Yxdtpb8oR3ohRvI6>R(mMR#55CEHz
zDO)&n!WVMZdZ8c<BtZt+mxblu)V<U!8lmZ7TdHxJl}#V@jhDI=)+z7;IP$_NSXBrN
zKnL)__obsnZJ+h2qdUH%V1*x~uo*Gj0I~_*6ab)m)#Dvh0wPpGB-C3D;6OQ;7lo+<
zrJYv&v6!-112L?CF=)d8He4@e1FO{|i?M?!$N*?rm>0SfHDH73nZd@HUTyu{AVi!?
zr2`BIL36RgOZJ>W2A4}6o1Y<AFZ80ku^9RPsiZm#WI>*nef`{|k)3<tnH=~dKnf&5
z8l-(8Br7Q7MaF<bLZn1q;vlSmB3yzd1OXWE!%pr)PX^gJ1i>Ffpc&{J1M(tTIss=f
z;2HAWEKnWXnP4#R0zbgRJ;(w$@WVPhLwfCD1PTK&1lKwQ!|=VOFyulnTAC<G;n3Yc
zQvPE=9wAUV<q;+%7*1tXM&v}6UrdGNSXyRN3S|JsfLke@74qT?0>fLTWRU%2X)2;k
z#uR7Wf+iYSGtdDH^Z+3&!;B@t6A0&UM!^);)HBo<F%Vh38G#_IR~XDg5}aj=ZRBY&
zWl$<&1X`m^i2{4go;K=L^>rg*VFNk;{8BBP)Dr}N7R&)Wz9T!5=X-kB9DD&|eSsF_
zr&h&5e&**F#DRNq6@KO?8Uz+b$s>7<qzurTd*vJ1-5Cq)-~LsBlC4(@?gN5-p@nkR
zLhi#eOdT@};5k4+G5lXeQX0@Xfm?OxJWv4{(3Hmc8Nxj#Yo)^s{6VJ;95qZH*~x=*
z9vBIvmlXnmlI;UA9OR;{B&EIO*u|7AFya1j*bycvhA!!bN+OGWXgP%FHk<>L%~=ps
zVh?N<0}|;E)>qYOA`tr5k=j>>njtID+hNiqOx*)9*x6x1gI@-NNbbX7^5J5(nK0DW
z0=gQ5ews?+8<cJsXj!O|YN+i0VX23LsECp%ekH2urDTz|>6Bh*hJxiT#DI{>*{~HU
z@=*hgcIu;|mXBU&vQ?o?!GkJL!3}HyFvJ-<&_X3#!X@nLC6vN-(iHivfDyPsdLiU8
z%!3hpf}~}mdm)*rI%<`Eq3Jc>HQquAhNp9lXGYxtA|L`fMpPf%K_4K3A4rrRgzFug
zs~wDMxw0!EAcBET6gB|EyxPGXOu{6DYeePizGl=948VNCC%Va}9S{O9c*8s7gE#O3
zAq=cx#X(H`z+h<s6zpGG?AH@uL4cN25~RfmK*0&b0au|%SirzWA*gRLL!>4b6<C3(
z?nAzn;XcHc{7I#T8Ub_vb|^6j0Xn2Z40r>wQsfV!=oGYH5}+XE@q@Jb7!^#QSe}6g
zexN3Ps+?&;gQX$_)@Dpu?RM&;MLuN^MCE2uD}K$}&=nm&#M#Z3Ez{~OhhC)50<F*{
zn6O3TdwF5Qy;RsjA>O6~Bl_qcXyk$x+#sN>OX;O5u$kiSpgat!U+O|f?%~e~gEAEA
zFZf(N+`}mN7$wYF+WObp*4x<P?Az|F-2QCPB4jUIYRrBu--1}%E+jHe!3;ow9LQj%
zE&)6wm(>0M)i!GBx@}FiY`k%*YH`5|M1nB#ls&M6FPOm(%m5hJgFLL*JUjujp1}le
zWV8-1?N+0924M96Y3p-w>qQa5FZ=>8B*P>`)GxFGFto2HMAR|7uO0XSG@#=zyu$pt
z?<@QQF#N*3+Cja}>m<AbIgo=n;BNvia06phz(TA##wSK`0yg}EIj{mNfWtpv11C_h
zfTAD?v!W58!5nA-S|ovB%?f5{K>>r55v0WyibcnM)EAU+2}8l<pv4Kqu$Zk`rsigg
z)uRHoSaKd7RJIiDF0rH%!_=k201hn`uw~WNSBqLf%ppU}f!49XC>KoNrwM_5nOD^^
zV(cnlht}ke$`nra;@-Lxk1}mSVku{R+8NHQ`qgn0^YKMS@f5EZK15+(PU#=SvE)%2
zK43yLN?FnW;loC@D2^^*55}pb-NWLBCMG+sFbv;cHrJkRL*-tsSPrV@x|&Q08xZ)G
z9;=rhYv?N*DIjkHLK?#$6LDL<)Eql;_-<P>ID!!<;-?WC%MAh<yH}_->MOHq8;547
z(rHcAgCo%D7T{$BqGHmrViJ@ZPH6%wU?j3;uOI-O^c`7}N#inCqw}>GwmPf%Ru=kN
z6fclML`}jmh}HU{<0Mqo{YI4j@-Hu-<0vFU{oVmEgfK;!=Pymd9hk!}*snO?t3yLH
zM!^690I>+0n+01GAz%YIn1BF;v;dd@IBdhi5>_0LEJn=%8mKf!p@BxhbXUa&S|C7J
zgn-2VCIJ=%j9_8G#{RTV2lW%UbV#Kl6nv}?qrt`&Xh_j?SlIMU&%q3b#Sd$g%D$8~
zd}mDc<m<LFOkHUcN2*0Kq!5sUHmq)f5v}VEbEhFP$C2dnk>nj4bB!*krR_oq#MxNC
z6xYI3{ps#L-0d66!m@$2U7xKbzf}4)BC>@wvh8)xnsp3>1G2)yAvE$&hJj!==!4xE
zta>#EDx##3fKmEsFhGMQ^JUHEDHsOBGz9iu0xBu@At?{$t2r|fFZNeQs$+8&WS8|>
z*X=UE!(PYQAQY|{3vXlF^=`W=qQ>>ceOh7jHgos2rKN%l=oDD)W)9FmAm9Tn^eQL+
z^y(#;f=+e9GC-w@6~jD?EjyUO1Y&n{$1SxkptW|VR=+bmbK^znFCq{EfF}bY*ugK<
zZ@VUgAKXDd=kNX!xPc=AGz6CFR1`LRLpXlxKP0#vAi_VyYle#zhoAIBeZda|0L5l>
z_ic1V@d7J|w2KRXF+B8O&4C$^fE-*D9dtkl#K0V2v_#cG6DUD_D#5)1xsYd69VCGc
z%)l1hutvc|fA;4boIqIU^vDWU9Gt)jz<`!-d6&a5Nd?SQ`!JW=XGlSLl;>w0{6N4k
z01P;JWQ|wcff}UM<2@?&4U_^h<N`AALZia19balW%tMnxaXCmaEvGdVL;*7YY=;+a
z+vEiTI9S{z*jcSfLP0izw7D0Z{em>`;c-toe4TNW?Ib>21Fa@Dep!Jv1YV1k!-qws
zTUn$a;Db8kW80|%poj0O8Ku0H0-yK!pQG*<3Ob?x@u5$#-KIhc@Is@XfxcN}KwiU}
z#im!5gFH-u^Wj$z5F2U%-5K^FE(BgZu$}b^!z>IYF4U}Cmhv-9I&BLoq2?tfvjaOc
z=00?trPU*_BZIIX;jS;Ku^0L*BP$Qa04q?sH{iqMO?$NiJh6l2Ec`-2@~C5`z%k$!
zN^)d`6?VYa_o}!0TW3L};er#|CQdQD8z_S&L<Sj#v-UP?ixDnvHD|>Ci|@5&tA6iQ
zJW~{e*8(^K{eb@hLf-*2B=~~=Gl3&CB2<+fw8A(hw7p6cC;Wp%@xeb#f+zUH)o1;^
zVnGK4K<1!$_Nh2UEdxluxJXCzjMumv!1)}AK??M^k4sb>@PLrlc#lt1eQtq9(ZLT;
z!2+Pcjdzq-%&Wwv1r*dhSD}FmhXu!mIRoSXQpX3FgVf<y)KnXR9cTd-)csYPAba6E
zS{Cl{Vwi-n8ZR#?!^_tSID-8p8PHmTim?KI%>WG0z!q$Jgw<Ff!vogF7ka_kJb1y9
zQzx~@mlCAvv=$iyx<2ebs4q}~DxPJF&R2Y$vw6K3H?O|gHYu(DNtk@8{xY}zlSTie
zs_ryY_8~~v3@AahJ+Ca_z9qI8GsM>o)B!}o6fw*IKnUWuZy&#UW^S+|xDcPbV8S5I
zA_#9CL}A3N@#9Ak;;wbNj2RTBtYAH1#}@8$2$59EgJBrT$^m0$j)eQvB`mk^Tta^M
zn9*F}=;kvS=+ecorVffid-KlBgb@YYK6bKb=AcSYT@Y5~`1NG<6YI<wVC<!wM~5bm
zw9%%_R3a)y)tp~>`Xq?Y7nK|{{-iv&qF749hY=@MOt2XpBRXa%2`TT!vUyKF)jI=I
z8%@tSVBXy+b|AreTv9AEj87Ek#jjz<mOYzx?ZxG4k%|@ni&QOWc7O*5?gyG5;lO`!
z0)D6XonMpg*g=%6kDcVerw4C!>bM<jz@lUSM@T#&MB~eMw{zzNgE{Kq$Cp2!etrA*
z@#ojS-ww3g1$=|A3;_r%P=G>^IPg9A;&?&}DrV>*xH^o0frd8T^J1nSs)(<SBw*-)
z3KHa)gN~Vcm}3qvK+xcaJ2bQqjS{_30=PP$m?I7%l%QjT2!4<-xHxLOgF+Z0i=#U_
zBG_WV`WQGNJUilOkAW*sh+|6r_Cw=JEf|0y2?n4Dfq^Hs%<sw^jJVQGH?>F;N-2-~
z;mQ}+tIt2(c&lY6d@xDvFlK@f#I}@5BZwVkb|T3Cp0xHU2OmcZf^<^D?7>GGX}~g!
z9crwR4IgDfJ<Og&7b<7df?|U-u|=m@tTclVlB1NWYD0C=M)!G?AYM^bY|(HIV~5jA
zW2(y~N@j2a6<iDYsh)7ySx6&%rcDVSY{P*Eo`Ez%ls00N%{8T67xFdIOI=k|8Dh^R
z714Hel|~tK5JQ$BX+mw+uwWBo4TwVtUQLr>#7)<>MDb~+k||bDZJ~KC8H9zv3eH&L
zjXC}`x7~XC4L)9K;R876tW$2i=4yFmy;!JA8M|b(<L<ccwiM@>mA?T_XP)EBVF2NN
z$N{*bk2adirI~Kp>8J186F`x>Gr>RtS@9?TK@&_?&&VSp=)sE}QZNz(8orp~0XgUh
zp@%POWbg_Su%M!Y6y`WX11Pj0f`mD~AYuh9R>b1L2hg}fj1)?wLxU~q*g=UpsL()*
z8Q(Kf@*Qc=LJKJ5ShC3{>5DSFILvf2OF5yI&r1fpgy9JWurTw9uJ>DW%s1g=eLmBL
zYm)&Z^4k++KdqXDm%|#qwd3cZk6!v>2Y~^Ga;MKeC3U8N$y&{<$39xx0M@u3FEG|#
z{q<jy2a3YjPpp%%re_Beno=+(C1!L$();)U7(kElDP-~SLoJf=i(~vEI@ej5AMQYi
zV@z-qF>_#cfU}+M;7mA(AjdoMAr3_UVCRD&93gyuFtp%wpa9Wfp$l8sIvLK8hBfSt
z)B@C<J6H_~#=u%X5+nc<kWM&vhyxE|aECkS%?@V3z<cU&f*v6*bnv+Ylbke%x$US2
zaxhW|wh)Iaw4jP}Ktte^pvAJ8NCRltkqqWw2E37ON0XCW=DK5|(cK4lReF<@h-ky^
zye@XLs~znE$wvm{V0XM@K%DdgyrbRe3mrg1BGqHOKJiL`o%G}<K}oQKuwW~pH03Ej
z$;nRgqgtqR<tuH28v^DqK71eq?&1?c-z|+05IjyVcWH+t1VE6*H0Cj7h(oFgXAV{~
zfj^8<h<^l8h`2mX9eAJwCDOtF18SUu5s82|Dloup7}BBMvS<bp)Zs@RaHj&Qpv4%d
z$Zjw=fd#tA1v0V`ay**Dh)NV3&86`SAcz1BFn1g#&4`b5nw{$A5CSbAbC6dmB<*Y$
z%-=0ic#edmn&>3VD-o|v6Sa>fd!tHNu9T%MJybZL<x-i>l%_Sc=__S<yk%1Km~j|D
z07A-Bp$?U($`lZROhAum8mJ8NiCh}57y-r2u@3&!kr#M?Hyt`Iacab-61?a|6^)T?
zZIr`PwYY(A(%}JdIAR*rNyIvq2yj$bfRna_MNFy(cpc4BNi|wSLWaqZwzDRFbmzz~
z1-3hqoZSzAQ_`q?tWVzmaK~jan_10nmb0Dp>}Nq6TG5V{w52ueX;GV6)vlJct#$2d
zVH;c7&X%^dwe4+jn^|vAwtz%6=6le92Hy^sxPmmQdTLQ16BOZUzsThgpZL$eo#6rT
zWKtFCfT25>p#gKi(UZKJP4AB2Z&b*Dip*#Sc}CSqXXro@<0?kP&B34C{iZ<CDqKCz
zD6f085Af_1CM5xusDqUqMiI%SH9gdkU&vihFA1D6nN&}_tpzsTkzoyQn8O|R@P|Ph
zViAv+#3eTIiBX(l6|b1ZEq3vXVH{%_&zQzFw(*T|oMRnt7#kMeX>oxZWFZeZILGY{
zB3N;?0<prEUaKnq3_>u1>Z-^L3>bj|ln@6xkn>0Jq^^^Kvmy|LAObqTTOD+OfDm+m
z1c@W77!hy+4M=gk5ePvJ9*5>MvXcQ%91@SPY3I9nF*tMpft#o}r|9TtN)u-63||K(
z7_{jL8C9@FgPZA0A6C)ok?ct=jNu)Rn$)E>^{G*vYE`eA)vb2*t4ZDCS^k*FwYK%G
zZD{1~aKac?D^L+wafw|TNe5ZJ<Tq6mhhqcBj1k_hR+*`6^nTNbZlpFJyr@Js-a$p&
z1{`{o2yP`#Y0-3*_Lh{WUV;8sv2XgQP+!+>!d=>tQc8F3+TA-)&r;N|_V>R59&mvV
zoZtmF_`zlWENh+On&Az1IMa099YXNJ7_2CSF?i8rE25RL;km;X5~ss)uP5C1K2Ex$
zQ}S_}+&+8d&lBu<f|$=7vcpY+%uj%Gndd-BT*`sY?I}B^!93?PFM7@QeY}1noas$>
z`qQBvb*WFC)e7$utskCst#3Wz>iMS0SPq{RRpHTFr(v47ZR@h<$L0A!`+iV*VXDua
z?sd2O-SM9Hs{7dNefN9AyZ(2<51#PziTl#^o_NJCp7D)$eABHSvV2UQ@|Cyz<uRXm
z&2OIbo%j6bK_7b2kDm0UH~r}YUwGB8Uhs#1{Oe&Kd)d#P_9>3MZ%&_k-S3|Fz4!g^
zflvDX)U%%W#Rq(-YoC1OFQ56%kNWMQ5q#-SpZe9e{`EmWeB*DQ`#^TR^T8i}@sFSU
zHHJR+(Vu?xub=&!*M9fmAAe+izx?&L|NZel{`0q=|NZy>|55KhXi5GEumFvT{_-yY
z6>tF=5byR603k2}B@h7L&j2m(0^tt%8gK(Sume31;2v-SMQ{X3Q2Htm15q#q;{yRd
zumxT41z`}zLa+pBum)`~`vfrhZg2;Ako4lAAKsxK+~HA(FfGzTQX~Z**g*-|p$VO^
z9@wECq;LwQa31Qx3g;mUwJ;0iVIJh+3&Btx)Iki@p$yGX9nJv_&tVPOFdfbz9pDiE
z4p}e;>97v%&<<y?2la3dCs3LA@DBlT@_tYV`@tTDkO(8?SGGk78L<hWFbW}&3aJna
zDUl1gFbu(P49~C()36iOa1Grs4%1;B=I{<p@f1-p0rM~rS+NzV&ktQO7HKdZey|<v
zp%9C(SN=p&marF{&=I2$3McUjiE#_HunUp#3pJ4p$<PctaScB)6h*NVQ?VMY@fwqF
z6=iW7xpDMhu^YkB|9&tCix3eNF$sH-2_G>MC9xQ<&=`@?3o%g)oAC@i@fkt!4daj$
zH4q#9@gD(_@w71<39=w3?;8y=A*&Avf$$a&5fOI+3Gsm!neYjNQ3`{R8mjRB3aP;u
zEm0mECJ2mRBuTO)O_C&&z!CCM6w`qk1M($dGA0jhAQiGET@fK|GADVDAsZ4G5iwIT
zg(52w5-oBVHL?=5uo=A23++G)E`bvsVG=mO6DGkEJb@FiGAp%m60|@i^>H7ofj5*+
zCdsla&GO%9QYY222XS&O-BR=zk{rwN2-jsI8*wOwu^l%u3*T`I<M9bNVH7-J6iC4n
zNI@_QGcgTwF$<Fup5P6?5)Q4QAJ4KfE%P#QEG^%1Ge@v3IrB3!FD@Oj9D4;Hf^u7Y
z5g36nFYDnbTaz!7@*{&F7FwY;Yx5LJp*B&W6?U^XdDAwH02Eo$B{8%AIF0i-MNBh6
zb2<CZGnw=M%;6XK?-yR-6>1^F`k^ODGa~IW9e*(xX8{+&a~6=n3f(aaJJK(`@Cj<6
z7D&cD+w(o&a}xTXK1TsQlK?VBaUH^v-;nb^0W?5)%*URyKqb&QCr=;z!5{viLH)r%
zsgE3T;F0tJ{aOJLM(9nj07Ea~7U!}wGo?ElktplnO>)2yf?yt8Q$>wYDUs0#et{Qa
zR7QD$Ms2hM+~fyp^cV6oG9{BT1vE&7)GU<~LXC9#5L7|`ftBi^9~QJik5u${LD{I(
zjnDuX@*x)7Bo5Fo-`pe?9ugwg1s#Xd2}{&XPLu(3zzWk7J=L@S3xi;Rp2KrI$8bCc
z4Ss<S(DWDh^f6gd4uNz?1$9vUu}GuzP<hWe6?7lg;T|0I9@YUL9+dyw;TzroN-@tH
zz5(>mfg3ijQ>QO=cn1dFf#*EoO0WR^IKezHv{hZT9OA(cb1^9Qfe}ZP9qPaf;^0iL
zL<gF|5h|e>h_NrTP$}oZMW29Ae*s4oD+G7}3-**xdz2;lQ!M)g@d!0rwe=1S6;Zv_
z^qkWl*uhbS;U3DhT<hT<_)i^3pcgQ;^4LKPU_b`O!Snh-7hGT**x?cCwes#YUpH?b
zaKQ_p01z$}^ui<-s&irAA;8eU6O4cy(C-_J;0G%9Vt>H@Vo$*xd{RuubO}fFN}hmM
z*CYpg6$?AEO+WH7cmWuGAxsD%W@VNTVgXtiU`%pAS^d;UC(}Q-^=E+=2D|lJi8l0{
zvmYLnT$8pR*7X9M;aw>&9VDO|+5u`q6JPUzUES64*kKqr4<EiD4tAgm4)*gH;0G*E
zLf-@tto9YX6cIS~LlZFxZ?zsomSo=q7xvO4T~r>Pz-3=HXO&f1Z59iD0TKE@XZ3R$
z12t$J_i^)YXp44oInO!e!Caek9oE4g>cLUfAz&+^7I1_N;$iY|^$DtA7%G$<Gyw|0
zfEMzgZS%n$eBlYU02kWTAM61ao&XCVK_BM93?4xL3+SO9>Y#TMfgbW<9>$<__n{I(
z;a~A#5EeiSwxAa(uNh)jV4naAwxAm>4<5LH2`1HSjiB<#A;8u|V$%;AuA~-*$4d~Q
zJrJP~!_-wI@-Cb3O1$6;+D&gc(oK)`BcXs#fnkw=!DSV=aDPF88~7J?c0c=bEFrgo
zEx7(9mvS}u@|?3#A=OD2v{8j&9hf%r@IeePAP{_^3COn|rl1ObK@%>Z7xn=UN}v`r
zfd^ioUoEd6vLOQ^ffla70eXQS0%a9^!3Mg39Yo;*Bq1M~K@WI=7RJ^eq_$r1feX5z
zA9le7?130EAP`J}hyS%7o<Rakffpv>X}MPai_6yY&X)4jHb>dFeXqoQ(S!j!VM5`y
zV||4?kuWvc;cnZF7O;?5k5L{A7#NOWk&c0p6^MZs=#eKmf<>`sDfogld6SnfgE#n-
z^T9clRvjAja?AA|%J=fvVSN1|9`MzSIiOzmff1NM9WuaO`N0wZ_VTir379q;8o(JS
zBNQg@89tyN)?ot10fgGY8?50LTp%8#7JReVV7qu6)WK=rwTz+J97@+}#kUKp7Gcjf
zAJW%E^8tj^&wUvHkMBT_VSoYp_(L<LF1>Sq8K8gv_dMIwMZK_qAK8%==obq25<0*W
zAi0tkHx7xDlO6h@^$z+PbfPJ`qAmLWqA@z7HF~2tx}!b%qd_{PMS7%3x};6|A3ReZ
zJeY(R6qy~Bgf&lm0f8Rk!I<sg78C&II$#K-_Gw*tmo3kQ4MBO&;R3or8=}OXMqmQs
zA(`tn8k%4Rl7I+4U>wq60z5UG^8sJ=L2I`eU*lmOt{`j@frlw?mB}~s;y51&;Z1(v
z9bh09){mXt8J^`iZb>r{?NWaS`AqQEO#qlh`F1J)c7X)?7{G*fegRAnA)yt>lHssg
zeHNlAyR!36qE9-rHG8u;yR$v}vq3wfE!SM<!5=i&ALhYa<ze&SVG3rtra$1OfjS?G
z`f2;&7DT{m^`W)9ARqLhsCxnbxb*>3v!MdUA&be@m8<%S^MM^)d#j^4o7tH1{&gHG
zG#pd`1-c-Wo7;_L7xRW^^5QKA$RQ3G;1%Zjj?d(sJt3awc{|5+A_bX${a3L9`yJEM
zSdkH+4>$)V*-H#}vE|vZkKr+WG#xPcS}l9Q8Jy}cJG3D@!X<pdDZIih+BxkZX*K*F
z>|yhe`yXJNwle?}DzqH9;WVTm9<JdC@|7Ph0TjyjrbS>J_Ms6Ppclkf3MS7Us(~Jy
zI-K939<HFObArURLA$v)nuocEvDO-}Sc}6~i^th)(Ka8zqyr*WAG`#;*IB*uxV`V%
zkMUPTQ}ara;IFU5klzvik(crdp<t2)T7gDkpc$LMq2Rz<vT+-H&-pyy9^AqKJ<tVx
z&<P!-b5QffRcX!j9_oR+El+$6p<a#o9o&H!PyhyWAOj3RAFg2vA|M3@;RW6S9<HFb
zD^JKZAP2C(Y4hP4u0R8HAOxg9ABuY%`hgfMz$VV%17Z~uA|OP9z+ka<9|oZV9)Or9
zkDDW426P|>raK=__(}{w0k+$GC+{7^VYtPc0pz;N832BbKz`}he&IWR@A*nPU>2yM
z8IYkF+`ZlRQe}&k3*TIU9GSocys;<wu@`z2Cs@JzJm3Z1-~PPN4gTN}KH)tYLHhw8
zMEFrVob&WSc`dL1Lfv5+wn2F-lxb_23En{-Qh*yMp1QGt8<@62^`RfU0UNAa+bORc
zs$m>Tm-4)!8uXzZGVi<5!5W;w_q_B<cwzm#!AmazuV-~4YqcEixvw3`2-=Yn^SjOG
zq23$$=O=-Z73dhSKpHPu&j<eN!CuD-Ug62U?9E=#5i}ocaUZ169vuDj`hgj?pbySq
zhMOA{s_(niPag;YWBvXIzTl0~FAglW@GJHQumBy%Jr@BPHAhrKj35Vcz%O#34yN#s
zk@6$mXM%nK4J7~bL0{D$c;C1Fz#BU3Q9t!vZ0ygz^<Dq<H9PICj~yz(4g#U))t))^
zUj5=y2<0~azLmaABk>}QQVY|w3kO&p443n<zWE1w-xmlA4qUP`S@o^|`df_kVSoF%
zzxy#-_Nx!)K^gsc(&)uhBA5OVSu+^f6!W#PJmZn-pMU<LfBsAVPZPX1uoe6HzyAT^
zoxp(vvDG3KD;B9*(Ed4m2r;6>i4-eZyofQQ#*G|1di)47q)2E73oy)wGNsCuEL*yK
z2{We5nKWzKyoobs&3^BA_OtiSo=~Ct?BOf7k6luH_}DdN2bEntsZ#4%y*jVnJZkg0
zdX+a%o;)qQj{Q0Y?5tX|Y}cOUrR7{Yx#{YrBZ*L9Eo=n)`uz(yu;9Uj3mZO+II-fz
zj2k=uehfLX<jIsPTfU4rv*yi$4dz|gP^9S5q)VGVjXJeQye6UPd<{Fc?Af$y-}KpY
zsP278dpG?Zbt=@USFLijnzbv}dCj_lm3JvlSzv9eyEV%z&Lz5b)2*wfFyTVJoQ%D9
zSW{oOF1iR1S^@zPkR}L7l_tISE>$`zO?p@9VCWq}uVN_DOXwXUz4xks^d{0#K$M%`
zxA(dG+vmCa-1BF$){|sql=+S^$9&(BZ0Q84j+@KFuWj#1q&s~kHXf99CP;Vv{c|f^
zD`jsA2NA272UV}nCx}b`Xe4pfNX1^(>(STOcQ<9(O*I?~>l<e=F%RmCV2D?-jAU|f
zACmBJH%u4An^Vs9=O0(GiW6Fmw2Buy5_u5d8#ez6AxErgok;#?H!Dbud&oMumeDRj
zymhH3I|K%zG<$yEGAzen<Xyx1n=>}W*CBT{x%Q8xewRcgM00w2EyVct4O)HhT#d5L
z^*tIY_LB;>u|@_HtCiTPh(+1uM{`FbgY_uh&1Pv@WPZ{&)h*DM90}MrGqQ-nEfYH{
zk#{I9%q<ufEh{QJFk1<rT+Im>S97dvT#a_D3LGY|%j^70SWz9pt>#qIKMnqr(sm7A
zFVuXdlKQF7K6*XOTnw+wC_i4Tth6+++@aakb9ckmZ$H|l^`L6RrOo%R{VUYjxVmd#
z4}FYl=S}DAUa)*7fdzWPL3F)-*2d(A;kaOOWeKq#5qJ4|>leD0ysa_r{nW0b?gP=E
ziL5&wC1~&~tE9zx4BuS$cqni+-NHsZZYpLq$ArH5pO3P49Fi#T{vP<=LQnGS?Ud5P
z53GY6JY)5PtisTDvt2(AVWZLs<N_a5T*uxmynMf6HOZ*{%ya3tq_gK22Vv)$3iB?g
z*Rsd^%8M_a-{{D`cpr}m=Q$?`d#weNXo|GH`xWQCL0m%t0~oJya0vkb;Ht)X3&O%|
zTLSnv02U6;zh6+qyv=~Q00W4~0T~ohHW+k|!>ojt;lFND#7YJT01C`ab^sPWIaT}@
zbV#b$i8$M&AznD>o*d3v%;#P;rnM&$Mx^NeAUa0NTl^#})gToanVhG)>$0ksa)ddg
z?!BEs!i1m8Rg$PBVzJ)=_{vjTGTxVgHp~xZN|b_b%|65JT+G_NA=ShX{Qvs$|M91%
zg8Tsz-~r}W4FOmgPnE08KL-J1j|F~JGxmfJb!O_ZoxFl$<$`f0ciEQ|!nSVrXUKr)
zuJ@sVi3N7tOKk74&hnyqhBn)>L0woO?8*0dqlDeFeuMSC<(SBXbgEN%6wtlgO4-1f
zeEw~wL^qS7gX10hT%~rM!#iprw!Sj6v0$8-cMjwE0f;QU-!OGJEA;*N<uI=dT#x#4
zZn<2rx+|HzhFfE&l;okb|IORwwzqb*uQK?Q3(Yc-vL4udj}JMh0sBwnTIHYYsv8{r
z2(Ur__1FlIJ&**jVV>>|z+$HHu2`$VJROJGAS$otACl%Am74s%81!HJ+oIEN>@O+h
zqiI!Z3su7c{^C-t*~<U{Mw1t!{~~E7P5v`e%mR?VzuT!-3$H7gDqzg(%i7|Rk$S@K
zC>s)9Up7}h8Q<VAJfl@^^}ITo&M)~Hb(LIxAx3ba@@o<@Ye)XxUgb*L{h^_Tp6{mO
zz|P++KT0ZIi_Z~IO8RyYKC9k1Ci&cojI+(*3?4_%QDcvt@yL4z0rtC;qU|MmJhYVw
z$M$om<62L;w#KhZ?JvKsI^S<{Sw&<1?fwR>O4prW&T4y2rZhlH03_epE;h7-k*xP9
zP0*{|n(r|UpXFS6s4Z92SN_qCJF{5I|Mp~mbN~0vZ;}Ys-+dq7^KTvFToDK2fNY3G
z@gHU6z(Evy3?VS^o_P?doCsskeSUAozz0Ij>j89ukrttk;_WP=7?L74eD7BcV)9J*
zf@Lg!w@QHr<0_R|1lhqLO#=2!GYuxW4Ot~Nl15oOi*oxI$^idmnh?-);3L5CFVo~n
zdN36y<OJhEADNY)EV?5gjAF4W?)i#QRGc>LB{j%w<w+p&AJYsaKgR1cz6KMkr@PKq
zgtFId4`&J3uFgJ4W*z?^<Olx4F0iZpQ6+&xknqj+fCF2Bn&7_8V_G4%+HT_lLC%G$
zR}JBpU*0(`)!2N_eNo<6Y1HVtlH@#c8At1cfmx|DwH4pG;Mhd;8qKKno}kwUFJhB;
zHU<z(>bYEt+?yjzzmcCX^x3w<X?(9dZ(Hj3XHvH#J1dMikrpV%AF_YEgq(-`T4keY
zeH&g*yUA_S>~OsjSIKUWQ>%O2vcBBrs!ShF>*4xM&(sz=$Nin&w`YFzZWWt=%;4;X
zEKU{M*7Le{tH3V;TXih={jsy-Tvu1eVa4$~efsxDLkqd@Z&*}52I13Z%)MJw#HIBz
ziPMA9cGN%B6z?%FArbzYkvu?!jC?vSa$(lIBE38*uW1loKl3R3j*8OEi?>nUTzK3r
zgM@jde)AFh!f8*-+l?xTM3|a>fnHKF{tdI?#UX`N!iC6#9BFEPdzw(v+`^SOV53Pn
zd@3kug5Lh>97ojmHi+2cTNtI)+m+`%V74{)h5?bOA9*CXbFr5zVYWAQU%g^D3|Rv1
zAR(zwBf*)Q^s(Jo(NZcq?5hQS7b4jjWnnFbuS^>^C#2^_=VPL&Ufzj>OXEsRjdRq*
zex56@Ny8)Xa+FD$2u!fq)`-aT#9i?e>7Ifn`N2V73;4bmIM@2orn9q+g?m^uq)RPE
zl<LL}t-wum%I4}E>qP;q#$5h>Dkp8K!q{cE8H?E7VZ$e=llvpC28VKF`@BfDGW$9|
zHZv~Twa<KP0V|#Zl^#7(-jpqId1@BM9dGTN^6a;sqK6vC#rt_F&rB$o#e9G9(r!Wu
zKGpWU%t`HZYQCl8z4$XY*Kh%>&?EhBn^DfIx}$GLx!q|~TgDu=&$<z#zGp+K$fx}@
z-wwf1-G5nzc-u_e7c}Vu|76<K-Bhi6uo1d)c;qT?dRO(f?cdST=99|TuBU%edodlV
zZ~IP=wuftfVxE;IXq=}ARcs%34WZ<kC8|64AdT9fT|v9`LJ1_V_w?eXmxZddM&C6i
zU+1g!IAxCnzp<|~aE*2JR<(MRHn52W(Y^(gG78QNw>}9j?n7)oDVaNkUOw#4cpUlm
zB5dv}S4KFt7ZuGB{rmPUm(iH}mNMZ-5BC4aJ$}O6^L)s2R{KwG=9}O|SC3PGE0?sn
zroAWBf$H`Y^5=^Z-Jnc9<xOj@I$^Oi5IMoSb&dzb*+Sn}3_rZ4O5A?bBfSr|vAT~V
zqi+(NTHQR!Wfrwg^_LV5NH7v$O$M_YAV7=?jD+8PEKKe~uhOW9-MQs7EG^9kdyg8n
zp@D<1aP_;%(q<LdjB+dhO&AG4K0zy|El1vntmOdpMcWBj-LLlU7qWDZbBHaVtsYb=
zmXM3qV~&*LvXh+~{7mv*0-s^?gaq4rljs}1EO6vTfMJz|I%kAngaZfE=tC1yE(%zl
z4h=oCoW^hkZ^=F`9nv*Hkpwnd5i0A(ApjtODKnhQRupOn^gL{5z@=7Mj{x4nX#>6c
z_>!;y!){$>Z&B61@%!0U+<MFtIKayc)uh+DZ&F$Fwz-_I6Rbz`NRquHPJ3k|^=Nxi
z7d48-E{mTT%WYEaWb`ttOhsF_2g6p^LPV!p#>WG1?uoz0Leun{<EC!Ql1Q0NNK+1L
zkD_<-@J;(T7_fjSr47;qm0k|&;i-6~KH44c2+=R6@ty#ZZVw|3*Qpcd;2lD{Wfvi;
zDK_IZNe&35vTM3#&19Wj6pQ`X*9;+i{*mmmMCsXqb}Gkg5yiVw?H8lsMQU?7xhX{q
zxTUI+!}<vZsbw#q<wojfbEWZ@6&6p*pG^%L#FsTxy8S6O8KYikt@5ZcZzz8WjWBFI
zx~#T1_-=xwzBq>=6pHK{wYWE8)Uno369xS@(4mN>11w`1{m1HyPpg7Leh$IMz@q=Y
z`cgf0P{4;~HCYddx%@|pXVWV)8>;;@l1}%BW%HfJ*2sTJBv9nB{I-oZ<T4iu;`o<D
zLb0}K|Mjol99jXpE&P-jJixH}MOQRbouXo?#&#tCMY%yG+FoaK_=9?r%MjmRLJ7uV
z+t^otD^54*mCZ@EARNlX4e_qo=#681n06?_zd4l7`E})=6hH3Re@lZj%%SOu#4QR>
zHgR(VDhT@NMZPv1E;Lwdu0q9m;SL`|h#qSCvt$bt;6WC@dyRe{_dwnMsM*na88(p2
zsTEvxeLfag6?6AcOX|w~{qPKptk)Nx>t83EBep()GQjq)WVdsvuCBW~z%m`|`*U3w
z@Vdn<Sqp|t;|_#`h`wD7Ag5?vwYT?QSPQ51ydq<U9WgR`+y|S-N&me)Cz14tO$?9V
z?PuFmxdTqL1WA5Q$IBxo-+Uxh#X<J*a6Y$CCfA9@8jRHt+Gmz$IFg;<b-G9*aU!a$
z8IZ;bg-!7M%4AX?ZxPsqq`gtR+RAd;NMVZaSSzuSgKuq*QG5%9q3IG7Y6y9Fj!N?M
zBEuGT@*;CD%-MdRNm)aQoQKpI*d;cU0XnyPeKZ>)(M+~(EF1?V_hql_cu?ETFv;@R
z2Z~ZZqwbQK-8KP+{1-10%f43;f1cXpjc>%ZOaKMdGRZn}wJ0W8$;=Qk&f(`3${--a
z-y0U^KWRzbLF$xHKkDCDh4xHZX$y|UB`WiGT_rNp-T>xLo`>5w9#{EoIdY&F<V1F5
z2Ch^4(N@e46si5pM2|Zl!pq5Bu5u82S;vaRb?SjnLDYclmrphi^TfE$lF33gDtk%j
zd%<Wb9*y+3Oar6L!ve(`Q(Yd{q_v|Gu7h7fFw_10O|nFieDd7CDlVqUaT^ycTopRN
zv%1QXnchCUm6yRDvtKV40^L}I7J)6_7Yjgr&E=PKtY7m2ZUaw*h1{_L$`uz=L+Far
zue&E7m*IFvzt%z>$*<PkD66hE$mR}tHWA8Ile{S;*fQH0>Q&b}K!(-0_)h(%=wAMN
zmvNb6fI$o>tzNy^udb^SJFFWy^8Hb>8~^*L>6d2PapN7g|4HxnK=Iu{*OZ&HV}WD;
zvq@#1KNquxu755UZL9zMT=qKt^J^`F=kL{4y6fNTz2fS>H-}Bfe}A70@Z8;AEV$nN
zx!SG1`+NKA7~_EuB!H)a22r2D@imYj%0V<(>?8;li^O47`Amo*GNBqpf`tb^r=YRv
z=^%{2$>)TCNJPlx+5mwLe)oNclMwD%bHZO1-BczhdWMQTC_8=+-6|?ns$vb#_#IU*
zJ_YEZV$K>}NnSUz913=V&b#-}8#~A!6{Tmk24N18_lEJs5C|wyer}eb0)Wt`%mpC#
zMMdf|ogf{Y4H}}s1d8sEhekP@SevI3lJqE_KrZut2bAR?9l!vf{f}&;fenn&z^!qx
z*#0fsxHAa6AM&PCSE(r&NMNAT3`sluDEhJn?he6Z8+E{A<JQkolNb;n+P(;C(PN$X
zC>8RPmN2DcGG8Tu{@s<$XctIpa9>BnW}QZauo~oDXTxbw^|Hxxjxg<TvD&sT{7H<b
z^Otb9c@a85KZgd;Z|m1@_Of`@`Qi^4JbJ<d^hDx4G@vy+wGgtuWv7LumTjhIys*4{
z%ImTfhMk10%V`m?5nZHs4|c{`S>a26Hj=xC=eC7~1*{Q|#a$eJqnA|guN0TroAS28
ze#I?Pd%D|Z+V&t>N%YN{+gkfIo+MllNV=Qa7<mf*etAv=joQrptqMFTN<or>7}OrQ
z?@iSOS;zm5@*bd4jweg6&(r4N*!Ie0{B~;v7dA!QlLI^@$Of6V*)tw8Z(Q}LGsw07
zE4Z!tl=AE%b1@o7b%X(h86nvsIsmq+RF6^dhPs=KoTjS|fEwnjhUvz^qGHol;zt|K
z`{km@lQp<5J1pYm#Q2wVU+H5Z`l)2&^ZHXwxYJk6jXvesJbKMB*l!gCePfjUcHTJ4
zhrI7~#)lEfA=}KrLDD_B5U@!$l9#T`F8{sIbEy0r<bth`_)|aPlQa0=YVS&n*|q-D
z?8OA3;4#zM|8DkX?KOemze%TJX^4D`*(FUv|I_U6FlJ{Nl=9f>#VjDSfPft^=sr}p
z+au_@8hdTHMj$F_l?3uGfD!8fZsb+=9H|`eQtfh^4u|`W&#O#39R9R|<Cg^G@yPG*
zK4zaUw{9DTiVJhEw0WLqh4nm+>%xM^J*GRKFJ4FZEnMLO-ZErwF{?!`7vHI6KRgcU
zsGd=~8=3a!2`voG*EIN1?<r&qQExTqqF+w@qP5X+%y~v7Ex?<ERz=<!54AJ#t?T{G
zS*&W$?>FKuo71;Mz?y0jV4_h8(+!(R+a6;Nna&r6{J6Mx8lNh}s-RM+T+{O~JY}Nd
zE%s`oKN0ELI1}f<R^C^avj%GwaT{pg2ot-+^gpS46U^iI+-S}J$JNe)fE_-mqIhA{
zIle!orYACBSz%g9w<sfcP&mEUFyG>5M<SlU9Pm_$KFCdO&;w^Ya?u!wb-!<-IG;rR
zrkr3&*YbY1g$19O$zGwB&M9uHF(C40JKem<AR|RrPEbG7F1K{Yz{2-J$-<SNd{<5j
zcj++@IGD(qE3Q+x`+?!vCISh076Jw4*c8}YF^>OVy%&s`b^lM%jsM@H`~H86?$;`!
z?tdluSn+_YFpnEx@PCi)1GDS@tLUzj7jeuXhI5QV;bkw@IcD1s$E#HVSa+}YC}q}r
zf}uqHgg`bXy8r$Y-42%N8K#fJv5n8RnD@AB>EnDDb_M=Y5%UI*A7zXbTB%oDQ(eLV
zz=cGm`&s?rH*&4w&JW_~qe(9d>{p%Xan$eo3%=X@u+gC29u2Bn!hYceI0CwNcLnJK
zzCX`_z0&<pBr<STRgfKDgIv@{Hl5LeiB1~~$uev2n^^Z9U=7Ur{8P;<r}WR430SL6
zr_b=QmPv=$tgM@nPDW2&FTQEtOYCL}z?sAnPPfAcJZWmTGA!>(aAe4TEI-zy8ERn5
zei*bZuR{K`N|%W78-8LzeC-blBWeVBfi|@jhWUx+T0e~0p1vFRwLW3zDN+19K~aBd
zAzvCL^EfRw3*dxU(xoT5)_L{{cDZZgg#B)I=R?NO>4vEzn#B$oR28Y87fD~X7wxZv
zlWp$Go0VE<sv}0>n;5>8C+BgclUxkIISz_Hg4U9YOOn*GO31fGp9xkq5(`WU#E&h(
zDr-9&9RGa*_#b;*idgc1Beu=|KMq|U{MX9xA6=lKWHvn^X5>FO^naA<nkrC9{$Dt>
zK<$HC1EvdPROhfV+)%zyZQc`2r`}kxRA)C+_F@Fn1!{8p7Y?mjY4bimSQ%-m{<l^`
z<UP)pqs=v&|7ta8wA5~6cy1m4n^M>QOo?9k%dysm?+Ylak=$o(jX%CNzxlp8*4A|V
z4gC)eZErr^98BhXHQwHGzB^f<{x2N*eX-8*+jvLYuj93ze{g7L`}O(WO!=#c&W_*z
z;Lwj+U7de^U!8ydHt{bUiYe*gI23kkLHLjV!J$HXYauWtw)IeQ1H1JwDw~pZ3=Z8}
zk6;LA+lXXNv)hPbD=OKD=4#yAi1`PH#tO{aZN`c0lx)UJ{M_42kO8xAArvU=w-Qwz
zmu@9taOhUDwi5ex%5wwz?NlS1((N=e&wWga2xs5Puuikz$+Rmf-N|xl+~3J|>u2B1
zc{^{v`{6819-8Zaqpym0d%<q^vhywPUY_TlsJ(oT>u#U`(W*a$e}Y53|H)RA5dJB{
zlOwGtH=KIDFelof%pg9^_n=Il5erm~GI%LCKpWog@Lexy7W<&G{jp$(O!Cppca+kK
zHoinDS^1&%Ec)qw?c_}%Hn0vLoaz^MaI_@Hb;}$Y*M<u@vA=~oa;v2h_9k%h=6rY2
z*onQTC2>4oKHdIvM_u>-$``9~o?u$Vx>x`{A3y*DWDw>-AOH-KF+#1&hTt)&`7fd{
z9Z5`0^uPNe-M=q-Pq3Z?S6Fb&r(pV;|EJ2TKC<W^tTSczfC`TYj$qsVSB<2e{^Zqg
ztm?g@u}opdjpqdBU;6)-_}o7pty|A;GeT9QnI}beFYG|(jcL9DmUgPWVVNFoCn>(N
z(~__w&@P(oS^1^WX|DfWjKPs<o7(^D(SlVE<eMEVy3I*lJF@0@EsG-wl5x>C3_0~_
ze93c=HGbKNOzAg2A+}s_hoJxT=(!NO5d*Vkb8%sldpuaCmzQczo&Vv{ZoO?J_cUL=
zJ4Lf%C`k0<F;OAi|1XdJt@vfgOZ<-e_SihTGCnz>=BVRe9?eOoA<k!Xx{V8_0?_#I
z^O+^qZ~x)Z1kj>Yr{RV-2-0Qi`)e+TjQ{fJMHA|uae4G_toD+%#f^O;Gs6Gn(MnUw
zi!?rOufP`9q!(I&*C#^Yn16XRG!9Eme5+m$YT<``sv#~nFQU!P446m2<fy>PQaxKU
z@zQ|XQ(}M^^p8iA;S&IS@#_#CtHaX-_Q)wKm?%5o7G+=-H*aG6`se=cN8)WPCN||G
z3oQ%#K>`d-F63hHy{Re~o?rDTj1HM$b7T7!L^rdOH$t%0PYBLSSCU7kD6+qjvOhQ|
zmukIRv=NQ;$ONV0<dN>n``^rwRiME!8`QLc(PrY#&k5k{)j5w}$d*$-&qU1{IR21D
zUd_ZuqU)nHEu)yR0e<gBul<I-qHH>5zqgOIt;et!mZ;hxg~hE`JLNop<Au0Vjr}Dk
zR>uB$^R7%led}>Iq^F<9I7dyu*&HqCblT_pOasx6)OifE0pD#$bW^1}d1yPDfzRaF
z>lSJ|=st3tj~>N^W!jUJ>m$bS8ZLP!<hL=Ja0-T75wyGX0T;4rB=r|ld@Pk@o&gNb
zf}Sc?Deq_$y?$KEF%#jK3C<wHv+C?9pP$NFkSH`N&6&^qTzI?S{A<N~SMvE2|6g}M
zetm=EabK;4Qo3BNN3vont61TqD@<j@eZ7@p=yJWCVJmgTH*GX?y_*|B?7O>Yes6rg
zq`2zlprYyM<~wSj^G4v)g3Iq8&AU~<kJ^77{XRzH@!X#DQo7!r4zgC?o{b7?-SYXX
zGfjyfSyN4j1MLMJKbKs;N&fn3_3-bn4L|9>*E_`|oj2Rn$AQ03l6j<WjwdEM|6I;I
z?D~6k{9gJFxcvy63(MS*p1{Ex=64iSGC2Gw_&GKpbY%n8(ARRMqMgBUWR#5R#SFhe
z)|G^eWTVWqL)kPK6@(ULgS6$tcw-rrR74U<=H<ghQW%L?H;BErP9iu8^9b&OR1`>$
zP?0Jc`8ez)y^lesk(#lOAYprQfP`$c(JT!)77`MKX23IsFs+oZ_49vmj<M0OS{N+p
z7n+8|xx`uxsa%O-x=EH!?FICgxC4?mq%WNO*B|1sS4feaA*zS1Xe9Cof)qfB2(DyC
zCRJ5c{!@kpSR^yYkShH%5AX-bcJvt=O#3W9CSPMa?D3GIek+-5Ar73mWUAZn3%^u=
zM)wmhQKUroS`6>nC*H3;!xq$U#A_sq`0MmWUyIEM52fHs_+O1WkcEW}YAXpfm5#aS
z7Gy8g<H`L~Vj7+2$ee<|0Ww693_Uq`rFhbls#<X=Rv$>+`y@71@5X#@k{|u5z!hJK
zA_>(v|A?QeB9l5b9<is#fH?ugi~DFI0R1$NN`Fw&DkwH+G@o&hZBGV_r3Prs<Ue@E
zE=Tc2J7VwN!;@x4z(r=tqwJyxcWF=NA(?LIY{5s7K6@FKv*`@bB~lhzrfEv3n@C*<
zqkLATW=xovKm44*3kjC^$v&6jQeS`*a3HWwI#=~LrHptRPvf=P%tz2%g>9uGm*)W@
zm&_Vm;pS+(elU@@qgToI0S^d982X$E7N|qN%LHG~e59u+uzSaDNTfT}AvK@%DlYN`
z)MI+&?^9$Rw#=@A>F22|1BRmvF2QR?&50Ym4-H0N6{`j$7w)Ftgw!^uI6M29c5bIN
zHTFGmi)iazB%^HZmUM9oC|};DZfePW#{Kpo=gR(BL+iXCr)M4K+z$`o5)3oQvmVaX
zl%%G1DoGw+(z4ado4SspA3xq~mg`<kFJ%4fIDUFw{_XWyQ`f*P4?Kc>4ePuX4en$K
zzIQu}`_w3vI1t6g#I>%e+uWVn&Ku5Dx(;Qk?V*3n94UW0K$`5G@L1}UPOrjJw6?j=
z#h)*Bj&1Wnc1^z!1ylT+oIbj9qiCtWHTOcetXarf22~{ZlcGwtSng0mn*EF^1++cv
zdZLk|9sI176|b3WT1IFw%plTSJA5(Cqc+@pSu?R4f^|N3eJ+7@F`HbwR5LB(0-aBD
zT`P7azc)_=9`PZup<A-|d<Vm&>J#r(?lC`Yoze&tDE!E^ud3cMomRzP^fYe!+QVcr
z_wU<0`6mtv$*r?7Qi5f4l?VFDt#egH0u@#P`^GaSGmV|^ir<%ir}b!AIJgl+VYTdA
zynnXXUqw-y{9@4ZX|~-+pio8r6K6x6wlA5jLXB9TemMUw{kqy{UDXrdWSdNrup{Nw
zgRVS!Skty5=_}lB%zW%qUb6aAiL~?lLtenSU+Vr};hKRbZn4*GYhW>vZi2#-u#w_*
z;s}ynrlZ^_y=8HVE)g&OD)%35?VJ7AB7;#(XNg3`TaWJ|Y|wgtSySrT1-ai}J6Lj`
z&rY`Qz*|Je|Ky*4IRCUOwLml(Qk9Z-kB(hQx>YBs>cX+AeZRn8Y*w%L0>jU6VDK<+
zwl1Er;!Qxf>75vc;OJ*)a>pS=TKvnys-F$&?LS<qMV2??Pg`aJHa)xA2F|N~A<jFF
zneW8cw79Q6m*=d7AA7CeBRTJT8n_exzI}{|=Q>BP^Gu>kV&{F;^%zmdc`lFGo_xZ^
zRC3^ck#xrlY4y!7Z^?`5U;c-}(te{0oo7wy{znhH{Q7@MopuTPpWsRRqba+N2NwL!
zjywHZg{6-sy!<W}qyp*<yABs9{eE_J22^=TfB)9xdv{eV6<CtqwZCiVdy~)^nBOG5
zcl^ue)=TPr&O+DDuXLZkuR7nS{gU3kv-Q9d@xaFSz+H65D{&|Ab|+GChf=wd?75LP
zyWNX)yKm%1$>#Rp%9Uo&l`g~ep`9zEh$|DmE6bt_Yl#cHw+p9=%M&UWo;_#2X6L7o
z&VokH!fei>S5D%CPLdf;(soX=B2M!7PKt|;$|a7f-j3=jj?btZwe}oznjQ2a9rTSH
z4A~rvuk1|+?O$Zrzp}Hp5V5zyw|~88XIo-t?``L(V&_a{=elR>-fa6O()OK^trwfE
z&y|hepiMxA&3ikWAQ77oe4DVv*AXSJqr6|osJxDIrh1*QXPww=og8VMYGj?xW}SIu
zm5mt+$*}rpXO$;nRe*2xY0<K{#In@evRuWolFG7r&!VQ;qAt>c<}GAAIi|HarhPG{
z^C|{S727Qm+iMitgDshr96Q_`JGvM<eib`O6*nysH>)D@@AY^*ND}bJQvd(1sR&-F
z{>RQb6(`}WmD&c{=m9G+M0L6V9fN{&bEuNSi}kpk687ff5&>C&THo?@nR!KUr8i**
zehp@49aB@$iPo1Y8rtB@pLye|r~+lr0brlJ+@R{79yJ%PIV+sg^uteqjIBbGSRB^B
zvA-Mlr~j#`1dW=w;dEL8DFK4&<`zI@a1}1^&~r}A0Dv1vh7c%A1a6yCuZ+w~2NGEe
z$V6cjD$gq=7}NID%nwEahNDv@%A9PPO0^irD>Leh7#f0ebtP-hUB<ERMQCWAKF7oM
zx+z;x?`VA&Ha#~^(d<EC5(KeE+?ha-*u;PWtTysfDK`8bP?kX*2{*slc>E+msO9tQ
z&mhJe^Pu}J<QHmw$9=ZZoDl-Nlb{eC1q!cgEVLX0h!KH}4=8}p7J%E{I%mhTS>uQI
z9~fGCO1#+Ji1E=$S^UqMY6Bmj6lvyHA&jZ#kD;Oh5W3cd5KCjuLPS0dQ5zO-a3IQC
zH&f;TS8#NaQvO*|Sld)dwjU@lc=+{$y~Js95psMu1dwUKVy|-}-Qkk8Ed3<IFOrW9
z6fb%ca=!=PET-7z2NMwZ;tMF|#0X(J8K^D%5Wn!pJF56}i;0`X$Y3?{*ut~}m|{a=
z*+E%FBL;z1f$rcVkf7P%5vcDh2>w6@&{pSe-^m|>nj%s;09l2znaY-VG9s?J-k^R;
z*}e7Q2Qnuc<#mG`BL{W${)wT)vHc#E_l;K8)+>W<3)Kie<@}DWYETe&ZYbTb3?<fa
z`g%}kV8_W>HINmA&6;e+9|_T3cT?>q8aU$sOwcFtoaKR7*pTz?gVO<e&f>&U=Je4N
z1%~1Z{&FDFBZOk+to+9VgHa-McdM8s4n$z~U<679I(buB>cAgD;XcbJpJRsnemtpL
zNgdPMnnfzlUK2?spTxg+Q&)?!OA2O3=bK(ksq%~wE!ixum3NhEX5n(Z#D0R{d_H;7
zyQ=m4E~shMUwOTTRn+KkfGyd)hL4)A`cS0eX`}Vo)+f!2t8IF08ATEkyVEdAcKqJ*
zF`Ep@;|4=)q)X?4T6_8Z^K~*Dpv9b~>0s5DOKq=V(z2Jf?wo9-GI3O0WAC*(1T&O?
z&Cvc>Aje&Bu40;B5p7C({QZoM=(*>>7hl?#hcxN0{u0=kS9O-bt5mLkb9*%Yy)7-v
zuX^5zg9U!hIqT3xU%eJuQ*S`{Ehvw*H`(Y%zD%QRb0tOo-p53xDRCxR#A|o&(6JI2
z_KR&x7;m%53h#5Gnrl4Uu8p~B+C9#tAPWj`!OP_m80vLHm7Qn#!Xvc|d5M5gmgujG
zBzK1=p?#m@0y)GLk<55qkNZ^uReG24tjq~t?h#UiL}H;*WWpYzWTarBpCKM@*u3aR
zly5OiIB<ltYoFYGF%02H3Y<s4L<5gM5|?@opZ2G{TpZ2!peCFo>|&_ai?@1xgqF&<
zRH5<O9=+X%p13$sEhzWHnOE!w6a=k*qKUn7u&C_th9CBx25<Z(V5irM(YZxO>X>Dc
zDH<@cemP^iC#uNBqb&Gd@tGkvAMWomf#}lf;b`<Ni{<l8RsHP^mNL1=BQLRHbi6^1
zRpnuinl6Pt0%&q+(fOxg>|?GS4i2TDAp@h!Q9ZbxzW$>=|JhwNsx9+$jyKa}s&DQ_
z0x4M1uONFQdY%eDEnG~iN^tJu{HlKSR~-p^H^+wJjS5y0(7)kIloq~$!Czh!F#Mt7
zMxw%eqy!4tUS}%GW=*ZSU3^+RwNtarnoga*C=#huRKF&e$;~~y-`YzX#hW&hPkmXU
zGKbOBIGD*5+Vv>S#OW5{Bh+|&-@qWi%z&<GuJYw&In@h?C)qdC#bQU~y4#^93u@0(
zOZCgd+wC}m31ifq&OE9xThAM1wJk+uRga(PzYN>w%Mcl_HdnMvwi$X}>oHpqkjlX>
zA-kk!q$kKR(#JwS6|Lj+Gr!Kew=p<aR8wNZBk%G)7ml|=b@xnFyt=dHe$!&WUD7~J
zLaP0+1RsI!Z7`+g&6C%vdHlfQyO(*+VVqneQP&8$O0nxXwp_n4=eXc|bE!w{B6&-y
z-j)#s&5oS22b!PD=I({wKkQLj|M=ZTn6hAz`&HZbC}lfOk(?5ZCuR084~v>8s$@dF
zhICmDSLg2UvV86794Q06defE5i+VTb`{jAdf{{pNrMf$j-eA#Td&AWap1^gMVVj?1
zi7Ink)K7`z+<wY;u=KHbQmrW?K<?S0-0_>C_%zi&N%hCVfLDozELlRD$!vY>D((x<
z8!YR36{$GfAZzs1WVuBzUVCMSMw0L5^SzQ%WM6D6({mEyd)M*Ubx4SSukP2~fc~Xn
z)_?|uVTSzx=ik`C8pkE(uNV2$E?g0=1aWfmn^fVN_4&{bvCmI~DHl(`LderS<+lEz
zFSYeWJnICGo|%-&^AxO)PVEfsPDVaW8rXH2DZb3e@>C6cYlqu!GJh64S26##NV-1K
zR9I;)!R@m8L;C)#!${S*`j2#r6$eXkE&kH@WIM$d(Pot5i{m?CHFc7Lnis8|ZH+(6
z-+lO@k=?eu_gJ{a_5ryS@y(|wrHlMsXq=Mt4b|!uSO|4$`tmk^Qo%W_F<#a!7<-MX
zYLS@-vnvKLSV;le{p?hMkk_#wDzaj4ZjC$$r(jeE6%Q^iai@C_ga3VsJJ;zr)z5BM
z2eoUs6MY=<rzeRItv2sdUVpZDc^0jevqm!EGqNfEFymv+7Jb(#N8tKde!BlI&auyD
zAJSJN<H`?&DSY}Qr3ex7D|_Z7ZHog^m!x{jYsWu}^S7TJD@s#SU2B2`I@jAtv1w;O
z#<*-}#BgO9%lkdREr&xQK0sbTRRkysM!Q4wAe&V1fqvmY9f)Ja2F=Ex|4t7U#Krn0
zb>HBvaJ)|3kfHo}$wCu<c#zK&X93j~3e3x^MLhXl{%57K<lfWcI4dru^Le&@;dVa1
zDXY!PmWO}#`z-usljUj4Nd6q@O!%)muF?z}b^iEx40XJ<e9&Cnd3QCS_4h3M<F9W>
zNl|cc_|LYxKPT^{OE<Lcu112aqcy{qzjp4u!YIUC{<OmyB>GM1hJ#P|9*-bs!RtMx
zchAYQC~XJ;KtfrA+5zt&bHYAe$Re7ER>h|>!e`zMQn}#2eG)K789ZqiJYVdCR3=_M
zA^JoaQcOwwq{MGtIpia&e{EB+c!u9L$`>u{mysU0-xR{G63}cIx(5$l9Pm}Xf|h#)
z=dt?kdW9K@1YQ>fV)KCwc)_M?VdiY%7FS`f@xuW)w<#hVK!rODhO3g|TCzpFQi-rK
zkMOtxgYqKWkP!=sb~nGEx5BQe29bZkkZ>FL5Q>nnnGkfBh+jMzNxVoH#u^l7OPGNV
z%pro%D4{-W-x&tW6jtJ#0cZwgNIQc+KYqwG%B|GfkLf278U>kP_2pqBUj1b{&+3<}
z98h8e=_n59R`&k}BPL>vnbVFz|FX-og%03D5_en&*@(L`{6<;h#+u#GKyYPq9J5N?
zFf2wtBW%k%%#@9I3l#_;z*Zt)uf6!=y?76{1S<xZhh4%YKJcp~L1l{P;ws^k3V}JC
z3IKSRzAJaP-4L&Th)QI5vs;u6d=el)Pe#V?Mf&3bJ-i;EQ#hFjWR4e-_6t6@22rvL
z-7dx;;^27^|9O=_<qRLr%rKszB%{cr{JV75-GP8gWn#Vu!F)aeg2wR*?18%(@t_*8
z6$%GSG~pRR!f&e7>*fR{odhicgeH3gzADFzwp|dLJur!g@r2aiLw=`6dJjZ02}2O(
z9>kG}_o&ionu7ooB*q8|tU*3SBr7hZ2VSScA7liJW|VlP91Ma_no~{&Q;r5RqKy+U
zI2^&AiIJE^WF{!CCjk2yIRpu&*N;5bQi(EM7h!3ZK3S9IZ~zH+H%=s8Ok;{jq-75R
zktW3q_|BoBexfO%OWB>*+2{v3;Y(qsA_*RLITwpOH%1A6<Wg_hV1KpAHTF|99)!=8
zX3UF%KibndF~BZ`vXTt5O748J%1YCa=rj!LGSfnu`+j1NOg6(c{B3&nH}j<S2RT=n
zA8%Sdc6x`Zu)|^q5DEJ!>h=jK#+g?tuqgu4S<&zhnIDdtKg<OoUX{Au2<2`?*$)9g
zEL(Q9F%*3Qj~B@fr%W2*h1S8rCX-+Q1@(WBff3@iW+0vgaQ%b>-%^H+!f?m6<5zi!
zqTs}twr1tpfr71GtGw~IErmOK9}n0vL1G`GjC1hBJ^)!r9TXC3k%~2xF-VYlq{2Zi
z=D+TfNA(2}U6S}?$Sc0ti?$^ZR1?I=4z-ox3f0C_Lg4ZcW~{=Aq8NzJVK{j*f$O~Z
zy4o>gllj|J#5Q*fxRnDX5o&==r_f$)(66Dw47E5-G1#F>g6=_S96`~9Pef`|rac-t
za-Hys8eu`mgtL!FL7ls(4VjcF_pmK*FmY}1EpLr3?<`YKV}ub5rd17PIZp<f!Yk}}
zVQ*T*!;8}!uAwu?CnM&elR#kWM*c90aBeL>xEVUk`*7Z*au$Yz1Onzyp7pHdw>`og
zg86>34_!s)b)^SRqM!!{`G|wc-#3-l4%Ii0iTD^`ti~v?9|}JkMc9Udd__?Vhk>R_
ztq^!osx^9IH78d&<bFs)LQ=EnniD(BOEAUv9PT8r4=+JYnQNV|Hw``{qA8J&sE$Xx
zPUz0GE&(2uhzu$p$}5k8I}s3QuVK-{K=eo~M)Lyd7Oxf<jxH}mo2Y?t38IGrDanBR
z)*$odU^R0bRV0=%FPA6^3%LdvgW(v-V5@2~_wYi)#UQh8*srst9kQ{kQIITi?58rA
zlje|KG**v!qrP8*@mGlO39f)S4n|yk+8iv8_8p&WrnYa6EN_PMLc)m%#}L@mGT3<q
z>Emc<4>Eh4x0S`d^^<yQNn2~#*Vf|it);(PYiZi*M_TLJTG_5Y(iua4tVvk$LVm#7
z2iD>lmWbQM+b{76ZYJBXEfC72xQ>%;)7f|ctbJ}R-X7MzJW1TX7C%e`Y~IO`;7mci
zvG5!bcnD<e>oQkvQ|Qs}sN?UQF|1uD;$5elU6mA;-a~05&0bCqlA=&gx9bFOf?8zV
zS^zXOj|iA|1FNt3fQW!?gd%|kgbRVY<Mvb+4Gkj1S(YL0<wdQUm;B%*5rz@+?m>RY
z5KqCddw4%<OcE~xz^FE887PHGpn@E5m*K?uYoNZx5`GQh*kK%imqc$3XIYzAT7y_H
z3oTgDv4!f`VCeZO-p9$+W9;8&qCx!Pw$F^V-&CUiC0GAzjehgk{;%cPtI_dV2kjJX
zcz;g7UzUiAdBMm@Vse^}1YV5OP<|05);8$~7zO{B9Ec*o`*DZ-5Dxo*vqXd~OQMxU
zK1)Oph3u>mD?i?^jiAgQKo9k;4I#OPxwGqv5OrjWX=N2~1j-8(R8I|H%We+$tP#bO
zC+e6&!^@+V;SjtWNXkj`vKy3HyK(NM$3|Sd;QL6H3W3kisP7O_<Rti=8#a8cQ5R_K
z)yB$j93vbZZ8J+6MPWIAZ!Ylji~BN0U<Tb>9*Zs}T)u_otGBioCl!{b6Pito!zZrH
zl5Q&|?))cOmL`5nOaji6pbrxSD-+8Mtx0$_hwPa;Ze@ew;5;|v$(46TCgqU`aU_Ib
z4@ej{Cp^i(kM|yw{N9ekIQYJTJfImby}kB#BjLxp!J&kvppUe5AN^;<;%2yGqGaOI
z=|o|)KDmfVFfR;bDl<YSN+gQ}>x#EFXn+VH!1gfO7WH`<24#jd4;+G)5iQUcRSOl&
z%djRS8roEgi(yW1v4V~-Pac|KnZ6h;VuQ+}@GQrmqr6xqUrSntpz~;44cNTL*U3@z
znB5rkJ<VdvgGCRzCB&b_ORl9<$)$`Ri)kO0(w{Bm#4Y80t;`mKb!bnGPj+~ecz69K
zIxhJ#j*J2a5i6d?FR9n40|eU))67u3Yjhssgai+Zpkrkk%-BgXMeK(HGmjAXv6n~S
z<<mS^5vR*%JgA*|vGTMnu_$)9EEXPnH<;EvoTiPecU~&GX9wnnkLWr!BeYv>Y0}0k
z(#OmfUO6`kBO2z=qkXW^>nBZ<z+$U}cpqX;w_|JtLXiJ^b&#Q{U<AT#1`SyQ6_rD@
zoWD^IEpWH5QQNPbbImcbx3&-@G32)DuB<akZLs8Suo5RRudXw=Y&@yj;3Z!AF7^f6
zy+i#Pe&RjV6|+h4Bvb4qQgte0>GxEN<P_731T-w~2jD(cI_+nHIE)+`mrNIWwzBYH
z+o*H9$9y>B3Qiybt7y;aL3ur{OgtoLsO<)6A`=I+3G5M&JxRza1K~YhNIzmOUwzd6
z#W!0{Y}yh6FBgaz**NiX<J&t_GprNm(ch*=_TX44sOQmm{?`R<bqFN_-?x;2QoGSo
z5|YL}-;4kSR4v{3Z!rFaroLDzqFHRVKR6#fC?oz}nR{>vNn*+TUUjsT53Rw$N_gKs
zaP2lg(mddKI1rFtqsWNkv6ta{81IMp+WWObmYDEH8-^p=<0snzngS=L4Na^J83#h9
zpVXP;Zug;9irgS&kkxg`9Y4w``>I63`y<pa?DxEoK^a`(HI*OG1)tK9i@4DgaV6%-
z)ycKdKb78{$R=TJ++mFdY82KoFwxR-OpU;1pIpr>Pw!mo4jKp5#5VZ0tl2{k9&k6!
zF+g7;K{44I-0=r|cds^D=-aq8&yimbcoSM{Ia}k>sESXBczIgSmM3ZLHhYIse3ps-
zqP8fW%swMYKrnRt05rDIFn9DJ88pF{D+0c@sp>NL`8T`=!yMAmVUh(KH6_P+fH%oz
zzi$Yw;Dt=WS8}=P4C8+pb_N{~??@66RE(y@FCL-TVY?3+XfnMY5+|Wigr9yxU($U~
zsvhAW@vd^bV5mx5gilCxZ4?xH=REu_Aq_<XHwl&JS!2Ep#NUg{4-%vy8|D)?X5V!s
zzgKWyH*_8FeOpH}JdRrLY#s7dke(#@(GSi`iBcViZb{TTNO48pR<`C0*dxKMWn&MK
zdeMmRNn-80m$2Rs<m5L*uUoy*C~qFWBQvQwxYsW<Fq>fn>7l+0`j+M=eC43F6Zvt(
z`uO1T`T*dIH5GILMF_TG4I4Lv5fKrSs~{LZN0K}+$hm?Q$cJF#38m~+SPmfQn3C%E
zPOa5aC<OyK3C;^tGbvv`c1+c?E!S&Mkh>VHL^ip8>rG_BliAk=?E4iS+`I2EYk|&}
zifi3EcwS;s4T{WvtC4Hb-mN(nt^a+tLAScdn2-QXU-Xaqak&5qW@7M*k@`=fY+<Lx
zXeehI71f4i%ss;}{|a|~^CAXp@!P=^_OTvdFjbsOpip0pF$xSGN?D$m10W&LHfjuo
z?VV_#6#;2etq}52@Tjxil~y#5y2Hg@t;n#2;CteGtTm$jiJzs_+BGGv-z-1T-{Ef4
z^A`+%7-G<4aA7yy>NxKdR!z<6Uv1a&@>1+@agNV<{cd-nyz}f43f+EFi=AZ+QlCIs
zmiajG5%A0$qX>dB-T22uo_?ZgQL}==r={*aW7i`qWl{KI8ROjerQXp+1ZneooFPM@
zwWf8$b9uafi)&*~`LIaczU9a8Jr^a0XQ1lA;La%07PhC+r}t0aifvOps`1m6EX=U9
zVi!8utk$SrRwH_LH`wml`FHuyp;G`nst(0IHY=+ZLh2wsza~@H7$Hdb>~{a9hB5A4
zhP+{o+kH77zWOw%@Hv;lv}TV0_b1J3?NSQ^3!O%b6u%@<di$K|)`Q0S5|$(*7LQLm
zfw#^oTXq6T`Fi&E&*pVM)~AZPR4wmkyyE-Pul_SF*ecFurIm!kem#@|ZNDo|^z1i4
z+an{gXeVT5d)=*9+PSw?H}MMa)=-xvEib#T2fyA<@d>gIo02d0ef{z!{**?YmCQYz
zQe}pgi>G0X>tPKR{zR98A)ebh^YlSbekIzP<SBy$TQZNrZDdMq(f1r$_JJhlI-O19
zkRR`uUq+7Ye-6&Sr&eMy{q$hu(<+r4v^d{EzWm8wN9^)~Vm05dg)6?kUw&tWf4O@G
ztPU1b3lDZ=X;zI?5`FL7(vF_6MvCrGDly``<%hh&x}RaP5l-IY6C;W{YsF2l$WMAN
zk&_e<kvFQ3xF4wK_U)yW#OxBkl<~l!kOP6zE9HQw$LR)tsw|TeW)j7-b3!vWAD245
zd%PUa9%l3r$#h9$>-|!TU3#mzg9Lcngbn@neqqCFJ%Uxrdo5xiAG#HVnYI(U*(-=!
zc4swZUpa531Ec{4Kfi<T!-0Ol^pB^R4NRdGHAWXNUyYb>eWj#ozRb3sw){EBlpu39
z@hz@n3xt{Z|6HmMJJjQJAa%;IDp==bH%!JTzVlnQzOYcx7d)FA<jSZWd$4;a*3JK+
zTr<2Z^Tm)26Jx}9<aFKZl~2@@3|jnyPvxoSQPe{K9O}#_zpyqbxHYs+GV}&QmxM?C
zE>r0RiVwQLObTfDKN9k|Qdq#q5p3zf1bFqJqh=)>HHgXO3%#acb2bXZI!#1)4W$r>
zf%N*f2B3bCIXB8DKvq7+OOY>%(1E-rt(bcwvxA<L)K-=vWZdVb{HzeoYnal*@Xnl(
z-rRgNcus|a2#O=G**Tfao5IKzcO|FknWXiRmW8C;B95k!KRh>uk@K_A$TQ0+e-g3L
zHu4a*Kan~*Cv_0sGlNtCPaAHHpk5~O#?fw4x6ITes+gBd_wYdWZ-nn0*6>5f$p~HS
zt@8C=48Xewi1Vu~bum?`!x;_OVOIp_bGD`fA1Bd{lkG6a0_kOD6>Y8uyFc}-r3{bW
zptR|fkB6+X_AQepNv<)N85}+nQYEES+>Be3QNDu#M)S$-j4V)}qtTma35g9-AM-If
z$z&Pn+`6~LMDYxqzs6-fi{Dh`7d>K6FPMOyS)%He2NsQ)xbq*e-it~_@EePVbFffo
z1#keCQ_qWJ-j#W^aOgLfq!)Kul16^fFzORCs7-sP+kab9L~b)c7B{Gew48DRm5Oe_
zlhx2<)51LadKQ^=Rg^SK@n7r_dq(j&o?)az2B`(z9!`uk86|h}-eK9nljF9geNHxl
zF~#<8)3iuFj9DlUWlx#l3z<;=;1H=}99!06r-vrm?=<s%sbb3#y@*$58Y<6geU2c1
zuByorAquA0&z9_dQ2I0L>$fBqtEcQ-$&mcMs31KSPU{1khPD?+AT;fc5m@-kIz%R^
zLIl30#3%HWeFT}pP5;6MOK^@|U6fden7!Dt=Gx5V%#b-wkof(p%OvRo15qgH(j$4V
zMF&EI&#|$_nil=gC4KCVD}8R^**7o3>zQo7)!2@Y|As}n*>wc^RTpiUmM#^gxW}n8
z2;5GF3k?SKTlXyQ^tyBQ5L;6Sc*--#=p@mJC(%sqDNvZ**{J4vA|z1j{Q^l`2vGV$
zP2}OSP=d8;rwy@H^UahtcZCIidW+0AsH?bA4jGwVW-s}J@F>w6ozHW)@IirRW)gK&
z_Qdkk?)a<ZDo7jw1=$1|a*j$AA3hlp3(ztTf*>I_U#;<|Z4h#)EUbwR=DrMbB{%@G
zkU!?bj5sG>p%!$xJlzvVxPZPc^R=YoaaKXkqsKMlp>nVndTGN4lDLjf>hM$wsRTSA
zI#|2S(GqOcP*VU+k&~|c!a@!w$0c5#7@LLL1l%=elukeO6rU1*i)Jt*m<Z8J6vYy;
zf;t7WgrDpWL#}5E#KK=UCmt`5;{Yk<3nj#xiFeiv91*ZmrOv2qP187DkBUyDdc6ke
za)yg%P0_plr?EREUJ`8d-)aWRb>=zdSqf`drtH!{xFn%yY%Y8(A|%6+aB(*-@n=Os
zNH9!W03$1jlqFL^;pH)e5OR8VLkD@qJ@CRFPyx8Y2n%o_X9t5GD;9Y$BFq^gM>viE
z&*dSp8Srr!Uo{88iWsA5WIp4w!x|o&%Yc{^ET%H6!a1CfmsESFhXTAHaEeFni-_ip
z=D#A<_p9s31O2JuUP-L8e6u-xX|S2T%N_AyeVru2j4ij=X`HRi>T-CAe2$^<0~C+I
zTK-&5O;rJA4g*oynS=jS;R~aJ2;S-48BxDvzz%zTiUnNJ;u9q*ek<mSWD(h<=`_M(
z>$G@7NYc9t;N!9Qules`BWZ1#eRMo`-XY!OAH3AY7S7@eqb_9aASw-KGebjNy+5>%
zObEzD(*L9`c~3a@3#@YmA2e<6;cUm=5*&(=NZ^&hRX}(9H3Xq5D7xDTN4er1BOo|%
z&%p@D7N!vY47))4Ux8cJaeYN)7w}6FCZrVgPbSO>gW19!z%dN;SbA$<54(s$-UuiT
zpaTR${PEr}fGHX9JWqlp_ac0}LE3|8UpPoRBZB5C)Ji4%{42H>I+O)~d)Y;Jl|(S`
zhO$?5b82+^M0WG|M|iPC+&woB7UYUBZVr{=4G~t5XT6XEWWbsXIARDa7q$r5y<muw
z{9^#HL|_4t5nkqCMz?TrGkIrNFqHf=Perf#g$z%H!ZV1h=4`Llp#me$=izP<B7r_=
zo#5G7v%Ym7iC(oXTi94+pQTZe#2dbO?6@8Rb^yQh2|gCo8=43cwsq@tMG5Vi;^$h0
zLr>a58F(D<K>+6LZ3u`94q^k~H*bQRW%})!vFxpb=u7$?Q<TUe#jHcaWdWeH0L18q
zEys)fP+QveHhfz>=*eCWAyrrP@9@{!1FkS!Qp5*Wb1;EOWat{$)*KvA$ZJij5)nEW
zkun%rI2ctwco*HPqH#tBAklgkDyVDjrG0$aM?;AMs+auidXYF|Mq%XVY@aRSk~xt8
zAw!t)XUEVCZR2o@6J=7W`-w*N{|{T|8Prttuj@@nBLoP7NYx;SfFQjWL+?ljX@VkE
z6cOnq5JE2zL8=gt-lTUhNbgOgcMD1p5Rs<boc}rZ&YYS1WzYVW%<Rm{+Q0R@&&w)|
zyRoX}01vy(JLs$m$4J-V_xd~;qFsoTRGZCDKWnio!K3d*J&>m4V~$wc7<drXXODrF
zc|pU4!4U*JViWHmO&J{;QF*Q%^zm)IKnI&JSiw>qzdE22kY%_(L}HA7&#l`D9_|z$
z{-8SCBR~9=H%91te`4~mm>A5nIO5r+^z&okkztlmM#R|Xh({K93vv7(dq%0ScIgKS
z1_Z7Z3wB$R7@NbmNsov}XmzJm_1szLGMCU`hWaIoz6*Ef2zFjMkMVHkO^6$Fxa#K!
zcK~ZU-uoyGYD>hiz$s6yMqivqd^6E6K*5|h@oH8Y4`u<t19~4D`fg~DV@Uf60Ptf*
z)!aJVi{HOEY`#4kQT0m0wJFqqMB|7V9e-Qy-p>M>9s#M1Q<{!{)ir?H7*M_#hvN-E
zf)Pep!_*_OKSd*5HkAsZV1@mWbiWNymkrg1VNZ|omc{t{tN6<)d6ymZK8a_|SY)Lf
zB=hmp{b58bq9cDAA$))jv^FtfgwSVum40xL29bhaGt>qNlf{N|_lIhM0o`#5W-M97
zA7;ZHc{6^J@Aqw>Sf48`^foEdq#yL$F7iSwje^SnB<m68i|M)z27Cy3mSYOuV%#N<
zF-Kw;J8!7ua2V$yo{tzxULJs^E^l%W2yToNB;2Sm&@A{^FmB+i850NqdS5>3{r;#A
znb!Lo!T1G#U(?WT4?63hL^0pfTTRVjqcP)gH{nqDxrK_hb(b{+%Wd85lQ!k)5pT7l
z{1gj)Qe`SJJnaw^X)kE@+@R~Re4Y?{q?!qW$MTcJFey;e>}iuOXCTadq|4Su#j6VH
z)NlIK^pltA%!@}e-Y;f++D#t_BJ@f>`d3iXNWdOrBV2gnf`8A1KxRJxP@`3_J{oT*
zJbS-CN9w_>hGw{`K_SCEnrIvR#iVBPBmh<KL=Nyq)M{NB)4t;70eK++RZNd?tfDZ`
zjBuHqN$kl>eRS_2dM;IBE`4ccwB}w$!9BwC-0Pm}SvzyY%k#N6Ec3pw=*8#;;7w@M
z5T2;WBK&-D%6!S?NC#=i-94}o8gjQk2|t31yv&{^K-AHS9|I!7D6qBDbfm1@w{K?r
z{wfFnK(>~tt#xi=&qCYuLi?A6j^7LKA&aETi=8(X+ieo_P3H?9%@-ETlT%n_zrnbr
zd4bLxDG>HukcBakYtkSl#x$lDPhR#GX2z4aETPoT7aD&@Y#P|)H7$I=FU_Vb%@r)o
zk1Q0qTPEl(F7?a|KAyi=fh@1OTV|2wjhp7pq$Ap^79&lWM>yz56|7?aTK8j7SCniz
zF2fe4mv_D_?@rs6jM#K9*&uh82F35MsonR)Mwsy~Z|FrRXo6ed3#u0J$;J&IdFksP
zWzBieq@|fZ@mK_yRw;N^L6WPK>Z@QgJ4*HYOB^fvf-CUXc7gZ^b7s6@f3%@5{!jeM
zkWCus!+lL&tGFF&VEod*%MxKI2`23oChxT?5o^q^*H{YISR3rwyjNkL)~LSP2fm3Y
z^T(SL_&r$&?ap+LYq1jWS2y(63#u3ZI0NseHNL`i{z}r-+bh@1V$fF~wC=G!r+8Qp
zwcZi6&fBmqroO=^-eGVP1l&Gam*-r6N5#s=^H8E;L#}s2{?mrS*A2yg{X$0@nB{VE
z(&zuBnZiJFKn#W6|DT>hQFmng$4m0RQvgYcoo3v|MsfZBok-y~`Hz=G`uVc1uXd4U
zItGW}__250Fd_xqzz?S;O@>!V55&dnxm*gn%hs^2I`~~jz>*ZBz)wJRn!iOj-ncb!
z{l5|^tmVaZDNDxxlSsMW2JFFA@jgrdd&qBE-C^b`QU_(d?*s++m6BdR8cNdn6--hY
z(vg|oH@)`z1fVVFC_GrV)#1GZ^0?L5;7+{tlZU70zY{5EmE9YqSC>JLJX*vC{uIl3
z!}q<xc0=5E-%7`~a62*b=?87gUmPr-O|pN_FSh#QRoduyx7asvaJR(g=wx0f`cF0^
zaJ_N`FLjmguwEnQ>CVfrA$zLjJ`TUH65p)CKb-K4U!gkqN=1nrHY6uf4ti&eyp|l-
zqt*02o7f)2uMhm+L`u{fO!wN}`VC+hAW;F`d)Hq8Bmj#{v9`y+IpGeW7*^lw2tW^U
zn0FlzMian)4XJ>e!k(Tz5K+(TP(T<oj=c)Vvvk4{fqW>Cnf|>S8ChweWTTrM2+Jni
za{RzZmiB}jU~S?weF^%$7H#4s>H792XoT~jB@ig`y)esm-pZD{G-|y#pEjAzHcL0@
z2ls#IsjA)!ez&qz-`w!)Uc5^E-1W+9z1#_yYRJvzhM0ct6#4yIRa(6EkIP;hYnQ((
z|Cd_MmfGeY&82ln#Iv`8blh*)nuM0qYv*U&;*3f@6DXVD*RH%YV0p!@y~1o#pseYr
z>Q=L<wQ}V9{ua3{hPUl8nwQl3MYg(7V+bDa>k+5gCCoX+4{jCJ9SrrMBLxonxl^r0
zh1vqi(xvwwKO6}0c3H>vw+)wj4x``2i4BrITmKpmo_YLyTy!O?c0_um?O@_|rf%J&
zB8=nLN1aUTUqk$TqIFZ&J_@371^A5pSx@)H>KW&vpu<7E#`A;G`lc+;X|18*qds?y
zr56h(Di=0&3vO@QevetiX8jpMw+i@7#ZcQyk31V2_Fi^1*B8BMXV!LUF6){EeP5Bq
z?Un&gxr9GM$yeTpuNSGj@t@YOt!x?-;K~+X@t9FKSZ%zMEjy#Ear=DZZP`*x>F*cv
z3q5b75*NM|`5K)c1~*=99Ms&3m-|uAr64|J6}fmeU-$5-*H(zo-+=X}?-Y+$_<aO@
zKmTI5tFYJVxLjR4`sZg-jIUDn-<YD-G>L?#&stfJv~PA$e${pJ2w2)<o$c6N(sfhP
zA&#IlW%sA`oXaWgkFnpx;IzW-ZF^nSNjD`gno-xsx$wYUO_lxl;b1dL*7@Z^si8Fw
zYzvO%_eGew%DW!UkP4Ze1Ka-Yh;EMvwYWUSNak)n%WBW6)(8FT#1C4&P9ei?dCYX6
zc0-hMth4S0O&OWrZ<%m-M&7Im;gW<C_7gzO%zeYhy^5#%iP(=1*pI7jF&)q)`h48r
zJLYXMYuk(rjmzi0>Gwg2DJdaRHJ|zN_h>P*1P06FVW;s`5p7u-CPH1trGQWUANKQ-
z3*&C|L%&CE)fFaWbZ_+RtyA4G8Kukd`@ld%58sTt?%qsPp$*311k10dyzNp$D@Mfe
zVM9|~jeBSv?I879uQEP$e-$!O0s-BXmtO9D6@Mh7pi_!?<vsj`nu1y3e&Gm1&Pz(x
zD(nSBd7FXSMFo1rp{jzbACo1)u1fW_H`?jJK1v$v*w2_DYOc$Pv{32g3bq(=D~!+E
z7O-XCCEW2HeEzDnylB2-4=lc^!tUJEt@9p>S0vJ~JOGr(RG)=DYvHuCJH~Uhq03Fr
z!^q`8OpKq>sh=ou7Hcelnmt4yG<NpXZN)0w*iLF|_*6RIFV{;|D7e{yGJ`6bg6ZFC
zj4X3#xpjdWTmNMU;ba}b+~g|Jh=K8%tUdIU=n?8hn5Vde!30Ul22M(mH+ebV;DSC_
zP_D(6+D;dv->N;#CBp2+KTvmpRR%o`Be~^s5n=AGm$Fa$UcP3GyXk%%(3;SxzhGIT
zvLFj^hS%tVvaSm_V|jokApGGTh(SR?6`YL5kgI4)jRBBQntdoEI*gVT4i=()36hfj
z0L?S)fg7#D%(FNl;c!)nS`xKs6^SN=7>4v+qh><7(LRFA2{fT7mC;?u%?e8D%90pb
z!XJ9{a|o6y7v^9c3byhHr)|;F2R_co`dEDH^OykJsO7O3ll#FmQPI@TAJF;{d;F%(
zL@jld;4w`&Hf$*Mmh=PIJ%b2dGi-%)+Jn}mzm?8soAW*&BpYsrM<h`Y;vSxdF}SGU
zT{;hFLXO`uS@s`XL0O7sHLOzGZelM39#J&Rro<&MAR@d+_2;$e1&bp|DX8%@*5)z5
zyt~8?2pfW)BgCnlB};{#pr}ky{tmz@<f@mfQ<_8`_`RJv^nguNv1qu{4Cu|~96^$;
ztToq%dKhZ}F~hWzD;M=2itcGSvZOIM1W4A(NG#Qw#XUe(Du$Qs41#1ASZbfdZQL-t
zM9ux)U|`&?=GD!Y4Ho5Q)KOJ6clzlg1>S}_yrWIWSP}7ppRX{$6n+%nk#zD5UVj+K
z69KUUa17xXP?=pXWb`k!O^Co1>waai1QdmL4vEqp)5{|3LHRL4mn9zfAQUC?(<pOp
zk*oHPkbw4&`%%}S`#hn1;3uIhM5auRzZP7lK_F%?0M35#r-?7Q)9EFrHT3#ap>q_8
z;#8j#B#sgkAs0A#C$4^cT7KiEK7DMm%PDj3(Ml49M_jhjgqwx$2afW<7zf>e9B&L;
zM-W=n`j5b8+z9C=x86^cWNen#KfEZm6M1R8^-FOfh?!SWbc5$R(NRx2TVh#E_wg#T
zdy!8;m(7T9pe`e!w}(b?Ld@1AjQR#}Qk-J=G%W<loMwKu6guJgEQ90oiMmvNz-wx~
zVgQM{fTT{rk$3CDu8^=1QXNVOq30iH+%dRapZ8}?#L%ntYwdfHV*#Q4xpaVZ@WIP>
zfnTT{zUu`az~4B+7I`)rEt`U0YpqGx!A*)vFVZe%?9INK^1eMUg)2!ZJ%${W=~jL2
z7T^(1_%U$pI`r_!;x_n<TGs;;7{3P^97pQeLHbr7q%(zZiG?^Z>Hlps=vehWi+tkK
zt6dV|_awrvxe9SM<0Ikoj8y2)0vDThz>au8e7=e-_d)bY!Bu_K=YP~IVF5K70hFNu
zR>Dx(CY&4`c({tg9Fu!%!d0ci)tST1sv!RiP!H`O8pq*k%y{*FoQVZq9u7Q3qdd^4
zr&ai;RZxp2Jmt&B0|X?wP4TCJj6DU@y-yL6U&KkTsU3;Nv)xYRs^lAro0tbL3n{b+
zlsB=@`Y@)fM9Q1vdZ8LmOi&bjdrrj{j!;e@O2iH^JpNpUV3YpMd9?^3JN`s@j|%(E
zn`?tQb~ftD3ttheQ*069hEKG8l{fk=)vhDN=><rPNIBONBkU3V$n+j3;N@CG_0kuF
zxEU)fOsR#U{LMsh#{<OY@g&?iYU!hf7;`|ac>wviP~RCZ3l9hF<5r|mtDEtkr4zn7
zqjpxIFp-2Wya~I^2`l~a2ea`H$V?ajJ1WMz*(JIIG>?3d*(mB$LWFA<c{UMo&++b(
zkKcN}%k>RJ0T8fJ2V!?d==W+jV-ZLy(ey~a^kV-u45A*ZS7d;=#uBVB<y&R<l8sL^
zee)&fl$c(TXtQ0?8cbCGf=98^4nZQk;@EguRwSBFN_tPAt{`crMIwtxNz5fLLrmf&
zqT&H8^p|h=-fV)oUxIlv_ymLcj1D&h5>$>8EannS2jX4EFO7R30X_nyiwsGa>NznW
z2qkNayT=!uB;_I+t*N3kClNB>-@~OZGw|{nOPV`4WkwohqJ_6_#u=g$UQ&g>q)M=t
zLB0Bpdv$_KiAHH*Xx%+hV9(M4Oh%y#8LY~XJx+T_%5XVB9r+>$R;k_*=^C^M?&5C#
z>8Up;k+tJcPG+MIGO|%6>ITs?>*$pD5}b|!evkL{GW^ZBR`|q8{7(av7KtXSB;_F=
z-pKd0X<8!91$}0nOXewouE|f0^g4C>gnCY0v_~fE;Jf&KwECVBuD>Kpk2euCk+sqU
zUWXG`d5M3U6IPgC+qj_Ci3ym^9LE#lS9rDwZ#H!&)P)6B>6Cp!p!>R~zB89i>Jl^R
zR@vvvGk5TMVv=L&l~bLX6E}eK0}y2ZRpEGi-rSopEtK>RBCtmXpP*gPLV;!TDP>W#
z^I5~qI89lojx5rTlyJEP>LLuiZ;;v0oO?o|x!RKH?;=qkCdTh7!{s7zNelCcRXpUL
zoRhzry{p=uA$1=>bDJMEbb{LffUa@cO}n>-n#8H^#Ba>Gh&7tY=#(j~gniyzU@yPw
zg0H}85B`rp_pLd113=_dAyP9+(ppL~=1a23#Z0GEd8Z|ru817F(qh@tvZ~TDJH*SX
z($tocOaxHPT2@n9LPV66vzEQnF0FPgtuHN0LjaBZ<*A7B@|f~Y?b3eB^3j&^ao6$|
z*RqMz@=4c<*}*dZJ^xS6I4^(vG!gfh;JlHB2fu_t_n}|46Sibg@BC0^P(Y`jNVQ+N
z`y)Xv4SLrSe>R9aYC##XLJG!d&0`8i#~~hs|DmU7&#F+FRYn<5MyqO?Rw$ws=0U8c
zI)gH`R=WsSyO5ywHLDS=&>NXhs#X|3bq!*xnkTdBa%}bSam}@h*hI1yo2#`NJp>iK
zRfAZl5o@hc9ja9ys@Als(;BK}U8vJ2t1~#OGit3fX{~l8!iq4s*prGxD&R{MZV5nc
z7rOw20xATMi$*OH=%z8Ke<T`kHEd@U2@wH`Lm`D|l#fBi%JDmbF!GTcY6AiIXg7Fn
zA;}#YpZA~-3D6y&Dcb6-i!iNU6_iLqVKZT79*AhU5-1xqKp5GzihOI;k{{4gnAuVs
z+d@Wa@?wiX6ithJEqPY0_0)iuPGkL0i*HM7!&WOv4q3a<(z(^@`=h1Fs;$zhB~Pwx
z_^fTLwQVw>m88>ByVcT_*<N?6ZDgSxtJ5}oG1Sr(+qNp#u@Kw7y3o3LtBv46rn@Rm
z=WuJX&;SCRge8hV{t30<{ivHjB9(sBzzh}OQsP3u(6tGp6j{k#N~ldVSXYy@WPqY*
zD~43VR(wfq<4xFwrVZiu1T5Zdk2VpFBBi1{ggYO4P(`27X1C@pVyi~0ssjwVBm=vo
zv$|y4y5x|s`<vBr=TN1<F6B0uAEt}UzDVkJDe87hSa++(b+K7>8$9k7x9(AHtI@IU
zvb65fIPaD!?>2ngBX8a77})Ea)$7^@BLD~&Y`x`Hg|Q#rCY=~KScITQxXYn7Wl>m<
zBE@4I!~o@u<)Pt6xy<!NTwqX32GmiDy`ehqPpWXt@=y;VorEmZRhYK03c3LRZm18`
z6mZ2^XcvKQ2V0Os4eKKH67~kG*oSK5hw9je0Mv)3z@f(T!NxXN^y*+Oa=89{Fd9R?
z4)r33dXQB8NGehmtO_~OwLM(jHas~zT-i2Uha4V34u6mzS!EwxmmmGCJM;wEw|ADO
z5Jl@Z{*KJSIov{JNG7;MdmWZHP*(RHp%X}bJn+!Bm?&CkHSC`O4SAYtBLgMa(IubL
z`Uy9m$u<{~pr_P8>H;dR6*9d?TiTWjV{3UlTum=G$<0x1gs6VHTB~1HEjToJNvDp#
ztlEzRWxdd;y}i>Vzkt_TtP+T=X4k2;>8};ctd`j7QWUHe8miS;tfrEi(mnfli)Px0
zV_MH@T6eg|!hQN)(6r^!v^mYtE?eLJLj12GoXc5!I|k)K1Gw3s+(#15*!xMaPVhcW
zZhHEi&2f-D+?_gMe>gl~oGwo1J(31?RECR2!mx{|SovA)RT_>r1@=|=$MW@tR`u#S
zAE`6z^mXb?XkdcvRZ2@!#^qHhtu<$})%<_)1tT9lsy+s+R#ys6@w-ozkJM;aOcL8`
zifpFT%ep1D7VauccmJJxGcwopcdlDuv7%%uTd(UK5@G*lbfqQU)(XEDi1NVDT`tET
zT@3ZD(!fCqsJ{eM>OekN7ex?WZn`!2<Sd^|Vm*+9x+p;1Fm%5Hn(5kSX+>tOh>-QY
z4=`$&*!FO0&?<S8nbE#_y?s?ur&>dyj&*CXGk&UrW=(demOgk=WT%Vs)?#)1+Pj@q
zE%q8tojQ%3kJ9bcMy^w@|E{OGFOCH*8YxUG3j-8{jjMJ8CLBvo&pQlDMrGlMNA0*=
zOvCo(TWIcQQ0O>le+fX3Z$x=TmA;KCr^7hIzX+3;8&U*E6X5Z_N{4Qf)Wju#@;QYc
zDUfKMH5--UEV0nf#KBRZr2<JMoIw7P-w;>pB@`Dk6*dgmrdbje!=G%XUo6dq-QMW2
z*@(Nk;lI0?6ug-*3X%!_P9Y3f?bVUwmz4fh#QdlXI>)t-H*Co!xQ+Me&Ss^4&uO;H
z&vW@=UQ!vV`+ip#`lAJBmj-*fI(iZF0T^#EmW4VCBRmrdM1}`BZR&<cx9RlO<wvS?
z*fz5|7DW^4?ksI4c5J>5+L`XynZLR#p1t@=f7ehDoR;t%F1(?bFq)&-x7d`gP@Lj?
zYise|mrX&`Z@r8)=ah#mxw4vrrfJaA)lpf^TpE$>{LfT<*>o>xCw)i1joH*a!%~DU
zuhLYm>MTGFgeh+WI}4SIdI28^w-45{zx6Ned>Y+Z*8jet|NZl5Ez<>IH|;8foXy_t
zsDD13p{0$NFHQON_)DbhA!rR5@)rkazXk}0Iu}`T#n1uay;#<4R5jj>i0k}~Knl^)
zCRX_*%pw2HA60A)XYU)IK`qf>V*?7D;{NK@1Chi{Q|e#0pYHMsefO(85WLtKh~E&;
z*-$3dO|(O0g!*0#=9``*=>AO5dYYiMax6dpQ${xbnDxzpEj~2_FF+CT5Cs!_``Z~!
zOBeF(ZYIo97<$)(QU`k^g@Pz<K@G7r%2f~p;;GV`O|6|(@;TAtJ3HdE-)}uVc=7b$
z=DP#$JLi65)xNZ_p?8~h?-qx~&Z*A+q|!nRmUc0fzuXD9gNvs8iiE?YpGAM850~aL
zl2(Xcg;4o^3E=rddETGtE5F{kB*O2an1}EW(Xd`qYT|n&Fae>(DiDrHGH{qak%J|V
zsPv3WJDKP9DzTHqW59r<GZZjnHp*8PyF42%pSGt9Nk$mAsKUj*>STzlVZzddIrTGT
z0|o<6p7V_7s^G5vz4yFGIa@Ei;r#pI*QpXozxg;9PLf%r_1oicMy4cIsVZLz+}9m8
z82}(QyVO1!PUC(4<&(RL&+VlKzrKD53WCWb`NJrgRc5PJMcgU5dSjVAHwLi#tUT6#
zep-(NfBB&&FQvC2k)W6JB=g%yW>;Ure(CQ)h75s#i-^nNgC5ZtQYIE3?or(w#Y;T#
z5|CkG|N6DXDvw=6#&e8S3{}M=o}myhl5Z0Em5Tp2zfU%-;8eBL<jl0hAZYOMeTmPe
z$G=L}87J#+g=Oh-hFYp58k0Tlf_=fE)HLGr1|CW<mdAw7&N?&_3!&pGj~C)s-4X7S
zX4mbc6J)OzLN0h#DP1<U-tScWyxApw=QCi}%W9w8l_+WZ_!bM0K=C!z(qJD9lg{FU
zx8gw66#4SQC<;y?9uzI*a)Pm@O!)HNI+V$A&ohEnl<<H%DY*5CT-oW+Tg8(jXNE$_
zp<lGck}fg7i1J^!-xd5h6d&t&>0$Ja{{|$;^`fnGmW}a7#Ub@-SvCTpLqkDj5?j$w
zN@17bN~EaIxLc;BZemCwJ*{D~5C#QIO<zol=ySMDvsx~#*G=D}sH#^nwZhk%7)R2W
zn%LYCte@6Tt#HhsHGlDX`synRXoGPnc0&?ZHThNxUt9&Jl`Uq!jd{AZ2O7cYU!tO6
z!hn9zd|BRlsweX>Mo3O}se4B6@MGJn`?5W+^bOSTmUX-*s(C+GOBk0P#!(!$hPG8<
zv^L0soS@gH28J}3GhE9>j*J^UUJRRAy>U04YmhIPzW2K5#KOVWSW?d+Nv)E_!64;t
z^Osk0Jg0Rz0rFq3%$8QsNTsJ)ucLYCS+86q$lkVlyHFhZkV;Oh9y{ZfRL=EdocI7l
zcT4S$Lb74;_`g*5kSmfV-2PO*N8Q8Ptq?p}%<fJ40lzi|vH!eFO*TLhf~RKLHo?ut
z&V{+wj_Ee9Wjy=xBt{$vQcpj5y0G1B_xhOdPsGKxYWm2ac&(q(8edqR6faeXm9i1@
zk$RpeCTl>Xq*mOtk(0*f(Ur7tT-Dy~V6Z*je!mkDZ2$H9Te*|ASfQrTAj1P}nMjQ2
z&vgK{IE$H@@hNBevjihD9pwbQe|Yk(@BOBQt;?5WLwS3SC*3>@Alj;c*0Y%fM(?Jt
z?qjx3TJJ7hpA`bh3g2f;9wQ+mE^oC{UEr{pc7cbEucUMzLmsI_SqR`edcKU|g~IKT
z-!x<lZg8=@uln#ZDZfzp*|*1S8%wzc$5(d@zmSjL_35koI>R9e{tV?rh8xF>RbEe{
zU&uayL8Ov-t1x;}%@(~D{UR){C*qvKb7h8=5}xXIA@sU3{Xa)lA+A<oeYO)8K=|Sx
z?Vs)3tr&hCX)3{G)neEg?cdg<@<z~m_%FK+`1x*Ly3C&t=iKeUBN5Fik)*=D?E7#l
z?oZD(QTnI{zcNtYA#&2?O5Byh=u6f8j27z?cQ1uMy7Wk^k^9r7ry%3ZAY`%Hwo(-@
zs?40oix<%;efnxF+>u4@L`&GgEz<FVLEHcFKzk$KJGrm-RHUa+qn5G;9xK#NSNrGQ
zY4j$gFvn#xZR8VV)F!hm9X@liHQ%L@eU|V~Ymv|O8PeHKg*`6TQTcL9hsy)5<m48r
zC&(ID%)j`&D>pu>Nw{7O^YVIot({l-c1A;8XJy{?0%rvpQH9s~H?#z4sBaaSk16yX
z<{KM+?@~n=r>;BbOMNNPzh7z`%g+!;$Ht#4FsPraom|XnQ)-bWqwaM3W2yPhxVRFP
zMzz;;*?owcg&`%?6k)m?fKyv`)kLa(rnvOvg`35DR`YkgDV6r2TiRXzGi@;i@16&_
zneW8RkPx5Vz4)7H|C8UmSMpPJ;*0GIgovqWx!F;vWe}GXx^?cI_hxyH#FjZj=O<N<
zPjy9V?yjb-mY*7!E_E^M+~bKg82Tico3=zLb-tgt^slS26>|G2o^5gY-=}LQdwtJd
zWzq#5t6UqwS3Z9wXR~59({$pj;k^)Qy?(&dx}Z?0NIF~k`J}P!^9am)Ds$=Zb|c3r
z=AHjWfc256Py5%um7Y@pwkM)9ZND!+l{?S1IR^Q*z|=j$UY#v|<)7`O)35ZXxV82}
z@(N}ozrtOjZ9pRUAU@gET}i#w4CnRn?ag35CCxS?>FShfuHDioCFFWaf_L5H0u!|!
z(FbhC$$jFq)Nw)b6PMqa_9lmka0g$sZLo{Y)!$Xzx!O;RG}{X!rY?HC7AsMI7N|n!
zKnP>aC*VaQ)2WQ$Vi^MhUq#E-hTYV~GN<I7BxjmOoC|-w*+)7mI4O-j;1SE78g>%-
zm5$W!7t7sf`=&<6Iui351Rw?RT2iMI$q8b46dd30Je;4xH+U7P#5>6)&VPKK{VQYT
z@mIyMW=2zeb?SO~H*xO+Hc}Oc7fByuvo((*u1Zw-xJTK-&Su*F)pG*5ZjQGyXR&DS
zy67FZ`!_RZfwYGD_$9XoA)xs_D1`Ul9_;bfDcuTFcMZ+6U5B&zg#o7SYe^%!j=1Yf
ziw%F?{iH!)#;uk~On=&@+kakQe_5fX6dRk1Xri7{pUqCGH+0=l+&0*3S?}(UZj{L0
zkAW?$zlTcq-mrxjwS`?7Nb8m2)p2{>I{s-kO+{o=Bq1;kclEGX2Iv)`4H|FzrjR2u
z-baD;iR)rlzXp@)rB8fwtDQqH#DB_1F~OTL=$qlYlTo*S3Eso<*VKyo<Tm$d3aAyX
zI>0a^OZ)Ne#fvO*GktQi9W;;I6t1n1ppu)FUe$dZKfOZEq(4{wd9-cKz6d{CX;$(M
zO50#FPK3$)*!9kk>)3rLB**r?8d)&awJ&)sQZCu{`SHQxH~E`?zw3~<F}Un+&l>%<
zp3!>G4P}3oywbY$?8#}>)WyR~!5B5c;LwAo>~&xILUPSs?c?u@Gq=#Ze&UsLYYEc#
zm*Z!YhT{6mzkj?HT3h>WD=eQS9LBt9J|*@&-#J@6%n3Q2yyJ1Fdw=;$4CS|-_<zA~
zFX#?6?w=l~Rv!A_`DXN<BD@1&ByH;4_9rTS)5cJ8V<27~khdLFS+|dIcMu;*h&U25
zS@AdnERMzVbMZdr?Lew@Fh0(5aeeEsM=2gfDM#pJ$?s&XQ<6)=Nn<-X;&3v)gli52
z$tX%F%Li#;Wf|!YSBI6@9X`m|ePHYEls*Ot5O6GUlmbyoydOUZe*SR#@PiPzOPH}s
zB>V%rDy6D3-mDm67gc|utE6-}yvwP&o{Vrz&*hkty5v80DJ-hoT_qdMapccaTm|1E
z#Hx7VL_Bb+)~Ztdlv3lAQgE<>FIYP;T&KHR0}auW$Lp)&#ldO@`4D~!3Vxj~V-kc{
zxW~Yu$IPq8JiNyux#wPfk7ZqtRd<hpJYHP9`95zaLtK}gbti3?oO2VWEjE63wd>JG
zl{;WnCGPI`gxEG`oNBqc8ZumMm{NJR7qi-{)!(hbjMtEccpj=+e7<I;inkf=@%HNT
z3Geew?lTL-TNLAK(Z$JDu~Lk^!C-)?8~QN+^?d`@f;9+ERntMY-xv*6T&29@tf{;g
z-fX8D6WDzr?@R8l1;=&w>umSyh~qVQA;xGe<0y!+$F*5ZZ;HdfYp;RS@PV}Cf%N==
zjJko$?t!e2T6l28!zhU$am5hE!6^f-2Zs?@Mol)O!2*ZDf^rBMK2uH$*FuB!vG`_q
zxJW+^(~qlM?0>i2FE0$K7RRd!<4w_8b=DAD3y7V^P@`9TQ}R%A{!mNZP;2*4+sC2y
z&qE!DL+`=E1zGG2;NDzu-9BDz&pqxGIqk>AS$*Nd{pXOoY1(&J!?pInwwr_GrvmH^
zRt{6vitA_!Lnf{9sz8J(fHig2nGVz;r;H!+Mp#g1%-4-9bdM~499jB2vV1tQ0v^3s
zWgK0|f<88&PN5#`G8xUY=DK?+^0smFX7cFw<k5#{i2f?rs7c@G7~jr}6F(jm*ThKy
zV+V|5zr^nzBJUnLj2(H6{RtmCP98hSA3LoZJL?`hA0G2~K>6kHZnv&(592t+jd9S8
zNC#&!MiZ`o7;YvF_4FK*U@jt$Wq&1)Bc{iY)8jN>#%X^W(4-i6u8&=CPlPy(GN?^3
znsPb&;tiSc;_P^HO{gR<jrsMPK(Qfv&xFVP1V@D-J%l_FoaDSQd0k?XOKp<dbn?cd
zNuC#zH}#A-1Sj|)2AAuNBr+l_oT=r(fZ)#EJU*I9lrhI6oG1hk+ZhuonB<UnG$mOf
zFuFF`don4JX8aL8HK{oz_F_t5B>#UCBjlO|vbF60Z+xUn%Fq<aQwz(w<bPcnfyIZi
zNr6y)8v30HAdMI2yo6*`fS1}o<FjW{R}xr=!h;HPQz=!%ID(Pa2%T$8X?XQTf300s
zEDfJo_<uW0uYowyU)URl)g{O~pw{d(z{2Y2ZS)>OS?vKgudDy%3d=B>ra_aaFmm0z
z;x$&y;v3H9xNL(-h5vGxmge(3t2sGFUk6MPwvw9n(ANhI{C@=IHLn)PLfj*E@1Z0Z
z#jPYMp@jUH?U8EOAk*x<#vZK~RZT3+t)s5M-39^OgO7HX<Wgi9AXxF1-(-jBmGj>^
z=s&waFvSI>aJHQA?m{P}9Nlv3$^P0z>(loN9f1c+Ush)BUYwnVu1q+M2ZQHRSNtjX
z4{iKGt}{vhahR%6+-AOpT{U&i2>_d><zoNv9k1cpk~HnYm?KgRLYZAR?QtBpH`l@?
zStQrurI(MdN6HuWUr!VbW4^9@vjOf9a2_P>5Tt&Twyq+Sx4C)?Flewyu(0i;3Z%E}
z=L}g^NY78>iYQrEy5sM{nWizSaXmxxU-5$|VNvEsuYJFs%%;%NMlZ)fdA>g)KC6`B
z%@twt|D3~`Veu{fNrUft5<>fQ^I;Ho!8bB7GP7FXe2MA?_O2zk)Kn+Cg^)adqQsc<
zruPCd!5iN1x|Q4T0KfGj{p*h{waR~`-zq;a-5TepXD!=Sx-Yo3T`Qvu!>Et*Z)sIA
zwJW>VFM4kgI6CJy1&eOmpAq!#Fz4<zA?qK+ly0x{xwkccXfe3<gEf@h-CrVnm<9NZ
zCh%EH7Q#~R?RnDEv08ZTVeXChA)z_qCc-LowbZ+s>yw!U?T7+77?8VPEu{K{!T?4`
z5cP(`cG}$xxkO2F<3mdmAb|PsOU*<NM1r1vbpJ_KTHl+Nk7X*Bn`d+~0D7HH#!}vX
zS0xP~R(a-AC9BSWZ&d&C?I-dOJ^)0eOd)f5EQ@G9kG-nn>Hv)zcYX~LgKi$bc&SQf
zUn(e>sw$q9j<MyYhXgv8uh-N2yh4CzC@0qO9rh{-QuH9x&Y_+=+w!QdpF1nwT}nt*
zK+V%XK{8BM-yR`+Al&>#HaVVClKZ#<DGrtTn_et)Lg+<pyMQPNmLFYC*v4?f>u{I*
z0N?}05kU8Gfd}$JJsp$L1O#wyin`7Bb_d3BH9R-&H+1Cs_|XV^Zl{MFGQ9KnOQLnv
zGC;(S-+o2$FP#pU6QlA2ugCIqV@(XLIC%0R;q??m`Uy(XVd+eZM`xvR`@McX;Yi5S
za}}S~t}v$67x>HM$Ug$5$;B;9xCN{+zbD`^QPtQxyhyrrN-W(41yKd>he5R+t8tkm
z$0k#(Mr_!JVnor=7s$`@%k~ja5C!tlsuH?%4_JohA=d>7aDB}@7MOC}UqJ%eV`^Tg
zrm)Hy86HFFmvh_%&bB0dyMj;|<m{e_y7Vy*t;xL}ziU7+3lzRv?$&=Rcn`e%Mc>D@
zE9@ux^@z)MO72T64n7&xIANk5Bn-e%Of*mc%xG|x12r)3921(1u_u%BmjO}@L%1E7
zni)<>=(}MXIPuJnijIR~RUHSWe`3c>$74A#e0TOG1%TlQ3NMt<K?AQj(fz{hwY}5#
z^1xRf&LP#SLibUe5tJ;t0ykFs;5HGACjR-^*XJ%!lf!G_poyg`z&LvZm=10R#`03m
zhKEyNSv0tzz;%&qbq`{ElEo64KOuPP+oL}&=(FpfuL<p<C|OL4V>0Fplb|So_6?7)
zG;8$k?1bQsOYdB=p(a=S;T6aHM75J<9lX2U<)vqMjY7B*{BIaTk+g#-97MA_uvY5b
zRBF~ZI9=)gyUdD%1@VO_S(Wj-+!^9##zRjXHLUb_y4C?9XLjvoSWyum{GB`~1@29T
zJqLlqFx$rlF*Nxp<+uf?YcoS#=eJ^TC#CX>!s~3b;danm9%X5NRQ_!Ob=Xb<jD%GI
zgpaD8e=PTjT9XWAH*zMyb$khv9E}&@5cneJ<8Y$CCSdmvy%>P=pg=FKv;Jx7*Q@l5
z*I5)nhO<AJEqETOvm}L@X_;=X^sXJU+4lEoHD6P;;tGRI?(Mc&*f|t{FUen9EXo>b
zQU<H9swWsxKx?*X=?5=Sbb21vscvGy86ptja^)g=%^|33E}|g|<Fz_bh9SQW(RKqR
z?y8zt7;>sj|5q-ATOB4&#KHFB6uCA5)bdPd9e_q&=h+`Uyk!@*r_9K-S3tJO#MF?m
z2=>(ykhMJFFNpa5(z?4(@GX>7+!~FGMHlNN<_o{o$)Lq(&Fd0@FH&)x*B~so=WmC<
z@V%oLG)|~VpRoSQTYK+f<Oz>h)>yftG}3{_I|42&3UZ7!5yV?){w!Wrbp}Z5$_!`W
zM!&>R*&Z<WxTG<^ZC<eozLcDG`$PT8*&4MMn|hUKeBns<%VPj{CD+WtCpb09zoGlt
z{s3M_T@MlLsxi>P5ydf%gvp<^%#i-oSK;)w?b+mL9%6Da-4s~C<mQ<UChxie8h2Nn
zxp|`q@9f+U(dLJ9CSZ<D4$RSanRGUji$@Z8;sde1x=gM71e2nh;ch%`bR#pPjU9hR
z$eviXIjBot+Vu9%Ft+p6xrjlLV<h&eTjT^PM+(bZHfC=heWeLXlKL9?G(2E&!=>Lw
zDQ-N$(L9~z+Qr?I&c+I-h%=RIb4ruVBkg%HPk$^Wbo!cf*6s%|SbxFH`1Ggfp`J(G
zL-W$LOuidAh%}%c7V5Lfaa8<qnV#A--)MTe*677u8~F`|RLTxckvMxS=#t;&i^<e~
zKZUr!9Qs!&Q)WhwQhX>casGMU#a5Y^>J$CrQlrTXoeH0yaj|9||H~I1%gk?b__o`i
z7)7$iz`u@b$EYx1=^e+T$SdJ&Jm$4urQSW2ELKA6`Sh!wj{5JAGSE2|JvaHyMEd5k
zkANtJokw?2OMkNebVRmqN8T3+WxVsJ?TX^=tHkpS*!z=q7_j$rEO6=W%JKAA$FKT}
zvkkWQXRCexE{^)H1#gDr$ktmNV7jk9l512M3;;;NlR)ID$^*K+_jjgt-bcE=v!^2v
z;JT?~k~_p>)epM%2*7$C!?56fC;^~4fx_scLgrq30~YQyQQjUTD8wS<iin?(R2bRY
zLfwRY3;;Zvq5M%{g8gB)(!xZJ!$dd3#Ndw~V{sCjq3w=1GT_cX8!8j!B+rb)XoidO
zhAY8w)WtXji*Ri?pnM#DS32C77q1J)X-9>dYT|UH!xfA1_uvr^kMTCrIP0hg$=OhE
zN%rrlZtOF`0G5`@oW^aOdPkV{z$en~h;G^-#8;Yj2SaBR<&;a5J4DmAJHnGS=zK2V
z&%wD6U{yI7MZQ|gXht0h)4uwK1PD>>4Y2Tjnt#F}ZltIs00@inA)hj3OVj=Xs60?1
zHE?=EJH!b(tQ_WOV;6StC$<ZS`@kI6Egkos7u6Ys8h``YzNj8))L2top9N~NDee<I
z9%>jj6BP%pj-T3$Ux|ueluqa?j^9X&+w@KNVUe(ymau(HhDH*%c;m^11I2q0N4>$m
zP~c}Hlt84bhXcNiP$GejMw5<2g0>Urd~e2-VF){96^&hFb1lLH^N5n3Zq=R^yk<?!
z9Af0`R4pBQh>rc;2t~mGmsB|_Dp)%jzh4vuPN(y$f^Co+G%xJn)$k<hT)I<YEZ1hV
zn=n$Ig)_h-StA;yriD_YO48y($$wAQqe`KyPTv2PtQ(zTN(J22O0k|xw)~!A<nkOS
zh8{&FZe8&MQAFP=2|II+<Ty_9QxEs#L(#*ja`%GcEJ92ol&!{}`&7a6S6{lS$DaB6
zoxzcNFhr+Cl7}69$0LbApyQ7APWKJD;p7DUj#}A!)jI0~j6-}qQ{kbnkoII~1V!(h
z3J%REmO+)IXB5n3l)I$9lgVtjmr0IIg0!G=p|79$rqM^?+U+8Jduh5n-2MC_dk3Jo
zXgtvz^^ZB-@sksu9f}eba^nPwN_X#1hf3e`1}=c-yQ$uM#d3MPq0w_OHQ!O%7}^uz
zu!@^x9?5^6A`DIu=G~BUsFmY)l=F`z>70c~(UMbQ9zuyAf-Q6YmgE%o5h>@1=Q6nv
z%UnkPT+Z~|Qx_uZU@qHyF8Vary8%WtNc>YA-09-vB^@f1?(w9A=xUyd_jO14`dw*;
z4mw5;@t__#`U8GxRH<1EC2wL*5~1*P?vgZLvm_mt9C$7yzbW?LDl$(CC45Sxi77w~
z63tGD^f9?q^97)c+~Pku$IZFyr3H`t3$Do)(w-K&S?0286YUX&O#Vgpv~zu9aw#&x
zQqzhYVqQ5#=PAPS=OU7N(*30QLSruwux#GY0D!>QPnhEgB@Fnzx&j%6xUoq&raQf&
zq(c0K!-(IKESSk85{yWs`}M7ubB^}spPan@4D?A7wSDwwbk2%;^1b;o^ZByBe1+Dm
z<z1FJaM@fqf01`a`SY0aD;edEgXIgoo_+p>5X9TbA7!qk71+|Ez|#sy28co!C6bJz
zW(_gg%M33~bVDI-4SGe#BzXuU3Gh^3<~JTLPQoxpDk`cdnMVLXGfot~ItR@_0C_(C
z1k#(l4EGJY$d?&(H*OLZUelf0y_J+faZ$lu!GIeXPJZdAt0mPzeX$=~D&DsgOlg-d
z@E1`J7A*fLp#DMh87vgL&?z6%E|Ms#T^+38D=Wva)h@@#gXsYspqNsm*kkkgymvA0
zJ%5?mklUvrJ(96TTcMGxo)5pi1P4UxHhTX{eQJ2C-X$_W0PCm2AL~T@SpP@tjVKfw
zC#}*wl+|F(t*xS)I*tBAHS?}Ta&Cp9nYALVwM*JfVP%DpnYEhKmC9!|P!WKKId|Xb
z_05*LQ|5;A2u};0xBD^8_FEyQ5lPZASF=l>rUiINr^6<^({;b)(M-_(@<Dl0Ker(?
zcAgf1awP?hYxGhZ7t|>Q(4d~urr@ny#a6Ooxi&VSt%t2?V5ljGt^J-XGn^CLuZ_~q
zOys!fp04p$Ki0|V;#+gU%u_?A5M@ip<%OpinO@!M-v3}><<g<Z>Nq1aRMDOnbib_2
z)#++F`M9K<w-wr^0%pKAiMln7S``ga6LAZ*@nxhtTO?k&&S<M9D%nc-nsT>n^IYcZ
zLn-&gGQaWHxSy?0b8a=<rT)OX*j~2K@<7f%bD>3_mA-;RbsvzZzg6gc1XZ?!l!-vw
z7*qi?_%Xo;z<_R7)mX%M0lE;qrf$S=n><^cu|Q|H8_6`Q=gzGjhAfi7FzR-G5dqWu
zJ(VnZdp!Tk!I8)7aa*sEx}(!k@00WAS$)0WKhM1c`rO<4URd`XYM?qkg>@X~Jh_G1
z3q`bxA?+_b{9#DIpD1OqM=x3hkwdou9u)n(l#qO|{3-~s4>d6$q4-gb!W41CBv{<w
zNGpkPad5J1&{n<&9@tjd*26zUgb+}l&WPqz2qPja-=NnC2~6$5^&700@x#Lf!^2s_
zGt<N4);5C$VV|bMZdi;s@t~%&U|CQ=q8uEX^&TVwePbPB4p97-qj-#kG83S72BQE5
zf+7*E>>#qN5NBZ!gIzbBHsmr9s-4vaiXUv;%CSe3(+KobwGEQydlp-|QSsw~0Vu**
z&BJYI1&aE;9T}iOF1|8-J`R13hH)uO-n#+w9*5rKn7sLyaoirp*FMP~WGZl>N9G47
z#W<$!{hpL;p9IiTn5C)f6{Z4$lXrqlfmMD_tYEO+CA}q>4#)I7L)Cz=DZ;o5AVLS4
zYWy*Z_uh#5HH^aLpeJ4Zd0Dvv9+U#)&NC7Sjnbup1BK^3Wm)5mtu?T}??<!?{n}?B
zBZW<6jhD`Q-ewH~ZSHQEc1ZOQLOahzxR_lKH6={bEkE}<Xl@E!^_qqzb!0BBeeO-r
ze;IhP73R}M=CbwX^El>-Z{|vN<}%*Qy>dq-2cf1hbJHHEg5QYSo&D6Z?Dqsw*U%`S
z7P=kxSQfSD<nf7eu>bxlMduRHb+x<5yfKJl=t8dPlKaruLJj!BrV+xi+_+tH<kIS^
zFvu*AVij(>5|sBc9`)LNK1X5Ym*C2N{9L#7+>zeOxx&J+`}~Q`LZZ@*j*)_=2A=>D
zq>Bb-OAOm?6Z`zo$<}UAOaL`)gZd;fqp7p}Tzh7jW7&&_3>M`w1PyKI4XrB-exs=k
zSO|6Vcta@yxY$*m&kgbL4?8cSk_G2soU7pKjU*cSzi(FV=zsPVy$bGl|J!+uPkK@4
z^XkL+)ghZzT6-rb34oJ;UjnmU{!0<<Yd05WHr$s&mI`jtu6wsOUaS17J-Tj&xC_`t
z8zQMXSccgYhQ}tYK7>&|ezMjOn-uJi5{nz;jjVMU9k;r8yg7KQ-DP(i|7KlVcip~n
zU3+xNU6J@uxRM*y9Iu<lQ#$c;B$L4t*+yWoT3WiUzfMO#UP3$Z^6CV7w{^X|D<=5+
z2g@x7{qZM?TMY4A>se0Jdr*aiW$D{Lqz|kTTE>@_Hp42vJ|w>-ZU4CX@5lJn+4#V5
zLhx2i@GO1B)`CJCzG9nOKkvKix7;V&r~{gQ{qO6`{Z-jHkM(z6b&y>$I}X~j$^XWG
zk8U6P)jrx?8|m0O?$|UG=yjw5dJ=Z&^LASgH>v(E0fAc=|9*^GR*c@>=Xcu=%vf)8
z`&zfVcZp{A<lpYO?YeE7d;9rpRNDmN4yQuofrd-{-wX2`Etv{*Nw-+yPYU+}bD2Du
z`^lnXDawh-_x)1#zx@)ucBp#y@cz9+tLS7cy5CYlzePe))PDZbe}8B?mZF`LY{-}L
z*ZkLgnOK#v-zL|NihYhG@Bc<?Z3Dulf<l~IPj2Nm7t>8-*Ux2pC;q9@%B*qu1EV<h
z8_V!t`4fB}74}|WUjypIhdN^VgIX_b_Dl_=JGll%+=vMdcRl&T=c!sGNBnt`cX4vl
z<g_s4wD|rh?B!|cwbSy8)2eG{HFwVH?w>V;oHgA)yKatBz3J(-e5^BcGWXKS?Ed+q
zr{_H(A%#@f;gArT&U4d}^YO%U>*jN1x|Gp7e<$d$trz$HnhgA%9{W3#^H=5PIcV<4
z@cZ8%bpOmt&R3rP`*Qd1LCE>xor|OU7sol%4%^2cayWoBnm9%PT;L#*2Ei!d!Iwpo
zl|6D*qTyE*<t<Ry9^B<yu7OR4>#8qlC2qIDJ@eFFB28PwwL}Vr<9S7Dkm+Lfoe9Ej
z8Haw)zZj&diS?eR*X0@!<Q^TV@;#eSw&Sg^?a46RGOM&{4~DRr31~m<D`f^ff@9_l
zfN>DKfa%dZK4QJY^p?~+t0vEi-ip{7ce_R}!_s!@!JUQHCltSJZb?;Gws_z8S;3A#
zJ?O~z4OP$d5q0j1q?ub<G~ag_ET_E5Gc46`e;#|WbNfkv>>u}~rYke`+YS3RZQ2HJ
zEa4-WP1PfB?nGW~m&tep98OqC@5*}npD<0nmAc*5;j`44I20Mojt%@W)M&NYp@8+?
zTzL71_QK|D7wCNlTje;M+!|#E<{l<y`mD3{u|IF}6TTMI>$0cxWS;M*60Dg;gLJsL
z5y4Kmp!HM9vuS^fbm`h-!Ux}BrK<L4=)lO#ql1a6p1=bam@;GoC!(^&G#HtEP|h#Z
z&P};p+4V2U%V>ZnH{WxRCpu1a=-;vQ4W{oMU@={h_oq-cpl-G2S`e`3#3@nX#-J}b
zZDM>aXueMDuH4@_LuLQ%bK|>P+l$XeIDffJU0hRRh!-0z`}DD>U5+Nm$w+R_>y@77
zO8zf>jV<;|ckkZR`)HthMf9?%hG7Pysm}NCS062$MoLXh9`1<G==l^(>lwM%m+F!K
zwIR)=g)CzC9;LpZWd*j6L0IX+f(A>scW;<zfVwY|3GVN|Fj<Q?(KK3#uWvG0y_is_
zwG^+D_ObE%R?uimwz*5)5BjCHL9MK>w43@c?M9Ow?wu$DVC(8va5?f?g!F@GndUAl
zx$UTp1g!>U+=d{){5D<$@ObEuMEQ*JQSvn^FrZL*;E=1Knag6A>E2Lk@fq+1VKYOZ
zvd+1YJT1;|6V+v13R0o0*bU1Pd@7!x&~)Ki_KJfUYY8}8Jb1@hIQt+@;$PDSVQDt+
zv*aR>P7r}V+j!Zu!2`x>F=c$F2ObnQJLXzZWH9EW^R#(%(P_x<6RqxTUICIQNSS3f
zi>zB72EVji!;5|kd_D$wzd;L}qk@w0iccQqiWo_<U^NbWZ5+$4im3g3qeB7wsqpz`
zv$gDYqTss{3Cs3fi`Dq&`z78<@#Jf&kD~u(QAmehh15j>KagD37VxuEnaLAK;CvtW
zYfNZmcfv3u{FxLPpvZmQJjsTY*VS@xE6?{{d}dc#8gl`lF(42c3uQ-xsC_X|o~lr4
zFFP=&v=YQ@FO(@64dwGyqIImgz=3sFj;{Yvxb%9De<dm_y|_Waxo#XU6lnjI9Phk~
zqz3kfRLpEsqcpfdA$P3td{~O;(sB@U8M&h}CRcS|;u)uY;37i-vl_qhM2vCUgUi)T
zYJ%P(vG+e;XKrU!7fqOm8%T#rayuzYHte(U#wC0&PJ$-K4JUY6YqD-TUzTm41$@ij
z{s6m(D$^Pf&~l%z(l=|WF<p9@5YElTz^A39UX%1Hkei3CL`$1#GAT3PflW<D`%wW!
zqMHTfwF@}bq);@mOqJ>?Mf4@}22alVwi~yem+08e*Q7Rge-XmT4BtmQPi^8Z6p8(=
z^MHpTy${SI{^Gl?X$=M7p@)7XS<lCG-xiWNZm+^$(X8kBdMfLi>i=QxJ)`07+jimq
z6bxn<ee~XmHd+WXL-bA(5lIBmBU(gB8ND+~kSG}?T67|aFnTW`g)}u<B6^MRPOj^|
zpXa*we)nGc!@Kr+KU&6`4}NDm&f`3eCF|A|WA7l}?3Hk5^>3=C>op*{_u&wUidssK
zEnoi0p`~*l^i4xq-x8@5Csn3n%pxDi@crW^ISgzCgaPb-Z<qit2$3F8rKF`X>LX{$
z2qdQtvzTZiDGnv-me#j<qc?$$fd?&C>(~*`Mon`MvSe=vxI<gxsqKo4LeRI~cTvwI
zkRGz_#$Rr#eP*hn@qx>@nc2zmnc`!eJ7-x|hYHR))c%N(pEp<Wn2C<4b1I*#b$XL{
zA^5%2<(G0HG|YFs5jHOrhZnhDUGkVt_dMN;2u$5D><s^At4=xd$i5AKS0`7hN&eel
z%2Z*$9vvxD&Sg86(kRHswZB+@o#o4m7w#FJe_Zl{8=TUX)x#?Pxa57fdgUX-a_Ku<
zLu=}<_dn=gW{vheGAu^4+~Mr$ku#Y#$vW&Ndt3;e&R)!Tbx3+Qv2RYRHzNxKpX9!L
z-Q><Vs<LF7)TZ$IVH=xjDm_5ZE`EC1qhyog>}b0m(FZ!d!26(JY(7bY?Wm3iU*67q
z{T?A)7%Aki*3K&w#?beH$1A+=y8G!EdD3&mh#=!+Rw%9*@(nl&-s3jOG>=5B&KF?T
z4irruo&oW(85pwqn>$B=h(ruXebXi(*l*rQjqQ#g@{w2~q$mtn(8@KGX}-jI4$Lk;
z%L>#xIO=fnEV7x&fc5f&KY}Edp4!)fXwG#`o}ZuwWFr|wwcboJW@G$Wo?hP}!o+})
zaB2~*$a*H;XT;@HmpiHT5Yc2d9%_v5@P*TlHylGQPO%6<-ZQ6y#Lmkb1WLzDS%{Ut
zc9zu1i2NwZ6`ZZ_ma=k--=s1iGE&Me=SWz@UG<2fDAO4%3op^Qc4%|iC|0<*A^aS>
zq}Zdw?P8Z`uvc*rE}vNvufM9|Nk&bNR%({7#+oyWVJ`_}OShBJ7>~wgOO1m8iT6C_
z7Lv~&9wILjUOWe>u(teu{UOeXpq`b{9^9=B(|O?-p79*W4YDjZ_Ke#!=}HMG?gTSr
zRr!C-fB6IhX}xRSD1*>4)zF^^7YymPf*9RrfBb@~b3x<y+Q8mLUxt3RO<nP~%GbgL
z9=?t~w-Z_LNaRzL;!BsQXboJ0&i&y1)1ATdS%=RkuX~>Vkx>-2v^_gu_;YiqCPZn9
zMYO&D+?V7U>h$!hYO20NPVV6>lm6e+dw6FFuXN~T8T}uL&Tb`K^YyE-6ivOleW5`x
zNqGhKx!<DI=}E%dO-1X)+QIaU<rn>zf^Qqq-Di+#$xazJ7r^;Hc5|pPXT35s$iwmD
zQ}3<Tz0oUszrUn`ka9OFZtA8D-FY+0WNOx4b^3ev!#5`Lice1gVP;HO%i=@Z%hbkS
zkr=3xBL@T<&9yK?1y~V6nbo6t<)hnaJgey$hi0f)>e}HpUZHHCXJF@|afp=a2vPC}
zua@9K(##@6T40ol0m(Gi3K929?BvfAXG`L&ARJ(CPJ<#j#7pdkfN2*@3Ceih1I-W%
zemuui00V?^ggCn{7^>JhK}_RKto<u{wz|fiN)HCW7K)KS!-)KEwSzy-%vb*H-3sGU
zsUWtyLjL%`oAIMvzNQEV|K)keLiXeClbhB0W6@kNSyQN=z-fH#-(J1RWVM4EysAE)
z;IXM<r*4(g+|1N4$^@<uRglotkEx~OMP`rE!?zcQpOjfu(1b%U&rJb`W0nA%$!KQX
z)t5B)Ixk3ms&sE|NceS8IQ!Mz4>QBG`0pPS9ZnD^$&ulyMleGsw&juc_1?H&t)MX{
zK3SlK_2-xPeRrIaE0i9E+53U&%{BJ9mcs$KyeUW}DkL0LSpnJC6m5q;D!4o>2;;;$
zANYL_@i{|w<jksDN0T7&>AB&YYxCUeKV4h*zpt;%+`N9;`+#92*OSnAxAO2x^DoeN
z6sL*hCr1t-_jqNZ>R}!SaEeL!>L1Jy@ZnO(Yc{;%$-(xh=8m?#t^2PF%Slea;shO6
zo<~3i{~GGxf(r<`(ZvLExnV%#+qW4lJ`K0FWCj*e>2($pQgZ{3eoPuG260<k@{o^}
zaO!P(&WVhv1fPondxe)KgpZaX_=sO}^;GB7I%bDt7rmQuO+(mc{_=dsb0?9d04{sQ
zZ(rb?w(ftEel@gFHwwGA`;PN)V@r=F>3{)4^*KPE@;=Z<4V+t;Dn;f7Cy>n$uLe<4
z6W@_7gqhb!qKTrnQ>cK4m))j@WwAb!CTfB4qbn1fYj1t}FZZ|L^b}J!ES{D=2^k;J
zeCM)cT7wJPqZA?uStKZv7B=;mp9z66YNYgDb|L!#8%x`-Eq5+5J7|Ar^Uw8qOP2Gi
z%;Mmqu1N05p941B8`v14Z`%h6H&mJKpZu!24yE@yQ|-<FzRJdy+lc4tp1j{XT<ZDk
z^llcxbnk9zZ>ehBgTC1)3&DM;e80fMN40%YNm6Egvc<>p{nR!0Ec;XtLgqM__*(@f
znhRlOiWU6mdW<#%vx7ENMv%~xvR}-`^_7|b@y5f*Z#)7-7GU|G964v|qmadlWIv=i
z>_bvD5MckG9<!V}@tL*XF!xW6yxwjNJ{!(b@m>AgU$<b8eh!;b=6Ys?3EdL<$75E!
z)3r+E@bQ0o%w89L?H1EL&E#|axXWO*p6oHJay@YFPWgX&%u+3Om$Dd0nVzr&*n6fG
zU-FnW$Tgap6S~$<bo~#HS=WjF0Aqv40VI3hTpry@qgVd7G<%7^KmV7<ERU^1wMKsm
z2!fOp5=8^8$DEj)8i&4yI`@a)MHM#x_Lx1j^sRNcmy&l+G3N+hS5tHQsp&)KyI&T_
z9<!Pc>bBH+VNfO`{!K>1;GgWEERS8qWj=%bO;NJPY-QJF`L;=Zf+pn1(oX6Gj>Jd5
zWyhM_t2;;bm}Nfif;i*Sh0>E_IdL48Id})VrhtWo8hdAPcMh^WJ9bD3;ZISS14OQ6
z2*jD`=$nO)&ujwr>UyNuMCAE`4qn?(T?EH-E6C>vl94=(L6P>>XtZI+W2kD}GDA#S
zz@q*$VJ;~JV>F*5XjrCOOkqG`5)&3L8m&=iloz$AGMxW>Mie3YzEM6wMl8I2FafRM
zh>%VBTCyyNc5*W)nb1?95l?71jV+aY9vdqtU$Uwsk&uC#HxMs3IfBU!2rKuCbJL+1
zxjYIti&DnPkzIeZAg9COK>}eK++AofFQ+{RD;mAZv6W38@mZctOAW8iG_Upy{(QA0
zPm5{Vn;YzT{pIKL+qp*OF}hF3%zVS?-$uXbpp$jPCa^Os*nyDUdV-V)*#!XHJt3x`
z*Cp6x21hreG3Q}#z1m6Cveun?)DKL2<Di0fV{nYJ@q`coD-wXCM$1pM!_QjJbfMq>
zu=g2Z^I#tymR+vKpvG*szoCWq)o~N=^ul7ms@0f?^z7_8{wSA>h0$movT`MBn_bO$
zPS4C*1KbFFo2VeTd5Z8dJ+svmuh=DqjO<3-lSiOm3MC>GawG(G=Cb^s>`*+l(lTZ;
zK^4S-FRMH5@@mSbwu?@h`9?4eF2KZ)W7fwc-m!x%VRVw44xF-_01s-nkKR}s?Y0in
zpD1v+6`(j=u7ObC8LMoD)PTJFql8pBF|f^J`FvHJ7(+K|A=sU8h{!)pK6*GWBn#&E
z!(*7ch2Y^&%YJPTx@ClpLp?97K1F$%#acGzGjQoWfyC!=%23boi%;;%$pbX{fieE?
z8@r)84NX!)H0<7(Ft&W%T1w`EJFi?mPITZA?zRP%7nz`Ff2=~`>?{R)HUN1hS7$oZ
z&h^3YliukT5p}!%1}8s^#LZI^p}fFPzZPfj|8|Db%BWv$yt<20uSNohZKu+-$YFZm
zh|st^MD-r?MA*Pi7I8e2pcxHT@~gqVxq8bRji%(WYe=CLS!HFhBes`_#KFY)>F!hm
zYs=OO_GmoIgKQmzC&<VJIg11t0wq{iNsGEXl+C*_TJOm>`fE@DilhxK;4CR&GXcxD
z_%WT?d5TpJz|aJ#bhCg|sx#M2;ksEm9d0w{xvb$-EsSAge{lv6Ap<tWY#liNcs%zI
zh*IiD0nI(f7Mih=Fmc~dMPd!E{M@+Fm=tAkhb);PTb=Sr=rW=rgo;Z_FlVe<M^OFn
zH0}~v=}V0Nn?yJ=Labg(d(P{olxx3P(GL(n&k}uuvbI>`ywD9hTibaJ5W+ry4^C|e
ztPt5E3x#JwQs<V>tcvw>n;Bar*kRCubHW%t1fd7%#8m4w6su_Orf*4l^JHHW6Jx{?
zMVwmJyQu3bJ4ewSkjIiTOUt8zXK9;>5JiWkpzD3^nOmQiMw%l+D{tf>jGr5hNg!`c
zrNmw=6k`o$PgXe5%XGHGz?khKDr54fv?rgl?1|F6_U8lVg*gqC^V1+@fvAZw9V+X6
zCaMM`p@LHgok?D<g%hdNtPA^1#zGK$tFG5z?JypaiQy_TwLgG?0bU)daH<EONHg8y
z#EEyxg!Pw!V-RdF>Ea8H4?^a$eOiKU1lS8-<+~AjifIgSW;t&-Ua0gK6q?i8K?jvz
zX>t4Uhd$*3RW~m@E07ClkGpx?7cx*{71;Ouan#!ns082%K_r%OIz<NI%J)>V>P6K&
zN23r_Yy<PzZE!KjS)H0Qw6LQf-oSR2f+=O`uKU^9X+13_PYje>iu_K10@gh3em0;Q
z>JK`2=_>Y9Tf=Lno)s@JNYRbWmgI3C3xOZS^e`=dm^~>GplQ9Qr%(^XqUoqO8Ut{Q
z)r9DwY^t;uGwb>-cix|o3=p_oQj^KvVJE*F!u)E;)UOlG<B{olD*Ucw{chRpVz)FM
z2X1^!Hy0BcR^QI24Eum{ltL;PVGs@`I~X5z!Xj)z{;_I8p{VhS!IdC%zkZJ-%se&8
z1q3J{Vf1jHa45`?iYa-Mqr?n!{?(IqFX3q0Wr0kaPe<<?M-=Vcyvqrh&%rA;(d>>Z
z3@WIP?_x*f&gh%dhSuXGtU!3)!gFhGm$E*NkL+Ej=U#I+jrcgd*YL82+tWSu)92au
z4b8m?KmD(KqEB_9Km$mky(x&FMrk?&!RQuV-u$kQN1>d43mKv(#834w7R#83jD*b0
z(6Lc>Axt)-F4+n&v^6@xEN;hz2l8FBgXOc=-UeFQ;m9(vK+?M>^XT$>YR-Imc=K~x
zSV?V!72n=q(%?*vyXXQG6o$~Vr=$c(%Nm-Vi4HkC1DS@?f+1SNS)QNepEgZdjW)mM
z?s5T^eZG_ZkZujwp0COJ{p0pZknNk1y@qwi8PB9wpKsSvnMnoz3>Xd8NB+L^`q%Gu
zX79s~Ak%{m&XbL3-M+^ZDe<?3PBsHSe3Ox<I~<71VYX>#SsXqS)qeYA+iv|A8EpCQ
z7M%rR4r~LG|88GYHm*xc1Jy{|zUsWrD5Rjlzw8{zw&W_CysBte8!)d|TiBl}W?5!S
zJ!2&gEVSCiY{&iGz6_NLPl-!e>-;W@NoA|eA=^1#l`x}aEw=s%=YFz%HBGNN)9uT^
z9l@~@%i@n|=+&pH*10yDK6lEVe|qUD+6}@l(v?=<xb^;Mzw5J@X;nZww^63}*G_HA
zCm*j6$zJynf`(2psLg>(r<7==CF*Ljzl4^1xd*#&mGxsPxYv)%_1`}*=w~Peo_(<@
zx^Px2a`@GLnQ2=Xg!hd4O`%U^37Nr#qA8_c$IjP<)KSu9t-PzUe3|&=EPl-cYH>=1
z)Cdmz36xdo&)>!X`~CeZ><Ui9yF1In^KDga4<CI0l+0##7ku#&AJ>~*va}&wX>vxZ
zQza}}qwMwmS3oD)!9d_F!ZIa_I<}!VS}5IRj)yKUfFYRm;xdnCNPIG7s8VTPass~z
zWq+dj-eiG6;PHe#@TVO}K3qtqic(c-Vq^~@2rzJ2U37i+Xzpe|1E(u2<_06k?#2KO
z?oV?qf3~#9z(U9GTb6Zx*E3B}IC4~G{jsIUlbvTZi%;Pda%KUDHvtUUUPWEsG${h=
zx|R8%UcG|%-cv0<16Pm;PiaeGG3TSNm5yh(KvOydA3(=I%J*m_#EPovP8}(<U^s9r
zb5OnFO^%5Ow-SBdN_!{fwZ{G7$L=j0-)kX-DrS;QdDyRh)2~aDVf4@1C7zg<Gt%<E
zgJGYNr`y4?Vs-|%it`IjzbNl-v~ET}c75_niW-qu63JPDgmxnkP3_3mwzJwUT2@wG
z8#s4TmJY{`cb3kpz4R-RKx3{2EtUoZC(*$-2_YDDv-%B;SEd|DyI*9mC+NP&mCYfs
zkCO&cP<~j*5Yl`zN5@@=%RJ!Q3!}}U!E4!+ZM3D{5n9<`BIN+GW@C&~La;(nM^SU<
zJG-R``pyJ(((BzRPw<9o4>Ayo<g_c<@SVJr#jp4=K=bVjjIw4BR0->Vw;gAv1n`)z
z(Gz7#fVoyUv6iAZ*l#ZS?(5raY0h8YbvHJY9xfSP{>r#qDEiEArDVPS?rQl`y&${M
z%QLSGh_LX(AB`DMYWAjmlW|QV`sc3=mQs`&dJ<XHqMZzb!qJ1eZDwM?TRPI(xHCOT
zZAayw(}W(x3V02O{~eCU`4mKAdl>A`#QfjkD9}wOcky>^-@m2_^g;il((7X8ivo&&
z>jQE?(`$={{!A0vB{fCEIb?mnwdIMWF|xZVkCcs7=|r*WW2Ff4G|_kAX|>z%z@10$
zs_aB-Z$O+8*)=yuQxrKHDn3PY&JE;n?pIuW6}+|jW$^Ckm$r-i)I3IwvO=WjoQ}(X
z*xubSg5P(Z_aG#IBn9P4nCmcyQVK)Z8Cdb`Y-om}du5}}bgrDMMpQ$V!0d8(Fh>7P
zr^T+r5c7uvg$(DROvO4unH#WDAGhf&@ml@ub!yf5-c(VY2V*jTS&6>ZX_Qn>P>AUA
zXVg;VRUcQN7?Jq!`qydv_F8q_?R9?&-1-bR`sw+J-wLFV<(1y+F2k2ac>SOjcV|NM
z3txT>O<w7_BE1D#veuoLQl16$y$bju@rqO!N%FDY8~`E(5E)pVqUNp=3zH|}<Oi(h
zVw9WT&D=awG;12KH=tJ#R70_H5ntkkvJBCuv`f%DIo_r}*S)grXiXrre=@eB+|Xtu
zPvGRhtY?o%xc-2J50Ey|zY2(U`5MJ9Hc~rgUqI-K+@buhAiRAIR+9ay#;Q=WWjVP+
z@cy6BOZd4jc0nRnzC`nR<74{xX>EoG=cfZJ-;BLlPTN;ldn(3h_}{f0>O8kAmAfq9
z(2}g{oh19Q2Nkoyfnrw^PSLFe;A)Ya9TM&=Vy&@3shWp=S@bX0iCQLV(>An^G;e?@
zDzFcPUr`CI_t37lY`r&Jf4#RDx88cRH@MzLc5~Yx9sVr3WnzI6il_pF;22gqEn7kt
zy{^Y*7u%)y%^r@sMw`9tVM8^2JW(E7eWDrn#sn*VKx6syn4x`lDTj}1`6(z+vHU7+
zwq{}qmdtg->X2#$+zdM-ahzf|zV3}FFJgDp{F3qRJ4<Kj-S-#Wuf7;9u8*Hk1LC#l
zln>(}c-7Bb+M_Bv<>yR3Q6x;5U>7qX7!AZqK!HDYeXO$qJ5Mt9$L<g;_tiYuO!lUa
z4sMyuP#hW`s)Q8hs4nifd{te_jiNhR&dNAxTFHIB*4vJ`QJSPly%I*ytb*_be`_4&
zQ3a|eT9Ip{LAsW;>b8@h^`7l(YCovhd5^b8bm@QZj9)T+y`Bp2i39(%I<A8Hfk6O>
z9E?x^1cm;0(ft4CFI*w^Ko-FBckTf2TF6Aw|BySp?c3v6$fcZ|J9H!2XdiItlS_Fl
zzg(_uf9<p0G&0zb{rC+=H&f1a^>Y)Wvq>%{%x&k;vgAz)VZ231Vyk2#+5PyNzIUqY
zM6tDE(V_DhdQjrUI4AB;gyHw1iw$^0@T2li5l*Kp0plk9It{m`S6N)%Pve`Go%kFD
z8D!dDM<04}lMbkxkbrzkjf;xhTw^?ET!Ea^(36e;>FXx*%G-FMh0lH`aJl;B*Y~NQ
zgyBip%aPnGb@vfj==rJoRAT3F^K9-puSCI1xyLH&uf4t=WEtl)F!%-a6v{<s^B0nl
zh_KU#t;(ZqtDy43?fv!Zt?Ge{;!xr9^x`4&py(*=2e<QAAgE+*z<Ogm3~5j=r*n@6
zi_65UofpdsCtqxnPZXd?oO<t&lL>G3hR+asc_DR7lXf!-`B3U7C?-y}Rm>qCJ>ud(
zz7#2ONL2s1?2v>Rak&Qi>al4I15IxBvC{qo;qNir^fqI)fC&i$7PgO{VXoMhe#@{8
zUAdX*nCR-1;S&4U>9Kom>0*{Gt}l*Le0f$E;Pw*iWHhmxLW&pjIqHc;!k{!j1dY`)
z5f5XI&Cf%hEy;_q@LSGL7C0&)0{E1Y;zWU<k|IL7!D?x0ezR*?xyI@W?<w=XWjCu`
zreKyzJ=kZtB$qKrOriwlNC$lOnix^rL8|@0&Mzp?0c&1lrH>IBZ8~K@=+l_Wrfk-z
z+9*xe@JkUI^hoWYwmY5j40t0E(^vW2v}uR$SGmSK-}my?!|}SRw%;d`UZmf#oTlO>
z<zTo{1#)Xxs5e?6QR4`Zr8_rYpIXk<enz`SlSOpF6nBJ&lls7U@$xv~BwO!(_#>&h
zL6Hwq+k<=)$F+S5``LA)m{Tb<aG1GmEZ-mC>nGph6-t9%TwvPjlf2}jh;wmFpafi8
zLMT{mJnrvKK1`9P5qC+NqZZ8$nCrjq*!$b;ql@7`>*zAX72pR@f5!qW9O4}LcPywN
zM>y_tqYScPc)KSL=L9T1PZEaDi+w`-Wb2I;w1G|KdAK0XjvXnk#|TWRMKni-%xu6h
zl^qE$I!%n%Po-SKW~v9DEKu5!3z&}NYJA|BGoznpHm;j`V!9pBNRWLuaHq@&uzN!%
z8(O(ynGw843Y=Huw{8fE?3hwuWGqzI52mbM9Gz}^c(}EoAC6>XS1w^aGG18sOaZI|
zc9Hpo!<pSMEK5T6MzyBTDL6d(F1)-+BRhaQEAq@Vwn~}e!~o_>KLh^SaF3ROG*Te_
z^iW=-M1&TwfOUhs&YU06yyj`Kyvam_D6<=8b48`e|DGwhNR0@wI9<A4BXNb4$%(|+
z-ot=DK!7_NZ*f8M@q#02&xo}&vXk|=KIK#{!4Z|CWkDpKi6wnhZCWTbUYT8_lUB3@
z<6xq}AhPgO+q;V&$pLhQM6z1j<x#|$=lIb06{zbDh~;{9#E9l%*dF1O=Ja9-S_W3M
zGJsT*knaCcT3v=n1ATx6=zoS%|22zbRs-E}e~Tl}<KlR<V*g5Df6XG~1U8r<>oAc0
zFLC76&oL>$=u^zOBe+5RA8UE7P@{o*a`R(WU{ImzSN86?bsc#YdGY*1m0f2nw_!v1
zRGrJjYI#}18n(f6ejvy2<r!?F|C_mCcYm4dwGU2X5mG3r*^X=Uf{SGVHSc>8YjBAk
zcjRxDrpvhh2b8)pQDXW0+HmuW?;ooFEFxbutbJ<qtviFn?i;J%#_nuf^)-I-a5|DH
zi8^Z7TkKPs%-t#V1oG4C(sx$4dh^ahNOj!l_Z%nV{j_(d)La`-ZoHhs&{O5d4`%Q}
z%b!~^G#@V94c+$^G`sivaEU7bM7DMhJwWtb58?W)i~#^66+FY?8daWduyw{v6e~yj
zFsDNcs5g=eo6@VvM`?!uPDq)ff`LdVxz#6x=4%s#=1fD$kRG1(#SULM<CXYiT>%KT
z<BPZ&ZYN1|p&CWbg+eZge{!Lb;_`wZA;=L9HA<rsuI;_^@06#PqWCjUL<so7PXU<G
z?I51es&3ND1Qil>c|m@p1h}CJb}Sd1JT6M4W@n7$CmwH_%3ZJmMXEBz)={AF_)u{m
zlLL%TOcO~PRapm4W$9Gc(|iVGNOlu6{L@B0@hbE21@z}SXwa_DDOUsun&edBEDxv;
z{_9zuh^Zl;_sKK&VqE?_OMv_=Ilf$j3X2zLpN$m-yuf(T&qY~pn%CaDSLw981!LNN
z|CHPyLD@Vu+F_#Q8y#@v9~+%WU8&73=1U%%-6-es%^t41KQ{j@j_k43FIHT>H6Zo!
z$JU^1uhjMs`h&;zu*y>T_K5oakL^(mmGsV-HruV8H+rHKJL5*mYdaHWy3)IEtuEc#
zeP``lvHRZk?%M7LyC~_sNym&^ds8mO6?-2&UaswZ^6Hh||LphS*8Z1(rHcKp_x3NZ
z?N8&W&K%5yvw0rOMvGP+%*8AJJeViwo;h4dyX1NJEz`O3a54Mt&%-5R)S08@!VJ%&
zm6GDhqt)`4Kaajw_n!InqyB^EueHXd%3nWQ_J96bC*3x}ke|nYNs<5GXku2$X_y0G
z`&Sx<B8i=U(y#~|GeYc$g3Xr8ZLDW$MI&dcYv$-<yF)x=b!=06ctb?zxQZA8&FuR@
z6uI|4)h-Nkq=U)rhNu^b$tMJezszJ&Xp(y_HJV8!?U~6#Dk>EJlFqVmyeSnFCH9DO
z;yL|O@Yq=;yp`YeSpW}>G3ru285(#Oba6EE5wM3hfQgT`HG#@O8|3Cd0|;cK_V`Zu
z4x<+{XJE_-&{px_((2h$1Be`C0i5G)-JiF~4!uK9zIVoasBvB1!hVZ8xDL8~r8NR(
zxAcZ}B#>z>Q0(7H*OHJGFKlAXakO29!b{r?xw1rYBgM3Wwbm|ilP@9EJU0#UY$)JY
zByrOs+*fEYPXo{0g?`-682zja^apHT|5x4P60zWd<S|fj*Z}wlRu>^{16(nH84v^C
zTBZiFftmgY75=o@NDljdmc0KP|IhzB-=RhBx&Q9EY5&=EZ$dl)N8rrA9ut=yVTLEf
z(~RL*B+<70-%!<gz@4&#J(H4D8ZyyxUr_hoP*p#pFc3v2<HOviGlLZebY9F+031rm
zbD=ccf0u_;8skF?5j@)cJxM=}id>X)O*W4nd3+qb{omzbkWw+w+wjRtS4QJI0#Oqs
zms%2q!zgb(nQp^FXvwp2^$pS_V;uC8?4q_WkPo0z?RBDItVq9TWPaV!C{Zhp$GEwE
zg-P^*%O*6fup5K3b{r{xjE(yAQqT`p^GbPry7doK)uOUF-=TK5kAaHQ`U6Xziw=<!
z6t<G(>-=H({;U0;Gi`CF^rjDv*QRBURd`o2?JAhf!ap}A+BM(#^rUY7>u6is=_x=7
zv%8xkJj<lDhS;G4q61R2{9E4jlES&)Uc3Q?TfMv-$>LeUAIa-e!XC|?qLLrYlO8SL
z*}SHtulM6Tb2lr)TW3KqrBR7PRKp$o(<F?|LBTC8N@~Ysy)74^WN!Q3FI?}9!uYg5
zb@7EIz)^UIL^YG>S%RLuZXUrtvcKT*3l?!le{U{Gf*v)U6-C0%<tPm3tpCb<ruNsD
z#YwK$_C=qvSh%<lT~A!E<{2%%WasF$p3inyHx?u)`+B8tC&OnRJLkrOKNgekt=wEP
z;*J6(9z6FMaE^2FI{jv=1>6fm0BvvQsQ7a?-sgdGA2f>=htLfy)fD<Sx#e~K6n890
zh(x+yvIOHJF=pzUP}a--98zHGa6^jPvqgL{B7$O{T%Z@?gN15_ujwvOW_C%ghnJm9
zf;d`!?0yzg4V0%Ac<@=Sw-^p5VIZ%^<f+AWGef+n=m7x(I;MvlSX6>G(8q7v5GxB-
zlnvXcJ!?P7-xeIGB`IDQ-_cK^pwDuq?6LLEVcIG*4CRa+3&FF@*!o0LTC3uqVEVVS
z4z$kNV-yfhboov={XMx3Cj+yPdZ9~g1O&v)xdh4pKjx}`uCdx9BYS(?h8C#GmX9Sp
zm@IdIsG6Sky+om^^Ql>he1uRrKQn9xn<*jBn2OU@0Swkqufy{tKr8#1R-7igrD-j-
zv}vvj&8k4`C1tx5;Oh85a46FQSTROt<NP&mwH?~ZmbX5!B#DQybt7;`63yxd7s>Ny
ztG}0H=zW&4!wku$tw&%k!!Lcsye<kj#78_H*a<NU3sNdu2Zw&|bJ*<KiUs#qWt~w=
zg9H7*gqrvh%GJBmZ~~x?B7ckz%n*(W-}F-ocXGi}@ABam0x(U^E~8-l<kw;A8<B7U
z5;a};%psDG;{DY`kVZ)qFH8xRb;0>TlVK;SNA|ItH9w8H8795K5r7DhP};I2@M$v<
zL1~5IQ5VCf+uemy_}vKRDxsq1;yWukfCD|04P)Yb(|Ja~4%XyCN#Edt7vmsNbYbwc
zMm@?3T**}DKBu(Qcj1}I-+uct#41<5Q%?H^+-B9DjdKR>=OM_|2!J5WGf?-9d{m}2
zAem?fum^;(wPfZpRcyxHu&tqu$B@?sA#ekKZ}5D84*gXm-EZ^xc#j_u@(*snrO)zn
zy}%dp&AX^*b_ffClV{=HnUAk>_-4@HvFT}(=SO~6K=@RO(05mi93=RlmsjoO>sHR6
ztt2KnMAHD1NR}H%=Aie~3+NC1BmT|XIX#7=$^{#P-s!%PhSA_#GySKd4~|lERLVw`
ze~Fm{Ke2qedR&ZS8!!z#l21avnV0P)YVpYL<f9ae5{T8%P;hEC)jQ1DyQ+X417Cqy
zglOWjAk>SMS@1UdBF$>uAQ(<6QZ_C%`E;2VF@sEUEs4P_Pw8@%@#RAJNPtiCM3LKD
zfI$zW(s?=cJ3s<}<z-Y6e&X5QSP=#A+_IOW7yf0YSRtN<6C;akFtLN{ldr?&ks;3*
z`EvZ5ldtU$d}uw|t-^nChobqyHJh0;!B{B-)fm9Vcmtq`4nc|-P7T=X)n*QtJ1GxN
z4a{xSJ%E;(i4rOEz;?7)KN2Dpm|~o%uC7kNc{odc`gl6N*U&I5?Rhur)5iyUNs-3i
zIgHeh<>O-j!n%XC1cRqI-fJ35sPro~{IY7JTt5?Df<a=yfKdt9;~?~|+y;b_{No{9
z+Uwom*WKoquQ%>j-J3U@-sfSh@nF%TAj(rp!Jwv$nI$)<)Xje|PLe1zszaHE?4W7^
zWe#`)o$zLc5Dy`V+r%4Q{6n*J!3UjubT!e!>Yu$?wM)$32-<27&9S~Z=$;*Nh>^sN
zFn0<UEr!=5-i_~tEhTq(lu+ACrr2|Suj$h>sZGfkS`bld>c>`6d*=v@%-T#1EDXt~
zzbyZD#`kdW8r^nAGS|1Rv%&&c9_O?VLyJnU4*7?@61THlan4Ln4@Uw<wjURlFKPTb
z9HrQdB2ul<$NaNu{(oAsFOcgpl3ajk0BRVQUNv6`{{O6@JpZr1g9Fq^08>rGhJqpg
zSVAp8&XXNlF8x<!ul^rV@5z4*e&jOxzaRYi>x#*PAK4Y>UzPn2hvu)r&l4*CLc*x*
z;{VIwS9W!fjCzw@asCW`|K!kk@K>-K$pUu8WZ;WE)oGXnMAFL`Z;yVSlS>3)5~U8s
zI0sDo64+lm4LOZ?ou&VMTt#B?^VEUpd2?Vml*%F=>?xD(yn2(#;*kh04)7$FQ;9u9
zeD=e`y9<gnMiiR1K>Bt`tohg=ztwjW8>g)rB$)Dy`(!{=80Wo_FA#9oB~NWNrxg!M
zHUHzDbH)eT!x>$Hg)GI_Ib7k)SQrhA8Ao;U0@}-Y(&s#TZ<nG2#TCrF-@{=(1mG!P
z+I&bbkeO*uMc>dj7k8!yHXkqlUT;1@5e(db-Tt;Y8UeDNPtrU+PBrBT6snC%(Hj{f
zCW@{0VW?mj6qf3eQ_Qz?8~^@q8P_7I7c;L__7z--v9iAQ2l}RA#);K*qe6aw^aWxT
zKoMZpLhElB%O@~?vrCL`+nL-CwGy59yL{vCEgsBL%k)|anyCG**BVhaZA5_}Wa$Vb
zgs2lE47qgi(6y|%wprp)MaSt;Sy{<|jbugT`&bFAMCCV!f1zrhH~X>!e<T;y-rk`q
z!CIMIzL|Ee{j3?4zfc&$#)7P3F5_89jQV@n#OUQ!Hk(L+x>Db=qJ@EnBH<DxfS%+n
zD!9?$?bz|$==B)r7d5x~YP!$gZO97fy_(%tH591DuKi)w8!#{pAO3h#SLlY>V;QaA
zxDuIg5&BpX>6Fe&xb!&IcC3xsFvhDjOykpgm31$s|G>ZQDI}^cMAwl|8`NQ5BV&td
z>uJQ$f%O3j?*xI??FV0K2SsSndoLshTimalEI5oP_Y2J<KKE~QP)m$uZjY!LIh>{r
z$%t;LRb$0Gb8eG;ZG{?#e~-k~O;WwGm3?j38}CcJm6xZ=0TA;jSgl?7&A4(3HX~T`
zA+e9J!lSf#JY{Bx<*685ld{B}lTYg<PM6LIf2*xKPa|FcH*FEk_L_^q^!mzE^ZWPF
zxq-pn_Uo9lXrVrSu%dk9`wR1u!Bbb)IosLVxF8=kx>MzmTd87i0UQS&OHimMi<@vG
z8Tcizv3w}45xXYR)HBu=F_?IH269!}(N0?ri;FZvYH>lCD6wg{4Oz_)6gW)uIpfl?
zfI_Gpz`unDYoDEg0AfU1@L?F%0Eq~Z6%0^BMl(5v5ae7S&`}F>>C@w_(st=^B(MSD
z=9xj-?@$A@NbM3MYgwA+Aqt8ca~N1iSLi)A$0#i66e`~)i1PLU8auQ$Hjp~-M0N+E
zK1Div0FpK!V;CJu0Y}OJLPX9PQlzp~d)PbULIz4wzIHSSPYV+YfrbcSkD_y1;@cDN
zL-G6wd!S5e1}fGsgga<_C59|K7cg~|E29H{ioHQy+aD)RQEN~{@KFMyaiIqtFG{*3
z(*xMUcnX9D3gI5<K`|XDbv_pJZg=X2DdDR<#79+#@FxH%{;EH<F|!o~2=TE4gG|ei
zM%@5XxnQ6X7_%IWBgIsB(XE|OF|bf!x~80f{1STxKT#VC`#|=ql}%-TErrcCV^~%J
zDMXa~*p^|BrcpW-7#3&M&YVIE>nNAKNp#vN;G!ti)iM}Q*6`!&D__3)R*N9rw=GU>
z6K3!|g*-O%X-<WU2ha>;#%u{;UG3ml$1;vAI_)BgU1~Fij@%VJO68It{SQp20hRK+
zBJ*KHaA*hR?u^s(-%_!bov~>TQC+<5<on3~f(?4exq9_~m#fJRW*9K*-&=;>Bwo4D
z{~bv8zs%JJIphuHg(86}H{mCD{u8A8U*_t6O<}X0(TW|H;i7U^dg8eiBI=zGoN)v}
zL!IWH>*Rgpd$S>U;PxBz>Ck;1K^uXUZV#I*)&a_0CLaf%!3PJ;J3ojo$oq@Xk%XVo
zuN5JDHNTWcK9V<Ow==R7yB6XLqypx%oi{);F_%tnS0aNKf2y^G@e&FTHX|4B7d*@r
zISShQ+|!v<b+~o!iC4?!C;&pjav7GFK{gJwYc*6{bQ&oBa5{^=nTP0aa>Niy4t^6p
zhlMvtp+AIy7$Lf@9157<SUv{sN5VkCcaS0f+%lYq2_*raQ8+3e;e68&BY(XS!NBN7
zWUN)X7$Mpki7o(v`2hfO9(>0kStXJXe&vL`OiTSM#e)wa2`YzTJENMw=hCIzprZn^
z4pOGz$YV&;!Oetgq54j73`5KL35oI?;)TivHsa5cl!8i&9-A15VD*|G!GIGelEkDB
zB}Ry!gXL*6JG7i8Qwar+xw%&~el2sa42Gvsu|oqdBO!7PD2Ez(jiB<{evVHbwS8y4
zd(@8_JTJ#G4BZ$;yXk}QOs7yXFS(c5#RQJ)Lq;%}NTpE#7JA9&Teil3{lv0zbqND{
zJ(J(^0HKd_aS9v@>lu)J!};nwdBR2pEq!4LHm{O}1|Xw|NuaNNHRPqsXNDNg8^@be
zd_)*|ImzY#Cv{74+V>6Q_1V@90Vw$~UORL%5`4nwUXqWa4X&=fu4F3}pC@qN>y6PV
zr)&dMcz*cuJPbXee7X@j!1dw}&v_x>5A4`N-f7H_DVS*N05f}PzOSy{{kXG`st9~0
z>oFK(BYEE5?rh)7+IcIx6)e^srA9VKivRUpr6yWJ1Bw2e{!KLdkg!d!6de#cpazX~
zP*T0qK`ja#m5dx^RkSrVJ*`->T*4;!S68*ueXuUc{~aVww%8oZ+^OlXyr!NxxTn#w
z9^=fhD(8_Gf?zds$)gajMy3og*$_9)xE6Xrn8RgS#}h1t5nN^a^~0%-U#$xCt8@FG
zc&j&~***#{gcaCATQ_JM2pvqh8xR4Jc4{0S65#^l7U%GZrLoxvWmS*<1;_#b8pD?g
zWNV4AmYqT4_(`cKn%}xDAq#Yf7QIN&xpr!kczb3<eHb_FMrW+u1~cU>1b50vBEYQp
z`B5bhEHhtpgjg(0XfjlY4;NJ;ZOr%filMaqW~_A=7^qU|M(A(GlEExCC+&ImiM}4i
z=43XYghHlOj9?xBX3(?k6Gb8+A<KOH@C}fhz!(MKXvg2v2&M)wCE?j-eCO=C`3X?6
zxiS)U3q+oXOZ&kmbE%n9c48pe0ShoDtyt)rxLiyHB8XrQG*aTiS)xPvh*xP{1hi_g
z$aAm-3Q%gt8IeWs9rgByy>$#AIiW^21}KDbihTJZ2NQ?|fxdF|G0<$mDd3X)9Y?si
z%yvB4AP@w7EW({AQh<!!mUcx!fH_suz;T6KR{(JNL7u|yh3Y)rPb<d3@njlVGVB#3
zM4A`C-#QbH0+zvoJmb+{K==%>c?l)eoG_8v5q=Q~3mjm45*S-lD0Wp#<3iAQdgabD
z>2t7hn43BMSqS$f2mo_)8;iuxu~YGP;AT+eA<SO<P?kQLOjm+fb#$@1q8`YfEd<Fd
z1Qsmmqn1yx3N6elG}?8+X4s?owL?lFm%+Nv#$P>Kq^y9fxLGx(h1PYjT%<9xvPupG
z&d6b4;Pc;6`9u)eY3He+qOr#F+7DGHx<uy-SgRurkx=WX#}1h|5UlnU*rP%0>T4{P
z@q4zyeg6V&_V0F7IGaX+?sAA~Ifm=Ijb!5FuK08A3U>-zM9G5xOGt=_m8aV1y(22E
zSE{!>z6DM$%I`M;UY>q=l3!LW_M0b$e`3K`2()*o=z8CYdS?lYy&qYW_i{;aU^Bc1
zWU^KM=w32iXfplM%+?6ezm3IpUV9q7`1(LN+NI??HxPaaeR2a50<lF>P*Er)m{*6f
z|47@Q5o%|48d#nA=h?{<h&y0M#-0CjkHi|@iA?PH7f^UZD;6b)v#E<T?n#13UxVsf
z%y2vm>?yo#S)1RNEUoZoxBU&3F2~<mpP4F<_4rSVA6qBdk)xh~J3joY#gCRa7mZ%A
z3fKIN@cQVvJp3H`+=jxCu!65Mea-q>!e8n#;Pv%bEm(>A>^TYUpWZOLDooq`Lokn&
z_4?Oy(X)IS@d13ZZ4vy2blI|_w#|@uFIu$7=oLLOP{{f_-A<qaL|Hgu^z#kpsGaVh
z$kmU$sug9UMN0NRQE1=8qLW`#c8%Wi;G_&nLhtp}rKSYJJp7ZG5J1>-oUVMWw!i+B
zya->)bs5Eqcjr<4Svh*$cg!YI5pF)XAF{vlX*%gTG406Wn2m@BEjsf(JR&=3Vom;}
zPjdTf3V_tf8*&@+hMe(&2dIblA)LI6js#@wW9Vs^4Pt=u68o6Qau>aLg>jXFcyyVb
zeVlA$Z9$yeN#>Xe;8iyi{)Y(Tw%8{}E&g1n4xtKRVCPZ>mIcRD*2e@18n!{~P8tsB
zQ^Jp(X|zqfu7XLzfJ^0}Q??78<B0Mg7bITe#6^5WlQJL-rb;HUQOOhvZ6~O%FU%)l
z?l<TnpAx_u%Y~55QrAK<wfts!hFhs?5z)=nRomsDGmcmD;Lke!-u`wts|$gpx1w<|
z_PY-_xuajRZH%K=tt=)ik~f#&^G<w7i7c7ek}?;g;@j08#oN+?>qB2hrbt<jMh;3<
zfnWFx2&D$d52WT2Z}bXP5V{SeUkuTbT6V_=X@T7>vH&G;Dp}oj{9c|=m5SUMlsS;M
z9c*5CzeOtx9D{*wR)>4u-JH%tH9dU15PYscs=9m=SQvtlm#7<(m1*Njg`*`W)P2c@
zn&o8b%+lxW5e+KD&KTOTa2y3jP>|k8KMUE>l90}cd}|@Nw)589c?}I*vP8UjYfImi
zjIpc&?deKl9hCt0mpOX|H+zToK6#4%b1M)8xdnUzWd1W2K%~ns(f{Cg(*G3;I^l43
zGAU$BP$(owkAYct#I`>}_`|`Vg2*sOCXLpauKqev{5i-w0HcWHH1z$$@BDkTehl_n
z*}C!M;i5}o(`5^1y{C4%N>DEgu`-)B0CkJ~#h=l-SisSDm%2$Vpec4&LcV-D2ELE^
z2r)1)sPBK@adoKCdpykVug1&xTFSk)lP_=!(ZW%;&)K;0$(of3Q^feLvYn4w%awhn
zul-F8nAR}<WN(EsmMX`w>ifTXQnEMa`%)#ZkF+#xf3u)%Jya&1y?IV?7P!!O_1D_Z
znTKwt({;}G0=K?Bl(3pcy8PPxIW?GM%G>&T|6pnQ!)a=Z|5^-8B!aW>fHK>wE2dzE
z%<o*D`6D07A2uL;!Hnna1!WS`9CS;ENASMLT(rQ)i<~jR&`c^J*9|8-uTEpJ`FQlW
zi>)76xZ_DA1cgnE;&alTBRqZF$Q~0D4I4l~Tchm~%yihlB^V$U=vB)pWbx_eQnm-l
zJO|%5nvUtNi;quHQ%p||>!(bz2ym4F$u^25<4}vm(xotu3*u%xYHt0{7#5-OIy~Yu
zMJ}FkN(0LUi8?eZg((*eR-UEX7`(TOq0EGFy<)LmN)1kTb9<`Cu#iN2NBsn<Y$tU(
z8;-F62o%7JuTLZ^8|cy^m`NubQq>m65`>zD_fLM*3<!Mps2h`)T&sPnp;l1`VR$ZG
zW1=o^AXU)gvf3D!Z^I(?u)O(O`uKsRlSc9}2nG;Q0%otbBklEC_rP|2ZM)#(D*ik`
zURLbneemtJBQRrZ8$FZN?JkJ1Euou{>0V6_yJfa)I~n|;;S+%5hl>_=Z5hf>5Db0}
zD#<^i2d0k;o-yb{@!c}liL<>z&oSEwV7?0iD9>B%7Gc)L1d$f{zT`cyKCf|->imM%
z3st>Wg{JQg<G1OQ*MJR^_s;GJ(g$dQ)~=cf?Lxz(H`8zbFTS1U%)WZ7of_Ynyq-lS
zorU^p^>G(uchJg8O~;515p-QDRgV_55{LP_w&T(l58CymNEk9D;slwNq^a=TvRQM7
zcr8ey?A6bpA7xMJfFD3w<?5<JLGG(n(yQEG>&^5sEtnRzr!9}Vs@6ugUwkKb)|*zh
z=>)D5<ehUSKC>V0r|3pSlKHp=<h>m^l?j--ko$gAH~;DJ&S+JUsW*Vp<nV5(is1dI
zMIn>eF7FXAik0T?jgK!7rBpJLD4gli3}~m8^6H=mEd#1!7?^21PMAeC0;a3i!T6P4
zRG2w$Pp7?uz9F9#%ABau^^UJy+)O8wNtZ5ff#ic7V>&&E_;otBktlt?(^>459!-W=
z2UCY*4DZ`(A*5~<7g97Ab?vOVkC=+D)N&+zN8pNQ37>pqjqpt?B80o-Jj|F5s8OL%
zJs`ILMssWxd|l`<eDoV~KlkFmfe$3!hht<UyucI+xF`2v&yEw4)E$LHsrwBK##7SN
z3o*$4KAWyNmKr-D8P-drpZ7cC&bGWUM+FEf=BLEbcoc;CXLep>6@63}|4jOjnHv+-
z!Bi1_{<fYR6|gnOMpDs{f0#GqAnW^h_}-!%FlOY2Q+WK|&k6l9(D;_W<&&9(BIRE8
zk=wCknI+7kTvERg*nbq?$xwi}@mQyj>skD@LeYpW*r`s#XU2rHwl~3FP&tmrbHrXR
zC&>q;jg9~nK%XFn<~wU1L(>%tkV;rW6wF0C91F(CHiNnY<|x%OMC!K!Y)gTrwyUYw
ztMS5yqbh?J25Palp(K=_4O7c<S~0jZ#$-a)Dv#q)$vNRN%(xj-zQm(ay#zP&XF+ds
zaCb`1Q;;qsoh3USTzGD~R(kQp>f787ky53aeh$`g1{JS`3XhwToS&O7CU(86^t=Dv
zW~%u^!`_|B0E+T!RB@MbU<)G3fn}z>&6N2{tU$v3az}3W)J`5Hgvq<XoBW1T{XXe+
zF}og)FC;#WSnSmm7)!cI4u0&h-+SR=9A+}Zk<xk^bh8RxbIWu3?4{<B^s2TB=^LNi
zCc^`?`FeLteE4ybA6k`aJO2%u->rWAZpi0l7DEn9sUn$T{Z4V#hs`JZ%~NZ%cRyTV
zSYKpmaXVLaZ^`iboLk20g9O<1)xqhL0p-{A{Z)AG+Uutr2c$O?8`hLVc45q!)t<->
z#*cinTLK3i3%dqk%C^X=>X2#=7YIxPLq#Dq+lex%@jL98Wrf&LJB;<C8juu2K0<VY
zC!t_lyBjROR20s5%EHKeE`hob#O)0*1ce7E^++NrCwMj~FMHlAj|FMyya=0yjv?^?
zz+%_Q1`zQmvLY=LG0x`Jy_>wwfivw_cs4>gI{+%KLpWRy&pfj+E66)lfv<EYQb{l4
zn2yFGP0;zEbDX<9>}@x$ZE#kS@YE$C2!m^++{4eyCc#G&M7rJkywY|8(}g2$W{_M?
zLZoKg(YxwIMS_0LbxK<RAfFFIXUwPoK0XRG$|rML>bpH>uu}cVdIkj}MAIG12R9>C
z$K3zn#;Z1U_%2SjH6<s)?9<1Y$lajogz1{MO62cRZn~2F(?2Ts^Y_K-S4+~KD!pob
zYI!eP+s2W>)4_v>Uthkst>yLb^w$h{?`0Fi$i{Jgj1lag7>zr5Q@#L*{;TLifj`u2
z2ov2u8{qtZ6R8Ti6i>F|_3K3JJ0p3>M;(6=saPhC6-0fE`lCe6JIFVwWIUaHs_!1o
zGyY8$t?w%IucFTxaU!_^&B-dDev}(dCQ@B0#{EVRKaP|P7uv8txcbUB31j985X*LH
z0VVH+p_MO#FRT9Al(WWf54VA$pRcm7AW1wb!2(+8T<mzQml@J(@8bh~7e{lo?(z&b
zp<Tv{jpHsR1l@59A@G6B1Yfes0$*FdaS#1*nO|gHRE-ZHF?ol4T_B5xH*HUP6jXV%
zQl&AUEA-InEaGh3UnjAMoHAayhiCBV&tSSYa;-Tyu@;064c}n?vi7C@`}FBuqNa~M
zxeVhMlm9Bi+oOLSbp#_V7G^X7f;p$`!CKFB<S*egsz5NKOSmfeildh&<_9PyR;qGY
z0L##$LWq?eXqdaR$DPU_rM@akU<MAD1nl`m+7T#275?rN3&-}tRKv64W~>09|LoBP
zu-CKn%bqJYGwkfeMKT;7Tz1NIEOIS+;$ort4dZ!He?Yv&E;B3g+~U-yD-Vwq9Le_~
zopu_@01(YjMA_?!MN51X%LgzVuKB4PjN%3OKDJU!o+AxVK!iJrKij%YW&st&atsue
z)k=)zS6(~ikSs6#gQrtVuZorU<aNX)ew}%?RNeBr69Eh!xRQZ<yUjROU*ufB#Mr&g
zVU<POEc%AUc;5<*cHy@bnE5Wjv4%rnrb2ZcAdIT5_$d5rTI(A$ezj9iOTJxz7SlKH
z0GLsg!(|1!wod};W*s|)!9Uv(GVq$tpC(c@9VlhE9Pl8UaZsk;Xgi_0EB!b_^H<8e
zGx=;&fT;SwC_hJK{lKzX^JvDySL0;4JPD^sb?7@n{f!F^=*)ZUjOhs8M^6~grlH65
z=-=*4s9ci1^WK{Nmg0xAv=zP@sYDQvgNik(?f3Yuh~zk7o=ISx3rCW;qcNKl94=j_
zvt%L_<jnjGgnV5zdmZT$d;bpBS2Xt?Xv{z9uX%vXG^G$F-@$~axag_Ti2I%)6RC=r
zG#Xb*q`n$Rw*bH}8jNktSZJM1{IziZ!q0xq(Y@azc;c_w{;3ktw#L=xStn=7ojinu
zzWcK^xY3h}E%WCGh)Cf6*KMUS@r8{WRQ##OWFG$nF+|V5`UB(XaZ4Ys+7DoctmtsO
zG<|w<LdyqG9khXI#_&*eBA6*!lkA=Tpe1@n2A>RfQSo$K7`wVx&(`$mmRZ>AZ6Zt;
zhTAw#2eg$u6;*!|YaO4@QWzb^tH+>b$JH76rgIjN#BeU;?KdS&ZGPYsucFP*xEZZu
zWRJ|S))o<X6Jy|!&-_%STa3p%NG<-WoJ1oxU`GfO{=p4<q1;1vbe@kNI#2mpl;Bus
z7PoqZKPQD>&Bbdok+r4Z$FfWBxucpS{6YcWsY)M)af=XX<jBt!qo*U`lQf2mrVv#{
zcq~u?LKDQ@&#XF%KC<DTugr@os-hxL!U!D@Mxs}ifbOCIykl-k@yavCyp<Pz8LoFm
zt=7=8)km<z@0sikYJ5sHRyy5V&jdP-dZAMHxZiP6{+a%;lLXTf*C_+swf<pCMy7Nj
z20i`vNVY<u@NC}0o4RA{4E{k~IrJgLIs_bJ7z)boVh%&^_HUaG6Dc0|*}@d-@<;2<
zpicpei#nCP$s)EdcYmlzTh!o9tc_JZ-EfI+W#F5{{H_AN7bQBnWekatJB4D#t`2$w
z<8dWB&txlH44rL~Ge7PWeJm_B@y>rFCzkifjZ|tT*F2H$bY9XIz{6Vk2;>4$I)N^;
zng;$K>fSP{%64t{znPP65owTaC51^(QW^wBLTM3@5)8niV^WiDn1pn9gLJowfP!>N
zBR%(xKCbnw^{)5--($Rc>@oINgyEO#yzcWnujBX~9&EvBOwOdr^m%J{bL8&jnbPAz
zF<Y@kEUy73+AVesYadH~R0!abcH;uto<2nw#EzUiM$Kz_x!BhL?6?7e*j)7i^1~88
z4PJA~{E1G%s**R)pJ0Wm_`g*;EW2?F4k0bm>34sTNxHrK`1blRo<d|r&U5R>?`i(V
zCip-4_Ivq;%Lsl_NC5)!zus^`V^R)3<3Ha9{@ec#6KVuNFu4EvAid`JFAu!nqXGCq
zB03Sm+0gGYVF>d)qjJvdj^I?uldK)h?2BkIu2SzQ%TiAil3A)yaarg~gulZ7N*%SL
zouc$|ckbEnOtm4X?7e(6_%~%Qfe6Kz*GbZ+6YRqO_`vHiuNfJ1!=OMVdpNJdD!bI8
z%el%fP|^TI48;iD{}voyzBGuE2|834f3`Z3rJG^=rmoWVbAd_Upychrq^^)F)Jg?M
zTo%(W7VhSHWz_t03I!ckYN?uyV2H(7zFoWvPW6wrK&&kE0nzJ03Obz8e3PN3#?znM
z^L?pW%}wX0M<662^}7G&kI*+=iLOBy9Mc%;`=bM1jZ|~9-o!UKK}dq0^><$?tDNtC
zbT3xGWsM)_TmYG0YdglhX$(_`dS4C(x0)W$6t6+pm<Hz-hR!_bGF$=ICD>dGNCgU;
zg>Yr|+=U4B$q7b8wG=xlX#V5wl*KYV%2e`XVXO~>)PrjYqhJM`t{!IvE+yDj^(-Yi
zbmA>1Ie$`FPJXcz2tFDd_AIBqJv<H-g3a;Yj^g!tjFjdVf6+xJ^kRM}(<GFd9kbv}
zXf-S8#oB5%%8z?3Co{%&EjK4CZ!NE2bUv5~hYDSnPOob_o?~I~V!mId;VtzN>7#%z
zK{5>#Pc}-s+4DEber;rim3THQ#`T_T%J_8lCP&@4>7GyjvODK}W@A=%n9w=u_7X_I
zTmMnN-O0mOQPgVKkv7e3sO?$vD3`GmeK)~a6z=hbKx&Wum$LV@eU+d4XM5S{*QcEB
zbrkFB?q+03#(XC*kafZuyW!9{san9t4So|sqFavD99k^g31vBf#7kxG7NJ0TAhTW&
zJh0<RUv!8sEmsTV`fO<o(@$Pd+1nOWMux_M2>_)@f;j!>Hy=90X+p19W!<|}_6}Z1
zJ}Jchf>D)$6mMLgfHot)@r#wCL1pjV4BjVAP<-+}dY5@_k%6@k3#>R8)L}DoYe6V?
zAx>>w<oiv0OX1O3#HnMgCX0HQgx+*=Z3R;#xB$CTeDhTq=S+UtF!n*XtA(IYA;XvJ
zKc!B~E=Vx};jtF!vt1fWMDeE+d|@KydJ{WQDeIHo(zpWC>zt_BcQebd1yH*!Fc-}7
z_GqIR#L;i3iVfy-xx6JkK;ihOFg0!jWV}kVjsS2tGtKbY>GJhE1W#_aV2f{iLN^pC
ziBUcVBetTrA5uN@oPg^<E2#%A6XONH92{59=Q<%1u5NehwK{EIemgTl6HbuqzwIYP
z`2G5dtOo|rLg$GK#Y4MT%QMfF1Sm_UlZAA*vx+<o<PvVje2Pr3w%1^!Y1gQMb*J8R
z-wDFu_m}PVWSI5b3AR?Zc>AOB#>zF~p!#xo`z3z5InEEEciTP5c3p2vP40xfCA7Sb
zgQqNqUxo~j%w#4KQ)WAwXPnZOBcX^_R?^#zi0aQ|yA{}@;a(Q`F1Rg?7q{9=dy6({
zTY>w2uBzgS?3EPP_Z;M<xQfH0F{M85c@J6wRmKHl8qe7H-sJX~QbfkJC@k^&+Voor
z>c$VyWijCHgn6@mphv`c)7o+MTS)IEek05l>ZnzBR@zG%R_B0q^$a?f?ZxB;FLU4V
z{BZhFE*Lir2Vkg0Yk3Y^=$w<|%HW(RdtsBKur+ev1a-sSg3nS(6s_g2A%?uq;K7})
zw+-of@A%49WLza$y)DH(5{{_I<P6DCm9-u9ySab>7!_{39SP55T+CAZuzJV2cP#D9
z+?s&em&3|-EQR8Ewz5>7&hxr)lkN0tj|BoajAdi;-m+1YcH`@1dwndFW6QsT!J}^?
zfbhmN1s>mmh)D|I=~Q@en?@t<&x_x$ovfrV?#S2QqPgE-cu;IXt+)(qhgeRS>DZ_g
z$dLC<bcn~4S|JMJ&%(oQs$5F9Hq1Gu^gHxIOOIXsl_+T^dnvRsPLAxPdtZ`1p%bR=
zQL{5t<(Zm8->bTwK~xz3Ol@)+@uD;p%i)omn$fp4Xm#?N0_VuS=|%DC+TrH~6ow=C
z0BZ*0SU{UF>H5SQrRq|kh4;~oM1vl`>V~1`4o;6~AN1;JR%C4IfY~R+j#LYHSjS%U
zn5_hMNN7`&ucP5z2@{N$Tuos<e2y4^$<(1<#rNlq=1<qZ?!W!qO4Y>gA~u2(u)@Mb
zOXTPyx;F8ebD@n{Qy}0@a0~^99*Q?5V6mNr;VNZ2eV0?W^MLSNmr@*@&lp$6Owuw0
z_R<7*#K|wVV1bH{wTn8iEQ*QDKk)T@lP(xyQQg0I^HqFbCg5=ea_7n?2xGsAW_d#P
zYy7(f$Jzr1(u!QO>dWF&pmfV`&vdUJly21y-BQGtU)o-lqdggZ=GXcB+M5PN6H2Op
z(27is#zo;^3?Qa+|2@~hs^+UYW*dEImLmO{R-*d=2FCx!*Z05uEdM|E5C2q#<Na@H
z+-`tf%cY}8;Ft0YY3d09upw~$lJBzKI4r8Ke*wsTJBl*8!WjP{EThN%o86NVG*&MB
z!I(XxRdzzLiUDN*V#@w&oL(7@2PF?*O~3zPBrGUvne@e;>@&4Ska#pj|3W-neczl4
zf2Y|xSDX#{k|Nj6eh!&5iW`!RBxWk+UUo0imfViF$!|;g^^dE9zNGhOyn(1?zK4D{
z3@?%|<!K%7wu|`942xB+@j7qfGw@E#G|>C4oVRf(bt<<aSt8FxwS1Yff-Oj+`)l_`
z-o2^kAK;N!yE6n*7xuecamU*3<>jSl7+H)xCU!rlXZsMcG1=lRZ->|-^}0eNM|5ql
z!A&kpqwkHb`p4Smv;3=#Np5>}FUJ{W5$H3`lyWBU9q7GDF)6A0PlAt7r__|R*C*Rk
zsa=lXO5$SgoO0&vGREu>fEASu?$B-DV-nxv#DHIeams%8222B(<VhjJ-~B0#VQD^B
zLSbgUlyk^51WjJI*)@h%eKWaz-l%pT9>ajSQ1L@5<}jHP+y$f@1@%I>0<(=}g!)Mh
zlFnti6v^QZz}bK#bw~>{!l@^a0ijKu#caY(&K_r;mD|nwfV~|Lc+4%l6l;+c$ew`U
z9A8R)%sr<huLQtxlK_t%wrB%}yxZxI1reNyA#x`<>7h5dbKgf98?I(0yhvEh4);Rj
zq$RnQk?Ia5Q|Rkn6d020BBWwIM?EMU#D^E)<@O>UpvMDjb%7chyO3J!sXWhSZ0r>n
zKrSDeCsXTQP&!t|y;+&7M{8d-p)*xjIqkPzSTh@{wpp5e3$tIK1%S5j0W}204LeOn
zTMb)9>ke`!40{Ci7m%~9Iw+1hfAeW4&vq*&-^MV2A<X%gFX;o;c6&&(*~ZQtj{Uuz
zZe?n?px*!OJAeT!hp&Ii0a*E@@$YKQU(GyGvRK<6M!{tjsJH`~2@i71*!p5`TC^r{
zm9q~dinz>8=azE}rAogM*<W_dyetRqTPMY<qn9>44b`og@k^WDBdXrDPoPbYd2{aG
zrA?1b@M%I-p;5K`L{qZb%k{~!=X+}pZIyp~Yxa=QTv;M<oNWu>pwI*v1#PWw>D6A?
zIhQ@^q2YUCWrquY?3pS>OQ_*qVKbbqm|<L4_uS@_AApy6+q7i~wCTO;NNZ;d<!*Yl
zcR@5Ox;3ZzmIJ3Kvv-HP4?{S%h|XhgwJ&zQL^`R?<;N@rIr`R-g81(Gid(j0QIpi^
z&-MBGSdw>5=O;(2>&<-V*(8Y<0IHiAvGO611E9+3W=&a13*aCT$7S*aoS0Ewk*r6I
z0Fi?-$`jXo0tLS!4Kww^p|EE1CKK-tWbk2)^6>y_m>50jMY?-fVKm(qJ`#sitVo$P
z{md{q2C>X=6%m!pNOfthM^Sf)k3eP4HO0GkGz}`_;PWFw40nv(I@o|mh+~pFIPqM_
zSiLk>hInhkO7;Yc(AZ&;CBU>_;>6?2c$_!Bd$y}Dvpc7y&&>qR3_lTWo6IO~@!a>(
za(OGsuJn6-0xhoic{yos@q=a4Vz`kxkaI{&ZgZv}_mv#LmBu!|7&6OUQ2V1!8>m`k
z-zaInZ03WBOcmVpLBsG}rkcHt3his~&HMkeqlyQ@B+sB!kbiyG|4;YupM&>HdKNsb
z`PW+WU;Lpxx=S$aR6Q(u?h4M445dishqn8Xx*$$cHAMA!-e{hFsUhg)&Hr3v8lp5h
zR{qN$`b&CdR54gr;MwNq@U_<N$E2_KeMjS_SErB*9@lNt<^U2Nihfv$MQhmk%}`0P
zrxx9DH*}i{#9S7^DUw!ieyQ-E{!qllToJWW@x#rjDwp|hh5upz>WpMDDQXbgTOQ2V
z^HZStxDG}kKA9P8tpDj#T3>?xepuXaytgv;U#7@K?}&8&@t>dph;!BhlOpbp>l0+`
z%s<{T(_W27Th0D8Mdn@m=6dyVioBGbxuY__`#q<xTA2&t@8q19zs~JC7Xn+#nGZ$Z
z?Vbz%Jw;kkQU*x=nj+V_Ov1I5xE7=C4&Jqh)VIoI3%gcDrWS4L$F&q^DflciWdA^(
zSjwnsbt!S>eT{kivrjh5$wDcs#<I(~@^Yg4*6m^J;?tzqDg1Zz>C=Nn)>bk;uhuTZ
zm%j)FOVb=@^kH{Auz)fm6ZXHowe<ZpMH)tCuI{+t@jZv5!viGp-~yd6^!Q#ktY|kK
zkK7V74=L43hDk#CaCmI!1~YlS?QKNe_r>zdDYBBB=&B!$b&7u&6{~_*AD)(nKoFJs
zaK<3k*Vk%tj1|J+c5;0&!y2-C6QuaSg{9C3*o2jE9zq8D(jS^SiO->GH&y6%<n*Ck
z=3IXcB6T6T=UMkosUH(KUvb`nUzF$)@Nw?R^<6t8V-3S^#H}E%$GcB%|KZl9KlEM|
z1R$O+qAX>inwgV#`*If^CdmpD67C!lRudFZq6+u<sI-l2X@d4-6vMwLJMj$>hn%qf
z@`nZ$BXtyq*Q6RZM$Vm4H|w<?^WKu%S3vLC$ZiYEKI<ff)gQ`^Xui7ihkpAyMG{N-
zl#+2q5VKQ-@2f!BnUXzB_WTHfD8JYr>+U#E-l&m<4%J@zLkB<cAd9O>C>8EYw#z(s
zA%uTR;aMP&I|xYofC~qBB>+*rt+T!1As;ARc*bom_lvW(aGAx-g@!NhmG~}>7QF9b
z9c=Bm86VTKU9g>QckwmLP3U_{CyAX{48ptM7NOEd1dMMNe9Dihw>=iiO%5<&Oy@RQ
zj4j*O0cvI0qa$2Ts(#aba{UivVom@SX*VD1#0RoG|GO6>DE#{?FyaJ$1!C3!G3KLY
z%E=Nr-u^V=u_ZZLB~Cv<Ix`~ln+aLSk8N;@)F%mCVLYd9#}#5_x=M|UCs=bcP`{r!
zk30ajgty>na+ZGB-zM%QSt8jl&yw2D*(vN5u4AX3LEE>|A<oc_3)xAf9D;R<?3RXF
zpJgzfD=Ui;k0N~uEtyXPx|O)g!kyIvu2d@bs0#MJedVFRE}Gk;>AV}6LdeE>o2yqR
zVmB&FosIh^(%%QkLTb_7#z0o8dT+8Url#TjO_!d&hkiOlkIOUp{l(b%mA}X7bVCHA
z-PEnvUE+uBtb|j!25fcq5(fL1gez?{9L$9hu&CicdpxFthZ&wGd`YyvcHl+XUh;Zy
zw&?PzrrW2;l#iH8%mJ4MAf+DKt{g8WIWt^&k8~7Nky93&B7FqO)3AMW<k(KM5hCR2
zl*!f#@))@O3>7F3{gvAU;-g_+b0pZ|O7weI0%e}<XJFpoQhBU879hR<o@&!t?zZ7r
zIO1*wF_EpjKmOfxy}LPz8fzNSa0KLJFIRh$RAd<Nc)H@v;5pg_TL~v|Z(zxvU&)hh
zQVlCLzjb|!stY!X_%s=uL2qV{1AGe)t1hZ6wDEl+y`cKJ+C4h|B<G3rnrc`{LR+y>
z^17M5P^c?7KQFl!+{-`Fci{DARG|u>SYkxpgU{1WQ~6u2(|mdAqj%lke#3$!(Xh+!
zR>3{r4T&00Jpf&xS7G**$5OZK<4d~3{4gvJQ#6fU;oHihu7^DLql2aw*?-m!hB&xn
z_f4;5Jtun`koTgRmPMVqz5ZhOwrdxU@fP-BJ+SS7lIEE9Txerl&~S9c5|lhbykz{@
z!Iw3+9`=%ym7&>G*{w@L|1Hr`(=o8+ac%CQXVg!|6WI1^dOMR{Lw#_HEb$ZS|Gwk=
zvyE|3Td+?4UO<31qc(0S;(q_!dJ+WC!c7gt5kv^4&2`)uEDaq~!l&Ch>Vgvs`sr{k
zFw-7)vxs%_g<=r034Q6o4}?Z!t1ogtW~CkmfSAgp#Tz&iy{5$FarA<I!T_rOvB+NB
zr2&Z25=~^~Cj=~PEd81y2g|`-_AdjF2XO@oM`Pu3iVV=KNT(cFQIa?rL0(Rgm#Dpy
z(YV2iEYZs;^71XSGUv9&noi=$c#dXe-u;0!z52_y%*ukt8tcDNdzD2m2iA>GPd>L0
zSC#l{Y?#xYPIPNlmBkKhSV^3I84j(g$ky1jH9DP~7_6$Q9@unvbviXmTwT+p@xwXs
z6nx99uKPUj<3;`H*X_{ihGmT{_o>rwM}MLaPiFv<nid>Q@KyF~7FVmLm2z;~PvY!5
zX;@7=hvp8#=xmN^sHRhNa3}QD**qgjZTD@>-H61q1x~b9ZSVcT-I)5bMgFkb{>Peo
z2~%fFu%X()mxFsLr)SG>lDc7k&HZ%R^A%;Sy3yFd{Va*|Rqe34@ode5Jfrh9eGs)*
zJ$O*`>iiP5H_@eeSO%i@thMSV!TiIj`twaE5Vg0g`Lk~797OHafBQN3vk64)d5|>B
z;{1i$(`uNb96IWhxY$94H7syw9rqet?8Xf>EQt;s55BtCLy<JD+}1i7O}yC8(P~_~
zKXme`{^Fn{ta0P9*6HNb#bM1*<Byj^r{7L5ezuS_ZToAT&C#Ndy0w~iV~5U`B+$ph
zVNLtlTIXv<=#z<|ro-x?^B=FkXJ3+L^ih}A#cm?{Y(=a2<nz$QVLkeMJFNL^SqptK
zg}yi%YQFe6guXZhjlfhM5SRz1z6Z9e2X34PevJp=ga`4F2Pu^&8O)Ph-;=`ClPb=W
zrpA+Q!js|1lab1c8Ro^R@5S!w#Tn<tUE{?&;dS%Ki=WC{5aunc?=9l$4U6*@ukn_g
z@RmOEhEw^-!F&|-eUw~%l;eC<Ykbrvd^C@Iw5fb`V7_<tef3;@_2YaEYkVI}_!=Mi
zno{|h!~87u{j6O5tmFJ_Yy9jc{2Y$_oT&VrVgAqb{a?8HyT<vu*Z9Al@PB*c??Dyd
z1q<-e5Absh2#5<n)C2@i1caiG0+3XJ5wO50{lFO4z__@;gqpyliNKVjKok`s9fru%
zM`XDoa^etqHHd-<M9~qVges^E7F3}hROK2}6Bkrh6Vxyf)N~ZoLKWN!3vSm3S8l=G
zalySc!Tl4#gGa%`R3W3Vka7KxPp%;oaUqj6A=48f-;P3NsY2&qp$qz<ORk|SaiME9
zp&JvSKaN7Tsls+)Vf*@Fhpu5qabYJlVP_Lz7e`?LH4-9*#56!+yCHGok@&Sp!Y@eT
zV<ahcIGI>Dxj{IETR2sGI8ALh-Is8N<8Vgm2xhSeR)Yw3w+PPo2=3Yl-Y*e1k0bc0
zBL&4Gg$*J_+#+G<_(<{ENXaje(#Mf->L@v}C<TKkCATQ$_$bxdDD^K<n#WPv)X_R(
z(RU4^_1vQM<D(60!5qYB<KyVLt0Vv^N$7L^*%qSN5+d7LqCSAQuY|A@i0w2bEP%&8
z>%n&ojP-57fAuBScRSXDI?h)c`<(%{k4;=ae4Jk(=A)Ll&_GNibv)7lGpZ+i2T8KS
zX!wJlc(x@zX_e67IL6V2u#rFZd0^~I1KeC2!Z$s!uestp-Qv7+;{to)g1&%%o*1DL
zuV@;75gngQoiqz1*mEVgxFuz)#OC!RyzWVQdz@4%7B}h^SK*dedmI-b79ZUcp0}u<
zC<gv=N(Wjj;e}1?^PYtK)!5?W*mde;Ke5CLo5T>YRAgXcT_9$IO}yo*Ve1zn2R!2U
zVhPSRDJ!|Ly{id@c!|EXC>J<X1!(};fy(fcUUet6MkXKCCeygZ#~&xpmk`b3C8Tl1
zzE?rH1*YW1qc(C;qXxJx9#{wfh@8cX1b`%`418H!z$vX>C4N|&fL1&v{2Ix^Z2b3C
z!cP8lsBJozJBsThlh-f~OaV**fLkK?8MAm7Pv7g=zSlRjxQh>b=}9!m3V;4FO$k3`
z4lmZ(EhWb$CGShp8eX!8N}TsGW)3pj4IjuE#>cXx_ejWA;m@L}ODkGTyG@e-(8PA3
zZBm>KaS__s;dSYoxu_Sa&<5=*TJRjj?F>2<@aLHyj^k(JGc$W~FjZqsv`L>Lp&rKx
z(RHXt+nAU;1o5`{fJeTG9%(~KuGD0%p*6899<d{)Oo?es5?4wPK5@5ALT+syrtG~U
zn*0&B?0RuheH0eN6AND;r#ZoQ))WHaFM^mtX0`P;<Z*pUh^)AhP&RpNlUaEQ;OQuY
zVn849<0#MKbK`^JT+9|!Zqi!ry>9#k_Y#OH;l`q*(l+#y8SxLAlt$8oEW;F6E>abs
z5EBC`W}1CRJbBu^@QOf*9u>(PqGZ9aU``&_zcPLbo;Qyd%VwKGm0ya5PQyJnEYx);
z1V~G+e#pJAkIl&g_<CR}OqtHNmD%7YwAbc@sFnl6P`vM@ciiI+d&`+I37b)sgaRdS
zao-cCGMqmA3)2dAZId}D6hLLn&k|pmipfG`QamA~GQwoCBz=i2|9FC_DnhF9$&xvU
zlvT~wj0bpRS^{aoKR2ydq#;qJmGWsx&BRZ*`YJEPJ%Q>;F}7^nICsA9HfE<&p<z(v
z!_&fhaU^rLkn@%VbW6=5qDtjSX3u2B`<{ZBpxQf6$}v65d3w`*zCe42%ij`QF;=Vb
z<u76f;6-W`+ig`dT<KfA1q-VM1s<ikYS}-IYkP(*Nyn>+FtEJQYQFREB6e*|T!MNP
zqkFA*<(;bqFStmhQ1#Fc^(D5sz8+X=hmWS$Nt<Zmk8OM}ObO+AfId>Qg^ViRpd4oL
z(sZu!aUN0@c;!1TyvFr<-$1P1*>b6M%VV`VY)`BXwHkB@kvR{b2oPiUOGh%+2cD!7
zPZxZAMJfjWa4=P?XLJRFqRA&wYM#H~%3;lj_w6ZCk{K>A#;=J#2~!3My_x`pcw)Oh
zY5qxT%AnqmmFRnp?BIGJed?xvk1cOFKePH(tXpm@u6w7BdK~lJD@?(@agcViFCFPL
zNh3k+<Mjz{@#(mT#xexfDCz@QS{r3g+6~%Ljj1LFRn!~wYSMvG<-6QkK)Ztoqk@(z
zCZsa{W@3&qB6Dm#=P4q6uqWYKQX`_ppqBdzVz`qsFun*2;G-?=U#nnCNW!v3xtx@a
z_TUTD6_R@5DxT&)N(evw(p%0`>JXU6Zx^e9K&3Zyd2uEB)256{4xkMN=8yaC^Y-6U
zZ0A+4&%%!l3{G$hPJgCaIBt+!X_Fl0mP$RDYZ4S*@W9ZIuCI^3{N;4!(*#u5TJa6{
zL4-{r=;UvC&|~?f%Ko&MiMugaypJ8f_k6N;Oe}HRAQ>Yh`NAlNZk41hV}we`*wdVW
zrg4NZvcsTYWdGXeIZ}%04TF9M`^^FNix&1pPk~3*p5Hrb<zu2BleZZq!%(u#RI;Z6
zecAso>HYVMeW(EB{4XvV2$xd+Zyw_RxcC0K5dWhL`^O4}E_`58jKH8N=pusL)vG+`
zPF%A1_cb3v1BrJOQW(lvTRHdgFD5<)i4Ge#za2k(zR5A1DwSh=`jLkNNiR``{q&*j
z?dq>u@4hw2(g)lxZiNvR;on3!>Xw)$<{a-)2FHC@|BQ0TyZ_vTy)5LqE{h*bzoGGw
z#6Vd-iEZUw6^Y}6m^xjtVJr-il!ro8Lhk!Zk9KcwZNuJ-3!d-A<}x(CJG?1Gd}w5p
zWxaD^UuVV7b+h*4Zs0}jvzpNkHM6VeaWXl{%{}hEN9ovn4{FrEpV=ey>P)iA1JewD
z+;((dowYoc4;Hz1CF-tj`CV^fw#-U-JaGc)=rHdUDoi38D9ZDjA1~HVb^bbGs|Wl8
z@JH9BFL32U;5}w92A&?^iqZ-6x7<QLcwT8i#P)JgUgg%PwoZbKv>uD`4KYG~e1G-y
zb}jbV*{m?>eSW<;nZxLeA@)7Gu25%IxdUSZ;mMV+)-M*XGTr?qS+gW#ujfii&LM2`
zSS92D8g1U#2z$WJDJ|b0HDpN^CT(_dl_mZb1#7~?ARB)*=?mUl?{%VH_#^G0Uv_-q
zDPAY5$(gDPn*8x78bSv%^Z3A+ZOb=hf&5JmJ}p1B7@WxQ%<yE_)QNhwJ1*1wf^4G%
z=PCCv2@~(shD?79_olp#U*yo!dx)+nne8*|Yf@OPOIk8mWD1!z7sDN&&DXenx&avt
z9!J%n=a%1`h{EMt0EL0|t!BLMY{dTou~iEHpRED^`@{Wzf!BEtWYig9{C_a&ek)mo
z^mtK!kNfbV)B2A)$p3&Uuu+F-f=U+rtK5H-EIfTt#{Xp0<w@B*|IbR6-w>ip`)id(
z|HQ^zC+K=jQLh!8?}`x;>L{q)yEB*~Pk?o!?wQtTmhQYlVcmiHry`4bpBwceMpHGZ
zOW(dmh-}SJy@6iWZ1|5#mOnel-*F#WP5*TVSt|2xYxk@FQE@Z+<n<~P5Sxi(nUzNa
zvnF1^lJ9k32`&`kNqhi44H3;PhKT`^JA(ql+TBQB0>e17hqMswma9v^)j3c6aD8TP
zj^5}wfG1(EFNmNAW)ULd3~NF1)^Re+ft9vkBuXp>1W7R1Xh*2t%+-t3q#0oj!?|Pd
zKKil!3TV4Uie<*!X;mH$woAZWGH?sFv5E&>8JA|;(%a0h;G>|D1sk6e1;BT+40Mik
z*^`5Qi#9Pl$RUqFMpTR{lVVn)?WE27NOKxnii{XluH5VdZri+qqBZWk;yg6|dO_Kz
zN$$ex$u;g5zc2zp5nLcBc=2k_b&!jJV1oFXcbBIDyBlSG%4#>t{r26%%X=X$1yx`0
zEtM;v2Q)?1vwjeOagD6KuxjA#dQk(kQNpqMV3d}x>9n<P1Ky=@dk8iI7(KpJY4%Y*
zJrW4y>OcxPNp2Ea55hJ<f<VW#T@nb-9p2NFpd%L6lmwnh5(CFhP!DOI#Cbt6fRJ}s
z0_w;+3|k^RBL?Q3BEx#Ny8HL~c*-RQhc*Kw2Zyyt2=}^R-s<};`w#372Jbx{xb?~K
z716WLm_44oJfnDVBw{UoAZGkg!dMq;Weq3ji?|dOovd6cS=^Uzz=B`x4ZQr0y-3tD
z8}w5O`7MOt=I|S&eACQA5P>ml9&<CKW+Bx`nsg;2NV;}4oNti+Ql?2n@$HvP^9%*b
zG#SaeKt|oS(=@9~hgJhh*88_2lh^Kh4`(LTv)=vj`;O=PA<15<FEU+sN%*U~c8KF=
zP#_>-MD5-ANj6}j$D568^QZSw-&N!BG4;k~&K!pTd>7DJwCx=NfCA|ON-ZGJ?iLJj
zCr=VPMobRQ5BN&kUgYg4ETQfXL?>JCzG9&Mp{KN_;&R;~0QHo<&92`C%yH$ZN1gmI
zE??{bLi*idf2nCRQuI4c1xA|E0A<#6GXL&&mYXAi8tUfcsho<O3?shNDxG{)uEEq*
z=04f8ih>asL;!Lm_z|elLCGqK6qSb9DrC?NDR&8edK&topM~M4YnSxeNZ4y|2MJYC
zhJPE8umD=9I+1>g+&bZbcP(jHxm1)i$$&_8d3FJna3%KkND7QaS%oh>%AuoCy9Q9;
zu3L|il5@lpkN3RyYE?Z;bfPPglxdu8kPnU9V{tL86n(y^8K(pgL1oz$oNd&9itWV@
z2WJUqs|?s0?j=n0XNgqz3^=&&CC(CN!@5)kofGzwR@Ae_|AG*02WLwzs|>kM?xh^{
zXG{P51tHo?1&DIsII6>5G+?%zMh*xe8uk<4Pa_S<`7NykAw&Z?N}|0Zq3-(`j6}K0
zw?R)x!lkq_SM`4HXiOa_tqjRk2X~MOptKS;kgNH!cP!;(KO0Vzr|qvgo=$U+qpXpq
z6WcqUC4P{r9g=r9TlHg};X$7MK%QQ8@5dtdgM3q>eElxfPh|-Q1=bq*hM#-EgolGd
zr;z*y%c`I2CJ%~S2lD>`AtEX;#ZjARr8z7K&?qpc?3?HmKP*Lt6j*Zn3xsIU{jeNG
zRA_x$ZE`f>up&pJ(Dr`c<fppB%94;myT@u%lMIuGRW$>J4lnzrzMULaw-6OM`KwLO
z(fq7=#q=+rMHuukFbpvN7C!>ppGiD0J^zjAekmW|TH9M@BdiYo({lx0d^>0PnVTTy
z{Z;c9)>H#=(SPm@+CMAo$dbO&UD9oW#4b_Gd+|`<Boq`sKDQplP#dsGD7j$^GTqyl
zKZ>C?u0AtG#qV)n(rv^rqHd`X#~D_UqgTJ4Ru#{bIxiFRn-Bgl3_=4N8fVp|^L}FI
zM7aF5yx&b;?y(#9AC*4t3h&d&lB{vE3Ut5ba?wBOxG<8=!LgeA>H6A0l0@~l^IJDJ
zfKfYweVk3Brl~xaJ!8#}KWAAnO3vggaIWN<%zR@S8i=iZncgJdjy_fVl5}0GGQv#g
zrKGv-kFU*rsnpdT)hbJJm^E$d<igHdb`|uma|a%qsyyA%A$WJG%NEOo?}f^=*501A
z#j&E&VL$^{6|Wgp2*txdQmMZpawB{W!Tqmv8<8b2cvbwcdp=AG0>=h2aijW0amB9s
z62f_}sNC=&zX~OVs4!_$=s`RdqYbRU8(+s1FDuT>i#p5C`ep^2To>zp*L5?@T`Le1
zU4}*F2|xf&d}=a$;4MvSHWT1u9)R*^0JFf~LgZFbAv*>+D9DvM4pc1ue)fBtlaKg7
z5AHa4LBF=(7M**oOURc+ULGtqKaAcBE!bZW8Z6iZ;2>q1E|x?JbhoV+fKIkhv1!J{
zuos&xhywULfZR}<CntcHlte^sJe_=wulMQ=D500@YuY2OUa;FE@^C#a53k3?TlrDn
zw<hl>LAyBrLuOkEYYUDZe3Dp?o?E<e4_n3u8z2zvccQaym%T$r`YsKtgFGWmv7PMt
zMyWy=?tTD6n0nbTCnULbm@9i&t^?m4*}BVBBbnCKe|=f~PIsiwMh}akbo#EGP_^J*
zzu<hq-Y8LWoFMSt=K+EXXb}7%S2>=J`efj^c?&S~9tfJS^tV5pcpMvYIB5&oQK#(M
zHeXCX8?vvScKu8*GQsGJw!{CJA6JIY=S_gw&)35LjF7+Utju*jOk%KR0jb4sycqM?
z_;@MmWvJM4>Z_vK6;v1lsK(DWK3QwF#Khw-ZXVPYXd$21%^990283((Qi4J01TnX8
z8zs7ar~P{I>)n2qt+U-B(O*pW>*ojK7LIQYyZnW*0gKF?H;QxF7;u`!#ITFw#dmxc
z$KSot7iT;ETNmd`pS5JpjzL!V+0XgZGXPfxW3t!-Ex~vWiXX8=NZ*kNo1!7O5x0OA
zFX9g<xzQ5rgNNFT^b3r*ips6T#w9+>LS{HO^yT()Nqy;_F%g<{x6<@(``l7bBXpsX
zr_0jz=h!zRQ1k`GkC1RbnRe9i1OR}0%|JXeZ|v*oAGicHq@7CA<&!29JT1e6aLu4p
z#mY)Z%hEuq3KZ36{Z5e>pCF588FbhGZgdv}Z<bL2Bz|0G&jH)ZTMwnZ&}SGEjQ>oF
z_=nHOqT}gB_Zy+?q3e=2AFjCl_WAHz7@j>Qo&^2mOS!nwq%A&A1%Gq1I#@1J8YHlZ
zJj7`mFV2mYQHgRHpc3P&`%@o~RNRk|_+kKi=-n4q;Hc};+$&$1dn5`J)S3(=0O`wH
z23YQP-|-pLkJ4ox1g;QMZL@yklVtAvINz#ZJKGv3bTtdlbZ3rrDdAxtKcpMh7kew;
zIOJn$?O+NHRc&8Bjmdbf!TPt&(aL5F3=h7Pa{?O8=~_1)6Niau$L}o|tV~@|tj<dl
z<!bx%4X1!-dDvI<{>z8;#~Vc$t|X>JW^&duyLbw3nl5(tKZLO2p%y7=Bm$7TeWF`Y
zk7qpdzf*$n5zNP$*HgBg2}OVf3q~(0iWrdJt}dquqC`IQaSbE)G*u|Aa^{RycXWaR
z{&5Yx+AqvudEj;iRVTk^H$v<*XD6V<@CqJb86hEZ978^+zyu{#Q_vw`>Szai$R9Yz
zE6SUwV!-1pAdKws)(Hkn@wQo@tolhOsFAk+1Zt~YCqZqs`w}RteucfZERO<qaj4ut
z`qZC$#~hc_@2)K_5DOv2S3sHK!?Q^+(pTT3G`W$vaSjQ&@=^HYh@6Z%H2xFL%p%or
zrbNV~O;&LoA}_n}ZSRvplJ9Fa@|}|j1@e8&`P}70;;%MxN8WOia_<MX5s88o8UmXk
zZwun;f>{j0<`?#erH)r3Nu;(id9=ZVhPEG1=2uu8rKj8Tf53{xGPN3kIM6q=S+G9*
z;R3R)DS?wZr6~=^fDeAyZ(vWAKk8&5?Lg!26N|3(b`8`LEka8_Yym)VH#KzDp^p2}
z)DPIYPLfM6th{e;@cPe&r@nIN4VPgF9$p-7NG)x#>~TBGsOVh#Sdp~8$-M{}C_#JW
zXSV3^XYwWz)B7#>PdA5#p&1%4#_o${9>5<GY*hB!&P(loHjC{|zBOt8nI87};m>pJ
zDI(t+E^{D^3pO1#PhUG{&H`!Sq6G~=OHWZFwUH>2B_&1&$@JUuVQ>WmJm3F^`yDq@
zxf2$jVTKV-06BWH-q5zMyy~W4iGaU{3BTUzZjQRW)>>?i*lPh=2!NKeh_eF*SqSKJ
z(UKYAZ=v%(Kcah&(LzP^Ucm2|Bu(q$l(NvQ>G%o2*sO5SR*Y6Selm`xv0ItB_=e+;
z7!M<|<1~d}Xt!Vxmv}s}M!|_WNns^S%w*4I5B{Fb#0!@9#J`s}88`Xg!eIWC_mvE3
zFo`K%{x*q6s}KF3Wep_(gdb;s1|Xi-ynvcQvwmUmK5`a*Z01;!ya&-vPn7Z9y(`>c
z>YQ^qYnt!hpT!g7Wu)+NPtZ>J1oF^rKRzaI@hCb(A)jVzF-Zb`RC3y&jn5>+?kh3X
z>@^TX@%;SY$wK<VOc#<xX#ewzZPUzV;`LXCTEW<0HdFR{-ifj+E?@@n{{2u|)sYg5
z)65MpTWQK$>#>shi?ofI7Ku@Y*QX*LW4Y^Vgo6!Yijy6IQ<~;KCcb}bN`CTLQ`{Y}
zX*`!jpT=m-_H3>szPxVAssivf4^PM{tbMM2DgH8RhOhorfNS%#Rp|AU@rcWMjs$5H
z2qi<Xp3VPR&x2M3A}dUmnP5Hp{;6kTxxP0mb0&Z4In@5IdLFe1<HJ6V6}r<6w3CI8
z%P9*808AZ`T2>#BQ91zpeKgo?FUA;{=RS&k@Rlnp*3!>_J<dARW+}lYCD$s^u8Au<
z@mZ%^mi)Uj3?&9Pzbh)NMjlr>uY(T0oV2usMN&>z3{usMKuAkYI?>{z?o5a;L^%sV
zv9=-~i%-sN95&aHlbfSQ&XtuNY8#M6sDYle%@2d<aLeb5MDY~4CHLlL)*XW0{RXnr
z{9;5^E2-!VjD@(ot3anuU?v!Z6=63DX-Ytz@_;Ok;EbWF{RSvdJ<INDud)*-1V%tS
zPz#k`N}u{vwTl1DQF^0}01#bT*ehz9T>{Jd`YmC{2FM4AP%(SoCz=gQp=}y&Gffu6
zq9iOyMJ)$0uk35i5U)1tcf=`*+PE_$HT!sl76kjb`sm7Afc>YcUdy&mNUNCMunZ2J
zkUtb2iqu#dx~<N)`K<MVzrvszLVx$8)olXu=i_)R1<yb0+z)XYCpJ498G}BOdNHZ_
z<m=%$CY#2vm1V});ZKntl10Cn?AZ?-!e2qZy_^KpApjR0Sjuy9BENa)Zu6e%4q_(J
z&~0Ug*h?OIXtn@0kWRqrP6Gsco~)p%zm3r36pxUuW%k{yU#+gc<e_Ir*TbFQ?btxu
z&%x7eyAq5pnhyl5uXb8#9o^u6+oN)V6*&8+0&&S#NLuP&W1)%u9>?@o1ybFak#U~s
zUoFRhGj;uyNWiA_ZtEi6TZD+-gY4^r%W&6ht>}}S^H=7BW2}Zyjf)4MkybbQ-13}f
z+lMZO4j_wq{VS0GI&e-4|44W9+B;G&5KOtL`pz5&mz4%LLHWJI-rCnG(jOC^3h%xg
z1jH79Z!<pcrMGUUEBWAiMJ;9eY7zL&<nOcRJ#w(@MajEV@QS)v0U_6Ct_{>ZSL(}B
zvjD3r?%})ChwI;nS{%XF-RY{&;SCdqZ{6~z4F6JGaXsbrhxE+fiu;$&T+w;ago$GF
zlVd!TMlDmUE=-W=@6YjRYG0oC<j;gn@D&^G9fQoQB_w1(0&gc9Wfr)P{re+n_2(lA
z0?S{3*}DvWxF9_vMtLrfJuBd!t-FOEpp4PN1(Ee0kP{LAmtI|jI7%@>4S$>!&{FDI
zh|<)-dmpW%m%A8kWc3S78MqktFaj?t-aICEDgIvGcTAuV0Q%)nU|+-tc!YOd2Yjx8
z+QHuySf&k1i0<aV0|aeX(gAWBRr$!dz#OLM()jRnV%asD^t4%Ou55BCRqpq34wl`S
zej;^iSwIcC*S5f~Y0|c^yca*esM;YRKZ|q(EVTK!wgJ&8Cuoak$GCYfSbSi35zb}t
zwN+(kNw?zX4@r#S3vYnz3aCd32%*%L#*Qx^hE0Jyv{ExJBVPGUC*6(8@AwNhrGAKz
zZ%a%sWRNsm{OEI#1Xl8Y)SooTle9rRpJ>;RT}>>N-M5z9gi(8+J?);god)evuaX3N
z8B^^_Yk{K?ZRw3QC|rV~{7C@}2yh_<MEERA;Kv8p6>|Fv_q82m)i8^sMNY@|M=!|9
z59D;9$+u*oL>j^hvdf<<J`>)s-}_>lJg^TpFTZgxWuMx3YuHfqM)lX{<;g!k+rN9?
zxbNk$rKCFRv-P-x0>Wf`H0KvG(n$r>?0~(sB<NlSBwLS`v>sA*)4Exvbg{SvYl^SN
zb9k{V7i<aFt`NkNi33CsQv?^X0D{M#U-9EqsW~{jQ_cn#oP^p4!rXQ{Sonr_ns4*n
z5hNrcX`z7<HTxZYGTCZ4{QQ#d{79`-_Tre*jE|I#C^zil^lGUL^6Yb4so(iV+Xugk
zjd~K9_5aygnH8+{xj$n%?*8v)`agedOEcPjH`80!0bh2hKbzfKR>zmkbOguM!=PWL
zdAJec=;y*$0c*f^$FP^6B^q_<Q9OxgyX>LQ$qw2A!dZ>ov@g>~3_SI4OmE?ASoORc
zu>(|Ht3U`X&luP`V*>ovtf$8i#ju;-+5)c1jMs~<^R*mn)99(!Ivc!O0ye(d`P{JV
z;kpsTaDKHMtbXmS&9gXG>(LU6YT-uF=e9sHx-N#dzS=Q3%l@-ca{KfhmkVRG@n8d!
z70?P*R!bSaUg3C*nQk}u=6G-11Zs*t_U$BQ)@g2P)cw{dwXwxCcdlwb7?y3=Q-TrD
zKh^kdWa!%L0PE7_0<R$nLL|1eBLDRTS}|wBrD5C)1wvR&iMfUwytUtv`32l(29Ew}
zmu>&L3CJvhnLh=@{oCgiDGz>L!*u|U%m{$Bb|F$jaMdzOThr!!l)hd(Tl52CFh1!a
z=$wx;4YkRNvyO?kin^21O3De+s=%HZclWQJ+3XAhBv?Uc5b_|c%39vn3j$B`rb)Nv
z^q@)r3mzC<NsThc_sEK+;2us5_Y=&`PUo&$$p|-OwatlkP|eMu7DMCbq!oYa%_*$7
z1RFMpO!5>pVXx=Ha{#A)7ytqRVZR#Z336Sqaem#VA-PWlGWIuvBef(>sM<F{z*S_J
z^zpC|vD6p${32;c$XICIz7NlE18|A5i5I}+1D2dvNTqrplEk75d5J@?_($ygKsR>q
zMitp=TS@iekG`#{bsalmsRfu1zkD|Y71nX?{^V&bL3xr>-%=A8pCsJ%K&T%!Wask1
znVe_1_Ox;@v<3*+4}lS_={h!YJnlk{L6gslWr%e)Nk3wqCx(Bz&>J{_vk5BPY9Lm!
zuk_wN(PjQboRVKPX_#72HNg?|6*+A^q%ryVYFfS7{7gV?V0aKvBcMbJ1b<hW^QpOl
zD<1~E>2~)uu0l;v08fhRcejcw0kjU1g2yYmR~%d!5zF6|7<?8mJk~S2h(887G<-i<
zBb1t}`;p%FLqf|9)4U#D-|V2u5EvIB$(jY%Apo+@ZoW~s0g#<k#36U24nN)>LjD}{
z=Nl0qEW~(w@C0Tl4Xhe%Y5&{|;(MpPGvp|v=rn%)3hmFIVKVY|-KpS;U&gb=)8j%7
zrFw(|U~@Y;|NRD_ff@rp{z^8T!m#erFqLq}xyt+?r-Z4^pO{51iL;csBZxxCd^)F;
zr7Mg<-Wd~KmZ<_J+rN3@4|<OOHBIR9+Z}uH4TB%YKB4xt%pdZV`guHb`?A894CQ{O
z2|aiZ;oNSg<1aA$aH$sGyk83KPB``bRQR>tb?=jpgem+>xxoQA98>YmG(B3yzIhp?
znCyQ_BVhEibg?fEL-|0I5&pQxW#oePoUeR!>}8?T#fBRQv2Z{<VhgFOvM;`W=H}2S
zfhWfQQFyFLqoGFUYr*?tD8HdespIj*vBl$tx`V`HaB3!<RRJ@l^wQAr7FN(=`>o8Y
zLJ-ElaMsWBeK;tomO$5L$;7?3)nUI!x5JfarS`5_C%wRSg<@TXhT`xQtw35}$44x)
zPS{ofG^!Wda($4jOD^V8aC#rk`~%nT&NNl7@zT0x-T@rN4P)`J3|5vT1OzN53)w|o
zwHsZm^8-9Sujd0p`*$Yh!?f`!$i;f#EW~2Ntb0Kmg{CY~k(5eY?8dqb(P3g^XL6Kc
zCmy+TaZY86VKUbS<A)>`kS^oSk}><1Ngh>;VbUkOUD=6L*m;~r8MgwhZGx2Y^fJOk
zxL4mlymP{tmE?eh2ky<TtmUL%#-U|pA=dKps(RP*i#mV5)Tpi(R)G|_qTF9AK_s{m
z6n(_hQQFD;iWe|=wq~cU6Zb4w!_ULKyK;htOttDWgj7|<FKYjW%J&H2o4}&<Ix{C*
zB?O2R!n-vnLEhv&4BOQ19+fzrl^_OQj><bWL08-Onjp{ut!CvAc@p2X&Y#8Cvu7*#
z0Ut7P>&}zmF@a9T<|vXhc4~x98qJd!z4nOC54(M)A*EP=MFrTkI!tf)(Ryxg?6G)C
zrsMQ0L_YIZyH)R5J}7)u5Ss~*obwwGBLzLncP!2WIKs%!%Lat^Bs*CwWFq{(JdBKb
zp^|miPL&IY(h2&URJYSf>xN0D%y1`lYxCs{uwaHi6WDK0#+MKFMtsjK5TY||@n2su
zhq0O?7GsLd@%aTYT+{_p?;qb3&WOEvvYMIU;J#K+{G)EIq?+M$z3j8*>1O$|L;a7M
z?51n{Hq#GA2Sjm5bZOeI%ZyQVceP6n47BYx?2R<<pMiObVHJn$4~NdTXCi$X54yve
z8`YOyn!G(SdSBW}!|ppItupYg8T<4n6!}j5v~3)%c6^$uhG|U(iDC6PQbVbe*1)lL
zN!+lX5zxJD#Xc%cd&=v59bi``BeET4b25eE2y~Yb7?Toj@!;W8Qng-**!E?+!US02
zwh?0e&ACSg)dw~K`o9)rv(dq^vj1uIE@VsI-FKbuZl$aJA6RjM@X^o%9<5@9yx)mp
zx7<GdN+pgHe0m9%=hV~<zqqzitE|PUo2sXn%v}k-*6Q7-zPtleVRoZuv?WnVDFPOs
zN-lF%Ju2;I%AOO%{+O<I0wzL??%$lLe*=XwoK<gsYcs{D&}fJYnY$ItByp%p%_8~^
zDk#H*vq2^2z6lQ^2CYh~qd8jnngi~Y>z_(Y`a(5cRc%hzIIb5F!BfS6cp(lO96}ng
zH)w8<ekb|farOfal>iQ*NA2s21kf=el`i8F2PH(4@_n7=vtB~JG#Pq(`m%psC`e20
z2bKH5CdeH)F>XNb0N@BCJj+%+<B2=EPY<B6eutih$qc`a4D-PQxdX}sh{s^)sp$>@
zjmy4lFW*c9OPVKb)e5r$J@`T>Fc&}O&rbbXZq}El349{Ny`k?R8i~9r2fW-C>|>d0
z$k6iPDZ^ceqDh|{VR?FY4g@sD>8j8UZtM1dmW~~4sVh3UR$kO+8H7-N&YeNmx!DN<
zX>%kg?hTD+o=H(puzQoKz~MfKijH+&gU4q){zLKu{_k2cbv1AjKQF7^hm=do7Aiz@
zaPK~f$Q&<OzHKKn+=QV3CoWV%r<0+9#H_wxyTsB4^9SyJ<Se0dUfCLVRvATo5(#=G
zQUhyBVV+0k!7~A~{9>9XHy%|Vfpg!rV3r}QuRwjC%((Frhx=bJJj|jt4qboL8&&e~
zm2Q6u8f(~{%-?D}s;l2>7CHbMGtAH94j*vu{~f_d21aaef@b+&TiR{a&LGO%>;Kt4
z+8rJ%W1OQ*{SW)-gPxLE8J9vyHkH=0tN}37cW&X{`pi|AjEdlKmCIN=MYoQV`?DOm
z9Ksl;BVJg)?W1>39O1eyNhpPnm-f-52RJ$BV%&qVJ}(BrbOTBY!%Aohl6G<RT5%mn
z%+_?JEWYBBa&kcrA{h1FUtnV*3qIl2w!fu+@~z-%*<?>7j{Z_&Joq8vWI2YO8#t3W
z2kk4!Y1E5!-m=ky0yhR`nrBWxf)o@WrWFA`QQa;&bKPC+u~)l39XizvV4$#Db_q1-
z<Wg+!q31!j)A8QYScXaQrC;vHd|N7Cv-J7t;okgAakC5>eQ<0s_?)91+HbkEf5ljE
zA}(_18L1MkhX<PKZyhH9cAWEJKCGYEXKz<Jty~@?d3@omBO&uZ;RGcnk;wf6O}V+?
z2=##GkDQqn7Y&hGH!A7C9K&ML-4KqRxOpR_ydIu@_yQ})#9n}d%>6eS<@1hceH*KX
zTgZ7+=_U0&0$|v6k4VZg#b(*yVu8gX#U?M881L(_!BVo1`8C#f^if7wz#%!y3d&c>
zog6&C|Fk4s?S=slT7%dDBnFTfk=09v7e4FUdeyYwiW&RrevXT*DDg<fS`qitr?xUN
zHSjQ*q1W0xc+;Fd+{OJVmfa=QN83gs*M?b!3Xg>IH&yrduiB@7anc48vLVAAWm8%8
zBcyHYmYZ@zc|2Q6F@yp+HEaF(d@3t~nd?n}#J?Ur4d4(E_{Y)9XY}~DNZ4Q86(QT#
zzwbYG>SMFV8Nburd&(9+c%l0%cYPLdfOj`tF83E4TE>+ZQUc3dU11#3zj`39Vtq6|
zVPRm!ucN2;`os~8T{BGC?#ZqM9djBM7*s8Xcw!R6{ULIobNOME?UyRH+XzyCx9bPk
z15KnES1EPBaf4ua#DLD_&mGjJ@I{P3%KM;mx%^%dz-^*Qhcm!xoT8imZIutcQkfnJ
zp4?oDwU0F}sm}(C5}Mz&oL7oJH>%#5Cqv&8iC_gNjP)x}@!kP<pDs+4v)p9>_ZQwP
zP3`C%A)E31^~o{Xur>R^YEs|`IhhV-!E2@JE&e`wYgqb}e4d%x0hb{X8srwirP#Dj
zT0UR{P70t)nM}tz&CdxaVe+GV%W3Y%=uE{N$dZzi9>^QBVve}cdc=$nE`nu*2rlVc
z1WSCQx^v6N)mc>{Ca?{Uf4V|mO9CPyMkNIxONV8)7If8kTUhtNJM49vir~@;G%3<@
z5-X6#0hK;1@y|1v(jYh>(R{AEl=9e<*_Q$Te4Zq6X(95mSK1{IUI@tLNJUybX9o&%
zo+D8g3-d!+$0aJ7Y0Zk<Yxhu@0&Gq>*x6yyiGJd1`Krm?@m6xVpKN&wY7Q5&8M4Ra
z@(Xhh<u!}i*Mx1}H$x<>O8cwst|{a~_=BYf^j<|2*y`;ER8HGgJSqO_S3g!7qca{-
zv!b-Wp~wo0{83M2_GAPLmm0#>u>E%ZiQ?B;D4a5EF7amVwQ$Dm4?w|_E7kyJuv5*h
zG;e9$yNI%_b}ByMRW9n61;|zgf4ZmL^joU<Jq(V)&OKR0(*mqIb-@CRPN?`B!V}%R
zPk8_!L#PSG+P*V%G%7y?`$=|#KVS9n>s`6OH~3^wb?|Tt{{J6tpA`}y&#>Xh?$5_P
zPraL<<?>!-Ix({x?7hrNpRO&Z@ZeZdlKTGZURA!*3DE{P!JS;_bM;?Pp({ATirH*<
zfVDm-#d`G&41`^1Y8QwND*(~98YyhxCzvDmDY%?lcY>2SNBUhbcT|^{mC{22ZOInp
z$uxanLJS<(zW`8*Q;pNHvgIMzHIDX;31TKBN;m)0kz>WJcNZ7ud!N_F*QRQCXm$|3
zloU6tml&Co>T90*GR@IL`GI6ZnMkEZam_|o496GkzPL`y<MdjE@C$UFrtvL4Eq#h(
zjA2isMDKi{;6(WMy&607?s+tl^G<~jxOV5n#GwURN;^IAZU&&d2<47uy?_!7(1LHM
z3?6RN8Z$pe@NoOnxhtCoaD-aVA=s({n1lH0a?*pjK7r9O0!>HS5?N8LeF7grPO@m^
z_G8Njn*d5let}hJKy*PJyhwi?T3z~FHa(Pb8qQOkfkR?3yG4sZVGxH*Bz96!wU~HM
zHr<bw@Hmph?nS7|QnJ%wJUOS0>%vvJvTNLlGAAq0#MEFKwq*ss-cKu;;?Hya?W3#^
z(Mb*!Wl>qE3+k2IX)$Xn5m{NPQSamO*49*$+?~MKOHK@K&cd3Aee0qIhj!cI7DMv&
z><<*D$ihsTd|vtbo9hK~&C)!ZC8N?oc9laSL7QbUUbXh6NmVEIC7(kHZc;CC|1Zwo
z{2l85ZTx;2Gt6$to@ErWW=NvY*s|{wLbeJ~_AP2GBgQslPc^peTa-1%zH5lGRg*1>
z&?2PV)8~DCuIux?kL!E?aQ^{wIL4gE^Ld`<^E@Aq8#h`yzvQ#<T@hjw2kSeYbACVC
z`3*GRtyFws)byv4JDQIf_|z>N`#(=uBgW;<^G^^S@I$eDa*jYPFB3p#?f$ov@V`-u
z48p`2^g-{iFhLou_3y5ctAao%gTf=DLJRL?6#66oQWwGRU#q$cjPyn-p#YJBzg;7#
z^lO!OA&<!CAfuPn%l}FVFOPrfV6q*Yin{iNi(A%>p)UIMYMsz(3IMLT<Z1?LQ3t&g
z$VGk2WY?@2eeOi<Vt?eQf~uF>=T~jyQ#XWeOuc7Jse$IJ7)Eb_m<N^>LbH4Yt4tY8
zAz{R@XB%@e=MuOD_x(Bi3RS1dlUkd$6R!o|&0N`h?0>h)g#En9i~a7U+WTN?*Js&W
zl{h`)^+uESkgu5SJMkBOiX}hRFLcj(d~4o|=~nQ6M=DbHJ)x=UYrJIYL3hFl8=1c;
zpwFvVp;TV?4<~r8#eIkc2k~+r^`UlN;6JQ9rp;;I@NGuPJW;-nA6dtAEK#9LV=<8t
zu|T5G4wOr60~j<u_aqO5#7+Mz9D!4!WHXk(%kU;1S2JuJ%dTeH{|mKvN0LEVWJtGj
z-0#4s{+s0cMyKDCPZ=w8j3|ws6W=Sn?lks$(ewc$xnvx!NH8N#*UMI~L?|%$zvPuy
z;wmeuEvv=Jr^{2+$t&?|C074gVsJ8R0eMW=e*)mI6zhMbA^d|Faf(d-_jJ$yMOyq%
z+wgyJSN#{-?9|=gAhHpiE%HJwLt6a$$wlB#!xBI)`g;nQdM=+{6K+<wc?8gp{AFz(
z`RKCub4gH6CgLlT<4DsswfX!3SBT3O9!38`fgA7EFG`mQ9I_ZytHJ>8u~JLZso78c
z=K*FGv+80UIYL#r|7WGMKjY6w);%VlI}jcFvN&*eOy}FtUEugqJHYTIHvjm1`eUCb
z8jJT@4N`q^Sf2c%Ei_~HH;Q-lw@S15!r)^D+RQa9@?9jW-q&}QvU@)u5)|#(7f&85
zcKrU9a=t1LL?>V_#F<6D<72?)0f8qFet)dyP&7xZgb493jX8KVoc*5g{X~UFaky9;
zC#HAvA|_DYM}GHCR2}dvreLc7mskQMuM%!hnOKi{9MqFA=Gx<90F&2|US8KqCTfNk
zU?z6dqk2Xh@Gy}qas3WZ|IY~O9?gq!DWRPIj~IzNGkR{G%d_m}J#kMH^}Xy<Nf&A4
z!k5KGE-hGqw6|!g9-mh4QC!@I%$>{MPb@F5Y*OI<4+tMO<C<Fg_Xz>){y-48Bi-+W
zYl!_XLmGv;i5>gA@*ui?Ta3PP#J`6$S`L=i?xm`@0|%#g`k|bT|23pRyJD9}+5WjP
z+;L))HV^h}_{+XaNRCNMTw^qt2O>HrNS=RRam$GzLjy--Y--m8fJ^~?lbVrg28{LA
z$R)8l?8Nmi?+M+`x}ig#8RK95Si`Zsk16**bTfB_*;Vo|uBkhBNA;tYc_n53;DnW2
zZk}?b)w&jn#Vvbp+yy{Lni>_V^5)@Hgs{+kteotv$Gb;LA2i<Tt%)~${3n&+6L4>k
z;R$I9<?tijfE<>Xw1;bdetqTljrPB(+ZH2rJN>Th_t(|C+oWgh!Hj0rRusc`I}!<%
z{PDH~>$|tn=*R$t792f$rH6q7FVtqt%TAmgxbjaNFwOf82|j8#CUj56pmFGgTstpg
zb~Gfa_ZZ`Om+6f6D!YCnjs><PCCfd?^Y_|g5%8*H%-&Q$*&)Ej`tyHMytE5JdwgmD
z?Ul*7`36@5$u<GYzfG%CFx*v=<n?p@|1b6(3w)Il#ci;fA1h8;EpYh+eqXprW}rXc
z>*XSiYmB~)1vv(Nnl9Yd`6pCR8jMg$DXCOqk-GV3iGT5BC7^9ER+{&`yrP1_IPBHy
zS6V*TTL0&HBESfj^?zqI4BrCSSo;6cvWOGcPdo8Q>E9A`<4+HYmSKb|lK+yRuNe8d
zALKBzEDs81EB!rB0#=Xs3qIQd+5O9fcbq#!^9zF0#;}kfK|fu39<WUHBV|0RV9-@`
zECeBR>zM|I3(rCCbkXG}{@*?&odxh$j<2k@zcp;ajsE@N%~Z*GCrpD;hL6IZ*5Lat
z3?xOVW;4QtqvM!;n{xa$(`Wb!N5RxO#k+?tzitGQ7#9kNl~*4GAmn81Xd@ch@J3%6
zlV;DaV&1n|%6G(*{BF0kEP>vwgd>;;Y-O?_W2VF122$JJ*X62;GsDtmB;7lp0QwUj
zlmOsGpYE?YY>!X^zOypq6@M;a1(^Bu=uvQ`IC>;ZeSi{!zThqr!)p?fAIo=fT7-zb
zxhir`K>fSvKS_B)eD`1&E=Y$Ba8pb-m8}ErkDRH(d_^%T!$Q+UZS{Yp;%Vf+hX7J>
zfy`{I0N@!HMFCe?vDx3OM$0(&zUki@aafK<KDCtTH5(ubRP{V9I={E;dR^T(?fA6^
z;S*p3{v&&ZDe6JjW<KVN3Fe3vB%Ylr7Ah%XWHlNu_)ZjO@59`m<P8;-rag?cn<z{r
zd49T(ITZS-ocs6SrwZ-}XU2dzCRIwZs!2TEv$_qw#K>xf;9k`!X?~w;Yujy)K5h6j
zBvaL;{>!s&LcD?n7{1tAUO!t6*H3y|4QE_MQE-&fhukm>ZtWV}Ky&7~p`_aP#8ZWB
z4>?G36}__mna2G8*{S&dltCVVGyoKn-v3;S*b@Cb_+M6wvxW|cT?g#r;iMVK1942#
z^GVZ;0|~;uuaey~WbBqOe#$-;y-}hXAj}|5)G!K`zZz;wJR&H@{Nj7tKgs!hDeHk7
zSUD%iT~vBYZJA|k#~qDlc4TQSCsPQh5dNclyz(j}OspkSM6Mi|XnEM$z<5myZjQa$
z{QAa~`hagwA(ff8-gLJefEWM?`FD)j6+?BSY(J+$V?oyo`wX6FZ_cUP;<Hj^Cz=XX
zE(Mn6NZu%Zc!sB)Z?4{*R_6b?`gW_&ddG|NjpDqsr?-a-=I*q&9fT}2<Sz@M+HX@H
zfBL&8QT^a-kfuO$!lCeg?@7qzn1<{yh@Y44>QYL~zcD&*HNViiZ!a)xcXz?uHjWXk
zzsWIpQ;B7WMg>L57EA8LyfNoQgJT2AuDa8W|GfB^BM9I%Fx*4(q8Ie0GVo@yfmLbg
z3CvgXCpk~uS)B<qh&W|!aS6bFFb|W-V6{da<AOPwT8SJ7ytAV?1)0x&2Y}1kHf98{
zZ0Vx0st^$Z?1!A9@#u3uTflP^LGedG^2~TR`f4ZQlpyDlZmiQm!H}j5PJ0;N3~k`h
z2t6Bv1WtL$W30}EM;TI(or7di0Q|`uTdggIk=2Ff>x#(;N-c_jXY{f6kQw4+Zb;7I
zaZKWw<zp8RwRTvV$WhEv%%$=W4Acgo6A(a@o)}ys6;JfE9H2v~xfU~6s64Ms{H&b)
zo~ERRpOm)s#Ze=s82h^%iWjwpprVTfCQe7=tv<t5iX<&Mm!*IqN|*@Hk8W6Z+^=gf
zleGuY*?>dNC4F-Z&pMq{K+#V`*4Rq|gD_0P49bH=ur%0lU<(EaF~6!N^GBUEg92a+
z_X0?jswklFWZtX<qLI;w7j!oxO8V(blR+ntG2J7E8$dUkDqY45%%CwHXFi^FFgSXJ
zB!-Df(T7eIFqfr8iu#GqZQ?H@dIIfi6<=v{52agQ%y(>c2x9SeJv>I15>-@uKDUvH
z<$^I}RXZJ|!(BOC<^Buu2YA(R<VDa_WLFp)0*q2RGj70%6J=z0TDxz1h?@5XfZSf@
zA8-K5tbapMuGmS3i`QNwkYr`IGAakCSB~t;_t?{(HzB+M<SAZNDYaq1MuQ9CJSiJ!
zUhZy2ZWx8KQ9mu8&1emISi*v=1Uc9FSUguMp;3T5Jc#%KWTv3;uDh}tZ|Ov3;nr#F
zZBF0?XaqDEr0~K#g%!se`57ReCxXp_K+;TdR=&(YsSB9<tI!f$^E4n+aYz0a7AXS;
z$RFI9pSV*LR%uMUc>pUwCRSg=k+sZZJ<=o$4-W@ksYIiCj{MRb;xQ_!9q@tPGGh_|
z445<6TR>d5JMC@xSCwV@#AF2)T<pFE*2~^W^|cm&N*dI`PhPw!Q>1(xxL{6_x<(Y)
zFv!FEU2oGZ9_K1?nhzqaVnk0~jRAJMf+&ruipRu~bRvt`e@5%!NHy1&MMSlb@mV%`
ztZ6O!$0b^KM4EW(xc<=Yo&RdiQ|)~{{ZlJOMqeLmsid8;kF}Ie;24-UnuveODJpwI
zMUB`dC%o^pY+-MUG1a^v7xVymPdik9;J`0?SZ0NtHOgp5wM-=Jpyv#if(bG1Ro*g~
zAe8bH?)#_`yKG-_R&Zi0tfl@Db7x8G*xsRW#KL;suk{o7LrGfHia+I#(JCI{f7aK>
z65Bi?b_Srb0Mt$ftHb?*yyti__i_Q+wwoWoTBJUWMEOj+8=PyINKCfEN?+~PyJ9zy
zJjRK>;V!A`K$^&lvMR#qlo|SZTBZ$ImFPhv^(8-9BxEX<oJ;bwuw^i;EPj;p_m*2#
z<xW-mSz)d0^|S}mhj9{tiW?N&bA73=pFOv(0(e=0`Lmej=dRU$Tyb_Ea^Ez4&8P`P
zRpRH%U$^aKU>A39T>fS--M5obMbue$d}H^f7cN@oAv@r<mOs-N6jbwgR7OMTsNGod
z>-rMN27VH!<E&|wwNLBUe(9P1^ANS<Ut<&J4SPCg^~q1<iEP~Ypb7&bB&#t`u-e<d
ztoG-|^X3un1w8l8y#4+~Y<KS$--z39SHga_PK&}NcwJci+LQ{e7JFMfamHktHO6;a
zUkyqsn|tRH-12<%OZa95?lXgwGqU0Bx6%53PyJ2v;qU76$wwXU;Wbe=@kGrPAIGO%
zRtg@2{r;iS4qN>9J4bbV{I<`%WqNS2Sup72o%iP)*7-v^Awge)9E@C;&ooIaLI5dk
zU5szy>F4zi6Sek!W&h61?vpgZk+|kv7G2IzI~{6+JOo@trIkA;PJc~0+BF;N-q~LZ
zA=sYi9$LL1-fnoo|9+?R)#af}hrI_n-vTp+U3hr1M)!KfGIP8>%D&M_t<9*?{k{GU
zb!5K}lUb|jmmutyzSngxC@%B(i)F$0G0m=yBvtSP?j>P&BwaipOYkdc3}*L2XPfoB
z=&KY5fWniX{Or14`27ir^FZlEDEAIEg&?mjdTXop=DD_Ownu-RWJ|972+#|OJ|I*t
zZ-Z8NoeH4n8W_8R)3QfhVf_1!_M?L>{JcEealgcySpZdl26@#^!9L)w);w!Wwgm{x
zZ&?T^O?eD!+^_c+LU9@+Z`X-b(1bQ$l*hI##>anF#1zMHzg#4TR;tVaFO>oJ7wb{d
zqTG>2jhdV%$!x2~-)SGFDs(HW&WCXpf%sEYv^d`S2Apx5ip5p2{n6NrS_+@ubMSvT
zBl4}_RMGs$n|d;p<QsSC(bz_;Ww(*gX2j&htXRi~&y$3{nKKjU=s`U#mP%)iGrm1v
z#1wA*^1YJiueRuPeNYIyxYIcITSD<LY+`fl=WlZBO8=8@MW3I#6;G;3-s`BN-f9iL
zH_!DTN?3Ja&1<FNz1a4>m8N%UCPM>;j>`e>zm$k2@eKB#o#FV?`!P--_&3G&C9+H*
z10sC&?B$$+s4KpNz?$2i+V=+iSG<GYdWC_0Kg_veQ2bRoWxlG>c9})JE|K`ye$6!W
z^Q_R9lKjUJs}FYfKR{v+Pam{}>m!uMD2-})NtIW)ErYwaZrwddNTT!4g=9P2F|@$S
zWAxS|4?!R90#E=nefRJZ2Exl1k0G!Q5J1xea2){*jbs*y1aA|VZ6XmOkuc@R_^rFQ
z8Bpe3!m;TvfEp<Rje@yH9+{3j35}Ffj>0KNE7(M{xJUoVf`s|Not?#HG~_`d5G95L
z9gDHWLI9`Z7G^PJQ879aF(C7p%4ae9O)+lxm<#Si8yljL577t;=-FV52r&lPF;3GA
zZVS=Ehj=}N=$sv^QHpW5Au_YadSYVzq4zv&VtuEHxAZV~OJf6hiC%g!UV231IHH*z
z#??JG;cy^EcQx)xHj$(p!#o~mpd51_3Z(dOz6ZGSouCKen0x?U(BxYJg;S`vo(zy;
zYZ=@YS3<3C0~B6wlh7c6S$vkz5=T0EhSXXb`pg}A^h|=vH7EgqE@mVO@Q@a{;C&L9
z#$6JCPdd1eIIfqda*fmwmsq!&@Inu>7)SyriD0IrVcw*{Cf~Mf*W#vxvRzW!0BPMl
zX|j~mY?H9HO4{8`+?OCtmb&ZJA@_VP#h*s+Ioa%!Z5Vqx@ylcnu}h0v=m?!u-`<NH
ze3#P2Qg5D4_0vh^$YI;`NkxT{zthRzacT2}G%O5|mQ35kqgSY?73;J;JQ{s?+Wd$I
zdVz{k;k$&`Lo2S`_swA2#-r8O%woCNPR6H)iKV+Kpp9UFp2~d?JDd6-Y7r}K<bht9
zx(`*!V6a*=o5|muGKKjrp<n=P&{krN?Efs2E#B5|IrGl5izjTeQ1Mx}JTCdcfa80|
z47L%y#o@BA9jL4hmFaAWgV}?V*&SjRZ`g*`{kS}IFMIi?`pT9&fR%0|8hQ=d2VW4E
z$~180%IPaI7_xFMyOxbO;_$@d+VDsF{VldIrQFb1-+I{Xy5I+~wq7M<ZCxfMl!kK)
zJ1d->)t!(x!pGM)6TCid*a`-ktshS2a0cV^!164Y=`8SVmYWpTn}--^*cS9AE&ib%
zW=#@Pf_;c$*CX|5(<Ftnna>)25I@t&${dM>bv|U4XYsCm7(-_XrLnApQa&=UuG>&H
zEx2#bBfV|Pw;Z7=^5wKn*@2H3>HNpO4G>qe(^xnVil?Mtyi&-lCq7|{$>%HzbT4if
z)H4+hixevI7b=}CJY!d=+){XUwoqliP!(RJ&R?WGEAYlmhz<i>%?k2(z2J3^IGRkf
zwG^GV4XHlJOZy0$Fr-_jf>}P-<?>=%Pu!*4V&_k%zaJC5I#ldz@WeUn2~XM+C(kFY
z`&_qji{1H4Zb&_`|MVnas5msNXgjswL@qRi41Ge4`~-%XE;GRdERa`Ik>g7F=`BXC
zWESSgGJsH)RbB+jF9U7o=eJ-U+Le1al^YC|m6Vs4?dO-Ylx2M?e+sXtv8yP6S2PV_
zYQi`l4q;09%PaXSIvI*|{)(oS@_NsT=eZUAVHFPbEFNSQxo1|Q#4?IO72X>23SKoe
zRP~NjM%%A?+fsI1tZKrbdeyUfxurU1sJi8Bl}=|BQluIrQvCs5y*pdA$6viRRP%Aa
z=Fg|<-~1k1VMn-h%sEe6C|H*v&+(l<jll+*t3a&5krt@ib>viYuB&w@^IG0tb@S|X
zSVNEhe3tnMItMf}8UIh^N9l~L``>8E>#kcFeJOCZe>X7x*;+76WxMjPbw>ss_VNb-
zK7WRM2p<iHVEjt;>_Ns{i4Z#1p#39vO)i)r{YaFFdDqu~@-;(Q8!8DxigS{&fYkG!
ze&F+WLq3|@d%v7f`Gqi^WfB_8BRNX!Uid+PIH&fS0J!#u@;0@N#1zi%4zXTrt?mIN
z0&Q!?Dj0$gz`MDAO%!DMmTNlFs-pXe>t~&5rRt5jCezn_zgigbA!;<@FzIs-^-Vov
zI-FW(b?efdT_dR}F5*!j!H;S6)4i4wgXz1>hfVd(`#*GQA0cF{;augG4*L0FYNXGS
zCJrj??V>(uC429QZ-yeiq6YLMYewIY<cOUL!jg|DQw~mxYfOY&T#m|lF75}h+(3{Q
zgVNbqC2r>3TwGe<-8waOH2g26Gg0xiL?NCezyy{o8Sx|HanSFNq(IA9jO<^=2hyB#
zk|YD-yCjqb1#lohPijz9O7)TEG|OtBJ}<DDAJ};eU@X8x0U3arZFrMa46w*lU|`qn
zp;Tt40KP&zp4xRhm3b{S55z1xF_a&VwmA+U=j99W?z<j~#o1%i4;)S?JX<KCfTmoe
z9nxI>?RqFUo4}_Wa;TsOParEGxI|awNm5D#ksC<%*SaJr4TAho?b#k5sT2Ll1u$5`
zK(4f8p@3dxU4L#^rTB>vLN7OaL145{5lsP-Q@)C2epY|-s}y=NtxM+F%aaPEW7h`g
zdKl|k&uXp@Pbw<Q0xGw}0V@DWg@<7>eV$jWU^I(M!~D8n!42ixeU-@^i#GxT`9BSa
zzFhKfsoAn%w4fT-zYgR2WloJWIMqSr8r&Icq0KaB$go<pd4iMy#>HS*MYqduLb@L5
zAe`*Pu1_<Tt2#9z{nD?W$5dh)DyQ)+DuKh`qX2Z+^+B4Upl0Jiz@)+AdT*n`n*|b&
z6Sk^%#_82zU9aR5PY#H}9cB{}{nR&({v!+z-cvzSrw<_u>6emECt}YLT?X@lO)M@4
z*`C~Am3dPD<Mx}DzsGaFX5+$eu1%-Em|cLw&eStehqEWm20ru)+JMs%cy6^--d?Dt
zvG)#@YeyO|`uGlpv(6PGt((+u42pr7-j)5I!5_!JZ>zaR_VKv8f9TsXpwvM4Z(5<g
zN!sAl^`#%l`~eFW{XFk4ONf5y9Je6(l0oUz&Nq}k=%;3Hk036`X$h>Dv5J)@p<Qik
zUn)#L-Ov%??msRp_%*ivh55$q{$G!V?4Q6z+>8-1(+`HO`JS$mbmlq=o`qKRHFCce
zf$QF|ojQ!w?c(T@b=Q!23ti4?vNI~UV;XmivuOGr%YKb#jq*h&u>Ub|SgJqecCTcm
z-i3zLssKe!A;Gb@1p2lMr|zk@Unh1o*QUCzJ1xGO5%_RALzbL;^74#WdtbtmPJTdc
zNY~eb#-|P2nny0j9T#e3CDt!jI)~Wj58LNM)Y4B9lQEi-7cY=3whD;8{yOuyeM6Z^
zAe7l;)G-=H=X|<vfN_FO44C&R=+1W51rfZy$!n7N{8y5cmi@4cNYf*4=bL8O{NogW
z`^;;XTvLD<1(Q^g38_aZjPxqrXoLv3)O*V$5RbP3M9G^XH`}&!6fa-sZc_Qmv2GPL
z-GDzFmCeT8&q|zmOX5+>N;>8Ds7?IzaUQ6+LR~<u`>dqrPw-`-`kRqp!igXi>L}B<
zLUs0)kDTr!2|JtlXf@)2-v@qH_3sS56Xb}$FKN(OmRzJzJS@=Mb#crnQRzpS>8+Nh
z`4d(pf~rKx@*T4w<8)u~-cpPTdo|UqHw!yjemQ&Ln5p(NKVwvp717;dPd@NkbCb4s
z)vB4o^Jno=oaJ!SNS2x*>-)i@6*iYvg=K@RDhO|-985k;)mWI++zh0^7sG7&7La$8
zrj{IKgD*DiSUpX6A!&Q!!A#bRz<SC?rLCc^b@GlvZ7CQ0604O>w`XR3Q-Ig?qj45b
z4`ZjEk*-!;XKcv7BxN?{>y+I!s%W0%e{-Tj%!}ET>G7OrP(w(dm-qF{efcgsEltZZ
zE}OYC`F3Yo-a5zxNPnLG@O8DO-}shs+T84TY7{0Yu0~LtedY}dPt(F^O+d$`giD-(
z9h52}K5tI@Fzk7II<e}OJi=jJDZA~yw^U3?i@9allcrCjTZYqf=S>H)*o2-(7s*_n
zG|)3cht+<G+OE*QG>`Q1jROPKh!2(dOsMc952c|w3A{&ZQ2GIs6Hzvc#_hZ9`5WG8
z%mR)x20^7O%i|uWjjm>3ESn3@>4d99LeK9;a|YK&3tt;?$?WW6zbOGZF&(=!R6c!J
z-{jLRW%Zg163q=HZ;9Fvc|WTB+#M*k^jHW(zC4i-80L2q7yWR=jlVvm(>u_GSe*Dl
z>T+0ig0t)zM*fOBz|4N=J_J@_cjoFlh7RxU<p!wny7p0Q=U(LsK$~4n<~!Lc+Ikpk
z$gZtwQAZ-Obp&YmINhSt$<_2|K?~Jx^|+i7>C4}^p(13%5vDgL-%N$S+YdPZ>YVo7
z0+$HaDO@sg;d+)$tpAN!GN5z@8w~4+Ezx6@$24aqgNTiTRr;abt>nB+=3J{MpRb;)
z=5E>PrlP7Geh&pTn78|Y<cxi@-S~$ynNzbvQxmTsd)VApqm4FX#$vw~aCjdAz)AXb
zqx9P@qud3(JWF_Z`li=AIo;El*VN&@H#=Qp?yMhIja;!F0ijaJJgOVqtY;Dza&K<+
zh|$cH6dO8^=>2Fed;L0A-v`v+mJJ~jf5&-NDXjZq!2&;w<18ujoVuoGPZ;C}T38vs
zH@Ou!eZp5*k)l5}nHyt4%loE7zBK;oVU?}njSrHS4z@u#eTrZZ%3U;iad3b^>Ffw~
zGV1#LD4RtQ8Wkrcbo}Zw=;za|?^p%i6mVR2&pFOdD%P7QKpAw`=hHAf%H4tkG8Hj-
z&Z^I5m{9|bY<|OA;YxK6zW%5wglsyCA57%)d)FLkmAsi^mBk*`*Um~kJk6XRk!5{&
zwfxRZqAOFvr^k=4j<FtY)qlp9@1GU{#kTzsGYuVfee?~;4(%sE|8yeW<HCy0TtM_7
zB$)w5D#{ju?B7Ck^~*f*K}uz@a+D&2D4hKSq&F3Tg(3kTWCNY0>&e+5S^yP@s=!4y
zkr`(;GQ&sF7jwlQ!|GiNSL9^{=|*u#M9M>f(b{N^RfOvn;$${Ma1;}|MNll|q~a0W
z3Q?S^(Fs7zQ5#q)5ZOdy@yD@B^FlA}M)U0w+@VOV>6mIK)^IxO@aw1ua?le1IZ9x0
zZi>1IAlW4%-Jy|$-Fq6l_hP1Fh;gw|bqXD{dxMm_<ij(e=~<zNJOp3>c7F@LghlV2
z!K?tng^YfiKe7TxDuN=t$*dJPWCeii_JKv#!h5$65oBnu8FB!7y-^uC2%zf8tdn?X
zHv!dUgPO*pQp}KD)5v%LHSL7Ts)c{pO6-wHoK!{)`M^@~Nz-Pi`YqU$Q{sRPY7_%~
zACfpLkyuYo8r@BNk3)@;S$lb*y>!NBlcr0P#+u+8*~zcsQ19uecTOn`D&@yG6j(p$
zH4agMPuz?nHxr-~JSvQkIA=rthtfG4g3S1cdXGgfIiZuYosV6`kfA_EaA-e1K7AVg
zhY8hzgXJq>^qtT})ZpKTy@&!Rj0(WZ+~E-fQe_h<i_H2AiqwH2d(G0HPqVxWLB7mJ
zX3>+npr~cN)J<j7XB*`FE_B!|<CPQY)o${4y`*|4_!Jg3QJRT>C4XE+p_((MaHs(c
zbee+fm&hE<X1zL-2-i>SP)6FpP|hlu;kH@7B@!dcGMx7kr?Dt|8`MZsas@T>m2wV$
zPEKxUvH%Pv1pCVvU9(ODvvd6}NqbLCOJ9Zk>AZSM|NfFwd`<rSqTTyXvRTUqNP3dd
z-MGj&8cPKB`jk&X79JXbPoBa@$KYTw^rQi&<P=-j`^=R0Wbz$qo})f0f&lH6%${6D
zz12$`I3z$FxM76Q#Q44JEE;PH{^6H_EPCm~d03*Ie$oJ)^$tBR0tbu3LwhO6xtWKr
zD4G2;DFMw7M`5Ue+Q)x7vl?pi;^-NJws~3P$7{_wykV&i_i{uebIDn033}+VvRo!*
zxZ@@6<MJ^13}o5BeKHOio=s8+L*ncT4F>OZo1vcbLUBVGX||}e9OUop?C-lN@61r&
zd5i2qbFyud)+CE2p+(&KDORMS_svPaZ9;iMi)Nb=e!HVMB@-h;lV4$ret4iR#-pq}
zL+``L&idJW{3ZO&`NA{#LIzjw2P5wQ1ynrxm_b4M0HOp3gUB;L3_xjTZV8rDcnB?2
zEhCjFrz@5}c%g!PW`pb|CtUQ%81~6`l`64>mlx#bKb9&fK3iT|o)ZAi4K8<1`{;2S
zjyk(mau;42X@_BQDrI&8SN6d=$WSWvzJgStmPg^~Fyyn+gkB${`&yxWPC1RgYT|6w
z<k_kU&yuPz`-3xK5!i};e8mE;;5nSo=7f0-0Do|pAYD@TR%uELDb2HTU?}4|qY#z~
zoyx7*Z>c$eSH0oSoyoO3IDzS>o`3(TWC2sX$WK^?GrkPJ9ROU~hIsshS70kUNreiY
zl?FMLin+*MGP02F6$2#jkjh`vq47A>B!Oi=B(+s9NpHF+#{*S;SPO@ik$GpHQs^kB
z*%~~e{E)x4FEDKoK>E{4pbu)NYZDNyp{U!S--JlO3BCD>5fRpfyQO@;s<rgX1Rqom
z`JBCpgGEpvp<5Y~xykSGC_4bo<AKV>vs_h4K9P_*foFBYJ_$8sdGC|zX^VVCN0?(8
zViWSU3>zX(*Jkn{?gQ1ZUnpIb<^fWrU`2YyWu$zrDE1f{<jY!!VZFZvEe05;2|y;a
zbe59<GSqvk<tB~gCjQnF91@@v=7Ztcv%WxW>#`m4A^%g6%ZLg(5(i7@yqwTMXgiyW
z?50p|T}BQ2gg%=q>!36mG$XU5Ui4BCBe%;s4xQlC%c$3s#$j67AfDBh`l3#v{b38T
z(j7JWs?~n4ed2b<&V!EK){gzTj)Pwve~watk&ax$Yyo&J>4EhyDeY;wg5iVOIr@Ed
z7_0)<$rawo>D8$o+5&7r*$pv_9!umFlmfuS!@DGqFasZEvs#cetxFStiP?8O10WUv
zoPt9tS9TWy5KRI^zLvFo7h+C;XaW#d46CjHvs^AhlL9#}(4!>->E43N&y&;>A(9l9
zZZp^!ELg1;?63|}neR52=`l%UF_h`4pg^qhy1k8hJ=*%ZX>d(4v>Jd&V!@a4y3eX2
z?+OguQ5_%{4Mf=w#Dx!#4!s5v^9GW_2PgoN#l8fZM<x6~bZnvO$nmh@26Y$!y^NYC
z$G@kdrfBHYb3+SGLsNvba6I(U78<mT!uBETVFOKx!&5lqJPx^52%#pj6oe1WQ&FmO
z=-v?&Kt(N6U_MUh6@1e?fnf|_8N<iek)bODbaE~0q8Xdr7Rw?Y-CheBqoJE>SvSns
zys5*hl#vZQ>M{<wLx+-SXqo`Z6^kBiV-=Aco!o+i;?S!Ege!F<mof&>(91L!V@Qrk
zjRuLJt*aszDKA&H(2F!Q;ss40X=Gz-d{|~;V18U=6eT=5zI8AzAv+=AJ+ZYuE+;rK
ze7HW2csn7e_Ug<F8leq-f22GUX~W?J@4!?)m>+!9MsDy#H_T4bbK`U3P@87L(#-MG
zI2Rfo-8?^RKRR3v9ock+59W<vp>V9=#P<9cgS5PkVeO`)*96!$acq}qh`lXzJC62)
zz|y^i_If+EN`aGc=ymFweKOlJ_0*L&h#dkV9*5qeq2J(GR;XhyXlSpE*F-gBuq+#^
z!^_)bwi_?l-d3`4y?FiA39?}}ouxLjQv3SOZ}d~yxzva^4M{Wg4s*>(bB*3}cSh$r
zHs)I1&b7+UQ`P1>f1}UlHEH}d{|E;vX>cK1gdVE%F)|JMd2%+X_8qpO<FGcNgQ5^j
zfYxjwY#$C2=BIj9kww5r3hs5Uz)N?h*Vo^o10u$9Q1D4FX!hvX$9Xn+y=iZsnZ38u
zw`pwaw6Q&(dnp)%?ipmH+Vmco?fxk0XVQ!}3jRlS?oBOZ(TOb=fHu8g6KNk~7MgkV
z0tFkJsYcBO|6Zs=Eh-2tDylCkIW8*SSv>n_Q4u|0pn_tZpBD~H1IWk{#&PBFcA9>_
zB=POs@1?uv2621v@W!~08&fY5mu*h6`qjR3eT$x=k4U_o@K8hEc=6^|5`v6<^XD!4
zHyv?{%;t`s;S&6??KHE4oep;RxK_#Lw=wH(!nR3Rk-jti&4=c5_>jf#;rogz`X+8h
zDw(Cqc;@8T;<-C(nUB`8+t=hDv7MC}#G4FiqAl*x33bZwDzmo>m`=uimdT%`Il=1p
zTd5yNC<b8q{b;J)iz&PIcdf|x+oPxf0!zHv$SMIzp^Ypc-#o5@9msw>k^IKjk?l(D
zx?U5?M{u_C?X(+(%_oT^-;Bnr_Mv)olzDW0&S@t2?T4dpKST(!Er*XCeZ=;a{z2O0
z!(}QeuYEK3-R432<`e)I;QNGE`{Zba1c@-|+(EVxSl&^VjL@Gsgg?IrkgcVk*B)-S
zRlajXuZtuh1Gm&axsI=!v3@-DavOLP?Y(e_`WTbMl7(Tta!B|Z+P=ai_)<KDC5-xJ
z504T#&+>&n>*f9R)UB0ocUI@O&^vU*u?`3YGn2XTW)wfZQOWiTe~$iV^H2K^yZ1lT
zPc~`X+!E$`nsuGEXlv`?$fs)cZLjx}tpiV5)sbW5ZF`5GgKgUbc_SjfQ3Y+|n>6$$
z?(=5tYZ0{%cT?uFUwrhYBUiUjge!B~6t?)opGmjS*$;OMP;)2Wp_9(<rvBdDRo(6Q
zjb;;GByPU>jh)Lj-hGxd=kW4J?cx5}KWpccs$A~kKMpbV0Vw1x)()SYhiyxU!AbAU
z$pt!U_V-RJ@6Q+S4yZ!w*rbWf^K*4q#vd@OKEl6p|7^w{%Ke(%{7pan0lxLCF$ItH
zWTkE)3h|#k4?p#qqWhYVCRGQQ)PDwaY#+TfRD#L-DX<Q7Rz1Y~FU}_2&ceNKC8GG$
z1F}=z9>2*h;@IYH?s_5ls9F$s&)iKf?YMDJ;u$0-&iz$e#1Y*w0U-CZ_q(1P%a10H
z)FS?X`K?yXC<e!j84EgmwdV})ChhN_j+R<a4LJ1XT31}WHPz%{%wjC5=+`~sckUc=
zWA<77JEY|bBiD`$WP5%p%gk9nZo}lyGQ!5ksVf@AqlBo;Hq2ItSC192{pvQ9lFx)U
zI5i`${vc8<0}i)3?SFYNe=%buqr`fF>}&TU$zIuU{;;js@ptL;^wVoo`+r8C+X<V^
z_lyp8SA9`#4gP^XDe!wMU~Q`GifQvx#@_2G>AS4Ljt3zRvX~|{i@r}^w-~;dq@>o$
zk#9Y;Z*TXb!s3|!B*^;PwRVQvqA0gEOzZQR#!0&yyf<c@Fga(^Z<tVmW<yy;J}b2)
zYq6aJo453EFOJE7HPM#W;qw1l#8sSTOX9I8JvQ3lC&jd^XwQ*am7_Y4zmn=a-3;dR
zrFAZ&cnA5PWLrP7zshU5ACe&Jfwe;OoslT|+!cij|Dq+YCF*Z<3S}8D*4J{m&iKsx
zN+TKGH;ZCv;|6o(d4{p6qda=mU)l9E^Tz!%f_ge3hsbxaABvLXX9=7W68ODQ4d|5S
zHRN@P%HfmIJ5r}6Pw8@<wyM84Q!T$qcY9`i=|--2eUYQ;N|xS5ChU`{uI3`%#e;N7
z8us4&DRKM0T5%a)E6~ksyIDfdnTB$Y!Y1cj{b<W&mKKDOMTabxz3(`9nYYfs{)cto
z8)Ny`xl8s#CKX;X9D;s?)4J2T<>N;<Z%1fcoVhltAT~>nEsH&(+{B0G@Mcxeqr@EW
zH!k?dJ?AY*k2Uu)J~9JQaod_NUh8$cIXb22m=N!gsXZ^E``-DxTTY&KzI>yML5`qu
zliNN)F~wN;`Ico2?!wu{A~};&)=E0DXFUf!<HZg$FWIT+q-c+DRotj)eSR%Bvu9^E
zw>rx{{bS@2uUdYV_?15F$Mh$+*IHCmr`A%6S6Xj9s_jf%cQfj=ep9*C2H)Nt*jv$2
z$(e6vkQ`?xa~hkyPUicruN-_CgILDj2>31jA|US_6IH;!C!T{4?s!ivXy$s#LxKK&
zyNiBwemBF*rg8_9{vXZ@s~57XnY;;D-n-xs=vVMPA!x0nQE-DfG}(SOIs=jHev>V%
z|DnB!NJqG3@;jW6r-{chms4Kqn4mp=+w2K(spRqQ%X&-y@5_f-cA9xSVmDV^!&uWD
zesn2hg0J54o-3r`S{h`dmzD*0vU^3v&F{&&ZymC)o*OymQwK5eSwLR_v~-}yJJgnr
z3*D<@JqbkShhUjGYoy;zC_UkI-(@452j>8W%xYln?Lc_A{jGrh=U?RAc^`#<IrX>W
z%tH$J9~aoDrhUgusfh|Lh4k~hH%Ge@a6--%da5qFu_3q^!N8F2m9Dr8_j<aI4$}J|
z!3`?s7R*IlWcs=Kp-Ivwiv)6~yR8|nRMIlDAZ<66r&F&_@zbW(!K=$(2~GMJVcVhI
z(|PRdaoX?9h9X-H4L8$YvB)-9Ag<7&gn4uF?|qNvb0sgTKBpri+6sldS9R2AX7Nfr
zOsM=V#5sZSSQU!%$s1nBwW{legCy?fj2#-qDU4HDuNP=>-KMdsf1<@6S#cKF##|Gl
z(PBe(K`1}Elib&Fq%6f59a?)&3d^1nLbF6mRL0@t*jZhp3bHcWOx}_E^<$q8-LE>b
zEO9GX?X5?O?Ar<!enu}&G5mN48~cZ&UDL^aJs)B>dakOqJB{4|ypHb8YdMxO8M!MI
z33h>rY66{)gGU;8c4%M$MK`qQ?|i}ERI;{FE?dSIjpU`R1a4RUZnf`PNlnwtXUB1g
z!RySan@;^ayT?0}+i~|^d(3JcZF#Mv7QhSOoV1H|hdyttr?-6;Dj{^5%L){_-(Ksl
z8<|aUPZSYaXcIa2d|%TU4MSB>Sq_zo%vtxv%90Q;X$j7w4?K)6*1NAl^vYT=0TP8=
z)p$|0J1WTfJ}v$_cgV>~T5|XpEwu^f=`1~we9bHWXhlT6>b2Xi*Yc#i)ZK3QnKlfF
zT%2rHJEbFfGXrXw4dPUsVHO1_4qtBa0B<025?GOU&e{mhn>I|G^AsgIr`8ce0Id)M
z!0kqYdB47$ar}uxNJuy%4Dec<fLY>M>YFq57|mn5M<I$5`6zR<+K33tL^-lEZyQyU
z6O_*?tLMzyOvXhLDXeNe&KBLP;3FdziJWZR>?}eTA~cv59*!^cyzKQ&4$NEhduXV1
z+wvy4^OdR}r<S5FgG8Hg*yd)oB!UTzi@AR!HBOD1KXjYwmno9!pcgPRe1-c~Rt7d^
zn-n}4;KP)5X`3kK?hGps>4ooLb1jRU*orV+dB*x&O2VOBfpJU{dd?q3TQ#AcX7$|d
zpW_rQdq*j_hDW-o*T=1*m?^t41v>ZFbgnQ|KYjI&q|HI%S+kQR7Xr((+DLD4;=Y=(
zKggE-O{U7-uN(UUs{<c?b_riN@?`7BiHn_ZJ)mH?j|Cjk@ylUc=2w*z6BVZ^pJ=Lm
zoA*W2bK5XymFw<Zu({_yo>8!1t!aKfo827+0j3y7-a_=nrXYF3c*51TMjn&$7)%#_
zGuZVu-#77EuCQ^$p*zx*FA%FG=fh4kvx@GpU4<y51MutG_OQD?u?h{;El=fzxiRGs
z?mXWwYTq^axRQ6ny*CiC{&UOS(BP3PC;hWu&aa&AR~Zew`R%ImaSoTx3s#PTHwp}6
z2bSnWWwW1X<mrcNromy8kH?aVC9X*h?#4=vax`21>06%n={pnNkDAJeNbNuN%c#%h
zp1hZ<_?mV%&vRT>P)s+w4Q-V>%o%O%)VXPAvni8dYbv|?;!ASr32tO0+IWQa<;Q%~
z@jR&!M><5GToc0u)=WC<)Co_#*Q5MZCj_V5Es*}w@RVXoep^rBj~ce)>kh)VXJ5YC
zdD<Vb;eYq`le>p3tL0K*TOzO8Cc+oFrpce}eV>c^FDJiXt{2#}YL<PvsPjEcA9}tn
zWtzC_SFu{k(#v@aT_dxk314e>JUE8-DkZONgv8?=-+T`W5&N~tcHfE@_5|Soy$7$m
zw{x!J8=^2=S!!L23bvv`+^8%8c!+AO4F<6^F8ZOK`fy9scQ^J*Da4UZyt0MI98fW$
zo$QL8m$JdycrePY(~_5=FN)S3U_LVttqYC8lRI^3oq~!)-PO)dpe}4B#F9=#f2SVT
z)^uzFpVf=BR@Ss{iqyk&iWYTAsdh;=bV>GT9%<-0*`_H6?#6L;%ZqAB7x8EAz7V#2
zh;Y+7e2i81qv3B+V_}>RZ1^6WYv@+ZV{zO9qrQSovcaZwBI6HhDr##P#pq@$e2M~F
zQmVB>(zF@wMy6PU^hOtnSXXLK4Libf3nZZjuGf$CaA%PLh!D-*e!c{2Bb|#@y%%G8
zFQw~TD$+4&=)K(2Yd_iRu+&>)OUb0NEO~Z2s|v12B`F`o+K4=G<V2`{*D}R}HAJ;F
zWwiMcpK6Eq=-Lyt89%RRo^^JQj}@|4IrfTCuho1~f4q*JeZTENuXT)WP(Z(JdViRG
z|Lr{8+atQ+G5sFUzCLn1T=arVxR!Dv=@wZlCb5#}HV~UA!<ZAgo)=?ICu+&`9BL0R
ze;OK)^zZQ&70?4%$jCugdUl#sqDyIPuUTJ)+hAtEU{=gvcKTpW(O_=F;DesQJo~|c
zFjzifAQC+EKre36S4er18m&E4WHoe4nZ-gv#KOnGVwb4ZGoWMN6J-k_Pa32paya1z
z#eE-mVulCO;6%mY80}$-;c&gx@N>7}M*HEW0K?{(;pT?nmL9{F$>G-d;kG5iqDihu
zq(PLZdha0I7eCTtHPUMoYq<qB#X|a3iLL|DYI-pnPlqn7KdnR#HlB@jUo*P#Z75w}
z_^JKSEA7!qtI;X9(boZ^Z(>HL(?_F?j4ClBouWp$60H+-<D9M0cVLsl9761+kdce-
z5YrH%n@#kx{n#0I6J^5KX#(?_Ju^Ts`B*ge$;||C8vF8nY!m!)i}U5S=*zE)FTZKO
z{BHH~hpMR(!9<xly4w(+FFN$L;pMLeQ};NcIhMG?N3_w4{n=o$mN)h(Zw#bHTb7|Q
z6`Lse&=_|+m}m-nHU`ZYgBR0a#U`jx8tR1^>^BY7YsS7zV|zy9Aev!x#xcg@M+C>Y
zH)y<K=4=nmkX&YaJ?6Q1{6KcB4Pod~2*iSn{~Z1jCOdIl*5cS{i_Zb3qJa}9h!YYS
z6OzRfQqLx&dnaV3CPaxZ1%6EIg;OD_DGy4C@M4$}1-4;iDfuPO<Vz)txhno-)wo>o
ztFu*>)cp8z7)d3=GI!PT{AtT`T$37Cvltzg|2CIA0I32#OosnCJ@P*r>vhKr^8U-O
z;5q+aj@KZgT?4m)dlLVe9$CiU$BDs_Rtm4Fc1N%DP1=q-jiwgrZGb6|1nvSGAiImN
z{zRu8<gOBA?djibsgf?v0jF+@2QEIi-d#8k9B|djRC}OwOhZN+&>NNX`Jx+X3SIFo
z&RD>=v*)85=CV${W>C0}$aq;$vREU1T0lTg#$(;{OxRD~O1WgLg@6#Lsi9ZWCLq^l
z%_Y_iZIcM`oPB{XMW+X#tk>l~K21q5Y9%HK$PFuLlRMlWio|F~$}GxlTX#^ZnYRFr
z;Gf*?kg&>yQZv`X6v!|3$~Sp0uP^acT$GLs=S{FO>QFb_6M-<tN!ub(z}Wzty=)Uw
zu?vrc#xMidnS7%0+yIooRn?||0N~IDrb}=WMKeiPCW0<(y7QQsD03$k!&?O9)PTA(
zVe-*Oo*xqcQW*wqymxPxfSoe?ce)!pfTc**U_6Q}VwxcYVUM+Y@AY@AJ;XFEqn1d#
z3RJ&1FtyoF2PA(XZb;;4`ovMGx@?FjfJL$z%2uaGk>dHaCx%4$D3D?Qn_pIVnE9ba
z*JN_tF>%Ja0MisyjFN^Ba=ID+&@E_zFFxf`j~R^ZVy*tTG_VB#QmvhmC0V>ndWMCS
zEr+x2DUn1nC5%0_3t-;98u})KYPa@TmlC<n2X`tB(#a~1HwVdNtC|u0*gq72cw5V&
zytHc?ECzY(LY$d+>t)V83ViKi$S%`twLnB8Re=lA4faeu(ogXh6P{1MK4!q2mfq^5
zT^oM%OA~vUf+nlHK+8#4RpnWs4)%Dy=wmThmp+ysLv+?-{3Y?@N02etbZr|PO(U?|
zk8^$a$FmW3nIstkgxisT)snuvfEh1xY}RCDN4hyxO1;q}Ca{Ltl(>S;1dx3d$;rfk
z4o(={@C7P+0xr&@w;)q)_&M^v4DgbJyR!f<8+iM&6c8)<(V*dUY52y20NI)ghg(``
z0%H8<`^X1T<D!B%pDuw%n6#d1n}K!qk@V|g%@=AWwt7~qL^1K%Vq0S3=ohxS349I@
zAS^&bPL<cx0ZFo38(cu&*Qp7a!6!H6ZS}&OzQ;Dq)KY#ozYxnn^jL6e{Q|h0=YEjn
z*cTh*5Z5{^<j{nT=Mg^}489Kuv}WFF=gwmEsrP>tr?ko-zF&R~yO{n9|0)-oFeH}H
zlQx`{M(ssc61c5v@eUL%qVx#%%tvQwp2BSi9IBUUKiP?jt>DS_WJ0Lo@F100o>wMB
zC4H|l=b^Mn5MQ>8w{5;-em%6OoCTmYjYYD5h!OJ96Z+;>#C;#9xp!znh!t3eM|`Px
zaBsR_JFaQ-7-AkMmlBUfd6hv_p-iBrk76v^PGGia5G!k{G9QxdL@f;rZJ%a#6I(;x
z0BhtrX<T3#pr2^w1w*Z_0UYZ-E`k`t=jZ_qBPTpZjTtX9zZv56Q+C^$PZq~c#7W=O
z7=ep5KWecm?1u(mLD>O1C(cm-X)jUhF^0g~s}~SeAD1*vEY@`NNS%Li%;5DJN=8|O
zl#5^HC}d9$^f^AVGvdPGnMRV{J)yqVyP$l3tB3RD4#9Y)N4#vp#Hnuq?)LTS$>)`N
zU!;~YsYX4VZ;{uuX?(_*9JdUy8xu#a>c5PpS%?<jcp|3~b$BE+Dn_zCj+y<7P3qg2
zl*@nGK3-6D25Sl^#{Wok_vADf?<(zr8c;53NDrA0>RS~Eq9lzJBq!1wzZ9}hkvNS1
z`V|8FB#KYmxwt=(Hqr1zX=7B*#Fqr`P4`p&>sM&Ge{)Yuv1n_}G*ahZeg*E-VaY$v
z$>v5~%0+hNwNhc0rD0Q7l`{~Mf40H?J`3drQ=TK?Q&TkzzXCrKph(zG0i{3Fq!L&Z
zC+!}4?Ea`BF#HP42tua`GyjR>L=7GUSD(`BI=tV1`4xidQeUjQo*teV@%zWGP%mj4
zIr2l8xwb-OtNc>CR9|gvlC0MeM26ep^#AEsSe6B%{_!ge7+3rGN?&S0)0=}MbR2(v
zva1}}X_<a_A;Beo+D#P1Nd^E>d>!13;KKXS0RoJjOWbK`<nJzxJ+*Whb<>Aom&LH2
z8E{Viv;VULU@(|jjp(4GyHu!2Z4}Q4o#jLbHlmi<^YJ;t334=>d$yKv`R$DLu#o4?
z<q$<|9ce2nn3s&N!%w%8cDP-6<&rmXdGg2u5WW4E80#5<kwu|je;uz+$xNykr!AK*
zPNgUnJq@@c5Z!IPSDVgkILH22xt9#Egjvro?0~2*wu`sV#C9g_FW7Xf&^O6{9j~o>
zhoekFdJ1<wq%eW0V=qsGRKoTX-0;m}mgt6{w-yN=gvK5TlK@gj+p-)pwol<?eZ=R4
zD}JlIWB+ozI?y9Wo{fdHe*?ac*nRrLCl>X{FQY$U;j6eE_QQ{-VfVJL?vDNJb9>Sd
zAv?PE*YT>gqli23y>8BP4z?sQC~tTBQ>;K?ZP_26jLu(I^<?bY8XW5iJ>I_a1f1H_
zp5H3|iCF*ZcxB<<IZyJw?y<WlytTtB7xLlbH90qaKsi>pKz0L@V$%jP51=+b+^`FN
z(3jS}-87Z>CH9=a^r!ZE_A~|tW=j*{9v3aFs&VVKbWhFgw`V%)&v^sbmRaUQ*k&c)
z#?@Od8~L+#L7dOYalVLVfoQU(>WXi)8O4?QdfN9c;|9n-(Ik)o5OY(}aL~8;kISWf
z-Q$AWn4U$RU?o=mFVtZh;5gs()~?1MI4U9~Z|RSa+)!hZpKbm8>tl8Vjs-eI2<hC9
zJoHtus$=yZ=w<<Uaq3$*@S&qC^1Ti2To0Z3bp0ZnDD0y~!y)}uT|r~nEzMI7z^(6*
z0wPeVpj~9##RHd_C*0>W25#=uUkRSI?fZ(eL&od6f7sD%dcl$WbvaA8fC>IFRxy1H
zbqm_R`fm4va)^1TpI#w%&KcITPd<dN{(5utT;@GEa{Rp?MQne<sqOG|(HB%%urSaT
z_vd?s@bBI?)Q%rbQEanye?C@R`Ls+Uf=Nt-wi|a|J<3EJQW5tFkWxA;6OCyJ!y4fP
zzmpkO&dRU@cwar?SIu+T`njW*u8#%*SYZa8qIqxVpmgcXV}vUb1E_HyFh7NvZHsjU
zgASpA&Qh5DqG9}u3JC-Mf@PENVUgX9S}{Y%=%VlTN6gZgPEnY-$&j5|#0@aBf>UVr
zb@Ur*)JbTx`YHrRVMYMaAE+UJeuNMki4MEOc}heq2Bk^?aJ3-gpLbs<VI~3KkO~uY
z0_5rFAaOJRF#B>uLd}u)rowojF7wvz_qZJsm2WQ{US(Q20&?KK#xV(bx8nUC0GwAr
zbL6`y8e$jA!a+lP*+RnU;CW1}x)V_q3!>A}Ep*@oz!pMh-lW88@rJBWk-W73r?30)
zYNGA-20RHNgph=QiZnH#bWoZYEEo_Gq^dj;P)Pu#Dh5;xMGP%;2t^2@7^GPdkP>=8
zdI^X~R{?1v(nWesc;0i)`<%7j@B0HXE3<OnGnv_YUq1nLEMyFW?!bW9dE_GiYK0;2
zjEp=v4;}<i(JZdh;Xg0;5MV{IVbNWy_Zb!uyYi5pt8Tm?1h?|+S_prKgR$~>b2|}%
zVdys&VIt%(3h%AgP|~3l*O75(_<N;Tz;U4-u^)gH%DQ|*BNYMI)_Bl0Rq|_R)W9$(
zorqc?2^<){FVCQf^27A;<Ru2!!w~rh&3AVgL}j6ZCke@uh-qT{EHPNj8_B<hnxG-;
znB-_qFX8&seSR0z95JDiL7mErADMCkkAT4-NX|UGbXZxW5bR8Wr4en`?;}=a!|EAU
zRKwW7B3GHq_N%Kmrn7kWzu=wwY|HLM$kTXli1-cAK&Fkz-<^<a^O0LwD6!!?Q^dG2
z5>kuxV8TN1L?`VmId}?(*w29YS@4PV$0>$;-~MqYK%4F_2H)gO?Cv8h@I?(cr5rVi
z(lbgt+w5`|1{@{%bW!*KKurkX(N;yb0)Q|&b*>5i*&^WT539}<tHK-31v#ET$qkKp
z9$T-Z77X+N%?(SXiF+f(T#_fyNU=_VvApC1KmvtD7~q4Uydwuo$Y*c~gB<>+N#~-b
zI};>+BvV`x*q9(`hT{^8$AlEEg$~6vM~`71XS{SVQb4O?tXgnlO(b3{#mA~tU>DH_
zuMk_RjelJn7NO<)o(~A`yg`#Cd|)9&h`fc4JKY0zcre=nMaM+WW1u50s7YFKS7UNp
z6X;+Be@0mR{l@6RRq&VvDwF|G094X^+E!6~q#Vx>fFcMdDyqgk`++#K2EeUR&uPHP
zzLc%{G$tMSZ0h004@Vxg000BCvPS=wMXy_-t<hd9NspNQ49khzR@B&C;%@Z{f$GHw
zCJq9nVHIdk+ey4>i6HJ|ljZ=St6xCH=jjzuFfo%B#Id3dmPDSMmp)I6`)H&oOnXM3
zL_JtPOKC|+Yfd{8#*bkDnEAlXth9jp&th!^9a(??Bksz&BU}-EoP>#$ML%CZD*ymJ
z6h;HXhhH6yXvyZr-QW#;!wuY&4M@&L1U3nwQtY-NgREyEXVFB>9|YISDI*qdp_frC
zAZ9_8=qe&Og?nr8hfqd-Ff~B<m6r?jpz>W4J^u;?k6iyMi(Xq7$c6^AJG!>2zNwqG
z$_sTaaPow;zBvLV*m;Em^T<bDE{L8Ko8#|9TAzW{0?g3ab5m$c$)mb;MwFp1i)5SM
zU~98tt0_wup%TU}=kppM9li54PlSqb1OU6veB=TIPlI*N=P!vCxQqMtdF81zcq;GZ
zZaE~ta61lt|5Wzf(Gx`}TIfDf>T%!Oc5qK~^}LD{uWkc-2IbbdRC_?d;b`^~$6^Bc
zT#@^0Z|k4JzGo@6#(7c`sl@)Uz6s}Z0uIuBg~L6C<+Ay=uP`n5mZ;PSfG?B;C50WN
z+FK<#%eZ;YJ}NA3xTP{!Of4@Rr!o&Oz@rA45l8KNE|>LOw&zAtd%_*($8WW~Bye9e
z6h!8yaqCt}WzxlbH0~V8YcD&O;_0K|^*_qiLmVwmls73|FA{K$x^kn;t&FH(8)aDP
zC_qb&BsfwXo69S&mQ^T!tZ?Dvlvi9S^NxJ;xz*N5+tDe>VQ8?bW};F>&4y8beS4*%
zQmK;mI@V~T<o6B7WUq=@2^Jr;S~&m-^<!~cE#MU_xF4bjR~;k3Kk9aC_{OcXS8mN7
zbyL?O40$=^39!JDwLAtal?BvJ_sEl4#fn<_D5PM8>vy-Zt`n8{vK5Mh)uY7@KNM?E
zK5;)(A*?J}r}w1xFrp^It$OUW*C9vy!jfBeTafR{2{R-<4~zQCGtiH{4pYMde<}0%
z48P^R#ymdhpxgUE`&jNNNvG3@x-&x!N>}UHgXMoVQimFBqb|DzMmmhKQ1?h0=jMT9
z84&9>hbbaIKgrjU1*ma|FW@~dbS9e4G~IVmCc3pXxcfEBA{s~B%IpMkB6~_c%)^{1
z9-_xuoQd$8ZZ6AC{F17uiB8moKZH*#<Zq`3+aahHBK)Hj>hv_>K?_JPw6$!LP<s_|
z1|O*z-uez`_}wUQLKaz?2iM!{ucPWeL3yyf2i3Kwt=sA0uPe=p0nMXtnqwmCI^Aw5
zX2%k>c*+9-Xr9t(8sX+3VTIMAmyF!YYMOL`>A-@m`v^-UUU4oKfek*bm^+I@2&l&G
z^o`u&?peS<6>OsVVj%})z|ctP?GPvN43h->GlIUrLf$Iy1Vx|<h#(DBumtX@<5bAQ
zybn(V*a{peHr<4sp;S|uT5?t?y)c{G84y0c3(UfFR5+q$iTu4UQ!deX=kk*G3?mi+
zu=Fr$7#&$955-QS;+k9M!W*V3;A_OFG1h02_j7%lr%&neQ$+tIT=E-v@Stk$@1wz?
z81Q3!aNgD6kC>hn3qku~@Pq!S4$)}!%2Lf}VXX(vSQY!@DveQn&98sjCJ=REX@S2m
zca6TZY@J1wS%5tIA$BxsVp-gz7_6Elkc%0xZ71o7Le;|uUY+92+j_D6`NifQRI)0c
z2j<~P{?}8g0+xQzI#@G`KT?<x*@1~1OnFtutPI~mNB(MvHoZ2Ib*sPORsyVIkP0p5
z1VSA}@|SORZ2!Jbp>$ARr9IZB8)12NIYG=jc{k=W#wZO!{4gU!p1FPBloV6GB*!my
zLR5%+cSyW*Rw<hyg3%O^2Z=9q82FVEuVzU0<p;SYAuGd%jp1KDenEfw((rk!uhQ5p
zvf+)EB;hpf$w+pk;oELRV=IorH&+rjkV4x)5Z`_wOm)K6{L=CU2<mI!HK+S`<vGZ&
z`7@nEjBI+!aZ!cj`xBJG^<?j?rXl01k><gX{o5mYSHA#xe0jyT#zU@mXX=WI;hS<U
z2Zji#zgo7lkh!lSkBDc~$p^_0UrY_RRkVQyhmlRHF!*q{*M71$8!2xjUCLP<TT_Uf
zVj(aVJO=bkft0v09MTFH(NP3*u959d4J?FaxEdxf9*^5pp%oFp9A)}d+Vq>M>D;f=
zQtoUKlMevn#xsN?`6R+WjF7UA{98F1oStA041nWaL=F(TiBK2`j3I#lR_pjKkls9B
z8GWYp>&(_Uq<!9uDO0fN&9Bxpa8z&dZx>WY3_lDF7RT{*>_aBGCWrEai-mc>=_51E
zgfjZvR@U4^)!g>iIiO<>%$egkFwfDcov@weuNl9#U7LEf%+B~{zE`6(jG)A>;y*yV
zBL;P6zip=F&Z1GQc_b#PTiSe)a|78SLY#DM<L!Cd<3r5j_#yK9KfpWCh>qHPRKL8e
z?+kAR5n4Zeg^=gl*Y)Rg2L7v+PV;-;rR=mN#fl~L>4`P`sLq3=<$DW|2Gm^!#3O7*
zqjkAJf^7B<ZDC%AI#5%vohmEf_*p5?;-t&QXVfT;XfuGisI;PSZN>57ik$NA-4%6H
zPwbm~im%HuM^1J4bS(SDF8Om%l-p%OioU|r&L|1yiVW(P#bRV^#r1Ei4<4>a9j+X`
z=j`X3w>!3!V(e&eYx!wM<uk$c^k++-k$lAuH%d;UNdQpZu>sD9mc?!`JD|0M&4!1Y
zP0u!4syExdZL&F=od>qMj%*w?-4HyvKjZaARmVp0-MNh~)f?XqY!7j^z7n>FZ*NaM
z+@5~6JyX3s`)zxkv%PqLvwWJfLg1{LZyjD3IehX07h4qpumD0_nQSql7s$6u#H7h$
zR6k;miftYJ!gqt1eW&~(Vi(5@<0bO<MeQ*j{Xj)Z6$dvLjG63ok3hu!!B&}bNBEq$
zPQ%}7ZH3S8pWQDnzXRm|L-fgizld!RH&PdAw0gS<n%9ThHT|1US2qI7mo9vM`EbI(
zRD4`G=VON94jtNU-<%^(h~uitk~!&TQ@IXN(d*t^^K|=Q=nNs?6)ZqEXk{l`jP(8D
z6N8f6FD?$PD6HGzUpA#&wRV5hQm$QvNHe!(QuLQn(M|rpgKq0SP<Q>jagrNiR2|2S
zLoh9S`|Q(;OBp>C^d;cng998D)AHh9sg0gLzgCt@TR-FhL!54oy`SkUNl+sAd%Rtm
z?2J3J*^Xz<_clmrd}CLh0NRFSwmHSNr^v#d@9g)b{;I6>{W$!={D`p*g)18^ZhWs-
z>fhi1!Xn@7MnC?s;o`_Oks{7@++flzUipz=cO>0fzlFYN4(w=VqzQ%xpIl}g*hIb0
z;>Bo$u{AmUOjyde>4CAGD22C}u9hP|jT%Q|aSdb7ukE^)cR<0JHp(^fXm`%Z!~z+#
zSl!DmHw-?>Uy4%Ccms~U)<hm1zb_mOuuiARbA7Bih#U$KngUpIJy%^OpYG+7yhznC
z0F17`t_=gY7tgrE09~W`kc!L_T&hA|_q_W<De7bvUA>zn_h~gyPqb&ovqtW-g+m<V
zHKwlhNPhRIA=tgUDjxADrN?z#0A4wtrAe;9MT=q+JtLIhA=4DK!rWR1^=3)#FCxrX
z6!0y+?3<OQgV%^Yngrn5g~T`KKj<l#SwxZF=l&LuO|?1mx@i7lSdiY5Sw_w~`)&)X
z2w+M&KrcxvxR=mWDKS?AJchFlY{J_*5AV|4P320;i0elMgoMB>cz7)iwoiZlX>}`B
zUkxaYa#?7Z>o2!ZX~ai}s!n>gEw<AiAFpf1{)uvVdVN({v-T5l*Sx_$CsP@~Dc}R3
z@UJBes7n6_s&7>H!IROG`TxD7BOok()@cu$O@>%=K^8X=K=66#l3+x+k%wp9PMS|g
z@SV-gzq5M|?IZ$-FE&<#^qXDOSUVD%K+(y4s*EW?Ku*?fpYi3Fr*p3+g!!tUyV+kt
zx|VkK1cqN*|G`iLS7IAY$N@ni`-x-jw!r;$McWEeS5HmAXR{XH$vxj&llSp`Ri>+!
z8u`x@)|!;Pn_z?9tS$YSdsZElbH0`8J7CCl(_Cc&o{zUa!R9*&R8Je-2_rXxQ$IbI
ziP?ABFHrDVRksJ|wsTbojL63_(GRw<=46|Fl}p#*kU@sv<2XJK{OBr(rhIvAL)hWR
zx7*d}OcxF=Az5w?Cd)olVG{H$Q0N!e07h2o!L{#0LYj`eMXMvl!=lvp2VoTJzJ(zw
zJzM0%Oh%17GRT1jk_k^1?ZPxgG^N7@Qm}A^w}pBwhbB$cTbz%ID0FHX%D&7Dgzvk9
zP&LzO7C6Es$)e)$hhNGh2<~WEuh)WZ#9eXKo=6dT<Rbg{=HbkV$F~}+J5xz5{jyK*
z4S36@c~83>dUk%jS(af0kI2?!p<A-jkLn$?P@|~(WJ8Joo*(gDGx)Z+c=2W)Ky_$7
zG``0f%)LQUq)l@SX2CeMR%HV*B-|RKfXoE2EsD{*M0uj)JBOro)v6DdxkV?-x|kl^
zBYJ5n-}>;&NS-=z0hQ=JZY)VL)Y|t~$*}FjFWsWe0vFwXE-ht11PB3i{$5%m|EoYs
zLs<Vn{?1b28m>d+`R7~)^o-7!VZoSQ9Jg!*Ar{<deWdDe`L0nyMq4UYt!F4jHOHKO
zGDv*WXm?g;1~^i2D{OhHD@Vh0w*ONhru((fE~>ZzDOLkZt@}$Rtmx*4VA{ZiJ)*Dn
zJvl{dKxw*ZjikAM=z-OhLoa?UNoOJ>%R`kUEvUNnMMitw^p2*#;x{q=OuPOrD6}Z3
z@Z7I2?WFl^ql{w?4vk)0^|zGJiC0>{z8=4z3UA*J{2CY+J2SBC@<ME(HoZhNam-@d
z^HYXgsnyZC&et;EPGv7Qe>2t)cbycEx9uf<5#g99l`p9h*BAgvBiqM(rhm_@SYt)u
zc*&Yb^#fzUWu~9^*d>b3uhL#2zw<8Lkvd<CWcSOjbBSbs-|$}J6Sr420FXK3Lt4OP
zDSV=V>+U)O-Ah7urF9*gu`Iy6@Dk(Rop8g%tGrnwqmf2$diO_@`p6E(O74Z!m?N?&
zkYgJ0GMVOB)ZI)f2w^b}7?4*TqRmHlXW=eYk#9UQ))Kp(Z0p}ljrptCMJCB+h3feD
zLhg^)R1p4q>}k&CnGScCC)!RXgxdUx(;&z^*SmMNYk}+Oi--6IwOCH2gPw4y`@bF^
zbV+z5{K`>$$0Zl}wsZN8H7Uztq@y?kE%Mv*wfrJ!%iOGtF@{I8{M(Af^KbI2)LTxo
z`~s-^=I{z;lEJhtcz#{g&W7q6;ghZ|)N9go#;CXCbyL?{6f!XC;c{sv>Jf6zb!yED
zV@W5bl-|-t`4w^)C&CXrz>FH@tvnuVsi~c4JzV`;<YZ1B`b<<_9?I(GLcOTdn}vpP
zb(UI@DteSp<Uq#{egL6550Udo9J(Rt&y|Z=VVlDRG%u6qygb^t1)k<(gY;mz)0t1|
zcJ1ej#)#uhq?h(ekr6y{=N)=O<vcQ<s3T@CZw>OBlLIw*@TA(=X4}+|dO=mc5u<MB
zC+&v;zsv`F%IADW`FQp<1+=>#$nV>-{F+v=akkHYLx?$ie$VWm?><M^*bC$nwrk~c
z!d>%YSRvcB?-^)m?MZDrf2|2%?39s8M#AA;+^Sn349IKUUp|un0PPdGAN1LCEWQJN
zbEoU=Hy4`Z%>B%okHu~-YJZmATJAO%d|=jm{oU3|KY?TUY?$-O0{4$%vN8Yyjsn{M
zy5Rr4D{(wf_#sWz`S6+@oOd_Z_kbX!q~(dQ;eE)MU1uU77Q@m8NO7V*ZZ&pDkao~P
zM3W>0J)bISwH-7noZUu;?tT*dG28N`kvwQsX+CqZ<C*5|=Y<X}mh6W-^y3eX7qE=9
z6^=G}hp2;lKs=AD#uU5U&R-&)347!wqB0;i+EefdFD#?Xv};{|AE{+z`^=YLy->T^
z@-0*J5elX%_BQTAxRk*uG4l9uOCsOZp43tzA=Ohudik98UAGUJ#)8+$YTpe4-sl=H
z{dsr4>OcWf)-sGlbU$bWCZ+@@0Rf{mXSM~<wO@|3i~-j}_CFY{27mR(aRh{hQI99T
zoLm2%b%P>u8gzX3CAw|qX?-?`o~n!jM%STR+<L{GLOs}#DUkff^9U&juZVzxsIVc=
zwmv&VlpFs*6^mGE4;>|kAvK##mZGte+1&py%C=J@;qt|QQv}Z6qp=e&zQ>$g;p+T2
zsKOXc+~yK8PATbN#BMR$gZkQKVd#VL5)n&LkV*!gt+I!95UFbU3fqC=Ru54}O@pOk
zj(C&qIPNo-SL4dOQBr2wF%|iy+K(veGBKl+Php8;*YD^a`8p#F)?P9Z;#Gcrm33b8
z(6U~;P$=7hM_$J@0VKbwx>&0<JTwZ%mXq?3$3}*0^iP=rP0vl?mw?(R2zxWd;nY=x
zR4kkl78LVx94}nM-{duXMmuUXFH(?>wR@GT?Vr&KEf`k3nRvxNFIrnn=Y4?Kwd=ch
z_FnT#xE9+x(^-Swn=~DWP1^?L9&M%FK?)+5)ddClNnDBUWU=^s$cM7L9A!BcDG*Af
zUFz7g=jJEHTszmPX!UxgQA}>PW7NSK>ExS>&GI>K7F(1{5ShW?dg-M$&0elYpf>pC
zjxtuT@ICv~<fcZuE|2Qn_OlWXG&_urv=`$3dCTE0Yd~U$d4Tl-AnxLxCr|+MGzcru
znFW9$2vH0c9Z(+$HLu_iA#(Qs58N<Q9u1;Iig3i{S9ol~fcu^LhpdIi&pxauM0AeI
z;rN`TT?X`j2ny*#CZLd2C{eneJ3YYQCe%<2dG6Q<jqX`iuzV?WNSX%Yjr=PIazXC`
zQEj^OJ=Daf2>V+)F<s=l&67ynv`q!&Q<^>{3;DQwFCS0Rl{@+0>-HQl7CBj%?@;Bd
zLdXu+Ry)r=bRbBi%=@lQN1EyV;+N}%Mip<L8L%Z&pKzUx+l|>NzC_%=yFzri=ZXgS
zx#zkwUx&lxF?55#f+CVk)pWgJ@IIYGq8FsW)ZIreTdKxAXK9J5>Af-ZJk*>Zeh~VP
zG?@Pna(R|}SPb{@Xh2{$uygo8@GixxFH|xA{to}oPxEs>n*%8X{r#i_vjiNV(Q+D^
z81#RLY0b~rx%dBH@Z|plP3a*#@+K4HH1(z=T|EPYl@Eq>S$67$p3gA6<7n8W`*J6y
z^<Pg)+<f<lw_>2F1c}ohyC}j^Z!V~uFLbW4&wRy#dU|91NO$3s5|1L>nq99Hu@n!p
zy4rchc%<HgN6^3Gf-d}smV~_ad$f#0qxLc9boJuGAKWLU*S76tML&CydnEPUytFKM
ziDDVy2rB`h0O8?_`JJjvVMWB<C4-=|d^{gcdHsobeP6mebMK=+j<Z7!0<VrrSaJUN
z?cQjIoUgE;wpUed{NYlU&&&_VAl?Idxby(M0BcdTcA#7E=?%ypn20<>7j8r5MyuDT
z9sA1jF?z+yn|X?b5&6!4mjQ-nQ=ofp87-%H)9gTcR0%Jbh>sIGxhwp57N!37@A3b=
z%4BPP@Hcm+5n%8sCkXOb(;*C!>7t*3^RxR10xQUa>OBzG7$Im8GkzT8d0Zcj{#PLB
zY3TUdA9eyBNB<0^M5mmaaF#g?OkVx6Rit;FKq1*#`WqPZhJ0#nrlom!-4{)-k6uYZ
zL1DpZK9Na{vKK@5jlalF+SmK?xuyCGePJWhlq@mJ>`Bn=G&V;}(nYt&_2*mW#H*jV
z+~y-loB^1jE9`b^;ltS?P|-)k({`eMBGh$2G5bdL{MlDI@p=6Wd0U?w*)-YC4}15S
ztXY@dyV#E>+F<Wx7ba!jmkFtC9#6dS+u+_T;iqdr!`1Qqzu#5cnB=1?XO3q{Tn#uL
z{0;?6R6v7mW!2=W8Fo>#)#v?2-qpxaU8%gc)ixJu&fQa%0-gs*e%bZcQOa3iA$=`X
zaevUT%Da<)W|lf|e3d`rEtC~3{ZHwB%slJ(u~<ltr=2AfE#(>)jI*|t(r_VP06BPm
zhr?$bE*%bQ`0Q>wneA*aRAe0>ngRRkubYjVT9&hcsfiHhlN=BLc0JYua<}$uC=j{D
z!w_@2W1N`lNC$U<#j)-YPY2E+_v?~SwvDBs_k_2#TJgjdM*UvNMvCK#p1eyLuscS*
zO|RE|;}>%>_rzsa-GD;~gXvI__lNiC`<=6>@lgR*w|fHj3e_>v+Ma%BJyJSnpFb2$
ziFNBOjj|KO32J@VQ#yXv-dyLZ<ZGw?e)JLX<7?Q!Be#afTa~iy9{aCI_|PIGrX)48
z6w{3b5R0`>x~S<5GZ@=xBQAl?0B+Tc!}FI+zccSu{+^i)!XVON=M42k+hoDA%EI6_
z;WtT$aOlM|wpX##5Xntb3`rVXUl`2W#R|Lr)eSbrY0~=eLo_OA$mUZmIfJ*fhJ9<=
z+Wt1}IRLMJd7OUGa`-WpMQIK>_M~9{Q>Ni@VIyVVWVcUS)5{{WO|elcpX>#nt2d(S
za018r5Coz~)m)Za&>=)7hR>);Z^aN)eLl&W4L+8u+Hf9y0f$J+kuZE7s_1UNKge0;
zv{JxS47^TMg!fpMwoa%1eC=Krojd2loL}f(lROYw)`V018pqcuj){=u0!;-BHT|Y>
zCj%o~jrFX?z+)NV-fpmprIV8cOK*RAFa2biUCLHMvQ$ZPySvX)>a}pnE%wFKj0Z9a
zcP~!7$-ajxcOH(p-hJh@PgBK-=ZfLyYT}&JNSr{mj}&#wPXHZO)ZrhIpbi})jszFf
zw~A>P+lmH&Q4w{ahKmL~r5VC(#|yrfWg<~BMDNZs%^24ilDT1v>_H;X6Kw!$ScnFA
zVHpO2OWD}=muB||gwklAv}9V^cYTD#mELP1w0noq@i}|j{XkK|?ZPXaOJ^s-kXQ5K
zU0zqoC&#J_X^5Wz{z|uL&9n?Z7C7yoFKy6KzAWp6vU_@WLLFQr`_UKHd3pC-jzX1*
zlXqDB%QkwDii+zr_}2JK`@OAw4gQxvF!?45p7<%3u@qen*;kqg3y~zNCaii|Ks56z
zUs;4%yfZQXs$O4JO7=RE?Yeg=GvVSg2gHhiypJy>hF&>)tyt>l4cJ=uC2Pd;YX?`G
z3`73Em|tr1Q=BAp12C?8vH7mqQoBsYC0oDDa;eLr*UDt$0ziCumwx1~Im5@L1Ce9u
z2dC=|{p1SXFAV&tT5W&lfBSy7*ENL9k7)Cx7ZxwK#Q)W@(jNp2!6zV`v;3C^2KOVb
z-l`F0=TVQf**&eW3Kp8p3p-~rDxA8??H0+8uxc9>DPOHujmeL4GWjk(xY~ea=f`m4
z!2YLYCDde0T4Jrq(5xUnxou4L#9FgOOhICf$++T`wH7?PAgQEn{IKs@D-rdc-e@wR
zp1RiNZ1(=~|Fo=-V%|TQG?_d;xW*>4->3a)o7CA@>!6?t8GNQwdJ^2xEwe%{bvk8m
zV*Mj6rZ7{^^vC%t>s@sAa<~BFhnesCCkCqM#W~aIi>d3~FU*QwS+!4JE?@tg7gO}c
z$@Hhq;Cc^}U6gyj{pU{03JX=77ixMFcc-kc$*i~_xqZg*#72K-OmSh(){MiYje$OP
zadF9(v)i4G!C_Phv(a>Rr)6cztfZ{Beb%dd<I8+ZNyVh;oX_CK*Hv~&)t~k`|3UWP
zHj2sOGn)^T*c^tLGi&#<=cy+)N6@j%Iytk2h%1|;q8->OQ0_vE@8)-mU}@7iv&Hz-
z%`th7d1;Fkdoiheb6hpHw9UzE>G9y^1h%7;eV@IQwy`;h6D;ctHCuizu{C9A&Ye|Y
zFK3_F`e6}U)}3Sa`_+}LX?#anPYL^XuJ6`QqF{MnquEM9>eh_2dHFyud!@L1>lZ1u
zd}z|_PubwsEV-ln>mT-?s*SBVieSYspZRL7#P)ocdBy17j@5<}+Y7YViZMC!wU#T}
zi}VgIc+#=P_T64$2v$y=GhgpY-CllSUO8>mvEEa@{W~wVa>mJgV_<N5h1pR#d%t7j
z>&EsUmSEL<sQKoo1ZTC$ylOGIV{_sJXRR}~YB|SzYx)Xjy|1HcrKDqP)|ay}ELhE1
zZ8YCrOyz7&nOCp(c5JVdbGGJVt2ZajIqQR*?bVLz?LQry?F|kG5T$^z6bPOIB~xH@
z3Y<wn^ifc&6trl7Fg9Q}K0t&VAW9DqX9h_21?*o9z=#G)V*?N217*p9^7KGOW}tFk
z;NjIkRnZ`IY>*~CNQ)eVr3W2n2A%8+(ply9^#|)=gZ1&j2IOEvdhmH>ut{IA*=n!_
zm$Af#SmHx2lSA<I5F2L5)xHqhRW5HywZ~Gg<Ef5hsxzJH%B0@xqq?tBNur^i*wDN9
zP%m;QnI7uH4E5^^^<NF8h=v7X!-DZ)RB~7tJuHG5#;pOza8|=;qT%t_@I-ug5;>es
z4}Z)If6^D8wi?b5jd+fY$izovlexTQ#4BdRo4$zL)rdUN$O3F+AwII09Lc0dmN6qM
z`XZ}VBUz$Rwb-aSd{hHDs)-)e!i;L`i(;=vb&5uJVWYe8(LLnoK6>;3GkT~m`s-@+
zuxQLEHf9VTGeM4-qQ^`#V`lndW>;h8MPnDSvCH__6>{t<J$9WLyV)1Jy&4OM(ZJd?
zh&2uBO@pP-;H5M~KMl1;LyN@;Ysc-jj{6sQB3>FN*&nxmEe<2LLxvo(j+gb0mrsdT
zER9$0k3YN?uPT<HuAQK1ouK8Nz;J2wz?LSQ>`%~HOTdXG>S-tHTPGTLCmN<Co-a*o
z%SkX<OSBMsbW!_}rS+ri$;8VF*YPQjuJ%8&U3)|nOS0Eax^A81=$+)8lH^*NbhAIn
feJzP3mh7pWeAhbJ%R8BzlI+9p&WlC^z={6?{@#6l

literal 0
HcmV?d00001

diff --git a/docs/images/designer/tests/toolbar.png b/docs/images/designer/tests/toolbar.png
new file mode 100644
index 0000000000000000000000000000000000000000..8728ce7730dcc0fd7ceac615278eb907957c0814
GIT binary patch
literal 10841
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
O1r%k~WU8e;2LB&e>>1hs

literal 0
HcmV?d00001

diff --git a/docs/images/designer/usages.gif b/docs/images/designer/usages.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d637f46f14326ee3b383bbfe5cdb20e1309f4c2b
GIT binary patch
literal 72909
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

literal 0
HcmV?d00001

diff --git a/docs/pages/pmd/userdocs/extending/designer_reference.md b/docs/pages/pmd/userdocs/extending/designer_reference.md
new file mode 100644
index 0000000000..de1293707f
--- /dev/null
+++ b/docs/pages/pmd/userdocs/extending/designer_reference.md
@@ -0,0 +1,254 @@
+---
+title: The rule designer
+short_title: Rule designer
+tags: [extending, userdocs]
+summary: "Learn about the usage and features of the rule designer."
+last_updated: August 2019 (6.18.0)
+permalink: pmd_userdocs_extending_designer_reference.html
+author: Clément Fournier <clement.fournier76@gmail.com>
+---
+
+## Installing, running, updating
+
+The designer is part of PMD's binary distributions. To **install a distribution**, see the [documentation page about installing PMD](pmd_userdocs_installation.html).
+
+The app needs JRE 1.8 or above to run. Be aware that on JRE 11+, the JavaFX distribution should be installed separately. Visit the [JavaFX download page](https://gluonhq.com/products/javafx/) to download a distribution, extract it, and set the JAVAFX_HOME environment variable.
+
+If the bin directory of your PMD distribution is on your shell's path, then you can **launch the app** with
+
+    run.sh designer on Linux/ OSX
+    designer.bat on Windows
+
+
+{% include note.html content="pmd-ui.jar is not a runnable jar, because it doesn't include any PMD language module, or PMD Core. " %}
+
+
+This is to allow easy updating, and let you choose the dependencies you're interested in.
+The available language modules are those on the classpath of the app's JVM. That's why it's recommended to use the standard PMD startup scripts, which setup the classpath with the available PMD libraries.
+
+
+### Updating
+
+The latest version of the designer currently **works with PMD 6.12.0 and above**. You can simply replace pmd-ui-6.X.Y.jar with the [latest build](https://github.com/pmd/pmd-designer/releases) in the installation folder of your PMD distribution, and run it normally. Note that updating may cause some persisted state to get lost, for example the code snippet.
+
+
+# Usage reference
+
+
+The rule designer is both a tool to inspect the tree on which PMD rules run on, and to write XPath rules in an integrated manner. This page describes the features that enable this.
+
+
+## AST inspection
+
+
+![Designer top UI](images/designer/designer-top.png)
+
+
+You can enter source code in the middle zone. 
+* Make sure to select the correct language and version for your source code:
+   * Language is set app-wide with the blue button in the menu-bar
+   * If the language has several language versions, you can select a specific one with the choicebox just above the code area
+* If the source is valid using this setting, the tree to the right will update to display the AST of the code
+* When selecting a node, the left panel updates with information about a node
+
+### Selecting nodes
+
+There are several ways to focus a node for inspection:
+* **From the tree view:** just click on an item
+   * Since 6.16.0, the tree view is also searchable: press CTRL+F when it's focused, or click on the `Search` button and enter a search query. You can cycle through results with `CTRL+TAB` or `CTRL+F3`, and cycle back with `CTRL+SHIFT+TAB` or `CTRL+SHIFT+F3`
+* **From the crumb bar:** the crumb bar below the code area shows the ancestors of the currently selected node, and is empty if you have no selection:
+
+{% details Ancestor crumb bar demo %}
+
+![Ancestor crumb bar demo](images/designer/parents-bar.gif)
+
+{% enddetails %}
+
+
+* **From the source code:** maintain **CTRL** for a second until the code area becomes mostly blue. Then, each node you hover over on the code area will be selected automatically. Example:
+
+{% details CTRL-hover selection demo %}
+
+![CTRL-hover selection demo](images/designer/hover-selection.gif)
+
+{% enddetails %}
+
+### Node inspection
+
+The left panel displays the following information:
+
+* **XPath attributes:** this basically are all the attributes available in XPath queries. Those attributes are wrappers around a Java getter, so you can obtain documentation on the relevant Javadoc (that's not yet integrated into the designer)
+* **Metrics:** for nodes that support it, the values of metrics are displayed in this panel
+* **Scopes:** This is java specific and displays some representation of the symbol table. You mostly don't need it. If you select eg a variable id, its usages are already highlighted automatically without opening the panel:
+
+![Usages highlight example](images/designer/usages.gif)
+
+
+## XPath rule design
+
+
+The bottom part of the UI is dedicated to designing XPath rules:
+
+![Bottom UI](images/designer/bottom-ui.png)
+
+
+The center is an XPath expression. As you type it, the matched nodes are updated on the right, and highlighted on the code area. Autocompletion is available on some languages.
+
+Note: you can keep several rules in the editor (there's a tab for each of them).
+
+### Rule properties
+
+Above the XPath expression area, the **"Properties"** button allows you to [define new properties](pmd_userdocs_extending_defining_properties.html#for-xpath-rules) for your prototype rule. You can also edit the existing properties.
+
+When you click on it, a small popup appears:
+
+![Property definition popup](images/designer/property-defs.png)
+
+The popup contains in the center a list of currently defined properties, displaying their name and expected type.
+
+* **Adding**: the "Add property" button adds a row to the table
+* **Deleting**: each item has a "Trash" button to delete the property
+* **Editing**: each property can be further edited by clicking on the "Ellipsis" button on the right
+
+#### Editing properties
+
+The edition menu of a property looks like the following:
+
+![Property edition popup](images/designer/property-edit.png)
+
+* You can edit the name, description, expected type, and default value of the property
+* All this information is exported with the rule definition (see [Exporting to an XML rule](#exporting-to-an-xml-rule))
+* The default value is used unless you're editing a test case, and you set a custom value for the test case. TODO link
+
+### Exporting to an XML rule
+
+The little **export icon** next to the gear icon opens a menu to export your rule. This menu lets you fill-in the metadata necessary for an XPath rule to be included in a ruleset.
+
+{% details Rule export demo %}
+
+
+![Rule export demo](images/designer/export-example.gif)
+
+{% enddetails %}
+
+## Testing a rule
+
+PMD has its own XML format to describe rule tests and execute them using our test framework. The designer includes a test editor, which allows you to edit such files or create a new one directly as you edit the rule. This is what the panel left of the XPath expression area is for.
+
+See also [the test framework documentation](pmd_userdocs_extending_testing.html).
+
+### Testing model
+
+A rule test describes 
+* the configuration of the rule
+* the source on which to run
+* the expected violations
+* a description (to name the test)
+
+When executing a test, the rule is run on the source with the given configuration, then the violations it finds are compared to the expected ones.
+
+### Adding tests
+
+Tests can be added in one of four ways:
+* **From an XML file:** if you already have a test XML file for your tests, you can load all the tests it defines easily.
+
+{% details Test import demo %}
+
+![Test import example](images/designer/tests/import.gif)
+
+{% enddetails %}
+
+
+* **From the current source:** A new test case with a default configuration is created, with the source that is currently in the editor
+
+* **With an empty source:** A new test case with a default configuration is created, with an empty source file. You must edit the source yourself then.
+
+* **From an existing test case:** Each test case list item has a "Copy" button which duplicates the test and loads the new one.
+
+### Test status
+
+In the designer, the test panel is a list of test cases. Their status (passing, failing, error, unknown) is color coded. 
+
+{% details Test status color coding examples %}
+
+All tests passing (green):
+
+![All green](images/designer/tests/all-green.png)
+
+A failing test (orange):
+
+![Failing](images/designer/tests/failing.png)
+
+{% enddetails %}
+
+### Loading a test case
+
+Each test has a piece of source, which you can edit independently of the others, when the test is **loaded in the editor**. Additional rule configuration options can be chosen when the test is loaded.
+
+Loading is done with the **Load** button:
+
+
+{% details Test loading demo %}
+
+![Test loading demo](images/designer/tests/load.gif)
+
+{% enddetails %}
+
+
+Only one test case may be loaded at a time. If the loaded test is unloaded, the editor reverts back to the state it had before the first test case was loaded.
+
+### Editing a loaded test case
+
+When a test is loaded, *the source you edit in the code area is the source of the test*. Changes are independent from other tests, and from the piece of source that was previously in the editor.
+
+When a test is loaded, an additional toolbar shows up at the top of the code area:
+
+![Failing](images/designer/tests/toolbar.png)
+
+#### Expected violations
+
+The **"Expected violations"** button is used to add or edit the expected violations.
+
+Initially the list of violations is empty. You can add violations by **dragging and dropping nodes** onto the button or its popup, from any control that displays nodes. For example:
+
+{% details Adding a violation demo %}
+
+
+![Add violation gif](images/designer/tests/add-violation.gif)
+
+{% enddetails %}
+
+#### Test case rule configuration
+
+Rule properties can be configured for each test case independently using the **"Property mapping"** button. For example:
+
+{% details Test rule property demo %}
+
+![Configure properties demo](images/designer/tests/property.gif)
+
+{% enddetails %}
+
+This configuration will be used when executing the test to check its status.
+
+### Exporting tests
+
+When you're done editing tests, it's a good idea to save the test file to an XML file. Exporting is done using the **"Export"** button above the list of test cases:
+
+{% details Test export demo %}
+
+![Test export demo](images/designer/tests/export.gif)
+
+{% enddetails %}
+
+Note that the exported file does not contain any information about the rule. The rule must be in a ruleset file somewhere else.
+
+If you want to use PMD's test framework to use the test file in your build, please refer to the conventions explained in [the test framework documentation](pmd_userdocs_extending_testing.html#where-to-place-the-test-code).
+
+
+
+
+
+
+
+
+

From 959c98c906611e1061bc8ba14508ade8eef14b4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Thu, 1 Aug 2019 00:57:58 +0200
Subject: [PATCH 355/371] Fix dead link detection for image links

---
 .../net/sourceforge/pmd/docs/DeadLinksChecker.java | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java
index ca2e400942..256872ea05 100644
--- a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java
+++ b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java
@@ -49,7 +49,7 @@ public class DeadLinksChecker {
     private static final boolean CHECK_EXTERNAL_LINKS = Boolean.parseBoolean(System.getProperty(CHECK_EXTERNAL_LINKS_PROPERTY));
 
     // Markdown-Link: something in []'s followed by something in ()'s
-    private static final Pattern LOCAL_LINK_PATTERN = Pattern.compile("\\[.*?\\]\\((.*?)\\)");
+    private static final Pattern LOCAL_LINK_PATTERN = Pattern.compile("(!?)\\[.*?\\]\\((.*?)\\)");
 
     // Markdown permalink-header and captions
     private static final Pattern MD_HEADER_PERMALINK = Pattern.compile("permalink:\\s*(.*)");
@@ -78,8 +78,10 @@ public class DeadLinksChecker {
 
     public void checkDeadLinks(Path rootDirectory) {
         final Path pagesDirectory = rootDirectory.resolve("docs/pages");
+        final Path docsDirectory = rootDirectory.resolve("docs");
 
         if (!Files.isDirectory(pagesDirectory)) {
+            // docsDirectory is implicitly checked by this statement too
             LOG.severe("can't check for dead links, didn't find \"pages\" directory at: " + pagesDirectory);
             System.exit(1);
         }
@@ -111,7 +113,8 @@ public class DeadLinksChecker {
                 linkCheck:
                 while (matcher.find()) {
                     final String linkText = matcher.group();
-                    final String linkTarget = matcher.group(1);
+                    final boolean isImageLink = !matcher.group(1).isEmpty();
+                    final String linkTarget = matcher.group(2);
                     boolean linkOk;
 
                     if (linkTarget.charAt(0) == '/') {
@@ -168,7 +171,12 @@ public class DeadLinksChecker {
                             continue;
                         }
 
-                        linkOk = linkTarget.isEmpty() || htmlPages.contains(linkTarget);
+                        if (isImageLink) {
+                            Path localResource = docsDirectory.resolve(linkTarget);
+                            linkOk = Files.exists(localResource);
+                        } else {
+                            linkOk = linkTarget.isEmpty() || htmlPages.contains(linkTarget);
+                        }
                     }
 
                     if (!linkOk) {

From 46a8d87fb7a76a187e6f959171a67eee9562075c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Thu, 1 Aug 2019 01:37:32 +0200
Subject: [PATCH 356/371] Try to fix confused image reference

Build of #1956 is failing but just on macosx...
See https://travis-ci.org/pmd/pmd/jobs/566211322

Idk what's the problem, maybe it's because '(?!)' looks
like a negative lookahead
---
 .../main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java
index 256872ea05..1ab25d40a6 100644
--- a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java
+++ b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/DeadLinksChecker.java
@@ -49,7 +49,7 @@ public class DeadLinksChecker {
     private static final boolean CHECK_EXTERNAL_LINKS = Boolean.parseBoolean(System.getProperty(CHECK_EXTERNAL_LINKS_PROPERTY));
 
     // Markdown-Link: something in []'s followed by something in ()'s
-    private static final Pattern LOCAL_LINK_PATTERN = Pattern.compile("(!?)\\[.*?\\]\\((.*?)\\)");
+    private static final Pattern LOCAL_LINK_PATTERN = Pattern.compile("(!)?\\[.*?]\\((.*?)\\)");
 
     // Markdown permalink-header and captions
     private static final Pattern MD_HEADER_PERMALINK = Pattern.compile("permalink:\\s*(.*)");
@@ -113,7 +113,7 @@ public class DeadLinksChecker {
                 linkCheck:
                 while (matcher.find()) {
                     final String linkText = matcher.group();
-                    final boolean isImageLink = !matcher.group(1).isEmpty();
+                    final boolean isImageLink = matcher.group(1) != null;
                     final String linkTarget = matcher.group(2);
                     boolean linkOk;
 

From f9d8898f7ad998fa55872a5aa55235eaf16652a4 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 4 Aug 2019 10:29:35 +0200
Subject: [PATCH 357/371] [java] Fix FP for UnnecessaryFQNRule with sub
 packages

---
 .../UnnecessaryFullyQualifiedNameRule.java        | 12 ++++++++++--
 .../unnecessaryfullyqualifiedname/TestClass.java  | 11 +++++++++++
 .../subpackage/MyClass.java                       | 10 ++++++++++
 .../xml/UnnecessaryFullyQualifiedName.xml         | 15 +++++++++++++++
 4 files changed, 46 insertions(+), 2 deletions(-)
 create mode 100644 pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryfullyqualifiedname/TestClass.java
 create mode 100644 pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryfullyqualifiedname/subpackage/MyClass.java

diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java
index fd248a50f9..66e892edb0 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryFullyQualifiedNameRule.java
@@ -184,7 +184,7 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule {
         if (matches.isEmpty()) {
             if (isJavaLangImplicit(node)) {
                 addViolation(data, node, new Object[] { node.getImage(), "java.lang.*", "implicit "});
-            } else if (isSamePackage(name)) {
+            } else if (isSamePackage(node, name)) {
                 addViolation(data, node, new Object[] { node.getImage(), currentPackage + ".*", "same package "});
             }
         } else {
@@ -240,7 +240,15 @@ public class UnnecessaryFullyQualifiedNameRule extends AbstractJavaRule {
         return false;
     }
 
-    private boolean isSamePackage(String name) {
+    private boolean isSamePackage(TypeNode node, String name) {
+        if (node.getType() != null) {
+            // with type resolution we can do an exact package match
+            Package packageOfType = node.getType().getPackage();
+            if (packageOfType != null) {
+                return node.getType().getPackage().getName().equals(currentPackage);
+            }
+        }
+
         int i = name.lastIndexOf('.');
         while (i > 0) {
             name = name.substring(0, i);
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryfullyqualifiedname/TestClass.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryfullyqualifiedname/TestClass.java
new file mode 100644
index 0000000000..814ff50461
--- /dev/null
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryfullyqualifiedname/TestClass.java
@@ -0,0 +1,11 @@
+/*
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryfullyqualifiedname;
+
+
+
+public class TestClass {
+
+}
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryfullyqualifiedname/subpackage/MyClass.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryfullyqualifiedname/subpackage/MyClass.java
new file mode 100644
index 0000000000..035b8728b1
--- /dev/null
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryfullyqualifiedname/subpackage/MyClass.java
@@ -0,0 +1,10 @@
+/*
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryfullyqualifiedname.subpackage;
+
+
+public class MyClass {
+
+}
diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml
index 25a35a57dc..034f13910c 100644
--- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml
+++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryFullyQualifiedName.xml
@@ -575,4 +575,19 @@ class length {
         ]]></code>
     </test-code>
 
+    <test-code>
+        <description>False positive when subpackage is referenced</description>
+        <expected-problems>1</expected-problems>
+        <expected-linenumbers>6</expected-linenumbers>
+        <code><![CDATA[
+package net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryfullyqualifiedname;
+
+public class FQNTest {
+    public void foo() {
+        new net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryfullyqualifiedname.subpackage.MyClass(); // no violation
+        new net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryfullyqualifiedname.TestClass(); // violation
+    }
+}
+        ]]></code>
+    </test-code>
 </test-data>

From 1b7d0f857634d5fd96fe6200946cd128ae80cbd6 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sun, 4 Aug 2019 10:40:46 +0200
Subject: [PATCH 358/371] Update release notes, fixes #1951

---
 docs/pages/release_notes.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 5f63319150..4ce1108fbd 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -16,6 +16,9 @@ This is a {{ site.pmd.release_type }} release.
 
 ### Fixed Issues
 
+*   java-codestyle:
+    *   [#1951](https://github.com/pmd/pmd/issues/1951): \[java] UnnecessaryFullyQualifiedName rule triggered when variable name clashes with package name
+
 ### API Changes
 
 #### Deprecated APIs

From 56a99794177012f7ae69fb2690decfde8396e8fb Mon Sep 17 00:00:00 2001
From: Tomi De Lucca <tomas.delucca@mercadolibre.com>
Date: Sun, 4 Aug 2019 14:23:52 -0300
Subject: [PATCH 359/371] Documentation changes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-Authored-By: Juan Martín Sotuyo Dodero <juansotuyo@gmail.com>
---
 pmd-swift/src/main/resources/category/swift/bestpractices.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pmd-swift/src/main/resources/category/swift/bestpractices.xml b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
index 037dd27794..e8d30354e6 100644
--- a/pmd-swift/src/main/resources/category/swift/bestpractices.xml
+++ b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
@@ -29,8 +29,8 @@ Rules which enforce generally accepted best practices.
           externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_bestpractices.html#unavailablefunction">
         <description>
             Due to Objective-C and Swift interoperability some functions are often required to be implemented but
-            aren't really needed. Is extremely common that the sole implementation of the functions consist of throwing
-            a fatal error. Marking this functions as unavailable prevents them from being executed while still making
+            aren't really needed. It is extremely common that the sole implementation of the functions consist of throwing
+            a fatal error. Marking these functions as unavailable prevents them from being executed while still making
             the compiler happy.
         </description>
         <priority>3</priority>

From 0f89950bfc22ea46934e7b773a848b5f6d7ce5e7 Mon Sep 17 00:00:00 2001
From: Tomi De Lucca <tomas.delucca@mercadolibre.com>
Date: Sun, 4 Aug 2019 14:49:45 -0300
Subject: [PATCH 360/371] PR Review

---
 docs/pages/pmd/rules/swift/bestpractices.md     | 17 +++++++++++++++--
 .../bestpractices/UnavailableFunctionRule.java  |  4 ++--
 .../resources/category/swift/bestpractices.xml  | 12 ++++++++++++
 3 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/docs/pages/pmd/rules/swift/bestpractices.md b/docs/pages/pmd/rules/swift/bestpractices.md
index 7c3deadd09..ff05637a8d 100644
--- a/docs/pages/pmd/rules/swift/bestpractices.md
+++ b/docs/pages/pmd/rules/swift/bestpractices.md
@@ -33,12 +33,25 @@ It's difficult to review the auto-generated code and allow concurrent modificati
 **Priority:** Medium (3)
 
 Due to Objective-C and Swift interoperability some functions are often required to be implemented but
-aren't really needed. Is extremely common that the sole implementation of the functions consist of throwing
-a fatal error. Marking this functions as unavailable prevents them from being executed while still making
+aren't really needed. It is extremely common that the sole implementation of the functions consist of throwing
+a fatal error. Marking these functions as unavailable prevents them from being executed while still making
 the compiler happy.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.swift.rule.bestpractices.UnavailableFunctionRule](https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java)
 
+**Example(s):**
+
+``` swift
+required init?(coder _: NSCoder) { // violation, no unavailable attribute added to the function declaration
+    fatalError("init(coder:) has not been implemented")
+}
+
+@available(*, unavailable)         // no violation
+required init?(coder _: NSCoder) {
+    fatalError("init(coder:) has not been implemented")
+}
+```
+
 **Use this rule by referencing it:**
 ``` xml
 <rule ref="category/swift/bestpractices.xml/UnavailableFunction" />
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
index 9daa297273..21d71465ed 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
@@ -46,7 +46,7 @@ public class UnavailableFunctionRule extends AbstractSwiftRule<Void> {
         return null;
     }
 
-    private Boolean shouldIncludeUnavailableModifier(final SwiftParser.CodeBlockContext ctx) {
+    private boolean shouldIncludeUnavailableModifier(final SwiftParser.CodeBlockContext ctx) {
         if (ctx == null || ctx.statements() == null) {
             return false;
         }
@@ -56,7 +56,7 @@ public class UnavailableFunctionRule extends AbstractSwiftRule<Void> {
         return statements.size() == 1 && FATAL_ERROR.equals(statements.get(0).getStart().getText());
     }
 
-    private Boolean hasUnavailableModifier(final List<SwiftParser.AttributeContext> attributes) {
+    private boolean hasUnavailableModifier(final List<SwiftParser.AttributeContext> attributes) {
         return attributes.stream().anyMatch(atr -> AVAILABLE_UNAVAILABLE.equals(atr.getText()));
     }
 }
diff --git a/pmd-swift/src/main/resources/category/swift/bestpractices.xml b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
index e8d30354e6..d9bef9c21e 100644
--- a/pmd-swift/src/main/resources/category/swift/bestpractices.xml
+++ b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
@@ -34,5 +34,17 @@ Rules which enforce generally accepted best practices.
             the compiler happy.
         </description>
         <priority>3</priority>
+        <example>
+            <![CDATA[
+required init?(coder _: NSCoder) { // violation, no unavailable attribute added to the function declaration
+    fatalError("init(coder:) has not been implemented")
+}
+
+@available(*, unavailable)         // no violation
+required init?(coder _: NSCoder) {
+    fatalError("init(coder:) has not been implemented")
+}
+]]>
+        </example>
     </rule>
 </ruleset>

From 89ede940d32e37f7e98c06c0c6ad14d956ce25db Mon Sep 17 00:00:00 2001
From: Tomi De Lucca <tomas.delucca@mercadolibre.com>
Date: Sun, 4 Aug 2019 15:25:30 -0300
Subject: [PATCH 361/371] Addressed some PR comments

---
 docs/pages/pmd/rules/swift.md                 |  5 ++-
 docs/pages/pmd/rules/swift/bestpractices.md   | 15 +++++++
 docs/pages/pmd/rules/swift/errorprone.md      | 41 ++++++++++++++++++-
 .../category/swift/bestpractices.xml          | 12 ++++++
 .../resources/category/swift/errorprone.xml   | 16 ++++++++
 5 files changed, 85 insertions(+), 4 deletions(-)

diff --git a/docs/pages/pmd/rules/swift.md b/docs/pages/pmd/rules/swift.md
index 47e34a46c7..9bce958a67 100644
--- a/docs/pages/pmd/rules/swift.md
+++ b/docs/pages/pmd/rules/swift.md
@@ -11,11 +11,12 @@ folder: pmd/rules
 
 {% include callout.html content="Rules which enforce generally accepted best practices." %}
 
-*   [ProhibitedInterfaceBuilder](pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder): Creating views using Interface Builder should be avoided.
+*   [ProhibitedInterfaceBuilder](pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder): Creating views using Interface Builder should be avoided.            Defining views by code allow...
 
 ## Error Prone
 
 {% include callout.html content="Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors." %}
 
-*   [ForceTry](pmd_rules_swift_errorprone.html#forcetry): Force tries should be avoided.
+*   [ForceCast](pmd_rules_swift_errorprone.html#forcecast): Force casts should be avoided. This may lead to a crash if it's not used carefully.            Fo...
+*   [ForceTry](pmd_rules_swift_errorprone.html#forcetry): Force tries should be avoided. If the code being wrapped happens to raise and exception, our appl...
 
diff --git a/docs/pages/pmd/rules/swift/bestpractices.md b/docs/pages/pmd/rules/swift/bestpractices.md
index abc5bab0c7..280901e7fc 100644
--- a/docs/pages/pmd/rules/swift/bestpractices.md
+++ b/docs/pages/pmd/rules/swift/bestpractices.md
@@ -16,9 +16,24 @@ language: Swift
 **Priority:** Medium High (2)
 
 Creating views using Interface Builder should be avoided.
+Defining views by code allows the compiler to detect issues that otherwise will be runtime errors.
+It's difficult to review the auto-generated code and allow concurrent modifications of those files.
+Consider building views programmatically.
 
 **This rule is defined by the following Java class:** [net.sourceforge.pmd.lang.swift.rule.bestpractices.ProhibitedInterfaceBuilderRule](https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java)
 
+**Example(s):**
+
+``` swift
+{%raw%}class ViewController: UIViewController {
+    @IBOutlet var label: UILabel! // violation, referencing a IBOutlet
+}
+
+class ViewController: UIViewController {
+    var label: UILabel!
+}{%endraw%}
+```
+
 **Use this rule by referencing it:**
 ``` xml
 <rule ref="category/swift/bestpractices.xml/ProhibitedInterfaceBuilder" />
diff --git a/docs/pages/pmd/rules/swift/errorprone.md b/docs/pages/pmd/rules/swift/errorprone.md
index d94255a80a..555ff0a4ed 100644
--- a/docs/pages/pmd/rules/swift/errorprone.md
+++ b/docs/pages/pmd/rules/swift/errorprone.md
@@ -5,23 +5,60 @@ permalink: pmd_rules_swift_errorprone.html
 folder: pmd/rules/swift
 sidebaractiveurl: /pmd_rules_swift.html
 editmepath: ../pmd-swift/src/main/resources/category/swift/errorprone.xml
-keywords: Error Prone, ForceTry
+keywords: Error Prone, ForceCast, ForceTry
 language: Swift
 ---
 <!-- DO NOT EDIT THIS FILE. This file is generated from file ../pmd-swift/src/main/resources/category/swift/errorprone.xml. -->
+## ForceCast
+
+**Since:** PMD 7.0
+
+**Priority:** Medium (3)
+
+Force casts should be avoided. This may lead to a crash if it's not used carefully.
+For example assuming a JSON property has a given type, or your reused Cell has a certain contract.
+Consider using conditional casting and handling the resulting optional.
+
+**This rule is defined by the following XPath expression:**
+``` xpath
+//TypeCastingOperatorContext[starts-with(@Text,'as!')]
+```
+
+**Example(s):**
+
+``` swift
+{%raw%}NSNumber() as! Int // violation, force casting
+
+NSNumber() as? Int // no violation{%endraw%}
+```
+
+**Use this rule by referencing it:**
+``` xml
+<rule ref="category/swift/errorprone.xml/ForceCast" />
+```
+
 ## ForceTry
 
 **Since:** PMD 7.0
 
 **Priority:** Medium (3)
 
-Force tries should be avoided.
+Force tries should be avoided. If the code being wrapped happens to raise and exception, our application will crash.
+Consider using a conditional try and handling the resulting optional, or wrapping the try statement in a do-catch block.
 
 **This rule is defined by the following XPath expression:**
 ``` xpath
 //TryOperatorContext[@Text='try!']
 ```
 
+**Example(s):**
+
+``` swift
+{%raw%}let x = try! someThrowingFunction() // violation, force trying
+
+let x = try? someThrowingFunction() // no violation{%endraw%}
+```
+
 **Use this rule by referencing it:**
 ``` xml
 <rule ref="category/swift/errorprone.xml/ForceTry" />
diff --git a/pmd-swift/src/main/resources/category/swift/bestpractices.xml b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
index 194910248e..0b6067994f 100644
--- a/pmd-swift/src/main/resources/category/swift/bestpractices.xml
+++ b/pmd-swift/src/main/resources/category/swift/bestpractices.xml
@@ -18,7 +18,19 @@ Rules which enforce generally accepted best practices.
             Creating views using Interface Builder should be avoided.
             Defining views by code allows the compiler to detect issues that otherwise will be runtime errors.
             It's difficult to review the auto-generated code and allow concurrent modifications of those files.
+            Consider building views programmatically.
         </description>
         <priority>2</priority>
+        <example>
+            <![CDATA[
+class ViewController: UIViewController {
+    @IBOutlet var label: UILabel! // violation, referencing a IBOutlet
+}
+
+class ViewController: UIViewController {
+    var label: UILabel!
+}
+]]>
+        </example>
     </rule>
 </ruleset>
diff --git a/pmd-swift/src/main/resources/category/swift/errorprone.xml b/pmd-swift/src/main/resources/category/swift/errorprone.xml
index 857555d3be..f1f0c6e015 100644
--- a/pmd-swift/src/main/resources/category/swift/errorprone.xml
+++ b/pmd-swift/src/main/resources/category/swift/errorprone.xml
@@ -18,6 +18,7 @@
         <description>
             Force casts should be avoided. This may lead to a crash if it's not used carefully.
             For example assuming a JSON property has a given type, or your reused Cell has a certain contract.
+            Consider using conditional casting and handling the resulting optional.
         </description>
         <priority>3</priority>
         <properties>
@@ -30,6 +31,13 @@
             </property>
             <property name="version" value="2.0"/>
         </properties>
+        <example>
+            <![CDATA[
+NSNumber() as! Int // violation, force casting
+
+NSNumber() as? Int // no violation
+]]>
+        </example>
     </rule>
 
     <rule name="ForceTry"
@@ -40,6 +48,7 @@
           externalInfoUrl="http://pmd.github.io/pmd/pmd_rules_swift_errorprone.html#forcetry">
         <description>
             Force tries should be avoided. If the code being wrapped happens to raise and exception, our application will crash.
+            Consider using a conditional try and handling the resulting optional, or wrapping the try statement in a do-catch block.
         </description>
         <priority>3</priority>
         <properties>
@@ -52,5 +61,12 @@
             </property>
             <property name="version" value="2.0"/>
         </properties>
+        <example>
+            <![CDATA[
+let x = try! someThrowingFunction() // violation, force trying
+
+let x = try? someThrowingFunction() // no violation
+]]>
+        </example>
     </rule>
 </ruleset>
\ No newline at end of file

From 85404876f4ca2a712ce655403752225558ad7370 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= <clement.fournier76@gmail.com>
Date: Mon, 5 Aug 2019 15:49:02 +0200
Subject: [PATCH 362/371] Fix swift source generation bound to process-sources

By convention it should be the phase generate-sources
---
 pmd-swift/pom.xml | 13 +++++++------
 pom.xml           |  2 ++
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml
index 4ca080ae2d..1a36cd7acf 100644
--- a/pmd-swift/pom.xml
+++ b/pmd-swift/pom.xml
@@ -16,14 +16,19 @@
 
     <build>
         <plugins>
+            <plugin>
+                <!-- this needs to run before the ant task -->
+                <groupId>org.antlr</groupId>
+                <artifactId>antlr4-maven-plugin</artifactId>
+            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-antrun-plugin</artifactId>
                 <inherited>true</inherited>
                 <executions>
                     <execution>
-                        <id>process-sources</id>
-                        <phase>process-sources</phase>
+                        <id>antlr-generation</id>
+                        <phase>generate-sources</phase>
                         <configuration>
                             <target>
                                 <ant antfile="src/main/ant/antlr4.xml">
@@ -37,10 +42,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.antlr</groupId>
-                <artifactId>antlr4-maven-plugin</artifactId>
-            </plugin>
 
             <plugin>
                 <artifactId>maven-resources-plugin</artifactId>
diff --git a/pom.xml b/pom.xml
index 0fdb148c96..f61d60702c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -304,6 +304,8 @@ Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code
                             <goals>
                                 <goal>antlr4</goal>
                             </goals>
+                            <!-- This is default but let's be clear -->
+                            <phase>generate-sources</phase>
                         </execution>
                     </executions>
                 </plugin>

From 4a2943510ce0c2a563e50c82ac81fe9483300eeb Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Fri, 9 Aug 2019 21:37:46 +0200
Subject: [PATCH 363/371] Fix excludes when creating src dist zip

The biggest part was the "vendor/**" stuff from ruby.
This is created during the build and should not be
part of the source distribution.

Also added a test to assert that some sensitive data
from .travis/ doesn't accidentally leak.
---
 .../src/main/resources/assemblies/pmd-src.xml | 26 ++++++++++++++-----
 .../pmd/it/SourceDistributionIT.java          | 23 +++++++++++++++-
 .../sourceforge/pmd/it/ZipFileExtractor.java  | 23 ++++++++++++++++
 3 files changed, 65 insertions(+), 7 deletions(-)

diff --git a/pmd-dist/src/main/resources/assemblies/pmd-src.xml b/pmd-dist/src/main/resources/assemblies/pmd-src.xml
index 8c8820d03c..a049343e8a 100644
--- a/pmd-dist/src/main/resources/assemblies/pmd-src.xml
+++ b/pmd-dist/src/main/resources/assemblies/pmd-src.xml
@@ -11,22 +11,36 @@
 
     <fileSets>
         <fileSet>
-            <useDefaultExcludes>true</useDefaultExcludes>
+            <useDefaultExcludes>false</useDefaultExcludes>
             <directory>${project.basedir}/..</directory>
             <outputDirectory>/</outputDirectory>
             <excludes>
+                <exclude>.git/**</exclude>
                 <exclude>**/target/**</exclude>
                 <exclude>**/bin/**</exclude>
-                <exclude>**/.settings</exclude>
+
+                <exclude>**/.settings/**</exclude>
                 <exclude>**/.project</exclude>
                 <exclude>**/.classpath</exclude>
                 <exclude>**/.checkstyle</exclude>
                 <exclude>**/.pmd</exclude>
+                <exclude>**/.pmdruleset.xml</exclude>
                 <exclude>**/.ruleset</exclude>
-                <exclude>**/.git</exclude>
-                <exclude>**/.travis/secrets.tar</exclude>
-                <exclude>**/.travis/id_rsa</exclude>
-                <exclude>**/.travis/*.gpg</exclude>
+                <exclude>**/.idea/**</exclude>
+                <exclude>**/*.iml</exclude>
+
+                <exclude>.travis/secrets.tar</exclude>
+                <exclude>.travis/id_rsa</exclude>
+                <exclude>.travis/*.gpg</exclude>
+
+                <exclude>.bundle/**</exclude>
+                <exclude>vendor/**</exclude>
+                <exclude>Gemfile.lock</exclude>
+                <exclude>docs/.bundle/**</exclude>
+                <exclude>docs/vendor/**</exclude>
+                <exclude>docs/_site/**</exclude>
+
+                <exclude>pmd-core/dependency-reduced-pom.xml</exclude>
             </excludes>
             <directoryMode>0755</directoryMode>
             <fileMode>0644</fileMode>
diff --git a/pmd-dist/src/test/java/net/sourceforge/pmd/it/SourceDistributionIT.java b/pmd-dist/src/test/java/net/sourceforge/pmd/it/SourceDistributionIT.java
index 0564cb0433..d483644813 100644
--- a/pmd-dist/src/test/java/net/sourceforge/pmd/it/SourceDistributionIT.java
+++ b/pmd-dist/src/test/java/net/sourceforge/pmd/it/SourceDistributionIT.java
@@ -7,18 +7,39 @@ package net.sourceforge.pmd.it;
 import static org.junit.Assert.assertTrue;
 
 import java.io.File;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.regex.Pattern;
 
+import org.junit.Assert;
 import org.junit.Test;
 
 import net.sourceforge.pmd.PMDVersion;
 
 public class SourceDistributionIT {
+    private static final String BASE_PATH = "pmd-src-" + PMDVersion.VERSION;
+    private static final Pattern GPG_PATTERN = Pattern.compile(Pattern.quote(BASE_PATH + "/.travis/") + ".+\\.[gG][pP][gG]");
+
     private File getSourceDistribution() {
-        return new File(".", "target/pmd-src-" + PMDVersion.VERSION + ".zip");
+        return new File(".", "target/" + BASE_PATH + ".zip");
     }
 
     @Test
     public void testFileExistence() {
         assertTrue(getSourceDistribution().exists());
     }
+
+    @Test
+    public void verifyExclusions() throws Exception {
+        Set<String> exclusions = new HashSet<>();
+        exclusions.add(BASE_PATH + "/.travis/secrets.tar");
+        exclusions.add(BASE_PATH + "/.travis/id_rsa");
+        List<String> files = ZipFileExtractor.readZipFile(getSourceDistribution().toPath());
+
+        for (String file : files) {
+            Assert.assertFalse("File " + file + " must not be included", exclusions.contains(file)
+                    || GPG_PATTERN.matcher(file).matches());
+        }
+    }
 }
diff --git a/pmd-dist/src/test/java/net/sourceforge/pmd/it/ZipFileExtractor.java b/pmd-dist/src/test/java/net/sourceforge/pmd/it/ZipFileExtractor.java
index 0e024dda14..d31051fd04 100644
--- a/pmd-dist/src/test/java/net/sourceforge/pmd/it/ZipFileExtractor.java
+++ b/pmd-dist/src/test/java/net/sourceforge/pmd/it/ZipFileExtractor.java
@@ -11,7 +11,9 @@ import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.nio.file.Path;
+import java.util.ArrayList;
 import java.util.Enumeration;
+import java.util.List;
 
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipFile;
@@ -59,4 +61,25 @@ public class ZipFileExtractor {
             zip.close();
         }
     }
+
+    /**
+     * Compiles a list of all the files/directories contained in the given zip file.
+     * @param zipPath the zip file to look into
+     * @return list of all entries
+     * @throws Exception if any error happens during read of the zip file
+     */
+    public static List<String> readZipFile(Path zipPath) throws Exception {
+        List<String> result = new ArrayList<>();
+        ZipFile zip = new ZipFile(zipPath.toFile());
+        try {
+            Enumeration<ZipArchiveEntry> entries = zip.getEntries();
+            while (entries.hasMoreElements()) {
+                ZipArchiveEntry entry = entries.nextElement();
+                result.add(entry.getName());
+            }
+        } finally {
+            zip.close();
+        }
+        return result;
+    }
 }

From 331a9f941d676ebd72e3453a78e0053f6882bc49 Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 10 Aug 2019 22:14:27 +0200
Subject: [PATCH 364/371] (doc) Improve css for displaying details/summary tag

---
 docs/css/pmd-customstyles.css | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/css/pmd-customstyles.css b/docs/css/pmd-customstyles.css
index 136529ec4c..2738de8db1 100644
--- a/docs/css/pmd-customstyles.css
+++ b/docs/css/pmd-customstyles.css
@@ -40,6 +40,8 @@ details summary {
     border-radius: 3px;
     padding: 5px 10px;
     outline: none;
+    cursor: pointer;
+    display: list-item;
 }
 
 details summary::after {

From fc9a3cd5a036971c5e26dba046040620abadf95d Mon Sep 17 00:00:00 2001
From: Andreas Dangel <andreas.dangel@pmd-code.org>
Date: Sat, 10 Aug 2019 22:21:06 +0200
Subject: [PATCH 365/371] Update release notes - add rule designer
 documentation

---
 docs/pages/release_notes.md | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 5f63319150..fbef9c5376 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,6 +14,12 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### New rule designer documentation
+
+The documentation for the rule designer is now available on the main PMD documentation page:
+[Rule Designer Reference](pmd_userdocs_extending_designer_reference.html). Check it out to learn
+about the usage and features of the rule designer.
+
 ### Fixed Issues
 
 ### API Changes

From 76c1af5e5e6dfe398e5c0fd0f1d3ea2eeb7ffe99 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Mon, 12 Aug 2019 00:36:27 -0300
Subject: [PATCH 366/371] Filter out terminal nodes

---
 .../net/sourceforge/pmd/lang/ast/AntlrBaseNode.java  | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
index f3440f0f7c..021e10663e 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
@@ -4,6 +4,8 @@
 
 package net.sourceforge.pmd.lang.ast;
 
+import java.util.stream.Stream;
+
 import org.antlr.v4.runtime.ParserRuleContext;
 
 import net.sourceforge.pmd.lang.dfa.DataFlowNode;
@@ -84,9 +86,9 @@ public class AntlrBaseNode extends ParserRuleContext implements AntlrNode {
     @Override
     public Node jjtGetChild(final int index) {
         try {
-            return (Node) children.get(index);
+            return (Node) childrenStream().skip(index).findFirst().orElse(null);
         } catch (final ClassCastException e) {
-            return new AntlrBaseNode();
+            throw new IllegalArgumentException("Accessing invalid Antlr node", e);
         }
     }
 
@@ -97,7 +99,11 @@ public class AntlrBaseNode extends ParserRuleContext implements AntlrNode {
 
     @Override
     public int jjtGetNumChildren() {
-        return children == null ? 0 : children.size();
+        return (int) childrenStream().count();
+    }
+    
+    private Stream<Node> childrenStream() {
+        return children == null ? Stream.empty() : children.stream().filter(e -> e instanceof Node).map(e -> (Node) e);
     }
 
     // TODO: should we make it abstract due to the comment in AbstractNode ?

From 53eba5549cfc398ef562398b8f803b4b598c0d0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Mon, 12 Aug 2019 01:25:42 -0300
Subject: [PATCH 367/371] Fix RuleChain indexation

 - Remove Context suffix from Antlr grammar XPath names
---
 pmd-core/src/main/java/net/sourceforge/pmd/Rule.java |  6 ++++--
 .../pmd/lang/antlr/AbstractAntlrVisitor.java         |  9 ++++++---
 .../net/sourceforge/pmd/lang/ast/AntlrBaseNode.java  |  3 ++-
 .../net/sourceforge/pmd/lang/rule/AbstractRule.java  | 12 +++++++++---
 .../ProhibitedInterfaceBuilderRule.java              | 12 ++++++++++--
 .../src/main/resources/category/swift/errorprone.xml |  4 ++--
 6 files changed, 33 insertions(+), 13 deletions(-)

diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/Rule.java b/pmd-core/src/main/java/net/sourceforge/pmd/Rule.java
index 00f4272a0f..c8a7328a8f 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/Rule.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/Rule.java
@@ -421,10 +421,12 @@ public interface Rule extends PropertySource {
     void addRuleChainVisit(Class<? extends Node> nodeClass);
 
     /**
-     * Adds an AST node by name to be visited by the Rule on the RuleChain.
+     * Adds an AST node by XPath name to be visited by the Rule on the RuleChain.
      *
      * @param astNodeName
-     *            the AST node to add to the RuleChain visit list as string
+     *            the XPath name of the node to add to the RuleChain visit list
+     *
+     * @see Node#getXPathNodeName()
      */
     void addRuleChainVisit(String astNodeName);
 
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java
index 99d62a03fb..2a8c7a832e 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/antlr/AbstractAntlrVisitor.java
@@ -28,17 +28,20 @@ public abstract class AbstractAntlrVisitor<T> extends AbstractRule implements Pa
 
     @Override
     public T visit(ParseTree tree) {
+        if (tree instanceof AntlrBaseNode) {
+            return visit((AntlrBaseNode) tree);
+        }
         return tree.accept(this);
     }
 
     @Override
     public T visitChildren(RuleNode node) {
         T result = this.defaultResult();
-        int n = node.getChildCount();
+        final int n = node.getChildCount();
 
         for (int i = 0; i < n && this.shouldVisitNextChild(node, result); ++i) {
-            ParseTree c = node.getChild(i);
-            T childResult = c.accept(this);
+            final ParseTree c = node.getChild(i);
+            final T childResult = visit(c);
             result = this.aggregateResult(result, childResult);
         }
 
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
index 021e10663e..c3db1237e2 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AntlrBaseNode.java
@@ -109,6 +109,7 @@ public class AntlrBaseNode extends ParserRuleContext implements AntlrNode {
     // TODO: should we make it abstract due to the comment in AbstractNode ?
     @Override
     public String getXPathNodeName() {
-        return getClass().getSimpleName();
+        final String simpleName = getClass().getSimpleName();
+        return simpleName.substring(0, simpleName.length() - "Context".length());
     }
 }
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java
index af4ddbf1b0..0c9bc0923a 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractRule.java
@@ -317,11 +317,17 @@ public abstract class AbstractRule extends AbstractPropertySource implements Rul
 
     @Override
     public void addRuleChainVisit(Class<? extends Node> nodeClass) {
-        if (!nodeClass.getSimpleName().startsWith("AST")) {
+        // FIXME : These assume the implementation of getXPathNodeName() for all nodes…
+        final String simpleName = nodeClass.getSimpleName();
+        
+        if (simpleName.startsWith("AST")) { // JavaCC node
             // Classes under the Comment hierarchy and stuff need to be refactored in the Java AST
-            throw new IllegalArgumentException("Node class does not start with 'AST' prefix: " + nodeClass);
+            addRuleChainVisit(nodeClass.getSimpleName().substring("AST".length()));
+        } else if (nodeClass.getSimpleName().endsWith("Context")) { // Antlr node
+            addRuleChainVisit(nodeClass.getSimpleName().substring(0, simpleName.length() - "Context".length()));
+        } else {
+            throw new IllegalArgumentException("Node class does not start with 'AST' prefix nor ends with 'Context' suffix: " + nodeClass);
         }
-        addRuleChainVisit(nodeClass.getSimpleName().substring("AST".length()));
     }
 
     @Override
diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
index dad3efe9df..41cc4226d2 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
@@ -9,14 +9,22 @@ import java.util.List;
 import net.sourceforge.pmd.lang.ast.Node;
 import net.sourceforge.pmd.lang.swift.AbstractSwiftRule;
 import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser.FunctionHeadContext;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser.VariableDeclarationHeadContext;
 
 public class ProhibitedInterfaceBuilderRule extends AbstractSwiftRule<Boolean> {
 
     private static final String IBACTION = "@IBAction";
     private static final String IBOUTLET = "@IBOutlet";
 
+    public ProhibitedInterfaceBuilderRule() {
+        super();
+        addRuleChainVisit(FunctionHeadContext.class);
+        addRuleChainVisit(VariableDeclarationHeadContext.class);
+    }
+    
     @Override
-    public Boolean visitFunctionHead(SwiftParser.FunctionHeadContext ctx) {
+    public Boolean visitFunctionHead(FunctionHeadContext ctx) {
         if (ctx == null || ctx.attributes() == null) {
             return false;
         }
@@ -25,7 +33,7 @@ public class ProhibitedInterfaceBuilderRule extends AbstractSwiftRule<Boolean> {
     }
 
     @Override
-    public Boolean visitVariableDeclarationHead(final SwiftParser.VariableDeclarationHeadContext ctx) {
+    public Boolean visitVariableDeclarationHead(final VariableDeclarationHeadContext ctx) {
         if (ctx == null || ctx.attributes() == null) {
             return false;
         }
diff --git a/pmd-swift/src/main/resources/category/swift/errorprone.xml b/pmd-swift/src/main/resources/category/swift/errorprone.xml
index f1f0c6e015..288b3ed278 100644
--- a/pmd-swift/src/main/resources/category/swift/errorprone.xml
+++ b/pmd-swift/src/main/resources/category/swift/errorprone.xml
@@ -25,7 +25,7 @@
             <property name="xpath">
                 <value>
                     <![CDATA[
-//TypeCastingOperatorContext[starts-with(@Text,'as!')]
+//TypeCastingOperator[starts-with(@Text,'as!')]
 ]]>
                 </value>
             </property>
@@ -55,7 +55,7 @@ NSNumber() as? Int // no violation
             <property name="xpath">
                 <value>
 <![CDATA[
-//TryOperatorContext[@Text='try!']
+//TryOperator[@Text='try!']
 ]]>
                 </value>
             </property>

From af72ddda9dc3b66a5942e9fdd72ca20291ff4cfa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Tue, 13 Aug 2019 17:24:21 -0300
Subject: [PATCH 368/371] Update changelog, refs #1877

---
 docs/pages/7_0_0_release_notes.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/pages/7_0_0_release_notes.md b/docs/pages/7_0_0_release_notes.md
index d4f21b7c07..9761a82500 100644
--- a/docs/pages/7_0_0_release_notes.md
+++ b/docs/pages/7_0_0_release_notes.md
@@ -19,6 +19,17 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### Swift support
+
+PMD now fully supports Swift, not only for CPD, but we are pleased to announce we are shipping a number of rules starting with PMD 7.
+
+* {% rule "swift/errorprone/ForceCast" %} (`swift-errorprone`) flags all force casts, making sure you are defensively considering all types.
+  Having the application crash shouldn't be an option.
+* {% rule "swift/errorprone/ForceTry" %} (`swift-errorprone`) flags all force tries, making sure you are defensively handling exceptions.
+  Having the application crash shouldn't be an option.
+* {% rule "swift/bestpractices/ProhibitedInterfaceBuilder" %} (`swift-bestpractices`) flags any usage of interface builder. Interface builder
+  files are prone to merge conflicts, and are impossible to code review, so larger teams usually try to avoid it or reduce it's usage.
+
 ### Fixed Issues
 
 ### API Changes
@@ -37,6 +48,7 @@ This is a {{ site.pmd.release_type }} release.
 *   [#1658](https://github.com/pmd/pmd/pull/1658): \[core] Node support for Antlr-based languages - [Matías Fraga](https://github.com/matifraga)
 *   [#1698](https://github.com/pmd/pmd/pull/1698): \[core] [swift] Antlr Base Parser adapter and Swift Implementation - [Lucas Soncini](https://github.com/lsoncini)
 *   [#1774](https://github.com/pmd/pmd/pull/1774): \[core] Antlr visitor rules - [Lucas Soncini](https://github.com/lsoncini)
+*   [#1877](https://github.com/pmd/pmd/pull/1877): \[swift] Feature/swift rules - [Matias Fraga](https://github.com/matifraga)
 
 {% endtocmaker %}
 

From 6281f81ea98ecbbd7ade1ff2c2ff0147529279b7 Mon Sep 17 00:00:00 2001
From: Tomi De Lucca <tomas.delucca@mercadolibre.com>
Date: Tue, 13 Aug 2019 23:46:51 -0300
Subject: [PATCH 369/371] Adding to rulechain

---
 .../rule/bestpractices/UnavailableFunctionRule.java  | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
index 21d71465ed..5033ac773a 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java
@@ -8,14 +8,22 @@ import java.util.List;
 
 import net.sourceforge.pmd.lang.swift.AbstractSwiftRule;
 import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser.FunctionDeclarationContext;
+import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser.InitializerDeclarationContext;
 
 public class UnavailableFunctionRule extends AbstractSwiftRule<Void> {
 
     private static final String AVAILABLE_UNAVAILABLE = "@available(*,unavailable)";
     private static final String FATAL_ERROR = "fatalError";
 
+    public UnavailableFunctionRule() {
+        super();
+        addRuleChainVisit(FunctionDeclarationContext.class);
+        addRuleChainVisit(InitializerDeclarationContext.class);
+    }
+
     @Override
-    public Void visitFunctionDeclaration(final SwiftParser.FunctionDeclarationContext ctx) {
+    public Void visitFunctionDeclaration(final FunctionDeclarationContext ctx) {
         if (ctx == null) {
             return null;
         }
@@ -31,7 +39,7 @@ public class UnavailableFunctionRule extends AbstractSwiftRule<Void> {
     }
 
     @Override
-    public Void visitInitializerDeclaration(final SwiftParser.InitializerDeclarationContext ctx) {
+    public Void visitInitializerDeclaration(final InitializerDeclarationContext ctx) {
         if (ctx == null) {
             return null;
         }

From a46aef3b40fe8dce96a531fdcb95538fd133ad75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Wed, 14 Aug 2019 14:44:26 -0300
Subject: [PATCH 370/371] Use Void in ProhibitedInterfaceBuilderRule

---
 .../ProhibitedInterfaceBuilderRule.java            | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
index 41cc4226d2..494c92e0a9 100644
--- a/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
+++ b/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/ProhibitedInterfaceBuilderRule.java
@@ -12,7 +12,7 @@ import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser;
 import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser.FunctionHeadContext;
 import net.sourceforge.pmd.lang.swift.antlr4.SwiftParser.VariableDeclarationHeadContext;
 
-public class ProhibitedInterfaceBuilderRule extends AbstractSwiftRule<Boolean> {
+public class ProhibitedInterfaceBuilderRule extends AbstractSwiftRule<Void> {
 
     private static final String IBACTION = "@IBAction";
     private static final String IBOUTLET = "@IBOutlet";
@@ -24,24 +24,24 @@ public class ProhibitedInterfaceBuilderRule extends AbstractSwiftRule<Boolean> {
     }
     
     @Override
-    public Boolean visitFunctionHead(FunctionHeadContext ctx) {
+    public Void visitFunctionHead(FunctionHeadContext ctx) {
         if (ctx == null || ctx.attributes() == null) {
-            return false;
+            return null;
         }
 
         return visitDeclarationHead(ctx, ctx.attributes().attribute(), IBACTION);
     }
 
     @Override
-    public Boolean visitVariableDeclarationHead(final VariableDeclarationHeadContext ctx) {
+    public Void visitVariableDeclarationHead(final VariableDeclarationHeadContext ctx) {
         if (ctx == null || ctx.attributes() == null) {
-            return false;
+            return null;
         }
 
         return visitDeclarationHead(ctx, ctx.attributes().attribute(), IBOUTLET);
     }
 
-    private boolean visitDeclarationHead(final Node node, final List<SwiftParser.AttributeContext> attributes,
+    private Void visitDeclarationHead(final Node node, final List<SwiftParser.AttributeContext> attributes,
         final String match) {
 
         final boolean violate = attributes.stream().anyMatch(atr -> match.equals(atr.getText()));
@@ -49,6 +49,6 @@ public class ProhibitedInterfaceBuilderRule extends AbstractSwiftRule<Boolean> {
             addViolation(data, node);
         }
 
-        return violate;
+        return null;
     }
 }

From 6f805dabb629917ced58b815b72ba98ae1e4a814 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?=
 <juansotuyo@gmail.com>
Date: Wed, 14 Aug 2019 14:44:42 -0300
Subject: [PATCH 371/371] Update changelog, refs #1882

---
 docs/pages/7_0_0_release_notes.md | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/docs/pages/7_0_0_release_notes.md b/docs/pages/7_0_0_release_notes.md
index 9761a82500..b044ecaa4d 100644
--- a/docs/pages/7_0_0_release_notes.md
+++ b/docs/pages/7_0_0_release_notes.md
@@ -19,9 +19,17 @@ This is a {{ site.pmd.release_type }} release.
 
 ### New and noteworthy
 
+#### Full Antlr support
+
+Languages backed by an Antlr grammar are now fully supported. This means, it's now possible not only to use Antlr grammars for CPD,
+but we can actually build full-fledged PMD rules for them as well. Both the traditional Java visitor rules, and the simpler
+XPath rules are available to users.
+
+We expect this to enable both our dev team and external contributors to largely extend PMD usage for more languages.
+
 #### Swift support
 
-PMD now fully supports Swift, not only for CPD, but we are pleased to announce we are shipping a number of rules starting with PMD 7.
+Given the full Antlr support, PMD now fully supports Swift. We are pleased to announce we are shipping a number of rules starting with PMD 7.
 
 * {% rule "swift/errorprone/ForceCast" %} (`swift-errorprone`) flags all force casts, making sure you are defensively considering all types.
   Having the application crash shouldn't be an option.
@@ -29,6 +37,8 @@ PMD now fully supports Swift, not only for CPD, but we are pleased to announce w
   Having the application crash shouldn't be an option.
 * {% rule "swift/bestpractices/ProhibitedInterfaceBuilder" %} (`swift-bestpractices`) flags any usage of interface builder. Interface builder
   files are prone to merge conflicts, and are impossible to code review, so larger teams usually try to avoid it or reduce it's usage.
+* {% rule "swift/bestpractices/UnavailableFunction" %} (`swift-bestpractices`) flags any function throwing a `fatalError` not marked as
+  `@available(*, unavailable)` to ensure no calls are actually performed in the codebase.
 
 ### Fixed Issues
 
@@ -49,6 +59,7 @@ PMD now fully supports Swift, not only for CPD, but we are pleased to announce w
 *   [#1698](https://github.com/pmd/pmd/pull/1698): \[core] [swift] Antlr Base Parser adapter and Swift Implementation - [Lucas Soncini](https://github.com/lsoncini)
 *   [#1774](https://github.com/pmd/pmd/pull/1774): \[core] Antlr visitor rules - [Lucas Soncini](https://github.com/lsoncini)
 *   [#1877](https://github.com/pmd/pmd/pull/1877): \[swift] Feature/swift rules - [Matias Fraga](https://github.com/matifraga)
+*   [#1882](https://github.com/pmd/pmd/pull/1882): \[swift] UnavailableFunction Swift rule - [Tomás de Lucca](https://github.com/tomidelucca)
 
 {% endtocmaker %}