From fa4f24f74e70f1ef39f7daecff6b46df7d8e4b78 Mon Sep 17 00:00:00 2001 From: Mike Nolan Date: Wed, 8 Jan 2025 12:27:52 -0600 Subject: [PATCH] Change to onedev --- .onedev-buildspec.yml | 34 ++++++++ Dockerfile | 3 + Templates/compiletool/.crossarchiveignore | 2 + Templates/compiletool/cross.json | 16 ++++ Templates/compiletool/src/main.tcross | 11 +++ Templates/console/.crossarchiveignore | 2 + Templates/console/cross.json | 16 ++++ Templates/console/src/main.tcross | 4 + Templates/lib/.crossarchiveignore | 2 + Templates/lib/cross.json | 16 ++++ Templates/lib/src/mylib.tcross | 5 ++ Templates/template/.crossarchiveignore | 2 + Templates/template/cross.json | 25 ++++++ Templates/template/src/main.tcross | 4 + Templates/web/.crossarchiveignore | 2 + Templates/web/components/counter.tcrml | 3 + Templates/web/components/shell.tcrml | 36 ++++++++ Templates/web/cross.json | 23 +++++ Templates/web/pages/about.tcrml | 28 ++++++ Templates/web/pages/counter.tcrml | 29 +++++++ Templates/web/pages/index.tcrml | 28 ++++++ Templates/web/res/favicon.ico | Bin 0 -> 46215 bytes Templates/web/res/simple.min.css | 1 + Templates/web/src/program.tcross | 5 ++ .../components/counter.tcrml | 3 + .../components/shell.tcrml | 36 ++++++++ Tesses.CrossLang.ExampleSite/cross.json | 10 +++ .../pages/about.tcrml | 28 ++++++ .../pages/counter.tcrml | 29 +++++++ .../pages/index.tcrml | 28 ++++++ Tesses.CrossLang.ExampleSite/res/favicon.ico | Bin 0 -> 46215 bytes .../res/simple.min.css | 1 + .../src/program.tcross | 5 ++ .../components/counter.tcrml | 3 + .../components/shell.tcrml | 36 ++++++++ .../pages/about.tcrml | 28 ++++++ .../pages/counter.tcrml | 29 +++++++ .../res/favicon.ico | Bin 0 -> 46215 bytes .../res/simple.min.css | 1 + Tesses.CrossLang.RpcServer/cross.json | 7 ++ Tesses.CrossLang.RpcServer/src/main.tcross | 4 + crosslang_shell_archive_maker/cross.json | 7 ++ crosslang_shell_archive_maker/src/main.tcross | 80 ++++++++++++++++++ .../Tesses.CrossLang.Args/1.0.0.0-prod | Bin 0 -> 1459 bytes .../1.0.0.0-prod | Bin 0 -> 19872 bytes .../Tesses.CrossLang.Markup/1.0.0.0-prod | Bin 0 -> 16779 bytes pack.sh | 3 + 47 files changed, 635 insertions(+) create mode 100644 .onedev-buildspec.yml create mode 100644 Dockerfile create mode 100644 Templates/compiletool/.crossarchiveignore create mode 100644 Templates/compiletool/cross.json create mode 100644 Templates/compiletool/src/main.tcross create mode 100644 Templates/console/.crossarchiveignore create mode 100644 Templates/console/cross.json create mode 100644 Templates/console/src/main.tcross create mode 100644 Templates/lib/.crossarchiveignore create mode 100644 Templates/lib/cross.json create mode 100644 Templates/lib/src/mylib.tcross create mode 100644 Templates/template/.crossarchiveignore create mode 100644 Templates/template/cross.json create mode 100644 Templates/template/src/main.tcross create mode 100644 Templates/web/.crossarchiveignore create mode 100644 Templates/web/components/counter.tcrml create mode 100644 Templates/web/components/shell.tcrml create mode 100644 Templates/web/cross.json create mode 100644 Templates/web/pages/about.tcrml create mode 100644 Templates/web/pages/counter.tcrml create mode 100644 Templates/web/pages/index.tcrml create mode 100755 Templates/web/res/favicon.ico create mode 100644 Templates/web/res/simple.min.css create mode 100644 Templates/web/src/program.tcross create mode 100644 Tesses.CrossLang.ExampleSite/components/counter.tcrml create mode 100644 Tesses.CrossLang.ExampleSite/components/shell.tcrml create mode 100644 Tesses.CrossLang.ExampleSite/cross.json create mode 100644 Tesses.CrossLang.ExampleSite/pages/about.tcrml create mode 100644 Tesses.CrossLang.ExampleSite/pages/counter.tcrml create mode 100644 Tesses.CrossLang.ExampleSite/pages/index.tcrml create mode 100755 Tesses.CrossLang.ExampleSite/res/favicon.ico create mode 100644 Tesses.CrossLang.ExampleSite/res/simple.min.css create mode 100644 Tesses.CrossLang.ExampleSite/src/program.tcross create mode 100644 Tesses.CrossLang.PackageServer/components/counter.tcrml create mode 100644 Tesses.CrossLang.PackageServer/components/shell.tcrml create mode 100644 Tesses.CrossLang.PackageServer/pages/about.tcrml create mode 100644 Tesses.CrossLang.PackageServer/pages/counter.tcrml create mode 100644 Tesses.CrossLang.PackageServer/res/favicon.ico create mode 100644 Tesses.CrossLang.PackageServer/res/simple.min.css create mode 100644 Tesses.CrossLang.RpcServer/cross.json create mode 100644 Tesses.CrossLang.RpcServer/src/main.tcross create mode 100644 crosslang_shell_archive_maker/cross.json create mode 100644 crosslang_shell_archive_maker/src/main.tcross create mode 100644 crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Args/1.0.0.0-prod create mode 100644 crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.BuildEssentials/1.0.0.0-prod create mode 100644 crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Markup/1.0.0.0-prod create mode 100644 pack.sh diff --git a/.onedev-buildspec.yml b/.onedev-buildspec.yml new file mode 100644 index 0000000..d817dd2 --- /dev/null +++ b/.onedev-buildspec.yml @@ -0,0 +1,34 @@ +version: 38 +jobs: +- name: Build for x86_64 + steps: + - !CheckoutStep + name: Checkout + cloneCredential: !DefaultCredential {} + withLfs: true + withSubmodules: true + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + - !BuildImageStep + name: Build docker image + output: !RegistryOutput + tags: onedev.site.tesses.net/crosslang/crosslangextras/crosslangextras:latest + registryLogins: + - registryUrl: '@server_url@' + userName: '@job_token@' + passwordSecret: dockersecret + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + triggers: + - !DependencyFinishedTrigger + projects: crosslang + - !BranchUpdateTrigger + branches: master + projects: crosslang/crosslangextras + projectDependencies: + - projectPath: crosslang + buildProvider: !LastFinishedBuild + jobName: Build for x86_64 + artifacts: -** + retryCondition: never + maxRetries: 3 + retryDelay: 30 + timeout: 14400 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a5ed747 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,3 @@ +FROM onedev.site.tesses.net/crosslang/crosslang:latest + +RUN mkdir /src && cd /src && git clone https://onedev.site.tesses.net/crosslang/crosslangextras . && bash ./install.sh && cp Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm /root/Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm && cd / && rm -r /src \ No newline at end of file diff --git a/Templates/compiletool/.crossarchiveignore b/Templates/compiletool/.crossarchiveignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/Templates/compiletool/.crossarchiveignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/Templates/compiletool/cross.json b/Templates/compiletool/cross.json new file mode 100644 index 0000000..88f03ed --- /dev/null +++ b/Templates/compiletool/cross.json @@ -0,0 +1,16 @@ +{ + "name": "Tesses.CrossLang.Template.CompileTool", + "version": "1.0.0.0-prod", + "info": { + "maintainer": "Mike Nolan", + "type": "template", + "repo": "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + "homepage": "https://crosslang.tesseslanguage.com/", + "license": "MIT", + "template_name": "compiletool", + "template_info": { + "type": "compile_tool" + }, + "template_ignored_files": ["bin","obj"] + } +} diff --git a/Templates/compiletool/src/main.tcross b/Templates/compiletool/src/main.tcross new file mode 100644 index 0000000..505ddd7 --- /dev/null +++ b/Templates/compiletool/src/main.tcross @@ -0,0 +1,11 @@ +func RunTool(cfg) +{ + //cfg.Project is the project Subdirfilesystem + //cfg.ProjectInfo is the info property parsed from the cross.json file in project root + cfg.GeneratedSource.Add({ + Source = "func times(a,b){return a * b;}", + FileName = "times.tcross" + }); + + //this runs with full access to vm so be careful when allowing these +} diff --git a/Templates/console/.crossarchiveignore b/Templates/console/.crossarchiveignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/Templates/console/.crossarchiveignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/Templates/console/cross.json b/Templates/console/cross.json new file mode 100644 index 0000000..cd43f35 --- /dev/null +++ b/Templates/console/cross.json @@ -0,0 +1,16 @@ +{ + "name": "Tesses.CrossLang.Template.Console", + "version": "1.0.0.0-prod", + "info": { + "maintainer": "Mike Nolan", + "type": "template", + "repo": "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + "homepage": "https://crosslang.tesseslanguage.com/", + "license": "MIT", + "template_name": "console", + "template_info": { + "type": "console" + }, + "template_ignored_files": ["bin","obj"] + } +} diff --git a/Templates/console/src/main.tcross b/Templates/console/src/main.tcross new file mode 100644 index 0000000..476358d --- /dev/null +++ b/Templates/console/src/main.tcross @@ -0,0 +1,4 @@ +func main(args) +{ + Console.WriteLine("Hello, world my name is: %PROJECT_NAME%"); +} \ No newline at end of file diff --git a/Templates/lib/.crossarchiveignore b/Templates/lib/.crossarchiveignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/Templates/lib/.crossarchiveignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/Templates/lib/cross.json b/Templates/lib/cross.json new file mode 100644 index 0000000..86caa3d --- /dev/null +++ b/Templates/lib/cross.json @@ -0,0 +1,16 @@ +{ + "name": "Tesses.CrossLang.Template.Library", + "version": "1.0.0.0-prod", + "info": { + "maintainer": "Mike Nolan", + "type": "template", + "repo": "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + "homepage": "https://crosslang.tesseslanguage.com/", + "license": "MIT", + "template_name": "lib", + "template_info": { + "type": "lib" + }, + "template_ignored_files": ["bin","obj"] + } +} diff --git a/Templates/lib/src/mylib.tcross b/Templates/lib/src/mylib.tcross new file mode 100644 index 0000000..0303f7e --- /dev/null +++ b/Templates/lib/src/mylib.tcross @@ -0,0 +1,5 @@ +/^ Multiply two numbers ^/ +func MyLib.Times(a,b) +{ + return a * b; +} diff --git a/Templates/template/.crossarchiveignore b/Templates/template/.crossarchiveignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/Templates/template/.crossarchiveignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/Templates/template/cross.json b/Templates/template/cross.json new file mode 100644 index 0000000..3459e70 --- /dev/null +++ b/Templates/template/cross.json @@ -0,0 +1,25 @@ +{ + "name": "Tesses.CrossLang.Template.Template", + "version": "1.0.0.0-prod", + "info": { + "maintainer": "Mike Nolan", + "type": "template", + "repo": "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + "homepage": "https://crosslang.tesseslanguage.com/", + "license": "MIT", + "template_name": "template", + "template_info": { + "type": "template", + "template_name": "mytemplate", + "template_project_dependencies": [], + "template_extra_text_ftles": [], + "template_info": { + "type": "console" + }, + "template_ignored_files": ["bin","obj"] + }, + "template_project_dependencies": [], + "template_extra_text_ftles": [], + "template_ignored_files": ["bin","obj"] + } +} diff --git a/Templates/template/src/main.tcross b/Templates/template/src/main.tcross new file mode 100644 index 0000000..a7e1684 --- /dev/null +++ b/Templates/template/src/main.tcross @@ -0,0 +1,4 @@ +func main(args) +{ + //USE the string %TEMPLATE_PROJECT_NAME% anywhere you want to replace with the project name +} diff --git a/Templates/web/.crossarchiveignore b/Templates/web/.crossarchiveignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/Templates/web/.crossarchiveignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/Templates/web/components/counter.tcrml b/Templates/web/components/counter.tcrml new file mode 100644 index 0000000..1b4fca4 --- /dev/null +++ b/Templates/web/components/counter.tcrml @@ -0,0 +1,3 @@ + +

Count is

+ \ No newline at end of file diff --git a/Templates/web/components/shell.tcrml b/Templates/web/components/shell.tcrml new file mode 100644 index 0000000..cc7c1ff --- /dev/null +++ b/Templates/web/components/shell.tcrml @@ -0,0 +1,36 @@ + + + + + + + + + %PROJECT_NAME% - <?expr Net.Http.HtmlEncode(title) ?> + + + +
+

%PROJECT_NAME%

+ +
+

+ + + + + + \ No newline at end of file diff --git a/Templates/web/cross.json b/Templates/web/cross.json new file mode 100644 index 0000000..da357bf --- /dev/null +++ b/Templates/web/cross.json @@ -0,0 +1,23 @@ +{ + "name": "Tesses.CrossLang.Template.Website", + "version": "1.0.0.0-prod", + "info": { + "maintainer": "Mike Nolan", + "type": "template", + "repo": "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + "homepage": "https://crosslang.tesseslanguage.com/", + "license": "MIT", + "template_name": "web", + "template_info": { + "type": "console" + }, + "template_project_dependencies": [ + { + "name": "Tesses.CrossLang.Markup", + "version": "1.0.0.0-prod" + } + ], + "template_extra_text_ftles": ["/components/shell.tcrml"], + "template_ignored_files": ["bin","obj"] + } +} diff --git a/Templates/web/pages/about.tcrml b/Templates/web/pages/about.tcrml new file mode 100644 index 0000000..a80bec2 --- /dev/null +++ b/Templates/web/pages/about.tcrml @@ -0,0 +1,28 @@ + + + + + + +

Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam possimus nisi ab nobis magni, error minus vero neque iusto beatae, quasi nostrum. Ut repudiandae expedita reprehenderit tenetur. Sunt, adipisci cumque!

+ + + diff --git a/Templates/web/pages/counter.tcrml b/Templates/web/pages/counter.tcrml new file mode 100644 index 0000000..3db6f57 --- /dev/null +++ b/Templates/web/pages/counter.tcrml @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/Templates/web/pages/index.tcrml b/Templates/web/pages/index.tcrml new file mode 100644 index 0000000..64a70c2 --- /dev/null +++ b/Templates/web/pages/index.tcrml @@ -0,0 +1,28 @@ + + + + + + +

1 John 4:4: You, dear children, are from God and have overcome them, because the one who is in you is greater than the one who is in the world.

+ + + diff --git a/Templates/web/res/favicon.ico b/Templates/web/res/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..3fd66aed3ac39aa76f8981b19628b487e76ca6f8 GIT binary patch literal 46215 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:2}body>header{background-color:var(--accent-bg);border-bottom:1px solid var(--border);text-align:center;grid-column:1/-1;padding:0 .5rem 2rem}body>header>:only-child{margin-block-start:2rem}body>header h1{max-width:1200px;margin:1rem auto}body>header p{max-width:40rem;margin:1rem auto}main{padding-top:1.5rem}body>footer{color:var(--text-light);text-align:center;border-top:1px solid var(--border);margin-top:4rem;padding:2rem 1rem 1.5rem;font-size:.9rem}h1{font-size:3rem}h2{margin-top:3rem;font-size:2.6rem}h3{margin-top:3rem;font-size:2rem}h4{font-size:1.44rem}h5{font-size:1.15rem}h6{font-size:.96rem}p{margin:1.5rem 0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3{line-height:1.1}@media only screen and (width<=720px){h1{font-size:2.5rem}h2{font-size:2.1rem}h3{font-size:1.75rem}h4{font-size:1.25rem}}a,a:visited{color:var(--accent)}a:hover{text-decoration:none}button,.button,a.button,input[type=submit],input[type=reset],input[type=button]{border:1px solid var(--accent);background-color:var(--accent);color:var(--accent-text);padding:.5rem .9rem;line-height:normal;text-decoration:none}.button[aria-disabled=true],input:disabled,textarea:disabled,select:disabled,button[disabled]{cursor:not-allowed;background-color:var(--disabled);border-color:var(--disabled);color:var(--text-light)}input[type=range]{padding:0}abbr[title]{cursor:help;text-decoration-line:underline;text-decoration-style:dotted}button:enabled:hover,.button:not([aria-disabled=true]):hover,input[type=submit]:enabled:hover,input[type=reset]:enabled:hover,input[type=button]:enabled:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);cursor:pointer}.button:focus-visible,button:focus-visible:where(:enabled),input:enabled:focus-visible:where([type=submit],[type=reset],[type=button]){outline:2px solid var(--accent);outline-offset:1px}header>nav{padding:1rem 0 0;font-size:1rem;line-height:2}header>nav ul,header>nav ol{flex-flow:wrap;place-content:space-around center;align-items:center;margin:0;padding:0;list-style-type:none;display:flex}header>nav ul li,header>nav ol li{display:inline-block}header>nav a,header>nav a:visited{border:1px solid var(--border);border-radius:var(--standard-border-radius);color:var(--text);margin:0 .5rem 1rem;padding:.1rem 1rem;text-decoration:none;display:inline-block}header>nav a:hover,header>nav a.current,header>nav a[aria-current=page],header>nav a[aria-current=true]{border-color:var(--accent);color:var(--accent);cursor:pointer}@media only screen and (width<=720px){header>nav a{border:none;padding:0;line-height:1;text-decoration:underline}}aside,details,pre,progress{background-color:var(--accent-bg);border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem}aside{float:right;width:30%;margin-inline-start:15px;padding:0 15px;font-size:1rem}[dir=rtl] aside{float:left}@media only screen and (width<=720px){aside{float:none;width:100%;margin-inline-start:0}}article,fieldset,dialog{border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem;padding:1rem}article h2:first-child,section h2:first-child,article h3:first-child,section h3:first-child{margin-top:1rem}section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:3rem 0;padding:2rem 1rem}section+section,section:first-child{border-top:0;padding-top:0}section+section{margin-top:0}section:last-child{border-bottom:0;padding-bottom:0}details{padding:.7rem 1rem}summary{cursor:pointer;word-break:break-all;margin:-.7rem -1rem;padding:.7rem 1rem;font-weight:700}details[open]>summary+*{margin-top:0}details[open]>summary{margin-bottom:.5rem}details[open]>:last-child{margin-bottom:0}table{border-collapse:collapse;margin:1.5rem 0}figure>table{width:max-content;margin:0}td,th{border:1px solid var(--border);text-align:start;padding:.5rem}th{background-color:var(--accent-bg);font-weight:700}tr:nth-child(2n){background-color:var(--accent-bg)}table caption{margin-bottom:.5rem;font-weight:700}textarea,select,input,button,.button{font-size:inherit;border-radius:var(--standard-border-radius);box-shadow:none;max-width:100%;margin-bottom:.5rem;padding:.5rem;font-family:inherit;display:inline-block}textarea,select,input{color:var(--text);background-color:var(--bg);border:1px solid var(--border)}label{display:block}textarea:not([cols]){width:100%}select:not([multiple]){background-image:linear-gradient(45deg,transparent 49%,var(--text)51%),linear-gradient(135deg,var(--text)51%,transparent 49%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-inline-end:25px}[dir=rtl] select:not([multiple]){background-position:10px,15px}input[type=checkbox],input[type=radio]{vertical-align:middle;width:min-content;position:relative}input[type=checkbox]+label,input[type=radio]+label{display:inline-block}input[type=radio]{border-radius:100%}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--accent)}input[type=checkbox]:checked:after{content:" ";border-right:solid var(--bg).08em;border-bottom:solid var(--bg).08em;background-color:#0000;border-radius:0;width:.18em;height:.32em;font-size:1.8em;position:absolute;top:.05em;left:.17em;transform:rotate(45deg)}input[type=radio]:checked:after{content:" ";background-color:var(--bg);border-radius:100%;width:.25em;height:.25em;font-size:32px;position:absolute;top:.125em;left:.125em}@media only screen and (width<=720px){textarea,select,input{width:100%}}input[type=color]{height:2.5rem;padding:.2rem}input[type=file]{border:0}hr{background:var(--border);border:none;height:1px;margin:1rem auto}mark{border-radius:var(--standard-border-radius);background-color:var(--marked);color:#000;padding:2px 5px}mark a{color:#0d47a1}img,video{border-radius:var(--standard-border-radius);max-width:100%;height:auto}figure{margin:0;display:block;overflow-x:auto}figure>img,figure>picture>img{margin-inline:auto;display:block}figcaption{text-align:center;color:var(--text-light);margin-block:1rem;font-size:.9rem}blockquote{border-inline-start:.35rem solid var(--accent);color:var(--text-light);margin-block:2rem;margin-inline:2rem 0;padding:.4rem .8rem;font-style:italic}cite{color:var(--text-light);font-size:.9rem;font-style:normal}dt{color:var(--text-light)}code,pre,pre span,kbd,samp{font-family:var(--mono-font);color:var(--code)}kbd{color:var(--preformatted);border:1px solid var(--preformatted);border-bottom:3px solid var(--preformatted);border-radius:var(--standard-border-radius);padding:.1rem .4rem}pre{max-width:100%;color:var(--preformatted);padding:1rem 1.4rem;overflow:auto}pre code{color:var(--preformatted);background:0 0;margin:0;padding:0}progress{width:100%}progress:indeterminate{background-color:var(--accent-bg)}progress::-webkit-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent-bg)}progress::-webkit-progress-value{border-radius:var(--standard-border-radius);background-color:var(--accent)}progress::-moz-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent);transition-property:width;transition-duration:.3s}progress:indeterminate::-moz-progress-bar{background-color:var(--accent-bg)}dialog{background-color:var(--bg);max-width:40rem;margin:auto}dialog::backdrop{background-color:var(--bg);opacity:.8}@media only screen and (width<=720px){dialog{max-width:100%;margin:auto 1em}}sup,sub{vertical-align:baseline;position:relative}sup{top:-.4em}sub{top:.3em}.notice{background:var(--accent-bg);border:2px solid var(--border);border-radius:var(--standard-border-radius);margin:2rem 0;padding:1.5rem}@media print{@page{margin:1cm}body{display:block}body>header{background-color:unset}body>header nav,body>footer{display:none}article{border:none;padding:0}a[href^=http]:after{content:" <" attr(href)">"}abbr[title]:after{content:" (" attr(title)")"}a{text-decoration:none}p{widows:3;orphans:3}hr{border-top:1px solid var(--border)}mark{border:1px solid var(--border)}pre,table,figure,img,svg{break-inside:avoid}pre code{white-space:pre-wrap}} \ No newline at end of file diff --git a/Templates/web/src/program.tcross b/Templates/web/src/program.tcross new file mode 100644 index 0000000..0669b7d --- /dev/null +++ b/Templates/web/src/program.tcross @@ -0,0 +1,5 @@ +var count = 0; +func main(args) +{ + Net.Http.ListenSimpleWithLoop(Router,4206); +} \ No newline at end of file diff --git a/Tesses.CrossLang.ExampleSite/components/counter.tcrml b/Tesses.CrossLang.ExampleSite/components/counter.tcrml new file mode 100644 index 0000000..1b4fca4 --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/components/counter.tcrml @@ -0,0 +1,3 @@ + +

Count is

+ \ No newline at end of file diff --git a/Tesses.CrossLang.ExampleSite/components/shell.tcrml b/Tesses.CrossLang.ExampleSite/components/shell.tcrml new file mode 100644 index 0000000..efcac6d --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/components/shell.tcrml @@ -0,0 +1,36 @@ + + + + + + + + + My Greater Website - <?expr Net.Http.HtmlEncode(title) ?> + + + +
+

My Greater Website

+ +
+

+ + + + + + \ No newline at end of file diff --git a/Tesses.CrossLang.ExampleSite/cross.json b/Tesses.CrossLang.ExampleSite/cross.json new file mode 100644 index 0000000..c91ba27 --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/cross.json @@ -0,0 +1,10 @@ +{ + "name": "Tesses.CrossLang.ExampleSite", + "version": "1.0.0.0-prod", + "project_dependencies": [ + "../Tesses.CrossLang.Markup" + ], + "info": { + "type": "console" + } +} \ No newline at end of file diff --git a/Tesses.CrossLang.ExampleSite/pages/about.tcrml b/Tesses.CrossLang.ExampleSite/pages/about.tcrml new file mode 100644 index 0000000..a80bec2 --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/pages/about.tcrml @@ -0,0 +1,28 @@ + + + + + + +

Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam possimus nisi ab nobis magni, error minus vero neque iusto beatae, quasi nostrum. Ut repudiandae expedita reprehenderit tenetur. Sunt, adipisci cumque!

+ + + diff --git a/Tesses.CrossLang.ExampleSite/pages/counter.tcrml b/Tesses.CrossLang.ExampleSite/pages/counter.tcrml new file mode 100644 index 0000000..3db6f57 --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/pages/counter.tcrml @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/Tesses.CrossLang.ExampleSite/pages/index.tcrml b/Tesses.CrossLang.ExampleSite/pages/index.tcrml new file mode 100644 index 0000000..64a70c2 --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/pages/index.tcrml @@ -0,0 +1,28 @@ + + + + + + +

1 John 4:4: You, dear children, are from God and have overcome them, because the one who is in you is greater than the one who is in the world.

+ + + diff --git a/Tesses.CrossLang.ExampleSite/res/favicon.ico b/Tesses.CrossLang.ExampleSite/res/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..3fd66aed3ac39aa76f8981b19628b487e76ca6f8 GIT binary patch literal 46215 zcmeFZ1zc2L*FU;v7+}bmp*vMjX;8XTK|(A*2^9e`KstmW1SCZf0|`OI1_VJGL=i!y zR0O0$z+mVRfw}vDsK0oA@B7@(eeeC>|Nq%KXUAIKwbov{&OT>z06+m8000kT3}D*` zz#PoU$gJj_X#k+#1b~pxYJL@QoF0RQF0#S4TT)Md?PY5_;01(Ur;Hf~BJB2x^(-GibzNyXzc*q-yr1m>If;wfGZ4soB8skBl< z7xk$b2;~}*!-9GpqRZL3-h1b>{o}(WKMFs@*YGy)TzIYE8E@y~n|S17rD}{|PK_z; z9TL=Xz`CL5EVI>H!<(STMO*BPiXq9mFiGvQcj{n!__6P2!wJ=}sI)LiH7X*O%&B8A zeK5Y~RV`^MGvW;PW={5-!#rCDY^DQ76wAiVjK(=2K3mu-AlGgtRsyc$|DP5bqxBFsf7%L z&&I~vX!win^oG3`*_U&EYx-A@CndL@$BVX|<(1US6OH!c?7YjzbT?QA*WG+Xifg#N9Tt0Qj%M($7RU@Y5q*2OUg2==Nzzr<`u(A0^# zCOeva(ewi(H9z0%P|WMAmuJws(A~hxAIDnE{I;0Bou}r_O#YLqry7+`0_kIna*2A| ztX?|^hsvD3)*RVgElO$K&vRe-;HJg2*8n!GVNA@EB|^+41_EPt0>QiK^x{`x{-(Lq zi|@*WxUQh}90EBg25DZp1jCckLnpqI8710Bn)D216MAW`g<4A!OiZ;Ra%5@^tu8$7 zk~}g$?}ItH`NQ?^~)y}p~ptmEfS2PS?<+{yDz zpL??9l!3R-x&w2C7?Uczc6yJ&<=Xkl3Uj5H++lGw^J_1}w7T~hw)Q#n1RYbeDWgf4 znbP^Z?49N#EUmIPKEAcHRJ%^iwtDft0)e|jrBMg7zT((0E?8CiP)(zJWP+)zh^Xhg zarFXXG-*<$=M2`i3H7=1PVSii_nwW!;tSg&rLFA@Ms6KqYjJFDExd`+_g@Hn7N@~Y zC^vD;@l|b7Rkt@ZJ>K)_c5aS<5pAqUob5H@tmAn6=vOL2&CJCQj!&D2eIom6V_qIF z`1pl@$ryI@9Nx&A*wNargVD@1+gAIL?6}Xy;lz!w>4&0;VA%1DI`d%+CDC#7f}x$g zzmJ~GfoyNV$!vd)D}&a7>#I|k0`L)aikS)3^%I?QF`Zw-@HGk-J5I;jMO28!KRan= z^kCR2UEZI?kY`U**0oM+QKcRfpFdTCQI+snd#2o4#bFuKx~Rr_o%)YFe$*xjQ-*%N zGYi5|eR)rCnk7!pva)VI>!NbMm`8V3(#pWwIYAyX-dE|iF4P(StrrkJ+m3oFl4Md1 z87nK4PU`A$K6*GFcB9?%@+{+9D$C;dduC3w8jOU`d)_B0l6*&!Y)9k53sk$)+Hk_Q zW+z_Mj;6ddTqk+-xoW0r#k;P^T81nAGy+`SF@15Otll*2`+9$SS z3MV~OSh8W13Cc;F>4dSEaNr;WnpCs~+#(B&lb1OY)x-&e(x$6;J+jrMC|J zO)sN_;yP}@zFjhX@7t-{)Dt?^o8z3^jrDxQnK1Y^-)j$EmwtVEjJ8q7%4(5X{K5-O zSrM!}x5hvLzg*`ny~R|{9hZpUp}|G*1JRTP@BLSf+|VsrPNSit3k;2OuOsAa@DN7( zj2w79-dpdb?KtrbYorvNn<#Zi;cRQRud^}7Th^;}cRf&TsNpjjEkPgMRlM7YuM4|0 zg5JsB9u915ifCYXDdKkBX{_kW9 z?2*Z76T&@z*-7-fkWm@S`>4a-MsHjUyd-tTx>%3&ZtDn$t2Qb8o*E#sY$}eCj*(VP zaPpm>5<0b8H1f#R-m2h6%JO_w)Yvk|>2bvi#*=nYUki>6c@3Ea>O9XO^FKCl+bK6u zoX{H+MB; z*5~Vbp7$yx`W3tD-qmbB=@l61@sI=M;|_RBfH&JqsVD8;dFzu)A_pJ0FC~?^x^*s{ zUX1!EfZZq`f7;-kz%5Rf>bktmXqlN$S3hQL1zvnQqG`8nM+$Eo-MqK^WVxi^vH3`C z<2X!M6=mndVEa?9$2oktp*Ak_0@v>;NcVvU(ip#UyNx;TY4BKzzD+#xR&o<AZWr88~ok!B+H9W$fyXs+D)qB9SU z^NxQ$Uvvle#m8FbXkC=21kD!gz6h*Tm{O|{^C=pP+g+_rE3hM1;-OBf?C}W67?%Rc zw0Q6OuRL1JeNURaPMOIcIlv&y_KGWvsema_W{=P0iw>EaZU9}${2^MuJAirjHQjr-!6jmdbcyk^2g5G_CdmWTWY4V~n3QQ_Bo4ayum8{fDL z^|7TUD-mieEz63z+chem*Iy;5`^l+zv1JzB95r)O=)y4u7G31oO0V3^{KD_c@pce z*^S-&)o(A0H1UVd?zh_BGF}~j^`3)#Mwy{l2BT#zO0V|aMB1U2nTX_%w`kb}#%@Iw z&Sr#&5?@Bks%7FCx18v{rAE`+k!7>FJW_~QVbGBLO2n=6sJwN~L%iu-jn=cAADQ;q zTfamd_LFZk5@733)p0h^A5#Z_F-W^9V(#B0`+Ni{e#l25Y zv|A{MpdX-o?RmzvdEH-$R;9IwSnrL{bj1+5ZgDK$OWV;8PO!V#kz2=|lhgDAzYtwm zS^B;lzvSFguXRtDXpEUnq%|;a1~VG!cLJqfu1hlBLZ9qY>tf5eho|7CEaTWjM({W`TiMor?sZUD)dP01G*=%Xw>7!Lt zQO~H~S_Jikw2M>ef@GmoW~Nsc%Oj37Kf9G!r|L!G;_p*#WCKA}{UIB#XYKLNWpzB~ z(yWbh#i33wv;#QhaI&ADC|xCh}$QCc~ zQ!Bv=Ws+kFEH1m!UcV5(A}g-Cz`b}x8;nIh$2;?Dv)p=Zn1v#k?isO)q^)A;n>6RX z=oDA06!!Txx>crpc8rwv^|+R_NVH1RK*@q*ro{6L!mOJ%^R@@GzF7c`r6QNCH`rW##+Jyoa9TfsYnw~iA_=Q~ZtT^lpiXvgdAu$k=m+5I;{ zAI)T+&lRoNqt?58q=NCPnHYce_I9ov+k=KD0b@33PCjm3Wx=cYHn&J$^lNTrxNDitjor(Rl`lqv z`S(rlQ}3sKPqXfuI_W`phh93Xor=lbwte3U6>Mg!F6J)ACB-DSWvcUOneDlo=GtT(9AQyHR@sI<5l_CB_Dp}l5cP-Awpg1=hqyg$qNF;Yc& zs#CLnq}p^H2TGnpVc&JW{#fbkN_k0InY69K5A<9;P38?O)XqarRbg{3g?!b%3szK*%?)Tdg$`V_4M>@F zanjKRm$0)z#RN+*;`a#u@Euqc)B1Q@S6LoEw?vK8U=OwZnel9kG@G7dEux4GSM3ZR zbd_U!(}~m-NBmo+2VB7(M;fWG+6=^Mp6a>hDpf&C=iw5}y5a5F{=GSmrjE4FesZX) zH~aXV=JADn>W7mOU!1hGA6dU)sSI0B9KE)cOaSHtU;Q=)mss^zS05Tw>!9X?3BX54h+fTLD!voIXV*M1obbcK+If5p-o~|*-<*zQyk9b424j!)_Rj^9>h;7=$UxclXAJWnSJ=(n(kris z9YS>v1D2xi8HKl+cl#cozhfCeMV_dlJeVJpJj&`RNc0>yC#gm7Pih~?*a&9Tt3qrz z_V@~eR1P$kSqi3-Q6cjr7o`)c729C&QM6@u>lt8=j5Bp1;^!@L(xu5Cd*`*g=l$F= z3S842Om&$VQ0B-$>%^2BwU_Znsj$eLuJD-q42F~seLLXk-&7@b*i(NO2RhGLnK)T^ zHs4JkmB%>DDVOp1q%<{(sI!FtK5^eCp8+N-!?{@VK`~0zVcPq8^=ot`4cNs-FP|pM zH9s?!H$9Dti*&mGc*ic$ePfM*vx*YZl42X~ zz8{>UzLaED9Dqu{p4zdnLu8E1qcyOpUR+=h2>vhxmi?ozjx1)x4<`?HZXhcEBWkU>RGn5fsZd@#%Wug zsY@&=$SVW-vBS&~1Oe>Hn=cb*qeLcb9@{Dg)SudNlX&rz_d1UmL&gyCZLxt7Q+=uo zqRgAjpR1qL+x|^yub;>5m(D^yWtI9eaEt zJacc z_Vj(!JvxDoPv>rSP`~HNSyHf)J06-*W9x6xa7v{4jYi*X#f$6_o zGl+a*nH)UZ6=3bQ0RtLSjwSEZ%Aj26&@sIZz5S<`d6U~+ zU&bc7ZKV}5O^t26>)9%^cu&QN(ICw;trYuxs}MttT%uO)O9Siil+U-GI}JJJ$V6G3 zjgUD*^>{Z?qqDos@?D{Q_=QQe>4wBtRN8Qv8Qov(Q<(6i!1j4@QqIzxx9`oD+Hnr_ zv_h#2vhUq!KCp`h8>BKSALx3`a!>Gj?fXdWaHZapTdcI>#)BtGwf9)j zwo7w8)WpLDGd;$x!YX$ecjOoykXJcQqf^+Km$-HLxK@$<4h!4ttTA~u-m^`i8It5+ zchIGWB_^WYrhq^?-lX|GbDq&@jz)$m&M7Ue=)gmQG-EZpr1_>|dtNG_W#z2*8d{n6 z5MwP(P+O@{G7k;-Zqa&Syfi%voji#R13Ex}+Lw`4_D;cr8JEHv2H5V)65D%ngWcby zMp+6Id*m&qHkCTxJal~QxT~{f^WoQ?Lg5}!=@>oxx(>gB=;s%lc&zWHD3SBy!aQRw zg@8*T_k__EWq!Pjbp77bV=rAaOU?3BxS|0ju#V^4M$2tEU-!t+ypYigPk-XXfgyQr zmfB=yf6jgS@bsfrJ#!;HMY^c= zv9YEVpNCE2OS{g$Gn`bLKL82`OnTl;V+&dOxZB1OxZbMFlG~Q!eLyR>Liv=R=hwGY zM71jqGpEj`3Y0Pq3nXuvID48?i@@mrJ;sHt9vi1It-??@rq{?AAI-VcBtvc94ivhC z7Gg%`g-Qt6XE8+io4n5oNZYjD6Ef=JHf<NwkPi6d?4lo)o&wpe-mixpiFvYk|u0xAdCrhu(R@_1g5Z zOP+<{lY2d7Qkw`_%(hMhuYHdePhifCF{*{4bhNX!Gy{8XkyG>J>raeja@&l?a`+HgScxl^i-3`w1<94QM2ND$uLmvEZr4o0WweLQ_ zT%yv`YL=@$)5>TF?!S?I{Dvj^b|IJhF(>(fmWYv_F_Or-`~5vruTHU$V#X9+Mh%bY z5t8br_|;R-zPW!vapC~jRnsApvhCB-rH#^4_Z&@jaa=h}pXX(J;*R5(LT6!{CtcRD zqgGZ+hA|%XF3fIhcgD$lS*u6k;k5mQGQN4ksSt$LxGkjtP5G*|l1d6p)Gdsr$F?@u1D{yf*ujmoN*J^0b$p^$^9Mj%UG zK+b_2mam)==KGp%7Q})&KWR=Tez)6Rs$o?40aGnw!#%vyQ-%%9@3@1K)gRre&3yj7 z9b7Ik)Z@Wd8B88=2P3IOTe4kzbn*`TlIwyaS-+tn+Q)Rq2SxOi9<1z%H$oK( zQ7j5nS+jE_t=5A6w%*w=2L2#sd(jEZOC1Mhr?jaZQHRC8jyD_d?0B6ohAJ=&y1_^& zZ_}?(y@RVZ;%0J*ZV#dM0K8Kxuza}u{?6l8wg82-G^s9fAJN=?VtfMXXe zQ_PMKfYFV6m5SOUSfSRzpDr1B@!2W+o*I+Sg(bbz&TgS6K0g}Kw=jx)r#TRaW&$N& zjVrc(uXBa-ZXpd(M9GlKl$*oU`1fHZ0`Kj8NhFEh6v&vo z&F+XAuyK4D4vfBEH+?W~a;BcK37ffP{8mIoVCZBCXQ;yCX2o&690t)?R(Er{Q<*jy zuou4ic7p1T?wH!4V{cCJBwL~m6RWhkH;J~+y;sxc>Y+CJE>Pj9g!LM{y0i&K|qC-qfnG zTy!XS3x+tJ%iivBM>}$xs-G_9s9$2dAa_Qr=b$M%lfCIPb`Q@)6(P%Ulx9fv4ApzS zV)4!HZw7=M!bbS11af$_+&7ll7L&YeyjV@EIMA@_mW1`Mv&FNf3g^YfUF#AgdX<+h ze{~enQtSmPM3!hBgQvxoqVBf=*XVOjWMw6bpV?C2uzN?8)r7 z_&ik;t6l1T!^J~PqToKbndNKflb~JRaM+Le>QzrpKej{f6rNew3#U6>r#@-LXg&Le z;WoogCnr_LUi!~z1%>sSh37_i`J=-8>Wy@zdP>@RCM^#_XNYRW;{pFT+4adx&U}*0HB5CkT(bZ~O2ab(D9^ zH>G0QyXfJKQp=J%sFW!&>X?GvgylJ7&E&mx0nUL%fl;Q^eQm~~TI%5vhTK3}uYxam z44bsI%>eLNKCE`I?Xj$~n4R>V$|$!~273~cQ@1NyU_a~A5d@rVCo-Z(W4Xwu2*kba z+}q>DRgWrs^5M7^u$~sLeK3*ynR#$HWGL>*US@H3{foxE|V)1Dr!#S|IAt#9pObw(!Q zIBAUgMk>n3&SLt5v5KPKD3mzD-PkETd60%Yg+~w{& z*&4katd0M0>jY!a{G|}R1ylQ@a2#pTR3s42e7I3d`XD&EDVMdESHl0mXs&y4-(EYB z(0Df~taOnrqh?X9je&aAdp05+gEKC*F{Cy`SqM+!>>dom^5$Cn6 zo05da^+e)ziKp1UooY=yKJcQb^~8fs zEtj-D)O+11*lRiAsb{H1|0>bnkcVSm)kePRqFO&}O&9Z$cJjJHoztq#ZE4oClEWKR zgA({ny1q2EJ?gT}<@(}jq#``t7oJ?pc`y3ZgAMN&wqE_R&K|oyRwp^&jV=f>edBVU z>Pk^}(U*W2w{x!@@CKvF=l3~BCW+|pBh=1YAR z={F7w-3G%}W6g^_3dp|V^8_cOJL728y?CD!ye+2}tG4#323b`&_iuE?wAUzi+FSco zw8h?24!*lT1}EOghSl06mgXpUBW%udvv%dZ3+|*3yyNrYpFwoP(0#(2Er)ZcOsqY} z`>yQGjIWJO=SCUzm!tf2=g~*Ez8UYMD-J4{RaZYLDyTlto-_hM!y=)K^~pnwI!*Ty z8(Q`?$%VlEDp*i>&)AO*Wk?FHyzO@3^hYvBHmt_O6NY*0l-it^{{5!@<2^NuN>)cz z<<5xnzV!>;SpCjdFg(98&9r&}&Sx!??5x@fnS+-GaM=oaco!{^#}<#|%H4K9ZO6xv z*svg(&)~c6r*vJq-~{o$?eX}NEo>LXU7nWFXrA}ypqJ--i0RuA zYrt(|Vo{oe`_jB?R#CY48Sbqm%~jui<})^XQR(pGV;8qIk@PHfPkw&8ch<`P z?Dk}Z&xeIs;)SRSJ)$g*9J2Lar#|{{ug?s(L(F%!s7lv-#R1N#50o6QNgaNQsr2rS z^E(OJZWk|?_Q`?ot_m{LXnbF?Skr(2OT3BLi6+hCPjkoCZ$7Y-Muc2RnS4E2@bNA> zDd1r*_4_cX;gocmf*GeV8JPp0bWXo0*-P228gxB+K0`RFTKSHQ%+@L8+aBG~Hk5Xq z(xkg2j=sY~0;;GCk8d-Cs+-05%p2ETF|EE4-lu4T_6hwF~G4t-pMTKW`*TtLW_1Jp8m2P0Y%espr zPh*(PIgYG!I{e)FFUvd+N5@Jdqq%Zwo}6}3n@Gy3?2k-(F7ck=%70(QfOlHVYf<%d zQr`OP4_3a7%-yH%E*Wq(ocq}7=UwdiuE@GB)c&d8hqU|3L9rS;N6&kgJX5-Uy*Bwj#okSTjrH}&GZviRA1 zZ9J3DTX#llm!*js5x=}5i>IG2FJqq~e^{`dzWd=WWxOznYNu~pUsL)7liD+m1A@0| z2ZqM>H@hZpLZ)lTp#dKh`K$;PkT6Mt-o=KL0QdJCXV}c!za^MpT3fx{1D0toQ0*m6~L>ph?>`QK5GnpDL|L+RzAsgEzXKe*f<59X5;t>B7N zvhp39;e3uCELBP`^Da~o|_Fjwg*BzfK zW+kp9k>iKiCWd(`%imimD91;I^uFP*&LAf%x9OYeJS{=!to#QQ3X+09_zx*UE7KwgazYx5bPWZB>Z zBv2?TQ6!=T`VI2KqF({21+*XPl@0z?N}(WDm7V7 zZwM>oLptkk;jf@S5C@4d0 zQZ9gHkg(d%5rQ(pwQ5Pq4{pS@KM@f0bGWP$RuL&>s;jb*LL~e|{BfNA(D7&PABeI) z$X=1NB8vBqvVReNj%Zi}+f8tFF6yIQjftq0co~3TWR8N3C5Xg*&njhBu^3zX{Va0E2ex&^HD`m~k ztA0n;86o)7g1`S4))@zA`ftHaxq$7rtU2t}1uQ=cP^u{@s$~~Ae-v0MmzA*+Aj_%@ zVO5yK65&WFz(WoTWtb|%&7{C_P{0AG5Nb(@G^q?38W#w>FbhW{j+BBVQt}}gq2Nem zNTTe*1z3pSNstVa1qdA`PeMF|rL4@mumm@A1?GOz3j|4!3IULg@FVyX1X-Yrh%YHw zkq`4Lbk#Cd+zcG2s?cOrXf>RUa3p9u3fcqtaS3EHg$x613FL_nvjCHp{zh=#p5Vdm_f=Eel&msG#pk9@%Czf93{}#zk-A6 zZ&aihMfHP7S=6LZNH_|mnrdZuF9M)R0svPHz#7XB&j0%nA`6j;$VR4$6*t&nSvCgX*5Gt(y&!l8={)11l5Yc>+9Rc;I3T4& zQFS#&+78JVKp(Ee&~r*iUO8V`(Op)#K(!cYhJX^~e0Rk#51210EB1ix2m6AeUl}40 znJy4b?rS~C1IhhqIIVPdq|5))4;gwth6Cll@i$itoIn2N>O<2>_IB>b$#(ST`hDxI zh-_1|g||2DZg@DpVY@c_4$kgY_T6DI9l}=owqJS``goFtcb8+$rekH>?lk1xD~;WC z`)H@8kd@XA@i^(|9irpL{^O1NzrHN@8F}f~6p+?L6VmS=L^}PIC?SpA-}(N%@571; z$$)@>RNIe3FD^VRE!|{eW5aN}iEe4|rb=5o=`J?J?1PEeL8hu`Jo(9vmmd}u7B1Kn zpLpS{z%w%)ubWp?v>_!WWs$#uOHtbLKx9?9_``*W`pH8g#S<}~PpkL3<3r2c+vM72 zEi@T}mv$sxvRj;M*Pv`4sz}f)n($&kQ55QNikn$wBkc6C4YfPuPDJ(ZC4`=G^N8Ip zySPcGPf+n07ej5X2qwr~J~mGYDZ(iV=kp=_i+uxP=LeyY+RKkesitKh@tm~OoR%6h zG^bsdgq@S`P~+al})behw;E*v5Y zVP1VmWvex07ry-J)eD(G1z}9vLruB}oTQH1x~?!M@@O>vFc*kOsJzG*dW<=_U$lrt z*M3=uTO(r6PV7qozFNbh>%*%*Xv+rf8&t*|VUFmpRY?#w3c@oAmQ1pR9!|g3FX|(p zBSRK*B$GCL#52yl;L<2>l*P1Y($yw>oI9OZwYd2UtY4YP-k|df+uxtJ#Aa3~)h0|_ zQWf!`T%F^RS~eOAyL&q~e1~#)#yqDZxmFnX2gIJX+Y^_-&7<#c2 zJF;BMsHu)Vr^p~|P7#hcNsA&0J7TRVN1&fjr1kn(o?zD6;=3CGPEaFhczD<}eXu3V z@YKT0*cCxBu*55ek=LvzeQ~9)c2*c)4+g7D3h+eV2yD$8X}QHfJW=i`V+|$v329mv zG_Z(b7)~<=f4Nrwh=DQK8Ixf$h%f(sz5eyr{w3wh6I*n!b?m-!O$?;?bODsOji4E3 z9FXFnN!9xl6abzNGAW*OM`U3(s0|)gieldhw9_tV5=bqWrQ0@uEW)SnDaT-biYV?tSU@vK0zUms|K^T9*NnHLi+t$!eY+7Fh~q&m7911>5d`qm05FPzs5ro7 z0PwshnOGpS6>ZOj(mIBzmO&HWV~GwJkWcux06S2ReJ2l&>za(ePF1Z4G|Vu*B$cgk z@y6Gl3f1XD7$MD9Rc0OHNH?w1j?*r{7cz?%hHoB!rp61Cv%pO=o_hJzwY}50Q2$eCQi2sH>|Dp4UxG?XLaqmGQk` z9AMN4Hw;0;)+W`Uw@>Qo>Mnfwa=fFfE9DcluZU43NV?sq8YEMhbNB9DvviO)E(-Y> zV?a`Ng3qGN;{E&gbGqzqEz{_n!=cS1xN316N0v}J_JSyq=1eL=FO+RO%2!e)841TEB2Kq*aPMuH37x@e_3UKUysQdP!chOv zizlS8*C;Gp39(wX5=@$-l90f~jH(ZN)=yhO3u`(_09_I|%_t72;HfS+*5E+ao&lKf zj9^T4^0f#-MuadE3ErO@B!$%=I=*7Htd((^MjXTpSL_~Jyx*r;IbAK#N|IR=@&o8J z?95ekURl{@V`Jk~jpxhDmDeW-Bx*L|NhsA2` zU60eOpUM!s$cIMD2u1|2`xKVG>mYV{Q8Cd>!#IF3H;w(<7|zn}tT)%P0;ibl?Wgz* z+vt-;R~Yt+$)Cj&eHM>MnH^;j7RODHzm#Z{Yzwc}jL6;lbepLNW?5$O8@t!T3-I=Y zE67JbZDyU$Il+kD^h~oL7U8^v{`rI$b8YNr2lAww>=7Z%7+j4Xi!(ttb1lPL4M{>M z8Qyk0Hrfu|$f(IL_3j#0+XpVPQr3pyS_%DKHP1fL2|L%3zVwUC#o|p4k-gnzMTIep znzZ}h)Nf}*)i%*``UtHLhl^QcjG9b>us!+Pz(KKAL+rcP{1JUlB2K2+%Cr&bno|A; z59sDih1T2T;=b!ula~4hcv}pyK^|nYFjvljGsOPywL4_$1}FrXz^cdG2D7ulm;-58 zuFBvKY=b-12r`TCc1=$9DJ!a08mG8XUKY}VN*-HX8Q+XCeqM&7G+f;Lu%zTgZ#E;m z6;x!dd6lB*sKCRt;KyBw`=BOPszE4xMmpWUL4|cQW|6m7?8HsW(`Sf2fxXKNs+x@= z?A6Z<;BEN7cwUc1NdG#}z)u}u838>#Jz!*HgkL>ihr3p;m4}jC$j2A>B>|8!1i;7* z05gAJX=w@E-Q9tgmlyE&_lF;8xD2;l_W_9i06=0N02hV;NE!y<>I493vjAj%2jIps zxP19CxO3+YfWr~IdGiMJ_4R?-*;(-Y`**Os3?B?RL-`Ts0Lab*ptcEsei9%|P=M?t z1z1c|fcq>3B+gSn{x=F}`M$ElTCJ0`FaYLo7vg3Dz_~*Jfh?sG zSWxPLJEaXIQa*ru$}nhwJ2kk``GJQYo-l{?bQ6Ji35bUurD)QE`0WsH1M%(<9|`fP z5dRS3UqF2CPdr*00E{^RG|+r3G@l-t&j8J5Cc%9lg$1ZnWPuIE0{B5Wmnn(h5hWkI zp|t$Ovq8LwIeZr227vlG08H`#u!49e5&*sw0*HqAYY_hc;;SLP72=0}!*76iEpzy- z4L1Nh&%tKM1K>8qKOq5VCjq>N_#TKKg!nOtpMdze-|*5KVD+_O^=)AFJz@3ZVfAmr z>es^ETPp!j-pc|?w*{aKxdY00BA}4+0cEb`r~T6KnVC6sotq5AYe4)Ch=;OBE)efW z0F-E1KuNU#lw5Z}sY!$~^8sbJwE!D+CI-DN6x`78LNrodTK?Dd0ms1$=7xg~viX;sJJu=Y@D-h~EJ5 z5)iLJpn!d{aO_x6K&(5Il}G_q`4rIE@(aH@2!6XVQ=!oq==}d)z+un~92^Y)O~eW} z4-6a(sQ+3AGa?(|Mgr79^^aCD)BeW&1M#nQ{Iq06_>T)>74Glqjc{|WGI7F55{4hS zzqRTQcC!OoES46qt?BuTul{5S8{GB?^Znvqsrj#Zz}8u_WK|+N;1?0$|DFFgUqPQR z{`BA~Kil8%uj#;`e))UN-oKNN(2#o2{qVvXFB1Q~e1yV5M~_5*3jazzWTXE({(mk1 z@A>~D|EI(M)}Q}>^ba@7uRvJs&xBtkEL=Zo{IkBlzt({_G{|`QJ*YwFv(EZ(f^{?b3b30)ED}o*1`1x@^efY!vpR+VF-~PcWcz2A1wLY`L4`u&a zoBphWosFH1jg9-4WB#)C{b9ZM#kZRJY00YI)hjdA-^|nqKji*p$sZ7ZtvSN|53BH> z>#;K9|MLp`yRZJ>liw}*J^fS1KU(rf1e$^UZ+-GR*Y9cQtKVAZcM80RBn!fAfCpvu zJv5A0-b;H>R^L;5{CMB*LFrq0-|s;o!uL3kACi&x{T^f_76cxBNK6Ynh)9eA9!Lbk z|28oZsST`G9}>fQuGM?Z4{Lt;=_kk_i1>BQk86JY>E~6y|M7kQKkrlN=-}png&%Nm zz!`@hPT-<$Ou_$>guir@$S#sRqU8Gw{Y0Iq)n zAZux5FIrq&493UD0emvMvX3BKhWpH$aGzNK@0DxdKC=n#GrQqF^V4tl$r5m*Wo-VR zeX84k_No8br~ZGrPo<%zhR+KARiL3}Vr69#{udlH!jOstroWT%le)t3XBj`Jcv=_; zf8qFv#Zj@bQQ;8!Z+85ova;eZoSc{+^dEMt*u0APGkrw{c8!L_f5amtSO(;}7XC_S z_&_+oA)1uv`Zutw+nOZWpF1(zTs&~tLqucqiw zzsYA|S`Cbde#Re}l}7n5{r}hYWnODdB*y-8|3G^3ZyY#)!JvNPfA;fV9LzZ8weI(m zij1aT96yx*f%+GYzfk|c@we2U9RHHK%JJv1`M=hAt$)5xkyq6O^s zn14QgThX#oPKQFCXi;-M5`aT_0C>X} zlTq-!?tk{%|9LO`pZCK5i@z6U!2Dr7!Z6}+jB6zfFvpBSF|U>&IUJ6eKwyFqW4jW21YDog4sXR;8zZr34hghQ4^j&fG>ip|BdMv;YBbA_P=qS zo&L?*d3Non1GDVUC*@5Bs$+Liv&wummOK-BH`Mr$_(9HY>dpfhH(%UKQeY^%XP@-B z4#Uv#=-dHC>+R?7H(xXtf8?2KBog(Oo3FLG$7bom%M`!)ZjXtjUXSIEl%?tehfj>W zI*kkJ^@&t_xFKqEY{a)hxhQ3DGBM#%7vIE|=c=zJugtR67QVYD4K7?gMUKI0Yhi>U zuGQMAQ$2W|UeV)~^;Fzy5(xSu(g0MCzu_nQtPcJX1V4H6N%8Vtb*`$|y> zwpvXG;S$H8>hDG)z+oZaw@Vqys@6oyNJa!>bow|^muYGzLhxi=Q0G9V!lN~@)iR91 z=w_8y@Y$WC%uRQt8NOqMPITd4(|3!octlnHe9th^^LU>=lLw2T^2>T4^AB z+4c*{o=h!*X}i4zFlquF8QbHq07VGxKS~E`bAfPki~xwR6V_?Adjn(w@u32l@T~M8 zUMFvV63pMz!!mDH2aJM8!~3r9q^c&#@(7Dd!~BK2%9v~nv0t=|N4F1QD7d>3V+$D^ z9z@`M89;5MYNBr6dPw-H&lutbxHO_!H)8fc-Qu?4_?P_fAiUdl=9>Mm0Gs<1Kg0}= zP>n9|C*mlM0Zh_?c0=ts_wDHHw$p1r05Xf*i&IzY1vLvRBJ9eArXm^M<%XNB54Rsj zNU(W*nQL}IK{Qw`E42vwV}Pqt7;V16Oqh!YL`(pbcuFMR8Jfl~3}p93WSoR_U5pS% z4E`QHsP#Fv8+`396N7*AkQG$d)01{h$^GD%A6lkDSvOAtFjj%P$gxG$ZJ?;AC^=0G ze0xa9FH$V`QBBQYH0318MR+Ya;meDG57=~!}K_|C&+H7 zdjlrmdzjz|McA2&)GOTkO0`lQZC~0i+7>y?`Vu`}AYl9&}z(^pTzzAug?W2IFDELMI zx|j@J)c@7q)c{3xUE#Yw!eUSsj13qftaQeosDP88R1FLM8#CA>Hi(fYGQ#yA~Ku~f4~;P#xi+_!Ic-+TLZ zS-@m?GiUDId+#~tyXT&J?|YB?4mCw2d=La5HfCupr+1OLhn7z&j7mz&-0=E=%E~E8 z^uhQ4K3P{+c<+Vyub!bNKaPzZpGtyj?@k+YZp7umh9I)pNFrlM%^EUhGAVvswG57} zk5*gZ*m|1Q60bI2(U})&$)QkkLPwUzkit;XFxe}HJ-scL{`AX5nVDCcN7Y_A_|}Ak zgoMfCkK>`&vG3M3|NfJVMr+QMBN^%7Xr}jRzkQF>!6xX7UUh3S`460|*BM8vi=$L= z6UpIFd2>9Vi|J<r#@;zGBcaf4<(Yp;d?qO3 zPU*7!F`YE(o$FISTIqZ0$hZepVG>eTfC(e;IvShacE+edH2&W5_viW>pdguE|*Ouf}RaQKhw}OOyr@I|$KHMkc#Qbvs);%{5ejQm9l0l#p7Qi(b zC$j&RmVTu2{?({WX@wWd7S74bGml+$2{>llEsVY1rz-JsQA_551ItSEkLHqdh7*ln zJ$7+@%c7K-M6I7wS3mg8Cy#B=!#sTT(}lJ#cafjwS`2Fa$&J;i%>mH{EgbF+AD&nK zhNf7r4%8Vh4bLwR?qf{R!MZRiBRp$V0tqt28Oh(jS#10AMb%W@Ukh}`h;eQ4zG9?=W%O6Yinj=`pr{ko1X3!eYUY*EQrtfVi!5J zC67#u%=%^osJ@j$8v28vi=bh%Mpd&duYT|~=)|fRy?OEZr&_kJg$iq^)->ShzDYxo zL$8keMQwHJ^ghPtSLkrdr(4cyieHRaRn_ub!;RD>74?T+7?jld$9qqn38_vRKAn^d zn_x~0&OY=8s8@w&h5Q`F_l7Uswg!UX`kQPk_ru3BT2*{Y{jVN@POD9}8|Mc=Cm(&k zK6U4P1V)0hS8A=%DOP>;Kk`ZB8vPhcV^a()tU0Q@q$u_25HMkNd6eq3K^qbG-dL?E zJS9$*x3q{9Owa|GY+2A3xMK)EmZUY!&b8`-ug9v30}cAT`D%6XOY00K8{FSCeLhGV zTs2N>nrE0`X*@ZJ{5n?$$I7Er`)0icr^?|zDSuFkrSXP=96Ja{+>1UWwg%uxf}5+d zY0zLi4Cw1Ys_Kdm)sSb`>*HEh!qD$G96T5KSlPliYczj0jJcj`{rYgt{;}KgvyUe3 z?Oh$)S2g6HxAX;;Molz{FK9b&%$d__)ES2-0s_q-693%){-COC&S?!P)g4(hV@^vv z-cE}LkBP>ruDT*XQ6bPh68H$^2=n%`0bK>c2R(>w4Nwz@dFnC>hw3RDs;6Yyatep_ z@#K0F5cch1>PI->Dd4aL1X1{405AjY?QPD)^#e{L2lQtBz`o*Gb=QTu5rf@NrUABf zH=QxN_5pvd`<9aFFdpbz-Q!o{ejX@Ijy>wY!t}VN?fBt?DGDD*afErV@iV!e{mM5#Ve(y5f8%HJrTwaj$n86fUuoJ|_?dp! z_3DWc%Jv<`?)rA+p5QZ z+-)M|Lp}cEZmS;uakoj2|0uUfclgf^_?$?JHbDe~WpMwllwO5XGVrV=djF4gO66cX z)Gg&ZSkBfTDePF@Zcpy{1D^pEk|=(Kyu1$7?I-*Yh=M}!3B?3KD){Fw%zML&y0||0 z5kK0~+lxIvdYdYK-t@wMe(3li01Ab`CyEJzo$&sHd2e`8m*4!S^ah2%F3PD-f9drH z>%5Uw0=hdof02JHM1E09g;%8UW1Uht*iH^R)+zCSxwTcS?qS=%#4yU0bv1tW{zMLw zH+5ZwpS?f9zv+1M{>oEdIvc<1`z!n3qTK&(B{g>x;)g&}+&vKP8<;KxgA{*Xz1J;+p1v9G>-d4i0&}Wp^nA>TxD46Jqhr9`bsb{Ez=d zA>0Fnz&{*e9)bfo>t}71;ZUZR$pl>k2M*+4+hJZ(KjV?cVV_6LpILjk)EE6so-2+i zY4&-<>XoD&(a+=~4%9s>SA5)9JF(Os`cW?G?$O_4e=#4EE9>z;@7F&udrHl}4Yw)j z2WzSng+;pShce0bCgQz=bLK6f8~D3j$unM%jswVms4f6o8z z-hbJBe0SY{*q<1@zW>r_G@K8hZ)0B6zl7uFdfy}dyrK-pwpP17@B>aSrdTG_$MVYb zx;{54!@+cjrM~IyI1c~l^&Us(==F@FYxGLv=-~4=wME(E|xh8MmQ!*dZx+&5#aT$r-{piP%bU#?SPi-4?93+kn+!%F7kl#~b-f7Rp|{&0zyp&Zo}yQH-DQqiiIGmzA^M!qgZ1 zLitQKro7w^+K0&(%67{CQ0#+tXs7kJV7^>%r*ZQf{t0=}Hpt7*8IZ^9!(?L$;|KvI zDFl>sBM2Hvk;Lkdhnp8{&Z8b)K8`8;M%%ahiPRY~DsiFjy3IRYKFDT$nDGvU;F%PH zWjd2Fg+ky|JGjn_<PAa};F}cF^ z*?H3u*qFz`>-%LKbT9N&%VnM<{`X4kf+PR zCwxDHd6XqB$DObIK7}BM91+NK{w5}e;S}n_vEKAw3PBDz!aRRJgLOhV8AqJ!m>uQv;osU!A%LWVUS936ALO0tur2mgh#&e3fh8#fl;jBlOHw3Z z8MfiaL&(3`Mj@ajh2WKTT41ISppqj9YRQ*l8v<>4{T&@Y8UKOcniPr0%f?seKlT~n z?!UNJqu(K69(kSl#O9N`9A$j2^U@(le%=vV)b3*{grid-column:2}body>header{background-color:var(--accent-bg);border-bottom:1px solid var(--border);text-align:center;grid-column:1/-1;padding:0 .5rem 2rem}body>header>:only-child{margin-block-start:2rem}body>header h1{max-width:1200px;margin:1rem auto}body>header p{max-width:40rem;margin:1rem auto}main{padding-top:1.5rem}body>footer{color:var(--text-light);text-align:center;border-top:1px solid var(--border);margin-top:4rem;padding:2rem 1rem 1.5rem;font-size:.9rem}h1{font-size:3rem}h2{margin-top:3rem;font-size:2.6rem}h3{margin-top:3rem;font-size:2rem}h4{font-size:1.44rem}h5{font-size:1.15rem}h6{font-size:.96rem}p{margin:1.5rem 0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3{line-height:1.1}@media only screen and (width<=720px){h1{font-size:2.5rem}h2{font-size:2.1rem}h3{font-size:1.75rem}h4{font-size:1.25rem}}a,a:visited{color:var(--accent)}a:hover{text-decoration:none}button,.button,a.button,input[type=submit],input[type=reset],input[type=button]{border:1px solid var(--accent);background-color:var(--accent);color:var(--accent-text);padding:.5rem .9rem;line-height:normal;text-decoration:none}.button[aria-disabled=true],input:disabled,textarea:disabled,select:disabled,button[disabled]{cursor:not-allowed;background-color:var(--disabled);border-color:var(--disabled);color:var(--text-light)}input[type=range]{padding:0}abbr[title]{cursor:help;text-decoration-line:underline;text-decoration-style:dotted}button:enabled:hover,.button:not([aria-disabled=true]):hover,input[type=submit]:enabled:hover,input[type=reset]:enabled:hover,input[type=button]:enabled:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);cursor:pointer}.button:focus-visible,button:focus-visible:where(:enabled),input:enabled:focus-visible:where([type=submit],[type=reset],[type=button]){outline:2px solid var(--accent);outline-offset:1px}header>nav{padding:1rem 0 0;font-size:1rem;line-height:2}header>nav ul,header>nav ol{flex-flow:wrap;place-content:space-around center;align-items:center;margin:0;padding:0;list-style-type:none;display:flex}header>nav ul li,header>nav ol li{display:inline-block}header>nav a,header>nav a:visited{border:1px solid var(--border);border-radius:var(--standard-border-radius);color:var(--text);margin:0 .5rem 1rem;padding:.1rem 1rem;text-decoration:none;display:inline-block}header>nav a:hover,header>nav a.current,header>nav a[aria-current=page],header>nav a[aria-current=true]{border-color:var(--accent);color:var(--accent);cursor:pointer}@media only screen and (width<=720px){header>nav a{border:none;padding:0;line-height:1;text-decoration:underline}}aside,details,pre,progress{background-color:var(--accent-bg);border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem}aside{float:right;width:30%;margin-inline-start:15px;padding:0 15px;font-size:1rem}[dir=rtl] aside{float:left}@media only screen and (width<=720px){aside{float:none;width:100%;margin-inline-start:0}}article,fieldset,dialog{border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem;padding:1rem}article h2:first-child,section h2:first-child,article h3:first-child,section h3:first-child{margin-top:1rem}section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:3rem 0;padding:2rem 1rem}section+section,section:first-child{border-top:0;padding-top:0}section+section{margin-top:0}section:last-child{border-bottom:0;padding-bottom:0}details{padding:.7rem 1rem}summary{cursor:pointer;word-break:break-all;margin:-.7rem -1rem;padding:.7rem 1rem;font-weight:700}details[open]>summary+*{margin-top:0}details[open]>summary{margin-bottom:.5rem}details[open]>:last-child{margin-bottom:0}table{border-collapse:collapse;margin:1.5rem 0}figure>table{width:max-content;margin:0}td,th{border:1px solid var(--border);text-align:start;padding:.5rem}th{background-color:var(--accent-bg);font-weight:700}tr:nth-child(2n){background-color:var(--accent-bg)}table caption{margin-bottom:.5rem;font-weight:700}textarea,select,input,button,.button{font-size:inherit;border-radius:var(--standard-border-radius);box-shadow:none;max-width:100%;margin-bottom:.5rem;padding:.5rem;font-family:inherit;display:inline-block}textarea,select,input{color:var(--text);background-color:var(--bg);border:1px solid var(--border)}label{display:block}textarea:not([cols]){width:100%}select:not([multiple]){background-image:linear-gradient(45deg,transparent 49%,var(--text)51%),linear-gradient(135deg,var(--text)51%,transparent 49%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-inline-end:25px}[dir=rtl] select:not([multiple]){background-position:10px,15px}input[type=checkbox],input[type=radio]{vertical-align:middle;width:min-content;position:relative}input[type=checkbox]+label,input[type=radio]+label{display:inline-block}input[type=radio]{border-radius:100%}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--accent)}input[type=checkbox]:checked:after{content:" ";border-right:solid var(--bg).08em;border-bottom:solid var(--bg).08em;background-color:#0000;border-radius:0;width:.18em;height:.32em;font-size:1.8em;position:absolute;top:.05em;left:.17em;transform:rotate(45deg)}input[type=radio]:checked:after{content:" ";background-color:var(--bg);border-radius:100%;width:.25em;height:.25em;font-size:32px;position:absolute;top:.125em;left:.125em}@media only screen and (width<=720px){textarea,select,input{width:100%}}input[type=color]{height:2.5rem;padding:.2rem}input[type=file]{border:0}hr{background:var(--border);border:none;height:1px;margin:1rem auto}mark{border-radius:var(--standard-border-radius);background-color:var(--marked);color:#000;padding:2px 5px}mark a{color:#0d47a1}img,video{border-radius:var(--standard-border-radius);max-width:100%;height:auto}figure{margin:0;display:block;overflow-x:auto}figure>img,figure>picture>img{margin-inline:auto;display:block}figcaption{text-align:center;color:var(--text-light);margin-block:1rem;font-size:.9rem}blockquote{border-inline-start:.35rem solid var(--accent);color:var(--text-light);margin-block:2rem;margin-inline:2rem 0;padding:.4rem .8rem;font-style:italic}cite{color:var(--text-light);font-size:.9rem;font-style:normal}dt{color:var(--text-light)}code,pre,pre span,kbd,samp{font-family:var(--mono-font);color:var(--code)}kbd{color:var(--preformatted);border:1px solid var(--preformatted);border-bottom:3px solid var(--preformatted);border-radius:var(--standard-border-radius);padding:.1rem .4rem}pre{max-width:100%;color:var(--preformatted);padding:1rem 1.4rem;overflow:auto}pre code{color:var(--preformatted);background:0 0;margin:0;padding:0}progress{width:100%}progress:indeterminate{background-color:var(--accent-bg)}progress::-webkit-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent-bg)}progress::-webkit-progress-value{border-radius:var(--standard-border-radius);background-color:var(--accent)}progress::-moz-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent);transition-property:width;transition-duration:.3s}progress:indeterminate::-moz-progress-bar{background-color:var(--accent-bg)}dialog{background-color:var(--bg);max-width:40rem;margin:auto}dialog::backdrop{background-color:var(--bg);opacity:.8}@media only screen and (width<=720px){dialog{max-width:100%;margin:auto 1em}}sup,sub{vertical-align:baseline;position:relative}sup{top:-.4em}sub{top:.3em}.notice{background:var(--accent-bg);border:2px solid var(--border);border-radius:var(--standard-border-radius);margin:2rem 0;padding:1.5rem}@media print{@page{margin:1cm}body{display:block}body>header{background-color:unset}body>header nav,body>footer{display:none}article{border:none;padding:0}a[href^=http]:after{content:" <" attr(href)">"}abbr[title]:after{content:" (" attr(title)")"}a{text-decoration:none}p{widows:3;orphans:3}hr{border-top:1px solid var(--border)}mark{border:1px solid var(--border)}pre,table,figure,img,svg{break-inside:avoid}pre code{white-space:pre-wrap}} \ No newline at end of file diff --git a/Tesses.CrossLang.ExampleSite/src/program.tcross b/Tesses.CrossLang.ExampleSite/src/program.tcross new file mode 100644 index 0000000..0669b7d --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/src/program.tcross @@ -0,0 +1,5 @@ +var count = 0; +func main(args) +{ + Net.Http.ListenSimpleWithLoop(Router,4206); +} \ No newline at end of file diff --git a/Tesses.CrossLang.PackageServer/components/counter.tcrml b/Tesses.CrossLang.PackageServer/components/counter.tcrml new file mode 100644 index 0000000..1b4fca4 --- /dev/null +++ b/Tesses.CrossLang.PackageServer/components/counter.tcrml @@ -0,0 +1,3 @@ + +

Count is

+ \ No newline at end of file diff --git a/Tesses.CrossLang.PackageServer/components/shell.tcrml b/Tesses.CrossLang.PackageServer/components/shell.tcrml new file mode 100644 index 0000000..06d0afc --- /dev/null +++ b/Tesses.CrossLang.PackageServer/components/shell.tcrml @@ -0,0 +1,36 @@ + + + + + + + + + Tesses.CrossLang.PackageServer - <?expr Net.Http.HtmlEncode(title) ?> + + + +
+

Tesses.CrossLang.PackageServer

+ +
+

+ + + + + + \ No newline at end of file diff --git a/Tesses.CrossLang.PackageServer/pages/about.tcrml b/Tesses.CrossLang.PackageServer/pages/about.tcrml new file mode 100644 index 0000000..a80bec2 --- /dev/null +++ b/Tesses.CrossLang.PackageServer/pages/about.tcrml @@ -0,0 +1,28 @@ + + + + + + +

Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam possimus nisi ab nobis magni, error minus vero neque iusto beatae, quasi nostrum. Ut repudiandae expedita reprehenderit tenetur. Sunt, adipisci cumque!

+ + + diff --git a/Tesses.CrossLang.PackageServer/pages/counter.tcrml b/Tesses.CrossLang.PackageServer/pages/counter.tcrml new file mode 100644 index 0000000..3db6f57 --- /dev/null +++ b/Tesses.CrossLang.PackageServer/pages/counter.tcrml @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/Tesses.CrossLang.PackageServer/res/favicon.ico b/Tesses.CrossLang.PackageServer/res/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3fd66aed3ac39aa76f8981b19628b487e76ca6f8 GIT binary patch literal 46215 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:2}body>header{background-color:var(--accent-bg);border-bottom:1px solid var(--border);text-align:center;grid-column:1/-1;padding:0 .5rem 2rem}body>header>:only-child{margin-block-start:2rem}body>header h1{max-width:1200px;margin:1rem auto}body>header p{max-width:40rem;margin:1rem auto}main{padding-top:1.5rem}body>footer{color:var(--text-light);text-align:center;border-top:1px solid var(--border);margin-top:4rem;padding:2rem 1rem 1.5rem;font-size:.9rem}h1{font-size:3rem}h2{margin-top:3rem;font-size:2.6rem}h3{margin-top:3rem;font-size:2rem}h4{font-size:1.44rem}h5{font-size:1.15rem}h6{font-size:.96rem}p{margin:1.5rem 0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3{line-height:1.1}@media only screen and (width<=720px){h1{font-size:2.5rem}h2{font-size:2.1rem}h3{font-size:1.75rem}h4{font-size:1.25rem}}a,a:visited{color:var(--accent)}a:hover{text-decoration:none}button,.button,a.button,input[type=submit],input[type=reset],input[type=button]{border:1px solid var(--accent);background-color:var(--accent);color:var(--accent-text);padding:.5rem .9rem;line-height:normal;text-decoration:none}.button[aria-disabled=true],input:disabled,textarea:disabled,select:disabled,button[disabled]{cursor:not-allowed;background-color:var(--disabled);border-color:var(--disabled);color:var(--text-light)}input[type=range]{padding:0}abbr[title]{cursor:help;text-decoration-line:underline;text-decoration-style:dotted}button:enabled:hover,.button:not([aria-disabled=true]):hover,input[type=submit]:enabled:hover,input[type=reset]:enabled:hover,input[type=button]:enabled:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);cursor:pointer}.button:focus-visible,button:focus-visible:where(:enabled),input:enabled:focus-visible:where([type=submit],[type=reset],[type=button]){outline:2px solid var(--accent);outline-offset:1px}header>nav{padding:1rem 0 0;font-size:1rem;line-height:2}header>nav ul,header>nav ol{flex-flow:wrap;place-content:space-around center;align-items:center;margin:0;padding:0;list-style-type:none;display:flex}header>nav ul li,header>nav ol li{display:inline-block}header>nav a,header>nav a:visited{border:1px solid var(--border);border-radius:var(--standard-border-radius);color:var(--text);margin:0 .5rem 1rem;padding:.1rem 1rem;text-decoration:none;display:inline-block}header>nav a:hover,header>nav a.current,header>nav a[aria-current=page],header>nav a[aria-current=true]{border-color:var(--accent);color:var(--accent);cursor:pointer}@media only screen and (width<=720px){header>nav a{border:none;padding:0;line-height:1;text-decoration:underline}}aside,details,pre,progress{background-color:var(--accent-bg);border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem}aside{float:right;width:30%;margin-inline-start:15px;padding:0 15px;font-size:1rem}[dir=rtl] aside{float:left}@media only screen and (width<=720px){aside{float:none;width:100%;margin-inline-start:0}}article,fieldset,dialog{border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem;padding:1rem}article h2:first-child,section h2:first-child,article h3:first-child,section h3:first-child{margin-top:1rem}section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:3rem 0;padding:2rem 1rem}section+section,section:first-child{border-top:0;padding-top:0}section+section{margin-top:0}section:last-child{border-bottom:0;padding-bottom:0}details{padding:.7rem 1rem}summary{cursor:pointer;word-break:break-all;margin:-.7rem -1rem;padding:.7rem 1rem;font-weight:700}details[open]>summary+*{margin-top:0}details[open]>summary{margin-bottom:.5rem}details[open]>:last-child{margin-bottom:0}table{border-collapse:collapse;margin:1.5rem 0}figure>table{width:max-content;margin:0}td,th{border:1px solid var(--border);text-align:start;padding:.5rem}th{background-color:var(--accent-bg);font-weight:700}tr:nth-child(2n){background-color:var(--accent-bg)}table caption{margin-bottom:.5rem;font-weight:700}textarea,select,input,button,.button{font-size:inherit;border-radius:var(--standard-border-radius);box-shadow:none;max-width:100%;margin-bottom:.5rem;padding:.5rem;font-family:inherit;display:inline-block}textarea,select,input{color:var(--text);background-color:var(--bg);border:1px solid var(--border)}label{display:block}textarea:not([cols]){width:100%}select:not([multiple]){background-image:linear-gradient(45deg,transparent 49%,var(--text)51%),linear-gradient(135deg,var(--text)51%,transparent 49%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-inline-end:25px}[dir=rtl] select:not([multiple]){background-position:10px,15px}input[type=checkbox],input[type=radio]{vertical-align:middle;width:min-content;position:relative}input[type=checkbox]+label,input[type=radio]+label{display:inline-block}input[type=radio]{border-radius:100%}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--accent)}input[type=checkbox]:checked:after{content:" ";border-right:solid var(--bg).08em;border-bottom:solid var(--bg).08em;background-color:#0000;border-radius:0;width:.18em;height:.32em;font-size:1.8em;position:absolute;top:.05em;left:.17em;transform:rotate(45deg)}input[type=radio]:checked:after{content:" ";background-color:var(--bg);border-radius:100%;width:.25em;height:.25em;font-size:32px;position:absolute;top:.125em;left:.125em}@media only screen and (width<=720px){textarea,select,input{width:100%}}input[type=color]{height:2.5rem;padding:.2rem}input[type=file]{border:0}hr{background:var(--border);border:none;height:1px;margin:1rem auto}mark{border-radius:var(--standard-border-radius);background-color:var(--marked);color:#000;padding:2px 5px}mark a{color:#0d47a1}img,video{border-radius:var(--standard-border-radius);max-width:100%;height:auto}figure{margin:0;display:block;overflow-x:auto}figure>img,figure>picture>img{margin-inline:auto;display:block}figcaption{text-align:center;color:var(--text-light);margin-block:1rem;font-size:.9rem}blockquote{border-inline-start:.35rem solid var(--accent);color:var(--text-light);margin-block:2rem;margin-inline:2rem 0;padding:.4rem .8rem;font-style:italic}cite{color:var(--text-light);font-size:.9rem;font-style:normal}dt{color:var(--text-light)}code,pre,pre span,kbd,samp{font-family:var(--mono-font);color:var(--code)}kbd{color:var(--preformatted);border:1px solid var(--preformatted);border-bottom:3px solid var(--preformatted);border-radius:var(--standard-border-radius);padding:.1rem .4rem}pre{max-width:100%;color:var(--preformatted);padding:1rem 1.4rem;overflow:auto}pre code{color:var(--preformatted);background:0 0;margin:0;padding:0}progress{width:100%}progress:indeterminate{background-color:var(--accent-bg)}progress::-webkit-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent-bg)}progress::-webkit-progress-value{border-radius:var(--standard-border-radius);background-color:var(--accent)}progress::-moz-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent);transition-property:width;transition-duration:.3s}progress:indeterminate::-moz-progress-bar{background-color:var(--accent-bg)}dialog{background-color:var(--bg);max-width:40rem;margin:auto}dialog::backdrop{background-color:var(--bg);opacity:.8}@media only screen and (width<=720px){dialog{max-width:100%;margin:auto 1em}}sup,sub{vertical-align:baseline;position:relative}sup{top:-.4em}sub{top:.3em}.notice{background:var(--accent-bg);border:2px solid var(--border);border-radius:var(--standard-border-radius);margin:2rem 0;padding:1.5rem}@media print{@page{margin:1cm}body{display:block}body>header{background-color:unset}body>header nav,body>footer{display:none}article{border:none;padding:0}a[href^=http]:after{content:" <" attr(href)">"}abbr[title]:after{content:" (" attr(title)")"}a{text-decoration:none}p{widows:3;orphans:3}hr{border-top:1px solid var(--border)}mark{border:1px solid var(--border)}pre,table,figure,img,svg{break-inside:avoid}pre code{white-space:pre-wrap}} \ No newline at end of file diff --git a/Tesses.CrossLang.RpcServer/cross.json b/Tesses.CrossLang.RpcServer/cross.json new file mode 100644 index 0000000..41d3dbe --- /dev/null +++ b/Tesses.CrossLang.RpcServer/cross.json @@ -0,0 +1,7 @@ +{ + "info": { + "type": "console" + }, + "version": "1.0.0.0-prod", + "name": "Tesses.CrossLang.RpcServer" +} \ No newline at end of file diff --git a/Tesses.CrossLang.RpcServer/src/main.tcross b/Tesses.CrossLang.RpcServer/src/main.tcross new file mode 100644 index 0000000..626b123 --- /dev/null +++ b/Tesses.CrossLang.RpcServer/src/main.tcross @@ -0,0 +1,4 @@ +func main(args) +{ + Net.Http.ListenSimpleWithLoop(Router,4206); +} \ No newline at end of file diff --git a/crosslang_shell_archive_maker/cross.json b/crosslang_shell_archive_maker/cross.json new file mode 100644 index 0000000..c65b958 --- /dev/null +++ b/crosslang_shell_archive_maker/cross.json @@ -0,0 +1,7 @@ +{ + "info": { + "type": "console" + }, + "version": "1.0.0.0-prod", + "name": "crosslang_shell_archive_maker" +} \ No newline at end of file diff --git a/crosslang_shell_archive_maker/src/main.tcross b/crosslang_shell_archive_maker/src/main.tcross new file mode 100644 index 0000000..161291b --- /dev/null +++ b/crosslang_shell_archive_maker/src/main.tcross @@ -0,0 +1,80 @@ + +var name = "Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm"; +func main(args) +{ + create_archive(); + if(args.Count > 1 && args[1] == "install") + { + install(); + } +} + +func install() +{ + var d = FS.MakeFull(Env.Config) / "Tesses" / "CrossLang"; + FS.Local.CreateDirectory(d); + var sdfs = FS.SubdirFilesystem(FS.Local, d); + var strm = FS.Local.OpenFile(name,"rb"); + FS.ExtractArchive(strm, sdfs); + sdfs.Close(); + strm.Close(); +} + +func create_archive() +{ + + var tmpFS = FS.SubdirFilesystem(FS.Local,"crosslang_shell_archive_maker/tmp"); + func copyFile(src,dest) + { + if(!FS.Local.FileExists(src)) return; + var srcF = FS.Local.OpenFile(src,"rb"); + var destF = tmpFS.OpenFile(dest,"wb"); + srcF.CopyTo(destF); + srcF.Close(); + destF.Close(); + } + + var r = Path.Root(); + + var shell = r / "Shell"; + + + tmpFS.CreateDirectory(shell); + + copyFile("Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Args-1.0.0.0-prod.crvm", shell / "Tesses.CrossLang.Args-1.0.0.0-prod.crvm"); + copyFile("Tesses.CrossLang.Shell/bin/Tesses.CrossLang.BuildEssentials-1.0.0.0-prod.crvm", shell / "Tesses.CrossLang.BuildEssentials-1.0.0.0-prod.crvm"); + copyFile("Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-prod.crvm", shell / "Shell.crvm"); + + var templates = r / "Templates"; + tmpFS.CreateDirectory(templates); + copyFile("Templates/compiletool/bin/Tesses.CrossLang.Template.CompileTool-1.0.0.0-prod.crvm", templates / "compiletool.crvm"); + copyFile("Templates/console/bin/Tesses.CrossLang.Template.Console-1.0.0.0-prod.crvm", templates / "console.crvm"); + copyFile("Templates/lib/bin/Tesses.CrossLang.Template.Library-1.0.0.0-prod.crvm", templates / "lib.crvm"); + copyFile("Templates/template/bin/Tesses.CrossLang.Template.Template-1.0.0.0-prod.crvm", templates / "template.crvm"); + copyFile("Templates/web/bin/Tesses.CrossLang.Template.Website-1.0.0.0-prod.crvm", templates / "web.crvm"); + var packageCache = r / "PackageCache"; + + tmpFS.CreateDirectory(packageCache); + tmpFS.CreateDirectory(packageCache / "Tesses.CrossLang.Args"); + tmpFS.CreateDirectory(packageCache / "Tesses.CrossLang.BuildEssentials"); + tmpFS.CreateDirectory(packageCache / "Tesses.CrossLang.Markup"); + copyFile("Tesses.CrossLang.Args/bin/Tesses.CrossLang.Args-1.0.0.0-prod.crvm", packageCache / "Tesses.CrossLang.Args" / "1.0.0.0-prod"); + copyFile("Tesses.CrossLang.BuildEssentials/bin/Tesses.CrossLang.BuildEssentials-1.0.0.0-prod.crvm", packageCache / "Tesses.CrossLang.BuildEssentials" / "1.0.0.0-prod"); + copyFile("Tesses.CrossLang.Markup/bin/Tesses.CrossLang.Markup-1.0.0.0-prod.crvm", packageCache / "Tesses.CrossLang.Markup" / "1.0.0.0-prod"); + + var installer = FS.Local.OpenFile(name, "wb"); + + var ifo = { + type = "archive", + maintainer = "Mike Nolan", + repo = "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + homepage = "https://crosslang.tesseslanguage.com/" + }; + + FS.CreateArchive(tmpFS,installer, "Tesses.CrossLang.ShellPackage","1.0.0.0-prod", Json.Encode(ifo)); + + installer.Close(); + tmpFS.Close(); + + FS.Local.DeleteDirectroyRecurse("crosslang_shell_archive_maker/tmp"); +} diff --git a/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Args/1.0.0.0-prod b/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Args/1.0.0.0-prod new file mode 100644 index 0000000000000000000000000000000000000000..b7c1523bf0d411c2b5d068ccf74cdc3bba46eb96 GIT binary patch literal 1459 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 VeKpn7G^x#Wq2fzyMoDM#{{V2QO;rE@ literal 0 HcmV?d00001 diff --git a/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Markup/1.0.0.0-prod b/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Markup/1.0.0.0-prod new file mode 100644 index 0000000000000000000000000000000000000000..2bd97f3d03567e2d4fea9007408f40e50c8124ae GIT binary patch literal 16779 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 r_tycwAHuq$