<!DOCTYPE html>
<html>
<head>
<title>Index of /spots/</title>
<style type="text/css">
a, a:active {text-decoration: none; color: blue;}
a:visited {color: #48468F;}
a:hover, a:focus {text-decoration: underline; color: red;}
body {background-color: #F5F5F5;}
h2 {margin-bottom: 12px;}
table {margin-left: 12px;}
th, td { font: 90% monospace; text-align: left;}
th { font-weight: bold; padding-right: 14px; padding-bottom: 3px;}
td {padding-right: 14px;}
td.s, th.s {text-align: right;}
div.list { background-color: white; border-top: 1px solid #646464; border-bottom: 1px solid #646464; padding-top: 10px; padding-bottom: 14px;}
div.foot { font: 90% monospace; color: #787878; padding-top: 4px;}
</style>
</head>
<body>
<h2>Index of /spots/</h2>
<div class="list">
<table summary="Directory Listing" cellpadding="0" cellspacing="0">
<thead><tr><th class="n">Name</th><th class="m">Last Modified</th><th class="s">Size</th><th class="t">Type</th></tr></thead>
<tbody>
<tr class="d"><td class="n"><a href="../">..</a>/</td><td class="m"> </td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="1997/">1997</a>/</td><td class="m">2008-May-16 01:24:33</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="1998/">1998</a>/</td><td class="m">2008-May-16 01:24:58</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="1999/">1999</a>/</td><td class="m">2008-May-16 01:26:44</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2000/">2000</a>/</td><td class="m">2008-May-16 01:30:30</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2001/">2001</a>/</td><td class="m">2008-May-16 01:34:47</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2002/">2002</a>/</td><td class="m">2008-May-16 01:39:19</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2003/">2003</a>/</td><td class="m">2008-May-16 01:44:16</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2004/">2004</a>/</td><td class="m">2008-May-16 01:50:27</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2005/">2005</a>/</td><td class="m">2008-May-16 01:57:51</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2006/">2006</a>/</td><td class="m">2008-May-16 02:06:39</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2007/">2007</a>/</td><td class="m">2008-May-16 02:16:07</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2008/">2008</a>/</td><td class="m">2009-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2009/">2009</a>/</td><td class="m">2010-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2010/">2010</a>/</td><td class="m">2011-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2011/">2011</a>/</td><td class="m">2012-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2012/">2012</a>/</td><td class="m">2013-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2013/">2013</a>/</td><td class="m">2014-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2014/">2014</a>/</td><td class="m">2015-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2015/">2015</a>/</td><td class="m">2016-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2016/">2016</a>/</td><td class="m">2017-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2017/">2017</a>/</td><td class="m">2018-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2018/">2018</a>/</td><td class="m">2019-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2019/">2019</a>/</td><td class="m">2020-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2020/">2020</a>/</td><td class="m">2021-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2021/">2021</a>/</td><td class="m">2022-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2022/">2022</a>/</td><td class="m">2023-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2023/">2023</a>/</td><td class="m">2024-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2024/">2024</a>/</td><td class="m">2025-Jan-01 03:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
<tr class="d"><td class="n"><a href="2025/">2025</a>/</td><td class="m">2025-May-27 04:00:00</td><td class="s">-  </td><td class="t">Directory</td></tr>
</tbody>
</table>
</div>
<div class="foot">lighttpd/1.4.74</div>

<script type="text/javascript">
// <!--

var click_column;
var name_column = 0;
var date_column = 1;
var size_column = 2;
var type_column = 3;
var prev_span = null;

if (typeof(String.prototype.localeCompare) === 'undefined') {
 String.prototype.localeCompare = function(str, locale, options) {
   return ((this == str) ? 0 : ((this > str) ? 1 : -1));
 };
}

if (typeof(String.prototype.toLocaleUpperCase) === 'undefined') {
 String.prototype.toLocaleUpperCase = function() {
  return this.toUpperCase();
 };
}

function get_inner_text(el) {
 if((typeof el == 'string')||(typeof el == 'undefined'))
  return el;
 if(el.innerText)
  return el.innerText;
 else {
  var str = "";
  var cs = el.childNodes;
  var l = cs.length;
  for (var i=0;i<l;i++) {
   if (cs[i].nodeType==1) str += get_inner_text(cs[i]);
   else if (cs[i].nodeType==3) str += cs[i].nodeValue;
  }
 }
 return str;
}

function isdigit(c) {
 return (c >= '0' && c <= '9');
}

function unit_multiplier(unit) {
 return (unit=='K') ? 1000
      : (unit=='M') ? 1000000
      : (unit=='G') ? 1000000000
      : (unit=='T') ? 1000000000000
      : (unit=='P') ? 1000000000000000
      : (unit=='E') ? 1000000000000000000 : 1;
}

var li_date_regex=/(\d{4})-(\w{3})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/;

var li_mon = ['Jan','Feb','Mar','Apr','May','Jun',
              'Jul','Aug','Sep','Oct','Nov','Dec'];

function li_mon_num(mon) {
 var i; for (i = 0; i < 12 && mon != li_mon[i]; ++i); return i;
}

function li_date_cmp(s1, s2) {
 var dp1 = li_date_regex.exec(s1)
 var dp2 = li_date_regex.exec(s2)
 for (var i = 1; i < 7; ++i) {
  var cmp = (2 != i)
   ? parseInt(dp1[i]) - parseInt(dp2[i])
   : li_mon_num(dp1[2]) - li_mon_num(dp2[2]);
  if (0 != cmp) return cmp;
 }
 return 0;
}

function sortfn_then_by_name(a,b,sort_column) {
 if (sort_column == name_column || sort_column == type_column) {
  var ad = (a.cells[type_column].innerHTML === 'Directory');
  var bd = (b.cells[type_column].innerHTML === 'Directory');
  if (ad != bd) return (ad ? -1 : 1);
 }
 var at = get_inner_text(a.cells[sort_column]);
 var bt = get_inner_text(b.cells[sort_column]);
 var cmp;
 if (sort_column == name_column) {
  if (at == '../') return -1;
  if (bt == '../') return  1;
 }
 if (a.cells[sort_column].className == 'int') {
  cmp = parseInt(at)-parseInt(bt);
 } else if (sort_column == date_column) {
  var ad = isdigit(at.substr(0,1));
  var bd = isdigit(bt.substr(0,1));
  if (ad != bd) return (!ad ? -1 : 1);
  cmp = li_date_cmp(at,bt);
 } else if (sort_column == size_column) {
  var ai = parseInt(at, 10) * unit_multiplier(at.substr(-1,1));
  var bi = parseInt(bt, 10) * unit_multiplier(bt.substr(-1,1));
  if (at.substr(0,1) == '-') ai = -1;
  if (bt.substr(0,1) == '-') bi = -1;
  cmp = ai - bi;
 } else {
  cmp = at.toLocaleUpperCase().localeCompare(bt.toLocaleUpperCase());
  if (0 != cmp) return cmp;
  cmp = at.localeCompare(bt);
 }
 if (0 != cmp || sort_column == name_column) return cmp;
 return sortfn_then_by_name(a,b,name_column);
}

function sortfn(a,b) {
 return sortfn_then_by_name(a,b,click_column);
}

function resort(lnk) {
 var span = lnk.childNodes[1];
 var table = lnk.parentNode.parentNode.parentNode.parentNode;
 var rows = new Array();
 for (var j=1;j<table.rows.length;j++)
  rows[j-1] = table.rows[j];
 click_column = lnk.parentNode.cellIndex;
 rows.sort(sortfn);

 if (prev_span != null) prev_span.innerHTML = '';
 if (span.getAttribute('sortdir')=='down') {
  span.innerHTML = '↑';
  span.setAttribute('sortdir','up');
  rows.reverse();
 } else {
  span.innerHTML = '↓';
  span.setAttribute('sortdir','down');
 }
 for (var i=0;i<rows.length;i++)
  table.tBodies[0].appendChild(rows[i]);
 prev_span = span;
}

function init_sort(init_sort_column, ascending) {
 var tables = document.getElementsByTagName("table");
 for (var i = 0; i < tables.length; i++) {
  var table = tables[i];
  //var c = table.getAttribute("class")
  //if (-1 != c.split(" ").indexOf("sort")) {
   var row = table.rows[0].cells;
   for (var j = 0; j < row.length; j++) {
    var n = row[j];
    if (n.childNodes.length == 1 && n.childNodes[0].nodeType == 3) {
     var link = document.createElement("a");
     var title = n.childNodes[0].nodeValue.replace(/:$/, "");
     link.appendChild(document.createTextNode(title));
     link.setAttribute("href", "#");
     link.setAttribute("class", "sortheader");
     link.setAttribute("onclick", "resort(this);return false;");
     var arrow = document.createElement("span");
     arrow.setAttribute("class", "sortarrow");
     arrow.appendChild(document.createTextNode(":"));
     link.appendChild(arrow)
     n.replaceChild(link, n.firstChild);
    }
   }
   var lnk = row[init_sort_column].firstChild;
   if (ascending) {
    var span = lnk.childNodes[1];
    span.setAttribute('sortdir','down');
   }
   resort(lnk);
  //}
 }
}

function init_sort_from_query() {
  var urlParams = new URLSearchParams(location.search);
  var c = 0;
  var o = 0;
  switch (urlParams.get('C')) {
    case "N": c=0; break;
    case "M": c=1; break;
    case "S": c=2; break;
    case "T":
    case "D": c=3; break;
  }
  switch (urlParams.get('O')) {
    case "A": o=1; break;
    case "D": o=0; break;
  }
  init_sort(c,o);
}
init_sort_from_query();

// -->
</script>

</body>
</html>