<!--
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.
-->

<!DOCTYPE html>

    <head>

        <title>Traffic Portal</title>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="description" content="A user interface for managing Apache Traffic Control CDN systems.">
        <meta name="application-name" content="Apache Traffic Portal/7.0.1">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

        <link rel="shortcut icon" href="resources/assets/images/favicon.png" type="image/x-icon" />

        <link rel="stylesheet" media="all" href="resources/styles/theme.css">
        <link rel="stylesheet" media="all" href="resources/styles/loading.css">
        <link rel="stylesheet" media="all" href="resources/styles/main.css">
        <link rel="stylesheet" media="all" href="resources/assets/css/custom.css">

        <link rel="stylesheet" media="all" href="resources/assets/css/jsonformatter.min_0.6.0.css">
        <link rel="stylesheet" media="all" href="resources/assets/css/jquery.dataTables.min_1.10.9.css">
        <link rel="stylesheet" media="all" href="resources/assets/css/colReorder.dataTables.min_1.5.1.css">
        <link rel="stylesheet" media="all" href="resources/assets/css/angular-moment-picker_0.10.2.css">
        <link rel="stylesheet" media="all" href="resources/assets/css/angular-ui-tree.min_2.22.6.css">

    </head>

    <body class="nav-md" ng-app="trafficPortal">

        <div class="app container body" ui-view></div>

        <script src="resources/assets/js/shared-libs.js"></script>
        <script src="resources/assets/js/ag-grid-community/dist/ag-grid-community.min.js"></script>
        <script src="resources/assets/js/app.js"></script>
        <script src="resources/assets/js/config.js"></script>

        <script src="resources/assets/js/angular-ui-tree.min_2.22.6.js"></script>
        <script src="resources/assets/js/jsonformatter.min_0.6.0.js"></script>
        <script src="resources/assets/js/fast-json-patch_v2.1.0.js"></script>
        <script src="resources/assets/js/downloadjs-min_v4.21.js"></script>
        <script src="resources/assets/js/jsdiff-min_3.5.0.js"></script>
        <script src="resources/assets/js/moment-min_2.22.1.js"></script>
        <script src="resources/assets/js/underscore-min_1.8.3.js"></script>
        <script src="resources/assets/js/jquery.dataTables.min_1.10.19_patched.js"></script>
        <script src="resources/assets/js/colReorder.dataTables.min_1.5.1.js"></script>
        <script src="resources/assets/js/dataTables.buttons.min_1.5.6.js"></script>
        <script src="resources/assets/js/buttons.html5.min_1.5.6.js"></script>
        <script src="resources/assets/js/chartjs/Chart.min_2.7.2.js"></script>
        <script src="resources/assets/js/chartjs/angular-chart.min_1.1.1.js"></script>
        <script src="resources/assets/js/moment-picker/angular-moment-picker.min_0.10.2.js"></script>

    </body>

</html>
