aboutsummaryrefslogtreecommitdiff
path: root/solr-8.3.1/server/solr-webapp/webapp/css/angular
diff options
context:
space:
mode:
Diffstat (limited to 'solr-8.3.1/server/solr-webapp/webapp/css/angular')
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/analysis.css303
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/chosen.css465
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/cloud.css722
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/collections.css378
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/common.css771
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/cores.css225
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/dashboard.css179
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/dataimport.css370
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/documents.css179
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/files.css53
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/index.css216
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/java-properties.css47
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/jquery-ui.min.css28
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/jquery-ui.structure.min.css24
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/logging.css384
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/login.css109
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/menu.css330
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/overview.css42
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/plugins.css220
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/query.css162
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/replication.css500
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/schema.css727
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/segments.css172
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/stream.css233
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/suggestions.css64
-rw-r--r--solr-8.3.1/server/solr-webapp/webapp/css/angular/threads.css160
26 files changed, 7063 insertions, 0 deletions
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/analysis.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/analysis.css
new file mode 100644
index 000000000..1cbff55ed
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/analysis.css
@@ -0,0 +1,303 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #analysis-holder
+{
+ background-image: url( ../../img/div.gif );
+ background-position: 50% 0;
+ background-repeat: repeat-y;
+}
+
+#content #analysis #field-analysis
+{
+ margin-bottom: 0;
+}
+
+#content #analysis #field-analysis .content
+{
+ padding-bottom: 0;
+}
+
+#content #analysis .settings-holder
+{
+ clear: both;
+ padding-top: 15px;
+}
+
+#content #analysis .settings
+{
+ background-color: #fff;
+ border-top: 1px solid #fafafa;
+ border-bottom: 1px solid #fafafa;
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
+
+#content #analysis .settings select.loader
+{
+ background-position: 3px 50%;
+ padding-left: 21px;
+}
+
+#content #analysis .settings select optgroup
+{
+ font-style: normal;
+ padding: 5px;
+}
+
+#content #analysis .settings select option
+{
+ padding-left: 10px;
+}
+
+#content #analysis .settings #tor_schema
+{
+ background-image: url( ../../img/ico/question-white.png );
+ background-position: 0 50%;
+ color: #4D4D4D;
+ margin-left: 5px;
+ padding-left: 21px;
+}
+
+#content #analysis .settings #tor_schema:hover
+{
+ background-image: url( ../../img/ico/question.png );
+}
+
+#content #analysis .settings #tor_schema span
+{
+/* display: none; */
+}
+
+#content #analysis .settings #tor_schema:hover span
+{
+ display: inline;
+}
+
+#content #analysis .settings .buttons
+{
+ float: right;
+ width: 47%;
+}
+
+#content #analysis .settings button
+{
+ float: right;
+}
+
+#content #analysis .settings button span
+{
+ background-image: url( ../../img/ico/funnel.png );
+}
+
+#content #analysis .settings .verbose_output
+{
+ float: left;
+ width: auto;
+}
+
+#content #analysis .settings .verbose_output a
+{
+ background-image: url( ../../img/ico/ui-check-box-uncheck.png );
+ background-position: 0 50%;
+ color: #4D4D4D;
+ display: block;
+ padding-left: 21px;
+}
+
+#content #analysis .settings .verbose_output.active a
+{
+ background-image: url( ../../img/ico/ui-check-box.png );
+}
+
+#content #analysis .index label,
+#content #analysis .query label
+{
+ display: block;
+}
+
+#content #analysis .index textarea,
+#content #analysis .query textarea
+{
+ display: block;
+ width: 100%;
+}
+
+#content #analysis .index
+{
+ float: left;
+ margin-right: 0.5%;
+ min-width: 47%;
+ max-width: 99%;
+}
+
+#content #analysis .query
+{
+ float: right;
+ margin-left: 0.5%;
+ min-width: 47%;
+ max-width: 99%;
+}
+
+#content #analysis .analysis-error
+{
+ background-color: #f00;
+ background-image: url( ../../img/ico/construction.png );
+ background-position: 10px 50%;
+ color: #fff;
+ font-weight: bold;
+ margin-bottom: 20px;
+ padding: 10px;
+ padding-left: 35px;
+}
+
+#content #analysis .analysis-error .head a
+{
+ color: #fff;
+ cursor: auto;
+}
+
+#content #analysis #analysis-result
+{
+ overflow: auto;
+}
+
+#content #analysis #analysis-result .index,
+#content #analysis #analysis-result .query
+{
+ background-color: #fff;
+ padding-top: 20px;
+}
+
+#content #analysis #analysis-result table
+{
+ border-collapse: collapse;
+}
+
+#content #analysis #analysis-result td
+{
+ vertical-align: top;
+ white-space: nowrap;
+}
+
+#content #analysis #analysis-result td.part.analyzer div,
+#content #analysis #analysis-result td.part.spacer .holder,
+#content #analysis #analysis-result td td td
+{
+ padding-top: 1px;
+ padding-bottom: 1px;
+}
+
+#content #analysis #analysis-result.verbose_output td.legend
+{
+ display: table-cell;
+}
+
+#content #analysis #analysis-result.verbose_output td.data tr.verbose_output
+{
+ display: table-row;
+}
+
+#content #analysis #analysis-result .match
+{
+ background-color: #F0D9C3;
+}
+
+#content #analysis #analysis-result td.part
+{
+ padding-bottom: 10px;
+}
+
+#content #analysis #analysis-result td.part.analyzer div
+{
+ border-right: 1px solid #f0f0f0;
+ padding-right: 10px;
+}
+
+#content #analysis #analysis-result td.part.analyzer abbr
+{
+ color: #4D4D4D;
+}
+
+#content #analysis #analysis-result td.part.legend .holder,
+#content #analysis #analysis-result td.part.data .holder
+{
+ padding-left: 10px;
+ padding-right: 10px;
+ border-right: 1px solid #c0c0c0;
+}
+
+#content #analysis #analysis-result td.part.legend td
+{
+ color: #4D4D4D;
+}
+
+#content #analysis #analysis-result td.part.legend .holder
+{
+ border-right-color: #f0f0f0;
+}
+
+#content #analysis #analysis-result td.part.data:last-child .holder
+{
+ padding-right: 0;
+ border-right: 0;
+}
+
+#content #analysis #analysis-result td.details
+{
+ padding-left: 10px;
+ padding-right: 10px;
+ border-left: 1px solid #f0f0f0;
+ border-right: 1px solid #f0f0f0;
+}
+
+#content #analysis #analysis-result td.details:first-child
+{
+ padding-left: 0;
+ border-left: 0;
+}
+
+#content #analysis #analysis-result td.details:last-child
+{
+ padding-right: 0;
+ border-right: 0;
+}
+
+#content #analysis #analysis-result td.details tr.empty td
+{
+ color: #f0f0f0;
+}
+
+#content #analysis #analysis-result td.details tr.raw_bytes td
+{
+ letter-spacing: -1px;
+}
+
+#content #analysis #analysis-result .part table table td
+{
+ border-top: 1px solid #f0f0f0;
+}
+
+#content #analysis #analysis-result .part table table tr:first-child td
+{
+ border-top: 0;
+}
+
+#content #analysis #field-analysis h2 { background-image: url( ../../img/ico/receipt.png ); }
+#content #analysis .analysis-result h2 { background-image: url( ../../img/ico/receipt-invoice.png ); }
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/chosen.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/chosen.css
new file mode 100644
index 000000000..f7ae77121
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/chosen.css
@@ -0,0 +1,465 @@
+/*
+
+Chosen
+
+- by Patrick Filler for Harvest http://getharvest.com
+- Copyright (c) 2011-2013 by Harvest
+
+Available for use under the MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+*/
+/*!
+Chosen, a Select Box Enhancer for jQuery and Prototype
+by Patrick Filler for Harvest, http://getharvest.com
+
+Version 1.3.0
+Full source at https://github.com/harvesthq/chosen
+Copyright (c) 2011-2014 Harvest http://getharvest.com
+
+MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
+This file is generated by `grunt build`, do not edit it by hand.
+*/
+
+/* @group Base */
+.chosen-container {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ font-size: 13px;
+ zoom: 1;
+ *display: inline;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+}
+.chosen-container * {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.chosen-container .chosen-drop {
+ position: absolute;
+ top: 100%;
+ left: -9999px;
+ z-index: 1010;
+ width: 100%;
+ border: 1px solid #aaa;
+ border-top: 0;
+ background: #fff;
+ box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
+}
+.chosen-container.chosen-with-drop .chosen-drop {
+ left: 0;
+}
+.chosen-container a {
+ cursor: pointer;
+}
+
+/* @end */
+/* @group Single Chosen */
+.chosen-container-single .chosen-single {
+ position: relative;
+ display: block;
+ overflow: hidden;
+ padding: 0 0 0 8px;
+ height: 25px;
+ border: 1px solid #aaa;
+ border-radius: 5px;
+ background-color: #fff;
+ background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
+ background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
+ background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
+ background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
+ background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
+ background-clip: padding-box;
+ box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
+ color: #444;
+ text-decoration: none;
+ white-space: nowrap;
+ line-height: 24px;
+}
+.chosen-container-single .chosen-default {
+ color: #999;
+}
+.chosen-container-single .chosen-single span {
+ display: block;
+ overflow: hidden;
+ margin-right: 26px;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.chosen-container-single .chosen-single-with-deselect span {
+ margin-right: 38px;
+}
+.chosen-container-single .chosen-single abbr {
+ position: absolute;
+ top: 6px;
+ right: 26px;
+ display: block;
+ width: 12px;
+ height: 12px;
+ background: url('../../img/chosen-sprite.png') -42px 1px no-repeat;
+ font-size: 1px;
+}
+.chosen-container-single .chosen-single abbr:hover {
+ background-position: -42px -10px;
+}
+.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
+ background-position: -42px -10px;
+}
+.chosen-container-single .chosen-single div {
+ position: absolute;
+ top: 0;
+ right: 0;
+ display: block;
+ width: 18px;
+ height: 100%;
+}
+.chosen-container-single .chosen-single div b {
+ display: block;
+ width: 100%;
+ height: 100%;
+ background: url('../../img/chosen-sprite.png') no-repeat 0px 2px;
+}
+.chosen-container-single .chosen-search {
+ position: relative;
+ z-index: 1010;
+ margin: 0;
+ padding: 3px 4px;
+ white-space: nowrap;
+}
+.chosen-container-single .chosen-search input[type="text"] {
+ margin: 1px 0;
+ padding: 4px 20px 4px 5px;
+ width: 100%;
+ height: auto;
+ outline: 0;
+ border: 1px solid #aaa;
+ background: white url('../../img/chosen-sprite.png') no-repeat 100% -20px;
+ background: url('../../img/chosen-sprite.png') no-repeat 100% -20px;
+ font-size: 1em;
+ font-family: sans-serif;
+ line-height: normal;
+ border-radius: 0;
+}
+.chosen-container-single .chosen-drop {
+ margin-top: -1px;
+ border-radius: 0 0 4px 4px;
+ background-clip: padding-box;
+}
+.chosen-container-single.chosen-container-single-nosearch .chosen-search {
+ position: absolute;
+ left: -9999px;
+}
+
+/* @end */
+/* @group Results */
+.chosen-container .chosen-results {
+ color: #444;
+ position: relative;
+ overflow-x: hidden;
+ overflow-y: auto;
+ margin: 0 4px 4px 0;
+ padding: 0 0 0 4px;
+ max-height: 240px;
+ -webkit-overflow-scrolling: touch;
+}
+.chosen-container .chosen-results li {
+ display: none;
+ margin: 0;
+ padding: 5px 6px;
+ list-style: none;
+ line-height: 15px;
+ word-wrap: break-word;
+ -webkit-touch-callout: none;
+}
+.chosen-container .chosen-results li.active-result {
+ display: list-item;
+ cursor: pointer;
+}
+.chosen-container .chosen-results li.disabled-result {
+ display: list-item;
+ color: #ccc;
+ cursor: default;
+}
+.chosen-container .chosen-results li.highlighted {
+ background-color: #3875d7;
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
+ background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
+ background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
+ background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
+ background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
+ color: #fff;
+}
+.chosen-container .chosen-results li.no-results {
+ color: #777;
+ display: list-item;
+ background: #f4f4f4;
+}
+.chosen-container .chosen-results li.group-result {
+ display: list-item;
+ font-weight: bold;
+ cursor: default;
+}
+.chosen-container .chosen-results li.group-option {
+ padding-left: 15px;
+}
+.chosen-container .chosen-results li em {
+ font-style: normal;
+ text-decoration: underline;
+}
+
+/* @end */
+/* @group Multi Chosen */
+.chosen-container-multi .chosen-choices {
+ position: relative;
+ overflow: hidden;
+ margin: 0;
+ padding: 0 5px;
+ width: 100%;
+ height: auto !important;
+ height: 1%;
+ border: 1px solid #aaa;
+ background-color: #fff;
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
+ background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
+ background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
+ background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
+ background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
+ cursor: text;
+}
+.chosen-container-multi .chosen-choices li {
+ float: left;
+ list-style: none;
+}
+.chosen-container-multi .chosen-choices li.search-field {
+ margin: 0;
+ padding: 0;
+ white-space: nowrap;
+}
+.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
+ margin: 1px 0;
+ padding: 0;
+ height: 25px;
+ outline: 0;
+ border: 0 !important;
+ background: transparent !important;
+ box-shadow: none;
+ color: #999;
+ font-size: 100%;
+ font-family: sans-serif;
+ line-height: normal;
+ border-radius: 0;
+}
+.chosen-container-multi .chosen-choices li.search-choice {
+ position: relative;
+ margin: 3px 5px 3px 0;
+ padding: 3px 20px 3px 5px;
+ border: 1px solid #aaa;
+ max-width: 100%;
+ border-radius: 3px;
+ background-color: #eeeeee;
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
+ background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+ background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+ background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+ background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+ background-size: 100% 19px;
+ background-repeat: repeat-x;
+ background-clip: padding-box;
+ box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
+ color: #333;
+ line-height: 13px;
+ cursor: default;
+}
+.chosen-container-multi .chosen-choices li.search-choice span {
+ word-wrap: break-word;
+}
+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
+ position: absolute;
+ top: 4px;
+ right: 3px;
+ display: block;
+ width: 12px;
+ height: 12px;
+ background: url('../../img/chosen-sprite.png') -42px 1px no-repeat;
+ font-size: 1px;
+}
+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
+ background-position: -42px -10px;
+}
+.chosen-container-multi .chosen-choices li.search-choice-disabled {
+ padding-right: 5px;
+ border: 1px solid #ccc;
+ background-color: #e4e4e4;
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
+ background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+ background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+ background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+ background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+ color: #666;
+}
+.chosen-container-multi .chosen-choices li.search-choice-focus {
+ background: #d4d4d4;
+}
+.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
+ background-position: -42px -10px;
+}
+.chosen-container-multi .chosen-results {
+ margin: 0;
+ padding: 0;
+}
+.chosen-container-multi .chosen-drop .result-selected {
+ display: list-item;
+ color: #ccc;
+ cursor: default;
+}
+
+/* @end */
+/* @group Active */
+.chosen-container-active .chosen-single {
+ border: 1px solid #5897fb;
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
+}
+.chosen-container-active.chosen-with-drop .chosen-single {
+ border: 1px solid #aaa;
+ -moz-border-radius-bottomright: 0;
+ border-bottom-right-radius: 0;
+ -moz-border-radius-bottomleft: 0;
+ border-bottom-left-radius: 0;
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
+ background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%);
+ background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%);
+ background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%);
+ background-image: linear-gradient(#eeeeee 20%, #ffffff 80%);
+ box-shadow: 0 1px 0 #fff inset;
+}
+.chosen-container-active.chosen-with-drop .chosen-single div {
+ border-left: none;
+ background: transparent;
+}
+.chosen-container-active.chosen-with-drop .chosen-single div b {
+ background-position: -18px 2px;
+}
+.chosen-container-active .chosen-choices {
+ border: 1px solid #5897fb;
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
+}
+.chosen-container-active .chosen-choices li.search-field input[type="text"] {
+ color: #222 !important;
+}
+
+/* @end */
+/* @group Disabled Support */
+.chosen-disabled {
+ opacity: 0.5 !important;
+ cursor: default;
+}
+.chosen-disabled .chosen-single {
+ cursor: default;
+}
+.chosen-disabled .chosen-choices .search-choice .search-choice-close {
+ cursor: default;
+}
+
+/* @end */
+/* @group Right to Left */
+.chosen-rtl {
+ text-align: right;
+}
+.chosen-rtl .chosen-single {
+ overflow: visible;
+ padding: 0 8px 0 0;
+}
+.chosen-rtl .chosen-single span {
+ margin-right: 0;
+ margin-left: 26px;
+ direction: rtl;
+}
+.chosen-rtl .chosen-single-with-deselect span {
+ margin-left: 38px;
+}
+.chosen-rtl .chosen-single div {
+ right: auto;
+ left: 3px;
+}
+.chosen-rtl .chosen-single abbr {
+ right: auto;
+ left: 26px;
+}
+.chosen-rtl .chosen-choices li {
+ float: right;
+}
+.chosen-rtl .chosen-choices li.search-field input[type="text"] {
+ direction: rtl;
+}
+.chosen-rtl .chosen-choices li.search-choice {
+ margin: 3px 5px 3px 0;
+ padding: 3px 5px 3px 19px;
+}
+.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
+ right: auto;
+ left: 4px;
+}
+.chosen-rtl.chosen-container-single-nosearch .chosen-search,
+.chosen-rtl .chosen-drop {
+ left: 9999px;
+}
+.chosen-rtl.chosen-container-single .chosen-results {
+ margin: 0 0 4px 4px;
+ padding: 0 4px 0 0;
+}
+.chosen-rtl .chosen-results li.group-option {
+ padding-right: 15px;
+ padding-left: 0;
+}
+.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
+ border-right: none;
+}
+.chosen-rtl .chosen-search input[type="text"] {
+ padding: 4px 5px 4px 20px;
+ background: white url('../../img/chosen-sprite.png') no-repeat -30px -20px;
+ background: url('../../img/chosen-sprite.png') no-repeat -30px -20px;
+ direction: rtl;
+}
+.chosen-rtl.chosen-container-single .chosen-single div b {
+ background-position: 6px 2px;
+}
+.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
+ background-position: -12px 2px;
+}
+
+/* @end */
+/* @group Retina compatibility */
+@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) {
+ .chosen-rtl .chosen-search input[type="text"],
+ .chosen-container-single .chosen-single abbr,
+ .chosen-container-single .chosen-single div b,
+ .chosen-container-single .chosen-search input[type="text"],
+ .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
+ .chosen-container .chosen-results-scroll-down span,
+ .chosen-container .chosen-results-scroll-up span {
+ background-image: url('../../img/chosen-sprite-2x.png') !important;
+ background-size: 52px 37px !important;
+ background-repeat: no-repeat !important;
+ }
+}
+/* @end */
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/cloud.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/cloud.css
new file mode 100644
index 000000000..c702c7a1d
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/cloud.css
@@ -0,0 +1,722 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #cloud
+{
+ position: relative;
+}
+
+#content #cloud .loader
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #cloud #error
+{
+ background-color: #f00;
+ background-image: url( ../../img/ico/construction.png );
+ background-position: 10px 12px;
+ color: #fff;
+ font-weight: bold;
+ margin-bottom: 20px;
+ padding: 10px;
+ padding-left: 35px;
+}
+
+#content #cloud #error .msg
+{
+ font-style: italic;
+ font-weight: normal;
+ margin-top: 10px;
+}
+
+#content #cloud #debug
+{
+ background-color: #fff;
+ box-shadow: 0px 0px 10px #c0c0c0;
+ -moz-box-shadow: 0px 0px 10px #c0c0c0;
+ -webkit-box-shadow: 0px 0px 10px #c0c0c0;
+ padding: 20px;
+ position: absolute;
+ left: 50px;
+ top: 10px;
+}
+
+#content #cloud #debug ul
+{
+ margin-bottom: 5px;
+}
+
+#content #cloud #debug ul a
+{
+ background-position: 4px 50%;
+ border-right: 0;
+ display: block;
+ padding: 2px 4px;
+ padding-left: 25px;
+}
+
+#content #cloud #debug ul a:hover,
+#content #cloud #debug ul a.hover
+{
+ background-color: #f0f0f0;
+}
+
+#content #cloud #debug .clipboard
+{
+ float: left;
+ position: relative;
+}
+
+#content #cloud #debug .clipboard a
+{
+ background-image: url( ../../img/ico/clipboard-paste.png );
+ z-index: 98;
+}
+
+#content #cloud #debug .clipboard a:hover,
+#content #cloud #debug .clipboard a.hover,
+#content #cloud #debug .clipboard.copied a
+{
+ background-image: url( ../../img/ico/clipboard-paste-document-text.png );
+}
+
+#content #cloud #debug .close
+{
+ float: right;
+}
+
+#content #cloud #debug .close a
+{
+ background-image: url( ../../img/ico/cross-0.png );
+ padding-left: 21px;
+}
+
+#content #cloud #debug .close a:hover
+{
+ background-image: url( ../../img/ico/cross-1.png );
+}
+
+#content #cloud #debug .debug
+{
+ border: 1px solid #f0f0f0;
+ max-height: 350px;
+ overflow: auto;
+ padding: 5px;
+ width: 500px;
+}
+
+#content #cloud #debug .debug .loader
+{
+ background-position: 5px 50%;
+ display: block;
+ padding: 10px 26px;
+}
+
+#content #cloud .content
+{
+ padding-left: 0;
+ padding-right: 0;
+}
+
+#content #cloud .content.show
+{
+ background-image: url( ../../img/div.gif );
+ background-repeat: repeat-y;
+ background-position: 31% 0;
+}
+
+#content #cloud #tree
+{
+ float: left;
+ width: 30%;
+}
+
+#content #cloud .show #tree
+{
+ overflow: hidden;
+}
+
+#content #cloud #file-content
+{
+ float: right;
+ position: relative;
+ width: 68%;
+ min-height: 100px
+}
+
+#content #cloud .show #file-content
+{
+ display: block;
+}
+
+#content #cloud #file-content .close
+{
+ background-image: url( ../../img/ico/cross-0.png );
+ background-position: 50% 50%;
+ display: block;
+ height: 20px;
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 20px;
+}
+
+#content #cloud #file-content .close:hover
+{
+ background-image: url( ../../img/ico/cross-1.png );
+}
+
+#content #cloud #file-content #toggle.plus
+{
+ font-style: italic;
+ padding-left: 17px;
+ background-image: url( ../../img/ico/toggle-small-expand.png );
+}
+
+#content #cloud #file-content #toggle.minus
+{
+ font-style: italic;
+ padding-left: 17px;
+ background-image: url( ../../img/ico/toggle-small.png );
+}
+
+#content #cloud #file-content #data
+{
+ border-top: 1px solid #c0c0c0;
+ margin-top: 10px;
+ padding-top: 10px;
+}
+
+#content #cloud #file-content #data pre
+{
+ display: block;
+ max-height: 600px;
+ overflow: auto;
+}
+
+#content #cloud #file-content #data em
+{
+ color: #4d4d4d;
+}
+
+#content #cloud #file-content #prop
+{
+}
+
+#content #cloud #file-content li
+{
+ padding-top: 3px;
+ padding-bottom: 3px;
+}
+
+#content #cloud #file-content li.odd
+{
+ background-color: #F8F8F8;
+}
+
+#content #cloud #file-content li dt
+{
+ float: left;
+ width: 19%;
+}
+
+#content #cloud #file-content li dd
+{
+ float: right;
+ width: 80%;
+}
+
+/* tree */
+
+#content #cloud #legend
+{
+ border: 1px solid #f0f0f0;
+ padding: 10px;
+ position: absolute;
+ right: 0;
+ bottom: 0;
+}
+
+#content #cloud #legend li
+{
+ padding-left: 15px;
+ position: relative;
+}
+
+#content #cloud #legend li svg
+{
+ position: absolute;
+ left: 0;
+ top: 2px;
+}
+
+#content #graph-content
+{
+ min-height: 400px;
+}
+
+#content #graph-content .node
+{
+ fill: #333;
+}
+
+#content #cloud #legend circle,
+#content #graph-content .node circle
+{
+ fill: #fff;
+ stroke: #c0c0c0;
+ stroke-width: 1.5px;
+}
+
+#content #graph-content .node.lvl-3 text
+{
+ cursor: pointer;
+}
+
+#content #graph-content .node.lvl-3:hover circle
+{
+ stroke: #000 !important;
+}
+
+#content #graph-content .node.lvl-3:hover text
+{
+ fill: #000 !important;
+}
+
+#content #graph-content .link
+{
+ fill: none;
+ stroke: #e0e0e0;
+ stroke-width: 1.5px;
+}
+
+#content #cloud #legend .gone circle,
+#content #graph-content .node.gone circle,
+#content #graph-content .link.gone
+{
+ stroke: #f0f0f0;
+}
+
+#content #graph-content .node.gone text
+{
+ fill: #f0f0f0;
+}
+
+#content #cloud #legend ul .gone
+{
+ color: #e0e0e0;
+}
+
+#content #cloud #legend .recovery_failed,
+#content #cloud #legend .recovery_failed circle,
+#content #graph-content .node.recovery_failed circle
+{
+ color: #C43C35;
+ stroke: #C43C35;
+ font-style: italic;
+}
+
+#content #graph-content .node.recovery_failed text
+{
+ fill: #C43C35;
+ font-style: italic;
+}
+
+#content #cloud #legend .down,
+#content #cloud #legend .down circle,
+#content #graph-content .node.down circle
+{
+ color: #c48f00;
+ stroke: #c48f00;
+}
+
+#content #graph-content .node.down text
+{
+ fill: #c48f00;
+}
+
+#content #cloud #legend .recovering,
+#content #cloud #legend .recovering circle,
+#content #graph-content .node.recovering circle
+{
+ color: #d5dd00;
+ stroke: #d5dd00;
+ font-style: italic;
+}
+
+#content #graph-content .node.recovering text
+{
+ fill: #d5dd00;
+ font-style: italic;
+}
+
+#content #cloud #legend .active,
+#content #cloud #legend .active circle,
+#content #graph-content .node.active circle
+{
+ color: #57A957;
+ stroke: #57A957;
+}
+
+#content #graph-content .node.active text
+{
+ fill: #57A957;
+}
+
+#content #cloud #legend .leader circle,
+#content #graph-content .node.leader circle
+{
+ fill: #000;
+}
+
+#content #cloud #legend .leader circle
+{
+ stroke: #fff;
+}
+
+#content #graph-content .link.lvl-2,
+#content #graph-content .link.leader
+{
+ stroke: #c0c0c0;
+}
+
+#content #cloud #legend .leader,
+#content #graph-content .leader text
+{
+ font-weight: bold;
+}
+
+#content #graph-content .node.lvl-0 circle
+{
+ stroke: #fff;
+}
+
+#content #graph-content .link.lvl-1
+{
+ stroke: #fff;
+}
+
+#cloudGraphPaging
+{
+ display: inline-block;
+ padding-top: 15px;
+ padding-bottom: 15px;
+}
+
+#nodesPaging
+{
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+#content #cloud #legend .shard-inactive,
+#content #cloud #legend .shard-inactive li,
+#content #cloud #legend .shard-inactive li text,
+#content #graph-content .shard-inactive text
+{
+ text-decoration: line-through;
+}
+#content #cloud #legend .shard-inactive circle,
+#content #graph-content .shard-inactive circle,
+#content #graph-content .link.shard-inactive
+{
+ stroke: #e9e9e9;
+}
+
+#content #cloud #legend .replicatype,
+#content #cloud #legend .replicatype rect,
+#content #graph-content .node.replicatype rect
+{
+ color: #007BA7;
+ stroke: #007BA7;
+ fill:rgb(0,123,167);
+
+}
+
+#content #graph-content .node.replicatype text
+{
+ fill: #007BA7;
+}
+
+/* Nodes tab */
+#nodes-table {
+ border-collapse: collapse;
+}
+
+#nodes-table td, #nodes-table th {
+ border: 1px solid #ddd;
+ padding: 8px;
+ vertical-align: top;
+}
+#nodes-table th {
+ font-weight: bolder;
+ font-stretch: extra-expanded;
+ background: #F8F8F8;
+}
+#content #cloud #nodes-content #nodes-table
+{
+ border-top: 1px solid #c0c0c0;
+ margin-top: 10px;
+ padding-top: 10px;
+}
+
+#content #cloud #nodes-content .host-name,
+#content #cloud #nodes-content .node-name a
+{
+ font-weight: bold;
+ font-size: larger;
+}
+
+#content #cloud #nodes-content a,
+#content #cloud #nodes-content a:hover,
+#content #cloud #nodes-content a.hover
+{
+ text-decoration: underline;
+ text-decoration-style: dotted;
+ text-decoration-color: #beebff;
+}
+
+#content #cloud #nodes-content a:hover,
+#content #cloud #nodes-content a.hover
+{
+ background-color: #beebff;
+}
+
+#content #cloud #nodes-content .host-spec,
+#content #cloud #nodes-content .node-spec,
+#content #cloud #nodes-content .node-spec a
+{
+ font-style: italic;
+}
+#content #cloud #nodes-content .node-uptime
+{
+ font-weight: bolder;
+ font-size: 20px;
+}
+#content #cloud #nodes-content .node-load,
+#content #cloud #nodes-content .node-cpu,
+#content #cloud #nodes-content .node-heap,
+#content #cloud #nodes-content .node-disk
+{
+ font-weight: bolder;
+ font-size: 20px;
+}
+
+#content #cloud #nodes-content .pct-normal
+{
+ color: darkgreen;
+}
+
+#content #cloud #nodes-content .pct-warn
+{
+ color: orange;
+}
+
+#content #cloud #nodes-content .pct-critical
+{
+ color: red;
+}
+
+#content #cloud #nodes-content .node-down
+{
+ font-weight: bold;
+ font-size: 12px;
+}
+
+#content #cloud #nodes-content .dead-node
+{
+ background-color: salmon;
+}
+
+/* Styling of reload and details buttons */
+#content #cloud #controls,
+#content #cloud #frame #zk-status-content #zk-controls
+{
+ display: block;
+ height: 30px;
+}
+
+#content #cloud .reload
+{
+ background-image: url( ../../img/ico/arrow-circle.png );
+ padding-left: 21px;
+ float: left;
+}
+
+#content #cloud .reload.loader
+{
+ padding-left: 0;
+}
+
+#content #cloud .details-button
+{
+ background-image: url(../../img/ico/ui-check-box-uncheck.png);
+ background-position: 0 50%;
+ color: #8D8D8D;
+ margin-top: 7px;
+ margin-left: 10px;
+ padding-left: 21px;
+ width: 30px;
+}
+
+#content #cloud .details-button.on
+{
+ background-image: url( ../../img/ico/ui-check-box.png );
+ color: #333;
+}
+
+#content #cloud #nodes-content .more
+{
+ font-style: italic;
+ text-underline: #0000fa;
+}
+
+/* Disk usage details d3 chart bars style */
+.chart {
+ background: #eee;
+ padding: 1px;
+}
+.chart div {
+ width:90%;
+}
+.chart div div {
+ display:inline-block;
+}
+.chart div div.rect {
+ transition: all 0.5s ease-out;
+ -moz-transition: all 0.5s ease-out;
+ -webkit-transition: all 0.5s ease-out;
+ width:0;
+ font: 10px sans-serif;
+ background-color: #4CAF50;
+ text-align: left;
+ padding: 3px;
+ margin: 2px;
+ color: #000000;
+ box-shadow: 1px 1px 1px #666;
+}
+
+#content #nodes-content .leader
+{
+ font-weight: bold;
+}
+
+#content #nodes-content .scroll-height-250
+{
+ max-height: 250px;
+ overflow-scrolling: auto;
+ overflow: auto;
+ /*overflow-y: auto;*/
+}
+
+#content #nodes-content .min-width-150
+{
+ min-width: 150px;
+}
+
+#content #cloud #nodes-content .node-cores
+{
+ min-width: 150px;
+}
+
+#content #nodes-content .core-details
+{
+ padding-left: 21px;
+}
+
+
+
+::-webkit-scrollbar {
+ -webkit-appearance: none;
+ width: 7px;
+}
+
+::-webkit-scrollbar-thumb {
+ border-radius: 4px;
+ background-color: rgba(0,0,0,.5);
+ -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
+}
+#content #cloud #zk-table td,
+#content #cloud #zk-table th
+{
+ border: 0px solid #ddd;
+ border-bottom: 0.50px solid #eee;
+ padding-right: 5px;
+ padding-left: 5px;
+}
+
+#content #cloud #zk-table th
+{
+ border-bottom: 1px solid #ddd;
+ border-top: 1px solid #ddd;
+ font-weight: bolder;
+ font-stretch: extra-expanded;
+ background: #F8F8F8;
+}
+
+#content #cloud #zk-table
+{
+ border-top: 1px solid #c0c0c0;
+ margin-top: 10px;
+ border-collapse: collapse;
+
+ font-weight: bold;
+}
+
+#content #cloud #zk-table #detail-divider
+{
+ background-color: #f8f8f8;
+ height: 10px;
+}
+
+.zookeeper-status
+{
+ font-size: large;
+}
+
+.zookeeper-errors
+{
+ background-color: lightpink;
+ padding: 10px;
+ border: 1px;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.zookeeper-errors li::before
+{
+ content: "- ";
+}
+
+.zkstatus-green
+{
+ color: darkgreen;
+}
+
+.zkstatus-yellow
+{
+ color: orange;
+}
+
+.zkstatus-red
+{
+ color: red;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/collections.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/collections.css
new file mode 100644
index 000000000..a4eccbe0e
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/collections.css
@@ -0,0 +1,378 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #collections
+{
+ position: relative;
+}
+
+#content #collections #ui-block
+{
+ background-color: #fff;
+ height: 200px;
+ position: absolute;
+ left: -5px;
+ top: 35px;
+ width: 500px;
+}
+
+#content #collections #frame
+{
+ float: right;
+ width: 86%;
+}
+
+#content #collections #navigation
+{
+ width: 12%;
+}
+
+#content #collections #navigation a
+{
+ padding-left: 5px;
+}
+
+#content #collections #navigation ul
+{
+ padding-top: 20px;
+}
+
+#content #collections #navigation hr
+{
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+#content #collections #frame .actions
+{
+ margin-bottom: 20px;
+ min-height: 30px;
+}
+
+#content #collections .actions div.action
+{
+ width: 320px;
+}
+
+#content #collections .actions div.action .cloud
+{
+}
+
+#content #collections .actions form .directory-note
+{
+ background-image: url( ../../img/ico/information-white.png );
+ background-position: 22% 1px;
+ color: #4D4D4D;
+}
+
+#content #collections .actions form .error
+{
+ background-image: url( ../../img/ico/cross-button.png );
+ background-position: 22% 1px;
+ color: #c00;
+ font-weight: bold;
+}
+
+#content #collections .actions form p
+{
+ padding-bottom: 8px;
+}
+
+#content #collections .actions form label
+{
+ float: left;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ text-align: right;
+ width: 25%;
+}
+
+#content #collections .actions form input,
+#content #collections .actions form select,
+#content #collections .actions form .chosen-container
+#content #collections .actions form .buttons,
+#content #collections .actions form .note span
+{
+ float: right;
+ width: 71%;
+}
+
+#content #collections .actions form .note span
+{
+ padding-left: 3px;
+ padding-right: 3px;
+}
+
+#content #collections .actions form .buttons
+{
+ padding-top: 10px;
+}
+
+#content #collections .actions form button.submit
+{
+ margin-right: 20px;
+}
+
+#content #collections .actions form button.submit span
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #collections .actions form button.reset span
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+
+#content #collections #navigation #add span
+{
+ background-image: url( ../../img/ico/plus-button.png );
+}
+
+#content #collections #navigation #create-alias span
+{
+ background-image: url( ../../img/ico/arrow-switch.png );
+}
+
+
+#content #collections .actions #delete-collection,
+#content #collections .actions #delete-alias
+{
+ margin-right: 20px;
+}
+
+#content #collections .actions #delete-collection span
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+
+#content #collections .actions #reload span
+{
+ background-image: url( ../../img/ico/arrow-circle.png );
+}
+
+#content #collections .actions #rename span
+{
+ background-image: url( ../../img/ico/ui-text-field-select.png );
+}
+
+#content #collections .actions #delete-alias span
+{
+ background-image: url( ../../img/ico/cross-button.png );
+}
+
+
+#content #collections .actions div.action
+{
+ background-color: #fff;
+ border: 1px solid #f0f0f0;
+ box-shadow: 5px 5px 10px #c0c0c0;
+ -moz-box-shadow: 5px 5px 10px #c0c0c0;
+ -webkit-box-shadow: 5px 5px 10px #c0c0c0;
+ position: absolute;
+ left: 50px;
+ top: 40px;
+ padding: 10px;
+}
+
+#content #collections .actions #add-replica span
+{
+ background-image: url( ../../img/ico/plus-button.png );
+}
+
+#content #collections div.action.add-replica {
+ border: 1px solid #f0f0f0;
+ width: 400px;
+ margin-right: 0px;
+ padding: 10px;
+ float: right;
+}
+
+#content #collections div.action.add-replica p {
+ padding-bottom: 8px;
+}
+
+#content #collections div.action.add-replica .buttons {
+ float: right;
+}
+
+#content #collections div.action.add-replica .buttons .submit span {
+ background-image: url( ../../img/ico/tick.png );
+ background-position: 0% 50%;
+}
+
+#content #collections div.action.add-replica .buttons .reset span {
+ background-image: url( ../../img/ico/cross.png );
+ background-position: 0% 50%;
+}
+
+#content #collections #data #alias-data h2 { background-image: url( ../../img/ico/box.png ); }
+#content #collections #data #collection-data h2 { background-image: url( ../../img/ico/box.png ); }
+#content #collections #data #shard-data h2 { background-image: url( ../../img/ico/sitemap.png ); }
+#content #collections #data #shard-data .replica h2 { background-image: url( ../../img/ico/node-slave.png ); }
+
+#content #collections #data #index-data
+{
+ margin-top: 10px;
+}
+
+#content #collections #data li
+{
+ padding-bottom: 3px;
+ padding-top: 3px;
+}
+
+#content #collections #data li.odd
+{
+ background-color: #f8f8f8;
+}
+
+#content #collections #data li dt
+{
+ float: left;
+ width: 50%;
+}
+
+#content #collections #data li dd
+{
+ float: right;
+ width: 50%;
+}
+
+#content #collections #data li dd.ico
+{
+ background-image: url( ../../img/ico/slash.png );
+ height: 20px;
+}
+
+#content #collections #data li dd.ico.ico-1
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #collections #data li dd.ico span
+{
+}
+
+#content #collections #add_advanced {
+ background-image: url( ../../img/ico/chevron-small-expand.png );
+ background-position: 100% 50%;
+ cursor: pointer;
+ padding-right: 21px;
+}
+
+#content #collections #add_advanced.open {
+ background-image: url( ../../img/ico/chevron-small.png );
+}
+
+#content #collections .shard {
+ margin-left: 40px;
+}
+
+#content #collections .replica {
+ margin-left: 40px;
+}
+
+#content #collections .shard h2 span.openReplica {
+ background-image: url( ../../img/ico/chevron-small-expand.png );
+ background-position: 100% 50%;
+ cursor: pointer;
+ padding-right: 21px;
+}
+
+#content #collections .shard h2 span.openReplica .open {
+ background-image: url( ../../img/ico/chevron-small.png );
+}
+
+#content #collections .replica h2 span {
+ background-image: url( ../../img/ico/chevron-small-expand.png );
+ background-position: 100% 50%;
+ cursor: pointer;
+ padding-right: 21px;
+}
+
+#content #collections .replica h2 span.rem {
+ background-image: url( ../../img/ico/cross.png );
+ background-position: 100% 50%;
+ cursor: pointer;
+ padding-right: 21px;
+ right:10px;
+}
+
+#content #collections .shard h2 span.rem {
+ background-image: url( ../../img/ico/cross.png );
+ background-position: 100% 50%;
+ cursor: pointer;
+ padding-right: 21px;
+ right:10px;
+}
+
+#content #collections .replica h2 span .open {
+ background-image: url( ../../img/ico/chevron-small.png );
+}
+
+#content #collections #add-replica {
+ float: right;
+}
+
+#content #collections .add select {
+ width: 100%;
+}
+
+#content #collections .chosen-container ul {
+ width: 100%;
+ padding: 5px;
+}
+
+#content #collections .delete-replica span
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+#content #collections .delete-replica button.submit span
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #collections .delete-shard span
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+#content #collections .delete-shard button.submit span
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #collections #node-name .chosen-container
+{
+ width: 100% !important;
+}
+
+#content #collections #alias-data {
+ float: left;
+ width: 35%;
+}
+
+#content #collections #collection-data {
+ float: left;
+ width: 35%;
+}
+
+#content #collections #shard-data {
+ float: left;
+ width: 65%;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/common.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/common.css
new file mode 100644
index 000000000..fecffb6d4
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/common.css
@@ -0,0 +1,771 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+*
+{
+ background-repeat: no-repeat;
+ margin: 0;
+ padding: 0;
+}
+
+body, h1, h2, h3, h4, h5, h6, a, button, input, select, option, textarea, th, td, div.ui-tooltip-content
+{
+ color: #333;
+ font: 12px/1.6em "Lucida Grande", "DejaVu Sans", "Bitstream Vera Sans", Verdana, Arial, sans-serif;
+}
+
+body
+{
+ padding: 30px;
+ text-align: center;
+}
+
+a, button
+{
+ cursor: pointer;
+}
+
+input, select, textarea
+{
+ border: 1px solid #c0c0c0;
+ padding: 2px;
+}
+
+input[readonly=readonly]
+{
+ border-color: #f0f0f0;
+}
+
+button
+{
+ background-color: #e6e6e6;
+ background-repeat: no-repeat;
+ background-image: -webkit-gradient( linear, 0 0, 0 100%, from( #ffffff ), color-stop( 25%, #ffffff ), to( #e6e6e6 ) );
+ background-image: -webkit-linear-gradient( #ffffff, #ffffff 25%, #e6e6e6 );
+ background-image: -moz-linear-gradient( top, #ffffff, #ffffff 25%, #e6e6e6 );
+ background-image: -ms-linear-gradient( #ffffff, #ffffff 25%, #e6e6e6 );
+ background-image: -o-linear-gradient( #ffffff, #ffffff 25%, #e6e6e6 );
+ background-image: linear-gradient( #ffffff, #ffffff 25%, #e6e6e6 );
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0 );
+ border: 1px solid #ccc;
+ border-bottom-color: #bbb;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ -khtml-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.2 ), 0 1px 2px rgba( 0, 0, 0, 0.05 );
+ -moz-box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.2 ), 0 1px 2px rgba( 0, 0, 0, 0.05 );
+ box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.2 ), 0 1px 2px rgba( 0, 0, 0, 0.05 );
+ color: #333;
+ cursor: pointer;
+ display: inline-block;
+ padding: 4px 7px 5px;
+ overflow: visible;
+ text-shadow: 0 1px 1px rgba( 255, 255, 255, 0.75 );
+ -webkit-transition: 0.1s linear background-image;
+ -moz-transition: 0.1s linear background-image;
+ -ms-transition: 0.1s linear background-image;
+ -o-transition: 0.1s linear background-image;
+ transition: 0.1s linear background-image;
+}
+
+button span
+{
+ background-position: 0 50%;
+ display: block;
+ padding-left: 21px;
+}
+
+button[type=submit], button.primary
+{
+ background-color: #0064cd;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient( linear, left top, left bottom, from( #049cdb ), to( #0064cd ) );
+ background-image: -moz-linear-gradient( top, #049cdb, #0064cd );
+ background-image: -ms-linear-gradient( top, #049cdb, #0064cd );
+ background-image: -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #049cdb ), color-stop( 100%, #0064cd ) );
+ background-image: -webkit-linear-gradient( top, #049cdb, #0064cd );
+ background-image: -o-linear-gradient( top, #049cdb, #0064cd );
+ background-image: linear-gradient( top, #049cdb, #0064cd );
+ border-color: #0064cd #0064cd #003f81;
+ border-color: rgba( 0, 0, 0, 0.1 ) rgba( 0, 0, 0, 0.1 ) rgba( 0, 0, 0, 0.25 );
+ color: #ffffff;
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0 );
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+
+button.success
+{
+ background-color: #57a957;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient( linear, left top, left bottom, from( #62c462 ), to( #57a957 ) );
+ background-image: -moz-linear-gradient( top, #62c462, #57a957 );
+ background-image: -ms-linear-gradient( top, #62c462, #57a957 );
+ background-image: -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #62c462 ), color-stop( 100%, #57a957 ) );
+ background-image: -webkit-linear-gradient( top, #62c462, #57a957 );
+ background-image: -o-linear-gradient( top, #62c462, #57a957 );
+ background-image: linear-gradient( top, #62c462, #57a957 );
+ border-color: #57a957 #57a957 #3d773d;
+ border-color: rgba( 0, 0, 0, 0.1 ) rgba( 0, 0, 0, 0.1 ) rgba( 0, 0, 0, 0.25 );
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#62c462', endColorstr='#57a957', GradientType=0 );
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba( 0, 0, 0, 0.25 );
+}
+
+button.warn
+{
+ background-color: #c43c35;
+ background-repeat: repeat-x;
+ background-image: -khtml-gradient( linear, left top, left bottom, from( #ee5f5b ), to( #c43c35 ) );
+ background-image: -moz-linear-gradient( top, #ee5f5b, #c43c35 );
+ background-image: -ms-linear-gradient( top, #ee5f5b, #c43c35 );
+ background-image: -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #ee5f5b ), color-stop( 100%, #c43c35 ) );
+ background-image: -webkit-linear-gradient( top, #ee5f5b, #c43c35 );
+ background-image: -o-linear-gradient( top, #ee5f5b, #c43c35 );
+ background-image: linear-gradient( top, #ee5f5b, #c43c35 );
+ border-color: #c43c35 #c43c35 #882a25;
+ border-color: rgba( 0, 0, 0, 0.1 ) rgba( 0, 0, 0, 0.1 ) rgba( 0, 0, 0, 0.25 );
+ color: #ffffff;
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0 );
+ text-shadow: 0 -1px 0 rgba( 0, 0, 0, 0.25 );
+}
+
+a
+{
+ text-decoration: none;
+}
+
+pre
+{
+ color: #333;
+ text-align: left;
+}
+
+abbr
+{
+ cursor: help;
+}
+
+ul
+{
+ list-style: none;
+}
+
+.clearfix:after { clear: both; content: "."; display: block; font-size: 0; height: 0; visibility: hidden; }
+.clearfix { display: block; }
+
+.loader
+{
+ background-image: url( ../../img/loader.gif ) !important;
+}
+
+.loader-light
+{
+ background-image: url( ../../img/loader-light.gif ) !important;
+}
+
+.universal-loader {
+ position: absolute;
+ left: -16px;
+ top: 0px;
+ width: 16px;
+ height: 16px;
+}
+
+#wrapper
+{
+ position: relative;
+ margin: 0 auto;
+ margin-bottom: 30px;
+ text-align: left;
+}
+
+#header
+{
+ padding-bottom: 10px;
+ position: fixed;
+ z-index: 42;
+}
+
+.scroll #header
+{
+ position: absolute;
+}
+
+#header #solr
+{
+ background-image: url( ../../img/solr.svg );
+ background-size: 128px;
+ display: block;
+ height: 78px;
+ width: 150px;
+}
+
+#header #solr span
+{
+ display: none;
+}
+
+#main
+{
+ min-width: 750px;
+ position: relative;
+}
+
+#main.error
+{
+ border: 0;
+ min-height: 0;
+ padding-top: 20px;
+}
+
+#main.error .message
+{
+ background-color: #f00;
+ background-image: url( ../../img/ico/construction.png );
+ background-position: 10px 50%;
+ color: #fff;
+ font-weight: bold;
+ margin-left: 150px;
+ margin-bottom: 20px;
+ padding: 10px;
+ padding-left: 35px;
+}
+
+#main.error .code
+{
+ border: 1px solid #c0c0c0;
+ padding: 5px;
+}
+
+#meta
+{
+ position: absolute;
+ bottom: -26px;
+ right: 0;
+}
+
+#meta li
+{
+ float: left;
+}
+
+#meta li a
+{
+ background-position: 10px 50%;
+ display: block;
+ height: 25px;
+ line-height: 25px;
+ padding-left: 31px;
+ padding-right: 10px;
+}
+
+#meta li a:hover
+{
+ background-color: #f0f0f0;
+}
+
+#meta .documentation a { background-image: url( ../../img/ico/document-text.png ); }
+#meta .issues a { background-image: url( ../../img/ico/bug.png ); }
+#meta .irc a { background-image: url( ../../img/ico/users.png ); }
+#meta .mailinglist a { background-image: url( ../../img/ico/mail.png ); }
+#meta .wiki-query-syntax a { background-image: url( ../../img/ico/script-code.png ); }
+
+#environment
+{
+ background-image: url( ../../img/ico/box.png );
+ background-position: 5px 50%;
+ font-weight: bold;
+ padding: 5px 10px;
+ padding-left: 26px;
+}
+
+.has-environment #environment
+{
+ display: block;
+}
+
+#environment.prod
+{
+ background-color: #c37f7f;
+ color: #fff;
+}
+
+#environment.stage
+{
+ background-color: orange;
+ color: #fff;
+}
+
+#environment.test
+{
+ background-color: #f5f5b2;
+}
+
+#environment.dev
+{
+ background-color: #cce7cc;
+}
+
+.header-message
+{
+ border: 1px solid #f00;
+ margin-left: 150px;
+ margin-bottom: 20px;
+}
+
+.header-message h2,
+.header-message ul,
+.header-message p
+{
+ padding: 10px;
+}
+
+.header-message h2
+{
+ background-color: #f00;
+ color: #fff;
+ font-weight: bold;
+}
+
+.header-message p
+{
+ color: #4D4D4D;
+ padding-top: 0;
+}
+
+#loading
+#http-exception
+{
+ display: none;
+}
+
+.exception
+{
+ background-color: #f00;
+ background-image: url( ../../img/ico/construction.png );
+ background-position: 10px 50%;
+ color: #fff;
+ font-weight: bold;
+ margin-bottom: 20px;
+ padding: 10px;
+ padding-left: 35px;
+}
+
+#content-wrapper
+{
+ margin-left: 150px;
+ border: 1px solid #c0c0c0;
+ min-height: 500px;
+}
+
+#content
+{
+ padding: 10px;
+}
+
+#content > .loader
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content iframe
+{
+ border: 0;
+ display: block;
+ min-height: 400px;
+ width: 100%;
+}
+
+#content .block
+{
+ margin-bottom: 10px;
+}
+
+#content .block h2
+{
+ background-color: #fafafa;
+ background-position: 5px 50%;
+ border-bottom: 1px solid #f0f0f0;
+ font-weight: bold;
+ padding: 5px;
+ padding-left: 26px;
+}
+
+#content .block.disabled,
+#content .block.disabled h2
+{
+ color: #c0c0c0;
+}
+
+#content .block .message,
+#content .block .content
+{
+ padding: 5px;
+}
+
+/* syntax */
+
+pre.syntax
+{
+ overflow: auto;
+}
+
+pre.syntax code
+{
+ display: block;
+ color: #000;
+}
+
+pre.syntax .comment,
+pre.syntax .template_comment,
+pre.syntax .diff .header,
+pre.syntax .javadoc
+{
+ color: #998;
+ font-style: italic;
+}
+
+pre.syntax .keyword,
+pre.syntax .css .rule .keyword,
+pre.syntax .winutils,
+pre.syntax .javascript .title,
+pre.syntax .lisp .title,
+pre.syntax .subst
+{
+ color: #000;
+ font-weight: bold;
+}
+
+pre.syntax .number,
+pre.syntax .hexcolor
+{
+ color: #40a070;
+}
+
+pre.syntax.language-json .number
+{
+ color: blue;
+}
+
+pre.syntax.language-json .literal
+{
+ color: firebrick;
+}
+
+pre.syntax .string,
+pre.syntax .tag .value,
+pre.syntax .phpdoc,
+pre.syntax .tex .formula
+{
+ color: #d14;
+}
+
+pre.syntax.language-json .string
+{
+ color: green;
+}
+
+pre.syntax .title,
+pre.syntax .id
+{
+ color: #900;
+ font-weight: bold;
+}
+
+pre.syntax .javascript .title,
+pre.syntax .lisp .title,
+pre.syntax .subst
+{
+ font-weight: normal;
+}
+
+pre.syntax .class .title,
+pre.syntax .tex .command
+{
+ color: #458;
+ font-weight: bold;
+}
+
+pre.syntax .tag,
+pre.syntax .css .keyword,
+pre.syntax .html .keyword,
+pre.syntax .tag .title,
+pre.syntax .django .tag .keyword
+{
+ color: #000080;
+ font-weight: normal;
+}
+
+pre.syntax .attribute,
+pre.syntax .variable,
+pre.syntax .instancevar,
+pre.syntax .lisp .body
+{
+ color: #008080;
+}
+
+pre.syntax.language-json .attribute
+{
+ color: black;
+ font-weight: bold;
+}
+
+pre.syntax .regexp
+{
+ color: #009926;
+}
+
+pre.syntax .class
+{
+ color: #458;
+ font-weight: bold;
+}
+
+pre.syntax .symbol,
+pre.syntax .ruby .symbol .string,
+pre.syntax .ruby .symbol .keyword,
+pre.syntax .ruby .symbol .keymethods,
+pre.syntax .lisp .keyword,
+pre.syntax .tex .special
+{
+ color: #990073;
+}
+
+pre.syntax .builtin,
+pre.syntax .built_in,
+pre.syntax .lisp .title
+{
+ color: #0086b3;
+}
+
+pre.syntax .preprocessor,
+pre.syntax .pi,
+pre.syntax .doctype,
+pre.syntax .shebang,
+pre.syntax .cdata
+{
+ color: #999;
+ font-weight: bold;
+}
+
+pre.syntax .deletion
+{
+ background: #fdd;
+}
+
+pre.syntax .addition
+{
+ background: #dfd;
+}
+
+pre.syntax .diff .change
+{
+ background: #0086b3;
+}
+
+pre.syntax .chunk
+{
+ color: #aaa;
+}
+
+pre.syntax .tex .formula
+{
+ opacity: 0.5;
+}
+
+#content .tree li,
+#content .tree ins
+{
+ background-color: transparent;
+ background-image: url( ../../img/tree.png );
+ background-repeat: no-repeat;
+}
+
+#content .tree li
+{
+ background-position: -54px 0;
+ background-repeat: repeat-y;
+ line-height: 22px;
+}
+
+#content .tree li.jstree-last
+{
+ background:transparent;
+}
+
+#content .tree .jstree-open > ins
+{
+ background-position: -36px 0;
+}
+
+#content .tree .jstree-closed > ins
+{
+ background-position: -18px 0;
+}
+
+#content .tree .jstree-leaf > ins
+{
+ background-position: 0 0;
+}
+
+#content .tree .jstree-hovered
+{
+ background:#e7f4f9; border:1px solid #d8f0fa; padding:0 2px 0 1px;
+}
+
+#content .tree .jstree-clicked
+{
+ background:#beebff; border:1px solid #99defd; padding:0 2px 0 1px;
+}
+
+#content .tree a.active
+{
+ background-color: #f0f0f0;
+ color: #00f;
+}
+
+#content .tree a .jstree-icon
+{
+ background-image: url( ../../img/ico/folder.png );
+}
+
+#content .tree .jstree-leaf a .jstree-icon
+{
+ background-image: url( ../../img/ico/document-text.png );
+}
+
+#content .tree .jstree-search
+{
+ font-style:italic;
+}
+
+#content .tree a.jstree-search
+{
+ color:aqua;
+}
+
+#connection-box
+{
+ display: none;
+}
+
+#connection-status-modal
+{
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100%;
+ height: 100%;
+ background-color: #e6e6e6;
+ opacity: 0.5;
+ z-index: 100;
+}
+
+#connection-status-recovered
+{
+ z-index:102;
+}
+
+.connection-status
+{
+ position: absolute;
+ left: 200px;
+ right: 200px;
+ top: 40%;
+ height: 75px;
+ border: 1px solid #f00;
+ padding: 30px;
+ background-color: #fff;
+ opacity: 1;
+ z-index: 101;
+}
+
+.connection-status p
+{
+ background-image: url( ../../img/ico/network-status-busy.png );
+ background-position: 0 50%;
+ color: #800;
+ padding-left: 26px;
+}
+
+#connection-status-recovered p
+{
+ color: #080;
+ background-image: url( ../../img/ico/network-status.png );
+}
+
+#content .address-bar
+{
+ margin-bottom: 10px;
+ background-image: url( ../../img/ico/ui-address-bar.png );
+ background-position: 5px 50%;
+ border: 1px solid #f0f0f0;
+ box-shadow: 1px 1px 0 #f0f0f0;
+ -moz-box-shadow: 1px 1px 0 #f0f0f0;
+ -webkit-box-shadow: 1px 1px 0 #f0f0f0;
+ color: #4D4D4D;
+ display: block;
+ overflow: hidden;
+ padding: 5px;
+ padding-left: 26px;
+ white-space: nowrap;
+}
+
+#content .address-bar:focus,
+#content .address-bar:hover
+{
+ border-color: #c0c0c0;
+ box-shadow: 1px 1px 0 #d8d8d8;
+ -moz-box-shadow: 1px 1px 0 #d8d8d8;
+ -webkit-box-shadow: 1px 1px 0 #d8d8d8;
+ color: #333;
+}
+
+.exception .show-exception {
+ margin-top: 4px;
+ display: block;
+ position: absolute;
+ right: 10px;
+ top: 7px;
+ color: #fff;
+}
+
+#exception .show-exception a:hover {
+ color: #333;
+}
+
+.other-ui-link {
+ margin: 0px;
+ position: absolute;
+ right: 0px;
+ top: -20px;
+}
+
+.other-ui-link span,
+.new-ui-warning span.help {
+ background-image: url( ../../img/ico/information-white.png );
+ right: 0px;
+ padding-left: 16px;
+}
+
+.other-ui-link a.ul {
+ text-decoration: underline;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/cores.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/cores.css
new file mode 100644
index 000000000..0428c664b
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/cores.css
@@ -0,0 +1,225 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #cores
+{
+ position: relative;
+}
+
+#content #cores #ui-block
+{
+ background-color: #fff;
+ height: 200px;
+ position: absolute;
+ left: -5px;
+ top: 35px;
+ width: 500px;
+}
+
+#content #cores #frame
+{
+ float: right;
+ width: 86%;
+}
+
+#content #cores #navigation
+{
+ padding-top: 50px;
+ width: 12%;
+}
+
+#content #cores #navigation a
+{
+ padding-left: 5px;
+}
+
+#content #cores #frame .actions
+{
+ margin-bottom: 20px;
+ min-height: 30px;
+}
+
+#content #cores .actions div.action
+{
+ width: 320px;
+}
+
+#content #cores .actions div.action .cloud
+{
+}
+
+#content #cores .actions form .directory-note
+{
+ background-image: url( ../../img/ico/information-white.png );
+ background-position: 22% 1px;
+ color: #4D4D4D;
+}
+
+#content #cores .actions form .error
+{
+ background-image: url( ../../img/ico/cross-button.png );
+ background-position: 22% 1px;
+ color: #c00;
+ font-weight: bold;
+}
+
+#content #cores .actions form p
+{
+ padding-bottom: 8px;
+}
+
+#content #cores .actions form label
+{
+ float: left;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ text-align: right;
+ width: 25%;
+}
+
+#content #cores .actions form input,
+#content #cores .actions form select,
+#content #cores .actions form .buttons,
+#content #cores .actions form .note span
+{
+ float: right;
+ width: 71%;
+}
+
+#content #cores .actions form .note span
+{
+ padding-left: 3px;
+ padding-right: 3px;
+}
+
+#content #cores .actions form .buttons
+{
+ padding-top: 10px;
+}
+
+#content #cores .actions form button.submit
+{
+ margin-right: 20px;
+}
+
+#content #cores .actions form button.submit span
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #cores .actions form button.reset span
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+
+#content #cores .actions #add
+{
+ left: 0;
+ position: absolute;
+}
+
+#content #cores .actions #add span
+{
+ background-image: url( ../../img/ico/plus-button.png );
+}
+
+#content #cores .actions #unload
+{
+ margin-right: 20px;
+}
+
+#content #cores .actions #unload span
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+
+#content #cores .actions #reload span
+{
+ background-image: url( ../../img/ico/arrow-circle.png );
+}
+
+#content #cores .actions #rename span
+{
+ background-image: url( ../../img/ico/ui-text-field-select.png );
+}
+
+#content #cores .actions #swap span
+{
+ background-image: url( ../../img/ico/arrow-switch.png );
+}
+
+
+#content #cores .actions div.action
+{
+ background-color: #fff;
+ border: 1px solid #f0f0f0;
+ box-shadow: 5px 5px 10px #c0c0c0;
+ -moz-box-shadow: 5px 5px 10px #c0c0c0;
+ -webkit-box-shadow: 5px 5px 10px #c0c0c0;
+ position: absolute;
+ left: -50px;
+ top: 40px;
+ padding: 10px;
+}
+
+#content #cores #data #core-data h2 { background-image: url( ../../img/ico/box.png ); }
+#content #cores #data #index-data h2 { background-image: url( ../../img/ico/chart.png ); }
+
+#content #cores #data #index-data
+{
+ margin-top: 10px;
+}
+
+#content #cores #data li
+{
+ padding-bottom: 3px;
+ padding-top: 3px;
+}
+
+#content #cores #data li.odd
+{
+ background-color: #f8f8f8;
+}
+
+#content #cores #data li dt
+{
+ float: left;
+ width: 17%;
+}
+
+#content #cores #data li dd
+{
+ float: right;
+ width: 82%;
+}
+
+#content #cores #data li dd.ico
+{
+ background-image: url( ../../img/ico/slash.png );
+ height: 20px;
+}
+
+#content #cores #data li dd.ico.ico-1
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #cores #data li dd.ico span
+{
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/dashboard.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/dashboard.css
new file mode 100644
index 000000000..734d62a9d
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/dashboard.css
@@ -0,0 +1,179 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #dashboard .block
+{
+ background-image: none;
+ width: 49%;
+}
+
+#content #dashboard .fieldlist
+{
+ float: left;
+}
+
+#content #dashboard .fieldlist dt,
+#content #dashboard .fieldlist dd
+{
+ display: block;
+ float: left;
+}
+
+#content #dashboard .fieldlist dt
+{
+ clear: left;
+ margin-right: 2%;
+ text-align: right;
+ width: 23%;
+}
+
+#content #dashboard .fieldlist dd
+{
+ width: 74%;
+}
+
+#content #dashboard .fieldlist .index_optimized
+{
+ margin-top: 10px;
+}
+
+#content #dashboard .fieldlist .ico
+{
+ background-image: url( ../../img/ico/slash.png );
+ height: 20px;
+}
+
+#content #dashboard .fieldlist .ico.ico-1
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #dashboard .fieldlist .ico span
+{
+ display: none;
+}
+
+#content #dashboard #statistics .index_optimized.value a
+{
+ display: none;
+}
+
+#content #dashboard #statistics .index_optimized.value.ico-0 a
+{
+ background-color: #f0f0f0;
+ background-image: url( ../../img/ico/hammer-screwdriver.png );
+ background-position: 5px 50%;
+ border: 1px solid #c0c0c0;
+ display: block;
+ float: left;
+ margin-left: 50px;
+ padding: 1px 5px;
+ padding-left: 26px;
+}
+
+#content #dashboard #statistics .index_has-deletions
+{
+ display: none;
+}
+
+#content #dashboard #statistics .index_has-deletions.value.ico-0
+{
+ background-image: url( ../../img/ico/tick-red.png );
+}
+
+#content #dashboard #replication
+{
+ float: left;
+}
+
+#content #dashboard #replication .is-replicating
+{
+ background-position: 99% 50%;
+ display: block;
+}
+
+#content #dashboard #replication #details table thead td span
+{
+ display: none;
+}
+
+#content #dashboard #instance
+{
+ float: right;
+}
+
+#content #dashboard #instance .dir_impl
+{
+ margin-top: 10px;
+}
+
+#content #dashboard #healthcheck
+{
+ float: right;
+}
+
+#content #dashboard #healthcheck .ico
+{
+ background-image: url( ../../img/ico/slash.png );
+ height: 20px;
+ padding-left: 20px;
+ width: 60%;
+}
+
+#content #dashboard #healthcheck .ico.ico-1
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #dashboard #system h2 { background-image: url( ../../img/ico/server.png ); }
+#content #dashboard #statistics h2 { background-image: url( ../../img/ico/chart.png ); }
+#content #dashboard #replication h2 { background-image: url( ../../img/ico/node.png ); }
+#content #dashboard #replication.master h2 { background-image: url( ../../img/ico/node-master.png ); }
+#content #dashboard #replication.slave h2 { background-image: url( ../../img/ico/node-slave.png ); }
+#content #dashboard #instance h2 { background-image: url( ../../img/ico/server.png ); }
+#content #dashboard #collection h2 { background-image: url( ../../img/ico/book-open-text.png ); }
+#content #dashboard #shards h2 { background-image: url( ../../img/ico/documents-stack.png ); }
+
+#content #dashboard #shards { margin-left: 20px;}
+
+#dashboard #shards .shard h3.shard-title {
+ display: block;
+ background-color: #c8c8c8;
+ font-weight: bold;
+ padding: 3px;
+ padding-left: 30px;
+ margin-left: 20px;
+ margin-top: 20px;
+ background-image: url( ../../img/ico/document-text.png );
+ background-position-x: 10px;
+ background-position-y: 3px;
+}
+
+#dashboard #shards .shard .shard-detail {
+ margin-bottom: 25px;
+ margin-top: 7px;
+}
+
+#dashboard #shards .shard .replica {
+ background-color: #e4e4e4;
+}
+
+#dashboard #shards .shard .replica.odd {
+ background-color: #fff;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/dataimport.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/dataimport.css
new file mode 100644
index 000000000..6afb096ca
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/dataimport.css
@@ -0,0 +1,370 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #dataimport
+{
+ background-image: url( ../../img/div.gif );
+ background-position: 21% 0;
+ background-repeat: repeat-y;
+}
+
+#content #dataimport #frame
+{
+ float: right;
+ width: 78%;
+}
+
+#content #dataimport #form
+{
+ float: left;
+ width: 20%;
+}
+
+#content #dataimport #form #navigation
+{
+ border-right: 0;
+}
+
+#content #dataimport #form #navigation a
+{
+ background-image: url( ../../img/ico/status-offline.png );
+}
+
+#content #dataimport #form #navigation .current a
+{
+ background-image: url( ../../img/ico/status.png );
+}
+
+#content #dataimport #form form
+{
+ border-top: 1px solid #f0f0f0;
+ margin-top: 10px;
+ padding-top: 5px;
+}
+
+#content #dataimport #form label
+{
+ cursor: pointer;
+ display: block;
+ margin-top: 5px;
+}
+
+#content #dataimport #form input,
+#content #dataimport #form select,
+#content #dataimport #form textarea
+{
+ margin-bottom: 2px;
+ width: 100%;
+}
+
+#content #dataimport #form input
+{
+ width: 98%;
+}
+
+#content #dataimport #form button
+{
+ margin-top: 10px;
+}
+
+#content #dataimport #form .execute span
+{
+ background-image: url( ../../img/ico/document-import.png );
+}
+
+#content #dataimport #form .refresh-status span
+{
+ background-image: url( ../../img/ico/arrow-circle.png );
+}
+
+#content #dataimport #form .refresh-status span.success
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #dataimport #form #start
+{
+ float: left;
+ width: 47%;
+}
+
+#content #dataimport #form #rows
+{
+ float: right;
+ width: 47%;
+}
+
+#content #dataimport #form .checkbox input
+{
+ margin-bottom: 0;
+ width: auto;
+}
+
+#content #dataimport #form #auto-refresh-status
+{
+ margin-top: 20px;
+}
+
+#content #dataimport #form #auto-refresh-status a
+{
+ background-image: url( ../../img/ico/ui-check-box-uncheck.png );
+ background-position: 0 50%;
+ color: #4D4D4D;
+ display: block;
+ padding-left: 21px;
+}
+
+#content #dataimport #form #auto-refresh-status a.on,
+#content #dataimport #form #auto-refresh-status a:hover
+{
+ color: #333;
+}
+
+#content #dataimport #form #auto-refresh-status a.on
+{
+ background-image: url( ../../img/ico/ui-check-box.png );
+}
+
+#content #dataimport #current_state
+{
+ padding: 10px;
+ margin-bottom: 20px;
+}
+
+#content #dataimport #current_state .last_update,
+#content #dataimport #current_state .info
+{
+ display: block;
+ padding-left: 21px;
+}
+
+#content #dataimport #current_state .last_update
+{
+ color: #4D4D4D;
+ font-size: 11px;
+}
+
+#content #dataimport #current_state .info
+{
+ background-position: 0 1px;
+ position: relative;
+}
+
+#content #dataimport #current_state .info .details span
+{
+ color: #c0c0c0;
+}
+
+#content #dataimport #current_state .info .abort-import
+{
+ position: absolute;
+ right: 0px;
+ top: 0px;
+}
+
+#content #dataimport #current_state .info .abort-import span
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+
+#content #dataimport #current_state .info .abort-import.success span
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #dataimport #current_state.indexing
+{
+ background-color: #f9f9f9;
+}
+
+#content #dataimport #current_state.indexing .info
+{
+ background-image: url( ../../img/ico/hourglass.png );
+}
+
+#content #dataimport #current_state.indexing .info .abort-import
+{
+ display: block;
+}
+
+#content #dataimport #current_state.success
+{
+ background-color: #e6f3e6;
+}
+
+#content #dataimport #current_state.success .info
+{
+ background-image: url( ../../img/ico/tick-circle.png );
+}
+
+#content #dataimport #current_state.success .info strong
+{
+ color: #080;
+}
+
+#content #dataimport #current_state.aborted
+{
+ background-color: #f3e6e6;
+}
+
+#content #dataimport #current_state.aborted .info
+{
+ background-image: url( ../../img/ico/slash.png );
+}
+
+#content #dataimport #current_state.aborted .info strong
+{
+ color: #800;
+}
+
+#content #dataimport #current_state.failure
+{
+ background-color: #f3e6e6;
+}
+
+#content #dataimport #current_state.failure .info
+{
+ background-image: url( ../../img/ico/cross-button.png );
+}
+
+#content #dataimport #current_state.failure .info strong
+{
+ color: #800;
+}
+
+#content #dataimport #current_state.idle
+{
+ background-color: #e6e6ff;
+}
+
+#content #dataimport #current_state.idle .info
+{
+ background-image: url( ../../img/ico/information.png );
+}
+
+#content #dataimport #error
+{
+ background-color: #f00;
+ background-image: url( ../../img/ico/construction.png );
+ background-position: 10px 50%;
+ color: #fff;
+ font-weight: bold;
+ margin-bottom: 20px;
+ padding: 10px;
+ padding-left: 35px;
+}
+
+#content #dataimport .block h2
+{
+ border-color: #c0c0c0;
+ padding-left: 5px;
+ position: relative;
+}
+
+#content #dataimport .block.hidden h2
+{
+ border-color: #fafafa;
+}
+
+#content #dataimport .block h2 a.toggle
+{
+ background-image: url( ../../img/ico/toggle-small.png );
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #dataimport .block.hidden h2 a.toggle
+{
+ background-image: url( ../../img/ico/toggle-small-expand.png );
+}
+
+#content #dataimport #config h2 a.r
+{
+ background-position: 3px 50%;
+ display: block;
+ float: right;
+ margin-left: 10px;
+ padding-left: 24px;
+ padding-right: 3px;
+}
+
+#content #dataimport #config h2 a.reload_config
+{
+ background-image: url( ../../img/ico/arrow-circle.png );
+}
+
+#content #dataimport #config h2 a.reload_config.success
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #dataimport #config h2 a.reload_config.error
+{
+ background-image: url( ../../img/ico/slash.png );
+}
+
+#content #dataimport #config h2 a.debug_mode
+{
+ background-image: url( ../../img/ico/hammer.png );
+ color: #4D4D4D;
+}
+
+#content #dataimport #config.debug_mode h2 a.debug_mode
+{
+ background-color: #ff0;
+ background-image: url( ../../img/ico/hammer-screwdriver.png );
+ color: #333;
+}
+
+#content #dataimport #config .content
+{
+ padding: 5px 2px;
+}
+
+#content #dataimport #dataimport_config .loader
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #dataimport #dataimport_config .formatted
+{
+ border: 1px solid #fff;
+ display: block;
+ padding: 2px;
+}
+
+#content #dataimport .debug_mode #dataimport_config .editable
+{
+ display: block;
+}
+
+#content #dataimport #dataimport_config .editable textarea
+{
+ font-family: monospace;
+ height: 120px;
+ min-height: 60px;
+ width: 100%;
+}
+
+#content #dataimport #debug_response em
+{
+ color: #4D4D4D;
+ font-style: normal;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/documents.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/documents.css
new file mode 100644
index 000000000..2f0ba12ed
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/documents.css
@@ -0,0 +1,179 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #documents
+{
+ background-image: url( ../../img/div.gif );
+ background-position: 45% 0;
+ background-repeat: repeat-y;
+}
+
+#content #documents #form
+{
+ float: left;
+ /*width: 21%;*/
+}
+
+#content #documents #form label
+{
+ cursor: pointer;
+ display: block;
+ margin-top: 5px;
+}
+
+#content #documents #form input,
+#content #documents #form select,
+#content #documents #form textarea
+{
+ margin-bottom: 2px;
+ /*width: 100%;*/
+}
+
+#content #documents #form input,
+#content #documents #form textarea
+{
+ margin-bottom: 2px;
+ /*width: 98%;*/
+}
+
+#content #documents #form #start
+{
+ float: left;
+ /*width: 45%;*/
+}
+
+#content #documents #form #rows
+{
+ float: right;
+ /* width: 45%;*/
+}
+
+#content #documents #form .checkbox input
+{
+ margin-bottom: 0;
+ width: auto;
+}
+
+#content #documents #form fieldset,
+#content #documents #form .optional.expanded
+{
+ border: 1px solid #fff;
+ border-top: 1px solid #c0c0c0;
+ margin-bottom: 5px;
+}
+
+#content #documents #form fieldset.common
+{
+ margin-top: 10px;
+}
+
+#content #documents #form fieldset legend,
+#content #documents #form .optional.expanded legend
+{
+ display: block;
+ margin-left: 10px;
+ padding: 0px 5px;
+}
+
+#content #documents #form fieldset legend label
+{
+ margin-top: 0;
+}
+
+#content #documents #form fieldset .fieldset
+{
+ border-bottom: 1px solid #f0f0f0;
+ margin-bottom: 5px;
+ padding-bottom: 10px;
+}
+
+#content #documents #form .optional
+{
+ border: 0;
+}
+
+#content #documents #form .optional legend
+{
+ margin-left: 0;
+ padding-left: 0;
+}
+
+#content #documents #form .optional.expanded .fieldset
+{
+ display: block;
+}
+
+#content #documents #result
+{
+ float: right;
+ width: 54%;
+}
+
+#content #documents #result #url
+{
+ margin-bottom: 10px;
+ background-image: url( ../../img/ico/ui-address-bar.png );
+ background-position: 5px 50%;
+ border: 1px solid #f0f0f0;
+ box-shadow: 1px 1px 0 #f0f0f0;
+ -moz-box-shadow: 1px 1px 0 #f0f0f0;
+ -webkit-box-shadow: 1px 1px 0 #f0f0f0;
+ color: #c0c0c0;
+ display: block;
+ overflow: hidden;
+ padding: 5px;
+ padding-left: 26px;
+ white-space: nowrap;
+}
+
+#content #documents #result #url:focus,
+#content #documents #result #url:hover
+{
+ border-color: #c0c0c0;
+ box-shadow: 1px 1px 0 #d8d8d8;
+ -moz-box-shadow: 1px 1px 0 #d8d8d8;
+ -webkit-box-shadow: 1px 1px 0 #d8d8d8;
+ color: #333;
+}
+
+#content #documents #result #response
+{
+}
+
+#content #documents #result #response pre
+{
+ padding-left: 20px;
+}
+
+.description{
+ font-weight: bold;
+}
+
+#document-type{
+ padding-bottom: 5px;
+}
+
+#wizard-fields div{
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+#wiz-field-data, #wiz-field-data span{
+ vertical-align: top;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/files.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/files.css
new file mode 100644
index 000000000..46b3e8c30
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/files.css
@@ -0,0 +1,53 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #files #tree-holder
+{
+ float: left;
+ width: 20%;
+}
+
+#content #files #tree-holder li
+{
+ overflow: hidden;
+}
+
+#content #files form .buttons button
+{
+ float: right;
+}
+
+#content #files #file-content
+{
+ float: right;
+ position: relative;
+ width: 78%;
+ min-height: 100px
+}
+
+#content #files .show #file-content
+{
+ display: block;
+}
+
+#content #files #file-content .response
+{
+ border: 1px solid transparent;
+ padding: 2px;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/index.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/index.css
new file mode 100644
index 000000000..c53e3230a
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/index.css
@@ -0,0 +1,216 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #index .bar-desc
+{
+ color: #4D4D4D;
+ font-weight: normal;
+ margin-left: 10px;
+ white-space: pre;
+}
+
+#content #index .bar-holder
+{
+ box-shadow: 5px 5px 10px #c0c0c0;
+ -moz-box-shadow: 5px 5px 10px #c0c0c0;
+ -webkit-box-shadow: 5px 5px 10px #c0c0c0;
+ height: 35px;
+}
+
+#content #index .bar-holder .bar
+{
+ height: 100%;
+ position: relative;
+}
+
+#content #index .bar-holder div .val
+{
+ border-right: 1px solid #f00;
+ display: block;
+ padding-right: 5px;
+ position: absolute;
+ right: 0;
+ top: 35px;
+ white-space: nowrap;
+}
+
+#content #index .bar-holder .bar-max.bar
+{
+ background-color: #f0f0f0;
+}
+
+#content #index .bar-holder .bar-max.val
+{
+ border-color: #f0f0f0;
+ color: #8D8D8D;
+}
+
+#content #index .bar-holder .bar-total.bar
+{
+ background-color: #c0c0c0;
+}
+
+#content #index .bar-holder .bar-total.val
+{
+ border-color: #c0c0c0;
+ color: #4D4D4D;
+}
+
+#content #index .bar-holder .bar-used.bar
+{
+ background-color: #969696;
+}
+
+#content #index .bar-holder .bar-used.val
+{
+ border-color: #969696;
+ color: #969696;
+}
+
+#content #index .bar-holder.bar-lvl-2 .bar-max.val { padding-top: 25px; }
+#content #index .bar-holder.bar-lvl-2 .bar-total.val { padding-top: 5px; }
+#content #index .bar-holder.bar-lvl-2 { margin-bottom: 45px; }
+
+#content #index .bar-holder.bar-lvl-3 .bar-max.val { padding-top: 45px; }
+#content #index .bar-holder.bar-lvl-3 .bar-total.val { padding-top: 25px; }
+#content #index .bar-holder.bar-lvl-3 .bar-used.val { padding-top: 5px; }
+#content #index .bar-holder.bar-lvl-3 { margin-bottom: 65px; }
+
+#content #index .loader
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #index .index-left
+{
+ float: left;
+ width: 55%;
+}
+
+#content #index .index-right
+{
+ float: right;
+ width: 40%;
+}
+
+#content #index .data
+{
+ padding-bottom: 12px;
+ overflow: hidden;
+}
+
+#content #index .data:hover
+{
+ overflow-x: auto;
+}
+
+#content #index .data li
+{
+ padding-top: 3px;
+ padding-bottom: 3px;
+}
+
+#content #index .data li dt
+{
+ float: left;
+ white-space: nowrap;
+ width: 20%;
+}
+
+#content #index .data li dd
+{
+ float: right;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 80%
+}
+
+#content #index .data li dd.odd
+{
+ background-color: #f0f0f0;
+}
+
+#content #index .data dt span
+{
+ background-position: 1px 50%;
+ display: block;
+ padding-left: 22px;
+}
+
+#content #index #instance h2 { background-image: url( ../../img/ico/server.png ); }
+#content #index #instance .start_time dt span { background-image: url( ../../img/ico/clock-select.png ); }
+
+#content #index #versions h2 { background-image: url( ../../img/ico/property.png ); }
+#content #index #versions .solr span { background-image: url( ../../img/solr-ico.png ); }
+#content #index #versions .lucene span { background-image: url( ../../img/lucene-ico.png ); }
+
+#content #index #jvm h2 { background-image: url( ../../img/ico/jar.png ); }
+#content #index #jvm .jvm_version dt span { background-image: url( ../../img/ico/jar.png ); }
+#content #index #jvm .processors dt span { background-image: url( ../../img/ico/processor.png ); }
+#content #index #jvm .command_line_args dt span { background-image: url( ../../img/ico/terminal.png ); }
+
+#content #index #system h2 { background-image: url( ../../img/ico/system-monitor.png ); }
+
+#content #index #system
+{
+ position: relative;
+}
+
+#content #index #system .reload
+{
+ background-image: url( ../../img/ico/arrow-circle.png );
+ background-position: 50% 50%;
+ display: block;
+ height: 30px;
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 30px;
+}
+
+#content #index #system .reload.loader
+{
+ padding-left: 0;
+}
+
+#content #index #system .reload span
+{
+ display: none;
+}
+
+#content #index #system .content p
+{
+ margin-top: 10px;
+ margin-bottom: 5px;
+}
+
+#content #index #system .content .no-info
+{
+ color: #4D4D4D;
+ display: none;
+ font-style: italic;
+}
+
+#content #index #jvm-memory h2 { background-image: url( ../../img/ico/memory.png ); }
+
+#content #index #jvm-memory-bar
+{
+ margin-top: 20px;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/java-properties.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/java-properties.css
new file mode 100644
index 000000000..d23fadfa4
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/java-properties.css
@@ -0,0 +1,47 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #java-properties .loader
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #java-properties li
+{
+ padding-top: 3px;
+ padding-bottom: 3px;
+}
+
+#content #java-properties li.odd
+{
+ background-color: #f8f8f8;
+}
+
+#content #java-properties li dt
+{
+ float: left;
+ width: 29%;
+}
+
+#content #java-properties li dd
+{
+ float: right;
+ width: 70%
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/jquery-ui.min.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/jquery-ui.min.css
new file mode 100644
index 000000000..4cd94c6c3
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/jquery-ui.min.css
@@ -0,0 +1,28 @@
+/*! jQuery UI - v1.12.1 - 2017-10-31
+* http://jqueryui.com
+
+Available for use under the MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+* Includes: core.css, tooltip.css, theme.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{text-align:left;border-width:2px}.ui-widget{font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/jquery-ui.structure.min.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/jquery-ui.structure.min.css
new file mode 100644
index 000000000..d6f2f86ca
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/jquery-ui.structure.min.css
@@ -0,0 +1,24 @@
+/*! jQuery UI - v1.12.1 - 2017-10-31
+* http://jqueryui.com
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/logging.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/logging.css
new file mode 100644
index 000000000..e28e771cf
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/logging.css
@@ -0,0 +1,384 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #logging .loader
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #logging .block h2
+{
+ background-image: url( ../../img/ico/document-text.png );
+ margin-bottom: 10px;
+}
+
+#content #logging .block h2 span span
+{
+ color: #c0c0c0;
+ font-weight: normal;
+ margin-left: 10px;
+}
+
+#content #logging #viewer
+{
+ position: relative;
+}
+
+#content #logging #viewer time
+{
+ white-space: pre;
+}
+
+#content #logging #viewer #footer
+{
+ margin-top: 20px;
+}
+
+#content #logging #viewer #state
+{
+ background-position: 0 50%;
+ float: left;
+ color: #4D4D4D;
+ width: 45%;
+}
+
+#content #logging #viewer #date-format
+{
+ float: right;
+}
+
+#content #logging #viewer #date-format a
+{
+ background-image: url( ../../img/ico/ui-check-box-uncheck.png );
+ background-position: 0 50%;
+ color: #4D4D4D;
+ display: block;
+ padding-left: 21px;
+}
+
+#content #logging #viewer #date-format a:hover
+{
+ color: #008;
+}
+
+#content #logging #viewer #date-format a.on
+{
+ background-image: url( ../../img/ico/ui-check-box.png );
+ color: #333;
+}
+
+#content #logging #viewer #refresh-toggle {
+ background-position: 0 50%;
+ padding-left: 21px;
+ width:45%;
+}
+
+#content #logging #viewer #refresh-toggle.active {
+ background-image: url( ../../img/ico/cross-button.png );
+}
+
+#content #logging #viewer #refresh-toggle.stopped {
+ background-image: url( ../../img/ico/arrow-circle.png ) ;
+}
+
+#content #logging #viewer table
+{
+ border-collapse: collapse;
+ width: 100%;
+}
+
+#content #logging #viewer th,
+#content #logging #viewer td a,
+#content #logging #viewer tbody .trace td
+{
+ padding: 3px 10px;
+}
+
+#content #logging #viewer td
+{
+ vertical-align: top;
+}
+
+#content #logging #viewer td a
+{
+ display: block;
+}
+
+#content #logging #viewer thead th
+{
+ font-weight: bold;
+ text-align: left;
+}
+
+#content #logging #viewer tbody td,
+#content #logging #viewer tfoot td
+{
+ border-top: 1px solid #f0f0f0;
+}
+
+#content #logging #viewer thead th.message
+{
+ width:100%;
+}
+
+#content #logging #viewer tbody td.span a
+{
+ padding-left: 0;
+ padding-right: 0;
+}
+
+#content #logging #viewer tbody span
+{
+ display: block;
+ padding-left: 10px;
+ padding-right: 10px;
+}
+
+#content #logging #viewer tbody .level-info .level span { background-color: #ebf5eb; }
+#content #logging #viewer tbody .level-warning span { background-color: #FFD930; }
+#content #logging #viewer tbody .level-severe span { background-color: #c43c35; color: #fff; }
+
+#content #logging #viewer tbody .level-debug span { background-color: #ebf5eb; }
+#content #logging #viewer tbody .level-warn span { background-color: #FFD930; }
+#content #logging #viewer tbody .level-error span { background-color: #FF6130; }
+#content #logging #viewer tbody .level-fatal span { background-color: #c43c35; }
+
+#content #logging #viewer tbody .has-trace a
+{
+ cursor: pointer;
+}
+
+#content #logging #viewer tbody .has-trace a:hover
+{
+ color: #008;
+}
+
+#content #logging #viewer tbody .has-trace .message a
+{
+ background-image: url( ../../img/ico/information.png );
+ background-position: 100% 50%;
+ display: block;
+ padding-right: 21px;
+}
+
+#content #logging #viewer tbody .has-trace.open .message a
+{
+ background-image: url( ../../img/ico/information-white.png );
+}
+
+#content #logging #viewer tbody .trace td
+{
+ border-top: 0;
+ color: #c0c0c0;
+}
+
+#content #logging #viewer tfoot td
+{
+ color: #4D4D4D;
+}
+
+#content #logging .jstree > li
+{
+ margin-left: 0;
+}
+
+#content #logging .jstree li
+{
+ position: relative;
+}
+
+#content #logging .jstree .level-finest { background-color: #d5e5fc; }
+#content #logging .jstree .level-fine { background-color: #d5fafc; }
+#content #logging .jstree .level-config { background-color: #e6fded; }
+#content #logging .jstree .level-info { background-color: #fafcd7; }
+#content #logging .jstree .level-warning { background-color: #fcecd5; }
+#content #logging .jstree .level-severe { background-color: #fcdcda; }
+#content #logging .jstree .level-off { background-color: #ffffff; }
+
+/* Log4j */
+#content #logging .jstree .level-all { background-color: #9EDAFF; }
+#content #logging .jstree .level-trace { background-color: #d5e5fc; }
+#content #logging .jstree .level-debug { background-color: #d5fafc; }
+#content #logging .jstree .level-warn { background-color: #e6fded; }
+#content #logging .jstree .level-error { background-color: #fcecd5; }
+#content #logging .jstree .level-fatal { background-color: #fcdcda; }
+
+
+#content #logging .jstree a
+{
+ height: 17px;
+ line-height: 17px;
+ padding: 0;
+ width: 90%;
+}
+
+#content #logging .jstree a:hover
+{
+ color: #008;
+}
+
+#content #logging .jstree a span.ns
+{
+ display: none;
+}
+
+#content #logging.ns .jstree a span.ns
+{
+ display: inline;
+}
+
+#content #logging .jstree a span.name
+{
+ background-position: 100% 50%;
+ cursor: pointer;
+ padding-right: 21px;
+}
+
+#content #logging .jstree a span.name em
+{
+ color: #f00;
+ font-style: normal;
+ text-transform: uppercase;
+}
+
+#content #logging .jstree a.trigger.set
+{
+ font-weight: bold;
+}
+
+#content #logging .jstree a:hover span.name
+{
+ background-image: url( ../../img/ico/pencil-small.png );
+}
+
+#content #logging .jstree .selector-holder
+{
+ position: absolute;
+ top: -2px;
+ z-index: 700;
+}
+
+#content #logging .jstree .selector-holder.open
+{
+ background-color: #fff;
+ margin-left: -19px;
+ z-index: 800;
+}
+
+#content #logging .jstree li .selector-holder { left: 440px; }
+#content #logging .jstree li li .selector-holder { left: 422px; }
+#content #logging .jstree li li li .selector-holder { left: 404px; }
+#content #logging .jstree li li li li .selector-holder { left: 386px; }
+#content #logging .jstree li li li li li .selector-holder { left: 368px; }
+#content #logging .jstree li li li li li li .selector-holder { left: 350px; }
+#content #logging .jstree li li li li li li li .selector-holder { left: 332px; }
+#content #logging .jstree li li li li li li li li .selector-holder { left: 314px; }
+
+#content #logging .jstree .selector
+{
+ border: 1px solid transparent;
+ position: relative;
+}
+
+#content #logging .jstree .open .selector
+{
+ border-color: #f0f0f0;
+ box-shadow: 5px 5px 10px #c0c0c0;
+ -moz-box-shadow: 5px 5px 10px #c0c0c0;
+ -webkit-box-shadow: 5px 5px 10px #c0c0c0;
+}
+
+#content #logging .jstree .selector a
+{
+ display: block;
+ padding: 2px;
+ width: auto;
+}
+
+#content #logging .jstree .open .selector .close
+{
+ background-image: url( ../../img/ico/cross-0.png );
+ background-position: 50% 50%;
+ display: block;
+ position: absolute;
+ right: -25px;
+ top: 0;
+ width: 20px;
+}
+
+#content #logging .jstree .open .selector .close:hover
+{
+ background-image: url( ../../img/ico/cross-1.png );
+}
+
+#content #logging .jstree .open .selector .close span
+{
+ display: none;
+}
+
+#content #logging .jstree .open .selector a.trigger
+{
+ display: none;
+}
+
+#content #logging .jstree .open .selector ul
+{
+ display: block;
+}
+
+#content #logging .jstree .selector ul li
+{
+ background: none;
+ margin-left: 0;
+}
+
+#content #logging .jstree .selector ul li a
+{
+ background-image: url( ../../img/ico/ui-radio-button-uncheck.png );
+ background-position: 2px 50%;
+ padding-left: 21px;
+}
+
+#content #logging .jstree .selector ul li a.level
+{
+ background-color: #f0f0f0;
+}
+
+#content #logging .jstree .selector ul li a:hover
+{
+ background-image: url( ../../img/ico/ui-radio-button.png );
+}
+
+#content #logging .jstree .selector li.unset
+{
+ border-top: 1px solid #f0f0f0;
+}
+
+#content #logging .jstree .selector li.unset a
+{
+ background-image: url( ../../img/ico/cross-0.png );
+ background-position: 4px 50%;
+}
+
+#content #logging .jstree .selector li.unset a:hover
+{
+ background-image: url( ../../img/ico/cross-1.png );
+ color: #800;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/login.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/login.css
new file mode 100644
index 000000000..6d6c9083e
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/login.css
@@ -0,0 +1,109 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #login
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+ vertical-align: center;
+ horiz-align: center;
+}
+
+#content #login h1,
+#content #login .h1 {
+ font-size: 2.5rem;
+}
+
+#content #login h2,
+#content #login .h2 {
+ font-size: 2rem;
+}
+
+#content #login p
+{
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+#content #login a
+{
+ color: #0000bf;
+ cursor: pointer;
+}
+
+#content #login .login-error
+{
+ font-size: 1rem;
+ color: red;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+#content #login button {
+ border-radius: 0;
+}
+
+#content #login button:focus {
+ outline: 1px dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+}
+
+#content #login .btn {
+ display: inline-block;
+ font-weight: 400;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ border: 1px solid transparent;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ line-height: 1.5;
+ border-radius: 0.25rem;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+
+#content #login .form-inline .form-group {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ -ms-flex-align: center;
+ align-items: center;
+ margin-bottom: 0;
+}
+
+#content #login .form-control {
+ display: block;
+ width: 80%;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ line-height: 1.5;
+ color: #495057;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid #ced4da;
+ border-radius: 0.25rem;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/menu.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/menu.css
new file mode 100644
index 000000000..4a24399bf
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/menu.css
@@ -0,0 +1,330 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#menu-wrapper
+{
+ position: fixed;
+ top: 120px;
+ width: 150px;
+}
+
+.scroll #menu-wrapper
+{
+ position: absolute;
+ top: 90px;
+}
+
+.has-environment #menu-wrapper
+{
+ top: 160px;
+}
+
+#menu-wrapper a
+{
+ display: block;
+ padding: 4px 2px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+#core-selector,#collection-selector
+{
+ margin-top: 20px;
+ padding-right: 10px;
+}
+
+#core-selector a,
+#collection-selector a
+{
+ padding: 0;
+ padding-left: 8px;
+}
+
+#core-selector select,
+#collection-selector select
+{
+ width: 100%;
+}
+
+#core-selector #has-no-cores a,
+#collection-selector #has-no-collections a
+{
+ background-image: url( ../../img/ico/database--plus.png );
+}
+
+#core-selector #has-no-cores span,
+#collection-selector #has-no-collections span
+{
+ color: #8D8D8D;
+ display: block;
+}
+
+#menu-wrapper .active p
+{
+ background-color: #fafafa;
+ border-color: #c0c0c0;
+}
+
+#menu-wrapper p a,
+#menu a
+{
+ background-position: 5px 50%;
+ padding-left: 26px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+#menu-wrapper p a:hover
+{
+ background-color: #f0f0f0;
+}
+
+#menu-wrapper .active p a
+{
+ background-color: #c0c0c0;
+ font-weight: bold;
+}
+
+#menu p.loader
+{
+ background-position: 5px 50%;
+ color: #c0c0c0;
+ margin-top: 5px;
+ padding-left: 26px;
+}
+
+#menu p a small
+{
+ color: #b5b5b5;
+ font-weight: normal;
+}
+
+#menu p a small span.txt
+{
+}
+
+#menu p a small:hover span.txt
+{
+ display: inline;
+}
+
+#menu .busy
+{
+ border-right-color: #f6f5d9;
+}
+
+#menu .busy p a
+{
+ background-color: #f6f5d9;
+ background-image: url( ../../img/ico/status-away.png );
+}
+
+#menu .offline
+{
+ border-right-color: #eccfcf;
+}
+
+#menu .offline p a
+{
+ background-color: #eccfcf;
+ background-image: url( ../../img/ico/status-busy.png );
+}
+
+#menu .online
+{
+ border-right-color: #cfecd3;
+}
+
+#menu .online p a
+{
+ background-color: #cfecd3;
+ background-image: url( ../../img/ico/status.png );
+}
+
+#menu .ping small
+{
+ color: #000
+}
+
+#menu li
+{
+ border-bottom: 1px solid #f0f0f0;
+}
+
+#menu li:last-child
+{
+ border-bottom: 0;
+}
+
+#menu li.optional
+{
+}
+
+.sub-menu p
+{
+ border-top: 1px solid #f0f0f0;
+}
+
+.sub-menu li:first-child p
+{
+ border-top: 0;
+}
+
+.sub-menu p a
+{
+ background-image: url( ../../img/ico/status-offline.png );
+}
+
+.sub-menu .active p a
+{
+ background-image: url( ../../img/ico/box.png );
+}
+
+.sub-menu ul,
+#menu ul
+{
+ padding-top: 5px;
+ padding-bottom: 10px;
+}
+
+.sub-menu .active ul,
+#menu .active ul
+{
+ display: block;
+}
+
+#menu ul li
+{
+ border-bottom: 0;
+}
+
+#core-menu ul li a,
+#collection-menu ul li a,
+#menu ul li a
+{
+ background-position: 7px 50%;
+ border-bottom: 1px solid #f0f0f0;
+ margin-left: 15px;
+ padding-left: 26px;
+}
+
+.sub-menu ul li:last-child a,
+#menu ul li:last-child a
+{
+ border-bottom: 0;
+}
+
+.sub-menu ul li a:hover,
+#menu ul li a:hover
+{
+ background-color: #f0f0f0;
+ color: #333;
+}
+
+.sub-menu ul li.active a,
+#menu ul li.active a
+{
+ background-color: #d0d0d0;
+ border-color: #d0d0d0;
+ color: #FFF;
+}
+
+#menu #index.global p a { background-image: url( ../../img/ico/dashboard.png ); }
+
+#menu #login.global p a { background-image: url( ../../img/ico/users.png ); }
+
+#menu #logging.global p a { background-image: url( ../../img/ico/inbox-document-text.png ); }
+#menu #logging.global .level a { background-image: url( ../../img/ico/gear.png ); }
+
+#menu #java-properties.global p a { background-image: url( ../../img/ico/jar.png ); }
+
+#menu #threads.global p a { background-image: url( ../../img/ico/ui-accordion.png ); }
+
+#menu #collections.global p a { background-image: url( ../../img/ico/documents-stack.png ); }
+#menu #cores.global p a { background-image: url( ../../img/ico/databases.png ); }
+#menu #cluster-suggestions.global p a { background-image: url( ../../img/ico/idea.png ); }
+
+#menu #cloud.global p a { background-image: url( ../../img/ico/network-cloud.png ); }
+#menu #cloud.global .tree a { background-image: url( ../../img/ico/folder-tree.png ); }
+#menu #cloud.global .nodes a { background-image: url( ../../img/solr-ico.png ); }
+#menu #cloud.global .zkstatus a { background-image: url( ../../img/ico/node-master.png ); }
+#menu #cloud.global .graph a { background-image: url( ../../img/ico/molecule.png ); }
+
+.sub-menu .ping.error a
+{
+
+ background-color: #ffcccc;
+ background-image: url( ../../img/ico/system-monitor--exclamation.png );
+ border-color: #ffcccc;
+ cursor: help;
+}
+
+.sub-menu .overview a { background-image: url( ../../img/ico/home.png ); }
+.sub-menu .query a { background-image: url( ../../img/ico/magnifier.png ); }
+.sub-menu .stream a { background-image: url( ../../img/ico/node.png ); }
+.sub-menu .analysis a { background-image: url( ../../img/ico/funnel.png ); }
+.sub-menu .documents a { background-image: url( ../../img/ico/documents-stack.png ); }
+.sub-menu .files a { background-image: url( ../../img/ico/folder.png ); }
+.sub-menu .schema a { background-image: url( ../../img/ico/book-open-text.png ); }
+.sub-menu .replication a { background-image: url( ../../img/ico/node.png ); }
+.sub-menu .distribution a { background-image: url( ../../img/ico/node-select.png ); }
+.sub-menu .ping a { background-image: url( ../../img/ico/system-monitor.png ); }
+.sub-menu .logging a { background-image: url( ../../img/ico/inbox-document-text.png ); }
+.sub-menu .plugins a { background-image: url( ../../img/ico/block.png ); }
+.sub-menu .dataimport a { background-image: url( ../../img/ico/document-import.png ); }
+.sub-menu .segments a { background-image: url( ../../img/ico/construction.png ); }
+
+
+#content #navigation
+{
+ border-right: 1px solid #e0e0e0;
+}
+
+#content #navigation a
+{
+ display: block;
+ padding: 4px 2px;
+}
+
+#content #navigation .current
+{
+ border-color: #e0e0e0;
+}
+
+#content #navigation a
+{
+ background-position: 5px 50%;
+ padding-left: 26px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+#content #navigation a:hover
+{
+ background-color: #f0f0f0;
+}
+
+#content #navigation .current a
+{
+ background-color: #e0e0e0;
+ font-weight: bold;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/overview.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/overview.css
new file mode 100644
index 000000000..4934f7288
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/overview.css
@@ -0,0 +1,42 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #dashboard .collprops
+{
+ float: left;
+}
+
+#content #dashboard .collprops dt,
+#content #dashboard .collprops dd
+{
+ display: block;
+ float: left;
+}
+
+#content #dashboard .collprops dt
+{
+ clear: left;
+ margin-right: 2%;
+ width: 48%;
+}
+
+#content #dashboard .collprops dd
+{
+ width: 50%;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/plugins.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/plugins.css
new file mode 100644
index 000000000..e4398bda2
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/plugins.css
@@ -0,0 +1,220 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #plugins #navigation
+{
+ width: 20%;
+}
+
+#content #plugins #navigation .cache a { background-image: url( ../../img/ico/disk-black.png ); }
+#content #plugins #navigation .core a { background-image: url( ../../img/ico/wooden-box.png ); }
+#content #plugins #navigation .other a { background-image: url( ../../img/ico/zone.png ); }
+#content #plugins #navigation .highlighting a { background-image: url( ../../img/ico/highlighter-text.png ); }
+#content #plugins #navigation .updatehandler a{ background-image: url( ../../img/ico/arrow-circle.png ); }
+#content #plugins #navigation .queryhandler a { background-image: url( ../../img/ico/magnifier.png ); }
+#content #plugins #navigation .queryparser a { background-image: url( ../../img/ico/asterisk.png ); }
+
+#content #plugins #navigation .PLUGINCHANGES { margin-top: 20px; }
+#content #plugins #navigation .PLUGINCHANGES a { background-image: url( ../../img/ico/eye.png ); }
+#content #plugins #navigation .RELOAD a { background-image: url( ../../img/ico/arrow-circle.png ); }
+#content #plugins #navigation .NOTE { margin-top: 20px; }
+#content #plugins #navigation .NOTE p { color: #4D4D4D; font-style: italic; }
+
+
+#content #plugins #navigation a
+{
+ position: relative;
+}
+
+#content #plugins #navigation a span
+{
+ background-color: #bba500;
+ border-radius: 5px;
+ color: #fff;
+ font-size: 10px;
+ font-weight: normal;
+ line-height: 1.4em;
+ padding-left: 4px;
+ padding-right: 4px;
+ position: absolute;
+ right: 5px;
+ top: 7px;
+}
+
+#content #plugins #frame
+{
+ float: right;
+ width: 78%;
+}
+
+#content #plugins #frame .entry
+{
+ margin-bottom: 10px;
+}
+
+#content #plugins #frame .entry:last-child
+{
+ margin-bottom: 0;
+}
+
+#content #plugins #frame .entry a
+{
+ background-image: url( ../../img/ico/chevron-small-expand.png );
+ background-position: 0 50%;
+ display: block;
+ font-weight: bold;
+ padding-left: 21px;
+}
+
+#content #plugins #frame .entry.changed a span
+{
+ color: #bba500;
+}
+
+#content #plugins #frame .entry.expanded a
+{
+ background-image: url( ../../img/ico/chevron-small.png );
+}
+
+#content #plugins #frame .entry.expanded ul
+{
+ display: block;
+}
+
+#content #plugins #frame .entry ul
+{
+ border-left: 9px solid #f0f3ff;
+ margin-left: 3px;
+ padding-top: 5px;
+ padding-left: 10px;
+}
+
+#content #plugins #frame .entry li
+{
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+#content #plugins #frame .entry li.stats
+{
+ border-top: 1px solid #c0c0c0;
+ margin-top: 5px;
+ padding-top: 5px;
+}
+
+#content #plugins #frame .entry li.odd
+{
+ background-color: #f8f8f8;
+}
+
+#content #plugins #frame .entry dt,
+#content #plugins #frame .entry .stats span
+{
+ float: left;
+ width: 9%;
+}
+
+#content #plugins #frame .entry dd,
+#content #plugins #frame .entry .stats ul
+{
+ float: right;
+ width: 90%;
+}
+
+#content #plugins #frame .entry .stats ul
+{
+ border-left: 0;
+ margin: 0;
+ padding: 0;
+}
+
+#content #plugins #frame .entry .stats dt
+{
+ width: 40%;
+}
+
+#content #plugins #frame .entry .stats dd
+{
+ width: 59%;
+}
+
+#content #plugins #frame .entry.expanded a.linker {
+ background-image: none;
+ background-position: 0 0;
+ display: inline;
+ font-weight: normal;
+ padding:0px;
+}
+
+#content #plugins #frame .entry.expanded a.linker:hover {
+ background-color:#F0F3FF;
+}
+
+#content #plugins .active a
+{
+ background-color: #d0d0d0;
+ border-color: #d0d0d0;
+}
+
+#recording #blockUI
+{
+ position: absolute;
+ left:0;
+ top:0;
+ width: 100%;
+ height: 100%;
+ background-color: #000;
+ opacity: 0.6;
+ z-index:1000;
+ padding:0;
+}
+
+#recording .wrapper
+{
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ padding: 30px;
+ width: 415px;
+ height: 100px;
+ border: 2px solid black;
+ background-color: #FFF;
+ opacity: 1;
+ z-index: 2000;
+ transform: translate(-50%, -50%);
+}
+
+#recording p
+{
+ background-position: 0 50%;
+ float: left;
+ padding-left: 21px;
+ padding-top: 7px;
+ padding-bottom: 7px;
+}
+
+#recording button
+{
+ float: right;
+}
+
+#recording button span
+{
+ background-image: url( ../../img/ico/new-text.png );
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/query.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/query.css
new file mode 100644
index 000000000..be264bf9b
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/query.css
@@ -0,0 +1,162 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #query
+{
+ background-image: url( ../../img/div.gif );
+ background-position: 22% 0;
+ background-repeat: repeat-y;
+}
+
+#content #query #form
+{
+ float: left;
+ width: 21%;
+}
+
+#content #query #form label
+{
+ cursor: pointer;
+ display: block;
+ margin-top: 5px;
+}
+
+#content #query #form input,
+#content #query #form select,
+#content #query #form textarea
+{
+ margin-bottom: 2px;
+ width: 100%;
+}
+
+#content #query #form input,
+#content #query #form textarea
+{
+ width: 98%;
+}
+
+#content #query #form .multiple input
+{
+ float: left;
+ width: 80%
+}
+
+#content #query #form .multiple .buttons
+{
+ float: right;
+ width: 16%;
+}
+
+
+#content #query #form .multiple a
+{
+ background-position: 50% 50%;
+ display: block;
+ height: 25px;
+ width: 49%;
+}
+
+#content #query #form .multiple a.add
+{
+ background-image: url( ../../img/ico/plus-button.png );
+ float: right;
+}
+
+#content #query #form .multiple a.rem
+{
+ background-image: url( ../../img/ico/minus-button.png );
+ float: left;
+}
+
+#content #query #form #start
+{
+ float: left;
+ width: 45%;
+}
+
+#content #query #form #rows
+{
+ float: right;
+ width: 45%;
+}
+
+#content #query #form .checkbox input
+{
+ margin-bottom: 0;
+ width: auto;
+}
+
+#content #query #form fieldset,
+#content #query #form .optional.expanded
+{
+ border: 1px solid #fff;
+ border-top: 1px solid #c0c0c0;
+ margin-bottom: 5px;
+}
+
+#content #query #form fieldset.common
+{
+ margin-top: 10px;
+}
+
+#content #query #form fieldset legend,
+#content #query #form .optional.expanded legend
+{
+ display: block;
+ margin-left: 10px;
+ padding: 0px 5px;
+}
+
+#content #query #form fieldset legend label
+{
+ margin-top: 0;
+}
+
+#content #query #form fieldset .fieldset
+{
+ border-bottom: 1px solid #f0f0f0;
+ margin-bottom: 5px;
+ padding-bottom: 10px;
+}
+
+#content #query #form .optional
+{
+ border: 0;
+}
+
+#content #query #form .optional legend
+{
+ margin-left: 0;
+ padding-left: 0;
+}
+
+#content #query #form .optional.expanded .fieldset
+{
+ display: block;
+}
+
+#content #query #result
+{
+ float: right;
+ width: 77%;
+}
+
+#content #query #result #response
+{
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/replication.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/replication.css
new file mode 100644
index 000000000..4eb608878
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/replication.css
@@ -0,0 +1,500 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #replication
+{
+ background-image: url( ../../img/div.gif );
+ background-position: 21% 0;
+ background-repeat: repeat-y;
+}
+
+#content #replication #frame
+{
+ float: right;
+ width: 78%;
+}
+
+#content #replication #navigation
+{
+ border-right: 0;
+ float: left;
+ width: 20%;
+}
+
+#content #replication #error
+{
+ background-color: #f00;
+ background-image: url( ../../img/ico/construction.png );
+ background-position: 10px 50%;
+ color: #fff;
+ font-weight: bold;
+ margin-bottom: 20px;
+ padding: 10px;
+ padding-left: 35px;
+}
+
+#content #replication .block
+{
+ border-bottom: 1px solid #c0c0c0;
+ margin-bottom: 20px;
+ padding-bottom: 20px;
+}
+
+#content #replication .block.last
+{
+ border-bottom: 0;
+}
+
+#content #replication .masterOnly,
+#content #replication .slaveOnly
+{
+}
+
+#content #replication.master .masterOnly
+{
+ display: block;
+}
+
+#content #replication.slave .slaveOnly
+{
+ display: block;
+}
+
+#content #replication .replicating
+{
+}
+
+#content #replication.replicating .replicating
+{
+ display: block;
+}
+
+#content #replication #progress
+{
+ padding-bottom: 80px;
+ position: relative;
+}
+
+#content #replication #progress .info
+{
+ padding: 5px;
+}
+
+#content #replication #progress #start
+{
+ margin-left: 100px;
+ border-left: 1px solid #c0c0c0;
+}
+
+#content #replication #progress #bar
+{
+ background-color: #f0f0f0;
+ margin-left: 100px;
+ margin-right: 100px;
+ position: relative;
+}
+
+#content #replication #progress #bar #bar-info,
+#content #replication #progress #bar #eta
+{
+ position: absolute;
+ right: -100px;
+ width: 100px;
+}
+
+#content #replication #progress #bar #bar-info
+{
+ border-left: 1px solid #f0f0f0;
+ margin-top: 30px;
+}
+
+#content #replication #progress #eta .info
+{
+ color: #4D4D4D;
+ height: 30px;
+ line-height: 30px;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+#content #replication #progress #speed
+{
+ color: #4D4D4D;
+ position: absolute;
+ right: 100px;
+ top: 0;
+}
+
+#content #replication #progress #bar #done
+{
+ background-color: #4D4D4D;
+ box-shadow: 5px 5px 10px #c0c0c0;
+ -moz-box-shadow: 5px 5px 10px #c0c0c0;
+ -webkit-box-shadow: 5px 5px 10px #c0c0c0;
+ height: 30px;
+ position: relative;
+}
+
+#content #replication #progress #bar #done .percent
+{
+ font-weight: bold;
+ height: 30px;
+ line-height: 30px;
+ padding-left: 5px;
+ padding-right: 5px;
+ position: absolute;
+ right: 0;
+ text-align: right;
+}
+
+#content #replication #progress #bar #done #done-info
+{
+ border-right: 1px solid #c0c0c0;
+ position: absolute;
+ right: 0;
+ margin-top: 30px;
+ text-align: right;
+ width: 100px;
+}
+
+#content #replication #progress #bar #done #done-info .percent
+{
+ font-weight: bold;
+}
+
+#content #replication .block .label,
+#content #replication #current-file .file,
+#content #replication #current-file .progress,
+#content #replication #iterations .iterations
+{
+ float: left;
+}
+
+#content #replication .block .label
+{
+ width: 100px;
+}
+
+#content #replication .block .label span
+{
+ display: block;
+ padding-left: 21px;
+}
+
+#content #replication #current-file
+{
+ border-top: 1px solid #f0f0f0;
+ margin-top: 10px;
+ padding-top: 10px;
+}
+
+#content #replication #current-file .progress
+{
+ color: #4D4D4D;
+ margin-left: 20px;
+}
+
+#content #replication #iterations .label span
+{
+ background-image: url( ../../img/ico/node-design.png );
+}
+
+#content #replication #iterations .iterations li
+{
+ background-position: 100% 50%;
+ padding-right: 21px;
+}
+
+#content #replication #iterations .iterations.expanded li
+{
+ display: block;
+}
+
+#content #replication #iterations .iterations .latest
+{
+ display: block;
+}
+
+#content #replication #iterations .iterations .replicated
+{
+ color: #80c480;
+}
+
+#content #replication #iterations .iterations ul:hover .replicated,
+#content #replication #iterations .iterations .replicated.latest
+{
+ color: #080;
+}
+
+#content #replication #iterations .iterations .replicated.latest
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #replication #iterations .iterations .failed
+{
+ color: #c48080;
+}
+
+#content #replication #iterations .iterations ul:hover .failed,
+#content #replication #iterations .iterations .failed.latest
+{
+ color: #800;
+}
+
+#content #replication #iterations .iterations .failed.latest
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+
+#content #replication #iterations .iterations a
+{
+ border-top: 1px solid #f0f0f0;
+ margin-top: 2px;
+ padding-top: 2px;
+}
+
+#content #replication #iterations .iterations a span
+{
+ background-position: 0 50%;
+ color: #4D4D4D;
+ padding-left: 21px;
+}
+
+#content #replication #iterations .iterations a span.expand
+{
+ background-image: url( ../../img/ico/chevron-small-expand.png );
+ display: block;
+}
+
+#content #replication #iterations .iterations a span.collapse
+{
+ background-image: url( ../../img/ico/chevron-small.png );
+ display: block;
+}
+
+#content #replication #details table
+{
+ margin-left: 20px;
+ border-collapse: collapse;
+}
+
+#content #replication #details table th
+{
+ text-align: left;
+}
+
+#content #replication.slave #details table .slaveOnly
+{
+ display: table-row;
+}
+
+#content #replication #details table thead th
+{
+ color: #4D4D4D;
+}
+
+#content #replication #details table thead th,
+#content #replication #details table tbody td
+{
+ padding-right: 20px;
+}
+
+#content #replication #details table thead td,
+#content #replication #details table thead th,
+#content #replication #details table tbody th,
+#content #replication #details table tbody td div
+{
+ padding-top: 3px;
+ padding-bottom: 3px;
+}
+
+#content #replication #details table tbody td,
+#content #replication #details table tbody th
+{
+ border-top: 1px solid #f0f0f0;
+}
+
+#content #replication #details table thead td
+{
+ width: 100px;
+}
+
+#content #replication #details table thead td span
+{
+ background-image: url( ../../img/ico/clipboard-list.png );
+ background-position: 0 50%;
+ display: block;
+ padding-left: 21px;
+}
+
+#content #replication #details table tbody th
+{
+ padding-right: 10px;
+ text-align: right;
+ white-space: nowrap;
+}
+
+#content #replication #details table tbody .size
+{
+ text-align: right;
+ white-space: nowrap;
+}
+
+#content #replication #details table tbody .generation div
+{
+ text-align: center;
+}
+
+#content #replication #details table tbody .diff div
+{
+ background-color: #fcfcc9;
+ padding-left: 1px;
+ padding-right: 1px;
+}
+
+#content #replication .settings .label span
+{
+ background-image: url( ../../img/ico/hammer-screwdriver.png );
+}
+
+#content #replication .settings ul,
+#content #replication .settings dl dt,
+#content #replication .settings dl dd
+{
+ float: left;
+}
+
+#content #replication .settings ul li
+{
+ border-top: 1px solid #f0f0f0;
+ padding-top: 3px;
+ padding-top: 3px;
+}
+
+#content #replication .settings ul li:first-child
+{
+ border-top: 0;
+ padding-top: 0;
+}
+
+#content #replication .settings dl dt
+{
+ clear: left;
+ margin-right: 5px;
+ width: 120px;
+}
+
+#content #replication .settings dl .ico
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #replication .settings dl .ico.ico-0
+{
+ background-image: url( ../../img/ico/slash.png );
+}
+
+#content #replication .settings dl .ico.ico-1
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #replication .timer
+{
+ box-shadow: 5px 5px 10px #c0c0c0;
+ -moz-box-shadow: 5px 5px 10px #c0c0c0;
+ -webkit-box-shadow: 5px 5px 10px #c0c0c0;
+ margin-bottom: 20px;
+ padding: 10px;
+}
+
+#content #replication .timer p,
+#content #replication .timer small
+{
+ padding-left: 21px;
+}
+
+#content #replication .timer p
+{
+ background-image: url( ../../img/ico/clock-select-remain.png );
+ background-position: 0 50%;
+}
+
+#content #replication .timer p .approx
+{
+ color: #4D4D4D;
+ margin-right: 1px;
+}
+
+#content #replication .timer p .tick
+{
+ font-weight: bold;
+}
+
+#content #replication .timer small
+{
+ color: #4D4D4D;
+}
+
+#content #replication #navigation button
+{
+ display: block;
+ margin-bottom: 10px;
+}
+
+#content #replication #navigation button.optional
+{
+}
+
+#content #replication #navigation .replicate-now span
+{
+ background-image: url( ../../img/ico/document-convert.png );
+}
+
+#content #replication #navigation .abort-replication span
+{
+ background-image: url( ../../img/ico/hand.png );
+}
+
+#content #replication #navigation .disable-polling span
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+
+#content #replication #navigation .enable-polling span
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #replication #navigation .disable-replication span
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+
+#content #replication #navigation .enable-replication span
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #replication #navigation .refresh-status span
+{
+ background-image: url( ../../img/ico/arrow-circle.png );
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/schema.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/schema.css
new file mode 100644
index 000000000..05d947890
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/schema.css
@@ -0,0 +1,727 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #schema .loader
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #schema.loaded
+{
+ background-image: url( ../../img/div.gif );
+ background-position: 21% 0;
+ background-repeat: repeat-y;
+}
+
+#content #schema #data
+{
+ float: right;
+ width: 78%;
+}
+
+#content #schema #related
+{
+ float: left;
+ width: 20%;
+}
+
+#content #schema #related select
+{
+ width: 100%;
+}
+
+#content #schema #related select optgroup
+{
+ font-style: normal;
+ padding: 5px;
+}
+
+#content #schema #related select option
+{
+ padding-left: 10px;
+}
+
+#content #schema #related #f-df-t
+{
+ border-bottom: 1px solid #f0f0f0;
+ padding-bottom: 15px;
+}
+
+#content #schema #related .ukf-dsf dt
+{
+}
+
+#content #schema #related dl
+{
+ margin-top: 15px;
+}
+
+#content #schema #related dl dt,
+#content #schema #related dl dd a
+{
+ color: #4D4D4D;
+}
+
+#content #schema #related dl dt
+{
+ font-weight: bold;
+ margin-top: 5px;
+}
+
+#content #schema #related dl dd a
+{
+ display: block;
+ padding-left: 10px;
+}
+
+#content #schema #related dl dd a:hover
+{
+ background-color: #f8f8f8;
+}
+
+#content #schema #related .field .field,
+#content #schema #related .field .field a,
+#content #schema #related .dynamic-field .dynamic-field,
+#content #schema #related .dynamic-field .dynamic-field a,
+#content #schema #related .type .type,
+#content #schema #related .type .type a,
+#content #schema #related .active,
+#content #schema #related .active a
+{
+ color: #333;
+}
+
+#content #schema #related .copyfield,
+#content #schema #related .copyfield a
+{
+ color: #666;
+}
+
+#content #schema #data
+{
+}
+
+#content #schema #data #index dt
+{
+ float: left;
+ margin-right: 5px;
+ width: 150px;
+}
+
+#content #schema #data #field .field-options
+{
+ margin-bottom: 10px;
+}
+
+#content #schema #data #field .field-options .head h2
+{
+ padding-left: 5px;
+}
+
+#content #schema #data #field .partial
+{
+}
+
+#content #schema #data #field .partial p
+{
+ background-image: url( ../../img/ico/exclamation-button.png );
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #schema #data #field .field-options .options dt,
+#content #schema #data #field .field-options .options dd
+{
+ float: left;
+}
+
+#content #schema #data #field .field-options .options dt
+{
+ clear: left;
+ margin-right: 5px;
+ width: 100px;
+}
+
+#content #schema #data #field .field-options .flags
+{
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+
+#content #schema #data #field .field-options .flags thead td
+{
+ color: #4D4D4D;
+ padding-right: 5px;
+ width: 100px;
+}
+
+#content #schema #data #field .field-options .flags tbody td,
+#content #schema #data #field .field-options .flags th
+{
+ padding: 2px 5px;
+}
+
+#content #schema #data #field .field-options .flags thead td,
+#content #schema #data #field .field-options .flags tbody th
+{
+ padding-left: 0;
+}
+
+#content #schema #data #field .field-options .flags thead th,
+#content #schema #data #field .field-options .flags tbody td
+{
+ border-left: 1px solid #f0f0f0;
+}
+
+#content #schema #data #field .field-options .flags tbody th,
+#content #schema #data #field .field-options .flags tbody td
+{
+ border-top: 1px solid #f0f0f0;
+}
+
+#content #schema #data #field .field-options .flags tbody .check
+{
+ background-color: #fafdfa;
+ background-image: url( ../../img/ico/tick.png );
+ background-position: 50% 50%;
+ text-align: center;
+}
+
+#content #schema #data #field .field-options .flags tbody .check span
+{
+}
+
+#content #schema #data #field .field-options .flags tbody .text
+{
+ color: #4D4D4D;
+}
+
+#content #schema #data #field .field-options .analyzer,
+#content #schema #data #field .field-options .analyzer li,
+#content #schema #data #field .field-options .analyzer ul,
+#content #schema #data #field .field-options .analyzer ul li
+{
+}
+
+#content #schema #data #field .field-options .analyzer p,
+#content #schema #data #field .field-options .analyzer dl
+{
+ float: left;
+}
+
+#content #schema #data #field .field-options .analyzer p
+{
+ margin-right: 5px;
+ text-align: right;
+ width: 125px;
+ white-space: pre;
+}
+
+#content #schema #data #field .field-options .analyzer p a
+{
+ cursor: auto;
+}
+
+#content #schema #data #field .field-options .analyzer p a.analysis
+{
+ cursor: pointer;
+ display: block;
+}
+
+#content #schema #data #field .field-options .analyzer p a.analysis span
+{
+ background-image: url( ../../img/ico/question-white.png );
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #schema #data #field .field-options .analyzer p a.analysis:hover span
+{
+ background-image: url( ../../img/ico/question.png );
+ color: #008;
+}
+
+#content #schema #data #field .field-options .analyzer a
+{
+ cursor: auto;
+}
+
+#content #schema #data #field .field-options .analyzer .toggle
+{
+ background-image: url( ../../img/ico/chevron-small-expand.png );
+ background-position: 100% 50%;
+ cursor: pointer;
+ display: block;
+ padding-right: 21px;
+}
+
+#content #schema #data #field .field-options .analyzer .open .toggle
+{
+ background-image: url( ../../img/ico/chevron-small.png );
+}
+
+#content #schema #data #field .field-options .analyzer li
+{
+ border-top: 1px solid #f0f0f0;
+ margin-top: 10px;
+ padding-top: 10px;
+}
+
+#content #schema #data #field .field-options .analyzer ul
+{
+ clear: left;
+ margin-left: 55px;
+ padding-top: 5px;
+}
+
+#content #schema #data #field .field-options .analyzer .open ul
+{
+ display: block;
+}
+
+#content #schema #data #field .field-options .analyzer ul li
+{
+ border-top: 1px solid #f8f8f8;
+ margin-top: 5px;
+ padding-top: 5px;
+}
+
+#content #schema #data #field .field-options .analyzer ul p
+{
+ color: #4D4D4D;
+ margin-right: 5px;
+ text-align: right;
+ width: 70px;
+}
+
+#content #schema #data #field .field-options .analyzer ul dd
+{
+ margin-left: 20px;
+}
+
+#content #schema #data #field .field-options .analyzer ul dd
+{
+ background-image: url( ../../img/ico/document-list.png );
+ background-position: 0 50%;
+ color: #4D4D4D;
+ padding-left: 21px;
+}
+
+#content #schema #data #field .field-options .analyzer ul dd.ico-0
+{
+ background-image: url( ../../img/ico/slash.png );
+}
+
+#content #schema #data #field .field-options .analyzer ul dd.ico-1
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #schema #data #field .head
+{
+ margin-bottom: 5px;
+}
+
+#content #schema #data #field .terminfo-holder
+{
+ border-top: 1px solid #c0c0c0;
+ padding-top: 10px;
+}
+
+#content #schema #data #field .terminfo-holder .trigger
+{
+ float: left;
+ width: 140px;
+}
+
+#content #schema #data #field .terminfo-holder .trigger button span
+{
+ background-image: url( ../../img/ico/information.png );
+}
+
+#content #schema #data #field .terminfo-holder .status
+{
+ border-left: 1px solid #f0f0f0;
+ float: left;
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
+#content #schema #data #field .terminfo-holder.disabled .trigger button span
+{
+ background-image: url( ../../img/ico/prohibition.png );
+}
+
+#content #schema #data #field .terminfo-holder.disabled .status
+{
+ display: block;
+}
+
+#content #schema #data #field .terminfo-holder .trigger .autoload
+{
+}
+
+#content #schema #data #field .terminfo-holder.loaded .trigger .autoload
+{
+ background-image: url( ../../img/ico/ui-check-box-uncheck.png );
+ background-position: 0 50%;
+ color: #8D8D8D;
+ display: block;
+ margin-top: 10px;
+ padding-left: 21px;
+}
+
+#content #schema #data #field .terminfo-holder .trigger .autoload:hover
+{
+ color: #008;
+}
+
+#content #schema #data #field .terminfo-holder .trigger .autoload.on
+{
+ background-image: url( ../../img/ico/ui-check-box.png );
+ color: #333;
+}
+
+#content #schema #data #field .topterms-holder,
+#content #schema #data #field .histogram-holder
+{
+ border-left: 1px solid #f0f0f0;
+ float: left;
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
+#content #schema #data #field .topterms-holder .head input
+{
+ height: 18px;
+ line-height: 16px;
+ text-align: right;
+ width: 30px;
+}
+
+#content #schema #data #field .topterms-holder .head .max-holder
+{
+ color: #4D4D4D;
+}
+
+#content #schema #data #field .topterms-holder .head .max-holder:hover .max
+{
+ color: #008;
+}
+
+#content #schema #data #field .topterms-holder .head #query_link
+{
+ background-image: url( ../../img/ico/question-white.png );
+ background-position: 0 50%;
+ color: #4D4D4D;
+ padding-left: 21px;
+ margin-left: 5px;
+}
+
+#content #schema #data #field .topterms-holder .head #query_link:hover
+{
+ background-image: url( ../../img/ico/question.png );
+}
+
+
+#content #schema #data #field .topterms-holder .head #query_link span
+{
+ visibility: hidden;
+}
+
+#content #schema #data #field .topterms-holder .head #query_link:hover span
+{
+ visibility: visible;
+}
+
+#content #schema .topterms-holder li
+{
+ border-top: 1px solid #999;
+ margin-bottom: 5px;
+}
+
+/* possible overwrite with inline style */
+#content #schema .topterms-holder li p
+{
+ background-color: #999;
+ color: #fff;
+ float: left;
+}
+
+#content #schema .topterms-holder li p span
+{
+ display: block;
+ padding-right: 2px;
+ text-align: right;
+}
+
+/* possible overwrite with inline style */
+#content #schema .topterms-holder li ul
+{
+ margin-left: 30px;
+}
+
+#content #schema .topterms-holder li li
+{
+ border-top: 0;
+ margin-bottom: 0;
+ white-space: nowrap;
+}
+
+#content #schema .topterms-holder li li.odd
+{
+ background-color: #f0f0f0;
+}
+
+#content #schema .topterms-holder li li a
+{
+ display: block;
+ padding-left: 2px;
+ padding-right: 2px;
+}
+
+#content #schema .topterms-holder li li a:hover
+{
+ background-color: #c0c0c0;
+}
+
+#content #schema #data #field .histogram-holder ul
+{
+ margin-left: 25px;
+}
+
+#content #schema #data #field .histogram-holder li
+{
+ margin-bottom: 2px;
+ position: relative;
+ width: 150px;
+}
+
+#content #schema #data #field .histogram-holder li.odd
+{
+ background-color: #f0f0f0;
+}
+
+#content #schema #data #field .histogram-holder li dl,
+#content #schema #data #field .histogram-holder li dt
+{
+ padding-top: 1px;
+ padding-bottom: 1px;
+}
+
+#content #schema #data #field .histogram-holder li dl
+{
+ background-color: #c0c0c0;
+ min-width: 1px;
+}
+
+#content #schema #data #field .histogram-holder li dt
+{
+ color: #a0a0a0;
+ position: absolute;
+ overflow: hidden;
+ left: -25px;
+ top: 0px;
+}
+
+#content #schema #data #field .histogram-holder li dt span
+{
+ display: block;
+ padding-right: 4px;
+ text-align: right;
+}
+
+#content #schema #data #field .histogram-holder li dd
+{
+ clear: left;
+ float: left;
+ margin-left: 2px;
+ white-space: nowrap;
+}
+
+#content #schema #data #field .histogram-holder li:hover dl
+{
+ background-color: #b0b0b0;
+}
+
+#content #schema #data #field .histogram-holder li:hover dt
+{
+ color: #333;
+}
+
+#content #schema #actions {
+ margin-bottom: 20px;
+ min-height: 30px;
+}
+
+#content #schema .actions #addField span { background-image: url( ../../img/ico/document-list.png ); }
+#content #schema .actions #addDynamicField span { background-image: url( ../../img/ico/documents-stack.png ); }
+#content #schema .actions #addCopyField span { background-image: url( ../../img/ico/document-import.png ); }
+
+#content #schema .actions div.action
+{
+ width: 320px;
+ background-color: #fff;
+ border: 1px solid #f0f0f0;
+ box-shadow: 5px 5px 10px #c0c0c0;
+ -moz-box-shadow: 5px 5px 10px #c0c0c0;
+ -webkit-box-shadow: 5px 5px 10px #c0c0c0;
+ position: absolute;
+ left: 160px;
+ top: 50px;
+ padding: 10px;
+ z-index: 2;
+}
+
+#content #schema .actions p
+{
+ padding-bottom: 8px;
+}
+
+#content #schema .actions label
+{
+ float: left;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ text-align: right;
+ width: 25%;
+}
+
+#content #schema .actions input,
+#content #schema .actions select,
+#content #schema .actions .buttons,
+#content #schema .actions .note span
+{
+ float: right;
+ width: 71%;
+}
+
+#content #schema .actions label.checkbox {
+ margin-left: 27%;
+ text-align: left;
+ width: 73%;
+ padding: 0px;
+ margin-top: 0px;
+}
+#content #schema .actions .checkbox input {
+ float: none;
+ width: auto;
+}
+
+#content #schema .add_showhide {
+ background-image: url( ../../img/ico/chevron-small-expand.png );
+ background-position: 100% 50%;
+ cursor: pointer;
+ padding-right: 21px;
+}
+
+#content #schema .add_showhide.open {
+ background-image: url( ../../img/ico/chevron-small.png );
+}
+
+#content #schema label
+{
+ cursor: pointer;
+ display: block;
+ margin-top: 5px;
+ width: 100%;
+}
+
+#content #schema .checkbox
+{
+ margin-bottom: 0;
+ width: auto;
+}
+
+#content #schema .chosen-container {
+ margin-left: 6px;
+ width: 100%;
+}
+#content #schema .chosen-drop input,
+#content #schema .chosen-results {
+ width: 100% !important;
+}
+
+#content #schema button span
+{
+ background-image: url( ../../img/ico/cross.png );
+}
+#content #schema button.submit span
+{
+ background-image: url( ../../img/ico/tick.png );
+}
+
+#content #schema .error
+{
+ background-image: url( ../../img/ico/cross-button.png );
+ background-position: 22% 1px;
+ color: #c00;
+ font-weight: bold;
+ margin-bottom: 10px;
+}
+
+#content #schema #actions .error span
+{
+ float: right;
+ width: 71%;
+ padding-left: 3px;
+ padding-right: 3px;
+}
+
+#content #schema .delete-field button span {
+ background-image: url( ../../img/ico/cross.png );
+}
+
+#content #schema span.rem {
+ background-image: url( ../../img/ico/cross.png );
+ background-position: 100% 50%;
+ cursor: pointer;
+ padding-right: 21px;
+ right:10px;
+ float:right;
+}
+
+#content #schema .copyfield .updatable a {
+ float:left;
+ width:80%;
+}
+
+#content #schema dd.similarity.ng-binding::after {
+ content: attr(data-tip) ;
+
+ font-size: 12px;
+ position: relative;
+ white-space: nowrap;
+ bottom: 9999px;
+ left: 0;
+ background: lightyellow;
+ color: black;
+ padding: 4px 7px;
+ line-height: 24px;
+ height: 24px;
+ border: 1px solid darkgray;
+ opacity: 0;
+ transition:opacity 0.4s ease-out;
+}
+
+#content #schema dd.similarity.ng-binding:hover::after {
+ opacity: 90;
+ bottom: -20px;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/segments.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/segments.css
new file mode 100644
index 000000000..05f5f7bbd
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/segments.css
@@ -0,0 +1,172 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #segments .loader
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #segments .reload
+{
+ background-image: url( ../../img/ico/arrow-circle.png );
+ background-position: 50% 50%;
+ display: block;
+ height: 30px;
+ position: absolute;
+ right: 10px;
+ top: 10px;
+ width: 30px;
+}
+
+#content #segments .reload.loader
+{
+ padding-left: 0;
+}
+
+#content #segments .reload span
+{
+ display: none;
+}
+
+#content #segments #result
+{
+ width: 77%;
+}
+
+#content #segments #result #response
+{
+ margin-left: 25px;
+}
+
+#content #segments .segments-holder ul {
+ margin-left: 25px;
+}
+#content #segments .segments-holder li {
+ margin-bottom: 2px;
+ position: relative;
+ width: 100%;
+}
+
+#content #segments .segments-holder li .tooltip {
+ display: none;
+ background: #f0f0f0;
+ position: absolute;
+ z-index: 1000;
+ width:220px;
+ height:120px;
+ margin-left: 100%;
+ opacity: .8;
+ padding: 5px;
+ border: 1px solid;
+ border-radius: 5px;
+}
+
+#content #segments .segments-holder li .tooltip .label {
+ float: left;
+ width: 20%;
+ opacity: 1;
+}
+
+#content #segments .segments-holder li:hover .tooltip {
+ display:block;
+}
+
+#content #segments .segments-holder li dl,
+#content #segments .segments-holder li dt {
+ padding-bottom: 1px;
+ padding-top: 1px;
+}
+#content #segments .segments-holder li dl {
+ min-width: 1px;
+}
+#content #segments .segments-holder li dt {
+ color: #4D4D4D;
+ left: -45px;
+ overflow: hidden;
+ position: absolute;
+ top: 0;
+}
+#content #segments .segments-holder li dt div {
+ display: block;
+ padding-right: 4px;
+ text-align: right;
+}
+#content #segments .segments-holder li dd {
+ clear: left;
+ float: left;
+ margin-left: 2px;
+ white-space: nowrap;
+ width: 100%;
+}
+
+#content #segments .segments-holder li dd div.deleted {
+ background-color: #808080;
+ padding-left: 5px;
+}
+
+#content #segments .segments-holder li dd div.live {
+ background-color: #DDDDDD;
+ float: left;
+}
+
+#content #segments .segments-holder li dd div.start {
+ float: left;
+ width: 20%;
+}
+
+#content #segments .segments-holder li dd div.end {
+ text-align: right;
+}
+
+.merge-candidate {
+ background-color: #FFC9F9 !important;
+}
+
+#content #segments .segments-holder li dd div.w5 {
+ width: 20%;
+ float: left;
+}
+
+#content #segments #auto-refresh {
+ margin-top: 4px;
+ background-position: 50% 50%;
+ display: block;
+ height: 30px;
+ position: absolute;
+ right: 50px;
+ top: 10px;
+}
+
+#content #segments #auto-refresh a {
+ background-image: url( ../../img/ico/ui-check-box-uncheck.png );
+ background-position: 0 50%;
+ color: #4D4D4D;
+ display: block;
+ padding-left: 21px;
+}
+
+#content #segments #auto-refresh a.on,
+#content #segments #auto-refresh a:hover {
+ color: #333;
+}
+
+#content #segments #auto-refresh a.on {
+ background-image: url( ../../img/ico/ui-check-box.png );
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/stream.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/stream.css
new file mode 100644
index 000000000..0ebb59243
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/stream.css
@@ -0,0 +1,233 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #stream
+{
+}
+
+#content #stream #form
+{
+ float: top;
+}
+
+#content #stream #form label
+{
+ cursor: pointer;
+ display: inline;
+ margin-top: 5px;
+}
+
+#content #stream #form input,
+#content #stream #form select,
+#content #stream #form textarea
+{
+ margin-bottom: 2px;
+ width: 100%;
+}
+
+#content #stream #form textarea
+{
+ height: 125px;
+}
+
+#content #stream #form #start
+{
+ float: left;
+ width: 45%;
+}
+
+#content #stream #form #rows
+{
+ float: right;
+ width: 45%;
+}
+
+#content #stream #form input[type=checkbox]
+{
+ margin-bottom: 0;
+ margin-left: 5px;
+ margin-right: 0px;
+ width: 10px;
+ height: 10px;
+ display: inline;
+}
+
+#content #stream #form fieldset
+{
+ border: 1px solid #fff;
+ border-top: 1px solid #c0c0c0;
+ margin-bottom: 5px;
+}
+
+#content #stream #form fieldset.common
+{
+ margin-top: 10px;
+}
+
+#content #stream #form fieldset legend
+{
+ display: block;
+ margin-left: 10px;
+ padding: 0px 5px;
+}
+
+#content #stream #form fieldset legend label
+{
+ margin-top: 0;
+}
+
+#content #stream #form button
+{
+ margin-right: 10px;
+}
+
+#content #stream #form fieldset .fieldset
+{
+ border-bottom: 1px solid #f0f0f0;
+ margin-bottom: 5px;
+ padding-bottom: 10px;
+}
+
+#content #stream #result
+{
+ float: bottom;
+}
+
+#content #stream #result #response
+{
+}
+
+/************************/
+
+#content #stream #result #explanation
+{
+ border-top: 1px solid #f0f0f0;
+ border-bottom: 1px solid #f0f0f0;
+ border-left: 1px solid #f0f0f0;
+ border-right: 1px solid #f0f0f0;
+}
+
+#content #stream #result #explanation .loader
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #stream #result #explanation #error
+{
+ background-color: #f00;
+ background-image: url( ../../img/ico/construction.png );
+ background-position: 10px 12px;
+ color: #fff;
+ font-weight: bold;
+ margin-bottom: 20px;
+ padding: 10px;
+ padding-left: 35px;
+}
+
+#content #stream #result #explanation #error .msg
+{
+ font-style: italic;
+ font-weight: normal;
+ margin-top: 10px;
+}
+
+#content #stream #result #explanation .content
+{
+ padding-left: 0;
+ padding-right: 0;
+}
+
+#content #stream #result #explanation .content.show
+{
+ background-image: url( ../../img/div.gif );
+ background-repeat: repeat-y;
+ background-position: 31% 0;
+}
+
+#content #stream #result #explanation #legend
+{
+ border: 1px solid #f0f0f0;
+ padding: 10px;
+ /*position: absolute;
+ right: 0;
+ bottom: 0;*/
+}
+
+#content #stream #result #explanation #legend li
+{
+ padding-left: 15px;
+ position: relative;
+ -webkit-box-sizing: border-box;
+}
+
+#content #stream #result #explanation #legend li svg
+{
+ position: absolute;
+ left: 0;
+ top: 2px;
+}
+
+#content #stream #result #explanation #explanation-content
+{
+ min-height: 50px;
+ width: 100%
+}
+
+#content #stream #result #explanation #explanation-content .node circle
+{
+ color: #c48f00;
+ stroke: #c48f00;
+ fill: #c48f00;
+}
+
+#content #stream #result #explanation #explanation-content .link
+{
+ fill: none;
+ stroke: #e0e0e0;
+ stroke-width: 1.5px;
+}
+
+#content #stream #result #explanation #legend .datastore circle,
+#content #stream #result #explanation #explanation-content .node.datastore circle
+{
+ stroke: #3800c4;
+ fill: #3800c4;
+}
+
+#content #stream #result #explanation #legend .stream-source circle,
+#content #stream #result #explanation #explanation-content .node.stream-source circle
+{
+ stroke: #21a9ec;
+ fill: #21a9ec;
+}
+
+#content #stream #result #explanation #legend .stream-decorator circle,
+#content #stream #result #explanation #explanation-content .node.stream-decorator circle
+{
+ stroke: #cb21ec;
+ fill: #cb21ec;
+}
+
+#content #stream #result #explanation #legend .graph-source circle,
+#content #stream #result #explanation #explanation-content .node.graph-source circle
+{
+ stroke: #21eca9;
+ fill: #21eca9;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/suggestions.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/suggestions.css
new file mode 100644
index 000000000..6d9fa6599
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/suggestions.css
@@ -0,0 +1,64 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+#cluster-suggestions
+.s-container{
+ text-align:center;
+}
+#cluster-suggestions
+.s-box1{
+ background-image: url( ../../img/ico/run.png );
+ background-color: transparent;
+ background-repeat: no-repeat;
+ border: none;
+ cursor: pointer;
+ vertical-align: middle;
+ display:inline-block;
+ width:20px;
+}
+#cluster-suggestions
+.s-box2{
+ display:inline-block;
+}
+#cluster-suggestions
+.s-box3{
+ display:inline-block;
+}
+#cluster-suggestions
+.s-box4{
+ display:inline-block;
+}
+#s-table {
+ border-collapse: collapse;
+ width: 60%;
+}
+
+#s-table td, #customers th {
+ border: 1px solid #ddd;
+ padding: 8px;
+}
+
+#cluster-suggestions #s-table tr:nth-child(even){background-color: #f2f2f2;}
+
+#cluster-suggestions #s-table th {
+ padding-top: 12px;
+ padding-bottom: 12px;
+ text-align: left;
+ background-color: #4CAF50;
+ color: white;
+}
diff --git a/solr-8.3.1/server/solr-webapp/webapp/css/angular/threads.css b/solr-8.3.1/server/solr-webapp/webapp/css/angular/threads.css
new file mode 100644
index 000000000..a457c8679
--- /dev/null
+++ b/solr-8.3.1/server/solr-webapp/webapp/css/angular/threads.css
@@ -0,0 +1,160 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+*/
+
+#content #threads .loader
+{
+ background-position: 0 50%;
+ padding-left: 21px;
+}
+
+#content #threads #thread-dump table
+{
+ border-collapse: collapse;
+ width: 100%;
+}
+
+#content #threads #thread-dump table .spacer,
+#content #threads #thread-dump tbody .state
+{
+ background-color: #fff;
+}
+
+#content #threads #thread-dump table th,
+#content #threads #thread-dump table td
+{
+ padding: 5px 3px;
+ vertical-align: top;
+}
+
+#content #threads #thread-dump thead th
+{
+ background-color: #c8c8c8;
+ font-weight: bold;
+ text-align: left;
+}
+
+#content #threads #thread-dump thead th.name
+{
+ width: 85%;
+}
+
+#content #threads #thread-dump thead th.time
+{
+ text-align: right;
+ width: 15%;
+}
+
+#content #threads #thread-dump tbody .odd
+{
+ background-color: #f0f0f0;
+}
+
+#content #threads #thread-dump tbody .RUNNABLE a
+{
+ background-image: url( ../../img/ico/tick-circle.png );
+}
+
+#content #threads #thread-dump tbody .WAITING a,
+#content #threads #thread-dump tbody .TIMED_WAITING a
+{
+ background-image: url( ../../img/ico/hourglass.png );
+}
+
+#content #threads #thread-dump tbody .WAITING.lock a,
+#content #threads #thread-dump tbody .TIMED_WAITING.lock a
+{
+ background-image: url( ../../img/ico/hourglass--exclamation.png );
+}
+
+#content #threads #thread-dump tbody .name a
+{
+ background-position: 0 50%;
+ cursor: auto;
+ display: block;
+ padding-left: 21px;
+}
+
+#content #threads #thread-dump tbody .stacktrace .name a
+{
+ cursor: pointer;
+}
+
+#content #threads #thread-dump tbody .stacktrace .name a span
+{
+ background-image: url( ../../img/ico/chevron-small-expand.png );
+ background-position: 100% 50%;
+ padding-right: 21px;
+}
+
+#content #threads #thread-dump tbody .stacktrace.open .name a span
+{
+ background-image: url( ../../img/ico/chevron-small.png );
+}
+
+#content #threads #thread-dump tbody .name p
+{
+ background-image: url( ../../img/ico/arrow-000-small.png );
+ background-position: 0 50%;
+ color: #4D4D4D;
+ font-size: 11px;
+ margin-left: 21px;
+ padding-left: 21px;
+}
+
+#content #threads #thread-dump tbody .name div
+{
+ border-top: 1px solid #c0c0c0;
+ margin-left: 21px;
+ margin-top: 5px;
+ padding-top: 5px;
+}
+
+#content #threads #thread-dump tbody .open .name div
+{
+ display: block;
+}
+
+#content #threads #thread-dump tbody .name ul
+{
+ list-style-type: disc;
+ margin-left: 0.7em;
+ padding-left: 0.7em;
+}
+
+#content #threads #thread-dump tbody .time
+{
+ text-align: right;
+}
+
+#content #threads .controls
+{
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+#content #threads .controls a
+{
+ background-image: url( ../../img/ico/chevron-small-expand.png );
+ padding-left: 21px;
+}
+
+#content #threads.expanded .controls a
+{
+ background-image: url( ../../img/ico/chevron-small.png );
+}