<!DOCTYPE html>
<!--
~ Copyright 2015 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~     http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
~
-->
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" href="imgs/bird.png">

    <title>M-CORD Subscriber Portal</title>

    <!-- bower:css -->
    <link rel="stylesheet" href="bower_components/angular-chart.js/dist/angular-chart.css" />
    <!-- endbower -->

    <!-- bower:js -->
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/angular-animate/angular-animate.js"></script>
    <script src="bower_components/jquery/dist/jquery.js"></script>
    <script src="bower_components/angular-resource/angular-resource.js"></script>
    <script src="bower_components/angular-cookies/angular-cookies.js"></script>
    <script src="bower_components/bootstrap-sass/assets/javascripts/bootstrap.js"></script>
    <script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
    <script src="bower_components/ngmap/build/scripts/ng-map.js"></script>
    <script src="bower_components/Chart.js/Chart.js"></script>
    <script src="bower_components/angular-chart.js/dist/angular-chart.js"></script>
    <script src="bower_components/lodash/lodash.js"></script>
    <script src="bower_components/angular-recursion/angular-recursion.js"></script>
    <script src="bower_components/ng-http-cache/src/ngHttpCache.js"></script>
    <script src="bower_components/ngXosHelpers/index.js"></script>
    <!-- endbower -->
    <script src="bower_components/ui.bootstrap/src/stackedMap/stackedMap.js"></script>
    <script src="bower_components/ui.bootstrap/src/position/position.js"></script>
    <script src="bower_components/ui.bootstrap/src/modal/modal.js"></script>
    <script src="bower_components/ui.bootstrap/src/tabs/tabs.js"></script>

    <link rel="stylesheet" href="style/main.css">

    <script src="cord.js"></script>
    <script src="dist/services/config.js"></script>
    <script src="dist/services/users.js"></script>
    <script src="dist/services/helpers.js"></script>
    <script src="dist/services/rest/enodeb.js"></script>
    <script src="dist/services/rest/profiles.js"></script>

    <script src="dist/components/header/header.js"></script>
    <script src="dist/components/footer/footer.js"></script>
    <script src="dist/components/add-enodeb/add-enodeb.js"></script>
    <script src="dist/components/related-profiles/related-profiles.js"></script>
    <script src="dist/components/related-stats/related-stats.js"></script>

    <script src="dist/view/login/login.js"></script>
    <script src="dist/view/home/e-node-map.js"></script>
    <script src="dist/view/home/e-node-map-panel.js"></script>
    <script src="dist/view/enode-list/enode-list.js"></script>
    <script src="dist/view/enode-details/enode-details.js"></script>
    <script src="dist/view/services/services.js"></script>
    <script src="http://maps.google.com/maps/api/js"></script>

</head>
<body ng-app="mCord">
<div class="app-wrapper">

    <header></header>

    <div ui-view class="fade"></div>

    <footer></footer>
</div>

<script type='text/javascript' id="__bs_script__">
    //<![CDATA[
    document.write('<script async src="http://HOST:3000/browser-sync/browser-sync-client.2.11.1.js"><\/script>'.replace('HOST', location.hostname));
    //]]>
</script>
</body>
</html>
