Convert barant.com JET 1.4 marketing pages to jetc/.jtc (local, non-production)

Pulls .page files and shared template infrastructure (mainpagetemplate.temp,
menu.bar, barant.tag, opensource.menu, cart.menu, login.menu) read-only from
barant.com via SFTP into jetc/barant-site/src, then convert.py mechanically
flattens them into self-contained .jet files: linkbutton becomes a plain
anchor link (the old SESSIONCTL PAGE/PROCESS form-postback model has no
equivalent here - each page is its own real #api route now, not a shared
single-form state machine), sectionframe is expanded per its barant.tag
definition, /images/* references are fetched and inlined as data URIs
(APIServer has no static-file serving), and session-gated chrome (cart,
account/admin, login.menu) is resolved to its anonymous-visitor default
state, since no session/DB backend is wired into this conversion.

17 pages convert and serve cleanly end-to-end (verified via a local
apiserver-barant-site.json instance on :8081, kept separate from the
existing demo server on :8080 to avoid a /main route collision with the
earlier hand-cloned barant.jet). Two pages deliberately out of scope for
this pass: davidarant.page (whiledir filesystem iteration) and the
per-topic sub-pages of jet.page (dispatches on an ARGS query param this
conversion does not populate - only the default overview state converts).
vst.page/modular1.page/modular1_patches.page also deferred - they pull
live product rows via sql, a real backend dependency beyond "pages and
their template" scope.

Nothing was written back to barant.com - SFTP access was read-only
throughout, per explicit instruction to convert locally without touching
the original site.
This commit is contained in:
Brad Arant committed 2026-08-25 21:59:55 -07:00
1 parent b143b821de
commit fde94acad6
191 files changed
+14997

No files matched your search

+531
View File
@@ -0,0 +1,531 @@
#api GET /opensource
<set name="jetc_doctype" value="<!DOCTYPE html>" />$[jetc_doctype]<html lang="en"><head><title>OPEN SOURCE</title><style>
.rotate {
animation: rotation 1s infinite linear;
}
@keyframes rotation {
from {
transform: rotate(0deg);
}
to {
transform: rotate(359deg);
}
}
@font-face {
font-family: avenir;
src: url('data:font/ttf;base64,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 truncated
}
@font-face {
font-family: source;
src: url('data:font/ttf;base64,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 truncated
}
@font-face {
font-family: exo2;
src: url('data:font/otf;base64,T1RUTwALAIAAAwAwQ0ZGIF65aMUAAA4EAACDv0dQT1NyBlyKAACeSAAAYTJHU1VCWwJIAAAAmQgAAAU+T1MvMmqogawAAAEgAAAAYGNtYXC4LHjGAAAGoAAAB0JoZWFkA3NjtwAAALwAAAA2aGhlYQc+BIEAAAD0AAAAJGhtdHg+CUgTAACRxAAAB0RtYXhwAdFQAAAAARgAAAAGbmFtZVDBsvwAAAGAAAAFHnBvc3T/uAAyAAAN5AAAACAAAQAAAAEAQYT55LNfDzz1AAMD6AAAAADQhBABAAAAANCEEAH/c/7tA+EDpwAAAAMAAgAAAAAAAAABAAAD5/83AAAEBf9z/3MD4QABAAAAAAAAAAAAAAAAAAAB0QAAUAAB0QAAAAMByAGQAAMACAKKAlgAAABLAooCWAAAAV4AMgEkAAAAAAUGAAAAAAAAAAACBwAAAAAAAAAAAAAAAFVLV04AQAAg+wICvP83ASsD5wDJIAAAlwAAAAAB5wKyAAAAIAADAAAAFgEOAAEAAAAAAAAATwAAAAEAAAAAAAEABQBPAAEAAAAAAAIAEQBUAAEAAAAAAAMAIABlAAEAAAAAAAQAFwCFAAEAAAAAAAUAPACcAAEAAAAAAAYAFQDYAAEAAAAAAAkADQDtAAEAAAAAAAwAEwD6AAEAAAAAAA4APwENAAMAAQQJAAAAngFMAAMAAQQJAAEAHgHqAAMAAQQJAAIADgIIAAMAAQQJAAMAQAIWAAMAAQQJAAQALgJWAAMAAQQJAAUAeAKEAAMAAQQJAAYAKgL8AAMAAQQJAAkAGgMmAAMAAQQJAAwAJgNAAAMAAQQJAA4AfgNmAAMAAQQJABAACgPkAAMAAQQJABEAIgPuQ29weXJpZ2h0IKkgMjAxNCwgTmF0YW5hZWwgR2FtYSAod3d3Lm5kaXNjb3ZlcmVkLmNvbSAuIGluZm8oYXQpbmRpc2NvdmVyZWQuY29tKUV4byAyUmVndWxhciBDb25kZW5zZWQxLjAwMTtVS1dOO0V4bzItUmVndWxhckNvbmRlbnNlZEV4byAyIFJlZ3VsYXIgQ29uZGVuc2VkVmVyc2lvbiAxLjAwMTtQUyAwMDEuMDAxO2hvdGNvbnYgMS4wLjcwO21ha2VvdGYubGliMi41LjU4MzI5RXhvMi1SZWd1bGFyQ29uZGVuc2VkTmF0YW5hZWwgR2FtYXd3dy5uZGlzY292ZXJlZC5jb21odHRwOi8vc2NyaXB0cy5zaWwub3JnL2Ntcy9zY3JpcHRzL3BhZ2UucGhwP3NpdGVfaWQ9bnJzaSZpZD1PRkwAQwBvAHAAeQByAGkAZwBoAHQAIACpACAAMgAwADEANAAsACAATgBhAHQAYQBuAGEAZQBsACAARwBhAG0AYQAgACgAdwB3AHcALgBuAGQAaQBzAGMAbwB2AGUAcgBlAGQALgBjAG8AbQAgAC4AIABpAG4AZgBvACgAYQB0ACkAbgBkAGkAcwBjAG8AdgBlAHIAZQBkAC4AYwBvAG0AKQBFAHgAbwAgADIAIABDAG8AbgBkAGUAbgBzAGUAZABSAGUAZwB1AGwAYQByADEALgAwADAAMQA7AFUASwBXAE4AOwBFAHgAbwAyAC0AUgBlAGcAdQBsAGEAcgBDAG8AbgBkAGUAbgBzAGUAZABFAHgAbwAgADIAIABSAGUAZwB1AGwAYQByACAAQwBvAG4AZABlAG4AcwBlAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMQA7AFAAUwAgADAAMAAxAC4AMAAwADEAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARQB4AG8AMgAtAFIAZQBnAHUAbABhAHIAQwBvAG4AZABlAG4AcwBlAGQATgBhAHQAYQBuAGEAZQBsACAARwBhAG0AYQB3AHcAdwAuAG4AZABpAHMAYwBvAHYAZQByAGUAZAAuAGMAbwBtAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBjAG0AcwAvAHMAYwByAGkAcAB0AHMALwBwAGEAZwBlAC4AcABoAHAAPwBzAGkAdABlAF8AaQBkAD0AbgByAHMAaQAmAGkAZAA9AE8ARgBMAEUAeABvACAAMgBSAGUAZwB1AGwAYQByACAAQwBvAG4AZABlAG4AcwBlAGQAAAAAAAMAAAADAAACFAABAAAAAAAcAAMAAQAAAhQABgH4AAAACQD3AZUAAAAAAAABlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVAXUBfAF3AZoBrgG2AX0BhQGG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 truncated
}
body {background: linear-gradient(to bottom, #ccc, #444);
font-family: exo2;
margin: 10px 10px 10px 10px;
width: 98%;
}
a:link {text-decoration: none}
a:visited {text-decoration:none}
a:hover {text-decoration:none}
h1 {font: 20pt exo2;
text-shadow: 0 0 0.2em #CCC, 0 0 0.2em #87F;
color: #808080;
opacity: 0.9;}
h2 {font: 14pt exo2;
text-shadow: 0 0 0.2em #CCC, 0 0 0.2em #87F;
}
h3 {font: 12pt exo2;
text-shadow: 0 0 0.2em #CCC, 0 0 0.2em #87F;
}
p {font-family: 8pt exo2;
text-shadow: 0 0 0.2em #CCC, 0 0 0.2em #87F;
}
ul {font-family: 8pt exo2;}
li {font-family: 8pt exo2;
text-shadow: 0 0 0.2em #CCC, 0 0 0.2em #87F;
}
.project_header {background: #88c;
color: #fff;
padding: 5px;
font-weight: 400;
font-size: 14px;
}
.pageclass {background: #fff;
border-radius: 10px;
border: 2pt outset;
border-spacing: 0px;
padding: 0px;
max-width: 1050px;
min-width: 1050px
margin: auto;
text-shadow: 0 0 0.1em #CCC, 0 0 0.1em #87F;
font-family: exo2;
font-size: 10pt;
}
input {background: #fff;
border: 1px inset;
font-family: exo2;
font-size: 14px;
min-height: 18px;
display: block;
margin-bottom: 3px;
margin-top: 0px;
outline: none;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
-o-border-radius: 2px;
-ms-border-radius: 2px;
border-radius: 0px;
}
select {background: #fff;
font-family: exo2;
font-size: 14px;
min-height: 18px;
display: block;
margin-bottom: 3px;
margin-top: 0px;
outline: none;
border: 1px solid #444;
padding: 1px 2px 1px 2px;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
-o-border-radius: 7px;
-ms-border-radius: 7px;
border-radius: 0px;
}
textarea.fieldinput {background: #fff;
resize: none;
font-family: exo2;
border: 1px solid #444;
font-size: 14px;
min-height: 18px;
display: block;
margin-bottom: 3px;
margin-top: 0px;
outline: none;
padding: 2px 2px 2px 5px;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
-o-border-radius: 0px;
-ms-border-radius: 0px;
border-radius: 0px;
}
textarea.fieldinputerror {background: #fcc;
resize: none;
font-family: exo2;
border: 1px solid #f00;
font-size: 14px;
min-height: 18px;
display: block;
margin-bottom: 3px;
margin-top: 0px;
outline: none;
padding: 2px 2px 2px 5px;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
-o-border-radius: 7px;
-ms-border-radius: 7px;
border-radius: 0px;
}
.sectionframe {
position: relative;
font-family: exo2;
border: 0px outset;
font-size: 10pt;
margin: 3px;
background: #808080;
padding: 0px;
border-radius: 0px;
}
.sectionframe:after{
content: '';
position: absolute;
top: 1px;
left: 1px;
width: calc(100% - 2px);
height: 12px;
background: linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.2));
}
.sectionframecontents {
padding: 10px;
text-align: justify;
color: #000000;
border: 1pt inset;
background-color: #F8F8FF;
}
.sectionframeheading {
# background: linear-gradient(to bottom, #fff, #88f);
background: #2099f0;
color: #fff;
border: 1pt outset;
vertical-align: middle;
padding: 5px;
margin: 0px;
font-family: 12pt avenir;
text-shadow: 0 0 0.2em #CCC, 0 0 0.2em #87F;
border-radius: 0px 0px 0px 0px;
}
.sectionframeheading2 {
background: #C0C0C0;
font-family: exo2;
font-size: 20pt;
padding: 3px
text-shadow: 0 0 0.2em #CCC, 0 0 0.2em #87F;
border-radius: 3px;
}
.heading {background: #fff;
border-radius: 7px 7px 0px 0px;
max-height: 80px;
}
.entryform {
background: #2099f0;
padding: 3px 3px 3px 3px;
margin: 0px;
border: 0px solid black;
border-radius: 0px;
}
.entryform table {
font: 12px exo2;
background: #c5e1f4;
border: 0pt solid black;
}
.footer {
background: linear-gradient(to bottom, #000, #888);
font: 8pt verdana;
color: #FFFFFF;
text-align: center;
border-radius: 0px 0px 6px 6px;}
.menubar {
# background: linear-gradient(to bottom, #fff, #2099f0);
padding: 0px 0px 0px 0px;
margin: 0px;
}
.baritem {
background-image: linear-gradient(#2099f0, #c3ddef);
color: #fff;
position: relative;
font-family: exo2;
font-weight: 1000;
font-size: 8pt;
padding: 2px 10px;
margin: 10px 0px 0px 0px;
border: solid;
border-width: 0px 0px 1px 0px;
border-color: #fff;
border-radius: 5px 5px 0px 0px;
border-style: outset;
transition: background 2s;
}
.baritem:after{
content: '';
position: absolute;
top: 1px;
left: 1px;
width: calc(100% - 2px);
height: 50%;
z-index: 5;
pointer-events: none;
border-radius: 4px 4px 0px 0px;
background: linear-gradient(rgba(255,255,255,0.8), rgba(255,255,255,0.2));
}
.baritemselected {
background: #ccc;
color: #000;
font-family: exo2;
font-weight: 1000;
font-size: 8pt;
padding: 2px 10px;
margin: 5px 10px 0px 0px;
border: solid;
border-width: 1px 1px 0px 1px;
border-color: #fff;
border-radius: 5px 5px 0px 0px;
border-style: outset;
transition: background 2s;
}
.baritem:hover {
background: #c3ddef;
color: #fff;
transition: background 5s;
}
.panel {background: #ccc;
margin: 10px;
padding: 3px;
border: 0pt inset;}
.panel table {
font: 12px exo2;
padding: 5px;
background: #c5e1f4;
border: 1pt solid black;
border-radius: 9px;
}
.panel table th {
background: #2099f0;
color: #fff;
padding: 2px 3px 3px 3px;
border: 0pt;
}
.panel table td {
background: #c5e1f4;
color: #000;
padding: 2px 3px 3px 3px;
border: 0pt;
}
.left {
text-align: right;
padding-left: 20px;
border-radius: 9px 0px 0px 9px;
}
.right {
border-radius: 0px 9px 9px 0px;
padding-right: 20px;
}
.featured {background: #fff}
.buttonbay {
width: 100%;
text-align: center;
}
.fieldinput {
font-family: exo2;
border-radius: 7px;
padding: 2px 2px 2px 5px;
border: 1px solid #ccc;
}
.fieldinputerror {
font-family: exo2;
border-radius: 7px;
padding: 2px 2px 2px 5px;
background: #fcc;
border: 1px solid red;
}
.fieldprompt {
font-size: 10pt;
text-align: right;
background: #00f;
}
.message {font: bold 10pt verdana; color: #FF0000}
.collection_heading {font: bold 12pt verdana; color: #FFFFFF}
.collection_text {font: 10pt verdana; color: #FFFFFF}
.collection_tracks_background {font: 8pt bold verdana; color: #FFFFFF; background: #10003F}
.warning {font: 10pt verdana; background: #FF0000; color: #FFFFFF; text-align: justify}
.button {
position: relative;
display: inline-block;
font-size: 10pt;
font-weight: 400;
color: #fff;
border: 2px outset;
background: #2099f0;
padding: 2px 10px 3px 10px;
margin: 0px;
border-radius: 5px;
}
.button:after{
content: '';
position: absolute;
top: 0px;
left: 0px;
width: calc(100% - 0px);
height: 10px;
z-index: 5;
border-radius: 3px;
background: linear-gradient(rgba(255,255,255,0.8), rgba(255,255,255,0.2));
}
.code {
font-family: source;
font-weight: 400;
font-size: 10pt;
border: 1pt solid black;
background: #ff8;
padding: 5px;
}
.controlframe {background: #888;
padding: 5px 5px 15px 10px;
}
.vm {position: relative;
height: 55px;
}
.vmname {position: absolute;
left: 0px; top: 0px;
height: 55px;
}
.vmcover {position: absolute;
left: 15px;
top: 30px;
font: 12px 'Dot Matrix';
background: #bbb;
color: white;
border: 1pt solid white;
border-radius: 5px;
padding: 2px 10px 2px 10px;
}
</style></head><body>
<div class="pageclass">
<div class="heading">
<div style="display: inline-block; width: 500px;">
<a href="https://barant.com"><img style="width: 60px; height: 60px; margin: 10px;" align="left" src="data:image/png;base64,ICAgICAgICAgICAgICAgIDxzY3JpcHQ+d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKCcnLCcnLCcvYnRnbG9nby5wbmcnKTs8L3NjcmlwdD4gICAgICAgICAgICAgIDwhRE9DVFlQRSBodG1sPiAgICAgIDwhLS1baWYgbHQgSUUgNyBdPjxodG1sIGNsYXNzPSJpZSBpZTYiIGxhbmc9ImVuIj4gPCFbZW5kaWZdLS0+ICAgICAgPCEtLVtpZiBJRSA3IF0+PGh0bWwgY2xhc3M9ImllIGllNyIgbGFuZz0iZW4iPiA8IVtlbmRpZl0tLT4gICAgICA8IS0tW2lmIElFIDggXT48aHRtbCBjbGFzcz0iaWUgaWU4IiBsYW5nPSJlbiI+IDwhW2VuZGlmXS0tPiAgICAgIDwhLS1baWYgKGd0ZSBJRSA5KXwhKElFKV0+PCEtLT48aHRtbCBsYW5nPSJlbiI+IDwhLS08IVtlbmRpZl0tLT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhlYWQ+CiA8dGl0bGU+UGFnZSBOb3QgRm91bmQ8L3RpdGxlPgogICAgICAgPE1FVEEgTkFNRT1BVVRIT1IgQ09OVEVOVD0iIj4gICAgICAgPE1FVEEgTkFNRT1ERVNDUklQVElPTiBDT05URU5UPSIiPiAgICAgICA8TUVUQSBOQU1FPUtFWVdPUkRTIENPTlRFTlQ9IiI+ICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvY3NzL21haW4uY3NzIj4KIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2Nzcy9jb250cm9sLmNzcyI+CiA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3BuZyIgaHJlZj0iaHR0cHM6Ly9iYXJhbnQuY29tL2ltYWdlcy9mYXZpY29uLnBuZyI+CiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvY2tlZGl0b3IvY2tlZGl0b3IuanMiPjwvc2NyaXB0PgogPCEtLSBHbG9iYWwgc2l0ZSB0YWcgKGd0YWcuanMpIC0gR29vZ2xlIEFuYWx5dGljcyAtLT4KIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPUctVDJXWVJQMEMwSCI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOwogIGZ1bmN0aW9uIGd0YWcoKXtkYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpO30KICBndGFnKCdqcycsIG5ldyBEYXRlKCkpOwogIGd0YWcoJ2NvbmZpZycsICdHLVQyV1lSUDBDMEgnKTsKIDwvc2NyaXB0PgogICAgICAgICAgICAgPC9oZWFkPiAgICAgIDxib2R5ICAgICAgICAgICAgID4gICAgICAgPGZvcm0gbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4JPElOUFVUIFRZUEU9SElEREVOIE5BTUU9Il9MQVNUUEFHRSIgVkFMVUU9ImJ0Z2xvZ28ucG5nIiA+CTxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPSJQUk9DRVNTIiBWQUxVRT0iIiA+CTxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPSJFWElUUFJPQ0VTUyIgVkFMVUU9IiIgPgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJESVIiIHZhbHVlPSIiPgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJfQ1RMRElSIiB2YWx1ZT0iIj4JPElOUFVUIFRZUEU9SElEREVOIE5BTUU9IlBBR0UiIFZBTFVFPSJidGdsb2dvLnBuZyIgPiAgICAgICAgPElOUFVUIFRZUEU9SElEREVOIE5BTUU9Il9USU1FU1RBTVAiIFZBTFVFPSIiID4gICAgICAgICAgICAgICAgIAkJCgkgICA8ZGl2IGNsYXNzPSJwYWdlY2xhc3MiPgogIDxkaXYgY2xhc3M9ImhlYWRpbmciPiAgICAKICAgPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogNTAwcHg7Ij4KICAgIDxhIGhyZWY9Imh0dHBzOi8vYmFyYW50LmNvbSI+PGltZyBzdHlsZT0id2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDsgbWFyZ2luOiAxMHB4OyIgYWxpZ249ImxlZnQiIHNyYz0iL2ltYWdlcy9idGdsb2dvLnBuZyI+PC9hPgogICAgPGRpdiBzdHlsZT0icGFkZGluZy10b3A6IDE1cHg7Ij4KICAgICA8ZGl2IHN0eWxlPSJsZWZ0OiA4MHB4OyBjb2xvcjogIzIwOTlmMDsgZm9udC1zaXplOiAyMHB0OyI+QkFSQU5UIFRFQ0hOT0xPR1kgR1JPVVA8L2Rpdj4gIAogICAgIDxkaXYgc3R5bGU9ImxlZnQ6IDgwcHg7IGNvbG9yOiAjMjA5OWYwOyI+UGFnZSBOb3QgRm91bmQ8L2Rpdj4gICAgCiAgICA8L2Rpdj4KICAgPC9kaXY+CiAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgdGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbi1yaWdodDogMTBweDsgbWFyZ2luLXRvcDogNXB4OyI+PC9kaXY+IAogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1lbnViYXIiPgo8dGFibGUgY2xhc3M9Im1lbnViYXIiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgd2lkdGg6IDEwMCUiPgo8dHI+CiA8dGQgc3R5bGU9ImJvcmRlci1ib3R0b206IDFwdCBzb2xpZCAjYmJiOyB3aWR0aDogMjBweDsiPiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYmFyaXRlbSI+CjxBIEhSRUY9ImphdmFzY3JpcHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS5QUk9DRVNTLnZhbHVlPScnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS5QQUdFLnZhbHVlPSdidGdsb2dvLnBuZyc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOyAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS50YXJnZXQ9Jyc7IiAgICAgICAgICAgICAgICAgICAgICAJCSAgICAgID48YSBocmVmPSIvbWFpbiI+SE9NRTwvYT48L0E+PC90ZD4KPHRkIHN0eWxlPSJib3JkZXItYm90dG9tOiAxcHQgc29saWQgI2JiYjsiPiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYmFyaXRlbSI+CjxBIEhSRUY9ImphdmFzY3JpcHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS5QUk9DRVNTLnZhbHVlPScnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS5QQUdFLnZhbHVlPSdidGdsb2dvLnBuZyc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOyAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS50YXJnZXQ9Jyc7IiAgICAgICAgICAgICAgICAgICAgICAJCSAgICAgID48YSBocmVmPSIvc2VydmljZXMiPlNFUlZJQ0VTPC9hPjwvQT48L3RkPgo8dGQgc3R5bGU9ImJvcmRlci1ib3R0b206IDFwdCBzb2xpZCAjYmJiOyI+Jm5ic3A7PC90ZD4KPHRkIGNsYXNzPSJiYXJpdGVtIj4KPEEgSFJFRj0iamF2YXNjcmlwdDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmZvcm1zWzBdLlBST0NFU1MudmFsdWU9Jyc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLine truncated
<div style="padding-top: 15px;">
<div style="left: 80px; color: #2099f0; font-size: 20pt;">BARANT TECHNOLOGY GROUP</div>
<div style="left: 80px; color: #2099f0;">OPEN SOURCE</div>
</div>
</div>
<div style="float: right; text-align: right; margin-right: 10px; margin-top: 5px;"></div>
</div>
<div class="menubar">
<table class="menubar" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td style="border-bottom: 1pt solid #bbb; width: 20px;">&nbsp;</td>
<td class="baritem"><a href="/main">HOME</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/services">SERVICES</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/hosting">HOSTING</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/documents">DOCUMENT MGMT</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/siptrunk">SIP TRUNKING</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/vst">VST</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/modular1">MODULAR1</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/modular1_patches">MODULAR1 PATCHES</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/synthedit">SYNTHEDIT</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/wordpress">WORDPRESS</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/opensource">OPEN SOURCE</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td class="baritem"><a href="/contact">CONTACT</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
</ifrow>
</if>
<td class="baritem"><a href="/login">LOGIN</a></td><td style="border-bottom: 1pt solid #bbb;">&nbsp;</td>
<td style="border-bottom: 1pt solid #bbb; width: 10px;">&nbsp;</td>
</tr>
</table>
</div>
<div style="display: table-row; width: 100%;">
<div style="display: table-cell; border:
background-image: url('data:image/png;base64,ICAgICAgICAgICAgICAgIDxzY3JpcHQ+d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKCcnLCcnLCcvZ3JpZC5wbmcnKTs8L3NjcmlwdD4gICAgICAgICAgICAgIDwhRE9DVFlQRSBodG1sPiAgICAgIDwhLS1baWYgbHQgSUUgNyBdPjxodG1sIGNsYXNzPSJpZSBpZTYiIGxhbmc9ImVuIj4gPCFbZW5kaWZdLS0+ICAgICAgPCEtLVtpZiBJRSA3IF0+PGh0bWwgY2xhc3M9ImllIGllNyIgbGFuZz0iZW4iPiA8IVtlbmRpZl0tLT4gICAgICA8IS0tW2lmIElFIDggXT48aHRtbCBjbGFzcz0iaWUgaWU4IiBsYW5nPSJlbiI+IDwhW2VuZGlmXS0tPiAgICAgIDwhLS1baWYgKGd0ZSBJRSA5KXwhKElFKV0+PCEtLT48aHRtbCBsYW5nPSJlbiI+IDwhLS08IVtlbmRpZl0tLT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhlYWQ+CiA8dGl0bGU+UGFnZSBOb3QgRm91bmQ8L3RpdGxlPgogICAgICAgPE1FVEEgTkFNRT1BVVRIT1IgQ09OVEVOVD0iIj4gICAgICAgPE1FVEEgTkFNRT1ERVNDUklQVElPTiBDT05URU5UPSIiPiAgICAgICA8TUVUQSBOQU1FPUtFWVdPUkRTIENPTlRFTlQ9IiI+ICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvY3NzL21haW4uY3NzIj4KIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2Nzcy9jb250cm9sLmNzcyI+CiA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3BuZyIgaHJlZj0iaHR0cHM6Ly9iYXJhbnQuY29tL2ltYWdlcy9mYXZpY29uLnBuZyI+CiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvY2tlZGl0b3IvY2tlZGl0b3IuanMiPjwvc2NyaXB0PgogPCEtLSBHbG9iYWwgc2l0ZSB0YWcgKGd0YWcuanMpIC0gR29vZ2xlIEFuYWx5dGljcyAtLT4KIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPUctVDJXWVJQMEMwSCI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOwogIGZ1bmN0aW9uIGd0YWcoKXtkYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpO30KICBndGFnKCdqcycsIG5ldyBEYXRlKCkpOwogIGd0YWcoJ2NvbmZpZycsICdHLVQyV1lSUDBDMEgnKTsKIDwvc2NyaXB0PgogICAgICAgICAgICAgPC9oZWFkPiAgICAgIDxib2R5ICAgICAgICAgICAgID4gICAgICAgPGZvcm0gbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4JPElOUFVUIFRZUEU9SElEREVOIE5BTUU9Il9MQVNUUEFHRSIgVkFMVUU9ImdyaWQucG5nIiA+CTxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPSJQUk9DRVNTIiBWQUxVRT0iIiA+CTxJTlBVVCBUWVBFPUhJRERFTiBOQU1FPSJFWElUUFJPQ0VTUyIgVkFMVUU9IiIgPgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJESVIiIHZhbHVlPSIiPgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJfQ1RMRElSIiB2YWx1ZT0iIj4JPElOUFVUIFRZUEU9SElEREVOIE5BTUU9IlBBR0UiIFZBTFVFPSJncmlkLnBuZyIgPiAgICAgICAgPElOUFVUIFRZUEU9SElEREVOIE5BTUU9Il9USU1FU1RBTVAiIFZBTFVFPSIiID4gICAgICAgICAgICAgICAgIAkJCgkgICA8ZGl2IGNsYXNzPSJwYWdlY2xhc3MiPgogIDxkaXYgY2xhc3M9ImhlYWRpbmciPiAgICAKICAgPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogNTAwcHg7Ij4KICAgIDxhIGhyZWY9Imh0dHBzOi8vYmFyYW50LmNvbSI+PGltZyBzdHlsZT0id2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDsgbWFyZ2luOiAxMHB4OyIgYWxpZ249ImxlZnQiIHNyYz0iL2ltYWdlcy9idGdsb2dvLnBuZyI+PC9hPgogICAgPGRpdiBzdHlsZT0icGFkZGluZy10b3A6IDE1cHg7Ij4KICAgICA8ZGl2IHN0eWxlPSJsZWZ0OiA4MHB4OyBjb2xvcjogIzIwOTlmMDsgZm9udC1zaXplOiAyMHB0OyI+QkFSQU5UIFRFQ0hOT0xPR1kgR1JPVVA8L2Rpdj4gIAogICAgIDxkaXYgc3R5bGU9ImxlZnQ6IDgwcHg7IGNvbG9yOiAjMjA5OWYwOyI+UGFnZSBOb3QgRm91bmQ8L2Rpdj4gICAgCiAgICA8L2Rpdj4KICAgPC9kaXY+CiAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgdGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbi1yaWdodDogMTBweDsgbWFyZ2luLXRvcDogNXB4OyI+PC9kaXY+IAogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1lbnViYXIiPgo8dGFibGUgY2xhc3M9Im1lbnViYXIiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgd2lkdGg6IDEwMCUiPgo8dHI+CiA8dGQgc3R5bGU9ImJvcmRlci1ib3R0b206IDFwdCBzb2xpZCAjYmJiOyB3aWR0aDogMjBweDsiPiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYmFyaXRlbSI+CjxBIEhSRUY9ImphdmFzY3JpcHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS5QUk9DRVNTLnZhbHVlPScnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS5QQUdFLnZhbHVlPSdncmlkLnBuZyc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOyAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS50YXJnZXQ9Jyc7IiAgICAgICAgICAgICAgICAgICAgICAJCSAgICAgID48YSBocmVmPSIvbWFpbiI+SE9NRTwvYT48L0E+PC90ZD4KPHRkIHN0eWxlPSJib3JkZXItYm90dG9tOiAxcHQgc29saWQgI2JiYjsiPiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYmFyaXRlbSI+CjxBIEhSRUY9ImphdmFzY3JpcHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS5QUk9DRVNTLnZhbHVlPScnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS5QQUdFLnZhbHVlPSdncmlkLnBuZyc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOyAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS50YXJnZXQ9Jyc7IiAgICAgICAgICAgICAgICAgICAgICAJCSAgICAgID48YSBocmVmPSIvc2VydmljZXMiPlNFUlZJQ0VTPC9hPjwvQT48L3RkPgo8dGQgc3R5bGU9ImJvcmRlci1ib3R0b206IDFwdCBzb2xpZCAjYmJiOyI+Jm5ic3A7PC90ZD4KPHRkIGNsYXNzPSJiYXJpdGVtIj4KPEEgSFJFRj0iamF2YXNjcmlwdDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmZvcm1zWzBdLlBST0NFU1MudmFsdWU9Jyc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmZvcm1zWzBdLlBBR0UudmFsdWU9J2dyaWQucG5nJzsLine truncated
<div class="panel" style="width: 200px; display: table-cell; ">
<div class="sectionframe"><div class="sectionframeheading"><b>OPEN SOURCE PROJECTS</b></div><div class="sectionframecontents">
<a href="/barantmail">BARANTMAIL</a><br>
<a href="/jet">JET</a><br>
<a href="/synthmax">SYNTHMAX</a><br>
<a href="/serverframework">SERVER CORE FRAMEWORK</a>
<a href="/asm1802">ASM/MCH 1802 SIMULATOR</a><br>
</div></div>
<comment>
<if value1="$[_login_id]" value2="1" type="eq">
<include file="sessionvar.menu">
</if>
</comment>
</div>
<div class="panel" style="display: table-cell; width: 960px; max-width: 960px;">
<div class="sectionframe"><div class="sectionframeheading"><b>Open Source Projects</b></div><div class="sectionframecontents">
<h1>Open Source Projects</h1>
<p>We have several open source projects that we have created.</p>
<ul>
<li><a href="/jet">JET</a> - JET Extension Tags provides an amazingly versatile and
simple mechanism for generating output for muliple uses. Originally
designed in the early days of the Internet for generating web pages
containing dynamic data it has been adapted to many uses from Asterisk
dial plans to other generated output that requires templated protocols
with dynamic data from a mysql database. Jeff Gonzalez added the
ability to manage web site sessions and pretty URLs to JET with his
session manager library.</li><br>
<li>BARANTMAIL - Designed out of frustration with qmail a decade ago
BARANTMAIL was developed on top of C++ and mySQL to provide an
extremely super simple e-mail server for the open-source
community.</li><br>
<li>SYNTHMAX - I have been developing a fully modular synthesizer for
use in Linux. This is not your usual plaything and maybe someday will
be used professionally in my keyboard products.</li><br>
<li>C++ SERVER FRAMEWORK - A core epoll server code for developing
all sorts of high performance TCP and UDP servers. Generic socket
objects allow tying into epoll handling for any socket based
communications including timers, files and network sockets.
Basic functional server frameworks are provided for:
<br><br>
<ul>
<li>HTTP(S) Server</li>
<li>Stream Server</li>
<li>E-Mail Server</li>
<li>Chat Server</li>
</ul>
</li><br>
<li><a href="/asm1802">RCA1802 Micro-Controller
Emulator</a> - A fully operational assembler
and emulation environment for the development and deployment of
firmware code utilizing the RCA1802 micro-controller chip.</li>
</ul>
Check out our git server at <a href="https://git.barant.com">git.barant.com</a>.
</div></div>
</div>
<div style="clear: both;"></div>
</div>
</div>
<div class="footer" style="clear: both;">&copy; 1999-2026 BARANT Systems, All Rights Reserved</div>
</div>
</body></html>