jruby-gradle.github.io/groovydoc/jruby-gradle-war-plugin/com/github/jrubygradle/war/JRubyWar.html

349 lines
62 KiB
HTML
Raw Normal View History

2015-07-21 18:45:51 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- **************************************************************** -->
<!-- * PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
<!-- * i.e. only iterate & print data where possible. Thanks, Jez. * -->
<!-- **************************************************************** -->
<html>
<head>
2015-09-10 22:25:23 +00:00
<!-- Generated by groovydoc (2.3.3) on Thu Sep 10 15:25:19 PDT 2015 -->
<title>JRubyWar (jruby-gradle-war-plugin 1.1.0-alpha API)</title>
2015-09-10 22:23:51 +00:00
<meta name="date" content="2015-09-10">
2015-07-21 18:45:51 +00:00
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../../groovy.ico" type="image/x-icon" rel="icon">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<body class="center">
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
2015-09-10 22:25:23 +00:00
parent.document.title="JRubyWar (jruby-gradle-war-plugin 1.1.0-alpha API)";
2015-07-21 18:45:51 +00:00
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="navList">
<li><a href="../../../../index.html?com/github/jrubygradle/war/JRubyWar" target="_top">Frames</a></li>
<li><a href="JRubyWar.html" target="_top">No Frames</a></li>
</ul>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;<li><a href="#property_summary">Property</a></li>&nbsp;&nbsp;&nbsp;Constructor&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
</ul>
<ul class="subNavList">
<li>&nbsp;|&nbsp;Detail:&nbsp;</li>
Field&nbsp;&nbsp;&nbsp;<li><a href="#prop_detail">Property</a></li>&nbsp;&nbsp;&nbsp;Constructor&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">Package: <strong>com.github.jrubygradle.war</strong></div>
<h2 title="[Groovy] Class JRubyWar" class="title">[Groovy] Class JRubyWar</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
2015-08-14 16:06:49 +00:00
<li><ul class="inheritance"></ul></li><li><ul class="inheritance"></ul></li><li><ul class="inheritance"></ul></li><li><ul class="inheritance"></ul></li><li><ul class="inheritance"></ul></li><li><ul class="inheritance"></ul></li><li><ul class="inheritance"></ul></li><li><ul class="inheritance"></ul></li><li><ul class="inheritance"></ul></li><li>com.github.jrubygradle.war.JRubyWar
2015-07-21 18:45:51 +00:00
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<p>
<DL><DT><B>Authors:</B></DT><DD>R. Tyler Croy</DD></DL></p>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== NESTED CLASS SUMMARY =========== -->
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<!-- =========== FIELD SUMMARY =========== -->
2015-08-14 16:06:49 +00:00
<ul class="blockList">
<li class="blockList"><a name="field_summary"><!-- --></a>
<ul class="blockList">
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited fields summary table">
<caption><span>Inherited fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Fields inherited from class</th>
<th class="colLast" scope="col">Fields</th>
</tr>
<tr class="altColor">
<td class="colFirst"><strong><code>class org.gradle.api.tasks.bundling.War</code></strong></td>
<td class="colLast"><code>WAR_EXTENSION, __$stMC, __timeStamp, __timeStamp__239_neverHappen1404200857537, DEFAULT_EXTENSION, __$stMC, __timeStamp, __timeStamp__239_neverHappen1404200857496, ZIP_EXTENSION, TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><strong><code>class org.gradle.api.tasks.bundling.Jar</code></strong></td>
<td class="colLast"><code>DEFAULT_EXTENSION, __$stMC, __timeStamp, __timeStamp__239_neverHappen1404200857496, ZIP_EXTENSION, TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION</code></td>
</tr>
</table>
</ul>
</li>
</ul>
2015-07-21 18:45:51 +00:00
<!-- =========== PROPERTY SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="property_summary"><!-- --></a>
<h3>Properties Summary</h3>
<ul class="blockList">
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Properties Summary table, listing nested classes, and an explanation">
<caption><span>Properties</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Type</th>
<th class="colLast" scope="col">Name and description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><strong>static&nbsp;java.lang.String</strong></code>&nbsp;</td>
<td class="colLast"><code><a href="#JRUBYWAR_CONFIG"></a>JRUBYWAR_CONFIG</code><br></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><strong>static&nbsp;java.lang.String</strong></code>&nbsp;</td>
<td class="colLast"><code><a href="#JRUBYWAR_MAINCLASS"></a>JRUBYWAR_MAINCLASS</code><br></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><strong>java.lang.String</strong></code>&nbsp;</td>
<td class="colLast"><code><a href="#mainClass"></a>mainClass</code><br>Setting the main class allows for a runnable War.
</td>
</tr>
</table>
</ul>
</li>
</ul>
<!-- =========== ELEMENT SUMMARY =========== -->
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary"><!-- --></a>
<h3>Methods Summary</h3>
<ul class="blockList">
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Type</th>
<th class="colLast" scope="col">Name and description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</strong></code></td>
<td class="colLast"><code><strong><a href="#copy()">copy</a></strong>()</code><br></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static&nbsp;void</strong></code></td>
2015-08-14 16:06:49 +00:00
<td class="colLast"><code><strong><a href="#updateJRubyDependencies(org.gradle.api.Project)">updateJRubyDependencies</a></strong>(org.gradle.api.Project project)</code><br>Update dependencies on the project to include those necessary for
2015-07-21 18:45:51 +00:00
building JRubyWar's</td>
</tr>
</table>
</ul>
</li>
2015-08-14 16:06:49 +00:00
<li class="blockList"><a name="method_summary"><!-- --></a>
<h3>Inherited Methods Summary</h3>
<ul class="blockList">
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited Methods Summary table">
<caption><span>Inherited Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Methods inherited from class</th>
<th class="colLast" scope="col">Name</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class org.gradle.api.tasks.bundling.War</strong></code></td>
2015-09-10 22:23:51 +00:00
<td class="colLast"><code>org.gradle.api.tasks.bundling.War#super$1$notifyAll(), org.gradle.api.tasks.bundling.War#super$1$clone(), org.gradle.api.tasks.bundling.War#__$swapInit(), org.gradle.api.tasks.bundling.War#super$1$wait(long), org.gradle.api.tasks.bundling.War#super$1$getClass(), org.gradle.api.tasks.bundling.War#super$1$hashCode(), org.gradle.api.tasks.bundling.War#setClasspath(java.lang.Object), org.gradle.api.tasks.bundling.War#this$dist$invoke$8(java.lang.String, java.lang.Object), org.gradle.api.tasks.bundling.War#this$dist$set$8(java.lang.String, java.lang.Object), org.gradle.api.tasks.bundling.War#this$dist$get$8(java.lang.String), org.gradle.api.tasks.bundling.War#super$2$onlyIf(org.gradle.api.specs.Spec), org.gradle.api.tasks.bundling.War#super$2$setProject(org.gradle.api.Project), org.gradle.api.tasks.bundling.War#super$5$from([Ljava.lang.Object;), org.gradle.api.tasks.bundling.War#super$5$getMainSpec(), org.gradle.api.tasks.bundling.War#super$6$getDestinationDir(), org.gradle.api.tasks.bundling.War#super$2$addValidator(org.gradle.api.internal.tasks.execution.TaskValidator), org.gradle.api.tasks.bundling.War#super$2$getConvention(), org.gradle.api.tasks.bundling.War#super$6$into(java.lang.Object, groovy.lang.Closure), org.gradle.api.tasks.bundling.War#super$6$into(java.lang.Object), org.gradle.api.tasks.bundling.War#super$2$getDependsOn(), org.gradle.api.tasks.bundling.War#super$5$filesNotMatching(java.lang.String, org.gradle.api.Action), org.gradle.api.tasks.bundling.War#super$5$getDuplicatesStrategy(), org.gradle.api.tasks.bundling.War#super$5$getFileLookup(), org.gradle.api.tasks.bundling.War#super$2$getOnlyIf(), org.gradle.api.tasks.bundling.War#super$5$exclude(groovy.lang.Closure), org.gradle.api.tasks.bundling.War#super$5$exclude(org.gradle.api.specs.Spec), org.gradle.api.tasks.bundling.War#super$5$getSource(), org.gradle.api.tasks.bundling.War#super$2$setOnlyIf(groovy.lang.Closure), org.gradle.api.tasks.bundling.War#super$2$getTaskDependencies(), org.gradle.api.tasks.bundling.War#super$2$property(java.lang.String), org.gradle.api.tasks.bundling.War#super$2$doFirst(groovy.lang.Closure), org.gradle.api.tasks.bundling.War#super$2$deleteAllActions(), org.gradle.api.tasks.bundling.War#super$4$conventionMapping(java.lang.String, groovy.lang.Closure), org.gradle.api.tasks.bundling.War#super$2$compareTo(org.gradle.api.Task), org.gradle.api.tasks.bundling.War#super$2$doLast(groovy.lang.Closure), org.gradle.api.tasks.bundling.War#super$2$doLast(org.gradle.api.Action), org.gradle.api.tasks.bundling.War#super$2$getPath(), org.gradle.api.tasks.bundling.War#super$5$include(java.lang.Iterable), org.gradle.api.tasks.bundling.War#super$5$include(org.gradle.api.specs.Spec), org.gradle.api.tasks.bundling.War#super$5$include(groovy.lang.Closure), org.gradle.api.tasks.bundling.War#super$5$getInstantiator(), org.gradle.api.tasks.bundling.War#super$7$setEntryCompression(org.gradle.api.tasks.bundling.ZipEntryCompression), org.gradle.api.tasks.bundling.War#super$5$setDuplicatesStrategy(org.gradle.api.file.DuplicatesStrategy), org.gradle.api.tasks.bundling.War#super$2$execute(), org.gradle.api.tasks.bundling.War#super$5$rename(java.lang.String, java.lang.String), org.gradle.api.tasks.bundling.War#super$6$setExtension(java.lang.String), org.gradle.api.tasks.bundling.War#super$2$getTemporaryDirFactory(), org.gradle.api.tasks.bundling.War#super$7$isZip64(), org.gradle.api.tasks.bundling.War#super$7$getCompressor(), org.gradle.api.tasks.bundling.War#super$8$setManifest(org.gradle.api.java.archives.Manifest), org.gradle.api.tasks.bundling.War#super$2$setFinalizedBy(java.lang.Iterable), org.gradle.api.tasks.bundling.War#super$6$getBaseName(), org.gradle.api.tasks.bundling.War#super$5$filter(java.util.Map, java.lang.Class), org.gradle.api.tasks.bundling.War#super$2$getGroup(), org.gradle.api.tasks.bundling.War#super$8$metaInf(groovy.lang.Closure), org.gradle.api.tasks.bundling.War#super$5$setIncludeEmptyDirs(boolean), org.gradle.api.tasks.bundling.War#super$5$getFileMode(), org.gradle.api.tasks.bundl
2015-08-14 16:06:49 +00:00
</tr>
<tr class="altColor">
<td class="colFirst"><code>class org.gradle.api.tasks.bundling.Jar</strong></code></td>
2015-09-10 22:23:51 +00:00
<td class="colLast"><code>org.gradle.api.tasks.bundling.Jar#setMetaClass(groovy.lang.MetaClass), org.gradle.api.tasks.bundling.Jar#getMetaClass(), org.gradle.api.tasks.bundling.Jar#super$1$notifyAll(), org.gradle.api.tasks.bundling.Jar#super$1$clone(), org.gradle.api.tasks.bundling.Jar#super$1$finalize(), org.gradle.api.tasks.bundling.Jar#super$1$equals(java.lang.Object), org.gradle.api.tasks.bundling.Jar#__$swapInit(), org.gradle.api.tasks.bundling.Jar#super$1$wait(), org.gradle.api.tasks.bundling.Jar#super$1$wait(long), org.gradle.api.tasks.bundling.Jar#super$1$wait(long, int), org.gradle.api.tasks.bundling.Jar#super$1$getClass(), org.gradle.api.tasks.bundling.Jar#super$1$hashCode(), org.gradle.api.tasks.bundling.Jar#super$1$notify(), org.gradle.api.tasks.bundling.Jar#super$2$onlyIf(groovy.lang.Closure), org.gradle.api.tasks.bundling.Jar#super$2$onlyIf(org.gradle.api.specs.Spec), org.gradle.api.tasks.bundling.Jar#super$2$setDependsOn(java.lang.Iterable), org.gradle.api.tasks.bundling.Jar#super$2$setProject(org.gradle.api.Project), org.gradle.api.tasks.bundling.Jar#super$5$from(java.lang.Object, groovy.lang.Closure), org.gradle.api.tasks.bundling.Jar#super$5$from([Ljava.lang.Object;), org.gradle.api.tasks.bundling.Jar#super$5$getMainSpec(), org.gradle.api.tasks.bundling.Jar#super$6$getDestinationDir(), org.gradle.api.tasks.bundling.Jar#super$2$addValidator(org.gradle.api.internal.tasks.execution.TaskValidator), org.gradle.api.tasks.bundling.Jar#super$2$getConvention(), org.gradle.api.tasks.bundling.Jar#super$6$into(java.lang.Object), org.gradle.api.tasks.bundling.Jar#super$6$into(java.lang.Object, groovy.lang.Closure), org.gradle.api.tasks.bundling.Jar#super$2$getDependsOn(), org.gradle.api.tasks.bundling.Jar#super$5$filesNotMatching(java.lang.String, org.gradle.api.Action), org.gradle.api.tasks.bundling.Jar#super$7$getEntryCompression(), org.gradle.api.tasks.bundling.Jar#super$2$getName(), org.gradle.api.tasks.bundling.Jar#super$2$getMustRunAfter(), org.gradle.api.tasks.bundling.Jar#super$5$getDuplicatesStrategy(), org.gradle.api.tasks.bundling.Jar#super$5$getFileLookup(), org.gradle.api.tasks.bundling.Jar#super$2$getOnlyIf(), org.gradle.api.tasks.bundling.Jar#super$5$exclude([Ljava.lang.String;), org.gradle.api.tasks.bundling.Jar#super$5$exclude(java.lang.Iterable), org.gradle.api.tasks.bundling.Jar#super$5$exclude(org.gradle.api.specs.Spec), org.gradle.api.tasks.bundling.Jar#super$5$exclude(groovy.lang.Closure), org.gradle.api.tasks.bundling.Jar#super$2$getActions(), org.gradle.api.tasks.bundling.Jar#super$5$getSource(), org.gradle.api.tasks.bundling.Jar#super$2$getState(), org.gradle.api.tasks.bundling.Jar#super$2$setOnlyIf(groovy.lang.Closure), org.gradle.api.tasks.bundling.Jar#super$2$setOnlyIf(org.gradle.api.specs.Spec), org.gradle.api.tasks.bundling.Jar#super$2$getTaskDependencies(), org.gradle.api.tasks.bundling.Jar#super$5$filesMatching(java.lang.String, org.gradle.api.Action), org.gradle.api.tasks.bundling.Jar#super$2$hasProperty(java.lang.String), org.gradle.api.tasks.bundling.Jar#super$6$getAppendix(), org.gradle.api.tasks.bundling.Jar#super$2$property(java.lang.String), org.gradle.api.tasks.bundling.Jar#super$6$getClassifier(), org.gradle.api.tasks.bundling.Jar#super$2$doFirst(groovy.lang.Closure), org.gradle.api.tasks.bundling.Jar#super$2$doFirst(org.gradle.api.Action), org.gradle.api.tasks.bundling.Jar#super$2$deleteAllActions(), org.gradle.api.tasks.bundling.Jar#super$4$conventionMapping(java.lang.String, groovy.lang.Closure), org.gradle.api.tasks.bundling.Jar#super$4$conventionMapping(java.lang.String, java.util.concurrent.Callable), org.gradle.api.tasks.bundling.Jar#super$5$setCaseSensitive(boolean), org.gradle.api.tasks.bundling.Jar#super$2$compareTo(org.gradle.api.Task), org.gradle.api.tasks.bundling.Jar#super$2$doLast(groovy.lang.Closure), org.gradle.api.tasks.bundling.Jar#super$2$doLast(org.gradle.api.Action), org.gradle.api.tasks.bundling.Jar#super$6$setClassifier(java.lang.String), org.gradle.api.tasks.bundling.Jar#super$5$expand(java.util.Map), org.gradle.api.tasks.
2015-08-14 16:06:49 +00:00
</tr>
</table>
</ul>
</li>
2015-07-21 18:45:51 +00:00
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- =========== PROPERTY DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="prop_detail">
<!-- -->
</a>
<h3>Property Detail</h3>
<a name="JRUBYWAR_CONFIG"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
<h4>static&nbsp;final&nbsp;java.lang.String <strong>JRUBYWAR_CONFIG</strong></h4>
<p></p>
</li>
</ul>
<a name="JRUBYWAR_MAINCLASS"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
<h4>static&nbsp;final&nbsp;java.lang.String <strong>JRUBYWAR_MAINCLASS</strong></h4>
<p></p>
</li>
</ul>
<a name="mainClass"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
2015-08-14 16:06:49 +00:00
<h4>@org.gradle.api.tasks.Input
2015-07-21 18:45:51 +00:00
java.lang.String <strong>mainClass</strong></h4>
<p> Setting the main class allows for a runnable War.
By default the value is <CODE>JRUBYWAR_MAINCLASS</CODE>
</p>
</li>
</ul>
</li>
</ul>
<!-- =========== METHOD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="copy()"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
<h4>@java.lang.Override
void <strong>copy</strong>()</h4>
<p></p>
</li>
</ul>
2015-08-14 16:06:49 +00:00
<a name="updateJRubyDependencies(org.gradle.api.Project)"><!-- --></a>
2015-07-21 18:45:51 +00:00
<ul class="blockListLast">
<li class="blockList">
2015-08-14 16:06:49 +00:00
<h4>static&nbsp;void <strong>updateJRubyDependencies</strong>(org.gradle.api.Project project)</h4>
2015-07-21 18:45:51 +00:00
<p> Update dependencies on the project to include those necessary for
building JRubyWar's
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="navList">
<li><a href="../../../../index.html?com/github/jrubygradle/war/JRubyWar" target="_top">Frames</a></li>
<li><a href="JRubyWar.html" target="_top">No Frames</a></li>
</ul>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;<li><a href="#property_summary">Property</a></li>&nbsp;&nbsp;&nbsp;Constructor&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
</ul>
<ul class="subNavList">
<li>&nbsp;|&nbsp;Detail:&nbsp;</li>
Field&nbsp;&nbsp;&nbsp;<li><a href="#prop_detail">Property</a></li>&nbsp;&nbsp;&nbsp;Constructor&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
</ul>
</div>
<p>Groovy Documentation</p>
<a name="skip-navbar_bottom">
<!-- -->
</a>
</div>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>