summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2019-06-25 20:16:13 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2019-06-25 20:16:13 -0400
commite30d3b21a84142963e5f217125d6930589910343 (patch)
tree7a9da23758348b8280662ba005b256b4dd989de8
parent65cdd46dce13ca35d73bdf3ebf75789df5581ac9 (diff)
Update site
-rw-r--r--docs/apidocs/allclasses-frame.html4
-rw-r--r--docs/apidocs/allclasses-noframe.html4
-rw-r--r--docs/apidocs/bjc/everge/ControlledString.Control.html4
-rw-r--r--docs/apidocs/bjc/everge/ControlledString.html4
-rw-r--r--docs/apidocs/bjc/everge/Everge.InputStatus.html4
-rw-r--r--docs/apidocs/bjc/everge/Everge.html4
-rw-r--r--docs/apidocs/bjc/everge/IntHolder.html4
-rw-r--r--docs/apidocs/bjc/everge/ReplError.html4
-rw-r--r--docs/apidocs/bjc/everge/ReplOpts.html4
-rw-r--r--docs/apidocs/bjc/everge/ReplPair.html4
-rw-r--r--docs/apidocs/bjc/everge/ReplParseException.html4
-rw-r--r--docs/apidocs/bjc/everge/ReplSet.html4
-rw-r--r--docs/apidocs/bjc/everge/StageStatus.html4
-rw-r--r--docs/apidocs/bjc/everge/StringUtils.html7
-rw-r--r--docs/apidocs/bjc/everge/class-use/ControlledString.Control.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/ControlledString.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/Everge.InputStatus.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/Everge.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/IntHolder.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/ReplError.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/ReplOpts.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/ReplPair.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/ReplParseException.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/ReplSet.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/StageStatus.html4
-rw-r--r--docs/apidocs/bjc/everge/class-use/StringUtils.html4
-rw-r--r--docs/apidocs/bjc/everge/package-frame.html4
-rw-r--r--docs/apidocs/bjc/everge/package-summary.html4
-rw-r--r--docs/apidocs/bjc/everge/package-tree.html4
-rw-r--r--docs/apidocs/bjc/everge/package-use.html4
-rw-r--r--docs/apidocs/constant-values.html4
-rw-r--r--docs/apidocs/deprecated-list.html4
-rw-r--r--docs/apidocs/help-doc.html4
-rw-r--r--docs/apidocs/index-all.html4
-rw-r--r--docs/apidocs/index.html2
-rw-r--r--docs/apidocs/overview-tree.html4
-rw-r--r--docs/apidocs/serialized-form.html4
-rw-r--r--docs/changelog.html24
-rw-r--r--docs/changes-report.html4
-rw-r--r--docs/dependencies.html4
-rw-r--r--docs/dependency-info.html4
-rw-r--r--docs/dev-activity.html12
-rw-r--r--docs/distribution-management.html4
-rw-r--r--docs/file-activity.html432
-rw-r--r--docs/index.html4
-rw-r--r--docs/jacoco-ut/bjc.everge/ControlledString$Control.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/ControlledString.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/ControlledString.java.html178
-rw-r--r--docs/jacoco-ut/bjc.everge/Everge$InputStatus.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/Everge.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/Everge.java.html436
-rw-r--r--docs/jacoco-ut/bjc.everge/IntHolder.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/IntHolder.java.html67
-rw-r--r--docs/jacoco-ut/bjc.everge/ReplError.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/ReplError.java.html87
-rw-r--r--docs/jacoco-ut/bjc.everge/ReplOpts.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/ReplOpts.java.html71
-rw-r--r--docs/jacoco-ut/bjc.everge/ReplPair.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/ReplPair.java.html815
-rw-r--r--docs/jacoco-ut/bjc.everge/ReplParseException.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/ReplParseException.java.html59
-rw-r--r--docs/jacoco-ut/bjc.everge/ReplSet.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/ReplSet.java.html97
-rw-r--r--docs/jacoco-ut/bjc.everge/StageStatus.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/StageStatus.java.html22
-rw-r--r--docs/jacoco-ut/bjc.everge/StringUtils.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/StringUtils.java.html194
-rw-r--r--docs/jacoco-ut/bjc.everge/index.html1
-rw-r--r--docs/jacoco-ut/bjc.everge/index.source.html1
-rw-r--r--docs/jacoco-ut/index.html1
-rw-r--r--docs/jacoco-ut/jacoco-resources/branchfc.gifbin0 -> 91 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/branchnc.gifbin0 -> 91 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/branchpc.gifbin0 -> 91 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/bundle.gifbin0 -> 709 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/class.gifbin0 -> 586 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/down.gifbin0 -> 67 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/greenbar.gifbin0 -> 91 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/group.gifbin0 -> 351 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/method.gifbin0 -> 193 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/package.gifbin0 -> 227 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/prettify.css13
-rw-r--r--docs/jacoco-ut/jacoco-resources/prettify.js1510
-rw-r--r--docs/jacoco-ut/jacoco-resources/redbar.gifbin0 -> 91 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/report.css243
-rw-r--r--docs/jacoco-ut/jacoco-resources/report.gifbin0 -> 363 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/session.gifbin0 -> 213 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/sort.gifbin0 -> 58 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/sort.js147
-rw-r--r--docs/jacoco-ut/jacoco-resources/source.gifbin0 -> 354 bytes
-rw-r--r--docs/jacoco-ut/jacoco-resources/up.gifbin0 -> 67 bytes
-rw-r--r--docs/jacoco-ut/jacoco-sessions.html1
-rw-r--r--docs/jacoco-ut/jacoco.csv13
-rw-r--r--docs/jacoco-ut/jacoco.xml1
-rw-r--r--docs/licenses.html4
-rw-r--r--docs/plugin-management.html4
-rw-r--r--docs/plugins.html4
-rw-r--r--docs/project-info.html4
-rw-r--r--docs/project-reports.html4
-rw-r--r--docs/scm.html4
-rw-r--r--docs/summary.html4
-rw-r--r--docs/team.html4
-rw-r--r--docs/testapidocs/allclasses-frame.html4
-rw-r--r--docs/testapidocs/allclasses-noframe.html4
-rw-r--r--docs/testapidocs/bjc/everge/EvergeTest.html4
-rw-r--r--docs/testapidocs/bjc/everge/ReplPairTest.html4
-rw-r--r--docs/testapidocs/bjc/everge/StringUtilsTest.html21
-rw-r--r--docs/testapidocs/bjc/everge/TestUtils.html4
-rw-r--r--docs/testapidocs/bjc/everge/class-use/EvergeTest.html4
-rw-r--r--docs/testapidocs/bjc/everge/class-use/ReplPairTest.html4
-rw-r--r--docs/testapidocs/bjc/everge/class-use/StringUtilsTest.html4
-rw-r--r--docs/testapidocs/bjc/everge/class-use/TestUtils.html4
-rw-r--r--docs/testapidocs/bjc/everge/package-frame.html4
-rw-r--r--docs/testapidocs/bjc/everge/package-summary.html4
-rw-r--r--docs/testapidocs/bjc/everge/package-tree.html4
-rw-r--r--docs/testapidocs/bjc/everge/package-use.html4
-rw-r--r--docs/testapidocs/constant-values.html4
-rw-r--r--docs/testapidocs/deprecated-list.html4
-rw-r--r--docs/testapidocs/help-doc.html4
-rw-r--r--docs/testapidocs/index-all.html6
-rw-r--r--docs/testapidocs/index.html2
-rw-r--r--docs/testapidocs/overview-tree.html4
121 files changed, 4377 insertions, 358 deletions
diff --git a/docs/apidocs/allclasses-frame.html b/docs/apidocs/allclasses-frame.html
index 7a4f535..03db762 100644
--- a/docs/apidocs/allclasses-frame.html
+++ b/docs/apidocs/allclasses-frame.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:44 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/apidocs/allclasses-noframe.html b/docs/apidocs/allclasses-noframe.html
index 7655b7e..49d6e02 100644
--- a/docs/apidocs/allclasses-noframe.html
+++ b/docs/apidocs/allclasses-noframe.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:44 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/ControlledString.Control.html b/docs/apidocs/bjc/everge/ControlledString.Control.html
index bcc1248..caf9728 100644
--- a/docs/apidocs/bjc/everge/ControlledString.Control.html
+++ b/docs/apidocs/bjc/everge/ControlledString.Control.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:17 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ControlledString.Control (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/ControlledString.html b/docs/apidocs/bjc/everge/ControlledString.html
index 41e2733..d15294b 100644
--- a/docs/apidocs/bjc/everge/ControlledString.html
+++ b/docs/apidocs/bjc/everge/ControlledString.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:42 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:16 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ControlledString (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/Everge.InputStatus.html b/docs/apidocs/bjc/everge/Everge.InputStatus.html
index 4871ac9..92b1e4e 100644
--- a/docs/apidocs/bjc/everge/Everge.InputStatus.html
+++ b/docs/apidocs/bjc/everge/Everge.InputStatus.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:17 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Everge.InputStatus (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/Everge.html b/docs/apidocs/bjc/everge/Everge.html
index f92527c..2995937 100644
--- a/docs/apidocs/bjc/everge/Everge.html
+++ b/docs/apidocs/bjc/everge/Everge.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:17 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Everge (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/IntHolder.html b/docs/apidocs/bjc/everge/IntHolder.html
index 6d718fe..59e121e 100644
--- a/docs/apidocs/bjc/everge/IntHolder.html
+++ b/docs/apidocs/bjc/everge/IntHolder.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:17 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IntHolder (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/ReplError.html b/docs/apidocs/bjc/everge/ReplError.html
index 98cc5e6..40c66c7 100644
--- a/docs/apidocs/bjc/everge/ReplError.html
+++ b/docs/apidocs/bjc/everge/ReplError.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:17 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ReplError (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/ReplOpts.html b/docs/apidocs/bjc/everge/ReplOpts.html
index f2f6f42..aae8050 100644
--- a/docs/apidocs/bjc/everge/ReplOpts.html
+++ b/docs/apidocs/bjc/everge/ReplOpts.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:17 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ReplOpts (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/ReplPair.html b/docs/apidocs/bjc/everge/ReplPair.html
index 30d854a..5119885 100644
--- a/docs/apidocs/bjc/everge/ReplPair.html
+++ b/docs/apidocs/bjc/everge/ReplPair.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ReplPair (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/ReplParseException.html b/docs/apidocs/bjc/everge/ReplParseException.html
index ebb00ba..70bdd8f 100644
--- a/docs/apidocs/bjc/everge/ReplParseException.html
+++ b/docs/apidocs/bjc/everge/ReplParseException.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ReplParseException (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/ReplSet.html b/docs/apidocs/bjc/everge/ReplSet.html
index c162bfc..d5afb07 100644
--- a/docs/apidocs/bjc/everge/ReplSet.html
+++ b/docs/apidocs/bjc/everge/ReplSet.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ReplSet (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/StageStatus.html b/docs/apidocs/bjc/everge/StageStatus.html
index 18b783c..9fa294f 100644
--- a/docs/apidocs/bjc/everge/StageStatus.html
+++ b/docs/apidocs/bjc/everge/StageStatus.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>StageStatus (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/StringUtils.html b/docs/apidocs/bjc/everge/StringUtils.html
index 138f34a..f29eed3 100644
--- a/docs/apidocs/bjc/everge/StringUtils.html
+++ b/docs/apidocs/bjc/everge/StringUtils.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>StringUtils (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
@@ -247,7 +247,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>escape</code> - The escape that stops splitting.</dd>
-<dd><code>splat</code> - The string to split on.</dd>
+<dd><code>splat</code> - The string to split on. If this starts with the escape sequence, things will work
+ poorly.</dd>
<dd><code>inp</code> - The string to split.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The string split as specified above.</dd>
diff --git a/docs/apidocs/bjc/everge/class-use/ControlledString.Control.html b/docs/apidocs/bjc/everge/class-use/ControlledString.Control.html
index 943903d..64e449e 100644
--- a/docs/apidocs/bjc/everge/class-use/ControlledString.Control.html
+++ b/docs/apidocs/bjc/everge/class-use/ControlledString.Control.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.ControlledString.Control (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/ControlledString.html b/docs/apidocs/bjc/everge/class-use/ControlledString.html
index 662286f..1dd8693 100644
--- a/docs/apidocs/bjc/everge/class-use/ControlledString.html
+++ b/docs/apidocs/bjc/everge/class-use/ControlledString.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.ControlledString (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/Everge.InputStatus.html b/docs/apidocs/bjc/everge/class-use/Everge.InputStatus.html
index 470f6ed..95cc3d0 100644
--- a/docs/apidocs/bjc/everge/class-use/Everge.InputStatus.html
+++ b/docs/apidocs/bjc/everge/class-use/Everge.InputStatus.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.Everge.InputStatus (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/Everge.html b/docs/apidocs/bjc/everge/class-use/Everge.html
index ef64800..b25bcf6 100644
--- a/docs/apidocs/bjc/everge/class-use/Everge.html
+++ b/docs/apidocs/bjc/everge/class-use/Everge.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.Everge (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/IntHolder.html b/docs/apidocs/bjc/everge/class-use/IntHolder.html
index 6e1d4a6..1c8513d 100644
--- a/docs/apidocs/bjc/everge/class-use/IntHolder.html
+++ b/docs/apidocs/bjc/everge/class-use/IntHolder.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.IntHolder (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/ReplError.html b/docs/apidocs/bjc/everge/class-use/ReplError.html
index 6e1bc28..d6e75fe 100644
--- a/docs/apidocs/bjc/everge/class-use/ReplError.html
+++ b/docs/apidocs/bjc/everge/class-use/ReplError.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.ReplError (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/ReplOpts.html b/docs/apidocs/bjc/everge/class-use/ReplOpts.html
index e0b4542..cf4a817 100644
--- a/docs/apidocs/bjc/everge/class-use/ReplOpts.html
+++ b/docs/apidocs/bjc/everge/class-use/ReplOpts.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.ReplOpts (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/ReplPair.html b/docs/apidocs/bjc/everge/class-use/ReplPair.html
index f02c14b..9a5df68 100644
--- a/docs/apidocs/bjc/everge/class-use/ReplPair.html
+++ b/docs/apidocs/bjc/everge/class-use/ReplPair.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.ReplPair (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/ReplParseException.html b/docs/apidocs/bjc/everge/class-use/ReplParseException.html
index 411795c..42946b8 100644
--- a/docs/apidocs/bjc/everge/class-use/ReplParseException.html
+++ b/docs/apidocs/bjc/everge/class-use/ReplParseException.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.ReplParseException (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/ReplSet.html b/docs/apidocs/bjc/everge/class-use/ReplSet.html
index 359b918..6395acb 100644
--- a/docs/apidocs/bjc/everge/class-use/ReplSet.html
+++ b/docs/apidocs/bjc/everge/class-use/ReplSet.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.ReplSet (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/StageStatus.html b/docs/apidocs/bjc/everge/class-use/StageStatus.html
index e2a5a65..77b4480 100644
--- a/docs/apidocs/bjc/everge/class-use/StageStatus.html
+++ b/docs/apidocs/bjc/everge/class-use/StageStatus.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.StageStatus (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/class-use/StringUtils.html b/docs/apidocs/bjc/everge/class-use/StringUtils.html
index 0e714b0..31ba816 100644
--- a/docs/apidocs/bjc/everge/class-use/StringUtils.html
+++ b/docs/apidocs/bjc/everge/class-use/StringUtils.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.StringUtils (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/package-frame.html b/docs/apidocs/bjc/everge/package-frame.html
index d140f27..3cbf5af 100644
--- a/docs/apidocs/bjc/everge/package-frame.html
+++ b/docs/apidocs/bjc/everge/package-frame.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bjc.everge (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/package-summary.html b/docs/apidocs/bjc/everge/package-summary.html
index 86bc127..c8324b0 100644
--- a/docs/apidocs/bjc/everge/package-summary.html
+++ b/docs/apidocs/bjc/everge/package-summary.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bjc.everge (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/package-tree.html b/docs/apidocs/bjc/everge/package-tree.html
index 9312b6d..a7bf5d5 100644
--- a/docs/apidocs/bjc/everge/package-tree.html
+++ b/docs/apidocs/bjc/everge/package-tree.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bjc.everge Class Hierarchy (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/bjc/everge/package-use.html b/docs/apidocs/bjc/everge/package-use.html
index 2975461..55fb9df 100644
--- a/docs/apidocs/bjc/everge/package-use.html
+++ b/docs/apidocs/bjc/everge/package-use.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Package bjc.everge (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/apidocs/constant-values.html b/docs/apidocs/constant-values.html
index c462f70..fa33763 100644
--- a/docs/apidocs/constant-values.html
+++ b/docs/apidocs/constant-values.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Constant Field Values (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/apidocs/deprecated-list.html b/docs/apidocs/deprecated-list.html
index 2d65bec..ed2f99c 100644
--- a/docs/apidocs/deprecated-list.html
+++ b/docs/apidocs/deprecated-list.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:44 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Deprecated List (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/apidocs/help-doc.html b/docs/apidocs/help-doc.html
index 4b65c57..1d4f757 100644
--- a/docs/apidocs/help-doc.html
+++ b/docs/apidocs/help-doc.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:44 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>API Help (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/apidocs/index-all.html b/docs/apidocs/index-all.html
index d210da7..12c828b 100644
--- a/docs/apidocs/index-all.html
+++ b/docs/apidocs/index-all.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:44 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/apidocs/index.html b/docs/apidocs/index.html
index 998435a..ef9a592 100644
--- a/docs/apidocs/index.html
+++ b/docs/apidocs/index.html
@@ -2,7 +2,7 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:44 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>everge 1.0-SNAPSHOT API</title>
<script type="text/javascript">
diff --git a/docs/apidocs/overview-tree.html b/docs/apidocs/overview-tree.html
index 47fbcf3..247f2d2 100644
--- a/docs/apidocs/overview-tree.html
+++ b/docs/apidocs/overview-tree.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Class Hierarchy (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/apidocs/serialized-form.html b/docs/apidocs/serialized-form.html
index 4f87ded..a9bf350 100644
--- a/docs/apidocs/serialized-form.html
+++ b/docs/apidocs/serialized-form.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:43 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:18 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Serialized Form (everge 1.0-SNAPSHOT API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/changelog.html b/docs/changelog.html
index e4ecf86..79943f1 100644
--- a/docs/changelog.html
+++ b/docs/changelog.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-changelog-plugin:2.3:changelog at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-changelog-plugin:2.3:changelog at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
@@ -45,14 +45,30 @@ everge
<h2><a name="Change_Log_Report"></a>Change Log Report</h2>
<p>Total number of changed sets: 1</p>
<div class="section">
-<h3><a name="Changes_between_2019-05-25_and_2019-06-25"></a>Changes between 2019-05-25 and 2019-06-25</h3>
-<p>Total commits: 23<br />Total number of files changed: 218</p>
+<h3><a name="Changes_between_2019-05-26_and_2019-06-26"></a>Changes between 2019-05-26 and 2019-06-26</h3>
+<p>Total commits: 27<br />Total number of files changed: 224</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>Timestamp</th>
<th>Author</th>
<th>Details</th></tr>
<tr class="b">
+<td>2019-06-25 20:13:39</td>
+<td>bculkin2442 &lt;bjculkin@mix.wvu.edu&gt;</td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/StringUtils.java">src/main/java/bjc/everge/<b>StringUtils.java</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/StringUtils.java?rev=65cdd46dce13ca35d73bdf3ebf75789df5581ac9&amp;content-type=text/vnd.viewcvs-markup">v 65cdd46dce13ca35d73bdf3ebf75789df5581ac9</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/test/java/bjc/everge/StringUtilsTest.java">src/test/java/bjc/everge/<b>StringUtilsTest.java</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/test/java/bjc/everge/StringUtilsTest.java?rev=65cdd46dce13ca35d73bdf3ebf75789df5581ac9&amp;content-type=text/vnd.viewcvs-markup">v 65cdd46dce13ca35d73bdf3ebf75789df5581ac9</a><br /><br />Fix escapeSplit to properly handle chaining escapes<br /><br />escapeSplit will now properly handle arbitrary length escape sequences<br />and do the right thing.</td></tr>
+<tr class="a">
+<td>2019-06-25 20:06:04</td>
+<td>bculkin2442 &lt;bjculkin@mix.wvu.edu&gt;</td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ControlledString.java">src/main/java/bjc/everge/<b>ControlledString.java</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ControlledString.java?rev=942c4e3d28e0eef3efc50160ad3562f7fa1b3695&amp;content-type=text/vnd.viewcvs-markup">v 942c4e3d28e0eef3efc50160ad3562f7fa1b3695</a><br /><br />Add parsing support to ControlledString<br /><br />ControlledString now has support for parsing out control strings. Need<br />to come up with something so that ReplPair can use it as is, instead<br />of having its own implementation; plus, there are a few other<br />interesting things I can think of that could be added to<br />ControlledString<br />* named arguments to controls is one<br /> * multiple named arguments<br />* store controls in controlled string by name instead of as ordinals</td></tr>
+<tr class="b">
+<td>2019-06-24 20:49:30</td>
+<td>bculkin2442 &lt;bjculkin@mix.wvu.edu&gt;</td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/allclasses-frame.html">docs/apidocs/<b>allclasses-frame.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/allclasses-frame.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/allclasses-noframe.html">docs/apidocs/<b>allclasses-noframe.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/allclasses-noframe.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ControlledString.Control.html">docs/apidocs/bjc/everge/<b>ControlledString.Control.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ControlledString.Control.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ControlledString.html">docs/apidocs/bjc/everge/<b>ControlledString.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ControlledString.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/Everge.InputStatus.html">docs/apidocs/bjc/everge/<b>Everge.InputStatus.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/Everge.InputStatus.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/Everge.html">docs/apidocs/bjc/everge/<b>Everge.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/Everge.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/IntHolder.html">docs/apidocs/bjc/everge/<b>IntHolder.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/IntHolder.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplError.html">docs/apidocs/bjc/everge/<b>ReplError.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplError.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplOpts.html">docs/apidocs/bjc/everge/<b>ReplOpts.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplOpts.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplPair.html">docs/apidocs/bjc/everge/<b>ReplPair.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplPair.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplParseException.html">docs/apidocs/bjc/everge/<b>ReplParseException.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplParseException.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplSet.html">docs/apidocs/bjc/everge/<b>ReplSet.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplSet.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/StageStatus.html">docs/apidocs/bjc/everge/<b>StageStatus.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/StageStatus.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/StringUtils.html">docs/apidocs/bjc/everge/<b>StringUtils.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/StringUtils.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ControlledString.Control.html">docs/apidocs/bjc/everge/class-use/<b>ControlledString.Control.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ControlledString.Control.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ControlledString.html">docs/apidocs/bjc/everge/class-use/<b>ControlledString.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ControlledString.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/Everge.InputStatus.html">docs/apidocs/bjc/everge/class-use/<b>Everge.InputStatus.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/Everge.InputStatus.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/Everge.html">docs/apidocs/bjc/everge/class-use/<b>Everge.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/Everge.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/IntHolder.html">docs/apidocs/bjc/everge/class-use/<b>IntHolder.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/IntHolder.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplError.html">docs/apidocs/bjc/everge/class-use/<b>ReplError.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplError.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplOpts.html">docs/apidocs/bjc/everge/class-use/<b>ReplOpts.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplOpts.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplPair.html">docs/apidocs/bjc/everge/class-use/<b>ReplPair.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplPair.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplParseException.html">docs/apidocs/bjc/everge/class-use/<b>ReplParseException.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplParseException.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplSet.html">docs/apidocs/bjc/everge/class-use/<b>ReplSet.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplSet.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/StageStatus.html">docs/apidocs/bjc/everge/class-use/<b>StageStatus.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/StageStatus.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/StringUtils.html">docs/apidocs/bjc/everge/class-use/<b>StringUtils.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/StringUtils.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-frame.html">docs/apidocs/bjc/everge/<b>package-frame.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-frame.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-summary.html">docs/apidocs/bjc/everge/<b>package-summary.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-summary.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-tree.html">docs/apidocs/bjc/everge/<b>package-tree.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-tree.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-use.html">docs/apidocs/bjc/everge/<b>package-use.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-use.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/constant-values.html">docs/apidocs/<b>constant-values.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/constant-values.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/deprecated-list.html">docs/apidocs/<b>deprecated-list.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/deprecated-list.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/help-doc.html">docs/apidocs/<b>help-doc.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/help-doc.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/index-all.html">docs/apidocs/<b>index-all.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/index-all.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/index.html">docs/apidocs/<b>index.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/index.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/overview-tree.html">docs/apidocs/<b>overview-tree.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/overview-tree.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/serialized-form.html">docs/apidocs/<b>serialized-form.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/serialized-form.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/changelog.html">docs/<b>changelog.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/changelog.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/changes-report.html">docs/<b>changes-report.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/changes-report.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/dependencies.html">docs/<b>dependencies.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/dependencies.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/dependency-info.html">docs/<b>dependency-info.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/dependency-info.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/dev-activity.html">docs/<b>dev-activity.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/dev-activity.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/distribution-management.html">docs/<b>distribution-management.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/distribution-management.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/file-activity.html">docs/<b>file-activity.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/file-activity.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/index.html">docs/<b>index.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/index.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/licenses.html">docs/<b>licenses.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/licenses.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/plugin-management.html">docs/<b>plugin-management.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/plugin-management.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/plugins.html">docs/<b>plugins.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/plugins.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/project-info.html">docs/<b>project-info.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/project-info.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/project-reports.html">docs/<b>project-reports.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/project-reports.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/scm.html">docs/<b>scm.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/scm.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/summary.html">docs/<b>summary.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/summary.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/team.html">docs/<b>team.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/team.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/allclasses-frame.html">docs/testapidocs/<b>allclasses-frame.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/allclasses-frame.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/allclasses-noframe.html">docs/testapidocs/<b>allclasses-noframe.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/allclasses-noframe.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/EvergeTest.html">docs/testapidocs/bjc/everge/<b>EvergeTest.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/EvergeTest.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/ReplPairTest.html">docs/testapidocs/bjc/everge/<b>ReplPairTest.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/ReplPairTest.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/StringUtilsTest.html">docs/testapidocs/bjc/everge/<b>StringUtilsTest.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/StringUtilsTest.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/TestUtils.html">docs/testapidocs/bjc/everge/<b>TestUtils.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/TestUtils.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/EvergeTest.html">docs/testapidocs/bjc/everge/class-use/<b>EvergeTest.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/EvergeTest.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/ReplPairTest.html">docs/testapidocs/bjc/everge/class-use/<b>ReplPairTest.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/ReplPairTest.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/StringUtilsTest.html">docs/testapidocs/bjc/everge/class-use/<b>StringUtilsTest.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/StringUtilsTest.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/TestUtils.html">docs/testapidocs/bjc/everge/class-use/<b>TestUtils.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/TestUtils.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-frame.html">docs/testapidocs/bjc/everge/<b>package-frame.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-frame.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-summary.html">docs/testapidocs/bjc/everge/<b>package-summary.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-summary.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-tree.html">docs/testapidocs/bjc/everge/<b>package-tree.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-tree.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-use.html">docs/testapidocs/bjc/everge/<b>package-use.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-use.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/constant-values.html">docs/testapidocs/<b>constant-values.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/constant-values.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/deprecated-list.html">docs/testapidocs/<b>deprecated-list.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/deprecated-list.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/help-doc.html">docs/testapidocs/<b>help-doc.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/help-doc.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/index-all.html">docs/testapidocs/<b>index-all.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/index-all.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/index.html">docs/testapidocs/<b>index.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/index.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/overview-tree.html">docs/testapidocs/<b>overview-tree.html</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/overview-tree.html?rev=f2feb8e5af5da11038044a30cac8a4f2b1c8219c&amp;content-type=text/vnd.viewcvs-markup">v f2feb8e5af5da11038044a30cac8a4f2b1c8219c</a><br /><br />Update site</td></tr>
+<tr class="a">
+<td>2019-06-24 20:43:15</td>
+<td>bculkin2442 &lt;bjculkin@mix.wvu.edu&gt;</td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ControlledString.java">src/main/java/bjc/everge/<b>ControlledString.java</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ControlledString.java?rev=e760e590104a177a26badb616ac400fef815c679&amp;content-type=text/vnd.viewcvs-markup">v e760e590104a177a26badb616ac400fef815c679</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplPair.java">src/main/java/bjc/everge/<b>ReplPair.java</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplPair.java?rev=e760e590104a177a26badb616ac400fef815c679&amp;content-type=text/vnd.viewcvs-markup">v e760e590104a177a26badb616ac400fef815c679</a><br /><br />Part I of factoring out controls<br /><br />This is part one of factoring out controls and control parsing so that<br />we aren't doing it in three different places.<br /><br />Two main things before this is done:<br />1. Finish up the parsing in ControlledString<br />2. Actually replace the old implementations in ReplPair</td></tr>
+<tr class="b">
<td>2019-06-24 20:43:15</td>
<td>bculkin2442 &lt;bjculkin@mix.wvu.edu&gt;</td>
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ControlledString.java">src/main/java/bjc/everge/<b>ControlledString.java</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ControlledString.java?rev=7c2be35b2f08a9dd6341407acc5a8b28c48eba6c&amp;content-type=text/vnd.viewcvs-markup">v 7c2be35b2f08a9dd6341407acc5a8b28c48eba6c</a><br /><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplPair.java">src/main/java/bjc/everge/<b>ReplPair.java</b></a> <a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplPair.java?rev=7c2be35b2f08a9dd6341407acc5a8b28c48eba6c&amp;content-type=text/vnd.viewcvs-markup">v 7c2be35b2f08a9dd6341407acc5a8b28c48eba6c</a><br /><br />Part I of factoring out controls<br /><br />This is part one of factoring out controls and control parsing so that<br />we aren't doing it in three different places.<br /><br />Two main things before this is done:<br />1. Finish up the parsing in ControlledString<br />2. Actually replace the old implementations in ReplPair</td></tr>
diff --git a/docs/changes-report.html b/docs/changes-report.html
index 03b287f..d58d945 100644
--- a/docs/changes-report.html
+++ b/docs/changes-report.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-changes-plugin:2.12.1:changes-report at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-changes-plugin:2.12.1:changes-report at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -25,7 +25,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/dependencies.html b/docs/dependencies.html
index fed03bf..0ff3e91 100644
--- a/docs/dependencies.html
+++ b/docs/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:dependencies at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:dependencies at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/dependency-info.html b/docs/dependency-info.html
index 0667b34..b7b10a2 100644
--- a/docs/dependency-info.html
+++ b/docs/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:dependency-info at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:dependency-info at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/dev-activity.html b/docs/dev-activity.html
index f08a5eb..040772e 100644
--- a/docs/dev-activity.html
+++ b/docs/dev-activity.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-changelog-plugin:2.3:dev-activity at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-changelog-plugin:2.3:dev-activity at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
@@ -44,8 +44,8 @@ everge
<div class="section">
<h2><a name="Developer_Activity_Report"></a>Developer Activity Report</h2>
<div class="section">
-<h3><a name="Changes_between_2019-05-25_and_2019-06-25"></a>Changes between 2019-05-25 and 2019-06-25</h3>
-<p>Total commits: 23<br />Total number of files changed: 218</p>
+<h3><a name="Changes_between_2019-05-26_and_2019-06-26"></a>Changes between 2019-05-26 and 2019-06-26</h3>
+<p>Total commits: 27<br />Total number of files changed: 224</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>Developer</th>
@@ -61,8 +61,8 @@ everge
<td>1</td></tr>
<tr class="b">
<td>bculkin2442 &lt;bjculkin@mix.wvu.edu&gt;</td>
-<td>20</td>
-<td>212</td></tr></table></div></div>
+<td>24</td>
+<td>218</td></tr></table></div></div>
</div>
</div>
<div class="clear">
diff --git a/docs/distribution-management.html b/docs/distribution-management.html
index b57aef0..a804e62 100644
--- a/docs/distribution-management.html
+++ b/docs/distribution-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:distribution-management at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:distribution-management at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/file-activity.html b/docs/file-activity.html
index fbf6bef..719a8c6 100644
--- a/docs/file-activity.html
+++ b/docs/file-activity.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-changelog-plugin:2.3:file-activity at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-changelog-plugin:2.3:file-activity at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
@@ -44,8 +44,8 @@ everge
<div class="section">
<h2><a name="File_Activity_Report"></a>File Activity Report</h2>
<div class="section">
-<h3><a name="Changes_between_2019-05-25_and_2019-06-25"></a>Changes between 2019-05-25 and 2019-06-25</h3>
-<p>Total commits: 23<br />Total number of files changed: 218</p>
+<h3><a name="Changes_between_2019-05-26_and_2019-06-26"></a>Changes between 2019-05-26 and 2019-06-26</h3>
+<p>Total commits: 27<br />Total number of files changed: 224</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>Filename</th>
@@ -55,101 +55,113 @@ everge
<td>7</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplPair.java">src/main/java/bjc/everge/<b>ReplPair.java</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/allclasses-frame.html">docs/apidocs/<b>allclasses-frame.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/allclasses-noframe.html">docs/apidocs/<b>allclasses-noframe.html</b></a> </td>
-<td>4</td></tr>
-<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/class-use/ReplError.html">docs/apidocs/bjc/replpair/class-use/<b>ReplError.html</b></a> </td>
-<td>4</td></tr>
-<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/package-frame.html">docs/apidocs/bjc/replpair/<b>package-frame.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/constant-values.html">docs/apidocs/<b>constant-values.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/deprecated-list.html">docs/apidocs/<b>deprecated-list.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/help-doc.html">docs/apidocs/<b>help-doc.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/index-all.html">docs/apidocs/<b>index-all.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/index.html">docs/apidocs/<b>index.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/overview-tree.html">docs/apidocs/<b>overview-tree.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/dependencies.html">docs/<b>dependencies.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/dependency-info.html">docs/<b>dependency-info.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/distribution-management.html">docs/<b>distribution-management.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/index.html">docs/<b>index.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/licenses.html">docs/<b>licenses.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/plugin-management.html">docs/<b>plugin-management.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/plugins.html">docs/<b>plugins.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/project-info.html">docs/<b>project-info.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/project-reports.html">docs/<b>project-reports.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/scm.html">docs/<b>scm.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/summary.html">docs/<b>summary.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/team.html">docs/<b>team.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/allclasses-frame.html">docs/testapidocs/<b>allclasses-frame.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/allclasses-noframe.html">docs/testapidocs/<b>allclasses-noframe.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/package-frame.html">docs/testapidocs/bjc/replpair/<b>package-frame.html</b></a> </td>
-<td>4</td></tr>
-<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/constant-values.html">docs/testapidocs/<b>constant-values.html</b></a> </td>
-<td>4</td></tr>
-<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/deprecated-list.html">docs/testapidocs/<b>deprecated-list.html</b></a> </td>
-<td>4</td></tr>
+<td>5</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/help-doc.html">docs/testapidocs/<b>help-doc.html</b></a> </td>
-<td>4</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/deprecated-list.html">docs/testapidocs/<b>deprecated-list.html</b></a> </td>
+<td>5</td></tr>
<tr class="b">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/help-doc.html">docs/testapidocs/<b>help-doc.html</b></a> </td>
+<td>5</td></tr>
+<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/index-all.html">docs/testapidocs/<b>index-all.html</b></a> </td>
+<td>5</td></tr>
+<tr class="b">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/index.html">docs/testapidocs/<b>index.html</b></a> </td>
+<td>5</td></tr>
+<tr class="a">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/overview-tree.html">docs/testapidocs/<b>overview-tree.html</b></a> </td>
+<td>5</td></tr>
+<tr class="b">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/class-use/ReplError.html">docs/apidocs/bjc/replpair/class-use/<b>ReplError.html</b></a> </td>
<td>4</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/index.html">docs/testapidocs/<b>index.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/package-frame.html">docs/apidocs/bjc/replpair/<b>package-frame.html</b></a> </td>
<td>4</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/overview-tree.html">docs/testapidocs/<b>overview-tree.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/package-frame.html">docs/testapidocs/bjc/replpair/<b>package-frame.html</b></a> </td>
<td>4</td></tr>
<tr class="a">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/changelog.html">docs/<b>changelog.html</b></a> </td>
+<td>3</td></tr>
+<tr class="b">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/changes-report.html">docs/<b>changes-report.html</b></a> </td>
+<td>3</td></tr>
+<tr class="a">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/dev-activity.html">docs/<b>dev-activity.html</b></a> </td>
+<td>3</td></tr>
+<tr class="b">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/file-activity.html">docs/<b>file-activity.html</b></a> </td>
+<td>3</td></tr>
+<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/apidocs/allclasses-frame.html">target/site/apidocs/<b>allclasses-frame.html</b></a> </td>
<td>3</td></tr>
<tr class="b">
@@ -249,370 +261,358 @@ everge
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test6.rp">data/test/<b>test6.rp</b></a> </td>
<td>3</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/ReplError.html">docs/apidocs/bjc/replpair/<b>ReplError.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ControlledString.java">src/main/java/bjc/everge/<b>ControlledString.java</b></a> </td>
<td>3</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/ReplPair.html">docs/apidocs/bjc/replpair/<b>ReplPair.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/ReplError.html">docs/apidocs/bjc/replpair/<b>ReplError.html</b></a> </td>
<td>3</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/StageStatus.html">docs/apidocs/bjc/replpair/<b>StageStatus.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/ReplPair.html">docs/apidocs/bjc/replpair/<b>ReplPair.html</b></a> </td>
<td>3</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/class-use/ReplPair.html">docs/apidocs/bjc/replpair/class-use/<b>ReplPair.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/StageStatus.html">docs/apidocs/bjc/replpair/<b>StageStatus.html</b></a> </td>
<td>3</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/class-use/StageStatus.html">docs/apidocs/bjc/replpair/class-use/<b>StageStatus.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/class-use/ReplPair.html">docs/apidocs/bjc/replpair/class-use/<b>ReplPair.html</b></a> </td>
<td>3</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/package-summary.html">docs/apidocs/bjc/replpair/<b>package-summary.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/class-use/StageStatus.html">docs/apidocs/bjc/replpair/class-use/<b>StageStatus.html</b></a> </td>
<td>3</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/package-tree.html">docs/apidocs/bjc/replpair/<b>package-tree.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/package-summary.html">docs/apidocs/bjc/replpair/<b>package-summary.html</b></a> </td>
<td>3</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/package-use.html">docs/apidocs/bjc/replpair/<b>package-use.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/package-tree.html">docs/apidocs/bjc/replpair/<b>package-tree.html</b></a> </td>
<td>3</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/ReplPairTest.html">docs/testapidocs/bjc/replpair/<b>ReplPairTest.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/package-use.html">docs/apidocs/bjc/replpair/<b>package-use.html</b></a> </td>
<td>3</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/class-use/ReplPairTest.html">docs/testapidocs/bjc/replpair/class-use/<b>ReplPairTest.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/ReplPairTest.html">docs/testapidocs/bjc/replpair/<b>ReplPairTest.html</b></a> </td>
<td>3</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/package-summary.html">docs/testapidocs/bjc/replpair/<b>package-summary.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/class-use/ReplPairTest.html">docs/testapidocs/bjc/replpair/class-use/<b>ReplPairTest.html</b></a> </td>
<td>3</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/package-tree.html">docs/testapidocs/bjc/replpair/<b>package-tree.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/package-summary.html">docs/testapidocs/bjc/replpair/<b>package-summary.html</b></a> </td>
<td>3</td></tr>
<tr class="b">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/package-tree.html">docs/testapidocs/bjc/replpair/<b>package-tree.html</b></a> </td>
+<td>3</td></tr>
+<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/replpair/package-use.html">docs/testapidocs/bjc/replpair/<b>package-use.html</b></a> </td>
<td>3</td></tr>
+<tr class="b">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/StringUtils.java">src/main/java/bjc/everge/<b>StringUtils.java</b></a> </td>
+<td>3</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/.gitignore"><b>.gitignore</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/test/java/bjc/everge/StringUtilsTest.java">src/test/java/bjc/everge/<b>StringUtilsTest.java</b></a> </td>
<td>3</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/changelog.html">docs/<b>changelog.html</b></a> </td>
-<td>2</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/.gitignore"><b>.gitignore</b></a> </td>
+<td>3</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/changes-report.html">docs/<b>changes-report.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/apidocs/package-list">target/site/apidocs/<b>package-list</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/dev-activity.html">docs/<b>dev-activity.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/apidocs/script.js">target/site/apidocs/<b>script.js</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/file-activity.html">docs/<b>file-activity.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/apidocs/stylesheet.css">target/site/apidocs/<b>stylesheet.css</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/apidocs/package-list">target/site/apidocs/<b>package-list</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/css/maven-base.css">target/site/css/<b>maven-base.css</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/apidocs/script.js">target/site/apidocs/<b>script.js</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/css/maven-theme.css">target/site/css/<b>maven-theme.css</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/apidocs/stylesheet.css">target/site/apidocs/<b>stylesheet.css</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/css/print.css">target/site/css/<b>print.css</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/css/maven-base.css">target/site/css/<b>maven-base.css</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/css/site.css">target/site/css/<b>site.css</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/css/maven-theme.css">target/site/css/<b>maven-theme.css</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/dependencies.html">target/site/<b>dependencies.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/css/print.css">target/site/css/<b>print.css</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/dependency-info.html">target/site/<b>dependency-info.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/css/site.css">target/site/css/<b>site.css</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/distribution-management.html">target/site/<b>distribution-management.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/dependencies.html">target/site/<b>dependencies.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/close.gif">target/site/images/<b>close.gif</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/dependency-info.html">target/site/<b>dependency-info.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/collapsed.gif">target/site/images/<b>collapsed.gif</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/distribution-management.html">target/site/<b>distribution-management.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/expanded.gif">target/site/images/<b>expanded.gif</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/close.gif">target/site/images/<b>close.gif</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/external.png">target/site/images/<b>external.png</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/collapsed.gif">target/site/images/<b>collapsed.gif</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/icon_error_sml.gif">target/site/images/<b>icon_error_sml.gif</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/expanded.gif">target/site/images/<b>expanded.gif</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/icon_info_sml.gif">target/site/images/<b>icon_info_sml.gif</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/external.png">target/site/images/<b>external.png</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/icon_success_sml.gif">target/site/images/<b>icon_success_sml.gif</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/icon_error_sml.gif">target/site/images/<b>icon_error_sml.gif</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/icon_warning_sml.gif">target/site/images/<b>icon_warning_sml.gif</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/icon_info_sml.gif">target/site/images/<b>icon_info_sml.gif</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/logos/build-by-maven-black.png">target/site/images/logos/<b>build-by-maven-black.png</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/icon_success_sml.gif">target/site/images/<b>icon_success_sml.gif</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/logos/build-by-maven-white.png">target/site/images/logos/<b>build-by-maven-white.png</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/icon_warning_sml.gif">target/site/images/<b>icon_warning_sml.gif</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/logos/maven-feather.png">target/site/images/logos/<b>maven-feather.png</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/logos/build-by-maven-black.png">target/site/images/logos/<b>build-by-maven-black.png</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/newwindow.png">target/site/images/<b>newwindow.png</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/logos/build-by-maven-white.png">target/site/images/logos/<b>build-by-maven-white.png</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/index.html">target/site/<b>index.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/logos/maven-feather.png">target/site/images/logos/<b>maven-feather.png</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/licenses.html">target/site/<b>licenses.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/images/newwindow.png">target/site/images/<b>newwindow.png</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/plugin-management.html">target/site/<b>plugin-management.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/index.html">target/site/<b>index.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/plugins.html">target/site/<b>plugins.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/licenses.html">target/site/<b>licenses.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/project-info.html">target/site/<b>project-info.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/plugin-management.html">target/site/<b>plugin-management.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/project-reports.html">target/site/<b>project-reports.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/plugins.html">target/site/<b>plugins.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/scm.html">target/site/<b>scm.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/project-info.html">target/site/<b>project-info.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/summary.html">target/site/<b>summary.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/project-reports.html">target/site/<b>project-reports.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/team.html">target/site/<b>team.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/scm.html">target/site/<b>scm.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/testapidocs/package-list">target/site/testapidocs/<b>package-list</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/summary.html">target/site/<b>summary.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/testapidocs/script.js">target/site/testapidocs/<b>script.js</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/team.html">target/site/<b>team.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/testapidocs/stylesheet.css">target/site/testapidocs/<b>stylesheet.css</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/testapidocs/package-list">target/site/testapidocs/<b>package-list</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/Everge.InputStatus.html">docs/apidocs/bjc/everge/<b>Everge.InputStatus.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/testapidocs/script.js">target/site/testapidocs/<b>script.js</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/Everge.html">docs/apidocs/bjc/everge/<b>Everge.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/target/site/testapidocs/stylesheet.css">target/site/testapidocs/<b>stylesheet.css</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/IntHolder.html">docs/apidocs/bjc/everge/<b>IntHolder.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/changes/changes.xml">src/changes/<b>changes.xml</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplError.html">docs/apidocs/bjc/everge/<b>ReplError.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/replpair/App.java">src/main/java/bjc/replpair/<b>App.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplOpts.html">docs/apidocs/bjc/everge/<b>ReplOpts.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/test/java/bjc/replpair/AppTest.java">src/test/java/bjc/replpair/<b>AppTest.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplPair.html">docs/apidocs/bjc/everge/<b>ReplPair.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/Everge.java">src/main/java/bjc/everge/<b>Everge.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplParseException.html">docs/apidocs/bjc/everge/<b>ReplParseException.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplError.java">src/main/java/bjc/everge/<b>ReplError.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/StageStatus.html">docs/apidocs/bjc/everge/<b>StageStatus.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplOpts.java">src/main/java/bjc/everge/<b>ReplOpts.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/StringUtils.html">docs/apidocs/bjc/everge/<b>StringUtils.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/test/java/bjc/everge/ReplPairTest.java">src/test/java/bjc/everge/<b>ReplPairTest.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/Everge.InputStatus.html">docs/apidocs/bjc/everge/class-use/<b>Everge.InputStatus.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/package-list">docs/apidocs/<b>package-list</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/Everge.html">docs/apidocs/bjc/everge/class-use/<b>Everge.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/package-list">docs/testapidocs/<b>package-list</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/IntHolder.html">docs/apidocs/bjc/everge/class-use/<b>IntHolder.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/StringUtils.java">src/main/java/bjc/everge/<b>StringUtils.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplError.html">docs/apidocs/bjc/everge/class-use/<b>ReplError.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/test/java/bjc/everge/StringUtilsTest.java">src/test/java/bjc/everge/<b>StringUtilsTest.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplOpts.html">docs/apidocs/bjc/everge/class-use/<b>ReplOpts.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test1.rp">data/test/<b>test1.rp</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplPair.html">docs/apidocs/bjc/everge/class-use/<b>ReplPair.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test2.rp">data/test/<b>test2.rp</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplParseException.html">docs/apidocs/bjc/everge/class-use/<b>ReplParseException.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test3.rp">data/test/<b>test3.rp</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/StageStatus.html">docs/apidocs/bjc/everge/class-use/<b>StageStatus.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test4.rp">data/test/<b>test4.rp</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/StringUtils.html">docs/apidocs/bjc/everge/class-use/<b>StringUtils.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test5.rp">data/test/<b>test5.rp</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-frame.html">docs/apidocs/bjc/everge/<b>package-frame.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/replpair/ReplPair.java">src/main/java/bjc/replpair/<b>ReplPair.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-summary.html">docs/apidocs/bjc/everge/<b>package-summary.html</b></a> </td>
<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/test/java/bjc/replpair/ReplPairTest.java">src/test/java/bjc/replpair/<b>ReplPairTest.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-tree.html">docs/apidocs/bjc/everge/<b>package-tree.html</b></a> </td>
<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/ReplOpts.html">docs/apidocs/bjc/replpair/<b>ReplOpts.html</b></a> </td>
-<td>1</td></tr>
-<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/class-use/ReplOpts.html">docs/apidocs/bjc/replpair/class-use/<b>ReplOpts.html</b></a> </td>
-<td>1</td></tr>
-<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/add.gif">docs/images/<b>add.gif</b></a> </td>
-<td>1</td></tr>
-<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/fix.gif">docs/images/<b>fix.gif</b></a> </td>
-<td>1</td></tr>
-<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/icon_help_sml.gif">docs/images/<b>icon_help_sml.gif</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-use.html">docs/apidocs/bjc/everge/<b>package-use.html</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/remove.gif">docs/images/<b>remove.gif</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/serialized-form.html">docs/apidocs/<b>serialized-form.html</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/rss.png">docs/images/<b>rss.png</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/EvergeTest.html">docs/testapidocs/bjc/everge/<b>EvergeTest.html</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/update.gif">docs/images/<b>update.gif</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/ReplPairTest.html">docs/testapidocs/bjc/everge/<b>ReplPairTest.html</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/Everge.InputStatus.html">docs/apidocs/bjc/everge/<b>Everge.InputStatus.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/StringUtilsTest.html">docs/testapidocs/bjc/everge/<b>StringUtilsTest.html</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/Everge.html">docs/apidocs/bjc/everge/<b>Everge.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/TestUtils.html">docs/testapidocs/bjc/everge/<b>TestUtils.html</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/IntHolder.html">docs/apidocs/bjc/everge/<b>IntHolder.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/EvergeTest.html">docs/testapidocs/bjc/everge/class-use/<b>EvergeTest.html</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplError.html">docs/apidocs/bjc/everge/<b>ReplError.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/ReplPairTest.html">docs/testapidocs/bjc/everge/class-use/<b>ReplPairTest.html</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplOpts.html">docs/apidocs/bjc/everge/<b>ReplOpts.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/StringUtilsTest.html">docs/testapidocs/bjc/everge/class-use/<b>StringUtilsTest.html</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplPair.html">docs/apidocs/bjc/everge/<b>ReplPair.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/TestUtils.html">docs/testapidocs/bjc/everge/class-use/<b>TestUtils.html</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplParseException.html">docs/apidocs/bjc/everge/<b>ReplParseException.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-frame.html">docs/testapidocs/bjc/everge/<b>package-frame.html</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/StageStatus.html">docs/apidocs/bjc/everge/<b>StageStatus.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-summary.html">docs/testapidocs/bjc/everge/<b>package-summary.html</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/StringUtils.html">docs/apidocs/bjc/everge/<b>StringUtils.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-tree.html">docs/testapidocs/bjc/everge/<b>package-tree.html</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/Everge.InputStatus.html">docs/apidocs/bjc/everge/class-use/<b>Everge.InputStatus.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-use.html">docs/testapidocs/bjc/everge/<b>package-use.html</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/Everge.html">docs/apidocs/bjc/everge/class-use/<b>Everge.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/changes/changes.xml">src/changes/<b>changes.xml</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/IntHolder.html">docs/apidocs/bjc/everge/class-use/<b>IntHolder.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/replpair/App.java">src/main/java/bjc/replpair/<b>App.java</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplError.html">docs/apidocs/bjc/everge/class-use/<b>ReplError.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/test/java/bjc/replpair/AppTest.java">src/test/java/bjc/replpair/<b>AppTest.java</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplOpts.html">docs/apidocs/bjc/everge/class-use/<b>ReplOpts.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/Everge.java">src/main/java/bjc/everge/<b>Everge.java</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplPair.html">docs/apidocs/bjc/everge/class-use/<b>ReplPair.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplError.java">src/main/java/bjc/everge/<b>ReplError.java</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplParseException.html">docs/apidocs/bjc/everge/class-use/<b>ReplParseException.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplOpts.java">src/main/java/bjc/everge/<b>ReplOpts.java</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/StageStatus.html">docs/apidocs/bjc/everge/class-use/<b>StageStatus.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/test/java/bjc/everge/ReplPairTest.java">src/test/java/bjc/everge/<b>ReplPairTest.java</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/StringUtils.html">docs/apidocs/bjc/everge/class-use/<b>StringUtils.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/package-list">docs/apidocs/<b>package-list</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-frame.html">docs/apidocs/bjc/everge/<b>package-frame.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/package-list">docs/testapidocs/<b>package-list</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-summary.html">docs/apidocs/bjc/everge/<b>package-summary.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test1.rp">data/test/<b>test1.rp</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-tree.html">docs/apidocs/bjc/everge/<b>package-tree.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test2.rp">data/test/<b>test2.rp</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/package-use.html">docs/apidocs/bjc/everge/<b>package-use.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test3.rp">data/test/<b>test3.rp</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/serialized-form.html">docs/apidocs/<b>serialized-form.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test4.rp">data/test/<b>test4.rp</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/EvergeTest.html">docs/testapidocs/bjc/everge/<b>EvergeTest.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test5.rp">data/test/<b>test5.rp</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/ReplPairTest.html">docs/testapidocs/bjc/everge/<b>ReplPairTest.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/replpair/ReplPair.java">src/main/java/bjc/replpair/<b>ReplPair.java</b></a> </td>
+<td>2</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/StringUtilsTest.html">docs/testapidocs/bjc/everge/<b>StringUtilsTest.html</b></a> </td>
-<td>1</td></tr>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/test/java/bjc/replpair/ReplPairTest.java">src/test/java/bjc/replpair/<b>ReplPairTest.java</b></a> </td>
+<td>2</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/TestUtils.html">docs/testapidocs/bjc/everge/<b>TestUtils.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/ReplOpts.html">docs/apidocs/bjc/replpair/<b>ReplOpts.html</b></a> </td>
<td>1</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/EvergeTest.html">docs/testapidocs/bjc/everge/class-use/<b>EvergeTest.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/replpair/class-use/ReplOpts.html">docs/apidocs/bjc/replpair/class-use/<b>ReplOpts.html</b></a> </td>
<td>1</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/ReplPairTest.html">docs/testapidocs/bjc/everge/class-use/<b>ReplPairTest.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/add.gif">docs/images/<b>add.gif</b></a> </td>
<td>1</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/StringUtilsTest.html">docs/testapidocs/bjc/everge/class-use/<b>StringUtilsTest.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/fix.gif">docs/images/<b>fix.gif</b></a> </td>
<td>1</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/class-use/TestUtils.html">docs/testapidocs/bjc/everge/class-use/<b>TestUtils.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/icon_help_sml.gif">docs/images/<b>icon_help_sml.gif</b></a> </td>
<td>1</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-frame.html">docs/testapidocs/bjc/everge/<b>package-frame.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/remove.gif">docs/images/<b>remove.gif</b></a> </td>
<td>1</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-summary.html">docs/testapidocs/bjc/everge/<b>package-summary.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/rss.png">docs/images/<b>rss.png</b></a> </td>
<td>1</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-tree.html">docs/testapidocs/bjc/everge/<b>package-tree.html</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/images/update.gif">docs/images/<b>update.gif</b></a> </td>
<td>1</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/testapidocs/bjc/everge/package-use.html">docs/testapidocs/bjc/everge/<b>package-use.html</b></a> </td>
-<td>1</td></tr>
-<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/update-docs.sh"><b>update-docs.sh</b></a> </td>
<td>1</td></tr>
-<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/evg-test1.inp">data/test/<b>evg-test1.inp</b></a> </td>
-<td>1</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/evg-test1.rp">data/test/<b>evg-test1.rp</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/evg-test1.inp">data/test/<b>evg-test1.inp</b></a> </td>
<td>1</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test7.rp">data/test/<b>test7.rp</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/evg-test1.rp">data/test/<b>evg-test1.rp</b></a> </td>
<td>1</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test8.rp">data/test/<b>test8.rp</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test7.rp">data/test/<b>test7.rp</b></a> </td>
<td>1</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test9.rp">data/test/<b>test9.rp</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test8.rp">data/test/<b>test8.rp</b></a> </td>
<td>1</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplSet.java">src/main/java/bjc/everge/<b>ReplSet.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/data/test/test9.rp">data/test/<b>test9.rp</b></a> </td>
<td>1</td></tr>
<tr class="b">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/replpair/ReplOpts.java">src/main/java/bjc/replpair/<b>ReplOpts.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ReplSet.java">src/main/java/bjc/everge/<b>ReplSet.java</b></a> </td>
<td>1</td></tr>
<tr class="a">
-<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/ControlledString.java">src/main/java/bjc/everge/<b>ControlledString.java</b></a> </td>
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/replpair/ReplOpts.java">src/main/java/bjc/replpair/<b>ReplOpts.java</b></a> </td>
<td>1</td></tr>
<tr class="b">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/main/java/bjc/everge/StageStatus.java">src/main/java/bjc/everge/<b>StageStatus.java</b></a> </td>
@@ -702,6 +702,24 @@ everge
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/LICENSE"><b>LICENSE</b></a> </td>
<td>1</td></tr>
<tr class="a">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ControlledString.Control.html">docs/apidocs/bjc/everge/<b>ControlledString.Control.html</b></a> </td>
+<td>1</td></tr>
+<tr class="b">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ControlledString.html">docs/apidocs/bjc/everge/<b>ControlledString.html</b></a> </td>
+<td>1</td></tr>
+<tr class="a">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/ReplSet.html">docs/apidocs/bjc/everge/<b>ReplSet.html</b></a> </td>
+<td>1</td></tr>
+<tr class="b">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ControlledString.Control.html">docs/apidocs/bjc/everge/class-use/<b>ControlledString.Control.html</b></a> </td>
+<td>1</td></tr>
+<tr class="a">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ControlledString.html">docs/apidocs/bjc/everge/class-use/<b>ControlledString.html</b></a> </td>
+<td>1</td></tr>
+<tr class="b">
+<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/docs/apidocs/bjc/everge/class-use/ReplSet.html">docs/apidocs/bjc/everge/class-use/<b>ReplSet.html</b></a> </td>
+<td>1</td></tr>
+<tr class="a">
<td><a class="externalLink" href="http://www.github.com/bculkin2442/everge/tree/master/src/site/site.xml">src/site/<b>site.xml</b></a> </td>
<td>1</td></tr></table></div></div>
</div>
diff --git a/docs/index.html b/docs/index.html
index 65d52fe..8013893 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:index at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:index at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/jacoco-ut/bjc.everge/ControlledString$Control.html b/docs/jacoco-ut/bjc.everge/ControlledString$Control.html
new file mode 100644
index 0000000..e93afa5
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ControlledString$Control.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ControlledString.Control</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">ControlledString.Control</span></div><h1>ControlledString.Control</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="ControlledString.java.html#L50" class="el_method">ControlledString.Control(String, String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ControlledString.java.html#L38" class="el_method">ControlledString.Control(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="ControlledString.java.html#L28" class="el_method">ControlledString.Control()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ControlledString.html b/docs/jacoco-ut/bjc.everge/ControlledString.html
new file mode 100644
index 0000000..70da0b2
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ControlledString.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ControlledString</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">ControlledString</span></div><h1>ControlledString</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">159 of 159</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">35</td><td class="ctr2">35</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="ControlledString.java.html#L133" class="el_method">parse(String, String, String, String, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="126" alt="126"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">23</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ControlledString.java.html#L79" class="el_method">ControlledString(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ControlledString.java.html#L93" class="el_method">ControlledString(String, ControlledString.Control[])</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="ControlledString.java.html#L105" class="el_method">hasControls()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="ControlledString.java.html#L69" class="el_method">ControlledString()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="7" alt="7"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ControlledString.java.html b/docs/jacoco-ut/bjc.everge/ControlledString.java.html
new file mode 100644
index 0000000..2f928e8
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ControlledString.java.html
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ControlledString.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.source.html" class="el_package">bjc.everge</a> &gt; <span class="el_source">ControlledString.java</span></div><h1>ControlledString.java</h1><pre class="source lang-java linenums">package bjc.everge;
+
+/**
+ * Represents a string with a set of control flags attached to it.
+ *
+ * @author Ben Culkin
+ */
+public class ControlledString {
+ /**
+ * Represents a single control (a key-values pair)
+ *
+ * @author Ben Culkin
+ */
+ public static class Control {
+ /**
+ * The name of the control.
+ */
+ public String name;
+
+ /**
+ * The arguments to the control.
+ */
+ public String[] args;
+
+ /**
+ * Create a new blank control.
+ */
+<span class="nc" id="L28"> public Control() {</span>
+
+<span class="nc" id="L30"> }</span>
+
+ /**
+ * Create a new argless control.
+ *
+ * @param nam
+ * The name of the control.
+ */
+<span class="nc" id="L38"> public Control(String nam) {</span>
+<span class="nc" id="L39"> name = nam;</span>
+<span class="nc" id="L40"> }</span>
+
+ /**
+ * Create a new control.
+ *
+ * @param nam
+ * The name of the control.
+ * @param ars
+ * The arguments of the control.
+ */
+<span class="nc" id="L50"> public Control(String nam, String... ars) {</span>
+<span class="nc" id="L51"> name = nam;</span>
+<span class="nc" id="L52"> args = ars;</span>
+<span class="nc" id="L53"> }</span>
+ }
+
+ /**
+ * The string the controls apply to.
+ */
+ public String strang;
+
+ /**
+ * The controls that apply to the string.
+ */
+ public Control[] controls;
+
+ /**
+ * Create a new blank controlled string.
+ */
+<span class="nc" id="L69"> public ControlledString() {</span>
+<span class="nc" id="L70"> controls = new Control[0];</span>
+<span class="nc" id="L71"> }</span>
+
+ /**
+ * Create a new controlled string without any controls.
+ *
+ * @param strung
+ * The string to use.
+ */
+<span class="nc" id="L79"> public ControlledString(String strung) {</span>
+<span class="nc" id="L80"> strang = strung;</span>
+
+<span class="nc" id="L82"> controls = new Control[0];</span>
+<span class="nc" id="L83"> }</span>
+
+ /**
+ * Create a new controlled string.
+ *
+ * @param strung
+ * The string to use.
+ * @param controls
+ * The controls that apply to the string.
+ */
+<span class="nc" id="L93"> public ControlledString(String strung, Control... controls) {</span>
+<span class="nc" id="L94"> strang = strung;</span>
+
+<span class="nc" id="L96"> controls = controls;</span>
+<span class="nc" id="L97"> }</span>
+
+ /**
+ * Check if the string has controls.
+ *
+ * @return Whether or not the string has controls.
+ */
+ public boolean hasControls() {
+<span class="nc bnc" id="L105" title="All 2 branches missed."> return controls.length &gt; 0;</span>
+ }
+
+ /**
+ * Parse a controlled string from a regular string.
+ *
+ * The controls must be parsed from the beginning of the string, and are indicated by occurances
+ * of contInd that bracket them from the string. The individual controls are delimited by
+ * instances of contSep, with arguments to them being separated by occurances of contArg.
+ *
+ * Each of those separators (which must be regular strings, not regexes or anything) may be
+ * escaped by preceeding them with a copy of contEsc.
+ *
+ * @param lne
+ * The string to parse frmo.
+ * @param contInd
+ * The indicator for whether or not there are controls.
+ * @param contSep
+ * The separator of individual controls.
+ * @param contArg
+ * The separator of control arguments.
+ * @param contEsc
+ * The escape string for each of the separators/indicators.
+ *
+ * @return A parsed control string.
+ */
+ public static ControlledString parse(String lne, String contInd, String contSep,
+ String contArg, String contEsc) {
+<span class="nc bnc" id="L133" title="All 2 branches missed."> if (!lne.startsWith(contInd)) {</span>
+<span class="nc" id="L134"> return new ControlledString(lne);</span>
+ }
+
+<span class="nc" id="L137"> String tmp = lne.substring(2);</span>
+
+<span class="nc" id="L139"> String[] bits = StringUtils.escapeSplit(contEsc, contInd, lne);</span>
+
+<span class="nc bnc" id="L141" title="All 2 branches missed."> if (bits.length &lt; 2) {</span>
+<span class="nc" id="L142"> String msg = &quot;Did not find control terminator (%s) where it should be&quot;;</span>
+<span class="nc" id="L143"> msg = String.format(msg, contInd);</span>
+
+<span class="nc" id="L145"> throw new IllegalArgumentException(msg);</span>
+ }
+
+<span class="nc" id="L148"> ControlledString cs = new ControlledString(bits[0]);</span>
+
+<span class="nc" id="L150"> bits = StringUtils.escapeSplit(contEsc, contSep, bits[1]);</span>
+
+<span class="nc" id="L152"> cs.controls = new Control[bits.length];</span>
+
+<span class="nc bnc" id="L154" title="All 2 branches missed."> for (int i = 0; i &lt; bits.length; i++) {</span>
+<span class="nc" id="L155"> String bit = bits[i];</span>
+
+<span class="nc" id="L157"> String[] bots = StringUtils.escapeSplit(contEsc, contArg, bit);</span>
+
+<span class="nc" id="L159"> Control cont = new Control(bots[0]);</span>
+
+<span class="nc bnc" id="L161" title="All 2 branches missed."> if (cont.name.length() &gt; 1) {</span>
+<span class="nc" id="L162"> cont.name = cont.name.toUpperCase();</span>
+ }
+
+<span class="nc bnc" id="L165" title="All 2 branches missed."> if (bots.length &gt; 1) {</span>
+<span class="nc" id="L166"> cont.args = new String[bots.length - 1];</span>
+<span class="nc bnc" id="L167" title="All 2 branches missed."> for (int j = 1; j &lt; bots.length; j++) {</span>
+<span class="nc" id="L168"> cont.args[j - 1] = bots[j];</span>
+ }
+ }
+
+<span class="nc" id="L172"> cs.controls[i] = cont;</span>
+ }
+
+<span class="nc" id="L175"> return cs;</span>
+ }
+}
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/Everge$InputStatus.html b/docs/jacoco-ut/bjc.everge/Everge$InputStatus.html
new file mode 100644
index 0000000..3595e45
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/Everge$InputStatus.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Everge.InputStatus</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">Everge.InputStatus</span></div><h1>Everge.InputStatus</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 34</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Everge.java.html#L37" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/Everge.html b/docs/jacoco-ut/bjc.everge/Everge.html
new file mode 100644
index 0000000..d9253fe
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/Everge.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Everge</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">Everge</span></div><h1>Everge</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">534 of 853</td><td class="ctr2">37%</td><td class="bar">54 of 83</td><td class="ctr2">34%</td><td class="ctr1">41</td><td class="ctr2">55</td><td class="ctr1">124</td><td class="ctr2">199</td><td class="ctr1">2</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a3"><a href="Everge.java.html#L125" class="el_method">processArgs(List, String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="90" height="10" title="342" alt="342"/><img src="../jacoco-resources/greenbar.gif" width="29" height="10" title="112" alt="112"/></td><td class="ctr2" id="c4">24%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="88" height="10" title="33" alt="33"/><img src="../jacoco-resources/greenbar.gif" width="32" height="10" title="12" alt="12"/></td><td class="ctr2" id="e2">26%</td><td class="ctr1" id="f0">25</td><td class="ctr2" id="g0">29</td><td class="ctr1" id="h0">88</td><td class="ctr2" id="i0">116</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="Everge.java.html#L336" class="el_method">processInputFile(List, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="133" alt="133"/><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="40" alt="40"/></td><td class="ctr2" id="c5">23%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="11" alt="11"/><img src="../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="e4">21%</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">22</td><td class="ctr2" id="i1">33</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="Everge.java.html#L103" class="el_method">processArgs(String[])</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="28" alt="28"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h2">7</td><td class="ctr2" id="i5">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="Everge.java.html#L314" class="el_method">processInputFile(String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="15" alt="15"/><img src="../jacoco-resources/greenbar.gif" width="3" height="10" title="13" alt="13"/></td><td class="ctr2" id="c3">46%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="1" alt="1"/></td><td class="ctr2" id="e3">25%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g4">3</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i6">7</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="Everge.java.html#L90" class="el_method">main(String[])</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">3</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="Everge.java.html#L415" class="el_method">loadQueue(String[])</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="7" alt="7"/><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="76" alt="76"/></td><td class="ctr2" id="c2">91%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="26" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">83%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g2">7</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i2">13</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="Everge.java.html#L33" class="el_method">Everge()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i3">11</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="Everge.java.html#L397" class="el_method">processString(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="37" alt="37"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="e1">75%</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i4">9</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/Everge.java.html b/docs/jacoco-ut/bjc.everge/Everge.java.html
new file mode 100644
index 0000000..8416daa
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/Everge.java.html
@@ -0,0 +1,436 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Everge.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.source.html" class="el_package">bjc.everge</a> &gt; <span class="el_source">Everge.java</span></div><h1>Everge.java</h1><pre class="source lang-java linenums">package bjc.everge;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintStream;
+
+import java.nio.charset.Charset;
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import java.util.ArrayList;
+import java.util.Deque;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Scanner;
+
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+
+import java.util.regex.Pattern;
+import java.util.regex.PatternSyntaxException;
+
+/**
+ * Everge front-end application.
+ *
+ * @author Ben Culkin
+ */
+<span class="fc" id="L33">public class Everge {</span>
+ /**
+ * Details how we handle our input.
+ */
+<span class="fc" id="L37"> public static enum InputStatus {</span>
+ /**
+ * Process the input as a single string.
+ */
+<span class="fc" id="L41"> ALL,</span>
+ /**
+ * Process the input line-by-line.
+ */
+<span class="fc" id="L45"> LINE,</span>
+ /**
+ * Process the input, splitting it around occurances of a regex.
+ */
+<span class="fc" id="L49"> REGEX;</span>
+ }
+
+ // Options for doing repl-pairs
+<span class="fc" id="L53"> private ReplOpts ropts = new ReplOpts();</span>
+
+ // Loaded repl-pairs
+<span class="fc" id="L56"> private List&lt;ReplPair&gt; lrp = new ArrayList&lt;&gt;();</span>
+
+ // Input status
+<span class="fc" id="L59"> private InputStatus inputStat = InputStatus.ALL;</span>
+
+ // Are we processing CLI args? (haven't seen a -- yet)
+<span class="fc" id="L62"> private boolean doingArgs = true;</span>
+
+ // Should an NL be printed after each replace?
+<span class="fc" id="L65"> private boolean printNL = true;</span>
+
+ // Verbosity level
+<span class="fc" id="L68"> private int verbosity = 0;</span>
+
+ // The pattern to use for REGEX input mode
+ private String pattern;
+
+ // The queue of arguments to process
+<span class="fc" id="L74"> private Deque&lt;String&gt; argQue = new LinkedList&lt;&gt;();</span>
+
+ // Used to prevent inter-mixing argument alterations with input processing.
+<span class="fc" id="L77"> private ReadWriteLock argLock = new ReentrantReadWriteLock();</span>
+
+ // Input/output streams
+<span class="fc" id="L80"> public PrintStream outStream = System.out;</span>
+<span class="fc" id="L81"> public PrintStream errStream = System.err;</span>
+
+ /**
+ * Main method for front end,
+ *
+ * @param args
+ * The CLI arguments.
+ */
+ public static void main(String[] args) {
+<span class="nc" id="L90"> Everge evg = new Everge();</span>
+
+<span class="nc" id="L92"> evg.processArgs(args);</span>
+<span class="nc" id="L93"> }</span>
+
+ /**
+ * Process one or more command line arguments.
+ *
+ * @param args
+ * The arguments to process.
+ * @return Whether we processed succesfully or not.
+ */
+ public boolean processArgs(String... args) {
+<span class="nc" id="L103"> List&lt;String&gt; errs = new ArrayList&lt;&gt;();</span>
+
+<span class="nc" id="L105"> boolean stat = processArgs(errs, args);</span>
+<span class="nc bnc" id="L106" title="All 2 branches missed."> if (!stat) {</span>
+<span class="nc bnc" id="L107" title="All 2 branches missed."> for (String err : errs) {</span>
+<span class="nc" id="L108"> errStream.println(err);</span>
+<span class="nc" id="L109"> }</span>
+ }
+
+<span class="nc" id="L112"> return stat;</span>
+ }
+
+ /**
+ * Process one or more command line arguments.
+ *
+ * @param args
+ * The arguments to process.
+ * @param errs
+ * The list to stash errors in.
+ * @return Whether we processed succesfully or not.
+ */
+ public boolean processArgs(List&lt;String&gt; errs, String... args) {
+<span class="fc" id="L125"> argLock.writeLock().lock();</span>
+
+<span class="fc" id="L127"> boolean retStat = true;</span>
+
+ try {
+<span class="fc" id="L130"> loadQueue(args);</span>
+
+ // Process CLI args
+<span class="fc bfc" id="L133" title="All 2 branches covered."> while(argQue.size() &gt; 0) {</span>
+<span class="fc" id="L134"> String arg = argQue.pop();</span>
+
+<span class="pc bpc" id="L136" title="1 of 2 branches missed."> if (arg.equals(&quot;--&quot;)) {</span>
+<span class="nc" id="L137"> doingArgs = false;</span>
+<span class="nc" id="L138"> continue;</span>
+ }
+
+ // Process an argument
+<span class="pc bpc" id="L142" title="1 of 4 branches missed."> if (doingArgs &amp;&amp; arg.startsWith(&quot;-&quot;)) {</span>
+<span class="fc" id="L143"> String argName = arg;</span>
+<span class="fc" id="L144"> String argBody = &quot;&quot;;</span>
+
+ // Process arguments to arguments
+<span class="fc" id="L147"> int idx = arg.indexOf(&quot;=&quot;);</span>
+<span class="pc bpc" id="L148" title="1 of 2 branches missed."> if (idx != -1) {</span>
+<span class="nc" id="L149"> argName = arg.substring(0, idx);</span>
+<span class="nc" id="L150"> argBody = arg.substring(idx + 1);</span>
+ }
+
+<span class="pc bpc" id="L153" title="11 of 13 branches missed."> switch (argName) {</span>
+ case &quot;-n&quot;:
+ case &quot;--newline&quot;:
+<span class="nc" id="L156"> printNL = true;</span>
+<span class="nc" id="L157"> break;</span>
+ case &quot;-N&quot;:
+ case &quot;--no-newline&quot;:
+<span class="nc" id="L160"> printNL = false;</span>
+<span class="nc" id="L161"> break;</span>
+ case &quot;-v&quot;:
+ case &quot;--verbose&quot;:
+<span class="fc" id="L164"> verbosity += 1;</span>
+<span class="fc" id="L165"> break;</span>
+ case &quot;-q&quot;:
+ case &quot;--quiet&quot;:
+<span class="nc" id="L168"> verbosity -= 1;</span>
+<span class="nc" id="L169"> break;</span>
+ case &quot;--verbosity&quot;:
+<span class="nc bnc" id="L171" title="All 2 branches missed."> if (argQue.size() &lt; 1) {</span>
+<span class="nc" id="L172"> errs.add(&quot;[ERROR] No parameter to --verbosity&quot;);</span>
+<span class="nc" id="L173"> retStat = false;</span>
+<span class="nc" id="L174"> break;</span>
+ }
+<span class="nc" id="L176"> argBody = argQue.pop();</span>
+<span class="nc" id="L177"> break;</span>
+ case &quot;-V&quot;:
+ try {
+<span class="nc" id="L180"> verbosity = Integer.parseInt(argBody);</span>
+<span class="nc" id="L181"> } catch (NumberFormatException nfex) {</span>
+<span class="nc" id="L182"> String msg = String.format(&quot;[ERROR] Invalid verbosity: '%s' is not an integer&quot;,</span>
+ argBody);
+<span class="nc" id="L184"> errs.add(msg);</span>
+<span class="nc" id="L185"> retStat = false;</span>
+<span class="nc" id="L186"> }</span>
+<span class="nc" id="L187"> break;</span>
+ case &quot;--pattern&quot;:
+<span class="nc bnc" id="L189" title="All 2 branches missed."> if (argQue.size() &lt; 1) {</span>
+<span class="nc" id="L190"> errs.add(&quot;[ERROR] No parameter to --pattern&quot;);</span>
+<span class="nc" id="L191"> retStat = false;</span>
+<span class="nc" id="L192"> break;</span>
+ }
+<span class="nc" id="L194"> argBody = argQue.pop();</span>
+ case &quot;-p&quot;:
+ try {
+<span class="nc" id="L197"> pattern = argBody;</span>
+
+<span class="nc" id="L199"> Pattern.compile(argBody);</span>
+<span class="nc" id="L200"> } catch (PatternSyntaxException psex) {</span>
+<span class="nc" id="L201"> String msg = String.format(&quot;[ERROR] Pattern '%s' is invalid: %s&quot;,</span>
+<span class="nc" id="L202"> pattern, psex.getMessage());</span>
+<span class="nc" id="L203"> errs.add(msg);</span>
+<span class="nc" id="L204"> retStat = false;</span>
+<span class="nc" id="L205"> }</span>
+<span class="nc" id="L206"> break;</span>
+ case &quot;--file&quot;:
+<span class="pc bpc" id="L208" title="1 of 2 branches missed."> if (argQue.size() &lt; 1) {</span>
+<span class="nc" id="L209"> errs.add(&quot;[ERROR] No argument to --file&quot;);</span>
+<span class="nc" id="L210"> retStat = false;</span>
+<span class="nc" id="L211"> break;</span>
+ }
+<span class="fc" id="L213"> argBody = argQue.pop();</span>
+ case &quot;-f&quot;:
+<span class="fc" id="L215"> try (FileInputStream fis = new FileInputStream(argBody);</span>
+<span class="fc" id="L216"> Scanner scn = new Scanner(fis)) {</span>
+<span class="fc" id="L217"> List&lt;ReplError&gt; ferrs = new ArrayList&lt;&gt;();</span>
+
+<span class="fc" id="L219"> lrp = ReplPair.readList(lrp, scn, ferrs, ropts);</span>
+
+<span class="pc bpc" id="L221" title="1 of 2 branches missed."> if (ferrs.size() &gt; 0) {</span>
+<span class="nc" id="L222"> StringBuilder sb = new StringBuilder();</span>
+
+<span class="nc" id="L224"> String errString = &quot;an error&quot;;</span>
+<span class="nc bnc" id="L225" title="All 2 branches missed."> if (ferrs.size() &gt; 1) errString = String.format(&quot;%d errors&quot;);</span>
+
+ {
+<span class="nc" id="L228"> String msg = String.format(</span>
+ &quot;[ERROR] Encountered errors parsing data file'%s'\n&quot;,
+ argBody);
+<span class="nc" id="L231"> sb.append(msg);</span>
+ }
+
+<span class="nc bnc" id="L234" title="All 2 branches missed."> for (ReplError err : ferrs) {</span>
+<span class="nc" id="L235"> sb.append(String.format(&quot;\t%s\n&quot;, err));</span>
+<span class="nc" id="L236"> }</span>
+
+<span class="nc" id="L238"> errs.add(sb.toString());</span>
+<span class="nc" id="L239"> retStat = false;</span>
+ }
+<span class="nc" id="L241"> } catch (FileNotFoundException fnfex) {</span>
+<span class="nc" id="L242"> String msg = String.format(&quot;[ERROR] Could not open data file '%s' for input&quot;,</span>
+ argBody);
+<span class="nc" id="L244"> errs.add(msg);</span>
+<span class="nc" id="L245"> retStat = false;</span>
+<span class="nc" id="L246"> } catch (IOException ioex) {</span>
+<span class="nc" id="L247"> String msg = String.format(&quot;[ERROR] Unknown I/O error reading data file '%s': %s&quot;,</span>
+<span class="nc" id="L248"> argBody, ioex.getMessage());</span>
+<span class="nc" id="L249"> errs.add(msg);</span>
+<span class="nc" id="L250"> retStat = false;</span>
+<span class="pc" id="L251"> }</span>
+<span class="nc" id="L252"> break;</span>
+ case &quot;--arg-file&quot;:
+<span class="nc bnc" id="L254" title="All 2 branches missed."> if (argQue.size() &lt; 1) {</span>
+<span class="nc" id="L255"> errs.add(&quot;[ERROR] No argument to --arg-file&quot;);</span>
+<span class="nc" id="L256"> break;</span>
+ }
+<span class="nc" id="L258"> argBody = argQue.pop();</span>
+ case &quot;-F&quot;:
+<span class="nc" id="L260"> try (FileInputStream fis = new FileInputStream(argBody);</span>
+<span class="nc" id="L261"> Scanner scn = new Scanner(fis)) {</span>
+<span class="nc" id="L262"> List&lt;String&gt; sl = new ArrayList&lt;&gt;();</span>
+
+<span class="nc bnc" id="L264" title="All 2 branches missed."> while (scn.hasNextLine()) {</span>
+<span class="nc" id="L265"> String ln = scn.nextLine().trim();</span>
+
+<span class="nc bnc" id="L267" title="All 2 branches missed."> if (ln.equals(&quot;&quot;)) continue;</span>
+<span class="nc bnc" id="L268" title="All 2 branches missed."> if (ln.startsWith(&quot;#&quot;)) continue;</span>
+
+<span class="nc" id="L270"> sl.add(ln);</span>
+<span class="nc" id="L271"> }</span>
+
+<span class="nc" id="L273"> processArgs(sl.toArray(new String[0]));</span>
+<span class="nc" id="L274"> } catch (FileNotFoundException fnfex) {</span>
+<span class="nc" id="L275"> String msg = String.format(&quot;[ERROR] Could not open argument file '%s' for input&quot;, argBody);</span>
+<span class="nc" id="L276"> errs.add(msg);</span>
+<span class="nc" id="L277"> retStat = false;</span>
+<span class="nc" id="L278"> } catch (IOException ioex) {</span>
+<span class="nc" id="L279"> String msg = String.format(&quot;[ERROR] Unknown I/O error reading input file '%s': %s&quot;,</span>
+<span class="nc" id="L280"> argBody, ioex.getMessage());</span>
+<span class="nc" id="L281"> errs.add(msg);</span>
+<span class="nc" id="L282"> retStat = false;</span>
+<span class="nc" id="L283"> }</span>
+<span class="nc" id="L284"> break;</span>
+ default:
+ {
+<span class="nc" id="L287"> String msg = String.format(&quot;[ERROR] Unrecognised CLI argument name '%s'\n&quot;, argName);</span>
+<span class="nc" id="L288"> errs.add(msg);</span>
+<span class="nc" id="L289"> retStat = false;</span>
+ }
+ }
+<span class="fc" id="L292"> } else {</span>
+ // Strip off an escaped initial dash
+<span class="pc bpc" id="L294" title="1 of 2 branches missed."> if (arg.startsWith(&quot;\\-&quot;)) arg = arg.substring(1);</span>
+
+<span class="fc" id="L296"> processInputFile(arg);</span>
+ }
+<span class="fc" id="L298"> }</span>
+ } finally {
+<span class="fc" id="L300"> argLock.writeLock().unlock();</span>
+ }
+
+<span class="fc" id="L303"> return retStat;</span>
+ }
+
+ /**
+ * Process a input file.
+ *
+ * @param fle
+ * Input file to process.
+ * @return Whether we processed succesfully or not.
+ */
+ public boolean processInputFile(String fle) {
+<span class="fc" id="L314"> List&lt;String&gt; errs = new ArrayList&lt;&gt;();</span>
+
+<span class="fc" id="L316"> boolean stat = processInputFile(errs, fle);</span>
+<span class="pc bpc" id="L317" title="1 of 2 branches missed."> if (!stat) {</span>
+<span class="nc bnc" id="L318" title="All 2 branches missed."> for (String err : errs) {</span>
+<span class="nc" id="L319"> errStream.println(err);</span>
+<span class="nc" id="L320"> }</span>
+ }
+
+<span class="fc" id="L323"> return stat;</span>
+ }
+
+ /**
+ * Process a input file.
+ *
+ * @param fle
+ * Input file to process.
+ * @param errs
+ * List to accumulate errors in.
+ * @return Whether we processed succesfully or not.
+ */
+ public boolean processInputFile(List&lt;String&gt; errs, String fle) {
+<span class="fc" id="L336"> argLock.readLock().lock();</span>
+
+ // Read in and do replacements on a file
+ try {
+<span class="pc bpc" id="L340" title="1 of 2 branches missed."> if (verbosity &gt; 2) {</span>
+<span class="nc" id="L341"> errStream.printf(&quot;[TRACE] Reading file (%s) in mode (%s)\n&quot;, fle, inputStat);</span>
+ }
+
+<span class="pc bpc" id="L344" title="1 of 2 branches missed."> if (inputStat == InputStatus.ALL) {</span>
+<span class="fc" id="L345"> Path pth = Paths.get(fle);</span>
+
+<span class="pc bpc" id="L347" title="1 of 2 branches missed."> if (!Files.isReadable(pth)) {</span>
+<span class="nc" id="L348"> String msg = String.format(&quot;[ERROR] File '%s' is not readable\n&quot;, fle);</span>
+<span class="nc" id="L349"> errs.add(msg);</span>
+<span class="nc" id="L350"> return false;</span>
+ } else {
+<span class="fc" id="L352"> byte[] inp = Files.readAllBytes(pth);</span>
+
+<span class="fc" id="L354"> String strang = new String(inp, Charset.forName(&quot;UTF-8&quot;));</span>
+
+<span class="fc" id="L356"> processString(strang);</span>
+ }
+<span class="pc bnc" id="L358" title="All 2 branches missed."> } else if (inputStat == InputStatus.LINE) {</span>
+<span class="nc" id="L359"> try (FileInputStream fis = new FileInputStream(fle); Scanner scn = new Scanner(fis)) {</span>
+<span class="nc bnc" id="L360" title="All 2 branches missed."> while(scn.hasNextLine()) {</span>
+<span class="nc" id="L361"> processString(scn.nextLine());</span>
+ }
+<span class="nc" id="L363"> }</span>
+<span class="nc bnc" id="L364" title="All 2 branches missed."> } else if (inputStat == InputStatus.REGEX) {</span>
+<span class="nc" id="L365"> try (FileInputStream fis = new FileInputStream(fle); Scanner scn = new Scanner(fis)) {</span>
+<span class="nc" id="L366"> scn.useDelimiter(pattern);</span>
+
+<span class="nc bnc" id="L368" title="All 2 branches missed."> while(scn.hasNext()) {</span>
+<span class="nc" id="L369"> processString(scn.next());</span>
+ }
+<span class="nc" id="L371"> }</span>
+ } else {
+<span class="nc" id="L373"> String msg = String.format(&quot;[INTERNAL-ERROR] Input status '%s' is not yet implemented\n&quot;,</span>
+ inputStat);
+<span class="nc" id="L375"> errs.add(msg);</span>
+<span class="nc" id="L376"> return false;</span>
+ }
+<span class="nc" id="L378"> } catch (IOException ioex) {</span>
+<span class="nc" id="L379"> String msg = String.format(&quot;[ERROR] Unknown I/O related error for file '%s'\n\tError was %s&quot;,</span>
+<span class="nc" id="L380"> fle, ioex.getMessage());</span>
+<span class="nc" id="L381"> errs.add(msg);</span>
+<span class="nc" id="L382"> return false;</span>
+ } finally {
+<span class="fc" id="L384"> argLock.readLock().unlock();</span>
+ }
+
+<span class="fc" id="L387"> return true;</span>
+ }
+
+ /**
+ * Process an input string.
+ *
+ * @param inp
+ * The input string to process.
+ */
+ public void processString(String inp) {
+<span class="fc" id="L397"> argLock.readLock().lock();</span>
+
+ try {
+<span class="fc" id="L400"> String strang = inp;</span>
+
+<span class="fc bfc" id="L402" title="All 2 branches covered."> for (ReplPair rp : lrp) {</span>
+<span class="fc" id="L403"> strang = rp.apply(strang);</span>
+<span class="fc" id="L404"> }</span>
+
+<span class="fc" id="L406"> outStream.print(strang);</span>
+<span class="pc bpc" id="L407" title="1 of 2 branches missed."> if (printNL) outStream.println();</span>
+ } finally {
+<span class="fc" id="L409"> argLock.readLock().unlock();</span>
+ }
+<span class="fc" id="L411"> }</span>
+
+ // Load arguments into the argument queue.
+ private void loadQueue(String... args) {
+<span class="fc" id="L415"> boolean doArgs = true;</span>
+<span class="fc bfc" id="L416" title="All 2 branches covered."> for (String arg : args) {</span>
+<span class="pc bpc" id="L417" title="1 of 2 branches missed."> if (arg.equals(&quot;--&quot;)) doArgs = false;</span>
+
+ // Handle things like -nNv correctly
+<span class="pc bpc" id="L420" title="1 of 2 branches missed."> if (doArgs) {</span>
+<span class="fc bfc" id="L421" title="All 4 branches covered."> if (arg.startsWith(&quot;-&quot;) &amp;&amp; !arg.startsWith(&quot;--&quot;)) {</span>
+<span class="fc" id="L422"> char[] car = arg.substring(1).toCharArray();</span>
+<span class="fc bfc" id="L423" title="All 2 branches covered."> for (char c : car) {</span>
+<span class="fc" id="L424"> String argstr = String.format(&quot;-%c&quot;, c);</span>
+<span class="fc" id="L425"> argQue.add(argstr);</span>
+ }
+<span class="fc" id="L427"> } else {</span>
+<span class="fc" id="L428"> argQue.add(arg);</span>
+ }
+ } else {
+<span class="nc" id="L431"> argQue.add(arg);</span>
+ }
+ }
+<span class="fc" id="L434"> }</span>
+}
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/IntHolder.html b/docs/jacoco-ut/bjc.everge/IntHolder.html
new file mode 100644
index 0000000..7ef6a96
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/IntHolder.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IntHolder</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">IntHolder</span></div><h1>IntHolder</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">10 of 32</td><td class="ctr2">68%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">6</td><td class="ctr1">5</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a4"><a href="IntHolder.java.html#L27" class="el_method">IntHolder(int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a5"><a href="IntHolder.java.html#L64" class="el_method">set(int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="IntHolder.java.html#L49" class="el_method">incr(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="IntHolder.java.html#L17" class="el_method">IntHolder()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="80" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="IntHolder.java.html#L37" class="el_method">incr()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="53" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="IntHolder.java.html#L60" class="el_method">get()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/IntHolder.java.html b/docs/jacoco-ut/bjc.everge/IntHolder.java.html
new file mode 100644
index 0000000..746a71a
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/IntHolder.java.html
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IntHolder.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.source.html" class="el_package">bjc.everge</a> &gt; <span class="el_source">IntHolder.java</span></div><h1>IntHolder.java</h1><pre class="source lang-java linenums">package bjc.everge;
+
+/**
+ * Utility class for ints by ref.
+ *
+ * @author Ben Culkin
+ */
+public class IntHolder {
+ /**
+ * The int value.
+ */
+ public int val;
+
+ /**
+ * Create a new int-holder set to 0.
+ */
+<span class="fc" id="L17"> public IntHolder() {</span>
+<span class="fc" id="L18"> val = 0;</span>
+<span class="fc" id="L19"> }</span>
+
+ /**
+ * Create a new int-holder set to a value.
+ *
+ * @param i
+ * The value to set the int to.
+ */
+<span class="nc" id="L27"> public IntHolder(int i) {</span>
+<span class="nc" id="L28"> val = i;</span>
+<span class="nc" id="L29"> }</span>
+
+ /**
+ * Increment the value by one, and return it.
+ *
+ * @return The value of the holder.
+ */
+ public int incr() {
+<span class="fc" id="L37"> return incr(1);</span>
+ }
+
+ /**
+ * Increment the value by an amount and return it.
+ *
+ * @param i
+ * The amount to increment by.
+ *
+ * @return The value of the holder.
+ */
+ public int incr(int i) {
+<span class="fc" id="L49"> val += 1;</span>
+
+<span class="fc" id="L51"> return val;</span>
+ }
+
+ /**
+ * Get the value.
+ *
+ * @return The value.
+ */
+ public int get() {
+<span class="fc" id="L60"> return val;</span>
+ }
+
+ public void set(int i) {
+<span class="nc" id="L64"> val = i;</span>
+<span class="nc" id="L65"> }</span>
+}
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ReplError.html b/docs/jacoco-ut/bjc.everge/ReplError.html
new file mode 100644
index 0000000..7b798b3
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ReplError.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReplError</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">ReplError</span></div><h1>ReplError</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 132</td><td class="ctr2">45%</td><td class="bar">7 of 8</td><td class="ctr2">12%</td><td class="ctr1">6</td><td class="ctr2">9</td><td class="ctr1">7</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="ReplError.java.html#L66" class="el_method">toString()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="111" height="10" title="50" alt="50"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="ReplError.java.html#L79" class="el_method">toPrintString(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="18" alt="18"/><img src="../jacoco-resources/greenbar.gif" width="80" height="10" title="36" alt="36"/></td><td class="ctr2" id="c2">66%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="90" height="10" title="3" alt="3"/><img src="../jacoco-resources/greenbar.gif" width="30" height="10" title="1" alt="1"/></td><td class="ctr2" id="e0">25%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ReplError.java.html#L74" class="el_method">toPrintString()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ReplError.java.html#L55" class="el_method">ReplError(int, int, String, String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="33" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="ReplError.java.html#L40" class="el_method">ReplError(IntHolder, IntHolder, String, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ReplError.java.html b/docs/jacoco-ut/bjc.everge/ReplError.java.html
new file mode 100644
index 0000000..e2d44dc
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ReplError.java.html
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReplError.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.source.html" class="el_package">bjc.everge</a> &gt; <span class="el_source">ReplError.java</span></div><h1>ReplError.java</h1><pre class="source lang-java linenums">package bjc.everge;
+
+/**
+ * Represents an error encountered parsing ReplPairs
+ *
+ * @author Ben Culkin
+ */
+public class ReplError {
+ /**
+ * The line the error occured on.
+ */
+ public int line;
+ /**
+ * The number of pairs we have processed so far.
+ */
+ public int numPairs;
+
+ /**
+ * The text of the line we errored on.
+ */
+ public String txt;
+ /**
+ * The message of the error.
+ */
+ public String msg;
+
+ /**
+ * Create a new ReplPair parse error.
+ *
+ * @param lne
+ * The line the error occured on.
+ * @param nPairs
+ * The number of pairs processed up to this point.
+ * @param msg
+ * The message detailing the error.
+ * @param txt
+ * The text that caused the error.
+ */
+ public ReplError(IntHolder lne, IntHolder nPairs, String msg, String txt) {
+<span class="fc" id="L40"> this(lne.get(), nPairs.get(), msg, txt);</span>
+<span class="fc" id="L41"> }</span>
+
+ /**
+ * Create a new ReplPair parse error.
+ *
+ * @param lne
+ * The line the error occured on.
+ * @param nPairs
+ * The number of pairs processed up to this point.
+ * @param msg
+ * The message detailing the error.
+ * @param txt
+ * The text that caused the error.
+ */
+<span class="fc" id="L55"> public ReplError(int lne, int nPairs, String msg, String txt) {</span>
+<span class="fc" id="L56"> line = lne;</span>
+<span class="fc" id="L57"> numPairs = nPairs;</span>
+
+<span class="fc" id="L59"> this.txt = txt;</span>
+<span class="fc" id="L60"> this.msg = msg;</span>
+<span class="fc" id="L61"> }</span>
+
+ @Override
+ public String toString() {
+ String errString;
+<span class="nc bnc" id="L66" title="All 2 branches missed."> if (txt == null) errString = &quot;No associated line&quot;;</span>
+<span class="nc bnc" id="L67" title="All 2 branches missed."> else if (txt.equals(&quot;&quot;)) errString = &quot;Text of line was empty&quot;;</span>
+<span class="nc" id="L68"> else errString = &quot;Text of line was: &quot; + txt;</span>
+
+<span class="nc" id="L70"> return String.format(&quot;line %d, pair %d:%s\n\t%s&quot;, line, numPairs, msg, errString);</span>
+ }
+
+ public String toPrintString() {
+<span class="nc" id="L74"> return toPrintString(&quot;&quot;);</span>
+ }
+
+ public String toPrintString(String hdr) {
+ String errString;
+<span class="pc bpc" id="L79" title="1 of 2 branches missed."> if (txt == null) errString = &quot;No associated line&quot;;</span>
+<span class="nc bnc" id="L80" title="All 2 branches missed."> else if (txt.equals(&quot;&quot;)) errString = &quot;Text of line was empty&quot;;</span>
+<span class="nc" id="L81"> else errString = &quot;Text of line was: &quot; + txt;</span>
+
+<span class="fc" id="L83"> return String.format(&quot;[ERROR] line %d, pair %d: %s\n%s\tContext: %s&quot;,</span>
+<span class="fc" id="L84"> line, numPairs, msg, hdr, errString);</span>
+ }
+}
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ReplOpts.html b/docs/jacoco-ut/bjc.everge/ReplOpts.html
new file mode 100644
index 0000000..ff2c6e2
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ReplOpts.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReplOpts</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">ReplOpts</span></div><h1>ReplOpts</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">66 of 96</td><td class="ctr2">31%</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">11</td><td class="ctr1">11</td><td class="ctr2">21</td><td class="ctr1">1</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ReplOpts.java.html#L51" class="el_method">equals(Object)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="66" alt="66"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">10</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">11</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ReplOpts.java.html#L10" class="el_method">ReplOpts()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="54" height="10" title="30" alt="30"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ReplOpts.java.html b/docs/jacoco-ut/bjc.everge/ReplOpts.java.html
new file mode 100644
index 0000000..1194cd3
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ReplOpts.java.html
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReplOpts.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.source.html" class="el_package">bjc.everge</a> &gt; <span class="el_source">ReplOpts.java</span></div><h1>ReplOpts.java</h1><pre class="source lang-java linenums">package bjc.everge;
+
+import java.io.PrintStream;
+
+/**
+ * Options for processing ReplPairs.
+ *
+ * @author Ben Culkin.
+ */
+<span class="fc" id="L10">public class ReplOpts {</span>
+ /**
+ * The default priority.
+ */
+<span class="fc" id="L14"> public int defPrior = 0;</span>
+
+ /**
+ * The default stage.
+ */
+<span class="fc" id="L19"> public int defStage = 0;</span>
+
+ /**
+ * Whether to process multi-line defns.
+ */
+<span class="fc" id="L24"> public boolean defMulti = false;</span>
+
+ /**
+ * Default status.
+ */
+<span class="fc" id="L29"> public StageStatus defStatus = StageStatus.BOTH;</span>
+
+ /**
+ * Enable debug info.
+ */
+<span class="fc" id="L34"> public boolean isDebug = true;</span>
+
+ /**
+ * Enable trace info.
+ */
+<span class="fc" id="L39"> public boolean isTrace = false;</span>
+
+ /**
+ * Enable performance info.
+ */
+<span class="fc" id="L44"> public boolean isPerf = false;</span>
+
+<span class="fc" id="L46"> public PrintStream outStream = System.out;</span>
+<span class="fc" id="L47"> public PrintStream errStream = System.err;</span>
+
+ @Override
+ public boolean equals(Object o) {
+<span class="nc bnc" id="L51" title="All 2 branches missed."> if (o == null) return false;</span>
+
+<span class="nc bnc" id="L53" title="All 2 branches missed."> if (!getClass().equals(o.getClass())) return false;</span>
+
+<span class="nc" id="L55"> ReplOpts ro = (ReplOpts)o;</span>
+
+<span class="nc bnc" id="L57" title="All 2 branches missed."> if (isPerf != ro.isPerf) return false;</span>
+
+<span class="nc bnc" id="L59" title="All 2 branches missed."> if (isDebug != ro.isDebug) return false;</span>
+<span class="nc bnc" id="L60" title="All 2 branches missed."> if (isTrace != ro.isTrace) return false;</span>
+
+<span class="nc bnc" id="L62" title="All 2 branches missed."> if (defPrior != ro.defPrior) return false;</span>
+<span class="nc bnc" id="L63" title="All 2 branches missed."> if (defStage != ro.defStage) return false;</span>
+<span class="nc bnc" id="L64" title="All 2 branches missed."> if (defMulti != ro.defMulti) return false;</span>
+
+<span class="nc bnc" id="L66" title="All 2 branches missed."> if (defStatus != ro.defStatus) return false;</span>
+
+<span class="nc" id="L68"> return true;</span>
+ }
+}
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ReplPair.html b/docs/jacoco-ut/bjc.everge/ReplPair.html
new file mode 100644
index 0000000..f4c8951
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ReplPair.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReplPair</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">ReplPair</span></div><h1>ReplPair</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">800 of 1,622</td><td class="ctr2">50%</td><td class="bar">87 of 186</td><td class="ctr2">53%</td><td class="ctr1">73</td><td class="ctr2">123</td><td class="ctr1">138</td><td class="ctr2">336</td><td class="ctr1">2</td><td class="ctr2">17</td></tr></tfoot><tbody><tr><td id="a7"><a href="ReplPair.java.html#L187" class="el_method">readList(List, Scanner, List, ReplOpts)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="282" alt="282"/><img src="../jacoco-resources/greenbar.gif" width="68" height="10" title="370" alt="370"/></td><td class="ctr2" id="c12">56%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="31" alt="31"/><img src="../jacoco-resources/greenbar.gif" width="74" height="10" title="51" alt="51"/></td><td class="ctr2" id="e2">62%</td><td class="ctr1" id="f0">25</td><td class="ctr2" id="g0">43</td><td class="ctr1" id="h1">36</td><td class="ctr2" id="i0">125</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="ReplPair.java.html#L623" class="el_method">readGlobal(String, Scanner, List, ReplOpts, IntHolder, IntHolder)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="186" alt="186"/><img src="../jacoco-resources/greenbar.gif" width="16" height="10" title="91" alt="91"/></td><td class="ctr2" id="c14">32%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="26" height="10" title="18" alt="18"/><img src="../jacoco-resources/greenbar.gif" width="17" height="10" title="12" alt="12"/></td><td class="ctr2" id="e7">40%</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">24</td><td class="ctr1" id="h0">43</td><td class="ctr2" id="i1">69</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="ReplPair.java.html#L767" class="el_method">getControls(String, List, ReplOpts, IntHolder, IntHolder, String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="135" alt="135"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="12" alt="12"/></td><td class="ctr2" id="e8">0%</td><td class="ctr1" id="f3">7</td><td class="ctr2" id="g4">7</td><td class="ctr1" id="h3">25</td><td class="ctr2" id="i3">25</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a10"><a href="ReplPair.java.html#L503" class="el_method">readName(String, Scanner, List, ReplPair, ReplOpts, IntHolder, IntHolder)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="131" alt="131"/><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="110" alt="110"/></td><td class="ctr2" id="c13">45%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="11" alt="11"/><img src="../jacoco-resources/greenbar.gif" width="19" height="10" title="13" alt="13"/></td><td class="ctr2" id="e4">54%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g2">17</td><td class="ctr1" id="h2">30</td><td class="ctr2" id="i2">60</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a9"><a href="ReplPair.java.html#L426" class="el_method">readMultiLine(String, Scanner, ReplOpts, List, String, IntHolder)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="37" alt="37"/><img src="../jacoco-resources/greenbar.gif" width="15" height="10" title="84" alt="84"/></td><td class="ctr2" id="c11">69%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="17" height="10" title="12" alt="12"/></td><td class="ctr2" id="e3">60%</td><td class="ctr1" id="f4">6</td><td class="ctr2" id="g3">11</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">20</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="ReplPair.java.html#L485" class="el_method">equals(Object)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="12" alt="12"/><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="36" alt="36"/></td><td class="ctr2" id="c10">75%</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="8" height="10" title="6" alt="6"/></td><td class="ctr2" id="e5">50%</td><td class="ctr1" id="f5">6</td><td class="ctr2" id="g5">7</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">8</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a16"><a href="ReplPair.java.html#L469" class="el_method">toString()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="10" alt="10"/><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="33" alt="33"/></td><td class="ctr2" id="c9">76%</td><td class="bar" id="d6"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="1" alt="1"/></td><td class="ctr2" id="e6">50%</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i8">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a15"><a href="ReplPair.java.html#L78" class="el_method">ReplPair(String, String, String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="7" alt="7"/></td><td class="ctr2" id="c16">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a5"><a href="ReplPair.java.html#L142" class="el_method">readList(List, Scanner)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="3" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d7"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g7">2</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">5</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a14"><a href="ReplPair.java.html#L24" class="el_method">ReplPair(String, String, int, String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/greenbar.gif" width="3" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i6">7</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a1"><a href="ReplPair.java.html#L478" class="el_method">compareTo(ReplPair)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/greenbar.gif" width="3" height="10" title="17" alt="17"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d8"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g8">2</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a8"><a href="ReplPair.java.html#L125" class="el_method">readList(Scanner)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a6"><a href="ReplPair.java.html#L167" class="el_method">readList(List, Scanner, List)</a></td><td class="bar" id="b12"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i15">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a11"><a href="ReplPair.java.html#L52" class="el_method">ReplPair()</a></td><td class="bar" id="b13"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a13"><a href="ReplPair.java.html#L92" class="el_method">ReplPair(String, String, int)</a></td><td class="bar" id="b14"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="7" alt="7"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i13">2</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a0"><a href="ReplPair.java.html#L464" class="el_method">apply(String)</a></td><td class="bar" id="b15"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="7" alt="7"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i16">1</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k15">1</td></tr><tr><td id="a12"><a href="ReplPair.java.html#L64" class="el_method">ReplPair(String, String)</a></td><td class="bar" id="b16"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g16">1</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i14">2</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k16">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ReplPair.java.html b/docs/jacoco-ut/bjc.everge/ReplPair.java.html
new file mode 100644
index 0000000..7cfa2b5
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ReplPair.java.html
@@ -0,0 +1,815 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReplPair.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.source.html" class="el_package">bjc.everge</a> &gt; <span class="el_source">ReplPair.java</span></div><h1>ReplPair.java</h1><pre class="source lang-java linenums">package bjc.everge;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Scanner;
+
+import java.util.function.UnaryOperator;
+
+import bjc.everge.ControlledString.Control;
+
+/**
+ * String pairs for replacements.
+ *
+ * @author Ben Culkin
+ */
+public class ReplPair implements Comparable&lt;ReplPair&gt;, UnaryOperator&lt;String&gt; {
+ // Line number we read this pair from
+ private int lno;
+
+ // Stage this pair is in
+ private int stage;
+
+ // Status of this pair with regards to doing staging stuff
+<span class="fc" id="L24"> private StageStatus stat = StageStatus.BOTH;</span>
+
+ /**
+ * The priority for this replacement.
+ */
+ public int priority;
+
+ /**
+ * The name of this replacement.
+ *
+ * Defaults to the 'find' string.
+ */
+ public String name;
+
+ /**
+ * The string to look for.
+ */
+ public String find;
+
+ /**
+ * The string to replace it with.
+ */
+ public String replace;
+
+ /**
+ * Create a new blank replacement pair.
+ */
+ public ReplPair() {
+<span class="fc" id="L52"> this(&quot;&quot;, &quot;&quot;, 1, null);</span>
+<span class="fc" id="L53"> }</span>
+
+ /**
+ * Create a new replacement pair with a priority of 1.
+ *
+ * @param f
+ * The string to find.
+ * @param r
+ * The string to replace.
+ */
+ public ReplPair(String f, String r) {
+<span class="fc" id="L64"> this(f, r, 1);</span>
+<span class="fc" id="L65"> }</span>
+
+ /**
+ * Create a new named replacement pair with a priority of 1.
+ *
+ * @param f
+ * The string to find.
+ * @param r
+ * The string to replace.
+ * @param n
+ * The name of the replacement pair.
+ */
+ public ReplPair(String f, String r, String n) {
+<span class="nc" id="L78"> this(f, r, 1, n);</span>
+<span class="nc" id="L79"> }</span>
+
+ /**
+ * Create a new replacement pair with a set priority.
+ *
+ * @param f
+ * The string to find.
+ * @param r
+ * The string to replace.
+ * @param p
+ * The priority for the replacement.
+ */
+ public ReplPair(String f, String r, int p) {
+<span class="fc" id="L92"> this(f, r, p, f);</span>
+<span class="fc" id="L93"> }</span>
+
+ /**
+ * Create a new replacement pair with a set priority and name.
+ *
+ * @param f
+ * The string to find.
+ * @param r
+ * The string to replace.
+ * @param n
+ * The name of the replacement pair.
+ * @param p
+ * The priority for the replacement.
+ */
+<span class="fc" id="L107"> public ReplPair(String f, String r, int p, String n) {</span>
+<span class="fc" id="L108"> find = f;</span>
+<span class="fc" id="L109"> replace = r;</span>
+
+<span class="fc" id="L111"> name = n;</span>
+
+<span class="fc" id="L113"> priority = p;</span>
+<span class="fc" id="L114"> }</span>
+
+ /**
+ * Read a list of replacement pairs from an input source.
+ *
+ * @param scn
+ * The source to read the replacements from.
+ * @return
+ * The list of replacements.
+ */
+ public static List&lt;ReplPair&gt; readList(Scanner scn) {
+<span class="fc" id="L125"> List&lt;ReplPair&gt; lst = new ArrayList&lt;&gt;();</span>
+
+<span class="fc" id="L127"> return readList(lst, scn);</span>
+ }
+
+ /**
+ * Read a list of replacement pairs from an input source, adding them to
+ * an existing list.
+ *
+ * @param detals
+ * The list to add the replacements to.
+ * @param scn
+ * The source to read the replacements from.
+ * @return
+ * The list of replacements.
+ */
+ public static List&lt;ReplPair&gt; readList(List&lt;ReplPair&gt; detals, Scanner scn) {
+<span class="fc" id="L142"> List&lt;ReplError&gt; errList = new ArrayList&lt;&gt;();</span>
+
+<span class="fc" id="L144"> List&lt;ReplPair&gt; rplPar = readList(detals, scn, errList);</span>
+
+<span class="fc bfc" id="L146" title="All 2 branches covered."> if (errList.size() != 0) {</span>
+<span class="fc" id="L147"> throw new ReplParseException(&quot;&quot;, errList);</span>
+ }
+
+<span class="fc" id="L150"> return rplPar;</span>
+ }
+
+ /**
+ * Read a list of replacement pairs from an input source, adding them to
+ * an existing list.
+ *
+ * @param detals
+ * The list to add the replacements to.
+ * @param scn
+ * The source to read the replacements from.
+ * @param errs
+ * The list to stick errors in.
+ * @return
+ * The list of replacements.
+ */
+ public static List&lt;ReplPair&gt; readList(List&lt;ReplPair&gt; detals, Scanner scn, List&lt;ReplError&gt; errs) {
+<span class="fc" id="L167"> return readList(detals, scn, errs, new ReplOpts());</span>
+ }
+
+ /**
+ * Read a list of replacement pairs from an input source, adding them to
+ * an existing list.
+ *
+ * @param detals
+ * The list to add the replacements to.
+ * @param scn
+ * The source to read the replacements from.
+ * @param errs
+ * The list to stick errors in.
+ * @param ropts
+ * The options to use when reading the pairs.
+ * @return
+ * The list of replacements.
+ */
+ public static List&lt;ReplPair&gt; readList(List&lt;ReplPair&gt; detals, Scanner scn,
+ List&lt;ReplError&gt; errs, ReplOpts ropts) {
+<span class="fc" id="L187"> IntHolder lno = new IntHolder();</span>
+<span class="fc" id="L188"> IntHolder pno = new IntHolder();</span>
+
+<span class="fc" id="L190"> List&lt;List&lt;ReplPair&gt;&gt; stages = new ArrayList&lt;&gt;();</span>
+<span class="fc" id="L191"> stages.add(new ArrayList&lt;ReplPair&gt;());</span>
+
+ // For every line in the source...
+<span class="fc bfc" id="L194" title="All 2 branches covered."> while (scn.hasNextLine()) {</span>
+<span class="fc" id="L195"> String name = scn.nextLine().trim();</span>
+<span class="fc" id="L196"> lno.incr();</span>
+
+ // If its commented or blank, skip it
+<span class="fc bfc" id="L199" title="All 2 branches covered."> if (name.equals(&quot;&quot;)) continue;</span>
+<span class="fc bfc" id="L200" title="All 2 branches covered."> if (name.startsWith(&quot;#&quot;)) continue;</span>
+
+ // Global control. Process it.
+<span class="fc bfc" id="L203" title="All 2 branches covered."> if (name.startsWith(&quot;|//&quot;)) {</span>
+<span class="fc" id="L204"> readGlobal(name, scn, errs, ropts, lno, pno);</span>
+
+<span class="fc" id="L206"> continue;</span>
+ }
+
+<span class="fc" id="L209"> ReplPair rp = new ReplPair();</span>
+
+<span class="fc" id="L211"> rp.priority = ropts.defPrior;</span>
+<span class="fc" id="L212"> rp.stat = ropts.defStatus;</span>
+<span class="fc" id="L213"> rp.lno = lno.get();</span>
+<span class="fc" id="L214"> rp.stage = ropts.defStage;</span>
+
+<span class="fc" id="L216"> boolean isMulti = ropts.defMulti;</span>
+
+ {
+<span class="fc" id="L219"> String tmpName = readName(name, scn, errs, rp, ropts, lno, pno);</span>
+<span class="pc bpc" id="L220" title="1 of 2 branches missed."> if (tmpName == null) continue;</span>
+<span class="fc" id="L221"> name = tmpName;</span>
+ }
+
+<span class="fc" id="L224"> rp.find = name;</span>
+<span class="pc bpc" id="L225" title="1 of 2 branches missed."> if (rp.name == null) rp.name = name;</span>
+
+ // We started to process the pair, mark it as being
+ // started
+<span class="fc" id="L229"> pno.incr();</span>
+<span class="fc" id="L230"> String body = null;</span>
+
+ // Read in the next uncommented line
+ do {
+<span class="fc bfc" id="L234" title="All 2 branches covered."> if (!scn.hasNextLine()) break; </span>
+
+<span class="fc" id="L236"> body = scn.nextLine().trim();</span>
+<span class="fc" id="L237"> lno.incr();</span>
+<span class="pc bpc" id="L238" title="1 of 2 branches missed."> } while (body.startsWith(&quot;#&quot;));</span>
+
+<span class="fc bfc" id="L240" title="All 2 branches covered."> if (body == null) {</span>
+<span class="fc" id="L241"> String msg = </span>
+ &quot;Ran out of input looking for replacement body for raw name '&quot; + name + &quot;'&quot;;
+
+<span class="fc" id="L244"> errs.add(new ReplError(lno, pno, msg, null));</span>
+<span class="fc" id="L245"> break;</span>
+ }
+
+<span class="fc" id="L248"> isMulti = ropts.defMulti;</span>
+
+ // Body has attached controls, process them.
+<span class="pc bpc" id="L251" title="1 of 2 branches missed."> if (body.startsWith(&quot;//&quot;)) {</span>
+<span class="nc" id="L252"> body = body.substring(2);</span>
+
+<span class="nc" id="L254"> String[] bodyBits = StringUtils.escapeSplit(&quot;|&quot;, &quot;//&quot;, body);</span>
+<span class="nc bnc" id="L255" title="All 2 branches missed."> if (bodyBits.length &lt; 2) {</span>
+<span class="nc" id="L256"> String msg = &quot;Did not find control terminator (//) in body where it should be&quot;;</span>
+
+<span class="nc" id="L258"> errs.add(new ReplError(lno, pno, msg, body));</span>
+<span class="nc" id="L259"> continue;</span>
+ }
+
+<span class="nc" id="L262"> String contBody = bodyBits[0];</span>
+<span class="nc" id="L263"> String actBody = bodyBits[1];</span>
+
+ // Split out each control
+<span class="nc" id="L266"> String[] bits = StringUtils.escapeSplit(&quot;|&quot;, &quot;;&quot;, actBody);</span>
+
+<span class="nc bnc" id="L268" title="All 2 branches missed."> for (String bit : bits) {</span>
+<span class="nc" id="L269"> String bitHead = bit.toUpperCase();</span>
+<span class="nc" id="L270"> String bitBody = bit;</span>
+
+<span class="nc" id="L272"> String[] bots = StringUtils.escapeSplit(&quot;|&quot;, &quot;/&quot;, bit);</span>
+<span class="nc bnc" id="L273" title="All 2 branches missed."> if (bots.length &gt; 1) {</span>
+<span class="nc" id="L274"> bitHead = bots[0].toUpperCase();</span>
+<span class="nc" id="L275"> bitBody = bots[1];</span>
+ }
+
+<span class="nc bnc" id="L278" title="All 4 branches missed."> switch (bitHead) {</span>
+ case &quot;MULTITRUE&quot;:
+ case &quot;MULTIT&quot;:
+ case &quot;MT&quot;:
+<span class="nc" id="L282"> isMulti = true;</span>
+<span class="nc" id="L283"> break;</span>
+ case &quot;MULTIFALSE&quot;:
+ case &quot;MULTIF&quot;:
+ case &quot;MF&quot;:
+<span class="nc" id="L287"> isMulti = false;</span>
+<span class="nc" id="L288"> break;</span>
+ case &quot;MULTI&quot;:
+ case &quot;M&quot;:
+<span class="nc" id="L291"> isMulti = Boolean.parseBoolean(bitBody);</span>
+<span class="nc" id="L292"> break;</span>
+ default:
+<span class="nc" id="L294"> errs.add(new ReplError(lno, pno, String.format(&quot;Invalid control name '%s'&quot;, bitHead), body));</span>
+ break;
+ }
+ }
+
+<span class="nc" id="L299"> body = actBody;</span>
+ }
+
+<span class="fc bfc" id="L302" title="All 2 branches covered."> if (isMulti) {</span>
+<span class="fc" id="L303"> String tmp = readMultiLine(body, scn, ropts, errs, &quot;body&quot;, lno);</span>
+<span class="pc bpc" id="L304" title="1 of 2 branches missed."> if (tmp == null) continue;</span>
+<span class="fc" id="L305"> body = tmp;</span>
+ }
+
+<span class="fc" id="L308"> rp.replace = body;</span>
+
+<span class="fc" id="L310"> List&lt;ReplPair&gt; stageList = null;</span>
+<span class="pc bpc" id="L311" title="1 of 4 branches missed."> if (rp.stage == 0 || stages.size() &lt; (rp.stage - 1)) {</span>
+<span class="fc" id="L312"> stageList = stages.get(rp.stage);</span>
+
+<span class="pc bpc" id="L314" title="1 of 2 branches missed."> if (stageList == null) {</span>
+<span class="nc" id="L315"> stageList = new ArrayList&lt;&gt;();</span>
+
+<span class="nc" id="L317"> stages.add(rp.stage, stageList);</span>
+ }
+ } else {
+<span class="fc bfc" id="L320" title="All 2 branches covered."> for (int i = stages.size(); i &lt;= rp.stage; i++) {</span>
+<span class="fc" id="L321"> stages.add(new ArrayList&lt;&gt;());</span>
+ }
+
+<span class="fc" id="L324"> stageList = stages.get(rp.stage);</span>
+ }
+
+<span class="pc bpc" id="L327" title="1 of 2 branches missed."> if (ropts.isTrace) {</span>
+<span class="nc" id="L328"> ropts.errStream.printf(&quot;\t[DEBUG] Stage %d: Added %s\n\t\tContents: %s\n&quot;,</span>
+<span class="nc" id="L329"> rp.stage, rp, stageList);</span>
+ }
+
+<span class="fc" id="L332"> stageList.add(rp);</span>
+<span class="fc" id="L333"> }</span>
+
+ // Special-case one-stage processing.
+<span class="fc bfc" id="L336" title="All 2 branches covered."> if (stages.size() == 1) {</span>
+<span class="pc bpc" id="L337" title="1 of 2 branches missed."> if (ropts.isTrace) ropts.errStream.printf(&quot;\t[DEBUG] Executing single-stage bypass\n&quot;);</span>
+
+<span class="fc bfc" id="L339" title="All 2 branches covered."> for (ReplPair rp : stages.iterator().next()) {</span>
+<span class="pc bpc" id="L340" title="1 of 2 branches missed."> if (rp.stat == StageStatus.INTERNAL) {</span>
+<span class="nc bnc" id="L341" title="All 2 branches missed."> if (ropts.isTrace) ropts.errStream.printf(&quot;\t[DEBUG] Excluding internal RP %s\n&quot;, rp);</span>
+
+ continue;
+ }
+
+<span class="fc" id="L346"> detals.add(rp);</span>
+<span class="fc" id="L347"> }</span>
+
+<span class="fc" id="L349"> detals.sort(null);</span>
+
+<span class="fc" id="L351"> return detals;</span>
+ }
+
+ // Handle stages
+<span class="fc" id="L355"> List&lt;ReplPair&gt; tmpList = new ArrayList&lt;&gt;();</span>
+<span class="fc" id="L356"> tmpList.addAll(detals);</span>
+
+<span class="pc bpc" id="L358" title="1 of 2 branches missed."> if (ropts.isTrace) ropts.errStream.printf(&quot;\t[DEBUG] Stages: %s\n&quot;, stages);</span>
+
+<span class="fc" id="L360"> int procStg = 0;</span>
+<span class="fc bfc" id="L361" title="All 2 branches covered."> for (List&lt;ReplPair&gt; stageList : stages) {</span>
+<span class="fc" id="L362"> procStg += 1;</span>
+<span class="fc" id="L363"> List&lt;ReplPair&gt; curStage = new ArrayList&lt;&gt;();</span>
+
+<span class="pc bpc" id="L365" title="1 of 2 branches missed."> if (ropts.isTrace) ropts.errStream.printf(&quot;\t[DEBUG] Staging stage %d of %d: %s\n&quot;,</span>
+<span class="nc" id="L366"> procStg, stageList.size(), stageList);</span>
+
+<span class="fc bfc" id="L368" title="All 2 branches covered."> for (ReplPair rp : stageList) {</span>
+ // Process through every pair in the previous
+ // stages
+<span class="fc bfc" id="L371" title="All 2 branches covered."> for (ReplPair curPar : tmpList) {</span>
+<span class="fc" id="L372"> String tmp = rp.replace.replaceAll(curPar.find, curPar.replace);</span>
+
+<span class="pc bpc" id="L374" title="3 of 4 branches missed."> if (ropts.isTrace &amp;&amp; !rp.replace.equals(tmp)) {</span>
+<span class="nc" id="L375"> ropts.errStream.printf(&quot;\t[DEBUG] Staged '%s' -&gt; '%s'\t%s\n&quot;,</span>
+ rp.replace, tmp, curPar);
+ }
+
+<span class="fc" id="L379"> rp.replace = tmp;</span>
+<span class="fc" id="L380"> }</span>
+
+ // If we're external; add straight to the output
+<span class="fc bfc" id="L383" title="All 2 branches covered."> if (rp.stat == StageStatus.EXTERNAL) {</span>
+<span class="pc bpc" id="L384" title="1 of 2 branches missed."> if (ropts.isTrace) {</span>
+<span class="nc" id="L385"> ropts.errStream.printf(&quot;\t[DEBUG] Skipped external for staging: %s\n&quot;,</span>
+ rp);
+ }
+
+<span class="fc" id="L389"> detals.add(rp);</span>
+ } else {
+<span class="pc bpc" id="L391" title="1 of 2 branches missed."> if (ropts.isTrace) {</span>
+<span class="nc" id="L392"> ropts.errStream.printf(&quot;\t[DEBUG] Added to stage %d: %s\n\t\tContents: %s\n&quot;,</span>
+<span class="nc" id="L393"> procStg, rp, curStage);</span>
+ }
+
+<span class="fc" id="L396"> curStage.add(rp);</span>
+ }
+<span class="fc" id="L398"> }</span>
+
+<span class="fc" id="L400"> tmpList.addAll(curStage);</span>
+<span class="fc" id="L401"> tmpList.sort(null);</span>
+<span class="fc" id="L402"> }</span>
+
+ // Copy over to output, excluding internals
+<span class="fc bfc" id="L405" title="All 2 branches covered."> for (ReplPair rp : tmpList) {</span>
+<span class="fc bfc" id="L406" title="All 2 branches covered."> if (rp.stat == StageStatus.INTERNAL) {</span>
+<span class="pc bpc" id="L407" title="1 of 2 branches missed."> if (ropts.isTrace) ropts.errStream.printf(&quot;\t[DEBUG] Excluded internal: %s\n&quot;, rp);</span>
+
+ continue;
+ }
+
+<span class="fc" id="L412"> detals.add(rp);</span>
+<span class="fc" id="L413"> }</span>
+
+<span class="fc" id="L415"> detals.sort(null);</span>
+
+<span class="pc bpc" id="L417" title="1 of 2 branches missed."> if (ropts.isTrace) {</span>
+<span class="nc" id="L418"> ropts.errStream.printf(&quot;\t[DEBUG] Final output: %s\n&quot;, detals);</span>
+ }
+
+<span class="fc" id="L421"> return detals;</span>
+ }
+
+ private static String readMultiLine(String lead, Scanner src, ReplOpts ropts,
+ List&lt;ReplError&gt; errs, String typ, IntHolder lno) {
+<span class="fc" id="L426"> String tmp = lead;</span>
+
+<span class="pc bpc" id="L428" title="3 of 4 branches missed."> if (ropts.isTrace &amp;&amp; tmp.endsWith(&quot;\\&quot;)) </span>
+<span class="nc" id="L429"> ropts.errStream.printf(&quot;\t[TRACE] Starting multi-line parse for %s '%s'\n&quot;, typ, tmp);</span>
+
+<span class="fc" id="L431"> boolean didMulti = tmp.endsWith(&quot;\\&quot;);</span>
+<span class="fc bfc" id="L432" title="All 2 branches covered."> while (tmp.endsWith(&quot;\\&quot;)) {</span>
+<span class="fc" id="L433"> boolean incNL = tmp.endsWith(&quot;|\\&quot;);</span>
+
+<span class="pc bpc" id="L435" title="1 of 2 branches missed."> if (!src.hasNextLine()) break;</span>
+
+<span class="fc" id="L437"> String nxt = src.nextLine().trim();</span>
+<span class="fc" id="L438"> lno.incr();</span>
+
+<span class="fc bfc" id="L440" title="All 2 branches covered."> if (nxt.startsWith(&quot;#&quot;)) continue;</span>
+
+<span class="fc bfc" id="L442" title="All 2 branches covered."> String nlStr = incNL ? &quot;\n&quot; : &quot;&quot;;</span>
+
+<span class="pc bpc" id="L444" title="1 of 2 branches missed."> if (tmp.endsWith(&quot;\\&quot;)) {</span>
+<span class="fc bfc" id="L445" title="All 2 branches covered."> if (incNL) {</span>
+<span class="fc" id="L446"> tmp = tmp.substring(0, tmp.length() - 2);</span>
+ } else {
+<span class="fc" id="L448"> tmp = tmp.substring(0, tmp.length() - 1);</span>
+ }
+ }
+
+<span class="fc" id="L452"> tmp = String.format(&quot;%s%s%s&quot;, tmp, nlStr, nxt);</span>
+<span class="fc" id="L453"> }</span>
+
+<span class="pc bpc" id="L455" title="3 of 4 branches missed."> if (ropts.isTrace &amp;&amp; didMulti)</span>
+<span class="nc" id="L456"> ropts.errStream.printf(&quot;\t[TRACE] Finished multi-line parse for %s:\n%s\n.\n&quot;,</span>
+ typ, tmp);
+
+<span class="fc" id="L459"> return tmp;</span>
+ }
+
+ @Override
+ public String apply(String inp) {
+<span class="fc" id="L464"> return inp.replaceAll(find, replace);</span>
+ }
+
+ @Override
+ public String toString() {
+<span class="fc" id="L469"> String nameStr = &quot;&quot;;</span>
+
+<span class="pc bpc" id="L471" title="1 of 2 branches missed."> if (!find.equals(name)) nameStr = String.format(&quot;(%s)&quot;, name);</span>
+
+<span class="fc" id="L473"> return String.format(&quot;%ss/%s/%s/p(%d)&quot;, nameStr, find, replace, priority);</span>
+ }
+
+ @Override
+ public int compareTo(ReplPair rp) {
+<span class="fc bfc" id="L478" title="All 2 branches covered."> if (this.priority == rp.priority) return this.lno - rp.lno;</span>
+
+<span class="fc" id="L480"> return rp.priority - this.priority;</span>
+ }
+
+ @Override
+ public boolean equals(Object o) {
+<span class="pc bpc" id="L485" title="1 of 2 branches missed."> if (o == null) return false;</span>
+
+<span class="pc bpc" id="L487" title="1 of 2 branches missed."> if (!getClass().equals(o.getClass())) return false;</span>
+
+<span class="fc" id="L489"> ReplPair ro = (ReplPair)o;</span>
+
+<span class="pc bpc" id="L491" title="1 of 2 branches missed."> if (!find.equals(ro.find)) return false;</span>
+ // lno is not a field we consider for equality
+<span class="pc bpc" id="L493" title="1 of 2 branches missed."> if (!name.equals(ro.name)) return false;</span>
+<span class="pc bpc" id="L494" title="1 of 2 branches missed."> if (priority != ro.priority) return false;</span>
+<span class="pc bpc" id="L495" title="1 of 2 branches missed."> if (!replace.equals(ro.name)) return false;</span>
+ // stat is not a field we consider for equality
+
+<span class="fc" id="L498"> return true;</span>
+ }
+
+ private static String readName(String nam, Scanner scn, List&lt;ReplError&gt; errs,
+ ReplPair rp, ReplOpts ropts, IntHolder lno, IntHolder pno) {
+<span class="fc" id="L503"> String name = nam;</span>
+
+<span class="fc" id="L505"> boolean isMulti = ropts.defMulti;</span>
+
+ // Name has attached controls, process them.
+<span class="fc bfc" id="L508" title="All 2 branches covered."> if (name.startsWith(&quot;//&quot;)) {</span>
+<span class="fc" id="L509"> name = name.substring(2);</span>
+
+<span class="fc" id="L511"> String[] nameBits = StringUtils.escapeSplit(&quot;|&quot;, &quot;//&quot;, name);</span>
+
+<span class="pc bpc" id="L513" title="1 of 2 branches missed."> if (nameBits.length &lt; 2) {</span>
+<span class="nc" id="L514"> String msg = &quot;Did not find control terminator (//) in name where it should be&quot;;</span>
+
+<span class="nc" id="L516"> errs.add(new ReplError(lno, pno, msg, name));</span>
+<span class="nc" id="L517"> return null;</span>
+ }
+
+<span class="fc" id="L520"> String contName = nameBits[0];</span>
+<span class="fc" id="L521"> String actName = nameBits[1];</span>
+
+ // Split out each control
+<span class="fc" id="L524"> String[] bits = StringUtils.escapeSplit(&quot;|&quot;, &quot;;&quot;, contName);</span>
+
+<span class="fc bfc" id="L526" title="All 2 branches covered."> for (String bit : bits) {</span>
+<span class="fc" id="L527"> String bitHead = bit.toUpperCase();</span>
+<span class="fc" id="L528"> String bitBody = bit;</span>
+
+<span class="fc" id="L530"> String[] bots = StringUtils.escapeSplit(&quot;|&quot;, &quot;/&quot;, bit);</span>
+
+<span class="fc bfc" id="L532" title="All 2 branches covered."> if (bots.length &gt; 1) {</span>
+<span class="fc" id="L533"> bitHead = bots[0].toUpperCase();</span>
+<span class="fc" id="L534"> bitBody = bots[1];</span>
+ }
+
+<span class="pc bpc" id="L537" title="6 of 10 branches missed."> switch (bitHead) {</span>
+ case &quot;NAME&quot;:
+ case &quot;N&quot;:
+<span class="nc" id="L540"> rp.name = bitBody;</span>
+<span class="nc" id="L541"> break;</span>
+ case &quot;PRIORITY&quot;:
+ case &quot;PRIOR&quot;:
+ case &quot;P&quot;:
+ try {
+<span class="fc" id="L546"> rp.priority = Integer.parseInt(bitBody);</span>
+<span class="nc" id="L547"> } catch (NumberFormatException nfex) {</span>
+<span class="nc" id="L548"> String errMsg = String.format(&quot;'%s' is not a valid priority (must be an integer)&quot;, bitBody);</span>
+<span class="nc" id="L549"> errs.add(new ReplError(lno, pno, errMsg, name));</span>
+<span class="fc" id="L550"> }</span>
+<span class="nc" id="L551"> break;</span>
+ case &quot;STAGE&quot;:
+ case &quot;S&quot;:
+ try {
+<span class="fc" id="L555"> int tmpStage = Integer.parseInt(bitBody);</span>
+<span class="pc bpc" id="L556" title="1 of 2 branches missed."> if (tmpStage &lt; 0) {</span>
+<span class="nc" id="L557"> String errMsg = String.format(&quot;'%s' is not a valid stage (must be a positive integer)&quot;, bitBody);</span>
+<span class="nc" id="L558"> errs.add(new ReplError(lno, pno, errMsg, name));</span>
+
+<span class="nc" id="L560"> break;</span>
+ }
+<span class="fc" id="L562"> rp.stage = tmpStage;</span>
+<span class="nc" id="L563"> } catch (NumberFormatException nfex) {</span>
+<span class="nc" id="L564"> String errMsg = String.format(&quot;'%s' is not a valid stage (must be a positive integer)&quot;, bitBody);</span>
+<span class="nc" id="L565"> errs.add(new ReplError(lno, pno, errMsg, name));</span>
+<span class="fc" id="L566"> }</span>
+<span class="nc" id="L567"> break;</span>
+ case &quot;MULTITRUE&quot;:
+ case &quot;MULTIT&quot;:
+ case &quot;MT&quot;:
+<span class="nc" id="L571"> isMulti = true;</span>
+<span class="nc" id="L572"> break;</span>
+ case &quot;MULTIFALSE&quot;:
+ case &quot;MULTIF&quot;:
+ case &quot;MF&quot;:
+<span class="nc" id="L576"> isMulti = false;</span>
+<span class="nc" id="L577"> break;</span>
+ case &quot;MULTI&quot;:
+ case &quot;M&quot;:
+<span class="nc" id="L580"> isMulti = Boolean.parseBoolean(bitBody);</span>
+<span class="nc" id="L581"> break;</span>
+ case &quot;INTERNAL&quot;:
+ case &quot;INT&quot;:
+ case &quot;I&quot;:
+<span class="fc" id="L585"> rp.stat = StageStatus.INTERNAL;</span>
+<span class="fc" id="L586"> break;</span>
+ case &quot;EXTERNAL&quot;:
+ case &quot;EXT&quot;:
+ case &quot;E&quot;:
+<span class="fc" id="L590"> rp.stat = StageStatus.EXTERNAL;</span>
+<span class="fc" id="L591"> break;</span>
+ case &quot;BOTH&quot;:
+ case &quot;B&quot;:
+<span class="nc" id="L594"> rp.stat = StageStatus.BOTH;</span>
+<span class="nc" id="L595"> break;</span>
+ default:
+ {
+<span class="nc" id="L598"> ReplError erd = new ReplError(lno, pno,</span>
+<span class="nc" id="L599"> String.format(&quot;Unknown control name '%s' for name '%s'&quot;,</span>
+ bitHead, name), name);
+
+<span class="nc" id="L602"> errs.add(erd);</span>
+ }
+ break;
+ }
+
+<span class="fc" id="L607"> name = actName;</span>
+ }
+
+ // Multi-line name with a trailer
+<span class="pc bpc" id="L611" title="1 of 2 branches missed."> if (isMulti) {</span>
+<span class="nc" id="L612"> String tmp = readMultiLine(name, scn, ropts, errs, &quot;name&quot;, lno);</span>
+<span class="nc bnc" id="L613" title="All 2 branches missed."> if (tmp == null) return null;</span>
+<span class="nc" id="L614"> name = tmp;</span>
+ }
+ }
+
+<span class="fc" id="L618"> return name;</span>
+ }
+
+ private static void readGlobal(String nam, Scanner scn, List&lt;ReplError&gt; errs,
+ ReplOpts ropts, IntHolder lno, IntHolder pno) {
+<span class="fc" id="L623"> String name = nam.substring(3);</span>
+
+ // Split out each control
+<span class="fc" id="L626"> String[] bits = StringUtils.escapeSplit(&quot;|&quot;, &quot;;&quot;, name);</span>
+<span class="pc bpc" id="L627" title="1 of 2 branches missed."> if (ropts.isTrace) {</span>
+<span class="nc" id="L628"> ropts.errStream.printf(&quot;\t[TRACE] Split control bits are: \n&quot;);</span>
+<span class="nc bnc" id="L629" title="All 2 branches missed."> for (String bit : bits) {</span>
+<span class="nc" id="L630"> ropts.errStream.printf(&quot;%s, &quot;, bit);</span>
+ }
+<span class="nc" id="L632"> ropts.errStream.println();</span>
+ }
+<span class="fc bfc" id="L634" title="All 2 branches covered."> for (String bit : bits) {</span>
+<span class="fc" id="L635"> String bitHead = bit.toUpperCase();</span>
+<span class="fc" id="L636"> String bitBody = bit;</span>
+
+<span class="fc" id="L638"> String[] bots = StringUtils.escapeSplit(&quot;|&quot;, &quot;/&quot;, bit);</span>
+<span class="fc bfc" id="L639" title="All 2 branches covered."> if (bots.length &gt; 1) {</span>
+<span class="fc" id="L640"> bitHead = bots[0];</span>
+<span class="fc" id="L641"> bitBody = bots[1];</span>
+ }
+
+<span class="pc bpc" id="L644" title="13 of 18 branches missed."> switch (bitHead) {</span>
+ case &quot;PRIORITY&quot;:
+ case &quot;PRIOR&quot;:
+ case &quot;P&quot;:
+ try {
+<span class="fc" id="L649"> int tmp = Integer.parseInt(bitBody);</span>
+<span class="fc" id="L650"> ropts.defPrior = tmp;</span>
+<span class="nc" id="L651"> } catch (NumberFormatException nfex) {</span>
+<span class="nc" id="L652"> String errMsg = String.format(&quot;'%s' is not a valid priority (must be an integer)&quot;,</span>
+ bitBody);
+
+<span class="nc" id="L655"> errs.add(new ReplError(lno, pno, errMsg, name));</span>
+<span class="fc" id="L656"> }</span>
+<span class="nc" id="L657"> break;</span>
+ case &quot;STAGE&quot;:
+ case &quot;S&quot;:
+ try {
+<span class="fc" id="L661"> int tmpStage = Integer.parseInt(bitBody);</span>
+
+<span class="pc bpc" id="L663" title="1 of 2 branches missed."> if (tmpStage &lt; 0) {</span>
+<span class="nc" id="L664"> String errMsg = String.format(&quot;'%s' is not a valid stage (must be a positive integer)&quot;,</span>
+ bitBody);
+
+<span class="nc" id="L667"> errs.add(new ReplError(lno, pno, errMsg, name));</span>
+<span class="nc" id="L668"> break;</span>
+ }
+<span class="fc" id="L670"> ropts.defStage = tmpStage;</span>
+<span class="nc" id="L671"> } catch (NumberFormatException nfex) {</span>
+<span class="nc" id="L672"> String errMsg = String.format(&quot;'%s' is not a valid stage (must be a positive integer)&quot;,</span>
+ bitBody);
+
+<span class="nc" id="L675"> errs.add(new ReplError(lno, pno, errMsg, name));</span>
+<span class="fc" id="L676"> }</span>
+<span class="nc" id="L677"> break;</span>
+ case &quot;MULTITRUE&quot;:
+ case &quot;MULTIT&quot;:
+ case &quot;MT&quot;:
+<span class="nc" id="L681"> ropts.defMulti = true;</span>
+<span class="nc" id="L682"> break;</span>
+ case &quot;MULTIFALSE&quot;:
+ case &quot;MULTIF&quot;:
+ case &quot;MF&quot;:
+<span class="nc" id="L686"> ropts.defMulti = false;</span>
+<span class="nc" id="L687"> break;</span>
+ case &quot;MULTI&quot;:
+ case &quot;M&quot;:
+<span class="fc" id="L690"> ropts.defMulti = Boolean.parseBoolean(bitBody);</span>
+<span class="fc" id="L691"> break;</span>
+ case &quot;INTERNAL&quot;:
+ case &quot;INT&quot;:
+ case &quot;I&quot;:
+<span class="nc" id="L695"> ropts.defStatus = StageStatus.INTERNAL;</span>
+<span class="nc" id="L696"> break;</span>
+ case &quot;EXTERNAL&quot;:
+ case &quot;EXT&quot;:
+ case &quot;E&quot;:
+<span class="nc" id="L700"> ropts.defStatus = StageStatus.EXTERNAL;</span>
+<span class="nc" id="L701"> break;</span>
+ case &quot;BOTH&quot;:
+ case &quot;B&quot;:
+<span class="nc" id="L704"> ropts.defStatus = StageStatus.BOTH;</span>
+<span class="nc" id="L705"> break;</span>
+ case &quot;DEBUGTRUE&quot;:
+ case &quot;DEBUGT&quot;:
+ case &quot;DT&quot;:
+<span class="nc" id="L709"> ropts.isDebug = true;</span>
+<span class="nc" id="L710"> break;</span>
+ case &quot;DEBUGFALSE&quot;:
+ case &quot;DEBUGF&quot;:
+ case &quot;DF&quot;:
+<span class="fc" id="L714"> ropts.isDebug = false;</span>
+<span class="fc" id="L715"> break;</span>
+ case &quot;DEBUG&quot;:
+ case &quot;D&quot;:
+<span class="nc" id="L718"> ropts.isDebug = Boolean.parseBoolean(bitBody);</span>
+<span class="nc" id="L719"> break;</span>
+ case &quot;TRACETRUE&quot;:
+ case &quot;TRACET&quot;:
+ case &quot;TT&quot;:
+<span class="nc" id="L723"> ropts.isTrace = true;</span>
+<span class="nc" id="L724"> break;</span>
+ case &quot;TRACEFALSE&quot;:
+ case &quot;TRACEF&quot;:
+ case &quot;TF&quot;:
+<span class="fc" id="L728"> ropts.isTrace = false;</span>
+<span class="fc" id="L729"> break;</span>
+ case &quot;TRACE&quot;:
+ case &quot;T&quot;:
+<span class="nc" id="L732"> ropts.isTrace = Boolean.parseBoolean(bitBody);</span>
+<span class="nc" id="L733"> break;</span>
+ case &quot;PERFTRUE&quot;:
+ case &quot;PERFT&quot;:
+ case &quot;PRFT&quot;:
+<span class="nc" id="L737"> ropts.isPerf = true;</span>
+<span class="nc" id="L738"> break;</span>
+ case &quot;PERFFALSE&quot;:
+ case &quot;PERFF&quot;:
+ case &quot;PRFF&quot;:
+<span class="nc" id="L742"> ropts.isPerf = false;</span>
+<span class="nc" id="L743"> break;</span>
+ case &quot;PERF&quot;:
+ case &quot;PRF&quot;:
+<span class="nc" id="L746"> ropts.isPerf = Boolean.parseBoolean(bitBody);</span>
+<span class="nc" id="L747"> break;</span>
+ default:
+ {
+<span class="nc" id="L750"> String msg = String.format(&quot;Invalid global control name '%s'&quot;, bitHead);</span>
+<span class="nc" id="L751"> ReplError err = new ReplError(lno, pno, msg, name);</span>
+<span class="nc" id="L752"> errs.add(err);</span>
+ }
+ break;
+ }
+
+<span class="pc bpc" id="L757" title="1 of 2 branches missed."> if (ropts.isTrace) </span>
+<span class="nc" id="L758"> ropts.errStream.printf(&quot;\t[TRACE] Processed global control '%s':'%s'\n&quot;, </span>
+ bitHead, bitBody);
+ }
+
+<span class="fc" id="L762"> return;</span>
+ }
+
+ private static ControlledString getControls(String lne, List&lt;ReplError&gt; errs,
+ ReplOpts ropts, IntHolder lno, IntHolder pno, String type) {
+<span class="nc bnc" id="L767" title="All 2 branches missed."> if (!lne.startsWith(&quot;//&quot;)) {</span>
+<span class="nc" id="L768"> return new ControlledString(lne);</span>
+ }
+
+<span class="nc" id="L771"> String tmp = lne.substring(2);</span>
+
+<span class="nc" id="L773"> String[] bits = StringUtils.escapeSplit(&quot;|&quot;, &quot;//&quot;, lne);</span>
+
+<span class="nc bnc" id="L775" title="All 2 branches missed."> if (bits.length &lt; 2) {</span>
+<span class="nc" id="L776"> String msg = &quot;Did not find control terminator (//) in %s where it should be&quot;;</span>
+<span class="nc" id="L777"> msg = String.format(msg, type);</span>
+
+<span class="nc" id="L779"> ReplError re = new ReplError(lno, pno, msg, lne);</span>
+<span class="nc" id="L780"> errs.add(re);</span>
+
+<span class="nc" id="L782"> return null;</span>
+ }
+
+<span class="nc" id="L785"> ControlledString cs = new ControlledString(bits[0]);</span>
+
+<span class="nc" id="L787"> bits = StringUtils.escapeSplit(&quot;|&quot;, &quot;;&quot;, bits[1]);</span>
+
+<span class="nc" id="L789"> cs.controls = new Control[bits.length];</span>
+
+<span class="nc bnc" id="L791" title="All 2 branches missed."> for (int i = 0; i &lt; bits.length; i++) {</span>
+<span class="nc" id="L792"> String bit = bits[i];</span>
+
+<span class="nc" id="L794"> String[] bots = StringUtils.escapeSplit(&quot;|&quot;, &quot;/&quot;, bit);</span>
+
+<span class="nc" id="L796"> Control cont = new Control(bots[0]);</span>
+
+<span class="nc bnc" id="L798" title="All 2 branches missed."> if (cont.name.length() &gt; 1) {</span>
+<span class="nc" id="L799"> cont.name = cont.name.toUpperCase();</span>
+ }
+
+<span class="nc bnc" id="L802" title="All 2 branches missed."> if (bots.length &gt; 1) {</span>
+<span class="nc" id="L803"> cont.args = new String[bots.length - 1];</span>
+<span class="nc bnc" id="L804" title="All 2 branches missed."> for (int j = 1; j &lt; bots.length; j++) {</span>
+<span class="nc" id="L805"> cont.args[j - 1] = bots[j];</span>
+ }
+ }
+
+<span class="nc" id="L809"> cs.controls[i] = cont;</span>
+ }
+
+<span class="nc" id="L812"> return cs;</span>
+ }
+}
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ReplParseException.html b/docs/jacoco-ut/bjc.everge/ReplParseException.html
new file mode 100644
index 0000000..db90db6
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ReplParseException.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReplParseException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">ReplParseException</span></div><h1>ReplParseException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">59 of 128</td><td class="ctr2">53%</td><td class="bar">6 of 12</td><td class="ctr2">50%</td><td class="ctr1">7</td><td class="ctr2">10</td><td class="ctr1">11</td><td class="ctr2">27</td><td class="ctr1">2</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="ReplParseException.java.html#L22" class="el_method">toString()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="39" height="10" title="28" alt="28"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="ReplParseException.java.html#L30" class="el_method">toPrintString()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="33" height="10" title="24" alt="24"/><img src="../jacoco-resources/greenbar.gif" width="86" height="10" title="62" alt="62"/></td><td class="ctr2" id="c1">72%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="48" height="10" title="4" alt="4"/><img src="../jacoco-resources/greenbar.gif" width="72" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">60%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="ReplParseException.java.html#L10" class="el_method">ReplParseException(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="ReplParseException.java.html#L14" class="el_method">ReplParseException(String, List)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ReplParseException.java.html b/docs/jacoco-ut/bjc.everge/ReplParseException.java.html
new file mode 100644
index 0000000..322ba21
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ReplParseException.java.html
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReplParseException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.source.html" class="el_package">bjc.everge</a> &gt; <span class="el_source">ReplParseException.java</span></div><h1>ReplParseException.java</h1><pre class="source lang-java linenums">package bjc.everge;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ReplParseException extends RuntimeException {
+ public List&lt;ReplError&gt; errs;
+
+ public ReplParseException(String msg) {
+<span class="nc" id="L10"> this(msg, new ArrayList&lt;&gt;());</span>
+<span class="nc" id="L11"> }</span>
+
+ public ReplParseException(String msg, List&lt;ReplError&gt; errs) {
+<span class="fc" id="L14"> super(msg);</span>
+
+<span class="fc" id="L16"> this.errs = errs;</span>
+<span class="fc" id="L17"> }</span>
+
+ @Override
+ public String toString() {
+ String errString;
+<span class="nc bnc" id="L22" title="All 2 branches missed."> if (errs.size() == 0) errString = &quot;An error&quot;;</span>
+<span class="nc" id="L23"> else errString = &quot;Errors&quot;;</span>
+
+<span class="nc" id="L25"> return String.format(&quot;%s occured parsing replacement pairs: %s\n%s&quot;,</span>
+<span class="nc" id="L26"> errString, getMessage(), errs);</span>
+ }
+
+ public String toPrintString() {
+<span class="fc" id="L30"> StringBuilder errString = new StringBuilder(&quot;[ERROR] &quot;);</span>
+
+<span class="pc bpc" id="L32" title="1 of 2 branches missed."> if (errs.size() == 0) {</span>
+<span class="nc" id="L33"> errString.append(&quot;No specific errors&quot;);</span>
+<span class="pc bpc" id="L34" title="1 of 2 branches missed."> } else if (errs.size() == 1) {</span>
+<span class="fc" id="L35"> errString.append(&quot;An error&quot;);</span>
+ } else {
+<span class="nc" id="L37"> errString.append(errs.size());</span>
+<span class="nc" id="L38"> errString.append(&quot; errors&quot;);</span>
+ }
+
+<span class="fc" id="L41"> errString.append(&quot; occured parsing replacement pairs:&quot;);</span>
+<span class="pc bpc" id="L42" title="1 of 2 branches missed."> if (!getMessage().equals(&quot;&quot;)) {</span>
+<span class="nc" id="L43"> errString.append(&quot; &quot;);</span>
+<span class="nc" id="L44"> errString.append(getMessage());</span>
+ }
+
+<span class="pc bpc" id="L47" title="1 of 2 branches missed."> if (errs.size() &gt; 0) {</span>
+<span class="fc" id="L48"> errString.append(&quot;\n\t&quot;);</span>
+
+<span class="fc bfc" id="L50" title="All 2 branches covered."> for (ReplError err : errs) {</span>
+<span class="fc" id="L51"> errString.append(err.toPrintString(&quot;\t&quot;));</span>
+<span class="fc" id="L52"> errString.append(&quot;\n\t&quot;);</span>
+<span class="fc" id="L53"> }</span>
+ }
+
+<span class="fc" id="L56"> return errString.toString().trim();</span>
+ }
+}
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ReplSet.html b/docs/jacoco-ut/bjc.everge/ReplSet.html
new file mode 100644
index 0000000..1edd220
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ReplSet.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReplSet</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">ReplSet</span></div><h1>ReplSet</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">105 of 105</td><td class="ctr2">0%</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a1"><a href="ReplSet.java.html#L71" class="el_method">addPairs(ReplPair[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="ReplSet.java.html#L40" class="el_method">fromFile(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="110" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="ReplSet.java.html#L56" class="el_method">addPairs(List)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="96" height="10" title="21" alt="21"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="ReplSet.java.html#L88" class="el_method">apply(String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="20" alt="20"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="ReplSet.java.html#L23" class="el_method">ReplSet()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">3</td><td class="ctr2" id="i4">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="ReplSet.java.html#L35" class="el_method">ReplSet(List)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="27" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">3</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/ReplSet.java.html b/docs/jacoco-ut/bjc.everge/ReplSet.java.html
new file mode 100644
index 0000000..f2f59a6
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/ReplSet.java.html
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReplSet.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.source.html" class="el_package">bjc.everge</a> &gt; <span class="el_source">ReplSet.java</span></div><h1>ReplSet.java</h1><pre class="source lang-java linenums">package bjc.everge;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Scanner;
+
+/**
+ * A set of ReplPairs, kept together for easy use
+ *
+ * @author Ben Culkin
+ */
+public class ReplSet {
+ // The list of pairs
+ private List&lt;ReplPair&gt; parList;
+
+ /**
+ * Create a new blank set of pairs.
+ */
+<span class="nc" id="L23"> public ReplSet() {</span>
+<span class="nc" id="L24"> parList = new ArrayList&lt;&gt;();</span>
+<span class="nc" id="L25"> }</span>
+
+ /**
+ * Create a new set of pairs using an existing list of pairs.
+ *
+ * Changes to the list of pairs will carry across to the ReplSet, so be careful about that.
+ *
+ * @param lst
+ * The list of pairs to use.
+ */
+<span class="nc" id="L35"> public ReplSet(List&lt;ReplPair&gt; lst) {</span>
+<span class="nc" id="L36"> parList = lst;</span>
+<span class="nc" id="L37"> }</span>
+
+ public static ReplSet fromFile(String fName) throws IOException {
+<span class="nc" id="L40"> ReplSet rs = new ReplSet();</span>
+
+<span class="nc" id="L42"> try (FileInputStream fis = new FileInputStream(fName); Scanner scn = new Scanner(fis)) {</span>
+<span class="nc" id="L43"> rs.parList = ReplPair.readList(scn);</span>
+ }
+
+<span class="nc" id="L46"> return rs;</span>
+ }
+
+ /**
+ * Adds more pairs to the ReplSet.
+ *
+ * @param pars
+ * The pairs to add to the ReplSet.
+ */
+ public void addPairs(List&lt;ReplPair&gt; pars) {
+<span class="nc bnc" id="L56" title="All 2 branches missed."> for (ReplPair par : pars) {</span>
+<span class="nc" id="L57"> parList.add(par);</span>
+<span class="nc" id="L58"> }</span>
+
+ // Resort the pairs into priority order
+<span class="nc" id="L61"> parList.sort(null);</span>
+<span class="nc" id="L62"> }</span>
+
+ /**
+ * Adds more pairs to the ReplSet.
+ *
+ * @param pars
+ * The pairs to add to the ReplSet.
+ */
+ public void addPairs(ReplPair... pars) {
+<span class="nc bnc" id="L71" title="All 2 branches missed."> for (ReplPair par : pars) {</span>
+<span class="nc" id="L72"> parList.add(par);</span>
+ }
+
+ // Resort the pairs into priority order
+<span class="nc" id="L76"> parList.sort(null);</span>
+<span class="nc" id="L77"> }</span>
+
+ /**
+ * Apply the ReplSet to a string.
+ *
+ * @param val
+ * The string to apply the ReplSet to.
+ *
+ * @return The result of applying the ReplSet.
+ */
+ public String apply(String val) {
+<span class="nc" id="L88"> String ret = val;</span>
+
+<span class="nc bnc" id="L90" title="All 2 branches missed."> for (ReplPair par : parList) {</span>
+<span class="nc" id="L91"> ret = par.apply(ret);</span>
+<span class="nc" id="L92"> }</span>
+
+<span class="nc" id="L94"> return ret;</span>
+ }
+}
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/StageStatus.html b/docs/jacoco-ut/bjc.everge/StageStatus.html
new file mode 100644
index 0000000..743ca89
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/StageStatus.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StageStatus</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">StageStatus</span></div><h1>StageStatus</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 34</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StageStatus.java.html#L7" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/StageStatus.java.html b/docs/jacoco-ut/bjc.everge/StageStatus.java.html
new file mode 100644
index 0000000..343fd08
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/StageStatus.java.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StageStatus.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.source.html" class="el_package">bjc.everge</a> &gt; <span class="el_source">StageStatus.java</span></div><h1>StageStatus.java</h1><pre class="source lang-java linenums">package bjc.everge;
+
+/**
+ * Possible statuses of pairs with respect to exporting.
+ * @author Ben Culkin
+ */
+<span class="fc" id="L7">public enum StageStatus {</span>
+ /**
+ * Only use for staging pairs; don't export.
+ */
+<span class="fc" id="L11"> INTERNAL,</span>
+ /**
+ * Don't use for staging pairs; do export.
+ */
+<span class="fc" id="L15"> EXTERNAL,</span>
+ /**
+ * Use for staging pairs; do export.
+ */
+<span class="fc" id="L19"> BOTH;</span>
+}
+
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/StringUtils.html b/docs/jacoco-ut/bjc.everge/StringUtils.html
new file mode 100644
index 0000000..e21d36f
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/StringUtils.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StringUtils</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.html" class="el_package">bjc.everge</a> &gt; <span class="el_class">StringUtils</span></div><h1>StringUtils</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">190 of 460</td><td class="ctr2">58%</td><td class="bar">17 of 54</td><td class="ctr2">68%</td><td class="ctr1">16</td><td class="ctr2">30</td><td class="ctr1">24</td><td class="ctr2">80</td><td class="ctr1">1</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="StringUtils.java.html#L34" class="el_method">escapeSplit(String, String, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="49" height="10" title="187" alt="187"/><img src="../jacoco-resources/greenbar.gif" width="70" height="10" title="267" alt="267"/></td><td class="ctr2" id="c1">58%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="37" height="10" title="17" alt="17"/><img src="../jacoco-resources/greenbar.gif" width="82" height="10" title="37" alt="37"/></td><td class="ctr2" id="e0">68%</td><td class="ctr1" id="f0">15</td><td class="ctr2" id="g0">28</td><td class="ctr1" id="h0">23</td><td class="ctr2" id="i0">78</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="StringUtils.java.html#L14" class="el_method">StringUtils()</a></td><td class="bar" id="b1"/><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="StringUtils.java.html#L15" class="el_method">static {...}</a></td><td class="bar" id="b2"/><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/StringUtils.java.html b/docs/jacoco-ut/bjc.everge/StringUtils.java.html
new file mode 100644
index 0000000..f1f94d2
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/StringUtils.java.html
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StringUtils.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <a href="index.source.html" class="el_package">bjc.everge</a> &gt; <span class="el_source">StringUtils.java</span></div><h1>StringUtils.java</h1><pre class="source lang-java linenums">package bjc.everge;
+
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.List;
+
+import java.util.regex.Pattern;
+
+/**
+ * Utility methods for strings.
+ *
+ * @author Ben Culkin.
+ */
+<span class="nc" id="L14">public class StringUtils {</span>
+<span class="fc" id="L15"> public static boolean isDebug = false;</span>
+
+ /**
+ * Split a string on every occurance of a string not preceeded by an escape.
+ *
+ * @param escape
+ * The escape that stops splitting.
+ * @param splat
+ * The string to split on. If this starts with the escape sequence, things will work
+ * poorly.
+ * @param inp
+ * The string to split.
+ * @return The string split as specified above.
+ */
+ public static String[] escapeSplit(String escape, String splat, String inp) {
+
+ /*
+ * Special case some stuffs.
+ */
+<span class="pc bpc" id="L34" title="2 of 4 branches missed."> if (inp == null || inp.equals(&quot;&quot;)) {</span>
+ // No input
+<span class="nc" id="L36"> return new String[] {inp};</span>
+ }
+
+<span class="fc bfc" id="L39" title="All 2 branches covered."> if (!inp.contains(splat)) {</span>
+ // Input does not contain any delimiters
+<span class="fc" id="L41"> return new String[] {inp};</span>
+ }
+
+<span class="pc bpc" id="L44" title="1 of 4 branches missed."> if (escape == null || escape.equals(&quot;&quot;)) {</span>
+ // No escape, so we can just split normally
+<span class="fc" id="L46"> return inp.split(Pattern.quote(splat));</span>
+ }
+
+<span class="fc" id="L49"> List&lt;String&gt; ret = new ArrayList&lt;&gt;();</span>
+
+<span class="fc" id="L51"> String wrk = inp;</span>
+<span class="fc" id="L52"> int sidx = wrk.indexOf(splat);</span>
+<span class="fc" id="L53"> int eidx = wrk.indexOf(escape);</span>
+
+<span class="fc" id="L55"> boolean hadEscape = false;</span>
+
+<span class="fc bfc" id="L57" title="All 4 branches covered."> while (sidx != -1 || eidx != -1) {</span>
+<span class="fc bfc" id="L58" title="All 4 branches covered."> if (eidx &gt; 0 &amp;&amp; eidx &lt; sidx) {</span>
+<span class="pc bpc" id="L59" title="1 of 2 branches missed."> if (isDebug) System.err.printf(&quot;[TRACE] Considering escape\n&quot;);</span>
+
+ /*
+ * We potentially have an escaped sequence:
+ * - either an escaped split
+ * - or an escaped escape
+ */
+ // Check for an escaped split
+<span class="fc bfc" id="L67" title="All 2 branches covered."> if (wrk.regionMatches(eidx + escape.length(), splat, 0, splat.length())) {</span>
+ // Skip over it
+<span class="fc" id="L69"> int ofst = eidx + splat.length();</span>
+
+ // Slice out the escape
+ {
+<span class="fc" id="L73"> String s1 = wrk.substring(0, eidx);</span>
+<span class="fc" id="L74"> String s2 = wrk.substring(eidx + escape.length());</span>
+
+<span class="fc" id="L76"> String s3 = wrk.substring(eidx, eidx + escape.length());</span>
+
+<span class="pc bpc" id="L78" title="1 of 2 branches missed."> if (isDebug) {</span>
+<span class="nc" id="L79"> System.err.printf(&quot;[TRACE] Skip esc. split (%s)/(%s); (%s)\n&quot;,</span>
+ s1, s2, s3);
+ }
+
+<span class="fc" id="L83"> wrk = s1 + s2;</span>
+ }
+
+<span class="fc" id="L86"> sidx = wrk.indexOf(splat, ofst);</span>
+<span class="fc" id="L87"> eidx = wrk.indexOf(escape, ofst);</span>
+
+<span class="pc bpc" id="L89" title="1 of 2 branches missed."> if (isDebug) {</span>
+<span class="nc" id="L90"> System.err.printf(&quot;[TRACE] After esc. split (%s) %d/%d\n&quot;,</span>
+<span class="nc" id="L91"> wrk, sidx, eidx);</span>
+ }
+
+<span class="fc" id="L94"> hadEscape = false;</span>
+<span class="fc" id="L95"> continue;</span>
+ }
+
+ // Check for an escaped escape
+<span class="pc bpc" id="L99" title="1 of 2 branches missed."> if (wrk.regionMatches(eidx + escape.length(), escape, 0, escape.length())) {</span>
+ // Skip over it
+<span class="fc" id="L101"> int ofst = eidx + escape.length();</span>
+
+ // Slice out the escape
+ {
+<span class="fc" id="L105"> String s1 = wrk.substring(0, eidx);</span>
+<span class="fc" id="L106"> String s2 = wrk.substring(eidx + escape.length());</span>
+
+<span class="fc" id="L108"> String s3 = wrk.substring(eidx, eidx + escape.length());</span>
+<span class="pc bpc" id="L109" title="1 of 2 branches missed."> if (isDebug) {</span>
+<span class="nc" id="L110"> System.err.printf(&quot;[TRACE] Skip esc. escape (%s)/(%s); (%s)\n&quot;,</span>
+ s1, s2, s3);
+ }
+
+<span class="fc" id="L114"> wrk = s1 + s2;</span>
+ }
+
+<span class="fc" id="L117"> sidx = wrk.indexOf(splat, ofst);</span>
+<span class="fc" id="L118"> eidx = wrk.indexOf(escape, ofst);</span>
+
+<span class="pc bpc" id="L120" title="1 of 2 branches missed."> if (isDebug) {</span>
+<span class="nc" id="L121"> System.err.printf(&quot;[TRACE] After esc. escape (%s)/(%s) %d/%d\n&quot;,</span>
+<span class="nc" id="L122"> wrk, wrk.substring(ofst), sidx, eidx);</span>
+ }
+
+<span class="fc" id="L125"> hadEscape = true;</span>
+<span class="fc" id="L126"> continue;</span>
+ }
+ }
+
+<span class="fc" id="L130"> boolean hasEscape = false;</span>
+
+ {
+<span class="fc" id="L133"> boolean tmp = wrk.regionMatches(sidx - escape.length(), escape, 0, escape.length());</span>
+
+<span class="fc bfc" id="L135" title="All 2 branches covered."> hasEscape = hadEscape ? false : tmp;</span>
+ }
+
+<span class="pc bpc" id="L138" title="1 of 4 branches missed."> while (sidx != -1 &amp;&amp; hasEscape) {</span>
+<span class="nc" id="L139"> int oidx = wrk.indexOf(splat, sidx + escape.length());</span>
+
+<span class="nc bnc" id="L141" title="All 2 branches missed."> if (isDebug) {</span>
+<span class="nc" id="L142"> String s1 = wrk.substring(0, sidx);</span>
+<span class="nc" id="L143"> String s2 = wrk.substring(sidx, sidx + escape.length());</span>
+<span class="nc" id="L144"> String s3 = wrk.substring(sidx + escape.length());</span>
+ }
+
+<span class="nc bnc" id="L147" title="All 2 branches missed."> if (oidx == -1) break;</span>
+
+ {
+<span class="nc" id="L150"> String s1 = wrk.substring(0, oidx);</span>
+<span class="nc" id="L151"> String s2 = wrk.substring(oidx + escape.length());</span>
+
+<span class="nc" id="L153"> wrk = s1 + s2;</span>
+ }
+
+<span class="nc" id="L156"> sidx = oidx;</span>
+
+<span class="nc" id="L158"> hasEscape = wrk.regionMatches(sidx - escape.length(), escape, 0, escape.length());</span>
+<span class="nc" id="L159"> }</span>
+
+<span class="fc bfc" id="L161" title="All 2 branches covered."> if (sidx == -1) {</span>
+<span class="fc" id="L162"> break;</span>
+ }
+
+<span class="fc" id="L165"> String tmp = wrk.substring(0, sidx);</span>
+
+<span class="pc bpc" id="L167" title="1 of 2 branches missed."> if (isDebug) {</span>
+<span class="nc" id="L168"> System.err.printf(&quot;[TRACE] Adding (%s) to returned splits; (%s)\n&quot;,</span>
+<span class="nc" id="L169"> tmp, wrk.substring(sidx));</span>
+ }
+
+<span class="fc" id="L172"> ret.add(tmp);</span>
+<span class="pc bpc" id="L173" title="1 of 4 branches missed."> if (!tmp.equals(&quot;&quot;) &amp;&amp; wrk.endsWith(tmp)) {</span>
+<span class="nc" id="L174"> wrk = &quot;&quot;;</span>
+ } else {
+<span class="pc bpc" id="L176" title="1 of 2 branches missed."> if (wrk.indexOf(splat, sidx) != -1) {</span>
+<span class="fc" id="L177"> wrk = wrk.substring(sidx + splat.length());</span>
+ } else {
+<span class="nc" id="L179"> wrk = wrk.substring(sidx);</span>
+ }
+ }
+
+<span class="fc" id="L183"> sidx = wrk.indexOf(splat);</span>
+<span class="fc" id="L184"> eidx = wrk.indexOf(escape);</span>
+
+<span class="fc" id="L186"> hadEscape = false;</span>
+<span class="fc" id="L187"> }</span>
+
+<span class="fc bfc" id="L189" title="All 2 branches covered."> if (!wrk.equals(&quot;&quot;)) ret.add(wrk);</span>
+
+<span class="fc" id="L191"> return ret.toArray(new String[0]);</span>
+ }
+}
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/index.html b/docs/jacoco-ut/bjc.everge/index.html
new file mode 100644
index 0000000..c22add6
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/index.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>bjc.everge</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <span class="el_package">bjc.everge</span></div><h1>bjc.everge</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2,013 of 3,673</td><td class="ctr2">45%</td><td class="bar">209 of 381</td><td class="ctr2">45%</td><td class="ctr1">179</td><td class="ctr2">270</td><td class="ctr1">388</td><td class="ctr2">769</td><td class="ctr1">26</td><td class="ctr2">61</td><td class="ctr1">3</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a7"><a href="ReplPair.html" class="el_class">ReplPair</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="59" height="10" title="800" alt="800"/><img src="../jacoco-resources/greenbar.gif" width="60" height="10" title="822" alt="822"/></td><td class="ctr2" id="c5">50%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="87" alt="87"/><img src="../jacoco-resources/greenbar.gif" width="63" height="10" title="99" alt="99"/></td><td class="ctr2" id="e1">53%</td><td class="ctr1" id="f0">73</td><td class="ctr2" id="g0">123</td><td class="ctr1" id="h0">138</td><td class="ctr2" id="i0">336</td><td class="ctr1" id="j3">2</td><td class="ctr2" id="k0">17</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="Everge.html" class="el_class">Everge</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="39" height="10" title="534" alt="534"/><img src="../jacoco-resources/greenbar.gif" width="23" height="10" title="319" alt="319"/></td><td class="ctr2" id="c7">37%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="54" alt="54"/><img src="../jacoco-resources/greenbar.gif" width="18" height="10" title="29" alt="29"/></td><td class="ctr2" id="e3">34%</td><td class="ctr1" id="f1">41</td><td class="ctr2" id="g1">55</td><td class="ctr1" id="h1">124</td><td class="ctr2" id="i1">199</td><td class="ctr1" id="j4">2</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a11"><a href="StringUtils.html" class="el_class">StringUtils</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="190" alt="190"/><img src="../jacoco-resources/greenbar.gif" width="19" height="10" title="270" alt="270"/></td><td class="ctr2" id="c3">58%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="17" alt="17"/><img src="../jacoco-resources/greenbar.gif" width="23" height="10" title="37" alt="37"/></td><td class="ctr2" id="e0">68%</td><td class="ctr1" id="f2">16</td><td class="ctr2" id="g2">30</td><td class="ctr1" id="h3">24</td><td class="ctr2" id="i2">80</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a0"><a href="ControlledString.html" class="el_class">ControlledString</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="159" alt="159"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="14" alt="14"/></td><td class="ctr2" id="e5">0%</td><td class="ctr1" id="f3">12</td><td class="ctr2" id="g3">12</td><td class="ctr1" id="h2">35</td><td class="ctr2" id="i3">35</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k4">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a9"><a href="ReplSet.html" class="el_class">ReplSet</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="105" alt="105"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d7"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/></td><td class="ctr2" id="e6">0%</td><td class="ctr1" id="f5">9</td><td class="ctr2" id="g6">9</td><td class="ctr1" id="h4">24</td><td class="ctr2" id="i5">24</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="ReplError.html" class="el_class">ReplError</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="72" alt="72"/><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="60" alt="60"/></td><td class="ctr2" id="c6">45%</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="7" alt="7"/></td><td class="ctr2" id="e4">12%</td><td class="ctr1" id="f7">6</td><td class="ctr2" id="g7">9</td><td class="ctr1" id="h8">7</td><td class="ctr2" id="i7">18</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k5">5</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a6"><a href="ReplOpts.html" class="el_class">ReplOpts</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="66" alt="66"/><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="30" alt="30"/></td><td class="ctr2" id="c8">31%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="18" alt="18"/></td><td class="ctr2" id="e7">0%</td><td class="ctr1" id="f4">10</td><td class="ctr2" id="g4">11</td><td class="ctr1" id="h5">11</td><td class="ctr2" id="i6">21</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a8"><a href="ReplParseException.html" class="el_class">ReplParseException</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="59" alt="59"/><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="69" alt="69"/></td><td class="ctr2" id="c4">53%</td><td class="bar" id="d6"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="3" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">50%</td><td class="ctr1" id="f6">7</td><td class="ctr2" id="g5">10</td><td class="ctr1" id="h6">11</td><td class="ctr2" id="i4">27</td><td class="ctr1" id="j6">2</td><td class="ctr2" id="k6">4</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a1"><a href="ControlledString$Control.html" class="el_class">ControlledString.Control</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="18" alt="18"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">3</td><td class="ctr2" id="g9">3</td><td class="ctr1" id="h7">9</td><td class="ctr2" id="i9">9</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a4"><a href="IntHolder.html" class="el_class">IntHolder</a></td><td class="bar" id="b9"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">68%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">2</td><td class="ctr2" id="g8">6</td><td class="ctr1" id="h9">5</td><td class="ctr2" id="i8">12</td><td class="ctr1" id="j7">2</td><td class="ctr2" id="k3">6</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a3"><a href="Everge$InputStatus.html" class="el_class">Everge.InputStatus</a></td><td class="bar" id="b10"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">4</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a10"><a href="StageStatus.html" class="el_class">StageStatus</a></td><td class="bar" id="b11"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="34" alt="34"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">4</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/bjc.everge/index.source.html b/docs/jacoco-ut/bjc.everge/index.source.html
new file mode 100644
index 0000000..0b57023
--- /dev/null
+++ b/docs/jacoco-ut/bjc.everge/index.source.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>bjc.everge</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">everge</a> &gt; <span class="el_package">bjc.everge</span></div><h1>bjc.everge</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2,013 of 3,673</td><td class="ctr2">45%</td><td class="bar">209 of 381</td><td class="ctr2">45%</td><td class="ctr1">179</td><td class="ctr2">270</td><td class="ctr1">388</td><td class="ctr2">769</td><td class="ctr1">26</td><td class="ctr2">61</td><td class="ctr1">3</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a5"><a href="ReplPair.java.html" class="el_source">ReplPair.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="59" height="10" title="800" alt="800"/><img src="../jacoco-resources/greenbar.gif" width="60" height="10" title="822" alt="822"/></td><td class="ctr2" id="c4">50%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="87" alt="87"/><img src="../jacoco-resources/greenbar.gif" width="63" height="10" title="99" alt="99"/></td><td class="ctr2" id="e1">53%</td><td class="ctr1" id="f0">73</td><td class="ctr2" id="g0">123</td><td class="ctr1" id="h0">138</td><td class="ctr2" id="i0">336</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k0">17</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="Everge.java.html" class="el_source">Everge.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="39" height="10" title="534" alt="534"/><img src="../jacoco-resources/greenbar.gif" width="26" height="10" title="353" alt="353"/></td><td class="ctr2" id="c6">39%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="54" alt="54"/><img src="../jacoco-resources/greenbar.gif" width="18" height="10" title="29" alt="29"/></td><td class="ctr2" id="e3">34%</td><td class="ctr1" id="f1">41</td><td class="ctr2" id="g1">56</td><td class="ctr1" id="h1">124</td><td class="ctr2" id="i1">203</td><td class="ctr1" id="j3">2</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m0">2</td></tr><tr><td id="a9"><a href="StringUtils.java.html" class="el_source">StringUtils.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="190" alt="190"/><img src="../jacoco-resources/greenbar.gif" width="19" height="10" title="270" alt="270"/></td><td class="ctr2" id="c2">58%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="17" alt="17"/><img src="../jacoco-resources/greenbar.gif" width="23" height="10" title="37" alt="37"/></td><td class="ctr2" id="e0">68%</td><td class="ctr1" id="f2">16</td><td class="ctr2" id="g2">30</td><td class="ctr1" id="h3">24</td><td class="ctr2" id="i2">80</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a0"><a href="ControlledString.java.html" class="el_source">ControlledString.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="177" alt="177"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="14" alt="14"/></td><td class="ctr2" id="e5">0%</td><td class="ctr1" id="f3">15</td><td class="ctr2" id="g3">15</td><td class="ctr1" id="h2">44</td><td class="ctr2" id="i3">44</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k2">8</td><td class="ctr1" id="l0">2</td><td class="ctr2" id="m1">2</td></tr><tr><td id="a7"><a href="ReplSet.java.html" class="el_source">ReplSet.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="105" alt="105"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d7"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/></td><td class="ctr2" id="e6">0%</td><td class="ctr1" id="f5">9</td><td class="ctr2" id="g6">9</td><td class="ctr1" id="h4">24</td><td class="ctr2" id="i5">24</td><td class="ctr1" id="j1">6</td><td class="ctr2" id="k3">6</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a3"><a href="ReplError.java.html" class="el_source">ReplError.java</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="72" alt="72"/><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="60" alt="60"/></td><td class="ctr2" id="c5">45%</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="7" alt="7"/></td><td class="ctr2" id="e4">12%</td><td class="ctr1" id="f7">6</td><td class="ctr2" id="g7">9</td><td class="ctr1" id="h7">7</td><td class="ctr2" id="i7">18</td><td class="ctr1" id="j4">2</td><td class="ctr2" id="k5">5</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="ReplOpts.java.html" class="el_source">ReplOpts.java</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="66" alt="66"/><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="30" alt="30"/></td><td class="ctr2" id="c7">31%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="11" height="10" title="18" alt="18"/></td><td class="ctr2" id="e7">0%</td><td class="ctr1" id="f4">10</td><td class="ctr2" id="g4">11</td><td class="ctr1" id="h5">11</td><td class="ctr2" id="i6">21</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">2</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a6"><a href="ReplParseException.java.html" class="el_source">ReplParseException.java</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="59" alt="59"/><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="69" alt="69"/></td><td class="ctr2" id="c3">53%</td><td class="bar" id="d6"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="3" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">50%</td><td class="ctr1" id="f6">7</td><td class="ctr2" id="g5">10</td><td class="ctr1" id="h6">11</td><td class="ctr2" id="i4">27</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k6">4</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a2"><a href="IntHolder.java.html" class="el_source">IntHolder.java</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="22" alt="22"/></td><td class="ctr2" id="c1">68%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">2</td><td class="ctr2" id="g8">6</td><td class="ctr1" id="h8">5</td><td class="ctr2" id="i8">12</td><td class="ctr1" id="j6">2</td><td class="ctr2" id="k4">6</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a8"><a href="StageStatus.java.html" class="el_source">StageStatus.java</a></td><td class="bar" id="b9"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/index.html b/docs/jacoco-ut/index.html
new file mode 100644
index 0000000..9034613
--- /dev/null
+++ b/docs/jacoco-ut/index.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>everge</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">everge</span></div><h1>everge</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2,013 of 3,673</td><td class="ctr2">45%</td><td class="bar">209 of 381</td><td class="ctr2">45%</td><td class="ctr1">179</td><td class="ctr2">270</td><td class="ctr1">388</td><td class="ctr2">769</td><td class="ctr1">26</td><td class="ctr2">61</td><td class="ctr1">3</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a0"><a href="bjc.everge/index.html" class="el_package">bjc.everge</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="65" height="10" title="2,013" alt="2,013"/><img src="jacoco-resources/greenbar.gif" width="54" height="10" title="1,660" alt="1,660"/></td><td class="ctr2" id="c0">45%</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="65" height="10" title="209" alt="209"/><img src="jacoco-resources/greenbar.gif" width="54" height="10" title="172" alt="172"/></td><td class="ctr2" id="e0">45%</td><td class="ctr1" id="f0">179</td><td class="ctr2" id="g0">270</td><td class="ctr1" id="h0">388</td><td class="ctr2" id="i0">769</td><td class="ctr1" id="j0">26</td><td class="ctr2" id="k0">61</td><td class="ctr1" id="l0">3</td><td class="ctr2" id="m0">12</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/jacoco-resources/branchfc.gif b/docs/jacoco-ut/jacoco-resources/branchfc.gif
new file mode 100644
index 0000000..989b46d
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/branchfc.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/branchnc.gif b/docs/jacoco-ut/jacoco-resources/branchnc.gif
new file mode 100644
index 0000000..1933e07
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/branchnc.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/branchpc.gif b/docs/jacoco-ut/jacoco-resources/branchpc.gif
new file mode 100644
index 0000000..cbf711b
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/branchpc.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/bundle.gif b/docs/jacoco-ut/jacoco-resources/bundle.gif
new file mode 100644
index 0000000..fca9c53
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/bundle.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/class.gif b/docs/jacoco-ut/jacoco-resources/class.gif
new file mode 100644
index 0000000..eb348fb
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/class.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/down.gif b/docs/jacoco-ut/jacoco-resources/down.gif
new file mode 100644
index 0000000..440a14d
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/down.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/greenbar.gif b/docs/jacoco-ut/jacoco-resources/greenbar.gif
new file mode 100644
index 0000000..0ba6567
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/greenbar.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/group.gif b/docs/jacoco-ut/jacoco-resources/group.gif
new file mode 100644
index 0000000..a4ea580
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/group.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/method.gif b/docs/jacoco-ut/jacoco-resources/method.gif
new file mode 100644
index 0000000..7d24707
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/method.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/package.gif b/docs/jacoco-ut/jacoco-resources/package.gif
new file mode 100644
index 0000000..131c28d
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/package.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/prettify.css b/docs/jacoco-ut/jacoco-resources/prettify.css
new file mode 100644
index 0000000..be5166e
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/prettify.css
@@ -0,0 +1,13 @@
+/* Pretty printing styles. Used with prettify.js. */
+
+.str { color: #2A00FF; }
+.kwd { color: #7F0055; font-weight:bold; }
+.com { color: #3F5FBF; }
+.typ { color: #606; }
+.lit { color: #066; }
+.pun { color: #660; }
+.pln { color: #000; }
+.tag { color: #008; }
+.atn { color: #606; }
+.atv { color: #080; }
+.dec { color: #606; }
diff --git a/docs/jacoco-ut/jacoco-resources/prettify.js b/docs/jacoco-ut/jacoco-resources/prettify.js
new file mode 100644
index 0000000..ab27882
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/prettify.js
@@ -0,0 +1,1510 @@
+// Copyright (C) 2006 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+/**
+ * @fileoverview
+ * some functions for browser-side pretty printing of code contained in html.
+ * <p>
+ *
+ * For a fairly comprehensive set of languages see the
+ * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
+ * file that came with this source. At a minimum, the lexer should work on a
+ * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
+ * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk
+ * and a subset of Perl, but, because of commenting conventions, doesn't work on
+ * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
+ * <p>
+ * Usage: <ol>
+ * <li> include this source file in an html page via
+ * {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
+ * <li> define style rules. See the example page for examples.
+ * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
+ * {@code class=prettyprint.}
+ * You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
+ * printer needs to do more substantial DOM manipulations to support that, so
+ * some css styles may not be preserved.
+ * </ol>
+ * That's it. I wanted to keep the API as simple as possible, so there's no
+ * need to specify which language the code is in, but if you wish, you can add
+ * another class to the {@code <pre>} or {@code <code>} element to specify the
+ * language, as in {@code <pre class="prettyprint lang-java">}. Any class that
+ * starts with "lang-" followed by a file extension, specifies the file type.
+ * See the "lang-*.js" files in this directory for code that implements
+ * per-language file handlers.
+ * <p>
+ * Change log:<br>
+ * cbeust, 2006/08/22
+ * <blockquote>
+ * Java annotations (start with "@") are now captured as literals ("lit")
+ * </blockquote>
+ * @requires console
+ */
+
+// JSLint declarations
+/*global console, document, navigator, setTimeout, window */
+
+/**
+ * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
+ * UI events.
+ * If set to {@code false}, {@code prettyPrint()} is synchronous.
+ */
+window['PR_SHOULD_USE_CONTINUATION'] = true;
+
+/** the number of characters between tab columns */
+window['PR_TAB_WIDTH'] = 8;
+
+/** Walks the DOM returning a properly escaped version of innerHTML.
+ * @param {Node} node
+ * @param {Array.<string>} out output buffer that receives chunks of HTML.
+ */
+window['PR_normalizedHtml']
+
+/** Contains functions for creating and registering new language handlers.
+ * @type {Object}
+ */
+ = window['PR']
+
+/** Pretty print a chunk of code.
+ *
+ * @param {string} sourceCodeHtml code as html
+ * @return {string} code as html, but prettier
+ */
+ = window['prettyPrintOne']
+/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
+ * {@code class=prettyprint} and prettify them.
+ * @param {Function?} opt_whenDone if specified, called when the last entry
+ * has been finished.
+ */
+ = window['prettyPrint'] = void 0;
+
+/** browser detection. @extern @returns false if not IE, otherwise the major version. */
+window['_pr_isIE6'] = function () {
+ var ieVersion = navigator && navigator.userAgent &&
+ navigator.userAgent.match(/\bMSIE ([678])\./);
+ ieVersion = ieVersion ? +ieVersion[1] : false;
+ window['_pr_isIE6'] = function () { return ieVersion; };
+ return ieVersion;
+};
+
+
+(function () {
+ // Keyword lists for various languages.
+ var FLOW_CONTROL_KEYWORDS =
+ "break continue do else for if return while ";
+ var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
+ "double enum extern float goto int long register short signed sizeof " +
+ "static struct switch typedef union unsigned void volatile ";
+ var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
+ "new operator private protected public this throw true try typeof ";
+ var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
+ "concept concept_map const_cast constexpr decltype " +
+ "dynamic_cast explicit export friend inline late_check " +
+ "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
+ "template typeid typename using virtual wchar_t where ";
+ var JAVA_KEYWORDS = COMMON_KEYWORDS +
+ "abstract boolean byte extends final finally implements import " +
+ "instanceof null native package strictfp super synchronized throws " +
+ "transient ";
+ var CSHARP_KEYWORDS = JAVA_KEYWORDS +
+ "as base by checked decimal delegate descending event " +
+ "fixed foreach from group implicit in interface internal into is lock " +
+ "object out override orderby params partial readonly ref sbyte sealed " +
+ "stackalloc string select uint ulong unchecked unsafe ushort var ";
+ var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
+ "debugger eval export function get null set undefined var with " +
+ "Infinity NaN ";
+ var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
+ "goto if import last local my next no our print package redo require " +
+ "sub undef unless until use wantarray while BEGIN END ";
+ var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
+ "elif except exec finally from global import in is lambda " +
+ "nonlocal not or pass print raise try with yield " +
+ "False True None ";
+ var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
+ " defined elsif end ensure false in module next nil not or redo rescue " +
+ "retry self super then true undef unless until when yield BEGIN END ";
+ var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
+ "function in local set then until ";
+ var ALL_KEYWORDS = (
+ CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
+ PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
+
+ // token style names. correspond to css classes
+ /** token style for a string literal */
+ var PR_STRING = 'str';
+ /** token style for a keyword */
+ var PR_KEYWORD = 'kwd';
+ /** token style for a comment */
+ var PR_COMMENT = 'com';
+ /** token style for a type */
+ var PR_TYPE = 'typ';
+ /** token style for a literal value. e.g. 1, null, true. */
+ var PR_LITERAL = 'lit';
+ /** token style for a punctuation string. */
+ var PR_PUNCTUATION = 'pun';
+ /** token style for a punctuation string. */
+ var PR_PLAIN = 'pln';
+
+ /** token style for an sgml tag. */
+ var PR_TAG = 'tag';
+ /** token style for a markup declaration such as a DOCTYPE. */
+ var PR_DECLARATION = 'dec';
+ /** token style for embedded source. */
+ var PR_SOURCE = 'src';
+ /** token style for an sgml attribute name. */
+ var PR_ATTRIB_NAME = 'atn';
+ /** token style for an sgml attribute value. */
+ var PR_ATTRIB_VALUE = 'atv';
+
+ /**
+ * A class that indicates a section of markup that is not code, e.g. to allow
+ * embedding of line numbers within code listings.
+ */
+ var PR_NOCODE = 'nocode';
+
+ /** A set of tokens that can precede a regular expression literal in
+ * javascript.
+ * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
+ * list, but I've removed ones that might be problematic when seen in
+ * languages that don't support regular expression literals.
+ *
+ * <p>Specifically, I've removed any keywords that can't precede a regexp
+ * literal in a syntactically legal javascript program, and I've removed the
+ * "in" keyword since it's not a keyword in many languages, and might be used
+ * as a count of inches.
+ *
+ * <p>The link a above does not accurately describe EcmaScript rules since
+ * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
+ * very well in practice.
+ *
+ * @private
+ */
+ var REGEXP_PRECEDER_PATTERN = function () {
+ var preceders = [
+ "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
+ "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
+ "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
+ "<", "<<", "<<=", "<=", "=", "==", "===", ">",
+ ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
+ "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
+ "||=", "~" /* handles =~ and !~ */,
+ "break", "case", "continue", "delete",
+ "do", "else", "finally", "instanceof",
+ "return", "throw", "try", "typeof"
+ ];
+ var pattern = '(?:^^|[+-]';
+ for (var i = 0; i < preceders.length; ++i) {
+ pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
+ }
+ pattern += ')\\s*'; // matches at end, and matches empty string
+ return pattern;
+ // CAVEAT: this does not properly handle the case where a regular
+ // expression immediately follows another since a regular expression may
+ // have flags for case-sensitivity and the like. Having regexp tokens
+ // adjacent is not valid in any language I'm aware of, so I'm punting.
+ // TODO: maybe style special characters inside a regexp as punctuation.
+ }();
+
+ // Define regexps here so that the interpreter doesn't have to create an
+ // object each time the function containing them is called.
+ // The language spec requires a new object created even if you don't access
+ // the $1 members.
+ var pr_amp = /&/g;
+ var pr_lt = /</g;
+ var pr_gt = />/g;
+ var pr_quot = /\"/g;
+ /** like textToHtml but escapes double quotes to be attribute safe. */
+ function attribToHtml(str) {
+ return str.replace(pr_amp, '&amp;')
+ .replace(pr_lt, '&lt;')
+ .replace(pr_gt, '&gt;')
+ .replace(pr_quot, '&quot;');
+ }
+
+ /** escapest html special characters to html. */
+ function textToHtml(str) {
+ return str.replace(pr_amp, '&amp;')
+ .replace(pr_lt, '&lt;')
+ .replace(pr_gt, '&gt;');
+ }
+
+
+ var pr_ltEnt = /&lt;/g;
+ var pr_gtEnt = /&gt;/g;
+ var pr_aposEnt = /&apos;/g;
+ var pr_quotEnt = /&quot;/g;
+ var pr_ampEnt = /&amp;/g;
+ var pr_nbspEnt = /&nbsp;/g;
+ /** unescapes html to plain text. */
+ function htmlToText(html) {
+ var pos = html.indexOf('&');
+ if (pos < 0) { return html; }
+ // Handle numeric entities specially. We can't use functional substitution
+ // since that doesn't work in older versions of Safari.
+ // These should be rare since most browsers convert them to normal chars.
+ for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
+ var end = html.indexOf(';', pos);
+ if (end >= 0) {
+ var num = html.substring(pos + 3, end);
+ var radix = 10;
+ if (num && num.charAt(0) === 'x') {
+ num = num.substring(1);
+ radix = 16;
+ }
+ var codePoint = parseInt(num, radix);
+ if (!isNaN(codePoint)) {
+ html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
+ html.substring(end + 1));
+ }
+ }
+ }
+
+ return html.replace(pr_ltEnt, '<')
+ .replace(pr_gtEnt, '>')
+ .replace(pr_aposEnt, "'")
+ .replace(pr_quotEnt, '"')
+ .replace(pr_nbspEnt, ' ')
+ .replace(pr_ampEnt, '&');
+ }
+
+ /** is the given node's innerHTML normally unescaped? */
+ function isRawContent(node) {
+ return 'XMP' === node.tagName;
+ }
+
+ var newlineRe = /[\r\n]/g;
+ /**
+ * Are newlines and adjacent spaces significant in the given node's innerHTML?
+ */
+ function isPreformatted(node, content) {
+ // PRE means preformatted, and is a very common case, so don't create
+ // unnecessary computed style objects.
+ if ('PRE' === node.tagName) { return true; }
+ if (!newlineRe.test(content)) { return true; } // Don't care
+ var whitespace = '';
+ // For disconnected nodes, IE has no currentStyle.
+ if (node.currentStyle) {
+ whitespace = node.currentStyle.whiteSpace;
+ } else if (window.getComputedStyle) {
+ // Firefox makes a best guess if node is disconnected whereas Safari
+ // returns the empty string.
+ whitespace = window.getComputedStyle(node, null).whiteSpace;
+ }
+ return !whitespace || whitespace === 'pre';
+ }
+
+ function normalizedHtml(node, out, opt_sortAttrs) {
+ switch (node.nodeType) {
+ case 1: // an element
+ var name = node.tagName.toLowerCase();
+
+ out.push('<', name);
+ var attrs = node.attributes;
+ var n = attrs.length;
+ if (n) {
+ if (opt_sortAttrs) {
+ var sortedAttrs = [];
+ for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
+ sortedAttrs.sort(function (a, b) {
+ return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
+ });
+ attrs = sortedAttrs;
+ }
+ for (var i = 0; i < n; ++i) {
+ var attr = attrs[i];
+ if (!attr.specified) { continue; }
+ out.push(' ', attr.name.toLowerCase(),
+ '="', attribToHtml(attr.value), '"');
+ }
+ }
+ out.push('>');
+ for (var child = node.firstChild; child; child = child.nextSibling) {
+ normalizedHtml(child, out, opt_sortAttrs);
+ }
+ if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
+ out.push('<\/', name, '>');
+ }
+ break;
+ case 3: case 4: // text
+ out.push(textToHtml(node.nodeValue));
+ break;
+ }
+ }
+
+ /**
+ * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
+ * matches the union o the sets o strings matched d by the input RegExp.
+ * Since it matches globally, if the input strings have a start-of-input
+ * anchor (/^.../), it is ignored for the purposes of unioning.
+ * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
+ * @return {RegExp} a global regex.
+ */
+ function combinePrefixPatterns(regexs) {
+ var capturedGroupIndex = 0;
+
+ var needToFoldCase = false;
+ var ignoreCase = false;
+ for (var i = 0, n = regexs.length; i < n; ++i) {
+ var regex = regexs[i];
+ if (regex.ignoreCase) {
+ ignoreCase = true;
+ } else if (/[a-z]/i.test(regex.source.replace(
+ /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
+ needToFoldCase = true;
+ ignoreCase = false;
+ break;
+ }
+ }
+
+ function decodeEscape(charsetPart) {
+ if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
+ switch (charsetPart.charAt(1)) {
+ case 'b': return 8;
+ case 't': return 9;
+ case 'n': return 0xa;
+ case 'v': return 0xb;
+ case 'f': return 0xc;
+ case 'r': return 0xd;
+ case 'u': case 'x':
+ return parseInt(charsetPart.substring(2), 16)
+ || charsetPart.charCodeAt(1);
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7':
+ return parseInt(charsetPart.substring(1), 8);
+ default: return charsetPart.charCodeAt(1);
+ }
+ }
+
+ function encodeEscape(charCode) {
+ if (charCode < 0x20) {
+ return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
+ }
+ var ch = String.fromCharCode(charCode);
+ if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
+ ch = '\\' + ch;
+ }
+ return ch;
+ }
+
+ function caseFoldCharset(charSet) {
+ var charsetParts = charSet.substring(1, charSet.length - 1).match(
+ new RegExp(
+ '\\\\u[0-9A-Fa-f]{4}'
+ + '|\\\\x[0-9A-Fa-f]{2}'
+ + '|\\\\[0-3][0-7]{0,2}'
+ + '|\\\\[0-7]{1,2}'
+ + '|\\\\[\\s\\S]'
+ + '|-'
+ + '|[^-\\\\]',
+ 'g'));
+ var groups = [];
+ var ranges = [];
+ var inverse = charsetParts[0] === '^';
+ for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
+ var p = charsetParts[i];
+ switch (p) {
+ case '\\B': case '\\b':
+ case '\\D': case '\\d':
+ case '\\S': case '\\s':
+ case '\\W': case '\\w':
+ groups.push(p);
+ continue;
+ }
+ var start = decodeEscape(p);
+ var end;
+ if (i + 2 < n && '-' === charsetParts[i + 1]) {
+ end = decodeEscape(charsetParts[i + 2]);
+ i += 2;
+ } else {
+ end = start;
+ }
+ ranges.push([start, end]);
+ // If the range might intersect letters, then expand it.
+ if (!(end < 65 || start > 122)) {
+ if (!(end < 65 || start > 90)) {
+ ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
+ }
+ if (!(end < 97 || start > 122)) {
+ ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
+ }
+ }
+ }
+
+ // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
+ // -> [[1, 12], [14, 14], [16, 17]]
+ ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1] - a[1]); });
+ var consolidatedRanges = [];
+ var lastRange = [NaN, NaN];
+ for (var i = 0; i < ranges.length; ++i) {
+ var range = ranges[i];
+ if (range[0] <= lastRange[1] + 1) {
+ lastRange[1] = Math.max(lastRange[1], range[1]);
+ } else {
+ consolidatedRanges.push(lastRange = range);
+ }
+ }
+
+ var out = ['['];
+ if (inverse) { out.push('^'); }
+ out.push.apply(out, groups);
+ for (var i = 0; i < consolidatedRanges.length; ++i) {
+ var range = consolidatedRanges[i];
+ out.push(encodeEscape(range[0]));
+ if (range[1] > range[0]) {
+ if (range[1] + 1 > range[0]) { out.push('-'); }
+ out.push(encodeEscape(range[1]));
+ }
+ }
+ out.push(']');
+ return out.join('');
+ }
+
+ function allowAnywhereFoldCaseAndRenumberGroups(regex) {
+ // Split into character sets, escape sequences, punctuation strings
+ // like ('(', '(?:', ')', '^'), and runs of characters that do not
+ // include any of the above.
+ var parts = regex.source.match(
+ new RegExp(
+ '(?:'
+ + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]' // a character set
+ + '|\\\\u[A-Fa-f0-9]{4}' // a unicode escape
+ + '|\\\\x[A-Fa-f0-9]{2}' // a hex escape
+ + '|\\\\[0-9]+' // a back-reference or octal escape
+ + '|\\\\[^ux0-9]' // other escape sequence
+ + '|\\(\\?[:!=]' // start of a non-capturing group
+ + '|[\\(\\)\\^]' // start/emd of a group, or line start
+ + '|[^\\x5B\\x5C\\(\\)\\^]+' // run of other characters
+ + ')',
+ 'g'));
+ var n = parts.length;
+
+ // Maps captured group numbers to the number they will occupy in
+ // the output or to -1 if that has not been determined, or to
+ // undefined if they need not be capturing in the output.
+ var capturedGroups = [];
+
+ // Walk over and identify back references to build the capturedGroups
+ // mapping.
+ for (var i = 0, groupIndex = 0; i < n; ++i) {
+ var p = parts[i];
+ if (p === '(') {
+ // groups are 1-indexed, so max group index is count of '('
+ ++groupIndex;
+ } else if ('\\' === p.charAt(0)) {
+ var decimalValue = +p.substring(1);
+ if (decimalValue && decimalValue <= groupIndex) {
+ capturedGroups[decimalValue] = -1;
+ }
+ }
+ }
+
+ // Renumber groups and reduce capturing groups to non-capturing groups
+ // where possible.
+ for (var i = 1; i < capturedGroups.length; ++i) {
+ if (-1 === capturedGroups[i]) {
+ capturedGroups[i] = ++capturedGroupIndex;
+ }
+ }
+ for (var i = 0, groupIndex = 0; i < n; ++i) {
+ var p = parts[i];
+ if (p === '(') {
+ ++groupIndex;
+ if (capturedGroups[groupIndex] === undefined) {
+ parts[i] = '(?:';
+ }
+ } else if ('\\' === p.charAt(0)) {
+ var decimalValue = +p.substring(1);
+ if (decimalValue && decimalValue <= groupIndex) {
+ parts[i] = '\\' + capturedGroups[groupIndex];
+ }
+ }
+ }
+
+ // Remove any prefix anchors so that the output will match anywhere.
+ // ^^ really does mean an anchored match though.
+ for (var i = 0, groupIndex = 0; i < n; ++i) {
+ if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
+ }
+
+ // Expand letters to groupts to handle mixing of case-sensitive and
+ // case-insensitive patterns if necessary.
+ if (regex.ignoreCase && needToFoldCase) {
+ for (var i = 0; i < n; ++i) {
+ var p = parts[i];
+ var ch0 = p.charAt(0);
+ if (p.length >= 2 && ch0 === '[') {
+ parts[i] = caseFoldCharset(p);
+ } else if (ch0 !== '\\') {
+ // TODO: handle letters in numeric escapes.
+ parts[i] = p.replace(
+ /[a-zA-Z]/g,
+ function (ch) {
+ var cc = ch.charCodeAt(0);
+ return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
+ });
+ }
+ }
+ }
+
+ return parts.join('');
+ }
+
+ var rewritten = [];
+ for (var i = 0, n = regexs.length; i < n; ++i) {
+ var regex = regexs[i];
+ if (regex.global || regex.multiline) { throw new Error('' + regex); }
+ rewritten.push(
+ '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
+ }
+
+ return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
+ }
+
+ var PR_innerHtmlWorks = null;
+ function getInnerHtml(node) {
+ // inner html is hopelessly broken in Safari 2.0.4 when the content is
+ // an html description of well formed XML and the containing tag is a PRE
+ // tag, so we detect that case and emulate innerHTML.
+ if (null === PR_innerHtmlWorks) {
+ var testNode = document.createElement('PRE');
+ testNode.appendChild(
+ document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
+ PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
+ }
+
+ if (PR_innerHtmlWorks) {
+ var content = node.innerHTML;
+ // XMP tags contain unescaped entities so require special handling.
+ if (isRawContent(node)) {
+ content = textToHtml(content);
+ } else if (!isPreformatted(node, content)) {
+ content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
+ .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
+ }
+ return content;
+ }
+
+ var out = [];
+ for (var child = node.firstChild; child; child = child.nextSibling) {
+ normalizedHtml(child, out);
+ }
+ return out.join('');
+ }
+
+ /** returns a function that expand tabs to spaces. This function can be fed
+ * successive chunks of text, and will maintain its own internal state to
+ * keep track of how tabs are expanded.
+ * @return {function (string) : string} a function that takes
+ * plain text and return the text with tabs expanded.
+ * @private
+ */
+ function makeTabExpander(tabWidth) {
+ var SPACES = ' ';
+ var charInLine = 0;
+
+ return function (plainText) {
+ // walk over each character looking for tabs and newlines.
+ // On tabs, expand them. On newlines, reset charInLine.
+ // Otherwise increment charInLine
+ var out = null;
+ var pos = 0;
+ for (var i = 0, n = plainText.length; i < n; ++i) {
+ var ch = plainText.charAt(i);
+
+ switch (ch) {
+ case '\t':
+ if (!out) { out = []; }
+ out.push(plainText.substring(pos, i));
+ // calculate how much space we need in front of this part
+ // nSpaces is the amount of padding -- the number of spaces needed
+ // to move us to the next column, where columns occur at factors of
+ // tabWidth.
+ var nSpaces = tabWidth - (charInLine % tabWidth);
+ charInLine += nSpaces;
+ for (; nSpaces >= 0; nSpaces -= SPACES.length) {
+ out.push(SPACES.substring(0, nSpaces));
+ }
+ pos = i + 1;
+ break;
+ case '\n':
+ charInLine = 0;
+ break;
+ default:
+ ++charInLine;
+ }
+ }
+ if (!out) { return plainText; }
+ out.push(plainText.substring(pos));
+ return out.join('');
+ };
+ }
+
+ var pr_chunkPattern = new RegExp(
+ '[^<]+' // A run of characters other than '<'
+ + '|<\!--[\\s\\S]*?--\>' // an HTML comment
+ + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>' // a CDATA section
+ // a probable tag that should not be highlighted
+ + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
+ + '|<', // A '<' that does not begin a larger chunk
+ 'g');
+ var pr_commentPrefix = /^<\!--/;
+ var pr_cdataPrefix = /^<!\[CDATA\[/;
+ var pr_brPrefix = /^<br\b/i;
+ var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
+
+ /** split markup into chunks of html tags (style null) and
+ * plain text (style {@link #PR_PLAIN}), converting tags which are
+ * significant for tokenization (<br>) into their textual equivalent.
+ *
+ * @param {string} s html where whitespace is considered significant.
+ * @return {Object} source code and extracted tags.
+ * @private
+ */
+ function extractTags(s) {
+ // since the pattern has the 'g' modifier and defines no capturing groups,
+ // this will return a list of all chunks which we then classify and wrap as
+ // PR_Tokens
+ var matches = s.match(pr_chunkPattern);
+ var sourceBuf = [];
+ var sourceBufLen = 0;
+ var extractedTags = [];
+ if (matches) {
+ for (var i = 0, n = matches.length; i < n; ++i) {
+ var match = matches[i];
+ if (match.length > 1 && match.charAt(0) === '<') {
+ if (pr_commentPrefix.test(match)) { continue; }
+ if (pr_cdataPrefix.test(match)) {
+ // strip CDATA prefix and suffix. Don't unescape since it's CDATA
+ sourceBuf.push(match.substring(9, match.length - 3));
+ sourceBufLen += match.length - 12;
+ } else if (pr_brPrefix.test(match)) {
+ // <br> tags are lexically significant so convert them to text.
+ // This is undone later.
+ sourceBuf.push('\n');
+ ++sourceBufLen;
+ } else {
+ if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
+ // A <span class="nocode"> will start a section that should be
+ // ignored. Continue walking the list until we see a matching end
+ // tag.
+ var name = match.match(pr_tagNameRe)[2];
+ var depth = 1;
+ var j;
+ end_tag_loop:
+ for (j = i + 1; j < n; ++j) {
+ var name2 = matches[j].match(pr_tagNameRe);
+ if (name2 && name2[2] === name) {
+ if (name2[1] === '/') {
+ if (--depth === 0) { break end_tag_loop; }
+ } else {
+ ++depth;
+ }
+ }
+ }
+ if (j < n) {
+ extractedTags.push(
+ sourceBufLen, matches.slice(i, j + 1).join(''));
+ i = j;
+ } else { // Ignore unclosed sections.
+ extractedTags.push(sourceBufLen, match);
+ }
+ } else {
+ extractedTags.push(sourceBufLen, match);
+ }
+ }
+ } else {
+ var literalText = htmlToText(match);
+ sourceBuf.push(literalText);
+ sourceBufLen += literalText.length;
+ }
+ }
+ }
+ return { source: sourceBuf.join(''), tags: extractedTags };
+ }
+
+ /** True if the given tag contains a class attribute with the nocode class. */
+ function isNoCodeTag(tag) {
+ return !!tag
+ // First canonicalize the representation of attributes
+ .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
+ ' $1="$2$3$4"')
+ // Then look for the attribute we want.
+ .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
+ }
+
+ /**
+ * Apply the given language handler to sourceCode and add the resulting
+ * decorations to out.
+ * @param {number} basePos the index of sourceCode within the chunk of source
+ * whose decorations are already present on out.
+ */
+ function appendDecorations(basePos, sourceCode, langHandler, out) {
+ if (!sourceCode) { return; }
+ var job = {
+ source: sourceCode,
+ basePos: basePos
+ };
+ langHandler(job);
+ out.push.apply(out, job.decorations);
+ }
+
+ /** Given triples of [style, pattern, context] returns a lexing function,
+ * The lexing function interprets the patterns to find token boundaries and
+ * returns a decoration list of the form
+ * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
+ * where index_n is an index into the sourceCode, and style_n is a style
+ * constant like PR_PLAIN. index_n-1 <= index_n, and style_n-1 applies to
+ * all characters in sourceCode[index_n-1:index_n].
+ *
+ * The stylePatterns is a list whose elements have the form
+ * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
+ *
+ * Style is a style constant like PR_PLAIN, or can be a string of the
+ * form 'lang-FOO', where FOO is a language extension describing the
+ * language of the portion of the token in $1 after pattern executes.
+ * E.g., if style is 'lang-lisp', and group 1 contains the text
+ * '(hello (world))', then that portion of the token will be passed to the
+ * registered lisp handler for formatting.
+ * The text before and after group 1 will be restyled using this decorator
+ * so decorators should take care that this doesn't result in infinite
+ * recursion. For example, the HTML lexer rule for SCRIPT elements looks
+ * something like ['lang-js', /<[s]cript>(.+?)<\/script>/]. This may match
+ * '<script>foo()<\/script>', which would cause the current decorator to
+ * be called with '<script>' which would not match the same rule since
+ * group 1 must not be empty, so it would be instead styled as PR_TAG by
+ * the generic tag rule. The handler registered for the 'js' extension would
+ * then be called with 'foo()', and finally, the current decorator would
+ * be called with '<\/script>' which would not match the original rule and
+ * so the generic tag rule would identify it as a tag.
+ *
+ * Pattern must only match prefixes, and if it matches a prefix, then that
+ * match is considered a token with the same style.
+ *
+ * Context is applied to the last non-whitespace, non-comment token
+ * recognized.
+ *
+ * Shortcut is an optional string of characters, any of which, if the first
+ * character, gurantee that this pattern and only this pattern matches.
+ *
+ * @param {Array} shortcutStylePatterns patterns that always start with
+ * a known character. Must have a shortcut string.
+ * @param {Array} fallthroughStylePatterns patterns that will be tried in
+ * order if the shortcut ones fail. May have shortcuts.
+ *
+ * @return {function (Object)} a
+ * function that takes source code and returns a list of decorations.
+ */
+ function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
+ var shortcuts = {};
+ var tokenizer;
+ (function () {
+ var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
+ var allRegexs = [];
+ var regexKeys = {};
+ for (var i = 0, n = allPatterns.length; i < n; ++i) {
+ var patternParts = allPatterns[i];
+ var shortcutChars = patternParts[3];
+ if (shortcutChars) {
+ for (var c = shortcutChars.length; --c >= 0;) {
+ shortcuts[shortcutChars.charAt(c)] = patternParts;
+ }
+ }
+ var regex = patternParts[1];
+ var k = '' + regex;
+ if (!regexKeys.hasOwnProperty(k)) {
+ allRegexs.push(regex);
+ regexKeys[k] = null;
+ }
+ }
+ allRegexs.push(/[\0-\uffff]/);
+ tokenizer = combinePrefixPatterns(allRegexs);
+ })();
+
+ var nPatterns = fallthroughStylePatterns.length;
+ var notWs = /\S/;
+
+ /**
+ * Lexes job.source and produces an output array job.decorations of style
+ * classes preceded by the position at which they start in job.source in
+ * order.
+ *
+ * @param {Object} job an object like {@code
+ * source: {string} sourceText plain text,
+ * basePos: {int} position of job.source in the larger chunk of
+ * sourceCode.
+ * }
+ */
+ var decorate = function (job) {
+ var sourceCode = job.source, basePos = job.basePos;
+ /** Even entries are positions in source in ascending order. Odd enties
+ * are style markers (e.g., PR_COMMENT) that run from that position until
+ * the end.
+ * @type {Array.<number|string>}
+ */
+ var decorations = [basePos, PR_PLAIN];
+ var pos = 0; // index into sourceCode
+ var tokens = sourceCode.match(tokenizer) || [];
+ var styleCache = {};
+
+ for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
+ var token = tokens[ti];
+ var style = styleCache[token];
+ var match = void 0;
+
+ var isEmbedded;
+ if (typeof style === 'string') {
+ isEmbedded = false;
+ } else {
+ var patternParts = shortcuts[token.charAt(0)];
+ if (patternParts) {
+ match = token.match(patternParts[1]);
+ style = patternParts[0];
+ } else {
+ for (var i = 0; i < nPatterns; ++i) {
+ patternParts = fallthroughStylePatterns[i];
+ match = token.match(patternParts[1]);
+ if (match) {
+ style = patternParts[0];
+ break;
+ }
+ }
+
+ if (!match) { // make sure that we make progress
+ style = PR_PLAIN;
+ }
+ }
+
+ isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
+ if (isEmbedded && !(match && typeof match[1] === 'string')) {
+ isEmbedded = false;
+ style = PR_SOURCE;
+ }
+
+ if (!isEmbedded) { styleCache[token] = style; }
+ }
+
+ var tokenStart = pos;
+ pos += token.length;
+
+ if (!isEmbedded) {
+ decorations.push(basePos + tokenStart, style);
+ } else { // Treat group 1 as an embedded block of source code.
+ var embeddedSource = match[1];
+ var embeddedSourceStart = token.indexOf(embeddedSource);
+ var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
+ if (match[2]) {
+ // If embeddedSource can be blank, then it would match at the
+ // beginning which would cause us to infinitely recurse on the
+ // entire token, so we catch the right context in match[2].
+ embeddedSourceEnd = token.length - match[2].length;
+ embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
+ }
+ var lang = style.substring(5);
+ // Decorate the left of the embedded source
+ appendDecorations(
+ basePos + tokenStart,
+ token.substring(0, embeddedSourceStart),
+ decorate, decorations);
+ // Decorate the embedded source
+ appendDecorations(
+ basePos + tokenStart + embeddedSourceStart,
+ embeddedSource,
+ langHandlerForExtension(lang, embeddedSource),
+ decorations);
+ // Decorate the right of the embedded section
+ appendDecorations(
+ basePos + tokenStart + embeddedSourceEnd,
+ token.substring(embeddedSourceEnd),
+ decorate, decorations);
+ }
+ }
+ job.decorations = decorations;
+ };
+ return decorate;
+ }
+
+ /** returns a function that produces a list of decorations from source text.
+ *
+ * This code treats ", ', and ` as string delimiters, and \ as a string
+ * escape. It does not recognize perl's qq() style strings.
+ * It has no special handling for double delimiter escapes as in basic, or
+ * the tripled delimiters used in python, but should work on those regardless
+ * although in those cases a single string literal may be broken up into
+ * multiple adjacent string literals.
+ *
+ * It recognizes C, C++, and shell style comments.
+ *
+ * @param {Object} options a set of optional parameters.
+ * @return {function (Object)} a function that examines the source code
+ * in the input job and builds the decoration list.
+ */
+ function sourceDecorator(options) {
+ var shortcutStylePatterns = [], fallthroughStylePatterns = [];
+ if (options['tripleQuotedStrings']) {
+ // '''multi-line-string''', 'single-line-string', and double-quoted
+ shortcutStylePatterns.push(
+ [PR_STRING, /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
+ null, '\'"']);
+ } else if (options['multiLineStrings']) {
+ // 'multi-line-string', "multi-line-string"
+ shortcutStylePatterns.push(
+ [PR_STRING, /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
+ null, '\'"`']);
+ } else {
+ // 'single-line-string', "single-line-string"
+ shortcutStylePatterns.push(
+ [PR_STRING,
+ /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
+ null, '"\'']);
+ }
+ if (options['verbatimStrings']) {
+ // verbatim-string-literal production from the C# grammar. See issue 93.
+ fallthroughStylePatterns.push(
+ [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
+ }
+ if (options['hashComments']) {
+ if (options['cStyleComments']) {
+ // Stop C preprocessor declarations at an unclosed open comment
+ shortcutStylePatterns.push(
+ [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
+ null, '#']);
+ fallthroughStylePatterns.push(
+ [PR_STRING,
+ /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
+ null]);
+ } else {
+ shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
+ }
+ }
+ if (options['cStyleComments']) {
+ fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
+ fallthroughStylePatterns.push(
+ [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
+ }
+ if (options['regexLiterals']) {
+ var REGEX_LITERAL = (
+ // A regular expression literal starts with a slash that is
+ // not followed by * or / so that it is not confused with
+ // comments.
+ '/(?=[^/*])'
+ // and then contains any number of raw characters,
+ + '(?:[^/\\x5B\\x5C]'
+ // escape sequences (\x5C),
+ + '|\\x5C[\\s\\S]'
+ // or non-nesting character sets (\x5B\x5D);
+ + '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
+ // finally closed by a /.
+ + '/');
+ fallthroughStylePatterns.push(
+ ['lang-regex',
+ new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
+ ]);
+ }
+
+ var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
+ if (keywords.length) {
+ fallthroughStylePatterns.push(
+ [PR_KEYWORD,
+ new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
+ }
+
+ shortcutStylePatterns.push([PR_PLAIN, /^\s+/, null, ' \r\n\t\xA0']);
+ fallthroughStylePatterns.push(
+ // TODO(mikesamuel): recognize non-latin letters and numerals in idents
+ [PR_LITERAL, /^@[a-z_$][a-z_$@0-9]*/i, null],
+ [PR_TYPE, /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
+ [PR_PLAIN, /^[a-z_$][a-z_$@0-9]*/i, null],
+ [PR_LITERAL,
+ new RegExp(
+ '^(?:'
+ // A hex number
+ + '0x[a-f0-9]+'
+ // or an octal or decimal number,
+ + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
+ // possibly in scientific notation
+ + '(?:e[+\\-]?\\d+)?'
+ + ')'
+ // with an optional modifier like UL for unsigned long
+ + '[a-z]*', 'i'),
+ null, '0123456789'],
+ [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
+
+ return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
+ }
+
+ var decorateSource = sourceDecorator({
+ 'keywords': ALL_KEYWORDS,
+ 'hashComments': true,
+ 'cStyleComments': true,
+ 'multiLineStrings': true,
+ 'regexLiterals': true
+ });
+
+ /** Breaks {@code job.source} around style boundaries in
+ * {@code job.decorations} while re-interleaving {@code job.extractedTags},
+ * and leaves the result in {@code job.prettyPrintedHtml}.
+ * @param {Object} job like {
+ * source: {string} source as plain text,
+ * extractedTags: {Array.<number|string>} extractedTags chunks of raw
+ * html preceded by their position in {@code job.source}
+ * in order
+ * decorations: {Array.<number|string} an array of style classes preceded
+ * by the position at which they start in job.source in order
+ * }
+ * @private
+ */
+ function recombineTagsAndDecorations(job) {
+ var sourceText = job.source;
+ var extractedTags = job.extractedTags;
+ var decorations = job.decorations;
+
+ var html = [];
+ // index past the last char in sourceText written to html
+ var outputIdx = 0;
+
+ var openDecoration = null;
+ var currentDecoration = null;
+ var tagPos = 0; // index into extractedTags
+ var decPos = 0; // index into decorations
+ var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
+
+ var adjacentSpaceRe = /([\r\n ]) /g;
+ var startOrSpaceRe = /(^| ) /gm;
+ var newlineRe = /\r\n?|\n/g;
+ var trailingSpaceRe = /[ \r\n]$/;
+ var lastWasSpace = true; // the last text chunk emitted ended with a space.
+
+ // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
+ var isIE678 = window['_pr_isIE6']();
+ var lineBreakHtml = (
+ isIE678
+ ? (job.sourceNode.tagName === 'PRE'
+ // Use line feeds instead of <br>s so that copying and pasting works
+ // on IE.
+ // Doing this on other browsers breaks lots of stuff since \r\n is
+ // treated as two newlines on Firefox.
+ ? (isIE678 === 6 ? '&#160;\r\n' :
+ isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
+ // IE collapses multiple adjacent <br>s into 1 line break.
+ // Prefix every newline with '&#160;' to prevent such behavior.
+ // &nbsp; is the same as &#160; but works in XML as well as HTML.
+ : '&#160;<br />')
+ : '<br />');
+
+ // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
+ // number of the first line.
+ var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
+ var lineBreaker;
+ if (numberLines) {
+ var lineBreaks = [];
+ for (var i = 0; i < 10; ++i) {
+ lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
+ }
+ var lineNum = numberLines[1] && numberLines[1].length
+ ? numberLines[1] - 1 : 0; // Lines are 1-indexed
+ html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
+ if (lineNum) {
+ html.push(' value="', lineNum + 1, '"');
+ }
+ html.push('>');
+ lineBreaker = function () {
+ var lb = lineBreaks[++lineNum % 10];
+ // If a decoration is open, we need to close it before closing a list-item
+ // and reopen it on the other side of the list item.
+ return openDecoration
+ ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
+ };
+ } else {
+ lineBreaker = lineBreakHtml;
+ }
+
+ // A helper function that is responsible for opening sections of decoration
+ // and outputing properly escaped chunks of source
+ function emitTextUpTo(sourceIdx) {
+ if (sourceIdx > outputIdx) {
+ if (openDecoration && openDecoration !== currentDecoration) {
+ // Close the current decoration
+ html.push('</span>');
+ openDecoration = null;
+ }
+ if (!openDecoration && currentDecoration) {
+ openDecoration = currentDecoration;
+ html.push('<span class="', openDecoration, '">');
+ }
+ // This interacts badly with some wikis which introduces paragraph tags
+ // into pre blocks for some strange reason.
+ // It's necessary for IE though which seems to lose the preformattedness
+ // of <pre> tags when their innerHTML is assigned.
+ // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
+ // and it serves to undo the conversion of <br>s to newlines done in
+ // chunkify.
+ var htmlChunk = textToHtml(
+ tabExpander(sourceText.substring(outputIdx, sourceIdx)))
+ .replace(lastWasSpace
+ ? startOrSpaceRe
+ : adjacentSpaceRe, '$1&#160;');
+ // Keep track of whether we need to escape space at the beginning of the
+ // next chunk.
+ lastWasSpace = trailingSpaceRe.test(htmlChunk);
+ html.push(htmlChunk.replace(newlineRe, lineBreaker));
+ outputIdx = sourceIdx;
+ }
+ }
+
+ while (true) {
+ // Determine if we're going to consume a tag this time around. Otherwise
+ // we consume a decoration or exit.
+ var outputTag;
+ if (tagPos < extractedTags.length) {
+ if (decPos < decorations.length) {
+ // Pick one giving preference to extractedTags since we shouldn't open
+ // a new style that we're going to have to immediately close in order
+ // to output a tag.
+ outputTag = extractedTags[tagPos] <= decorations[decPos];
+ } else {
+ outputTag = true;
+ }
+ } else {
+ outputTag = false;
+ }
+ // Consume either a decoration or a tag or exit.
+ if (outputTag) {
+ emitTextUpTo(extractedTags[tagPos]);
+ if (openDecoration) {
+ // Close the current decoration
+ html.push('</span>');
+ openDecoration = null;
+ }
+ html.push(extractedTags[tagPos + 1]);
+ tagPos += 2;
+ } else if (decPos < decorations.length) {
+ emitTextUpTo(decorations[decPos]);
+ currentDecoration = decorations[decPos + 1];
+ decPos += 2;
+ } else {
+ break;
+ }
+ }
+ emitTextUpTo(sourceText.length);
+ if (openDecoration) {
+ html.push('</span>');
+ }
+ if (numberLines) { html.push('</li></ol>'); }
+ job.prettyPrintedHtml = html.join('');
+ }
+
+ /** Maps language-specific file extensions to handlers. */
+ var langHandlerRegistry = {};
+ /** Register a language handler for the given file extensions.
+ * @param {function (Object)} handler a function from source code to a list
+ * of decorations. Takes a single argument job which describes the
+ * state of the computation. The single parameter has the form
+ * {@code {
+ * source: {string} as plain text.
+ * decorations: {Array.<number|string>} an array of style classes
+ * preceded by the position at which they start in
+ * job.source in order.
+ * The language handler should assigned this field.
+ * basePos: {int} the position of source in the larger source chunk.
+ * All positions in the output decorations array are relative
+ * to the larger source chunk.
+ * } }
+ * @param {Array.<string>} fileExtensions
+ */
+ function registerLangHandler(handler, fileExtensions) {
+ for (var i = fileExtensions.length; --i >= 0;) {
+ var ext = fileExtensions[i];
+ if (!langHandlerRegistry.hasOwnProperty(ext)) {
+ langHandlerRegistry[ext] = handler;
+ } else if ('console' in window) {
+ console['warn']('cannot override language handler %s', ext);
+ }
+ }
+ }
+ function langHandlerForExtension(extension, source) {
+ if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
+ // Treat it as markup if the first non whitespace character is a < and
+ // the last non-whitespace character is a >.
+ extension = /^\s*</.test(source)
+ ? 'default-markup'
+ : 'default-code';
+ }
+ return langHandlerRegistry[extension];
+ }
+ registerLangHandler(decorateSource, ['default-code']);
+ registerLangHandler(
+ createSimpleLexer(
+ [],
+ [
+ [PR_PLAIN, /^[^<?]+/],
+ [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
+ [PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/],
+ // Unescaped content in an unknown language
+ ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/],
+ ['lang-', /^<%([\s\S]+?)(?:%>|$)/],
+ [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
+ ['lang-', /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
+ // Unescaped content in javascript. (Or possibly vbscript).
+ ['lang-js', /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
+ // Contains unescaped stylesheet content
+ ['lang-css', /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
+ ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i]
+ ]),
+ ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
+ registerLangHandler(
+ createSimpleLexer(
+ [
+ [PR_PLAIN, /^[\s]+/, null, ' \t\r\n'],
+ [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
+ ],
+ [
+ [PR_TAG, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
+ [PR_ATTRIB_NAME, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
+ ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
+ [PR_PUNCTUATION, /^[=<>\/]+/],
+ ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i],
+ ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i],
+ ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i],
+ ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i],
+ ['lang-css', /^style\s*=\s*\'([^\']+)\'/i],
+ ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i]
+ ]),
+ ['in.tag']);
+ registerLangHandler(
+ createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': CPP_KEYWORDS,
+ 'hashComments': true,
+ 'cStyleComments': true
+ }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': 'null true false'
+ }), ['json']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': CSHARP_KEYWORDS,
+ 'hashComments': true,
+ 'cStyleComments': true,
+ 'verbatimStrings': true
+ }), ['cs']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': JAVA_KEYWORDS,
+ 'cStyleComments': true
+ }), ['java']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': SH_KEYWORDS,
+ 'hashComments': true,
+ 'multiLineStrings': true
+ }), ['bsh', 'csh', 'sh']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': PYTHON_KEYWORDS,
+ 'hashComments': true,
+ 'multiLineStrings': true,
+ 'tripleQuotedStrings': true
+ }), ['cv', 'py']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': PERL_KEYWORDS,
+ 'hashComments': true,
+ 'multiLineStrings': true,
+ 'regexLiterals': true
+ }), ['perl', 'pl', 'pm']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': RUBY_KEYWORDS,
+ 'hashComments': true,
+ 'multiLineStrings': true,
+ 'regexLiterals': true
+ }), ['rb']);
+ registerLangHandler(sourceDecorator({
+ 'keywords': JSCRIPT_KEYWORDS,
+ 'cStyleComments': true,
+ 'regexLiterals': true
+ }), ['js']);
+ registerLangHandler(
+ createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
+
+ function applyDecorator(job) {
+ var sourceCodeHtml = job.sourceCodeHtml;
+ var opt_langExtension = job.langExtension;
+
+ // Prepopulate output in case processing fails with an exception.
+ job.prettyPrintedHtml = sourceCodeHtml;
+
+ try {
+ // Extract tags, and convert the source code to plain text.
+ var sourceAndExtractedTags = extractTags(sourceCodeHtml);
+ /** Plain text. @type {string} */
+ var source = sourceAndExtractedTags.source;
+ job.source = source;
+ job.basePos = 0;
+
+ /** Even entries are positions in source in ascending order. Odd entries
+ * are tags that were extracted at that position.
+ * @type {Array.<number|string>}
+ */
+ job.extractedTags = sourceAndExtractedTags.tags;
+
+ // Apply the appropriate language handler
+ langHandlerForExtension(opt_langExtension, source)(job);
+ // Integrate the decorations and tags back into the source code to produce
+ // a decorated html string which is left in job.prettyPrintedHtml.
+ recombineTagsAndDecorations(job);
+ } catch (e) {
+ if ('console' in window) {
+ console['log'](e && e['stack'] ? e['stack'] : e);
+ }
+ }
+ }
+
+ function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
+ var job = {
+ sourceCodeHtml: sourceCodeHtml,
+ langExtension: opt_langExtension
+ };
+ applyDecorator(job);
+ return job.prettyPrintedHtml;
+ }
+
+ function prettyPrint(opt_whenDone) {
+ function byTagName(tn) { return document.getElementsByTagName(tn); }
+ // fetch a list of nodes to rewrite
+ var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
+ var elements = [];
+ for (var i = 0; i < codeSegments.length; ++i) {
+ for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
+ elements.push(codeSegments[i][j]);
+ }
+ }
+ codeSegments = null;
+
+ var clock = Date;
+ if (!clock['now']) {
+ clock = { 'now': function () { return (new Date).getTime(); } };
+ }
+
+ // The loop is broken into a series of continuations to make sure that we
+ // don't make the browser unresponsive when rewriting a large page.
+ var k = 0;
+ var prettyPrintingJob;
+
+ function doWork() {
+ var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
+ clock.now() + 250 /* ms */ :
+ Infinity);
+ for (; k < elements.length && clock.now() < endTime; k++) {
+ var cs = elements[k];
+ // [JACOCO] 'prettyprint' -> 'source'
+ if (cs.className && cs.className.indexOf('source') >= 0) {
+ // If the classes includes a language extensions, use it.
+ // Language extensions can be specified like
+ // <pre class="prettyprint lang-cpp">
+ // the language extension "cpp" is used to find a language handler as
+ // passed to PR_registerLangHandler.
+ var langExtension = cs.className.match(/\blang-(\w+)\b/);
+ if (langExtension) { langExtension = langExtension[1]; }
+
+ // make sure this is not nested in an already prettified element
+ var nested = false;
+ for (var p = cs.parentNode; p; p = p.parentNode) {
+ if ((p.tagName === 'pre' || p.tagName === 'code' ||
+ p.tagName === 'xmp') &&
+ // [JACOCO] 'prettyprint' -> 'source'
+ p.className && p.className.indexOf('source') >= 0) {
+ nested = true;
+ break;
+ }
+ }
+ if (!nested) {
+ // fetch the content as a snippet of properly escaped HTML.
+ // Firefox adds newlines at the end.
+ var content = getInnerHtml(cs);
+ content = content.replace(/(?:\r\n?|\n)$/, '');
+
+ // do the pretty printing
+ prettyPrintingJob = {
+ sourceCodeHtml: content,
+ langExtension: langExtension,
+ sourceNode: cs
+ };
+ applyDecorator(prettyPrintingJob);
+ replaceWithPrettyPrintedHtml();
+ }
+ }
+ }
+ if (k < elements.length) {
+ // finish up in a continuation
+ setTimeout(doWork, 250);
+ } else if (opt_whenDone) {
+ opt_whenDone();
+ }
+ }
+
+ function replaceWithPrettyPrintedHtml() {
+ var newContent = prettyPrintingJob.prettyPrintedHtml;
+ if (!newContent) { return; }
+ var cs = prettyPrintingJob.sourceNode;
+
+ // push the prettified html back into the tag.
+ if (!isRawContent(cs)) {
+ // just replace the old html with the new
+ cs.innerHTML = newContent;
+ } else {
+ // we need to change the tag to a <pre> since <xmp>s do not allow
+ // embedded tags such as the span tags used to attach styles to
+ // sections of source code.
+ var pre = document.createElement('PRE');
+ for (var i = 0; i < cs.attributes.length; ++i) {
+ var a = cs.attributes[i];
+ if (a.specified) {
+ var aname = a.name.toLowerCase();
+ if (aname === 'class') {
+ pre.className = a.value; // For IE 6
+ } else {
+ pre.setAttribute(a.name, a.value);
+ }
+ }
+ }
+ pre.innerHTML = newContent;
+
+ // remove the old
+ cs.parentNode.replaceChild(pre, cs);
+ cs = pre;
+ }
+ }
+
+ doWork();
+ }
+
+ window['PR_normalizedHtml'] = normalizedHtml;
+ window['prettyPrintOne'] = prettyPrintOne;
+ window['prettyPrint'] = prettyPrint;
+ window['PR'] = {
+ 'combinePrefixPatterns': combinePrefixPatterns,
+ 'createSimpleLexer': createSimpleLexer,
+ 'registerLangHandler': registerLangHandler,
+ 'sourceDecorator': sourceDecorator,
+ 'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
+ 'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
+ 'PR_COMMENT': PR_COMMENT,
+ 'PR_DECLARATION': PR_DECLARATION,
+ 'PR_KEYWORD': PR_KEYWORD,
+ 'PR_LITERAL': PR_LITERAL,
+ 'PR_NOCODE': PR_NOCODE,
+ 'PR_PLAIN': PR_PLAIN,
+ 'PR_PUNCTUATION': PR_PUNCTUATION,
+ 'PR_SOURCE': PR_SOURCE,
+ 'PR_STRING': PR_STRING,
+ 'PR_TAG': PR_TAG,
+ 'PR_TYPE': PR_TYPE
+ };
+})();
diff --git a/docs/jacoco-ut/jacoco-resources/redbar.gif b/docs/jacoco-ut/jacoco-resources/redbar.gif
new file mode 100644
index 0000000..c2f7146
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/redbar.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/report.css b/docs/jacoco-ut/jacoco-resources/report.css
new file mode 100644
index 0000000..08eba79
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/report.css
@@ -0,0 +1,243 @@
+body, td {
+ font-family:sans-serif;
+ font-size:10pt;
+}
+
+h1 {
+ font-weight:bold;
+ font-size:18pt;
+}
+
+.breadcrumb {
+ border:#d6d3ce 1px solid;
+ padding:2px 4px 2px 4px;
+}
+
+.breadcrumb .info {
+ float:right;
+}
+
+.breadcrumb .info a {
+ margin-left:8px;
+}
+
+.el_report {
+ padding-left:18px;
+ background-image:url(report.gif);
+ background-position:left center;
+ background-repeat:no-repeat;
+}
+
+.el_group {
+ padding-left:18px;
+ background-image:url(group.gif);
+ background-position:left center;
+ background-repeat:no-repeat;
+}
+
+.el_bundle {
+ padding-left:18px;
+ background-image:url(bundle.gif);
+ background-position:left center;
+ background-repeat:no-repeat;
+}
+
+.el_package {
+ padding-left:18px;
+ background-image:url(package.gif);
+ background-position:left center;
+ background-repeat:no-repeat;
+}
+
+.el_class {
+ padding-left:18px;
+ background-image:url(class.gif);
+ background-position:left center;
+ background-repeat:no-repeat;
+}
+
+.el_source {
+ padding-left:18px;
+ background-image:url(source.gif);
+ background-position:left center;
+ background-repeat:no-repeat;
+}
+
+.el_method {
+ padding-left:18px;
+ background-image:url(method.gif);
+ background-position:left center;
+ background-repeat:no-repeat;
+}
+
+.el_session {
+ padding-left:18px;
+ background-image:url(session.gif);
+ background-position:left center;
+ background-repeat:no-repeat;
+}
+
+pre.source {
+ border:#d6d3ce 1px solid;
+ font-family:monospace;
+}
+
+pre.source ol {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+pre.source li {
+ border-left: 1px solid #D6D3CE;
+ color: #A0A0A0;
+ padding-left: 0px;
+}
+
+pre.source span.fc {
+ background-color:#ccffcc;
+}
+
+pre.source span.nc {
+ background-color:#ffaaaa;
+}
+
+pre.source span.pc {
+ background-color:#ffffcc;
+}
+
+pre.source span.bfc {
+ background-image: url(branchfc.gif);
+ background-repeat: no-repeat;
+ background-position: 2px center;
+}
+
+pre.source span.bfc:hover {
+ background-color:#80ff80;
+}
+
+pre.source span.bnc {
+ background-image: url(branchnc.gif);
+ background-repeat: no-repeat;
+ background-position: 2px center;
+}
+
+pre.source span.bnc:hover {
+ background-color:#ff8080;
+}
+
+pre.source span.bpc {
+ background-image: url(branchpc.gif);
+ background-repeat: no-repeat;
+ background-position: 2px center;
+}
+
+pre.source span.bpc:hover {
+ background-color:#ffff80;
+}
+
+table.coverage {
+ empty-cells:show;
+ border-collapse:collapse;
+}
+
+table.coverage thead {
+ background-color:#e0e0e0;
+}
+
+table.coverage thead td {
+ white-space:nowrap;
+ padding:2px 14px 0px 6px;
+ border-bottom:#b0b0b0 1px solid;
+}
+
+table.coverage thead td.bar {
+ border-left:#cccccc 1px solid;
+}
+
+table.coverage thead td.ctr1 {
+ text-align:right;
+ border-left:#cccccc 1px solid;
+}
+
+table.coverage thead td.ctr2 {
+ text-align:right;
+ padding-left:2px;
+}
+
+table.coverage thead td.sortable {
+ cursor:pointer;
+ background-image:url(sort.gif);
+ background-position:right center;
+ background-repeat:no-repeat;
+}
+
+table.coverage thead td.up {
+ background-image:url(up.gif);
+}
+
+table.coverage thead td.down {
+ background-image:url(down.gif);
+}
+
+table.coverage tbody td {
+ white-space:nowrap;
+ padding:2px 6px 2px 6px;
+ border-bottom:#d6d3ce 1px solid;
+}
+
+table.coverage tbody tr:hover {
+ background: #f0f0d0 !important;
+}
+
+table.coverage tbody td.bar {
+ border-left:#e8e8e8 1px solid;
+}
+
+table.coverage tbody td.ctr1 {
+ text-align:right;
+ padding-right:14px;
+ border-left:#e8e8e8 1px solid;
+}
+
+table.coverage tbody td.ctr2 {
+ text-align:right;
+ padding-right:14px;
+ padding-left:2px;
+}
+
+table.coverage tfoot td {
+ white-space:nowrap;
+ padding:2px 6px 2px 6px;
+}
+
+table.coverage tfoot td.bar {
+ border-left:#e8e8e8 1px solid;
+}
+
+table.coverage tfoot td.ctr1 {
+ text-align:right;
+ padding-right:14px;
+ border-left:#e8e8e8 1px solid;
+}
+
+table.coverage tfoot td.ctr2 {
+ text-align:right;
+ padding-right:14px;
+ padding-left:2px;
+}
+
+.footer {
+ margin-top:20px;
+ border-top:#d6d3ce 1px solid;
+ padding-top:2px;
+ font-size:8pt;
+ color:#a0a0a0;
+}
+
+.footer a {
+ color:#a0a0a0;
+}
+
+.right {
+ float:right;
+}
diff --git a/docs/jacoco-ut/jacoco-resources/report.gif b/docs/jacoco-ut/jacoco-resources/report.gif
new file mode 100644
index 0000000..8547be5
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/report.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/session.gif b/docs/jacoco-ut/jacoco-resources/session.gif
new file mode 100644
index 0000000..0151bad
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/session.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/sort.gif b/docs/jacoco-ut/jacoco-resources/sort.gif
new file mode 100644
index 0000000..6757c2c
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/sort.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/sort.js b/docs/jacoco-ut/jacoco-resources/sort.js
new file mode 100644
index 0000000..da41c0b
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/sort.js
@@ -0,0 +1,147 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Marc R. Hoffmann - initial API and implementation
+ *
+ *******************************************************************************/
+
+(function () {
+
+ /**
+ * Sets the initial sorting derived from the hash.
+ *
+ * @param linkelementids
+ * list of element ids to search for links to add sort inidcator
+ * hash links
+ */
+ function initialSort(linkelementids) {
+ window.linkelementids = linkelementids;
+ var hash = window.location.hash;
+ if (hash) {
+ var m = hash.match(/up-./);
+ if (m) {
+ var header = window.document.getElementById(m[0].charAt(3));
+ if (header) {
+ sortColumn(header, true);
+ }
+ return;
+ }
+ var m = hash.match(/dn-./);
+ if (m) {
+ var header = window.document.getElementById(m[0].charAt(3));
+ if (header) {
+ sortColumn(header, false);
+ }
+ return
+ }
+ }
+ }
+
+ /**
+ * Sorts the columns with the given header dependening on the current sort state.
+ */
+ function toggleSort(header) {
+ var sortup = header.className.indexOf('down ') == 0;
+ sortColumn(header, sortup);
+ }
+
+ /**
+ * Sorts the columns with the given header in the given direction.
+ */
+ function sortColumn(header, sortup) {
+ var table = header.parentNode.parentNode.parentNode;
+ var body = table.tBodies[0];
+ var colidx = getNodePosition(header);
+
+ resetSortedStyle(table);
+
+ var rows = body.rows;
+ var sortedrows = [];
+ for (var i = 0; i < rows.length; i++) {
+ r = rows[i];
+ sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
+ }
+
+ var hash;
+
+ if (sortup) {
+ for (var i = sortedrows.length - 1; i >= 0; i--) {
+ body.appendChild(sortedrows[i]);
+ }
+ header.className = 'up ' + header.className;
+ hash = 'up-' + header.id;
+ } else {
+ for (var i = 0; i < sortedrows.length; i++) {
+ body.appendChild(sortedrows[i]);
+ }
+ header.className = 'down ' + header.className;
+ hash = 'dn-' + header.id;
+ }
+
+ setHash(hash);
+ }
+
+ /**
+ * Adds the sort indicator as a hash to the document URL and all links.
+ */
+ function setHash(hash) {
+ window.document.location.hash = hash;
+ ids = window.linkelementids;
+ for (var i = 0; i < ids.length; i++) {
+ setHashOnAllLinks(document.getElementById(ids[i]), hash);
+ }
+ }
+
+ /**
+ * Extend all links within the given tag with the given hash.
+ */
+ function setHashOnAllLinks(tag, hash) {
+ links = tag.getElementsByTagName("a");
+ for (var i = 0; i < links.length; i++) {
+ var a = links[i];
+ var href = a.href;
+ var hashpos = href.indexOf("#");
+ if (hashpos != -1) {
+ href = href.substring(0, hashpos);
+ }
+ a.href = href + "#" + hash;
+ }
+ }
+
+ /**
+ * Calculates the position of a element within its parent.
+ */
+ function getNodePosition(element) {
+ var pos = -1;
+ while (element) {
+ element = element.previousSibling;
+ pos++;
+ }
+ return pos;
+ }
+
+ /**
+ * Remove the sorting indicator style from all headers.
+ */
+ function resetSortedStyle(table) {
+ for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
+ if (c.className) {
+ if (c.className.indexOf('down ') == 0) {
+ c.className = c.className.slice(5);
+ }
+ if (c.className.indexOf('up ') == 0) {
+ c.className = c.className.slice(3);
+ }
+ }
+ }
+ }
+
+ window['initialSort'] = initialSort;
+ window['toggleSort'] = toggleSort;
+
+})(); \ No newline at end of file
diff --git a/docs/jacoco-ut/jacoco-resources/source.gif b/docs/jacoco-ut/jacoco-resources/source.gif
new file mode 100644
index 0000000..b226e41
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/source.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-resources/up.gif b/docs/jacoco-ut/jacoco-resources/up.gif
new file mode 100644
index 0000000..58ed216
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-resources/up.gif
Binary files differ
diff --git a/docs/jacoco-ut/jacoco-sessions.html b/docs/jacoco-ut/jacoco-sessions.html
new file mode 100644
index 0000000..686c435
--- /dev/null
+++ b/docs/jacoco-ut/jacoco-sessions.html
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">everge</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">Benjamins-MBP-67292b47</span></td><td>Jun 24, 2019 8:59:20 PM</td><td>Jun 24, 2019 8:59:23 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-3b692744</span></td><td>Jun 24, 2019 9:03:05 PM</td><td>Jun 24, 2019 9:03:07 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-3f784be9</span></td><td>Jun 24, 2019 9:03:54 PM</td><td>Jun 24, 2019 9:03:56 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-297f715f</span></td><td>Jun 24, 2019 9:04:27 PM</td><td>Jun 24, 2019 9:04:29 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-b7a7cd7a</span></td><td>Jun 24, 2019 9:07:30 PM</td><td>Jun 24, 2019 9:07:32 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-3c84e42d</span></td><td>Jun 24, 2019 9:08:48 PM</td><td>Jun 24, 2019 9:08:51 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-90c9c19f</span></td><td>Jun 24, 2019 9:10:33 PM</td><td>Jun 24, 2019 9:10:35 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-258e5d55</span></td><td>Jun 24, 2019 9:11:10 PM</td><td>Jun 24, 2019 9:11:13 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-1c8db53c</span></td><td>Jun 24, 2019 9:11:54 PM</td><td>Jun 24, 2019 9:11:57 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-fe884b29</span></td><td>Jun 24, 2019 9:13:48 PM</td><td>Jun 24, 2019 9:13:51 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-bbbda15c</span></td><td>Jun 25, 2019 4:59:55 PM</td><td>Jun 25, 2019 4:59:58 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-619d5306</span></td><td>Jun 25, 2019 5:02:51 PM</td><td>Jun 25, 2019 5:02:54 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-5be181bc</span></td><td>Jun 25, 2019 5:06:24 PM</td><td>Jun 25, 2019 5:06:27 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-5a9a677f</span></td><td>Jun 25, 2019 5:11:13 PM</td><td>Jun 25, 2019 5:11:16 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-a5f6a88e</span></td><td>Jun 25, 2019 5:13:13 PM</td><td>Jun 25, 2019 5:13:16 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-f7f6396</span></td><td>Jun 25, 2019 5:17:56 PM</td><td>Jun 25, 2019 5:17:59 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-d79643a5</span></td><td>Jun 25, 2019 5:19:05 PM</td><td>Jun 25, 2019 5:19:09 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-d13feb00</span></td><td>Jun 25, 2019 5:22:48 PM</td><td>Jun 25, 2019 5:22:53 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-d99cddd</span></td><td>Jun 25, 2019 5:24:37 PM</td><td>Jun 25, 2019 5:24:40 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-7fb5d03c</span></td><td>Jun 25, 2019 5:27:13 PM</td><td>Jun 25, 2019 5:27:16 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-27500956</span></td><td>Jun 25, 2019 6:00:01 PM</td><td>Jun 25, 2019 6:00:04 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-fabd9a80</span></td><td>Jun 25, 2019 6:01:20 PM</td><td>Jun 25, 2019 6:01:23 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-cc099d67</span></td><td>Jun 25, 2019 6:05:30 PM</td><td>Jun 25, 2019 6:05:34 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-41bbaf88</span></td><td>Jun 25, 2019 6:11:18 PM</td><td>Jun 25, 2019 6:11:22 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-f6e0efd9</span></td><td>Jun 25, 2019 6:15:33 PM</td><td>Jun 25, 2019 6:15:37 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-3342ac36</span></td><td>Jun 25, 2019 6:17:47 PM</td><td>Jun 25, 2019 6:17:51 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-6306767e</span></td><td>Jun 25, 2019 6:19:29 PM</td><td>Jun 25, 2019 6:19:34 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-9650af58</span></td><td>Jun 25, 2019 6:21:23 PM</td><td>Jun 25, 2019 6:21:26 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-94ee416e</span></td><td>Jun 25, 2019 6:22:43 PM</td><td>Jun 25, 2019 6:22:46 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-acf8a55e</span></td><td>Jun 25, 2019 6:24:45 PM</td><td>Jun 25, 2019 6:24:49 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-e005d98f</span></td><td>Jun 25, 2019 6:26:50 PM</td><td>Jun 25, 2019 6:26:53 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-7e76464a</span></td><td>Jun 25, 2019 6:27:56 PM</td><td>Jun 25, 2019 6:27:59 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-889390fc</span></td><td>Jun 25, 2019 6:30:19 PM</td><td>Jun 25, 2019 6:30:22 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-a2eca0c</span></td><td>Jun 25, 2019 6:32:34 PM</td><td>Jun 25, 2019 6:32:38 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-d4166fb4</span></td><td>Jun 25, 2019 6:37:07 PM</td><td>Jun 25, 2019 6:37:10 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-7f813079</span></td><td>Jun 25, 2019 6:41:50 PM</td><td>Jun 25, 2019 6:41:54 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-3b22eaa0</span></td><td>Jun 25, 2019 6:43:57 PM</td><td>Jun 25, 2019 6:44:01 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-bce66460</span></td><td>Jun 25, 2019 6:45:56 PM</td><td>Jun 25, 2019 6:46:05 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-ec69e715</span></td><td>Jun 25, 2019 6:47:50 PM</td><td>Jun 25, 2019 6:47:53 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-1e2bc362</span></td><td>Jun 25, 2019 6:50:39 PM</td><td>Jun 25, 2019 6:50:42 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-2192d47e</span></td><td>Jun 25, 2019 6:54:31 PM</td><td>Jun 25, 2019 6:54:35 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-5578d310</span></td><td>Jun 25, 2019 6:57:16 PM</td><td>Jun 25, 2019 6:57:21 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-7f918ae3</span></td><td>Jun 25, 2019 6:58:38 PM</td><td>Jun 25, 2019 6:58:41 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-1b2a4262</span></td><td>Jun 25, 2019 7:00:52 PM</td><td>Jun 25, 2019 7:00:56 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-32eb1f2f</span></td><td>Jun 25, 2019 7:46:14 PM</td><td>Jun 25, 2019 7:46:17 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-ad93c87f</span></td><td>Jun 25, 2019 7:47:28 PM</td><td>Jun 25, 2019 7:47:34 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-949c0249</span></td><td>Jun 25, 2019 7:51:13 PM</td><td>Jun 25, 2019 7:51:19 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-d850dedc</span></td><td>Jun 25, 2019 7:59:42 PM</td><td>Jun 25, 2019 7:59:46 PM</td></tr><tr><td><span class="el_session">Benjamins-MBP-cf0e8fcb</span></td><td>Jun 25, 2019 8:02:21 PM</td><td>Jun 25, 2019 8:02:25 PM</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><a href="bjc.everge/Everge.html" class="el_class">bjc.everge.Everge</a></td><td><code>0f9bbd087c6a82a8</code></td></tr><tr><td><a href="bjc.everge/Everge$InputStatus.html" class="el_class">bjc.everge.Everge.InputStatus</a></td><td><code>4a55ec97be767aa3</code></td></tr><tr><td><span class="el_class">bjc.everge.EvergeTest</span></td><td><code>cdb20595b065d577</code></td></tr><tr><td><a href="bjc.everge/IntHolder.html" class="el_class">bjc.everge.IntHolder</a></td><td><code>737f55a181942cdc</code></td></tr><tr><td><a href="bjc.everge/ReplError.html" class="el_class">bjc.everge.ReplError</a></td><td><code>cfe2129d4ad345ed</code></td></tr><tr><td><a href="bjc.everge/ReplOpts.html" class="el_class">bjc.everge.ReplOpts</a></td><td><code>8450f17e7cbeb091</code></td></tr><tr><td><a href="bjc.everge/ReplPair.html" class="el_class">bjc.everge.ReplPair</a></td><td><code>2d75250bb3a4dc9b</code></td></tr><tr><td><span class="el_class">bjc.everge.ReplPairTest</span></td><td><code>113dc21d30690e76</code></td></tr><tr><td><a href="bjc.everge/ReplParseException.html" class="el_class">bjc.everge.ReplParseException</a></td><td><code>d8ab30d3d245efb0</code></td></tr><tr><td><a href="bjc.everge/StageStatus.html" class="el_class">bjc.everge.StageStatus</a></td><td><code>ac16631888ecec1d</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>96129974ee10757f</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>b1f6ea8a04497939</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>162d01291f370427</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>46672b84a602d7fe</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>345938959587d360</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>b2c7807a17916b02</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>5380b0d12b9b82fa</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>56009bb8e60e51fe</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>ea5a1ca459f38b67</code></td></tr><tr><td><a href="bjc.everge/StringUtils.html" class="el_class">bjc.everge.StringUtils</a></td><td><code>5faea0492fe3f69d</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>e124af90d0899493</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>afb06ae0324ba1aa</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>95379209e31566ec</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>68722ea854182213</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>d93e3b9453a991dc</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>c821d7e7cdde30f5</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>e8bc70abb233e8de</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>72794c9b4192e467</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>f28c1c23f3a4ca11</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>e4ad5e03d758c4db</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>25a4be5eb9694fa7</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>473ac177d99f4483</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>2a436ce5ce20f3e1</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>02cc20f71169fa3b</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>158ec1ceb2332bf6</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>8653cd571861b6ed</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>7e01c56903605d83</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>9fb30af8a3271de2</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>dcde9a6346e8f1f2</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>9c9ef2ae9cfcff61</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>834a3c5103a7216e</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>1c88fcd7e41cc194</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>73789ce1e2babcff</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtils</span></td><td><code>5f58bc01c7ffbf5e</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>babeafb324d389bc</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>ba524758af935222</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>03a5d7d600df7a60</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>862b25c9cb9e0e95</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>2c45b0b5b9f969fd</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>1f3d0eb955670a17</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>6e7276d8d6f77555</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>b0de7d7e5f67ddef</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>11c88b1b176e3ae7</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>11d6c586e9cdcce5</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>e90540f3b3f9338c</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>77748dc7c974e456</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>33b839e709b1f84d</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>24d6981b58274f22</code></td></tr><tr><td><span class="el_class">bjc.everge.StringUtilsTest</span></td><td><code>aa0b4e114ce90f23</code></td></tr><tr><td><span class="el_class">bjc.everge.TestUtils</span></td><td><code>b4a64196a53960fd</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>80d79e52a7499259</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.NonAbstractClassFilter</span></td><td><code>7fa4110cdc2fc1de</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>8182fa1396653f01</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>82593383b8ea92d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BiProperty</span></td><td><code>4945e268841ae2cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>5e68b147d2c4b22f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>dc8fd5c18ebb0e44</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>c898ea9ca4a65da5</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>fbf5fb96600339ce</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Command</span></td><td><code>eb1b53eb8cbe7b47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>0c8d3ca700ec7199</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>fbfebde20e2b504c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>ee59ae4d74408619</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.DumpErrorSingleton</span></td><td><code>2b476b92c5a56cec</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>7c637cf5651513d1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>8e738e4578953efa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.2</span></td><td><code>eed8c1764882af0e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>c484c4542ee85d76</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>fdd9c09c784f8eea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.5</span></td><td><code>7b8c4d35432edce6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>b897d54528b69e6d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>fe5121edb86030bc</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>d29065207a6b6c40</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076a6c0176f6238b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>92d4b034b32ca2c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.MasterProcessCommand</span></td><td><code>da65de332c2de19d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>71b8c658da2ea8d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.1</span></td><td><code>a004a9a91ab49ba2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer</span></td><td><code>73f319c21fab7e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessInfo</span></td><td><code>b5b56cd86f3f0b31</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>ae4bf137cc5290c1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d19986536a351b50</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Shutdown</span></td><td><code>ee9c65017e107986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>a8cc10b01ed27439</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>f47497b1dde50d64</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>5ea9766678ac06a2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.cli.CommandLineOption</span></td><td><code>467fc7f51b73863b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit3.JUnit3TestChecker</span></td><td><code>60f0e8645c7f9683</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4ProviderUtil</span></td><td><code>2efb9b040a733f46</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4Reflector</span></td><td><code>c6b492fe44aeaaad</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4RunListener</span></td><td><code>e9b69f33ef0f0ee2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4RunListenerFactory</span></td><td><code>47691d741b824165</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4StackTraceWriter</span></td><td><code>4381f0edfc893883</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4TestChecker</span></td><td><code>0ecb2bc7979f6afe</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnitTestFailureListener</span></td><td><code>713afbdb99a074d5</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.Notifier</span></td><td><code>cc79e323f237d54b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junit4.JUnit4Provider</span></td><td><code>ea5628d21adfaab0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junit4.JUnit4Provider.1</span></td><td><code>b81832311ccdea03</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>90f3b08fe8a1c87c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ClassNameStackTraceFilter</span></td><td><code>2e0e75f8104a222a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>b8ae904ed8536017</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>f912ea5d2dac308e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>8d05eb67510fd586</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>4281487891f02f69</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SafeThrowable</span></td><td><code>e61429531d0f0c1c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>ced572f24a462295</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SmartStackTraceParser</span></td><td><code>45ff733565a2ac18</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils</span></td><td><code>31aed2fcfab3e082</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter</span></td><td><code>6d33fec8cb3374c0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion</span></td><td><code>a8452005cb20bb7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils</span></td><td><code>4f785afa8bb3a23f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtils</span></td><td><code>aba69a973b7ba06a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtils</span></td><td><code>d0156407bff7b695</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils</span></td><td><code>483d14212b21a3ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>f5c7c53a954bcafa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>2b5eeacae469cd1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.IncludedExcludedPatterns</span></td><td><code>f39908e3b64d7090</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest</span></td><td><code>a598483e424232d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher</span></td><td><code>79be7f2fa77ad8d7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher</span></td><td><code>7c71374a51e8e61b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.ResolvedTest.Type</span></td><td><code>90e4214668937845</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>b4c06223c3099700</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>f703953620e80b33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestListResolver</span></td><td><code>7d372c99b98a147d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>0fa2c0cc34345df2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.CloseableIterator</span></td><td><code>cc15bdebae86d5d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>1aeecbcd3bf6e89b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>7fefafdf8c793c36</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>8d5f4b05d6d77207</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d2292a6beb4b6337</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>a95363e4b4ba2069</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun.ClassesIterator</span></td><td><code>84a139c598502c0b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory</span></td><td><code>21a589f6dedb169c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>682458ca85b067a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.DumpFileUtils</span></td><td><code>506743b77fc98f6e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap</span></td><td><code>72bcae5e55b4fabb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ImmutableMap.Node</span></td><td><code>ecc659afb4f6d68b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ObjectUtils</span></td><td><code>69a2a92649b44645</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>3a7e4daf0a993e1e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils.EncodedArray</span></td><td><code>477f1d94d78cb50b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.TestClassMethodNameUtils</span></td><td><code>7ccab40b69c25b60</code></td></tr><tr><td><span class="el_class">org.junit.Assert</span></td><td><code>78fc7dec7d95195c</code></td></tr><tr><td><span class="el_class">org.junit.ComparisonFailure</span></td><td><code>2e043b54f4444387</code></td></tr><tr><td><span class="el_class">org.junit.ComparisonFailure.ComparisonCompactor</span></td><td><code>63a5eeaf6441cd66</code></td></tr><tr><td><span class="el_class">org.junit.internal.ArrayComparisonFailure</span></td><td><code>2f82261abd610f66</code></td></tr><tr><td><span class="el_class">org.junit.internal.ComparisonCriteria</span></td><td><code>db393c2da1190e93</code></td></tr><tr><td><span class="el_class">org.junit.internal.ExactComparisonCriteria</span></td><td><code>b46e382b993e25ce</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter</span></td><td><code>ae094a8ce1747b79</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter.1</span></td><td><code>d3997b4bdb7889c1</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter.2</span></td><td><code>c8e6351cbf098013</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.AllDefaultPossibilitiesBuilder</span></td><td><code>2d26b5eadd1a8c2a</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.AnnotatedBuilder</span></td><td><code>b6759f9e68d937a7</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.IgnoredBuilder</span></td><td><code>e152f333c53967a6</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.JUnit3Builder</span></td><td><code>4a2cc8e608e1275e</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.JUnit4Builder</span></td><td><code>5902b7da0403f55c</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.SuiteMethodBuilder</span></td><td><code>1df136431e07e393</code></td></tr><tr><td><span class="el_class">org.junit.internal.requests.ClassRequest</span></td><td><code>cbba192d9af40c26</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.model.EachTestNotifier</span></td><td><code>ff8c3fbb105e71ef</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.model.ReflectiveCallable</span></td><td><code>d591724635588bcb</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleFieldValidator</span></td><td><code>fbc09f9fcb2f9c1a</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.statements.InvokeMethod</span></td><td><code>fa03219f4a4eb968</code></td></tr><tr><td><span class="el_class">org.junit.runner.Description</span></td><td><code>c3b4a36e785ee4be</code></td></tr><tr><td><span class="el_class">org.junit.runner.Request</span></td><td><code>2501a2515fbe4d86</code></td></tr><tr><td><span class="el_class">org.junit.runner.Result</span></td><td><code>6a4a99282d9b0054</code></td></tr><tr><td><span class="el_class">org.junit.runner.Result.Listener</span></td><td><code>2060330526262fe0</code></td></tr><tr><td><span class="el_class">org.junit.runner.Runner</span></td><td><code>f5abacc70e2e08a4</code></td></tr><tr><td><span class="el_class">org.junit.runner.manipulation.Sorter</span></td><td><code>79c19bcbe8cfca2d</code></td></tr><tr><td><span class="el_class">org.junit.runner.manipulation.Sorter.1</span></td><td><code>1efe268be59403aa</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.Failure</span></td><td><code>667385430e134e4a</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunListener</span></td><td><code>3350f142e74350a4</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier</span></td><td><code>b34e922304507f84</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.1</span></td><td><code>0d2544b721f0db56</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.2</span></td><td><code>965ba1903620a2e4</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.3</span></td><td><code>4b1a15148beab121</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.4</span></td><td><code>b1686c7d1ca56287</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.7</span></td><td><code>c8d33a2e217dded2</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.SafeNotifier</span></td><td><code>19d584cef25f3ec4</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner</span></td><td><code>739bf3a723ee0fec</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner.1</span></td><td><code>12f85f32c9daafd9</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner</span></td><td><code>287dd153523ee445</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.1</span></td><td><code>e4b11be78f36c92b</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.2</span></td><td><code>51b5d3c1c8fd8878</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.3</span></td><td><code>678f2be2f7c4a558</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkField</span></td><td><code>483e074f630c2720</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMember</span></td><td><code>6b9f1505fe4f5d84</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMethod</span></td><td><code>78c84f58af3747e6</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMethod.1</span></td><td><code>52edf435461bec2b</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.RunnerBuilder</span></td><td><code>0281d51b4f8328d4</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.Statement</span></td><td><code>9a75aa5de27bf4d5</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.TestClass</span></td><td><code>2bf85bd14e16d25e</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.2.201808211720</span></div></body></html> \ No newline at end of file
diff --git a/docs/jacoco-ut/jacoco.csv b/docs/jacoco-ut/jacoco.csv
new file mode 100644
index 0000000..6f4f87a
--- /dev/null
+++ b/docs/jacoco-ut/jacoco.csv
@@ -0,0 +1,13 @@
+GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
+everge,bjc.everge,ControlledString.Control,18,0,0,0,9,0,3,0,3,0
+everge,bjc.everge,Everge.InputStatus,0,34,0,0,0,4,0,1,0,1
+everge,bjc.everge,StringUtils,190,270,17,37,24,56,16,14,1,2
+everge,bjc.everge,ReplOpts,66,30,18,0,11,10,10,1,1,1
+everge,bjc.everge,ReplPair,800,822,87,99,138,198,73,50,2,15
+everge,bjc.everge,ReplError,72,60,7,1,7,11,6,3,2,3
+everge,bjc.everge,ReplParseException,59,69,6,6,11,16,7,3,2,2
+everge,bjc.everge,StageStatus,0,34,0,0,0,4,0,1,0,1
+everge,bjc.everge,Everge,534,319,54,29,124,75,41,14,2,6
+everge,bjc.everge,IntHolder,10,22,0,0,5,7,2,4,2,4
+everge,bjc.everge,ControlledString,159,0,14,0,35,0,12,0,5,0
+everge,bjc.everge,ReplSet,105,0,6,0,24,0,9,0,6,0
diff --git a/docs/jacoco-ut/jacoco.xml b/docs/jacoco-ut/jacoco.xml
new file mode 100644
index 0000000..5f4eacf
--- /dev/null
+++ b/docs/jacoco-ut/jacoco.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="everge"><sessioninfo id="Benjamins-MBP-67292b47" start="1561424360688" dump="1561424363205"/><sessioninfo id="Benjamins-MBP-3b692744" start="1561424585099" dump="1561424587232"/><sessioninfo id="Benjamins-MBP-3f784be9" start="1561424634713" dump="1561424636691"/><sessioninfo id="Benjamins-MBP-297f715f" start="1561424667443" dump="1561424669866"/><sessioninfo id="Benjamins-MBP-b7a7cd7a" start="1561424850678" dump="1561424852941"/><sessioninfo id="Benjamins-MBP-3c84e42d" start="1561424928688" dump="1561424931006"/><sessioninfo id="Benjamins-MBP-90c9c19f" start="1561425033649" dump="1561425035661"/><sessioninfo id="Benjamins-MBP-258e5d55" start="1561425070955" dump="1561425073102"/><sessioninfo id="Benjamins-MBP-1c8db53c" start="1561425114955" dump="1561425117454"/><sessioninfo id="Benjamins-MBP-fe884b29" start="1561425228345" dump="1561425231522"/><sessioninfo id="Benjamins-MBP-bbbda15c" start="1561496395282" dump="1561496398365"/><sessioninfo id="Benjamins-MBP-619d5306" start="1561496571348" dump="1561496574138"/><sessioninfo id="Benjamins-MBP-5be181bc" start="1561496784535" dump="1561496787436"/><sessioninfo id="Benjamins-MBP-5a9a677f" start="1561497073729" dump="1561497076757"/><sessioninfo id="Benjamins-MBP-a5f6a88e" start="1561497193024" dump="1561497196210"/><sessioninfo id="Benjamins-MBP-f7f6396" start="1561497476014" dump="1561497479425"/><sessioninfo id="Benjamins-MBP-d79643a5" start="1561497545000" dump="1561497549999"/><sessioninfo id="Benjamins-MBP-d13feb00" start="1561497768878" dump="1561497773114"/><sessioninfo id="Benjamins-MBP-d99cddd" start="1561497877471" dump="1561497880863"/><sessioninfo id="Benjamins-MBP-7fb5d03c" start="1561498033014" dump="1561498036128"/><sessioninfo id="Benjamins-MBP-27500956" start="1561500001342" dump="1561500004334"/><sessioninfo id="Benjamins-MBP-fabd9a80" start="1561500080693" dump="1561500083440"/><sessioninfo id="Benjamins-MBP-cc099d67" start="1561500330077" dump="1561500334593"/><sessioninfo id="Benjamins-MBP-41bbaf88" start="1561500678923" dump="1561500682757"/><sessioninfo id="Benjamins-MBP-f6e0efd9" start="1561500933398" dump="1561500937702"/><sessioninfo id="Benjamins-MBP-3342ac36" start="1561501067401" dump="1561501071345"/><sessioninfo id="Benjamins-MBP-6306767e" start="1561501169667" dump="1561501174239"/><sessioninfo id="Benjamins-MBP-9650af58" start="1561501283352" dump="1561501286111"/><sessioninfo id="Benjamins-MBP-94ee416e" start="1561501363452" dump="1561501366719"/><sessioninfo id="Benjamins-MBP-acf8a55e" start="1561501485386" dump="1561501489081"/><sessioninfo id="Benjamins-MBP-e005d98f" start="1561501610002" dump="1561501613025"/><sessioninfo id="Benjamins-MBP-7e76464a" start="1561501676018" dump="1561501679909"/><sessioninfo id="Benjamins-MBP-889390fc" start="1561501819505" dump="1561501822680"/><sessioninfo id="Benjamins-MBP-a2eca0c" start="1561501954600" dump="1561501958258"/><sessioninfo id="Benjamins-MBP-d4166fb4" start="1561502227254" dump="1561502230957"/><sessioninfo id="Benjamins-MBP-7f813079" start="1561502510867" dump="1561502514598"/><sessioninfo id="Benjamins-MBP-3b22eaa0" start="1561502637609" dump="1561502641152"/><sessioninfo id="Benjamins-MBP-bce66460" start="1561502756713" dump="1561502765661"/><sessioninfo id="Benjamins-MBP-ec69e715" start="1561502870356" dump="1561502873552"/><sessioninfo id="Benjamins-MBP-1e2bc362" start="1561503039490" dump="1561503042904"/><sessioninfo id="Benjamins-MBP-2192d47e" start="1561503271226" dump="1561503275402"/><sessioninfo id="Benjamins-MBP-5578d310" start="1561503436268" dump="1561503441382"/><sessioninfo id="Benjamins-MBP-7f918ae3" start="1561503518002" dump="1561503521337"/><sessioninfo id="Benjamins-MBP-1b2a4262" start="1561503652782" dump="1561503656523"/><sessioninfo id="Benjamins-MBP-32eb1f2f" start="1561506374248" dump="1561506377814"/><sessioninfo id="Benjamins-MBP-ad93c87f" start="1561506448897" dump="1561506454580"/><sessioninfo id="Benjamins-MBP-949c0249" start="1561506673545" dump="1561506679049"/><sessioninfo id="Benjamins-MBP-d850dedc" start="1561507182186" dump="1561507186520"/><sessioninfo id="Benjamins-MBP-cf0e8fcb" start="1561507341016" dump="1561507345668"/><package name="bjc/everge"><class name="bjc/everge/ControlledString$Control" sourcefilename="ControlledString.java"><method name="&lt;init&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="38"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;[Ljava/lang/String;)V" line="50"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="18" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="bjc/everge/Everge$InputStatus" sourcefilename="Everge.java"><method name="&lt;clinit&gt;" desc="()V" line="37"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="bjc/everge/StringUtils" sourcefilename="StringUtils.java"><method name="&lt;init&gt;" desc="()V" line="14"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="escapeSplit" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;" line="34"><counter type="INSTRUCTION" missed="187" covered="267"/><counter type="BRANCH" missed="17" covered="37"/><counter type="LINE" missed="23" covered="55"/><counter type="COMPLEXITY" missed="15" covered="13"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="190" covered="270"/><counter type="BRANCH" missed="17" covered="37"/><counter type="LINE" missed="24" covered="56"/><counter type="COMPLEXITY" missed="16" covered="14"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="bjc/everge/ReplOpts" sourcefilename="ReplOpts.java"><method name="&lt;init&gt;" desc="()V" line="10"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="equals" desc="(Ljava/lang/Object;)Z" line="51"><counter type="INSTRUCTION" missed="66" covered="0"/><counter type="BRANCH" missed="18" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="10" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="66" covered="30"/><counter type="BRANCH" missed="18" covered="0"/><counter type="LINE" missed="11" covered="10"/><counter type="COMPLEXITY" missed="10" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="bjc/everge/ReplPair" sourcefilename="ReplPair.java"><method name="&lt;init&gt;" desc="()V" line="52"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="64"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="78"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;I)V" line="92"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" line="24"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readList" desc="(Ljava/util/Scanner;)Ljava/util/List;" line="125"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readList" desc="(Ljava/util/List;Ljava/util/Scanner;)Ljava/util/List;" line="142"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readList" desc="(Ljava/util/List;Ljava/util/Scanner;Ljava/util/List;)Ljava/util/List;" line="167"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readList" desc="(Ljava/util/List;Ljava/util/Scanner;Ljava/util/List;Lbjc/everge/ReplOpts;)Ljava/util/List;" line="187"><counter type="INSTRUCTION" missed="282" covered="370"/><counter type="BRANCH" missed="31" covered="51"/><counter type="LINE" missed="36" covered="89"/><counter type="COMPLEXITY" missed="25" covered="18"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readMultiLine" desc="(Ljava/lang/String;Ljava/util/Scanner;Lbjc/everge/ReplOpts;Ljava/util/List;Ljava/lang/String;Lbjc/everge/IntHolder;)Ljava/lang/String;" line="426"><counter type="INSTRUCTION" missed="37" covered="84"/><counter type="BRANCH" missed="8" covered="12"/><counter type="LINE" missed="2" covered="18"/><counter type="COMPLEXITY" missed="6" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="apply" desc="(Ljava/lang/String;)Ljava/lang/String;" line="464"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="469"><counter type="INSTRUCTION" missed="10" covered="33"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="compareTo" desc="(Lbjc/everge/ReplPair;)I" line="478"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="equals" desc="(Ljava/lang/Object;)Z" line="485"><counter type="INSTRUCTION" missed="12" covered="36"/><counter type="BRANCH" missed="6" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="6" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readName" desc="(Ljava/lang/String;Ljava/util/Scanner;Ljava/util/List;Lbjc/everge/ReplPair;Lbjc/everge/ReplOpts;Lbjc/everge/IntHolder;Lbjc/everge/IntHolder;)Ljava/lang/String;" line="503"><counter type="INSTRUCTION" missed="131" covered="110"/><counter type="BRANCH" missed="11" covered="13"/><counter type="LINE" missed="30" covered="30"/><counter type="COMPLEXITY" missed="10" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readGlobal" desc="(Ljava/lang/String;Ljava/util/Scanner;Ljava/util/List;Lbjc/everge/ReplOpts;Lbjc/everge/IntHolder;Lbjc/everge/IntHolder;)V" line="623"><counter type="INSTRUCTION" missed="186" covered="91"/><counter type="BRANCH" missed="18" covered="12"/><counter type="LINE" missed="43" covered="26"/><counter type="COMPLEXITY" missed="17" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getControls" desc="(Ljava/lang/String;Ljava/util/List;Lbjc/everge/ReplOpts;Lbjc/everge/IntHolder;Lbjc/everge/IntHolder;Ljava/lang/String;)Lbjc/everge/ControlledString;" line="767"><counter type="INSTRUCTION" missed="135" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="800" covered="822"/><counter type="BRANCH" missed="87" covered="99"/><counter type="LINE" missed="138" covered="198"/><counter type="COMPLEXITY" missed="73" covered="50"/><counter type="METHOD" missed="2" covered="15"/><counter type="CLASS" missed="0" covered="1"/></class><class name="bjc/everge/ReplError" sourcefilename="ReplError.java"><method name="&lt;init&gt;" desc="(Lbjc/everge/IntHolder;Lbjc/everge/IntHolder;Ljava/lang/String;Ljava/lang/String;)V" line="40"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(IILjava/lang/String;Ljava/lang/String;)V" line="55"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="66"><counter type="INSTRUCTION" missed="50" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toPrintString" desc="()Ljava/lang/String;" line="74"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toPrintString" desc="(Ljava/lang/String;)Ljava/lang/String;" line="79"><counter type="INSTRUCTION" missed="18" covered="36"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="72" covered="60"/><counter type="BRANCH" missed="7" covered="1"/><counter type="LINE" missed="7" covered="11"/><counter type="COMPLEXITY" missed="6" covered="3"/><counter type="METHOD" missed="2" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="bjc/everge/ReplParseException" sourcefilename="ReplParseException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="10"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/util/List;)V" line="14"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="22"><counter type="INSTRUCTION" missed="28" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toPrintString" desc="()Ljava/lang/String;" line="30"><counter type="INSTRUCTION" missed="24" covered="62"/><counter type="BRANCH" missed="4" covered="6"/><counter type="LINE" missed="5" covered="13"/><counter type="COMPLEXITY" missed="4" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="59" covered="69"/><counter type="BRANCH" missed="6" covered="6"/><counter type="LINE" missed="11" covered="16"/><counter type="COMPLEXITY" missed="7" covered="3"/><counter type="METHOD" missed="2" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="bjc/everge/StageStatus" sourcefilename="StageStatus.java"><method name="&lt;clinit&gt;" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="bjc/everge/Everge" sourcefilename="Everge.java"><method name="&lt;init&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="main" desc="([Ljava/lang/String;)V" line="90"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="processArgs" desc="([Ljava/lang/String;)Z" line="103"><counter type="INSTRUCTION" missed="28" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="processArgs" desc="(Ljava/util/List;[Ljava/lang/String;)Z" line="125"><counter type="INSTRUCTION" missed="342" covered="112"/><counter type="BRANCH" missed="33" covered="12"/><counter type="LINE" missed="88" covered="28"/><counter type="COMPLEXITY" missed="25" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="processInputFile" desc="(Ljava/lang/String;)Z" line="314"><counter type="INSTRUCTION" missed="15" covered="13"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="3" covered="4"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="processInputFile" desc="(Ljava/util/List;Ljava/lang/String;)Z" line="336"><counter type="INSTRUCTION" missed="133" covered="40"/><counter type="BRANCH" missed="11" covered="3"/><counter type="LINE" missed="22" covered="11"/><counter type="COMPLEXITY" missed="7" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="processString" desc="(Ljava/lang/String;)V" line="397"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadQueue" desc="([Ljava/lang/String;)V" line="415"><counter type="INSTRUCTION" missed="7" covered="76"/><counter type="BRANCH" missed="2" covered="10"/><counter type="LINE" missed="1" covered="12"/><counter type="COMPLEXITY" missed="2" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="534" covered="319"/><counter type="BRANCH" missed="54" covered="29"/><counter type="LINE" missed="124" covered="75"/><counter type="COMPLEXITY" missed="41" covered="14"/><counter type="METHOD" missed="2" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="bjc/everge/IntHolder" sourcefilename="IntHolder.java"><method name="&lt;init&gt;" desc="()V" line="17"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(I)V" line="27"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="incr" desc="()I" line="37"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="incr" desc="(I)I" line="49"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="get" desc="()I" line="60"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="set" desc="(I)V" line="64"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="10" covered="22"/><counter type="LINE" missed="5" covered="7"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="2" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="bjc/everge/ControlledString" sourcefilename="ControlledString.java"><method name="&lt;init&gt;" desc="()V" line="69"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="79"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;[Lbjc/everge/ControlledString$Control;)V" line="93"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="hasControls" desc="()Z" line="105"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="parse" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lbjc/everge/ControlledString;" line="133"><counter type="INSTRUCTION" missed="126" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="23" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="159" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="35" covered="0"/><counter type="COMPLEXITY" missed="12" covered="0"/><counter type="METHOD" missed="5" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="bjc/everge/ReplSet" sourcefilename="ReplSet.java"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/util/List;)V" line="35"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="fromFile" desc="(Ljava/lang/String;)Lbjc/everge/ReplSet;" line="40"><counter type="INSTRUCTION" missed="24" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPairs" desc="(Ljava/util/List;)V" line="56"><counter type="INSTRUCTION" missed="21" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="addPairs" desc="([Lbjc/everge/ReplPair;)V" line="71"><counter type="INSTRUCTION" missed="26" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="apply" desc="(Ljava/lang/String;)Ljava/lang/String;" line="88"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="9" covered="0"/><counter type="METHOD" missed="6" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Everge.java"><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="16" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="45" mi="0" ci="6" mb="0" cb="0"/><line nr="49" mi="0" ci="6" mb="0" cb="0"/><line nr="53" mi="0" ci="5" mb="0" cb="0"/><line nr="56" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="5" mb="0" cb="0"/><line nr="77" mi="0" ci="5" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="4" ci="0" mb="0" cb="0"/><line nr="92" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="1" ci="0" mb="0" cb="0"/><line nr="103" mi="4" ci="0" mb="0" cb="0"/><line nr="105" mi="5" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="2" cb="0"/><line nr="107" mi="10" ci="0" mb="2" cb="0"/><line nr="108" mi="4" ci="0" mb="0" cb="0"/><line nr="109" mi="1" ci="0" mb="0" cb="0"/><line nr="112" mi="2" ci="0" mb="0" cb="0"/><line nr="125" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="2" mb="0" cb="0"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="133" mi="0" ci="4" mb="0" cb="2"/><line nr="134" mi="0" ci="5" mb="0" cb="0"/><line nr="136" mi="0" ci="4" mb="1" cb="1"/><line nr="137" mi="3" ci="0" mb="0" cb="0"/><line nr="138" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="0" ci="7" mb="1" cb="3"/><line nr="143" mi="0" ci="2" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="0"/><line nr="147" mi="0" ci="4" mb="0" cb="0"/><line nr="148" mi="0" ci="3" mb="1" cb="1"/><line nr="149" mi="5" ci="0" mb="0" cb="0"/><line nr="150" mi="6" ci="0" mb="0" cb="0"/><line nr="153" mi="0" ci="8" mb="11" cb="2"/><line nr="156" mi="3" ci="0" mb="0" cb="0"/><line nr="157" mi="1" ci="0" mb="0" cb="0"/><line nr="160" mi="3" ci="0" mb="0" cb="0"/><line nr="161" mi="1" ci="0" mb="0" cb="0"/><line nr="164" mi="0" ci="6" mb="0" cb="0"/><line nr="165" mi="0" ci="1" mb="0" cb="0"/><line nr="168" mi="6" ci="0" mb="0" cb="0"/><line nr="169" mi="1" ci="0" mb="0" cb="0"/><line nr="171" mi="5" ci="0" mb="2" cb="0"/><line nr="172" mi="4" ci="0" mb="0" cb="0"/><line nr="173" mi="2" ci="0" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="176" mi="5" ci="0" mb="0" cb="0"/><line nr="177" mi="1" ci="0" mb="0" cb="0"/><line nr="180" mi="4" ci="0" mb="0" cb="0"/><line nr="181" mi="1" ci="0" mb="0" cb="0"/><line nr="182" mi="9" ci="0" mb="0" cb="0"/><line nr="184" mi="4" ci="0" mb="0" cb="0"/><line nr="185" mi="2" ci="0" mb="0" cb="0"/><line nr="186" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="1" ci="0" mb="0" cb="0"/><line nr="189" mi="5" ci="0" mb="2" cb="0"/><line nr="190" mi="4" ci="0" mb="0" cb="0"/><line nr="191" mi="2" ci="0" mb="0" cb="0"/><line nr="192" mi="1" ci="0" mb="0" cb="0"/><line nr="194" mi="5" ci="0" mb="0" cb="0"/><line nr="197" mi="3" ci="0" mb="0" cb="0"/><line nr="199" mi="3" ci="0" mb="0" cb="0"/><line nr="200" mi="1" ci="0" mb="0" cb="0"/><line nr="201" mi="13" ci="0" mb="0" cb="0"/><line nr="202" mi="2" ci="0" mb="0" cb="0"/><line nr="203" mi="4" ci="0" mb="0" cb="0"/><line nr="204" mi="2" ci="0" mb="0" cb="0"/><line nr="205" mi="1" ci="0" mb="0" cb="0"/><line nr="206" mi="1" ci="0" mb="0" cb="0"/><line nr="208" mi="0" ci="5" mb="1" cb="1"/><line nr="209" mi="4" ci="0" mb="0" cb="0"/><line nr="210" mi="2" ci="0" mb="0" cb="0"/><line nr="211" mi="1" ci="0" mb="0" cb="0"/><line nr="213" mi="0" ci="5" mb="0" cb="0"/><line nr="215" mi="0" ci="9" mb="0" cb="0"/><line nr="216" mi="0" ci="5" mb="0" cb="0"/><line nr="217" mi="0" ci="4" mb="0" cb="0"/><line nr="219" mi="0" ci="9" mb="0" cb="0"/><line nr="221" mi="0" ci="3" mb="1" cb="1"/><line nr="222" mi="4" ci="0" mb="0" cb="0"/><line nr="224" mi="2" ci="0" mb="0" cb="0"/><line nr="225" mi="9" ci="0" mb="2" cb="0"/><line nr="228" mi="9" ci="0" mb="0" cb="0"/><line nr="231" mi="4" ci="0" mb="0" cb="0"/><line nr="234" mi="10" ci="0" mb="2" cb="0"/><line nr="235" mi="11" ci="0" mb="0" cb="0"/><line nr="236" mi="1" ci="0" mb="0" cb="0"/><line nr="238" mi="5" ci="0" mb="0" cb="0"/><line nr="239" mi="2" ci="0" mb="0" cb="0"/><line nr="241" mi="1" ci="0" mb="0" cb="0"/><line nr="242" mi="9" ci="0" mb="0" cb="0"/><line nr="244" mi="4" ci="0" mb="0" cb="0"/><line nr="245" mi="2" ci="0" mb="0" cb="0"/><line nr="246" mi="1" ci="0" mb="0" cb="0"/><line nr="247" mi="12" ci="0" mb="0" cb="0"/><line nr="248" mi="2" ci="0" mb="0" cb="0"/><line nr="249" mi="4" ci="0" mb="0" cb="0"/><line nr="250" mi="2" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="1" mb="0" cb="0"/><line nr="252" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="5" ci="0" mb="2" cb="0"/><line nr="255" mi="4" ci="0" mb="0" cb="0"/><line nr="256" mi="1" ci="0" mb="0" cb="0"/><line nr="258" mi="5" ci="0" mb="0" cb="0"/><line nr="260" mi="9" ci="0" mb="0" cb="0"/><line nr="261" mi="5" ci="0" mb="0" cb="0"/><line nr="262" mi="4" ci="0" mb="0" cb="0"/><line nr="264" mi="3" ci="0" mb="2" cb="0"/><line nr="265" mi="4" ci="0" mb="0" cb="0"/><line nr="267" mi="5" ci="0" mb="2" cb="0"/><line nr="268" mi="5" ci="0" mb="2" cb="0"/><line nr="270" mi="4" ci="0" mb="0" cb="0"/><line nr="271" mi="1" ci="0" mb="0" cb="0"/><line nr="273" mi="8" ci="0" mb="0" cb="0"/><line nr="274" mi="1" ci="0" mb="0" cb="0"/><line nr="275" mi="9" ci="0" mb="0" cb="0"/><line nr="276" mi="4" ci="0" mb="0" cb="0"/><line nr="277" mi="2" ci="0" mb="0" cb="0"/><line nr="278" mi="1" ci="0" mb="0" cb="0"/><line nr="279" mi="12" ci="0" mb="0" cb="0"/><line nr="280" mi="2" ci="0" mb="0" cb="0"/><line nr="281" mi="4" ci="0" mb="0" cb="0"/><line nr="282" mi="2" ci="0" mb="0" cb="0"/><line nr="283" mi="2" ci="0" mb="0" cb="0"/><line nr="284" mi="1" ci="0" mb="0" cb="0"/><line nr="287" mi="9" ci="0" mb="0" cb="0"/><line nr="288" mi="4" ci="0" mb="0" cb="0"/><line nr="289" mi="2" ci="0" mb="0" cb="0"/><line nr="292" mi="0" ci="1" mb="0" cb="0"/><line nr="294" mi="4" ci="4" mb="1" cb="1"/><line nr="296" mi="0" ci="4" mb="0" cb="0"/><line nr="298" mi="0" ci="1" mb="0" cb="0"/><line nr="300" mi="0" ci="4" mb="0" cb="0"/><line nr="303" mi="0" ci="2" mb="0" cb="0"/><line nr="314" mi="0" ci="4" mb="0" cb="0"/><line nr="316" mi="0" ci="5" mb="0" cb="0"/><line nr="317" mi="0" ci="2" mb="1" cb="1"/><line nr="318" mi="10" ci="0" mb="2" cb="0"/><line nr="319" mi="4" ci="0" mb="0" cb="0"/><line nr="320" mi="1" ci="0" mb="0" cb="0"/><line nr="323" mi="0" ci="2" mb="0" cb="0"/><line nr="336" mi="0" ci="4" mb="0" cb="0"/><line nr="340" mi="0" ci="4" mb="1" cb="1"/><line nr="341" mi="16" ci="0" mb="0" cb="0"/><line nr="344" mi="0" ci="4" mb="1" cb="1"/><line nr="345" mi="0" ci="5" mb="0" cb="0"/><line nr="347" mi="0" ci="3" mb="1" cb="1"/><line nr="348" mi="9" ci="0" mb="0" cb="0"/><line nr="349" mi="4" ci="0" mb="0" cb="0"/><line nr="350" mi="4" ci="0" mb="0" cb="0"/><line nr="352" mi="0" ci="3" mb="0" cb="0"/><line nr="354" mi="0" ci="7" mb="0" cb="0"/><line nr="356" mi="0" ci="3" mb="0" cb="0"/><line nr="358" mi="4" ci="1" mb="2" cb="0"/><line nr="359" mi="14" ci="0" mb="0" cb="0"/><line nr="360" mi="3" ci="0" mb="2" cb="0"/><line nr="361" mi="5" ci="0" mb="0" cb="0"/><line nr="363" mi="1" ci="0" mb="0" cb="0"/><line nr="364" mi="4" ci="0" mb="2" cb="0"/><line nr="365" mi="14" ci="0" mb="0" cb="0"/><line nr="366" mi="5" ci="0" mb="0" cb="0"/><line nr="368" mi="3" ci="0" mb="2" cb="0"/><line nr="369" mi="5" ci="0" mb="0" cb="0"/><line nr="371" mi="1" ci="0" mb="0" cb="0"/><line nr="373" mi="10" ci="0" mb="0" cb="0"/><line nr="375" mi="4" ci="0" mb="0" cb="0"/><line nr="376" mi="4" ci="0" mb="0" cb="0"/><line nr="378" mi="1" ci="0" mb="0" cb="0"/><line nr="379" mi="12" ci="0" mb="0" cb="0"/><line nr="380" mi="2" ci="0" mb="0" cb="0"/><line nr="381" mi="4" ci="0" mb="0" cb="0"/><line nr="382" mi="4" ci="0" mb="0" cb="0"/><line nr="384" mi="0" ci="4" mb="0" cb="0"/><line nr="387" mi="0" ci="2" mb="0" cb="0"/><line nr="397" mi="0" ci="4" mb="0" cb="0"/><line nr="400" mi="0" ci="2" mb="0" cb="0"/><line nr="402" mi="0" ci="11" mb="0" cb="2"/><line nr="403" mi="0" ci="4" mb="0" cb="0"/><line nr="404" mi="0" ci="1" mb="0" cb="0"/><line nr="406" mi="0" ci="4" mb="0" cb="0"/><line nr="407" mi="0" ci="6" mb="1" cb="1"/><line nr="409" mi="0" ci="4" mb="0" cb="0"/><line nr="411" mi="0" ci="1" mb="0" cb="0"/><line nr="415" mi="0" ci="2" mb="0" cb="0"/><line nr="416" mi="0" ci="16" mb="0" cb="2"/><line nr="417" mi="2" ci="4" mb="1" cb="1"/><line nr="420" mi="0" ci="2" mb="1" cb="1"/><line nr="421" mi="0" ci="8" mb="0" cb="4"/><line nr="422" mi="0" ci="5" mb="0" cb="0"/><line nr="423" mi="0" ci="16" mb="0" cb="2"/><line nr="424" mi="0" ci="10" mb="0" cb="0"/><line nr="425" mi="0" ci="5" mb="0" cb="0"/><line nr="427" mi="0" ci="1" mb="0" cb="0"/><line nr="428" mi="0" ci="6" mb="0" cb="0"/><line nr="431" mi="5" ci="0" mb="0" cb="0"/><line nr="434" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="534" covered="353"/><counter type="BRANCH" missed="54" covered="29"/><counter type="LINE" missed="124" covered="79"/><counter type="COMPLEXITY" missed="41" covered="15"/><counter type="METHOD" missed="2" covered="7"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="ReplPair.java"><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="6" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="6" ci="0" mb="0" cb="0"/><line nr="79" mi="1" ci="0" mb="0" cb="0"/><line nr="92" mi="0" ci="6" mb="0" cb="0"/><line nr="93" mi="0" ci="1" mb="0" cb="0"/><line nr="107" mi="0" ci="2" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="3" mb="0" cb="0"/><line nr="113" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="4" mb="0" cb="0"/><line nr="142" mi="0" ci="4" mb="0" cb="0"/><line nr="144" mi="0" ci="5" mb="0" cb="0"/><line nr="146" mi="0" ci="3" mb="0" cb="2"/><line nr="147" mi="0" ci="6" mb="0" cb="0"/><line nr="150" mi="0" ci="2" mb="0" cb="0"/><line nr="167" mi="0" ci="8" mb="0" cb="0"/><line nr="187" mi="0" ci="4" mb="0" cb="0"/><line nr="188" mi="0" ci="4" mb="0" cb="0"/><line nr="190" mi="0" ci="4" mb="0" cb="0"/><line nr="191" mi="0" ci="6" mb="0" cb="0"/><line nr="194" mi="0" ci="3" mb="0" cb="2"/><line nr="195" mi="0" ci="4" mb="0" cb="0"/><line nr="196" mi="0" ci="3" mb="0" cb="0"/><line nr="199" mi="0" ci="5" mb="0" cb="2"/><line nr="200" mi="0" ci="5" mb="0" cb="2"/><line nr="203" mi="0" ci="4" mb="0" cb="2"/><line nr="204" mi="0" ci="7" mb="0" cb="0"/><line nr="206" mi="0" ci="1" mb="0" cb="0"/><line nr="209" mi="0" ci="4" mb="0" cb="0"/><line nr="211" mi="0" ci="4" mb="0" cb="0"/><line nr="212" mi="0" ci="4" mb="0" cb="0"/><line nr="213" mi="0" ci="4" mb="0" cb="0"/><line nr="214" mi="0" ci="4" mb="0" cb="0"/><line nr="216" mi="0" ci="3" mb="0" cb="0"/><line nr="219" mi="0" ci="9" mb="0" cb="0"/><line nr="220" mi="1" ci="2" mb="1" cb="1"/><line nr="221" mi="0" ci="2" mb="0" cb="0"/><line nr="224" mi="0" ci="3" mb="0" cb="0"/><line nr="225" mi="0" ci="6" mb="1" cb="1"/><line nr="229" mi="0" ci="3" mb="0" cb="0"/><line nr="230" mi="0" ci="2" mb="0" cb="0"/><line nr="234" mi="0" ci="4" mb="0" cb="2"/><line nr="236" mi="0" ci="4" mb="0" cb="0"/><line nr="237" mi="0" ci="3" mb="0" cb="0"/><line nr="238" mi="0" ci="4" mb="1" cb="1"/><line nr="240" mi="0" ci="2" mb="0" cb="2"/><line nr="241" mi="0" ci="11" mb="0" cb="0"/><line nr="244" mi="0" ci="10" mb="0" cb="0"/><line nr="245" mi="0" ci="1" mb="0" cb="0"/><line nr="248" mi="0" ci="3" mb="0" cb="0"/><line nr="251" mi="0" ci="4" mb="1" cb="1"/><line nr="252" mi="4" ci="0" mb="0" cb="0"/><line nr="254" mi="5" ci="0" mb="0" cb="0"/><line nr="255" mi="4" ci="0" mb="2" cb="0"/><line nr="256" mi="2" ci="0" mb="0" cb="0"/><line nr="258" mi="10" ci="0" mb="0" cb="0"/><line nr="259" mi="1" ci="0" mb="0" cb="0"/><line nr="262" mi="4" ci="0" mb="0" cb="0"/><line nr="263" mi="4" ci="0" mb="0" cb="0"/><line nr="266" mi="5" ci="0" mb="0" cb="0"/><line nr="268" mi="16" ci="0" mb="2" cb="0"/><line nr="269" mi="3" ci="0" mb="0" cb="0"/><line nr="270" mi="2" ci="0" mb="0" cb="0"/><line nr="272" mi="5" ci="0" mb="0" cb="0"/><line nr="273" mi="4" ci="0" mb="2" cb="0"/><line nr="274" mi="5" ci="0" mb="0" cb="0"/><line nr="275" mi="4" ci="0" mb="0" cb="0"/><line nr="278" mi="8" ci="0" mb="4" cb="0"/><line nr="282" mi="2" ci="0" mb="0" cb="0"/><line nr="283" mi="1" ci="0" mb="0" cb="0"/><line nr="287" mi="2" ci="0" mb="0" cb="0"/><line nr="288" mi="1" ci="0" mb="0" cb="0"/><line nr="291" mi="3" ci="0" mb="0" cb="0"/><line nr="292" mi="1" ci="0" mb="0" cb="0"/><line nr="294" mi="17" ci="0" mb="0" cb="0"/><line nr="299" mi="2" ci="0" mb="0" cb="0"/><line nr="302" mi="0" ci="2" mb="0" cb="2"/><line nr="303" mi="0" ci="8" mb="0" cb="0"/><line nr="304" mi="1" ci="2" mb="1" cb="1"/><line nr="305" mi="0" ci="2" mb="0" cb="0"/><line nr="308" mi="0" ci="3" mb="0" cb="0"/><line nr="310" mi="0" ci="2" mb="0" cb="0"/><line nr="311" mi="0" ci="10" mb="1" cb="3"/><line nr="312" mi="0" ci="6" mb="0" cb="0"/><line nr="314" mi="0" ci="2" mb="1" cb="1"/><line nr="315" mi="4" ci="0" mb="0" cb="0"/><line nr="317" mi="6" ci="0" mb="0" cb="0"/><line nr="320" mi="0" ci="9" mb="0" cb="2"/><line nr="321" mi="0" ci="6" mb="0" cb="0"/><line nr="324" mi="0" ci="6" mb="0" cb="0"/><line nr="327" mi="0" ci="3" mb="1" cb="1"/><line nr="328" mi="11" ci="0" mb="0" cb="0"/><line nr="329" mi="10" ci="0" mb="0" cb="0"/><line nr="332" mi="0" ci="4" mb="0" cb="0"/><line nr="333" mi="0" ci="1" mb="0" cb="0"/><line nr="336" mi="0" ci="4" mb="0" cb="2"/><line nr="337" mi="7" ci="3" mb="1" cb="1"/><line nr="339" mi="0" ci="13" mb="0" cb="2"/><line nr="340" mi="0" ci="4" mb="1" cb="1"/><line nr="341" mi="15" ci="0" mb="2" cb="0"/><line nr="346" mi="0" ci="4" mb="0" cb="0"/><line nr="347" mi="0" ci="1" mb="0" cb="0"/><line nr="349" mi="0" ci="3" mb="0" cb="0"/><line nr="351" mi="0" ci="2" mb="0" cb="0"/><line nr="355" mi="0" ci="4" mb="0" cb="0"/><line nr="356" mi="0" ci="4" mb="0" cb="0"/><line nr="358" mi="11" ci="3" mb="1" cb="1"/><line nr="360" mi="0" ci="2" mb="0" cb="0"/><line nr="361" mi="0" ci="10" mb="0" cb="2"/><line nr="362" mi="0" ci="1" mb="0" cb="0"/><line nr="363" mi="0" ci="4" mb="0" cb="0"/><line nr="365" mi="10" ci="3" mb="1" cb="1"/><line nr="366" mi="12" ci="0" mb="0" cb="0"/><line nr="368" mi="0" ci="10" mb="0" cb="2"/><line nr="371" mi="0" ci="10" mb="0" cb="2"/><line nr="372" mi="0" ci="8" mb="0" cb="0"/><line nr="374" mi="5" ci="3" mb="3" cb="1"/><line nr="375" mi="20" ci="0" mb="0" cb="0"/><line nr="379" mi="0" ci="3" mb="0" cb="0"/><line nr="380" mi="0" ci="1" mb="0" cb="0"/><line nr="383" mi="0" ci="4" mb="0" cb="2"/><line nr="384" mi="0" ci="3" mb="1" cb="1"/><line nr="385" mi="11" ci="0" mb="0" cb="0"/><line nr="389" mi="0" ci="5" mb="0" cb="0"/><line nr="391" mi="0" ci="3" mb="1" cb="1"/><line nr="392" mi="10" ci="0" mb="0" cb="0"/><line nr="393" mi="10" ci="0" mb="0" cb="0"/><line nr="396" mi="0" ci="4" mb="0" cb="0"/><line nr="398" mi="0" ci="1" mb="0" cb="0"/><line nr="400" mi="0" ci="4" mb="0" cb="0"/><line nr="401" mi="0" ci="3" mb="0" cb="0"/><line nr="402" mi="0" ci="1" mb="0" cb="0"/><line nr="405" mi="0" ci="10" mb="0" cb="2"/><line nr="406" mi="0" ci="4" mb="0" cb="2"/><line nr="407" mi="12" ci="3" mb="1" cb="1"/><line nr="412" mi="0" ci="4" mb="0" cb="0"/><line nr="413" mi="0" ci="1" mb="0" cb="0"/><line nr="415" mi="0" ci="3" mb="0" cb="0"/><line nr="417" mi="0" ci="3" mb="1" cb="1"/><line nr="418" mi="11" ci="0" mb="0" cb="0"/><line nr="421" mi="0" ci="2" mb="0" cb="0"/><line nr="426" mi="0" ci="2" mb="0" cb="0"/><line nr="428" mi="4" ci="3" mb="3" cb="1"/><line nr="429" mi="15" ci="0" mb="0" cb="0"/><line nr="431" mi="0" ci="4" mb="0" cb="0"/><line nr="432" mi="0" ci="4" mb="0" cb="2"/><line nr="433" mi="0" ci="4" mb="0" cb="0"/><line nr="435" mi="1" ci="3" mb="1" cb="1"/><line nr="437" mi="0" ci="4" mb="0" cb="0"/><line nr="438" mi="0" ci="3" mb="0" cb="0"/><line nr="440" mi="0" ci="5" mb="0" cb="2"/><line nr="442" mi="0" ci="6" mb="0" cb="2"/><line nr="444" mi="0" ci="4" mb="1" cb="1"/><line nr="445" mi="0" ci="2" mb="0" cb="2"/><line nr="446" mi="0" ci="9" mb="0" cb="0"/><line nr="448" mi="0" ci="8" mb="0" cb="0"/><line nr="452" mi="0" ci="17" mb="0" cb="0"/><line nr="453" mi="0" ci="1" mb="0" cb="0"/><line nr="455" mi="2" ci="3" mb="3" cb="1"/><line nr="456" mi="15" ci="0" mb="0" cb="0"/><line nr="459" mi="0" ci="2" mb="0" cb="0"/><line nr="464" mi="0" ci="7" mb="0" cb="0"/><line nr="469" mi="0" ci="2" mb="0" cb="0"/><line nr="471" mi="10" ci="6" mb="1" cb="1"/><line nr="473" mi="0" ci="25" mb="0" cb="0"/><line nr="478" mi="0" ci="11" mb="0" cb="2"/><line nr="480" mi="0" ci="6" mb="0" cb="0"/><line nr="485" mi="2" ci="2" mb="1" cb="1"/><line nr="487" mi="2" ci="6" mb="1" cb="1"/><line nr="489" mi="0" ci="3" mb="0" cb="0"/><line nr="491" mi="2" ci="6" mb="1" cb="1"/><line nr="493" mi="2" ci="6" mb="1" cb="1"/><line nr="494" mi="2" ci="5" mb="1" cb="1"/><line nr="495" mi="2" ci="6" mb="1" cb="1"/><line nr="498" mi="0" ci="2" mb="0" cb="0"/><line nr="503" mi="0" ci="2" mb="0" cb="0"/><line nr="505" mi="0" ci="3" mb="0" cb="0"/><line nr="508" mi="0" ci="4" mb="0" cb="2"/><line nr="509" mi="0" ci="4" mb="0" cb="0"/><line nr="511" mi="0" ci="5" mb="0" cb="0"/><line nr="513" mi="0" ci="4" mb="1" cb="1"/><line nr="514" mi="2" ci="0" mb="0" cb="0"/><line nr="516" mi="10" ci="0" mb="0" cb="0"/><line nr="517" mi="2" ci="0" mb="0" cb="0"/><line nr="520" mi="0" ci="4" mb="0" cb="0"/><line nr="521" mi="0" ci="4" mb="0" cb="0"/><line nr="524" mi="0" ci="5" mb="0" cb="0"/><line nr="526" mi="0" ci="16" mb="0" cb="2"/><line nr="527" mi="0" ci="3" mb="0" cb="0"/><line nr="528" mi="0" ci="2" mb="0" cb="0"/><line nr="530" mi="0" ci="5" mb="0" cb="0"/><line nr="532" mi="0" ci="4" mb="0" cb="2"/><line nr="533" mi="0" ci="5" mb="0" cb="0"/><line nr="534" mi="0" ci="4" mb="0" cb="0"/><line nr="537" mi="0" ci="8" mb="6" cb="4"/><line nr="540" mi="3" ci="0" mb="0" cb="0"/><line nr="541" mi="1" ci="0" mb="0" cb="0"/><line nr="546" mi="0" ci="4" mb="0" cb="0"/><line nr="547" mi="1" ci="0" mb="0" cb="0"/><line nr="548" mi="9" ci="0" mb="0" cb="0"/><line nr="549" mi="10" ci="0" mb="0" cb="0"/><line nr="550" mi="0" ci="1" mb="0" cb="0"/><line nr="551" mi="1" ci="0" mb="0" cb="0"/><line nr="555" mi="0" ci="3" mb="0" cb="0"/><line nr="556" mi="0" ci="2" mb="1" cb="1"/><line nr="557" mi="9" ci="0" mb="0" cb="0"/><line nr="558" mi="10" ci="0" mb="0" cb="0"/><line nr="560" mi="1" ci="0" mb="0" cb="0"/><line nr="562" mi="0" ci="3" mb="0" cb="0"/><line nr="563" mi="1" ci="0" mb="0" cb="0"/><line nr="564" mi="9" ci="0" mb="0" cb="0"/><line nr="565" mi="10" ci="0" mb="0" cb="0"/><line nr="566" mi="0" ci="1" mb="0" cb="0"/><line nr="567" mi="1" ci="0" mb="0" cb="0"/><line nr="571" mi="2" ci="0" mb="0" cb="0"/><line nr="572" mi="1" ci="0" mb="0" cb="0"/><line nr="576" mi="2" ci="0" mb="0" cb="0"/><line nr="577" mi="1" ci="0" mb="0" cb="0"/><line nr="580" mi="3" ci="0" mb="0" cb="0"/><line nr="581" mi="1" ci="0" mb="0" cb="0"/><line nr="585" mi="0" ci="3" mb="0" cb="0"/><line nr="586" mi="0" ci="1" mb="0" cb="0"/><line nr="590" mi="0" ci="3" mb="0" cb="0"/><line nr="591" mi="0" ci="1" mb="0" cb="0"/><line nr="594" mi="3" ci="0" mb="0" cb="0"/><line nr="595" mi="1" ci="0" mb="0" cb="0"/><line nr="598" mi="15" ci="0" mb="0" cb="0"/><line nr="599" mi="4" ci="0" mb="0" cb="0"/><line nr="602" mi="4" ci="0" mb="0" cb="0"/><line nr="607" mi="0" ci="2" mb="0" cb="0"/><line nr="611" mi="0" ci="2" mb="1" cb="1"/><line nr="612" mi="8" ci="0" mb="0" cb="0"/><line nr="613" mi="4" ci="0" mb="2" cb="0"/><line nr="614" mi="2" ci="0" mb="0" cb="0"/><line nr="618" mi="0" ci="2" mb="0" cb="0"/><line nr="623" mi="0" ci="4" mb="0" cb="0"/><line nr="626" mi="0" ci="5" mb="0" cb="0"/><line nr="627" mi="0" ci="3" mb="1" cb="1"/><line nr="628" mi="7" ci="0" mb="0" cb="0"/><line nr="629" mi="16" ci="0" mb="2" cb="0"/><line nr="630" mi="11" ci="0" mb="0" cb="0"/><line nr="632" mi="3" ci="0" mb="0" cb="0"/><line nr="634" mi="0" ci="16" mb="0" cb="2"/><line nr="635" mi="0" ci="3" mb="0" cb="0"/><line nr="636" mi="0" ci="2" mb="0" cb="0"/><line nr="638" mi="0" ci="5" mb="0" cb="0"/><line nr="639" mi="0" ci="4" mb="0" cb="2"/><line nr="640" mi="0" ci="4" mb="0" cb="0"/><line nr="641" mi="0" ci="4" mb="0" cb="0"/><line nr="644" mi="0" ci="8" mb="13" cb="5"/><line nr="649" mi="0" ci="3" mb="0" cb="0"/><line nr="650" mi="0" ci="3" mb="0" cb="0"/><line nr="651" mi="1" ci="0" mb="0" cb="0"/><line nr="652" mi="9" ci="0" mb="0" cb="0"/><line nr="655" mi="10" ci="0" mb="0" cb="0"/><line nr="656" mi="0" ci="1" mb="0" cb="0"/><line nr="657" mi="1" ci="0" mb="0" cb="0"/><line nr="661" mi="0" ci="3" mb="0" cb="0"/><line nr="663" mi="0" ci="2" mb="1" cb="1"/><line nr="664" mi="9" ci="0" mb="0" cb="0"/><line nr="667" mi="10" ci="0" mb="0" cb="0"/><line nr="668" mi="1" ci="0" mb="0" cb="0"/><line nr="670" mi="0" ci="3" mb="0" cb="0"/><line nr="671" mi="1" ci="0" mb="0" cb="0"/><line nr="672" mi="9" ci="0" mb="0" cb="0"/><line nr="675" mi="10" ci="0" mb="0" cb="0"/><line nr="676" mi="0" ci="1" mb="0" cb="0"/><line nr="677" mi="1" ci="0" mb="0" cb="0"/><line nr="681" mi="3" ci="0" mb="0" cb="0"/><line nr="682" mi="1" ci="0" mb="0" cb="0"/><line nr="686" mi="3" ci="0" mb="0" cb="0"/><line nr="687" mi="1" ci="0" mb="0" cb="0"/><line nr="690" mi="0" ci="4" mb="0" cb="0"/><line nr="691" mi="0" ci="1" mb="0" cb="0"/><line nr="695" mi="3" ci="0" mb="0" cb="0"/><line nr="696" mi="1" ci="0" mb="0" cb="0"/><line nr="700" mi="3" ci="0" mb="0" cb="0"/><line nr="701" mi="1" ci="0" mb="0" cb="0"/><line nr="704" mi="3" ci="0" mb="0" cb="0"/><line nr="705" mi="1" ci="0" mb="0" cb="0"/><line nr="709" mi="3" ci="0" mb="0" cb="0"/><line nr="710" mi="1" ci="0" mb="0" cb="0"/><line nr="714" mi="0" ci="3" mb="0" cb="0"/><line nr="715" mi="0" ci="1" mb="0" cb="0"/><line nr="718" mi="4" ci="0" mb="0" cb="0"/><line nr="719" mi="1" ci="0" mb="0" cb="0"/><line nr="723" mi="3" ci="0" mb="0" cb="0"/><line nr="724" mi="1" ci="0" mb="0" cb="0"/><line nr="728" mi="0" ci="3" mb="0" cb="0"/><line nr="729" mi="0" ci="1" mb="0" cb="0"/><line nr="732" mi="4" ci="0" mb="0" cb="0"/><line nr="733" mi="1" ci="0" mb="0" cb="0"/><line nr="737" mi="3" ci="0" mb="0" cb="0"/><line nr="738" mi="1" ci="0" mb="0" cb="0"/><line nr="742" mi="3" ci="0" mb="0" cb="0"/><line nr="743" mi="1" ci="0" mb="0" cb="0"/><line nr="746" mi="4" ci="0" mb="0" cb="0"/><line nr="747" mi="1" ci="0" mb="0" cb="0"/><line nr="750" mi="9" ci="0" mb="0" cb="0"/><line nr="751" mi="8" ci="0" mb="0" cb="0"/><line nr="752" mi="4" ci="0" mb="0" cb="0"/><line nr="757" mi="0" ci="3" mb="1" cb="1"/><line nr="758" mi="15" ci="0" mb="0" cb="0"/><line nr="762" mi="0" ci="1" mb="0" cb="0"/><line nr="767" mi="4" ci="0" mb="2" cb="0"/><line nr="768" mi="5" ci="0" mb="0" cb="0"/><line nr="771" mi="4" ci="0" mb="0" cb="0"/><line nr="773" mi="5" ci="0" mb="0" cb="0"/><line nr="775" mi="4" ci="0" mb="2" cb="0"/><line nr="776" mi="2" ci="0" mb="0" cb="0"/><line nr="777" mi="9" ci="0" mb="0" cb="0"/><line nr="779" mi="8" ci="0" mb="0" cb="0"/><line nr="780" mi="4" ci="0" mb="0" cb="0"/><line nr="782" mi="2" ci="0" mb="0" cb="0"/><line nr="785" mi="7" ci="0" mb="0" cb="0"/><line nr="787" mi="7" ci="0" mb="0" cb="0"/><line nr="789" mi="5" ci="0" mb="0" cb="0"/><line nr="791" mi="8" ci="0" mb="2" cb="0"/><line nr="792" mi="4" ci="0" mb="0" cb="0"/><line nr="794" mi="5" ci="0" mb="0" cb="0"/><line nr="796" mi="7" ci="0" mb="0" cb="0"/><line nr="798" mi="5" ci="0" mb="2" cb="0"/><line nr="799" mi="5" ci="0" mb="0" cb="0"/><line nr="802" mi="4" ci="0" mb="2" cb="0"/><line nr="803" mi="7" ci="0" mb="0" cb="0"/><line nr="804" mi="8" ci="0" mb="2" cb="0"/><line nr="805" mi="9" ci="0" mb="0" cb="0"/><line nr="809" mi="5" ci="0" mb="0" cb="0"/><line nr="812" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="800" covered="822"/><counter type="BRANCH" missed="87" covered="99"/><counter type="LINE" missed="138" covered="198"/><counter type="COMPLEXITY" missed="73" covered="50"/><counter type="METHOD" missed="2" covered="15"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReplOpts.java"><line nr="10" mi="0" ci="2" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="2" cb="0"/><line nr="53" mi="8" ci="0" mb="2" cb="0"/><line nr="55" mi="3" ci="0" mb="0" cb="0"/><line nr="57" mi="7" ci="0" mb="2" cb="0"/><line nr="59" mi="7" ci="0" mb="2" cb="0"/><line nr="60" mi="7" ci="0" mb="2" cb="0"/><line nr="62" mi="7" ci="0" mb="2" cb="0"/><line nr="63" mi="7" ci="0" mb="2" cb="0"/><line nr="64" mi="7" ci="0" mb="2" cb="0"/><line nr="66" mi="7" ci="0" mb="2" cb="0"/><line nr="68" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="66" covered="30"/><counter type="BRANCH" missed="18" covered="0"/><counter type="LINE" missed="11" covered="10"/><counter type="COMPLEXITY" missed="10" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="StageStatus.java"><line nr="7" mi="0" ci="16" mb="0" cb="0"/><line nr="11" mi="0" ci="6" mb="0" cb="0"/><line nr="15" mi="0" ci="6" mb="0" cb="0"/><line nr="19" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReplSet.java"><line nr="23" mi="2" ci="0" mb="0" cb="0"/><line nr="24" mi="5" ci="0" mb="0" cb="0"/><line nr="25" mi="1" ci="0" mb="0" cb="0"/><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="40" mi="4" ci="0" mb="0" cb="0"/><line nr="42" mi="14" ci="0" mb="0" cb="0"/><line nr="43" mi="4" ci="0" mb="0" cb="0"/><line nr="46" mi="2" ci="0" mb="0" cb="0"/><line nr="56" mi="10" ci="0" mb="2" cb="0"/><line nr="57" mi="5" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="4" ci="0" mb="0" cb="0"/><line nr="62" mi="1" ci="0" mb="0" cb="0"/><line nr="71" mi="16" ci="0" mb="2" cb="0"/><line nr="72" mi="5" ci="0" mb="0" cb="0"/><line nr="76" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="1" ci="0" mb="0" cb="0"/><line nr="88" mi="2" ci="0" mb="0" cb="0"/><line nr="90" mi="11" ci="0" mb="2" cb="0"/><line nr="91" mi="4" ci="0" mb="0" cb="0"/><line nr="92" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="105" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="9" covered="0"/><counter type="METHOD" missed="6" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="IntHolder.java"><line nr="17" mi="0" ci="2" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="1" mb="0" cb="0"/><line nr="27" mi="2" ci="0" mb="0" cb="0"/><line nr="28" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="1" ci="0" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="49" mi="0" ci="6" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="3" ci="0" mb="0" cb="0"/><line nr="65" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="10" covered="22"/><counter type="LINE" missed="5" covered="7"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="2" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReplError.java"><line nr="40" mi="0" ci="8" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="55" mi="0" ci="2" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="6" ci="0" mb="2" cb="0"/><line nr="67" mi="8" ci="0" mb="2" cb="0"/><line nr="68" mi="10" ci="0" mb="0" cb="0"/><line nr="70" mi="26" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="79" mi="0" ci="6" mb="1" cb="1"/><line nr="80" mi="8" ci="0" mb="2" cb="0"/><line nr="81" mi="10" ci="0" mb="0" cb="0"/><line nr="83" mi="0" ci="9" mb="0" cb="0"/><line nr="84" mi="0" ci="21" mb="0" cb="0"/><counter type="INSTRUCTION" missed="72" covered="60"/><counter type="BRANCH" missed="7" covered="1"/><counter type="LINE" missed="7" covered="11"/><counter type="COMPLEXITY" missed="6" covered="3"/><counter type="METHOD" missed="2" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ControlledString.java"><line nr="28" mi="2" ci="0" mb="0" cb="0"/><line nr="30" mi="1" ci="0" mb="0" cb="0"/><line nr="38" mi="2" ci="0" mb="0" cb="0"/><line nr="39" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="3" ci="0" mb="0" cb="0"/><line nr="52" mi="3" ci="0" mb="0" cb="0"/><line nr="53" mi="1" ci="0" mb="0" cb="0"/><line nr="69" mi="2" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="3" ci="0" mb="0" cb="0"/><line nr="82" mi="4" ci="0" mb="0" cb="0"/><line nr="83" mi="1" ci="0" mb="0" cb="0"/><line nr="93" mi="2" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><line nr="96" mi="2" ci="0" mb="0" cb="0"/><line nr="97" mi="1" ci="0" mb="0" cb="0"/><line nr="105" mi="8" ci="0" mb="2" cb="0"/><line nr="133" mi="4" ci="0" mb="2" cb="0"/><line nr="134" mi="5" ci="0" mb="0" cb="0"/><line nr="137" mi="4" ci="0" mb="0" cb="0"/><line nr="139" mi="5" ci="0" mb="0" cb="0"/><line nr="141" mi="4" ci="0" mb="2" cb="0"/><line nr="142" mi="2" ci="0" mb="0" cb="0"/><line nr="143" mi="9" ci="0" mb="0" cb="0"/><line nr="145" mi="5" ci="0" mb="0" cb="0"/><line nr="148" mi="7" ci="0" mb="0" cb="0"/><line nr="150" mi="7" ci="0" mb="0" cb="0"/><line nr="152" mi="5" ci="0" mb="0" cb="0"/><line nr="154" mi="8" ci="0" mb="2" cb="0"/><line nr="155" mi="4" ci="0" mb="0" cb="0"/><line nr="157" mi="5" ci="0" mb="0" cb="0"/><line nr="159" mi="7" ci="0" mb="0" cb="0"/><line nr="161" mi="5" ci="0" mb="2" cb="0"/><line nr="162" mi="5" ci="0" mb="0" cb="0"/><line nr="165" mi="4" ci="0" mb="2" cb="0"/><line nr="166" mi="7" ci="0" mb="0" cb="0"/><line nr="167" mi="8" ci="0" mb="2" cb="0"/><line nr="168" mi="9" ci="0" mb="0" cb="0"/><line nr="172" mi="5" ci="0" mb="0" cb="0"/><line nr="175" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="177" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="44" covered="0"/><counter type="COMPLEXITY" missed="15" covered="0"/><counter type="METHOD" missed="8" covered="0"/><counter type="CLASS" missed="2" covered="0"/></sourcefile><sourcefile name="StringUtils.java"><line nr="14" mi="3" ci="0" mb="0" cb="0"/><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="6" mb="2" cb="2"/><line nr="36" mi="7" ci="0" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="2"/><line nr="41" mi="0" ci="7" mb="0" cb="0"/><line nr="44" mi="0" ci="6" mb="1" cb="3"/><line nr="46" mi="0" ci="5" mb="0" cb="0"/><line nr="49" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="2" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="2" mb="0" cb="0"/><line nr="57" mi="0" ci="6" mb="0" cb="4"/><line nr="58" mi="0" ci="5" mb="0" cb="4"/><line nr="59" mi="6" ci="2" mb="1" cb="1"/><line nr="67" mi="0" ci="11" mb="0" cb="2"/><line nr="69" mi="0" ci="5" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="0"/><line nr="74" mi="0" ci="7" mb="0" cb="0"/><line nr="76" mi="0" ci="8" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="1" cb="1"/><line nr="79" mi="18" ci="0" mb="0" cb="0"/><line nr="83" mi="0" ci="9" mb="0" cb="0"/><line nr="86" mi="0" ci="5" mb="0" cb="0"/><line nr="87" mi="0" ci="5" mb="0" cb="0"/><line nr="89" mi="0" ci="2" mb="1" cb="1"/><line nr="90" mi="13" ci="0" mb="0" cb="0"/><line nr="91" mi="7" ci="0" mb="0" cb="0"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="99" mi="0" ci="11" mb="1" cb="1"/><line nr="101" mi="0" ci="5" mb="0" cb="0"/><line nr="105" mi="0" ci="5" mb="0" cb="0"/><line nr="106" mi="0" ci="7" mb="0" cb="0"/><line nr="108" mi="0" ci="8" mb="0" cb="0"/><line nr="109" mi="0" ci="2" mb="1" cb="1"/><line nr="110" mi="18" ci="0" mb="0" cb="0"/><line nr="114" mi="0" ci="9" mb="0" cb="0"/><line nr="117" mi="0" ci="5" mb="0" cb="0"/><line nr="118" mi="0" ci="5" mb="0" cb="0"/><line nr="120" mi="0" ci="2" mb="1" cb="1"/><line nr="121" mi="14" ci="0" mb="0" cb="0"/><line nr="122" mi="12" ci="0" mb="0" cb="0"/><line nr="125" mi="0" ci="2" mb="0" cb="0"/><line nr="126" mi="0" ci="1" mb="0" cb="0"/><line nr="130" mi="0" ci="2" mb="0" cb="0"/><line nr="133" mi="0" ci="11" mb="0" cb="0"/><line nr="135" mi="0" ci="6" mb="0" cb="2"/><line nr="138" mi="0" ci="5" mb="1" cb="3"/><line nr="139" mi="8" ci="0" mb="0" cb="0"/><line nr="141" mi="2" ci="0" mb="2" cb="0"/><line nr="142" mi="5" ci="0" mb="0" cb="0"/><line nr="143" mi="8" ci="0" mb="0" cb="0"/><line nr="144" mi="7" ci="0" mb="0" cb="0"/><line nr="147" mi="4" ci="0" mb="2" cb="0"/><line nr="150" mi="5" ci="0" mb="0" cb="0"/><line nr="151" mi="7" ci="0" mb="0" cb="0"/><line nr="153" mi="9" ci="0" mb="0" cb="0"/><line nr="156" mi="2" ci="0" mb="0" cb="0"/><line nr="158" mi="11" ci="0" mb="0" cb="0"/><line nr="159" mi="1" ci="0" mb="0" cb="0"/><line nr="161" mi="0" ci="3" mb="0" cb="2"/><line nr="162" mi="0" ci="1" mb="0" cb="0"/><line nr="165" mi="0" ci="5" mb="0" cb="0"/><line nr="167" mi="0" ci="2" mb="1" cb="1"/><line nr="168" mi="14" ci="0" mb="0" cb="0"/><line nr="169" mi="2" ci="0" mb="0" cb="0"/><line nr="172" mi="0" ci="4" mb="0" cb="0"/><line nr="173" mi="0" ci="8" mb="1" cb="3"/><line nr="174" mi="3" ci="0" mb="0" cb="0"/><line nr="176" mi="0" ci="6" mb="1" cb="1"/><line nr="177" mi="0" ci="8" mb="0" cb="0"/><line nr="179" mi="4" ci="0" mb="0" cb="0"/><line nr="183" mi="0" ci="4" mb="0" cb="0"/><line nr="184" mi="0" ci="4" mb="0" cb="0"/><line nr="186" mi="0" ci="2" mb="0" cb="0"/><line nr="187" mi="0" ci="1" mb="0" cb="0"/><line nr="189" mi="0" ci="8" mb="0" cb="2"/><line nr="191" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="190" covered="270"/><counter type="BRANCH" missed="17" covered="37"/><counter type="LINE" missed="24" covered="56"/><counter type="COMPLEXITY" missed="16" covered="14"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ReplParseException.java"><line nr="10" mi="6" ci="0" mb="0" cb="0"/><line nr="11" mi="1" ci="0" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="3" mb="0" cb="0"/><line nr="17" mi="0" ci="1" mb="0" cb="0"/><line nr="22" mi="7" ci="0" mb="2" cb="0"/><line nr="23" mi="2" ci="0" mb="0" cb="0"/><line nr="25" mi="12" ci="0" mb="0" cb="0"/><line nr="26" mi="7" ci="0" mb="0" cb="0"/><line nr="30" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="0" ci="4" mb="1" cb="1"/><line nr="33" mi="5" ci="0" mb="0" cb="0"/><line nr="34" mi="0" ci="5" mb="1" cb="1"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="6" ci="0" mb="0" cb="0"/><line nr="38" mi="4" ci="0" mb="0" cb="0"/><line nr="41" mi="0" ci="4" mb="0" cb="0"/><line nr="42" mi="0" ci="5" mb="1" cb="1"/><line nr="43" mi="4" ci="0" mb="0" cb="0"/><line nr="44" mi="5" ci="0" mb="0" cb="0"/><line nr="47" mi="0" ci="4" mb="1" cb="1"/><line nr="48" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="11" mb="0" cb="2"/><line nr="51" mi="0" ci="6" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="59" covered="69"/><counter type="BRANCH" missed="6" covered="6"/><counter type="LINE" missed="11" covered="16"/><counter type="COMPLEXITY" missed="7" covered="3"/><counter type="METHOD" missed="2" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="2013" covered="1660"/><counter type="BRANCH" missed="209" covered="172"/><counter type="LINE" missed="388" covered="381"/><counter type="COMPLEXITY" missed="179" covered="91"/><counter type="METHOD" missed="26" covered="35"/><counter type="CLASS" missed="3" covered="9"/></package><counter type="INSTRUCTION" missed="2013" covered="1660"/><counter type="BRANCH" missed="209" covered="172"/><counter type="LINE" missed="388" covered="381"/><counter type="COMPLEXITY" missed="179" covered="91"/><counter type="METHOD" missed="26" covered="35"/><counter type="CLASS" missed="3" covered="9"/></report> \ No newline at end of file
diff --git a/docs/licenses.html b/docs/licenses.html
index b2c11a7..37fb5d9 100644
--- a/docs/licenses.html
+++ b/docs/licenses.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:licenses at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:licenses at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/plugin-management.html b/docs/plugin-management.html
index 40764db..3b72e15 100644
--- a/docs/plugin-management.html
+++ b/docs/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:plugin-management at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:plugin-management at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/plugins.html b/docs/plugins.html
index 3b44bae..a9b2099 100644
--- a/docs/plugins.html
+++ b/docs/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:plugins at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:plugins at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/project-info.html b/docs/project-info.html
index 9e561ce..4bc5309 100644
--- a/docs/project-info.html
+++ b/docs/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-site-plugin:3.7.1:CategorySummaryDocumentRenderer at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-site-plugin:3.7.1:CategorySummaryDocumentRenderer at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/project-reports.html b/docs/project-reports.html
index 840db47..e768d19 100644
--- a/docs/project-reports.html
+++ b/docs/project-reports.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-site-plugin:3.7.1:CategorySummaryDocumentRenderer at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-site-plugin:3.7.1:CategorySummaryDocumentRenderer at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/scm.html b/docs/scm.html
index 0dffcd0..a116fe7 100644
--- a/docs/scm.html
+++ b/docs/scm.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:scm at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:scm at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/summary.html b/docs/summary.html
index 04591ac..174b72e 100644
--- a/docs/summary.html
+++ b/docs/summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:summary at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:summary at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/team.html b/docs/team.html
index 631f247..56d8c1e 100644
--- a/docs/team.html
+++ b/docs/team.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:team at 2019-06-24 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:team at 2019-06-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -24,7 +24,7 @@ everge
</div>
<div id="breadcrumbs">
<div class="xleft">
- <span id="publishDate">Last Published: 2019-06-24</span>
+ <span id="publishDate">Last Published: 2019-06-25</span>
&nbsp;| <span id="projectVersion">Version: 1.0-SNAPSHOT</span>
</div>
<div class="xright"> </div>
diff --git a/docs/testapidocs/allclasses-frame.html b/docs/testapidocs/allclasses-frame.html
index 345b2a2..fad53de 100644
--- a/docs/testapidocs/allclasses-frame.html
+++ b/docs/testapidocs/allclasses-frame.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/testapidocs/allclasses-noframe.html b/docs/testapidocs/allclasses-noframe.html
index 4b0a71b..b412df6 100644
--- a/docs/testapidocs/allclasses-noframe.html
+++ b/docs/testapidocs/allclasses-noframe.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/EvergeTest.html b/docs/testapidocs/bjc/everge/EvergeTest.html
index 2a290be..a39d0d6 100644
--- a/docs/testapidocs/bjc/everge/EvergeTest.html
+++ b/docs/testapidocs/bjc/everge/EvergeTest.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:23 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EvergeTest (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/ReplPairTest.html b/docs/testapidocs/bjc/everge/ReplPairTest.html
index 262e6be..e8b1fd3 100644
--- a/docs/testapidocs/bjc/everge/ReplPairTest.html
+++ b/docs/testapidocs/bjc/everge/ReplPairTest.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:23 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ReplPairTest (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/StringUtilsTest.html b/docs/testapidocs/bjc/everge/StringUtilsTest.html
index 4216027..a0f7f93 100644
--- a/docs/testapidocs/bjc/everge/StringUtilsTest.html
+++ b/docs/testapidocs/bjc/everge/StringUtilsTest.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:23 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>StringUtilsTest (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
@@ -19,7 +19,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -156,10 +156,14 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../bjc/everge/StringUtilsTest.html#testNoEscapeSplit--">testNoEscapeSplit</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../bjc/everge/StringUtilsTest.html#testLongSplit--">testLongSplit</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../bjc/everge/StringUtilsTest.html#testNoEscapeSplit--">testNoEscapeSplit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bjc/everge/StringUtilsTest.html#testNullSplit--">testNullSplit</a></span>()</code>&nbsp;</td>
</tr>
</table>
@@ -228,6 +232,15 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<pre>public&nbsp;void&nbsp;testEscapeSplit()</pre>
</li>
</ul>
+<a name="testLongSplit--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testLongSplit</h4>
+<pre>public&nbsp;void&nbsp;testLongSplit()</pre>
+</li>
+</ul>
<a name="testEdgeSplit--">
<!-- -->
</a>
diff --git a/docs/testapidocs/bjc/everge/TestUtils.html b/docs/testapidocs/bjc/everge/TestUtils.html
index 1c67f1f..aa43b09 100644
--- a/docs/testapidocs/bjc/everge/TestUtils.html
+++ b/docs/testapidocs/bjc/everge/TestUtils.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TestUtils (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/class-use/EvergeTest.html b/docs/testapidocs/bjc/everge/class-use/EvergeTest.html
index 1115fc1..c97883b 100644
--- a/docs/testapidocs/bjc/everge/class-use/EvergeTest.html
+++ b/docs/testapidocs/bjc/everge/class-use/EvergeTest.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.EvergeTest (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/class-use/ReplPairTest.html b/docs/testapidocs/bjc/everge/class-use/ReplPairTest.html
index 1c360a2..6ce1570 100644
--- a/docs/testapidocs/bjc/everge/class-use/ReplPairTest.html
+++ b/docs/testapidocs/bjc/everge/class-use/ReplPairTest.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.ReplPairTest (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/class-use/StringUtilsTest.html b/docs/testapidocs/bjc/everge/class-use/StringUtilsTest.html
index a23735a..13c766d 100644
--- a/docs/testapidocs/bjc/everge/class-use/StringUtilsTest.html
+++ b/docs/testapidocs/bjc/everge/class-use/StringUtilsTest.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.StringUtilsTest (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/class-use/TestUtils.html b/docs/testapidocs/bjc/everge/class-use/TestUtils.html
index 8cf7d49..7624db5 100644
--- a/docs/testapidocs/bjc/everge/class-use/TestUtils.html
+++ b/docs/testapidocs/bjc/everge/class-use/TestUtils.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class bjc.everge.TestUtils (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/package-frame.html b/docs/testapidocs/bjc/everge/package-frame.html
index 5a33dfd..72771a9 100644
--- a/docs/testapidocs/bjc/everge/package-frame.html
+++ b/docs/testapidocs/bjc/everge/package-frame.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bjc.everge (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/package-summary.html b/docs/testapidocs/bjc/everge/package-summary.html
index 21c604d..e997893 100644
--- a/docs/testapidocs/bjc/everge/package-summary.html
+++ b/docs/testapidocs/bjc/everge/package-summary.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bjc.everge (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/package-tree.html b/docs/testapidocs/bjc/everge/package-tree.html
index 344dc36..e663f34 100644
--- a/docs/testapidocs/bjc/everge/package-tree.html
+++ b/docs/testapidocs/bjc/everge/package-tree.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bjc.everge Class Hierarchy (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/testapidocs/bjc/everge/package-use.html b/docs/testapidocs/bjc/everge/package-use.html
index 7d7124b..1594513 100644
--- a/docs/testapidocs/bjc/everge/package-use.html
+++ b/docs/testapidocs/bjc/everge/package-use.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Package bjc.everge (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
diff --git a/docs/testapidocs/constant-values.html b/docs/testapidocs/constant-values.html
index 410141c..956e6da 100644
--- a/docs/testapidocs/constant-values.html
+++ b/docs/testapidocs/constant-values.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Constant Field Values (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/testapidocs/deprecated-list.html b/docs/testapidocs/deprecated-list.html
index 331d66c..5ff437e 100644
--- a/docs/testapidocs/deprecated-list.html
+++ b/docs/testapidocs/deprecated-list.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Deprecated List (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/testapidocs/help-doc.html b/docs/testapidocs/help-doc.html
index 3daf060..8a35261 100644
--- a/docs/testapidocs/help-doc.html
+++ b/docs/testapidocs/help-doc.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>API Help (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
diff --git a/docs/testapidocs/index-all.html b/docs/testapidocs/index-all.html
index be31a84..923cb72 100644
--- a/docs/testapidocs/index-all.html
+++ b/docs/testapidocs/index-all.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
@@ -156,6 +156,8 @@
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="bjc/everge/ReplPairTest.html#testLoadFile--">testLoadFile()</a></span> - Method in class bjc.everge.<a href="bjc/everge/ReplPairTest.html" title="class in bjc.everge">ReplPairTest</a></dt>
<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="bjc/everge/StringUtilsTest.html#testLongSplit--">testLongSplit()</a></span> - Method in class bjc.everge.<a href="bjc/everge/StringUtilsTest.html" title="class in bjc.everge">StringUtilsTest</a></dt>
+<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="bjc/everge/ReplPairTest.html#testMultiReplace--">testMultiReplace()</a></span> - Method in class bjc.everge.<a href="bjc/everge/ReplPairTest.html" title="class in bjc.everge">ReplPairTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="bjc/everge/StringUtilsTest.html#testNoEscapeSplit--">testNoEscapeSplit()</a></span> - Method in class bjc.everge.<a href="bjc/everge/StringUtilsTest.html" title="class in bjc.everge">StringUtilsTest</a></dt>
diff --git a/docs/testapidocs/index.html b/docs/testapidocs/index.html
index 322a9ae..fa11fca 100644
--- a/docs/testapidocs/index.html
+++ b/docs/testapidocs/index.html
@@ -2,7 +2,7 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>everge 1.0-SNAPSHOT Test API</title>
<script type="text/javascript">
diff --git a/docs/testapidocs/overview-tree.html b/docs/testapidocs/overview-tree.html
index c329625..3671513 100644
--- a/docs/testapidocs/overview-tree.html
+++ b/docs/testapidocs/overview-tree.html
@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
-<!-- Generated by javadoc (1.8.0_121) on Mon Jun 24 20:47:46 EDT 2019 -->
+<!-- Generated by javadoc (1.8.0_121) on Tue Jun 25 20:15:24 EDT 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Class Hierarchy (everge 1.0-SNAPSHOT Test API)</title>
-<meta name="date" content="2019-06-24">
+<meta name="date" content="2019-06-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>