<!-- Copyright 2019 The Flutter Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file. -->

<html>
<head>
  <meta charset="UTF-8">
  <meta name="google-signin-client_id" content="308150028417-vlj9mqlm3gk1d03fb0efif1fu5nagdtt.apps.googleusercontent.com">
  <title>Build Dashboard</title>
  <!-- This application normally gets displayed on a TV that is hard to reach.
  Refreshing this page once a day (in seconds) makes it so the TV stays relatively
  up to date without anyone have to get a ladder to use the TV as a computer.
  -->
  <meta http-equiv="refresh" content="86400">


  <!-- iOS meta tags & icons -->
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <meta name="apple-mobile-web-app-title" content="repository">
  <link rel="apple-touch-icon" href="icons/Icon-192.png">

  <!-- Favicon -->
  <link rel="icon" type="image/png" href="favicon.png"/>
</head>
<body>
  <script src="main.dart.js" type="application/javascript"></script>
  <script>
    (function(w,d,s,g,js,fjs){
      g=w.gapi||(w.gapi={});g.analytics={q:[],ready:function(cb){this.q.push(cb)}};
      js=d.createElement(s);fjs=d.getElementsByTagName(s)[0];
      js.src='https://apis.google.com/js/platform.js';
      fjs.parentNode.insertBefore(js,fjs);js.onload=function(){g.load('analytics')};
    }(window,document,'script'));
    </script>
</body>
</html>
