Apache 2.4.58
tcp/443 tcp/80
GitHub.com
tcp/443 tcp/80
.DS_Store” is an abbreviation for “Desktop Services Store”. These files are created automatically by Apples “Finder” software (which is part of their OS).
They store information about the files within a folder, including display options of folders, such as icon positions and view settings.
It may happen that .DS_Store files inadvertently leak filenames such as database backups or private administration panels.
Severity: low
Fingerprint: 5f32cf5d6962f09cec7f8772ec7f877254e472cf40500434884c11b5f21840ce
Found 11 files trough .DS_Store spidering: /asset /asset/chatter /asset/css /asset/font /asset/font/Lato /asset/icon /asset/js /asset/projects /asset/texture /asset/thumb /asset/video
Open service 46.101.56.107:443 · looptopiapp-1.loop.coop
2026-01-12 01:13
HTTP/1.1 200 OK Date: Mon, 12 Jan 2026 01:13:38 GMT Server: Apache/2.4.58 (Ubuntu) Access-Control-Allow-Origin: * Vary: Accept-Encoding Connection: close Transfer-Encoding: chunked Content-Type: text/html; charset=UTF-8
Open service 46.101.56.107:80 · looptopiapp-1.loop.coop
2026-01-12 01:13
HTTP/1.1 301 Moved Permanently Date: Mon, 12 Jan 2026 01:14:16 GMT Server: Apache/2.4.58 (Ubuntu) Location: https://looptopiapp-1.loop.coop/ Content-Length: 329 Connection: close Content-Type: text/html; charset=iso-8859-1 Page title: 301 Moved Permanently <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="https://looptopiapp-1.loop.coop/">here</a>.</p> <hr> <address>Apache/2.4.58 (Ubuntu) Server at looptopiapp-1.loop.coop Port 80</address> </body></html>
Open service 35.185.44.232:443 · loop.coop
2026-01-09 11:42
HTTP/1.1 200 OK
Cache-Control: max-age=600
Content-Length: 22300
Content-Type: text/html; charset=utf-8
Etag: "38ddf878ee4b50485e81d7422bfb1a6a82c8ec0533da93ba44e291159252cb8c"
Expires: Fri, 09 Jan 2026 11:52:30 UTC
Last-Modified: Mon, 22 Feb 2021 21:10:33 GMT
Permissions-Policy: interest-cohort=()
Vary: Origin
X-Request-Id: 01KEH91CAXWNVGD2ZRKSAKV0NM
Date: Fri, 09 Jan 2026 11:42:30 GMT
Connection: close
Page title: Loop.Coop
<!DOCTYPE HTML>
<html lang="en-GB" class="section-logo">
<head>
<meta charset="utf-8">
<title>Loop.Coop</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<style>
/* Custom webfonts. Should be loaded as soon as possible. */
/* See fonts-backup.css for more weights and styles */
@font-face {
font-family:'Lato';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2 */
src: url(asset/font/lato-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family:'Podkova';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/podkova/v17/K2FxfZ1EmftJSV9VaJnzJ6CiDyo.woff2 */
src: url(asset/font/podkova-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" href="asset/css/normalize.min.css">
<link rel="stylesheet" href="asset/css/main.css">
<link rel="apple-touch-icon" sizes="180x180" href="asset/icon/at-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="asset/icon/f-48.png">
<link rel="icon" type="image/png" sizes="32x32" href="asset/icon/f-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="asset/icon/f-16.png">
<link rel="manifest" href="asset/icon/site.webmanifest">
<link rel="mask-icon" href="asset/icon/safari-pinned.svg" color="#8A4FB4">
<link rel="shortcut icon" href="asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Loop.Coop">
<meta name="application-name" content="Loop.Coop">
<meta name="msapplication-TileColor" content="#DA532C">
<meta name="msapplication-config" content="asset/icon/browserconfig.xml">
<meta name="theme-color" content="#DA532C">
</head>
<body class="bg-aqua section-logo">
<div id="top" class="bg-lime"><h2 class="a11y">Top</h2>
<section id="showreel" class="fullwidth">
<video
src="asset/video/showreel-2021-v1-1080p.mp4" type="video/mp4"
autoplay="autoplay" muted="muted" loop="loop"
width="1920" height="1080"
poster="asset/thumb/showreel-2021-v1.jpg">
</section></div>
<header class="header-bg bg-aqua"></header>
<header class="header-bg bg-lime"></header>
<header class="header-bg bg-purple"></header>
<div id="logo"><a onclick="scrollTo(event)" href="#top">
<!-- ldc-logo-jan2021-v2.svg -> jakearchibald.github.io/svgomg -->
<svg class="line-1" viewBox="0 0 1024 1024"><path d="M331 490a46 46
0 11-32-87l32 87zM749 395c-6-17-3-35 6-49v-69l-44-13v172h-22v41h92v-41h
-26v-29l-6-12zM152 256a46 46 0 1187 32l-87-32zM261 436h-43V290l-44
-16v162h-25v41h120a55 55 0 01-8-41zM620 416c0 18-11 28-25 28-13 0-24-10
-24-28v-56l-44-16v72c0 41 31 69 69 69s69-28 69-69v-56l-45-16v72z"/>
<path d="M571 297c0-18 11-28 24-28 14 0 25 10 25 28v37l44 16v-53c0-40
-31-69-69-69s-69 29-69 69v37l45 16v-53zM438 416c0 18-11 28-25 28s-25-10
-25-28v-15l-44 16c1 40 32 68 69 68 38 0 69-29 69-69v-72l-44 16v56z"/>
<path d="M389 297c0-18 11-28 24-28 14 0 25 10 25 28v53l44-16v-37c0-40
-31-69-69-69s-69 29-69 69v111l45-16v-95zM865 320v-16c0-38-31-68-69-68h
-63l15 41h48c14 0 25 13 25 27v21c0 13-11 28-27 31l-8-23c-24 9-37 35-28
59s35 36 59 27l-8-22c33-10 59-42 56-77z"/>
</svg>
<svg class="dot" viewBox="0 0 1024 1024">
<circle cx="854" cy="456" r="29"/></svg>
<svg class="line-2" viewBox="0 0 1024 1024"><path d="M749 700c-7-19
-2-40 10-54v-55h-44v171h-24a46 46 0 0092 0h-24v-45l-10-1
Open service 46.101.56.107:80 · looptopiapp-1.loop.coop
2026-01-04 01:26
HTTP/1.1 301 Moved Permanently Date: Sun, 04 Jan 2026 01:26:30 GMT Server: Apache/2.4.58 (Ubuntu) Location: https://looptopiapp-1.loop.coop/ Content-Length: 329 Connection: close Content-Type: text/html; charset=iso-8859-1 Page title: 301 Moved Permanently <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="https://looptopiapp-1.loop.coop/">here</a>.</p> <hr> <address>Apache/2.4.58 (Ubuntu) Server at looptopiapp-1.loop.coop Port 80</address> </body></html>
Open service 2600:1901:0:7b8a:::80 · loop.coop
2026-01-03 15:41
HTTP/1.1 301 Moved Permanently content-type: text/html; charset=utf-8 location: https://loop.coop/ permissions-policy: interest-cohort=() vary: Origin x-request-id: 01KE28AN7C375BTW2YQ9FH8TPZ date: Sat, 03 Jan 2026 15:41:29 GMT content-length: 53 gitlab-lb: haproxy-pages-05-lb-gprd gitlab-sv: pages-us-east1-c connection: close <a href="https://loop.coop/">Moved Permanently</a>.
Open service 35.185.44.232:443 · loop.coop
2026-01-03 15:41
HTTP/1.1 200 OK
Cache-Control: max-age=600
Content-Length: 22300
Content-Type: text/html; charset=utf-8
Etag: "38ddf878ee4b50485e81d7422bfb1a6a82c8ec0533da93ba44e291159252cb8c"
Expires: Sat, 03 Jan 2026 15:51:29 UTC
Last-Modified: Mon, 22 Feb 2021 21:10:33 GMT
Permissions-Policy: interest-cohort=()
Vary: Origin
X-Request-Id: 01KE28ANX3EX9P2Y4PCBDGKKY0
Date: Sat, 03 Jan 2026 15:41:29 GMT
Connection: close
Page title: Loop.Coop
<!DOCTYPE HTML>
<html lang="en-GB" class="section-logo">
<head>
<meta charset="utf-8">
<title>Loop.Coop</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<style>
/* Custom webfonts. Should be loaded as soon as possible. */
/* See fonts-backup.css for more weights and styles */
@font-face {
font-family:'Lato';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2 */
src: url(asset/font/lato-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family:'Podkova';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/podkova/v17/K2FxfZ1EmftJSV9VaJnzJ6CiDyo.woff2 */
src: url(asset/font/podkova-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" href="asset/css/normalize.min.css">
<link rel="stylesheet" href="asset/css/main.css">
<link rel="apple-touch-icon" sizes="180x180" href="asset/icon/at-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="asset/icon/f-48.png">
<link rel="icon" type="image/png" sizes="32x32" href="asset/icon/f-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="asset/icon/f-16.png">
<link rel="manifest" href="asset/icon/site.webmanifest">
<link rel="mask-icon" href="asset/icon/safari-pinned.svg" color="#8A4FB4">
<link rel="shortcut icon" href="asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Loop.Coop">
<meta name="application-name" content="Loop.Coop">
<meta name="msapplication-TileColor" content="#DA532C">
<meta name="msapplication-config" content="asset/icon/browserconfig.xml">
<meta name="theme-color" content="#DA532C">
</head>
<body class="bg-aqua section-logo">
<div id="top" class="bg-lime"><h2 class="a11y">Top</h2>
<section id="showreel" class="fullwidth">
<video
src="asset/video/showreel-2021-v1-1080p.mp4" type="video/mp4"
autoplay="autoplay" muted="muted" loop="loop"
width="1920" height="1080"
poster="asset/thumb/showreel-2021-v1.jpg">
</section></div>
<header class="header-bg bg-aqua"></header>
<header class="header-bg bg-lime"></header>
<header class="header-bg bg-purple"></header>
<div id="logo"><a onclick="scrollTo(event)" href="#top">
<!-- ldc-logo-jan2021-v2.svg -> jakearchibald.github.io/svgomg -->
<svg class="line-1" viewBox="0 0 1024 1024"><path d="M331 490a46 46
0 11-32-87l32 87zM749 395c-6-17-3-35 6-49v-69l-44-13v172h-22v41h92v-41h
-26v-29l-6-12zM152 256a46 46 0 1187 32l-87-32zM261 436h-43V290l-44
-16v162h-25v41h120a55 55 0 01-8-41zM620 416c0 18-11 28-25 28-13 0-24-10
-24-28v-56l-44-16v72c0 41 31 69 69 69s69-28 69-69v-56l-45-16v72z"/>
<path d="M571 297c0-18 11-28 24-28 14 0 25 10 25 28v37l44 16v-53c0-40
-31-69-69-69s-69 29-69 69v37l45 16v-53zM438 416c0 18-11 28-25 28s-25-10
-25-28v-15l-44 16c1 40 32 68 69 68 38 0 69-29 69-69v-72l-44 16v56z"/>
<path d="M389 297c0-18 11-28 24-28 14 0 25 10 25 28v53l44-16v-37c0-40
-31-69-69-69s-69 29-69 69v111l45-16v-95zM865 320v-16c0-38-31-68-69-68h
-63l15 41h48c14 0 25 13 25 27v21c0 13-11 28-27 31l-8-23c-24 9-37 35-28
59s35 36 59 27l-8-22c33-10 59-42 56-77z"/>
</svg>
<svg class="dot" viewBox="0 0 1024 1024">
<circle cx="854" cy="456" r="29"/></svg>
<svg class="line-2" viewBox="0 0 1024 1024"><path d="M749 700c-7-19
-2-40 10-54v-55h-44v171h-24a46 46 0 0092 0h-24v-45l-10-1
Open service 2600:1901:0:7b8a:::443 · loop.coop
2026-01-03 15:41
HTTP/1.1 200 OK
Cache-Control: max-age=600
Content-Length: 22300
Content-Type: text/html; charset=utf-8
Etag: "38ddf878ee4b50485e81d7422bfb1a6a82c8ec0533da93ba44e291159252cb8c"
Expires: Sat, 03 Jan 2026 15:51:30 UTC
Last-Modified: Mon, 22 Feb 2021 21:10:33 GMT
Permissions-Policy: interest-cohort=()
Vary: Origin
X-Request-Id: 01KE28AP8QSA1PS9TQQTNPY8KH
Date: Sat, 03 Jan 2026 15:41:30 GMT
Connection: close
Page title: Loop.Coop
<!DOCTYPE HTML>
<html lang="en-GB" class="section-logo">
<head>
<meta charset="utf-8">
<title>Loop.Coop</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<style>
/* Custom webfonts. Should be loaded as soon as possible. */
/* See fonts-backup.css for more weights and styles */
@font-face {
font-family:'Lato';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2 */
src: url(asset/font/lato-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family:'Podkova';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/podkova/v17/K2FxfZ1EmftJSV9VaJnzJ6CiDyo.woff2 */
src: url(asset/font/podkova-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" href="asset/css/normalize.min.css">
<link rel="stylesheet" href="asset/css/main.css">
<link rel="apple-touch-icon" sizes="180x180" href="asset/icon/at-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="asset/icon/f-48.png">
<link rel="icon" type="image/png" sizes="32x32" href="asset/icon/f-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="asset/icon/f-16.png">
<link rel="manifest" href="asset/icon/site.webmanifest">
<link rel="mask-icon" href="asset/icon/safari-pinned.svg" color="#8A4FB4">
<link rel="shortcut icon" href="asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Loop.Coop">
<meta name="application-name" content="Loop.Coop">
<meta name="msapplication-TileColor" content="#DA532C">
<meta name="msapplication-config" content="asset/icon/browserconfig.xml">
<meta name="theme-color" content="#DA532C">
</head>
<body class="bg-aqua section-logo">
<div id="top" class="bg-lime"><h2 class="a11y">Top</h2>
<section id="showreel" class="fullwidth">
<video
src="asset/video/showreel-2021-v1-1080p.mp4" type="video/mp4"
autoplay="autoplay" muted="muted" loop="loop"
width="1920" height="1080"
poster="asset/thumb/showreel-2021-v1.jpg">
</section></div>
<header class="header-bg bg-aqua"></header>
<header class="header-bg bg-lime"></header>
<header class="header-bg bg-purple"></header>
<div id="logo"><a onclick="scrollTo(event)" href="#top">
<!-- ldc-logo-jan2021-v2.svg -> jakearchibald.github.io/svgomg -->
<svg class="line-1" viewBox="0 0 1024 1024"><path d="M331 490a46 46
0 11-32-87l32 87zM749 395c-6-17-3-35 6-49v-69l-44-13v172h-22v41h92v-41h
-26v-29l-6-12zM152 256a46 46 0 1187 32l-87-32zM261 436h-43V290l-44
-16v162h-25v41h120a55 55 0 01-8-41zM620 416c0 18-11 28-25 28-13 0-24-10
-24-28v-56l-44-16v72c0 41 31 69 69 69s69-28 69-69v-56l-45-16v72z"/>
<path d="M571 297c0-18 11-28 24-28 14 0 25 10 25 28v37l44 16v-53c0-40
-31-69-69-69s-69 29-69 69v37l45 16v-53zM438 416c0 18-11 28-25 28s-25-10
-25-28v-15l-44 16c1 40 32 68 69 68 38 0 69-29 69-69v-72l-44 16v56z"/>
<path d="M389 297c0-18 11-28 24-28 14 0 25 10 25 28v53l44-16v-37c0-40
-31-69-69-69s-69 29-69 69v111l45-16v-95zM865 320v-16c0-38-31-68-69-68h
-63l15 41h48c14 0 25 13 25 27v21c0 13-11 28-27 31l-8-23c-24 9-37 35-28
59s35 36 59 27l-8-22c33-10 59-42 56-77z"/>
</svg>
<svg class="dot" viewBox="0 0 1024 1024">
<circle cx="854" cy="456" r="29"/></svg>
<svg class="line-2" viewBox="0 0 1024 1024"><path d="M749 700c-7-19
-2-40 10-54v-55h-44v171h-24a46 46 0 0092 0h-24v-45l-10-1
Open service 35.185.44.232:80 · loop.coop
2026-01-03 15:41
HTTP/1.1 301 Moved Permanently content-type: text/html; charset=utf-8 location: https://loop.coop/ permissions-policy: interest-cohort=() vary: Origin x-request-id: 01KE28ANEWSAYJ6DK73VT9P0S7 date: Sat, 03 Jan 2026 15:41:29 GMT content-length: 53 gitlab-lb: haproxy-pages-02-lb-gprd gitlab-sv: pages-us-east1-c connection: close <a href="https://loop.coop/">Moved Permanently</a>.
Open service 35.185.44.232:443 · loop.coop
2026-01-02 22:03
HTTP/1.1 200 OK
Cache-Control: max-age=600
Content-Length: 22300
Content-Type: text/html; charset=utf-8
Etag: "38ddf878ee4b50485e81d7422bfb1a6a82c8ec0533da93ba44e291159252cb8c"
Expires: Fri, 02 Jan 2026 22:13:07 UTC
Last-Modified: Mon, 22 Feb 2021 21:10:33 GMT
Permissions-Policy: interest-cohort=()
Vary: Origin
X-Request-Id: 01KE0BRQSE87MZGH1YAMMCFCSN
Date: Fri, 02 Jan 2026 22:03:07 GMT
Connection: close
Page title: Loop.Coop
<!DOCTYPE HTML>
<html lang="en-GB" class="section-logo">
<head>
<meta charset="utf-8">
<title>Loop.Coop</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<style>
/* Custom webfonts. Should be loaded as soon as possible. */
/* See fonts-backup.css for more weights and styles */
@font-face {
font-family:'Lato';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2 */
src: url(asset/font/lato-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family:'Podkova';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/podkova/v17/K2FxfZ1EmftJSV9VaJnzJ6CiDyo.woff2 */
src: url(asset/font/podkova-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" href="asset/css/normalize.min.css">
<link rel="stylesheet" href="asset/css/main.css">
<link rel="apple-touch-icon" sizes="180x180" href="asset/icon/at-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="asset/icon/f-48.png">
<link rel="icon" type="image/png" sizes="32x32" href="asset/icon/f-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="asset/icon/f-16.png">
<link rel="manifest" href="asset/icon/site.webmanifest">
<link rel="mask-icon" href="asset/icon/safari-pinned.svg" color="#8A4FB4">
<link rel="shortcut icon" href="asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Loop.Coop">
<meta name="application-name" content="Loop.Coop">
<meta name="msapplication-TileColor" content="#DA532C">
<meta name="msapplication-config" content="asset/icon/browserconfig.xml">
<meta name="theme-color" content="#DA532C">
</head>
<body class="bg-aqua section-logo">
<div id="top" class="bg-lime"><h2 class="a11y">Top</h2>
<section id="showreel" class="fullwidth">
<video
src="asset/video/showreel-2021-v1-1080p.mp4" type="video/mp4"
autoplay="autoplay" muted="muted" loop="loop"
width="1920" height="1080"
poster="asset/thumb/showreel-2021-v1.jpg">
</section></div>
<header class="header-bg bg-aqua"></header>
<header class="header-bg bg-lime"></header>
<header class="header-bg bg-purple"></header>
<div id="logo"><a onclick="scrollTo(event)" href="#top">
<!-- ldc-logo-jan2021-v2.svg -> jakearchibald.github.io/svgomg -->
<svg class="line-1" viewBox="0 0 1024 1024"><path d="M331 490a46 46
0 11-32-87l32 87zM749 395c-6-17-3-35 6-49v-69l-44-13v172h-22v41h92v-41h
-26v-29l-6-12zM152 256a46 46 0 1187 32l-87-32zM261 436h-43V290l-44
-16v162h-25v41h120a55 55 0 01-8-41zM620 416c0 18-11 28-25 28-13 0-24-10
-24-28v-56l-44-16v72c0 41 31 69 69 69s69-28 69-69v-56l-45-16v72z"/>
<path d="M571 297c0-18 11-28 24-28 14 0 25 10 25 28v37l44 16v-53c0-40
-31-69-69-69s-69 29-69 69v37l45 16v-53zM438 416c0 18-11 28-25 28s-25-10
-25-28v-15l-44 16c1 40 32 68 69 68 38 0 69-29 69-69v-72l-44 16v56z"/>
<path d="M389 297c0-18 11-28 24-28 14 0 25 10 25 28v53l44-16v-37c0-40
-31-69-69-69s-69 29-69 69v111l45-16v-95zM865 320v-16c0-38-31-68-69-68h
-63l15 41h48c14 0 25 13 25 27v21c0 13-11 28-27 31l-8-23c-24 9-37 35-28
59s35 36 59 27l-8-22c33-10 59-42 56-77z"/>
</svg>
<svg class="dot" viewBox="0 0 1024 1024">
<circle cx="854" cy="456" r="29"/></svg>
<svg class="line-2" viewBox="0 0 1024 1024"><path d="M749 700c-7-19
-2-40 10-54v-55h-44v171h-24a46 46 0 0092 0h-24v-45l-10-1
Open service 2606:50c0:8000::153:443 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 103D:7483E:C0DFB9:D11C4D:6957D263
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4574-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.405507,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: d5f3aaa0b603cf810efbe199760118334ad5ad63
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8000::153:80 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 9C94:238462:57F05DC:5995B08:6957D263
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880034-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.482259,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: ed18228c65d0f81af5b534fe48fe5bf247429802
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8002::153:443 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 103D:7483E:C0DFB9:D11C4D:6957D263
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4570-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.394485,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: eb585bae1db745ad458f8d573ee41c4b4c4e4588
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8001::153:443 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 92C9:2C24F9:BC73EF:C93355:6957D263
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21993-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.351823,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: a560eaed4860ffe5121f0274c13ea30e25c36b54
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8003::153:80 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: F24C:730C7:69D7C13:6D0FE64:6957D264
Accept-Ranges: bytes
Age: 0
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
X-Served-By: cache-sjc1000126-SJC
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1767363172.432916,VS0,VE100
Vary: Accept-Encoding
X-Fastly-Request-ID: cf77d004dad8d74b6e809dde33e9f4e25a51a4ae
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8002::153:80 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7A74:83D7F:CC2F383:CEEDAE2:6957D264
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290027-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.470403,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 7cde213b2497e6370feb7a275e5375f84e22990d
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8001::153:80 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: B67D:1E3944:6AD1AB8:6E1216A:6957D263
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-pao-kpao1770048-PAO
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.443826,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 8988c4b717a01f6a3c2127eab162fe5ce2ab4f73
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8003::153:443 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: AE8C:2AB4A1:5839777:59DEE38:6957D264
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lon4243-LON
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.337370,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 5b6b3a3ff4d32ae580152331c75d6b83b402280c
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.111.153:80 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 3302:3B2812:5830ABC:59D6339:6957D263
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630093-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.248901,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: f70f02364dd98231b562b165b8c776afb6e4c00c
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.110.153:443 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: FD3C:316B06:4051AE4:41F0B95:6957D264
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880026-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.482830,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 48bf835916d2ce97eaa81439943b71aea9603f8e
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.109.153:80 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 9C94:238462:57F05DC:5995B08:6957D263
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsss1830025-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.483402,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 56e62634d04b2a540f73c2cb2b62645fdf9e35c9
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.111.153:443 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 92C9:2C24F9:BC73EF:C93355:6957D263
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21979-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.220042,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 7fa2fdcc00565cd6e68073077d35f138cf17231e
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.108.153:443 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 0C57:1BA674:57F8560:599DD12:6957D263
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630033-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.221228,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 7e81bd7899887e35ba9e8f5741c932598e3352d8
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.110.153:80 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: B42C:36FD72:5829598:59CEC04:6957D263
Accept-Ranges: bytes
Age: 0
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
X-Served-By: cache-lon420137-LON
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1767363172.208334,VS0,VE108
Vary: Accept-Encoding
X-Fastly-Request-ID: 6fe03181ce4b65a87d02e55115da23fc1423c901
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.108.153:80 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 3302:3B2812:5830ABC:59D6339:6957D263
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630079-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767363172.208507,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: b5d0a3809ab0ce8e8691181c3b7a0593f6f7f7a0
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.109.153:443 · foldawayforest.loop.coop
2026-01-02 14:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 2719
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 07 May 2017 22:09:12 GMT
Access-Control-Allow-Origin: *
ETag: "590f9b08-a9f"
expires: Fri, 02 Jan 2026 14:22:52 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: AE8C:2AB4A1:5839777:59DEE38:6957D264
Accept-Ranges: bytes
Age: 0
Date: Fri, 02 Jan 2026 14:12:52 GMT
Via: 1.1 varnish
X-Served-By: cache-lon4252-LON
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1767363172.220570,VS0,VE106
Vary: Accept-Encoding
X-Fastly-Request-ID: 3bc7f0c370c7c6c1be32b7fa0c21ecf28e9ab2a7
Page title: Foldaway Forest
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Foldaway Forest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Strange paper trees unfurl in 3D">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/foldaway-forest.css" rel="stylesheet">
<!-- Third party library -->
<script src="lib/jquery-3.1.1.min.js"></script>
<script src="lib/three.min.js"></script>
<script src="lib/three-stats.min.js"></script><!-- unminified is available -->
<script src="lib/threex-rendererstats.js"></script>
<script src="lib/threex-windowresize.js"></script>
<script src="lib/three-orbitcontrols.js"></script>
<!-- Main app and classes -->
<script src="src/main/App.js"></script>
<script src="src/main/Dev.js"></script>
<script src="src/main/Scene.js"></script>
<script src="src/main/Shape.js"></script>
<script src="src/main/Sheet.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<span class="dev-show" id="dev-version"></span>
<a href="https://github.com/loopdotcoop/foldawayforest">GitHub</a>
<a href="http://foldawayforest.loop.coop/">Foldaway Forest</a>
</nav>
<!-- Init the app -->
<script>
if (! window.FOLDF) throw Error('App namespace not found')
FOLDF.init({
})
</script>
<!-- End hiding from Internet Explorer 9 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8002::153:80 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc34-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 1036:365E18:B8EFC08:BB7FB14:6956CCED
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:20 GMT
Via: 1.1 varnish
Age: 1
X-Served-By: cache-sin-wsat1880032-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296240.036251,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 4d25c096c8353bb30b0a13fb69b507460714093b
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 2606:50c0:8000::153:80 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc34-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 1036:365E18:B8EFC08:BB7FB14:6956CCED
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:19 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsss1830033-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.056713,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 77663e5c1d1eef9f228ca28c3e84895e1c46c485
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 185.199.110.153:443 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 9DB1:3C0B45:52C31C3:544A73C:6956CCEE
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:19 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880026-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.037772,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 7e329b21921272122de467353132200fc9a557ec
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 185.199.110.153:80 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 3C1A:3FEDE5:1D07AE3:20993A1:6956CCEE
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4574-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.788053,VS0,VE7
Vary: Accept-Encoding
X-Fastly-Request-ID: 90c4fa9a7a6bc32b392ddc52d6f3eccd62411fd2
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 2606:50c0:8003::153:80 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: E36E:33CCC:BE94E3C:C11C920:6956CCEE
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-vie6367-VIE
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.973523,VS0,VE3
Vary: Accept-Encoding
X-Fastly-Request-ID: 719f82990535b8ccde74c4ea5c1c973e6d8aa917
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 2606:50c0:8002::153:443 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 6EC8:88F77:9AA443A:AC3CF61:6956CCEE
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4557-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.792888,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 45dc19fb68ae4a58fb8466861563d9fb2888b461
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 185.199.108.153:443 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: AF8C:55CE4:556254A:5D2B983:6956CCEE
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21955-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.737642,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 3c7c095beadfccb874304bea4a1a36c248510faf
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 185.199.109.153:80 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 3C1A:3FEDE5:1D07AE3:20993A1:6956CCEE
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4551-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.732988,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 8452de0d5eb1c12430d7c508aa681dd51537e292
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 185.199.109.153:443 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc34-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: BD39:27E186:52C3F77:544B381:6956CCED
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630069-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.794178,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: b480d5f21045038366f6dd76570ba8a4e288b45b
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 2606:50c0:8001::153:443 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 1522:A2E6E:BE1B37F:C0A9DF4:6956CCED
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230064-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.843328,VS0,VE11
Vary: Accept-Encoding
X-Fastly-Request-ID: adc3c8909b20240ba63844d602c8b48e98d427de
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 2606:50c0:8003::153:443 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: AF8C:55CE4:556254A:5D2B983:6956CCEE
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21976-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.676887,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: ba7f195d9fb80e895cb55322a22e0e2bace44a76
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 2606:50c0:8000::153:443 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: AF8C:55CE4:556254A:5D2B983:6956CCEE
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21956-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.677990,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 7da4d40a1c8cf49591871fb0acfe8146619dffdf
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 2606:50c0:8001::153:80 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: E36E:33CCC:BE94E3C:C11C920:6956CCEE
Accept-Ranges: bytes
Age: 0
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
X-Served-By: cache-vie6356-VIE
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1767296239.791791,VS0,VE114
Vary: Accept-Encoding
X-Fastly-Request-ID: 1fb68f36c42ab1c118b535cb19e3ff87a1a36c4d
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 185.199.108.153:80 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 6C70:365E18:B8EFB96:BB7FAB4:6956CCEE
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230022-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.742169,VS0,VE5
Vary: Accept-Encoding
X-Fastly-Request-ID: f18bc3d2311a0975e5c541edc38299294a34ebbe
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 185.199.111.153:443 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 1522:A2E6E:BE1B37F:C0A9DF4:6956CCED
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230160-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.721846,VS0,VE14
Vary: Accept-Encoding
X-Fastly-Request-ID: fef9e9d28c6ffa96865ee2dae06d01ee4835f86c
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 185.199.111.153:80 · oom-hub.loop.coop
2026-01-01 19:37
HTTP/1.1 404 Not Found
Connection: close
Content-Length: 9115
Server: GitHub.com
Content-Type: text/html; charset=utf-8
ETag: "693afc33-239b"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 16AC:33D7C6:B6AE83D:B93EF04:6956CCEE
Accept-Ranges: bytes
Date: Thu, 01 Jan 2026 19:37:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290052-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767296239.711792,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 43f11a8bfd19288bf14a101c5d68d0f933b374aa
Page title: Site not found · GitHub Pages
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'">
<title>Site not found · GitHub Pages</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #4183c4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin-top: 35px;
color: #ccc;
}
#suggestions a {
color: #666666;
font-weight: 200;
font-size: 14px;
margin: 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p><strong>There isn't a GitHub Pages site here.</strong></p>
<p>
If you're trying to publish one,
<a href="https://help.github.com/pages/">read the full documentation</a>
to learn how to set up <strong>GitHub Pages</strong>
for your repository, organization, or user account.
</p>
<div id="suggestions">
<a href="https://githubstatus.com">GitHub Status</a> —
<a href="https://twitter.com/githubstatus">@githubstatus</a>
</div>
<a href="/" class="logo logo-img-1x">
<img width="32" height="32" title="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTZCRDY3REIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTZCRDY3RUIzRjAxMUUyQUQzREIxQzRENUFFNUM5NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUxNkJENjdCQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUxNkJENjdDQjNGMDExRTJBRDNEQjFDNEQ1QUU1Qzk2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SM9MCAAAA+5JREFUeNrEV11Ik1EY3s4+ddOp29Q5b0opCgKFsoKoi5Kg6CIhuwi6zLJLoYLopq4qsKKgi4i6CYIoU/q5iDAKs6syoS76IRWtyJ+p7cdt7sf1PGOD+e0c3dygAx/67ZzzPM95/877GYdHRg3ZjMXFxepQKNS6sLCwJxqNNuFpiMfjVs4ZjUa/pmmjeD6VlJS8NpvNT4QQ7mxwjSsJiEQim/1+/9lgMHgIr5ohuxG1WCw9Vqv1clFR0dCqBODElV6v90ogEDjGdYbVjXhpaendioqK07CIR7ZAqE49PT09BPL2PMgTByQGsYiZlQD4uMXtdr+JxWINhgINYhGT2MsKgMrm2dnZXgRXhaHAg5
Open service 2606:50c0:8001::153:80 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: A715:22455C:4B03919:4C6101F:6955607E
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630071-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202943.683146,VS0,VE4
Vary: Accept-Encoding
X-Fastly-Request-ID: a9bb26dd180dee043ceef836631fec2205e1d97c
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8003::153:443 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 1174:AE7B0:9F1E069:A16247B:6955607E
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230111-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202943.699255,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 7bcc184acfada24b2f4ba0a2e084f32e65c7648e
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8001::153:443 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 1174:AE7B0:9F1E069:A16247B:6955607E
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230040-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202943.701497,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 3c406eda8e7b1a65fdcba1e6c913d4d14ce0861e
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8002::153:443 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: AF1E:2EBA3F:36D1302:3828E27:6955607E
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880052-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202943.511573,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 6daa2bb65f61cad916d93d6bd1b2776be67a3c90
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8000::153:443 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: AF16:270806:8049CE7:89AEF1B:6955607D
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21920-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.284339,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 70d1771eaef59c52619e2819bb526be1ba4e40b1
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.110.153:443 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4CE1:278536:53E28A6:568E6CE:6955607D
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-pao-kpao1770072-PAO
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.370443,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 1225040a11f5cad3be13eb609efb0cfd620d968e
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8003::153:80 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 134E:365E18:9DD7F0E:A01C4B9:6955607E
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230088-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.265688,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 9f79118bfcc823344ea8863eea9b738c290c9db2
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.111.153:443 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5B5D:270806:8049CFE:89AEF37:6955607D
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4552-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.266659,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: fe9d8421a75f462c32fb145f698aa6d64c4954a3
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.111.153:80 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 134E:365E18:9DD7F0E:A01C4B9:6955607E
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230058-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.225026,VS0,VE19
Vary: Accept-Encoding
X-Fastly-Request-ID: 67b4173fab32e6192a6bb07f7e093cd18aec81a7
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.108.153:443 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: AF16:270806:8049CE7:89AEF1B:6955607D
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21952-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.186085,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: b509acb22f342d2329c460dc3def0b02d234bc19
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.109.153:443 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: AF16:270806:8049CE7:89AEF1B:6955607D
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21928-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.174868,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: d24bf2b92cee6c51e523c3d7efd04af602b69c70
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8000::153:80 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7F28:2368DD:A08D84F:A2D42A4:6955607D
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-vie6353-VIE
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.263599,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 911bfc5cb48e74f2c4d7800795d1118f74aba455
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.109.153:80 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 134E:365E18:9DD7F0E:A01C4B9:6955607E
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230111-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.246426,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: bc826178167add49223a0c8f4a807babd9b17316
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8002::153:80 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: C112:351BD5:7E55441:87BCA49:6955607D
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21963-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.110591,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 53a012315fb5bbc7977efe8c2d057529423e4b3e
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.108.153:80 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: DF36:355767:9DE7332:A02AD5A:6955607E
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290050-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.166702,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 5e5af396771b713369f507bfd7a8c09b9d14aae8
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.110.153:80 · dumpsta.loop.coop
2025-12-31 17:42
HTTP/1.1 200 OK
Connection: close
Content-Length: 3280
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 27 Feb 2017 10:38:21 GMT
Access-Control-Allow-Origin: *
ETag: "58b4019d-cd0"
expires: Wed, 31 Dec 2025 17:52:22 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 134E:365E18:9DD7F0E:A01C4B9:6955607E
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 17:42:22 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230135-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767202942.198872,VS0,VE45
Vary: Accept-Encoding
X-Fastly-Request-ID: e233870b6d444baf2c21dba4d92d3dbc09e1ea42
Page title: Dumpsta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dumpsta</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ASCII renderer">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Dumpsta
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/test.html">Test</a>
<a href="support/demos.html">Demos</a>
<a href="https://github.com/loopdotcoop/dumpsta">GitHub</a>
</div>
<h2 style="margin-top:0.2em">ASCII renderer</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Dumpsta.HOMEPAGE) )
$('#home').html('<a href="' + Dumpsta.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Dumpsta.VERSION||'(no VERSION)');$('#format').html(
'es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.108.153:80 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4B6A:3512:36C6E46:38189FF:6955278C
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880054-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188365.711500,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 26455804b8d4a8dc46192a278e77344d9fc40750
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 185.199.110.153:443 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 9730:328FD3:B4A128:CB14F1:6955278A
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-bom-vanm7210056-BOM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188365.661917,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: fdb4012567b0432d138070d8ca5b13a817102e2c
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 185.199.109.153:443 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 0B17:298A76:7A10CE9:850AC52:6955278C
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4533-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.380770,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: d474f9d1daa112bddca3e214374fc38ef2a336ce
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 2606:50c0:8001::153:443 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 0B17:298A76:7A10CE9:850AC52:6955278C
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4528-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.379661,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: a44c77f3d718174d866e0ab05c46bc4b27c26f01
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 185.199.110.153:80 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: B080:377387:7ACFE60:85C96EB:6955278C
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4542-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.397543,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 5e729820b4c3517422fd4d653cb36357e3af4a5e
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 2606:50c0:8000::153:80 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: E648:322D44:9BBBD2C:9DF4B20:69552789
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230126-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.497437,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: abaabe0437914c739510b7535285247e6a02a8a5
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 2606:50c0:8000::153:443 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: A3C0:33D7C6:98532BC:9A8C63E:6955278B
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290031-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.425187,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 68658d1c4e83f138e2db3389929f1859d2d8411f
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 185.199.111.153:443 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: 8EF3:28E859:974B936:9984019:6955278C
Accept-Ranges: bytes
Age: 0
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
X-Served-By: cache-vie6336-VIE
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1767188364.433586,VS0,VE105
Vary: Accept-Encoding
X-Fastly-Request-ID: 675de06093a4f5ed970c44efa1a4ba3a18746fa0
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 2606:50c0:8002::153:443 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: B970:3B2812:49F471E:4B4B7C3:6955278C
Accept-Ranges: bytes
Age: 0
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
X-Served-By: cache-lon4266-LON
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1767188364.373250,VS0,VE93
Vary: Accept-Encoding
X-Fastly-Request-ID: ca8cc052d2122690314da58927653b817556b572
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 2606:50c0:8001::153:80 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5E1C:22D4E:7B028AC:8423CBC:6955278B
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21956-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.287116,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: e65b809bf448dd0571cdb6c143fb88d7b9146e08
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 185.199.108.153:443 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 98C4:355767:9A65FAD:9C9DD7C:6955278C
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230026-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.404451,VS0,VE3
Vary: Accept-Encoding
X-Fastly-Request-ID: cd5009f9eb562c99bc2c5fcb6c2bc177f2b1f662
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 185.199.111.153:80 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5E1C:22D4E:7B028AC:8423CBC:6955278B
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21952-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.254452,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: bff6e23ae90be16e7c0330b6b7236fff6fe400df
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 2606:50c0:8003::153:443 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5B98:730C7:530A004:55A28A7:6955278A
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-pao-kpao1770032-PAO
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.347762,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: f5142fb0624ba559184f99687e2dc7cb73f4ef31
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 2606:50c0:8003::153:80 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5E1C:22D4E:7B028AC:8423CBC:6955278B
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21940-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.197151,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 4f6b7d0b48761a10ceabd12beb7641dd12ed32fd
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 185.199.109.153:80 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5E1C:22D4E:7B028AC:8423CBC:6955278B
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21927-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.196501,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 1e2f1a5c24d6c91eac9bed408adcaa248efdc34a
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 2606:50c0:8002::153:80 · alfoom.loop.coop
2025-12-31 13:39
HTTP/1.1 200 OK
Connection: close
Content-Length: 2223
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 06 Nov 2017 02:21:22 GMT
Access-Control-Allow-Origin: *
ETag: "59ffc722-8af"
expires: Wed, 31 Dec 2025 13:49:24 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5E1C:22D4E:7B028AC:8423CBC:6955278B
Accept-Ranges: bytes
Date: Wed, 31 Dec 2025 13:39:24 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21967-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767188364.197909,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 42a72e6bba79bdaf4d41305147d2269092f5258f
Page title: Alfoom
<!DOCTYPE HTML>
<head>
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Search engine meta -->
<title>Alfoom</title>
<meta name="description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@loopdotcoop">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:url" content="http://alfoom.loop.coop/build/index.html">
<meta property="og:image"
content="http://alfoom.loop.coop/build/asset/icon/android-chrome-512x512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:title"
content="Alfoom">
<meta property="og:description"
content="Public-Alpha Oom: a bleepy, wireframey VR sequencer">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="public/asset/icon/apple-touch.png">
<link rel="icon" type="image/png" sizes="32x32" href="public/asset/icon/favicon32.png">
<link rel="icon" type="image/png" sizes="16x16" href="public/asset/icon/favicon16.png">
<link rel="manifest" href="public/asset/icon/manifest.json">
<link rel="mask-icon" color="#b100ff" href="public/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="public/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Alfoom">
<meta name="application-name" content="Alfoom">
<meta name="msapplication-config" content="public/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<script>
window.location.href = 'build/index.html'
</script>
</body>
</html>
Open service 185.199.108.153:443 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:50 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: B16D:27C5E0:33712DD:34AE234:69546686
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsss1830095-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.434636,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 7090856ff165c986b103ab1edbd88edb5849fb3b
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 2606:50c0:8003::153:443 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 8B60:AC48B:5704BE0:618A9DA:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4558-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.169428,VS0,VE8
Vary: Accept-Encoding
X-Fastly-Request-ID: ce5747007a62a471791032dc2bf393eaa40b85ff
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 2606:50c0:8003::153:80 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:50 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7400:171E88:6E22A05:7AE85A2:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21967-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.141593,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: b1898990438e8bc3b4cc2e0472bec8d5d76109bd
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 2606:50c0:8000::153:80 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:50 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7400:171E88:6E22A05:7AE85A2:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21923-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.141180,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: e3041f8d2ad5e8af8d68270cbd09314bcecf2240
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 185.199.108.153:80 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:50 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: 1F1B:2F9ED8:4BD5E64:4E405C5:69546684
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-pao-kpao1770020-PAO
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.136298,VS0,VE5
Vary: Accept-Encoding
X-Fastly-Request-ID: 5b93996329c5fd1f8fbcb67de89605d35ca78602
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 2606:50c0:8002::153:80 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:50 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 13A6:3D391:93802F9:95907D1:69546684
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290036-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.074320,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 83b85a94171d51654d0deffe26c740b6d8dfa31c
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 185.199.111.153:80 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:50 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 9C1C:33D7C6:916BAFF:937CFD0:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230154-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.123538,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 9f6b906256519d44107897fec219caa3485d424e
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 185.199.111.153:443 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:50 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 3A5E:33CCC:97C991C:99D3210:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230056-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.077083,VS0,VE8
Vary: Accept-Encoding
X-Fastly-Request-ID: 996b622c687b166caff2025509ca9cae92b44b3f
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 2606:50c0:8001::153:80 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:50 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 13A6:3D391:93802F9:95907D1:69546684
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290038-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.074080,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 2367cbd04281b82da35854bc4e5c0dc037e0c7a1
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 185.199.110.153:80 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:50 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 90CC:32E205:977D5D6:998735F:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-vie6380-VIE
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.158144,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: de2f214c0a2344316106f2e7a1f2b438180fcee4
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 2606:50c0:8000::153:443 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4EC5:2213E:6F4539E:7C082EF:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21990-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.984693,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: f7cbc746a527c38368882efe9506ff68dbcadea1
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 2606:50c0:8001::153:443 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4EC5:2213E:6F4539E:7C082EF:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21949-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.988459,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 8a63c4e653292f6c14aff63bcc393c39363b7503
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 2606:50c0:8002::153:443 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 8B60:AC48B:5704BE0:618A9DA:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4554-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.984299,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 0790ab3f515a83273f95ef3aa6b56dfde6f17843
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 185.199.110.153:443 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 9577:3BD049:45E2386:4722E0F:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630068-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.011906,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 7a17b66e467cbc61ed8c39812e0260c330ca4862
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 185.199.109.153:443 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 9577:3BD049:45E2386:4722E0F:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630066-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.013241,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: b10ebaa9c887212260308a739aabf41c744ebbb8
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 185.199.109.153:80 · moosse.loop.coop
2025-12-30 23:55
HTTP/1.1 200 OK
Connection: close
Content-Length: 53711
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:12:17 GMT
Access-Control-Allow-Origin: *
ETag: "5af34811-d1cf"
expires: Wed, 31 Dec 2025 00:05:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 1D6C:3C0B45:45EC2AD:472CDAD:69546685
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 23:55:50 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630021-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767138950.006401,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 33913feb270f76ee2904bcf692060f4e4a36eb41
Page title: Moosse 0.3.4
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Moosse 0.3.4</title>
<meta name="description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Moosse">
<meta property="og:url" content="http://moosse.loop.coop/">
<meta property="og:image"
content="http://moosse.loop.coop/support/asset/logo/logo-1200x900.svg">
<meta property="og:description"
content="Mutable Objects Over Server-Sent Events.
A Node.js server which push-notifies endusers when shared resources change">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#993300" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Moosse">
<meta name="application-name" content="Moosse">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#993300">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset
Open service 185.199.110.153:443 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:01 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: BC37:3D620:41651F5:4293071:6953C335
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:01 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880037-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097142.899574,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: c46e1c1504b007cefd5f84948722dd7b3800c078
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 2606:50c0:8001::153:80 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: 2213:1E3944:499FFA7:4BEB2F9:6953C334
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-pao-kpao1770069-PAO
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.765004,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 9582c6ce58e1ad5a32053d1e0ccc5f2a561f4645
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 2606:50c0:8000::153:443 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: F8B7:444BC:A1B004:B5753C:6953C334
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-bom-vanm7210062-BOM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.732098,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 0c1f0ee9d55f6b30cd6f088dcce56d78d20a7579
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 185.199.109.153:80 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: CC84:386006:47F44A2:4A3F05D:6953C334
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sjc1000127-SJC
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.674661,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: f4e54b4fa0d4e6b9764b233e90c6115c26e7936a
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 185.199.110.153:80 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: BB39:18E40C:64EBC50:6DC4398:6953C334
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21986-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.541240,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: b2e722a08d145a817a5453cd70d3cd2bb275966f
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 2606:50c0:8003::153:443 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: EDD6:28E859:82B42B8:84A3180:6953C333
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230048-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.600559,VS0,VE4
Vary: Accept-Encoding
X-Fastly-Request-ID: 855025ef21828782f860d1cfd9cb77ec3400e4ff
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 2606:50c0:8000::153:80 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 3191:335AB4:88C0386:8AAE8C7:6953C333
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230052-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.596951,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 3a2e2e0ee4fe269ab9f54a9a1140b925fecce2f3
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 185.199.111.153:80 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 3191:335AB4:88C0386:8AAE8C7:6953C333
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230175-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.598256,VS0,VE3
Vary: Accept-Encoding
X-Fastly-Request-ID: 2ac63a299f6d9d1be26f5b1b98dd2eac4702f55c
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 2606:50c0:8001::153:443 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 1F5B:284718:899854C:8B86934:6953C333
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-vie6359-VIE
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.706547,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: d2a170cc7d797b06a4c07b3d4ce339f3634a68ec
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 2606:50c0:8003::153:80 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 3191:335AB4:88C0386:8AAE8C7:6953C333
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230062-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.602392,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 46b1b204417fd98d3e1e81e8f4a3414a528d73b3
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 185.199.111.153:443 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: EDD6:28E859:82B42B8:84A3180:6953C333
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230101-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.599255,VS0,VE4
Vary: Accept-Encoding
X-Fastly-Request-ID: 4c98c22e7752c3f9c18db54e41837c2d55d319b3
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 185.199.109.153:443 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 636E:3BA61C:617D247:68DADBE:6953C334
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4564-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097140.497235,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: e36c8b04cf02e7293b990b92bbbd40cdc379b7ba
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 185.199.108.153:80 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: BB39:18E40C:64EBC50:6DC4398:6953C334
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21931-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.558208,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 4805cf66ce7fe53e44f121109a46ef8b1feb95bc
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 2606:50c0:8002::153:443 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: F8B7:444BC:A1B004:B5753C:6953C334
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-bom-vanm7210046-BOM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.731543,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: e7aaaacf709fadb613995fe6fa29809f64f325f1
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 2606:50c0:8002::153:80 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 6153:328FD3:A1382C:B4FD0A:6953C334
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-bom-vanm7210061-BOM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097141.713824,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 25926043c110d3f2300705533c9e6660a52d4f31
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 185.199.108.153:443 · tfmm.loop.coop
2025-12-30 12:19
HTTP/1.1 200 OK
Connection: close
Content-Length: 63347
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 22 Jun 2015 15:34:46 GMT
Access-Control-Allow-Origin: *
ETag: "55882b16-f773"
expires: Tue, 30 Dec 2025 12:29:00 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: AE33:13A6FA:63C851B:6CA4ED4:6953C334
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 12:19:00 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21951-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767097140.479556,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 6df762f8b0a97b1eb0db1ae2887903eebec304eb
Page title: Tfmm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Tfmm</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="generator" content="Apage 0.0.22 http://apage.richplastow.com/">
<style>
@import url(./asset/style/actile.css);
@import url(http://fonts.googleapis.com/css?family=Podkova:400,700);
/* ‘Inspect Element’ here, for Apage’s injected CSS */
</style>
<script>
//// When the DOM is ready, set up Apage and inject the plugins.
window.addEventListener('load', function () { (function (d) { 'use strict';
//// Declare iterator, length and HTML-reference variables.
var i, l, $ref
//// Initialize three arrays which are available to all Apage plugins.
,arts = []
,resolvers = []
,updaters = []
//// Like jQuery, but native.
,$ = d.querySelector.bind(d)
,$$ = d.querySelectorAll.bind(d)
//// Get a reference to all `<article class="apage">` elements.
,$arts = $$('article.apage')
//// Convert JavaScript’s native `arguments` object to an array.
,getArgs = function (args, offset) {
return Array.prototype.slice.call(args, offset || 0);
}
//// `unattribute($ref,'data-apage-','opath'...)` removes data attributes.
,unattribute = function ($ref, prefix) {
for ( var i=0, suffs=getArgs(arguments,2), l=suffs.length; i<l; i++ ) {
$ref.removeAttribute(prefix + suffs[i]);
}
}
//// Runs each resolver in order. These are added by the plugins, below.
//// Resolvers are used to map a query to an article.
,resolve = function (query) {
for (var i=0, l=resolvers.length, backstop, result={}; i<l; i++) {
result = resolvers[i](query);
if (result.art) { break; } // `query` does resolve to an article
backstop = result.backstop || backstop; // may return a backstop
}
return result.art ? result.art : backstop; //@todo test logic of 'last valid backstop return' with several plugins at once
}
//// Runs each updater in order. These are added by the plugins, below.
//// Updaters change the current DOM state, eg to show a single article.
,update = function (query) {
for (var i=0, l=updaters.length, current=resolve(query); i<l; i++) {
updaters[i](current);
}
}
//// Tidies the URL hash and runs `update()` when the URL hash changes.
,onHashchange = function (event) {
update( window.location.hash.substr(1).replace(/\//g,'_') );
if (event) { event.preventDefault(); }
}
;
//// Populate the `arts` array using data from Apage `<ARTICLE>` elements.
//// Then, remove all 'data-apage-*' attributes except 'data-apage-dname'.
for (i=0, l=$arts.length; i<l; i++) {
$ref = $arts[i];
arts.push({
id: $ref.getAttribute('id')
,opath: $ref.getAttribute('data-apage-opath')
,dname: $ref.getAttribute('data-apage-dname')
,order: $ref.getAttribute('data-apage-order')
,front: JSON.parse( $ref.getAttribute('data-apage-front') )
,title: $ref.getAttribute('data-apage-title')
,$ref: $ref
});
unattribute($ref,'data-apage-','opath','order','front','title');
}
//// Begin injecting plugins.
// Generated by CoffeeScript 1.9.2
/*! Apage 0.0.22 //// MIT Licence //// http://apage.richplastow.com/
* plugin/cross-browser.litcoffee
*/
(function() {
$('style').innerHTML += "\n/* injected by Apage’s CrossBrowser plugin, and adapted from: */\n/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/* Document */\nhtml { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100% }\nbody { margin:0 }\n\n/* HTML5 */\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,\nsection,summary { display:block }\naudio,canvas,progress,video { display:inline-block; vertical-align:baseline }\naudio:not([controls]) { display:none; height:0 }\n[hidden],template { display:none }\n\n/* Links */\na { background-color:transparent }\na:active,a:hover { outline:0 }\n\n/* Text */\nabbr[title] { border-bottom:1px dotted }\nb, strong { font-weight:bold }\ndfn { font-style:italic }\nh1 { font-size:2em; margin:0.67em 0 }\nmark { bac
Open service 2606:50c0:8003::153:80 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:18 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: D87F:36E3DF:4618065:485A4CC:6953A492
Accept-Ranges: bytes
Age: 0
Date: Tue, 30 Dec 2025 10:08:18 GMT
Via: 1.1 varnish
X-Served-By: cache-pao-kpao1770061-PAO
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1767089298.091381,VS0,VE180
Vary: Accept-Encoding
X-Fastly-Request-ID: 616c6c9c075d2a413f53fd8a961a9b64d33f5cfc
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 2606:50c0:8002::153:443 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4D5A:2ED019:6004117:68ADCB3:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4561-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.986078,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: ecd3b46195f15d40f74d967748c7bef68dc896ea
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 2606:50c0:8000::153:80 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: 938D:13A6FA:61E4EF7:6A930BD:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4560-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.990537,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 88e1de96a9fddae83717a00d415d420059efdac5
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 2606:50c0:8000::153:443 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4D5A:2ED019:6004117:68ADCB3:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4576-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.968130,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: fb4b24f5b2037a22b18f9bb645550dbfb4633d61
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 185.199.108.153:443 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 1E60:159E96:6003759:68B362A:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21956-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.949682,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: dd2020f8168c0c8b711125244f2574c440b484de
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 185.199.111.153:80 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 8ADD:1FEAFA:217C5DC:24770C7:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21932-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.946014,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 018edb138369232b3394600d995e55383a791d73
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 185.199.110.153:443 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 1E60:159E96:6003759:68B362A:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21984-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.964291,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: eb677a16405126ec36038d1ef2ffecf2ab543586
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 185.199.109.153:443 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: 45E7:318CF6:9DF6C0:B17FC9:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-bom-vanm7210082-BOM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.291002,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: b78c5024679086b5c910613c6b5ede4ec52245e2
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 185.199.111.153:443 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 1E60:159E96:6003759:68B362A:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21937-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.950343,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: d28ac3b431523ef9bfea987fc617ef08d8ef5a8e
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 185.199.109.153:80 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:18 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: CE41:2685F2:9DAE7B:B139D5:6953A490
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-bom-vanm7210052-BOM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.277394,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 9cf9fd5181555428681457b4bca13133b24b7077
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 2606:50c0:8001::153:80 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 8ADD:1FEAFA:217C5DC:24770C7:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21973-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.939443,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 33c3b93dcca93beadb5709d5a6fab3189e8994ba
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 2606:50c0:8002::153:80 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 78D9:254939:40C53A1:41EFA17:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630033-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.952603,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: ae32fbfca221dcd912c7187ebc6c72252477ab55
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 2606:50c0:8001::153:443 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 69CD:83D7F:853AA92:871D89C:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:18 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290033-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.016885,VS0,VE3
Vary: Accept-Encoding
X-Fastly-Request-ID: 85e0c05a0a393b304ea88c9d78ae84c08dbf52ab
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 2606:50c0:8003::153:443 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4D5A:2ED019:6004117:68ADCB3:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4566-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.916546,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: a22e228ce59ab8749f42c61c21de8697651dbed8
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 185.199.110.153:80 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:18 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 752D:27E186:40DA43E:4204A03:6953A491
Accept-Ranges: bytes
Age: 0
Date: Tue, 30 Dec 2025 10:08:18 GMT
Via: 1.1 varnish
X-Served-By: cache-lon4264-LON
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1767089298.953843,VS0,VE101
Vary: Accept-Encoding
X-Fastly-Request-ID: 99aac93521feb9d22843cea65232e5f72bb74b62
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 185.199.108.153:80 · verosynth.loop.coop
2025-12-30 10:08
HTTP/1.1 200 OK
Connection: close
Content-Length: 488
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Sat, 14 Mar 2015 09:55:10 GMT
Access-Control-Allow-Origin: *
ETag: "5504057e-1e8"
expires: Tue, 30 Dec 2025 10:18:17 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 8834:33CCC:8791DF3:8973BE8:6953A491
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 10:08:17 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290024-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767089298.940490,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: b0370ff1bf7a8bc1fa612de9cd7f2bdbd6b35f9d
Page title: VeroSynth
<!DOCTYPE html>
<html lang="en">
<head>
<title>VeroSynth</title>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/verosynth.css">
</head>
<body>
<h1>VeroSynth</h1>
<ul>
<li><a href="example-1.html">Example 1</a></li>
<li><a href="test.html">Test</a></li>
</ul>
</body>
</html>
Open service 185.199.110.153:80 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: D921:33D7C6:7E62E15:803C3D1:69535718
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-vie6363-VIE
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.332814,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: c0339f7fe929ad14c877fd19705b3a5a366f2b3f
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 185.199.108.153:443 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 2CFF:83D7F:81B84AD:838B542:69535719
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230191-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.371208,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 467d0ba85024ccf1ce686a76e1f9b32885fbb749
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 2606:50c0:8001::153:80 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7218:13A6FA:5D3E9DC:65773D0:69535719
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21937-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.211604,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 34941fff1aa7ad482cbef3291f8faa16f302f875
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 185.199.111.153:80 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7218:13A6FA:5D3E9DC:65773D0:69535719
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21939-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.212979,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 1494291ecfc54f7c2cb8f3d299f5b482da6b2291
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 2606:50c0:8003::153:80 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: 0EA2:2D64E0:98BAF5:ABAFC0:6953571A
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-bom-vanm7210068-BOM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.445018,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 68f456f0fddefbf185f709ca8601ff8f455ebe21
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 185.199.110.153:443 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 2CFF:83D7F:81B84AD:838B542:69535719
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230170-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.191120,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: bce3af14dbac8115ca321bd7198ec1d687bf0930
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 185.199.108.153:80 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4762:2782C4:3E9D181:3FBEB52:6953571A
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630085-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.272645,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 2f172da26bd7f372bd4126559ff3e6e634e058bb
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 2606:50c0:8001::153:443 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 66F0:48EB8:5A42C4A:627E9CE:69535719
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21985-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.192982,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 590cd2bc69bec3af263c007bdefc30abcaa5076e
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 2606:50c0:8000::153:80 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 1E01:26F783:7EDBC63:80B3D28:69535719
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290040-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.262956,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 225a07dfabf4a36f257c8435482a932e6914f6cd
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 2606:50c0:8002::153:80 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 456B:10847E:5DAA1BC:65DFB86:69535714
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4543-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.188098,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: e2fdca41e869bda16722876b898d1d4ebedf3a88
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 185.199.109.153:80 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: C8E4:33CCC:83FA036:85CC09B:6953571A
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230080-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.283849,VS0,VE22
Vary: Accept-Encoding
X-Fastly-Request-ID: 199e6d7169f2916cf1bbcd907d92887d2a140e0b
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 2606:50c0:8000::153:443 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Mon, 29 Dec 2025 20:13:20 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7C13:365E18:7B6C6A8:7D2C102:6952DE87
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290025-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.156647,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: c6f5a069647f20ece331bdfbdaf3e19bb38b7999
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 2606:50c0:8003::153:443 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Mon, 29 Dec 2025 20:13:20 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7C13:365E18:7B6C6A8:7D2C102:6952DE87
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290031-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.154753,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 633da5e7b4dc74b6528111a6b90b485afd75fed5
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 185.199.109.153:443 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 66F0:48EB8:5A42C4A:627E9CE:69535719
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21983-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.121988,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: a004113c64bad9bf75198cc132a95ae465e0643e
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 185.199.111.153:443 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Tue, 30 Dec 2025 04:47:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 2CFF:83D7F:81B84AD:838B542:69535719
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230113-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.177620,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: fc48d58b6ad5d10fd5a0943553f04208b45ce078
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 2606:50c0:8002::153:443 · life.loop.coop
2025-12-30 04:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 5332
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 19 Dec 2016 15:03:28 GMT
Access-Control-Allow-Origin: *
ETag: "5857f6c0-14d4"
expires: Mon, 29 Dec 2025 20:13:20 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7C13:365E18:7B6C6A8:7D2C102:6952DE87
Accept-Ranges: bytes
Date: Tue, 30 Dec 2025 04:37:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290041-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767069466.156047,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 253d55ea40a5b8ac432dbf1e8f40dd9b0f2478a0
Page title: LIFE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LIFE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loop.Coop Industrial Front End: an open
source JavaScript application framework.">
<link rel="stylesheet" type="text/css" href="css/life-style.css">
<!-- LERT("See http://life.loop.coop/#LERT for usage and minified code") -->
<script>
!function (s) {
var A = 'addEventListener'
, S = 'setAttribute'
, L = 'LERT'
, t = top // topmost frame’s window object
, w = this // current frame’s window object
, d = document
, u = navigator.userAgent
, n = 0 // current number of LERT alerts
, p // the popup element
, i // iterator, used in `e()`
, c // current ref, used in `e()`
, e = function (m, f, l) { // handle errors reaching `window`
if (l != +l) l = m.lineno, f = m.filename, m = m.message;
for (i=0,c=w;c=c[['LIFE','pop','is','ready'][i++]];);
(4<i && w.LIFE.pop.warn || t[L])( // `i` is 5 if LIFE.pop.is.ready
(f + ':' + l).match(/[^\/]+?\/?[^\/]+$/)[0] + '\n' + m // trim path
)
}
; // necessary semicolon!
//// Listen for errors on the window element. We can’t listen for errors in:
//// Opera <=11.5, desktop Safari <=5.0, Safari iOS <=4 or Android Browser
//// <=2.3. Tested on Windows XP, OS X 10.6, iOS 3 - 5 and Android 1, 2 & 4.
/efox\/(\d|[1-2]\d)\.|Prest/.test(u) // old Opera is 'Presto'
? w.onerror = e // window.onerror, legacy browsers
: w[A] && ! /SIE 9/.test(u) // test for 'MSIE 9'
? w[A]('error', e, 0) // modern browsers
: w.attachEvent('onerror', e) // IE9
//// Prefer preexisting top-level LERT(). Otherwise, create LERT() on the
//// top window (if using frames), and also the current window.
w[L] = t[L] = t[L] || function (h) { // `h` should be valid HTML
h = 98 < ++n ? '99!' : n + ' ' + h // prepare the popup message
99 < n ? 0 // prevent runaway LERT() calls
: d.body // if <BODY> is ready...
? (
p = d.createElement('TT'), // ...create a <TT> popup
d.body.appendChild(p),
p.innerHTML = h,
( p.style[S] // if style.setAttribute exists...
? p.style[S]('cssText', s) // ...use IE 6’s way of styling...
: p[S]('style', s) // ...else add a 'style' attribute
),
p.onclick = function () { d.body.removeChild(this) }
)
: alert(h) // <BODY> is not ready, so alert()
}
} (
'position:fixed!important;' // IE 6
+'position:absolute;' // all other browsers
+'display:block;'
+'top:40%;'
+'left:5%;'
+'width:90%;'
+'font-size:14px;'
+'padding:9px;'
+'margin-left:-9px;'
+'background:tan;'
+'color:#603;'
+'z-index:99'
)
</script>
<!-- Uncomment the following script to see how `LERT()` handles an error -->
<!-- before the <BODY> element is available. -->
<!--
<script>
no_such_function_1();
</script>
-->
</head>
<body>
<div class="life-marginwrap">
<div>
<div class="life-margin"> </div>
<div>
<div class="life-header">
<h1><a href="http://life.loop.coop/">LIFE</a></h1>
<h3 style="margin-top:0">Loop.Coop Industrial Front End: an open
source JavaScript application framework.</h3>
<p>Last modified 19th December 2016</p>
</div>
<hr>
<ul>
Open service 2606:50c0:8003::153:443 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:58 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: A75F:316B06:2DBC92E:2ECEC4E:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:58 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsss1830095-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.226451,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: dff18f8b6e47393ddf42dbe2bca4a5a19a8c7b97
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 2606:50c0:8001::153:80 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 33CB:1400A4:3E9396:4326F6:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4543-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.899390,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: a2eea11c36f66cd5ee0cbba3ff6f6d1163912c91
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 2606:50c0:8001::153:443 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 195E:3AD8D6:53B98CB:5A0D6E5:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21930-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.900990,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: ddbd21f7162420e177f5a1713052387c3371cf48
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 2606:50c0:8003::153:80 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 33CB:1400A4:3E9396:4326F6:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4522-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.882217,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: cf0c3adc039625d9067d08a5c699fa6c58df0a8a
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 2606:50c0:8000::153:80 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: B354:10D2B9:52312E3:588B3D5:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21956-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.809037,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 74a3da26a1c02da21f0e336f447fb681dbfdf4ab
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 2606:50c0:8000::153:443 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 816A:AE7B0:7DD13F7:7F95BF4:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290037-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.881820,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 7fce25d22f5777bae8f4788ed6c55371279ed06a
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 185.199.109.153:80 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 33CB:1400A4:3E9396:4326F6:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4540-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.772029,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: f57f563983412991bfe2ddae7c1603f299e168c8
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 185.199.111.153:80 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 1B0C:28E859:7A54C7E:7C1982A:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230091-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.850960,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 97fcb3c5804dc3304370ce692ccb3901ca21025a
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 2606:50c0:8002::153:80 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 1B0C:28E859:7A54C7E:7C1982A:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230154-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.787055,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: a5aaf80ec8e0200b26cd884cb0f0644d50fd9d9e
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 185.199.111.153:443 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7840:355767:7CDEC06:7EA2C08:6952F6D0
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230063-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.821465,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 06e2e98d9272f36ba434612eb11ad0188443446c
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 2606:50c0:8002::153:443 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: CCB0:2B71DC:3BD92EF:3CEF9CC:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630060-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.778574,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 06a0eb8137a483cac895a871abc2e6e8126a8bb1
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 185.199.110.153:80 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: BA5C:3BD049:3BE651E:3CFCBAF:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsss1830023-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.890426,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 4f633daefd9b2ce2411050bd5cd6a8c59f2147bb
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 185.199.110.153:443 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 816A:AE7B0:7DD13F7:7F95BF4:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290023-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.815277,VS0,VE3
Vary: Accept-Encoding
X-Fastly-Request-ID: 374d6ee271e7f09d70df14ae9c2a3461d9826bd7
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 185.199.108.153:80 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 33CB:1400A4:3E9396:4326F6:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4546-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.771052,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 831bc51a0dbf7814d9b93143aeb49923a1d9869a
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 185.199.108.153:443 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 195E:3AD8D6:53B98CB:5A0D6E5:6952F6D1
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21940-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.684783,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 9e80ee34d86ab87a3cd6a8c514f6535336a1cdb9
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 185.199.109.153:443 · seqin.loop.coop
2025-12-29 21:46
HTTP/1.1 200 OK
Connection: close
Content-Length: 700
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Fri, 28 Jul 2017 17:09:25 GMT
Access-Control-Allow-Origin: *
ETag: "597b6fc5-2bc"
expires: Mon, 29 Dec 2025 21:56:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7840:355767:7CDEC06:7EA2C08:6952F6D0
Accept-Ranges: bytes
Date: Mon, 29 Dec 2025 21:46:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230127-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1767044818.622994,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 15b4f78bb075df5e2359a9d717864ce7480e224c
Page title: Seqin
<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<title>Seqin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Sequencer instruments">
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<h1><a href="http://seqin.loop.coop/">Seqin</a></h1>
<h2>Sequencer instruments</h2>
<p><a href="https://github.com/loopdotcoop/seqin">GitHub</a></p>
<a href="examples/example-1-basic-sine-wave.html">
Example 1: Basic Sine Wave
</a><br>
<a href="examples/example-2-pitch-slider.html">
Example 2: Pitch Slider
</a><br>
</body>
</html>
Open service 35.185.44.232:443 · loop.coop
2025-12-23 07:15
HTTP/1.1 200 OK
Cache-Control: max-age=600
Content-Length: 22300
Content-Type: text/html; charset=utf-8
Etag: "38ddf878ee4b50485e81d7422bfb1a6a82c8ec0533da93ba44e291159252cb8c"
Expires: Tue, 23 Dec 2025 07:25:40 UTC
Last-Modified: Mon, 22 Feb 2021 21:10:33 GMT
Permissions-Policy: interest-cohort=()
Vary: Origin
X-Request-Id: 01KD510JY84S5509WWRF20NP1J
Date: Tue, 23 Dec 2025 07:15:40 GMT
Connection: close
Page title: Loop.Coop
<!DOCTYPE HTML>
<html lang="en-GB" class="section-logo">
<head>
<meta charset="utf-8">
<title>Loop.Coop</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<style>
/* Custom webfonts. Should be loaded as soon as possible. */
/* See fonts-backup.css for more weights and styles */
@font-face {
font-family:'Lato';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2 */
src: url(asset/font/lato-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family:'Podkova';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/podkova/v17/K2FxfZ1EmftJSV9VaJnzJ6CiDyo.woff2 */
src: url(asset/font/podkova-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" href="asset/css/normalize.min.css">
<link rel="stylesheet" href="asset/css/main.css">
<link rel="apple-touch-icon" sizes="180x180" href="asset/icon/at-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="asset/icon/f-48.png">
<link rel="icon" type="image/png" sizes="32x32" href="asset/icon/f-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="asset/icon/f-16.png">
<link rel="manifest" href="asset/icon/site.webmanifest">
<link rel="mask-icon" href="asset/icon/safari-pinned.svg" color="#8A4FB4">
<link rel="shortcut icon" href="asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Loop.Coop">
<meta name="application-name" content="Loop.Coop">
<meta name="msapplication-TileColor" content="#DA532C">
<meta name="msapplication-config" content="asset/icon/browserconfig.xml">
<meta name="theme-color" content="#DA532C">
</head>
<body class="bg-aqua section-logo">
<div id="top" class="bg-lime"><h2 class="a11y">Top</h2>
<section id="showreel" class="fullwidth">
<video
src="asset/video/showreel-2021-v1-1080p.mp4" type="video/mp4"
autoplay="autoplay" muted="muted" loop="loop"
width="1920" height="1080"
poster="asset/thumb/showreel-2021-v1.jpg">
</section></div>
<header class="header-bg bg-aqua"></header>
<header class="header-bg bg-lime"></header>
<header class="header-bg bg-purple"></header>
<div id="logo"><a onclick="scrollTo(event)" href="#top">
<!-- ldc-logo-jan2021-v2.svg -> jakearchibald.github.io/svgomg -->
<svg class="line-1" viewBox="0 0 1024 1024"><path d="M331 490a46 46
0 11-32-87l32 87zM749 395c-6-17-3-35 6-49v-69l-44-13v172h-22v41h92v-41h
-26v-29l-6-12zM152 256a46 46 0 1187 32l-87-32zM261 436h-43V290l-44
-16v162h-25v41h120a55 55 0 01-8-41zM620 416c0 18-11 28-25 28-13 0-24-10
-24-28v-56l-44-16v72c0 41 31 69 69 69s69-28 69-69v-56l-45-16v72z"/>
<path d="M571 297c0-18 11-28 24-28 14 0 25 10 25 28v37l44 16v-53c0-40
-31-69-69-69s-69 29-69 69v37l45 16v-53zM438 416c0 18-11 28-25 28s-25-10
-25-28v-15l-44 16c1 40 32 68 69 68 38 0 69-29 69-69v-72l-44 16v56z"/>
<path d="M389 297c0-18 11-28 24-28 14 0 25 10 25 28v53l44-16v-37c0-40
-31-69-69-69s-69 29-69 69v111l45-16v-95zM865 320v-16c0-38-31-68-69-68h
-63l15 41h48c14 0 25 13 25 27v21c0 13-11 28-27 31l-8-23c-24 9-37 35-28
59s35 36 59 27l-8-22c33-10 59-42 56-77z"/>
</svg>
<svg class="dot" viewBox="0 0 1024 1024">
<circle cx="854" cy="456" r="29"/></svg>
<svg class="line-2" viewBox="0 0 1024 1024"><path d="M749 700c-7-19
-2-40 10-54v-55h-44v171h-24a46 46 0 0092 0h-24v-45l-10-1
Open service 2606:50c0:8001::153:443 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 187A:365ABF:1F8B19:202D66:6949D8A4
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880042-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447270.656795,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 9731ee920850661b01f7ea56c391b38c4e59f202
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.108.153:443 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: 185E:3D66CC:7CDFDE:855296:6949D8A5
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4528-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.334659,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 6a40b262b24b8afc5feb165eeae2920ecdcf7d03
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8000::153:80 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 90CC:38BAE5:7BB4D5:82CAAE:6949D8A5
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21943-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.289256,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 5f7de06ae37592f87297a08663fb34d4e40279c5
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.111.153:443 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: C93A:28E859:54D418:55F9D6:6949D8A2
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230194-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.412091,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: dba64f41425f1909a8e2c43e30ef1aac41577d8b
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.111.153:80 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5254:355767:569A2E:57C0EF:6949D8A4
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230033-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.263647,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 6fec1c07d92f790208ea087d6d5135bde1346926
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8000::153:443 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 68E4:2EA1DA:3597C4:36E8EA:6949D8A3
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-pao-kpao1770075-PAO
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.325088,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 8c844aa1c178125032d4adbea0ff3c6108bbf469
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.110.153:443 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: C93A:28E859:54D418:55F9D6:6949D8A2
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230029-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.293874,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 7aba1cfb03b0bcd2fe66bff47150147893825705
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.110.153:80 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 8240:1F2A1:76B582:7F2EF3:6949D8A5
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4523-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.222497,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: ce58d764c1ef1b8e13b85d6fba35ab36c013ec90
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8003::153:443 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 9572:33D7C6:55DA03:57004D:6949D8A3
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-vie6326-VIE
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.331995,VS0,VE66
Vary: Accept-Encoding
X-Fastly-Request-ID: dd10c883f87c8c21f8b1d96fda23f173d26482f9
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.109.153:443 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 8024:26F783:553A1E:565FF3:6949D8A5
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290030-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.294002,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 3814b05b04a4232a74499181ba697a29a31ddef6
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.109.153:80 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: E1D0:254939:23C98E:246CB4:6949D8A4
Accept-Ranges: bytes
Age: 0
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
X-Served-By: cache-lcy-egml8630067-LCY
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1766447269.270029,VS0,VE87
Vary: Accept-Encoding
X-Fastly-Request-ID: 10b95081002155df9b59f70884ef8d2e347f1d6a
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8003::153:80 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 09E0:3D391:563B05:576203:6949D8A5
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-rtm-ehrd2290035-RTM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.257027,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: bc59cbcb93431b52d6b0318f7da470dda9099188
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8001::153:80 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5254:355767:569A2E:57C0EF:6949D8A4
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230154-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.217690,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 24051d5fd99a6b756e108650dec41296bd81d3d1
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 2606:50c0:8002::153:80 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5254:355767:569A2E:57C0EF:6949D8A4
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230037-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.215978,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: e10b146ab961a3420d7753b4596487c6bf0d57f0
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.108.153:80 · flatland.loop.coop
2025-12-22 23:47
HTTP/1.1 200 OK
Connection: close
Content-Length: 3334
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 24 Oct 2017 16:10:57 GMT
Access-Control-Allow-Origin: *
ETag: "59ef6611-d06"
expires: Mon, 22 Dec 2025 23:57:49 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 5254:355767:569A2E:57C0EF:6949D8A4
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 23:47:49 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230134-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766447269.244280,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: c587060b1a0d0a415a44cb6b8a2ad2ac7bb165b1
Page title: Flatland
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flatland</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="3D engine for cardboard-cutout worlds">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#603;z-index:99')</script>
</head>
<body style="font-family:Arial, sans-serif; background:#ccc; color:#333">
<!-- Dropdown menu to select JavaScript format -->
<select id="ecmaswitch" style="float:right" onchange="document.cookie=
'ecmaswitch='+this.options[this.selectedIndex].value;location.reload()">
<option value="~0~">ES5 Production</option><!-- default -->
<option value="~1~">ES5 Minified</option>
<option value="~2~">ES6 Production</option>
<option value="~3~">ES6 Development</option>
</select><script>!function(d,f,e){if(e=d.getElementById('ecmaswitch'))f=~~
d.cookie.split('~')[1],e.options[f].selected=!0}(document)</script>
<!-- Header and Navigation menu -->
<h1 style="display:inline">Flatland
<span id="version">0.0.*</span> <span id="format"></span> </h1>
<div style="float:right">
<span id="home">Home</span>
<a href="support/index.html">Support</a>
<a href="support/test.html">Test</a>
<a href="https://github.com/loopdotcoop/flatland">GitHub</a>
</div>
<h2 style="margin-top:0.2em">3D engine for cardboard-cutout worlds</h2>
<!-- Homepage content -->
<!-- @todo -->
<!-- Upgrade message for Internet Explorer 8 and below --><!--[if lte IE 8]>
<script>document.getElementById('version').innerHTML='Not Supported'</script>
<h2>Please upgrade to Internet Explorer 9 or higher</h2><![endif]-->
<!-- Begin hiding from IE 8 and below --><!--[if gte IE 9 | !IE ]><!-->
<!-- Load the proper format scripts, according to the '#ecmaswitch' menu -->
<script src="support/ecmaswitch.js"></script>
<script>ECMASwitch.load('./')</script>
<!-- Link to the proper homepage domain, if we’re not already there -->
<script>if ( 0 > location.href.indexOf(Flatland.HOMEPAGE) )
$('#home').html('<a href="' + Flatland.HOMEPAGE + '">Home</a>')</script>
<!-- Display the version and format -->
<script>$('#version').html(Flatland.VERSION||'(no VERSION)');$('#format').html
('es'+'5|5 min|6|6 dev'.split('|')[~~document.cookie.split('~')[1]])</script>
<!-- End hiding from Internet Explorer 8 and below --><!--<![endif]-->
</body>
</html>
Open service 185.199.108.153:443 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:44 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: A2AD:656BE:E61E26:ECD14B:69497DB0 Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:44 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-sin-wsss1830051-SIN X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423985.650820,VS0,VE1 Vary: Accept-Encoding X-Fastly-Request-ID: f90b1991422e21e1fa3c6cf059c248fe495c8380 Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 2606:50c0:8002::153:443 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 5AD8:B80E6:3EC6E56:462E175:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:44 GMT Via: 1.1 varnish Age: 1 X-Served-By: cache-lga21980-LGA X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.210005,VS0,VE1 Vary: Accept-Encoding X-Fastly-Request-ID: aae432d3515d1fd7dfb6479fae611a2784362c6a Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 2606:50c0:8000::153:80 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:44 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 6D9C:29F530:36E350:3E20DA:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:44 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-bom-vanm7210043-BOM X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.125280,VS0,VE1 Vary: Accept-Encoding X-Fastly-Request-ID: 6f671008f7a776d5f66c3ba041f343a0b2bb69fc Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 2606:50c0:8001::153:80 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 x-origin-cache: HIT Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 8FF2:8BD74:5E79F:65BB6:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-yyz4572-YYZ X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.881120,VS0,VE1 Vary: Accept-Encoding X-Fastly-Request-ID: 0e761ab203b301cd3af44f536b59ace6520749ed Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 2606:50c0:8003::153:443 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 5AD8:B80E6:3EC6E56:462E175:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-lga21925-LGA X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.849720,VS0,VE1 Vary: Accept-Encoding X-Fastly-Request-ID: ca5718b6bfdee3fba2f527e23252d603756fc81d Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 2606:50c0:8003::153:80 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 89B1:150E57:370948C:37D19AA:69497DA9 Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-fra-eddf8230036-FRA X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.862788,VS0,VE3 Vary: Accept-Encoding X-Fastly-Request-ID: b25a2a834525c7f97b24d75f1b7aa47873aa026b Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 2606:50c0:8002::153:80 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: C01C:258671:14FEEE9:156D94C:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-lcy-egml8630036-LCY X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.856404,VS0,VE1 Vary: Accept-Encoding X-Fastly-Request-ID: 0b298d2cdf6a4ecfd6763b844aa279b312ced1c5 Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 185.199.111.153:443 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 x-origin-cache: HIT Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 5696:1EF839:35B9F94:3681E82:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-fra-eddf8230035-FRA X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.898194,VS0,VE3 Vary: Accept-Encoding X-Fastly-Request-ID: 83c6366bd935944eff476190f892e5cc4ae4ebd2 Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 185.199.108.153:80 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 x-origin-cache: HIT Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 9594:36F4EA:36CA144:379241F:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-vie6358-VIE X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.884854,VS0,VE4 Vary: Accept-Encoding X-Fastly-Request-ID: 1464884894484575cd6fd9acf54e48210c77ba27 Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 185.199.110.153:443 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:44 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: E8A1:229E03:357DC77:3645671:69497DAF Accept-Ranges: bytes Age: 0 Date: Mon, 22 Dec 2025 17:19:44 GMT Via: 1.1 varnish X-Served-By: cache-vie6358-VIE X-Cache: MISS X-Cache-Hits: 0 X-Timer: S1766423984.942137,VS0,VE126 Vary: Accept-Encoding X-Fastly-Request-ID: 9766604559b79b15820283cd12404ee804eab78b Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 185.199.109.153:80 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 89B1:150E57:370948C:37D19AA:69497DA9 Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-fra-eddf8230110-FRA X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.901115,VS0,VE2 Vary: Accept-Encoding X-Fastly-Request-ID: 55d7e96233b8d10e6d0872dc747ab3ab63150fbf Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 185.199.110.153:80 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 89B1:150E57:370948C:37D19AA:69497DA9 Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-fra-eddf8230188-FRA X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.897442,VS0,VE4 Vary: Accept-Encoding X-Fastly-Request-ID: 908a47b655be7650486c66872f15137de5a38216 Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 185.199.111.153:80 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 9746:1FA144:36E6E5C:37AD066:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-rtm-ehrd2290038-RTM X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.848556,VS0,VE2 Vary: Accept-Encoding X-Fastly-Request-ID: 2dc4bd9dc9da054b6d881a7a432c468ab2f08802 Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 2606:50c0:8000::153:443 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: CE34:3F8B67:56B99:5D9A1:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-yyz4533-YYZ X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.774069,VS0,VE2 Vary: Accept-Encoding X-Fastly-Request-ID: 6c280ccb6671330f7a4182da3c95d23dc959a312 Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 185.199.109.153:443 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 5AD8:B80E6:3EC6E56:462E175:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-lga21956-LGA X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.678506,VS0,VE2 Vary: Accept-Encoding X-Fastly-Request-ID: e55a7843de87ff9aab088ec08f3e7e5159e0834d Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 2606:50c0:8001::153:443 · bewildermaze.loop.coop
2025-12-22 17:19
HTTP/1.1 200 OK Connection: close Content-Length: 915 Server: GitHub.com Content-Type: text/html; charset=utf-8 Last-Modified: Tue, 31 Mar 2015 16:28:37 GMT Access-Control-Allow-Origin: * ETag: "551acb35-393" expires: Mon, 22 Dec 2025 17:29:43 GMT Cache-Control: max-age=600 x-proxy-cache: MISS X-GitHub-Request-Id: 5AD8:B80E6:3EC6E56:462E175:69497DAF Accept-Ranges: bytes Date: Mon, 22 Dec 2025 17:19:43 GMT Via: 1.1 varnish Age: 0 X-Served-By: cache-lga21964-LGA X-Cache: HIT X-Cache-Hits: 1 X-Timer: S1766423984.673653,VS0,VE1 Vary: Accept-Encoding X-Fastly-Request-ID: f60c20a7f2b4dedab028ae9409d74a0c6fa07626 Page title: Loop.Coop Present: Bewildermaze <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Loop.Coop Present: Bewildermaze</title> <meta name="description" content="An interactive audiovisual wonderland of alien musical lifeforms."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="0;URL=http://bewildermaze.eventbrite.co.uk/"><!-- belt... --> </head> <body> <script>window.location = 'http://bewildermaze.eventbrite.co.uk/'; // ...and braces</script> <header role="banner"> <h1>Loop.Coop Present: Bewildermaze</h1> <nav role="navigation"> </nav> </header> <div class="wrap"> <main role="main"> <h2>Watch this space, Bewildermaze is coming soon…</h2> </main> </div> <footer role="contentinfo"> <small>Copyright © <time datetime="2015">2015</time> <a href="http://loop.coop/">Loop.Coop</a></small> </footer> </body> </html>
Open service 185.199.108.153:80 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: EE90:1711E2:13797D4:13E1235:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:47 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lon4270-LON
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.023178,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: cca7bc06d96a2fbba1e25efc2553eafccde0256a
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 185.199.108.153:443 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:47 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: FEFF:29DF9A:D5127A:DB58F9:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:47 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsss1830083-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.375801,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: a9d4c31753ab139ca7f7e82184b01a359d9d1b67
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 185.199.111.153:80 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7730:3500BF:3203956:32BCF60:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:47 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230123-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.917980,VS0,VE83
Vary: Accept-Encoding
X-Fastly-Request-ID: 49a270ff01217eb53a948ee32a40f96fd06c11de
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 185.199.111.153:443 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: BE18:15A8DA:3054B53:310F7E8:6949404A
Accept-Ranges: bytes
Age: 0
Date: Mon, 22 Dec 2025 12:57:47 GMT
Via: 1.1 varnish
X-Served-By: cache-vie6367-VIE
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1766408267.923153,VS0,VE110
Vary: Accept-Encoding
X-Fastly-Request-ID: 17731d2ffdfff5b5397260acb94a674993b60ecf
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 2606:50c0:8000::153:80 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7467:21A30B:B68AB6:C9F901:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21930-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.813806,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 212e868684eb39a7a037c0c451d9dc923defd6ee
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 2606:50c0:8002::153:80 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7467:21A30B:B68AB6:C9F901:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21972-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.814047,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 77a3a48f7ca9d095e6065ffdbe84871cff716aa1
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 2606:50c0:8002::153:443 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: D0AC:11367:175DB18:1990BE9:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21986-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.832993,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: b485d7434c873045aefa5c37c0f9903c050a6548
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 2606:50c0:8003::153:443 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: D0AC:11367:175DB18:1990BE9:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21982-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.813406,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 2e3359a3ba2c5d09c23ca21244f378e0b1787748
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 2606:50c0:8000::153:443 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: D0AC:11367:175DB18:1990BE9:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21983-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.810217,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: c9a64a5ef741679443da0f921b52bcbcd8a420de
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 2606:50c0:8003::153:80 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7467:21A30B:B68AB6:C9F901:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21978-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.814164,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 71e3e85e0cbe1ede6ce15b083f367db5dc103351
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 2606:50c0:8001::153:443 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: D0AC:11367:175DB18:1990BE9:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21949-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.813249,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: ccb2b99a244a646f39c702a6720e99470a6eb0a5
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 2606:50c0:8001::153:80 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7467:21A30B:B68AB6:C9F901:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21931-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.813716,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 850921805eb6bbff1c0931462d1ead7f8ab6cb02
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 185.199.110.153:443 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: D0AC:11367:175DB18:1990BE9:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21935-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.810978,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: f473d2f4f4cb7b2d37bfa697dea41607a519996b
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 185.199.109.153:80 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7467:21A30B:B68AB6:C9F901:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21962-LGA
X-Cache: HIT
X-Cache-Hits: 2
X-Timer: S1766408267.813797,VS0,VE0
Vary: Accept-Encoding
X-Fastly-Request-ID: 0c0fafb912571fd8344a5f42225d61e2a44116ae
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 185.199.109.153:443 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: D0AC:11367:175DB18:1990BE9:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21967-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.834753,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 6430f00bbf1e07de46612e671428a6b4ef3901a0
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 185.199.110.153:80 · undoiverse.loop.coop
2025-12-22 12:57
HTTP/1.1 200 OK
Connection: close
Content-Length: 10457
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Sat, 31 Dec 2016 15:52:26 GMT
Access-Control-Allow-Origin: *
ETag: "5867d43a-28d9"
expires: Mon, 22 Dec 2025 13:07:46 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7467:21A30B:B68AB6:C9F901:6949404A
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 12:57:46 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21955-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766408267.814070,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: f4fcfe2196eac1a0cd032ab5ef4fca5843c0e166
Page title: Undoiverse
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Undoiverse</title>
<meta name="description" content="An open source Javascript module which
manages interactions between users and objects in a free roaming 3D environment.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<!-- Load styles (fonts must go first) -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Podkova:400,400i,700">
<link rel="stylesheet" type="text/css" href="css/undoiverse-style.css">
</head>
<body>
<div class="undoiverse-marginwrap">
<div>
<div class="undoiverse-margin"> </div>
<div>
<h1 style="margin-bottom:0">Undoiverse</h1>
<h4 style="margin-top:0">Last modified 31st December 2016</h4>
<article class="markdown-body entry-content" itemprop="text">
<h2><a id="contents" class="anchor" href="#contents" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#for-example">For Example</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2><a id="introduction" class="anchor" href="#introduction" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Introduction</h2>
<p>The dream of virtual worlds has fired our collective imagination for a long
while. A <a href="https://en.wikipedia.org/wiki/Metaverse">metaverse⤴</a> where people can
meet, learn, make things and share ideas. Recent web technologies (WebGL, Web
Audio, WebSockets, WebVR) provide the foundations for immersive 3D experiences
on the web. At the same time, development platforms like Unity and Unreal make
it easy to build games that work on mobile, desktop, VR/AR and consoles.</p>
<p>But none of these technologies and platforms address the server-side needs of
<em>multiuser creative applications</em>.</p>
<p><a href="http://undoiverse.loop.coop">Undoiverse⤴</a> is an open source server-side
JavaScript module. It allows hundreds of users to create, collaborate and
communicate in a shared ‘free roaming’ 3D environment. Although you can build
<a href="https://goo.gl/VJgGdZ">multiplayer VR games⤴</a> with it, Undoiverse is really
intended for multiuser creative VR experiences - the features it provides will
be very familiar to anyone who’s used creative applications like Photoshop,
GarageBand, PowerPoint or AutoCAD:</p>
<ul>
<li>Copy and Paste</li>
<li>Undo and Redo</li>
<li>Group and Ungroup</li>
<li>Lock and Unlock</li>
<li>Save and Save As</li>
<li>…and <a href="https://github.com/loopdotcoop/undoiverse/#the-standard-plugins">so on⤴</a></li>
</ul>
<h3><a id="for-example" class="anchor" href="#for-example" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13
Open service 2606:50c0:8001::153:80 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4548:2FF8EC:2F2C7AC:2FD892F:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:58 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230072-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.370412,VS0,VE3
Vary: Accept-Encoding
X-Fastly-Request-ID: 734b044925ec60bb975998216cce93f4b562d641
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 2606:50c0:8003::153:80 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:58 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: A5DC:1711E2:121F20C:127F2A9:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:58 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630025-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.151231,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 826814e5febbc58ce0a4528e31719530808d7542
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 2606:50c0:8002::153:80 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:58 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: 10B0:1A3D30:2E1B5F:346624:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:58 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-bom-vanm7210076-BOM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.331979,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 3d5aad423b7d0e03e873e7c8a38f217a78d24740
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 2606:50c0:8000::153:80 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:58 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 95A3:2C16E6:CA291D:DC71B3:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:58 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4549-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.063299,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: c79ce86061fb9a99d9b0565d5005af905ae706a1
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 185.199.110.153:443 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:58 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 172B:1E214C:C3AB50:C999BD:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:58 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880040-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.274227,VS0,VE8
Vary: Accept-Encoding
X-Fastly-Request-ID: 4c642f519b620fee44469eaf5dcae8290652d321
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 2606:50c0:8001::153:443 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:58 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 246A:120D06:1216770:127679F:6948FE76
Accept-Ranges: bytes
Age: 0
Date: Mon, 22 Dec 2025 08:16:58 GMT
Via: 1.1 varnish
X-Served-By: cache-lon4251-LON
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1766391418.076392,VS0,VE91
Vary: Accept-Encoding
X-Fastly-Request-ID: 36588def668b49379122091b4688768329b35842
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 185.199.110.153:80 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:58 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 95A3:2C16E6:CA291D:DC71B3:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:58 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4581-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.031863,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 114fd5dead19562b759b82de0b4cc4011a81d089
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 2606:50c0:8002::153:443 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 0C48:1EF839:2E04C4C:2EB2632:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230108-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.964475,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 2997290115249eb38d66bfe259f1ed5bd3b645de
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 2606:50c0:8003::153:443 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 0C48:1EF839:2E04C4C:2EB2632:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230032-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.946619,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: f2b996937355c460bed1473779bc56bbc5b35d96
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 2606:50c0:8000::153:443 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 8CDF:21E551:BB4F62:CD9D47:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21956-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.909204,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 97a16e5ffc09016f181c81336d08043b9c450a7d
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 185.199.108.153:80 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4548:2FF8EC:2F2C7AC:2FD892F:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230120-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.968775,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 8198a2fff5e41a99f3ef690678a755d32469d25c
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 185.199.108.153:443 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: E476:15A8DA:2CB66E6:2D63A2C:6948FE78
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-vie6337-VIE
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.981860,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: ad15113b8493bce732797263b9e04384b4989a7c
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 185.199.109.153:80 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4548:2FF8EC:2F2C7AC:2FD892F:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230042-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.968967,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 6468ad2fdd7719cf88a08b1c11354c2a513c7b68
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 185.199.109.153:443 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 0C48:1EF839:2E04C4C:2EB2632:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230105-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.994856,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 1341d412a6bf45f80f4aa52f79743ba2597fcc61
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 185.199.111.153:80 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 4548:2FF8EC:2F2C7AC:2FD892F:6948FE79
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:57 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230165-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.969559,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: fd25ac1d0cc04c19ea7b15ae27272d36fb4d5b2c
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 185.199.111.153:443 · wavis.loop.coop
2025-12-22 08:16
HTTP/1.1 200 OK
Connection: close
Content-Length: 2145
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 23 May 2017 14:21:06 GMT
Access-Control-Allow-Origin: *
ETag: "59244552-861"
expires: Mon, 22 Dec 2025 08:26:57 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: E476:15A8DA:2CB66E6:2D63A2C:6948FE78
Accept-Ranges: bytes
Date: Mon, 22 Dec 2025 08:16:58 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-vie6345-VIE
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766391418.030933,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: f2bd6849ee2f6f0da043cdfea9b759df0bde1f0a
Page title: WaVis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WaVis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Plot equations as ASCII text.">
<!-- Usage: `LERT("Some alert message here!")` -->
<script>!function(s){var A='addEventListener',L='LERT',S='setAttribute',t=top,
w=this,d=document,u=navigator.userAgent,n=0,p,i,c,e=function(m,f,l){if(l!=+l)l
=m.lineno,f=m.filename,m=m.message;for(i=0,c=w;c=c[['LIFE','pop','is','ready']
[i++]];);(4<i&&w.LIFE.pop.warn||t[L])((f+':'+l).match(/[^\/]+?\/?[^\/]+$/)[0]+
'\n'+m)};/efox\/(\d|[1-2]\d)\.|Prest/.test(u)?w.onerror=e:!/SIE 9/.test(u)&&w[
A]?w[A]('error',e,0):w.attachEvent('onerror',e);w[L]=t[L]=t[L]||function(h){h=
98<++n?'99!':n+' '+h;99<n?0:d.body?(p=d.createElement('TT'),p.innerHTML=h,(p.
style[S]?p.style[S]('cssText',s):p[S]('style',s)),p.onclick=function(){d.body.
removeChild(this)},d.body.appendChild(p)):alert(h)}}('position:fixed!importa'+
'nt;position:absolute;display:block;top:40%;left:5%;width:90%;font-size:14px'+
';padding:9px;margin-left:-9px;background:tan;color:#033;z-index:99')</script>
<link href="asset/wavis.css" rel="stylesheet">
<!-- Main app -->
<script src="wavis.js"></script>
</head>
<body>
<!-- Upgrade message for Internet Explorer 9 and below --> <!--[if lte IE 9]>
<h2>Upgrade to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><![endif]-->
<!-- Begin hiding from IE 9 and below --> <!--[if gt IE 9 | !IE ]><!-->
<script>if(/Trident\//.test(navigator.userAgent))document.write('<h2>Upgrade '
+'to a <a href="//goo.gl/KpAuN1">modern browser<a/></h2><!--')//IE10+</script>
<nav>
<a href="https://github.com/loopdotcoop/wavis">WaVis</a>
<a href="http://wavis.loop.coop/">Usage Example</a>
</nav>
<pre></pre>
<!-- Init the app -->
<script>
if (! window.WAVIS) throw Error('App namespace not found')
var graph = WAVIS.init({ // defined in wavis.js
})
graph.add('Constant', '-0.3')
graph.add('Linear', 'x / 2')
document.querySelector('pre').innerHTML = graph.render()
</script>
</body>
</html>
Open service 185.199.110.153:443 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: FCAE:20A52B:24E15C3:2566E0D:69483E64
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880075-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342248.673955,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 30e4e0e5dd3e9e06390b673cb340911b2e4b3536
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 2606:50c0:8002::153:80 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 3798:2BC457:2D5F1D8:323F9A6:69483E67
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21963-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342247.474620,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: ef3baa41f9a94c0d4ad3333c9d13546da2eb082c
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 2606:50c0:8000::153:80 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: E034:8E467:9F25CF:A3B701:69483E67
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880046-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342248.625945,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 31948deb58e4bc343d7a9f72d4b21125440ffb63
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 2606:50c0:8003::153:80 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 3798:2BC457:2D5F1D8:323F9A6:69483E67
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21971-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342247.414502,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: ed70f383d42f8a71d8006e7d000d7897a6c04de8
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 185.199.108.153:80 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: E034:8E467:9F25CF:A3B701:69483E67
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsat1880045-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342248.644259,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: b1691d64019047cdfeeac023ce5567cc8052bff2
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 2606:50c0:8001::153:443 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: FCAE:20A52B:24E15C3:2566E0D:69483E64
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-sin-wsss1830034-SIN
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342248.675083,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: e85722975c3e6a942c5397d1de125a8c48141f88
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 185.199.111.153:443 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: 970C:19331F:2CD2C03:31B661F:69483E64
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21956-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342247.427864,VS0,VE10
Vary: Accept-Encoding
X-Fastly-Request-ID: be522495321dcccb279ba797d72359854ff4d7ca
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 2606:50c0:8003::153:443 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: DFA0:18FED4:ED2A79:F1CB09:69483E67
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630049-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342248.501852,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: a2672ab441bd581e3575ab586c6ab2f63af5a14b
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 185.199.108.153:443 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: HIT
X-GitHub-Request-Id: 4737:1044F5:264A27:2B22E0:69483E60
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-bom-vanm7210046-BOM
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342248.644622,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: a72c6249aba6c2d2695569632d13682a641ced6c
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 2606:50c0:8000::153:443 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 2F62:1761E2:2110E1:2418EA:69483E67
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4563-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342247.376811,VS0,VE2
Vary: Accept-Encoding
X-Fastly-Request-ID: 9443aabd8e81a8833315f4ed1f79716d9af0ae54
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 185.199.109.153:80 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
x-origin-cache: HIT
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 3798:2BC457:2D5F1D8:323F9A6:69483E67
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lga21979-LGA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342247.359981,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: 8a78c56c88257dde88d1b0c63ef8572234331d2e
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 185.199.111.153:80 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 7239:37AB7A:25BEE43:26449D7:69483E67
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-vie6349-VIE
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342247.404218,VS0,VE9
Vary: Accept-Encoding
X-Fastly-Request-ID: a1b5549b47cffb51ba61f5be2f7a8608cddb4880
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 2606:50c0:8002::153:443 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: DFA0:18FED4:ED2A79:F1CB09:69483E67
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-lcy-egml8630063-LCY
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342247.426548,VS0,VE65
Vary: Accept-Encoding
X-Fastly-Request-ID: c77c64fd4ebd3d6916222c71c527d6fc63a26da8
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 185.199.109.153:443 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 2F62:1761E2:2110E1:2418EA:69483E67
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-yyz4575-YYZ
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342247.374639,VS0,VE1
Vary: Accept-Encoding
X-Fastly-Request-ID: c6695586b07c9b6f1f24a13f8fe9f1d367b88c3f
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 2606:50c0:8001::153:80 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 38E8:308CF1:257DA82:260361A:69483E65
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230024-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342247.363495,VS0,VE7
Vary: Accept-Encoding
X-Fastly-Request-ID: d6c0415af8ffb536caee00438b65e51a0dd39335
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 185.199.110.153:80 · oom-foo.loop.coop
2025-12-21 18:37
HTTP/1.1 200 OK
Connection: close
Content-Length: 7397
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 09 May 2018 19:00:45 GMT
Access-Control-Allow-Origin: *
ETag: "5af3455d-1ce5"
expires: Sun, 21 Dec 2025 18:47:27 GMT
Cache-Control: max-age=600
x-proxy-cache: MISS
X-GitHub-Request-Id: 38E8:308CF1:257DA82:260361A:69483E65
Accept-Ranges: bytes
Date: Sun, 21 Dec 2025 18:37:27 GMT
Via: 1.1 varnish
Age: 0
X-Served-By: cache-fra-eddf8230099-FRA
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1766342247.419227,VS0,VE3
Vary: Accept-Encoding
X-Fastly-Request-ID: b4c00981895f737a6c520bbd102073d337006cf0
Page title: Oom.Foo
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<!-- META -->
<!-- Technical meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no,
maximum-scale=1.0, user-scalable=no">
<!-- Search engine meta -->
<title>Oom.Foo</title>
<meta name="description"
content="Initial test of the oom-hub architecture">
<link rel="author" href="README.md">
<!-- Twitter Card, and Open Graph for Facebook, LinkedIn, Google+, etc -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@loopdotcoop">
<meta name="twitter:creator" content="@richplastow">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_GB">
<meta property="og:title" content="Oom.Foo">
<meta property="og:url" content="http://oom-foo.loop.coop/">
<meta property="og:image"
content="http://oom-foo.loop.coop/support/asset/logo/logo-1200x1200.svg">
<meta property="og:description"
content="Initial test of the oom-hub architecture">
<!-- From realfavicongenerator.net - see README.md for settings -->
<link rel="apple-touch-icon" sizes="180x180" href="support/asset/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="96x96" href="support/asset/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="32x32" href="support/asset/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="support/asset/icon/favicon-16x16.png">
<link rel="manifest" href="support/asset/icon/manifest.json">
<link rel="mask-icon" color="#9900ff" href="support/asset/icon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="support/asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Oom.Foo">
<meta name="application-name" content="Oom.Foo">
<meta name="msapplication-config" content="support/asset/icon/browserconfig.xml">
<meta name="theme-color" content="#9900ff">
<!-- STYLE -->
<!-- Load fonts as soon as possible -->
<style>
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: normal;
src: local('Ubuntu Regular'), local('Ubuntu-Regular')
, url(support/asset/font/ubuntu-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 400; font-style: italic;
src: local('Ubuntu Italic'), local('Ubuntu-Italic')
, url(support/asset/font/ubuntu-italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: normal;
src: local('Ubuntu Bold'), local('Ubuntu-Bold')
, url(support/asset/font/ubuntu-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu'; font-weight: 700; font-style: italic;
src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic')
, url(support/asset/font/ubuntu-bolditalic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { font-family: 'Ubuntu Mono'; font-weight: 400; font-style: normal;
src: local('Ubuntu Mono'), local('UbuntuMono-Regular')
, url(support/asset/font/ubuntumono-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA
, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
</style>
<!-- Load styles -->
<link rel="stylesheet" href="support/asset/css/bootstrap.4.0.0.min.css">
<link rel="stylesheet" href="support/asset/css/main.css">
<!-- A-Frame wants to be loaded in the <HEAD> -->
<script src="suppor
Open service 35.185.44.232:443 · loop.coop
2025-12-20 23:54
HTTP/1.1 200 OK
Cache-Control: max-age=600
Content-Length: 22300
Content-Type: text/html; charset=utf-8
Etag: "38ddf878ee4b50485e81d7422bfb1a6a82c8ec0533da93ba44e291159252cb8c"
Expires: Sun, 21 Dec 2025 00:04:30 UTC
Last-Modified: Mon, 22 Feb 2021 21:10:33 GMT
Permissions-Policy: interest-cohort=()
Vary: Origin
X-Request-Id: 01KCZ2ZB95FX86VP47JBTJZ37P
Date: Sat, 20 Dec 2025 23:54:30 GMT
Connection: close
Page title: Loop.Coop
<!DOCTYPE HTML>
<html lang="en-GB" class="section-logo">
<head>
<meta charset="utf-8">
<title>Loop.Coop</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<style>
/* Custom webfonts. Should be loaded as soon as possible. */
/* See fonts-backup.css for more weights and styles */
@font-face {
font-family:'Lato';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXiWtFCc.woff2 */
src: url(asset/font/lato-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family:'Podkova';font-style:normal;font-display:swap;font-weight:400;
/* fonts.gstatic.com/s/podkova/v17/K2FxfZ1EmftJSV9VaJnzJ6CiDyo.woff2 */
src: url(asset/font/podkova-regular.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>
<link rel="stylesheet" href="asset/css/normalize.min.css">
<link rel="stylesheet" href="asset/css/main.css">
<link rel="apple-touch-icon" sizes="180x180" href="asset/icon/at-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="asset/icon/f-48.png">
<link rel="icon" type="image/png" sizes="32x32" href="asset/icon/f-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="asset/icon/f-16.png">
<link rel="manifest" href="asset/icon/site.webmanifest">
<link rel="mask-icon" href="asset/icon/safari-pinned.svg" color="#8A4FB4">
<link rel="shortcut icon" href="asset/icon/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Loop.Coop">
<meta name="application-name" content="Loop.Coop">
<meta name="msapplication-TileColor" content="#DA532C">
<meta name="msapplication-config" content="asset/icon/browserconfig.xml">
<meta name="theme-color" content="#DA532C">
</head>
<body class="bg-aqua section-logo">
<div id="top" class="bg-lime"><h2 class="a11y">Top</h2>
<section id="showreel" class="fullwidth">
<video
src="asset/video/showreel-2021-v1-1080p.mp4" type="video/mp4"
autoplay="autoplay" muted="muted" loop="loop"
width="1920" height="1080"
poster="asset/thumb/showreel-2021-v1.jpg">
</section></div>
<header class="header-bg bg-aqua"></header>
<header class="header-bg bg-lime"></header>
<header class="header-bg bg-purple"></header>
<div id="logo"><a onclick="scrollTo(event)" href="#top">
<!-- ldc-logo-jan2021-v2.svg -> jakearchibald.github.io/svgomg -->
<svg class="line-1" viewBox="0 0 1024 1024"><path d="M331 490a46 46
0 11-32-87l32 87zM749 395c-6-17-3-35 6-49v-69l-44-13v172h-22v41h92v-41h
-26v-29l-6-12zM152 256a46 46 0 1187 32l-87-32zM261 436h-43V290l-44
-16v162h-25v41h120a55 55 0 01-8-41zM620 416c0 18-11 28-25 28-13 0-24-10
-24-28v-56l-44-16v72c0 41 31 69 69 69s69-28 69-69v-56l-45-16v72z"/>
<path d="M571 297c0-18 11-28 24-28 14 0 25 10 25 28v37l44 16v-53c0-40
-31-69-69-69s-69 29-69 69v37l45 16v-53zM438 416c0 18-11 28-25 28s-25-10
-25-28v-15l-44 16c1 40 32 68 69 68 38 0 69-29 69-69v-72l-44 16v56z"/>
<path d="M389 297c0-18 11-28 24-28 14 0 25 10 25 28v53l44-16v-37c0-40
-31-69-69-69s-69 29-69 69v111l45-16v-95zM865 320v-16c0-38-31-68-69-68h
-63l15 41h48c14 0 25 13 25 27v21c0 13-11 28-27 31l-8-23c-24 9-37 35-28
59s35 36 59 27l-8-22c33-10 59-42 56-77z"/>
</svg>
<svg class="dot" viewBox="0 0 1024 1024">
<circle cx="854" cy="456" r="29"/></svg>
<svg class="line-2" viewBox="0 0 1024 1024"><path d="M749 700c-7-19
-2-40 10-54v-55h-44v171h-24a46 46 0 0092 0h-24v-45l-10-1
loop.coop 8 verosynth.loop.coop 15 flatland.loop.coop 14 oom-hub.loop.coop 15 dumpsta.loop.coop 15 alfoom.loop.coop 15 moosse.loop.coop 15 foldawayforest.loop.coop 15 life.loop.coop 15 tfmm.loop.coop 15 seqin.loop.coop 15 looptopiapp-1.loop.coop 2 bewildermaze.loop.coop 15 undoiverse.loop.coop 15 wavis.loop.coop 15 oom-foo.loop.coop 15