1.1--- a/Containerfile.vc Fri Apr 26 22:43:22 2024 +0000
1.2+++ b/Containerfile.vc Mon Apr 29 22:26:53 2024 -0400
1.3@@ -1,3 +1,4 @@
1.4 FROM octobus/heptapod:latest
1.5 RUN gitlab-ctl upgrade
1.6-COPY etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb
1.7\ No newline at end of file
1.8+# TODO: configure instance here, pull from comp/etc
1.9+# COPY etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb
1.10\ No newline at end of file
2.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2+++ b/bootstrap.lisp Mon Apr 29 22:26:53 2024 -0400
2.3@@ -0,0 +1,34 @@
2.4+;;; bootstrap.lisp --- let 'er rip
2.5+
2.6+;;
2.7+
2.8+;;; Code:
2.9+(in-package :std-user)
2.10+
2.11+(defpkg :infra/bootstrap
2.12+ (:use :cl :skel :log :std/named-readtables
2.13+ :dat/json :dat/sxp :net/fetch :net/util
2.14+ :cli/progress :cli/ansi :cli/ed :cli/prompt
2.15+ :cli/shell :std/hash-table :std/alien))
2.16+(in-package :infra/bootstrap)
2.17+(in-readtable :shell)
2.18+(eval-when (:compile-toplevel)
2.19+ (defstruct host name cpus mem os kernel core)
2.20+ (defparameter *config-file* #P"config.sxp")
2.21+ (defparameter *build-config* (read-sxp-file *config-file*))
2.22+ (defparameter *host-config* (make-host :name (sb-unix:unix-gethostname) :cpus (num-cpus) :mem #+nil (mem-total) 15815828
2.23+ :os "archlinux" :kernel "linux" :core sb-ext:*core-pathname*))
2.24+ (defparameter *env* (let ((table (make-hash-table :test 'equal))
2.25+ (keys (list "CC" "AR" "STASH" "STORE" "DIST" "PACKY_URL" "VC_URL" "PREFIX")))
2.26+ (dolist (k keys table)
2.27+ (setf (gethash k table) (sb-posix:getenv k))))))
2.28+
2.29+(info! "starting bootstrap.lisp")
2.30+(debug! "host:" sb-sys::*machine-version*)
2.31+(trace! "env:" (hash-table-alist *env*))
2.32+
2.33+;; build-config
2.34+(defun apply-build-config ()
2.35+ (setf *log-level* :trace))
2.36+
2.37+;; host-config
3.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2+++ b/bootstrap.sh Mon Apr 29 22:26:53 2024 -0400
3.3@@ -0,0 +1,1 @@
3.4+#!/bin/sh
4.1--- a/cdn/media/alien.svg Fri Apr 26 22:43:22 2024 +0000
4.2+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
4.3@@ -1,495 +0,0 @@
4.4-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
4.5-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4.6-<svg
4.7- xmlns:dc="http://purl.org/dc/elements/1.1/"
4.8- xmlns:cc="http://web.resource.org/cc/"
4.9- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
4.10- xmlns:svg="http://www.w3.org/2000/svg"
4.11- xmlns="http://www.w3.org/2000/svg"
4.12- xmlns:xlink="http://www.w3.org/1999/xlink"
4.13- xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
4.14- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
4.15- width="744.09448819"
4.16- height="1052.3622047"
4.17- id="svg2"
4.18- sodipodi:version="0.32"
4.19- inkscape:version="0.42"
4.20- sodipodi:docbase="C:\home\logo_page"
4.21- sodipodi:docname="lisplogo_alien.svg"
4.22- inkscape:export-filename="C:\home\lisplogo_alien.png"
4.23- inkscape:export-xdpi="258.45999"
4.24- inkscape:export-ydpi="258.45999">
4.25- <defs
4.26- id="defs4">
4.27- <linearGradient
4.28- id="linearGradient8707">
4.29- <stop
4.30- style="stop-color:#8de17a;stop-opacity:1.0000000;"
4.31- offset="0.00000000"
4.32- id="stop8709" />
4.33- <stop
4.34- style="stop-color:#a3f590;stop-opacity:1.0000000;"
4.35- offset="1.0000000"
4.36- id="stop8711" />
4.37- </linearGradient>
4.38- <linearGradient
4.39- id="linearGradient7973">
4.40- <stop
4.41- id="stop7975"
4.42- offset="0.00000000"
4.43- style="stop-color:#71bc60;stop-opacity:1.0000000;" />
4.44- <stop
4.45- id="stop7977"
4.46- offset="1.0000000"
4.47- style="stop-color:#77ce64;stop-opacity:0.42352942;" />
4.48- </linearGradient>
4.49- <linearGradient
4.50- id="linearGradient6509">
4.51- <stop
4.52- style="stop-color:#7a73de;stop-opacity:1.0000000;"
4.53- offset="0.00000000"
4.54- id="stop6511" />
4.55- <stop
4.56- id="stop6517"
4.57- offset="0.50000000"
4.58- style="stop-color:#a2c8e9;stop-opacity:0.98039216;" />
4.59- <stop
4.60- style="stop-color:#7a73de;stop-opacity:1.0000000;"
4.61- offset="1.0000000"
4.62- id="stop6513" />
4.63- </linearGradient>
4.64- <linearGradient
4.65- id="linearGradient5773">
4.66- <stop
4.67- style="stop-color:#000000;stop-opacity:0.00000000;"
4.68- offset="0.00000000"
4.69- id="stop5775" />
4.70- <stop
4.71- id="stop5781"
4.72- offset="0.50000000"
4.73- style="stop-color:#616161;stop-opacity:1.0000000;" />
4.74- <stop
4.75- style="stop-color:#000000;stop-opacity:0;"
4.76- offset="1"
4.77- id="stop5777" />
4.78- </linearGradient>
4.79- <linearGradient
4.80- id="linearGradient5037">
4.81- <stop
4.82- id="stop5039"
4.83- offset="0.00000000"
4.84- style="stop-color:#d6d1f9;stop-opacity:1.0000000;" />
4.85- <stop
4.86- id="stop5041"
4.87- offset="1.0000000"
4.88- style="stop-color:#9687fa;stop-opacity:1.0000000;" />
4.89- </linearGradient>
4.90- <linearGradient
4.91- id="linearGradient4303">
4.92- <stop
4.93- style="stop-color:#d6d1f9;stop-opacity:1.0000000;"
4.94- offset="0.00000000"
4.95- id="stop4305" />
4.96- <stop
4.97- style="stop-color:#9687fa;stop-opacity:1.0000000;"
4.98- offset="1.0000000"
4.99- id="stop4307" />
4.100- </linearGradient>
4.101- <linearGradient
4.102- id="linearGradient2115">
4.103- <stop
4.104- style="stop-color:#d2f1cb;stop-opacity:1.0000000;"
4.105- offset="0.00000000"
4.106- id="stop2117" />
4.107- <stop
4.108- style="stop-color:#cdf9c3;stop-opacity:0.42268041;"
4.109- offset="1.0000000"
4.110- id="stop2119" />
4.111- </linearGradient>
4.112- <linearGradient
4.113- inkscape:collect="always"
4.114- xlink:href="#linearGradient2115"
4.115- id="linearGradient2121"
4.116- x1="272.79681"
4.117- y1="476.64795"
4.118- x2="254.12024"
4.119- y2="535.94427"
4.120- gradientUnits="userSpaceOnUse" />
4.121- <radialGradient
4.122- inkscape:collect="always"
4.123- xlink:href="#linearGradient4303"
4.124- id="radialGradient4309"
4.125- cx="300.83069"
4.126- cy="447.85394"
4.127- fx="300.83069"
4.128- fy="447.85394"
4.129- r="78.713470"
4.130- gradientTransform="matrix(1.000000,0.000000,0.000000,0.960976,0.000000,15.90946)"
4.131- gradientUnits="userSpaceOnUse" />
4.132- <linearGradient
4.133- inkscape:collect="always"
4.134- xlink:href="#linearGradient5037"
4.135- id="linearGradient5045"
4.136- x1="225.84930"
4.137- y1="641.64783"
4.138- x2="253.46617"
4.139- y2="543.98328"
4.140- gradientUnits="userSpaceOnUse" />
4.141- <linearGradient
4.142- inkscape:collect="always"
4.143- xlink:href="#linearGradient5773"
4.144- id="linearGradient5779"
4.145- x1="80.912460"
4.146- y1="670.96942"
4.147- x2="301.00812"
4.148- y2="670.96942"
4.149- gradientUnits="userSpaceOnUse" />
4.150- <linearGradient
4.151- inkscape:collect="always"
4.152- xlink:href="#linearGradient6509"
4.153- id="linearGradient6515"
4.154- x1="456.66621"
4.155- y1="428.55343"
4.156- x2="579.09352"
4.157- y2="428.55343"
4.158- gradientUnits="userSpaceOnUse" />
4.159- <linearGradient
4.160- inkscape:collect="always"
4.161- xlink:href="#linearGradient7973"
4.162- id="linearGradient7979"
4.163- gradientUnits="userSpaceOnUse"
4.164- x1="209.93025"
4.165- y1="609.15863"
4.166- x2="272.07062"
4.167- y2="554.45270" />
4.168- <linearGradient
4.169- inkscape:collect="always"
4.170- xlink:href="#linearGradient8707"
4.171- id="linearGradient8713"
4.172- x1="202.42282"
4.173- y1="630.79425"
4.174- x2="201.15987"
4.175- y2="501.72241"
4.176- gradientUnits="userSpaceOnUse" />
4.177- </defs>
4.178- <sodipodi:namedview
4.179- id="base"
4.180- pagecolor="#ffffff"
4.181- bordercolor="#666666"
4.182- borderopacity="1.0"
4.183- inkscape:pageopacity="0.0"
4.184- inkscape:pageshadow="2"
4.185- inkscape:zoom="1.8321488"
4.186- inkscape:cx="280.98857"
4.187- inkscape:cy="458.91807"
4.188- inkscape:document-units="px"
4.189- inkscape:current-layer="layer1"
4.190- inkscape:window-width="759"
4.191- inkscape:window-height="779"
4.192- inkscape:window-x="1"
4.193- inkscape:window-y="0" />
4.194- <metadata
4.195- id="metadata7">
4.196- <rdf:RDF>
4.197- <cc:Work
4.198- rdf:about="">
4.199- <dc:format>image/svg+xml</dc:format>
4.200- <dc:type
4.201- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
4.202- </cc:Work>
4.203- </rdf:RDF>
4.204- </metadata>
4.205- <g
4.206- inkscape:label="Layer 1"
4.207- inkscape:groupmode="layer"
4.208- id="layer1">
4.209- <path
4.210- style="fill:url(#linearGradient5779);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:0.16666667"
4.211- d="M 67.144386,666.93597 C 74.120426,681.02585 87.234595,682.74658 102.89660,679.43686 C 111.72000,677.57228 140.39281,675.65602 160.44893,683.50406 C 180.50504,691.35211 204.88673,682.15623 233.66290,680.41222 C 262.43906,678.66821 271.19356,686.99208 290.37767,677.40003 C 309.56178,667.80797 354.03404,665.19196 329.61790,656.47191 C 305.20176,647.75186 219.74527,649.49587 187.48108,653.85589 C 155.21690,658.21592 83.712481,637.28780 71.504411,642.51983 C 58.555797,648.06924 64.528371,654.72790 67.144386,666.93597 z "
4.212- id="path2123"
4.213- sodipodi:nodetypes="csssssszc" />
4.214- <path
4.215- style="fill:#8ed97d;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#3e7e42;stroke-width:2.9830000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
4.216- d="M 142.76766,550.12665 C 136.15502,574.26631 130.95896,630.57333 127.69749,652.88979 C 126.89916,652.62576 126.03531,652.46271 125.14665,652.50195 C 121.07030,652.68196 117.93038,656.25924 118.11662,660.47614 C 118.30285,664.69302 121.74452,667.94836 125.82086,667.76832 C 128.64019,667.64379 130.93357,665.85431 132.07147,663.39453 C 133.29062,666.04330 135.99007,667.85099 139.08140,667.71446 C 143.15772,667.53442 146.33369,664.06501 146.15367,659.98866 C 145.97364,655.91230 142.50558,652.76757 138.42924,652.94760 C 138.41852,652.94808 138.40872,652.94846 138.39802,652.94898 C 138.90516,649.31332 148.99544,582.24518 150.21242,575.50724 C 151.46757,568.55800 150.73287,521.04944 142.76766,550.12665 z "
4.217- id="path7191"
4.218- sodipodi:nodetypes="ccssscssscss" />
4.219- <path
4.220- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.221- d="M 70.112026,725.23378 C 196.77942,746.08337 316.58355,743.97138 438.34231,722.65281"
4.222- id="path3574"
4.223- sodipodi:nodetypes="cc" />
4.224- <path
4.225- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient6515);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:3.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.00000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
4.226- d="M 456.66621,444.89871 C 475.28118,450.63386 493.51137,438.88145 504.22314,445.63641 C 514.93490,452.39137 524.28502,462.05589 541.13718,460.51176 C 557.80512,458.98451 579.09352,450.95426 579.09352,450.95426 C 579.09352,450.95426 558.17039,441.92846 549.14440,431.66233 C 540.11839,421.39621 535.83465,410.77594 519.99221,405.10761 C 498.47786,397.40990 479.61491,401.48012 470.70087,396.43061 C 459.46347,406.21159 456.66621,444.89871 456.66621,444.89871 z "
4.227- id="path3572"
4.228- sodipodi:nodetypes="csscsscc" />
4.229- <path
4.230- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.8630000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
4.231- d="M 476.70033,405.01034 L 467.44645,438.27363 L 484.10745,436.34116"
4.232- id="path3586"
4.233- sodipodi:nodetypes="ccc" />
4.234- <path
4.235- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.8630000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
4.236- d="M 498.25829,406.72852 L 492.61695,436.08784"
4.237- id="path3588"
4.238- sodipodi:nodetypes="cc" />
4.239- <path
4.240- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.8630000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
4.241- d="M 523.32646,417.67134 C 519.81816,412.52468 506.68473,404.66125 505.33079,415.73168 C 503.97684,426.80214 525.41239,424.10169 520.11053,437.40330 C 515.79042,448.24184 501.89764,433.67985 501.89764,433.67985"
4.242- id="path3590"
4.243- sodipodi:nodetypes="cssc" />
4.244- <path
4.245- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.8630000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
4.246- d="M 525.36140,451.00300 L 531.36075,423.06948 C 531.36075,423.06948 545.14439,433.11252 542.29152,439.77667 C 538.41438,448.83345 528.95141,436.27401 528.95141,436.27401"
4.247- id="path3592"
4.248- sodipodi:nodetypes="ccsc" />
4.249- <path
4.250- style="fill:url(#linearGradient8713);fill-opacity:1.0;fill-rule:evenodd;stroke:#3e7e42;stroke-width:2.9830000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
4.251- d="M 270.51899,473.63452 C 186.03183,473.32884 117.33411,508.62334 108.09375,537.32081 C 100.42250,561.14521 89.846437,628.73395 85.603534,650.88478 C 84.817635,650.58579 83.961816,650.38478 83.072284,650.38478 C 78.991969,650.38476 75.697281,653.82002 75.697284,658.04103 C 75.697282,662.26202 78.991971,665.66604 83.072284,665.66603 C 85.894372,665.66601 88.264466,663.97946 89.509784,661.57228 C 90.610880,664.27225 93.227950,666.19729 96.322284,666.19728 C 100.40259,666.19726 103.72853,662.87136 103.72853,658.79103 C 103.72853,654.71070 100.40259,651.41602 96.322284,651.41603 C 96.311560,651.41603 96.301744,651.41598 96.291034,651.41603 C 96.958087,647.80628 107.04943,590.82074 111.61669,581.08887 C 114.61685,574.69618 238.84164,568.85811 240.75000,574.72706 C 243.50651,583.20447 236.27814,637.10872 234.63478,658.67013 C 234.24628,658.61772 233.88360,658.50053 233.47853,658.51388 C 229.40043,658.64826 226.21453,662.20141 226.35353,666.42013 C 226.49253,670.63886 229.90044,673.92950 233.97853,673.79513 C 236.79908,673.70217 239.09441,671.92951 240.25978,669.48263 C 241.44920,672.14488 244.13588,673.99079 247.22853,673.88888 C 251.30663,673.75452 254.51915,670.31075 254.38478,666.23263 C 254.25042,662.15453 250.83789,658.97325 246.75978,659.10763 C 246.41000,659.11916 246.09186,659.23567 245.75978,659.29513 C 246.92433,642.74667 255.09873,576.54431 259.42392,571.64309 C 262.37946,568.29392 287.10830,566.78265 287.88858,572.13930 C 288.57332,576.84027 300.27776,647.89279 298.96818,655.28002 C 291.03140,655.02048 285.29440,664.47746 289.74349,668.25018 C 293.91482,671.78736 300.98301,672.97801 303.34529,665.55805 C 308.04368,673.55644 315.38495,669.99998 317.88153,666.13649 C 320.02882,662.81352 317.73746,656.01493 307.96818,654.90502 C 311.81199,638.22268 303.11619,563.96683 304.46875,561.97706 C 306.02930,559.68134 313.84474,546.65990 314.62500,537.47706 C 314.73280,536.20836 314.71985,533.92375 314.56250,531.16456 C 338.96788,535.84741 355.35651,538.98893 366.14040,533.06486 C 381.40207,524.68094 384.27702,518.47614 399.81250,508.25831 C 419.15908,495.53388 433.67678,503.16068 442.94710,501.26058 C 452.21743,499.36053 447.92808,486.96815 453.52398,477.50280 C 459.59978,467.22571 432.04243,459.98752 425.71986,468.08875 C 417.85160,478.17050 419.26202,485.20207 412.17309,487.66407 C 402.87743,490.89246 382.69140,503.22203 376.08702,507.88257 C 364.89903,515.77764 354.86141,522.38042 334.84375,514.75831 C 320.03993,507.37383 323.22898,490.84653 303.81250,482.63331 C 294.38984,477.78969 285.27126,473.96796 277.93750,472.69581 C 277.55554,472.60932 277.17096,472.55316 276.78125,472.47706 C 276.32712,472.41403 275.87541,472.36098 275.43750,472.32081 C 273.72290,472.04335 272.38271,473.70349 270.51899,473.63452 z "
4.252- id="path1306"
4.253- sodipodi:nodetypes="cscssscssscsscssscssscssczczcsscssssssscccscc" />
4.254- <path
4.255- transform="matrix(0.989097,0.147266,-0.270564,0.962702,0.000000,0.000000)"
4.256- style="fill:#e0773e;fill-opacity:1.0000000;stroke:#000000;stroke-width:2.7335560;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
4.257- d="M 560.34112,321.05953 C 562.60643,321.05953 564.62104,322.68769 564.62104,326.88038 L 563.99561,441.61088 C 563.99561,445.80357 562.59362,447.05283 560.32831,447.05283 C 558.06301,447.05283 555.81761,445.80357 555.81761,441.61088 L 556.44304,326.88038 C 556.44304,322.68769 558.07582,321.05953 560.34112,321.05953 z "
4.258- id="rect2844"
4.259- sodipodi:nodetypes="cccsccc" />
4.260- <path
4.261- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.262- d="M 246.14310,509.11110 C 241.02119,526.84076 255.00793,532.35666 255.00793,532.35666 C 255.00793,532.35666 260.52383,535.90259 264.85774,537.08457 C 269.19166,538.26655 286.67508,543.28995 288.10330,523.88582 C 281.45468,522.01436 246.14310,509.11110 246.14310,509.11110 z "
4.263- id="path9395"
4.264- sodipodi:nodetypes="ccscc" />
4.265- <path
4.266- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.267- d="M 281.99642,521.91586 L 278.25349,538.46354"
4.268- id="path10849" />
4.269- <path
4.270- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.271- d="M 275.88954,520.33989 L 271.75261,538.46354"
4.272- id="path10851" />
4.273- <path
4.274- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.275- d="M 270.17664,517.97593 L 266.03972,536.69058"
4.276- id="path10853" />
4.277- <path
4.278- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.279- d="M 264.66075,516.00597 L 260.52383,534.72061 L 264.66075,516.00597 z "
4.280- id="path10855" />
4.281- <path
4.282- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.283- d="M 258.94785,514.03601 L 255.00793,532.35666"
4.284- id="path10857" />
4.285- <path
4.286- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.287- d="M 254.02295,512.26304 L 250.28002,528.21974"
4.288- id="path10859" />
4.289- <path
4.290- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.291- d="M 249.49203,510.09608 L 246.53709,522.30985"
4.292- id="path10861" />
4.293- <path
4.294- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.295- d="M 286.52734,531.37168 C 273.91957,530.97769 253.43196,524.08282 244.96112,517.18795"
4.296- id="path10863"
4.297- sodipodi:nodetypes="cs" />
4.298- <path
4.299- style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#3e7e42;stroke-width:2.9830000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.00000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
4.300- d="M 314.73918,531.21038 C 287.29383,524.26287 246.50860,508.88870 246.50860,508.88870 C 246.50860,508.88870 236.65196,531.11393 269.32519,538.14820 C 287.57448,542.07710 288.12150,524.25744 288.12150,524.25744"
4.301- id="path1334"
4.302- sodipodi:nodetypes="ccsc" />
4.303- <path
4.304- style="opacity:1.0000000;color:#000000;fill:#9af286;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#3e7e42;stroke-width:2.9830000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.00000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
4.305- d="M 448.05225,488.20443 C 457.54479,489.43116 460.35916,478.75382 457.08417,473.68765 C 454.09991,469.07122 443.84736,464.04902 441.23893,470.41365 C 439.28318,475.18573 444.45174,477.89625 448.76518,477.45148"
4.306- id="path1319"
4.307- sodipodi:nodetypes="csss" />
4.308- <path
4.309- style="fill:#9af286;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#3e7e42;stroke-width:2.9830000;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:1.0000000;color:#000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0;visibility:visible;display:inline;overflow:visible"
4.310- d="M 444.43069,493.83066 C 440.55788,491.80306 435.16203,492.23114 437.58543,485.56144 C 439.37673,480.63139 445.27629,484.41451 453.18149,489.82225 C 461.08670,495.22998 452.88813,501.92241 443.28704,501.09310"
4.311- id="path1317"
4.312- sodipodi:nodetypes="csss" />
4.313- <path
4.314- style="opacity:1.0000000;color:#000000;fill:#9af286;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#3e7e42;stroke-width:2.9830000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.00000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
4.315- d="M 419.57651,478.78648 C 422.82017,473.02082 423.77214,467.20062 427.28746,465.99345 C 430.68152,464.82794 438.80518,458.88944 441.72524,460.45869 C 444.64525,462.02795 446.97626,467.63368 437.59210,472.14545 C 433.11706,474.29699 432.92789,479.97163 429.29171,482.22177"
4.316- id="path1315"
4.317- sodipodi:nodetypes="csssz" />
4.318- <path
4.319- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.320- d="M 204.67588,506.38984 C 204.67588,506.38984 224.38821,503.17905 222.72522,491.92631 C 221.32745,482.46817 207.13035,484.57698 199.99263,486.37428 C 200.44519,492.10976 201.21034,495.26298 194.65310,498.02106 C 201.24775,497.88549 202.75869,499.84733 204.67588,506.38984 z "
4.321- id="path15231"
4.322- sodipodi:nodetypes="csccc" />
4.323- <path
4.324- sodipodi:nodetypes="csccc"
4.325- id="path15959"
4.326- d="M 206.84427,528.80171 C 206.84427,528.80171 226.81416,528.50375 226.81212,517.12879 C 226.81042,507.56792 212.45756,507.58106 205.13390,508.31684 C 204.74411,514.05693 205.04063,517.28808 198.15093,519.05910 C 204.69469,519.88794 205.90297,522.04938 206.84427,528.80171 z "
4.327- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.328- <path
4.329- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.330- d="M 207.00459,552.07477 C 207.00459,552.07477 226.93742,553.32665 227.81769,541.98581 C 228.55758,532.45361 214.24694,531.35343 206.88827,531.51894 C 206.05443,537.21150 206.09943,540.45592 199.09312,541.68721 C 205.55288,543.02112 206.58987,545.26977 207.00459,552.07477 z "
4.331- id="path15961"
4.332- sodipodi:nodetypes="csccc" />
4.333- <path
4.334- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.335- d="M 206.34375 554.53125 C 205.13901 560.15699 204.97815 563.41757 197.90625 564.18750 C 203.30431 565.67653 204.70298 567.72897 205.00000 572.43750 C 211.46987 572.34077 217.37346 572.34767 222.50000 572.46875 C 224.58495 571.12494 226.12602 569.15846 226.53125 566.34375 C 227.89366 556.88047 213.69748 554.84789 206.34375 554.53125 z "
4.336- id="path15963" />
4.337- <path
4.338- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.339- d="M 196.03125 482.84375 C 187.52447 485.04283 179.42599 487.56587 171.87500 490.34375 C 176.36725 491.29017 177.56746 493.45549 178.37500 498.96875 C 178.37500 498.96874 198.12565 498.39857 198.12500 487.68750 C 198.12488 485.59722 197.29605 484.04852 196.03125 482.84375 z "
4.340- id="path15965" />
4.341- <path
4.342- sodipodi:nodetypes="csccc"
4.343- id="path15967"
4.344- d="M 182.55810,519.59489 C 182.55810,519.59489 202.29393,519.08874 202.32211,508.37771 C 202.34579,499.37485 188.16167,499.54934 180.92217,500.32491 C 180.52175,505.73438 180.80622,508.77360 173.99283,510.51910 C 180.45745,511.22563 181.64578,513.24729 182.55810,519.59489 z "
4.345- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.346- <path
4.347- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.348- d="M 184.40776,541.79081 C 184.40776,541.79081 204.14359,541.28466 204.17177,530.57363 C 204.19545,521.57077 190.01133,521.74526 182.77183,522.52083 C 182.37141,527.93030 182.65588,530.96952 175.84249,532.71502 C 182.30711,533.42155 183.49544,535.44321 184.40776,541.79081 z "
4.349- id="path15971"
4.350- sodipodi:nodetypes="csccc" />
4.351- <path
4.352- sodipodi:nodetypes="csccc"
4.353- id="path15973"
4.354- d="M 184.54511,562.87630 C 184.54511,562.87630 204.25568,563.99547 205.16493,553.32306 C 205.92917,544.35267 191.77877,543.35968 184.50001,543.53705 C 183.65592,548.89525 183.68940,551.94757 176.75551,553.12663 C 183.14009,554.36259 184.15808,556.47516 184.54511,562.87630 z "
4.355- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.356- <path
4.357- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.358- d="M 182.96875 564.81250 C 182.32423 568.90383 182.11368 571.62362 179.00000 573.21875 C 187.45278 572.83281 195.60321 572.57296 203.34375 572.43750 C 201.75888 565.52893 189.59312 564.65108 182.96875 564.81250 z "
4.359- id="path15975" />
4.360- <path
4.361- sodipodi:nodetypes="csccc"
4.362- id="path15977"
4.363- d="M 159.98437,513.05560 C 159.98437,513.05560 179.54898,510.41269 178.41571,499.76174 C 177.46318,490.80938 164.07633,494.00942 156.96360,495.56532 C 157.15202,500.98633 157.06958,502.48804 150.48559,504.96194 C 156.98871,504.96342 158.38922,506.84433 159.98437,513.05560 z "
4.364- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.365- <path
4.366- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.367- d="M 162.14231,533.71013 C 162.14231,533.71013 181.70692,531.06722 180.57365,520.41627 C 179.62112,511.46391 165.53952,513.17520 158.42679,514.73110 C 158.61521,520.15211 159.22752,523.14257 152.64353,525.61647 C 159.14665,525.61795 160.54716,527.49886 162.14231,533.71013 z "
4.368- id="path15979"
4.369- sodipodi:nodetypes="csccc" />
4.370- <path
4.371- sodipodi:nodetypes="csccc"
4.372- id="path15981"
4.373- d="M 161.73793,553.35464 C 161.73793,553.35464 181.48022,553.38736 181.80074,542.68108 C 182.07015,533.68222 167.88654,533.46950 160.62858,534.04718 C 160.08065,539.44372 160.28207,542.48957 153.42357,544.04844 C 159.86650,544.93116 160.99920,546.98451 161.73793,553.35464 z "
4.374- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.375- <path
4.376- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.377- d="M 160.85077,573.63589 C 160.85077,573.63589 180.55493,574.86270 181.52246,564.19542 C 182.33569,555.22933 168.19092,554.15908 160.91130,554.29668 C 160.03796,559.65019 160.05477,562.70265 153.11454,563.84381 C 159.49228,565.11464 160.49870,567.23275 160.85077,573.63589 z "
4.378- id="path15983"
4.379- sodipodi:nodetypes="csccc" />
4.380- <path
4.381- sodipodi:nodetypes="csccc"
4.382- id="path15987"
4.383- d="M 141.03633,527.19872 C 141.03633,527.19872 159.26152,523.13440 157.31335,513.12248 C 155.67587,504.70724 142.54253,507.45143 135.96590,509.49341 C 136.59135,514.62008 137.41560,517.40771 131.41325,520.27830 C 137.54385,519.76200 139.01949,521.43450 141.03633,527.19872 z "
4.384- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.385- <path
4.386- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.387- d="M 141.31895,546.24122 C 141.31895,546.24122 159.85370,543.97419 158.89150,533.81997 C 158.08275,525.28513 144.74435,526.73505 137.99989,528.12573 C 138.12224,533.28896 138.67062,536.14371 132.41687,538.41507 C 138.56859,538.49928 139.87404,540.30775 141.31895,546.24122 z "
4.388- id="path15989"
4.389- sodipodi:nodetypes="csccc" />
4.390- <path
4.391- sodipodi:nodetypes="csccc"
4.392- id="path15991"
4.393- d="M 140.64248,564.70916 C 140.64248,564.70916 159.29210,563.77735 159.06068,553.58027 C 158.86616,545.00940 145.45812,545.49891 138.63128,546.40227 C 138.38299,551.56098 138.72521,554.44771 132.32465,556.26467 C 138.45449,556.78989 139.62687,558.68734 140.64248,564.70916 z "
4.394- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.395- <path
4.396- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.397- d="M 139.81250 565.50000 C 139.07109 570.61119 139.13895 573.52338 132.59375 574.71875 C 134.51034 575.07033 135.80011 575.55551 136.84375 576.18750 C 143.66955 575.48857 151.25972 574.88782 159.43750 574.34375 C 159.75612 566.05514 146.61893 565.25757 139.81250 565.50000 z "
4.398- id="path15995" />
4.399- <path
4.400- sodipodi:nodetypes="csccc"
4.401- id="path15997"
4.402- d="M 120.55759,539.29735 C 120.55759,539.29735 138.57310,536.58485 137.29636,527.11255 C 136.22320,519.15085 123.25243,520.93302 116.71571,522.44950 C 117.00680,527.27769 117.63697,529.93188 111.60849,532.25691 C 117.61570,532.13961 118.95000,533.79049 120.55759,539.29735 z "
4.403- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.404- <path
4.405- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.406- d="M 120.00330,557.06167 C 120.00330,557.06167 138.19701,556.11039 137.84559,546.55890 C 137.55019,538.53063 124.46769,539.04557 117.81465,539.92050 C 117.63579,544.75414 118.00539,547.45696 111.77972,549.18595 C 117.76996,549.65221 118.93774,551.42479 120.00330,557.06167 z "
4.407- id="path15999"
4.408- sodipodi:nodetypes="csccc" />
4.409- <path
4.410- sodipodi:nodetypes="csccc"
4.411- id="path16003"
4.412- d="M 120.31158,575.55827 C 120.31158,575.55827 138.50529,574.60699 138.15387,565.05550 C 137.85847,557.02723 124.77597,557.54217 118.12293,558.41710 C 117.94407,563.25074 118.31367,565.95356 112.08800,567.68255 C 118.07824,568.14881 119.24602,569.92139 120.31158,575.55827 z "
4.413- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.414- <path
4.415- id="path16013"
4.416- d="M 196.03125 482.84375 C 187.52447 485.04283 179.42599 487.56587 171.87500 490.34375 C 176.36725 491.29017 177.56746 493.45549 178.37500 498.96875 C 178.37500 498.96874 198.12565 498.39857 198.12500 487.68750 C 198.12488 485.59722 197.29605 484.04852 196.03125 482.84375 z "
4.417- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.418- <path
4.419- style="fill:url(#linearGradient2121);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:2.9830000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:0.85000000;color:#000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0;visibility:visible;display:inline;overflow:visible"
4.420- d="M 118.59268,523.92715 C 107.25662,543.11126 111.61664,542.23925 121.20870,539.62324 C 130.80075,537.00722 199.68915,522.18314 209.28120,524.79915 C 218.87326,527.41517 232.82534,523.92715 235.44135,513.46309 C 238.05737,502.99903 238.77435,497.54307 250.24821,501.98922 C 269.16027,509.31769 305.20175,516.07910 319.15383,518.69512 C 333.10591,521.31113 348.80200,533.51920 371.47413,520.43913 C 394.14627,507.35905 412.54953,496.39061 421.17842,489.91895 C 422.92243,488.61095 428.62957,475.76353 430.50800,471.34729 C 431.44721,469.13918 439.39286,464.86685 438.95096,463.74334 C 438.50906,462.61984 433.93678,464.55570 429.23763,467.66914 C 424.38217,470.88614 421.27227,486.21977 415.16824,488.83579 C 409.06420,491.45180 389.78624,502.12702 381.93820,508.23106 C 374.09015,514.33509 353.16203,526.54316 339.20995,519.56712 C 325.25787,512.59108 320.02584,499.51101 308.68977,491.66296 C 297.35371,483.81492 248.52143,468.11882 190.09709,487.30294 C 131.67276,506.48705 129.05674,513.46309 118.59268,523.92715 z "
4.421- id="path1387"
4.422- sodipodi:nodetypes="csssssssszssssssc" />
4.423- <path
4.424- id="path16018"
4.425- d="M 139.81250 565.50000 C 139.07109 570.61119 139.13895 573.52338 132.59375 574.71875 C 134.51034 575.07033 135.80011 575.55551 136.84375 576.18750 C 143.66955 575.48857 151.25972 574.88782 159.43750 574.34375 C 159.75612 566.05514 146.61893 565.25757 139.81250 565.50000 z "
4.426- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.427- <path
4.428- id="path16023"
4.429- d="M 182.96875 564.81250 C 182.32423 568.90383 182.11368 571.62362 179.00000 573.21875 C 187.45278 572.83281 195.60321 572.57296 203.34375 572.43750 C 201.75888 565.52893 189.59312 564.65108 182.96875 564.81250 z "
4.430- style="fill:#54de61;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.20767665px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.431- <path
4.432- sodipodi:nodetypes="csccscssscssscss"
4.433- id="path16026"
4.434- d="M 277.93750,472.69581 C 277.55554,472.60932 277.17096,472.55316 276.78125,472.47706 C 276.32712,472.41403 275.87541,472.36098 275.43750,472.32081 C 273.72290,472.04335 272.38271,473.70349 270.51899,473.63452 C 186.03183,473.32884 117.33411,508.62334 108.09375,537.32081 C 100.42250,561.14521 89.846437,628.73395 85.603534,650.88478 C 84.817635,650.58579 83.961816,650.38478 83.072284,650.38478 C 78.991969,650.38476 75.697281,653.82002 75.697284,658.04103 C 75.697282,662.26202 78.991971,665.66604 83.072284,665.66603 C 85.894372,665.66601 88.264466,663.97946 89.509784,661.57228 C 90.610880,664.27225 93.227950,666.19729 96.322284,666.19728 C 100.40259,666.19726 103.72853,662.87136 103.72853,658.79103 C 103.72853,654.71070 100.40259,651.41602 96.322284,651.41603 C 96.311560,651.41603 96.301744,651.41598 96.291034,651.41603 C 96.958087,647.80628 107.04943,590.82074 111.61669,581.08887 C 114.61685,574.69618 238.84164,568.85811 240.75000,574.72706"
4.435- style="fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#3e7e42;stroke-width:2.9830000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000" />
4.436- <path
4.437- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.4350000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;stroke-miterlimit:4.0000000;stroke-dasharray:none"
4.438- d="M 264.36900,453.69048 C 254.12520,453.88747 248.21531,462.55530 252.94322,469.64717 C 257.67113,476.73904 275.79479,475.75405 278.15875,468.46519 C 280.52270,461.17633 270.47589,452.90249 264.36900,453.69048 z "
4.439- id="path7197"
4.440- sodipodi:nodetypes="cssc" />
4.441- <path
4.442- id="path7933"
4.443- d="M 267.08631,465.48980 C 272.73936,464.34915 271.50467,460.81573 269.28413,458.04415 C 267.06360,455.27256 261.79147,456.90613 261.90136,460.20656 C 262.01124,463.50699 262.96803,465.05075 267.08631,465.48980 z "
4.444- style="fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.445- <path
4.446- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.4350000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;stroke-miterlimit:4.0000000;stroke-dasharray:none"
4.447- d="M 297.07874,475.12108 C 299.24958,464.52072 293.46063,459.97771 284.05361,459.22055 C 274.64658,458.46337 263.06871,463.00639 267.41041,470.57806 C 271.75211,478.14976 290.56616,488.75011 297.07874,475.12108 z "
4.448- id="path1323" />
4.449- <path
4.450- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.4350000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;stroke-miterlimit:4.0000000;stroke-dasharray:none"
4.451- d="M 242.39530,460.52578 C 233.60908,465.79612 232.79847,476.25561 240.42934,480.05267 C 248.06021,483.84972 263.28824,473.97327 261.70998,466.47495 C 260.13171,458.97663 247.29944,456.80228 242.39530,460.52578 z "
4.452- id="path7199"
4.453- sodipodi:nodetypes="cssc" />
4.454- <path
4.455- style="fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.456- d="M 243.68431,469.83581 C 245.28249,475.37691 248.70337,473.85799 251.28448,471.41867 C 253.86561,468.97936 251.80723,463.85812 248.52678,464.23699 C 245.24633,464.61586 243.78580,465.69544 243.68431,469.83581 z "
4.457- id="path7935" />
4.458- <path
4.459- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.4350000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;stroke-miterlimit:4.0000000;stroke-dasharray:none"
4.460- d="M 271.68386,472.17278 C 265.53310,466.49400 252.86981,463.08675 249.25172,469.90126 C 245.63364,476.71576 247.80448,490.34482 260.82959,489.58764 C 273.85471,488.83047 277.83459,477.85155 271.68386,472.17278 z "
4.461- id="path1321"
4.462- sodipodi:nodetypes="czzz" />
4.463- <path
4.464- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.4350000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;stroke-miterlimit:4.0000000;stroke-dasharray:none"
4.465- d="M 277.96176,469.45019 C 270.27891,470.04118 265.35400,478.90602 271.06689,482.84594 C 276.77978,486.78587 288.59956,486.78587 289.58454,479.30001 C 290.56952,471.81415 284.26564,469.25320 277.96176,469.45019 z "
4.466- id="path7195" />
4.467- <path
4.468- style="fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.469- d="M 262.20205,471.61714 C 256.48916,470.82916 256.48916,474.57209 257.67114,477.92102 C 258.85311,481.26996 264.36901,481.46696 265.35399,478.31502 C 266.33897,475.16308 265.94498,473.39011 262.20205,471.61714 z "
4.470- id="path7927" />
4.471- <path
4.472- id="path7929"
4.473- d="M 283.40203,472.86341 C 278.97987,472.29768 278.97987,474.98495 279.89481,477.38933 C 280.80972,479.79372 285.07940,479.93516 285.84184,477.67220 C 286.60427,475.40925 286.29931,474.13633 283.40203,472.86341 z "
4.474- style="fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.74548370px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
4.475- <path
4.476- style="fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.477- d="M 287.01749,462.95586 C 281.94580,465.70104 284.16055,468.71839 287.09502,470.71872 C 290.02948,472.71907 294.59267,469.61404 293.52166,466.49028 C 292.45064,463.36653 291.08393,462.17038 287.01749,462.95586 z "
4.478- id="path7931" />
4.479- <path
4.480- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.481- d="M 157.32993,388.01687 C 240.06214,383.69759 287.32367,387.19261 345.54264,390.07213"
4.482- id="path3573"
4.483- sodipodi:nodetypes="cs" />
4.484- <path
4.485- style="fill:url(#linearGradient7979);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:2.9830000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:0.52777778;color:#000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.00000000;visibility:visible;display:inline;overflow:visible"
4.486- d="M 299.17307,535.22016 C 307.72087,538.63929 303.44697,563.42791 290.62527,565.13747 C 277.80356,566.84703 191.47076,569.41137 176.08472,570.26615 C 160.69868,571.12093 119.66923,576.24961 119.66923,576.24961 C 119.66923,576.24961 113.68577,571.12093 112.83099,565.99225 C 111.97621,560.86357 169.24648,551.46099 189.76120,550.60621 C 210.27593,549.75143 248.25830,537.79821 253.86971,540.34885 C 272.67489,548.89665 294.04439,536.92972 299.17307,535.22016 z "
4.487- id="path7245"
4.488- sodipodi:nodetypes="csscsssc" />
4.489- <path
4.490- style="fill:#86d973;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.491- d="M 453.19526,478.54252 C 450.22096,478.65268 448.56857,478.21204 448.01777,480.08475 C 447.46697,481.95746 449.44984,485.48255 450.66159,485.81303 C 451.87335,486.14351 455.50860,483.72001 455.72892,482.06762 C 455.94924,480.41523 454.95780,479.20348 453.19526,478.54252 z "
4.492- id="path8715" />
4.493- <path
4.494- style="fill:#86d973;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
4.495- d="M 451.76319,491.54131 C 449.56000,490.21940 445.15363,489.66861 444.49267,490.54988 C 443.83172,491.43116 447.35681,491.98195 446.58570,493.74450 C 445.81459,495.50705 444.27236,495.28673 443.72156,496.05784 C 443.17076,496.82896 442.17933,498.15087 443.28092,498.92199 C 444.38251,499.69310 452.20382,498.26103 452.86478,497.15944 C 453.52573,496.05784 455.61876,493.41402 451.76319,491.54131 z "
4.496- id="path8717" />
4.497- </g>
4.498-</svg>
5.1--- a/cdn/style/new.min.css Fri Apr 26 22:43:22 2024 +0000
5.2+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
5.3@@ -1,1 +0,0 @@
5.4-:root{--nc-font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--nc-font-mono:Consolas,monaco,'Ubuntu Mono','Liberation Mono','Courier New',Courier,monospace;--nc-tx-1:#000000;--nc-tx-2:#1A1A1A;--nc-bg-1:#FFFFFF;--nc-bg-2:#F6F8FA;--nc-bg-3:#E5E7EB;--nc-lk-1:#0070F3;--nc-lk-2:#0366D6;--nc-lk-tx:#FFFFFF;--nc-ac-1:#79FFE1;--nc-ac-tx:#0C4047}@media (prefers-color-scheme:dark){:root{--nc-tx-1:#ffffff;--nc-tx-2:#eeeeee;--nc-bg-1:#000000;--nc-bg-2:#111111;--nc-bg-3:#222222;--nc-lk-1:#3291FF;--nc-lk-2:#0070F3;--nc-lk-tx:#FFFFFF;--nc-ac-1:#7928CA;--nc-ac-tx:#FFFFFF}}*{margin:0;padding:0}address,area,article,aside,audio,blockquote,datalist,details,dl,fieldset,figure,form,iframe,img,input,meter,nav,ol,optgroup,option,output,p,pre,progress,ruby,section,table,textarea,ul,video{margin-bottom:1rem}button,html,input,select{font-family:var(--nc-font-sans)}body{margin:0 auto;max-width:750px;padding:2rem;border-radius:6px;overflow-x:hidden;word-break:break-word;overflow-wrap:break-word;background:var(--nc-bg-1);color:var(--nc-tx-2);font-size:1.03rem;line-height:1.5}::selection{background:var(--nc-ac-1);color:var(--nc-ac-tx)}h1,h2,h3,h4,h5,h6{line-height:1;color:var(--nc-tx-1);padding-top:.875rem}h1,h2,h3{color:var(--nc-tx-1);padding-bottom:2px;margin-bottom:8px;border-bottom:1px solid var(--nc-bg-2)}h4,h5,h6{margin-bottom:.3rem}h1{font-size:2.25rem}h2{font-size:1.85rem}h3{font-size:1.55rem}h4{font-size:1.25rem}h5{font-size:1rem}h6{font-size:.875rem}a{color:var(--nc-lk-1)}a:hover{color:var(--nc-lk-2)}abbr:hover{cursor:help}blockquote{padding:1.5rem;background:var(--nc-bg-2);border-left:5px solid var(--nc-bg-3)}abbr{cursor:help}blockquote :last-child{padding-bottom:0;margin-bottom:0}header{background:var(--nc-bg-2);border-bottom:1px solid var(--nc-bg-3);padding:2rem 1.5rem;margin:-2rem calc(0px - (50vw - 50%)) 2rem;padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%)}header h1,header h2,header h3{padding-bottom:0;border-bottom:0}header>:first-child{margin-top:0;padding-top:0}header>:last-child{margin-bottom:0}a button,button,input[type=button],input[type=reset],input[type=submit]{font-size:1rem;display:inline-block;padding:6px 12px;text-align:center;text-decoration:none;white-space:nowrap;background:var(--nc-lk-1);color:var(--nc-lk-tx);border:0;border-radius:4px;box-sizing:border-box;cursor:pointer;color:var(--nc-lk-tx)}a button[disabled],button[disabled],input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{cursor:default;opacity:.5;cursor:not-allowed}.button:focus,.button:hover,button:focus,button:hover,input[type=button]:focus,input[type=button]:hover,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:focus,input[type=submit]:hover{background:var(--nc-lk-2)}code,kbd,pre,samp{font-family:var(--nc-font-mono)}code,kbd,pre,samp{background:var(--nc-bg-2);border:1px solid var(--nc-bg-3);border-radius:4px;padding:3px 6px;font-size:.9rem}kbd{border-bottom:3px solid var(--nc-bg-3)}pre{padding:1rem 1.4rem;max-width:100%;overflow:auto}pre code{background:inherit;font-size:inherit;color:inherit;border:0;padding:0;margin:0}code pre{display:inline;background:inherit;font-size:inherit;color:inherit;border:0;padding:0;margin:0}details{padding:.6rem 1rem;background:var(--nc-bg-2);border:1px solid var(--nc-bg-3);border-radius:4px}summary{cursor:pointer;font-weight:700}details[open]{padding-bottom:.75rem}details[open] summary{margin-bottom:6px}details[open]>:last-child{margin-bottom:0}dt{font-weight:700}dd::before{content:'→ '}hr{border:0;border-bottom:1px solid var(--nc-bg-3);margin:1rem auto}fieldset{margin-top:1rem;padding:2rem;border:1px solid var(--nc-bg-3);border-radius:4px}legend{padding:auto .5rem}table{border-collapse:collapse;width:100%}td,th{border:1px solid var(--nc-bg-3);text-align:left;padding:.5rem}th{background:var(--nc-bg-2)}tr:nth-child(even){background:var(--nc-bg-2)}table caption{font-weight:700;margin-bottom:.5rem}textarea{max-width:100%}ol,ul{padding-left:2rem}li{margin-top:.4rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}mark{padding:3px 6px;background:var(--nc-ac-1);color:var(--nc-ac-tx)}input,select,textarea{padding:6px 12px;margin-bottom:.5rem;background:var(--nc-bg-2);color:var(--nc-tx-2);border:1px solid var(--nc-bg-3);border-radius:4px;box-shadow:none;box-sizing:border-box}img{max-width:100%}
6.1--- a/cdn/style/sakura.css Fri Apr 26 22:43:22 2024 +0000
6.2+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
6.3@@ -1,226 +0,0 @@
6.4-/* Sakura.css v1.5.0
6.5- * ================
6.6- * Minimal css theme.
6.7- * Project: https://github.com/oxalorg/sakura/
6.8- */
6.9-/* Body */
6.10-html {
6.11- font-size: 62.5%;
6.12- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
6.13-}
6.14-
6.15-body {
6.16- font-size: 1.8rem;
6.17- line-height: 1.618;
6.18- max-width: 38em;
6.19- margin: auto;
6.20- color: #4a4a4a;
6.21- background-color: #f9f9f9;
6.22- padding: 13px;
6.23-}
6.24-
6.25-@media (max-width: 684px) {
6.26- body {
6.27- font-size: 1.53rem;
6.28- }
6.29-}
6.30-@media (max-width: 382px) {
6.31- body {
6.32- font-size: 1.35rem;
6.33- }
6.34-}
6.35-h1, h2, h3, h4, h5, h6 {
6.36- line-height: 1.1;
6.37- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
6.38- font-weight: 700;
6.39- margin-top: 3rem;
6.40- margin-bottom: 1.5rem;
6.41- overflow-wrap: break-word;
6.42- word-wrap: break-word;
6.43- -ms-word-break: break-all;
6.44- word-break: break-word;
6.45-}
6.46-
6.47-h1 {
6.48- font-size: 2.35em;
6.49-}
6.50-
6.51-h2 {
6.52- font-size: 2em;
6.53-}
6.54-
6.55-h3 {
6.56- font-size: 1.75em;
6.57-}
6.58-
6.59-h4 {
6.60- font-size: 1.5em;
6.61-}
6.62-
6.63-h5 {
6.64- font-size: 1.25em;
6.65-}
6.66-
6.67-h6 {
6.68- font-size: 1em;
6.69-}
6.70-
6.71-p {
6.72- margin-top: 0px;
6.73- margin-bottom: 2.5rem;
6.74-}
6.75-
6.76-small, sub, sup {
6.77- font-size: 75%;
6.78-}
6.79-
6.80-hr {
6.81- border-color: #1d7484;
6.82-}
6.83-
6.84-a {
6.85- text-decoration: none;
6.86- color: #1d7484;
6.87-}
6.88-a:visited {
6.89- color: #144f5a;
6.90-}
6.91-a:hover {
6.92- color: #982c61;
6.93- border-bottom: 2px solid #4a4a4a;
6.94-}
6.95-
6.96-ul {
6.97- padding-left: 1.4em;
6.98- margin-top: 0px;
6.99- margin-bottom: 2.5rem;
6.100-}
6.101-
6.102-li {
6.103- margin-bottom: 0.4em;
6.104-}
6.105-
6.106-blockquote {
6.107- margin-left: 0px;
6.108- margin-right: 0px;
6.109- padding-left: 1em;
6.110- padding-top: 0.8em;
6.111- padding-bottom: 0.8em;
6.112- padding-right: 0.8em;
6.113- border-left: 5px solid #1d7484;
6.114- margin-bottom: 2.5rem;
6.115- background-color: #f1f1f1;
6.116-}
6.117-
6.118-blockquote p {
6.119- margin-bottom: 0;
6.120-}
6.121-
6.122-img, video {
6.123- height: auto;
6.124- max-width: 100%;
6.125- margin-top: 0px;
6.126- margin-bottom: 2.5rem;
6.127-}
6.128-
6.129-/* Pre and Code */
6.130-pre {
6.131- background-color: #f1f1f1;
6.132- display: block;
6.133- padding: 1em;
6.134- overflow-x: auto;
6.135- margin-top: 0px;
6.136- margin-bottom: 2.5rem;
6.137- font-size: 0.9em;
6.138-}
6.139-
6.140-code, kbd, samp {
6.141- font-size: 0.9em;
6.142- padding: 0 0.5em;
6.143- background-color: #f1f1f1;
6.144- white-space: pre-wrap;
6.145-}
6.146-
6.147-pre > code {
6.148- padding: 0;
6.149- background-color: transparent;
6.150- white-space: pre;
6.151- font-size: 1em;
6.152-}
6.153-
6.154-/* Tables */
6.155-table {
6.156- text-align: justify;
6.157- width: 100%;
6.158- border-collapse: collapse;
6.159- margin-bottom: 2rem;
6.160-}
6.161-
6.162-td, th {
6.163- padding: 0.5em;
6.164- border-bottom: 1px solid #f1f1f1;
6.165-}
6.166-
6.167-/* Buttons, forms and input */
6.168-input, textarea {
6.169- border: 1px solid #4a4a4a;
6.170-}
6.171-input:focus, textarea:focus {
6.172- border: 1px solid #1d7484;
6.173-}
6.174-
6.175-textarea {
6.176- width: 100%;
6.177-}
6.178-
6.179-.button, button, input[type=submit], input[type=reset], input[type=button], input[type=file]::file-selector-button {
6.180- display: inline-block;
6.181- padding: 5px 10px;
6.182- text-align: center;
6.183- text-decoration: none;
6.184- white-space: nowrap;
6.185- background-color: #1d7484;
6.186- color: #f9f9f9;
6.187- border-radius: 1px;
6.188- border: 1px solid #1d7484;
6.189- cursor: pointer;
6.190- box-sizing: border-box;
6.191-}
6.192-.button[disabled], button[disabled], input[type=submit][disabled], input[type=reset][disabled], input[type=button][disabled], input[type=file]::file-selector-button[disabled] {
6.193- cursor: default;
6.194- opacity: 0.5;
6.195-}
6.196-.button:hover, button:hover, input[type=submit]:hover, input[type=reset]:hover, input[type=button]:hover, input[type=file]::file-selector-button:hover {
6.197- background-color: #982c61;
6.198- color: #f9f9f9;
6.199- outline: 0;
6.200-}
6.201-.button:focus-visible, button:focus-visible, input[type=submit]:focus-visible, input[type=reset]:focus-visible, input[type=button]:focus-visible, input[type=file]::file-selector-button:focus-visible {
6.202- outline-style: solid;
6.203- outline-width: 2px;
6.204-}
6.205-
6.206-textarea, select, input {
6.207- color: #4a4a4a;
6.208- padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
6.209- margin-bottom: 10px;
6.210- background-color: #f1f1f1;
6.211- border: 1px solid #f1f1f1;
6.212- border-radius: 4px;
6.213- box-shadow: none;
6.214- box-sizing: border-box;
6.215-}
6.216-textarea:focus, select:focus, input:focus {
6.217- border: 1px solid #1d7484;
6.218- outline: 0;
6.219-}
6.220-
6.221-input[type=checkbox]:focus {
6.222- outline: 1px dotted #1d7484;
6.223-}
6.224-
6.225-label, legend, fieldset {
6.226- display: block;
6.227- margin-bottom: 0.5rem;
6.228- font-weight: 600;
6.229-}
7.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2+++ b/check.sh Mon Apr 29 22:26:53 2024 -0400
7.3@@ -0,0 +1,1 @@
7.4+#!/bin/sh
8.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2+++ b/config.sh Mon Apr 29 22:26:53 2024 -0400
8.3@@ -0,0 +1,1 @@
8.4+#!/bin/sh
9.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2+++ b/config.sxp Mon Apr 29 22:26:53 2024 -0400
9.3@@ -0,0 +1,13 @@
9.4+;; -*- mode:skel -*-
9.5+:sbcl-version "2.4.4"
9.6+:stash ".stash"
9.7+:dist nil
9.8+:install-root "/usr/local"
9.9+:log-level :debug
9.10+:features (:sbcl
9.11+ :sbcl-docs
9.12+ :rust :cargo-tools
9.13+ :tree-sitter :tree-sitter-langs
9.14+ :skel :packy
9.15+ :emacs-mini)
9.16+
10.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2+++ b/deploy.lisp Mon Apr 29 22:26:53 2024 -0400
10.3@@ -0,0 +1,11 @@
10.4+;;; deploy.lisp --- yeeting blobs across the yard
10.5+
10.6+;;
10.7+
10.8+;;; Code:
10.9+(in-package :std-user)
10.10+
10.11+(defpkg :infra/deploy
10.12+ (:use :cl :skel :packy :dat/json))
10.13+
10.14+(in-package :infra/deploy)
11.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
11.2+++ b/install.sh Mon Apr 29 22:26:53 2024 -0400
11.3@@ -0,0 +1,1 @@
11.4+#!/bin/sh
12.1--- a/makefile Fri Apr 26 22:43:22 2024 +0000
12.2+++ b/makefile Mon Apr 29 22:26:53 2024 -0400
12.3@@ -27,11 +27,9 @@
12.4 box:Containerfile.box archlinux;podman build -f $< -t box
12.5 alpine:Containerfile.alpine;podman build -f $< -t alpine
12.6 ubuntu:Containerfile.ubuntu;podman build -f $< -t ubuntu
12.7-vc:Containerfile.vc ubuntu;podman build -f $< -t vc
12.8-vc-runner:Containerfile.vc-runner ubuntu;podman build -f $< -t vc-runner
12.9 worker:Containerfile.worker alpine;podman build -f $< -t worker
12.10 operator:Containerfile.operator box;podman build -f $< -t operator
12.11-pods:archlinux alpine ubuntu box worker operator vc # vc-runner ## requires token
12.12+pods:archlinux alpine ubuntu box worker operator
12.13 quick:code
12.14 all:dist/cdn dist/code dist/lisp dist/rust dist/sbcl dist/rocksdb dist/emacs dist/pods
12.15 clean:;rm -rf $(B) $(D)
12.16@@ -92,7 +90,7 @@
12.17 cd $< && ./scripts/install-all.sh
12.18 ### SBCL
12.19 SBCL_TARGET:=build/src/sbcl
12.20-SBCL_VERSION:=2.4.3+
12.21+SBCL_VERSION:=2.4.4+
12.22 $(SBCL_TARGET):scripts/get-sbcl.sh $(B)
12.23 $<
12.24 cd $(SBCL_TARGET) && \
12.25@@ -152,13 +150,18 @@
12.26 $<
12.27 tree-sitter:$(TREE_SITTER_TARGET)
12.28 tree-sitter-build:$(TREE_SITTER_TARGET)
12.29- cd $< && make all
12.30 tree-sitter-install:$(TREE_SITTER_TARGET) tree-sitter-build
12.31- cd $< && make install && cp -r lib/include/* /usr/local/include/
12.32+
12.33 ### Tree-sitter Langs
12.34 TREE_SITTER_LANGS_TARGET:=build/src/tree-sitter-langs
12.35 tree-sitter-langs-install:scripts/tree-sitter-install-langs.sh
12.36 $<
12.37+### Etc
12.38+ETC_TARGET:=build/etc
12.39+$(ETC_TARGET):scripts/get-etc.sh
12.40+ $<
12.41+etc:$(ETC_TARGET)
12.42+
12.43 ### Code
12.44 CODE_TARGET:=build/src/$(SRC)
12.45 $(CODE_TARGET):scripts/get-code.sh $(B)
12.46@@ -255,16 +258,23 @@
12.47 core-install:core-lisp-install core-rust-install
12.48
12.49 dist/core:dist/rust/bin dist/lisp
12.50- mkdir -pv $@
12.51- cp -rf dist/lisp/fasl dist/lisp/bin $@
12.52- cp -rf $< $@
12.53- cd dist && tar -I 'zstd' -cf core.tar.zst core
12.54+ mkdir -pv $(D)/core
12.55+ cp -rf $(D)/lisp/fasl $(D)/lisp/bin $(D)/core
12.56+ cp -rf $< $(D)/core
12.57+ cd $(D) && tar -I 'zstd' -cf core.tar.zst core
12.58+
12.59+ETC:=$(USER)
12.60+
12.61+dist/etc:$(ETC_TARGET)
12.62+ cd $(ETC_TARGET) && hg up $(ETC)
12.63+ cp -rf $(ETC_TARGET) $(D)/etc
12.64+
12.65 dist/code:code
12.66- mkdir -pv $(D)/code
12.67- cp -r $(CODE_TARGET)/{org,core,infra,demo} $@
12.68+ mkdir -pv $@
12.69+ cp -r $(CODE_TARGET)/{org,core,infra,demo,etc} $@
12.70 dist/pods:pods
12.71- mkdir -pv $(D)/pods
12.72- podman image save -o $(D)/pods/all.tar archlinux alpine ubuntu box worker operator vv
12.73- cd $(D)/pods && zstd --ultra -T8 --rm all.tar -o all.tar.zst
12.74-clean-dist:;rm -rf dist
12.75+ mkdir -pv $@
12.76+ podman image save -o $@/all.tar archlinux alpine ubuntu box worker operator
12.77+ cd $@ && zstd --ultra -T4 --rm all.tar -o all.tar.zst
12.78+clean-dist:;rm -rf $(D)
12.79 clean-build:;rm -rf $(B)
13.1--- a/readme.org Fri Apr 26 22:43:22 2024 +0000
13.2+++ b/readme.org Mon Apr 29 22:26:53 2024 -0400
13.3@@ -5,6 +5,6 @@
13.4 #+EXPORT_FILE_NAME: index
13.5
13.6 This project contains scripts, utils, and applications used to host
13.7-and maintain The Compiler Company services.
13.8+and maintain The Compiler Company infrastructure.
13.9
13.10 - [[https://compiler.company/docs/infra/quickstart.html][Quickstart]]
14.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2+++ b/scripts/get-etc.sh Mon Apr 29 22:26:53 2024 -0400
14.3@@ -0,0 +1,3 @@
14.4+#!/bin/bash
14.5+TARGETDIR=${1:-build/etc}
14.6+hg clone https://vc.compiler.company/comp/etc $TARGETDIR