From fb69068980513ab8f3ad3fc49eaee17771f6ac66 Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Sat, 20 Jun 2026 09:17:05 +0000 Subject: [PATCH 01/11] Update pxe boot flow --- .gitignore | 5 ++ docs/TODO.md | 18 ++++++ docs/secure-boot-keys.md | 38 +++++++++++ serving/dnsmasq/Dockerfile | 12 +++- serving/dnsmasq/entrypoint.sh | 101 +++++++++++++++++++++++++++++ serving/docker-compose.yml | 46 +++++++++++++ serving/tftp/.gitkeep | 0 serving/tftp/README.md | 118 ++++++++++++++++++++++++++++++++++ 8 files changed, 336 insertions(+), 2 deletions(-) create mode 100644 serving/dnsmasq/entrypoint.sh create mode 100644 serving/tftp/.gitkeep create mode 100644 serving/tftp/README.md diff --git a/.gitignore b/.gitignore index 18f209c..ff59b1a 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,8 @@ keys /files/secureboot/keys/*.auth /files/secureboot/keys/*.esl /files/secureboot/keys/*.crt + +# iPXE network bootloader binaries for the PXE fallback (serving/tftp). Binary, +# and the signed one is db-derived/environment-specific — supply per environment. +/serving/tftp/*.efi +/serving/tftp/*.kpxe diff --git a/docs/TODO.md b/docs/TODO.md index 471a1ba..c18e4f6 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -626,6 +626,24 @@ smoke test. Secure Boot on targets. Until then the loud unsigned warning must stay. **Key generation + enrolment procedure: [secure-boot-keys.md](secure-boot-keys.md)** (the PK/KEK/db trio; `db` = `sb_key`/`sb_cert`, PK/KEK stay offline). +- **PXE-only iPXE fallback — BENCH-VERIFIED on the EliteBook 820 G4 (2026-06-20).** + Firmware without UEFI HTTP boot chainloads `serving/tftp/snponly.efi` → renders + `autoexec.ipxe` (ifopen + DHCP-retry + `imgargs `) → UKI over HTTP + → NVMe/verity root. dnsmasq tags `pxe`/`ipxe`/`httpboot` give graceful per-client + fallback; HTTP-boot hosts are unaffected (firmware → UKI direct). Gotchas that + cost real time (all captured in [../serving/tftp/README.md](../serving/tftp/README.md)): + (i) the I219-LM needs **`snponly.efi`** (native iPXE driver won't bind); + (ii) **PortFast/edge on the switch port is REQUIRED** — iPXE's PHY bounce + triggers STP forwarding delay that drops DHCP (this was the real blocker); + (iii) iPXE aborts the script on any unguarded command failure (use `||`); + (iv) Secure Boot OFF makes systemd-stub take iPXE's load options as the cmdline, + so the entrypoint extracts the UKI's real `.cmdline` and feeds it via `imgargs`. +- **Sign iPXE for the PXE-only fallback (Secure Boot, production).** The lab + `snponly.efi` is **UNSIGNED** → that path needs **Secure Boot OFF**. For + production: `sbsign` the iPXE binary with the fleet **db** key (only `db` needed — + no MS CA / shim), so SB stays enforced firmware → iPXE → UKI; then the cmdline + contraption becomes a no-op (the stub ignores loader cmdline under SB). See + [secure-boot-keys.md](secure-boot-keys.md) "PXE-only hosts". - **Bench-verify on the secure path** (swtpm + hostapd + FreeRADIUS, `disable_dot1x=false`) — the items deferred this session: - NM port secure path: `en*` UNMANAGED + `macsec0` MANAGED/renewing, MKA diff --git a/docs/secure-boot-keys.md b/docs/secure-boot-keys.md index c68595d..e774b3e 100644 --- a/docs/secure-boot-keys.md +++ b/docs/secure-boot-keys.md @@ -170,6 +170,44 @@ Caveats: CI-secret flow is a reasonable interim; the HSM flow is the invariant-#7 ideal (TODO #8). +## PXE-only hosts: iPXE chainload and Secure Boot + +Firmware without UEFI HTTP boot (e.g. HP EliteBook 820 G4) falls back to PXE; the +serving stack hands those hosts **iPXE** over TFTP (`serving/tftp/ipxe.efi`), +which then chainloads the UKI over HTTP. dnsmasq selects per client automatically +(HTTP-capable → UKI direct; PXE-only → iPXE → UKI), so no per-host config. + +Secure Boot across that chain needs **only the `db` key — the one already +enrolled for the UKI. No extra keys, no Microsoft CA, no shim** (the fleet owns +its keys): + +``` +firmware --(verify snponly.efi vs db)--> iPXE --(chain -> firmware LoadImage + verifies UKI vs db)--> UKI +``` + +- The firmware verifies the TFTP-downloaded NBP (`ipxe.efi`) against `db` → + **the iPXE binary must be signed by `db`** (`sbsign`, same key/step as the UKI). + Stock/unsigned iPXE is rejected under Secure Boot. +- iPXE must load the UKI as an **EFI image** (`imgfetch` + `boot`, or `chain`) so + the firmware's `LoadImage()` re-verifies it against `db` — do **not** use iPXE's + `kernel`/`boot` on a raw vmlinuz, which bypasses SB. +- **cmdline gotcha (Secure Boot OFF only):** when iPXE executes the UKI it sets the + EFI load options to the image's cmdline, or — if empty — to the image **name**. + With SB off systemd-stub uses the load options *as the kernel cmdline*, + **replacing the UKI's embedded cmdline** (roothash/nvmf/...) → dracut emergency + shell. Clearing the args does NOT help (empty → iPXE falls back to the name). The + serving stack's rendered `boot.ipxe` therefore feeds iPXE the **real cmdline**, + which the dnsmasq entrypoint extracts from the UKI's `.cmdline` PE section + (`objcopy`, artifact mounted read-only) — see `serving/tftp/README.md`. **Secure + Boot ON is immune** — the stub ignores any loader-supplied cmdline — so this is + purely a lab/SB-off concern. + +**Lab posture (now): iPXE signing OFF → run the iPXE path with Secure Boot OFF.** +`serving/tftp/ipxe.efi` is unsigned. **Production upgrade:** sign it with `db` +and Secure Boot stays enforced end-to-end (tracked in TODO #8). The HTTP-boot path +(firmware → UKI) is unaffected and remains SB-clean regardless. + ## Key hygiene & lifecycle - **PK.key and KEK.key go offline / into an HSM and stay there.** They are only diff --git a/serving/dnsmasq/Dockerfile b/serving/dnsmasq/Dockerfile index 6b40ae8..1600a61 100644 --- a/serving/dnsmasq/Dockerfile +++ b/serving/dnsmasq/Dockerfile @@ -2,10 +2,18 @@ # the version is pinned and the entrypoint is predictable). Config is passed # entirely as --flags from docker-compose.yml. FROM harbor.bitasylum.org/dockerhub/library/alpine:3.20 -RUN apk add --no-cache dnsmasq +# binutils (objcopy): the entrypoint extracts the UKI's .cmdline PE section so it +# can feed the REAL cmdline to iPXE (Secure Boot OFF chainload) — see entrypoint.sh. +RUN apk add --no-cache dnsmasq binutils # fleet-namer: --dhcp-script that assigns creative starship hostnames per MAC, # server-side (keeps the workstation image neutral). COPY'd in root-owned, 0755 # so dnsmasq will execute it. Uses busybox sha256sum/cut/wc — all in the image. COPY fleet-namer /usr/local/bin/fleet-namer RUN chmod 0755 /usr/local/bin/fleet-namer -ENTRYPOINT ["dnsmasq"] +# entrypoint assembles the TFTP root (copies the user's ipxe.efi from the ro +# source mount + renders boot.ipxe, which clears the iPXE load options so the +# UKI's embedded cmdline survives the chainload — see entrypoint.sh) then execs +# dnsmasq with the compose args. +COPY entrypoint.sh /usr/local/bin/dnsmasq-entrypoint +RUN chmod 0755 /usr/local/bin/dnsmasq-entrypoint +ENTRYPOINT ["/usr/local/bin/dnsmasq-entrypoint"] diff --git a/serving/dnsmasq/entrypoint.sh b/serving/dnsmasq/entrypoint.sh new file mode 100644 index 0000000..59a7358 --- /dev/null +++ b/serving/dnsmasq/entrypoint.sh @@ -0,0 +1,101 @@ +#!/bin/sh +# dnsmasq entrypoint: assemble the TFTP root, then exec dnsmasq with the compose +# args ("$@"). +# +# iPXE + Secure Boot OFF cmdline problem: +# When iPXE executes the UKI it sets the EFI LoadOptions to the image's command +# line, or — if that's empty — to the image NAME. With Secure Boot OFF, +# systemd-stub uses LoadOptions AS THE KERNEL CMDLINE, replacing the UKI's +# EMBEDDED cmdline (root/roothash/rd.nvmf.discover/rd.dot1x=0/volatile). So +# booting the UKI URL directly (or clearing the args) makes the kernel come up +# with just "fleet-.efi" as its cmdline -> dracut emergency shell. +# Fix: feed iPXE the REAL cmdline via `imgargs`. That cmdline lives only inside +# the UKI on the serving host (not in the OCI image, not as a file), so we read +# it out of the UKI's .cmdline PE section and bake it into boot.ipxe. +# (Secure Boot ON ignores any loader cmdline and uses the embedded one, so this +# whole dance is a lab/SB-OFF concern; harmless when SB is on.) +# +# Extraction: objdump -h gives the .cmdline section's size + file offset; we dd +# those bytes out of the (read-only) UKI. We deliberately avoid `objcopy`: +# --dump-section rewrites the input in place (fails on the read-only /artifacts +# mount), and `-O binary --only-section` lays the section out at its huge VMA +# (multi-GB sparse file). +set -eu + +mkdir -p /srv/tftp +# User-supplied iPXE binary (ipxe.efi) from the read-only source mount. +cp -f /tftp-src/*.efi /srv/tftp/ 2>/dev/null || true + +extract_cmdline() { # $1 = UKI path; echoes the cleaned cmdline (empty on failure) + uki="$1" + command -v objdump >/dev/null 2>&1 || return 0 + # objdump -h columns: Idx Name Size VMA LMA File-off Algn + line=$(objdump -h "$uki" 2>/dev/null | awk '$2==".cmdline"{print $3" "$6; exit}') + [ -n "$line" ] || return 0 + sz=$((0x${line% *})); off=$((0x${line#* })) + [ "$sz" -gt 0 ] || return 0 + dd if="$uki" bs=1 skip="$off" count="$sz" 2>/dev/null \ + | tr -d '\000' | tr '\n\t' ' ' | sed 's/ */ /g; s/^ //; s/ $//' +} + +render_boot_ipxe() { + uki="fleet-${IMAGE_VERSION}.efi" + cmdline="" + [ -f "/artifacts/${uki}" ] && cmdline=$(extract_cmdline "/artifacts/${uki}") + if [ -z "$cmdline" ]; then + echo "WARN: could not extract .cmdline from /artifacts/${uki} — iPXE boot will" >&2 + echo " hit a dracut shell under Secure Boot OFF (no embedded cmdline)." >&2 + echo " Check the /artifacts mount + binutils, or enable Secure Boot." >&2 + fi + # Render the SAME boot logic to two files: + # autoexec.ipxe — iPXE fetches + runs this at STARTUP (before autoboot). The + # leading `ifopen net0` brings the link UP on NICs whose NII/UNDI link iPXE + # can't establish during autoboot — e.g. EliteBook 820 G4 / Intel I219-LM, + # which sits at link:down ("No configurable methods") until ifopen. Without + # this, autoboot fails before it can even DHCP for boot.ipxe. + # boot.ipxe — the DHCP-bootfile fallback (tag:ipxe) for firmware that DOES + # autoboot-DHCP fine; harmless to carry the same ifopen. + # Both feed iPXE the UKI's REAL cmdline via imgargs (Secure Boot OFF; see top). + for f in /srv/tftp/autoexec.ipxe /srv/tftp/boot.ipxe; do + cat > "$f" < iPXE exits -> the +# firmware restarts PXE), so EVERY step that can fail is guarded with '||'. +# +# The link is already up + forwarding here (the TFTP fetch of this script just +# succeeded), so try DHCP FIRST without touching the PHY — on a PortFast/edge +# port this succeeds immediately with no delay. +dhcp net0 && goto have_ip || echo initial DHCP failed; will reset link and retry +# Fallback: reset the link, then retry DHCP long enough to outlast the switch's +# STP forwarding delay (~30s) that the ifopen bounce triggers. A single ifopen +# (held open across the loop) means the PHY bounces ONCE; STP then converges and +# a later DHCP gets through. PROPER fix is PortFast/edge on the switch port so +# there's no delay at all — see serving/tftp/README.md. +ifopen net0 || goto err +set tries 0 +:dhcp_retry +dhcp net0 && goto have_ip || echo DHCP retry \${tries} +inc tries || goto err +iseq \${tries} 30 && goto no_ip || sleep 3 +goto dhcp_retry +:have_ip +imgfetch http://${SERVER_IP}/${uki} || goto err +imgargs ${uki} ${cmdline} +boot ${uki} || goto err +:no_ip +echo No DHCP after ~90s on net0 - enable PortFast/edge on the switch port (STP delay). +:err +echo Fleet iPXE chain failed (\${errno}) - dropping to iPXE shell +shell +EOF + done + echo "rendered autoexec.ipxe + boot.ipxe -> ${uki} (cmdline: ${cmdline:-})" +} + +if [ -n "${SERVER_IP:-}" ] && [ -n "${IMAGE_VERSION:-}" ]; then + render_boot_ipxe +else + echo "WARN: SERVER_IP/IMAGE_VERSION unset; /srv/tftp/boot.ipxe NOT rendered" >&2 +fi + +exec dnsmasq "$@" diff --git a/serving/docker-compose.yml b/serving/docker-compose.yml index d702e8e..ab0e658 100644 --- a/serving/docker-compose.yml +++ b/serving/docker-compose.yml @@ -48,6 +48,26 @@ services: # + DNS A/PTR. Auto-populated by fleet-namer (creative names per MAC); add # manual lines to pin specific hosts. RW so fleet-namer can append. - ./dnsmasq/dhcp-hosts:/etc/dnsmasq-hosts + # iPXE binary source (read-only) for the PXE-only chainload (firmware without + # UEFI HTTP boot, e.g. EliteBook 820 G4). Drop ipxe.efi here — see + # serving/tftp/README. The entrypoint copies it into /srv/tftp and renders + # boot.ipxe alongside it (the actual TFTP root is container-internal). + - ./tftp:/tftp-src:ro + # The release artifacts (same image volume as the http service), read-only, + # so the entrypoint can objcopy the UKI's .cmdline section into boot.ipxe + # (Secure Boot OFF needs the real cmdline fed to iPXE — see entrypoint.sh). + - type: image + source: ${OCI_IMAGE}:${IMAGE_VERSION} + target: /artifacts + image: + subpath: artifacts + # Fallback (Docker < 28 / offline): bind the local Packer output dir instead: + # - ${ARTIFACT_SRC}:/artifacts:ro + environment: + # Consumed by the entrypoint to render /srv/tftp/boot.ipxe (the iPXE chain + # script that clears load options so the UKI's embedded cmdline survives). + - SERVER_IP=${SERVER_IP} + - IMAGE_VERSION=${IMAGE_VERSION} command: - --keep-in-foreground # Log to stderr so `docker compose logs` captures output. Without this, @@ -108,6 +128,32 @@ services: - --dhcp-vendorclass=set:httpboot,HTTPClient - --dhcp-option=tag:httpboot,60,HTTPClient - --dhcp-boot=tag:httpboot,http://${SERVER_IP}/fleet-${IMAGE_VERSION}.efi + # ---- PXE -> iPXE -> HTTP chainload (for firmware WITHOUT UEFI HTTP boot) ---- + # Graceful fallback: HTTP-capable firmware matches 'httpboot' above and gets + # the UKI directly; PXE-only firmware (PXEClient) gets ipxe.efi over TFTP; + # once iPXE is running it re-DHCPs with user-class "iPXE" and is handed the + # SAME UKI HTTP URL, which it chainloads (.efi -> LoadImage). Each client + # gets the right thing based on what it advertises — no per-host config. + # snponly.efi = UEFI x64 iPXE that rides the FIRMWARE's NIC driver (UEFI SNP) + # instead of iPXE's own — works on virtio VMs AND real hardware where the + # native driver won't bind (e.g. EliteBook 820 G4 / Intel I219-LM, which + # fails ipxe.efi with "No configurable methods"). Ships in Ubuntu's `ipxe` + # package; see serving/tftp/README.md. + # NOTE (lab): the iPXE binary is UNSIGNED, so this path needs Secure Boot OFF. + # For production, sign it with the fleet db key (then SB stays enforced + # end-to-end) — see docs/secure-boot-keys.md. + - --enable-tftp + - --tftp-root=/srv/tftp + - --dhcp-vendorclass=set:pxe,PXEClient + - --dhcp-userclass=set:ipxe,iPXE + # firmware PXE, not yet iPXE -> hand iPXE (UEFI x64) over TFTP + - --dhcp-boot=tag:pxe,tag:!ipxe,snponly.efi + # iPXE running -> hand boot.ipxe (NOT the UKI URL directly). The script + # imgfetch'es the UKI then `imgargs`-clears the load options before boot, so + # systemd-stub uses the UKI's EMBEDDED cmdline. Booting the UKI URL directly + # makes iPXE pass the image name as the cmdline, which (Secure Boot OFF) + # REPLACES the embedded roothash/nvmf/... args -> dracut emergency shell. + - --dhcp-boot=tag:ipxe,boot.ipxe # --- HTTP boot server (serves the UKI) ------------------------------------- http: diff --git a/serving/tftp/.gitkeep b/serving/tftp/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/serving/tftp/README.md b/serving/tftp/README.md new file mode 100644 index 0000000..ba4ee0f --- /dev/null +++ b/serving/tftp/README.md @@ -0,0 +1,118 @@ +# TFTP root — iPXE chainload for PXE-only firmware + +This directory is mounted read-only at `/srv/tftp` in the dnsmasq container and +serves the iPXE network bootloader over TFTP to firmware that **lacks UEFI HTTP +boot** (e.g. HP EliteBook 820 G4). HTTP-boot-capable firmware never touches this +path — it gets the UKI straight over HTTP (see the `httpboot` tag in +`docker-compose.yml`). The fallback is automatic, driven by what each client +advertises (DHCP vendor-class / client-arch). + +Flow for a PXE-only host: + +``` +firmware PXE (PXEClient) --TFTP--> snponly.efi (iPXE) + iPXE re-DHCPs (user-class "iPXE") --> handed boot.ipxe (TFTP) + boot.ipxe: imgfetch UKI over HTTP -> imgargs -> boot +``` + +`boot.ipxe` is **rendered at container start** by the dnsmasq entrypoint; only the +iPXE binary (`snponly.efi`) is supplied here. The script exists because of a sharp +edge: + +> **Why not chainload the UKI URL directly?** When iPXE executes the UKI it sets +> the EFI load options to the image's command line — or, if that's empty, to the +> image **name**. With **Secure Boot OFF**, systemd-stub uses the load options *as +> the kernel cmdline*, **replacing** the UKI's embedded cmdline +> (`roothash`/`rd.nvmf.discover`/`rd.dot1x=0`/`systemd.volatile=overlay`). So +> booting the URL directly — *or clearing the args* — makes the kernel come up +> with just `fleet-.efi` as its cmdline → **dracut emergency shell**. +> +> The fix: feed iPXE the **real cmdline**. On the serving host that cmdline only +> lives *inside the UKI* (it's not in the OCI image — invariant #10 — nor shipped +> as a file), so the entrypoint **extracts the UKI's `.cmdline` PE section with +> `objcopy`** (the artifact image is mounted read-only at `/artifacts`) and bakes +> it into `boot.ipxe` as `imgargs `. Needs `binutils` in the image +> (added) and the artifact mount. +> +> **Secure Boot ON makes all of this moot** — the stub ignores any loader-supplied +> cmdline and uses the embedded one — so this is purely a lab/SB-OFF concern; the +> rendered script is harmless once SB is on. + +## What to drop here + +A UEFI x86-64 iPXE binary named **`snponly.efi`** (the name the dnsmasq config +serves). `snponly` rides the **firmware's** NIC driver via the UEFI SNP protocol +rather than iPXE's own, so it works on virtio VMs *and* real hardware where the +native driver won't bind. + +```bash +# Ubuntu/Debian package (simplest — confirmed present): +sudo apt-get install -y ipxe # then copy whatever snponly it ships, e.g.: +# dpkg -L ipxe | grep -i snponly +cp /usr/lib/ipxe/snponly.efi serving/tftp/snponly.efi +# Fedora/EL: dnf install ipxe-bootimgs -> /usr/share/ipxe/ipxe-snponly-x86_64.efi +# or build: git clone https://github.com/ipxe/ipxe && cd ipxe/src +# make bin-x86_64-efi/snponly.efi +``` + +> **Why `snponly`, not the full `ipxe.efi`?** iPXE's own NIC drivers don't bind on +> some hardware — the **EliteBook 820 G4 (Intel I219-LM)** fails `ipxe.efi` with +> *"net0: No configurable methods"*. `snponly` inherits the firmware's working +> driver (the one that just loaded iPXE over PXE), so it's the robust default. +> `boot.ipxe.org` only publishes the full `ipxe.efi`, not `snponly` — get `snponly` +> from a distro package or build it. + +> **Updating the binary requires a dnsmasq restart** — the entrypoint copies it +> from this (read-only) mount into the container's TFTP root at startup: +> `docker compose restart dnsmasq`. + +(BIOS/legacy hosts would need `undionly.kpxe` + client-arch matching; this fleet +is UEFI x64.) + +## Secure Boot + +**Lab (now): Secure Boot OFF for the iPXE path.** `snponly.efi` here is +**unsigned**, so a Secure-Boot-enforcing machine would reject it. + +**Production upgrade:** sign `snponly.efi` with the fleet **db** key (the same key +that signs the UKI), then Secure Boot stays enforced end-to-end +(firmware → verifies iPXE vs db → iPXE `chain`s the UKI → firmware LoadImage +verifies UKI vs db). Only `db` needs enrolling — no Microsoft keys / shim, since +the fleet owns its keys. See [../../docs/secure-boot-keys.md](../../docs/secure-boot-keys.md). + +```bash +# production (where db.key lives — CI/HSM): +sbsign --key db.key --cert db.crt --output snponly.efi snponly.efi +``` + +## Bench notes / gotchas (EliteBook 820 G4 / Intel I219-LM, 2026-06-20) + +Hard-won findings from bringing up the first PXE-only physical host: + +- **Use `snponly.efi`, not the full `ipxe.efi`.** The 820 G4's NIC is an Intel + **I219-LM** (PCI `00:1f.6`). iPXE's native `intel` driver in the prebuilt full + build doesn't bind it (`net0: No configurable methods` / no `net0`). `snponly` + rides the firmware's driver via NII/SNP, so `net0` appears. Ubuntu's `ipxe` + package ships a usable `snponly.efi` (no build needed). +- **PortFast/edge on the access port is REQUIRED** (this was the real blocker). + iPXE's `ifopen` resets the PHY → the link bounces → a managed switch restarts + its STP forwarding delay (~30 s) and silently drops packets → iPXE's DHCP never + reaches the server (`ifstat` shows `link:down` / `Link status: Unknown`; symptom + is `No configurable methods` or a dracut shell). The firmware's own PXE works + only because it keeps the link up continuously from POST so STP already + converged. **Fix: enable PortFast/edge (or disable STP) on the workstation + port** — VERIFIED to fix it 2026-06-20. (Cisco `spanning-tree portfast`; + Aruba/HP `admin-edge-port`; UniFi "Fast"; or a dumb unmanaged switch.) The + `autoexec.ipxe` retry loop (below) is a fallback that outlasts STP but adds + ~30 s to every boot — PortFast removes the delay entirely. +- **iPXE aborts the script on any unguarded command failure** (→ iPXE exits → the + firmware restarts the whole PXE process, looking like "it doesn't retry"). Every + fallible step in `boot.ipxe`/`autoexec.ipxe` is therefore `||`-guarded. +- **`autoexec.ipxe`** (rendered by the dnsmasq entrypoint) is fetched + run at + iPXE startup, *replacing* the default autoboot; that's where the `ifopen` + + DHCP-retry + `imgargs ` chain lives. + +## Note + +`*.efi` here is **gitignored** (binary, and the signed one is environment-specific +/ produced from db). Keep this README + `.gitkeep`. From 33583bb4d81eadd091f21c5bfcdd45927c397554 Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Sat, 20 Jun 2026 09:19:01 +0000 Subject: [PATCH 02/11] Tidy up pxe flow --- serving/dnsmasq/entrypoint.sh | 55 ++++++++++++----------------------- serving/tftp/README.md | 22 ++++++++++---- 2 files changed, 36 insertions(+), 41 deletions(-) diff --git a/serving/dnsmasq/entrypoint.sh b/serving/dnsmasq/entrypoint.sh index 59a7358..8d0a953 100644 --- a/serving/dnsmasq/entrypoint.sh +++ b/serving/dnsmasq/entrypoint.sh @@ -23,8 +23,12 @@ set -eu mkdir -p /srv/tftp -# User-supplied iPXE binary (ipxe.efi) from the read-only source mount. +# User-supplied iPXE binary (snponly.efi) from the read-only source mount. cp -f /tftp-src/*.efi /srv/tftp/ 2>/dev/null || true +# autoexec.ipxe was an STP-era workaround (ifopen+retry before autoboot); it's no +# longer rendered — PortFast on the switch port is the real fix. Remove any stale +# copy left in a long-lived container's writable layer. +rm -f /srv/tftp/autoexec.ipxe extract_cmdline() { # $1 = UKI path; echoes the cleaned cmdline (empty on failure) uki="$1" @@ -47,49 +51,28 @@ render_boot_ipxe() { echo " hit a dracut shell under Secure Boot OFF (no embedded cmdline)." >&2 echo " Check the /artifacts mount + binutils, or enable Secure Boot." >&2 fi - # Render the SAME boot logic to two files: - # autoexec.ipxe — iPXE fetches + runs this at STARTUP (before autoboot). The - # leading `ifopen net0` brings the link UP on NICs whose NII/UNDI link iPXE - # can't establish during autoboot — e.g. EliteBook 820 G4 / Intel I219-LM, - # which sits at link:down ("No configurable methods") until ifopen. Without - # this, autoboot fails before it can even DHCP for boot.ipxe. - # boot.ipxe — the DHCP-bootfile fallback (tag:ipxe) for firmware that DOES - # autoboot-DHCP fine; harmless to carry the same ifopen. - # Both feed iPXE the UKI's REAL cmdline via imgargs (Secure Boot OFF; see top). - for f in /srv/tftp/autoexec.ipxe /srv/tftp/boot.ipxe; do - cat > "$f" < /srv/tftp/boot.ipxe < iPXE exits -> the -# firmware restarts PXE), so EVERY step that can fail is guarded with '||'. -# -# The link is already up + forwarding here (the TFTP fetch of this script just -# succeeded), so try DHCP FIRST without touching the PHY — on a PortFast/edge -# port this succeeds immediately with no delay. -dhcp net0 && goto have_ip || echo initial DHCP failed; will reset link and retry -# Fallback: reset the link, then retry DHCP long enough to outlast the switch's -# STP forwarding delay (~30s) that the ifopen bounce triggers. A single ifopen -# (held open across the loop) means the PHY bounces ONCE; STP then converges and -# a later DHCP gets through. PROPER fix is PortFast/edge on the switch port so -# there's no delay at all — see serving/tftp/README.md. -ifopen net0 || goto err -set tries 0 -:dhcp_retry -dhcp net0 && goto have_ip || echo DHCP retry \${tries} -inc tries || goto err -iseq \${tries} 30 && goto no_ip || sleep 3 -goto dhcp_retry -:have_ip +dhcp net0 || goto err imgfetch http://${SERVER_IP}/${uki} || goto err imgargs ${uki} ${cmdline} boot ${uki} || goto err -:no_ip -echo No DHCP after ~90s on net0 - enable PortFast/edge on the switch port (STP delay). :err echo Fleet iPXE chain failed (\${errno}) - dropping to iPXE shell shell EOF - done - echo "rendered autoexec.ipxe + boot.ipxe -> ${uki} (cmdline: ${cmdline:-})" + echo "rendered /srv/tftp/boot.ipxe -> ${uki} (cmdline: ${cmdline:-})" } if [ -n "${SERVER_IP:-}" ] && [ -n "${IMAGE_VERSION:-}" ]; then diff --git a/serving/tftp/README.md b/serving/tftp/README.md index ba4ee0f..7147826 100644 --- a/serving/tftp/README.md +++ b/serving/tftp/README.md @@ -11,10 +11,16 @@ Flow for a PXE-only host: ``` firmware PXE (PXEClient) --TFTP--> snponly.efi (iPXE) - iPXE re-DHCPs (user-class "iPXE") --> handed boot.ipxe (TFTP) + iPXE autoboot DHCP (user-class "iPXE") --> handed boot.ipxe (TFTP) boot.ipxe: imgfetch UKI over HTTP -> imgargs -> boot ``` +> **Requires PortFast/edge on the switch port** (see the gotchas below). iPXE's +> autoboot opens the NIC, which bounces the PHY; without PortFast the switch's STP +> forwarding delay (~30 s) drops iPXE's DHCP and the boot fails. PortFast removes +> the delay. (The earlier `autoexec.ipxe` + `ifopen` + DHCP-retry workaround was +> removed once PortFast was identified as the real fix.) + `boot.ipxe` is **rendered at container start** by the dnsmasq entrypoint; only the iPXE binary (`snponly.efi`) is supplied here. The script exists because of a sharp edge: @@ -107,10 +113,16 @@ Hard-won findings from bringing up the first PXE-only physical host: ~30 s to every boot — PortFast removes the delay entirely. - **iPXE aborts the script on any unguarded command failure** (→ iPXE exits → the firmware restarts the whole PXE process, looking like "it doesn't retry"). Every - fallible step in `boot.ipxe`/`autoexec.ipxe` is therefore `||`-guarded. -- **`autoexec.ipxe`** (rendered by the dnsmasq entrypoint) is fetched + run at - iPXE startup, *replacing* the default autoboot; that's where the `ifopen` + - DHCP-retry + `imgargs ` chain lives. + fallible step in `boot.ipxe` is therefore `||`-guarded. +- **`boot.ipxe`** (rendered by the dnsmasq entrypoint, served as the `tag:ipxe` + DHCP bootfile) does `dhcp` + `imgfetch` UKI + `imgargs ` + `boot`. + The cmdline injection is needed only because **Secure Boot is OFF** (the stub + takes the loader's cmdline); under Secure Boot it's a no-op and `boot.ipxe` + could collapse to a plain `chain` of the UKI. +- **Removed STP-era workaround:** an `autoexec.ipxe` that ran `ifopen net0` + a + DHCP-retry loop before autoboot was used to wait out STP. It's gone now that + **PortFast is the fix** — if you ever run on a switch you can't set PortFast on, + that ifopen+retry approach (in git history) is the fallback. ## Note From d2b2156a22eb4c9fe4d720895b77dac68c05f455 Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Sat, 20 Jun 2026 12:16:37 +0000 Subject: [PATCH 03/11] Fixed the secure boot enrollment script --- docs/TODO.md | 30 ++++++++- docs/secure-boot-keys.md | 29 ++++++++ docs/ssp-annex-a-ism-residual-risk.md | 38 +++++++---- docs/ssp.md | 97 +++++++++++++++++++-------- docs/stig-deviations.md | 24 +++++++ files/secureboot/fleet-sb-enroll | 10 ++- files/stig/diskless-tailoring.xml | 11 +++ 7 files changed, 194 insertions(+), 45 deletions(-) diff --git a/docs/TODO.md b/docs/TODO.md index c18e4f6..3542115 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -622,10 +622,29 @@ smoke test. Removes `rd.dot1x=0`/`ip=dhcp`; the hook owns the link (macsec0). - **NVMe discovery by DNS:** `nvmet_traddr=nvme.fleet.lab` (CI), resolved at boot by the serving dnsmasq — drop the hardcoded `192.168.50.10`. -- **Signing:** wire `sb_key`/`sb_cert` (CI/HSM secrets) for a signed UKI; enable - Secure Boot on targets. Until then the loud unsigned warning must stay. +- **Signing — SIGNED-UKI + SECURE-BOOT-ON PATH BENCH-VERIFIED on the Proxmox VM + (HTTP boot, 2026-06-20).** CI signs the UKI when `SB_KEY`/`SB_CERT` secrets are + set (`db` key); `fleet-sb-enroll` enrols db→KEK→PK from the baked public `.auth` + files; OVMF then boots the signed UKI under enforcing Secure Boot. Confirmed + end-to-end: CI-signed UKI verifies (`sbverify`), enrolment succeeds, VM boots + with `mokutil --sb-state` = enabled. **Key generation + enrolment procedure: [secure-boot-keys.md](secure-boot-keys.md)** (the PK/KEK/db trio; `db` = `sb_key`/`sb_cert`, PK/KEK stay offline). + - **Bug fixed during bring-up (2026-06-20):** `fleet-sb-enroll` built its 4-byte + EFI attribute prefix in a bash variable (`ATTR=$'\x27\x00\x00\x00'`). Bash + strings can't hold NULs → only `0x27` survived → efivarfs read a corrupt + attribute u32 → every write failed with `EINVAL` ("dd: Invalid argument"). + Now emitted directly with `printf` at write time. (Red herring on the way: + Proxmox EFI disks default to `pre-enrolled-keys=1`, so `mokutil --db` shows + the MS cert even in Setup Mode — looked like a non-empty-db rejection but was + the NUL bug all along; it failed identically on a clean `pre-enrolled-keys=0` + disk.) + - **REMAINING for production:** (a) **secure path** — re-verify signed boot with + `disable_dot1x=false` (802.1X/MACsec), not just the test path; (b) **820 / PXE + path** — sign `snponly.efi` with the same `db` key so the iPXE front-end also + passes Secure Boot (the VM's HTTP path has no iPXE stage, so this is still + unverified on real PXE hardware); (c) confirm signing is reproducible (verity + hash stable across two signed builds). - **PXE-only iPXE fallback — BENCH-VERIFIED on the EliteBook 820 G4 (2026-06-20).** Firmware without UEFI HTTP boot chainloads `serving/tftp/snponly.efi` → renders `autoexec.ipxe` (ifopen + DHCP-retry + `imgargs `) → UKI over HTTP @@ -638,6 +657,13 @@ smoke test. (iii) iPXE aborts the script on any unguarded command failure (use `||`); (iv) Secure Boot OFF makes systemd-stub take iPXE's load options as the cmdline, so the entrypoint extracts the UKI's real `.cmdline` and feeds it via `imgargs`. + **Tidied 2026-06-20** once PortFast was identified: dropped the `autoexec.ipxe` + + `ifopen` + DHCP-retry STP workaround; `boot.ipxe` is now just + `dhcp`+`imgfetch`+`imgargs`+`boot` reached via normal iPXE autoboot. Re-verified + on the 820 G4. **SB-on simplification:** when Secure Boot is enabled the cmdline + injection is unnecessary (the stub ignores the loader cmdline) — collapse + `boot.ipxe` to a plain `chain` of the UKI and drop the `.cmdline` extraction + + `binutils` + the artifact mount from the dnsmasq service. - **Sign iPXE for the PXE-only fallback (Secure Boot, production).** The lab `snponly.efi` is **UNSIGNED** → that path needs **Secure Boot OFF**. For production: `sbsign` the iPXE binary with the fleet **db** key (only `db` needed — diff --git a/docs/secure-boot-keys.md b/docs/secure-boot-keys.md index e774b3e..aeff457 100644 --- a/docs/secure-boot-keys.md +++ b/docs/secure-boot-keys.md @@ -130,6 +130,35 @@ on a trusted/isolated network (see TODO #10). Only the **public** certs/`.esl`/`.auth` reach the workstation — never copy `PK.key`/`KEK.key`/`db.key` onto a host. +### Troubleshooting `fleet-sb-enroll` (bench, 2026-06-20) + +**`dd: ... Invalid argument` (EINVAL) on the `db` write** = the firmware's +`SetVariable` rejected the payload (EFI_INVALID_PARAMETER), *not* an auth/Setup +Mode failure (that surfaces as EACCES / "Permission denied"). Diagnose top-down: + +- **Is the `.auth` actually a signed authenticated variable?** First 16 bytes are + an `EFI_TIME`: `sudo od -An -tx1 -N16 db.auth` → a valid one starts with the + year little-endian (2026 = `ea 07`). If it starts with `a1 59 c0 a5 …` it's a + bare **ESL** (the `sign-efi-sig-list` step was skipped); `30 82 …` is a raw DER + cert. Re-create the `.auth` (step 2) and re-bake. +- **The 4-byte attribute prefix must contain its NUL bytes.** A bash *variable* + **cannot** hold NULs — `ATTR=$'\x27\x00\x00\x00'` silently truncates to the + single byte `0x27`, so efivarfs reads a corrupt attribute u32 and the kernel + returns EINVAL **before the firmware is even called**. This was a real bug in an + early `fleet-sb-enroll`; the fix emits the prefix with `printf '\x27\x00\x00\x00'` + at write time (never via a variable). If you hand-roll an enrolment, do the same. +- **Proxmox / OVMF red herring:** VM EFI disks default to `pre-enrolled-keys=1`, + so `mokutil --db` shows the **Microsoft** cert (`Windows Production PCA 2011`, + owner `77fa9abd-…`) *even in Setup Mode*. This looks like a "db not empty → + rejected" problem but isn't — the write fails identically on a clean + `pre-enrolled-keys=0` disk if the NUL bug is present. For a clean OVMF test bed: + `qm set --efidisk0 :1,efitype=4m,pre-enrolled-keys=0`. + +**Verified:** with the fix, a Proxmox VM enrols db→KEK→PK from the baked `.auth` +files and boots the CI-signed UKI under **enforcing Secure Boot** over the HTTP +boot path (`mokutil --sb-state` = enabled). The PXE/iPXE front-end additionally +needs `snponly.efi` signed with `db` — see the iPXE section below. + ## 4. Wire `db` into the build ```bash diff --git a/docs/ssp-annex-a-ism-residual-risk.md b/docs/ssp-annex-a-ism-residual-risk.md index aa2c150..0ee117e 100644 --- a/docs/ssp-annex-a-ism-residual-risk.md +++ b/docs/ssp-annex-a-ism-residual-risk.md @@ -8,6 +8,11 @@ > > **A&A framework:** ASD *Information Security Manual* (ISM) — engagement target > **May 2026 release**. +> +> **Annex version:** 0.2 (2026-06-20). v0.2 reflects: STIG hardening applied + +> bench-verified, USBGuard device control enabled, admin `staff_u` confinement, +> audit offload verified, UKI signing wired (not yet enforced — new R-13), +> PXE/iPXE boot path added. --- @@ -74,8 +79,9 @@ ISM/PSPF style). Ratings are **pre-treatment** unless stated; the AO accepts the | Topic | ISM (rep.) | Requirement intent | System implementation | Status | Residual | |---|---|---|---|---|---| -| Hardened OS to ASD/vendor guidance | ISM-1407*, ISM-1408* | Apply a recognised hardening baseline. | **DISA STIG** (SSG `profile_stig`, RHEL 9) via `oscap --remediate` with documented tailoring ([stig-deviations.md](stig-deviations.md)). | Partial | R-03 (CI report-only/disabled now) | -| Application control / allow-listing | ISM-0843*, ISM-1490*, ISM-1657* | Only approved executables run. | **fapolicyd** (RPM-trust + one trusted kiosk binary) + immutable dm-verity root. | Implemented | — | +| Hardened OS to ASD/vendor guidance | ISM-1407*, ISM-1408* | Apply a recognised hardening baseline. | **DISA STIG** (SSG `profile_stig`, RHEL 9) via `oscap --remediate` + documented tailoring + per-build deviations report ([stig-deviations.md](stig-deviations.md)); **applied + bench-verified 2026-06-20**, all REVIEW rows triaged. | Partial | R-03 (CI must ship `enable_stig=true` + signed/SB-on) | +| Application control / allow-listing | ISM-0843*, ISM-1490*, ISM-1657* | Only approved executables run. | **fapolicyd** (RPM-trust + two trusted local binaries: kiosk-session, fleet-sb-enroll) + immutable dm-verity root. | Implemented | — | +| Device / removable-media control | ISM-0341*, ISM-1551* | Control USB / peripheral devices. | **USBGuard enforcing** (`ImplicitPolicyTarget=block` + hardware-independent HID/hub allowlist + LinuxAudit). Verified: USB mass storage blocked, console input preserved. | Implemented | — | | Software / OS integrity | ISM-1493* | Detect unauthorised modification. | **dm-verity** continuous block-level verification of the read-only root against a signed hash; **reproducible** build. | Implemented | — | | Disable unneeded functionality | ISM-0380*, ISM-1416* | Minimise installed software/services. | `@^minimal` install; scanner tooling removed post-scan; FROM-scratch artifact image; kiosk = single app. | Implemented | — | | Hardened user applications (browser) | ISM-1486*, ISM-1412* | Lock down high-risk apps. | Chromium enterprise lockdown policy; weston kiosk; no shell/nav/plugins. | Implemented | — | @@ -89,7 +95,7 @@ ISM/PSPF style). Ratings are **pre-treatment** unless stated; the AO accepts the | Topic | ISM (rep.) | Requirement intent | System implementation | Status | Residual | |---|---|---|---|---|---| | Strong machine authentication | ISM-1546*, ISM-0974* | Mutual, certificate-based auth. | **802.1X EAP-TLS**, client key non-exportable in **TPM** (`0x81010001`), cert in TPM NV. | Partial | R-01 (not bench-verified; disabled in test builds), R-08 (placeholder CA) | -| Privileged access restricted | ISM-1507*, ISM-0445* | Limit & control admin access. | Single key-only `wheel` admin; root login disabled. | Partial | R-05 | +| Privileged access restricted | ISM-1507*, ISM-0445* | Limit & control admin access. | Single key-only `wheel` admin; root login disabled; admin **confined to `staff_u`** with a sudo `sysadm_r`/`sysadm_t` role/type transition (SELinux context elevates on privilege use). | Partial | R-05 | | Secure remote administration | ISM-1506*, ISM-1232* | Hardened admin channel. | SSH **key-only**, password & keyboard-interactive off, hardened ciphers/MACs/KEX (STIG crypto policy; ECDSA/RSA keys — ed25519 excluded by policy). | Implemented | — | | No default/shared credentials | ISM-1304* | No baked credentials. | No per-host secrets in any artifact; identity from TPM at runtime; `machine-id` empty; host keys regenerated at first boot. | Implemented | — | | MFA for privileged users | ISM-1173*, ISM-1504* | MFA on privileged access. | Machine auth is cert+TPM (strong). **Human admin MFA on the management plane not yet enforced.** | Partial | R-05 | @@ -109,7 +115,7 @@ ISM/PSPF style). Ratings are **pre-treatment** unless stated; the AO accepts the | Topic | ISM (rep.) | Requirement intent | System implementation | Status | Residual | |---|---|---|---|---|---| -| Centralised event logging | ISM-0988*, ISM-1405* | Logs centrally collected. | `audisp-syslog`→rsyslog `omfwd` (disk-assisted queue) → dedicated collector (`serving/audit-collector/`). | Partial | R-07 | +| Centralised event logging | ISM-0988*, ISM-1405* | Logs centrally collected. | `audisp-syslog`→rsyslog `omfwd` (disk-assisted queue) → dedicated collector (`serving/audit-collector/`); **bench-verified end-to-end 2026-06-20**. auditd `space_left_action`→syslog (no MTA). | Partial | R-07 | | Required events logged | ISM-0582*, ISM-1537* | Log security-relevant events. | STIG auditd rule set; kernel `audit=1`, `audit_backlog_limit=8192`. | Implemented | — | | Protect logs in transit | ISM-1432*, ISM-0407* | Encrypt/authenticate log transport. | **Plaintext** offload on isolated LAN (rsyslog TLS rules waived — see [STIG #6](stig-deviations.md)). | Waived (lab) | **R-07** | | Log retention & integrity | ISM-0859*, ISM-1815* | Retain & protect logs. | Per-source-host files on collector; retention policy & tamper-protection not yet defined. | Planned | R-07 | @@ -144,7 +150,7 @@ ISM/PSPF style). Ratings are **pre-treatment** unless stated; the AO accepts the | Topic | ISM (rep.) | Requirement intent | System implementation | Status | Residual | |---|---|---|---|---|---| | Media sanitisation / no data remanence | ISM-0347*, ISM-1218* | Prevent data remanence. | **Diskless** — no persistent local media; writable layer is **RAM tmpfs**, gone at power-off. | Implemented | — | -| Tamper-evidence / boot integrity | ISM-1542*, ISM-0312* | Detect firmware/boot tampering. | **UEFI Secure Boot** + signed UKI + immutable signed cmdline + dm-verity; TPM measurements available for attestation. | Partial | R-11 (remote attestation not yet implemented) | +| Tamper-evidence / boot integrity | ISM-1542*, ISM-0312* | Detect firmware/boot tampering. | Design: **UEFI Secure Boot** + signed UKI (+ signed iPXE on the PXE path) + immutable signed cmdline + dm-verity; TPM measurements available. Signing **wired in CI** + key/enrolment procedure + baked `fleet-sb-enroll` helper, but **lab runs unsigned with SB OFF**. | Partial | **R-13** (signing not enforced), R-11 (no remote attestation) | | Device identification | ISM-1195* | Uniquely identify devices. | Identity derived from TPM cert (hostnqn from cert serial); no spoofable per-host config. | Implemented | — | ### 2.11 Guidelines for Procurement, Outsourcing & Evaluated Products @@ -165,11 +171,12 @@ asked to accept. Treatments map to [docs/TODO.md](TODO.md) (working POA&M). |---|---|---|---|---|---|---|---| | **R-01** | Secure path (802.1X EAP-TLS + MACsec) **implemented but not bench-verified end-to-end**; disabled in test builds (`disable_dot1x=true`). Until verified, devices may attach to an unauthenticated/unencrypted link. | 2.4, 2.7, 2.8 (ISM-1546*, 0520*, 1187*) | Likely × Major → **High** | Test path on an isolated lab LAN; full auth stack present (dormant); design follows ASD intent. | Full boot-chain bench test (swtpm + hostapd + FreeRADIUS): port `Authorized`, macsec0 addressed, MKA survives switch-root, NVMe root mounts. Re-enable in CI. | **Low** (once verified) | Platform team — *before production ATO* | | **R-02** | `debug_shell=true` bakes a **passwordless root shell** on a tty — an undocumented privileged access path. | 2.5 (ISM-1491*) | Possible × Severe → **High** | Lab-only; physical access required; isolated environment. | Set `debug_shell=false` for all non-lab builds; assert absent in CI. | **Low** | Platform team — *before production* | -| **R-03** | STIG hardening currently **report-only / disabled in CI** (`enable_stig=false`); shipped images may be unhardened. | 2.3 (ISM-1407*/1408*) | Possible × Major → **Medium** | Tailoring + register exist; SELinux/fapolicyd still on; re-enable is a single flag. | Flip `ENABLE_STIG="true"`; confirm scan evaluates >0 rules; triage REVIEW rows (buckets A/B/C in TODO #2). | **Low** | Platform team — *before assessment* | +| **R-03** | STIG hardening **applied + bench-verified** (2026-06-20, all REVIEW rows triaged); residual is ensuring **CI ships `enable_stig=true`** for production builds (it was toggled off during bring-up). | 2.3 (ISM-1407*/1408*) | Possible × Moderate → **Medium** | Tailoring + register + per-build report; SELinux/fapolicyd/USBGuard on; verified on a real hardened build. | Confirm `ENABLE_STIG="true"` in CI; keep the 0-eval guard; re-run the deviations report on the assessed build. | **Low** | Platform team — *before assessment* | | **R-04** | NVMe/TCP **root traffic plaintext** on the LAN — exposure of OS content / injection if the segment is compromised. | 2.9 (ISM-1139*/1453*) | Unlikely × Major → **Medium** | Isolated boot LAN; MACsec on the access link (once R-01 done) protects the first hop; dm-verity makes injected root blocks fail verification (integrity preserved even if confidentiality isn't). | Production: TLS/IPsec for the storage transport, or rely on MACsec end-to-end across the fabric; document the decision. | **Low–Medium** | Platform/network — *production* | -| **R-05** | **NOPASSWD key-only admin**; no per-host or rotatable access model; human admin MFA on the mgmt plane not enforced. | 2.4 (ISM-1507*/1173*) | Possible × Moderate → **Medium** | Single fleet-generic admin, key-only, root disabled, ECDSA/RSA key, fully audited; no interactive password to attack. | Per-host/rotatable access (SSH CA / config-agent) + admin MFA on the management plane. | **Low–Medium** | Platform team — *roadmap* | +| **R-05** | **NOPASSWD key-only admin**; no per-host or rotatable access model; human admin MFA on the mgmt plane not enforced. | 2.4 (ISM-1507*/1173*) | Possible × Moderate → **Medium** | Single fleet-generic admin, key-only, root disabled, ECDSA/RSA key, **now SELinux-confined to `staff_u`** with sudo role/type elevation, fully audited; no interactive password to attack. | Per-host/rotatable access (SSH CA / config-agent) + admin MFA on the management plane. | **Low–Medium** | Platform team — *roadmap* | | **R-06** | **FIPS off**; ISM **AACA/AACP conformance not formally asserted**; crypto-module evaluation status unconfirmed. | 2.9 (ISM-0471*/1139*/1277*) | Possible × Major → **Medium** | Modern STIG crypto policy; non-exportable TPM key; no deliberately weak algorithms. Acceptable at OFFICIAL; **mandatory to resolve for PROTECTED+.** | Assert AACA/AACP conformance; decide on FIPS module / evaluated crypto alongside Secure Boot signing. | **Low** (at appropriate classification) | Security + Platform — *before PROTECTED+* | -| **R-07** | Audit-log **offload plaintext**, **single-site**, **no SIEM alerting**; logs interceptable/repudiable and not actively reviewed. | 2.6 (ISM-1432*/0109*/0859*) | Possible × Moderate → **Medium** | Isolated LAN; disk-assisted queue (no loss on collector blip); auditd local copy; per-source files. | rsyslog **TLS** (gtls/6514) + bundle CA in image (re-select the 3 waived `rsyslog_encrypt_offload_*` rules); define retention + integrity; forward to SIEM with alerting. | **Low** | Platform/SecOps — *production* | +| **R-07** | Audit-log **offload plaintext**, **single-site**, **no SIEM alerting**; logs interceptable/repudiable and not actively reviewed. (Transport **bench-verified working** 2026-06-20.) | 2.6 (ISM-1432*/0109*/0859*) | Possible × Moderate → **Medium** | Isolated LAN; disk-assisted queue (no loss on collector blip); auditd local copy; per-source files; LinuxAudit captures USBGuard events. | rsyslog **TLS** (gtls/6514) + bundle CA in image (re-select the 3 waived `rsyslog_encrypt_offload_*` rules); define retention + integrity; forward to SIEM with alerting. | **Low** | Platform/SecOps — *production* | +| **R-13** | **Boot chain unsigned / Secure Boot OFF** in the lab — the UKI and (on the PXE path) iPXE are not signed and SB is not enforced, so a substituted boot artifact would not be rejected by firmware. | 2.10 (ISM-1542*/0312*) | Possible × Major → **Medium** | dm-verity still rejects a tampered *root*; isolated lab LAN; signing is **wired in CI** + key/enrolment procedure + baked `fleet-sb-enroll` ready; only the enforcement is pending. | Enrol fleet `db` (PK/KEK/db per [secure-boot-keys.md](secure-boot-keys.md)); set `SB_KEY`/`SB_CERT` CI secrets; `sbsign` the UKI **and** iPXE; enable Secure Boot on targets. | **Low** | Platform team — *before production* | | **R-08** | **Placeholder RADIUS CA** (`files/etc/dot1x/radius-ca.pem`) — real EAP-TLS trust anchor not provisioned; auth cannot succeed and trust is unestablished. | 2.4 (ISM-1546*) | Certain (lab) × Major → **Medium** | Documented as a placeholder; environment-specific provisioning is the intended path; no real CA committed. | Provision the environment's real RADIUS CA out-of-band (not committed unless classification permits). | **Low** | Environment owner — *before production* | | **R-09** | **Host firewall disabled**; host exposes more network surface than necessary. | 2.7 (ISM-1416*) | Possible × Moderate → **Low–Medium** | Isolated LAN; minimal services; egress controlled at the network/serving layer; no kiosk inbound. | Re-enable firewalld with explicit allow rules (NVMe/TCP `:4420`, DHCP, log offload, SSH) once the secure path is verified. | **Low** | Platform/network — *after R-01* | | **R-10** | **Patch SLA undefined** — no documented cadence for rebuilding/redeploying against new CVEs. | 2.5 (ISM-1144*/1472*) | Likely × Moderate → **Medium** | Atomic rebuild/redeploy model makes patching fast & uniform; reproducible builds. | Define patch cadence & critical-CVE SLA; automate rebuild triggers. | **Low** | Platform team — *roadmap* | @@ -192,10 +199,12 @@ Likelihood ↓ ``` *The heatmap shows pre-treatment positions; every item has a treatment to Low / -Low–Medium. The AO is asked to authorise on the basis that R-01, R-02, R-03, R-08 -and R-12 are **closed before production**, and R-04/R-05/R-06/R-07/R-09/R-10/R-11 -are either accepted with compensating controls (isolated-LAN lab) or carried on -the POA&M with target dates.* +Low–Medium. The AO is asked to authorise on the basis that **R-01, R-02, R-08, +R-12 and R-13** (and confirming R-03's `enable_stig=true`) are **closed before +production**, and R-04/R-05/R-06/R-07/R-09/R-10/R-11 are either accepted with +compensating controls (isolated-LAN lab) or carried on the POA&M with target +dates. Newly strengthened in v0.2: device control (USBGuard, now Implemented), +admin SELinux confinement (R-05), and STIG applied+verified (R-03 reduced).* --- @@ -215,6 +224,11 @@ the POA&M with target dates.* anything flagged **REVIEW** is an unjustified finding. 6. **Confirm lab-only flags are off** in the assessed build: `debug_shell=false`, `enable_stig=true`, `disable_dot1x=false`, real RADIUS CA in place. +7. **Confirm boot-chain signing is enforced** (R-13): `db` enrolled, Secure Boot + ON, UKI + iPXE signed (`sbverify`). The PXE/iPXE path's SB-OFF cmdline + workaround should be a no-op once SB is on. +8. **Witness device control** (USBGuard): a USB mass-storage device is blocked and + logged, console HID still works. --- diff --git a/docs/ssp.md b/docs/ssp.md index 0067c3d..0858114 100644 --- a/docs/ssp.md +++ b/docs/ssp.md @@ -15,10 +15,10 @@ |---|---| | System name | Diskless Fleet Boot System ("the fleet") | | Document type | System Security Plan (SSP) | -| Version | 0.1 (DRAFT — pre-assessment) | -| Date | 2026-06-19 | +| Version | 0.2 (DRAFT — pre-assessment) | +| Date | 2026-06-20 | | Author / maintainer | System Owner (delegate) | -| Status | Lab / pre-production. Secure path (802.1X/MACsec) not yet bench-verified. | +| Status | Lab / pre-production. STIG hardening applied + bench-verified (unsigned, Secure Boot OFF); secure path (802.1X/MACsec) not yet bench-verified. | | Companion documents | [Annex A — ISM control cross-reference & residual risk](ssp-annex-a-ism-residual-risk.md); [Architecture design v2](diskless-fleet-design-v2.pdf); [Design errata](design-v2-errata.md); [STIG deviation register](stig-deviations.md); [Backlog / POA&M source](TODO.md) | > **Currency caveat (read before relying on control numbers).** This SSP and its @@ -72,8 +72,19 @@ manifest. One commit = one release = one digest = one manifest entry. ### 2.2 Boot and trust chain (control flow) -1. **UEFI Secure Boot** measures and verifies the UKI signature (vendor/Secure - Boot key) before execution. +> **Boot transport (two paths, auto-selected):** HTTP-boot-capable firmware +> fetches the UKI directly over UEFI HTTP boot. Firmware **without** HTTP boot +> (e.g. HP EliteBook 820 G4) falls back to **PXE → iPXE → HTTP** (dnsmasq serves +> iPXE over TFTP, which chainloads the same UKI). Both land on the same signed +> UKI. **Lab status:** Secure Boot is currently **OFF** and the UKI/iPXE are +> **unsigned** — signing is wired in CI and the key procedure is documented +> ([secure-boot-keys.md](secure-boot-keys.md)) but not yet enforced (residual +> R-03/signing in Annex A). + +1. **UEFI Secure Boot** (when enabled) measures and verifies the UKI signature + against the enrolled `db` key before execution. On the PXE/iPXE path the iPXE + binary is likewise verified against `db`; only the fleet's own `db` need be + enrolled (no Microsoft CA / shim). 2. **UKI (systemd-stub)** carries the kernel, the `--no-hostonly` initramfs, and an **immutable, signed kernel command line** (includes the dm-verity root hash and STIG kernel parameters). No GRUB. @@ -102,7 +113,9 @@ the tmpfs overlay, the TPM-backed identity, and the hardened OS configuration. The boundary's external interfaces are: (a) the **access link** (802.1X-controlled port, MACsec-encrypted); (b) the **NVMe/TCP** root storage session; (c) **outbound audit log** forwarding; (d) the **kiosk application** endpoint the -browser renders. Each crossing is a control point addressed in Annex A. +browser renders; (e) the **boot transport** (UEFI HTTP boot, or PXE/TFTP→iPXE) +that delivers the UKI; and (f) **USB/peripheral** ports, now mediated by USBGuard +(§5.2). Each crossing is a control point addressed in Annex A. ### 2.4 Data and classification @@ -151,12 +164,19 @@ This system follows the ISM A&A lifecycle: Milestones (POA&M)** (this repo's [TODO.md](TODO.md) is the working POA&M source). -**Current status:** Pre-assessment **DRAFT**. The system is functional in a lab -configuration. Several controls are **partial or deferred** and are tracked as -residual risks with treatment plans (Annex A §3). The security-critical path -(802.1X/MACsec) is **implemented but not yet bench-verified end-to-end** and is -currently disabled in test builds (`disable_dot1x=true`) — this is the single -largest gate on a production authorisation. +**Current status:** Pre-assessment **DRAFT (v0.2)**. The system is functional in a +lab configuration. **Progress since v0.1 (2026-06-20):** DISA STIG hardening +applied and **bench-verified** on a real build (kiosk, key-only SSH, audit +offload, DHCP-named host, NVMe/verity root all good with hardening on); USBGuard +device control enabled + verified; admin confined to `staff_u`; UKI signing wired +in CI + Secure Boot key/enrolment procedure documented; both **HTTP-boot and +PXE/iPXE** boot paths working (the latter verified on an EliteBook 820 G4). +Several controls remain **partial or deferred**, tracked as residual risks with +treatments (Annex A §3). The two largest gates on a production ATO: (a) the +secure path (**802.1X/MACsec**) is implemented but **not yet bench-verified** and +is disabled in test builds (`disable_dot1x=true`, R-01); (b) the lab runs +**unsigned with Secure Boot OFF** (R-13) and with a lab-only **passwordless-root +debug shell** that must be removed (R-02). ## 5. Security control implementation — by ISM cyber security principle @@ -180,23 +200,43 @@ summarises the implementation posture. - **Boot & OS integrity:** **Secure Boot** + **signed UKI** with an **immutable cmdline**; **dm-verity** read-only root (continuous cryptographic integrity); **erofs** immutable filesystem; **reproducible** build (verity hash is a pure - function of inputs). -- **System hardening:** **DISA STIG** baseline via OpenSCAP/SSG with a documented - tailoring; **SELinux enforcing**; **fapolicyd** application allow-listing (the - exec guard for the writable RAM overlay that dm-verity cannot cover); - **key-only SSH**, root login disabled, hardened ciphers/MACs/KEX; **kiosk - lockdown** (single locked browser, no shell/navigation). + function of inputs). Signing is **wired in CI** (`sbsign`/ukify via + `SB_KEY`/`SB_CERT` secrets) with a documented PK/KEK/db key + enrolment + procedure ([secure-boot-keys.md](secure-boot-keys.md)) and a baked, efitools-free + enrolment helper (`fleet-sb-enroll`); **not yet enforced in the lab** (SB OFF, + unsigned — see Annex A). +- **System hardening (DISA STIG applied + bench-verified 2026-06-20):** STIG + baseline via OpenSCAP/SSG with a documented tailoring + per-build deviations + report; all REVIEW rows triaged. **SELinux enforcing**; **fapolicyd** + application allow-listing (the exec guard for the writable RAM overlay dm-verity + cannot cover); **USBGuard enforcing** (`ImplicitPolicyTarget=block` + a + hardware-independent HID/hub allowlist + LinuxAudit — verified blocks USB mass + storage while keeping console input; device/removable-media control); **key-only + SSH**, root login disabled, hardened ciphers/MACs/KEX (note: STIG crypto policy + drops ed25519 → admin key must be ECDSA/RSA); **kiosk lockdown** (single locked + browser, no shell/navigation); **postfix removed** (no local MTA — audit-failure + notification rides the remote offload, not email). +- **Privileged access:** single **key-only `wheel` admin**, root locked. The admin + is now **confined to the `staff_u` SELinux user** with a sudoers role/type + transition (`sysadm_r`/`sysadm_t`) so privilege elevation re-labels the SELinux + context (STIG `selinux_context_elevation_for_sudo`). Still **NOPASSWD** (the + account is passwordless/key-only) and fleet-generic — see R-05. - **No persistent attack surface:** diskless; overlay discarded each boot; no per-host secrets in the image. -- *Gaps / decisions:* **FIPS OFF** (lab phase); **host firewall disabled**; - NVMe/TCP and audit offload **plaintext on the isolated LAN**; NOPASSWD key-only - admin; **placeholder RADIUS CA**. See Annex A residual risks. +- *Gaps / decisions:* **FIPS OFF** (lab phase); **host firewall disabled** (the + workstation; the serving host's ufw is configured); NVMe/TCP and audit offload + **plaintext on the isolated LAN**; NOPASSWD admin; **placeholder RADIUS CA**; + signing not yet enforced (SB OFF). See Annex A residual risks. ### 5.3 Detect - **auditd** enabled with STIG audit rules; kernel `audit=1` + - `audit_backlog_limit` in the signed cmdline. + `audit_backlog_limit` in the signed cmdline. USBGuard device events logged via + the LinuxAudit backend. auditd `space_left_action` repointed to **syslog** + (no local MTA), so audit-volume alerts ride the remote offload. - **Centralised log offload** via rsyslog (`audisp-syslog` → rsyslog `omfwd`, disk-assisted queue) to a dedicated **audit collector** (`serving/audit-collector/`). + **Bench-verified end-to-end 2026-06-20** (records reach the collector, + per-source-host files). - *Gaps:* offload currently **plaintext** (TLS planned, R-07); offload is **local site only**; no SIEM correlation/alerting defined yet. @@ -215,11 +255,11 @@ AO will expect a maturity view: | Mitigation | Posture | Notes | |---|---|---| -| Application control | **Strong** | fapolicyd allow-listing + immutable verified root; only RPM-trusted (plus one trusted kiosk binary) executables run. | +| Application control | **Strong** | fapolicyd allow-listing + immutable verified root; only RPM-trusted (plus two trusted local binaries: kiosk-session, fleet-sb-enroll) executables run. USBGuard enforces device control on USB ports. | | Patch applications | **Process** | Patching = rebuild + re-sign + redeploy a new digest; cadence/SLA to be defined. | | Configure MS Office macros | **N/A** | No office suite; kiosk is a locked browser. | | User application hardening | **Strong (kiosk)** | Chromium locked down via enterprise policy; no plugins/shell/nav. | -| Restrict admin privileges | **Partial** | Single key-only `wheel` admin (NOPASSWD, see R-05); no per-host/rotatable model yet. | +| Restrict admin privileges | **Partial** | Single key-only `wheel` admin, root locked, now **SELinux-confined to `staff_u`** with a sudo role/type transition (NOPASSWD, see R-05); no per-host/rotatable model or admin-MFA yet. | | Patch operating systems | **Process** | Same rebuild/redeploy model; immutable image means uniform, atomic OS updates. | | Multi-factor authentication | **Strong (machine)** | Host auth is certificate + TPM-bound key (something-the-machine-has, non-exportable). Human admin MFA to be addressed for the management plane. | | Regular backups | **N/A (by design)** | Diskless, stateless hosts hold nothing to back up; recoverability is re-provisioning from a pinned digest. Backup applies to serving-side state, out of scope here. | @@ -234,13 +274,14 @@ production ATO: |---|---|---|---| | R-01 | Secure path (802.1X/MACsec) not yet bench-verified; currently disabled in test builds. | **High** | Treat — verify before production authorisation. | | R-02 | `debug_shell=true` bakes a **passwordless root shell** on a tty. | **High** | Treat — must be removed before production (lab-only). | -| R-03 | STIG hardening temporarily **report-only / disabled in CI** (`enable_stig=false`). | **Medium** | Treat — re-enable before assessment. | +| R-03 | STIG hardening **applied + bench-verified** (2026-06-20); residual is that CI ships **unsigned, Secure Boot OFF** and `enable_stig` must be confirmed on for production builds. | **Medium** | Treat — confirm `enable_stig=true` in CI + enforce signing/SB before assessment. | | R-04 | NVMe/TCP root traffic **plaintext** on the lab LAN. | **Medium** | Accept (isolated LAN) / treat for production. | -| R-05 | NOPASSWD key-only admin; no per-host or rotatable access model. | **Medium** | Accept with compensating controls / roadmap. | +| R-05 | NOPASSWD key-only admin (now `staff_u`-confined); no per-host/rotatable access model or admin-MFA. | **Medium** | Accept with compensating controls / roadmap. | | R-06 | **FIPS off**; ASD-approved-cryptography conformance not yet asserted. | **Medium** | Treat — required for PROTECTED+; revisit with signing. | -| R-07 | Audit-log offload **plaintext**, single-site, no SIEM alerting. | **Medium** | Treat — TLS offload + monitoring on roadmap. | +| R-07 | Audit-log offload **plaintext** (bench-verified working), single-site, no SIEM alerting. | **Medium** | Treat — TLS offload + monitoring on roadmap. | | R-08 | **Placeholder RADIUS CA** in the repo; real trust anchor not yet provisioned. | **Medium** | Treat — environment-specific, before production. | -| R-09 | Host **firewall disabled**. | **Low–Medium** | Accept (isolated LAN) / treat with explicit allow-rules. | +| R-09 | Host **firewall disabled** (workstation). | **Low–Medium** | Accept (isolated LAN) / treat with explicit allow-rules. | +| R-13 | **Boot chain unsigned / Secure Boot OFF** in the lab (UKI + iPXE); CI signing wired but not enforced. | **Medium** | Treat — enrol `db`, enforce SB + sign UKI & iPXE before production. | Each is detailed, ISM-cross-referenced, rated and assigned a treatment in Annex A. diff --git a/docs/stig-deviations.md b/docs/stig-deviations.md index c187796..db28c8e 100644 --- a/docs/stig-deviations.md +++ b/docs/stig-deviations.md @@ -114,6 +114,30 @@ reverts to a justified deviation; (b) reproducibility — `semanage` rebuilds th SELinux policy store, so confirm the verity hash is stable across two builds (and normalize in 2d hygiene if it drifts). +## 13. Ctrl+Alt+Del console reboot hotkey kept enabled (decision 2026-06-20) + +The RHEL 9 STIG disables the console reboot hotkey via two rules, both **waived** +in the tailoring: +- `disable_ctrlaltdel_reboot` — masks `ctrl-alt-del.target` (single Ctrl+Alt+Del). +- `disable_ctrlaltdel_burstaction` — sets `CtrlAltDelBurstAction=none` in + `/etc/systemd/system.conf` (the rapid 7× burst reboot). + +**Why waived:** the STIG intent is to stop an **unauthenticated console user from +causing an unplanned reboot/outage**. On this fleet that risk is structurally +absent — the hosts are **diskless and stateless** (immutable erofs+dm-verity root, +tmpfs volatile overlay), so a console reboot loses nothing and persists nothing, +and a **field technician needs to recover a wedged kiosk from the keyboard when +SSH is unavailable**. The two rules are unselected so `--remediate` leaves the +systemd default (the hotkey reboots). + +**Compensating control / scope:** the hotkey only triggers a **clean stateless +reboot** — it cannot exfiltrate data, alter the read-only root, or bypass auth to +a shell. Authenticated reboot paths (`systemctl reboot` over the key-only admin +SSH session) are unaffected either way. The console itself is otherwise locked +down (kiosk autologin to a single locked browser; no getty shell on tty1; +`debug_shell` is lab-only and never shipped). If a future deployment wants the +hotkey disabled (e.g. a physically exposed terminal), re-select both rule IDs. + ## Things that are NOT deviations (kept / enforced) - **SELinux enforcing** (`selinux --enforcing`; labels preserved into the erofs). diff --git a/files/secureboot/fleet-sb-enroll b/files/secureboot/fleet-sb-enroll index c8440af..913a36d 100644 --- a/files/secureboot/fleet-sb-enroll +++ b/files/secureboot/fleet-sb-enroll @@ -28,8 +28,12 @@ EFIVARS=/sys/firmware/efi/efivars GUID_GLOBAL=8be4df61-93ca-11d2-aa0d-00e098032b8c # PK, KEK, SetupMode GUID_DB=d719b2cb-3d3a-4596-a3bc-dad00e67656f # db, dbx # EFI var attributes: NON_VOLATILE|BOOTSERVICE_ACCESS|RUNTIME_ACCESS| -# TIME_BASED_AUTHENTICATED_WRITE_ACCESS = 0x27, little-endian 4 bytes. -ATTR=$'\x27\x00\x00\x00' +# TIME_BASED_AUTHENTICATED_WRITE_ACCESS = 0x27, written as a 4-byte little-endian +# u32 prefixed to the .auth payload. These 4 bytes contain NULs, so they are +# emitted with printf at WRITE TIME, never stored in a variable: a bash string +# can't hold a NUL (it truncates at the first one), which would leave only the +# 0x27 byte, corrupt the 4-byte attribute field efivarfs reads, and make the +# kernel reject the write with EINVAL ("dd: Invalid argument"). die() { echo "fleet-sb-enroll: $*" >&2; exit 1; } @@ -57,7 +61,7 @@ enrol_one() { # $1=var name $2=guid $3=.auth path local f="$EFIVARS/$1-$2" tmp [ -f "$3" ] || die "missing $3" tmp=$(mktemp) - printf '%s' "$ATTR" > "$tmp" + printf '\x27\x00\x00\x00' > "$tmp" # 4-byte LE attribute prefix (see note above) cat "$3" >> "$tmp" # Existing EFI vars carry the immutable flag; clear it before overwriting. [ -e "$f" ] && chattr -i "$f" 2>/dev/null || true diff --git a/files/stig/diskless-tailoring.xml b/files/stig/diskless-tailoring.xml index 2f253b5..833a242 100644 --- a/files/stig/diskless-tailoring.xml +++ b/files/stig/diskless-tailoring.xml @@ -162,5 +162,16 @@ + + + + From 3226a44d5a87b62fcb3c43481b939cee650a6347 Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Sun, 21 Jun 2026 09:11:23 +0000 Subject: [PATCH 04/11] Refactor dnsmasq to build as a container. Add signed iPXE image build --- .gitea/workflows/dnsmasq-image.yaml | 68 +++++++++++++++ .gitea/workflows/ipxe-image.yaml | 124 ++++++++++++++++++++++++++++ .gitignore | 2 +- CLAUDE.md | 12 ++- docs/TODO.md | 15 +++- docs/secure-boot-keys.md | 31 +++++-- scripts/build-ipxe-oci.sh | 106 ++++++++++++++++++++++++ serving/.env.example | 12 +++ serving/dnsmasq/entrypoint.sh | 14 +++- serving/docker-compose.yml | 35 +++++--- serving/tftp/README.md | 26 ++++-- serving/tftp/ipxe.efi | Bin 0 -> 995840 bytes serving/tftp/snponly.efi | Bin 0 -> 282624 bytes 13 files changed, 410 insertions(+), 35 deletions(-) create mode 100644 .gitea/workflows/dnsmasq-image.yaml create mode 100644 .gitea/workflows/ipxe-image.yaml create mode 100755 scripts/build-ipxe-oci.sh create mode 100644 serving/tftp/ipxe.efi create mode 100644 serving/tftp/snponly.efi diff --git a/.gitea/workflows/dnsmasq-image.yaml b/.gitea/workflows/dnsmasq-image.yaml new file mode 100644 index 0000000..8c75f76 --- /dev/null +++ b/.gitea/workflows/dnsmasq-image.yaml @@ -0,0 +1,68 @@ +# +# .gitea/workflows/dnsmasq-image.yaml +# +# Builds the serving-stack dnsmasq image (serving/dnsmasq) and pushes it to the +# registry, so serving hosts `docker compose pull` it instead of building it at +# deploy time (matching the SPDK image). The image is GENERIC: it carries no +# Secure Boot keys and no iPXE binary — the signed snponly.efi rides the separate +# fleet-ipxe image (ipxe-image.yaml), mounted into dnsmasq at /ipxe. +# +# Runs only when the dnsmasq image inputs change (path filter) or on demand. +# +# Required Gitea repo secrets: PACKAGE_USER, PACKAGE_TOKEN (registry creds). +# + +name: Build dnsmasq image +run-name: ${{ gitea.actor }} builds the serving dnsmasq image +on: + push: + branches: + - "main" + paths: + - "serving/dnsmasq/**" + - ".gitea/workflows/dnsmasq-image.yaml" + workflow_dispatch: + +env: + DNSMASQ_IMAGE: "git.bitasylum.org/audiobuzz/fleet-dnsmasq" + +jobs: + dnsmasq-build: + name: Build & push dnsmasq image + runs-on: ubuntu-latest + container: + image: git.bitasylum.org/audiobuzz/ubuntu-act-runner-qemu:main + steps: + - + name: Checkout + uses: actions/checkout@v6 + + - + name: Install buildah + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends buildah + + - + name: Registry login + run: | + buildah login \ + --username "${{ secrets.PACKAGE_USER }}" \ + --password "${{ secrets.PACKAGE_TOKEN }}" \ + git.bitasylum.org + + - + name: Build & push + # vfs storage: overlay-on-overlayfs is unsupported in-container. + env: + STORAGE_DRIVER: vfs + BUILDAH_ISOLATION: chroot + run: | + SHA="${{ gitea.sha }}"; SHA="${SHA:0:7}" + echo "Building ${DNSMASQ_IMAGE}:${SHA} (+ :latest)" + buildah bud \ + -t "${DNSMASQ_IMAGE}:${SHA}" \ + -t "${DNSMASQ_IMAGE}:latest" \ + serving/dnsmasq + buildah push "${DNSMASQ_IMAGE}:${SHA}" + buildah push "${DNSMASQ_IMAGE}:latest" diff --git a/.gitea/workflows/ipxe-image.yaml b/.gitea/workflows/ipxe-image.yaml new file mode 100644 index 0000000..887cf26 --- /dev/null +++ b/.gitea/workflows/ipxe-image.yaml @@ -0,0 +1,124 @@ +# +# .gitea/workflows/ipxe-image.yaml +# +# Builds the fleet-ipxe image: the iPXE network bootloader (snponly.efi) for the +# PXE-only chainload path (firmware without UEFI HTTP boot, e.g. EliteBook 820 +# G4), SIGNED with the fleet `db` key and packaged as a tiny FROM-scratch OCI +# image. The dnsmasq serving container mounts it at /ipxe and copies snponly.efi +# into its TFTP root — so the serving host never carries a loose, unsigned .efi +# and the bootloader is digest-pinned + signed exactly like the UKI. +# +# Kept separate from the (generic) dnsmasq image so the daemon image stays +# key-agnostic and this one is the only per-Secure-Boot-environment artifact. +# See scripts/build-ipxe-oci.sh, docs/secure-boot-keys.md, CLAUDE.md invariant #9. +# +# Runs only when the iPXE inputs change (path filter) or on demand. +# +# Required Gitea repo secrets: PACKAGE_USER, PACKAGE_TOKEN (registry creds). +# Optional: SB_KEY, SB_CERT (db PRIVATE key + cert, PEM). Unset => UNSIGNED lab +# image (loud warning; Secure-Boot-enforcing hosts will reject it). PK/KEK +# never come near CI — only `db` signs (docs/secure-boot-keys.md). +# + +name: Build fleet-ipxe image +run-name: ${{ gitea.actor }} builds the signed fleet-ipxe bootloader image +on: + push: + branches: + - "main" + paths: + - "scripts/build-ipxe-oci.sh" + - ".gitea/workflows/ipxe-image.yaml" + workflow_dispatch: + inputs: + ipxe_version: + description: "Override the image tag (default: sanitized ipxe package version)" + required: false + +env: + IPXE_IMAGE: "git.bitasylum.org/audiobuzz/fleet-ipxe" + +jobs: + ipxe-build: + name: Build & push fleet-ipxe image + runs-on: ubuntu-latest + container: + image: git.bitasylum.org/audiobuzz/ubuntu-act-runner-qemu:main + steps: + - + name: Checkout + uses: actions/checkout@v6 + + - + name: Install tooling + # buildah (OCI build), sbsigntool (sbsign/sbverify — Debian singular), and + # the ipxe package which ships the prebuilt snponly.efi. + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends buildah sbsigntool ipxe + + - + name: Locate snponly.efi + derive tag + id: src + run: | + # snponly.efi: UEFI x64 iPXE that rides the firmware's NIC driver (SNP), + # so it binds where iPXE's native driver won't (e.g. I219-LM). Ubuntu's + # ipxe package installs it under /usr/lib/ipxe. + SNP=$(find /usr/lib/ipxe /usr/share/ipxe -name 'snponly.efi' 2>/dev/null | head -1) + [ -n "$SNP" ] || { echo "snponly.efi not found in the ipxe package" >&2; exit 1; } + echo "snponly=$SNP" >> "$GITHUB_OUTPUT" + # Tag: dispatch override, else the ipxe package version sanitized to the + # OCI tag charset ([A-Za-z0-9_.-]). + RAW=$(dpkg-query -W -f='${Version}' ipxe 2>/dev/null || echo unknown) + VER="${{ inputs.ipxe_version }}" + [ -n "$VER" ] || VER=$(printf '%s' "$RAW" | sed 's/[^A-Za-z0-9_.-]/-/g') + echo "version=$VER" >> "$GITHUB_OUTPUT" + echo "Using snponly.efi=$SNP tag=$VER (ipxe pkg $RAW)" + + - + name: Materialize Secure Boot signing material + # Same db key that signs the UKI; written to a runner-temp file and passed + # to build-ipxe-oci.sh as a path. If SB_KEY is unset this no-ops and the + # build produces an UNSIGNED (lab) image with its loud warning. + if: ${{ secrets.SB_KEY != '' }} + env: + SB_KEY: ${{ secrets.SB_KEY }} + SB_CERT: ${{ secrets.SB_CERT }} + run: | + umask 077 + d="$RUNNER_TEMP/sb"; mkdir -p "$d" + printf '%s\n' "$SB_KEY" > "$d/db.key" + printf '%s\n' "$SB_CERT" > "$d/db.crt" + echo "SB_KEY_FILE=$d/db.key" >> "$GITHUB_ENV" + echo "SB_CERT_FILE=$d/db.crt" >> "$GITHUB_ENV" + echo "Secure Boot signing material staged (signed fleet-ipxe build)." + + - + name: Registry login + run: | + buildah login \ + --username "${{ secrets.PACKAGE_USER }}" \ + --password "${{ secrets.PACKAGE_TOKEN }}" \ + git.bitasylum.org + + - + name: Build & push + env: + STORAGE_DRIVER: vfs + run: | + VER="${{ steps.src.outputs.version }}" + bash scripts/build-ipxe-oci.sh \ + "${{ steps.src.outputs.snponly }}" \ + "${IPXE_IMAGE}" \ + "$VER" \ + "${SB_KEY_FILE:-}" \ + "${SB_CERT_FILE:-}" \ + true + # also publish :latest for lab convenience (pin by digest in production) + buildah tag "${IPXE_IMAGE}:${VER}" "${IPXE_IMAGE}:latest" + buildah push "${IPXE_IMAGE}:latest" + + - + name: Shred Secure Boot signing key + if: always() + run: shred -u "$RUNNER_TEMP/sb/db.key" 2>/dev/null || rm -f "$RUNNER_TEMP/sb/db.key" 2>/dev/null || true diff --git a/.gitignore b/.gitignore index ff59b1a..a05b992 100644 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,5 @@ keys # iPXE network bootloader binaries for the PXE fallback (serving/tftp). Binary, # and the signed one is db-derived/environment-specific — supply per environment. -/serving/tftp/*.efi +#/serving/tftp/*.efi /serving/tftp/*.kpxe diff --git a/CLAUDE.md b/CLAUDE.md index 017f1c7..42387ab 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -33,7 +33,10 @@ files/plymouth/themes/fleet/ Custom boot splash (scripted security files/kiosk/ weston+Chromium kiosk + chromium lockdown policy scripts/extract-artifacts.sh qcow2 -> kernel/initramfs/erofs+verity/cmdline scripts/build-oci.sh ukify + sbsign + roothash gate + OCI image +scripts/build-ipxe-oci.sh sbsign snponly.efi -> FROM-scratch fleet-ipxe image serving/ Lab serving stack: dnsmasq + nginx + SPDK + (dnsmasq + fleet-ipxe + SPDK images are + CI-built + pulled; see .gitea/workflows/) serving/kiosk-app/ Svelte+Tailwind spaceship-terminal SPA (kiosk endpoint; nginx reverse-proxies /kiosk/) .gitea/workflows/ Gitea CI: lint -> packer build -> push OCI @@ -128,8 +131,13 @@ instead of working around it. SHA256SUMS}`. `rootfs.erofs` (erofs data) and `rootfs.hash` (dm-verity hash tree) are **separate** namespaces because the as-built Rocky 9 systemd does not support the in-file `hash-offset` verity layout. No shell, no tools, no - base image. Serving software (SPDK, nginx) lives in separate, independently - versioned images — never merge them into the artifact image. + base image. Serving software (SPDK, nginx, dnsmasq) lives in separate, + independently versioned images — never merge them into the artifact image. + The signed iPXE bootloader (`snponly.efi`) is its own FROM-scratch + **`fleet-ipxe`** image (`scripts/build-ipxe-oci.sh`, signed with `db`), mounted + into dnsmasq at `/ipxe` — kept out of *both* the artifact image and the + (generic, key-agnostic) dnsmasq image because its signature is + per-Secure-Boot-environment. Don't bake `snponly.efi` into the dnsmasq image. 1. **Deployments are pinned by digest.** One commit per fleet release in the deployment manifest; that manifest is the single source coupling UKI ↔ namespace. Rollback = revert the commit. diff --git a/docs/TODO.md b/docs/TODO.md index 3542115..4d3e043 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -639,12 +639,19 @@ smoke test. the MS cert even in Setup Mode — looked like a non-empty-db rejection but was the NUL bug all along; it failed identically on a clean `pre-enrolled-keys=0` disk.) + - **iPXE signing WIRED (2026-06-21):** `snponly.efi` is now built + signed + (`db`) + pushed by CI as a separate FROM-scratch **`fleet-ipxe`** image + (`scripts/build-ipxe-oci.sh`, `.gitea/workflows/ipxe-image.yaml`), mounted into + dnsmasq at `/ipxe`. dnsmasq itself moved to a generic CI-built/pulled image + (`.gitea/workflows/dnsmasq-image.yaml`) — no longer built at deploy time, and + carries no keys/binary. (Decision: separate `fleet-ipxe` image, not baked into + dnsmasq, so the daemon image stays key-agnostic across SB environments.) - **REMAINING for production:** (a) **secure path** — re-verify signed boot with `disable_dot1x=false` (802.1X/MACsec), not just the test path; (b) **820 / PXE - path** — sign `snponly.efi` with the same `db` key so the iPXE front-end also - passes Secure Boot (the VM's HTTP path has no iPXE stage, so this is still - unverified on real PXE hardware); (c) confirm signing is reproducible (verity - hash stable across two signed builds). + path** — BENCH-VERIFY the signed `fleet-ipxe` chain on the 820 (the VM's HTTP + path has no iPXE stage, so the signed iPXE binary is still unverified on real + PXE hardware); (c) confirm signing is reproducible (verity hash stable across + two signed builds). - **PXE-only iPXE fallback — BENCH-VERIFIED on the EliteBook 820 G4 (2026-06-20).** Firmware without UEFI HTTP boot chainloads `serving/tftp/snponly.efi` → renders `autoexec.ipxe` (ifopen + DHCP-retry + `imgargs `) → UKI over HTTP diff --git a/docs/secure-boot-keys.md b/docs/secure-boot-keys.md index aeff457..da64f6b 100644 --- a/docs/secure-boot-keys.md +++ b/docs/secure-boot-keys.md @@ -202,10 +202,19 @@ Caveats: ## PXE-only hosts: iPXE chainload and Secure Boot Firmware without UEFI HTTP boot (e.g. HP EliteBook 820 G4) falls back to PXE; the -serving stack hands those hosts **iPXE** over TFTP (`serving/tftp/ipxe.efi`), -which then chainloads the UKI over HTTP. dnsmasq selects per client automatically +serving stack hands those hosts **iPXE** over TFTP (`snponly.efi`), which then +chainloads the UKI over HTTP. dnsmasq selects per client automatically (HTTP-capable → UKI direct; PXE-only → iPXE → UKI), so no per-host config. +**Packaging:** the signed `snponly.efi` is built + signed + pushed by CI as a +small FROM-scratch **`fleet-ipxe` image** (`.gitea/workflows/ipxe-image.yaml` → +`scripts/build-ipxe-oci.sh`), mounted into the dnsmasq container at `/ipxe` +(serving/docker-compose.yml). It is deliberately a **separate, per-Secure-Boot- +environment image** (its signature is `db`-key-specific) so the dnsmasq image +stays generic/key-agnostic — same reasoning as invariant #9 keeping serving +software out of the release-artifact image. For offline/lab use, drop an +`snponly.efi` in `serving/tftp/` and the entrypoint falls back to that bind mount. + Secure Boot across that chain needs **only the `db` key — the one already enrolled for the UKI. No extra keys, no Microsoft CA, no shim** (the fleet owns its keys): @@ -215,9 +224,10 @@ firmware --(verify snponly.efi vs db)--> iPXE --(chain -> firmware LoadImage verifies UKI vs db)--> UKI ``` -- The firmware verifies the TFTP-downloaded NBP (`ipxe.efi`) against `db` → - **the iPXE binary must be signed by `db`** (`sbsign`, same key/step as the UKI). - Stock/unsigned iPXE is rejected under Secure Boot. +- The firmware verifies the TFTP-downloaded NBP (`snponly.efi`) against `db` → + **the iPXE binary must be signed by `db`** (`sbsign`; CI does this in + `build-ipxe-oci.sh` when the `SB_KEY`/`SB_CERT` secrets are set, same key as the + UKI). Stock/unsigned iPXE is rejected under Secure Boot. - iPXE must load the UKI as an **EFI image** (`imgfetch` + `boot`, or `chain`) so the firmware's `LoadImage()` re-verifies it against `db` — do **not** use iPXE's `kernel`/`boot` on a raw vmlinuz, which bypasses SB. @@ -232,10 +242,13 @@ firmware --(verify snponly.efi vs db)--> iPXE --(chain -> firmware LoadImage Boot ON is immune** — the stub ignores any loader-supplied cmdline — so this is purely a lab/SB-off concern. -**Lab posture (now): iPXE signing OFF → run the iPXE path with Secure Boot OFF.** -`serving/tftp/ipxe.efi` is unsigned. **Production upgrade:** sign it with `db` -and Secure Boot stays enforced end-to-end (tracked in TODO #8). The HTTP-boot path -(firmware → UKI) is unaffected and remains SB-clean regardless. +**Posture:** the `fleet-ipxe` image is signed with `db` **whenever CI has the +`SB_KEY`/`SB_CERT` secrets** (same condition as the UKI), so the PXE path can stay +Secure-Boot-enforced end-to-end. An **unsigned** `fleet-ipxe` build (no secrets) +keeps its loud warning and requires Secure Boot OFF on the PXE target. The +HTTP-boot path (firmware → UKI) is unaffected and SB-clean regardless. Still +**BENCH-VERIFY** the signed PXE chain on the 820 (the VM uses HTTP boot, so the +signed iPXE stage is unverified on real hardware — TODO #8). ## Key hygiene & lifecycle diff --git a/scripts/build-ipxe-oci.sh b/scripts/build-ipxe-oci.sh new file mode 100755 index 0000000..126f5b2 --- /dev/null +++ b/scripts/build-ipxe-oci.sh @@ -0,0 +1,106 @@ +#!/usr/bin/env bash +# build-ipxe-oci.sh [sb-key] [sb-cert] [push] +# +# Packages the iPXE network bootloader (snponly.efi) as a tiny FROM-scratch OCI +# image for the PXE-only chainload path (firmware without UEFI HTTP boot, e.g. +# HP EliteBook 820 G4). The dnsmasq serving container mounts this image and +# copies the binary into its TFTP root — so the serving host never carries a +# loose, unsigned .efi and the bootloader is digest-pinned + signed like the UKI. +# +# This is DELIBERATELY a separate, independently versioned image (NOT merged into +# the FROM-scratch release-artifact image built by build-oci.sh): snponly.efi is +# near-static (it changes only when iPXE is rebuilt/re-signed), whereas the +# UKI/rootfs change every release. Keeping it separate matches the serving-stack +# pattern (SPDK, nginx) and the artifact-image invariant (only the 5 release +# files live there). See CLAUDE.md invariant #9 and docs/secure-boot-keys.md. +# +# Steps: +# 1. sbsign snponly.efi with the `db` key/cert if supplied (same key that signs +# the UKI — CI/HSM only, never in this repo or the build VM). Unsigned builds +# are lab-only and keep a loud warning: a Secure-Boot-enforcing host rejects +# an unsigned snponly.efi before iPXE ever runs. +# 2. build a FROM-scratch OCI image containing ONLY: +# /ipxe/snponly.efi (signed iPXE bootloader) +# /ipxe/SHA256SUMS +# No shell, no tools, no base image. Pin deployments by digest. +# +# Requires on the build host: sbsigntools (if signing) and buildah (preferred) +# or docker. sbverify (optional) is used to confirm the signature when present. +set -euo pipefail + +SRC=${1:?usage: build-ipxe-oci.sh [sb-key] [sb-cert] [push]} +IMAGE=${2:?image ref required, e.g. registry.example.org/fleet-ipxe} +VERSION=${3:?version required (the iPXE binary version/tag)} +SB_KEY=${4:-} +SB_CERT=${5:-} +PUSH=${6:-false} + +[ -f "$SRC" ] || { echo "ERROR: snponly.efi not found at $SRC" >&2; exit 1; } + +STAGE=$(mktemp -d) +trap 'rm -rf "$STAGE"' EXIT +mkdir "$STAGE/ipxe" +OUT="$STAGE/ipxe/snponly.efi" + +# --- 1. Sign (or pass through with a loud warning) ---------------------------- +SIGNED=false +if [ -n "$SB_KEY" ] && [ -n "$SB_CERT" ]; then + command -v sbsign >/dev/null || { echo "ERROR: sbsigntools required for signing" >&2; exit 1; } + sbsign --key "$SB_KEY" --cert "$SB_CERT" --output "$OUT" "$SRC" + SIGNED=true + if command -v sbverify >/dev/null; then + sbverify --cert "$SB_CERT" "$OUT" >/dev/null \ + || { echo "FATAL: signed snponly.efi fails sbverify against the db cert." >&2; exit 1; } + echo "==> snponly.efi signed and verified against the db cert" + else + echo "==> snponly.efi signed (sbverify not present to confirm)" + fi +else + cp "$SRC" "$OUT" + echo "WARNING: building UNSIGNED snponly.efi image (no sb-key/sb-cert supplied)." >&2 + echo " Fine for the lab (Secure Boot OFF); a Secure-Boot-enforcing host" >&2 + echo " rejects an unsigned iPXE binary. Production must sign in CI/HSM." >&2 +fi +( cd "$STAGE/ipxe" && sha256sum -- * > SHA256SUMS ) + +# --- 2. Build the OCI image --------------------------------------------------- +REF="${IMAGE}:${VERSION}" +LABELS=( + "org.opencontainers.image.title=fleet-ipxe" + "org.opencontainers.image.version=${VERSION}" + "org.fleet.ipxe.signed=${SIGNED}" +) + +if command -v buildah >/dev/null; then + # vfs storage: overlay-on-overlayfs is unsupported in-container (CI runner); + # this image is tiny so vfs is fine. Override via STORAGE_DRIVER on a host + # with native overlay support. (Same rationale as build-oci.sh.) + export STORAGE_DRIVER="${STORAGE_DRIVER:-vfs}" + + ctr=$(buildah from scratch) + buildah copy "$ctr" "$STAGE/ipxe" /ipxe + for l in "${LABELS[@]}"; do buildah config --label "$l" "$ctr"; done + buildah commit --format oci --rm "$ctr" "$REF" + DIGEST=$(buildah inspect --type image --format '{{.FromImageDigest}}' "$REF" || true) + [ "$PUSH" = "true" ] && buildah push "$REF" +elif command -v docker >/dev/null; then + { printf 'FROM scratch\nCOPY ipxe /ipxe\n' + for l in "${LABELS[@]}"; do printf 'LABEL "%s"\n' "$l"; done + } > "$STAGE/Dockerfile" + docker build -t "$REF" "$STAGE" + DIGEST=$(docker inspect --format '{{index .RepoDigests 0}}' "$REF" 2>/dev/null || true) + [ "$PUSH" = "true" ] && docker push "$REF" +else + echo "ERROR: need buildah or docker to build the OCI image" >&2; exit 1 +fi + +cat < fleet-ipxe image built: $REF + signed: $SIGNED + digest: ${DIGEST:-"(available after push)"} + +Deploy: set IPXE_IMAGE/IPXE_VERSION in serving/.env to this ref, then + \`docker compose up -d dnsmasq\` (the entrypoint copies /ipxe/snponly.efi + into the TFTP root). Pin by digest in production. +EOF diff --git a/serving/.env.example b/serving/.env.example index b059bcd..82e8cf9 100644 --- a/serving/.env.example +++ b/serving/.env.example @@ -17,6 +17,18 @@ ARTIFACT_SRC=../artifacts/0.0.0-2eefd97 SPDK_IMAGE=git.bitasylum.org/audiobuzz/spdk-nvmf SPDK_VERSION=v24.09 +# dnsmasq image — prebuilt + pushed by CI (.gitea/workflows/dnsmasq-image.yaml); +# GENERIC (no Secure Boot keys / no iPXE binary). Pulled, not built at deploy. +DNSMASQ_IMAGE=git.bitasylum.org/audiobuzz/fleet-dnsmasq +DNSMASQ_VERSION=latest + +# fleet-ipxe image — the SIGNED iPXE bootloader (snponly.efi) for PXE-only hosts, +# built + signed (fleet db key) + pushed by CI (.gitea/workflows/ipxe-image.yaml). +# Mounted into dnsmasq at /ipxe. Per-environment (signature is db-key-specific); +# pin by digest in production, e.g. fleet-ipxe@sha256:… +IPXE_IMAGE=git.bitasylum.org/audiobuzz/fleet-ipxe +IPXE_VERSION=latest + # --- This serving host on the boot LAN ------------------------------------- BOOT_IFACE=ens19 # interface facing the booting client / test bridge SERVER_IP=192.168.50.10 # this host's address on BOOT_IFACE (DHCP/DNS/HTTP/NVMe) diff --git a/serving/dnsmasq/entrypoint.sh b/serving/dnsmasq/entrypoint.sh index 8d0a953..e17994d 100644 --- a/serving/dnsmasq/entrypoint.sh +++ b/serving/dnsmasq/entrypoint.sh @@ -23,8 +23,18 @@ set -eu mkdir -p /srv/tftp -# User-supplied iPXE binary (snponly.efi) from the read-only source mount. -cp -f /tftp-src/*.efi /srv/tftp/ 2>/dev/null || true +# iPXE binary (snponly.efi) into the TFTP root. Prefer the signed binary from the +# mounted fleet-ipxe image (/ipxe); fall back to the read-only bind mount +# (/tftp-src) for offline/lab use. The dnsmasq image carries no .efi itself. +if ls /ipxe/*.efi >/dev/null 2>&1; then + cp -f /ipxe/*.efi /srv/tftp/ + echo "iPXE bootloader source: /ipxe (fleet-ipxe image)" +elif ls /tftp-src/*.efi >/dev/null 2>&1; then + cp -f /tftp-src/*.efi /srv/tftp/ + echo "iPXE bootloader source: /tftp-src (bind mount, lab fallback)" +else + echo "WARN: no iPXE binary in /ipxe or /tftp-src — PXE-only clients can't chainload" >&2 +fi # autoexec.ipxe was an STP-era workaround (ifopen+retry before autoboot); it's no # longer rendered — PortFast on the switch port is the real fix. Remove any stale # copy left in a long-lived container's writable layer. diff --git a/serving/docker-compose.yml b/serving/docker-compose.yml index ab0e658..7271daa 100644 --- a/serving/docker-compose.yml +++ b/serving/docker-compose.yml @@ -37,7 +37,12 @@ services: # --- DHCP + DNS ------------------------------------------------------------ dnsmasq: - build: ./dnsmasq + # Prebuilt by CI (.gitea/workflows/dnsmasq-image.yaml) and pulled here, like + # the SPDK image — the serving host no longer builds it at deploy time. The + # image is GENERIC (no Secure Boot keys, no iPXE binary): the signed iPXE + # bootloader rides the separate, per-environment fleet-ipxe image mounted at + # /ipxe below. Local-dev alternative: replace this line with `build: ./dnsmasq`. + image: ${DNSMASQ_IMAGE}:${DNSMASQ_VERSION} network_mode: host cap_add: - NET_ADMIN # DHCP raw sockets @@ -48,11 +53,19 @@ services: # + DNS A/PTR. Auto-populated by fleet-namer (creative names per MAC); add # manual lines to pin specific hosts. RW so fleet-namer can append. - ./dnsmasq/dhcp-hosts:/etc/dnsmasq-hosts - # iPXE binary source (read-only) for the PXE-only chainload (firmware without - # UEFI HTTP boot, e.g. EliteBook 820 G4). Drop ipxe.efi here — see - # serving/tftp/README. The entrypoint copies it into /srv/tftp and renders - # boot.ipxe alongside it (the actual TFTP root is container-internal). - - ./tftp:/tftp-src:ro + # Signed iPXE bootloader for the PXE-only chainload (firmware without UEFI + # HTTP boot, e.g. EliteBook 820 G4). Mounted from the separate, signed, + # digest-pinnable fleet-ipxe image (.gitea/workflows/ipxe-image.yaml); the + # entrypoint copies /ipxe/snponly.efi into /srv/tftp. Kept OUT of the dnsmasq + # image so the daemon image stays generic/key-agnostic — see serving/tftp/README. + - type: image + source: ${IPXE_IMAGE}:${IPXE_VERSION} + target: /ipxe + image: + subpath: ipxe + # Fallback (Docker < 28 / offline / lab): drop snponly.efi in ./tftp and bind + # it instead (the entrypoint prefers /ipxe, then falls back to /tftp-src): + # - ./tftp:/tftp-src:ro # The release artifacts (same image volume as the http service), read-only, # so the entrypoint can objcopy the UKI's .cmdline section into boot.ipxe # (Secure Boot OFF needs the real cmdline fed to iPXE — see entrypoint.sh). @@ -137,11 +150,11 @@ services: # snponly.efi = UEFI x64 iPXE that rides the FIRMWARE's NIC driver (UEFI SNP) # instead of iPXE's own — works on virtio VMs AND real hardware where the # native driver won't bind (e.g. EliteBook 820 G4 / Intel I219-LM, which - # fails ipxe.efi with "No configurable methods"). Ships in Ubuntu's `ipxe` - # package; see serving/tftp/README.md. - # NOTE (lab): the iPXE binary is UNSIGNED, so this path needs Secure Boot OFF. - # For production, sign it with the fleet db key (then SB stays enforced - # end-to-end) — see docs/secure-boot-keys.md. + # fails ipxe.efi with "No configurable methods"). Built + signed by CI into + # the fleet-ipxe image (mounted at /ipxe); see serving/tftp/README.md. + # The fleet-ipxe image is signed with the fleet db key when CI has the + # secrets, so this path stays Secure-Boot-enforced end-to-end; an unsigned + # (lab) fleet-ipxe build needs Secure Boot OFF — see docs/secure-boot-keys.md. - --enable-tftp - --tftp-root=/srv/tftp - --dhcp-vendorclass=set:pxe,PXEClient diff --git a/serving/tftp/README.md b/serving/tftp/README.md index 7147826..5ad95fb 100644 --- a/serving/tftp/README.md +++ b/serving/tftp/README.md @@ -1,11 +1,25 @@ # TFTP root — iPXE chainload for PXE-only firmware -This directory is mounted read-only at `/srv/tftp` in the dnsmasq container and -serves the iPXE network bootloader over TFTP to firmware that **lacks UEFI HTTP -boot** (e.g. HP EliteBook 820 G4). HTTP-boot-capable firmware never touches this -path — it gets the UKI straight over HTTP (see the `httpboot` tag in -`docker-compose.yml`). The fallback is automatic, driven by what each client -advertises (DHCP vendor-class / client-arch). +The iPXE network bootloader (`snponly.efi`) is served over TFTP to firmware that +**lacks UEFI HTTP boot** (e.g. HP EliteBook 820 G4). HTTP-boot-capable firmware +never touches this path — it gets the UKI straight over HTTP (see the `httpboot` +tag in `docker-compose.yml`). The fallback is automatic, driven by what each +client advertises (DHCP vendor-class / client-arch). + +> **Where `snponly.efi` comes from (production): the `fleet-ipxe` OCI image.** +> CI builds it, **signs it with the fleet `db` key**, and pushes a tiny +> FROM-scratch image (`.gitea/workflows/ipxe-image.yaml` → +> `scripts/build-ipxe-oci.sh`). The dnsmasq container mounts that image at +> `/ipxe` and the entrypoint copies `/ipxe/snponly.efi` into `/srv/tftp`. It's a +> **separate, per-Secure-Boot-environment image** (its signature is `db`-specific) +> so the dnsmasq image itself stays generic — see docs/secure-boot-keys.md and +> CLAUDE.md invariant #9. +> +> **This directory is the offline/lab fallback only:** if you drop an +> `snponly.efi` here and enable the commented `./tftp:/tftp-src:ro` bind in +> `docker-compose.yml`, the entrypoint uses it when `/ipxe` is empty (it prefers +> `/ipxe`, then falls back to `/tftp-src`). Handy on Docker < 28 or when iterating +> without a registry round-trip. Flow for a PXE-only host: diff --git a/serving/tftp/ipxe.efi b/serving/tftp/ipxe.efi new file mode 100644 index 0000000000000000000000000000000000000000..77709d113f0b78e7191bb0cf3fe741117419d144 GIT binary patch literal 995840 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

1P{7V!(D=A(S(CFRKQ?0LRF;Dirw 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%0APoSJrQj{~W4LHdfR1 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

?Hh> zgO1~F)}$k|Z^$gqF}rsMRPol%)X6M>DgwO#3@os9=6}Efu&X&xx6w8E&{0rD@m}Zn z8QJeb4n`(xoVN&urujSY7iVL|%<9a_SY0vZmHGI;m-;g^+RLOu&pE#0;M$N=dZjzi zGY=!jh1}^cu^z^?_tl%*BumG*1HTE)EWOnocsR7WbUg7YI+?7uY0jxQTp9a^R-j(F z=3Df_dndF!&cCYMf6fII)Xc-ig`#x?25-ISp4q$CB+4)}#@nHKB<6J+jlL$7P4lIr zA6v;qr%os*G^_O1=+6F5s3WPj1=kXr!wKa%8!?6~_WXZ@(}u5=3mPNpJ&r09U7K!h zW;3CtADExU(~{+JVW@=-k)oKmlaL!^DuRH(ifvkmb~P!0$Kd?1(@R&wNLSd->-aM5 ziIln%DSkTz{F8j0#@Cc-Q}`CLa(&)IBGKVXK=yp9bYCx!OpeHC0dAW2F5plPOC3Ws z=W?M#zV)DE@$BB<70>`3D9cH-#wFVJXt9+*={%--Du;#X`RK=1a7;*%<+59AT8$xg3^)6_ntW1E-L91$N-z zO`>wYLS&&2LM2Oo`qIWX)01D3u=}WyODiz;2rwb2;$)4~llE+e^qiVyQ5#l@|1UlP)&MCzyAF_dEu8NtZI;TSSO?ITp) zRV9Zbl`{V~F+`2^7c{-lp*QSe;chfBP*Ld8N5P&XvJ-D{a?dff5@FI4vxoyMwt|O} zIf)AP?gFCJv3I-7;Rh9NuUR?0M)>P@Ppj=%I%`TsX>pyuw(U4~M9#R9>J08IB0gPW zivj`KI;yi1;xkwWCtsM71b3zNQmZrka)GGLk3QUvn?Kz^;inyZYX)TBSv|4>rAOdw zUhxGP(60Vr|Mc1dZkTE{Zu;P?dak|dKdD1GURdQb8#0>dV50S+sk3+NN&K7vGJ;86 z2Bs^LzxD2PUZaD5BzoxS6=&}c{;=cxC2 zU!6lkIQg}C!?7oHuo*sVH`^z5x4Y36SL&`5wrkU?RE($zt?_l%wiZW>X=JjTr8|$0tLbfE{*hh`&cF z_N-x09`>tCvw1a`BsK&?ImR$|@i1-rvV8CLXDp%$HkxZMVuAUEnW)GP8Y*lq&$?!9 zSU84Ke7#Dtu&$4oG6fjt?yys>!B2LfM|vEsdX zE%^DsFz)Wk3%k%t)rZ5;FQKXiu*tp1#bNhR&2DOSIUg;UFnh;0R7~Vb=?FMqW8)7e zHm0EQwmfejGfj7)X;w&zhL4X2f{?XLXp!$JKB@crxir9;bxr!rT2eE6&z3}g9Z+N7 z7j@!UJQJH-Xb-HiJPxdTqC11k0#Enp=ql^vz2C*q-~q7haBj`nZ*ji2Q)slAZICT; zpsbXo5oS};i%~bTVXSt7lPkr3qyB0dNt<#q5=jO{e#U#2A{Wx-rXTN*xpu|0?zt^) zZ#-e->ax>IpQYpd1PQJVCx&8dSQvgwicA=X?Pwb=Jpr$V!?B6FJK{9I67zh$`P-M4 z+v$K;hLPde8|ecd9Rtfk2i*15kV|aAy&n63*`-IEa_u$EnE)2Q!${p)&NTteNpa1) z=A`&$nmO0hv6dag?!hT2>>QAZ6=6%~sUh#rmQ)%Q{~J4x52wp{u-e-w1VDcc zHz&Hd!}DllV92>4#~t2@pN@EG@ssBc=SuY(Iwfv#J3mO(MEZ#C!5}QM-RA^uCjqO< z?KH&o<67`N0WU$6Mv(@&U9Q!<$ydJ88S3-S0q4Q3C^wwa{7JL-Y)G`Ja>iHBe_-~W z%_nQkxIm1J2~H_pP|8?{B?`IqPiy?;8MVe4P|EwWyssXRIo%mh9{&yDp-w6#)MCOd ztr<}2he}nU)dL3jS<{i31Ij2YOiV$ZAL3UiCN|+ z>hMEWSABel3qS(sAw+Pj8_|iC-mtWkFV~?`1Uu$FcA>pP_iu&A5mjVP2NSXw zKQ~l_3I58$zQS<-GBoTSXxL;{@+DIYwLU&gdvXeBDZ+N7&N4K~vAaq|e%3#nnNfTG zI4+DtI1H`r%n;%2JqjM>#BIg>j#<9U)nzozt$hMbQzwOInoI!~J*Fbcqw-~?=~mXCb6%VPoUK*5KzKt?TUVeK*eT|eh22KA?38g6 z!5kh;530wxjcV1r48vn_X4&Xj6;o%H-8`#e%FME#&8nC-v+R~xjrHWg_4~AnM^=~p zyvxk8F|!&UwMlIacr(k!&N5J~F1tM^y0&z6*_~N4%Whj;HX&zq*#mx!Sj$-5!zB}l z)j3!Pjg(;ni*s)jX_geypYp(jjepv%-iq;6B|9TyIAyBC3nmU2c)ixrY6A@tizOR* z3p+#W#;s|b!{bP(t5-G5YZ|pnihRX}NgC(YYt~qDb>p1I!#pP6Ve5n9?itT9H$L$@ zYpH-o|LW5CM)I1*-D%a{@GGDrB-?*Acr@9fdYx8O?bWP10`-BiMH21!t-Q7DJslZq z)u0>Lu|b>8#=F(NgI5nnr{?(xrPMTa_VzvTgfK7`qGJ|}q=d5UmE2`2j6j5t^v63N zgKJ2sc=F=fbjVs}W!HaqRc-ESy(rRErIYo3IC>(qz~f1tq4itdJ3bz25{#5iN#9DHa%G zGH_zCDhc9|&%Z(n6nooxic$^ioURIxA6msW*~WxpW#gp{uHj`o|7ygn&Cz%`qo6OM zb9uA}=Ave$#_TogHtDwo^(Jl6PW?FVn^ejRtI7}6{!T6ufgB6;I$x5r=srGrf4UNs zWrnP0xodnMtqMB^-9^DUsS4D(&iNYeZ*WhhK;$&}w}7-($xMLX*6JIL&R5>iL=S-C`EtqX*qH6Sb>0ep_2=?JY(ENDkoy!17(w@@xphu>Mn4hlT z2*~&6H#Vi zt-TG?z>$(W^kDy9ygk6N*EOFXxZiy&!WIFXb1L_#DPR(<)F zY4M2%O^Z2cwT{BGxc9NZQ1DHH?fxnpJ)Su!Bf-IdobFw(_M&6SaST;Pq6kF~2f#Uf zvuiJ9=4c6kgGABOyv3XPDsGTc&FfZPmrR}g=^kld1XK=)DBWgSG-S^r_m(1sq{LbY zRH3GSgh~;`7UU^lBvCthowwx|xC^sf@w-^#wWBw16IargId~hgVd%>psIjeu zZu|h5bxff@`W@d>VS}uSuH5}y6)=>$Gs671zYcboG0i8jrl%V@7Ccj;ypV5~>O z(VmJsu?v3LB-0S`S8NlIqu$Z(YZ0MBNFcFk2%bIy-S-j<>#o?g-?;*z;qk z8%8N@OnSNA4akFnoK7%Rc*mJOgm}grJ5-HG=}JUL*QL)|S^I`XB9?mf=O0hH1|m_8 za`5nuy{6&lmu-eZH+_vJj}*l82_iQ@y0=}}S(+hkKD5dE@ldp5EYrF8VloI9e>1|8 z)LxWB4)nkww8Oi{Vf4MzOkk|Y4XL4j!@4-`Jx`WEw6nQP8>nAmh)`PK3-cCu)tm~Q z-`ATH*ujstz3E6&QBZFt^Qw)UJEP+(q$M_@Jn_tgI~ZX=S?Yt(GuztxIoMMYqhRAf zMqMg_9~=Cz*W31Z%8~qfR>uB+O6Z63K1MXNSihctXjghAP{tQgRGX^DuTw=Xphy!% zQrWwj>{?9cD7&T|k_^6d%6R6i(pjc|mIIF!C%+?8s+J4QKEF-!3k#?)SIDchySnYkBdK!_6QpHB*hGWlv zO8I}blxOsb$4Nj)BV1HCK%FP7>8^>Df?ZKL-zD^oxyBny$L3(yeOg~7?{a!f|H8+S z9ghB@;IO>b6WCO)?3(0JQq8KY!;Hi(BN04Kd{H7=&i9HRqMK%#pQ3=9d+VkSzVedK zBLl**q0Loe_lt5I`f5eVw^Jt#arGOa|QA`51OI8)ps@+9+0UJ`dMa zCRZo8UN!JI&zm9nb6*UBqnBDj@o6SD{!jZ{rRSIIvro^z zx6d7w|Cf3u;Dr0Djtrt(U)qjf0c)M*7wkLq{`B3iG9+!@B4Wzf%@@4y%u|-=&aYQk zU*1)05c=9WIpce>t(cE)E4gB6KF{7?T0R{<=~J^l{i@}YkJ?hDEWQj?BY0INkv5~F zO<82{MTQ6G!6+Ujn41$%ZUl+bW(7g{^_5sUkt?t=*-1uUGBpE4oSa)t z&I?kl>5bOT2qiZ}E=jevY_UM&%1hQx#8IN%qv7cCEZ7@o@b`(&lQZ^FRnK*)1_23bL?<$)ANY`LJOPJm z7J&P>StI+MO%{kYU)S%>Ith#je8^1G;AR?JJ~8O_3`du7rNEWHmX}1r)+c#w&vnTe z-`M8Ht(nn|mUGx8f$8)Gu3kgO+deH&XGXJqyWYNusOOty0A_5oZ^RB(PR$43Cfc{1 z_O0H&dAw;un=bQnSYI8ZH|W{C##p_70~iu_2Wn>sZzAZ)eMV1^XJ>>`o?By$`m{#R+O^ff$j=BfVN44we<=W8ULVF7(!uf!7>`nV4M4v{c9*Lfr2^ z`Jzj#)R1%NI`594Wk-;nO-pV_a7eE@sh$RMN5>ZJP!}c?3fY1zzcu6v^Hr#ABV#C; z;{naS3&mpZ^>&)y3HhjiF>jhuYTc6EDJaX5k@vg1u`8(OvslRQ1YRPY zW7x^%?6m5^arBI<$TSg=ISgH_$8Q=rfMQ*@J;o1q`~bVd#;C?9azb_DdCc;Q5}#nd zWsEDj=UxSzFiAV_v@DAm0e4W*T)$$BTnn1NF^^zhVdpwJ($*PN6z@k5*m{9BfSzJg zV?Dm_YfN-4lN3g4K;g;Iz@K{SPBUU&FUduFSa6%?eai}e%r7?Ln|8EuO2 zXHd4}(4`zOUQXgOBt>bg$ADr;Fkl^GUnb(E3(R`X*Fp(+Q`?(`!e!DA5N$5(be_PE z_o&H(@e2#5we|FDy=2<7<>Htp7VF_no40-?5?7Fsq#2yP`nyQ9HRb?ez}l zE4b^&3RJo$ei=*gB*hGVdjzxkC)u^)TF;*{4V2WA&2tL;^9}sxXmz<$MtUz(q1yeO z`MnuAulB|d3bitY*cAP4qjn7`6eZ0O5};Vd7+ILsV~p}GK-r_fThvy|T!x|%lJGaGWl32oepcmq9(PDK-*H{9#Nvxt}4)0>1)z0?1QbUqNj zi~(dBtRTvu3-QI|N^A=_23thGz%r)m^NU1G-G(6w)Rc?Cv|P2i*QAM|GSDDlps!ym zYG~h-O4KE*va1w(JnUZ1*hPNi<^M_R!5X@9AMUps;vFa?*Bh+6k+G%JGlxXpWYfvZ z;vWMe+;ps8$)n8IO$H~6xmO2B-OvHH;fyn(gO`v|>TyCSXjRD)hj_D8O2R=AO(b}$ zu?psMF6x36-h`Kh_4_?f6=1SNH-U(pL1IC4rH$Buk`+#ltfe+<%w}cJ&t}0ThAISz zPmU5m6b%;r`3j!X>L3$V+#p0I zbJGGlnH<^g8et1Hy;rO;zLyD=%;moD*v>On<3Cuky|xdy;bp!;n9kuR>@rn#`y_2a zaEutni-bZ+7KPRDBAp>PIcUjQLn`H`UWnB5BX0y_s+s$^(!CNlu6}o8i{o8?`tjtF z2hRT%Qywd|`3aEG@$I)+6ljkDdvQuEcOL5{-kmiJxL8dSq=#qIL8439{bMlv7d0TI zFXyX|cNdJuDhH&!aJ&|LQCGtXN`DLGtv`kOQ>{NEy?fW&(^S_rAK4Ixho`gsZd=I- zAc_Af@1wU*_yO2FQmxQaFT?1YDnyFbVr@Y2#GS?_s^1hHD|db6w}xG3l6Nmk0|sCa z1E96n6P1|ee+;ao*_;>SN{tg0H5z^?k0Oh0kzTe43+LP%SuBw4s!rCMpclWYCAM*Lkh&bPDQowMEriJbib2v$dMgS*-9jpG$;~ zt(FBgOn6GM<)QW=i|sk$I2nO}{FE{N6w@;beid#fyvedx&(pSgbFx9-WCJ!67bGXr1i9EJ8W9EN$Y0Q{zV#Eb7%;{qfoq)O@5tZ%sTpAgCyEq zj~f4j$=F&Q@h^AV9$Z!$X*GXB(~Ko6>UZVTW`fAwYpcTkwVa+E6*RIrE6ml6->#9J zvoDd>YKIn!ZcJT^B0lEKL#sr(*S3=~+`n;+PjBuJo;SJvxuuZ~TnE+Dv=di6m^Q2C zX4RhN#1Cz%-&If>N}ShoojValCAVOuzsX- zeLJ}QLyod4pRy!O7&kA2P;QwR5l44rv{`E!f6K`TO`qap9{W!^$6k5R=gDJ9ZpjTc zO2j<>-liF^A@bA-Cziwzm|^FL5KSRyWBeOB`9X}F$>HR#__u8W`Xd2!a5 zS@&0f1G2`!Jz^&}zG=o{?l=Z3cW!Kc=yYKR))+tSkSk}|7`x?5Sl1-UWH5;nDR|>g zW6V-7)JnBi7t2%Z2#|b4hW`YKi{-q5Me_rs*={In9KY?n>wt^hd=A7JP#wuYns1KOGUTQcw19K*3Vx@~f zV1^{0D{#e`dExrlXBMbOgwQ5<=zoZ7WW#tzQV^7Kd8 zG=Yz@L2%Kgr%6CINy26lDhUuWS1Fv+aAZnBYFLA@l(7uhJJhw8N8ZKu&V7Z?)jgZ< z^4;b0oVMEI80D-89c(C2D;bf_3ej{>K9%8ac>L!!lfTNp*Snd#{+4`M!G*8eB5P}hCPgpdt|!BQ#7kW3tRQY{i9 z8Dt|GI^z)XT>(UAD(QwgJ`BLrfhu?Cd>{kHi-FNw+(zDD-=BanJMthvRh4}IpIT=# zfl0W~+83IC0hJmZjT+rmiFR#)0fP2_bMQp_NW1KfunZp{oD4uyYXIo;LjZCj*W88t z&OpD8!SA-ZGWJLSOCx|c#v3nC%ua=-gVWS+f3nO^zKtj)TglX-{Dx+`AW0K2FDY(wzT{5iFVhk-H+9-ZLpJfvuV(fwX$K^zai1T z%0C9@Ej+fwZ0z=yK~tOPDCssTQf++oQv|ow7IPXA_br#2&2}P%ZE1uk3ybI?M$gsp zm&wB3l!!e3c0x8>3-nFYPe`KiZ-+1YqzywQDHcbq<5hNBJ>Lg%t1MYv863z`U!!40 zldXQPiI(%i|Lis+cK05l&ec(62~KeQ25pbR%E zp`Jb$m^am_w?gwKL)c`q-ivrbb)v^&^GRob-_+Zer*zMaB;j4le~7CxW{?s@bP2oG zG3oie&^b<2=8@1Un(Nf)cMNA53rI#@r2N(AYDiUYi$fqr=~--nMc?cCmfE({-Nyml z#~p}r2sEM%6PY!=jnw@p{>3?QHKN`#eX_=h$ZLE9_srS)e@IukiRN6C?ghbihg(Yq|9h@ ze)RCIk=*FvI?OPgO~L_~)vb>IniI7pNJ858S@;Rcg%~~usWSy)XO%wz-_#cPfZMw| z4dN{Z7$OhYuEy4DIPCMUdA8<3&hq*VS)UaMSED|7^Nt=( z&TQyxCIs#(di3<#L;|yIj7o{ua8sJNKUu^#tnEMTBwY=Sk7-YGiRiFIm+0ZlVB~uUZYPHfDM5ceWpQQ+UIdU5K!O~teci#&rip2oqLxy zA79ED&-!6x20rhxxQ zP7DvVq#5WI=2Ml|?<|Ihy~9bv`RC0aX}QdFBpt~JRDp=-g?~2NV9W@!4f50M9_9;a zS&-)KX{y$|^_+AzWBOC<3hyQ*WUiK2wksn%c3t8MrmyxVd{ML}++h#>cXU@~qO+UI zX(lBWcqE(ATsM6egX2qF2sQZQZxKhG6T*&S|DMDod#WIUsHDDt@Gy01|>{(Wd0u5ns^k0nKS#)t9Z9SlU z+=kxiC2=4vXWopPDa=yca5K+2it&I(8?Ij7L56Yb_jj_W5!NL@Arna3y9$|i6&uJ7c=vrKJZLCEn@fjEd_P}PR^qg|#ycHh;y5?3`Lzx{v-&{QqJ)yoaZYjyWLj{)lF1}Etokrh{9;TSgS)-;GKOhiOU`Gwu(H5``fry4{K|X~I zEf)O(S~_t4pR}Y9*9lxDD?*P>a4cs{24?yUB z&C$w^^ZW6$G~M#Xe8Y5sNYrlhrxzG(JS zVYOMC#S&Vc(2zvGCVRa>lDu+`S8t-hsVSR@Gn!lH=af}(^);0(hi zXxN1LeV=n@0@(KbyuUw^x%b?&pXWU1InUZAACGf_k4Mj zPJUVGpLnLQTpQH7!-!%~nboGo*F=VrR#ruC)-O}OQe{mk(Yi zw<$XR4JHYvE65q1I?g5LWln1|HxjrVD3(@S5)G%`TP%fn>x)F@)c1Yrad0$z+U1vua~H2E3aHWXiCsqjc$6X1)%v{Eh_;FK+a86= zHXlxZl~pWbbhy54^Wn5t4mU(^B=aoEOv3b+`Fxd}yFWq@>K&ZLjLX_VPGV+tP>m5S z9NF4!qF%j5&N)3=hy==YcgyG zo9mq^@;2+~C&-f942IMy1aR!)HKy=uJuR>$-#q-PZ1_=;%jM~NoC-Gpu#P3tY4j%Kz!%HJ`z$>MY z_blh>X3=GhslV^n6iLTGk9|5&8$@*M65O_DQRF3xj1*L)fr=_`buxPc;S~gN>LZTD zLp!3J;-^^wEyL5gH@Fj(hLZM|^*9i@9S})ef%i0>h|PZfxAY#+bZ)?vCy2TAZ&Io^ zdS`ZHxU-*s(0Q9ROXg2wY;$>dhc|p8)m#0JObDx;%gq2eaYQIk)o>7zkSP6lXWm0u zJz;N1Ms)kZjt4dS`R&=^v3zu@=QiuJ!p`J3FHgZEXkD~TlJZv9;h~GJDrM z{H7qNLbDy1b55cxBYXhsvB|B}KXn`g=YHRg!HK5A0$H8PB@gl66_lBucX&snlXSz1Db&bk<(f;7rcZf~b78Dn4M(5g znbl!^7|D}!REh9Q1zhC1+#HsPWOhH($ChS0Sa0j5?~$fA;;cj3?5ESbGyfskXp5WQ z@BTn*ugbf|e?0h?PJ8umgLa2aAZ0nDga*=`D_8fCJ(uOEGqp=PbBTO2m(1mV{7O{n zP~z$hLiREZGDGU?Zy~tFw%U?c*}8JBUh%59E&5SlIJ|;`r$rqKZP2f=^O+sC$z3U| z`N|V$I!8zLZxy_3lK1rLP>z2oWc9MhTNDnfUyqdksCz39Upk^D;j5g zImjU>T6B$tNhqp&fo@25lfRTT$~bi~&qu$A#coxp1RLPk60L_uHM&D9cGg`Dcc>pF zWB|!r1RC#*)OekAeGk_+ieAfKc90$Aew2{icHbs8s;YPqni;EdVQ8Fw;Y2J>F(S8S zA02rscZ-ni?FDGfFS%fg-eLc2^$)j zl%t!Y?f8khF+dROifBiHWmoh^{j-?IN~pKC8yd)D9`@F*A6S!nP)1zPEt~c;0(w-PG7whzeWi*nvK^{>jJR~&?^U#CbX3LAJo4-e$KY#W3 zi_rCIleF3#lp6gJ1-3RloJW0gH4iZ>!|;kKww#wcp$WPfmbdbWjxlbaNFh4LjQsiu z?JFn4)*xc}>gb_35AsH};%oL2lbsBG!`c+dO-;KKZ(i0;K-amJpMpN&1lx40dTNhg zd0~diS~ryTID#Br&=72*qiPIawEfWJr3;fe*j7p*G3GRBrILB;J@(!`9S$|tTo zore7@A@|G@k9LZ!ngajA_#o>0FstoqL}HuY;2qdN@BsaSfk{QFbM1NJ{{ouQj{C(pegv(LVW1o?9Iv}AlLfs0h_XklJcRx8<4B`j*qNw}0-M@*y z_~dhYi1+>e{C&mVLAx;9(DYFfJ&_=Z`S)$Esi=v~`r(2-MmPi|RB{sba(DGnj z5t!ck2aOkw4$%0`kPE5kc!;r89Ht#!NZSWcWrOQVSW&|oNy(8Mj!lA(=HZb6VAkB> z1?$l-6fg899O6cJ6e>Uu#1m|Vsv=*2nHiOfuhKFII_{k=e0i!IWCn?UODl0%oNeCA!Vl|?TjJ1lEc@b?1(Vq(}3J^+Cn$9`j}1MJt) z8Kq!9z__3njYJ|Z!9pCCiqdTEhRX(}$FN8U{8w}Oo5gb{-hK_V%^)A>0V!4|Jc;eO(T#;KW+KaIPAqTG zix+F~cS#qs$hnLHMWEGK!H91wA-%Dz5OT*;+V6fsC{>FUL%OH8TC)*b#n)sB%9%I7yD+umrn=%Jt|X@m$<-g? z5SX-5y7`leyVCIn^dL_9LI)x-A#|_}lnLPgd-Daogf|xgs7{pmvtd;bhiH@vCl{@= zUcVu?TpB=3KjKHgTS<6wa5v+NOHW{e3Bh`YZX{W<$Q6S5$_wFHNz~P_#`Dm$(rj6K zf(Jm=OdQ519NJ8$Kg({^8z)P1a=f)iq2KI+-~|BIWw0)WEQaEyBS#>`?ShdctA!WJ zy;mH`ZC%X3p&JTHNFN@Vax+4=vxNJa3#gfZmiyVCU@TaDUw___?&GWj;y?nH+eKdR zV2T7^7sZjP?T+w#?fP_Wwc$b3{fR9l#+brEp(Bi&?ws9%i;lO?x!|&3NS_%!Oiwy zO%_FP9I&dmYYfig3_=b?-E!@@WIM;EJ*|~oUGf_YFt{)u-MEl+bo%U!lY5DSqZ#w| zwB@L)$7mhMuaC4-vxwB|bRkE=9%Z_MS%`cr_iZPcJWST@&~l^4r(tw!>?e{=t9MUJ ztOU8`A2Zn_45Zrro!WlQBFs9bPUk8H-xEoJkZzD{(Pz z_e~-#xhTC~QR;ZfGKc(@J9xs4RwhAr)bnI?l!7Kp5%*nu2`e|zlR8=x(t+iq1Nb+b z$G7MX;edmNj%ziNxKAp_R0qA?l3B3G`qOnNhSiq46ZN3n@E@SoXjJWSK<)Vd($f&z zopV7gV19?}WB#HXR$p7>yB8csXVwa2m6~Pq5l$FpsD@q}=FmE`^9BXJbyR3b*b+cc` zoErKbX5m&_bLczKccpl{CF8qo+88;(0k7s_$`IG6LO=k^=9U`W-UVAGap>v~C8eT25`k~cX;WeSv6*eT4Ns*~jny{Dfyz>~2`-ZM+)(5)KS zd!mQIeh77txg<^$+TecjMVVSdoEaU#c$yZk>#AJ?5V@hfTQJPg^o9Dx*pDsMMyTZ+&Hz%*ii# zFXR^O}$0H zi9>v+mOZ0)>XCeBr$QYhh#;*+w`+(#Szz=QTt-d|z!Wr*)%QfR-W!HJumuMP%(_6; zHrW`ZJuo}}?+Q%+xiPdU;0Z*HYWR1A2g{gG%_6%m=y^Wv&5eW46X_24IQPQ*s0N?5 z2WRAuY2{6fZJjXbtSG~g->%l#nfnuQ`{0#V0=o`y_AF+=W$q-5#SQOJTk zp$7`Z`qXGl$>t92Qm8XgopbPYb6QxLrw_i0hH_Jap4$a8&Z8%r&lk8Yn85R0kq7^g z%SS(W0Na(?aoGSlDVy#MsN(3j%>n7)d9rDw)FR7PKKbNcGjw8l{F3~U)N z!5mO%~Zo~d1=NJ~zP zPMHg|IQ1kr6LL^n59_|*@UCy3)0b4IFU!!y)IERP>B~QPCsUD=Y0qDD2VY8LdQyhx zZ$>8uMZ1uQz*Jd*lt6i8xKNirz|UkwW$6Mw$>xV2Y26JI)$%s3V*jfKC-@aIufR{ zOUNvPd&X~ZI)z3dr2#EC{DrsPQk~Wf|n%JMC2OA76D%|8@EHW3*g<&%v+O~BlaA-k1eM#H*&^*8SUQTwENa;&iE7UK0>>C z9Y7E%>`!xf{a$Z)N0NUQ_W1JBA^wsfFKO|YPV(Xj?`R|0I>Qm)mQ=Sl1<&BTa{1Wn zho^mk7#I8OaVh9k#rtsu{aAmEGk&KZpEbqD-zh$R-Xr1>yQMoiT6q25OoNuzN74!8dCnjp&yB$!SFLeqGA;H-r)#b!{=u<~IH#Nk{ zOkL^JQR&oiO`?u3sUvbHz^Y40Js525vB#yWMQ4{jkgLZxz$yL1*7*2VO6iLP)MZxa zH)XlMWEt%_i2`({cf2!Q)I(=iH_xf=$UHruHxkwTS*rVpP1-U~^?SR?tX#y(sEg|N zb`>>xS;pe*uDWLVh4^w>6jCOmlq@U z(E8AEqYM~>nt2k};BfDs*#fX85$z2Vp935uZY_rMi`_S|CIDJ)uzvI75_3i6j1Eb` z%U2EZg2Qj|>0ryt^et-;Hy?Off=q`{U{z6vB-lo%!}z^LD+qQu{{JNIuKrpVj7fD! z$E0{TJ3U^it8OO3@hEIdxdCI}o~Y8rM-C%yAsuVwv$~(s{@5p>kE4a~0`QjIQtD|s zf{V_xQr%tio8kDbb0qLlS55X9qFx8fecJKGWJXb0jGjg?+2yX z>9i5gQoqgDwjQ!1U3t#TLs#;mAQZaz+}gS(Y6})cPS64bF37^_lRdyr$3_ivWwXgj zZS73!qC{rz%=P5;+k=wiqFcYM6(&{V*F;}u^y$s@_<{YL&*3#F;wAbd-SK~ju7XQV zI8%%8ESxF41ZnlTJqwdpuSVzrPO5ZFEUs6yPd zhzq~u)NDJQBhKea^h8}j3FwL5b{UHF9~&rumF90B|9Rz9uPc}%;d)zEZ;g}le3k}( z6m%x~wX-%+ZT%(ejeJZY0qv%%G-&4(|17**{OHetrt^wPCfhbsQ$YgQ6@q%fNI>(C z7~n4w5>n(^2h`BDc+JLM5o{e{0sJ-cNqa3`mRydAZPvrt?M4?vHl3$_yG=Z~g;F(j zgrbOmj?hDNF5?x95b4~2c;_5OkS5ODkwdJ)8Dh;H*?-P^J2AU(N4EU8#IIWtQNpTY zgfLbQ3|UgQs+X`LVMuq+rriWl$B0u(SQ(F>Ltk7Jr)XUWkeOD$Q_s*}`hPK9P5~p~ zG2(m&A}$~_Ol)0fb<2o^!dr`XFGe)3m!9s-_=tw;DuukG1I%^TzmQGqC|dV;Mhh;H zhEp}E3k$2W%N~-VMEQ}1b8?&QA^4jiIbI7fKS4EoN(1gXXDyZ)MgJl(se_y@?7z}k zaZ#N4IU>u}&7ZZ@-s(YYKbn^PL?AgHbYqMA$dYrPZ&FX`HoY@1CZl&DM^5#|;2lJ$ zAa8oSV@*_$?ouP-Ie(xmVJOnudKV%n4qb=Q8A*l0t8UU;?#O>D2PRt|fHqnNMf8@s9KL+W+2zDbCjn!KV3Oj$r#3j=V!pwZMWv_cDS$0}J=} zOe{p=HY#_yOg(41C+xlF$*QkU#N)1$CQ}3~;bq(9sp=9MOAuraId%G|6EqlJk=ddZ zm7uJA&`+tFetL!JVViiX^*qh+xV+VlZRII(9|bDfL?|`b87~>E^g(qq z?Fs1+x`QnoO7&~{fPGdbhUFuqvUTBNnNB+dYP%tErO4IYL+%S(=^?W zQD|033_71 zG`;c<^>9|+(fY-d&p+%YI|U&^nYkXqLLyRX1yOUIpanda1-vkBSouutOxatqTue$N z0d77LG6PWad8=VC5i~m~*gt%#Rq!EEA$X4zyv7QHx6GcNWNxKMY6&u>4*pfG;b$FI zCy5(v4tjivzSw&NG;VaSoz=nhaMQ6}>Vn~? z#9e|$0C4|d0D4~pvukc%vDNFZU2z0#xok-_fmdr)3G1?AIkqo69W_K66L*uYf+z2B~8K~)N05%hMAI$ z@B0vLO7y))X-Vr~El?+n?tTI-efVh8u?59uFE7uYA zigLwOqJ(}CuBX(J(J~JOcX4fZ1dSI`m2UaD&vn)9q-wfb0U338ir&$4yXzf|pEvDH zB`#q_RAmiIw3q(-rFilC&rXHB)#8| zE}<-D_5#9oi(l__yaE+v_AAN~kC;3~lg*-Z%_@S9X>LEs6M3Dg1b=+);1BUJo&=gZ z;xG3uyB4j^U_iOm!WZ zWZz-0YPo-N8qOtZXY>@`-gh-b4qx6P-^Zh(1a0i~1yd}ciT4c^$|ezEl}jXk{~@np zYEMsX4wi!-K$xyU;ZJ@zhjjqSAO`Bm>V{QE|^c0g8Ga?fxTqQ-x2EF^P@* z<%W0A2GtoBuz(L_p?d)pK?>Y?+3}c@M^0|t2nrZh!3*cKL%(S!#VYKB>LO%-qxlf8 zwH_v3qSld4t;td=Hvy&~|xe z=(dI`h;BFK?JW{8Xgb{Jd>{G9kX z*sRcCQ*##B97o0GT(J2gl}jy{GejHCQ~;Ybqu=k@@v!~y{^N#ubd|st%x)OO>dLsP z7t*@9qUj>ueUR?jy{`W&a(`yVeH9Nz+=Hq(2O5V~p3Z6aU2rG(b;i{Kp34~uzKIil zg1Dd+Rd^Q~Naw@bWbJya#=#W}1Rejpk_0oXe^7r~n{Yc>FHqj@2CZJN7Uhfk&EP-c zz5-ZyYfzzO^hUAdCz1A9T~=d7hz;lXdC`s0^W%Hvq7}|wnb9D7MUT?1-N3k1@Afq6 zgy>YSzAwa#9))^Np2dc877u!>n@7Y(t%GBS-XP}Zoxq1qD;3$ z=5*0{)LSFmn}yoJ8*0^yPUmRygv8*h_hw`eWFv$TCJB3?EAgJsxihL=cXu8=Qg$v|Wf+qkU|S;w9_4rSq;V_`GsG4jcQA@wMu zj9yeTX5PA`;v5-G4@&)tQh=O_$hNcM4#0c5^B&hn&($b$(?r~M+s|G;toc7+ zx~j%)d_jw87C&%ET2V?kB$Gvj$>9Rw!wDr4paX>rcjOK7Ind8W_0DuIV+TZYDMu~a zgOM7h1i_&~?1hh|PnxkfB@5Pq_b7xQ@~#X7t^)K zVQwB={DvTu(jE>EFQ(O&qkU!5gPH$Z{=Z26E;|2NyZ(7rU3NW0LIr2c_{W?Zg#=nb zvgsbpzL5iX-OeZ;Cy$fL%zGAP(GiJx!L;jV4A=?Vb_joQ$x{APf_ZB;zeHoX!j+OR z>l&EL`~u_#Tni5^L8|=oLQUyb=!g>pKM{+nxd5sFjGFl_6UYpRJr%oCv;hpWK_vSf z0^#Ys(SG5l(8YJXv&9fV6khEbjm&>XHL|kanN#@?u%`D`hd-24DZE-LqTWt%AkfvT zKS0|=%H@;2WE4N@&WuC_m+Dk^U(6NIQ0;z{V-HI%zrH?e4PV<`{-T`D8Gmn5B<5`@qM!rn(a|gr5dYYxCu7m9_-v}10a5ZxRcZ#iN6Pt>qjM%9w>eYx*km5mAicNzI^D{(HvgLEw@|QCfApE1w8p83YFSMX2 z?ENU49g1#xq59Pl0mx(l##T|5v{Bu>Ky19G6)wA)!2&NHWh^ESYtY`X`l*}bGX<=v zp2{0tA+Mwjd*?)qJ=(A{dYSU+3IRN7)E{qm; z4M`Y+@O1b1M=KXTO6eO)k&p46=*0P-%Xg&-yoQa@LG(S|w?@^l=qCcr#2_;yjPVf9 zDp`0Avz2elG!Sd7O8PGQfbNKwkDqlzD=oLyeb@TK;vyWN7;WXIR~2PW#gc zwCis3Hq<(Z%#kK&iyD@PxJI1=RbuAfVFmvq$qv)CIJE;enQBUnLg3#j&B>u(z{#u^~J}VnegMAD}cOJ(7?O zVh4huMsfC~mEYYcCj|Q^WA_-ne}0>;_fMX4lWK4RsEK$=dx8K|2l>py;q}Sbgjj{C zZ)SOm594($IlSKUW~Kc2>UaCX>)UGPgoN*y(&6al`fZ-HxrGmPJ-XRkZf>}XyZmZK z0-0sL$z(_gg>F`FDj-Vf_! z6R`J3#nz$#-C%I`39@A(!3X}>M%lx%26=)5w1|cVySf;q#&{q+>jOo86bikf2w~3L zCZ%QPESXgM;`-<~Ia50jCKdXKGMG^tmMwYYAVvokP$|s@Q`=GtkDaiXtKaGKFG3&5 z6)$wq+?u;3yxy(DtTP#1u#~etluB}&&zhA6_1kOdLL8Hg__bb%R_8k_A$;bBVRta~ zPq2jfCxV^)F)ZLt6FcRw;VnK<%x$C!)?>xp_cWl@UgcvJ?qGi5vM-WnBfl}2Yvd2} zg)TR&Dw%O-Pt?cC%MGhDE9!|y8&pr=&LQfCT}$B0@QNHN^bajIMc6j%4mmRn9OEn- zEi~lA=%HEfWY3q{m~hZ-0Jn4g@bOlY?yb$zsq1ijSYm#puA)*Qp;-^G*%)@*Ety)V zNLU2OcntzQP!q##mk1wwOXXSI0^w0fnKo)S&QL_JcY%yX-9%JZnW;Q*{x$RkoWHrF zo+)Ga-S;@Wuwg9M9p&opC8uI{F^Jn7EDu z-}^xuVln8UkiP5|^xY6>{@VI1F8#>`oAcdRe3vkPlPb`quSkmMpjvW!!o%(eLx6LrsP`M-p;3Dyutu z2LL*&)Y25X|3l4lVog1PaIN}&}GZV;@Pga)iXNTL`cc>IgX`3z4`W4~n`c_E%R zq?Zlh5Q%JoSOd$+VeV8s=fheazCyxa8UgjLRkQNnX8bF1Cm3T>SeA<=f&VfH^eqS zsFDEq1fn@|uO8q_9rX6;?Fh8QX}U%p4&+SL#xzMA(kojXF4le6Y znmT$9J5$t+2D-W_ZJZp=&96xSI`0|O0fKGhBZ%KORdXFVU~mOwH=s2kVXcTrLhV~4;50e z6Ks+L5x>z1^fwI$HDy+Ib`)gr;e3X~)neE^ZrQrRVvjscz(SI4Cn-|A_w;|pPh%Tb zN-?YJ++WG0y^>ucujWb3wo!AkfiD08x49fJkyLh?hN(}*9+tLTjZUDH9ugsp5#bc%nRUDiBLpN)_J)g{KUmv+Qxr?YRV9uLMl3`C6 zgMAutxbbw=?oaGG`{`Mv6JT0&!>CE#7}}J((fD@)|KX>yP}OD}*RbQAc>}kMfE*Q8 zp+`*JoN-L4eQ{I7$0y53ow;U8yCu_VUu=lPxC$CpIhek0CKckQwQ4){7jj}@6oQgL zF42?+WkN=oqnIWMm#XoNkij*TWqx)_ItIhCXeAQ<|t&r2naXoL62 z*>i;uq#V04lACE2VOL(;2JgZxRqI@Z56w8bMFnX;f}t>@K$JV%pIl9}k`nU+X))R! z`|38lXu3w4lLKCkHCpqB4&+kZSbXQu zm<>@s7`MV8){k6Q;m3nO?^!Dn7M(iEu>Y;ut9%%s2FeGrP1at(#AikyQe@CyFlDgX zkv|?(!`ZshwNNL2xb_(RaD~d{&^V}`>k1Mqmi#Z0Uw(fLW(Qz;4Hv_vJ?fM5j$~@ZxJ4b5F9P{X-XElilZ3D;nQ<%oqy!oWJ zpq#fIoYAC4UP@JTthHY8gK9JQpMKDzm+x}BR3Y5~Eml&Na5!`aVnD~5raO1(?i6WH zn~}D3Nica5BKtVSqA%0oedUmWAB=FwKm)B4@r>?KgE;@4)q7FuzRx}GL1BuBpxk<5 zCFWTjobRD2;{RTML-9c~6y%)a%76Pxk3aUgp5~zjT!`Mdd8SwY{-xkjVbpRC_+&ql zH%Nr~9v8$N7k1?)zub@kk&L{j3`Z8+UJ)dB`L`@PJ6O$^0Fi7!xMA)S!}aveZ=(;A z@-uUb)F=(kCEd=Lz6&g$B1E5^_M?cKiESZC-|OczA@WJel%%aB;TVj2AY7D5a!X^# zH^R&R9qni-HyVEda~r}t^=W6hx58ZLla0Q7J4^EIug_VM=NW~w zWPf(Pf5><4RmJ%`p14F$G?XPcfK|fS)S2{xOfAg2AbO1~D@+UY+>~guN=3o7QT&+8 zVj%`@S-@lol;JEOYsVt8sE-x#2Y@m$9S;;VJ_RdP)_AgmUXZ>!t zORwKH_u1>`Oimjnht1IQL&oG%QxTdu^HQZ} zRfoKm&eH92nGgVw2~jDX=(bSY1THY6>c)7-S(Jjv`-zUf^nXx5KvboVk%zMOOiBP2mjS zw69Ax=n+9dl2fAGfJw4Pgj2X=@@N&p%N&u+HeQ(-{j&&$g^}2DXCo3Cg-CAB$>y# zXC8$r5$cFkIaB0O%5C6Ry$%wSV*)JnlAt(_DST5S<$dE*iRIAZw|V{N(cWR^5demS zZiEto1b~O^QxoYLtT{PC$LdGKGY8ebwZ6>@dYYi&XWXFyxO*!Nz|zOWrHaNrm7BFz zypO}GTqiA`cWu=U5b+F&tzMquU2EPUyiznrZ|x0h$h$VSme2yz=B;1dV3nuJ=Tz8o zcpoQ_6uk3-;`=(dta8k3f5|s&;fj51-|`fTvESMoCsyXonK*Xml!FzL=Up$~40BkX z*;_D*`8}7pfVlyjV&4ta?8IW_TcgL1>JvE{v_tH*I2JbS6t7rEBX z`vtKnUbt*tH&hPb*RwbCD)&v{&SQ-yiw=mj1}@}w;G$0+YoI8eW}ztMt$vF%&MCdp zyH$gJTWKYWl>S*>VynF~pXOIk5fbA?mq~_jLpD_weJ5*fP?EZhc->s4iuUn7iaP-H z0*qGC54_72TEMiDAFJpX05^xHc%ne0RrC{yZ}OxGb+QU@Caz5C3VBIFd#zdzkmGRR z?HX|Q#f}N)lSzojz7h@0xJ8H7R>}g`d8?P|3_mh6r8bu0DK2)l4Dxl-akwHE>qQRy zA3)G(4fTONyiY&H*T8+nGx5WvV%s=_kh|;=Oro$uiba1F;PB#7sgJh?q8C%qV6H=0 zWg4c0#?_R@iPs#I&e^s~xM@x;>RqX!OUrAsyr#9hrpumV!+~@n+7L3lA}fx296egC zREmPi@3Arg7Q3z=2>Qv7PRKBnnK zW8rZ&HLsVrWs~XVO7*G$o=%_E)Z7roSy2-=e8S^$0b&!MT9}AJsjEZlLM#ekZ)=zmS89=TgtJ8AmzTgkxt`jrcnC6VM3?;-ohOz1d+%l5~R(Z-BlxfXb7Js zKnbpXgLe`qtXHI-rLo$Dk6%40&0HO>_ZZ0od}cdA*-)=GapTOvTuysOhST`}OTO=z za3^1Dj|jr-t<=gZWbskqqkL@zW~!ICyx;loX`Ou8UkpIMqzM;~x> zb|$O16+Y*co*gbW*GELX-x(PMVg(0C@K!lM*r&4D{)f@;f3x@1puClsQPi79_GQ}lAjeax*MX8 zEF=FQ%9-$b7XC?t7tn#Q^d0CUR(eM4Y7Rd}5$-gm0dE_}6*mr{GQhanR-Y&X`qce5=t{dv9< zSNTI+=Fy?8e}i1PLyy2qVLpY)WzyXo?WXcKOl5Ce(R-Kp;^SLH!cgP^- zjxIAfdSp0`Hf4cZMjmj1;m+<+eB^1;nZN&4Rr^ShV zhJbEK!M?ZkWIs+h$B-EeF^U!Puh`6`ucvy0j?4+taA#|s`;k+gOYRff49^@PE(4hF9skSq%zug7BBUG?%8|Fc3kgGM9)pXUyT*Pz$&VYh z!GW>IGmYearB>%M(^u?WI1H{=xu@8>>>iKbJX~T{WR}e8(!sm%mbT_6q9>0iFZPK) zwj94`7vB)wpY(koRv#ctL-d~*@}ZcPamQOkNM4oF0Y+td8-HVQo6IqQEh*PYY?V?I z%}*GeyG6&lxI)0zJIf?P_}Go`_K%GTriG8)5WL#EaH=P_Ia)?e&LagUCss3dYvhN> zEb_(^#YCuP`nQpt(TVYtzvz^2NV(q_yPk2i$14(J@q7IFxQNR?Jzhm70f62Q9!J-+ z;N=Q#i^-vy*sVSxDMs=o+LK9YSKPDLRKEH1SB`J*T{xsYjK=)E;)qpura)Sm+7wv? zxv?7T79_kj*zLljV7GH!&=4S2^v}$-e)E`j;mvTuztj|@`Dw9;9hryq5gm@(cK17) z!cp4d8;*%=HvuR`EvMkh&*4qj$)e#c1d_gKiO64w$YV^0Vc{9ha_=83@K&8IB$dD% zyc{8qG8f6U0Nr%&!o7$->-YMK?LJo#W#NVFkEC!vkne=c^1q$fEnwf?)g^)Kq!g}* zwBw*ykF9FB5A%^P#M=*7OX1|S>nX0$gnELm(3 z??$no_xbZzP57nYP#w_yAVh0A3mFsR8L-$q@hrYeWHsc4qKcFXT&ky=QJjcjpG13H=`WTFUm)va|Zgu=)iE$068hLtnbuy|C_{ayS z$e2)XH9z624tA zU9k&(#W$fnhRsL4a!W9i4gF0Ya@Yj}|0!R@k6b^#N#ME9-)j{QJlBI1%}wxQ1ei95 zg(zYC$zU%(_*25Va~z4$PU^>Qj?PVI1st62)Sj%{T@}sFZALrb`*m^oSr^PX#Ft%# zlk2EvGD;sln3p)YgfI{#7l3WCi0?(g`WLe#mWPfxbgH&D^D;zTM3PY361!xmkY(&0 zcO599eJ`rWNiN6QiW7Q;M*^tK)sSx0{?&EFBEi@jQ5aX4>}Z& z#7j~+iZ{Ft0sg*h=0&??2N-3+}w(V5KVixL^`Z-W+}mb2E>J} z_&@yUb`YvJ?WCMQXL@?T@ zns^ec9R~%v`|6gR>jTmt@EtsUw-^N(W=giYcCOO^f>U=pr-Anl9TSc|njKO{1=Ia~ z@tNKK|NjayLE2&r(!}4Wi7}KVnvhF~$m0R$(?cDIV#|p)5jE=-#~YWg9Dp}ha1X$z zk6rL3-{>8NO}{2XRAEa$rA^JF-M(EAJrC$l#fc`?DPy~R`-5g_YNlMm1X}1zWWQ~! zdwj*#uhUB{d?e0D6;9M6zxydxoPQGQI~=e2y@Q(k`74UO1GbSi!Kmu*6CkkBZ5&)HQW3xa18}ESSNe%fUJqc68 zb?T>QsAGRcf}MqrPB@hBRsv?So#>q~BYi5fn*Ej^4ILz>HZ#Qy!=%$?T5Hv zMvgxmYv=gB;S>vQ>%QT7(5Z}aYqR-UGHq}1RwgjuJ z=S6r}Z1=~tc%?k`IK~Of;YVQ3&BTVoRtRr$T&kVQ+jyV8NuUn*!_{!QA+=?+eX<1; zs3)Hj#!DaEchm)Q@ffb_>&bB>7{%ic?{0&?wUoiu6W4mwb59CiUG^UZ2Ajp#dWy{@ z(iMg)w8EQ}dgSUQh_=XP#x5~vq+G_H(EVVM4Aew}Mb_KWv^qQo z-uEsBvx^&PN>Axljx$Pp&zm|=;&alsnn!)Iiu%zdD&vqFi+THB1WU;m3EHZ@m9MDp z3_V1E*N}q89@af(7&&agY`FPs!L|D|8X<_^+18A(j53CQ)PlB-2?s`_EpxlFk?zXv zH*`U6EZjfaMa+pth_)0L3VolnQo-Ld6?&?Ay6Y%M8>5{z#L!zTdVyLk^Xm1Qt~PP& z7e9Iuv`AflgFf#hqNXfYgW8-=f*gE}u}zYuMoL1wjS)^8t(-RG)-SAnpWa2`8RIl5 zIf;YhpsJ>FYr;4l*-VjVX+`4t$pK~0=v}U+lb{bU^8la6@fP`p5+Zr{Lf<9zO|o_} zbBy}?QZ~E<=#R!-mk<#{J+qkGwFC>0K=LRN(O+%y z>Vz+TT2Mp6OElaS*n`r@XQ(!-{df<+>p!!(Qf1F@W*7qlW>`CzcP9DC2V`c`US7*j z3>G5OEh_xBdyS;%IVIY!?Y;s}rOx!mW3T8iD@EmE0^Bh^)fh?P5_{ZRGS@gSg3u#0 z;jiRXf+x%J*+ZD836q7n2{x3AiKAZcWg27^e1ATPzvHtvPy7-R2b+)20-I8#R{mSn z;OXa#>`B?Rny7p8em%0PHF_M0VO^tN1x(Hv2cT1A6q{3_*!IJ9v!~v!$0Q{1e0-HP z76k=!${6%r_<)j$KYI+j)lJtqV<>&?KgJ-&y)RvalVjodl|Le4QVu2eK%R`V*nXG7 zW4@PcrTP0Oh;xqEP(ePP=)o4w-{moQs{Lp=4~N`t|!`&#wu=A$*xQ6 z?&;(LgJi3-h#ki&LHzf=@rK}&V(Vt+<`{v%Q$_anBW|ye0kp!M82C#6T-+^_Gr^L3yknVBk~c0k$s8i@wR@iuIBrM&gN#Wzhmnr z8`e^{hX&P0^PtMNSLn?b>HY+ZViU?cJ|0F889OA&b*s4B%jhmMX!m{eGK@-39hN)n zl=eoWyB*0$)#)(?xBB`3@h!USa9A5Nwbrinm@)+s3iJ7WMP9@7se;MU*i=JZHi@D1 zdsWY%JtQZ@tc4J#qEMc@M%@am%QcIO0_rF;C6mSy2L(%zJQ9`zNMl(aa1MbBmp#(- z4M8&nc>+Cu+f4Svv{_5!tu%iRp3uVwGnqJuiCC0o1iv?-4Bt}u@2Gs}5R_`KHu807 z$KZ7`9D7ENYF@ww<$Ua(yT-g}3{m2wkc(J2rXGM}yNPb@$cT6@7SajOJ=rKTm+^!A zgq07%-Dl)~8uaE*&VsLJ6{3Tnd{NFx$-Lgl-1uKI1LtRFKF9aNt*VybpUcKJeRBvY zOPRe?^DUHUgaoWt^h;^}$xxa^caw>Th}Dc?O*qCH0JUS4no9IthwKtq@;8@cC$Sdz z?bnwN^~4JDlUFq%i~|9X91l!kIA40J4k1>uMQJf$zb_3Xlorcye$iM|{&3SbyCM%U z^Xe9I2lAcX1k)spw4Tf0?r7&gobB@Al%{Vs;lerC)*4eDP08IKZ71i_9(6Ip`Z?+g z012F!&Ehl-#;fMIs<#M5+ER6>yOdo?S$*hqt`(7oqCtg}?rMT~K|FqKWnlQVC6R$O) zh7NJaWlQV$iT+ET91%Jm5$6y*3G3M!su2qbkFjYtKUtf08YY}0YQ7OBR@Q_R2?!uu z8Maa1DpB6zh!f2p4u@{=FtX6`7ffR$i5jZ+-L*Y78A;R}{Sd;O@6cWuZ(gsl+RZy1 z+6(xM2%E9gc8|E3xRyhyZ3r(rcu@u~am48Vh&!UVQIv~}GsR_NcTbMfQzk;nfW0*R z7>%nvlLWJieT=vIr1ZviPo%G<_S??RAKn|_VFd2JqH<}!T_||Zp-{prNHL4@_$wqs zt{$Q`gd1#Eiz9TX@$cBEb-LQ{X8AE+p2H7eA7%OY<|Kx<@m6Z;CiywUTUq|@AijxZ zdd-nF#pVNbH(UL;i5^@XZgfh`X{#YfHi-G!UnU4Z}iubdpUxxs=5Hw(gw`|1$C85 z+AX2rPmyPs3p13(x)z%y+3F&U%wz$)Gv~>0>^EcvRp;@t%Vx?mv7uDJF3A)o%cVr5 z9>-P>DfhX=sl`M^Z|rr_}z3o+Z0N8FmqcRq#&sxl@?aQ~ao( zDNOI8(b)wq4@}mXvngIHkLqAZbmFzP#b9K#->j$8C}GTmuOMKFr2}#ia&r%``~HnL zNgWm+P-vqy^G!aooCPsV945_As`JNIM3Fykcf7;;_)3XQJ2rv&>(vNgRF5J{sM2Y) zjl!dCSnm1D1&A_Uk{>~${T6Fsx!w1pZ4wpupt|%)tp>Kb*nFdgIvZz-z@2G!Mc>EA zbbeXZ_>Kvr%4rQ={vrf>Vwx{^i+cI-bK^;fsTScCo0(OXmBWlv>_t5?xMx|S&&uUO zj>^85c42c{8U6am9+&-U?oexq!wuWlZKY)6eyEZjBt(DdWP{RJ+@$wprpT{E`eNz} zfJSHN9SJjh7KMtSz_6lTvB7N#vaAjc!lwbY% zpG?2rT%GLh%Bx}8QYAdox!gKeshLGW+v+rU>mNfw*8}>Yb!dMzt&fi8x-i!;XO7W> zE1A#ZIOp+A9w$4G?=jxW@U-8$f+_y+M@ivnbDXCXynu(=6t{mvrp79pRbp;0wRKg+ z<_WfRF1LV_>h8zD{OgSSw#?iz`65(bzIDatGPX{w`2ES4rDry}Judc`Migz9<+80T z%ei6?ZXS+KhMh644%x*`)a%ziP`DG@8T}>gdeS7H);F;;Jd$=9X}NW1eY`+$9F*;a z0jVCiAQo%8c{t(qBxVlMv&e&__=n}z;cU`>hp-cd;w9H_H6NeV1#t zW*nqv2XJ#_1n?zT=;$8zI62scDTH>m`sEBQ2PKG54^`UZ80fi7WFfFr0`~YMvDC{{ zspAE2>kW{W#mfBAwQ%S)K zB$T1ibXC9}5F1eWL`EzP^HK0ew`g*yxdCJqt9-&88xis@nLgvxP8>HyM2{u6ZdEY{ zv0+BN%lfHSRoaCV){hNQ7##a6``r+_qSPKs1M}%mcwfGm?!WS*Mkera+fuXpE2Ko*IiU~cbfRRO zKhmErv4M7c-ExDHYrVLuZCx{d#;J|m%dCQ7y4E9z5!J~j^vvKghL6!U%;o?-YIipo zn?IB=H(I9F>$|HQ(g`H|qYTxff;;0w?Z+5i>nCFn_1GDivL+g&(IWz+qZa|MaMFUp zg>F=>_R4qB|LLi{RyZ8unN&}=dph0Li;ocE4|AD}aP15HCy?3b#(|zc`E&r1#)0CV zBrDo>)j&`88jeOLNupN`?A<_$i+DeijpRY&5Qk(1FCb+$$HzF)$T9~K<7_gV`+?_0 zGx%@?>GCG2;u?W?0FE|3Ik`tYE!dyOtpBKS*8i$8=l@b8lzpN`(I4c@VJ`a;2LaiM z<9mKuuNH{RvLf_E~667-fC!A9)zbo#X4O#9Zaa!t^O#I9%$-Yx*yYBpDRt{Md4q`v z+lM?qEs@tDdHfZURKedUxLqv9@NzZbS?SbRR_J}9@VGH%s=_hOoWZQSZwx&yHK&d% zHYZGmGOyGvYZ_lg1*yR4V)n)Vk*e1ywMperB|0zcTKYdVM|rcU4$}G@)|UXSW4@QW z<{_HRXr`BHw^Tt^kt6y1x8l7qE?bR%$4%k?_4{8F-xHh-0o8+*>M^V$i9$4rCF~8W zf<;9ym*d{3YLHQ@#d_rs2jsw0R0hPjVM8?LZw_X_v`~8lzgi_Au!9C9e00Yd;ACHR zO};{aa|D+-^CVh3Spsh&yNdRZ@R|RTDdSXezY9bbj^ zK(9i&R;`~~IIio_t&w9i$3{vD4bq?vi(Jk4v%_||Hhfb>k|wf_;%%GtE@$dT$;6vY z4`JC!$-C~PqwO^W4Ud$te#09Y5!hDzpn1QUGQ!|aFk3ttZ>&7gE7%H6e+lCYr%ps<;gcz$ zwUy{82mf6&z4qCiiCe?gU+8JA-sB)v4MFg-S`iT~dE!M@8~v0vvE%GE;ce6Vj|+K5 z6M1g5IiMA)+AS(J27YzqS_A|9YT2ZM5^6L`z`Hp^5tLxx%yzfap87x|0XBBV$%T@l zCxyKaI25rF+})iF<9MCS>q5!Y!Z(h)t})|-5k>FsPg+f-p1Hc?Quf?aTs6uE66qO2wPK@e`*38%6`JISh`vJ;`8GIDb&4~(4WPK z-H^ZZ14V&=hHz;OT$k#RvD97crHSaiP-Jm`8}r+(Jl7^ zTb8Hm>TKD8BU#gvP!IOFlg0L^eF2sNxV;0fH8{r{u)(kgoQFbuGBlZvd3ScarA8zF zr~gNNMY$}Sd*V^(AWSk>6{kZ{v&^}|1+~*&xQW+(1AIZOc|`I1aKN616PNW0E#8>9 zoUSFIgO-tWb+lBJNRk%G1-|Ag{t4MLA!o6?>o4j$jZhcp*%jLpL7{C}k*ctmV(*~h zj_N$}P$&G1WFx;QOH`?*;w`OXA|zP$-vGwPGH2j9{&O+>N1RC#$7 zy|xRQ-{i}*t!KjT?UICvPH}NiO`!3DPbKXNigTK6=7b6$901oJTn|#RA5c017GhD^ zMe#^=t>i?t`*xz=Es^TR4o*a>`;j47LUZ&TMq2WjNOilPlt^`JEhkdl3H1>fof`)h zXhf=ek1t`>7MUS>!Oe>@7ggNi*Z}aGF zYRYFI4aA>KhMBBRz?REhqw6<|QrY{|4leW20u+%drv`SHs-a9`avT39Syrl%Txmg( z$C<>+X-EcGq>S6HWJblxrtfZ&b+yoae}Cc3+?teD7fMmOEV^+OJZLe(V{}EpoSs(g z+br;4_1bxf0J$SV0)wlIDdMq_KV@YrIA9Y9YwkKyCrXy5kAXpIE zXHk}XL)D#gVXvACx=BpY>v$?v1v90EBsh)phTUxK{wk7VyJ<{4JQHB`>{TK7GUjOV#73M(EMEwAy^h-E{k_Lw; zQ#Fv*j|Xq{uQY090Ts@poKk9!Q-Wh$(hC5e=)>VtXwS^2{u$?oPo)Gi!>7=znZtYJ z4gQ5sWd=t$PPeo@t+%?Z)aw8S-4nxjRq~ZSr!YcQOWOkmX(yg$G3~yQM`eGYPH9g$ ztvWK#koug5()Kvms*#7-yUVC9KFuRYQxAq^D^zQ#4TxvM#UP%+YT{ZD52dq2+Z~io z6>$*9@UsPaJ5pbK5uV5%Wga+d-kI>oNy%EZLN;4M$wBj73L2*i%pjG1@*8c|+3Sy+ z;Yz?MzI!5?V)?tc**O~Z+ox*a8boqZL-=IjM2?$+El)`zxqFiw?cChp<(#n#I_OH# zCc8kABcebPT|oNdI$b4`im9@2PKIhKL-2s?Gp@>8x(Xg}fJW#L)T@9Z3FJ=sCc?9b z39yH$2e0i_d0)$@nGrdfJE~-N{1x`cm3Nsvn6CyQGZYG@GVOV5mKr=qp1HRX!WXz6># zDyhJ6_m`|INx1t%f~9F{^^8;5eGKmSPQjP=&_8qedr9Iz4Vwt}5mJr(0p;*gjr%fQ z>H#0f>c2^bn}WNGOpr|$n4^n^E|~}=M{V?chaV(zHFfxYJ^arT;<70)@)>hCr>ni; z?3o1*NGnoj_?F%tv+wR4INx<<#@GCsX&d-2MDv){KUa58na1*qy8B258u=4PM?!w< zP^Re8mFj@y-BV~Z?w;o(Ek1x$!-h~sA zAZa}QwvFgr_^bBB7+&xZKEYW|ytbuOp0LZ?V%O%TO#ft#8VR2Hs?@0kciaKSciXoy zvQ)r~&HCws;t_XM^iovO#}l2b#Eb=cd|@PQD$74z<{flY!hW{qA4Dp20NXBO%1K#? z4Pv#DQQ|y@@&n=1zR8U_U%3t^k9SE!O-iD@9(6+D)jyVNtJ>X6E%_9zuy4@Gt6%H_ep_Y$zjYV)8(^TbZrz3;bZ=%<#p@)pxgxirWPC!tKC}zjj>h z>>ndrXmOb|YrrE_zvXVr6-V$zqTR*v%_`4Z)LUl~Uua(j%tCmsN8Vc13a-d+vI2I< z(>TEMV0lG}-@Crp9G~j9N?hiEbbeCI0hzLA1L0|0FnU%FcKZUBk!N6cDz$JsNB>|o zE?MB+0@au&StVKWkV=Uhrv&k0$|*4*Q6fi|Xyud`Koo}(Y~IZQC`UuKFp6}7Q={Jt zA(IBSVqw)jp-Y&FsX6cm)N!xG-kECLRcszRYlr97H4i$E=xEj;=|CM?TfF0#*&5VE zzXO)nCiY-C%q?Hzpkfwb z3a1e*Geu^(A1Ty!=njIcDcbLj#@jtJZXw<@C*_ZI8pmeI3a~-S%ui%@l$a}p4TCnP z*07g=LtrXS;My@V)&Is1oIt1e8)H+5e-4ftK>xh{fWDo!j@uDS9KicQz@FZl-`;%8 z;O@y|A%8dw8;HxMo3r@K;hpD!qsq*Qnf&FIn2(mLEomaFII4c2^UDfpR4PJKR6X`= z%jOV&nzPqOLwaLK9-y=Etc~IKezZz%1ixY355%`dv3YN5;{YF-%SSg3$ZX}3Z9x_` zls?sfUTI0)0W@h8h8GXU9k3_*O3f4M@qOSe@ki56@YqqsX4c*8JDDXHrU?{Qi}DC# zzCI+Lcr}gzqk&q7fm)XXjNJvb&a2xQtr#7ioQ!(Xl4-BjHADwjPIf2pY1%8i6jV-b z4dgGG_A)PY@Mv>ko2*dQXshtjr&bttpOuWlRkiyV8X4;KO($YY#?AZxXnPm$R3YrwC8ImDqU`B(0qEt(ZMCz>wGZHUga1zMz^i=Al(pD?= z(UxkhJdX+i1QI|3SP}6?y%9iRk0TOMBp@>1f9*39ptfK8KJWMWlgv5$?CaWluf5jV z>(cyQqN{!u+2uZ!-3x@PWB6j5g`KST%eQ5Ma<6+21MP#`Dt!jxlPxm_R&qh>__g2+ zM)G0jHbydB8ty{t4Zk~|JH&pF^@(AXW()QFnR@2zfL^&z%6A`{6=~)0%}IQzKj%(4 zq4Y2*z2j#P0JgW7=j+zShPMWK!fa>b>q@1qmfv17A`=dJ7QPndqho9;*V&GNaBxZj~~bB=3Z>zq*GTJ zlOc*{SKL3a^ifAbZQ4r=q+Q=XBvc#FZSJ}Z$Q3k!FmP8db5mwcuZ-o*CSbkkW%rAFI}WrBQb zblwI!-?qt{cIqzdzjIFiu3bO=u3Y!zck`W}HvLmkt3LR#CYQ8YG_ux|Q+GSoe_on9KBC9-l7#ZqFq-`d-A}02`na6Z`Slr$pgX3NT;c%$Rf99 zwZjp>3WKqtgRkf~^or02dxfG;YS{v4`_w_XB@0-J$lM+>{b_c@Qz7Unq?6m#>KWf2 z?~NUHZVVaB4#OVP4jQiH#jvNNBej`BYs6GB*1HPb)z8pfUE6f)lLwB-)%3wFe|BYL zxFTm(8}@7($-QQ}@V%?@Wn2SmoI_P;Y7uE^e$RV~&pB7Q4K>7pzm6?%U{~UD5FH|6 z&Bia2@qBLSgTAWw&_BcC5~>0J%BAWzgs2qPyLq93NSs1ubJ%hvUXc~3UYaWbpsXjT z7O}p|_0~>sRKBZhldtN{vNa4jw)05Y!_w-EE`&Pa7lWvbur;Mvk1r!SKF)oCR>=Jt z>3PACjAg(Y1N_Q@?>tt;Gx0G`r2yG-xw$Vb{0o4&-xd{0*KCaw3Yc8Ch0SS2?!`+bkDhmRg%y);x%@ra=> z4SkB=h(92P_S<#-QFiZ*A+d;3i;fkH^b1i#me}#P&&aWQw{Z76V(7TPjy9+cw@YE1QVn_GkkFX>)T>jp zzNjZQIUfsY)KHLo&FHT2N1r7ce;CJ+WGT#K)Tbs=>)uq)od2lKH;{u1qzek^iFPd4n;1{ri0 z)xO)lWpUxhSm`Km zglzq8TGEq{by=t^DPhx~O`%aa%7aC(hRZ%hQuI0Qs*q3=gWsb4{=ujF;;zR=e+rF2 z4u^|A4_lWe7Gq`9rRCGCZnxBi%5+Q7e(XATgqVf3jHwrqTT(sbu2H@IE3^>O*T2Wy zkP5bLEmXZS56kFcqx0Rqd3`kC2u%14IwJIlApBdop(z-~DMsSFw>6bM1 z;+F1m1Y5Vc65CS%Nny=Y32qfmDDg&@V*|XHKBh~*g%Z3R(!8tFopjYper;{BqB1M> zIWCi_{z!CE(q#tKZ=GjOc9;64JX>RP3~nJcqR=FkEY$dCw|tvqq}`^U;%pqz7~O79 zb1N*hI_tVZ*X58WW%?&N$N_GD2e{j49blLh_o~7Q-3RHiZs2-|AAO{@&TEqePEN4f zoPE-<)~b8uJ$^SIkjVFIt*Vpv)~b5>S#|r92VNwn3@v^QS<=tXfM#TKs1cGVGMtA= zfnKotuKu0Zh4d>E6$xmPDu|J7ku$%k%6CVzSKadDfv=U1B8iX1E*(vsoWuvJY`5I^ z2f33!Ta8P8KF_8f1+JPB|Nc39sQJ|Mas}|MQ3(Z zkB{K;e2HAFmu-)nWgNFos;27JrAcK2*u?t?!&19e%MLZMGl9#y^STJ3a4Y^@t)GK6 zg+kF>+-Gocr_A)mANRUk4+OINx6_|kM~D>e%3NkkOB_C3WZ~FQdgFJJhRmu%OCE{G zI%c{YxY-2~Hp3gAz*nfZhkxsJ)mQ<?`TKRCEO>9?vWh-(2+Q#30os` z!uGWG#2${N2Le4Rtyvz7G$AzcjOzEjQHe!*jTP>RqyaT*L5ewkL>RJ_u~I2%p8L8Z zn82$08?HxCL(UHty%iD#CSQGbRsmAx(*x%FurkqeP~eSt<@_oqRH(1s!)GDWpg-|g z7eBzD{e(3~BDN;+vcK-I2Zw`ohqEGi{LPHy3!O^l@+EG+Rv1Y1!9!vBQr^S_EpZaY zoQrvZwt-+lI5K0v3GIngPwpmYzO)`diIlxKE)nnP;&twD*<1fnfkV_EDr0#6QSR3y zxBLD0E*9qZdJ~b}Ks9#uM#5N~DljfbA`;2A$}@!Im@90WhJ4T+C>A}B?kjG4@<3~R zhE$H=;DQ6PQ4sfh$dRVq;FZCi=wW>0ZOE<#g8bD=SHpQ}^=Z(oeI+S3%l)V!-3)B27-4>fX{> zELg1>rSiF+G)`dk*$r$bCZJFsz|>G*Ag5;7{)PVK6fW8?ycx05$QhSNT>#QXt~>$F9itFw~65MEX85VCr9t(aUz*T1-Rpix^Z@&>k|AvUQva02ef8qX zJS_3rpXMQG`H@EaT6$@5i%|3~B;bRV{!kXQf^svGUG!Pl`U#x&m8{^h$_HwX1dG-M zO@A>?nWxjqH`K>T+$x=gSN%#i_cw@1{l#k1K9MlaMq;~JjhH2dcYEBv`Uq4`rTbI= z(7#HHz6NgLk|{^>ENzPT=Uh=Mw<3slE|MGJ3NrYuk+l%u_lC<}kM<1Os|0~7YZw^1 zw?DQj3xK<#DY05$zmr{PB*FK6$*#}MtEY&1LUShUgp=?Q3Vt$kA7Kuwj5V8 z$sxxT6MbOSAlj4;{VnW>B@l2wzIRuA3(4z29(aq;S%T&|0ni_h<@z1Do^^5wL4iP}>9yR=BXm31PaF>}iboj$3^%OrfQVyS?uT*IPnK8P)DiIPqF8ac;I)=|A5s}Q>H2aCYo!Y78PMy0K z={j*|DdgPob@uy*Iv-2b36a@Z-|vsr*M3Cz@zP|DE6@dtYe?|`4)WkOHL zUJ!;$?e{#~NfKA_{)&$1))-OZC(!z+)pEu_xdS@ne+@4=qP* zMq)5-Y)kdk#*nF!-7P!`9N~o0)~X{eh&J`5lr?wic$KqCm0yZ7XGpQUd%5IhnjZd> zGfj?7ybMNcOSO)Sz!<`}SbZbnM~6vM)x+eBhlH-;AI zBhr_dqt7A5?(ww#pnYb5O|ToVyo7G?&ufv{uxDe4%qz2zpebddNoDjv!awh$ACNVtg2-@AJT%vSp!E z_p0_A^sYrdwOcL!O1nW*D@aTH5IOP$5z*{ZH-0VY+;+#&j18J!g2{lUE9Zy_+E=(mlxQJqw{sW$ zh{bHz!l2+MN5f^WhJ7PnMQf>99l4T2wAol-xGPGpyVfb}iJS{^}b&v%;|A^dseCS#5$=$Z*R~cuvzcy zX!;_z*t1IKZs)d;tvs@{rZvOmsWGnu8aq{;WKM11LG*jRl~LuY*M&1!Ld2@4V8mkif$vjI4>R)^iDV()SEVcH}+URh@Ao zgi1FxAfQEAeQT`Dn&B=lQXVFfr!Ls94R@hSxQ6VIGwk{A_#*bB#X%fA#nxsJlxoHu zXpOU?4IE^yq$X|U87|v5<66-sHR1S1Rz7C1mg`VWhj6@%+LFNo|jvC9KQB$%N);QV|y?`7IK_~K3 zu}R=~5knX{;j9hp+0`%aNZs^~1TP8Za357y!UyQv--}a6j_A>>25ri~2(*IfaWi$4 z=^jUQl(&6q0daAtQ10a)0SVy-0%}$Y+~<5qjAlV(A|EINQ-~H$F*msx&^!`&x)*;v zkyC1t8=|?ZrvHBL*2F2R?s#(VcZuv(v!2|$CgGJIwAuEl5^5{?Kw7y_P#yJ%$g}Q% zUaRN*L9f-6Wkkw}LF_@<#O`<{n^R;mPZopt$9z-uVOC@!i?Jql-z%y!OQ z@V(lw=53SCS`W6#kNHNj8tMS|hZbrI*43#C`V2xp%JDdM5PQd2`&X@PntIm$ol+2FITF5`M;#|nT!GpTBrylz1_qC-@oZEcwFGE1kIZYIQnmowV-IO_Q#TPra2a zt>Tb0c^x0WV?jC}_tjk+AI(RZ2PP1A3PEwFAg5`k{;c_OHRZU$Zb4t*jNL10mcIW_|ejZEq=@uOgSUyv_FYlOZf9Nb|~!&ai& zX_pGVM;j){z}?N%rQI#q-m`b0OH;JYXi5(&*mA^!=c+ct(pduLr(yTru=^cMX}py* zvmk6^VPpp8BMJE5E|-w`gkTQC+@+6Rf-ug9i4E5YbLYv-4BAVp*}%fubP1V{ijG{Y zC6jfZ&yYf9Ln#TqN@gv9cM4k+j4`?LWV%~OY2q=X-1Zoi?&eDO2Hysx*e1?K-59PD z9T0sX@p7f>l==rWRu-J6KKYTzP<3L3?I|eP2reCAR`wncvUK$V@9jX<9&!~bz#&Wb zAY?g%DBC}ykGa9RyAZDyu{EsMX8b}T;<`7ZD6x~BzEWWBvcgRvb4^WZCPu8U99ZNg z_AHJX23}e-q7}c~960W6j7PHDmHyKh=rkUkaX1|sIM8pGd!6S?GI-8RJ$s0On|kaj z3yu24M~F2oUuEgB>8eULG9JAG>>(u#WRzW**=>|PF0D2O>^G`xn-V0nQ_IG8Q&yj zie2Z*SQ+Ic$tFcBrQE4fF1At@xGQ=Nx#vUuLANBe3zL+OkKcR&O1ec|{##HI{zt^J zbjUO81?l2xmUcVh0H8Z#k+W5ImmPTm2r8rmAo#7xYMiw|C>r3PSAbyS)2zEYQegNy zh;N&=ijs>dl;`KPPKA1izg>jsH#de00grgQnGBTSUzd&g+^Z)rdN;5{wVDYaHh-66~S#9l%DfenQDshN|^ z$n-td?0akts^X}{x(zFaqiQ(RZ$d@Q2A8$xgskTlk>Xpj)hKEYyI-yGTcPnTbJN^+ zeM`4$t*xfnIs13TMZ4CiZ*Gi+{0~IAoby(<2~cx!p%0|C%;;7AgJ~y6yM#~o|M>dCBB0aPmHy%6kTRbD};plMzpHTY(I;7g6h_5H6z6+`l$Hk|ybJF+ZU)BP+`F z{vJ#jJ&Cj8XCM3IBxZniC)UgMHPA6dFa(u8_w|3oV*CFO!VgeM9+d<+?fwB5{vXuB zL@Yw?Xog=35naKL$C7-*eo^pW3f&!)v_jGvzn5l>Uu0M>%H&XklTAV*=to!yK{;_c zSm|3Dc!_1SL1*0UPmU>+!!l$ZX}Y7&{#D|mUd-(f zR?sA}wkWf`>+WZA%}nu|92%b zxLk;KRa1II-+E-A;iuSLM+*=M`N#Ultlu;rL}kIQxBsxwv99@CCs>P zMl3%%wD=1d$fjhQsI%fX6j#n7bP{EJYbsqf=<+`G-z-QF0YdJb;GAVW=#cb2zKr@D zYD7qpuqef*c4aNDbQ=xJ+wC&}VTu$nU#_J9>!A(@A^_)6IS80YGAwkKT8qJzLOY2? zoBqXuHOw`0b~^5!-WD?%_Du*sZAcFFlKtf0R?z?ZzM?|bJuLVs3#10Siqrr9t{YPp z$(a7#K>kTTa3-Z8Vm<1>32GCLbIN>G0$YeBR$a;DufCmC@XvazV(6PA(V$AHg76``70SXOc}@~*{6cvjB_du+pJkon`u}rGIq5OY zcgCb{r;p*XFKB!|{c1#&gMdW)!$k+w3uC2gf`Otei0!J9oFR9#G2T@ctHn|t=)Gi* zMkjxN=zHh{yPEx)JeLh2BF1rJLx`OmS7)sJ4eW^nLUKdY2JLdz+K&G%Z(;{fP1_x^ z@j?YvGe@6-8EJBw$y(T|DP6%HOq;BznKMK7-T0l_tk+S{+!lNjcOA3pMC-}+^g=y~ zj6z6#^-RcoSCFhdyzOQ=RJD^cbux^7x+s~Ux~c^xQiHi!g1Nmcg=I+g@D1F~s5WGX zNc+(m(Q)T#QHvelRjqu$P7OzxJ^c^#?&2>V2S}35iM>L!0N|}K4RBVqzxp14tI_I} z6T`3{e2S6zn~M2+GrUKSU@*gVbH03+Q--IK=9_z{Ti~ydl$EBqrZmfhzJACWa*J>+ zW)zA68P3k2HCIktZq92j;Lp_a`7>$Ym3HNDSJ>Sab|WJ!_c`0P?CpPMQg0Nk(@}sl zQu1`b_|4S>zq!llATKxPIhaj|yCn#@{NP7YD{fN$3ZCebiMTdZqI@VQx6AbC&7RLG}l zCzFHc)zgSON!&u>D0}d^q^e($l-dLr!jLgXZ$IeFkyxpuHT$*W@D!u}kF4qfXFckb zlM)74eRqlpqIvxW+*z0}%jGF2&mbhZIqVa5Vl^jG`9R`&@;cwQ1XK@WYQd`sm&gWk zxIT!L{_WiP{|hI9|2RANst~MSC&*gUIsYE(|5KbT{z9H{7JdMj$j31B>cvFL3$lWeHO> zi=sjE6PYCK6eLqLwf^rQx>7F=5l4<+p(Z2FlVgK>I*>=IK^88p)fTGD_}ZEFs51+@ z`I4u8!L?7w{KOxdosV<96bO)Yt-1W;n6FQj*nkB+V&JmVrb~|wRCAlKaGX4eZ`%+Grfa!Zv7mVbtB!sr@@gZP)XOI1zHMQs=(YvE2Dz;W+Nz#QTcd`t5H`^jt+` za3|nW$yRCTJ+Emy<=noGRFc&gUpd*1g({N9SsNX!3CNxv8EDQeZ1Zh_5@+_ za{m+Z@}D4@lC84U{o0#~VTXTP(;8TinW?I9O;5*v%8-}KA;Jn@U40B z$$|6Lv#D>Pf-aIF-8*`Ql6Gx>Ex~1b?eT4jZOSow7qGS#%zd|p+YTfm)m_vEIYph| zX_tMhr|u*3dq*=aJ~uk&tG@V|in2v_GRpf603Bv{0NE=M^EaIdI0R}T^GjSvoHfIV3gm0pCtyMwB46y}3q^m6i-yxhYb|f? zc9_atS}k$3i0PdBp11qL+EE}&YqhfkrC?srY!w5)e)~7aMe|B4tA*`b3%dB0A``zm zgMK3|y(nb+(Rhn($f+<=-9e^eaG?xaY~vs+CFoDgj?w8M>!#y6-=%{dpWUJqX;;teQGE71ws@E6|hg8 z%4QTp`lQO&y(fS*bk*G->dDJ*Wb$I`rkxiJKBP&D>uKJCUZvG!&roataQVSG#=BXXp>;s54c})fR=35>kcuoSlDJF6888X2y{m? z)5EiuOydNy(M1$vyf`-H`pK}SEEW;L>HF8FHvGu<^_uy-;rkn2^Emhs5V^s;MwvzH z$vrYwt2&1Rbr5&R*3Ees?)sK~U?g8R&VJQ!CnRi7ZIh-;%nxA!@L0B1H0|abNmBGq zG)&eeh=uY=$<|fSE-b(8YUX=~xR!mnRPYAKE<0$g)X!GG#Bfx=SgF_if?9hAjR{1oGZ4qk z%scMnK%hBKx7!&^RNp?;vO^ZaP4xZyF>bU-!q?D z8vieA891|;TI!6lk7x8;F*|qvE*9jX__vVtD1Pm_)>KW28zS*8J2;)q^ll;}afqyIz=O9&(Id+ATm`nCRG-OWwI z^$W$)MXqc|L;b=U+*fE6y{VGWd$Pmd5?Wj&QrBP1iEB+^xj2y4ywP|=V8HZ~1rDM5 z0`>Gc+NCo~vsY?qP7-if9a zVpFg0GpIy_br%{Iy7D72r=LA3jVL~c<#uSBl^UE&9Ly437=69ugZQ6G8-h8PMqVq!lwy+rL@*DRFyIm|UNHOAaIH6n>XBY(@EDBWl|MzeNd-0WVzSF!&}itg3RLYs^UPh>vLgp_v|CGP@*!+OefM*{1ldv{ci4-Ac9r}t zsvFwdH?Kd~$+rXxp4^f5;U#IZ=YE9z$u`m29s04Rh3YfN;*YI#?#)l~ue#%m{j1`) zQy~YEtRVhJT(oj3ziL5GoY2@SMejqsIgxNL_DWIwP_ObF7hA>Hp>t;UrLX7Fi;s-5 z4byW(9>kevk3iX}BLiijNpuu8kMVJR4D}pS=SA)?k{cp@P#(f==re9!?(lNTYLZ*< z-nofEHP+P(U3t8^a(wa;irp6ioPqS{>*o}3w`x7c*OLxII%l+$a^37jaIUPv3*_U5@K>` zTbNjq)I0lRI@n#ZTC=KEA6z|fB?preHpA8Yo1l)c^jYN9LQ{C-Hn8W)h5IAO=~nfp z;ol|0=9CHXD$-+zGHB*(1cDXN?iF6z;*J^vPFW%TZq4DzosFJOqmRmQWjAbKuJjz3 zt&SQHbW5|$6!DX`+pV-O!2jdO}_~^#tYv?!KUnJe%oP$FO*eX71UQWG80-cwS z()o-;C8%Yw7E-pV8-@uWR|@}tIad5Gr=nV^sGl?e>Oj+yxA(`=1d?i=r50vTGgpQ# z@bWZ%VB?--q!fEW05# zrYzK_oz^{S{kJU0KjHVOVnOUsw(eRUT^mj#S_Za{%bocu`Mw-rxbv!1LeoF_@RIpI@brw{t2p@CQ|8y7UID6FH+eIQZYm%B-CGxK+3nkD7Q3$x*5k`5R%K1Ag ziI@U4JSNc9r^EG&L_I71CK`^iTxatEymi+8wTU$$d&rkJVu3h3BQxR&TQl=vVi(>4 zda_owNe@iD1k?+-<_WOGtl3#%^HKSt9wLd)@+?am8dJ;oTf?RfDTbhpajYz+EeI}U z6T1^Q$p+vmIbH=x!Pmv9uRqscqdU>;7_&{TQ}?OQ7>1rbU&HA_3EMNeP@s|Na)A3m z>37M>2ktp9fUV+{V1$F=p;1F(q0QnTix$FAs@M8x-P+z#-J1kXa~8unaq(B?x39#P zS-+XR!)6qUC`uu@3*N6{)SEulB7;Oa(O($;yy#iXyJ*J91iP2#2?%c14fyIifEek856Hpnr_XkGEw$dNkySHGqY|0y$_!ykp!<4^x|^ii!XS*`vH zzprQp=wtIS=UH!8%X!wz_TH|dEWe_Tc2Hh@?Nzuw`yQNUs%HJTLbg3`|08eK=sbu> z<{RY|eAB1HYUB1A(PO@tzxzHq{wmy&pcoU2j>?X#5o37G?PA_ey3fRtv~D^TB-BDmP=2y9WN#8U+ma308;g8?!SLap_)H zsdLM_ENpb{*%3Ht@5@r(&v8d-6wpU-8V0nGI#Z+=Cz*)J+HeM$(>MaHur@7BhuzRk zV&q8^`cawyG!+wSBHc<4`n&j9ye;w&LebIC(Xs*;epW^1RU!kRmaqQL%y_!PF!v$r#cdjZonZ6Te@#{hD_?y=9`Lq~x{@4$a<^jD)sa1f zEC9)Tp78AdOPMm~iS(Ysidj>Cd0Xz0S1hFNjLbWUQPlsI6+(h}Kja6X`eNe9P~r+@ zMZ1KD4lWRJ-8urRfezRbvljT1*Fc3GaqB+v+Qi@?M7AZbvVxr1cw3Yc2{|4X?cC*1o~tkh)^j|LVp2q( z%=U^b@~S}}I%x&Gh!SW_1eEEevoF4jqKoo<^@8A70D9I%)9MrMI`e`y5pwEEvQY)vMyKEc^`v;S%~_EWS3c`yn`&<=Uvzs9gF!Oa>AKobNxB)P+Ha;QHv z)fpddPG{lW=0(Ye|2G}uLA0rCN5;5}1ATbpYxPA_r!CDf zlReZSJLuckF(K;(LVPCG%CMYrnm&~vEDx+Yq@ABMJi>s{a~ASdqhdzwOXK4%hIL&| zBBSI3WbFB}U`nfmu$2hYlc;Nhl(BW}Npbv#$}B*_i|eMr+$!?O1)(5$VfoH7TVfk8 zH8m|r@By&>sGLZ**oGf+S4mFn3N(4>+`GlsCJ!ek&`V4a_UW<34Q{A9jdQP(qmq!C z8u-?I)#_%C*iSf{Y64^q&q5xlkn`Lq&*jdu5JqaSJXZ=wx^;ZbSRd)>#4b>GgZgrdUETC0Cah{vxc|6ZDdtrVj z0M^u~pT;>00udc&QHxnE#7`+A^&DONo?_L)>`ROPxS;eIH_;3P`_6tH41vy z{)+g6)}8r+G5*q1ljs9D^b3P!^8^f07~YY^ya>3WxI8_m))wG4|Bs9!DABv^>FtRZ zr0~ZSHteSVmf__x*dR#v*y7nhGJrvs2pIlyF>lz!;rRh>>J7OK%~C}^v3cVuY`q{Y zi*r(`cO1=y&D#q}mOe<5pQNBYcOkX#1!{D5PSDh^jH>+_Sx<8p@lhQ*!nKY$GY5Sr z$t?S)gCsU1(<(TG|6R)bmfoUPK<#RcA>uG?2c?$qEPgD5_G5MA!vbQGn)u2gwqa7O zKbI{FZF0f|=W#YO`hptr{O8;N^q;a?R-U#>MBC$<(om7OuIY;OBnQb!0P&S?>9(3! zN7tERY1h6hev-^r+5230?n5!525~;#5KeWx*Srtl)FT7GOJbeJedK1Tfn^Hs>Zu7> zw`JgL`8J%=d8YygnQRpG05TC9^`!S0LoyP*$n`jbD6c6CAn&B2XeF}QW|8+Z!E~?T2@=_su^V>nihbs1@LK8yWCa!m|pQS zj_KIC6HV>3da!+8zM9x11-|FtDV}}Kw@Dna&Yr49OO*f-)2Q;|sr)ION-%Yr`hc>4Z6?HD)C2x27gK2-em;oF0oPnsTWq@E#br!NUZ5JMn_p>wX9o)@y=Lv|95(@62I=r_RVpT;2G3n zd)sz_t>H0w%pEUia3TkYsGL=lGNuUb&+eI|Sv^^IUlj^t>7=3LBkGaci|9^FtS+-fw(J^MaQ;ntK|1a- zHAOF%?eUv9BAJBm#+qM^0ZLpb>(H2nwNwr=v{vL;Q&mG9Y#r^Z_F9|{)=Ej{kQmV1 zgU+v4UCSjyDqRKoi7#pM`e}x#jkOUG9P_bpUv;%Q`i;;x_Y^Zf)xi0fSB(+89rJ3y zHAZ2`dZAADr0Xfi%uw$!A1xfoFaBv5#2pwKV9lm;Dd!!D-UMi>_(p5w8(uq=ILXNL{A&qH^xCijNLmAi?gIU=dj#o=_BtX|0^^5y}3F56lH?e zBRYG~dPzHaTFrt^s=W8*Fv33q+x(zhu-mzneZ}Xi8ipdd2ukplYlN4!>=lc&Xh!(vTO?DI`Bu}_l8nlTMb3t~voonng>w>ix58^p4d`I$t) z*oF*HA9M1sOa{#ZaW!jjN@FzodpbU5jGTqqeWUb0-D^ubp3sJO5lmB@Zl7*gI_#aA zaHcGF@=CSwaT+N&Yp*+9WallOtal!v64MuU+RBB?*jjZ4g{i2HqRQty>!p$@&-My| zw7S7Bkb^KDhs&9C>_fsRR;yqCw?IsTRvY&thDjGHqL6H>YNT_4uMX=y&N`F|325*j zU-boMci}$q?L)6qp1{){Dv*zQgG(LMgok_)6TePjP=&f^s8B%b(i9Y{Nl&iTAhoY5 zkz7bVIoM@aSq(x8%X5x;W4zOB^d3P@_&wN4v|XG=BlDcfRgchli(%arWDi2eFszhFA+c*#?dX8u7$N~Gn{BFOX*qjlo@<|Mu z&2q=uo&E9y7p|jv_V_M&oftY1qyX0&-*5`Z4#p)@kT8uKDB)NgagZ}3_kF`ufgvvb0%~Z?cf#Qr^8nrb67XR0tc>Dq*IXU0!qaiD-Mr=^Pd1yc*=_uU|*!<8(#N z%t`p`Aoo2JsHBvCQ`JRZI@bjA`v~(kxmMOeJUT&&_UA{D6dxjOoze)?DG z=5{rijGbONQ46(mAEiCHcV^vOaPrI2S>jPKHgU$3qyF$SM@2CjBBb-?77h)>pe&Ai zUv;Uo*;9Jri&+%C1+i)>PW@r8&=Oz>@z8$V9|R1;d-cJqh`AnQv@9E3lbXLjyrk!^ zYLYX5LUrgq?Fb+1(=75F-zT5yk?vC^efmMFPtrDhvhi7_`^0brBUxV@*O$!;bzc_c zrTcQhaec{k`m*B3$Mq$a%$V7|sVe})6IAZn*q-mSwZE1S#*$uNV9natQFou_SX-B* z_7XtNE@PRXW6WJyRP!6Tt}@QvWSGvARVN8+$Ku)qHbA>|>ihVMGQb}RRDTSX8&}Xp zEU&xJRpzS-{~9%bw~JH4++H(hQ@LAYf+%cmRh#%Mz|7*r97jEDhQl}L0pRNiF@^a~ zI^e^1tGhFdu`A^77`5slAw&YMV8gn|MXPU=74jTOxO|MKlk-+9&L;w5J;Vop*+(;W zHwjKg2$Oc|3O2MJKPbF$$c!yyTp`n1#83N8F;9WZ+-S7yENyy|G6p&cMoU|<(QT8_ z4U2+@7j)**e%ru(lCoSHG+K5Ss}X>Y4b>AIDIbi3Tack&jvDjwzEsD3IM>k7&tHu( zCNIsQ5C+56Uvy8D*a?_xoWc##ss2fdn3?7lA!g*X?ZAG}Jk{wW)#jTcJ-{sCDHCnCtVbOR-a?nR7-pJ=bcQ?tcSAXr$wn#hk1s{*M^LL%mtM<`vpo(- zSyDP5vdWvXDy@rF>q2j~3oz*pC=C^X0G)l#8O`?Aiee2JGgG9u#2%>_oP}l|fq?|w zw^roSs7o0v8_M>O5sJ%14Q!U9kQLD0RXM4}xZHhi;3o6A*Y{zY9l4r&sOg2q@_nyA zXWkSz7sa?Ok-LrM2VZ>WSG%8DSI28KY_wM8Q(rPM)L34(?y23sdgsN1@?kI^^5jE0 z1HXkjW3S`BI4N|qs#w0II$>Rz( zQ@dT2P)kFzUhamka;@WS&ah^J*$4!+lCOZJ956b!hFYIVT%Bm!V#8N2e#+4mWlkI0 zz$%9OJ;ROFgPeb(CzNdD+9S4p7<5NFMc!qeUz;TQ^=z`}C#kPj9Q*pxYf7q1W!RC* zFdZ30yDt6GYl6Ab-{pF0p@(aZu3(*5TZiEmJk=pN=CrmE)MR43om*Xv0>uq@5Goi! z=evSqb(HrbtBHf-8oyHZ(O9Be-}D8GhDrZntE=|v!M%h;5GCJQNTz8ym5oyetAmKr z1#0gJQo(r{d@VG!SS#W*>enC4AxG=qbr&bnBxk4aIfTr;E$cP?gVmaiqwz*~%lctgd=LwT{fMqc)-l zi6{Bikp*~)B8krZ?LdyY1Hd7WVoW1gXqP z*hWI4>w5hG(XV0ZbJp4DpzO|LTNiPXordif^|>qUZ*&G-mufX+KVL0|Ti+lfa3!8gpK5Psr$-F-XvS3M;(^p3Fn z-^N{jaj+$xAB14=E!i0GEya0%MF{_jmFDPi>S32CowZe(JNWW9GUc?y^Y~H-%P8wcfom2M){krP^qJ*?F!~ONn_N_X;iQ6^lKrQ9#d8Z$z(hquZuhWZnlSha@>DLj}iTRqpk&IgOjR%r^dWnXD*Pgip&71y3# zve6+LXFGIp%WjbH7e>SSh%#(H+VYj_IQkS4jq)_TI3q`0{Z%rFW(Sul^#yWnLIaV< zT)gH^SR!4he9)J&mM7^W`D2|nk`qVLLZlH%Vm=iia8F!>%2Lq2 zrUtPRQupaWYuGx&y-%H|Ng7|nS>)DnO3yrjx;XY$^-F zi0x$l=TDU)*8E9MNs+%2+;vC36f|`z=lUVP*^b~h_B{Gvsj z-9LFbuPvYDn{!I3-kdW`{^G(62)dH&o&HDfgWqBWw{dXJby3(EbxRw(#oR2Z%$l1c zKWA@Q?xrK0Y=zE&E~#t@b8aCIX*$ktK+`Ptu&;bCG>0G=g*O=KBAKimO-W< zC%e&{?*g2Rb-uJQXJ<0GSwJFh$6yQtwXD$RJt^F!r^{IFb9Hxlg_AYs*9n05VN&^- z>ipF5WA}cUhF!)gie)^ePc_}xG|2*kEI*vd(!PE+8-?gLmfh$Y<|?Fi!)z2PnoZMM zSI)zadb%oE+*y*zY$}wW);fb9f_xfe&e0zli=Cfp=O@qkDRq7(@WYVCn_n(}jjoCG zBM+(BDadd|-j!u^a%_-5#<}xksrc%*%P7!c0Bm^6gQP826Lk*%|mr=Yb= zau5wJZ2u;UCshSX3tDsXHMr}_`O!iIW{=JNnbEK&($#O8G8=mDM|a?~z0!PFUB^OJ zPqI^a5kKyC^S-=RI)P-y6Ee3uIKq0Ok!e#Wb3$pp_dKJC6_rfN8a#U~T#2VeWy6)S zu2?PGglZgQK#k5p*DKj!%n=Acp6XiCqJ(aQ@j{gF!WCMSkY{dzs&N?S*ldq060}a0 zD6+-N;L2P@Z!XW`r-k^HZ|%hR+&FuF9`IVu!gF<|s4Uu{htXzqYmhPMz#;|+r(1&_K#pw4 zI(pg9!0#Oy=#5C0_>s=I5ji?G$!{R_Y={geHq z`uiJsUK_($C31ymmJm$xzS3%qB&{nq5XS{6k>*-NUUYUt789i2#>5(eWdl{JS2;~m z^K%i+bBzX<;JKEy-SjuUJ2fM7s>-r1g9C}*4}<1>StZ|f!xxVqJI1;QW+F?K@>#bM(-8h5qR<>Sw>Y%*ju#7Kuf%Ri4*h76*6zT_898jU({~F|xN^orydrnLBAXC{Y4Oi~E<^Ty%M` zI1iwuMp69JotezNnjEQD%&TIS7Scy_L7H_D9hTE<(I=^j<6*sIE9>A&E}Wc>x}1*w zu}TA!o4~aP-z{lAduGQ_~TOU+^ebI^3La3 zcM4F8x=Kp6r2|IG#Jt9uLGfsK`)_3rVg3^08o5r^k~yqEW&_l4Z$Td&5Ro{Jd2X=I z(|UsBF5^5|XygM=a=lTQ%T9a+(YUk?S}Oj695 zXY-4>ZMw85N}QL>efLs8*Nkq_>{BU|LlCV8vb#t{joF#vlj~D|?7N)VzMy+O`a=HL z-W-3jHSxS`6ws=-ka0lZY!2voHICaQCCv|HXB205ar%-I{Zcod>|aBBz(oRShl&3= zp1VLTFnGtY*+dWSH_l=$6&jnN2|$W~Md7sqi@A6ui=fuQ`19a%Yshh_Q*&-MH4Bsq zU3eG0x8Qs*H6>~YUoC4;N(o~uv3Ss$Lnqm(!Kn^di24aX&ZS9B0Fl@vbi0ziJ9|lO z2;RP+wrBiAL`z(RQ~`|Rq>3fXU0!r-d`nw(Pmm}SwcxjPaG^1I<5$m$y43MKFz|7q zJ{G#>w*o~DDD+kgh_Mt%-&vqRdQau|Kq~78U^zP zA=~oZT?tQ3Y+%;JwXwrF;vABcwIa7e_Y_;V{N;#OnQ<;LJSTI`XN9`4SUz*lfSj1u z4!+RZ-pSm*4wiMn8b+Su_=c2dBuDXOC&DoB-39d1F#l2@BmsJGGDe2+o&d>NX+RuB zvf(R(Y>(T&7O@1Dl>{ufw_s2*_YG17^jg)7*%|(8$@VVUILYKgo>T-i>eN5byXr9w zmK!So%ba!62WPRd$q*ABJE>sSevZye|6h_n9c+L*c#Wi!&0(}kO2Y$hl@mgzHCFaM zpWtjTmWVqJcZu#3YX-IXQ8~-xGTK)!G2DbIVC^Gokh4Y81QjWoz_&D1a6V*ZDND2~ znki!3A`ZRgY@}SiVNcJhnZp@pc4wQyFU%-4M|rGjw7zZWk^~g6s(Z>kWOm8c#!&B5 zjN~Q}!_b+-(S0=*I-HdSI&>Y2dYY$Z&dvwdO77kQo|HhrSnt(0_?~B3F!q{ z`D+dN&-~7UJW->sQ$Q=*cPf5TOG5)|Ahs^(NvRN5;27?4iv7IM&%Cz_oiP0oO>RYg z?2uZxPl)~lNU`lJ78q*k${LktU3I4H^AXErY68lGlUqaf6&-*yA6Nrj_^HzB z5JKMwVlQkXl=XHsonYG#2;07sU{x!Q%8Gtf?*VlyJr&pu zFeV=en_pgqX^UUGeL??7^4*-TMnNYm%coD8?%OZ*nb*2q*WMr~aVq4^rib;ord_Vb zReRj&f@E3Pz_@Dy!iseF%S)~5L7I)hq(34d6ApW#UfsR5R@ahtf=+JqU2>(zy}?}L z+tjiqr(~0R3yCe6C2vYv%ccySa*fCADxSXDwK|7Y?y)WnS-HdMOo+M93!0k@%O_*= z$VSVt;G+>F@Yu^5;lYnowj`gbOlC-wIj*$N#Cq)=b(izrTTSDk%Wp~5U~gN|iLe1u;YchDZ|4#wJ!aHZJ<+?Y)8M#wj!Iqcp-RO(O> zp|`iq=u!DV4##d~zt4aBk=aMzS5H| zGB%+azM|9F(gEp+TFXf#qfpC*l4ZdWU4(lEIk*OTiyqPw^u};KK|v+P?UYh=43*dNa9vK;pdK=+^;v0YY}ul`JC z*Kc*<3dpSJ0w)EiE4o{#E%ro@x~I7Yp)f*g)Tu}JA^~R0e4Cew-n`s^h2Wd99d7qV z+wV5;jT2!}Pj11Jl-C6r*=@afu(D*kZ)s9p34s0XS8cynvfT@T=l95yWZaY0t+ldb zpJbE!UB7#s?eEr^E$hT=dnB7%XKS(jJz_1{=mbvQsOzM<9_i}dkbHj!kbeC5m#p_K zJ*r;g4Hx+%?K7dQ*7#$GvwRK1sEN_s(vv@vQ-jolt28H`%H24TR?>SxL-jCsjzFC#9#LCRejc&p9^v?Z;Q zTAWJt)R5d0tv@HZPb#?!sX6Jqo>XF%a`5`Rzq-X`zz=zPhMr)}m}lG;mW*w$DkFTLf%7MxjK<(1b{V>|DQ zZOU&P>8?5rUk>WgQ+a26k#dOdlJAENDR}~_1rjg7r!@RBT#A2cw5cXv;c3Uh9|=? zJyK9e&(+J!iL8=5P5v47OFCJXOXfZ`h#drfE+eo>+>D{`B9xI zP->6;a5d{U36iPA{h`QAggI9&e-&v3jE1k_GWkq8z01LH!-HbI^cGs@7X|qOUfal1 z_vphfTB^@J!+u47QRjT1@k7JctT&+!1?(WAg|?o#k!8%>94=N!JdtNVCd_bVP~<;` zb-Rd#Zlr9;d^$CQU(4Lq_>&_Ga6yqAnGbA74w5d72aqEA$yd0L09L=y5K5)tGt@DZ zxefS=2ZPe!K%xyJR_U$gSfYIF2u21-&mbl{2}v5g76eaXT_?A3U za6Z{J`RH3(?@UO`&K#~PATvr0WL>WOkUc8PobC}Sfho-{Ff&s0`xoakDl5A{lYy0X zg$hpIrt1ybgFv~{ATj9j-;=rTkWqI>JVI;PRJ{f@j=&823P|&-F~L}mypeb#dk}^% z6A3TcA1p;=1+184?nCJ+P7u3n`HPcJPoUWsYJeF43jPJ zNap&f@VMDsW9iwQdRgb}o+!+U9nRN`&U?o*Iz7b8qFFVJXjx`e${zmBgW^V?SVjaU z4O!lssTbWUXk|IJSky8Px;r6ry*zV!i~9Q(FzBj$M!no6(L#PBwqW|}zY;F%;uj~v$!SRD@tf%SO7B6&p`AS}@yX{nQC%7GWU*#|E)bWe(9 zg4t(pBy;a2RcuWGon#6~rf0|`fYS91^!|qGVaG40Cu{?0GsPr{770i0S0b3oNHQRN znHu&yXQQ-A2UZp9F15x77Ez@=uUPLP=hNKOryM>VM>v+l1rE>yf~n%lzY~N`T>>XG z^`9sZ#!kS6kAfVRuYQiy#z&SGi}qOClBAxOj6A{Nr+C0sLK^5Ku2Ge(zYnjbQpr)M zcEb7U+8Ua}zRCmYRQf1Jh1rsrrMmK(Xwa2`I`OoT2LwJ5(MyI zE<$TDlKj?~AXolp$qc`pjDp@F4-jP_99281%50^JxHjM{))!A9o;+y6;iYj4jo{It z4`=OQm!178)dz>;?V*@97j zIWG-M0>?F*4S7=cT~aqOZ{5+)onco3Ol^ix`x7Uj9|@J_Gm@LA(h;MzK`2NL2?V&Z z?8IM#t|B7}OUH1XVppf@iT06^qKuOzb|&#%iEgH@LHo0C#x;zdv$=L&?2HRH6tY&* zrVOR3I)M~h%oLt))#|0#q}_x>1l6sJ#4W;|gRo;cKYCu>Ecb=c{8bkU_~3Y|-+@m8 z=oyKDFaa6C*yjYont-zYc2&fuP+40P*ZiOfeckio+j9I7oOXJ@_*UKg2@E)_+y#%$ zbpQ+xrvdB;QtVlV-UKIZw~&1!Td1tRV46Lh-^D=S@1z;_tZ9%5okb+Qhol41Vi&>j z09j#O>B1-$d$=D-XI&^GlLXaPAWxA3nwHl%W#wws*YF%yN)%??cXeMryH9*q{5PcF z)<>Ec=QKSjT_3k!(v?Z-9jbH6-$HK5TBNhSTt^OhJ-}=_8AhctWa$jrSSwwf#&fvG zp^S=k*4W1>VAwyRqg$ol=JpdxFdrxD;k>*+`orrbvS0LYKBSA1@>?gv!c>M{of%e; zK{|Ms&aiS38B&#FCNFR5XZni>gpUKbfUQ*h_FQTQO1 zeAM_?{ZwA@?;#VQ=P-?n3{|Cb>WLX{_X9sa4xCt58fliQt$a@WLPoT~sY5N{*BPq_ zS?IJr&&-ddUK!XzCtrF{lw2SwcofjE(D_m)%yzZ$9QmYOA4wbi*zr!?k4W95T&2st z+@{NJS3zLoWWb5DhGU7&a2&M$D+QNQbt{#3oKyn|%IBrF9y?81&)*-3SY z>9I6!UjUlM4T)y1H7d^Jd$E0^=5^^M4jUiQxSI?p6*{c-{NSMY`ozD9A>Kiy7$}hDUtvM2LPZiCaLzh-6#_aK zlLvt1v^hl)Who%ev%)FgD3ylp=Z{w){L$w->Td!d>&VPnYjfLXdpHW1glHX47z?EG@nM(cp zd(ajX+VlU$cMvaO7D?LzP_V*4o@`DXs_dogCo=aiVR9@KUmT`TG?dFOu}osBDBsC> zOpSv}<-EGf;Pdw-@`-D+@o;hf#rHVsTbLR+FPgyP(?acD%@u#_>aj$kSth#{+ZEKz z9w=#}HGxIWCf7hm0^?}$sCF?37*VJOt+7mH-6zVvxOX{Z>{>78R^1*^B!CDYdvJ8zuSZfE>Fx<<-sDy)sNrzFSk&@+*O2Yas*38UvR~* zKw)|5+28<6z#?3#);hIDOsYa6GHM1Aoa>XX!S^Nbp-Q5tIOm=QZ6CILlqQF{HH~FSxbzq zPUe-mEzE!b%YV=!z*rcc8lRxRD*Vi!lcNHzin?*J8LNAbkY9y~>$IA)^(1@i=xSyu zWsi1Wb1H1>jF1qJX?SskmtpbiOMbX3+kQ`QXy0pm&AtHY%T zIk?33k&^)b?DQ)^eR3i4Mx>2rxRcPG`p3p6drz6`ilpQ>t&;M<-r)GQ#MPo|!U*mp z1G@)oB)JuX|0|6my4!2Cl3>5Gr%l89v@-JDyb7-$|4@PO<$>_9%F_3P?4}Ro8BYj^ za6g1Gps_cgCz39D4&uQ3HI zVofVfC-!b;gPIap@4%ZMHh^xFiNKa1Vg)#IYV$*1Y_svwd$@QG%ABCb8)q<|jlR+{ zD-VyJs19Y#^(hg>E{2h98CZeH6O!2)p1sD3Lt^UqpjD5uvoxwze%lpvALAA(VmAP8 zBHO5Yl6~VHH51t~9U#x7cy5TA6h)R>jP$WqCY(3C^qbGeA+}2&=}tWR2&IR|aI;g~qESHC`_( z&WiCM{d<8Sdrm#(^nFKSYxpzG^18Yz~T8Mw85(Jp2N+ zjZD_IF1g|UE%)*@yc_+spb zy?8x)&+v`-m>rW+vqF1gFQp;1sF4=?^S9}DrZ4rsm^W@xdA0$c?(`Ccnun_YQ0lfB}ys^_wPOd zBWqCKXoMtyAdb~_!>o_a!0X+>{!sFc(I^R=a{1QUgMsgzVIvd|>b4CY$dt*0^ew)FLmBR_#6fYQi1RGuii2 z$-f^5kk2Q}I?WD`2Aw6-@hPg2;xWHTHu#?J_fp`g66X7Z!H+fV@yvok=1j3_W#c`{|?|gRSgL@CRqPOb&0F4>; zKEuCXy=j`->TV0@?Y2G;^H%oh+lI>y@`I6q;$5AXNW$gDusd@GnBkoRk0o;MI!8Ja|1=0Ht!T!(?$)>`tU6-Wip4u1y4r4C}1T%9(sFDY80+{ zOLnID?5Pjr&5U3C7XgP`I9aRVvG#cr_mW8+e?tGvDHi%CGU(h;FfC2Ymxh^B;a*m8 zyIEh9NZ5zlR84PV>;ADf3q?&W?;w*21xVHTJ5#ou$*JGw zAyaNormX94KVxU=Et&M&a@FHcn>5_f)BWx7+Zh?=tJRL3HUFR;eg3<4sOqgY&>Ck? z?P=|>YgcU`le;HVT02yS*lm!0>B*GV4%H+7s2vqL-o;PKWPnjRIwRmbfj)?~Z1l;p zhS3*`rV(0MRR^@NqXZFUnX5!|@#87cJpAOAXt`-d)Cej3;oo)085|xIRbKG!6e4Y> zEi-_icWCI1oC}oXGj9(QW`YSFR3bAwG95iLC2HlVH$*+w9u@0wMcteLND%J9-~sg_ zt~}ynTITmq4$kRR#QZ)zNX_q&HvOh(9L^Hi6VtF7dLgVQxp4n)+KAaZezhA8V24K}9QxMO-;0 zZIS#sTIMKeM^|LOtEBz;>R@K*M2=`9@X&Z0*|nBdS9>c8O2o9ZWb(Q=F&Q9IvK6bp z9VC>rhCaGSYsl}`LMNS7|7Vl??+^8H+`|gq#jm_j5OKe{qz?~DT#N@7Ps5ax`kM_? zPBlz9+c4#vaT&-^OM`Z%q#gNcgLb+>Gs_!t+m-SG_H}xz(M31O*Lroj>nJg_X(gw% z27kL#{T*J-O=z|`BNL%l2W zw-0a0kwIwXb-h=M|Hb>&3q0(isY}6-Y&m zJ`ft5d6u;aOHk;53bbU6Yq(k_n&1rx(J#IdiVg9mc&J$!fi6O>WlLfIKsOkRQ0cuSusgAlHR7M^-zz8sB-t6Ue#K-9J zos8NbQIA9I#s9d4Kkskl&rbQXh(AoY-%5Hv`3@I6&o}p20T%zm+q7xOpNL86FDnh* zPleoDCs||A%MEZ zMFt)tmm@L{0}OUE`qr3Ct$}-v$^Hd@#C6?T#jVy|zL$8a?8S{7@`3O`UpaHB&g69* zbxV<(f)boEdV!GK&S80C;loc+cxo;`zVVU#uYGx%?^4ZtySylw>7IzC>oX3$c|(U(dFM) zL$skVecMzvns~NhFPpK$>FD2yPTCTk8rpUDvF?NvAuV1ClbE!+{`pL$_jrdifr&plZH-&F#!r*l%t9e)ceF!X4hmN0! z$e5Gcoer^bQdJh1n+zR5a&2WUIDjIS_+)#VY)Hi8^GIcL+A>+lzf1L71jKsMj9Vqa z#G+c}%$OHcc4G{YVfR(g9J;&DE|=qO@orZ(yi*XLV$1_H>R)G#Z>>6OhBM8UQSJk8 zfLCT!cF7KNyi4x~R{$3>)E0JcBPCVi6u|55S9N^awQP33NRljjW7~R#gKRJ0@CAj# z-SI|Zg;ILh<90-^CvB>JdNL|kcR7qk;|$7Yi|=wqM-b07BK{mPAv1dc`p|p#zb~#8 zr&CNf%Nj;3YM8dj3E>YlHW!ZQCF>jeQV42$(*!qixCyb_7G2)pMI;IfiCj~|xDNV$SVo)E3SKqMp*9E5tPzp@qeY7#M^a@O1U zt#K2kNeG42zDyVrWnuKy_`Z&=GnfsKvUj}y(YVMcNmibwY z4?JZyt-lo(<$W9tTzXrLRlDRe@{RQY{S?E_G+To7nNwofxM`K)adZ9Qn`YqfdLJGM zTgrHcGUsG@-4^+X9nQ)**>H2OWjEd0aC7fvH%)H1Id|Dj(;IH?!^;POfPV8uWURt& z^aNVng*j~v6YzR5ZWiz_;Sp1=+wn2f4AvJXv7QWC95vg(SP1t~%(oek)Z>kOg(4iX z+mzlWoxCGUI+@$qobV0*3HhM5X&7;1nn;)$$wg&+qJa*}zRE~h;Us$XQvax@<@)cf zeTu(8<}l~^h>mp~1n1~|rUS(I^mzuxR(^j(vPIm>)z1Um?mD#^Z20~pgYPlE`Ybsk z?op4(5}rAngPv%H(!IqkQ=hl6#Z67b{k2S>=%IFjqW@wKKgMN$QzJMzfRCR_{e^1c z{Q5J3o9%EdajDr_bIJ(`;;s8K!wz<peB!+Es+uD+<0T-Uij5{? zFC#YTI54z%#uVe7Z{Z>KSg_9>O03TQzzZ?v=JAU-+-UCug=|o9Z6DGBr6w&i*jgjg z5$gZ28U}oxA;6Q&8@Zc7GAt^?$)xe`-%%%FRZh>Ols7GKV_POn%g9g4DxA2MyblAH z7hah2!lrR$dDylg_&qG%OUI4lmChR*#^Lj~Ryml&XX9{hn?7y=yv@B`uxhA3G>@oy1TJ@z~Bfji6NS2u^zmj2dNYfxxx^{t ze)nOSU240TLGVu*lHuz^`Ok!twvWG$0<(-QTTYq&hWR(LFOctnQ8KdvVWk@&y0jzJ z8fxDz)Tet(e*yA~YN=ZGG|RuGwK>BpxKSaYwrbLz5WMS!p~UFXS=l)0HMij#3*PGA znKpsQgUtE)GmHs$pESdNlsQ~?Y!Nzk^9!4VfiLb^4;#;LdMR#HFH4hSx2QL=l??#x zBx~XA*=nb*&Qm*eUXKPNR^}hb77a6{SM&!@nSYIsqImpnshw@2Q#l25;$ZP7PnmyK zY}Gfo@_b5D9-+IY8gT6GB@G`&VLz;SB=Cd<9a$7Gn%e0Wkilak&B4b#2ycQWcm9x;ECUJnFbgsW9n%5_)Pv!-Ct$pw*b9G$SeD!`0gH5m{ z9wUg$;Qlg*k%GSbgv+vcI5Tp$5r}-9lV-d1V8bX?G0vaEczncEGyxlNuW@LzEICYY zMBWGrn0|ml29~7ZujkD{3!DWsN*h__S*G1Ma)K+Et>$oISZ9_im>-pMK%h9VyjUv% zrbw70{+-vWD%2dO-T{0-EP#iyfBt+Bh z27k6k=)*B`ZK}cv6t_9zTiM2?aM`qM{H>5?#{8*tsBJi?>B&q8}HIbJ*^f$}Hh2`PNE_VAZQ^lCHZbwCAE@q`ISFE4JZK+&~jCWR; zTY$U=$T%)pmNzbv+n4Zm9OU?y1-Z^P3~%7sliGKJuVr8$usL9E;y$&^U*P!i1hZkH znOHgVu5!JwT%YU`rDv+zsaQ4Vv}u!+=YZElld+K2LHu9$Z6W^upk&jNkkB#3KV}Jw zEoG(tmhwE9R9iZXH(lk^Of(ghEPI&ygKw#+zM>CPy=H^Jw0285s9|t*I~U>+DgYhY zxa4w8qmEchT~5E{v6?X(&_}}R#K>O$soWBv2=?^UbP5>zlzQ^mO$oKx(@3__~8)4 z`d9rqEs3{v9zoqczqbs}M2ZfisPT0UC-j&gZ3W(X6#q*ndeF!v2P0^RlWZ8&y@_{b z2a2u8Ln<b&RaUOfPNl41zRz7t*rDE)tY)j;%dL7h^tS62$d%zf*+eU2CNWV+2d+e$ z3b+`Su&v^9PI%~bJ5Ytg3pe&Bn8JCZB`l7_MLc7O>4w~ug()1}D zOIDv9xm)4(XfM0ZAY48+X42PmNAJ)BXf3)`VRUuFw|jUPwz$2D*HBSq92@Wdhtp=t zFhR+A&Z#q=;T-gH;K~`#aPCwl-khdtM2D-*?gK-p9eIemFFPB1y`;$=Cz3Tw-BunI zyy4@%um%Sb$8(&AFNM@p=hr}O?UMd9XadqJ7RGTyoFBnG&xIdSHmUU7{cNC}lk^ch zz0_Id(bhhAxw)Q4#;7eH-5Oj>^0XZU3v2+h9f&fIn78it?oxeGn`8Aw%I}rBLQj>2 z^0Cp!>Ka5_{Q{w%6gn{O0(vXVV=G<6S#%x8ft{X_$R=aa`57&5u|J@`BpoFB9e=jU z_70Q|^wI4CSB42uV!?O|wYW#2hD^kA;bLiCg#$wkdDM>QL&A(~>FpjFw864x>0Op0 z-diNA%<#{L*OmtFO&TynfG ze-?(Mr;IvyIPd z!o`Wx=`c|~#5k>J&{Bj`e}hq#Cx@l3))+%8!CNXeY?4}!7n%)o~n;5XFuf%;SCHHJEWy(a1rqEtV$~G&&C4DA_bH6)L5A+w}<|(EY~lTh$B_?ubYZ*Bc9oNRmC9 z&7J!CgnRXa>%x#1ND)s=A-5bLOxq7;sD`Y-p&}L|N%e%}9W}BvFxmL(RO?}gp~72< z7ZXyPl`$t>=W|x_;H>l}RX8idg-dcyunN2L$@t%MR{mp+x;0CgpVCS>0>Tn?LC%Uj z^n-2ybNg^P&3%NXTO0Tw;;UewZ72c`7jXdyv#K+68N{6{n76r1v`N6|G0c7u6NDc- zN-$hDjosI}b0EaRj?Lp>&a=|5|G*7M5ks^?~AS`!orH9B|Yx^gA4 zON|<2Dr-D+lug!MPj2C(1>m}HTEQ?DD=98Li;O-`Sj(RmwAO{U#d#YPnZyQehdcS= zc5CY}~L~o?5yS zkpN=@Z|jEYE?(quV4cpon#9_f8|%mklvp~+S4Sr&;`LVZvjR8G-&+ zlUfBcB4(}u*f3rv5T1`k%I1zybnUi=gQN&`i_Tke1dQ z6}@WzvN<^WaW9@GOQF^$mn}{@hVM$P0+*7*JpP{e6TCwF55^%}pv z->=IeG$)sNSGCU>><@8a81;W{++Ro-Y7qY4()leW|PdIu5-;#11Q#!uWzbB9Cc!B z&bFFuMoyze#w-^WW2RxOG#%bzPBE{xHR9lBv)GvD2KN5eSgk- zI23H19Xfe=)!y;p{4dEa0)pj{+Pp?YokU$HR7)<<8T4aLmjfP!yuXS)*=5#k`EhUL5l{FVDqUA%YQV?CE*Urd!$hP0Va>TVo+hpOlQ)W| z32)Tzo6_vC1|rrmFm~|roQ)FsP3z~@SjPbCYig{c(E6Gd>$t@Fnob{DU$@0N`dVMN z^X$F#H6zw>k@fYBSVyk)bw{kDm-RJMY?oD4cg8xhtgpKe=38HPkm}l@sje+f zb?p~ZT{|q*wb!JOzBYyQbt$C3ltOy=c}V{u4e3AluoQMQH&_$b8?E)dK)7cv)cSr! zSg^14{a#Y6$y@9DFBMSpw^k`{+Q`@Xey38@EUxuErvhps*ZQ7S0X0EteZN%!HJxjH zU<7D2qicP?Q2{lnYkj{~0X46!H@odd)%rxVa$dU{&uiCelA9myX;-skPtEaK-yaEE z?P^kh)S|5Q$z9DJky_s>6;MmF)+g^o+2c~{dqoB8cD<|ucDw$n0(QIpq5^ii{;UFa zyIxWOyIn7;fLgM(zCWoz+Nxc1Ub|2va5O*K(=L%Sr?*Q^2&-Lf3Xt8d%_?Az*CrLP z+qF>z?D5*50(QIBtAO3ERu!<@6;lDbT`ekLw`-jW*zJm{fZeXODv;K$mh;;6Hp$J) zd)oDuWIuR0d#Tl$R|#8RdlVqGo!0u^Q~|q@yH&t$`=xKVUmZ|bpv4O!d`l7b*D3SBs*s}cQHtf&WIaz~hKUP>~RAJ|*Ht*GvpzPnkHy#5nX7>B0ZB4^}-0nIL;*%s2u zb!>;nJ((2Y&%{NK6e=)uF3(&03fV&EioCUF`G{*)!YP-x{wsV2 z?rCj;gz`ow)9aOyYwCGRyPA4p`}1q|O9Dn|P1Q@G+wLR--AVfMDm|O2Ks;t)O^6WF z)0eAsFXf3>>5em*(HW`oYgBq)fqy2GbT~)c2TP6l9y2s~Fqg+(r5opGnW1TXYp_X_ zKVe6_J_8BajwVOTU`O;`fN99*A;`{jXUgX$2wihRIJZ%Y?Yl^;*(cfj`c^-B6uHs{ zhob}H!@_}5QA$B$le?optD)OFywHe3=XorQ&pD!VQ@I;d?)*l-zQfPW%oW>zv0#7B zZk=OkTHa|Y?=|E-65C%W*&Is+B#lW2IfQHwkd2}JgH?rNN$o+;?6OjEfd&N9$OF4F zSGAr|h_=WoP;nmBwDaR!O-rdQ8Ha3ytl-nccsNwi*nYIb_cDSOXx76}8Z5VbGc=pu@&*#)w@KQLCLlW067;TUrK7K< zB@E9-gfij$M??F^G8p9}@AVDz)(%Mln`;BRR{zoFJ@4TPVvRx8W!TBh&90<^`v zwSVAK7N;wCdHhBep<124R*^O5WapF>d<6-0JG?9KI~XkG4XMfARa5^NDSnv9|p%jHSbW$mjxnoI=KdAdF9KJz`NCSnW6b=Hj-0Ko!I^YSpaBA zTd9Slp5rF{fm$!ARV1l?{S=9gr6jU!RJs&(EVYXcR0}9slvQID`lv}(hbrVzRZ@ru zyO6bBq>!u^8e^eu72Tgi6)aWyd8p>8zDO2j3E3b$Y7r&lSx43)l2ly${Nq(b3A23} zgE?|M>qux?S#X+JrxsE+AF`4pL&NyX;>$=E2X`KCeShYInzQpiNnZf|utS#0L8b7KWgKY?X9olQ{lAknlpTaB*bf5~^%^$KYq0Ba5R z5rL(EXGsK;Diz@YvP$WtNE7>zI6HN6z}gptKCu=Gcf%tWGs))YVBQ+)7#urNh)cXm zE9xe5IzX*SEIBW-qB*c&ug8uQggVBmnDIALeuAA@&Rg;7EHI}@sch@}HYrsgKsuIM zrEVq1WV@715%mzlSgN04N6H>KCuU@YIwbZEJ648ny8#s9?j&yW_(Er9hLemr#N3Tq zrczZogH!=gVF9$=(B!c)jiTxSP`vpmgZxjMB`Ws5hkNG`2P?SdeFx*5v);RMLSA@5 ze$M)ExhHn0Z_OcS21oVlE!;(i$ljl`DO?T%p^!q3r4q=6KprBqT>=g#Z%%$KXH(5K z7Ev`+WAhBE5$WV%@t=To9t_{mgJM+6(dQ`R;K**0ACA5TXfwP*1BVn<^}hAQzR0q`l;rCT~8^ zAFm%ltOxZ_5q2TQ*vmPr8(Mh8LqLPs<}lGtE_XaXw(1gQe+LZ+jm!x4vfN~^84PcD zV`3%kP?DEElus@=Q%Pr1ntG~*3SA-3p%fdReh5#7YRnZ`5iR;9!yY#~P0OTKuF80r zJ318F8-?1{V}*ff37ovm9gx~7Li-)2gTwK4c|y;D=G8PGlI;(STz8i#{(1X~3rr%q z@RBGZQPOkuO^9m}SzV?@HQ_2q7Er#-?)?|DyATcG1ZCb6-G}|32olwplqUNJ3`*r4mE?y+kMF8@s-y?qClb;SQGCyu@e1rzMtt zb&a|;tpmVO~DL_blp?G3*AY~YWz zdwI)GGz%ccMDBwyp!Zxw?O~Mem?&5j?ls$+XHy~f=KglB=6kKMH(AOaf6pCcPhPfU z3iD)e(UoY>J-$Q2nnnlVEnJBch) zk$;smW4uH%a8_h^bwDDoBU1d*hgVM~$lGixwot_i)EO!^EQv;jiWLNAso2LP(Kz~` zK;S*OUr4NFOBr6LJlez#XBcmgY&Spz0vUD~4S9d29M_Gx|UJJ3G zhF5!hHe#1siPCIIbjQEVSruMgNII?=B$xNaZq&X zr;(m)cK;yNgWG=00iDYQR(EtA)w z;m+Kzw?%Sqv>XytM)E`IF`3d>dH722Ep3X%z)WdphrV6gdC+XrB9oABe_DdwRWgz< zlJt0a$-(07DBfLR6u-XnxWA-B(=+PKrB89nDsKcSr&%JomkkCn{9U~NAl591;ZdAq z2Qgj)=Q;lHY&?!?HD}iKUAO?5$0tp0uth!+dFVc@gpo=hfh&wWG?{>=Ha9EE9T!bE zcKoQc&bzYPSjoN?b^V4;72|a|Bg2#O^i2Z$<(w*aXj@()Gj!;KW;+Y+JUe1Ev^1C3XzsW;} zY6clU24s^=o@U{22EuD)1)!Jluw1snDA*{QMSn*YuQ zr}PZ`Ii3ETbD?clnA1@`|D&AM@+59u2lRvhvvjj=E>+v`CkN8EVWo_enmlUeAXvMK ztRiFP%?H)Ge4DT3t@qN2fpERZ(U@uaPF_2WUIhN~PJMW75lE|Z4~!oLV@;147atH5 z)~f9z^2$rnj&nRPMU>hsBCoVaR6?R6b?tnUB0Gh5)lOx*&!tV@X}n50Lc==Q8RlOd zUU7zB?~Cn`+yV5}2?F5}%j{kg8KOR7Sz?FSBYGctR`qV3!Wab!t#jh+>fpp^u0+cP zCECaOVnzhQDx1|78GsVrU_95nkqjKIAETB8ZdQDAE0KxvsLVkNjF<@W^^d^_TNN;9 zxut<=lgRgs$E`@&%98!(U;{JW*e{t^NWaQt$hRhgbgl6bkB5~IQYI7oLOs|;ReEzUhGWc9?Nl6xkuRL*CV z*=6Dq>pK&;iC$Ko48AKO^|JXlJ6Ks!a8T3RI+sz~6-yuJ0x_GWnCxDd$4ge`wtq!cMlt?tT@KRe6l>!s+Ca^9o|MUQVnE z-qun->*TDmt#gf|zlQLg_qb#jOf`}Ox42aw@u;XkA%KUZCtd)__i$WMs97XV)P8!h z(^R;M7PE~g6thr4f+v=+w?Z)TVdBv^(`#1 zG0PWmH0DWL*Z~|cv=5o)I&twfP;a&2bHNyREw3m##ymxqg+*HRI&r<~2;vi?zJm{o z)}GCmF*zTzJHOAzisi4+5#(R?qa3@(6h%ZCHsPWx^@;F zK_BREO9#|+Lws9fk<6$l%`!6Hm!5HkWVA?8nRr!$lSAgH5}?)Td9NWaxO}c38&p5m zfe-!ou+@*%{7BcRt~6tGB^_z?n9Q61O?O?<@1J+q*}hhH{owQ6mDact`dPNbsGP(y z5ybXpRR?Xvi9t4>C(@fcrieR{^LR{}Np{80D2g=Njx{DxLuY_(GQ+b(3&1!Yy2M~^<4M4{RKL@mQ{27JhF zt!LwAl;+Bp{Z2$P+Onti$WQedcX05+0)8_VW|!9o3y767Eu6UM{QTaPA2(l< z>{;2H(w9y3X?In>e~ei^U1H-~fqN3oytLU4hT5EHwd`c-48MY{CbbUjxm505_d7Yy z=rX0Fi~qurjbn+>N;mku6FcNS=vg)+%jj0KqFm=a%j3>>(7~ZqlhM&#|2?>vyMdMm z_&czfZ>howNur-jIJK*`6LY+A?z*RO&1?BO{_${i=nVe5I&=bQ=M9Yb!@MvU8nf%G zobd7#P!T^7_ix|f+|=v4tt|S@6Bd+NR_Ia- z%3LdyeN^SFwnF+b6>1=axkto33r!&4EV5D;S$Q8Nghm~fj}|0J4L>fckT`?7LZ|YB zyaDDuqrS&3#2cRb8Y}O83epWL-ph0Z8lN+tGkd zL^cXtR4Bmp`VJLg5|F)y2t!54C1Njo)aHqWF9|pXhYzosKZ%eMazd@hz8Uwp9&jKEYB}hjOBy`sSJ9URGp=s#|dbko<6? z*JhM#nTe``)6(ifGRi$~O&s`?Kd4J>h*eG)mcHqAVlj?E>;`ufB(rZ}t|5XjjxO;D`K$^vXGc*wcCU95jy`6CSn&?+{oM(y{)Sg&TBc#Jx6Vz#jScfF2l?9Lropf zW%P;`JCr*_zVTHOSy{xm!*OcFJ%=3^nmbxw8`bApUhu0F8uN{(q{VLnLqGL z6TXSv+D!W58R>wM9pxygGSOm(;n2FfI`N?rS@klQ>Ki4G^qa(gNJ}vrG5hJqwaDX= zPNCSLESSBfS#wAjyZ)TxIigMo%88Kp;Uh;>a+>{=I)Hq#$vMhq>R5LfDd~XV5BBGT z=tiMX=@KjU0J^gE)zlvdJHi2vKYX7n6mx4k4{?Ea;CXZYVi5eJ)d+fK+_2g|N=uzB znrel?%>jp_V{C=FQN)$4s=>RFm*v7D*dBX7SJ;yP)!!R} z?qdt=?GuQta}LqK>3Q)77?1$Q$Yih@xLq`12{k9%SS?LVQ?)faEGmEly$VLD`>9u5 zj?MMCAmwtX?Iw@U^}+#I9O_=WU_5fwzi)Lp##B4u^aza~&>t@&OLLZdNBWGVJbKOD z<+6g@@u;*WRw%a}{>X&77eGkOo50o~B%6wy zW=B>_r2LVb$w)R&`w5BkNScW-!AC*z3P9O=i5b}wBkPQqqO=%D#LvYzKO0m1*-|Y| z5a5qsHQGj%+B(j!j)~@ImOqkhsFkgGF2B*IXJqndh#U*+?^TYiKZi?APPTZq{}lU?_4qC$z3N)FQQ{2nzt@ziPHGH(F*lQc7v&YpNhFov3wZ zhnBN}k|LA{oz1U$LW>>E*Fp!D;`P+ysJhBu`b>Z$wraq#P$j>kvzL0DEe-0sAvB4Y zMBbduD(K{(QhCp3aVPOkn-z+Lo0|9eSpm&!cBxqru5#gr3*Y^s@e6L1rJq(MlG2bX zgz}n!4Vig0))7~*I_HwBhwd^JnMVfqdt|`wrgn!S&F1!Gk)$g_q33E^)LYi$;{(Reo9Yf+?#|R-261KU+lpoDLR{nt#>;x&g2~ zI3-t+cEtv@{LWuU`lg+SI6|y-)URrVs+@g|zUryp0{dPjU{g!d>Q6gQtfRl)DjE@v zj5KtSaNFtXkk(?y`o)a?TIk>sP2a#`b(ZHG)wUn|*O#nlDM{xg8;c$q)nld5gIsJs z)_dqKeGawMJpR|0wO`q?lw8GXE>%afkjJ47GpJBagqaGjyQrLzOsXANt6Yp=y028L z{8!u5D!0WEimNOFzGgM2XFOvO@>5E-K)55*ySAE>L#Y;c>yFbXE~B!sMkS*?SwwnA zv~`Bd^kD-U8l6RK&FXIQ%4jZdM>qTiX#(^I=YkY$kIt|n%It{$uAE(~Rqle2#ehd7 zx)x6sDdOP$onnuRCj;f*ze&(zk_)mH-c8aDVtQJVJpFoNqSuhUi9`2)hNHBur)?k& zooCnfkNf0bXxsRG(l&2x5eI?P0)7fpt6{1|c3Z5Ne_VO`fG9SwQj8Es^7=MQoc4wy zq>)oWh`v}|MDOt=r)>0UKy7(2UAfS$hMWo^U(NPPgryvNlkiCGDi8lKUwqNJp3eyO z*3`kQJb|G#5eb;E{udtMa_FsF!GI*~cFcZA+4JUmpycCXULto$X$&uJhZ+?YlTZzq zqpJXq?2Xb~_Xl9JsC7<8eN(JEWBWNy@6aKq-+9Qn$(%w90D`yQutUq4=-FKE;YBKI~-@lE*)#!zlw|pgp8_lXUy`tPH*j2GFqmE>i`fA$r@1%^s1|tDO#bnr7G9T za6i7%6JNo?R>jBPlAP=K<9#T`-_Pd01))=d!`8}eExx5x=6y(cP_qv0Xg^A-p7em= zgVEWnLJ9WUZg^K3q17|468N=4C|7sPTRVtf`?!zxPnFbTl7;H5svAo~cY=JdOjp0m*>U0JFSv+m z1d8Z#iUP&nagh;!bkUmPBWSMK_axLh(WRJ*b=BE|sx5Nqv7cj-dnn?QD^8&sx-c7A zX+LavMN!UGb$!i}xlaQ(;S1k3x1^=!lmvo<)ROC*FuOX~x8{iKw6;#fiWcQR)PB$b z4-2V9XtT%57?!GhV?3UC#QJ_v22-jf{%$7oqXo#`y1`^Hd@7lDT7uRf(@KO0WrPZ!F)*(4cc+?j=d~*^8 zq_D7q_8M2f?^CfD8Vio1q*Qk-zC|>6xnqu2%<6?+dyiMUsNz`tqZ3SR>h>-#KF8O7 z_B2{6=bWkwHUUQNdlf5IGk0D1MEu;j_1$-@z5QA+wDtzUbF77D-_P&%|FgY4eV6en zwwrWLKQ_2TzS>b1^hw2f;Kil_15b*YSV;DA;UZ^mF3V@E(Atn)OT6TStBYjV!i%h* z`}h%teQ&Pu-iN+S-UM=Xc$AF{58vuCAMB&9^Lj|`{)t|j)vsLY!>c96mWUlP{(@AW zO0Nz?LUK*t92(AFsUGzYtGc}3J+Mta9Z}5$`uKfk-Rw+;IAsp(u8f1 z4gz;f`nXhFI0<&LfEC0AtnYJR^Ay;^|25bmN^mk*xU17gOgZEZXPoOy?{5r#1>ppD zTz#@9fm@*sg=x1l_!hsnIMHnaG2-4T!fCy}-3oo{hzc22=xUY|X^mIF;lLa@3-(wT zS29la$Ws}?8{-XB1lLyaa-+FVh~AjZzin<~N~;5j#Uu00UIZ#vVv^`iMj!q*o0k$5 zwSaMzJNhUQO@OQx;=Y=u@$#e4g({=k_dk=dNHP|Y5j{kCwNG2q1`^XtjtL{ryE3%r zN}A|>#+Y9s4Bl>m*iXKAuw$>Y_JxKb>$-o4Z()b2biSYF+h+R)*v4wkw6%fXixxwc z4Yoo*r%mUn$hS9R3Scn~^^dhFh&cSE9p0a<1gY`iho2KL(8qO$;x7)?w>$ zckyCvrJ?en-az0MBTcFMwxQfdmVzK@D9hs2M&5Z6X6e^}gToul>$_~`d6~m;S5(wc z((VNj_ZU_sb3*2^^0{@gX)NF(|J~1f$E6=F?W2|A zqN=i0^Hy%fBaFV&kC!O3we-!UZ)^G|;(_`#t?Tc8Zva-yyZppeS$$X6yP7v}#9w-F zvD;sI?7>XHS;h96uVY-ScNM>`pXz$s8+fzy?Ii<>H|ZY{sQ9Qjrf-$l?WMcRy|=7S zWP(z~J$UeO{kydqER!T5S>W5%QKe3OD%(ej=5&6-g?Yf^Ej0uwD&$|Xus3hUb4g4rW|JB8RGgtq}JCi z-Kx8kl7{lQb3G78Ks)4>icRy+9^hDy3Vv!Ciz4@6GI%VdJn4xE{E--uR1Ot%P=MlZ zQ2^`q`y@OP-$S0##dz9ogZJ5# zklaSC62isxhwrVe)SSnlCZQwDek!;1I5gz0lo2j(H$>S_^NznQ$p4DxbaSO(|Wcav*G4YY)tQr;a z19CQ)@~FKQJLQV)^JvKU1=v18)w!MYxvVA#Jr!%g&Z@CNpGty0VpU}(!yhPg7yIs2 z{UBYSpN8NAWXyDFD9%~%G&HM;)0{i)mS@%24L_ZPlu$@pfU{~8+;X|MJkF`DZd*T7 zA3MCYb?W0CZ!KOk(D>}|#`a-Vhcx7{_erhmtfsd>#uIG?HtKDBoYG@{z57X&O8M3l zryar;RZ%P7IgA{Tcby;v4eX=9Ie)Q%cDG@rpVo>u=-qsei(GS%8Sfy+X@7CIKQdyY z1oh1k*QfG<_MO)C78_+7lg<~(SE=RttF|Kstu*HM-n_?;CMq8D1uw05JyqfaZu$#|l5n#Q6jedQX#u0Nfu6S>0=jsEB#YDCvWProc)3`Rga-gO<^nzMB4_g#(>KkM-qMfG5$JISF3n`rBGD zmWu6!Tb-L@rq^4W3qZeqjJ_5N#p1KYZQd7mksfolv**K_!>xy0IS*uzub7s;_!_BO z$MNiers#5V`SrK;n0~_h;&zfYP!Md&i}z{8J%e^qYm(zr-&}LjWJg~*SW|~t%}Hm6 zX)eB)-cmx5F023am^y50OeY83;{NK0tuf896wJlzrFv~!8X4=z9v2zy(bxDMWhays zS&bu*+L3~*zQ_CGhYCYMs`x}y>gRGfAu@2N_HQkcQ>)=eje9pkTyt7sHpsGct2wPO zV-oI(lE(pNT?m3KyiTU$b<)PGO=}ba7Q7gSZ2gq;1PA}tYW%9m>!mzDacF6*J6n83 zFYVe~21u`ecc`tJTUe3ofH?2*`eUZ-k|8!smwt&pVOIPNE{Opmarn$uS`=R>VYvDC zHO&HoxBx=Sn=jcW?^D}r^W^8)0n9S`K*JbNtHvsMOU=G&GDRwTRqKIV-D4#O`$m>Y z-Mp}dV^2Mh&vR>`Ru`Vm3u{iz0!kHcSEwVwU#oU)Pi5(BcK6yp0jp>K*EhnoJvcaY z*0V6{`O#I`iDIR;Esm|4MVS-tHD5yoIuLgGl$T)6!pNdo#utgJB+n%Mpy&~EWv$f0 zx6jhT*-g@+P*T_j)$Fh4JEv9a+C(4HOXG*?cq`&Nhz7$&u;fjz7Os+mh#M;&RdUVt ziqK|P;>AG7lf^aVV+$zcUHR9A{7|PNbBvn~Dbd&& zCnR;XL`T~wMAg=HdMpFCa7lE=Z!I)A4TF7C+)z6b+<};4rsz95a1z=$IdPLaO~B}~w|kxJU;Q0jW8 z|8DuAuWehH@QII-Z;5e3tLJhJ#cki$`g6(exv$N!bein@S~0x8 ze~CbIb$!N)@#kRR&_d_`hE z^scI}=;3_0#R&DfaJF`CV2&nV%NJCCn!)!23ab%_KVU1?asy_=t78FgmIK zmQ_MxS`2q0$I8`WWJ2~~7+3!XNe6GmIo3}!xdiX<4fEwS4&fAuTUm_NO%%m~Ud|hr z*%s

-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%0AX&cU%EN3K6{sLfFfd2fx--9bVEViHB&2F&SEY( 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

m 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 T$a67+9N5y-(%jB1u#Nu#z8|{s literal 0 HcmV?d00001 From 1f62e5ab1765bfe41e75f72a5ad8f1ceb983dd0b Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Sun, 21 Jun 2026 09:18:22 +0000 Subject: [PATCH 05/11] Add multi branch handling --- .gitea/workflows/dnsmasq-image.yaml | 57 ++++++++++++++++++++++++----- .gitea/workflows/ipxe-image.yaml | 54 ++++++++++++++++++++++----- .gitea/workflows/spdk-image.yaml | 53 ++++++++++++++++++++++----- 3 files changed, 134 insertions(+), 30 deletions(-) diff --git a/.gitea/workflows/dnsmasq-image.yaml b/.gitea/workflows/dnsmasq-image.yaml index 8c75f76..d787fb3 100644 --- a/.gitea/workflows/dnsmasq-image.yaml +++ b/.gitea/workflows/dnsmasq-image.yaml @@ -7,22 +7,36 @@ # Secure Boot keys and no iPXE binary — the signed snponly.efi rides the separate # fleet-ipxe image (ipxe-image.yaml), mounted into dnsmasq at /ipxe. # +# Tagging mirrors gitea-main-ci.yaml so every branch builds a uniquely tagged, +# pushed image you can test without clobbering main: +# - tag push (refs/tags/v1.2.3) -> "1.2.3" (+ :latest) +# - main push (refs/heads/main) -> "main-" (+ :latest) +# - branch push (refs/heads/) -> "-" (dev image, no :latest) +# Set DNSMASQ_VERSION in serving/.env to the tag you want to run. +# # Runs only when the dnsmasq image inputs change (path filter) or on demand. # # Required Gitea repo secrets: PACKAGE_USER, PACKAGE_TOKEN (registry creds). # name: Build dnsmasq image -run-name: ${{ gitea.actor }} builds the serving dnsmasq image +run-name: ${{ gitea.actor }} builds the serving dnsmasq image (${{ gitea.ref_name }}) on: push: branches: - - "main" + - "**" # every branch — dev branches get a branch-name+sha tag + tags: + - "v*" # tag push -> clean semver tag (v1.2.3 -> 1.2.3) paths: - "serving/dnsmasq/**" - ".gitea/workflows/dnsmasq-image.yaml" workflow_dispatch: +# One build per ref at a time; a newer push to the same ref cancels the in-flight. +concurrency: + group: dnsmasq-image-${{ gitea.ref }} + cancel-in-progress: true + env: DNSMASQ_IMAGE: "git.bitasylum.org/audiobuzz/fleet-dnsmasq" @@ -37,6 +51,25 @@ jobs: name: Checkout uses: actions/checkout@v6 + - + name: Derive image tag + id: vars + # Same scheme as gitea-main-ci.yaml: clean semver on a tag push, else + # "-" with the branch sanitized to the OCI tag charset. + run: | + short_sha="$(echo "${GITHUB_SHA}" | cut -c1-7)" + if [ "${GITHUB_REF#refs/tags/}" != "$GITHUB_REF" ]; then + version="${GITHUB_REF#refs/tags/}"; version="${version#v}" + else + branch="${GITHUB_REF#refs/heads/}" + safe_branch="$(printf '%s' "$branch" \ + | sed -e 's#[^A-Za-z0-9._-]#-#g' -e 's#^[.-]*##' | cut -c1-100)" + [ -n "$safe_branch" ] || safe_branch="branch" + version="${safe_branch}-${short_sha}" + fi + echo "version=${version}" >> "$GITHUB_OUTPUT" + echo "Building ${DNSMASQ_IMAGE}:${version}" + - name: Install buildah run: | @@ -58,11 +91,15 @@ jobs: STORAGE_DRIVER: vfs BUILDAH_ISOLATION: chroot run: | - SHA="${{ gitea.sha }}"; SHA="${SHA:0:7}" - echo "Building ${DNSMASQ_IMAGE}:${SHA} (+ :latest)" - buildah bud \ - -t "${DNSMASQ_IMAGE}:${SHA}" \ - -t "${DNSMASQ_IMAGE}:latest" \ - serving/dnsmasq - buildah push "${DNSMASQ_IMAGE}:${SHA}" - buildah push "${DNSMASQ_IMAGE}:latest" + VER="${{ steps.vars.outputs.version }}" + buildah bud -t "${DNSMASQ_IMAGE}:${VER}" serving/dnsmasq + buildah push "${DNSMASQ_IMAGE}:${VER}" + # Only main / release tags move :latest, so dev branches never clobber it. + case "$GITHUB_REF" in + refs/heads/main|refs/tags/*) + buildah tag "${DNSMASQ_IMAGE}:${VER}" "${DNSMASQ_IMAGE}:latest" + buildah push "${DNSMASQ_IMAGE}:latest" + echo "Updated ${DNSMASQ_IMAGE}:latest" ;; + *) + echo "Dev branch build — :latest left untouched (run with DNSMASQ_VERSION=${VER})" ;; + esac diff --git a/.gitea/workflows/ipxe-image.yaml b/.gitea/workflows/ipxe-image.yaml index 887cf26..fc12dcd 100644 --- a/.gitea/workflows/ipxe-image.yaml +++ b/.gitea/workflows/ipxe-image.yaml @@ -12,6 +12,14 @@ # key-agnostic and this one is the only per-Secure-Boot-environment artifact. # See scripts/build-ipxe-oci.sh, docs/secure-boot-keys.md, CLAUDE.md invariant #9. # +# Tagging mirrors gitea-main-ci.yaml so every branch builds a uniquely tagged, +# pushed image you can test without clobbering main: +# - tag push (refs/tags/v1.2.3) -> "1.2.3" (+ :latest) +# - main push (refs/heads/main) -> "" (+ :latest) +# - branch push (refs/heads/) -> "-" (dev image, no :latest) +# - dispatch input always wins. +# Set IPXE_VERSION in serving/.env to the tag you want to run. +# # Runs only when the iPXE inputs change (path filter) or on demand. # # Required Gitea repo secrets: PACKAGE_USER, PACKAGE_TOKEN (registry creds). @@ -21,11 +29,13 @@ # name: Build fleet-ipxe image -run-name: ${{ gitea.actor }} builds the signed fleet-ipxe bootloader image +run-name: ${{ gitea.actor }} builds the signed fleet-ipxe bootloader image (${{ gitea.ref_name }}) on: push: branches: - - "main" + - "**" # every branch — dev branches get a branch-name+sha tag + tags: + - "v*" # tag push -> clean semver tag (v1.2.3 -> 1.2.3) paths: - "scripts/build-ipxe-oci.sh" - ".gitea/workflows/ipxe-image.yaml" @@ -35,6 +45,10 @@ on: description: "Override the image tag (default: sanitized ipxe package version)" required: false +concurrency: + group: ipxe-image-${{ gitea.ref }} + cancel-in-progress: true + env: IPXE_IMAGE: "git.bitasylum.org/audiobuzz/fleet-ipxe" @@ -67,13 +81,28 @@ jobs: SNP=$(find /usr/lib/ipxe /usr/share/ipxe -name 'snponly.efi' 2>/dev/null | head -1) [ -n "$SNP" ] || { echo "snponly.efi not found in the ipxe package" >&2; exit 1; } echo "snponly=$SNP" >> "$GITHUB_OUTPUT" - # Tag: dispatch override, else the ipxe package version sanitized to the - # OCI tag charset ([A-Za-z0-9_.-]). + # Tag scheme (same as gitea-main-ci.yaml, with the ipxe pkg version as the + # main-branch identifier). :latest moves only on main / release tags. + short_sha="$(echo "${GITHUB_SHA}" | cut -c1-7)" RAW=$(dpkg-query -W -f='${Version}' ipxe 2>/dev/null || echo unknown) - VER="${{ inputs.ipxe_version }}" - [ -n "$VER" ] || VER=$(printf '%s' "$RAW" | sed 's/[^A-Za-z0-9_.-]/-/g') + PKGVER=$(printf '%s' "$RAW" | sed 's/[^A-Za-z0-9_.-]/-/g') + push_latest=false + if [ -n "${{ inputs.ipxe_version }}" ]; then + VER="${{ inputs.ipxe_version }}" + elif [ "${GITHUB_REF#refs/tags/}" != "$GITHUB_REF" ]; then + VER="${GITHUB_REF#refs/tags/}"; VER="${VER#v}"; push_latest=true + elif [ "${GITHUB_REF}" = "refs/heads/main" ]; then + VER="$PKGVER"; push_latest=true + else + branch="${GITHUB_REF#refs/heads/}" + safe_branch=$(printf '%s' "$branch" \ + | sed -e 's#[^A-Za-z0-9._-]#-#g' -e 's#^[.-]*##' | cut -c1-80) + [ -n "$safe_branch" ] || safe_branch="branch" + VER="${safe_branch}-${short_sha}" + fi echo "version=$VER" >> "$GITHUB_OUTPUT" - echo "Using snponly.efi=$SNP tag=$VER (ipxe pkg $RAW)" + echo "push_latest=$push_latest" >> "$GITHUB_OUTPUT" + echo "Using snponly.efi=$SNP tag=$VER (ipxe pkg $RAW, latest=$push_latest)" - name: Materialize Secure Boot signing material @@ -114,9 +143,14 @@ jobs: "${SB_KEY_FILE:-}" \ "${SB_CERT_FILE:-}" \ true - # also publish :latest for lab convenience (pin by digest in production) - buildah tag "${IPXE_IMAGE}:${VER}" "${IPXE_IMAGE}:latest" - buildah push "${IPXE_IMAGE}:latest" + # main / release tags also move :latest; dev branches never clobber it. + if [ "${{ steps.src.outputs.push_latest }}" = "true" ]; then + buildah tag "${IPXE_IMAGE}:${VER}" "${IPXE_IMAGE}:latest" + buildah push "${IPXE_IMAGE}:latest" + echo "Updated ${IPXE_IMAGE}:latest" + else + echo "Dev branch build — :latest left untouched (run with IPXE_VERSION=${VER})" + fi - name: Shred Secure Boot signing key diff --git a/.gitea/workflows/spdk-image.yaml b/.gitea/workflows/spdk-image.yaml index 9c54a83..2b1ee36 100644 --- a/.gitea/workflows/spdk-image.yaml +++ b/.gitea/workflows/spdk-image.yaml @@ -9,15 +9,25 @@ # Runs only when the SPDK image inputs change (path filter) or on demand — not # on every commit. Bump SPDK_VERSION (or use the manual run input) to roll SPDK. # +# Builds off ANY branch (dev branches welcome); the SPDK release (SPDK_VERSION / +# the dispatch input) is the --build-arg and the base tag. To avoid clobbering +# the main image, dev branches push "--" and never move +# :latest: +# - tag / main push -> "" (+ :latest) +# - branch push -> "--" (dev image, no :latest) +# Set SPDK_VERSION in serving/.env to the tag you want to run. +# # Required Gitea repo secrets: PACKAGE_USER, PACKAGE_TOKEN (registry creds). # name: Build SPDK NVMe-oF image -run-name: ${{ gitea.actor }} builds the SPDK NVMe/TCP target image +run-name: ${{ gitea.actor }} builds the SPDK NVMe/TCP target image (${{ gitea.ref_name }}) on: push: branches: - - "main" + - "**" # every branch — dev branches get a disambiguated tag + tags: + - "v*" paths: - "serving/spdk/**" - ".gitea/workflows/spdk-image.yaml" @@ -28,9 +38,14 @@ on: required: false default: "v24.09" +# One (slow) build per ref at a time; a newer push to the same ref cancels it. +concurrency: + group: spdk-image-${{ gitea.ref }} + cancel-in-progress: true + env: SPDK_IMAGE: "git.bitasylum.org/audiobuzz/spdk-nvmf" - SPDK_VERSION: "v24.09" # default tag for push-triggered builds + SPDK_VERSION: "v24.09" # default SPDK release for push-triggered builds jobs: spdk-build: @@ -66,12 +81,30 @@ jobs: STORAGE_DRIVER: vfs BUILDAH_ISOLATION: chroot run: | - VER="${{ inputs.spdk_version || env.SPDK_VERSION }}" - echo "Building ${SPDK_IMAGE}:${VER}" + # SPDK release: the --build-arg + base tag (dispatch input wins). + SVER="${{ inputs.spdk_version || env.SPDK_VERSION }}" + short_sha="$(echo "${GITHUB_SHA}" | cut -c1-7)" + # main / release tags -> "" + :latest; dev branches -> + # "--", no :latest (so they don't clobber main). + if [ "${GITHUB_REF#refs/tags/}" != "$GITHUB_REF" ] || [ "$GITHUB_REF" = "refs/heads/main" ]; then + TAG="$SVER"; push_latest=true + else + branch="${GITHUB_REF#refs/heads/}" + safe_branch=$(printf '%s' "$branch" \ + | sed -e 's#[^A-Za-z0-9._-]#-#g' -e 's#^[.-]*##' | cut -c1-80) + [ -n "$safe_branch" ] || safe_branch="branch" + TAG="${SVER}-${safe_branch}-${short_sha}"; push_latest=false + fi + echo "Building ${SPDK_IMAGE}:${TAG} (SPDK $SVER, latest=$push_latest)" buildah bud \ - --build-arg SPDK_VERSION="$VER" \ - -t "${SPDK_IMAGE}:${VER}" \ - -t "${SPDK_IMAGE}:latest" \ + --build-arg SPDK_VERSION="$SVER" \ + -t "${SPDK_IMAGE}:${TAG}" \ serving/spdk - buildah push "${SPDK_IMAGE}:${VER}" - buildah push "${SPDK_IMAGE}:latest" + buildah push "${SPDK_IMAGE}:${TAG}" + if [ "$push_latest" = "true" ]; then + buildah tag "${SPDK_IMAGE}:${TAG}" "${SPDK_IMAGE}:latest" + buildah push "${SPDK_IMAGE}:latest" + echo "Updated ${SPDK_IMAGE}:latest" + else + echo "Dev branch build — :latest left untouched (run with SPDK_VERSION=${TAG})" + fi From dea7ca451aebca26ef51f1f7dc2da505c55492fa Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Mon, 22 Jun 2026 20:50:48 +0000 Subject: [PATCH 06/11] Adding dot1x support --- CLAUDE.md | 7 + docs/TODO.md | 11 ++ serving/dot1x-bench/.env.example | 5 + serving/dot1x-bench/.gitignore | 10 ++ serving/dot1x-bench/README.md | 126 +++++++++++++++++ .../authenticator/hostapd-wired.conf | 33 +++++ .../dot1x-bench/authenticator/setup-link.sh | 38 ++++++ serving/dot1x-bench/docker-compose.yml | 47 +++++++ serving/dot1x-bench/enrol/tpm-provision.sh | 79 +++++++++++ serving/dot1x-bench/enrol/tpm-selftest.sh | 129 ++++++++++++++++++ serving/dot1x-bench/freeradius/clients.conf | 9 ++ .../dot1x-bench/freeradius/mods-available/eap | 37 +++++ serving/dot1x-bench/step-ca/bootstrap.sh | 61 +++++++++ 13 files changed, 592 insertions(+) create mode 100644 serving/dot1x-bench/.env.example create mode 100644 serving/dot1x-bench/.gitignore create mode 100644 serving/dot1x-bench/README.md create mode 100644 serving/dot1x-bench/authenticator/hostapd-wired.conf create mode 100755 serving/dot1x-bench/authenticator/setup-link.sh create mode 100644 serving/dot1x-bench/docker-compose.yml create mode 100755 serving/dot1x-bench/enrol/tpm-provision.sh create mode 100755 serving/dot1x-bench/enrol/tpm-selftest.sh create mode 100644 serving/dot1x-bench/freeradius/clients.conf create mode 100644 serving/dot1x-bench/freeradius/mods-available/eap create mode 100755 serving/dot1x-bench/step-ca/bootstrap.sh diff --git a/CLAUDE.md b/CLAUDE.md index 42387ab..ed648b6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -39,6 +39,8 @@ serving/ Lab serving stack: dnsmasq + nginx + S CI-built + pulled; see .gitea/workflows/) serving/kiosk-app/ Svelte+Tailwind spaceship-terminal SPA (kiosk endpoint; nginx reverse-proxies /kiosk/) +serving/dot1x-bench/ Secure-path bench: step-ca + FreeRADIUS + + hostapd authenticator + TPM enrolment .gitea/workflows/ Gitea CI: lint -> packer build -> push OCI docs/ Design PDF and supporting notes ``` @@ -308,6 +310,11 @@ authenticator + FreeRADIUS on a veth/bridge (bridge needs `group_fwd_mask=8` or EAPOL is silently dropped). Pass criteria: port `Authorized`, macsec0 addressed, NVMe namespace connected, verity root mapped, overlay writable, supplicant alive after switch-root. +This harness is scaffolded in **`serving/dot1x-bench/`** (step-ca as the fleet +CA on the serving host + FreeRADIUS EAP-TLS + a `hostapd` wired authenticator + +`tpm-provision.sh`), with an **isolated bridge per workstation** (the flat VLAN +can't authenticate — EAPOL is dropped and MACsec is point-to-point). See its +README; several configs there are still BENCH-VERIFY. Any change to the dracut module, supplicant config, or cmdline must pass this before merge. Template-only changes need `packer validate` + diff --git a/docs/TODO.md b/docs/TODO.md index 4d3e043..2e09803 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -620,6 +620,17 @@ smoke test. - **Re-enable 802.1X/MACsec:** `disable_dot1x=false` (CI `DISABLE_DOT1X="false"`). Removes `rd.dot1x=0`/`ip=dhcp`; the hook owns the link (macsec0). + - **Bench harness scaffolded 2026-06-22: [serving/dot1x-bench/](../serving/dot1x-bench/).** + step-ca (fleet CA, on the serving host) signs each host's **TPM-generated CSR** + + issues the RADIUS server cert; FreeRADIUS does EAP-TLS (trusts step-ca root, + returns MSK); a `hostapd` wired authenticator does 802.1X + MACsec on an + **isolated bridge per workstation** (flat VLAN can't auth — EAPOL dropped + + MACsec is P2P). `enrol/tpm-provision.sh` creates the key in the TPM at + `0x81010001` + writes the cert to NV `0x01800001`. Starting solution **signs a + CSR** (key stays in TPM); **TPM attestation** (ACME `device-attest-01`) is the + documented upgrade on the same CA. **BENCH-VERIFY** items flagged in the files: + hostapd MACsec build, openssl tpm2 provider vs pkcs11 key ref, EAP-TLS version. + PKI product decision (greenfield): start step-ca; OpenBao/EJBCA/Dogtag later. - **NVMe discovery by DNS:** `nvmet_traddr=nvme.fleet.lab` (CI), resolved at boot by the serving dnsmasq — drop the hardcoded `192.168.50.10`. - **Signing — SIGNED-UKI + SECURE-BOOT-ON PATH BENCH-VERIFIED on the Proxmox VM diff --git a/serving/dot1x-bench/.env.example b/serving/dot1x-bench/.env.example new file mode 100644 index 0000000..737867c --- /dev/null +++ b/serving/dot1x-bench/.env.example @@ -0,0 +1,5 @@ +# Copy to .env and edit, then: docker compose up -d step-ca +CA_DNS=ca.fleet.lab # DNS name(s) clients reach step-ca on (resolved by serving dnsmasq) +CA_PORT=8443 # step-ca listen port (host networking) +CA_PASSWORD=changeme-bench # password protecting the CA keys (bench only) +RADIUS_SECRET=testing123 # shared secret between the authenticator (hostapd) and FreeRADIUS diff --git a/serving/dot1x-bench/.gitignore b/serving/dot1x-bench/.gitignore new file mode 100644 index 0000000..69aa3ec --- /dev/null +++ b/serving/dot1x-bench/.gitignore @@ -0,0 +1,10 @@ +# CA state + all issued key material / certs — NEVER commit. Regenerate via +# step-ca/bootstrap.sh. The bench CA is throwaway; production PKI is separate. +pki/ +.env +# per-host enrolment scratch +enrol/out/ +*.key +*.csr +*.der +*.pem diff --git a/serving/dot1x-bench/README.md b/serving/dot1x-bench/README.md new file mode 100644 index 0000000..4346449 --- /dev/null +++ b/serving/dot1x-bench/README.md @@ -0,0 +1,126 @@ +# 802.1X EAP-TLS + MACsec secure-path bench + +Bench harness for the **secure path** (`disable_dot1x=false`): wired 802.1X +EAP-TLS with a **TPM-held client key**, link encryption via **MACsec/MKA**, then +DHCP + NVMe/TCP root over the encrypted link. This proves the half of the system +the open-port (`rd.dot1x=0`) lab build deliberately skips. Tracks TODO #8 / SSP +residual risk R-01. + +> **Status: scaffold.** Configs marked **BENCH-VERIFY** below are best-effort and +> need confirming on your wpa_supplicant / hostapd / tpm2 builds (see CLAUDE.md +> "Known bench-verify items"). This is a lab rig, expected to be iterated. + +## The three components + +| Component | Runs on | What it does | +|---|---|---| +| **step-ca** (`step-ca/`) | **serving host** | the fleet CA — signs each host's **TPM-generated CSR**, issues the RADIUS server cert, and is the trust anchor baked into the image as `radius-ca.pem`. | +| **FreeRADIUS** (`freeradius/`) | **serving host** | terminates EAP-TLS, validates the client cert against step-ca's root, returns the MSK so MKA can key MACsec. | +| **authenticator** (`authenticator/`) | **a node *between* each workstation and the serving network** | `hostapd` wired 802.1X + MACsec; bridges the decrypted link to the serving VLAN. One per-workstation P2P link. | + +The CA + RADIUS sit on the **trusted side** (the serving host). The authenticator +is the only thing on the **untrusted** link with each workstation. Workstations +never reach DHCP/NVMe except *through* an authenticated, MACsec-encrypted link. + +## Why a separate isolated-bridge topology (not your flat VLAN) + +802.1X EAPOL (`01:80:c2:00:00:03`) is a reserved multicast that switches/bridges +**drop by default**, and **MACsec is point-to-point per link** — so a single +shared bridge can't authenticate or encrypt per host, and if the serving host +shares that bridge there's no authenticator in the path at all. Keep the flat +VLAN for the open-port build; build this sandwich alongside it. + +``` + VM-A (supplicant) ──[vmbr-secA]── eth1 ┐ + │ authenticator node + VM-B (supplicant) ──[vmbr-secB]── eth2 ┤ (hostapd-wired + MACsec; + │ bridges macsecN ↔ eth0) + 820 ───[inline box / MACsec switch]── ┘ + eth0 │ + [vmbr-serve]──────┴── serving host (step-ca, FreeRADIUS, + dnsmasq, NVMe/TCP) +``` + +Per supplicant-facing bridge, EAPOL must be allowed through: +```bash +echo 8 > /sys/class/net//bridge/group_fwd_mask # forward 01:80:c2:00:00:03 +``` + +### Proxmox commands (VM legs) + +```bash +# One isolated bridge per workstation link (vmbr-secA, vmbr-secB) — see your +# /etc/network/interfaces or the Proxmox UI. Then, after each is up: +for b in vmbr-secA vmbr-secB; do echo 8 > /sys/class/net/$b/bridge/group_fwd_mask; done + +# Attach the workstation VM's SECURE nic to its isolated bridge: +qm set --net1 virtio,bridge=vmbr-secA +qm set --net1 virtio,bridge=vmbr-secB +# Authenticator VM: one nic per workstation link + one on the serving bridge: +qm set --net1 virtio,bridge=vmbr-secA \ + --net2 virtio,bridge=vmbr-secB \ + --net0 virtio,bridge=vmbr-serve +# swtpm for each workstation VM (Proxmox vTPM): +qm set --tpmstate0 :1,version=v2.0 +``` + +## Run order + +1. **Bring up the CA + RADIUS** on the serving host: + ```bash + cd serving/dot1x-bench + docker compose up -d step-ca + ./step-ca/bootstrap.sh # init CA, make a provisioner, issue the RADIUS cert + docker compose up -d freeradius + ``` + `bootstrap.sh` writes the **root** to `pki/root_ca.crt` — copy it to + `files/etc/dot1x/radius-ca.pem` for the image build (this is what the + supplicant uses to trust the RADIUS server). + +2. **Build a secure-path image** — `DISABLE_DOT1X=false` (CI var or + `-var disable_dot1x=false`), with `radius-ca.pem` = step-ca root and a + `nvmet_traddr` that resolves over the serving VLAN. + +3. **Enrol each workstation's TPM** (one-shot, on a provisioning network that can + reach step-ca) — see `enrol/tpm-provision.sh`: generates the key **in** the TPM + at `0x81010001`, builds a CSR with it, has step-ca sign it, writes the cert to + NV `0x01800001`. Each host gets a unique cert → unique hostnqn. + +4. **Set up the authenticator** — `authenticator/setup-link.sh` (bridge + macsec + plumbing per link) then run `hostapd authenticator/hostapd-wired-.conf`. + +5. **Boot the workstations** on the secure-path image and check the criteria + below. + +## Pass criteria (per booted workstation) + +```bash +wpa_cli -p /run/wpa_supplicant -i status | grep suppPortStatus # = Authorized +ip macsec show # macsec0: GCM-AES cipher, encrypt on, TX/RX SC +ip -s macsec show macsec0 # encrypted-pkts counters incrementing +ip -4 addr show macsec0 # DHCP lease ON macsec0 +cat /etc/nvme/hostnqn # unique per host: …:host- +findmnt / ; nvme list # NVMe root connected + verity-mapped, overlay writable +ps -o args= -C wpa_supplicant # @wpa_supplicant ALIVE after switch-root (invariant #3) +``` +Plus the **renewal** check (the reason for the network-manager port): leave it up +past the DHCP lease and confirm `macsec0` keeps its address and the link doesn't +drop (~6 s without MKA keepalives = dead link). On the authenticator, +`tcpdump -i ether proto 0x88e5` should show **only** MACsec frames after +auth — proof the wire is actually encrypted. + +## Multi-host point + +The whole reason for 2 VMs + the 820: one **identical** image, three **distinct** +TPM certs → three **distinct** hostnqns, each authenticating independently. That +verifies invariant #1 (no per-host state in the image) and lets you test NVMe +host-filtering per NQN. + +## Next step: real TPM attestation + +This starting solution *signs a TPM-generated CSR* — the key never leaves the +TPM, but step-ca doesn't yet *prove* TPM residency. The upgrade is step-ca's ACME +**`device-attest-01`** provisioner (EK/AK attestation): switch the enrolment from +`step ca sign` to `step ca acme` with a TPM attestation provisioner on the same +CA. That closes the "is the key really in a TPM" gap and strengthens SSP R-01. +See `step-ca/bootstrap.sh` (the commented `acme-attest` provisioner block). diff --git a/serving/dot1x-bench/authenticator/hostapd-wired.conf b/serving/dot1x-bench/authenticator/hostapd-wired.conf new file mode 100644 index 0000000..30fee89 --- /dev/null +++ b/serving/dot1x-bench/authenticator/hostapd-wired.conf @@ -0,0 +1,33 @@ +# hostapd wired 802.1X authenticator + MACsec, ONE per supplicant-facing link. +# Copy per link and set `interface=` to that link's NIC (e.g. eth1 for vmbr-secA). +# Run: hostapd -dd authenticator/hostapd-wired-.conf +# +# BENCH-VERIFY: wired+MACsec authenticator directives vary by hostapd build/version +# (CONFIG_MACSEC + CONFIG_DRIVER_WIRED must be compiled in). Confirm your hostapd +# was built with MACsec; `hostapd -v` / package notes. This is the half most +# likely to need tweaking on first bring-up. + +interface=eth1 +driver=wired + +# --- 802.1X (external RADIUS = FreeRADIUS on the serving host) --------------- +ieee8021x=1 +eap_server=0 +eapol_version=2 +use_pae_group_addr=1 # listen on 01:80:c2:00:00:03 (PAE) + +auth_server_addr=192.168.50.10 # serving host (FreeRADIUS) +auth_server_port=1812 +auth_server_shared_secret=testing123 # MUST match freeradius/clients.conf + .env RADIUS_SECRET + +# --- MACsec / MKA ----------------------------------------------------------- +# macsec_policy=1 requires MACsec; the CAK is derived from the EAP MSK and MKA +# negotiates the SAK. This hostapd is the MKA key server for the link. +macsec_policy=1 +macsec_integ_only=0 # confidentiality (encrypt), matches the supplicant +macsec_replay_protect=1 +macsec_replay_window=0 +mka_priority=128 # lower than the supplicant's default => we're key server + +# After MKA succeeds the kernel creates a macsec iface on top of `interface`. +# setup-link.sh bridges that to the serving uplink so DHCP/NVMe flow through. diff --git a/serving/dot1x-bench/authenticator/setup-link.sh b/serving/dot1x-bench/authenticator/setup-link.sh new file mode 100755 index 0000000..27a41ec --- /dev/null +++ b/serving/dot1x-bench/authenticator/setup-link.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# setup-link.sh +# +# Prep one authenticator link before starting hostapd on it. The authenticator is +# a 2-sided node: faces the workstation (hostapd + MACsec runs +# here), faces the serving VLAN (DHCP/NVMe/RADIUS). After MKA +# succeeds hostapd creates a macsec iface over ; the DECRYPTED +# traffic on that macsec iface must reach the serving network — we bridge it to +# . +# +# Run as root on the authenticator node (VM or inline box). BENCH-VERIFY the +# macsec iface name hostapd creates on your build (assumed "macsec0"). +set -euo pipefail + +SUP=${1:?usage: setup-link.sh } +UP=${2:?uplink nic required} +MACSEC=${3:-macsec0} # iface hostapd creates after MKA (override if different) +BR=${BR:-br-auth} + +ip link set "$SUP" up +ip link set "$UP" up + +# Allow EAPOL through any bridge in the path (reserved PAE multicast is dropped +# by default). The supplicant-facing side is a raw NIC for hostapd, so this is +# mainly for the uplink bridge. +ip link add name "$BR" type bridge 2>/dev/null || true +echo 8 > "/sys/class/net/$BR/bridge/group_fwd_mask" 2>/dev/null || true +ip link set "$UP" master "$BR" +ip link set "$BR" up + +echo "Authenticator link ready:" +echo " supplicant NIC : $SUP (start hostapd here)" +echo " uplink bridge : $BR <- $UP (serving VLAN)" +echo +echo "AFTER hostapd brings MKA up and creates '$MACSEC', bridge it to the uplink:" +echo " ip link set $MACSEC master $BR && ip link set $MACSEC up" +echo "(Do this once $MACSEC exists; automate with a hostapd 'macsec' up-hook if" +echo " your build supports one.)" diff --git a/serving/dot1x-bench/docker-compose.yml b/serving/dot1x-bench/docker-compose.yml new file mode 100644 index 0000000..6c2987f --- /dev/null +++ b/serving/dot1x-bench/docker-compose.yml @@ -0,0 +1,47 @@ +# ============================================================================= +# Secure-path bench: step-ca (fleet CA) + FreeRADIUS (EAP-TLS), on the SERVING +# host (the trusted side). The authenticator (hostapd-wired + MACsec) is NOT +# here — it runs on a node between each workstation and this host (see +# authenticator/). Host networking so FreeRADIUS sees RADIUS/1812 from the +# authenticator and step-ca is reachable for enrolment. +# +# cp .env.example .env # set CA_DNS / CA_PASSWORD / RADIUS_SECRET +# docker compose up -d step-ca && ./step-ca/bootstrap.sh && docker compose up -d freeradius +# +# Images are pulled from Docker Hub here; mirror them through your registry +# (like the serving stack does for nginx/alpine) if you don't have egress. +# ============================================================================= + +services: + # --- Fleet CA (signs TPM-generated CSRs; trust anchor for the image) -------- + step-ca: + image: smallstep/step-ca:latest + network_mode: host + restart: unless-stopped + environment: + # Auto-init on first start (smallstep image convention). bootstrap.sh adds + # the enrolment provisioner + issues the RADIUS server cert afterwards. + DOCKER_STEPCA_INIT_NAME: "Fleet Bench CA" + DOCKER_STEPCA_INIT_DNS_NAMES: "${CA_DNS:-ca.fleet.lab},localhost" + DOCKER_STEPCA_INIT_ADDRESS: ":${CA_PORT:-8443}" + DOCKER_STEPCA_INIT_PROVISIONER_NAME: "enrol" + DOCKER_STEPCA_INIT_PASSWORD_FILE: "/home/step/secrets/password" + volumes: + - ./pki/stepca:/home/step # CA state (root/intermediate/keys/db) — gitignored + - ./pki:/export # bootstrap.sh drops root_ca.crt here for the image/radius + + # --- RADIUS (EAP-TLS; validates client cert vs step-ca root, returns MSK) --- + freeradius: + image: freeradius/freeradius-server:latest + network_mode: host # RADIUS 1812/1813 from the authenticator + restart: unless-stopped + depends_on: + - step-ca + # -X = full debug to stdout; priceless for the first bring-up. Drop to plain + # `radiusd -f` once EAP-TLS is green. + command: ["radiusd", "-X"] + volumes: + - ./freeradius/clients.conf:/etc/raddb/clients.conf:ro + - ./freeradius/mods-available/eap:/etc/raddb/mods-available/eap:ro + # certs issued by bootstrap.sh: the RADIUS server cert/key + the CA root. + - ./pki/radius:/etc/raddb/certs/fleet:ro diff --git a/serving/dot1x-bench/enrol/tpm-provision.sh b/serving/dot1x-bench/enrol/tpm-provision.sh new file mode 100755 index 0000000..25cfd91 --- /dev/null +++ b/serving/dot1x-bench/enrol/tpm-provision.sh @@ -0,0 +1,79 @@ +#!/usr/bin/env bash +# tpm-provision.sh +# +# One-shot enrolment for ONE workstation. Models the real flow (invariant #1: +# per-host identity is created at enrolment, never baked into the image): +# 1. generate a signing key INSIDE the TPM, persist it at handle 0x81010001 +# 2. build a CSR using that TPM key (private key never leaves the TPM) +# 3. have step-ca sign it (token-gated 'enrol' provisioner) +# 4. write the issued cert (DER) to TPM NV index 0x01800001 +# At boot the dracut hook reads the cert from NV and wpa_supplicant signs EAP-TLS +# with the persistent-handle key. hostnqn is later derived from the cert serial. +# +# Run on the workstation (booted into a provisioning env with tpm2-tools, an +# openssl TPM2 provider, and the `step` CLI) on a network that can reach step-ca. +# Works for swtpm (VMs) and a real TPM (820) — same /dev/tpmrm0 in-guest. +# +# Needs in this dir: root_ca.crt + ca-pw (copied from the serving host's +# serving/dot1x-bench/pki/{root_ca.crt,stepca/secrets/password}). +# +# *** BENCH-VERIFY (CLAUDE.md "Known bench-verify items"): the TPM key reference +# *** for openssl AND wpa_supplicant differs by distro build — OpenSSL TPM2 +# *** PROVIDER (handle:0x...) vs tpm2-pkcs11 URI. This script uses the provider +# *** form; switch to the engine/pkcs11 form if your build needs it, and keep it +# *** consistent with files/etc/dot1x/wpa_supplicant-dot1x.conf. +set -euo pipefail + +HOSTID=${1:?usage: tpm-provision.sh e.g. ws-vm-a} +HANDLE=${HANDLE:-0x81010001} +NVINDEX=${NVINDEX:-0x01800001} +export TPM2TOOLS_TCTI="${TPM2TOOLS_TCTI:-device:/dev/tpmrm0}" +CA_DNS=${CA_DNS:-ca.fleet.lab}; CA_PORT=${CA_PORT:-8443} +CA_URL="https://${CA_DNS}:${CA_PORT}" + +cd "$(dirname "$0")" +OUT=out; mkdir -p "$OUT" +[ -f root_ca.crt ] || { echo "missing root_ca.crt (copy from serving pki/)" >&2; exit 1; } +[ -f ca-pw ] || { echo "missing ca-pw (copy pki/stepca/secrets/password)" >&2; exit 1; } + +# --- 1. persistent TPM signing key ------------------------------------------ +if ! tpm2_readpublic -c "$HANDLE" >/dev/null 2>&1; then + echo "==> creating TPM signing key, persisting at $HANDLE" + tpm2_createprimary -C o -G ecc -g sha256 -c "$OUT/primary.ctx" >/dev/null + tpm2_create -C "$OUT/primary.ctx" -G ecc256:ecdsa-sha256 \ + -u "$OUT/key.pub" -r "$OUT/key.priv" >/dev/null + tpm2_load -C "$OUT/primary.ctx" -u "$OUT/key.pub" -r "$OUT/key.priv" \ + -c "$OUT/key.ctx" >/dev/null + tpm2_evictcontrol -C o -c "$OUT/key.ctx" "$HANDLE" >/dev/null +else + echo "==> reusing existing persistent key at $HANDLE" +fi + +# --- 2. CSR signed by the TPM key (key stays in the TPM) --------------------- +echo "==> building CSR (CN=$HOSTID) with the TPM key via the openssl tpm2 provider" +openssl req -new -provider tpm2 -provider default \ + -key "handle:$HANDLE" \ + -subj "/O=fleet/CN=$HOSTID" \ + -out "$OUT/$HOSTID.csr" + +# --- 3. step-ca signs the CSR ----------------------------------------------- +echo "==> requesting cert from step-ca" +TOKEN=$(step ca token "$HOSTID" --provisioner enrol \ + --ca-url "$CA_URL" --root root_ca.crt \ + --provisioner-password-file ca-pw --not-after 720h) +step ca sign "$OUT/$HOSTID.csr" "$OUT/$HOSTID.pem" \ + --token "$TOKEN" --ca-url "$CA_URL" --root root_ca.crt +openssl x509 -in "$OUT/$HOSTID.pem" -outform DER -out "$OUT/$HOSTID.der" + +# --- 4. write cert into TPM NV ---------------------------------------------- +SZ=$(stat -c%s "$OUT/$HOSTID.der") +echo "==> writing $SZ-byte cert to NV $NVINDEX" +tpm2_nvundefine "$NVINDEX" -C o 2>/dev/null || true +tpm2_nvdefine "$NVINDEX" -C o -s "$SZ" -a 'ownerread|ownerwrite|authread|authwrite' >/dev/null +tpm2_nvwrite "$NVINDEX" -C o -i "$OUT/$HOSTID.der" + +SERIAL=$(openssl x509 -in "$OUT/$HOSTID.pem" -serial -noout | cut -d= -f2 | tr 'A-F' 'a-f') +echo "==> enrolled $HOSTID" +echo " cert serial : $SERIAL" +echo " boot hostnqn: nqn.2026-06.org.example.fleet:host-$SERIAL" +echo " key @ $HANDLE, cert @ NV $NVINDEX — the secure-path image will read these." diff --git a/serving/dot1x-bench/enrol/tpm-selftest.sh b/serving/dot1x-bench/enrol/tpm-selftest.sh new file mode 100755 index 0000000..bd28059 --- /dev/null +++ b/serving/dot1x-bench/enrol/tpm-selftest.sh @@ -0,0 +1,129 @@ +#!/usr/bin/env bash +# tpm-selftest.sh — non-destructive check that a workstation's TPM can do +# everything the secure path needs, BEFORE turning on disable_dot1x=false. +# +# Run as root on a booted workstation (the open-port test image is fine — it +# ships the same tooling). Uses SCRATCH handle/NV and cleans them up, so it never +# touches the real 0x81010001 / 0x01800001. Pass --use-real-handles to exercise +# the actual locations instead (still cleaned up unless --keep). +# +# It validates, in order: +# 1. TPM present + tpm2-tools work +# 2. persistent key create + evict (needed to put the EAP-TLS key at the handle) +# 3. NV define/write/read roundtrip (the cert store the boot hook reads) +# 4. an OpenSSL TPM2 provider/engine exists <-- the usual missing piece +# 5. a CSR + signature USING the TPM key (proves EAP-TLS client auth can work) +# 6. wpa_supplicant build info (macsec driver present?) +set -u + +USE_REAL=0; KEEP=0 +for a in "$@"; do case "$a" in + --use-real-handles) USE_REAL=1 ;; + --keep) KEEP=1 ;; + *) echo "usage: tpm-selftest.sh [--use-real-handles] [--keep]" >&2; exit 2 ;; +esac; done + +export TPM2TOOLS_TCTI="${TPM2TOOLS_TCTI:-device:/dev/tpmrm0}" +if [ "$USE_REAL" = 1 ]; then HANDLE=0x81010001; NV=0x01800001 +else HANDLE=0x81008000; NV=0x01500000; fi + +WORK=$(mktemp -d); PASS=0; FAIL=0; SKIP=0 +ok() { printf ' \033[32mPASS\033[0m %s\n' "$1"; PASS=$((PASS+1)); } +no() { printf ' \033[31mFAIL\033[0m %s\n' "$1"; FAIL=$((FAIL+1)); } +skip() { printf ' \033[33mSKIP\033[0m %s\n' "$1"; SKIP=$((SKIP+1)); } + +# shellcheck disable=SC2329 # invoked indirectly via trap +cleanup() { + [ "$KEEP" = 1 ] && { echo "(--keep: leaving $HANDLE / $NV / $WORK in place)"; return; } + tpm2_evictcontrol -C o -c "$HANDLE" >/dev/null 2>&1 || true + tpm2_nvundefine "$NV" -C o >/dev/null 2>&1 || true + rm -rf "$WORK" +} +trap cleanup EXIT + +echo "== TPM self-test (handle=$HANDLE nv=$NV) ==" + +# --- 1. TPM present --------------------------------------------------------- +if [ -c /dev/tpmrm0 ] || [ -c /dev/tpm0 ]; then ok "TPM device present"; else + no "no /dev/tpmrm0 or /dev/tpm0 — VM needs a vTPM (qm set --tpmstate0 :1,version=v2.0)" + echo; echo "Cannot continue without a TPM."; exit 1 +fi +if command -v tpm2_getcap >/dev/null && tpm2_getcap properties-fixed >/dev/null 2>&1; then + ok "tpm2-tools talk to the TPM" +else + no "tpm2-tools / TPM access failed"; exit 1 +fi + +# pre-clean the scratch locations in case a previous run aborted +tpm2_evictcontrol -C o -c "$HANDLE" >/dev/null 2>&1 || true +tpm2_nvundefine "$NV" -C o >/dev/null 2>&1 || true + +# --- 2. persistent signing key ---------------------------------------------- +if tpm2_createprimary -C o -G ecc -g sha256 -c "$WORK/prim.ctx" >/dev/null 2>&1 \ + && tpm2_create -C "$WORK/prim.ctx" -G ecc256:ecdsa-sha256 -u "$WORK/k.pub" -r "$WORK/k.priv" >/dev/null 2>&1 \ + && tpm2_load -C "$WORK/prim.ctx" -u "$WORK/k.pub" -r "$WORK/k.priv" -c "$WORK/k.ctx" >/dev/null 2>&1 \ + && tpm2_evictcontrol -C o -c "$WORK/k.ctx" "$HANDLE" >/dev/null 2>&1 \ + && tpm2_readpublic -c "$HANDLE" >/dev/null 2>&1; then + ok "created + persisted an ECC signing key at $HANDLE" +else + no "could not create/persist a key at $HANDLE" +fi + +# --- 3. NV roundtrip (the cert store the boot hook reads) ------------------- +echo "fleet-tpm-selftest-$(date +%s 2>/dev/null || echo x)" > "$WORK/blob" +SZ=$(stat -c%s "$WORK/blob") +if tpm2_nvdefine "$NV" -C o -s "$SZ" -a 'ownerread|ownerwrite|authread|authwrite' >/dev/null 2>&1 \ + && tpm2_nvwrite "$NV" -C o -i "$WORK/blob" >/dev/null 2>&1 \ + && tpm2_nvread "$NV" -C o -o "$WORK/blob.out" >/dev/null 2>&1 \ + && cmp -s "$WORK/blob" "$WORK/blob.out"; then + ok "NV define/write/read roundtrip at $NV (matches what the boot hook does)" +else + no "NV roundtrip at $NV failed" +fi + +# --- 4. OpenSSL TPM2 provider / engine -------------------------------------- +TPM_OSSL="" +if openssl list -providers 2>/dev/null | grep -qi tpm2; then + TPM_OSSL=provider; ok "OpenSSL TPM2 PROVIDER present (tpm2-openssl)" +elif openssl engine -t tpm2tss 2>/dev/null | grep -qi available; then + TPM_OSSL=engine; ok "OpenSSL TPM2 ENGINE present (tpm2-tss-engine)" +else + no "no OpenSSL TPM2 provider OR engine — install 'tpm2-openssl' (provider) in the image" + echo " (this is the likely gap: tpm2-tss alone does NOT give openssl TPM access)" +fi + +# --- 5. CSR + signature USING the TPM key (the EAP-TLS make-or-break) -------- +if [ -n "$TPM_OSSL" ]; then + CSR_OK=1 + if [ "$TPM_OSSL" = provider ]; then + openssl req -new -provider tpm2 -provider default -key "handle:$HANDLE" \ + -subj "/O=fleet/CN=tpm-selftest" -out "$WORK/test.csr" >/dev/null 2>&1 || CSR_OK=0 + else + openssl req -new -engine tpm2tss -keyform engine -key "$HANDLE" \ + -subj "/O=fleet/CN=tpm-selftest" -out "$WORK/test.csr" >/dev/null 2>&1 || CSR_OK=0 + fi + if [ "$CSR_OK" = 1 ] && openssl req -in "$WORK/test.csr" -verify -noout >/dev/null 2>&1; then + ok "built + self-verified a CSR signed BY the TPM key ($TPM_OSSL) — EAP-TLS can use it" + else + no "openssl could not sign a CSR with the TPM key via the $TPM_OSSL" + echo " -> the key reference method in wpa_supplicant-dot1x.conf needs adjusting" + fi +else + skip "CSR/sign test (no openssl TPM integration to test with)" +fi + +# --- 6. wpa_supplicant build info ------------------------------------------- +if command -v wpa_supplicant >/dev/null; then + V=$(wpa_supplicant -v 2>&1 | head -1) + ok "wpa_supplicant present: $V" + echo " NOTE: confirm it was built with macsec_linux + the matching TPM key" + echo " backend; full EAP-TLS/MKA can only be proven against the authenticator." +else + no "wpa_supplicant not found" +fi + +echo +echo "== summary: $PASS pass, $FAIL fail, $SKIP skip ==" +[ "$FAIL" = 0 ] && echo "TPM half looks ready — proceed to the authenticator/RADIUS bench." \ + || echo "Fix the FAILs above before enabling disable_dot1x=false." +exit "$FAIL" diff --git a/serving/dot1x-bench/freeradius/clients.conf b/serving/dot1x-bench/freeradius/clients.conf new file mode 100644 index 0000000..c1c6392 --- /dev/null +++ b/serving/dot1x-bench/freeradius/clients.conf @@ -0,0 +1,9 @@ +# RADIUS clients = the authenticator(s) (hostapd). The `secret` MUST match each +# hostapd's auth_server_shared_secret (RADIUS_SECRET in .env). Scope ipaddr to +# the serving VLAN the authenticator's uplink sits on. +client authenticator { + ipaddr = 192.168.50.0/24 + secret = testing123 + nas_type = other + require_message_authenticator = yes +} diff --git a/serving/dot1x-bench/freeradius/mods-available/eap b/serving/dot1x-bench/freeradius/mods-available/eap new file mode 100644 index 0000000..9b6a8bd --- /dev/null +++ b/serving/dot1x-bench/freeradius/mods-available/eap @@ -0,0 +1,37 @@ +# EAP module, trimmed to EAP-TLS for the fleet bench. Replaces the stock eap mod. +# EAP-TLS is mutual-cert by definition: the client (TPM cert) is validated against +# ca_file (= step-ca root); the server presents server.pem so the supplicant can +# validate it against the SAME root baked into the image as radius-ca.pem. On +# success FreeRADIUS exports the MSK (MS-MPPE keys) → the authenticator derives +# the MACsec CAK (MKA). No `users` entry is needed for cert-only auth. +eap { + default_eap_type = tls + timer_expire = 60 + ignore_unknown_eap_types = no + cisco_accounting_username_bug = no + max_sessions = ${max_requests} + + tls-config tls-common { + certificate_file = /etc/raddb/certs/fleet/server.pem + private_key_file = /etc/raddb/certs/fleet/server.key + # private_key_password unset — step-ca issues an unencrypted key here. + ca_file = /etc/raddb/certs/fleet/ca.pem # step-ca root: validates client (TPM) certs + dh_file = ${certdir}/dh # shipped by the image's bootstrap + random_file = /dev/urandom + + # BENCH-VERIFY: many wired-MACsec supplicants negotiate EAP-TLS 1.2; bump + # to 1.3 once confirmed working. Keep min>=1.2. + tls_min_version = "1.2" + tls_max_version = "1.2" + cipher_list = "DEFAULT" + cipher_server_preference = no + ecdh_curve = "" + + # OCSP/CRL against step-ca for revocation can be enabled here later + # (ocsp { enable = yes ... }) — bench accepts any cert signed by the root. + } + + tls { + tls = tls-common + } +} diff --git a/serving/dot1x-bench/step-ca/bootstrap.sh b/serving/dot1x-bench/step-ca/bootstrap.sh new file mode 100755 index 0000000..cc81d44 --- /dev/null +++ b/serving/dot1x-bench/step-ca/bootstrap.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash +# bootstrap.sh — one-time setup of the bench CA after `docker compose up -d step-ca`. +# +# 1. wait for step-ca, export its root to pki/root_ca.crt (-> image radius-ca.pem) +# 2. ensure an enrolment provisioner exists (signs each host's TPM CSR) +# 3. issue the RADIUS server cert/key into pki/radius/ (FreeRADIUS mounts it) +# +# Runs the `step` CLI against the running CA. Flags vary a little across step +# versions — BENCH-VERIFY against your `step version` and adjust. Reads .env. +set -euo pipefail + +cd "$(dirname "$0")/.." +[ -f .env ] && . ./.env +CA_DNS=${CA_DNS:-ca.fleet.lab} +CA_PORT=${CA_PORT:-8443} +CA_URL="https://${CA_DNS}:${CA_PORT}" +PKI=pki +mkdir -p "$PKI/radius" + +# The CA's password (auto-init wrote it from this file in the container volume). +PW="$PKI/stepca/secrets/password" +[ -f "$PW" ] || { echo "CA not initialised yet ($PW missing) — is step-ca up?" >&2; exit 1; } + +step() { docker compose exec -T step-ca step "$@"; } + +# --- 1. export the root (becomes files/etc/dot1x/radius-ca.pem) -------------- +echo "==> exporting CA root" +docker compose exec -T step-ca cat /home/step/certs/root_ca.crt > "$PKI/root_ca.crt" +FP=$(step certificate fingerprint "$PKI/root_ca.crt" 2>/dev/null || \ + openssl x509 -in "$PKI/root_ca.crt" -noout -fingerprint -sha256 | cut -d= -f2) +echo " root fingerprint: $FP" +echo " copy to: files/etc/dot1x/radius-ca.pem (image trust anchor)" + +# --- 2. enrolment provisioner (idempotent) ---------------------------------- +# JWK provisioner 'enrol' is created by auto-init (DOCKER_STEPCA_INIT_PROVISIONER_NAME). +# Enrolment authorizes a CSR with a one-time token: +# step ca token --provisioner enrol → passed to `step ca sign` +# That token-gated sign is what enrol/tpm-provision.sh uses. +echo "==> provisioners:" +step ca provisioner list --ca-url "$CA_URL" --root "$PKI/root_ca.crt" \ + | grep -E '"(name|type)"' || true + +# To UPGRADE to TPM attestation later, add an ACME attestation provisioner and +# switch enrolment to device-attest-01 (key residency is then PROVEN, not trusted): +# step ca provisioner add acme-attest --type ACME \ +# --challenge device-attest-01 \ +# --attestation-format tpm \ +# --attestation-root +# (then `step ca acme` / an ACME client on the host instead of `step ca sign`.) + +# --- 3. RADIUS server cert (FreeRADIUS serves this; supplicant validates it) -- +echo "==> issuing RADIUS server cert (radius.${CA_DNS#ca.})" +RADIUS_CN="radius.${CA_DNS#ca.}" +step ca certificate "$RADIUS_CN" \ + "$PKI/radius/server.pem" "$PKI/radius/server.key" \ + --ca-url "$CA_URL" --root "$PKI/root_ca.crt" \ + --provisioner enrol --provisioner-password-file "$PW" \ + --not-after 720h --force +cp "$PKI/root_ca.crt" "$PKI/radius/ca.pem" +echo "==> done. FreeRADIUS will read pki/radius/{server.pem,server.key,ca.pem}." +echo " Next: cp $PKI/root_ca.crt ../../files/etc/dot1x/radius-ca.pem && rebuild secure-path image." From c3507cda6e1cb79776a72f13da1d91f9d17d6b44 Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Thu, 25 Jun 2026 23:46:42 +0000 Subject: [PATCH 07/11] Update SSP --- docs/TODO.md | 159 ++++++++++++++++++++++++-- docs/design-v2-errata.md | 39 ++++++- docs/secure-boot-keys.md | 12 +- docs/ssp-annex-a-ism-residual-risk.md | 26 +++-- docs/ssp.md | 36 +++--- 5 files changed, 232 insertions(+), 40 deletions(-) diff --git a/docs/TODO.md b/docs/TODO.md index 2e09803..519a2eb 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -572,13 +572,67 @@ this item builds the rollout machinery around it. stay served); security rollback via dbx-revoke / TPM monotonic counter (design §6). - **Drain & retire** an old version only when SPDK/nvmet reports zero connected - controllers on it. + controllers on it. **Drain accuracy:** account for hosts powered off mid-rollout + — an assigned-but-offline host will reconnect to a version that may be gone, so + don't remove a version while any host that could return is still assigned to it. - **Availability**: run NVMe/TCP target replicas behind distinct discovery entries (design §7) — never serve the whole fleet from one unreplicated node, especially mid-rollout (N versions + reboot bursts). - Note: kiosk *content* changes are server-side (the website) and need no fleet update — only OS/UKI/rootfs changes require a reboot. +### SPDK restart / availability is the load-bearing constraint (analysis 2026-06-25) + +SPDK sits in the **live data path of every running host's root fs**, so a process +restart isn't like restarting a stateless service — it tears down **every** +NVMe/TCP association at once (fleet-wide, NOT version-scoped). The rollout design +must be built around **never restarting the process that holds live connections.** + +- **Core principle:** a host changes root version *only by rebooting* (no live + swap). So: **version transitions = reboots; SPDK changes = additive/online; the + process stays up.** Routine rollouts never restart SPDK. +- **Online add/remove via JSON-RPC, no restart.** `nvmf_tgt` is fully + runtime-configurable (`bdev_aio_create`, `nvmf_create_subsystem`, + `nvmf_subsystem_add_ns`, `..._add_listener`). Add vY's namespaces live (existing + vX connections untouched); remove vX live once drained. **Per-version subsystem + (distinct NQN)** matters here: adding vY as a *new subsystem* never disturbs the + subsystem vX hosts are attached to — adding a *namespace* to a shared subsystem + fires a namespace-change AER + rescan at running hosts. Per-version subsystem + also gives clean per-release drain + per-release hostNQN allow-listing. +- **What a connection loss does to a running host:** root is **read-only erofs + + tmpfs overlay**. tmpfs writes (RAM) + page-cached reads keep working; **cold + reads block**. The nvme-tcp host driver reconnects (`reconnect_delay`) until + `ctrl_loss_tmo`. **Fast SPDK restart** (same NQN/UUID/addr within the window) → + host **survives with a stall**; **long/changed/expired** → root I/O errors, host + needs a reboot ("keep alive timeout / no route to host"). Read-only + + content-addressed makes reconnect unusually clean (no write/reservation state). +- **Cheap host-side mitigation:** tune `ctrl_loss_tmo` (even `-1` = retry forever) + + `reconnect_delay` at `nvme connect` time (dracut nvmf step). For a diskless box + "hang and recover" beats "die" — there's nothing better to fail to. +- **Structural answer — HA + NVMe-oF multipath (ANA):** run ≥2 targets serving + **byte-identical, same-UUID** namespaces; hosts multipath across them, so one + target can be restarted/upgraded while the other serves (no root loss). The + **read-only, content-addressed root makes replication trivially coherent** (no + write-coherence problem) — this architecture is ideally suited to it. Wrinkle: + the **immutable UKI cmdline** points at one discovery address, so multipath needs + discovery to return multiple paths (or a DNS name resolving to several targets). +- **Planned SPDK restarts only via drain/failover** (multipath fail-over, or a + maintenance window with generous `ctrl_loss_tmo` so hosts recover not die). There + is **no zero-impact single-node SPDK restart.** +- **Implementation gap (current lab):** SPDK runs as a container with + `spdk-setup.sh` as entrypoint + the artifact image mounted → effectively + **single-version, configured at container start**, so changing versions = + container restart = drop all connections. The work here is a **long-lived target + + an RPC-driven control path** ("add release / remove release / drain status") + decoupled from container lifecycle, with per-version subsystems. +- **Capacity:** each concurrently-served version costs target memory/hugepages + + file-backed bdev overhead — plan for N live versions (current + previous + + canary) during long rollouts. +- **Attach gating + discovery:** with several subsystems advertised, the dracut + connect + per-subsystem hostNQN allow-list must ensure a vX host attaches **only** + vX's namespace (the by-UUID verity ref protects *what mounts*, but gate the + *attach* too); `rd.nvmf.discover` selection must be deterministic, not connect-all. + ## [ ] 7. Harden / evaluate the NVMe-oF target (serving-node resilience) There is **no production-grade memory-safe NVMe-oF target** — the Rust NVMe work @@ -607,7 +661,13 @@ export is read-only + single-namespace = inherently small attack surface. - **Network-isolate :4420** so only the boot VLAN reaches the target (compose with 802.1X/MACsec segmentation in prod). - **Replicas** behind distinct discovery entries (availability is the real risk - — it's the fleet's disk). Ties into #6 (rolling updates) availability. + — it's the fleet's disk). The target is a **fleet-wide SPOF in every running + host's root data path**; a process restart drops *all* NVMe/TCP associations at + once. Structural fix = **HA + NVMe-oF multipath (ANA)** over byte-identical, + same-UUID, read-only namespaces (replication is coherent precisely because the + root is read-only + content-addressed); cheap mitigation = generous host + `ctrl_loss_tmo`/`reconnect_delay`. See the **"SPDK restart / availability"** + analysis under #6 (rolling updates) — same constraint, fuller treatment. - Revisit a memory-safe target only if/when an off-the-shelf one matures (e.g. a future Rust-for-Linux `nvmet`). @@ -631,6 +691,13 @@ smoke test. documented upgrade on the same CA. **BENCH-VERIFY** items flagged in the files: hostapd MACsec build, openssl tpm2 provider vs pkcs11 key ref, EAP-TLS version. PKI product decision (greenfield): start step-ca; OpenBao/EJBCA/Dogtag later. + - **First step (DONE 2026-06-22): `enrol/tpm-selftest.sh`** — non-destructive TPM + capability check (run on the booted open-port image, no `disable_dot1x` needed) + to de-risk the TPM half before the full path. Likely first finding: no openssl + TPM2 **provider** in the image (`tpm2-tss` ≠ the provider) — add `tpm2-openssl`. + - **Enrolment of the per-host identity** (key@`0x81010001` + cert@NV) is its own + design — see **#11** (TOFU + OOB fingerprint broker, pre-auth permit-set, + provisioning UKI). `tpm-provision.sh` is the manual bench stand-in for it. - **NVMe discovery by DNS:** `nvmet_traddr=nvme.fleet.lab` (CI), resolved at boot by the serving dnsmasq — drop the hardcoded `192.168.50.10`. - **Signing — SIGNED-UKI + SECURE-BOOT-ON PATH BENCH-VERIFIED on the Proxmox VM @@ -645,7 +712,9 @@ smoke test. EFI attribute prefix in a bash variable (`ATTR=$'\x27\x00\x00\x00'`). Bash strings can't hold NULs → only `0x27` survived → efivarfs read a corrupt attribute u32 → every write failed with `EINVAL` ("dd: Invalid argument"). - Now emitted directly with `printf` at write time. (Red herring on the way: + Now emitted directly with `printf` at write time. **Baked fix VERIFIED on the + 820 (2026-06-22): `sudo fleet-sb-enroll` enrolled db→KEK→PK cleanly, no inline + workaround.** (Red herring on the way: Proxmox EFI disks default to `pre-enrolled-keys=1`, so `mokutil --db` shows the MS cert even in Setup Mode — looked like a non-empty-db rejection but was the NUL bug all along; it failed identically on a clean `pre-enrolled-keys=0` @@ -657,12 +726,15 @@ smoke test. (`.gitea/workflows/dnsmasq-image.yaml`) — no longer built at deploy time, and carries no keys/binary. (Decision: separate `fleet-ipxe` image, not baked into dnsmasq, so the daemon image stays key-agnostic across SB environments.) + - **820 / PXE signed chain — BENCH-VERIFIED 2026-06-22.** Real hardware (HP + EliteBook 820 G4), Secure Boot **enforcing** (`mokutil --sb-state` = enabled, + Setup Mode no, db/KEK/PK enrolled): firmware verifies the signed `snponly.efi` + (fleet-ipxe image) → signed UKI and boots. Confirms the whole `fleet-ipxe` + signing pipeline + the PXE→iPXE→UKI chain under SB on real silicon (the VM only + covered the HTTP path, which has no iPXE stage). - **REMAINING for production:** (a) **secure path** — re-verify signed boot with - `disable_dot1x=false` (802.1X/MACsec), not just the test path; (b) **820 / PXE - path** — BENCH-VERIFY the signed `fleet-ipxe` chain on the 820 (the VM's HTTP - path has no iPXE stage, so the signed iPXE binary is still unverified on real - PXE hardware); (c) confirm signing is reproducible (verity hash stable across - two signed builds). + `disable_dot1x=false` (802.1X/MACsec), not just the test path; (b) confirm + signing is reproducible (verity hash stable across two signed builds). - **PXE-only iPXE fallback — BENCH-VERIFIED on the EliteBook 820 G4 (2026-06-20).** Firmware without UEFI HTTP boot chainloads `serving/tftp/snponly.efi` → renders `autoexec.ipxe` (ifopen + DHCP-retry + `imgargs `) → UKI over HTTP @@ -757,7 +829,9 @@ full ~17-min Packer build. Speed up bringing up new workstations: bake the **public** PK/KEK/db certs into an image, detect Secure Boot **Setup Mode** at boot, and auto-enroll them so a fresh/reset box adopts the fleet trust root without a manual firmware-setup visit. -Pairs with #8 (signing) + [secure-boot-keys.md](secure-boot-keys.md). +Pairs with #8 (signing) + [secure-boot-keys.md](secure-boot-keys.md). Shares the +provisioning-UKI + isolated-environment vehicle with **#11** (which enrols the +*network* identity); build them together. **Tooling gap (found 2026-06-20): `efitools` is NOT packaged for EL9** — no `efi-updatevar`/`efi-readvar`/`KeyTool`. Resolved for the OS-side path by writing @@ -817,3 +891,70 @@ enrolls. reasonable for a controlled fleet; the highest-assurance path is attended/firmware or manufacturer pre-provisioning. Default recommendation: **separate provisioning UKI + isolated VLAN + read-back verify.** + +## [ ] 11. (DESIGN) TPM 802.1X identity enrolment (TOFU + OOB fingerprint) + +How a host gets its **802.1X EAP-TLS client identity** the first time — the key at +TPM handle `0x81010001` + cert at NV `0x01800001` that invariant #1 says must come +from enrolment, never the image. Distinct from #10 (that enrols *Secure Boot* +PK/KEK/db); this enrols the *network identity*. They share the provisioning UKI + +isolated-environment vehicle. Pairs with #8 + the CA decision (start **step-ca**, +[serving/dot1x-bench/](../serving/dot1x-bench/); OpenBao/EJBCA/Dogtag later). + +**Chosen pattern — trust-on-first-use with out-of-band fingerprint approval:** +on an empty TPM the host generates a key *in* the TPM, builds a CSR, submits it to +an enrolment **broker**, and shows a **fingerprint** on the Plymouth splash; an +admin visually cross-checks that fingerprint against the broker's pending-list and +approves; the broker has step-ca sign the CSR and returns the cert; the host writes +it to NV `0x01800001` and proceeds to authenticate. Sound, recognised pattern +(SSH/WireGuard/Signal-style OOB verification); good fit for invariant #1. + +**Key design decisions (settled 2026-06-22):** + +- **The pre-auth permit-set already exists — enrolment rides in it.** The firmware + can't do 802.1X, so the UKI fetch (DHCP/DNS/TFTP/HTTP to the serving host) is + **always pre-auth**; the secure model therefore *requires* a pre-auth permit-set + (low-impact 802.1X / pre-auth dACL / boot→secure dynamic VLAN; RADIUS returns the + secure VLAN on Access-Accept). The enrolment endpoint is just **another entry in + that set** — expose it as an `/enrol/` location on the **existing serving nginx**, + reverse-proxied to the broker. No new network mechanism. +- **The broker is the only new component.** step-ca signs but has no human-approval + queue: broker = `POST CSR + context → PENDING + fingerprint → admin approves → + step-ca signs → host polls → cert`. Exposed to *unauthenticated* devices by + design → harden: OOB-fingerprint gate (no auto-sign), rate-limit, time-boxed + pending, HTTPS (image trusts the serving CA), pre-auth permit scoped to only + these services + the serving host. +- **Trigger on EMPTY-NV only — split the three events:** empty NV → enrol (human); + valid key + expired/near-expiry cert → **renew** automatically (no human, it + already holds a trusted key); auth fails with a present cert → **alert + retry, + do NOT re-enrol** (auto-reenrol on failure would mask revocation and churn keys + on a transient RADIUS outage). Re-enrol after the first time = explicit admin + action (clear/flag the host). +- **Fingerprint: what it proves + entropy.** It proves "this CSR came from *this + physical device*" (approver reads the screen) — it does NOT prove TPM residency. + Pair it with **TPM attestation** (step-ca ACME `device-attest-01`, EK/AK) for the + residency proof: fingerprint = human authorises the device, attestation = the key + is really in a TPM (together → strong SSP R-01 story). Size for entropy — a short + hex fp is grindable; use a word-list/BIP39-style encoding (reads short, more + bits) + rate-limiting + a server nonce. Show device context (asset/port/location) + so the admin knows *what* they're approving. +- **Pre-auth traffic has no MACsec (plaintext at L2).** Fine for enrol (CSR/cert + are public; OOB fingerprint gives authenticity) — and it's exactly **why the UKI + must be Secure-Boot-signed** (#8): integrity of the boot comes from the signature, + not the network. Enrolment design + Secure Boot are two halves of the same + "pre-auth path is hostile" assumption. +- **Run it in a provisioning UKI/mode, not the production initramfs** — the boot + hook ordering is load-bearing (invariant #2); don't park it on a multi-minute + human-approval wait. Shares the #10 provisioning-UKI vehicle. + +**Bench caveat:** `hostapd` wired is strictly port-based (no pre-auth per-flow +ACL) — before EAP success it passes nothing, so the bench can't reproduce +"boot + enrol pre-auth on the same port." Model the pre-auth state with a separate +provisioning bridge/VLAN on the rig; the in-place low-impact pre-auth permit is a +real-switch feature to validate on the 820's switch. + +**First step DONE (2026-06-22):** `serving/dot1x-bench/enrol/tpm-selftest.sh` — a +non-destructive TPM capability check (device, key persist, NV roundtrip, openssl +TPM2 provider, CSR signed by the TPM key) to de-risk the TPM half before any of +this. Expected gap: the image installs `tpm2-tss` but no openssl TPM2 **provider** +(`tpm2-openssl`) — add it to the build once the self-test confirms. diff --git a/docs/design-v2-errata.md b/docs/design-v2-errata.md index 5c7e131..6d105c2 100644 --- a/docs/design-v2-errata.md +++ b/docs/design-v2-errata.md @@ -4,7 +4,7 @@ Records where the as-built implementation diverges from `diskless-fleet-design-v2.pdf`. The PDF remains authoritative for the architecture; this note captures deltas discovered bringing the build up on **Rocky 9.8** until they are folded into a consolidated **v3**. Last updated -2026-06-15. +2026-06-22. The architecture is unchanged: 802.1X EAP-TLS with a TPM-held key, MACsec on the access link, dm-verity-protected erofs root over NVMe/TCP, signed UKI, and the @@ -57,6 +57,43 @@ indices shift with the transient discovery controller. [../serving/spdk-setup.sh](../serving/spdk-setup.sh) (2nd bdev/namespace), and CLAUDE.md invariant #9. +## 1c. Design-level addition — pre-auth boot path & per-host identity enrolment + +Two design points the PDF leaves implicit; both are load-bearing for the secure +model and are recorded here pending v3. + +**The boot path is inherently pre-auth, so a pre-auth permit-set is mandatory.** +The firmware (UEFI HTTP boot / PXE→iPXE) fetches the UKI **before** any OS or +supplicant exists — there is no firmware 802.1X supplicant — so the UKI/initramfs +fetch always happens in the unauthenticated state. The secure model therefore +requires the authenticator to permit a *scoped* set of services pre-auth +(DHCP/DNS + TFTP + HTTP to the serving host) and only complete 802.1X once the +**OS** is running; RADIUS returns the secure VLAN on Access-Accept, after which +DHCP-for-the-running-system and the NVMe/TCP root ride **`macsec0`** (post-auth, +encrypted). Mechanism on a real switch: low-impact 802.1X / a pre-auth dACL / +boot→secure dynamic VLAN. Consequences: +- Pre-auth traffic has **no MACsec** (plaintext at L2). Integrity of the boot + therefore comes from **Secure Boot** (the signed UKI + signed `fleet-ipxe`), not + the network — this is *why* signing matters: the boot transport is untrusted. +- `hostapd` wired (the bench authenticator) is strictly port-based and can't model + a pre-auth per-flow permit — the in-place pre-auth ACL is a real-switch feature, + validated on the 820's switch, not the VM rig (see `serving/dot1x-bench/`). + +**Per-host 802.1X identity is created by an enrolment flow, never baked in** +(invariant #1). Chosen pattern: **trust-on-first-use with out-of-band fingerprint +approval** — on an empty TPM the host generates a key *in* the TPM +(`0x81010001`), submits a CSR to an enrolment **broker** (reachable via the same +pre-auth permit-set, e.g. an `/enrol/` location on the serving nginx → broker → +step-ca signer), and shows a fingerprint on the Plymouth splash; an admin +cross-checks it and approves; the signed cert is written to NV `0x01800001` and +authentication proceeds. Enrol triggers on **empty-NV only** (expired cert → +automatic renew; auth-failure-with-cert → alert, not re-enrol). The fingerprint +authorises *which device*; **TPM attestation** (step-ca ACME `device-attest-01`) +proves *key residency* — use both for full assurance. Runs in a provisioning +UKI/mode, not the production initramfs. Full design + decisions: **TODO #11** (the +network-identity counterpart to **#10**, which enrols Secure Boot PK/KEK/db; both +share the provisioning-UKI vehicle). + ## 2. Implementation notes (not architectural) These don't contradict the PDF (it doesn't specify them) but are worth recording. diff --git a/docs/secure-boot-keys.md b/docs/secure-boot-keys.md index da64f6b..da02273 100644 --- a/docs/secure-boot-keys.md +++ b/docs/secure-boot-keys.md @@ -154,10 +154,14 @@ Mode failure (that surfaces as EACCES / "Permission denied"). Diagnose top-down: `pre-enrolled-keys=0` disk if the NUL bug is present. For a clean OVMF test bed: `qm set --efidisk0 :1,efitype=4m,pre-enrolled-keys=0`. -**Verified:** with the fix, a Proxmox VM enrols db→KEK→PK from the baked `.auth` -files and boots the CI-signed UKI under **enforcing Secure Boot** over the HTTP -boot path (`mokutil --sb-state` = enabled). The PXE/iPXE front-end additionally -needs `snponly.efi` signed with `db` — see the iPXE section below. +**Verified end-to-end on real hardware (2026-06-22):** `fleet-sb-enroll` (the +baked, fixed script) enrols db→KEK→PK cleanly, and both boot transports verify +under **enforcing Secure Boot** (`mokutil --sb-state` = enabled): +- **Proxmox VM — HTTP boot:** firmware → signed UKI (2026-06-20). +- **HP EliteBook 820 G4 — PXE boot:** firmware → signed `snponly.efi` (fleet-ipxe) + → signed UKI (2026-06-22). +So the full signing pipeline (UKI + `fleet-ipxe`, both against the same enrolled +`db`) is proven on real silicon, not just in the VM. ## 4. Wire `db` into the build diff --git a/docs/ssp-annex-a-ism-residual-risk.md b/docs/ssp-annex-a-ism-residual-risk.md index 0ee117e..bc59136 100644 --- a/docs/ssp-annex-a-ism-residual-risk.md +++ b/docs/ssp-annex-a-ism-residual-risk.md @@ -9,10 +9,12 @@ > **A&A framework:** ASD *Information Security Manual* (ISM) — engagement target > **May 2026 release**. > -> **Annex version:** 0.2 (2026-06-20). v0.2 reflects: STIG hardening applied + -> bench-verified, USBGuard device control enabled, admin `staff_u` confinement, -> audit offload verified, UKI signing wired (not yet enforced — new R-13), -> PXE/iPXE boot path added. +> **Annex version:** 0.2 (updated 2026-06-22). v0.2 reflects: STIG hardening +> applied + bench-verified, USBGuard device control enabled, admin `staff_u` +> confinement, audit offload verified, PXE/iPXE boot path added, and **UEFI Secure +> Boot signing verified enforcing on real hardware** (VM HTTP + 820 PXE) — R-13 +> reduced from Medium to Low (residual is making signed + SB-on the standing +> default). --- @@ -150,7 +152,7 @@ ISM/PSPF style). Ratings are **pre-treatment** unless stated; the AO accepts the | Topic | ISM (rep.) | Requirement intent | System implementation | Status | Residual | |---|---|---|---|---|---| | Media sanitisation / no data remanence | ISM-0347*, ISM-1218* | Prevent data remanence. | **Diskless** — no persistent local media; writable layer is **RAM tmpfs**, gone at power-off. | Implemented | — | -| Tamper-evidence / boot integrity | ISM-1542*, ISM-0312* | Detect firmware/boot tampering. | Design: **UEFI Secure Boot** + signed UKI (+ signed iPXE on the PXE path) + immutable signed cmdline + dm-verity; TPM measurements available. Signing **wired in CI** + key/enrolment procedure + baked `fleet-sb-enroll` helper, but **lab runs unsigned with SB OFF**. | Partial | **R-13** (signing not enforced), R-11 (no remote attestation) | +| Tamper-evidence / boot integrity | ISM-1542*, ISM-0312* | Detect firmware/boot tampering. | Design: **UEFI Secure Boot** + signed UKI (+ signed iPXE on the PXE path) + immutable signed cmdline + dm-verity; TPM measurements available. **Verified enforcing on real hardware (2026-06-22):** CI-signed UKI under SB on a VM (HTTP) and signed iPXE→UKI under SB on an 820 (PXE), `db` enrolled via `fleet-sb-enroll`. Residual is making signed + SB-on the standing default for all builds/hosts. | Implemented (default-posture residual) | **R-13** (not yet default), R-11 (no remote attestation) | | Device identification | ISM-1195* | Uniquely identify devices. | Identity derived from TPM cert (hostnqn from cert serial); no spoofable per-host config. | Implemented | — | ### 2.11 Guidelines for Procurement, Outsourcing & Evaluated Products @@ -176,7 +178,7 @@ asked to accept. Treatments map to [docs/TODO.md](TODO.md) (working POA&M). | **R-05** | **NOPASSWD key-only admin**; no per-host or rotatable access model; human admin MFA on the mgmt plane not enforced. | 2.4 (ISM-1507*/1173*) | Possible × Moderate → **Medium** | Single fleet-generic admin, key-only, root disabled, ECDSA/RSA key, **now SELinux-confined to `staff_u`** with sudo role/type elevation, fully audited; no interactive password to attack. | Per-host/rotatable access (SSH CA / config-agent) + admin MFA on the management plane. | **Low–Medium** | Platform team — *roadmap* | | **R-06** | **FIPS off**; ISM **AACA/AACP conformance not formally asserted**; crypto-module evaluation status unconfirmed. | 2.9 (ISM-0471*/1139*/1277*) | Possible × Major → **Medium** | Modern STIG crypto policy; non-exportable TPM key; no deliberately weak algorithms. Acceptable at OFFICIAL; **mandatory to resolve for PROTECTED+.** | Assert AACA/AACP conformance; decide on FIPS module / evaluated crypto alongside Secure Boot signing. | **Low** (at appropriate classification) | Security + Platform — *before PROTECTED+* | | **R-07** | Audit-log **offload plaintext**, **single-site**, **no SIEM alerting**; logs interceptable/repudiable and not actively reviewed. (Transport **bench-verified working** 2026-06-20.) | 2.6 (ISM-1432*/0109*/0859*) | Possible × Moderate → **Medium** | Isolated LAN; disk-assisted queue (no loss on collector blip); auditd local copy; per-source files; LinuxAudit captures USBGuard events. | rsyslog **TLS** (gtls/6514) + bundle CA in image (re-select the 3 waived `rsyslog_encrypt_offload_*` rules); define retention + integrity; forward to SIEM with alerting. | **Low** | Platform/SecOps — *production* | -| **R-13** | **Boot chain unsigned / Secure Boot OFF** in the lab — the UKI and (on the PXE path) iPXE are not signed and SB is not enforced, so a substituted boot artifact would not be rejected by firmware. | 2.10 (ISM-1542*/0312*) | Possible × Major → **Medium** | dm-verity still rejects a tampered *root*; isolated lab LAN; signing is **wired in CI** + key/enrolment procedure + baked `fleet-sb-enroll` ready; only the enforcement is pending. | Enrol fleet `db` (PK/KEK/db per [secure-boot-keys.md](secure-boot-keys.md)); set `SB_KEY`/`SB_CERT` CI secrets; `sbsign` the UKI **and** iPXE; enable Secure Boot on targets. | **Low** | Platform team — *before production* | +| **R-13** | **Boot-chain signing not yet the standing default** — signing + Secure Boot enforcement are **verified end-to-end on real hardware** (VM HTTP UKI 2026-06-20; 820 PXE signed iPXE→UKI 2026-06-22, SB enforcing, `db` enrolled), but unsigned/SB-OFF lab builds remain possible (CI signs only when `SB_KEY`/`SB_CERT` are set) and not every host has `db` enrolled, so a substituted artifact could still boot on an un-enrolled/unsigned host. | 2.10 (ISM-1542*/0312*) | Unlikely × Major → **Low** | Capability **proven on hardware**; dm-verity rejects a tampered *root* regardless; isolated lab LAN. | Make signed + Secure-Boot-on the **default for all production builds/hosts**: keep `SB_KEY`/`SB_CERT` CI secrets set; enrol `db` fleet-wide; treat an unsigned build as lab-only. | **Low** | Platform team — *before production* | | **R-08** | **Placeholder RADIUS CA** (`files/etc/dot1x/radius-ca.pem`) — real EAP-TLS trust anchor not provisioned; auth cannot succeed and trust is unestablished. | 2.4 (ISM-1546*) | Certain (lab) × Major → **Medium** | Documented as a placeholder; environment-specific provisioning is the intended path; no real CA committed. | Provision the environment's real RADIUS CA out-of-band (not committed unless classification permits). | **Low** | Environment owner — *before production* | | **R-09** | **Host firewall disabled**; host exposes more network surface than necessary. | 2.7 (ISM-1416*) | Possible × Moderate → **Low–Medium** | Isolated LAN; minimal services; egress controlled at the network/serving layer; no kiosk inbound. | Re-enable firewalld with explicit allow rules (NVMe/TCP `:4420`, DHCP, log offload, SSH) once the secure path is verified. | **Low** | Platform/network — *after R-01* | | **R-10** | **Patch SLA undefined** — no documented cadence for rebuilding/redeploying against new CVEs. | 2.5 (ISM-1144*/1472*) | Likely × Moderate → **Medium** | Atomic rebuild/redeploy model makes patching fast & uniform; reproducible builds. | Define patch cadence & critical-CVE SLA; automate rebuild triggers. | **Low** | Platform team — *roadmap* | @@ -204,7 +206,9 @@ R-12 and R-13** (and confirming R-03's `enable_stig=true`) are **closed before production**, and R-04/R-05/R-06/R-07/R-09/R-10/R-11 are either accepted with compensating controls (isolated-LAN lab) or carried on the POA&M with target dates. Newly strengthened in v0.2: device control (USBGuard, now Implemented), -admin SELinux confinement (R-05), and STIG applied+verified (R-03 reduced).* +admin SELinux confinement (R-05), STIG applied+verified (R-03 reduced), and +**Secure Boot signing verified enforcing on real hardware (R-13 reduced +Medium→Low)**.* --- @@ -224,9 +228,11 @@ admin SELinux confinement (R-05), and STIG applied+verified (R-03 reduced).* anything flagged **REVIEW** is an unjustified finding. 6. **Confirm lab-only flags are off** in the assessed build: `debug_shell=false`, `enable_stig=true`, `disable_dot1x=false`, real RADIUS CA in place. -7. **Confirm boot-chain signing is enforced** (R-13): `db` enrolled, Secure Boot - ON, UKI + iPXE signed (`sbverify`). The PXE/iPXE path's SB-OFF cmdline - workaround should be a no-op once SB is on. +7. **Confirm boot-chain signing is the default** (R-13): signing + Secure Boot + enforcement are **verified on hardware** (VM HTTP + 820 PXE, 2026-06-22) — + confirm the *assessed* build is signed and the *assessed* hosts have `db` + enrolled with Secure Boot ON (`mokutil --sb-state`, `sbverify` UKI + iPXE). The + PXE/iPXE SB-OFF cmdline workaround is a no-op once SB is on. 8. **Witness device control** (USBGuard): a USB mass-storage device is blocked and logged, console HID still works. diff --git a/docs/ssp.md b/docs/ssp.md index 0858114..e4a3223 100644 --- a/docs/ssp.md +++ b/docs/ssp.md @@ -16,9 +16,9 @@ | System name | Diskless Fleet Boot System ("the fleet") | | Document type | System Security Plan (SSP) | | Version | 0.2 (DRAFT — pre-assessment) | -| Date | 2026-06-20 | +| Date | 2026-06-22 | | Author / maintainer | System Owner (delegate) | -| Status | Lab / pre-production. STIG hardening applied + bench-verified (unsigned, Secure Boot OFF); secure path (802.1X/MACsec) not yet bench-verified. | +| Status | Lab / pre-production. STIG hardening applied + bench-verified; **UEFI Secure Boot signing verified enforcing on real hardware** (VM HTTP + EliteBook 820 PXE); secure path (802.1X/MACsec) not yet bench-verified. | | Companion documents | [Annex A — ISM control cross-reference & residual risk](ssp-annex-a-ism-residual-risk.md); [Architecture design v2](diskless-fleet-design-v2.pdf); [Design errata](design-v2-errata.md); [STIG deviation register](stig-deviations.md); [Backlog / POA&M source](TODO.md) | > **Currency caveat (read before relying on control numbers).** This SSP and its @@ -164,19 +164,23 @@ This system follows the ISM A&A lifecycle: Milestones (POA&M)** (this repo's [TODO.md](TODO.md) is the working POA&M source). -**Current status:** Pre-assessment **DRAFT (v0.2)**. The system is functional in a -lab configuration. **Progress since v0.1 (2026-06-20):** DISA STIG hardening -applied and **bench-verified** on a real build (kiosk, key-only SSH, audit -offload, DHCP-named host, NVMe/verity root all good with hardening on); USBGuard -device control enabled + verified; admin confined to `staff_u`; UKI signing wired -in CI + Secure Boot key/enrolment procedure documented; both **HTTP-boot and -PXE/iPXE** boot paths working (the latter verified on an EliteBook 820 G4). -Several controls remain **partial or deferred**, tracked as residual risks with -treatments (Annex A §3). The two largest gates on a production ATO: (a) the -secure path (**802.1X/MACsec**) is implemented but **not yet bench-verified** and -is disabled in test builds (`disable_dot1x=true`, R-01); (b) the lab runs -**unsigned with Secure Boot OFF** (R-13) and with a lab-only **passwordless-root -debug shell** that must be removed (R-02). +**Current status:** Pre-assessment **DRAFT (v0.2, updated 2026-06-22)**. The system +is functional in a lab configuration. **Progress since v0.1 (2026-06-20):** DISA +STIG hardening applied and **bench-verified** on a real build (kiosk, key-only SSH, +audit offload, DHCP-named host, NVMe/verity root all good with hardening on); +USBGuard device control enabled + verified; admin confined to `staff_u`; and — +newly — **UEFI Secure Boot signing verified enforcing end-to-end on real +hardware**: the CI-signed UKI boots under Secure Boot on a VM (HTTP boot), and the +signed iPXE→UKI chain boots under Secure Boot on an EliteBook 820 G4 (PXE boot), +with `db`/`KEK`/`PK` enrolled via the baked `fleet-sb-enroll` helper. Several +controls remain **partial or deferred**, tracked as residual risks with treatments +(Annex A §3). The largest remaining gates on a production ATO: (a) the secure path +(**802.1X/MACsec**) is implemented but **not yet bench-verified** and is disabled +in test builds (`disable_dot1x=true`, R-01); (b) a lab-only **passwordless-root +debug shell** must be removed (R-02). Boot-chain signing / Secure Boot — a major +v0.1 gate — is now **demonstrated on hardware**; the residual (R-13) is reduced to +making signed + Secure-Boot-on the **standing default** for every production +host/build. ## 5. Security control implementation — by ISM cyber security principle @@ -281,7 +285,7 @@ production ATO: | R-07 | Audit-log offload **plaintext** (bench-verified working), single-site, no SIEM alerting. | **Medium** | Treat — TLS offload + monitoring on roadmap. | | R-08 | **Placeholder RADIUS CA** in the repo; real trust anchor not yet provisioned. | **Medium** | Treat — environment-specific, before production. | | R-09 | Host **firewall disabled** (workstation). | **Low–Medium** | Accept (isolated LAN) / treat with explicit allow-rules. | -| R-13 | **Boot chain unsigned / Secure Boot OFF** in the lab (UKI + iPXE); CI signing wired but not enforced. | **Medium** | Treat — enrol `db`, enforce SB + sign UKI & iPXE before production. | +| R-13 | **Boot-chain signing not yet the standing default.** Signing + Secure Boot enforcement **verified end-to-end on hardware** (VM HTTP UKI 2026-06-20; 820 PXE signed iPXE→UKI 2026-06-22), but unsigned/SB-OFF lab builds are still possible (CI signs only when `SB_KEY`/`SB_CERT` are set) and not all hosts have `db` enrolled. | **Low** | Treat — make signed + Secure-Boot-on the default for all production builds/hosts (set CI secrets; enrol `db` fleet-wide). | Each is detailed, ISM-cross-referenced, rated and assigned a treatment in Annex A. From 25d0cfff7ccd2184b0bf05321dea5cba0b0aa3e2 Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Thu, 25 Jun 2026 23:55:29 +0000 Subject: [PATCH 08/11] Prep kiosk-app for submodule split --- CLAUDE.md | 4 +- serving/.env.example | 7 ++ serving/docker-compose.yml | 12 ++- serving/kiosk-app/.gitea/workflows/ci.yaml | 94 ++++++++++++++++++++++ serving/kiosk-app/CLAUDE.md | 77 ++++++++++++++++++ serving/kiosk-app/README.md | 27 ++++--- 6 files changed, 207 insertions(+), 14 deletions(-) create mode 100644 serving/kiosk-app/.gitea/workflows/ci.yaml create mode 100644 serving/kiosk-app/CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md index ed648b6..b7118c9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -38,7 +38,9 @@ serving/ Lab serving stack: dnsmasq + nginx + S (dnsmasq + fleet-ipxe + SPDK images are CI-built + pulled; see .gitea/workflows/) serving/kiosk-app/ Svelte+Tailwind spaceship-terminal SPA - (kiosk endpoint; nginx reverse-proxies /kiosk/) + — GIT SUBMODULE (own repo + CI; builds + the fleet-kiosk image the stack pulls). + OS-side kiosk runtime stays in files/kiosk/ serving/dot1x-bench/ Secure-path bench: step-ca + FreeRADIUS + hostapd authenticator + TPM enrolment .gitea/workflows/ Gitea CI: lint -> packer build -> push OCI diff --git a/serving/.env.example b/serving/.env.example index 82e8cf9..a2a5f74 100644 --- a/serving/.env.example +++ b/serving/.env.example @@ -29,6 +29,13 @@ DNSMASQ_VERSION=latest IPXE_IMAGE=git.bitasylum.org/audiobuzz/fleet-ipxe IPXE_VERSION=latest +# kiosk SPA image — the spaceship-terminal web app, now an INDEPENDENT project +# (the kiosk-app git submodule) with its own CI that builds + pushes this image. +# The 'kiosk' compose service pulls it; the main nginx reverse-proxies /kiosk/ to +# it. For local dev, uncomment `build: ./kiosk-app` on that service instead. +KIOSK_IMAGE=git.bitasylum.org/audiobuzz/fleet-kiosk +KIOSK_VERSION=latest + # --- This serving host on the boot LAN ------------------------------------- BOOT_IFACE=ens19 # interface facing the booting client / test bridge SERVER_IP=192.168.50.10 # this host's address on BOOT_IFACE (DHCP/DNS/HTTP/NVMe) diff --git a/serving/docker-compose.yml b/serving/docker-compose.yml index 7271daa..c0bf4a6 100644 --- a/serving/docker-compose.yml +++ b/serving/docker-compose.yml @@ -191,11 +191,15 @@ services: # --- Kiosk SPA (spaceship terminal shown by the diskless kiosk) ------------ # Svelte + Tailwind app built into a static bundle served by its own nginx. - # Bridge-networked (NOT host) so it doesn't fight :80; published on loopback - # only, where the host-network 'http' nginx reverse-proxies /kiosk/ to it. - # Build: docker compose build kiosk + # Now an INDEPENDENT project — the `kiosk-app` git submodule (its own repo + + # CI). It builds + pushes its own image (git.../fleet-kiosk); the serving stack + # pulls it, like dnsmasq/SPDK. Bridge-networked (NOT host) so it doesn't fight + # :80; published on loopback only, where the host-network 'http' nginx + # reverse-proxies /kiosk/ to it. kiosk: - build: ./kiosk-app + image: ${KIOSK_IMAGE}:${KIOSK_VERSION} + # Local dev from the submodule working tree instead of pulling: + # build: ./kiosk-app restart: unless-stopped ports: - "127.0.0.1:${KIOSK_APP_PORT:-8088}:80" # loopback only; main nginx proxies here diff --git a/serving/kiosk-app/.gitea/workflows/ci.yaml b/serving/kiosk-app/.gitea/workflows/ci.yaml new file mode 100644 index 0000000..12dbf1f --- /dev/null +++ b/serving/kiosk-app/.gitea/workflows/ci.yaml @@ -0,0 +1,94 @@ +# +# .gitea/workflows/ci.yaml (fleet-kiosk-app repo) +# +# Builds the kiosk SPA into its container image and pushes it, so the fleet +# serving stack `docker compose pull`s it (consumed as a submodule there). The +# Dockerfile compiles the Svelte/Vite bundle (`npm ci` + `npm run build`), so a +# build/compile error fails this job. +# +# Tagging mirrors the fleet serving-image workflows — every branch builds a +# uniquely tagged image you can test without clobbering main: +# - tag push (refs/tags/v1.2.3) -> "1.2.3" (+ :latest) +# - main push (refs/heads/main) -> "main-" (+ :latest) +# - branch push (refs/heads/) -> "-" (dev image, no :latest) +# +# Required repo secrets: PACKAGE_USER, PACKAGE_TOKEN (registry creds). +# + +name: Build fleet-kiosk image +run-name: ${{ gitea.actor }} builds the kiosk SPA image (${{ gitea.ref_name }}) +on: + push: + branches: + - "**" + tags: + - "v*" + workflow_dispatch: + +concurrency: + group: kiosk-image-${{ gitea.ref }} + cancel-in-progress: true + +env: + KIOSK_IMAGE: "git.bitasylum.org/audiobuzz/fleet-kiosk" + +jobs: + kiosk-build: + name: Build & push kiosk image + runs-on: ubuntu-latest + container: + image: git.bitasylum.org/audiobuzz/ubuntu-act-runner-qemu:main + steps: + - + name: Checkout + uses: actions/checkout@v6 + + - + name: Install buildah + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends buildah + + - + name: Derive image tag + id: vars + run: | + short_sha="$(echo "${GITHUB_SHA}" | cut -c1-7)" + if [ "${GITHUB_REF#refs/tags/}" != "$GITHUB_REF" ]; then + version="${GITHUB_REF#refs/tags/}"; version="${version#v}" + else + branch="${GITHUB_REF#refs/heads/}" + safe_branch="$(printf '%s' "$branch" \ + | sed -e 's#[^A-Za-z0-9._-]#-#g' -e 's#^[.-]*##' | cut -c1-100)" + [ -n "$safe_branch" ] || safe_branch="branch" + version="${safe_branch}-${short_sha}" + fi + echo "version=${version}" >> "$GITHUB_OUTPUT" + echo "Building ${KIOSK_IMAGE}:${version}" + + - + name: Registry login + run: | + buildah login \ + --username "${{ secrets.PACKAGE_USER }}" \ + --password "${{ secrets.PACKAGE_TOKEN }}" \ + git.bitasylum.org + + - + name: Build & push + env: + STORAGE_DRIVER: vfs + BUILDAH_ISOLATION: chroot + run: | + VER="${{ steps.vars.outputs.version }}" + buildah bud -t "${KIOSK_IMAGE}:${VER}" . + buildah push "${KIOSK_IMAGE}:${VER}" + # Only main / release tags move :latest, so dev branches never clobber it. + case "$GITHUB_REF" in + refs/heads/main|refs/tags/*) + buildah tag "${KIOSK_IMAGE}:${VER}" "${KIOSK_IMAGE}:latest" + buildah push "${KIOSK_IMAGE}:latest" + echo "Updated ${KIOSK_IMAGE}:latest" ;; + *) + echo "Dev branch build — :latest left untouched (run with KIOSK_VERSION=${VER})" ;; + esac diff --git a/serving/kiosk-app/CLAUDE.md b/serving/kiosk-app/CLAUDE.md new file mode 100644 index 0000000..ba01fb6 --- /dev/null +++ b/serving/kiosk-app/CLAUDE.md @@ -0,0 +1,77 @@ +# CLAUDE.md — Fleet Kiosk App + +The **kiosk SPA** for the diskless fleet: a cyber sci-fi spaceship +monitoring/control terminal (Svelte 5 + Tailwind v4 + Vite) shown fullscreen by +the diskless workstation's kiosk session (weston + Chromium). Built to a static +bundle, served by a tiny nginx, and reverse-proxied at **`/kiosk/`** by the boot +serving stack. + +This is an **independent project**, consumed by the fleet boot repo +(`diskless-workstation`) as a **git submodule** at `serving/kiosk-app/`. It builds +and publishes its own container image; the serving stack pulls it. Keep this repo +focused on the app — the OS-side kiosk *runtime* (weston, Chromium lockdown +policy, the `kiosk-session` script, the systemd unit) lives in the **parent** repo +under `files/kiosk/`, not here. + +## Build & run + +```bash +npm install +npm run dev # http://localhost:5173/kiosk/ (Vite dev server) +npm run build # -> dist/ (static bundle, base path /kiosk/) +npm run preview # serve the built bundle locally + +# container (same as CI does): +docker build -t fleet-kiosk:dev . +docker run --rm -p 8088:80 fleet-kiosk:dev # http://localhost:8088/ +``` + +CI (`.gitea/workflows/ci.yaml`) builds the Dockerfile (which runs `npm ci` + +`npm run build`) and pushes `git.bitasylum.org/audiobuzz/fleet-kiosk` — +branch-aware tags, `:latest` only on `main`. Needs repo secrets `PACKAGE_USER` / +`PACKAGE_TOKEN`. + +## Hard contracts with the consuming fleet (do not break these) + +These are the integration invariants the parent serving stack + the kiosk +display depend on. Changing one means a coordinated change in the parent repo. + +1. **Base path is `/kiosk/`.** `vite.config.js` sets `base: '/kiosk/'` because the + main serving nginx reverse-proxies `/kiosk/` to this container and strips the + prefix. Emitted asset URLs must be absolute under `/kiosk/`. If this ever + changes, the parent's `http/default.conf` proxy + the `kiosk_url` Packer + default must change with it. +2. **Hash-based routing only** (`src/lib/router.svelte.js`, `#/power`, `#/nav`…). + Deep links stay client-side so the proxy needs **no SPA-fallback rewrite**. + Don't switch to history/path routing without adding that rewrite upstream. +3. **Fully self-contained — no CDNs, no web fonts, no external calls.** The boot + LAN is air-gapped and the stack's dnsmasq **sinkholes** call-home (and the + in-image Chromium policy blocks it). Bundle every asset; inline fonts. A + request that escapes to the internet will silently fail on a real host. +4. **Static / read-only by nature.** The display is a fixed kiosk (no keyboard + nav, locked-down Chromium). Telemetry is dummy/simulated (`src/lib/data.js`, + `live.svelte.js`, `clock.svelte.js`) — there is no backend. If a real data + feed is ever added it must be reachable on the boot LAN and fail gracefully + offline. +5. **Reproducible bundle.** Keep `package-lock.json` committed; the Dockerfile + uses `npm ci`. Don't introduce build-time network fetches beyond npm deps. + +## Layout + +``` +Dockerfile 2-stage: Vite build (node:alpine) -> nginx:alpine static serve +nginx.conf serves the built assets at the container root (proxied as /kiosk/) +vite.config.js base '/kiosk/', self-contained bundle settings +src/App.svelte shell: navbar + routed page +src/lib/ Navbar, Panel, Radar, Stat, Bar, Tag, StatusBar + router/clock/data helpers +src/pages/ Dashboard, Power, Navigation, LifeSupport, Comms +.gitea/workflows/ CI: build + push the fleet-kiosk image +``` + +## Conventions + +- Svelte 5 runes; Tailwind v4 via `@tailwindcss/vite`. +- Keep components small and self-contained; shared sim helpers in `src/lib/`. +- Target `es2022` (modern Chromium kiosk — no legacy transpile needed). +- Versioning: bump `package.json` `version` per release; the image tag tracks it + on `main` (plus branch-name+sha tags for dev branches). diff --git a/serving/kiosk-app/README.md b/serving/kiosk-app/README.md index 374239f..b110cd9 100644 --- a/serving/kiosk-app/README.md +++ b/serving/kiosk-app/README.md @@ -33,19 +33,28 @@ npm run dev # http://localhost:5173/kiosk/ ## Build the container -It builds as part of the serving stack: +This is an **independent project** with its own CI. The build is standalone: ```bash -cd .. # serving/ -docker compose build kiosk -docker compose up -d -# main nginx serves it at http://${SERVER_IP}/kiosk/ (kiosk_url default) +docker build -t fleet-kiosk:dev . +docker run --rm -p 8088:80 fleet-kiosk:dev # http://localhost:8088/ ``` -The container publishes on `127.0.0.1:${KIOSK_APP_PORT:-8088}`; the host-network -main nginx proxies `/kiosk/` to it. To point the diskless kiosk here, keep the -Packer `kiosk_url=http://boot.fleet.lab/kiosk/` default (resolved to the serving -host by the stack's dnsmasq). +CI ([.gitea/workflows/ci.yaml](.gitea/workflows/ci.yaml)) builds + pushes +`git.bitasylum.org/audiobuzz/fleet-kiosk` (branch-aware tags; `:latest` on +`main`). The fleet **serving stack consumes the published image** — it sets +`KIOSK_IMAGE`/`KIOSK_VERSION` in its `.env` and the `kiosk` compose service pulls +it (publishing on `127.0.0.1:${KIOSK_APP_PORT:-8088}`, proxied at `/kiosk/`). For +local serving-stack dev you can instead uncomment `build: ./kiosk-app` on that +service. To point the diskless kiosk here, keep the Packer +`kiosk_url=http://boot.fleet.lab/kiosk/` default (resolved by the stack's dnsmasq). + +## Relationship to the fleet repo + +Consumed by `diskless-workstation` as a **git submodule** at `serving/kiosk-app/`. +This repo owns the app + its image; the OS-side kiosk runtime (weston, Chromium +lockdown, `kiosk-session`, the systemd unit) lives in that parent repo under +`files/kiosk/`. See [CLAUDE.md](CLAUDE.md) for the integration contracts. ## Replacing the dummy data From c02937f855f4814e51e97379b967a57400c9e4d0 Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Fri, 26 Jun 2026 09:26:37 +0930 Subject: [PATCH 09/11] Remove kiosk-app (moving to submodule) --- serving/kiosk-app/.dockerignore | 5 - serving/kiosk-app/.gitea/workflows/ci.yaml | 94 - serving/kiosk-app/.gitignore | 4 - serving/kiosk-app/CLAUDE.md | 77 - serving/kiosk-app/Dockerfile | 27 - serving/kiosk-app/README.md | 63 - serving/kiosk-app/index.html | 13 - serving/kiosk-app/nginx.conf | 25 - serving/kiosk-app/package-lock.json | 2075 ----------------- serving/kiosk-app/package.json | 19 - serving/kiosk-app/src/App.svelte | 44 - serving/kiosk-app/src/app.css | 95 - serving/kiosk-app/src/lib/Bar.svelte | 15 - serving/kiosk-app/src/lib/Navbar.svelte | 31 - serving/kiosk-app/src/lib/Panel.svelte | 17 - serving/kiosk-app/src/lib/Radar.svelte | 25 - serving/kiosk-app/src/lib/Stat.svelte | 11 - serving/kiosk-app/src/lib/StatusBar.svelte | 19 - serving/kiosk-app/src/lib/Tag.svelte | 16 - serving/kiosk-app/src/lib/clock.svelte.js | 24 - serving/kiosk-app/src/lib/data.js | 137 -- serving/kiosk-app/src/lib/live.svelte.js | 17 - serving/kiosk-app/src/lib/router.svelte.js | 20 - serving/kiosk-app/src/main.js | 7 - serving/kiosk-app/src/pages/Comms.svelte | 62 - serving/kiosk-app/src/pages/Dashboard.svelte | 61 - .../kiosk-app/src/pages/LifeSupport.svelte | 60 - serving/kiosk-app/src/pages/Navigation.svelte | 80 - serving/kiosk-app/src/pages/Power.svelte | 62 - serving/kiosk-app/svelte.config.js | 5 - serving/kiosk-app/vite.config.js | 19 - 31 files changed, 3229 deletions(-) delete mode 100644 serving/kiosk-app/.dockerignore delete mode 100644 serving/kiosk-app/.gitea/workflows/ci.yaml delete mode 100644 serving/kiosk-app/.gitignore delete mode 100644 serving/kiosk-app/CLAUDE.md delete mode 100644 serving/kiosk-app/Dockerfile delete mode 100644 serving/kiosk-app/README.md delete mode 100644 serving/kiosk-app/index.html delete mode 100644 serving/kiosk-app/nginx.conf delete mode 100644 serving/kiosk-app/package-lock.json delete mode 100644 serving/kiosk-app/package.json delete mode 100644 serving/kiosk-app/src/App.svelte delete mode 100644 serving/kiosk-app/src/app.css delete mode 100644 serving/kiosk-app/src/lib/Bar.svelte delete mode 100644 serving/kiosk-app/src/lib/Navbar.svelte delete mode 100644 serving/kiosk-app/src/lib/Panel.svelte delete mode 100644 serving/kiosk-app/src/lib/Radar.svelte delete mode 100644 serving/kiosk-app/src/lib/Stat.svelte delete mode 100644 serving/kiosk-app/src/lib/StatusBar.svelte delete mode 100644 serving/kiosk-app/src/lib/Tag.svelte delete mode 100644 serving/kiosk-app/src/lib/clock.svelte.js delete mode 100644 serving/kiosk-app/src/lib/data.js delete mode 100644 serving/kiosk-app/src/lib/live.svelte.js delete mode 100644 serving/kiosk-app/src/lib/router.svelte.js delete mode 100644 serving/kiosk-app/src/main.js delete mode 100644 serving/kiosk-app/src/pages/Comms.svelte delete mode 100644 serving/kiosk-app/src/pages/Dashboard.svelte delete mode 100644 serving/kiosk-app/src/pages/LifeSupport.svelte delete mode 100644 serving/kiosk-app/src/pages/Navigation.svelte delete mode 100644 serving/kiosk-app/src/pages/Power.svelte delete mode 100644 serving/kiosk-app/svelte.config.js delete mode 100644 serving/kiosk-app/vite.config.js diff --git a/serving/kiosk-app/.dockerignore b/serving/kiosk-app/.dockerignore deleted file mode 100644 index f8fcbf2..0000000 --- a/serving/kiosk-app/.dockerignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules -dist -.vite -.git -*.local diff --git a/serving/kiosk-app/.gitea/workflows/ci.yaml b/serving/kiosk-app/.gitea/workflows/ci.yaml deleted file mode 100644 index 12dbf1f..0000000 --- a/serving/kiosk-app/.gitea/workflows/ci.yaml +++ /dev/null @@ -1,94 +0,0 @@ -# -# .gitea/workflows/ci.yaml (fleet-kiosk-app repo) -# -# Builds the kiosk SPA into its container image and pushes it, so the fleet -# serving stack `docker compose pull`s it (consumed as a submodule there). The -# Dockerfile compiles the Svelte/Vite bundle (`npm ci` + `npm run build`), so a -# build/compile error fails this job. -# -# Tagging mirrors the fleet serving-image workflows — every branch builds a -# uniquely tagged image you can test without clobbering main: -# - tag push (refs/tags/v1.2.3) -> "1.2.3" (+ :latest) -# - main push (refs/heads/main) -> "main-" (+ :latest) -# - branch push (refs/heads/) -> "-" (dev image, no :latest) -# -# Required repo secrets: PACKAGE_USER, PACKAGE_TOKEN (registry creds). -# - -name: Build fleet-kiosk image -run-name: ${{ gitea.actor }} builds the kiosk SPA image (${{ gitea.ref_name }}) -on: - push: - branches: - - "**" - tags: - - "v*" - workflow_dispatch: - -concurrency: - group: kiosk-image-${{ gitea.ref }} - cancel-in-progress: true - -env: - KIOSK_IMAGE: "git.bitasylum.org/audiobuzz/fleet-kiosk" - -jobs: - kiosk-build: - name: Build & push kiosk image - runs-on: ubuntu-latest - container: - image: git.bitasylum.org/audiobuzz/ubuntu-act-runner-qemu:main - steps: - - - name: Checkout - uses: actions/checkout@v6 - - - - name: Install buildah - run: | - sudo apt-get update - sudo apt-get install -y --no-install-recommends buildah - - - - name: Derive image tag - id: vars - run: | - short_sha="$(echo "${GITHUB_SHA}" | cut -c1-7)" - if [ "${GITHUB_REF#refs/tags/}" != "$GITHUB_REF" ]; then - version="${GITHUB_REF#refs/tags/}"; version="${version#v}" - else - branch="${GITHUB_REF#refs/heads/}" - safe_branch="$(printf '%s' "$branch" \ - | sed -e 's#[^A-Za-z0-9._-]#-#g' -e 's#^[.-]*##' | cut -c1-100)" - [ -n "$safe_branch" ] || safe_branch="branch" - version="${safe_branch}-${short_sha}" - fi - echo "version=${version}" >> "$GITHUB_OUTPUT" - echo "Building ${KIOSK_IMAGE}:${version}" - - - - name: Registry login - run: | - buildah login \ - --username "${{ secrets.PACKAGE_USER }}" \ - --password "${{ secrets.PACKAGE_TOKEN }}" \ - git.bitasylum.org - - - - name: Build & push - env: - STORAGE_DRIVER: vfs - BUILDAH_ISOLATION: chroot - run: | - VER="${{ steps.vars.outputs.version }}" - buildah bud -t "${KIOSK_IMAGE}:${VER}" . - buildah push "${KIOSK_IMAGE}:${VER}" - # Only main / release tags move :latest, so dev branches never clobber it. - case "$GITHUB_REF" in - refs/heads/main|refs/tags/*) - buildah tag "${KIOSK_IMAGE}:${VER}" "${KIOSK_IMAGE}:latest" - buildah push "${KIOSK_IMAGE}:latest" - echo "Updated ${KIOSK_IMAGE}:latest" ;; - *) - echo "Dev branch build — :latest left untouched (run with KIOSK_VERSION=${VER})" ;; - esac diff --git a/serving/kiosk-app/.gitignore b/serving/kiosk-app/.gitignore deleted file mode 100644 index 1cf7629..0000000 --- a/serving/kiosk-app/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -dist -.vite -*.local diff --git a/serving/kiosk-app/CLAUDE.md b/serving/kiosk-app/CLAUDE.md deleted file mode 100644 index ba01fb6..0000000 --- a/serving/kiosk-app/CLAUDE.md +++ /dev/null @@ -1,77 +0,0 @@ -# CLAUDE.md — Fleet Kiosk App - -The **kiosk SPA** for the diskless fleet: a cyber sci-fi spaceship -monitoring/control terminal (Svelte 5 + Tailwind v4 + Vite) shown fullscreen by -the diskless workstation's kiosk session (weston + Chromium). Built to a static -bundle, served by a tiny nginx, and reverse-proxied at **`/kiosk/`** by the boot -serving stack. - -This is an **independent project**, consumed by the fleet boot repo -(`diskless-workstation`) as a **git submodule** at `serving/kiosk-app/`. It builds -and publishes its own container image; the serving stack pulls it. Keep this repo -focused on the app — the OS-side kiosk *runtime* (weston, Chromium lockdown -policy, the `kiosk-session` script, the systemd unit) lives in the **parent** repo -under `files/kiosk/`, not here. - -## Build & run - -```bash -npm install -npm run dev # http://localhost:5173/kiosk/ (Vite dev server) -npm run build # -> dist/ (static bundle, base path /kiosk/) -npm run preview # serve the built bundle locally - -# container (same as CI does): -docker build -t fleet-kiosk:dev . -docker run --rm -p 8088:80 fleet-kiosk:dev # http://localhost:8088/ -``` - -CI (`.gitea/workflows/ci.yaml`) builds the Dockerfile (which runs `npm ci` + -`npm run build`) and pushes `git.bitasylum.org/audiobuzz/fleet-kiosk` — -branch-aware tags, `:latest` only on `main`. Needs repo secrets `PACKAGE_USER` / -`PACKAGE_TOKEN`. - -## Hard contracts with the consuming fleet (do not break these) - -These are the integration invariants the parent serving stack + the kiosk -display depend on. Changing one means a coordinated change in the parent repo. - -1. **Base path is `/kiosk/`.** `vite.config.js` sets `base: '/kiosk/'` because the - main serving nginx reverse-proxies `/kiosk/` to this container and strips the - prefix. Emitted asset URLs must be absolute under `/kiosk/`. If this ever - changes, the parent's `http/default.conf` proxy + the `kiosk_url` Packer - default must change with it. -2. **Hash-based routing only** (`src/lib/router.svelte.js`, `#/power`, `#/nav`…). - Deep links stay client-side so the proxy needs **no SPA-fallback rewrite**. - Don't switch to history/path routing without adding that rewrite upstream. -3. **Fully self-contained — no CDNs, no web fonts, no external calls.** The boot - LAN is air-gapped and the stack's dnsmasq **sinkholes** call-home (and the - in-image Chromium policy blocks it). Bundle every asset; inline fonts. A - request that escapes to the internet will silently fail on a real host. -4. **Static / read-only by nature.** The display is a fixed kiosk (no keyboard - nav, locked-down Chromium). Telemetry is dummy/simulated (`src/lib/data.js`, - `live.svelte.js`, `clock.svelte.js`) — there is no backend. If a real data - feed is ever added it must be reachable on the boot LAN and fail gracefully - offline. -5. **Reproducible bundle.** Keep `package-lock.json` committed; the Dockerfile - uses `npm ci`. Don't introduce build-time network fetches beyond npm deps. - -## Layout - -``` -Dockerfile 2-stage: Vite build (node:alpine) -> nginx:alpine static serve -nginx.conf serves the built assets at the container root (proxied as /kiosk/) -vite.config.js base '/kiosk/', self-contained bundle settings -src/App.svelte shell: navbar + routed page -src/lib/ Navbar, Panel, Radar, Stat, Bar, Tag, StatusBar + router/clock/data helpers -src/pages/ Dashboard, Power, Navigation, LifeSupport, Comms -.gitea/workflows/ CI: build + push the fleet-kiosk image -``` - -## Conventions - -- Svelte 5 runes; Tailwind v4 via `@tailwindcss/vite`. -- Keep components small and self-contained; shared sim helpers in `src/lib/`. -- Target `es2022` (modern Chromium kiosk — no legacy transpile needed). -- Versioning: bump `package.json` `version` per release; the image tag tracks it - on `main` (plus branch-name+sha tags for dev branches). diff --git a/serving/kiosk-app/Dockerfile b/serving/kiosk-app/Dockerfile deleted file mode 100644 index 6ab2f0f..0000000 --- a/serving/kiosk-app/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -# syntax=docker/dockerfile:1 -# -# Two-stage build: compile the Svelte SPA with Vite, then serve the static -# bundle from a tiny nginx. The main serving-stack nginx reverse-proxies -# /kiosk/ to this container (see ../docker-compose.yml + ../http/default.conf), -# so this image only needs to serve the built assets at its own root. - -# ---- build stage ---- -FROM harbor.bitasylum.org/dockerhub/library/node:22-alpine AS build -WORKDIR /app - -# Install deps first for layer caching. package-lock.json is committed, so use -# `npm ci` for a reproducible, lockfile-exact install. -COPY package.json package-lock.json ./ -RUN npm ci - -COPY . . -RUN npm run build # -> /app/dist (base path /kiosk/) - -# ---- serve stage ---- -FROM harbor.bitasylum.org/dockerhub/library/nginx:stable-alpine -COPY nginx.conf /etc/nginx/conf.d/default.conf -COPY --from=build /app/dist /usr/share/nginx/html - -EXPOSE 80 -HEALTHCHECK --interval=30s --timeout=3s --start-period=5s \ - CMD wget -qO- http://127.0.0.1/ >/dev/null 2>&1 || exit 1 diff --git a/serving/kiosk-app/README.md b/serving/kiosk-app/README.md deleted file mode 100644 index b110cd9..0000000 --- a/serving/kiosk-app/README.md +++ /dev/null @@ -1,63 +0,0 @@ -# Fleet Kiosk App - -A cyber sci-fi **spaceship monitoring & control terminal** — the page the -diskless kiosk (weston + Chromium) loads at boot. Replaces the old single static -`serving/http/kiosk/index.html` test page. - -Built with **Svelte 5** + **Tailwind CSS v4** + **Vite**, served as a static -bundle from its own nginx, and reverse-proxied at `/kiosk/` by the main serving -nginx (`../http/default.conf`). Fully self-contained — no CDNs or web fonts — so -it renders on the air-gapped boot LAN (the stack's dnsmasq sinkholes external -call-home). - -## Pages - -Top navbar with five views, each with dummy telemetry: - -- **BRIDGE** — overview tiles, systems status, subsystem load, event log -- **REACTOR** — core output/temp/containment, power distribution, fuel cells -- **NAVIGATION** — heading/velocity, tactical radar plot, flight plan, FTL drive -- **LIFE SUPPORT** — atmosphere mix, per-deck environment, recyclers -- **COMMS** — channels, signal bars, message traffic - -Routing is hash-based (`#/power`, `#/nav`, …) so deep links stay client-side and -the proxy needs no SPA-fallback rewrite. A shared 1 Hz clock and small -random-walk "jitter" helpers make the static data feel live. - -## Develop - -```bash -npm install -npm run dev # http://localhost:5173/kiosk/ -``` - -## Build the container - -This is an **independent project** with its own CI. The build is standalone: - -```bash -docker build -t fleet-kiosk:dev . -docker run --rm -p 8088:80 fleet-kiosk:dev # http://localhost:8088/ -``` - -CI ([.gitea/workflows/ci.yaml](.gitea/workflows/ci.yaml)) builds + pushes -`git.bitasylum.org/audiobuzz/fleet-kiosk` (branch-aware tags; `:latest` on -`main`). The fleet **serving stack consumes the published image** — it sets -`KIOSK_IMAGE`/`KIOSK_VERSION` in its `.env` and the `kiosk` compose service pulls -it (publishing on `127.0.0.1:${KIOSK_APP_PORT:-8088}`, proxied at `/kiosk/`). For -local serving-stack dev you can instead uncomment `build: ./kiosk-app` on that -service. To point the diskless kiosk here, keep the Packer -`kiosk_url=http://boot.fleet.lab/kiosk/` default (resolved by the stack's dnsmasq). - -## Relationship to the fleet repo - -Consumed by `diskless-workstation` as a **git submodule** at `serving/kiosk-app/`. -This repo owns the app + its image; the OS-side kiosk runtime (weston, Chromium -lockdown, `kiosk-session`, the systemd unit) lives in that parent repo under -`files/kiosk/`. See [CLAUDE.md](CLAUDE.md) for the integration contracts. - -## Replacing the dummy data - -All fictional telemetry lives in [src/lib/data.js](src/lib/data.js). A future -runtime agent could swap these constants for a `fetch()` to a fleet API; the -components only read from that module. diff --git a/serving/kiosk-app/index.html b/serving/kiosk-app/index.html deleted file mode 100644 index 7708fed..0000000 --- a/serving/kiosk-app/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - FLEET // BRIDGE TERMINAL - - -

- - - diff --git a/serving/kiosk-app/nginx.conf b/serving/kiosk-app/nginx.conf deleted file mode 100644 index 6eff1a2..0000000 --- a/serving/kiosk-app/nginx.conf +++ /dev/null @@ -1,25 +0,0 @@ -# Internal nginx for the kiosk SPA container. The main serving nginx proxies -# /kiosk/ here with the prefix stripped (proxy_pass .../;), so requests arrive -# at this server rooted at "/". try_files gives the SPA fallback; routing is -# hash-based anyway, so this fallback only matters for a hard refresh on "/". -server { - listen 80 default_server; - server_name _; - root /usr/share/nginx/html; - index index.html; - - # Don't cache the entry document (so a new build is picked up immediately); - # the hashed assets under /assets/ are immutable and cached hard. - location = /index.html { - add_header Cache-Control "no-cache"; - } - - location /assets/ { - add_header Cache-Control "public, max-age=31536000, immutable"; - try_files $uri =404; - } - - location / { - try_files $uri $uri/ /index.html; - } -} diff --git a/serving/kiosk-app/package-lock.json b/serving/kiosk-app/package-lock.json deleted file mode 100644 index bae8de3..0000000 --- a/serving/kiosk-app/package-lock.json +++ /dev/null @@ -1,2075 +0,0 @@ -{ - "name": "fleet-kiosk-app", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "fleet-kiosk-app", - "version": "0.1.0", - "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^5.0.3", - "@tailwindcss/vite": "^4.0.0", - "svelte": "^5.19.0", - "tailwindcss": "^4.0.0", - "vite": "^6.0.7" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.0.tgz", - "integrity": "sha512-IPIQ55ythEHkfEd9jMEi32OQ7SxURsGA43JI22lj01OLZNt2NUbJX8YUHxkVWyQ6daHPNn0truF5nSj3DQp6YQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.0.tgz", - "integrity": "sha512-M6s9cr10MibETyo8JsOkq+Lo1+lU6hcvb1MApnUql5qte/5hMEgzlN8/ReIKNfRV8rrqX50W1BX9zoUhC192RA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.0.tgz", - "integrity": "sha512-BqCoMoIbn0keKys+dEAdBa70EtOwV1bEsQCUgU9FdiZmmMge/Zk7LlkYGqbrdHR+Frnt0E1FOanly+rlwvvQzw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.0.tgz", - "integrity": "sha512-SIMzST3VFNXDAbeIWDWiFCNM5qncUBDWaEV7NfE7oZbDt2mgfW4MvbKdbYiGOLoM32gbTv608UMd0XktEYSD7w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.0.tgz", - "integrity": "sha512-ezjfSQMP7ArdUsbBwbQIfwAlhE84I2iVnzQNCFSveqV42q+BmKlzVpf7mxv5EchLcoWU4y6/heFzVg1F+hodUQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.0.tgz", - "integrity": "sha512-9+qTWGW9AZRhnUgwtTwzNwcPlL87ngkeN0LA+q1bADvmY9aNvWaF2TFW8BZgnQPYxpDI7+rMVLivcd4V737TAQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.0.tgz", - "integrity": "sha512-T1dMEQhXA/jkJ/jyMIw9IovK8bSUq7A8kLIlvZTb/6YIVsp2zLavr4F3oyllHWo7eIVJRyE5n3tUjQJEbE1IuQ==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.0.tgz", - "integrity": "sha512-2as0LgT7qQpyceQq6VUJYnumUMUrgGQCWIiDIN9DE0/tglsk6o66uCB4f3djRawAltvfCNLyZZrsqbPA6inCsA==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.0.tgz", - "integrity": "sha512-bVURMg+6eNN9C/yc0aVjooZcwTTtYF4YW3xta5pP0//r3o1V8gXEHXWCndj47w/HhwsFroZrFhR+6uQP5T0n0g==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.0.tgz", - "integrity": "sha512-Ful8pM/2yYI83PViWdFdpZhdI8HJ5qsXANe5atypbHDf+KIBBDsZsbyy8hbXnULVvW9NsTh5DHwbcBftyLTfiw==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.0.tgz", - "integrity": "sha512-9Gp/DgrkzfUBmNPVTyPTvay+4xEP7M/clXpj3efXBcm6uTIVIgDg4rqUpqKXvLEuFRVuEpSAOkhgNeecvaZ4Cg==", - "cpu": [ - "loong64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.0.tgz", - "integrity": "sha512-m9tsJz54LUXkSYM8+8PG81B9IKK5r+2T0clMq4QrS16xFosufU7firBDAZEsDheDs7wTlP7h3++S7lMsU955HA==", - "cpu": [ - "loong64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.0.tgz", - "integrity": "sha512-3UvJ5PNVU16aJf6M3tFI24pWzAl2/ynfbyRN3ICyQajK1lSkrnVYNnLz3v04J32qKa0FczJc22zeToc0lr2A3w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.0.tgz", - "integrity": "sha512-vRWUAbYLGHBZS6Q8Msb2sfnf1fvJf+47t8l/TwOerM2qArzy+IeNMTHrYLHXh95h8MoatPHI5hhSZNs+mGXKPg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.0.tgz", - "integrity": "sha512-c00T5SYENHAt86cfW47URaP3Us5vLC/4QO7GYud1G5VNRffCwwCuBspwqYrriuJB+5m0WFzClCn9wed0FBjKvg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.0.tgz", - "integrity": "sha512-krrCDilhXOwFkSkO3Wm9I/f9H0L92XHHwy2fwxjukxIbh0dem8gZqOW5Y8BsHrpJv5qwlRBV+Wl4ZFyRWhUpwg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.0.tgz", - "integrity": "sha512-7pfYFSTc4/rUC/FtAI0Qp6QthDBCIi6/AuP1xYqFk5vanI6KnL5dWKP60OM/05LOsbwTmIcvr6eXC4CJuJ75IA==", - "cpu": [ - "s390x" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.0.tgz", - "integrity": "sha512-7SDIalKeIpG0Ifogbbdn58HmSotYMlf23K3dCJEmiVd9Fg36Vmni82iPQec27N3wY4Bvbxftkxz6vSx9OcouTg==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.0.tgz", - "integrity": "sha512-eRZevouTH2i1HeAVLqJuLnt256krQkGY0TN6WsTmsIhuzbh457HuWDMakKwmi0Cjadux983CoSr8Lim2QhUIFw==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.0.tgz", - "integrity": "sha512-3oVS7FLGa4U1qcvao9ylGxrjXZyUQqR8UwxEcnUEyPX53O/C/mKDZegNXTdHCP+h3e6ta/f1EN38Yif1mmZHYg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.0.tgz", - "integrity": "sha512-yTB9TgfWj5wHe5QgktAgXTLLot1gvEjl1NiPPAUiCs4oPrIWFl5V4nC3GrkNdj9LaAU4s94nVrGbGOCqUpyWsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.0.tgz", - "integrity": "sha512-5LOhoaesY3doG1c+ac/2JtgREpKoJr5bUHH8tKY0V8di7+uSV6BwLs2PlR0/yzefGOkR+wE7ZolZphHCsyG5Rw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.0.tgz", - "integrity": "sha512-yYkWHhmbhRTWTnWos5HC4GcPQfjlzzCNbM9e/+GXrLuaBXYA3qSDR9f0Vgufd5S8yX81U8jPKp7ZnAjZFMtRnw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.0.tgz", - "integrity": "sha512-SoTb6lPg25xZlA2ibwQ++ahCCnH+FP0qmEuafMJ4gznZKOlXioKEAeJLgCrqjM98ACziXM9V1amFjICVL4IFoA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.0.tgz", - "integrity": "sha512-5L+T1fMX4RIEBoZzT0+sQ0PhTS36NULFmMXtl1TZo44TMAROIMHbZufSOjVWt/Y622BtxgxtaNOokbTDvfsrZA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@sveltejs/acorn-typescript": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.10.tgz", - "integrity": "sha512-4WfKk68eTih+MiJD4fSbxN7E8kVBmTMPWHUPYjvl2N0rMs53YLTT8/YjKU5Dtnz5LqDjl7LEw4U7lXR2W3J5WA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^8.9.0" - } - }, - "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.1.tgz", - "integrity": "sha512-Y1Cs7hhTc+a5E9Va/xwKlAJoariQyHY+5zBgCZg4PFWNYQ1nMN9sjK1zhw1gK69DuqVP++sht/1GZg1aRwmAXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", - "debug": "^4.4.1", - "deepmerge": "^4.3.1", - "kleur": "^4.1.5", - "magic-string": "^0.30.17", - "vitefu": "^1.0.6" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22" - }, - "peerDependencies": { - "svelte": "^5.0.0", - "vite": "^6.0.0" - } - }, - "node_modules/@sveltejs/vite-plugin-svelte-inspector": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz", - "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.7" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22" - }, - "peerDependencies": { - "@sveltejs/vite-plugin-svelte": "^5.0.0", - "svelte": "^5.0.0", - "vite": "^6.0.0" - } - }, - "node_modules/@tailwindcss/node": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.1.tgz", - "integrity": "sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "enhanced-resolve": "5.21.6", - "jiti": "^2.7.0", - "lightningcss": "1.32.0", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.3.1" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.1.tgz", - "integrity": "sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 20" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.3.1", - "@tailwindcss/oxide-darwin-arm64": "4.3.1", - "@tailwindcss/oxide-darwin-x64": "4.3.1", - "@tailwindcss/oxide-freebsd-x64": "4.3.1", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.1", - "@tailwindcss/oxide-linux-arm64-gnu": "4.3.1", - "@tailwindcss/oxide-linux-arm64-musl": "4.3.1", - "@tailwindcss/oxide-linux-x64-gnu": "4.3.1", - "@tailwindcss/oxide-linux-x64-musl": "4.3.1", - "@tailwindcss/oxide-wasm32-wasi": "4.3.1", - "@tailwindcss/oxide-win32-arm64-msvc": "4.3.1", - "@tailwindcss/oxide-win32-x64-msvc": "4.3.1" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.1.tgz", - "integrity": "sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.1.tgz", - "integrity": "sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.1.tgz", - "integrity": "sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.1.tgz", - "integrity": "sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.1.tgz", - "integrity": "sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.1.tgz", - "integrity": "sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.1.tgz", - "integrity": "sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.1.tgz", - "integrity": "sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.1.tgz", - "integrity": "sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.1.tgz", - "integrity": "sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.10.0", - "@emnapi/runtime": "^1.10.0", - "@emnapi/wasi-threads": "^1.2.1", - "@napi-rs/wasm-runtime": "^1.1.4", - "@tybys/wasm-util": "^0.10.2", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.1.tgz", - "integrity": "sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.1.tgz", - "integrity": "sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.1.tgz", - "integrity": "sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tailwindcss/node": "4.3.1", - "@tailwindcss/oxide": "4.3.1", - "tailwindcss": "4.3.1" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6 || ^7 || ^8" - } - }, - "node_modules/@types/estree": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "dev": true, - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", - "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/aria-query": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.1.tgz", - "integrity": "sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/devalue": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.8.1.tgz", - "integrity": "sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==", - "dev": true, - "license": "MIT" - }, - "node_modules/enhanced-resolve": { - "version": "5.21.6", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz", - "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.3.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "node_modules/esm-env": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", - "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/esrap": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.2.11.tgz", - "integrity": "sha512-gPdx+I+BjYEinNMQaBXFjbaJVyoPMU4ZODg5mE+M4DqVG9VusAVHHjcBX+zqyITlI0DIARwDMMzZwAWj36dRoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "peerDependencies": { - "@typescript-eslint/types": "^8.2.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/types": { - "optional": true - } - } - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/is-reference": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", - "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.6" - } - }, - "node_modules/jiti": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", - "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lightningcss": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", - "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.32.0", - "lightningcss-darwin-arm64": "1.32.0", - "lightningcss-darwin-x64": "1.32.0", - "lightningcss-freebsd-x64": "1.32.0", - "lightningcss-linux-arm-gnueabihf": "1.32.0", - "lightningcss-linux-arm64-gnu": "1.32.0", - "lightningcss-linux-arm64-musl": "1.32.0", - "lightningcss-linux-x64-gnu": "1.32.0", - "lightningcss-linux-x64-musl": "1.32.0", - "lightningcss-win32-arm64-msvc": "1.32.0", - "lightningcss-win32-x64-msvc": "1.32.0" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", - "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", - "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", - "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", - "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", - "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", - "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", - "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", - "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/locate-character": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", - "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", - "dev": true, - "license": "MIT" - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", - "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.15", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", - "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.12", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/rollup": { - "version": "4.62.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.0.tgz", - "integrity": "sha512-nc72Wgq62I7rtDV4izT5/aaS0zxy3kttkinf9586ApknY3jZO9NYsmtc24fUckA0X7Q2v+ML4a15pdUlV5V/jA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.9" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.62.0", - "@rollup/rollup-android-arm64": "4.62.0", - "@rollup/rollup-darwin-arm64": "4.62.0", - "@rollup/rollup-darwin-x64": "4.62.0", - "@rollup/rollup-freebsd-arm64": "4.62.0", - "@rollup/rollup-freebsd-x64": "4.62.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.62.0", - "@rollup/rollup-linux-arm-musleabihf": "4.62.0", - "@rollup/rollup-linux-arm64-gnu": "4.62.0", - "@rollup/rollup-linux-arm64-musl": "4.62.0", - "@rollup/rollup-linux-loong64-gnu": "4.62.0", - "@rollup/rollup-linux-loong64-musl": "4.62.0", - "@rollup/rollup-linux-ppc64-gnu": "4.62.0", - "@rollup/rollup-linux-ppc64-musl": "4.62.0", - "@rollup/rollup-linux-riscv64-gnu": "4.62.0", - "@rollup/rollup-linux-riscv64-musl": "4.62.0", - "@rollup/rollup-linux-s390x-gnu": "4.62.0", - "@rollup/rollup-linux-x64-gnu": "4.62.0", - "@rollup/rollup-linux-x64-musl": "4.62.0", - "@rollup/rollup-openbsd-x64": "4.62.0", - "@rollup/rollup-openharmony-arm64": "4.62.0", - "@rollup/rollup-win32-arm64-msvc": "4.62.0", - "@rollup/rollup-win32-ia32-msvc": "4.62.0", - "@rollup/rollup-win32-x64-gnu": "4.62.0", - "@rollup/rollup-win32-x64-msvc": "4.62.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/svelte": { - "version": "5.56.3", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.56.3.tgz", - "integrity": "sha512-w7JvrM5IFl5cmfbY0TLik9o7mjRUJmRMhOR51tBPu708Gr/MjbGs7VnJnr/B0CaXeI4vtnOh7RKxDr0cwhMdDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.4", - "@jridgewell/sourcemap-codec": "^1.5.0", - "@sveltejs/acorn-typescript": "^1.0.10", - "@types/estree": "^1.0.5", - "@types/trusted-types": "^2.0.7", - "acorn": "^8.12.1", - "aria-query": "5.3.1", - "axobject-query": "^4.1.0", - "clsx": "^2.1.1", - "devalue": "^5.8.1", - "esm-env": "^1.2.1", - "esrap": "^2.2.11", - "is-reference": "^3.0.3", - "locate-character": "^3.0.0", - "magic-string": "^0.30.11", - "zimmerframe": "^1.1.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/tailwindcss": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.1.tgz", - "integrity": "sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", - "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", - "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/vite": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", - "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vitefu": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", - "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", - "dev": true, - "license": "MIT", - "workspaces": [ - "tests/deps/*", - "tests/projects/*", - "tests/projects/workspace/packages/*" - ], - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/zimmerframe": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz", - "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==", - "dev": true, - "license": "MIT" - } - } -} diff --git a/serving/kiosk-app/package.json b/serving/kiosk-app/package.json deleted file mode 100644 index dc12fbe..0000000 --- a/serving/kiosk-app/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "fleet-kiosk-app", - "private": true, - "version": "0.1.0", - "type": "module", - "description": "Cyber sci-fi spaceship monitoring/control terminal (Svelte + Tailwind) shown by the diskless kiosk.", - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview --host" - }, - "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^5.0.3", - "@tailwindcss/vite": "^4.0.0", - "svelte": "^5.19.0", - "tailwindcss": "^4.0.0", - "vite": "^6.0.7" - } -} diff --git a/serving/kiosk-app/src/App.svelte b/serving/kiosk-app/src/App.svelte deleted file mode 100644 index 2bd3067..0000000 --- a/serving/kiosk-app/src/App.svelte +++ /dev/null @@ -1,44 +0,0 @@ - - -
- - - -
- -
- -
- ● LIVE - {hhmmss(clock.now)} -
- {ticker}{ticker} -
-
-
diff --git a/serving/kiosk-app/src/app.css b/serving/kiosk-app/src/app.css deleted file mode 100644 index 8b48924..0000000 --- a/serving/kiosk-app/src/app.css +++ /dev/null @@ -1,95 +0,0 @@ -@import "tailwindcss"; - -/* Cyber sci-fi palette. Defining these as @theme tokens makes them available - as Tailwind utilities (bg-hull, text-term, border-haze, ...). Font is the - stock DejaVu Sans Mono shipped in the kiosk image — no web fonts (offline). */ -@theme { - --color-void: #040a0d; - --color-hull: #081419; - --color-hull2: #0c1f27; - --color-term: #00ffd0; - --color-haze: #4a8c84; - --color-flare: #ff2e88; - --color-warn: #ffb000; - --color-ok: #2dff8a; - --color-alert: #ff3b3b; - - --font-mono: "DejaVu Sans Mono", ui-monospace, "SFMono-Regular", "Courier New", monospace; -} - -:root { color-scheme: dark; } - -html, body, #app { height: 100%; margin: 0; padding: 0; } - -body { - background-color: var(--color-void); - color: var(--color-term); - font-family: var(--font-mono); - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; -} - -/* Faint engineering-grid backdrop + center glow + vignette. */ -#app::before { - content: ""; - position: fixed; - inset: 0; - z-index: 0; - pointer-events: none; - background-image: - linear-gradient(rgba(0, 255, 208, 0.035) 1px, transparent 1px), - linear-gradient(90deg, rgba(0, 255, 208, 0.035) 1px, transparent 1px), - radial-gradient(circle at 50% 22%, rgba(0, 90, 100, 0.35), transparent 65%); - background-size: 42px 42px, 42px 42px, 100% 100%; -} - -/* CRT scanline overlay sitting above content. */ -#app::after { - content: ""; - position: fixed; - inset: 0; - z-index: 60; - pointer-events: none; - background: repeating-linear-gradient( - to bottom, - rgba(0, 0, 0, 0) 0px, - rgba(0, 0, 0, 0) 2px, - rgba(0, 0, 0, 0.16) 3px - ); - mix-blend-mode: multiply; -} - -.glow { text-shadow: 0 0 10px currentColor; } -.glow-sm { text-shadow: 0 0 6px currentColor; } - -/* Cut-corner panel edge — the recurring "console module" silhouette. */ -.cut { - clip-path: polygon( - 0 0, - calc(100% - 14px) 0, - 100% 14px, - 100% 100%, - 14px 100%, - 0 calc(100% - 14px) - ); -} - -@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.2; } } -.blink { animation: blink 1.4s steps(2, jump-none) infinite; } - -@keyframes ticker { from { transform: translateX(100%); } to { transform: translateX(-100%); } } -.ticker { display: inline-block; white-space: nowrap; animation: ticker 32s linear infinite; } - -/* Radar sweep wedge. */ -@keyframes radar { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } -.radar-sweep { - background: conic-gradient(from 0deg, rgba(0, 255, 208, 0.28), rgba(0, 255, 208, 0) 70deg); - border-radius: 9999px; - animation: radar 4s linear infinite; -} - -/* Thin neon scrollbars to match the theme. */ -* { scrollbar-width: thin; scrollbar-color: rgba(0, 255, 208, 0.3) transparent; } -*::-webkit-scrollbar { width: 8px; height: 8px; } -*::-webkit-scrollbar-thumb { background: rgba(0, 255, 208, 0.3); } -*::-webkit-scrollbar-track { background: transparent; } diff --git a/serving/kiosk-app/src/lib/Bar.svelte b/serving/kiosk-app/src/lib/Bar.svelte deleted file mode 100644 index d228458..0000000 --- a/serving/kiosk-app/src/lib/Bar.svelte +++ /dev/null @@ -1,15 +0,0 @@ - - -
-
- {label} - {value ?? clamped}{unit} -
-
-
-
-
diff --git a/serving/kiosk-app/src/lib/Navbar.svelte b/serving/kiosk-app/src/lib/Navbar.svelte deleted file mode 100644 index ce99454..0000000 --- a/serving/kiosk-app/src/lib/Navbar.svelte +++ /dev/null @@ -1,31 +0,0 @@ - - -
diff --git a/serving/kiosk-app/src/lib/Panel.svelte b/serving/kiosk-app/src/lib/Panel.svelte deleted file mode 100644 index 9534541..0000000 --- a/serving/kiosk-app/src/lib/Panel.svelte +++ /dev/null @@ -1,17 +0,0 @@ - - -
-
-
- ▌ -

{title}

-
-
- {@render children?.()} -
-
diff --git a/serving/kiosk-app/src/lib/Radar.svelte b/serving/kiosk-app/src/lib/Radar.svelte deleted file mode 100644 index c0fb2ba..0000000 --- a/serving/kiosk-app/src/lib/Radar.svelte +++ /dev/null @@ -1,25 +0,0 @@ - - -
-
-
-
-
-
- -
- - -
- - {#each blips as b} - - {/each} -
diff --git a/serving/kiosk-app/src/lib/Stat.svelte b/serving/kiosk-app/src/lib/Stat.svelte deleted file mode 100644 index e4c3e73..0000000 --- a/serving/kiosk-app/src/lib/Stat.svelte +++ /dev/null @@ -1,11 +0,0 @@ - - -
- {label} - - {value}{#if unit}{unit}{/if} - - {#if sub}{sub}{/if} -
diff --git a/serving/kiosk-app/src/lib/StatusBar.svelte b/serving/kiosk-app/src/lib/StatusBar.svelte deleted file mode 100644 index 9e32bb5..0000000 --- a/serving/kiosk-app/src/lib/StatusBar.svelte +++ /dev/null @@ -1,19 +0,0 @@ - - -
-
- CLASS {ship.class} - CMD {ship.captain} -
-
- - - CONDITION GREEN - - STARDATE {stardate(clock.now)} - MISSION TIME {hhmmss(clock.now)} -
-
diff --git a/serving/kiosk-app/src/lib/Tag.svelte b/serving/kiosk-app/src/lib/Tag.svelte deleted file mode 100644 index 6079e69..0000000 --- a/serving/kiosk-app/src/lib/Tag.svelte +++ /dev/null @@ -1,16 +0,0 @@ - - - - {@render children?.()} - diff --git a/serving/kiosk-app/src/lib/clock.svelte.js b/serving/kiosk-app/src/lib/clock.svelte.js deleted file mode 100644 index d004af3..0000000 --- a/serving/kiosk-app/src/lib/clock.svelte.js +++ /dev/null @@ -1,24 +0,0 @@ -// Shared 1 Hz clock. Module-level $state + a single interval, so every consumer -// (status bar, footer) shares one timer. Read `clock.now` reactively. - -let _now = $state(new Date()) - -if (typeof window !== 'undefined') { - setInterval(() => { _now = new Date() }, 1000) -} - -export const clock = { - get now() { return _now }, -} - -// Playful "stardate" derived from the wall clock, purely cosmetic. -export function stardate(d) { - const epoch = Date.UTC(2350, 0, 1) - const days = (d.getTime() - epoch) / 86_400_000 - return (47000 + days / 3.65).toFixed(1) -} - -export function hhmmss(d) { - const p = (n) => String(n).padStart(2, '0') - return `${p(d.getHours())}:${p(d.getMinutes())}:${p(d.getSeconds())}` -} diff --git a/serving/kiosk-app/src/lib/data.js b/serving/kiosk-app/src/lib/data.js deleted file mode 100644 index 1a29e2a..0000000 --- a/serving/kiosk-app/src/lib/data.js +++ /dev/null @@ -1,137 +0,0 @@ -// Dummy data for the spaceship terminal. All static/fictional — no real -// telemetry source yet. A future runtime agent could replace these with a -// fetch() to a fleet API; the components only read from here. - -export const navItems = [ - { id: 'dashboard', label: 'BRIDGE', glyph: '◈' }, - { id: 'power', label: 'REACTOR', glyph: '⬡' }, - { id: 'nav', label: 'NAVIGATION', glyph: '✧' }, - { id: 'life', label: 'LIFE SUPPORT', glyph: '❂' }, - { id: 'comms', label: 'COMMS', glyph: '☰' }, -] - -export const ship = { - name: 'ISV AURELIAN', - registry: 'FN-774-Δ', - class: 'Lancer-class Deep Survey Cruiser', - captain: 'Cmdr. V. Okonkwo', -} - -// --- BRIDGE / dashboard ------------------------------------------------------ -export const systemStatus = [ - { name: 'Reactor Core', state: 'NOMINAL', tone: 'ok' }, - { name: 'Shield Matrix', state: 'NOMINAL', tone: 'ok' }, - { name: 'FTL Drive', state: 'CHARGING', tone: 'warn' }, - { name: 'Life Support', state: 'NOMINAL', tone: 'ok' }, - { name: 'Hull Integrity', state: '98.4%', tone: 'ok' }, - { name: 'Weapons', state: 'STANDBY', tone: 'term' }, - { name: 'Sensor Array', state: 'NOMINAL', tone: 'ok' }, - { name: 'Comms Relay', state: 'DEGRADED', tone: 'alert' }, -] - -export const subsystemLoad = [ - { label: 'Propulsion', pct: 72, tone: 'bg-term' }, - { label: 'Shields', pct: 64, tone: 'bg-term' }, - { label: 'Life Support', pct: 38, tone: 'bg-ok' }, - { label: 'Sensors', pct: 51, tone: 'bg-term' }, - { label: 'FTL Charge', pct: 61, tone: 'bg-warn' }, - { label: 'Weapons', pct: 9, tone: 'bg-haze' }, -] - -export const logEntries = [ - { t: '07:42:11', tone: 'warn', msg: 'Jump capacitor at 61% — full charge ETA 00:18:24' }, - { t: '07:39:02', tone: 'alert', msg: 'Comms relay 2 packet loss 14% — rerouting via relay 1' }, - { t: '07:31:55', tone: 'term', msg: 'Sensor sweep complete — 3 contacts logged in grid 7-K' }, - { t: '07:28:40', tone: 'ok', msg: 'Hull micro-fracture sealed on deck 4, section C' }, - { t: '07:14:09', tone: 'ok', msg: 'Reactor output stabilised at 84.2% rated' }, - { t: '06:58:21', tone: 'term', msg: 'Course correction +0.4° applied to heading 287' }, -] - -// --- REACTOR / power --------------------------------------------------------- -export const reactor = { - output: 84.2, // % rated - coreTemp: 4120, // K - containment: 99.1, // % field strength - rpm: 11840, // turbine -} - -export const powerDistribution = [ - { label: 'Propulsion Bus', pct: 72, tone: 'bg-term' }, - { label: 'Shield Emitters', pct: 64, tone: 'bg-term' }, - { label: 'FTL Capacitor', pct: 61, tone: 'bg-warn' }, - { label: 'Sensors / EW', pct: 51, tone: 'bg-term' }, - { label: 'Life Support', pct: 38, tone: 'bg-ok' }, - { label: 'Habitation', pct: 27, tone: 'bg-ok' }, - { label: 'Weapons Standby', pct: 9, tone: 'bg-haze' }, -] - -export const fuelCells = [ - { id: 'CELL-A', charge: 96, tone: 'bg-ok' }, - { id: 'CELL-B', charge: 91, tone: 'bg-ok' }, - { id: 'CELL-C', charge: 78, tone: 'bg-term' }, - { id: 'CELL-D', charge: 44, tone: 'bg-warn' }, -] - -// --- NAVIGATION -------------------------------------------------------------- -export const navState = { - heading: 287.4, // degrees - velocity: 0.21, // c - system: 'Cygnus Reach', - sector: 'Grid 7-K', - destination: 'Tarsis Station', - eta: '04:12:38', - ftlCharge: 61, - coords: { x: '+1184.22', y: '-0473.90', z: '+0061.07' }, -} - -export const waypoints = [ - { name: 'Tarsis Station', dist: '2.4 AU', status: 'LOCKED', tone: 'ok' }, - { name: 'Helex Belt', dist: '0.8 AU', status: 'PASSING', tone: 'warn' }, - { name: 'Relay Buoy 19', dist: '11.6 AU', status: 'QUEUED', tone: 'term' }, - { name: 'Cygnus Gate', dist: '34.0 AU', status: 'QUEUED', tone: 'term' }, -] - -// blips positioned in % within the radar circle (50/50 = center = own ship) -export const contacts = [ - { x: 64, y: 38, tone: 'bg-term', label: 'Freighter "Coriol"' }, - { x: 41, y: 27, tone: 'bg-warn', label: 'Unknown — passive' }, - { x: 72, y: 66, tone: 'bg-ok', label: 'Tarsis Station' }, - { x: 30, y: 58, tone: 'bg-flare', label: 'Debris field' }, -] - -// --- LIFE SUPPORT ------------------------------------------------------------ -export const atmosphere = [ - { label: 'Oxygen', value: 20.9, unit: '%', pct: 87, tone: 'bg-ok' }, - { label: 'CO₂', value: 0.04, unit: '%', pct: 12, tone: 'bg-ok' }, - { label: 'Cabin Press.', value: 101.1, unit: 'kPa', pct: 92, tone: 'bg-ok' }, - { label: 'Temperature', value: 21.4, unit: '°C', pct: 71, tone: 'bg-term' }, - { label: 'Humidity', value: 44, unit: '%', pct: 44, tone: 'bg-term' }, - { label: 'Water Reserve', value: 68, unit: '%', pct: 68, tone: 'bg-term' }, -] - -export const decks = [ - { deck: 'Deck 1 — Bridge', o2: 'OK', temp: '21.0°C', tone: 'ok' }, - { deck: 'Deck 2 — Habitation', o2: 'OK', temp: '22.3°C', tone: 'ok' }, - { deck: 'Deck 3 — Med / Sci', o2: 'OK', temp: '20.6°C', tone: 'ok' }, - { deck: 'Deck 4 — Engineering', o2: 'LOW', temp: '26.8°C', tone: 'warn' }, - { deck: 'Deck 5 — Cargo', o2: 'SEALED', temp: '8.1°C', tone: 'term' }, -] - -export const crew = { total: 84, onDuty: 31, medical: 2, cryo: 12 } - -// --- COMMS ------------------------------------------------------------------- -export const channels = [ - { name: 'Fleet Command', band: 'Q-band', status: 'ENCRYPTED', tone: 'ok' }, - { name: 'Tarsis Control', band: 'S-band', status: 'OPEN', tone: 'term' }, - { name: 'Relay Buoy 19', band: 'X-band', status: 'WEAK', tone: 'warn' }, - { name: 'Distress Guard', band: '121.5', status: 'MONITOR', tone: 'term' }, - { name: 'Internal Net', band: 'Hardline', status: 'NOMINAL', tone: 'ok' }, -] - -export const messages = [ - { t: '07:41', from: 'FLEET CMD', tone: 'ok', text: 'Patrol pattern delta authorised. Maintain EMCON.' }, - { t: '07:33', from: 'TARSIS CTL', tone: 'term', text: 'Docking bay 4 reserved. Transmit manifest on approach.' }, - { t: '07:19', from: 'RELAY-19', tone: 'warn', text: 'Signal degradation detected. Recommend X-band switch.' }, - { t: '06:52', from: 'CORIOL', tone: 'term', text: 'Thanks for the escort, Aurelian. Safe travels.' }, - { t: '06:40', from: 'FLEET CMD', tone: 'flare', text: 'Priority weather: ion storm forming in grid 9-B.' }, -] diff --git a/serving/kiosk-app/src/lib/live.svelte.js b/serving/kiosk-app/src/lib/live.svelte.js deleted file mode 100644 index 5b39354..0000000 --- a/serving/kiosk-app/src/lib/live.svelte.js +++ /dev/null @@ -1,17 +0,0 @@ -// Reactive "telemetry" helper: returns an object whose .value drifts around a -// base value on an interval, so static dummy data feels like a live readout. -// Call inside a component's script (it registers an $effect for cleanup). - -export function useJitter(base, { amp = 1, decimals = 0, every = 2000 } = {}) { - let value = $state(base) - - $effect(() => { - const id = setInterval(() => { - const delta = (Math.random() - 0.5) * 2 * amp - value = Number((base + delta).toFixed(decimals)) - }, every) - return () => clearInterval(id) - }) - - return { get value() { return value } } -} diff --git a/serving/kiosk-app/src/lib/router.svelte.js b/serving/kiosk-app/src/lib/router.svelte.js deleted file mode 100644 index ca9dcef..0000000 --- a/serving/kiosk-app/src/lib/router.svelte.js +++ /dev/null @@ -1,20 +0,0 @@ -// Tiny hash-based router using a module-level rune. Hash routing keeps deep -// links client-side (they never reach nginx), so the reverse proxy needs no -// SPA-fallback rewrite. `nav.current` is reactive: read it in markup/$derived. - -function parse() { - if (typeof window === 'undefined') return 'dashboard' - const raw = window.location.hash.replace(/^#\/?/, '') - return raw.split(/[/?]/)[0] || 'dashboard' -} - -let _route = $state(parse()) - -if (typeof window !== 'undefined') { - window.addEventListener('hashchange', () => { _route = parse() }) - if (!window.location.hash) window.location.hash = '#/dashboard' -} - -export const nav = { - get current() { return _route }, -} diff --git a/serving/kiosk-app/src/main.js b/serving/kiosk-app/src/main.js deleted file mode 100644 index 32b6c67..0000000 --- a/serving/kiosk-app/src/main.js +++ /dev/null @@ -1,7 +0,0 @@ -import { mount } from 'svelte' -import './app.css' -import App from './App.svelte' - -const app = mount(App, { target: document.getElementById('app') }) - -export default app diff --git a/serving/kiosk-app/src/pages/Comms.svelte b/serving/kiosk-app/src/pages/Comms.svelte deleted file mode 100644 index d007a5a..0000000 --- a/serving/kiosk-app/src/pages/Comms.svelte +++ /dev/null @@ -1,62 +0,0 @@ - - -
-
- - - - -
- -
- - - - - - - - - - - {#each channels as c} - - - - - - {/each} - -
ChannelBandStatus
{c.name}{c.band}{c.status}
-
- - -
-
- - -
    - {#each messages as m} -
  • -
    - {m.from} - {m.t} -
    -

    {m.text}

    -
  • - {/each} -
-
-
-
diff --git a/serving/kiosk-app/src/pages/Dashboard.svelte b/serving/kiosk-app/src/pages/Dashboard.svelte deleted file mode 100644 index 9b9159d..0000000 --- a/serving/kiosk-app/src/pages/Dashboard.svelte +++ /dev/null @@ -1,61 +0,0 @@ - - -
-
- - - - -
- -
- -
    - {#each systemStatus as s} -
  • - {s.name} - {s.state} -
  • - {/each} -
-
- - -
- {#each subsystemLoad as b} - - {/each} -
-
- - -
    - {#each logEntries as e} -
  • - {e.t} - ▍ - {e.msg} -
  • - {/each} -
-
-
-
diff --git a/serving/kiosk-app/src/pages/LifeSupport.svelte b/serving/kiosk-app/src/pages/LifeSupport.svelte deleted file mode 100644 index b397e8f..0000000 --- a/serving/kiosk-app/src/pages/LifeSupport.svelte +++ /dev/null @@ -1,60 +0,0 @@ - - -
-
- - - - -
- -
- -
- {#each atmosphere as a} - - {/each} -
-
- - - - - - - - - - - - {#each decks as d} - - - - - - {/each} - -
DeckO₂Temp
{d.deck}{d.o2}{d.temp}
-
- - -
- - - - -
- Emergency O₂ - 72 hrs -
-
-
-
-
diff --git a/serving/kiosk-app/src/pages/Navigation.svelte b/serving/kiosk-app/src/pages/Navigation.svelte deleted file mode 100644 index 5322873..0000000 --- a/serving/kiosk-app/src/pages/Navigation.svelte +++ /dev/null @@ -1,80 +0,0 @@ - - -
-
- - - - -
- -
- - -
- {#each contacts as c} -
- - {c.label} -
- {/each} -
-
- - - - - - - - - - - - {#each waypoints as w} - - - - - - {/each} - -
WaypointRangeStatus
{w.name}{w.dist}{w.status}
-
- - -
- -
-
-
X
-
{navState.coords.x}
-
-
-
Y
-
{navState.coords.y}
-
-
-
Z
-
{navState.coords.z}
-
-
-
- Jump readiness - CHARGING -
-
-
-
-
diff --git a/serving/kiosk-app/src/pages/Power.svelte b/serving/kiosk-app/src/pages/Power.svelte deleted file mode 100644 index 9654b20..0000000 --- a/serving/kiosk-app/src/pages/Power.svelte +++ /dev/null @@ -1,62 +0,0 @@ - - -
-
- - - - -
- -
- -
- {#each powerDistribution as p} - - {/each} -
-
- - -
- {#each fuelCells as c} - - {/each} -
- Deuterium reserve - 77% / 14 days -
-
-
- - -
- {#each [ - { l: 'Auto-throttle', v: 'ENGAGED', t: 'ok' }, - { l: 'SCRAM arming', v: 'SAFE', t: 'term' }, - { l: 'Coolant loop A', v: 'FLOW 100%', t: 'ok' }, - { l: 'Coolant loop B', v: 'STANDBY', t: 'term' }, - { l: 'Plasma injectors', v: '6 / 6 ONLINE', t: 'ok' }, - { l: 'Overload damper', v: 'ARMED', t: 'warn' }, - ] as r} -
- {r.l} - {r.v} -
- {/each} -
-
-
-
diff --git a/serving/kiosk-app/svelte.config.js b/serving/kiosk-app/svelte.config.js deleted file mode 100644 index 8abe436..0000000 --- a/serving/kiosk-app/svelte.config.js +++ /dev/null @@ -1,5 +0,0 @@ -import { vitePreprocess } from '@sveltejs/vite-plugin-svelte' - -export default { - preprocess: vitePreprocess(), -} diff --git a/serving/kiosk-app/vite.config.js b/serving/kiosk-app/vite.config.js deleted file mode 100644 index c87d60b..0000000 --- a/serving/kiosk-app/vite.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { defineConfig } from 'vite' -import { svelte } from '@sveltejs/vite-plugin-svelte' -import tailwindcss from '@tailwindcss/vite' - -// The kiosk loads the app at http://boot.fleet.lab/kiosk/ (the main serving -// nginx reverse-proxies /kiosk/ -> this container). base must match that path -// so emitted asset URLs are absolute under /kiosk/. Hash-based routing is used -// (see src/lib/router.svelte.js) so deep links never hit the server — no SPA -// fallback rewrite is needed through the proxy. -export default defineConfig({ - base: '/kiosk/', - plugins: [svelte(), tailwindcss()], - build: { - target: 'es2022', - // Fully self-contained bundle (no CDN/fonts) so it renders on the - // air-gapped boot LAN — the dnsmasq sinkhole blocks external call-home. - assetsInlineLimit: 4096, - }, -}) From 1612af3a2306ea2cf9ce5e218f4138f85b5f0332 Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Fri, 26 Jun 2026 09:26:57 +0930 Subject: [PATCH 10/11] Add kiosk-app as a submodule --- .gitmodules | 3 +++ serving/kiosk-app | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 serving/kiosk-app diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..6a9e263 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "serving/kiosk-app"] + path = serving/kiosk-app + url = git@git.bitasylum.org:audiobuzz/fleet-kiosk-app.git diff --git a/serving/kiosk-app b/serving/kiosk-app new file mode 160000 index 0000000..f0d0677 --- /dev/null +++ b/serving/kiosk-app @@ -0,0 +1 @@ +Subproject commit f0d0677950c7f26595693a98e3335190d3f39023 From 184c7859cf80a3636f4961ec12a17db49c04d669 Mon Sep 17 00:00:00 2001 From: Audiobuzz Date: Fri, 26 Jun 2026 00:06:49 +0000 Subject: [PATCH 11/11] exclude non-rootfs files from main gitea workflow --- .gitea/workflows/gitea-main-ci.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/.gitea/workflows/gitea-main-ci.yaml b/.gitea/workflows/gitea-main-ci.yaml index 85f8632..76d2a62 100644 --- a/.gitea/workflows/gitea-main-ci.yaml +++ b/.gitea/workflows/gitea-main-ci.yaml @@ -34,6 +34,30 @@ on: - "**" # every branch — feature branches get a branch-name+sha tag tags: - "v*" # tag push -> clean semver tag (v1.2.3 -> 1.2.3) + # Skip this ~17-min VM build when a push touches ONLY things that are NOT + # rootfs/UKI build inputs. The image is built from diskless.pkr.hcl + http/ + # (ks.cfg) + files/** + scripts/** — those are deliberately NOT listed here, + # so they always trigger. Everything below is runtime/serving infra, docs, or + # dev tooling that never lands in the rootfs. A commit that also touches a + # real build input still builds (paths-ignore only skips when EVERY changed + # path matches). + paths-ignore: + # Serving stack — served at runtime, built by its own image workflows / + # the kiosk-app submodule; none of it is baked into the rootfs. + - "serving/**" + - "serving/kiosk-app" # the submodule gitlink path (pointer bumps) + # Docs / notes / dev tooling — not build inputs. + - "docs/**" + - "*.md" # root README.md, CLAUDE.md, etc. + - ".devcontainer/**" + - ".gitignore" + - ".gitattributes" + - "LICENSE" + # Sibling image workflows build their OWN images, not the UKI. (Add new + # ones here; do NOT add gitea-main-ci.yaml — its edits must still build.) + - ".gitea/workflows/ipxe-image.yaml" + - ".gitea/workflows/dnsmasq-image.yaml" + - ".gitea/workflows/spdk-image.yaml" # One build per ref at a time; a newer push to the same branch cancels the # in-flight build (each build is a ~17-min VM run, so don't stack them).