From a13e99872a6054c4c16f5417c3609e47b8e79c2f Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Mon, 12 Oct 2026 19:39:56 -0400 Subject: [PATCH 01/22] The zone images carry toon 0.2.0 (#57) toon 0.2.0 is the first release with a scope and a spending limit for each agent key (connector#1485), toon without a home (toon_cli#208) and apps in hardened containers (toon_cli#209). Co-Authored-By: Claude Opus 5.5 --- images/versions.env | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/images/versions.env b/images/versions.env index 6d0761c..cdd7cdb 100644 --- a/images/versions.env +++ b/images/versions.env @@ -4,9 +4,9 @@ # A base is pinned by its digest. To bump one, change it here, in one commit. # toon, from toon-protocol/toon_cli. The checksums are those of the release's SHA256SUMS. -TOON_VERSION=0.1.1 -TOON_SHA256_AMD64=6ee44de8a346a382d9b3030e619a40b7a02ac5b6820d8ec301c2165500df2c22 -TOON_SHA256_ARM64=72460898fd1713dc687d396365ad9de887e1099e0de560dcc51d5aa222f513b0 +TOON_VERSION=0.2.0 +TOON_SHA256_AMD64=8fe0acd614187493c665fff810543b3f618806bd373933835824d545591f5238 +TOON_SHA256_ARM64=e20d77547050d60821223c98ef63e68bc75d22d465eda6eb330cdff291c44135 # The agent's zone: docker-agent's own sandbox image (docker/docker-agent-sbx-templates), # the release that goes with the docker-agent the agent definition is tested with. From c93ef40789f2b0cdfd857a93e3be72346d894b8b Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Mon, 12 Oct 2026 19:39:56 -0400 Subject: [PATCH 02/22] The launcher and the agent's tools run against the real sbx, toon and docker-agent (#57) What the first run on devnet found, each fixed here: - sbx stops a zone 30 seconds after the last command attached to it ends, and nothing starts its daemon with the machine. A systemd user unit now holds a session open in the connector's zone with the supervisor in it, and brings the zone back after a restart. - toon's home is ~/.toon/agent-node, so the wallet was not in the mounted directory. A stale supervisor socket there is accepted by connect, so connector-start removes it before toon up. - The agent's zone could not reach the node. connector-start forwards the supervisor's orders and the connector, the launcher publishes both on the machine's loopback, and the key file's addresses are rewritten on the way in. - Apps were reached through the sandbox's proxy, which cannot reach them. - sbx has no 'start', no 'run --image' or '--allow-host', and refuses a second 'policy init'. docker-agent has no '--max-cost': the ceiling is its budget. - toon's flags and documents: agent-key create --out, wallet backup --out, agent-key set --max-per-day, pending_apps, the network in state.json. - The agent's tools are the commands toon answers with an agent key, and one that pays an app behind another connector. - An image off toon's trusted list gets gVisor through untrusted-runtime. - A ChatGPT account can be the model provider. Co-Authored-By: Claude Opus 5.5 --- agent/spaceturtle.yaml | 166 +++++++------------ images/connector/connector-start | 33 +++- spaceturtle | 272 ++++++++++++++++++++++++------- tests/run | 158 ++++++++++++------ 4 files changed, 411 insertions(+), 218 deletions(-) diff --git a/agent/spaceturtle.yaml b/agent/spaceturtle.yaml index 74b416f..0887021 100644 --- a/agent/spaceturtle.yaml +++ b/agent/spaceturtle.yaml @@ -13,11 +13,11 @@ agents: something is outside what you may do. You work your agent node with an agent key. Its scope is a provider's daily work: - read status and logs, send and probe packets, add and remove peerings, list and - write routes, list channels and fund one you already have, land vouchers, add and - remove apps, set prices, publish events, read and send private messages, query your - relay, and show your spending limit. You cannot change the limit, touch a wallet, - withdraw a channel, open one on terms someone gives you, or create a TOON app. + read status and the connector's log, send packets, add a peering, set the price of + a route, add and remove apps, publish events, read and send private messages, and + show your spending limit. You cannot change the limit, touch a wallet, remove a + peering, write a route, open, fund or withdraw a channel, query a relay, or create + a TOON app: you have no tool for those, and the Observer does them. An order outside the scope, or past the spending limit, is refused. When that happens, tell the Observer plainly what you tried and stop; do not look for another way round it. An app whose image is not TOON's own waits for the Observer's approval @@ -33,119 +33,87 @@ agents: allow_list: - ~/.config/spaceturtle - ~/.local/state/spaceturtle - # Each tool runs one fixed `toon` command with the agent key (TOON_AGENT_KEY). Every - # argument sits in double quotes. A tool that pays passes --yes itself and takes only - # the amount. + # Each tool runs one fixed `toon` command with the agent key (TOON_AGENT_KEY), and only + # commands toon answers with an agent key and no home. Every argument sits in double + # quotes. A tool that pays passes --yes itself and takes only the amount. - type: script shell: status: - description: "Show the agent node's status: its apps, connectors, relay and peerings." + description: "Show the agent node's status: its TOON apps, their connectors and apps, and the apps waiting for the Observer." cmd: "toon status --json" logs: - description: "Read the agent node's recent log lines for one service." - cmd: "toon logs --json --tail \"$lines\" -- \"$service\"" + description: "Read the newest lines of the connector's log of a TOON app." + cmd: "toon logs --json --connector --lines \"$lines\" -- \"$toon_app\"" args: - service: + toon_app: type: string - description: "Name of the app or service whose logs to read, as `status` lists it." + description: "Name of the TOON app whose connector's log to read, as `status` lists it, such as relay." lines: type: string description: "How many of the newest lines to read, as a whole number." - required: [service, lines] + required: [toon_app, lines] send_packet: - description: "Send a packet to a destination, paying the stated amount from the agent key's spending limit. Refused if the amount is past the limit or outside the key's scope." - cmd: "toon send --yes --amount \"$amount\" --data \"$data\" -- \"$destination\"" + description: "Send one packet to an app behind your own connector, paying the stated amount from the agent key's spending limit. The app at the address receives a request with the given method and path. Refused if the amount is past the limit or outside the key's scope." + cmd: "toon send --json --yes --amount \"$amount\" --method \"$method\" --path \"$path\" -- \"$destination\"" args: destination: type: string description: "ILP address to send the packet to." amount: type: string - description: "Amount to pay, in the node's base unit, as a whole number." - data: + description: "Amount to pay, in the token's base units, as a whole number." + method: type: string - description: "Payload to send, as plain text." - required: [destination, amount, data] - probe_packet: - description: "Probe the route to a destination with a packet that carries no payment." - cmd: "toon send --probe -- \"$destination\"" + description: "Method of the request the app receives, such as GET or POST." + path: + type: string + description: "Path and query of the request the app receives, such as /." + required: [destination, amount, method, path] + send_packet_elsewhere: + description: "Send one packet to an app behind another connector, paying the stated amount from the agent key's spending limit. The payload is sealed to that connector, so only it can open it. The agent node needs a route to the address." + cmd: "toon send --json --yes --amount \"$amount\" --method \"$method\" --path \"$path\" --seal-to \"$connector\" -- \"$destination\"" args: destination: type: string - description: "ILP address to probe." - required: [destination] - peer_list: - description: "List the agent node's peerings." - cmd: "toon peer list --json" - peer_add: - description: "Add a peering with the connector at a peer's address, paying the stated amount toward its opening from the spending limit." - cmd: "toon peer add --yes --amount \"$amount\" -- \"$peer\"" - args: - peer: + description: "ILP address to send the packet to." + connector: type: string - description: "Address of the peer to add." + description: "The /ilp URL of the connector the app is behind, such as https://proxy.relay.devnet.toonprotocol.dev/ilp." amount: type: string - description: "Amount to pay for the peering, as a whole number." - required: [peer, amount] - peer_remove: - description: "Remove a peering." - cmd: "toon peer remove -- \"$peer\"" - args: - peer: + description: "Amount to pay, in the token's base units, as a whole number." + method: type: string - description: "Address or id of the peer to remove, as `peer_list` shows it." - required: [peer] - route_list: - description: "List the routes the connector holds." - cmd: "toon route list --json" - route_write: - description: "Write a route: packets for a prefix go to a peer." - cmd: "toon route add --peer \"$peer\" -- \"$prefix\"" - args: - prefix: + description: "Method of the request the app receives, such as GET or POST." + path: type: string - description: "ILP address prefix the route covers." + description: "Path and query of the request the app receives, such as /." + required: [destination, connector, amount, method, path] + peer_add: + description: "Add a peering with the connector at a peer's address, opening a channel with the stated deposit, which counts against the spending limit." + cmd: "toon peer add --json --yes --deposit \"$deposit\" -- \"$peer\"" + args: peer: type: string - description: "Id of the peer that packets for the prefix go to." - required: [prefix, peer] + description: "The other connector's address: the URL of its /ilp endpoint." + deposit: + type: string + description: "What the channel is opened with, in the token's base units, as a whole number." + required: [peer, deposit] route_price: - description: "Set the price of a route." - cmd: "toon route price --price \"$price\" -- \"$prefix\"" + description: "Set what a packet to an app costs. This restarts the connector, and the key may do it only a few times an hour." + cmd: "toon route price --json --yes -- \"$prefix\" \"$price\"" args: prefix: type: string - description: "ILP address prefix of the route." + description: "ILP address prefix of the app's route, as `status` shows it." price: type: string - description: "New price per packet, as a whole number." + description: "New price per packet, in the token's base units, as a whole number." required: [prefix, price] - channel_list: - description: "List the payment channels the agent node already has." - cmd: "toon channel list --json" - channel_fund: - description: "Add funds to a channel the agent node already has, paying the stated amount from the spending limit." - cmd: "toon channel fund --yes --amount \"$amount\" -- \"$channel\"" - args: - channel: - type: string - description: "Id of an existing channel, as `channel_list` shows it." - amount: - type: string - description: "Amount to add, as a whole number." - required: [channel, amount] - voucher_land: - description: "Land the vouchers waiting on a channel, so they settle." - cmd: "toon channel land -- \"$channel\"" - args: - channel: - type: string - description: "Id of the channel, as `channel_list` shows it." - required: [channel] app_add: - description: "Add an app from a container image. An image that is not TOON's own waits for the Observer to approve it; the answer says so, and the app is not running." - cmd: "toon add --image \"$image\" -- \"$name\"" + description: "Add an app from a container image, behind the relay TOON app's connector. An image that is not TOON's own waits for the Observer to approve it; the answer says so, and the app is not running." + cmd: "toon add --json --yes --to relay --image \"$image\" -- \"$name\"" args: name: type: string @@ -155,27 +123,16 @@ agents: description: "Image reference of the app." required: [name, image] app_remove: - description: "Remove an app." - cmd: "toon remove -- \"$name\"" + description: "Remove an app, and its route. This restarts the connector." + cmd: "toon remove --json --yes -- \"$name\"" args: name: type: string description: "Name of the app to remove, as `status` lists it." required: [name] - set_price: - description: "Set the price of an app's service." - cmd: "toon price set --price \"$price\" -- \"$name\"" - args: - name: - type: string - description: "Name of the app." - price: - type: string - description: "New price, as a whole number." - required: [name, price] event_publish: - description: "Publish an event to the network, signed by the agent identity." - cmd: "toon event publish --kind \"$kind\" --content \"$content\"" + description: "Publish an event to the agent node's own relay, signed by the agent identity. The answer holds the event, with its id." + cmd: "toon event publish --json --kind \"$kind\" --content \"$content\" --tags \"$tags\"" args: kind: type: string @@ -183,13 +140,16 @@ agents: content: type: string description: "Content of the event, as plain text." - required: [kind, content] + tags: + type: string + description: "The event's tags, as a JSON array of arrays of strings; [] for none." + required: [kind, content, tags] message_list: description: "Read the private messages the agent node has opened." cmd: "toon message list --json" message_send: description: "Send a private message to a public key." - cmd: "toon message send --to \"$recipient\" --content \"$content\"" + cmd: "toon message send --json --content \"$content\" -- \"$recipient\"" args: recipient: type: string @@ -198,14 +158,6 @@ agents: type: string description: "Text of the message." required: [recipient, content] - relay_query: - description: "Query the agent node's own relay with a Nostr filter." - cmd: "toon event query --filter \"$filter\" --json" - args: - filter: - type: string - description: "A Nostr filter, as a JSON object." - required: [filter] limit_show: description: "Show the agent key's spending limit and what is left of it today." cmd: "toon limit show --json" diff --git a/images/connector/connector-start b/images/connector/connector-start index 967bd18..9c23c14 100755 --- a/images/connector/connector-start +++ b/images/connector/connector-start @@ -1,9 +1,10 @@ #!/bin/bash -# The connector's zone's entrypoint. Starts the container engine if it is not running, then -# runs the supervisor in this process, so nothing needs `systemd --user` (`toon up` without -# --foreground installs a unit). The passphrase file is the one the launcher made in this zone. -# Until `toon init` has written the passphrase file there is nothing to supervise, so it waits -# for that file with the engine up, then starts the supervisor. +# The connector's zone's entrypoint, and what the launcher runs in the session that keeps the +# zone up. Starts the container engine if it is not running, the two forwarders an agent key +# is used through, then the supervisor in this process, so nothing needs `systemd --user` +# (`toon up` without --foreground installs a unit). The passphrase file is the one the +# launcher made in this zone. Until `toon init` has written the passphrase file there is +# nothing to supervise, so it waits for that file with the engine up, then starts the supervisor. set -euo pipefail if ! docker info >/dev/null 2>&1; then @@ -20,4 +21,26 @@ if [[ ! -r $TOON_PASSPHRASE_FILE ]]; then echo "connector-start: no passphrase file at $TOON_PASSPHRASE_FILE; the container engine is up, waiting for toon init" >&2 until [[ -r $TOON_PASSPHRASE_FILE ]]; do sleep 5; done fi + +home=$HOME/.toon/agent-node +# A zone that was stopped leaves the supervisor's socket behind, and on a mounted directory a +# connection to it is accepted although nothing listens, so `toon up` takes the node for running. +pgrep -f "[t]oon up" >/dev/null || rm -f "$home/supervisor.sock" + +# The supervisor's orders and the relay TOON app's connector listen on loopback, which a +# published port does not reach. A forwarder on every address leads to each: 17100 to the +# orders, 17101 to the connector. The launcher publishes those two to the machine's loopback. +forward() { # listening port, the loopback port it leads to + [[ $2 =~ ^[0-9]+$ ]] || return 0 + pgrep -f "socat TCP-LISTEN:$1," >/dev/null && return 0 + setsid nohup socat "TCP-LISTEN:$1,fork,reuseaddr" "TCP:127.0.0.1:$2" >/dev/null 2>&1 < /dev/null & +} +forward 17100 "$(jq -r '.supervisor // "" | sub(".*:"; "")' "$home/agent-keys.json" 2>/dev/null)" +forward 17101 "$(jq -r '.toon_apps[0].listen // "" | sub(".*:"; "")' "$home/state.json" 2>/dev/null)" + +# An app is reached at its container's own address, and the sandbox's proxy, which every +# program here is pointed at, cannot reach in there: the engine's networks go direct. +export NO_PROXY="${NO_PROXY:+$NO_PROXY,}172.16.0.0/12,192.168.0.0/16" +export no_proxy=$NO_PROXY + exec toon up --foreground diff --git a/spaceturtle b/spaceturtle index 2a4f1d1..75117fd 100755 --- a/spaceturtle +++ b/spaceturtle @@ -10,16 +10,23 @@ # that zone alone; nothing is copied into it from the machine # 2. node the agent node, initialised on devnet inside it # 3. faucet the wallet funded from the devnet faucet -# 4. supervisor the image's `connector-start` (the container engine, then -# `toon up`), started again whenever it is not running -# 5. backup a sealed backup of the wallet, handed to the Observer +# 4. agent key one agent key, its private half placed in the agent's zone +# 5. supervisor the image's `connector-start` (the container engine, the +# forwarders, then `toon up`), run by a systemd user unit that +# holds a session open in the zone: Docker Sandboxes stops a +# zone nobody is attached to, and the unit also brings the +# zone back after the machine restarts +# 6. backup a sealed backup of the wallet, handed to the Observer # The passphrase is made inside the zone: it is never printed and never # written to the machine's disk. `upgrade` carries it in memory to the new zone. # # spaceturtle stop # Stops the timer's unit (its on/off setting stays), a session in the agent's -# zone, then the connector's zone. Loses nothing; `start` brings it back and -# creates, initialises and funds nothing. +# zone, the unit that keeps the connector's zone running, then that zone. Loses +# nothing; `start` brings it back and creates, initialises and funds nothing. +# spaceturtle supervise +# What that unit runs: `connector-start` in a session in the connector's zone, +# until it ends. Not for a person to run. # spaceturtle upgrade # Replaces the connector's zone with one from the newest connector's zone image, # leaving the wallet's storage as it was. A fresh backup comes first; if it fails, @@ -44,13 +51,15 @@ # and changes nothing. # # spaceturtle session [--unattended] -# Starts a `docker-agent` session in the agent's zone, from the agent's zone -# image and the published agent definition. The session command carries an -# allow-list of exactly two things: the model provider's host and one loopback -# port, the one that leads to the connector's zone. By hand it is a -# conversation; --unattended is what the timer runs: no one is present, and -# the session has a ceiling on model cost. Nothing starts while the -# connector's zone is not running. +# Starts a `docker-agent` session in the agent's zone, with the agent +# definition mounted read-only. The agent's zone is allowed the model +# provider's host, the host of the network's connector, and the two loopback +# ports that lead to the connector's zone, on top of what the machine's own +# `sbx` policy allows every sandbox. By hand +# it is a conversation; --unattended is what the timer runs: no one is +# present, every tool call the definition offers runs unasked, and the session +# has a ceiling on model cost, written into its copy of the definition as +# docker-agent's `budget`. Nothing starts while the connector's zone is not running. # spaceturtle timer on|off|interval m|h|d # The timer starts an unattended session. `start` turns it on, every 6h, # unless it was turned off. It is a systemd user timer. @@ -84,12 +93,14 @@ # refused, and deletes the private half from the agent's zone. `start` does not # make another; `agent-key replace` does. # spaceturtle agent-key limit -# Sets the agent key's spending limit. Only the Observer can: the agent has no tool for it. +# Sets what the agent key may spend in a UTC day, in the token's base units. Only +# the Observer can: the agent has no tool for it. # `start` makes exactly one agent key, with the default scope (ADR 0003) and the default # spending limit, and puts its private half in the agent's zone and nowhere else: it goes # from the connector's zone, where `toon` writes it to a file that is deleted once it is # placed, to the agent's zone through a pipe, never through an argument, the machine or -# the output of the launcher. A second run makes none, and neither does `upgrade` after +# the output of the launcher. On the way in, the addresses in the key file become the two +# loopback ports of the machine that lead to the connector's zone. A second run makes none, and neither does `upgrade` after # a revoke. # Approving or refusing an app that is not waiting says so and changes nothing. # `waiting`, `approve`, `refuse` and `status` run `toon` with the home, in the @@ -121,7 +132,10 @@ # SPACETURTLE_AGENT_ZONE the agent's zone's name (default: st-agent) # SPACETURTLE_AGENT_IMAGE the agent's zone image (default: ghcr.io/toon-protocol/spaceturtle-agent-zone:latest) # SPACETURTLE_AGENT_DEF the agent definition (default: agent/spaceturtle.yaml beside this file) -# SPACETURTLE_CONNECTOR_PORT the loopback port that leads to the connector's zone (default: 7100) +# SPACETURTLE_CONNECTOR_PORT the first of the two loopback ports of the machine that lead to the +# connector's zone: this one to the supervisor's orders, the next +# to the relay TOON app's connector (default: 47100) +# SPACETURTLE_SUPERVISOR_WAIT how many seconds `start` waits for the supervisor (default: 180) # SPACETURTLE_SYSTEMCTL the systemctl program (default: systemctl) # SPACETURTLE_UNIT_DIR where the timer's units are written (default: ~/.config/systemd/user) set -uo pipefail @@ -141,7 +155,13 @@ agent_zone=${SPACETURTLE_AGENT_ZONE:-st-agent} agent_image=${SPACETURTLE_AGENT_IMAGE:-ghcr.io/toon-protocol/spaceturtle-agent-zone:latest} here=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) agent_def=${SPACETURTLE_AGENT_DEF:-$here/agent/spaceturtle.yaml} -connector_port=${SPACETURTLE_CONNECTOR_PORT:-7100} +connector_port=${SPACETURTLE_CONNECTOR_PORT:-47100} +relay_port=$((connector_port + 1)) +supervisor_wait=${SPACETURTLE_SUPERVISOR_WAIT:-180} +# The agent definition as a session reads it, in a directory the agent's zone mounts read-only. +session_dir=$state_dir/session +# toon's home in the connector's zone; step_zone links it to the wallet's storage. +toon_home='$HOME/.toon/agent-node' systemctl_=${SPACETURTLE_SYSTEMCTL:-systemctl} unit_dir=${SPACETURTLE_UNIT_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user} @@ -176,7 +196,9 @@ zone_state() { # Creates the connector's zone from the connector's zone image; the markers are the caller's. create_zone() { mkdir -p "$data_dir" || die "cannot create $data_dir" - "$sbx" policy init balanced || die "sbx policy init failed" + # sbx refuses to create before the machine's policy is initialised, and refuses to initialise + # it twice. A policy that is already there is the Observer's own and is left as it is. + "$sbx" policy init balanced >/dev/null 2>&1 || "$sbx" policy ls >/dev/null 2>&1 || die "sbx policy init failed" "$sbx" create --name "$zone" --cpus 4 --memory 4g --template "$connector_image" shell "$data_dir" || die "sbx create failed" } @@ -188,7 +210,8 @@ step_zone() { rm -rf "$marks" elif [[ $(zone_state) == stopped ]]; then say "starting the connector's zone ($zone)" - "$sbx" start "$zone" || die "sbx start failed" + # sbx has no command that only starts a zone; running anything in a stopped one starts it. + "$sbx" exec "$zone" true || die "the connector's zone could not be started" fi if ! done_ rule; then # The rule names the zone, so it is never machine-wide. @@ -196,11 +219,24 @@ step_zone() { mark rule fi if ! done_ zone; then - # The image holds the overlay client's proxy setting. The wallet lives in the - # mounted directory while the passphrase stays on the zone's own disk. - in_zone 'mkdir -p ~/.config && ln -sfn '"$(sh_quote "$data_dir")"' ~/.config/toon' || die "the zone could not be set up" + # The image holds the overlay client's proxy setting. toon's home is the mounted + # directory, so the wallet lives there, while the passphrase stays on the zone's own disk. + in_zone 'mkdir -p ~/.config ~/.toon && ln -sfn '"$(sh_quote "$data_dir")"' ~/.toon/agent-node' || die "the zone could not be set up" mark zone fi + publish_ports +} + +# The two forwarders of `connector-start`, published to the machine's loopback, where the +# agent's zone reaches them. A published port is gone when a zone is made again, so every run looks. +publish_ports() { + local have pair + have=$("$sbx" ports "$zone" 2>/dev/null) + for pair in "$connector_port:17100" "$relay_port:17101"; do + awk -v h="${pair%%:*}" -v s="${pair##*:}" '$2 == h && $3 == s { found = 1 } END { exit !found }' <<<"$have" && continue + "$sbx" ports "$zone" --publish "127.0.0.1:$pair" \ + || die "port ${pair%%:*} of this machine could not be led to the connector's zone. If something else holds it, set SPACETURTLE_CONNECTOR_PORT to the first of two free ports and run it again." + done } step_node() { @@ -211,6 +247,14 @@ step_node() { mark node } +# An app whose image is not on toon's list of trusted images runs under gVisor, which the +# connector's zone image holds. toon reads the runtime's name from this file when the app is added. +step_runtime() { + done_ runtime && return + in_zone "[ -s $toon_home/untrusted-runtime ] || echo runsc > $toon_home/untrusted-runtime" || die "the sandboxed runtime could not be set in the zone" + mark runtime +} + step_faucet() { done_ faucet && return say "funding the wallet from the faucet" @@ -221,18 +265,59 @@ step_faucet() { # The pattern does not match itself, so the shell running pgrep is not taken for the supervisor. supervisor_running() { in_zone 'pgrep -f "[t]oon up" >/dev/null'; } +# The unit that keeps the connector's zone running. Docker Sandboxes stops a zone once +# nobody is attached to it, and nothing starts its daemon when the machine does; the unit +# holds one session open, starts the daemon first, and is started again when it ends. +write_connector_unit() { + local sbx_path; sbx_path=$(command -v "$sbx") || die "sbx is not installed" + mkdir -p "$unit_dir" || die "cannot create $unit_dir" + cat > "$unit_dir/spaceturtle-connector.service" </dev/null || exec connector-start; while pgrep -f "[t]oon up" >/dev/null; do sleep 5; done; exit 1' +} + step_supervisor() { + # Written on every run, so a launcher that has moved or changed is the one the unit runs. + write_connector_unit supervisor_running && return say "starting the supervisor" - # The image's entrypoint may not have run, so the launcher starts it; it reads the passphrase file in_zone names. - in_zone 'setsid nohup connector-start > ~/up.log 2>&1 < /dev/null &' || die "connector-start failed in the zone" + "$systemctl_" --user enable spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be enabled" + "$systemctl_" --user restart spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be started" + local waited=0 + until supervisor_running; do + ((waited < supervisor_wait)) || die "the supervisor did not start in the zone. 'journalctl --user -u spaceturtle-connector' says why." + sleep 3; waited=$((waited + 3)) + done } # Writes a fresh sealed backup to the backup directory. The backup already there is # replaced only once the new one has arrived whole. make_backup() { mkdir -p "$backup_dir" && chmod 700 "$backup_dir" || return 1 - in_zone 'rm -f /tmp/wallet-backup; toon wallet backup --output /tmp/wallet-backup >/dev/null' || { echo "spaceturtle: toon wallet backup failed in the zone" >&2; return 1; } + in_zone 'rm -f /tmp/wallet-backup; toon wallet backup --out /tmp/wallet-backup >/dev/null' || { echo "spaceturtle: toon wallet backup failed in the zone" >&2; return 1; } rm -f "$backup_dir/wallet-backup.new" if ! "$sbx" cp "$zone:/tmp/wallet-backup" "$backup_dir/wallet-backup.new" || [[ ! -s $backup_dir/wallet-backup.new ]]; then rm -f "$backup_dir/wallet-backup.new" @@ -250,9 +335,9 @@ step_backup() { mark backup } -# The network the node is on, from `toon status --json`; empty when it cannot be read. +# The network the node is on, from the home's record of it; empty when it cannot be read. node_network() { - in_zone 'toon status --json' 2>/dev/null | jq -r '.network // .agent_node.network // empty' 2>/dev/null + in_zone "cat $toon_home/state.json" 2>/dev/null | jq -r '.network // empty' 2>/dev/null } mainnet() { @@ -272,7 +357,7 @@ mainnet() { say "this Install is already on mainnet. Nothing was changed." return 0 fi - addresses=$(in_zone 'toon wallet addresses') || die "the wallet's addresses could not be read from the zone" + addresses=$(in_zone 'toon wallet show') || die "the wallet's addresses could not be read from the zone" [[ -n $addresses ]] || die "the zone listed no address to fund" cat <> "$out.new" || die "cannot write $out" + fi + mv -f "$out.new" "$out" || die "cannot write $out" +} + +# Allows the agent's zone to reach a host. The rule names the zone, and is added once for a host. +allow_host() { + local m=agent-allow-${1//[^A-Za-z0-9.-]/_} + done_ "$m" && return + "$sbx" policy allow network --sandbox "$agent_zone" "$1" || die "the agent's zone could not be allowed to reach $1" + mark "$m" +} + +# The host of the connector of the network the node was initialised for, from the home's record; +# empty when there is none. A packet for an app behind that connector is sealed to it, and +# `toon` asks it for its identity from the agent's zone. +network_connector_host() { + in_zone "cat $toon_home/state.json" 2>/dev/null | jq -r '.connector_url // empty | capture("^https://(?[A-Za-z0-9.-]+)(:443)?(/|$)").h // empty' 2>/dev/null +} + session() { local unattended=0 case ${1:-} in @@ -354,17 +468,27 @@ session() { need_model_key provider_of need_connector - local args=(run --name "$agent_zone" --image "$agent_image" - --allow-host "$host" --allow-host "localhost:$connector_port" - -e "$key_var" -e TOON_AGENT_KEY -- docker-agent run --model "$model") + [[ $(zone_state "$agent_zone") != "not created" ]] || die "there is no agent's zone ($agent_zone), so there is no agent key to work with. Run 'spaceturtle agent-key replace' to make both." + write_session_def "$unattended" + allow_host "$host" + local peer; peer=$(network_connector_host) + [[ -z $peer ]] || allow_host "$peer" + local def=$session_dir/spaceturtle.yaml + local attach=(-it) run=("$def") if (( unattended )); then mkdir -p "$state_dir" && date -u +%Y-%m-%dT%H:%M:%SZ > "$state_dir/last-unattended" || die "cannot write $state_dir/last-unattended" - args+=(--max-cost "$(conf_get ceiling 1)" --exec "Begin a session: read the waiting Requests and answer them, then do your daily work.") + # Nobody answers a prompt, and the definition's tools are the whole of what the agent may do. + attach=() + run=(--exec --yolo "$def" "Begin a session: read the waiting Requests and answer them, then do your daily work.") fi - args+=("$agent_def") # The key reaches the process by name (-e), never as an argument. # The agent key's path, not the key, goes in the environment; the file is in the agent's zone. - env "$key_var=$(<"$key_file")" "TOON_AGENT_KEY=${agent_key_path/\$HOME//home/agent}" "$sbx" "${args[@]}" + # The agent's zone is its sandbox already, so docker-agent is told not to make another. + # Everything leaves the zone through the sandbox's proxy, whose certificate is in the zone's + # own bundle and not among the roots `toon` is built with, so `toon` is given the bundle. + env "$key_var=$(<"$key_file")" "TOON_AGENT_KEY=${agent_key_path/\$HOME//home/agent}" \ + "$sbx" exec "${attach[@]}" -e "$key_var" -e TOON_AGENT_KEY -e TOON_TRUSTED_ROOT=/etc/ssl/certs/ca-certificates.crt \ + "$agent_zone" docker-agent run --sandbox=false --model "$model" "${run[@]}" } # --- the timer: a systemd user timer that runs an unattended session --- @@ -377,6 +501,7 @@ Description=A spaceturtle session with nobody present [Service] Type=oneshot +Environment=PATH=$(dirname "$(command -v "$sbx")"):/usr/local/bin:/usr/bin:/bin ExecStart=$here/spaceturtle session --unattended UNIT cat > "$unit_dir/spaceturtle.timer" </dev/null' \ + in_zone 'rm -f /tmp/agent-key; umask 077; toon agent-key create --out /tmp/agent-key --json >/dev/null' \ || { in_zone 'rm -f /tmp/agent-key'; die "toon agent-key create failed in the zone"; } } # Moves the private half to the agent's zone through a pipe, then deletes it from the connector's zone. +# The key file names the supervisor's orders and the TOON app's connector on the connector's zone's +# loopback; on the way in they become the machine's two ports that lead there. # The agent's zone is left stopped unless it was running, so `status` does not take it for a session. place_agent_key() { local was; was=$(zone_state "$agent_zone") ensure_agent_zone "$was" if ! "$sbx" exec "$zone" sh -c 'cat /tmp/agent-key' | "$sbx" exec -i "$agent_zone" sh -c \ - 'umask 077 && mkdir -p "$HOME/.config/toon-agent" && cat > "$HOME/.config/toon-agent/key.new" && [ -s "$HOME/.config/toon-agent/key.new" ] && mv -f "$HOME/.config/toon-agent/key.new" "$HOME/.config/toon-agent/key"'; then + 'umask 077 && mkdir -p "$HOME/.config/toon-agent" && jq --arg s "http://host.docker.internal:'"$connector_port"'" --arg c "http://host.docker.internal:'"$relay_port"'" ".supervisor = \$s | .toon_apps |= with_entries(.value = \$c)" > "$HOME/.config/toon-agent/key.new" && [ -s "$HOME/.config/toon-agent/key.new" ] && mv -f "$HOME/.config/toon-agent/key.new" "$HOME/.config/toon-agent/key"'; then in_zone 'rm -f /tmp/agent-key' die "the agent key could not be placed in the agent's zone" fi @@ -535,7 +668,7 @@ cmd_agent_key() { local sub=${1:-} old doc case $sub in show|replace|revoke) [[ $# -eq 1 ]] || die "usage: spaceturtle agent-key $sub" ;; - limit) [[ $# -eq 2 ]] && valid_ceiling "$2" || die "usage: spaceturtle agent-key limit , such as 5" ;; + limit) [[ $# -eq 2 && $2 =~ ^[1-9][0-9]*$ ]] || die "usage: spaceturtle agent-key limit , a whole number of the token's base units, such as 5000000" ;; *) die "usage: spaceturtle agent-key show | replace | revoke | limit " ;; esac preflight @@ -575,26 +708,31 @@ cmd_agent_key() { say "the agent key is revoked: the agent's next order is refused. 'spaceturtle agent-key replace' makes another." ;; limit) [[ -n $old ]] || die "there is no agent key. Run 'spaceturtle start' or 'spaceturtle agent-key replace'." - local id + local id per flags + doc=$(in_zone 'toon agent-key list --json') || die "toon agent-key list failed in the zone" for id in $old; do - in_zone "toon agent-key set --limit $(sh_quote "$2") -- $(sh_quote "$id")" || die "toon agent-key set failed in the zone" + # toon refuses a day's limit under what one command may pay, so that comes down with it. + per=$(jq -r --arg k "$id" '(if type == "array" then . else (.keys // .agent_keys // []) end)[] | select((.id // .public_key) == $k) | .spending_limit.per_command // empty' <<<"$doc" 2>/dev/null) + flags="--max-per-day $(sh_quote "$2")" + [[ $per =~ ^[0-9]+$ ]] && (( per > $2 )) && flags+=" --max-per-command $(sh_quote "$2")" + in_zone "toon agent-key set $flags -- $(sh_quote "$id")" || die "toon agent-key set failed in the zone" done - say "the agent key's spending limit is $2" ;; + say "the agent key may spend $2 in a day" ;; esac } # The apps waiting, one JSON object per line: {name, image, since}. `toon status --json` -# lists an app, in an `apps` array, in the `pending` state with the image and the time it -# was asked for (seconds since the epoch or RFC 3339); a field it does not carry is left -# empty. Only objects in an `apps` array are apps, so nothing else that is pending counts. +# lists them in `pending_apps`, each with its name, the image or URL asked for and the time +# it was asked (seconds since the epoch or RFC 3339); a field it does not carry is left +# empty. One the Observer refused is still listed, as refused, and is not waiting. # Dies when toon status fails, so callers must not run it in a pipeline or substitution # whose failure they ignore. waiting_apps() { local doc=${1-} [[ -n $doc ]] || doc=$(in_zone 'toon status --json') || die "toon status failed in the zone" - jq -c '[.. | objects | .apps? | arrays | .[] | objects - | select((.state // .status // "") == "pending" and (.name // "") != "") - | {name, image: (.image // ""), since: (.requested_at // .asked_at // .since // .created_at // null)}] + jq -c '[.. | objects | .pending_apps? | arrays | .[] | objects + | select((.name // "") != "" and (.state // .status // "pending") == "pending" and (.refused // null) == null) + | {name, image: (.image // .url // ""), since: (.requested_at // .asked_at // .since // .created_at // .at // null)}] | unique_by(.name) | .[]' <<<"$doc" || die "toon status gave a document that is not JSON" } @@ -656,16 +794,16 @@ cmd_status() { if supervisor_running; then say "the supervisor is running" else say "the supervisor is not running. Run 'spaceturtle start'."; fi doc=$(in_zone 'toon status --json') || die "toon status failed in the zone" - network=$(jq -r '.network // .agent_node.network // empty' <<<"$doc" 2>/dev/null) + network=$(node_network) say "network: ${network:-cannot be read}" lines=$(jq -r '[.. | objects | .apps? | arrays | .[] | objects | select((.name // "") != "") - | {name, state: (.state // .status // "")}] | unique_by(.name) | .[] | "\(.name)\t\(.state)"' <<<"$doc" 2>/dev/null) + | {name, running: (.running == true)}] | unique_by(.name) | .[] | "\(.name)\t\(.running)"' <<<"$doc" 2>/dev/null) while IFS=$'\t' read -r l astate; do [[ -n $l ]] || continue - if [[ $astate == running ]]; then say "app $l: running"; else say "app $l: not running (${astate:-unknown})"; fi + if [[ $astate == true ]]; then say "app $l: running"; else say "app $l: not running"; fi done <<<"$lines" - relay=$(jq -r 'first(.. | objects | (.relay_url?, (.relay? | if type == "string" then . elif type == "object" then (.url // .address // .ws_url) else empty end)) - | strings | select(length > 0)) // empty' <<<"$doc" 2>/dev/null) + # The relay is the app of that name; it answers reads at its read address. + relay=$(jq -r 'first(.. | objects | .apps? | arrays | .[] | objects | select(.name == "relay") | .read_address | strings | select(length > 0)) // empty' <<<"$doc" 2>/dev/null) if [[ -z $relay ]]; then say "relay: the node reports no address, so it cannot be checked" else @@ -693,7 +831,11 @@ cmd_stop() { if [[ $(zone_state "$agent_zone") == running ]]; then "$sbx" stop "$agent_zone" || die "the session in the agent's zone ($agent_zone) could not be stopped" fi - if [[ $state == running ]]; then + # The unit would start the zone again, now and when the machine restarts; `start` enables it again. + if [[ -e $unit_dir/spaceturtle-connector.service ]]; then + "$systemctl_" --user disable --now spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be stopped" + fi + if [[ $(zone_state) == running ]]; then "$sbx" stop "$zone" || die "the connector's zone ($zone) could not be stopped" fi say "stopped. The wallet, the passphrase and the timer's setting are as they were. Run 'spaceturtle start' to bring it back." @@ -722,6 +864,10 @@ cmd_upgrade() { if [[ $(zone_state "$agent_zone") != "not created" ]]; then "$sbx" rm --force "$agent_zone" || die "the agent's zone ($agent_zone) could not be removed" fi + # The unit would hold a session in the zone being removed; step_supervisor starts it again. + if [[ -e $unit_dir/spaceturtle-connector.service ]]; then + "$systemctl_" --user stop spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be stopped" + fi "$sbx" rm --force "$zone" || die "the old connector's zone could not be removed" create_zone # The node, the faucet and the backup belong to the wallet, which is kept; the rest belong to the zone. @@ -733,12 +879,13 @@ cmd_upgrade() { fi pass= step_node + step_runtime step_faucet - step_supervisor # The agent's zone, and the private half in it, is gone: a key on the list is made again; a revoked one is not. local keys; keys=$(agent_key_ids) || die "toon agent-key list failed in the zone" [[ -z $keys ]] || rm -f "$marks/agentkey" step_agentkey + step_supervisor step_backup say "the connector's zone is upgraded and running" } @@ -772,17 +919,21 @@ cmd_remove() { *) make_backup || die "the backup failed, so nothing was removed. Answer n to remove without it." ;; esac fi + if [[ -e $unit_dir/spaceturtle-connector.service ]]; then + "$systemctl_" --user disable --now spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be stopped" + fi for z in "$agent_zone" "$zone"; do [[ $(zone_state "$z") == "not created" ]] || "$sbx" rm --force "$z" || die "the zone $z could not be removed" done if [[ -e $unit_dir/spaceturtle.timer ]]; then "$systemctl_" --user disable --now spaceturtle.timer || die "the timer could not be turned off" fi - rm -f "$unit_dir/spaceturtle.timer" "$unit_dir/spaceturtle.service" + rm -f "$unit_dir/spaceturtle.timer" "$unit_dir/spaceturtle.service" "$unit_dir/spaceturtle-connector.service" "$systemctl_" --user daemon-reload rm -rf "$marks" rm -f "$state_dir/last-unattended" "$conf" "$conf.new" "$key_file" - rmdir "$state_dir" "$config_dir" "$(dirname "$key_file")" 2>/dev/null + rm -rf "$session_dir" + rmdir "$state_dir/agent-workspace" "$state_dir" "$config_dir" "$(dirname "$key_file")" 2>/dev/null if (( delete )); then [[ -n $data_dir && $data_dir != / ]] || die "will not delete '$data_dir'" rm -rf "$data_dir" || die "cannot delete $data_dir" @@ -798,6 +949,7 @@ case ${1:-} in start) start ;; mainnet) shift; mainnet "$@" ;; session) shift; session "$@" ;; + supervise) supervise ;; timer) shift; timer "$@" ;; set) shift; set_ "$@" ;; key) key ;; diff --git a/tests/run b/tests/run index 0702f7a..5246c4c 100755 --- a/tests/run +++ b/tests/run @@ -982,24 +982,38 @@ launcher_env() { export SPACETURTLE_ZONE=zone-x SPACETURTLE_DATA_DIR=$tmp/wallet SPACETURTLE_BACKUP_DIR=$tmp/backup : > "$SPACETURTLE_KVM" export SPACETURTLE_SYSTEMCTL=$tmp/bin/systemctl SPACETURTLE_UNIT_DIR=$tmp/units SPACETURTLE_MODEL_KEY_FILE=$tmp/model-key - export SPACETURTLE_AGENT_ZONE=agent-x SPACETURTLE_CONNECTOR_PORT=7123 - printf '#!/bin/bash\necho "$*" >> "$STUB_DIR/systemctl-calls"\n' > "$SPACETURTLE_SYSTEMCTL"; chmod +x "$SPACETURTLE_SYSTEMCTL" + export SPACETURTLE_AGENT_ZONE=agent-x SPACETURTLE_CONNECTOR_PORT=7123 SPACETURTLE_SUPERVISOR_WAIT=0 + # A systemctl that records its calls. Restarting the unit that keeps the connector's zone + # running runs what the unit runs, as systemd would, whatever comes of it. + cat > "$SPACETURTLE_SYSTEMCTL" <> "\$STUB_DIR/systemctl-calls" +[[ \$* == *"restart spaceturtle-connector.service"* ]] && "$root/spaceturtle" supervise > /dev/null 2>&1 +exit 0 +STUB + chmod +x "$SPACETURTLE_SYSTEMCTL" # An sbx that records its calls. `ls` lists the zones in $STUB_DIR/zones and fails # when $STUB_DIR/signed-out exists; a call whose arguments contain the text in - # $STUB_DIR/fail-on fails, `toon status --json` prints $STUB_DIR/status, and `cp` out + # $STUB_DIR/fail-on fails, `toon status --json` prints $STUB_DIR/status, the home's + # state.json names the network in $STUB_DIR/network, `ports` lists and publishes in + # $STUB_DIR/ports, `policy init` fails once $STUB_DIR/policy-set exists, and `cp` out # of the zone writes a file. cat > "$SPACETURTLE_SBX" <<'STUB' #!/bin/bash echo "$*" >> "$STUB_DIR/calls" [[ $1 == ls ]] && { [[ -e $STUB_DIR/signed-out ]] && exit 1; cat "$STUB_DIR/zones" 2>/dev/null; exit 0; } [[ -r $STUB_DIR/fail-on && $* == *"$(cat "$STUB_DIR/fail-on")"* ]] && exit 1 +[[ $1 == policy && $2 == init && -e $STUB_DIR/policy-set ]] && exit 1 +[[ $1 == ports && $* == *--publish* ]] && { [[ ${@: -1} =~ ^127\.0\.0\.1:([0-9]+):([0-9]+)$ ]] && echo "127.0.0.1 ${BASH_REMATCH[1]} ${BASH_REMATCH[2]} tcp4" >> "$STUB_DIR/ports"; exit 0; } +[[ $1 == ports ]] && { cat "$STUB_DIR/ports" 2>/dev/null; exit 0; } +[[ $* == *"exec connector-start"* ]] && { : > "$STUB_DIR/up"; exit 0; } [[ $* == *pgrep* ]] && { [[ -e $STUB_DIR/up ]]; exit; } -[[ $* == *"toon status --json"* ]] && { cat "$STUB_DIR/status" 2>/dev/null || echo "{\"network\":\"$(cat "$STUB_DIR/network" 2>/dev/null || echo devnet)\"}"; exit 0; } -[[ $* == *connector-start* ]] && : > "$STUB_DIR/up" -[[ $* == *"toon wallet addresses"* ]] && { echo "evm 0xAAA111"; echo "solana SoLBBB222"; exit 0; } +[[ $* == *"toon status --json"* ]] && { cat "$STUB_DIR/status" 2>/dev/null || echo "{}"; exit 0; } +[[ $* == *"state.json"* ]] && { echo "{\"network\":\"$(cat "$STUB_DIR/network" 2>/dev/null || echo devnet)\",\"connector_url\":\"$(cat "$STUB_DIR/connector-url" 2>/dev/null)\"}"; exit 0; } +[[ $* == *"toon wallet show"* ]] && { echo "evm 0xAAA111"; echo "solana SoLBBB222"; exit 0; } [[ $* == *"toon network set mainnet"* ]] && echo mainnet > "$STUB_DIR/network" [[ $* == *"toon agent-key create"* ]] && { touch "$STUB_DIR/keys"; n=$(( $(wc -l < "$STUB_DIR/keys") + 1 )); echo "key-$n" >> "$STUB_DIR/keys"; echo "PRIVATE-HALF-$n" > "$STUB_DIR/agentkeyfile"; exit 0; } -[[ $* == *"toon agent-key list"* ]] && { touch "$STUB_DIR/keys"; jq -Rn '[inputs | {id: ., scope: ["send","peer"], limit: 5, private_key: "PRIVATE-LEAK"}]' "$STUB_DIR/keys"; exit 0; } +[[ $* == *"toon agent-key list"* ]] && { touch "$STUB_DIR/keys"; jq -Rn '{agent_keys: [inputs | {public_key: ., scope: ["send","peer"], spending_limit: {per_command: 10, per_day: 100}, private_key: "PRIVATE-LEAK"}]}' "$STUB_DIR/keys"; exit 0; } [[ $* == *"toon agent-key revoke"* ]] && { [[ $* =~ revoke\ --\ \'([^\']*)\' ]]; id=${BASH_REMATCH[1]}; sed -i "/^$id$/d" "$STUB_DIR/keys"; exit 0; } [[ $* == *'cat /tmp/agent-key'* ]] && { cat "$STUB_DIR/agentkeyfile" 2>/dev/null; exit 0; } [[ $* == *'test -s /tmp/agent-key'* ]] && { [[ -s $STUB_DIR/agentkeyfile ]]; exit; } @@ -1008,9 +1022,10 @@ echo "$*" >> "$STUB_DIR/calls" [[ $1 == exec && $2 == -i ]] && { cat > "$STUB_DIR/stdin"; exit 0; } [[ $* == *'cat "$HOME/.config/toon-passphrase"'* ]] && { cat "$STUB_DIR/zone-passphrase" 2>/dev/null; exit 0; } [[ $* == *"curl -s"* ]] && { [[ -e $STUB_DIR/relay-down ]] && exit 1; exit 0; } -[[ $1 == rm ]] && { sed -i "/^${@: -1} /d" "$STUB_DIR/zones"; [[ ${@: -1} == zone-x ]] && rm -f "$STUB_DIR/up"; exit 0; } +[[ $1 == rm ]] && { sed -i "/^${@: -1} /d" "$STUB_DIR/zones"; [[ ${@: -1} == zone-x ]] && rm -f "$STUB_DIR/up" "$STUB_DIR/ports"; exit 0; } [[ $1 == stop ]] && { sed -i "s/^$2 running/$2 stopped/" "$STUB_DIR/zones"; [[ $2 == zone-x ]] && rm -f "$STUB_DIR/up"; exit 0; } -[[ $1 == start ]] && { sed -i "s/^$2 stopped/$2 running/" "$STUB_DIR/zones"; exit 0; } +[[ $1 == start ]] && exit 2 # sbx has no such command +[[ $1 == exec && $3 == true ]] && { sed -i "s/^$2 stopped/$2 running/" "$STUB_DIR/zones"; exit 0; } [[ $1 == create && $* == *"--name agent-x"* ]] && { echo "agent-x running" >> "$STUB_DIR/zones"; exit 0; } [[ $1 == create ]] && echo "zone-x running" > "$STUB_DIR/zones" [[ $1 == cp && $2 == zone-x:* ]] && echo sealed > "$3" @@ -1031,7 +1046,7 @@ a=$(line_no '^create '); b=$(line_no 'toon init'); c=$(line_no 'toon wallet fund [[ -n $a && -n $b && -n $c && -n $d && -n $e && $a -lt $b && $b -lt $c && $c -lt $d && $d -lt $e ]] launcher_check "a first run issues zone, node, faucet, supervisor, backup in order" $? grep -q 'toon init --accept-anyone-terms --network devnet' "$STUB_DIR/calls"; launcher_check "the node is initialised on devnet" $? -grep -q -- "^policy allow network --sandbox zone-x .*\*\*" "$STUB_DIR/calls" && ! grep -E '^policy allow' "$STUB_DIR/calls" | grep -qv -- '--sandbox zone-x' +grep -q -- "^policy allow network --sandbox zone-x .*\*\*" "$STUB_DIR/calls" && ! grep -E '^policy allow' "$STUB_DIR/calls" | grep -qv -- ' --sandbox ' launcher_check "the any-address rule names the zone and is never machine-wide" $? [[ -s $SPACETURTLE_BACKUP_DIR/wallet-backup ]] && grep -q "$SPACETURTLE_BACKUP_DIR/wallet-backup" "$tmp/out" && grep -qi keep "$tmp/out" launcher_check "the backup is written where the Observer is told, with a word to keep it" $? @@ -1045,8 +1060,24 @@ launcher_check "the supervisor check does not find its own shell" $? : > "$STUB_DIR/calls" run_launcher; rc=$? launcher_check "a second run succeeds" $rc -! grep -E '^create |^cp [^z]|toon init|toon wallet fund|toon wallet backup|^policy' "$STUB_DIR/calls" | grep -q . -launcher_check "a second run issues nothing that creates, initialises or funds" $? +! grep -E '^create |^cp [^z]|toon init|toon wallet fund|toon wallet backup|^policy|^ports .*--publish|untrusted-runtime' "$STUB_DIR/calls" | grep -q . +launcher_check "a second run issues nothing that creates, initialises, funds or publishes" $? + +# toon's home is the wallet's storage, the two ports that lead to the zone are published on +# the machine's loopback, and an image that is not trusted gets the sandboxed runtime. +launcher_env; run_launcher +grep -q -- "ln -sfn '$SPACETURTLE_DATA_DIR' ~/.toon/agent-node" "$STUB_DIR/calls"; launcher_check "toon's home in the zone is the wallet's storage" $? +[[ $(grep -c -- '--publish' "$STUB_DIR/calls") -eq 2 ]] && grep -q '^ports zone-x --publish 127.0.0.1:7123:17100$' "$STUB_DIR/calls" && grep -q '^ports zone-x --publish 127.0.0.1:7124:17101$' "$STUB_DIR/calls" +launcher_check "the orders and the connector are published on the machine's loopback, and nowhere else" $? +grep 'untrusted-runtime' "$STUB_DIR/calls" | grep -q 'echo runsc > $HOME/.toon/agent-node/untrusted-runtime'; launcher_check "an image that is not trusted is given the sandboxed runtime" $? +u=$SPACETURTLE_UNIT_DIR/spaceturtle-connector.service +grep -q "^ExecStart=$root/spaceturtle supervise$" "$u" && grep -q '^Restart=always$' "$u" && grep -q '^WantedBy=default.target$' "$u" && grep -q '^ExecStartPre=-.* daemon start -d$' "$u" && grep -q '^KillMode=process$' "$u" \ + && grep -q '^--user enable spaceturtle-connector.service$' "$STUB_DIR/systemctl-calls" +launcher_check "a unit keeps the zone running: it holds the supervisor's session, starts the daemon, and is enabled for the next start of the machine" $? +launcher_env; touch "$STUB_DIR/policy-set"; run_launcher; rc=$? +launcher_check "a machine whose sbx policy is already set is left as it is, and the run succeeds" $rc +launcher_env; run_launcher; echo "zone-x stopped" > "$STUB_DIR/zones"; rm "$STUB_DIR/up" "$STUB_DIR/ports"; : > "$STUB_DIR/calls"; run_launcher +[[ $(grep -c -- '--publish' "$STUB_DIR/calls") -eq 2 ]]; launcher_check "ports that are gone are published again" $? # The zone comes from the connector's zone image, nothing is copied in, and the supervisor is connector-start. grep '^create ' "$STUB_DIR/calls" >/dev/null; launcher_env; run_launcher @@ -1100,7 +1131,7 @@ launcher_check "the message names the addresses to fund and says there is no fau : > "$STUB_DIR/calls"; run_mainnet "mainnet"; rc=$? launcher_check "mainnet with the typed word succeeds" $rc grep -q 'toon network set mainnet' "$STUB_DIR/calls" && grep -q 'toon limit set --network-default' "$STUB_DIR/calls"; launcher_check "it moves the node and lowers the limit" $? -s=$(grep -n 'toon status --json' "$STUB_DIR/calls" | tail -1 | cut -d: -f1); n=$(line_no 'toon network set mainnet') +s=$(grep -n 'state.json' "$STUB_DIR/calls" | tail -1 | cut -d: -f1); n=$(line_no 'toon network set mainnet') [[ -n $s && -n $n && $s -gt $n ]] && grep -q 'is on mainnet' "$tmp/out"; launcher_check "after it, status shows mainnet" $? : > "$STUB_DIR/calls"; run_mainnet "mainnet"; rc=$? [[ $rc -eq 0 ]] && grep -qi 'already on mainnet' "$tmp/out" && changed_nothing; launcher_check "on mainnet already, it says so and changes nothing" $? @@ -1118,39 +1149,57 @@ session_env() { echo secret-key-123 > "$SPACETURTLE_MODEL_KEY_FILE"; : > "$STUB_DIR/calls" } run_cmd() { "$root/spaceturtle" "$@" > "$tmp/out" 2>&1; } +sdef() { echo "$SPACETURTLE_STATE_DIR/session/spaceturtle.yaml"; } +session_run() { grep 'docker-agent run' "$STUB_DIR/calls"; } session_env; run_cmd session; rc=$? -run=$(grep '^run ' "$STUB_DIR/calls") -[[ $rc -eq 0 && $run == *"--image ghcr.io/toon-protocol/spaceturtle-agent-zone:latest"* && $run == *"agent/spaceturtle.yaml"* ]]; launcher_check "a session passes the zone image and the definition" $? -[[ $(grep -o -- '--allow-host [^ ]*' <<<"$run" | tr '\n' ' ') == "--allow-host api.anthropic.com --allow-host localhost:7123 " ]]; launcher_check "the allow-list is exactly the provider and one loopback port" $? +run=$(session_run) +[[ $rc -eq 0 && $run == "exec -it -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY -e TOON_TRUSTED_ROOT=/etc/ssl/certs/ca-certificates.crt agent-x docker-agent run --sandbox=false --model anthropic/claude-sonnet-5-5 $(sdef)" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" +launcher_check "a session runs docker-agent in the agent's zone, on the definition as shipped" $? +grep -q '^policy allow network --sandbox agent-x api.anthropic.com$' "$STUB_DIR/calls" && ! grep -E '^policy allow' "$STUB_DIR/calls" | grep -qv -- '--sandbox agent-x' +launcher_check "the agent's zone is allowed the provider's host, by a rule that names the zone" $? ! grep -q secret-key-123 "$STUB_DIR/calls"; launcher_check "the model key is not an argument" $? -[[ $run != *--max-cost* ]]; launcher_check "a session by hand has no unattended ceiling" $? +[[ $run != *--yolo* && $run != *--exec* ]] && ! grep -q '^budget:' "$(sdef)"; launcher_check "a session by hand asks before a tool runs and has no unattended ceiling" $? +: > "$STUB_DIR/calls"; run_cmd session; ! grep -q '^policy' "$STUB_DIR/calls"; launcher_check "a host that is already allowed is not allowed again" $? run_cmd set model openai/gpt-x; : > "$STUB_DIR/calls"; run_cmd session -[[ $(grep -o -- '--allow-host [^ ]*' "$STUB_DIR/calls" | head -1) == "--allow-host api.openai.com" && $(grep '^run ' "$STUB_DIR/calls") == *"--model openai/gpt-x"* ]]; launcher_check "one setting changes the model, and the provider follows" $? -: > "$STUB_DIR/calls"; run_cmd session --unattended; rc=$? -grep '^run ' "$STUB_DIR/calls" | grep -q -- '--max-cost 1 '; launcher_check "an unattended session has a cost ceiling by default" $? +grep -q '^policy allow network --sandbox agent-x api.openai.com$' "$STUB_DIR/calls" && [[ $(session_run) == *"-e OPENAI_API_KEY "*"--model openai/gpt-x"* ]]; launcher_check "one setting changes the model, and the provider follows" $? +run_cmd set model chatgpt/gpt-x; : > "$STUB_DIR/calls"; run_cmd session +grep -q '^policy allow network --sandbox agent-x chatgpt.com$' "$STUB_DIR/calls" && [[ $(session_run) == *"-e CHATGPT_OAUTH_TOKEN "*"--model chatgpt/gpt-x"* ]]; launcher_check "a ChatGPT account serves as the provider, its token in the key file" $? +session_env; echo "https://connector.example.test/ilp" > "$STUB_DIR/connector-url"; run_cmd session +grep -q '^policy allow network --sandbox agent-x connector.example.test$' "$STUB_DIR/calls"; launcher_check "the agent's zone may reach the connector of the node's network, to seal a packet to it" $? +session_env; echo "http://abcdef.anyone/ilp" > "$STUB_DIR/connector-url"; run_cmd session; rc=$? +[[ $rc -eq 0 && $(grep -c '^policy allow' "$STUB_DIR/calls") -eq 1 ]]; launcher_check "a connector that is not reached over https adds no rule" $? +session_env; run_cmd session --unattended; rc=$? +[[ $rc -eq 0 && $(session_run) == "exec -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY -e TOON_TRUSTED_ROOT=/etc/ssl/certs/ca-certificates.crt agent-x docker-agent run --sandbox=false --model anthropic/claude-sonnet-5-5 --exec --yolo $(sdef) "* ]] +launcher_check "an unattended session runs without a terminal and without asking" $? +[[ $(tail -2 "$(sdef)") == $'budget:\n max_cost: 1' ]] && cmp -s <(head -n -2 "$(sdef)") "$root/agent/spaceturtle.yaml"; launcher_check "an unattended session has a cost ceiling by default, as the definition's budget" $? run_cmd set ceiling 0.25; : > "$STUB_DIR/calls"; run_cmd session --unattended -grep '^run ' "$STUB_DIR/calls" | grep -q -- '--max-cost 0.25 '; launcher_check "the ceiling can be changed" $? +[[ $(tail -1 "$(sdef)") == " max_cost: 0.25" ]]; launcher_check "the ceiling can be changed" $? run_cmd set ceiling 0; [[ $? -ne 0 ]]; launcher_check "a ceiling of zero is refused" $? run_cmd status; grep -q '^last unattended session: 20' "$tmp/out"; launcher_check "status shows the last unattended session's time" $? +run_cmd session; ! grep -q '^budget:' "$(sdef)"; launcher_check "a session by hand after an unattended one has no ceiling" $? session_env; rm "$SPACETURTLE_MODEL_KEY_FILE"; run_cmd session; rc=$? -[[ $rc -ne 0 ]] && grep -q 'no model key' "$tmp/out" && grep -q "$SPACETURTLE_MODEL_KEY_FILE" "$tmp/out" && ! grep -q '^run ' "$STUB_DIR/calls"; launcher_check "with no model key it stops and says how to supply one" $? +[[ $rc -ne 0 ]] && grep -q 'no model key' "$tmp/out" && grep -q "$SPACETURTLE_MODEL_KEY_FILE" "$tmp/out" && [[ -z $(session_run) ]]; launcher_check "with no model key it stops and says how to supply one" $? session_env; : > "$STUB_DIR/calls"; rm "$STUB_DIR/up"; run_cmd session; rc=$? -[[ $rc -ne 0 ]] && grep -q "connector's zone" "$tmp/out" && ! grep -q '^run ' "$STUB_DIR/calls"; launcher_check "with the supervisor not running no session starts, and it says so" $? +[[ $rc -ne 0 ]] && grep -q "connector's zone" "$tmp/out" && [[ -z $(session_run) ]]; launcher_check "with the supervisor not running no session starts, and it says so" $? session_env; rm "$STUB_DIR/zones"; : > "$STUB_DIR/calls"; run_cmd session; rc=$? -[[ $rc -ne 0 ]] && grep -q "connector's zone" "$tmp/out" && ! grep -q '^run ' "$STUB_DIR/calls"; launcher_check "with no connector zone no session starts, and it says so" $? +[[ $rc -ne 0 ]] && grep -q "connector's zone" "$tmp/out" && [[ -z $(session_run) ]]; launcher_check "with no connector zone no session starts, and it says so" $? session_env; echo "zone-x stopped" > "$STUB_DIR/zones"; run_cmd session; rc=$? -[[ $rc -ne 0 ]] && ! grep -q '^run ' "$STUB_DIR/calls"; launcher_check "with the connector's zone stopped no session starts" $? +[[ $rc -ne 0 && -z $(session_run) ]]; launcher_check "with the connector's zone stopped no session starts" $? +session_env; sed -i '/^agent-x /d' "$STUB_DIR/zones"; run_cmd session; rc=$? +[[ $rc -ne 0 && -z $(session_run) ]] && grep -q 'agent-key replace' "$tmp/out"; launcher_check "with no agent's zone no session starts, and it says how to make one" $? launcher_env; run_launcher grep -q 'enable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'OnUnitActiveSec=6h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" && grep -q 'session --unattended' "$SPACETURTLE_UNIT_DIR/spaceturtle.service"; launcher_check "start turns the timer on at a conservative interval" $? +grep -q "^Environment=PATH=$tmp/bin:" "$SPACETURTLE_UNIT_DIR/spaceturtle.service" && grep -q "^Environment=PATH=$tmp/bin:" "$SPACETURTLE_UNIT_DIR/spaceturtle-connector.service"; launcher_check "both units can find sbx, which systemd's own path does not hold" $? run_cmd status; grep -q '^timer: on, every 6h' "$tmp/out" && grep -q '^last unattended session: never' "$tmp/out"; launcher_check "status shows the timer on and no session yet" $? -run_cmd timer interval 2h; grep -q 'OnUnitActiveSec=2h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer"; launcher_check "the interval can be set" $? +: > "$STUB_DIR/systemctl-calls"; run_cmd timer interval 2h; grep -q 'OnUnitActiveSec=2h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" && grep -q 'OnActiveSec=2h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" && ! grep -q OnBootSec "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" \ + && grep -q 'restart spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "the interval can be set, counts from when the timer starts, and a running timer takes it" $? run_cmd timer interval soon; [[ $? -ne 0 ]]; launcher_check "a bad interval is refused" $? run_cmd timer off; grep -q 'disable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "the timer can be turned off" $? run_cmd status; grep -q '^timer: off, every 2h' "$tmp/out"; launcher_check "status shows it off" $? -: > "$STUB_DIR/systemctl-calls"; run_launcher; ! grep -q enable "$STUB_DIR/systemctl-calls"; launcher_check "start does not turn a timer off by the Observer back on" $? -run_cmd timer interval 3h; ! grep -q enable "$STUB_DIR/systemctl-calls"; launcher_check "an interval set while it is off leaves it off" $? -run_cmd timer on; grep -q 'enable --now' "$STUB_DIR/systemctl-calls" && grep -q 'OnUnitActiveSec=3h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer"; launcher_check "the timer can be turned on again" $? +: > "$STUB_DIR/systemctl-calls"; run_launcher; ! grep -q 'enable.*spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "start does not turn a timer off by the Observer back on" $? +run_cmd timer interval 3h; ! grep -q 'enable.*spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "an interval set while it is off leaves it off" $? +run_cmd timer on; grep -q 'enable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'OnUnitActiveSec=3h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer"; launcher_check "the timer can be turned on again" $? # --- the launcher: waiting, approve, refuse and status, against a stub sbx whose toon lists a waiting app --- waiting_env() { @@ -1158,12 +1207,15 @@ waiting_env() { echo "zone-x running" > "$STUB_DIR/zones" now=$(date +%s) # A peer that is pending is not an app, so it is not waiting. - echo "{\"peers\":[{\"name\":\"bob\",\"state\":\"pending\"}],\"agent_node\":{\"toon_apps\":[{\"apps\":[{\"name\":\"relay\",\"state\":\"running\"},{\"name\":\"oracle\",\"state\":\"pending\",\"image\":\"docker.io/x/oracle:1\",\"requested_at\":$((now - 7300))}]}]}}" > "$STUB_DIR/status" + # and neither is an app the Observer already refused. + echo "{\"peers\":[{\"name\":\"bob\",\"state\":\"pending\"}],\"agent_node\":{\"pending_apps\":[{\"name\":\"oracle\",\"status\":\"pending\",\"image\":\"docker.io/x/oracle:1\",\"requested_at\":$((now - 7300))},{\"name\":\"gone\",\"status\":\"refused\",\"image\":\"x/gone:1\"}],\"toon_apps\":[{\"apps\":[{\"name\":\"relay\",\"running\":true}]}]}}" > "$STUB_DIR/status" } waiting_env; run_cmd waiting; rc=$? launcher_check "waiting lists the name, image and age of each waiting app" $(( rc == 0 && $(grep -cP '^oracle\tdocker.io/x/oracle:1\t2h$' "$tmp/out") == 1 ? 0 : 1 )) -! grep -qE 'relay|bob' "$tmp/out"; launcher_check "waiting does not list an app that is running, or anything pending that is not an app" $? -waiting_env; echo '{"apps":[]}' > "$STUB_DIR/status"; run_cmd waiting; rc=$? +! grep -qE 'relay|bob|gone' "$tmp/out"; launcher_check "waiting does not list an app that is running or was refused, or anything pending that is not an app" $? +waiting_env; echo '{"agent_node":{"pending_apps":[{"name":"oracle","status":"pending","image":null,"url":"https://x.example/app"}]}}' > "$STUB_DIR/status"; run_cmd waiting +grep -qP '^oracle\thttps://x.example/app\tunknown$' "$tmp/out"; launcher_check "waiting names the URL of an app that has no image, and says when the time is not known" $? +waiting_env; echo '{"agent_node":{"pending_apps":[]}}' > "$STUB_DIR/status"; run_cmd waiting; rc=$? [[ $rc -eq 0 ]] && grep -q 'no app is waiting' "$tmp/out"; launcher_check "waiting with nothing waiting says so" $? waiting_env; : > "$STUB_DIR/calls"; run_cmd approve oracle; rc=$? launcher_check "approve runs toon approve on a waiting app" $(( rc == 0 && $(grep -c "toon approve -- 'oracle'" "$STUB_DIR/calls") == 1 ? 0 : 1 )) @@ -1186,14 +1238,15 @@ launcher_check "approve with toon status failing says so and changes nothing" $? # --- the launcher: status, stop, upgrade, backup, remove --- full_status() { # a node with an app running, one waiting, and a relay - echo '{"network":"devnet","agent_node":{"relay":{"url":"ws://127.0.0.1:7777"},"toon_apps":[{"apps":[{"name":"relay","state":"running"},{"name":"oracle","state":"pending","image":"x/oracle:1"}]}]}}' > "$STUB_DIR/status" + echo '{"agent_node":{"pending_apps":[{"name":"oracle","status":"pending","image":"x/oracle:1"}],"toon_apps":[{"apps":[{"name":"relay","running":true,"read_address":"127.0.0.1:7777"},{"name":"store","running":false}]}]}}' > "$STUB_DIR/status" } up_env() { launcher_env; run_launcher; : > "$STUB_DIR/calls"; : > "$STUB_DIR/systemctl-calls"; full_status; } up_env; echo "agent-x running" >> "$STUB_DIR/zones"; run_cmd status; rc=$? [[ $rc -eq 0 ]] && grep -q "connector's zone (zone-x): running" "$tmp/out" && grep -q "agent's zone (agent-x): in a session" "$tmp/out" \ - && grep -q 'app relay: running' "$tmp/out" && grep -q 'app oracle: not running' "$tmp/out" && grep -q 'network: devnet' "$tmp/out" \ + && grep -q 'app relay: running' "$tmp/out" && grep -q 'app store: not running' "$tmp/out" && grep -q 'network: devnet' "$tmp/out" \ && grep -q 'relay: reachable' "$tmp/out" && grep -q '1 app(s) waiting' "$tmp/out" && grep -q '^timer: on' "$tmp/out"; launcher_check "status names every zone, every app, the network and the relay" $? grep -q 'curl -s .*http://127.0.0.1:7777' "$STUB_DIR/calls"; launcher_check "the relay is checked from inside the connector's zone, at the address the node reports" $? +echo mainnet > "$STUB_DIR/network"; run_cmd status; grep -q 'network: mainnet' "$tmp/out"; launcher_check "status reads the network from the home's record" $? sed -i '/agent-x/d' "$STUB_DIR/zones"; touch "$STUB_DIR/relay-down"; run_cmd status grep -q "agent's zone (agent-x): idle" "$tmp/out" && grep -q 'relay: not reachable' "$tmp/out"; launcher_check "status says idle and an unreachable relay" $? for st in stopped; do @@ -1205,15 +1258,17 @@ up_env; rm "$STUB_DIR/zones"; run_cmd status; rc=$? # stop, then start up_env; echo secret-id > "$SPACETURTLE_DATA_DIR/identity"; run_cmd stop; rc=$? -[[ $rc -eq 0 ]] && grep -q '^stop zone-x' "$STUB_DIR/calls" && grep -q 'stop spaceturtle.timer' "$STUB_DIR/systemctl-calls" && ! grep -q 'disable' "$STUB_DIR/systemctl-calls" \ +[[ $rc -eq 0 ]] && grep -q '^stop zone-x' "$STUB_DIR/calls" && grep -q 'stop spaceturtle.timer' "$STUB_DIR/systemctl-calls" && ! grep -q 'disable.*spaceturtle.timer' "$STUB_DIR/systemctl-calls" \ && [[ $(conf_timer=$(sed -n 's/^timer=//p' "$SPACETURTLE_CONFIG_DIR/launcher.conf" 2>/dev/null | tail -1); echo "${conf_timer:-on}") == on ]]; launcher_check "stop stops the zone and the timer's unit, and leaves the timer's setting" $? -echo "agent-x running" >> "$STUB_DIR/zones"; : > "$STUB_DIR/calls"; echo "zone-x running" >> "$STUB_DIR/zones"; sed -i '/^zone-x stopped/d' "$STUB_DIR/zones"; run_cmd stop +u=$(grep -n 'disable --now spaceturtle-connector.service' "$STUB_DIR/systemctl-calls" | cut -d: -f1); [[ -n $u ]] && ! grep -q 'restart' "$STUB_DIR/systemctl-calls" +launcher_check "stop turns off the unit that would start the zone again" $? +sed -i '/^agent-x /d' "$STUB_DIR/zones"; echo "agent-x running" >> "$STUB_DIR/zones"; : > "$STUB_DIR/calls"; echo "zone-x running" >> "$STUB_DIR/zones"; sed -i '/^zone-x stopped/d' "$STUB_DIR/zones"; run_cmd stop grep -q '^stop agent-x' "$STUB_DIR/calls"; launcher_check "stop ends a session in the agent's zone" $? up_env; run_cmd stop; : > "$STUB_DIR/calls"; : > "$STUB_DIR/systemctl-calls"; run_launcher; rc=$? -[[ $rc -eq 0 ]] && grep -q '^start zone-x' "$STUB_DIR/calls" && ! grep -qE '^create |toon init|toon wallet fund' "$STUB_DIR/calls" && grep -q connector-start "$STUB_DIR/calls" \ - && grep -q 'enable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && [[ $(<"$SPACETURTLE_DATA_DIR/identity") == secret-id ]] 2>/dev/null || [[ ! -e $SPACETURTLE_DATA_DIR/identity ]]; launcher_check "start after stop starts the zone and the supervisor, creates and funds nothing, and turns the timer on" $? +[[ $rc -eq 0 ]] && grep -q '^exec zone-x true$' "$STUB_DIR/calls" && ! grep -qE '^create |toon init|toon wallet fund' "$STUB_DIR/calls" && grep -q connector-start "$STUB_DIR/calls" \ + && grep -q 'enable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'enable spaceturtle-connector.service' "$STUB_DIR/systemctl-calls" && [[ $(<"$SPACETURTLE_DATA_DIR/identity") == secret-id ]] 2>/dev/null || [[ ! -e $SPACETURTLE_DATA_DIR/identity ]]; launcher_check "start after stop starts the zone and the supervisor, creates and funds nothing, and turns the timer and the unit on" $? up_env; run_cmd timer off; run_cmd stop; : > "$STUB_DIR/systemctl-calls"; run_launcher -! grep -q 'enable' "$STUB_DIR/systemctl-calls"; launcher_check "start after stop leaves a timer that was off, off" $? +! grep -q 'enable.*spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "start after stop leaves a timer that was off, off" $? up_env; rm "$STUB_DIR/zones"; run_cmd stop; rc=$? [[ $rc -eq 0 ]] && grep -q 'nothing to stop' "$tmp/out" && ! grep -q '^stop' "$STUB_DIR/calls"; launcher_check "stop with no zone says so and exits 0" $? @@ -1231,6 +1286,8 @@ upg_env() { up_env; echo "agent-x stopped" >> "$STUB_DIR/zones"; echo "$PASS_TEX upg_env; run_cmd upgrade; rc=$? b=$(line_no 'toon wallet backup'); r=$(line_no '^rm '); c=$(grep -n '^create ' "$STUB_DIR/calls" | tail -1 | cut -d: -f1) [[ $rc -eq 0 && -n $b && -n $r && $b -lt $r && $r -lt $c ]] && grep '^create ' "$STUB_DIR/calls" | grep -q -- '--template ghcr.io/toon-protocol/spaceturtle-connector-zone:latest '; launcher_check "upgrade backs up, then removes, then creates from the connector's zone image" $? +grep -q '^--user stop spaceturtle-connector.service$' "$STUB_DIR/systemctl-calls" && grep -q '^--user restart spaceturtle-connector.service$' "$STUB_DIR/systemctl-calls" && [[ $(grep -c -- '--publish' "$STUB_DIR/calls") -eq 2 ]] +launcher_check "upgrade stops the unit before the zone goes, starts it for the new one, and publishes the ports again" $? (cd "$SPACETURTLE_DATA_DIR" && sha256sum * ) | cmp -s - "$tmp/before"; launcher_check "upgrade leaves the wallet's storage byte for byte" $? ! grep -qE 'toon init|toon wallet fund' "$STUB_DIR/calls" && grep -q 'policy allow network --sandbox zone-x' "$STUB_DIR/calls" && grep -q connector-start "$STUB_DIR/calls"; launcher_check "upgrade does not initialise or fund again, and sets up the new zone" $? [[ $(<"$STUB_DIR/stdin") == "$PASS_TEXT" ]]; launcher_check "the passphrase reaches the new zone through standard input" $? @@ -1249,8 +1306,8 @@ launcher_env; run_cmd upgrade; rc=$? rm_env() { up_env; echo "agent-x running" >> "$STUB_DIR/zones"; echo k > "$SPACETURTLE_MODEL_KEY_FILE"; echo wallet-bytes > "$SPACETURTLE_DATA_DIR/w1"; run_cmd set model openai/x; } rm_cmd() { printf '%s\n' "${@:2}" | "$root/spaceturtle" remove $1 > "$tmp/out" 2>&1; } rm_env; rm_cmd "" y; rc=$? -[[ $rc -eq 0 ]] && grep -q 'fresh backup' "$tmp/out" && [[ -s $SPACETURTLE_DATA_DIR/w1 && -s $SPACETURTLE_BACKUP_DIR/wallet-backup ]] && [[ ! -e $SPACETURTLE_MODEL_KEY_FILE && ! -e $SPACETURTLE_STATE_DIR/launcher && ! -e $SPACETURTLE_CONFIG_DIR/launcher.conf && ! -e $SPACETURTLE_UNIT_DIR/spaceturtle.timer ]] \ - && grep -q '^rm .*zone-x' "$STUB_DIR/calls" && grep -q '^rm .*agent-x' "$STUB_DIR/calls" && grep -q 'disable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" \ +[[ $rc -eq 0 ]] && grep -q 'fresh backup' "$tmp/out" && [[ -s $SPACETURTLE_DATA_DIR/w1 && -s $SPACETURTLE_BACKUP_DIR/wallet-backup ]] && [[ ! -e $SPACETURTLE_MODEL_KEY_FILE && ! -e $SPACETURTLE_STATE_DIR/launcher && ! -e $SPACETURTLE_CONFIG_DIR/launcher.conf && ! -e $SPACETURTLE_UNIT_DIR/spaceturtle.timer && ! -e $SPACETURTLE_UNIT_DIR/spaceturtle-connector.service && ! -e $SPACETURTLE_STATE_DIR/session ]] \ + && grep -q '^rm .*zone-x' "$STUB_DIR/calls" && grep -q '^rm .*agent-x' "$STUB_DIR/calls" && grep -q 'disable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'disable --now spaceturtle-connector.service' "$STUB_DIR/systemctl-calls" \ && grep -q "$SPACETURTLE_DATA_DIR" "$tmp/out" && grep -q "$SPACETURTLE_BACKUP_DIR" "$tmp/out"; launcher_check "remove removes the zones, the units, the markers, the settings and the key, keeps the wallet and the backup, and says where" $? rm_env; l1=$(line_no 'toon wallet backup'); rm_cmd "" n; rc=$? [[ $rc -eq 0 && $(grep -c 'toon wallet backup' "$STUB_DIR/calls") -eq 0 ]]; launcher_check "remove lets the fresh backup be declined" $? @@ -1269,7 +1326,12 @@ rm_env; echo "cp zone-x" > "$STUB_DIR/fail-on"; rm_cmd "" y; rc=$? # the agent key launcher_env; run_launcher; rc=$? [[ $rc -eq 0 && $(wc -l < "$STUB_DIR/keys") -eq 1 ]] && grep -q 'toon agent-key create' "$STUB_DIR/calls"; launcher_check "a first run creates exactly one agent key, with the default scope and limit" $? -! grep -qE -- '--scope|--limit' <(grep 'agent-key create' "$STUB_DIR/calls"); launcher_check "the agent key is created without overriding the default scope or limit" $? +! grep -qE -- '--scope|--max-per|--limit' <(grep 'agent-key create' "$STUB_DIR/calls") && grep 'agent-key create' "$STUB_DIR/calls" | grep -q -- '--out /tmp/agent-key'; launcher_check "the agent key is created without overriding the default scope or limit" $? +grep '^exec -i agent-x' "$STUB_DIR/calls" | grep -q 'http://host.docker.internal:7123' && grep '^exec -i agent-x' "$STUB_DIR/calls" | grep -q 'http://host.docker.internal:7124' +launcher_check "on the way in, the key file's addresses become the machine's two ports that lead to the connector's zone" $? +grep '^create --name agent-x' "$STUB_DIR/calls" | grep -q -- "--cpus 2 --memory 2g .* $SPACETURTLE_STATE_DIR/session:ro$" && grep -q '^policy allow network --sandbox agent-x localhost:7123,localhost:7124$' "$STUB_DIR/calls" +launcher_check "the agent's zone is small, mounts the session's definition read-only, and may reach those two ports" $? +a=$(line_no 'toon agent-key create'); d=$(line_no 'exec connector-start'); [[ -n $a && -n $d && $a -lt $d ]]; launcher_check "the key is made before the supervisor starts, so that it listens for orders" $? [[ $(<"$STUB_DIR/agent-zone-key") == PRIVATE-HALF-1 ]]; launcher_check "the private half is placed in the agent's zone" $? ! grep -rq 'PRIVATE-HALF' "$tmp/out" "$SPACETURTLE_STATE_DIR" "$SPACETURTLE_CONFIG_DIR" "$HOME" "$SPACETURTLE_DATA_DIR" "$SPACETURTLE_BACKUP_DIR" "$STUB_DIR/calls" 2>/dev/null && [[ ! -e $STUB_DIR/agentkeyfile ]] launcher_check "the private half is nowhere else: not in the output, the launcher's files, the home, the calls, or the connector's zone" $? @@ -1294,13 +1356,17 @@ grep -q 'exec agent-x sh -c rm -f $HOME/.config/toon-agent/key' "$STUB_DIR/calls upg_env; run_cmd agent-key revoke; run_cmd upgrade; rc=$? [[ $rc -eq 0 && ! -s $STUB_DIR/keys ]]; launcher_check "upgrade does not make a key after a revoke" $? up_env; : > "$STUB_DIR/calls"; run_cmd agent-key limit 3; rc=$? -[[ $rc -eq 0 ]] && grep -q "toon agent-key set --limit '3' -- 'key-1'" "$STUB_DIR/calls"; launcher_check "agent-key limit sets the spending limit" $? -up_env; run_cmd agent-key limit lots; rc=$? -[[ $rc -ne 0 ]] && grep -q 'usage' "$tmp/out"; launcher_check "agent-key limit refuses a value that is not an amount" $? +[[ $rc -eq 0 ]] && grep -q "toon agent-key set --max-per-day '3' --max-per-command '3' -- 'key-1'" "$STUB_DIR/calls"; launcher_check "agent-key limit sets the day's limit, and brings what one command may pay down with it" $? +up_env; : > "$STUB_DIR/calls"; run_cmd agent-key limit 50; rc=$? +[[ $rc -eq 0 ]] && grep -q "toon agent-key set --max-per-day '50' -- 'key-1'" "$STUB_DIR/calls"; launcher_check "agent-key limit leaves a per-command limit that is under the day's" $? +for bad_amount in lots 0.5 0; do + up_env; run_cmd agent-key limit "$bad_amount"; rc=$? + [[ $rc -ne 0 ]] && grep -q 'usage' "$tmp/out" && ! grep -q 'agent-key set' "$STUB_DIR/calls"; launcher_check "agent-key limit refuses '$bad_amount', which is not a whole number of base units" $? +done upg_env; run_cmd upgrade; rc=$? [[ $rc -eq 0 && $(<"$STUB_DIR/keys") == key-2 ]]; launcher_check "upgrade, which removes the agent's zone, replaces the key" $? # no tool in the agent definition can do it -bad=$tmp/bad.yaml; yq '.agents.spaceturtle.toolsets += [{"type":"script","shell":{"k":{"cmd":"toon agent-key set --limit 99","description":"x"}}}]' "$root/agent/spaceturtle.yaml" > "$bad" +bad=$tmp/bad.yaml; yq '.agents.spaceturtle.toolsets += [{"type":"script","shell":{"k":{"cmd":"toon agent-key set --max-per-day 99","description":"x"}}}]' "$root/agent/spaceturtle.yaml" > "$bad" "$root/tests/check-agent" "$bad" > "$tmp/out" 2>&1; rc=$? [[ $rc -ne 0 ]] && grep -q forbidden-command "$tmp/out"; launcher_check "check-agent refuses a tool that runs toon agent-key" $? From caee89edf3c3ef065140bdd77b52e3050808ca99 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Mon, 12 Oct 2026 19:39:56 -0400 Subject: [PATCH 03/22] The guides describe the launcher as it runs on devnet (#57) Co-Authored-By: Claude Opus 5.5 --- docs/development.md | 4 +- docs/guide/concepts.md | 4 +- docs/guide/first-run.md | 14 +++++-- docs/guide/launcher.md | 88 ++++++++++++++++++++++++++++++----------- 4 files changed, 82 insertions(+), 28 deletions(-) diff --git a/docs/development.md b/docs/development.md index 933e865..dc0f656 100644 --- a/docs/development.md +++ b/docs/development.md @@ -25,9 +25,9 @@ without an agent node. | `relay-events` | Prints the agent's activity, the relay's other events, each event with its resolved parts (label, title, summary, body, links, ref) and what it refers to and what refers to it, the events a thread needs beyond the limit, profiles, the Persona (the agent identity's newest profile with a name, or `null`), follow lists, node addresses, the node's state, the Requests and the agent's private messages (grouped into conversations, or why they cannot be read) as one JSON document, with its `attention` state (`none`, `news`, `urgent`) | | `skills/being-observed/SKILL.md` | The agent's skill: the public key file, the Persona (creating, reading and living by it, renaming the relay), reading the Requests, answering them, writing a Renderer for a kind | | `request` | Writes a Request into the queue, or withdraws a waiting one | -| `spaceturtle` | The launcher: `spaceturtle start` brings up the connector's zone on devnet from the connector's zone image (`SPACETURTLE_CONNECTOR_IMAGE`), copying nothing in from the machine, doing only the steps not yet done, with its step markers in `~/.local/state/spaceturtle/launcher`; `spaceturtle mainnet` moves it to mainnet once confirmed; `session`, `timer`, `set` and `key` start the agent's sessions, by hand and on a timer, and keep its settings in `~/.config/spaceturtle/launcher.conf`; `waiting`, `approve` and `refuse` list, approve and refuse the apps the agent node holds until the Observer approves them; `start` also makes the agent key once, and `agent-key show`, `replace`, `revoke` and `limit` show, replace, revoke and limit it from outside the agent's zone; `status` shows the timer and the last unattended session, each zone's state, the node's network, its apps and relay, whether the supervisor runs and how many apps wait; `stop`, `upgrade`, `backup` and `remove` stop, replace, back up and remove the Install (`upgrade` carries the passphrase in memory through `sbx exec`; `remove` keeps the wallet's storage and the backup directory) | +| `spaceturtle` | The launcher: `spaceturtle start` brings up the connector's zone on devnet from the connector's zone image (`SPACETURTLE_CONNECTOR_IMAGE`), copying nothing in from the machine, doing only the steps not yet done, with its step markers in `~/.local/state/spaceturtle/launcher`; `spaceturtle mainnet` moves it to mainnet once confirmed; `session`, `timer`, `set` and `key` start the agent's sessions, by hand and on a timer, and keep its settings in `~/.config/spaceturtle/launcher.conf`; `waiting`, `approve` and `refuse` list, approve and refuse the apps the agent node holds until the Observer approves them; `start` also makes the agent key once, and `agent-key show`, `replace`, `revoke` and `limit` show, replace, revoke and limit it from outside the agent's zone; `status` shows the timer and the last unattended session, each zone's state, the node's network, its apps and relay, whether the supervisor runs and how many apps wait; `stop`, `upgrade`, `backup` and `remove` stop, replace, back up and remove the Install (`upgrade` carries the passphrase in memory through `sbx exec`; `remove` keeps the wallet's storage and the backup directory); `supervise` is what the unit that keeps the connector's zone running runs | | `agent/spaceturtle.yaml` | The agent's definition for `docker-agent`: its instruction, its file tool and the skills it loads. A release publishes it as it is | -| `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`, the overlay client's proxy line), and the connector's entrypoint, which starts the engine and the supervisor without `systemd --user` | +| `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`, the overlay client's proxy line), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | | `images/versions.env`, `images/versions` | Every pin the two images add, with its checksum, and the `docker-agent` program a release publishes with; the command that prints the images' versions for release notes | | `.github/workflows/images.yml` | Builds both images on every change to `images/`. It does not publish | | `release/references`, `release/publish-definition`, `release/mark-latest`, `release/notes` | What a release publishes, under which names; the definition pushed to each registry and read back, byte for byte; `latest` moved to a release once it is all published; the release's notes | diff --git a/docs/guide/concepts.md b/docs/guide/concepts.md index 931e228..548848a 100644 --- a/docs/guide/concepts.md +++ b/docs/guide/concepts.md @@ -35,7 +35,9 @@ order out only if it is within the key's **scope** and its **spending limit**. - **It can** do a provider's daily work: send packets, add and remove peerings, write routes, fund a channel it already has, land vouchers, add and remove apps, set prices, - read status and logs, and publish events. + read status and logs, and publish events. `toon` does not yet do all of that with an + agent key, and the agent has a tool only for what it does: see + [The launcher](launcher.md). - **It cannot** withdraw a channel, open one toward a counterparty of its choosing, raise its own spending limit, touch the wallet, or run an app whose image is not TOON's own until you approve it (`spaceturtle waiting`, `approve`, `refuse`). diff --git a/docs/guide/first-run.md b/docs/guide/first-run.md index 4c99902..fee1d37 100644 --- a/docs/guide/first-run.md +++ b/docs/guide/first-run.md @@ -10,9 +10,12 @@ changing nothing, when one is missing: [`sbx`](https://github.com/docker/sbx-releases), then run `sbx login` and `sbx daemon start -d`. - **`docker-agent`** needs no install of its own: it runs inside the agent's zone. -- **systemd**, for the timer's user units. +- **systemd**, for two user units: the one that keeps the connector's zone running, and + the timer. To have the Install back after a restart without logging in, let your user + linger: `loginctl enable-linger`. - **A model provider's key**, which is yours alone. Put it in `~/.config/spaceturtle-launcher/model-key` or run `spaceturtle key` after the first run. + A ChatGPT account serves too: see `set model` in [The launcher](launcher.md). - **`bash`, `jq` and `curl`.** - **A little money in mind.** The first run is on devnet and costs nothing. Mainnet is real money: read [How the money is kept safe](concepts.md#how-the-money-is-kept-safe) @@ -33,9 +36,10 @@ On devnet, it: connector's zone image, with nothing copied in from your machine; 2. initialises the agent node inside it, makes the wallet and funds it from the devnet faucet; -3. starts the supervisor, which runs the node's apps; -4. makes the agent key, with the default scope and spending limit, and places its private +3. makes the agent key, with the default scope and spending limit, and places its private half in the agent's zone; +4. starts the supervisor, which runs the node's apps, in a systemd user unit that keeps + the zone running and brings it back after a restart; 5. writes a sealed backup of the wallet to `~/spaceturtle-backup`. **Keep it.** 6. turns on the timer, which starts a session every 6 hours (`spaceturtle timer off` turns it off). @@ -45,3 +49,7 @@ interrupted run finishes the rest. The passphrase is made inside the zone and is printed and never written to your machine's disk. Then give it its model key and start a session by hand with `spaceturtle session`. + +The wallet is funded with the devnet token and no gas. To pay an app on another connector +the node must open a channel, which is a transaction: send a little Base Sepolia ETH, from +a public faucet, to the EVM address `toon wallet show` prints in the connector's zone. diff --git a/docs/guide/launcher.md b/docs/guide/launcher.md index 7395948..e12530f 100644 --- a/docs/guide/launcher.md +++ b/docs/guide/launcher.md @@ -7,62 +7,98 @@ and says why, when KVM or a signed-in `sbx` is missing. virtual machine made from the connector's zone image (`ghcr.io/toon-protocol/spaceturtle-connector-zone:latest`, or `SPACETURTLE_CONNECTOR_IMAGE`), which holds the pinned `toon`; nothing is copied into it from your machine. It has an any-address rule scoped to that zone alone, the agent node -initialised inside it, the wallet funded from the faucet, the supervisor started (the image's `connector-start`, which also starts the container engine for the apps), and a +initialised inside it, the wallet funded from the faucet, the agent key made, the supervisor started (the image's `connector-start`, which also starts the container engine for the apps), and a sealed backup of the wallet written to `~/spaceturtle-backup` (`SPACETURTLE_BACKUP_DIR`). Keep that backup. The passphrase is made inside the zone; it is never printed and never written to your machine's disk, and `upgrade` carries it in memory to the new zone. A second run creates, initialises and funds nothing, and an interrupted run finishes the rest. It needs KVM and a signed-in `sbx`, and says what is missing and how to fix it before it does anything. The wallet's storage is `~/.local/share/spaceturtle/wallet` (`SPACETURTLE_DATA_DIR`), -mounted into the zone and outside its image. +mounted into the zone and outside its image. It is the whole of `toon`'s home, so it also +holds the agent identity's secret; the passphrase that opens the wallet is not in it. + +Docker Sandboxes stops a zone 30 seconds after the last command attached to it ends, and +nothing starts its daemon when your machine does. So `start` writes and enables a systemd +user unit, `spaceturtle-connector.service`, which starts the daemon, holds one session open +in the zone with the supervisor in it (`spaceturtle supervise`), and is started again +whenever that session ends. That is what brings the zone back after the machine restarts. +A user unit runs once you log in, or at boot if your user lingers +(`loginctl enable-linger`). `journalctl --user -u spaceturtle-connector` shows the +supervisor's output. + +`start` leaves your machine's `sbx` policy as it is, and initialises it as `balanced` only +when there is none. It publishes two ports of the connector's zone on your machine's +loopback, `47100` and `47101` (`SPACETURTLE_CONNECTOR_PORT` names the first): the +supervisor's orders and the relay TOON app's connector, which is all the agent's zone +reaches of the node. An app whose image is not on `toon`'s list of trusted images runs under +gVisor: `start` writes `runsc` to the home's `untrusted-runtime`. `spaceturtle mainnet [--keep-limit]` moves a devnet Install to mainnet. It says that real funds are now at stake, that there is no faucet, and which wallet addresses to fund, then asks you to type `mainnet`; anything else changes nothing. It lowers the spending limit to the mainnet default unless you pass `--keep-limit`. On an Install already on mainnet it says -so and changes nothing. It runs `toon status --json`, `toon wallet addresses`, -`toon network set mainnet` and `toon limit set --network-default` in the connector's zone. +so and changes nothing. It runs `toon wallet show`, `toon network set mainnet` and +`toon limit set --network-default` in the connector's zone. **`toon` 0.2.0 has neither of +the last two**, so today the command stops at "toon could not move the node to mainnet" and +changes nothing: an Install stays on devnet. -`spaceturtle session` starts a `docker-agent` session in the agent's zone, from the agent's -zone image (`SPACETURTLE_AGENT_IMAGE`) and `agent/spaceturtle.yaml`. The zone may reach the -model provider and one loopback port, the one that leads to the connector's zone -(`SPACETURTLE_CONNECTOR_PORT`), and nothing else. No session starts while the connector's -zone is not running. The model key is yours: put it in +`spaceturtle session` starts a `docker-agent` session in the agent's zone, which is made +from the agent's zone image (`SPACETURTLE_AGENT_IMAGE`), on a copy of +`agent/spaceturtle.yaml` that the zone mounts read-only. The launcher allows the zone three +things by rules that name it: the model provider's host, the host of the connector of the +node's network (a packet for an app behind that connector is sealed to it), and the two +loopback ports that lead to the connector's zone. Your machine's own `sbx` policy applies on +top: `balanced` lets every sandbox reach a list of common hosts, and `sbx policy reset` +followed by `sbx policy init deny-all` leaves the zone those three things alone. No session +starts while the connector's zone is not running. The model key is yours: put it in `~/.config/spaceturtle-launcher/model-key` (`SPACETURTLE_MODEL_KEY_FILE`) or run `spaceturtle key`. It is given to the session as an environment variable, never as an argument, and sits outside every directory the agent may read. Without it the launcher stops and says so. +A session by hand is a conversation, and `docker-agent` asks you before a tool runs. An +unattended one has nobody to ask, so every tool the definition offers runs unasked; the +definition's tools, the agent key's scope and its spending limit are what bound it. + - `spaceturtle key` reads the model key from the terminal, without showing it, and writes it to `~/.config/spaceturtle-launcher/model-key`, readable by you alone. -- `spaceturtle set model ` changes the model. +- `spaceturtle set model ` changes the model. The launcher knows + `anthropic`, `openai`, `google` and `mistral`, whose key file holds an API key, and + `chatgpt`, a ChatGPT account in place of an API key: its key file holds the account's + access token (`docker agent setup` signs in and keeps it as `access_token` in + `~/.config/cagent/chatgpt-auth.json`), which runs out after some days. - `spaceturtle timer on|off|interval m|h|d` controls the timer, which starts a session with nobody present (`spaceturtle session --unattended`). `start` turns it on, every 6h, - unless you turned it off. + unless you turned it off. The interval counts from when the timer starts, so the first + session comes one interval after `start`. - `spaceturtle set ceiling ` sets the ceiling on model cost of one unattended - session (default 1). + session (default 1). It is `docker-agent`'s `budget`, written into the session's copy of + the definition, and the session stops when it is reached. `docker-agent` can only count + the cost of a model it knows the price of: a session on a ChatGPT account costs it + nothing, so there the ceiling never stops one. - `spaceturtle status` shows the timer, its interval and the last unattended session's time, and for each of the connector's zone (`running`, `stopped` or `not created`), the agent's zone (`in a session` or `idle`) and every app the node has, whether it runs; then the node's network and whether its relay answers from inside the connector's zone. While the connector's zone is stopped or not created it says those cannot be read, and still exits 0. - `spaceturtle stop` stops the timer's unit (its on/off setting stays), a session in the - agent's zone and then the connector's zone, and loses nothing; `start` brings it back - without creating, initialising or funding anything. With no zone it says there is nothing - to stop. + agent's zone, the unit that keeps the connector's zone running and then that zone, and + loses nothing; `start` brings it back without creating, initialising or funding anything. + A stopped Install stays stopped when the machine restarts. With no zone it says there is + nothing to stop. - `spaceturtle upgrade` replaces the connector's zone with one from the newest connector's zone image and leaves the wallet's storage as it was. It makes a fresh backup first and stops, changing nothing, if that fails or if the passphrase cannot be read out of the old zone. The passphrase goes from the old zone to the new one through the standard input and output of `sbx exec`, in the launcher's memory only. `toon init` and the faucet do not run again. The agent's zone is removed too, so the next `session` uses the newest agent's zone - image. + image; what the agent kept in that zone goes with it, and it gets a new agent key. - `spaceturtle backup` writes a fresh sealed backup to `~/spaceturtle-backup` and says where; the backup already there is replaced only once the new one has arrived whole. It needs the connector's zone running. - `spaceturtle remove [--delete-wallet]` offers a fresh backup (the passphrase goes with the - zone), then removes both zones, the timer's units, the step markers, the settings and the - model key. It keeps the wallet's storage and the backup directory and says where they are. + zone), then removes both zones, the timer's units and the unit that keeps the connector's + zone running, the step markers, the settings and the model key. It keeps the wallet's storage and the backup directory and says where they are. `--delete-wallet` also deletes the wallet's storage, and only after you type `delete`; anything else, or no input, changes nothing. Nothing ever deletes the backup directory. @@ -72,18 +108,26 @@ no tool for any of them: | Command | What it does | | --- | --- | -| `spaceturtle waiting` | Lists each waiting app with its image and how long it has waited | +| `spaceturtle waiting` | Lists each waiting app with its image or URL, and how long it has waited when `toon` says (0.2.0 does not, so it reads `unknown`) | | `spaceturtle approve ` | Starts it; an image that is not TOON's own runs under the sandboxed runtime | | `spaceturtle refuse [reason]` | Discards it | | `spaceturtle status` | Also says whether the supervisor is running and how many apps are waiting | | `spaceturtle agent-key show` | The agent key's scope, limits and what is left today; never the private half | | `spaceturtle agent-key replace` | Makes a new key, revokes the old one, places the new private half in the agent's zone; the wallet is untouched | | `spaceturtle agent-key revoke` | Removes the key from the agent node's list and deletes its private half from the agent's zone; the agent's next order is refused | -| `spaceturtle agent-key limit ` | Sets the key's spending limit; the agent has no tool for it | +| `spaceturtle agent-key limit ` | Sets what the key may spend in a UTC day, in the token's base units (`5000000` is 5 USDC), and brings what one command may pay down to it if that was more; the agent has no tool for it | `start` makes exactly one agent key, with the default scope (ADR 0003) and the default spending limit. Its private half goes from the connector's zone to the agent's zone through a pipe, and -is kept nowhere else. A second `start` makes none, and neither does `upgrade` after a revoke. +is kept nowhere else. On the way in, the two addresses in the key file become the two ports of +your machine that lead to the connector's zone. A second `start` makes none, and neither does +`upgrade` after a revoke. + +With an agent key `toon` 0.2.0 reads status and the connector's log, sends packets, adds a +peering, sets a route's price, adds and removes apps, publishes events, reads and sends +private messages and shows the limit. It does not yet write a route, remove a peering, fund +a channel, land vouchers or query a relay with one, so the agent has no tool for those and +you do them: `sbx exec -e TOON_PASSPHRASE_FILE=/home/agent/.config/toon-passphrase st-connector toon route add ...`. Approving or refusing an app that is not waiting says so and changes nothing. The list is -read from the apps `toon status --json` reports as `pending`. +read from the `pending_apps` of `toon status --json`. From 62af66b606fb6639d1c59647951508888424e8fa Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Mon, 12 Oct 2026 19:48:57 -0400 Subject: [PATCH 04/22] Review fixes for the devnet run (#57) The unit that keeps the zone running is enabled on every start, and started whenever it is not holding a session. The forwarders listen on the zone's own address, which no app's network reaches. A second start no longer pushes the next session out. The port setting must be a number, the images workflow checks jq is in the agent's zone, and the agent's instruction says that adding a peering opens a channel. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/images.yml | 3 +++ agent/spaceturtle.yaml | 7 ++++--- images/connector/connector-start | 11 +++++++---- spaceturtle | 17 ++++++++++------- tests/run | 3 +++ 5 files changed, 27 insertions(+), 14 deletions(-) diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml index dc2c5e5..fbd6dd2 100644 --- a/.github/workflows/images.yml +++ b/.github/workflows/images.yml @@ -41,6 +41,9 @@ jobs: docker run --rm --entrypoint sh spaceturtle-agent-zone:ci -c ' ! env | grep -i -E "passphrase|mnemonic|secret|agent_key" && ! ls -d "$HOME/.toon" "$HOME/.config/toon" "$HOME/.local/share/toon" 2>/dev/null | grep .' + - name: jq is in the agent's zone, where the launcher rewrites the key file's addresses + if: matrix.image == 'agent' + run: docker run --rm --entrypoint jq spaceturtle-agent-zone:ci --version - name: gVisor and the overlay client's proxy line are in the connector's zone if: matrix.image == 'connector' run: | diff --git a/agent/spaceturtle.yaml b/agent/spaceturtle.yaml index 0887021..55112a3 100644 --- a/agent/spaceturtle.yaml +++ b/agent/spaceturtle.yaml @@ -15,9 +15,10 @@ agents: You work your agent node with an agent key. Its scope is a provider's daily work: read status and the connector's log, send packets, add a peering, set the price of a route, add and remove apps, publish events, read and send private messages, and - show your spending limit. You cannot change the limit, touch a wallet, remove a - peering, write a route, open, fund or withdraw a channel, query a relay, or create - a TOON app: you have no tool for those, and the Observer does them. + show your spending limit. Adding a peering opens a channel with the deposit you + state, which counts against your limit. You cannot change the limit, touch a + wallet, remove a peering, write a route, fund or withdraw a channel, query a relay, + or create a TOON app: you have no tool for those, and the Observer does them. An order outside the scope, or past the spending limit, is refused. When that happens, tell the Observer plainly what you tried and stop; do not look for another way round it. An app whose image is not TOON's own waits for the Observer's approval diff --git a/images/connector/connector-start b/images/connector/connector-start index 9c23c14..688e108 100755 --- a/images/connector/connector-start +++ b/images/connector/connector-start @@ -28,12 +28,15 @@ home=$HOME/.toon/agent-node pgrep -f "[t]oon up" >/dev/null || rm -f "$home/supervisor.sock" # The supervisor's orders and the relay TOON app's connector listen on loopback, which a -# published port does not reach. A forwarder on every address leads to each: 17100 to the -# orders, 17101 to the connector. The launcher publishes those two to the machine's loopback. +# published port does not reach. A forwarder on the zone's own address leads to each: 17100 +# to the orders, 17101 to the connector. The launcher publishes those two to the machine's +# loopback. They listen on that one address, which is not on any app's network. +own_address=$(hostname -i | tr ' ' '\n' | grep -m1 -E '^[0-9]+(\.[0-9]+){3}$' || true) forward() { # listening port, the loopback port it leads to - [[ $2 =~ ^[0-9]+$ ]] || return 0 + [[ -n $own_address ]] || { echo "connector-start: the zone's own address is not known, so port $1 is not forwarded" >&2; return 0; } + [[ $2 =~ ^[0-9]+$ ]] || { echo "connector-start: nothing to forward port $1 to yet" >&2; return 0; } pgrep -f "socat TCP-LISTEN:$1," >/dev/null && return 0 - setsid nohup socat "TCP-LISTEN:$1,fork,reuseaddr" "TCP:127.0.0.1:$2" >/dev/null 2>&1 < /dev/null & + setsid nohup socat "TCP-LISTEN:$1,bind=$own_address,fork,reuseaddr" "TCP:127.0.0.1:$2" >/dev/null 2>&1 < /dev/null & } forward 17100 "$(jq -r '.supervisor // "" | sub(".*:"; "")' "$home/agent-keys.json" 2>/dev/null)" forward 17101 "$(jq -r '.toon_apps[0].listen // "" | sub(".*:"; "")' "$home/state.json" 2>/dev/null)" diff --git a/spaceturtle b/spaceturtle index 75117fd..3cab263 100755 --- a/spaceturtle +++ b/spaceturtle @@ -156,6 +156,7 @@ agent_image=${SPACETURTLE_AGENT_IMAGE:-ghcr.io/toon-protocol/spaceturtle-agent-z here=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) agent_def=${SPACETURTLE_AGENT_DEF:-$here/agent/spaceturtle.yaml} connector_port=${SPACETURTLE_CONNECTOR_PORT:-47100} +[[ $connector_port =~ ^[1-9][0-9]{0,4}$ ]] || { echo "spaceturtle: SPACETURTLE_CONNECTOR_PORT must be a port number, not '$connector_port'" >&2; exit 1; } relay_port=$((connector_port + 1)) supervisor_wait=${SPACETURTLE_SUPERVISOR_WAIT:-180} # The agent definition as a session reads it, in a directory the agent's zone mounts read-only. @@ -300,11 +301,12 @@ supervise() { } step_supervisor() { - # Written on every run, so a launcher that has moved or changed is the one the unit runs. + # Written and enabled on every run, so a launcher that has moved or changed is the one the unit runs. write_connector_unit - supervisor_running && return - say "starting the supervisor" "$systemctl_" --user enable spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be enabled" + # A supervisor with no unit holding its session would go with the zone, 30 seconds on. + supervisor_running && "$systemctl_" --user is-active --quiet spaceturtle-connector.service && return + say "starting the supervisor" "$systemctl_" --user restart spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be started" local waited=0 until supervisor_running; do @@ -518,10 +520,11 @@ UNIT "$systemctl_" --user daemon-reload || die "systemctl --user daemon-reload failed" } -timer_on() { +timer_on() { # "restart" when the interval may have changed write_timer + "$systemctl_" --user enable --now spaceturtle.timer || die "the timer could not be turned on" # A timer that is already running keeps the interval it started with until it is started again. - "$systemctl_" --user enable --now spaceturtle.timer && "$systemctl_" --user restart spaceturtle.timer || die "the timer could not be turned on" + [[ ${1:-} != restart ]] || "$systemctl_" --user restart spaceturtle.timer || die "the timer could not be started again" conf_set timer on say "the timer is on, every $(conf_get interval 6h)" } @@ -540,7 +543,7 @@ timer() { valid_interval "${2:-}" || die "usage: spaceturtle timer interval m|h|d, such as 6h" conf_set interval "$2" # A timer that is on is written again with the new interval. - [[ $(conf_get timer on) == on ]] && timer_on || say "the interval is $2; the timer is off" + [[ $(conf_get timer on) == on ]] && timer_on restart || say "the interval is $2; the timer is off" ;; *) die "usage: spaceturtle timer on|off|interval m|h|d" ;; esac @@ -624,7 +627,7 @@ place_agent_key() { local was; was=$(zone_state "$agent_zone") ensure_agent_zone "$was" if ! "$sbx" exec "$zone" sh -c 'cat /tmp/agent-key' | "$sbx" exec -i "$agent_zone" sh -c \ - 'umask 077 && mkdir -p "$HOME/.config/toon-agent" && jq --arg s "http://host.docker.internal:'"$connector_port"'" --arg c "http://host.docker.internal:'"$relay_port"'" ".supervisor = \$s | .toon_apps |= with_entries(.value = \$c)" > "$HOME/.config/toon-agent/key.new" && [ -s "$HOME/.config/toon-agent/key.new" ] && mv -f "$HOME/.config/toon-agent/key.new" "$HOME/.config/toon-agent/key"'; then + 'umask 077 && mkdir -p "$HOME/.config/toon-agent" && jq --arg s "http://host.docker.internal:'"$connector_port"'" --arg c "http://host.docker.internal:'"$relay_port"'" ".supervisor = \$s | .toon_apps = ((.toon_apps // {}) | with_entries(.value = \$c))" > "$HOME/.config/toon-agent/key.new" && [ -s "$HOME/.config/toon-agent/key.new" ] && mv -f "$HOME/.config/toon-agent/key.new" "$HOME/.config/toon-agent/key"'; then in_zone 'rm -f /tmp/agent-key' die "the agent key could not be placed in the agent's zone" fi diff --git a/tests/run b/tests/run index 5246c4c..aca949e 100755 --- a/tests/run +++ b/tests/run @@ -1194,6 +1194,9 @@ grep -q "^Environment=PATH=$tmp/bin:" "$SPACETURTLE_UNIT_DIR/spaceturtle.service run_cmd status; grep -q '^timer: on, every 6h' "$tmp/out" && grep -q '^last unattended session: never' "$tmp/out"; launcher_check "status shows the timer on and no session yet" $? : > "$STUB_DIR/systemctl-calls"; run_cmd timer interval 2h; grep -q 'OnUnitActiveSec=2h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" && grep -q 'OnActiveSec=2h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" && ! grep -q OnBootSec "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" \ && grep -q 'restart spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "the interval can be set, counts from when the timer starts, and a running timer takes it" $? +: > "$STUB_DIR/systemctl-calls"; run_launcher; ! grep -q 'restart spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q '^--user enable spaceturtle-connector.service$' "$STUB_DIR/systemctl-calls" +launcher_check "a second start does not push the next session out, and enables the unit again" $? +SPACETURTLE_CONNECTOR_PORT='1;x' run_launcher; [[ $? -ne 0 ]] && grep -q 'must be a port number' "$tmp/out"; launcher_check "a port that is not a number is refused" $? run_cmd timer interval soon; [[ $? -ne 0 ]]; launcher_check "a bad interval is refused" $? run_cmd timer off; grep -q 'disable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "the timer can be turned off" $? run_cmd status; grep -q '^timer: off, every 2h' "$tmp/out"; launcher_check "status shows it off" $? From 8735b6f33c5a74e94d98f6caaab0faa078d3ec64 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Mon, 12 Oct 2026 20:02:28 -0400 Subject: [PATCH 05/22] The network is start's flags, not a command that moves an Install (#57) Which chain an Install is on is configuration: a profile and whatever of it a flag replaces, mostly the RPC endpoint. start takes toon init's own flags and passes them as given, keeps them with the Install, and adds --evm-chain-id, which asks the node's endpoint for its chain id before anything is funded or started. 'spaceturtle mainnet' is gone: it ran two toon commands that do not exist. Mainnet still asks for the typed word, and funds nothing. Co-Authored-By: Claude Opus 5.5 --- README.md | 4 +- docs/development.md | 4 +- docs/guide/concepts.md | 2 +- docs/guide/first-run.md | 2 +- docs/guide/launcher.md | 38 +++++++--- spaceturtle | 156 +++++++++++++++++++++++----------------- tests/run | 71 +++++++++++------- 7 files changed, 172 insertions(+), 105 deletions(-) diff --git a/README.md b/README.md index fd525a2..a5b8ccf 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ The connector's zone is different. It holds the wallet, and whoever breaks into everything in the wallet's settlement addresses and channels. The limit does not stop them. So fund the wallet with little, and stay on devnet until you trust what you see. Read [How the money is kept safe](docs/guide/concepts.md#how-the-money-is-kept-safe) before -`spaceturtle mainnet`. +`spaceturtle start --network mainnet`. ## How it fits together @@ -116,7 +116,7 @@ cannot do; [`CONTEXT.md`](CONTEXT.md) is the full glossary. | [`spaceturtle status`](docs/guide/launcher.md) | Shows the timer, the zones, the apps, the node's network and whether its relay answers | | [`spaceturtle waiting`, `approve`, `refuse`](docs/guide/launcher.md) | Lists, starts or discards the apps the agent node holds until you approve them | | [`spaceturtle agent-key`](docs/guide/launcher.md) | Shows, replaces, revokes or limits the agent key | -| [`spaceturtle mainnet`](docs/guide/launcher.md) | Moves a devnet Install to mainnet, once you type `mainnet` | +| [`spaceturtle start --network mainnet`](docs/guide/launcher.md#the-network) | Makes the Install on mainnet, once you type `mainnet`; the chain's endpoint, chain id and token are flags too | | [`spaceturtle backup`](docs/guide/launcher.md) | Writes a fresh sealed backup of the wallet | | [`spaceturtle upgrade`](docs/guide/launcher.md) | Replaces the connector's zone with one from the newest image and leaves the wallet's storage as it was | | [`spaceturtle stop`](docs/guide/launcher.md) | Stops the timer's unit, a session and the connector's zone, and loses nothing | diff --git a/docs/development.md b/docs/development.md index dc0f656..7974a30 100644 --- a/docs/development.md +++ b/docs/development.md @@ -4,7 +4,7 @@ ## Tests -`tests/run` runs `relay-events` (with its Renderer descriptions), `mark-seen` and `request` (and the answers the `being-observed` skill describes) against a stub `toon` and `curl`, and the launcher's `spaceturtle start`, `stop`, `upgrade`, `backup`, `remove`, `mainnet`, `waiting`, `approve`, `refuse`, `status` and `agent-key` against a stub `sbx`, in a temporary home, holds the agent definition to the safety rules of ADR 0003 through `tests/check-agent`, holds the zone images' files to their pins through `tests/check-images`, and runs the `release/` scripts against a stub `docker-agent`. It needs bash, `jq` and `yq` (mikefarah's), and is what the `gate` job of `.github/workflows/ci.yml` runs. +`tests/run` runs `relay-events` (with its Renderer descriptions), `mark-seen` and `request` (and the answers the `being-observed` skill describes) against a stub `toon` and `curl`, and the launcher's `spaceturtle start`, `stop`, `upgrade`, `backup`, `remove`, `waiting`, `approve`, `refuse`, `status` and `agent-key` against a stub `sbx`, in a temporary home, holds the agent definition to the safety rules of ADR 0003 through `tests/check-agent`, holds the zone images' files to their pins through `tests/check-images`, and runs the `release/` scripts against a stub `docker-agent`. It needs bash, `jq` and `yq` (mikefarah's), and is what the `gate` job of `.github/workflows/ci.yml` runs. ## Demo data @@ -25,7 +25,7 @@ without an agent node. | `relay-events` | Prints the agent's activity, the relay's other events, each event with its resolved parts (label, title, summary, body, links, ref) and what it refers to and what refers to it, the events a thread needs beyond the limit, profiles, the Persona (the agent identity's newest profile with a name, or `null`), follow lists, node addresses, the node's state, the Requests and the agent's private messages (grouped into conversations, or why they cannot be read) as one JSON document, with its `attention` state (`none`, `news`, `urgent`) | | `skills/being-observed/SKILL.md` | The agent's skill: the public key file, the Persona (creating, reading and living by it, renaming the relay), reading the Requests, answering them, writing a Renderer for a kind | | `request` | Writes a Request into the queue, or withdraws a waiting one | -| `spaceturtle` | The launcher: `spaceturtle start` brings up the connector's zone on devnet from the connector's zone image (`SPACETURTLE_CONNECTOR_IMAGE`), copying nothing in from the machine, doing only the steps not yet done, with its step markers in `~/.local/state/spaceturtle/launcher`; `spaceturtle mainnet` moves it to mainnet once confirmed; `session`, `timer`, `set` and `key` start the agent's sessions, by hand and on a timer, and keep its settings in `~/.config/spaceturtle/launcher.conf`; `waiting`, `approve` and `refuse` list, approve and refuse the apps the agent node holds until the Observer approves them; `start` also makes the agent key once, and `agent-key show`, `replace`, `revoke` and `limit` show, replace, revoke and limit it from outside the agent's zone; `status` shows the timer and the last unattended session, each zone's state, the node's network, its apps and relay, whether the supervisor runs and how many apps wait; `stop`, `upgrade`, `backup` and `remove` stop, replace, back up and remove the Install (`upgrade` carries the passphrase in memory through `sbx exec`; `remove` keeps the wallet's storage and the backup directory); `supervise` is what the unit that keeps the connector's zone running runs | +| `spaceturtle` | The launcher: `spaceturtle start` brings up the connector's zone on devnet from the connector's zone image (`SPACETURTLE_CONNECTOR_IMAGE`), copying nothing in from the machine, doing only the steps not yet done, with its step markers in `~/.local/state/spaceturtle/launcher`; `start`'s flags choose the network (`--network`, `--evm-rpc-url`, `--evm-chain-id` and the rest of `toon init`'s), kept in `launcher.conf`; `session`, `timer`, `set` and `key` start the agent's sessions, by hand and on a timer, and keep its settings in `~/.config/spaceturtle/launcher.conf`; `waiting`, `approve` and `refuse` list, approve and refuse the apps the agent node holds until the Observer approves them; `start` also makes the agent key once, and `agent-key show`, `replace`, `revoke` and `limit` show, replace, revoke and limit it from outside the agent's zone; `status` shows the timer and the last unattended session, each zone's state, the node's network, its apps and relay, whether the supervisor runs and how many apps wait; `stop`, `upgrade`, `backup` and `remove` stop, replace, back up and remove the Install (`upgrade` carries the passphrase in memory through `sbx exec`; `remove` keeps the wallet's storage and the backup directory); `supervise` is what the unit that keeps the connector's zone running runs | | `agent/spaceturtle.yaml` | The agent's definition for `docker-agent`: its instruction, its file tool and the skills it loads. A release publishes it as it is | | `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`, the overlay client's proxy line), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | | `images/versions.env`, `images/versions` | Every pin the two images add, with its checksum, and the `docker-agent` program a release publishes with; the command that prints the images' versions for release notes | diff --git a/docs/guide/concepts.md b/docs/guide/concepts.md index 548848a..018cd8c 100644 --- a/docs/guide/concepts.md +++ b/docs/guide/concepts.md @@ -51,4 +51,4 @@ spend more than the agent key's limit. **The connector's zone is different.** It holds the wallet. Whoever breaks into it holds everything in the wallet's settlement addresses and channels, and the limit does not stop them. So **fund the wallet with little**, and stay on devnet until you trust what you see. -`spaceturtle mainnet` says so again before it changes anything. +`spaceturtle start --network mainnet` says so again before it makes anything. diff --git a/docs/guide/first-run.md b/docs/guide/first-run.md index fee1d37..f449c83 100644 --- a/docs/guide/first-run.md +++ b/docs/guide/first-run.md @@ -19,7 +19,7 @@ changing nothing, when one is missing: - **`bash`, `jq` and `curl`.** - **A little money in mind.** The first run is on devnet and costs nothing. Mainnet is real money: read [How the money is kept safe](concepts.md#how-the-money-is-kept-safe) - first. + first. The network is `start`'s flags: see [The network](launcher.md#the-network). The launcher is the file [`spaceturtle`](../../spaceturtle) in this repository. Clone the repository once and put that file on your `PATH`. diff --git a/docs/guide/launcher.md b/docs/guide/launcher.md index e12530f..3dfa12c 100644 --- a/docs/guide/launcher.md +++ b/docs/guide/launcher.md @@ -33,14 +33,36 @@ supervisor's orders and the relay TOON app's connector, which is all the agent's reaches of the node. An app whose image is not on `toon`'s list of trusted images runs under gVisor: `start` writes `runsc` to the home's `untrusted-runtime`. -`spaceturtle mainnet [--keep-limit]` moves a devnet Install to mainnet. It says that real -funds are now at stake, that there is no faucet, and which wallet addresses to fund, then -asks you to type `mainnet`; anything else changes nothing. It lowers the spending limit to -the mainnet default unless you pass `--keep-limit`. On an Install already on mainnet it says -so and changes nothing. It runs `toon wallet show`, `toon network set mainnet` and -`toon limit set --network-default` in the connector's zone. **`toon` 0.2.0 has neither of -the last two**, so today the command stops at "toon could not move the node to mainnet" and -changes nothing: an Install stays on devnet. +## The network + +Which network an Install is on is configuration, given to `start` as flags when the Install +is made and kept with it. With none it is devnet. + +| Flag | What it sets | +| --- | --- | +| `--network devnet\|mainnet` | The profile the rest comes from: devnet is Base Sepolia with a faucet, mainnet is Base with real money | +| `--evm-rpc-url ` | The chain's JSON-RPC endpoint, in place of the profile's | +| `--evm-chain-id ` | The chain that endpoint must serve: `8453` is Base, `84532` Base Sepolia | +| `--evm-token
` | The token the connector is paid in on that chain | +| `--connector-url `, `--relay-url ` | The network's connector and relay | +| `--faucet-url ` | Where the wallet is funded from, on devnet | +| `--solana`, `--solana-rpc-url ` | Settle on Solana too, and its endpoint | +| `--max-per-command `, `--max-per-day ` | The wallet's own spending limits, in the token's base units | + +All but `--evm-chain-id` are `toon init`'s own flags and go to it as given. `--evm-chain-id` +is the launcher's: once the node is initialised it asks the node's RPC endpoint which chain +it serves, and funds and starts nothing unless it is that one. + +```sh +spaceturtle start --network mainnet --evm-rpc-url https://mainnet.base.org --evm-chain-id 8453 +``` + +On mainnet `start` first says that real funds are at stake and that there is no faucet, and +asks you to type `mainnet`; anything else makes nothing. It then funds nothing and prints +the addresses to fund. A later `start` needs no flags. One that names a different network is +refused and changes nothing: `toon` has no command that moves a home to another chain, so an +Install on another network is another Install (`spaceturtle remove --delete-wallet`, then +`start` with the flags; an Install's wallet is made for it, so fund it with little). `spaceturtle session` starts a `docker-agent` session in the agent's zone, which is made from the agent's zone image (`SPACETURTLE_AGENT_IMAGE`), on a copy of diff --git a/spaceturtle b/spaceturtle index 3cab263..6834fc2 100755 --- a/spaceturtle +++ b/spaceturtle @@ -1,15 +1,18 @@ #!/bin/bash # The launcher: the one program a person runs to have a spaceturtle. # -# spaceturtle start +# spaceturtle start [--network devnet|mainnet] [--evm-rpc-url ] [--evm-chain-id ] +# [--evm-token
] [--connector-url ] [--relay-url ] +# [--faucet-url ] [--solana] [--solana-rpc-url ] +# [--max-per-command ] [--max-per-day ] # Brings the connector's zone up, step by step, and does only the steps # not yet done, so a run that was interrupted finishes the rest when run # again and a second run creates, initialises and funds nothing: # 1. zone a detached Docker Sandboxes virtual machine made from the # connector's zone image, with an any-address rule scoped to # that zone alone; nothing is copied into it from the machine -# 2. node the agent node, initialised on devnet inside it -# 3. faucet the wallet funded from the devnet faucet +# 2. node the agent node, initialised inside it on the network chosen +# 3. faucet the wallet funded from the faucet, on devnet # 4. agent key one agent key, its private half placed in the agent's zone # 5. supervisor the image's `connector-start` (the container engine, the # forwarders, then `toon up`), run by a systemd user unit that @@ -42,13 +45,15 @@ # backup directory. --delete-wallet also deletes the wallet's storage, after the # word "delete" is typed; anything else changes nothing. # -# spaceturtle mainnet [--keep-limit] -# Moves the Install from devnet to mainnet, once the person running it has -# typed "mainnet" to confirm. It first says what changes: real funds are now at -# stake, there is no faucet, and which addresses to fund. Without the typed -# word nothing changes. It lowers the spending limit to the mainnet default -# unless --keep-limit is given. On an Install already on mainnet it says so -# and changes nothing. +# The network is configuration, chosen when the Install is made and kept with it: a +# profile (--network, devnet unless named), and whatever of it a flag replaces, which is +# mostly the chain's RPC endpoint. The flags are `toon init`'s own and go to it as given. +# --evm-chain-id is the launcher's: after the node is initialised it asks the node's RPC +# endpoint for its chain id, and goes no further unless it is that one. A later `start` +# needs no flags; one that names a different network is refused and changes nothing, since +# `toon` has no command that moves a home to another chain. On mainnet real funds are at +# stake: `start` says so and asks for the word "mainnet" before it makes anything, and +# funds nothing, since there is no faucet. # # spaceturtle session [--unattended] # Starts a `docker-agent` session in the agent's zone, with the agent @@ -242,12 +247,31 @@ publish_ports() { step_node() { done_ node && return - say "initialising the agent node on devnet" + say "initialising the agent node on $network" + # Split on spaces alone: a URL may hold a character the shell would take for a pattern. + local flag flags= kept=() + read -ra kept <<<"$(conf_get init "")" + for flag in "${kept[@]}"; do + [[ $flag == --network || $flag == "$network" ]] && continue + flags+=" $(sh_quote "$flag")" + done in_zone '{ [ -s "$TOON_PASSPHRASE_FILE" ] || { umask 077 && head -c 32 /dev/urandom | base64 > "$TOON_PASSPHRASE_FILE"; }; } && - toon init --accept-anyone-terms --network devnet --json >/dev/null' || die "toon init failed in the zone" + toon init --accept-anyone-terms --network '"$network$flags"' --json >/dev/null' || die "toon init failed in the zone" mark node } +# The chain the node's RPC endpoint serves must be the one the Observer named, before anything is funded or started. +step_chain() { + local want got + want=$(conf_get chain_id "") + [[ -n $want ]] || return 0 + done_ chain && return + got=$(in_zone 'curl -s --max-time 20 -H "content-type: application/json" --data "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_chainId\",\"params\":[]}" --url "$(jq -r ".toon_apps[0].evm.rpc_url" '"$toon_home"'/state.json)"' | jq -r '.result // empty' 2>/dev/null) + [[ $got =~ ^0x[0-9a-fA-F]+$ ]] || die "the node's RPC endpoint did not say which chain it serves, so nothing was funded or started. Run it again; if it is the wrong endpoint, 'spaceturtle remove --delete-wallet' and 'start' with --evm-rpc-url makes the Install again." + (( got == want )) || die "the node's RPC endpoint serves chain $((got)), not $want, so nothing was funded or started. 'spaceturtle remove --delete-wallet' and 'start' with the right --evm-rpc-url makes the Install again." + mark chain +} + # An app whose image is not on toon's list of trusted images runs under gVisor, which the # connector's zone image holds. toon reads the runtime's name from this file when the app is added. step_runtime() { @@ -258,8 +282,13 @@ step_runtime() { step_faucet() { done_ faucet && return - say "funding the wallet from the faucet" - in_zone 'toon wallet fund --json >/dev/null' || die "toon wallet fund failed in the zone" + if [[ $network == devnet ]]; then + say "funding the wallet from the faucet" + in_zone 'toon wallet fund --json >/dev/null' || die "toon wallet fund failed in the zone" + else + say "there is no faucet on $network, so nothing is funded for you. Fund only what you can afford to lose, at these addresses:" + in_zone 'toon wallet show' | sed 's/^/ /' || die "the wallet's addresses could not be read from the zone" + fi mark faucet } @@ -342,54 +371,6 @@ node_network() { in_zone "cat $toon_home/state.json" 2>/dev/null | jq -r '.network // empty' 2>/dev/null } -mainnet() { - local keep_limit=0 arg network addresses answer - for arg in "$@"; do - case $arg in - --keep-limit) keep_limit=1 ;; - *) die "usage: spaceturtle mainnet [--keep-limit]" ;; - esac - done - preflight - zone_exists || die "there is no connector's zone yet. Run 'spaceturtle start' first." - command -v jq >/dev/null 2>&1 || die "jq is not installed, and it is needed to read the node's network." - network=$(node_network) - [[ -n $network ]] || die "the network the node is on could not be read from the zone. Run 'spaceturtle start' and try again." - if [[ $network == mainnet ]]; then - say "this Install is already on mainnet. Nothing was changed." - return 0 - fi - addresses=$(in_zone 'toon wallet show') || die "the wallet's addresses could not be read from the zone" - [[ -n $addresses ]] || die "the zone listed no address to fund" - cat </dev/null' || die "toon could not move the node to mainnet" - if (( ! keep_limit )); then - in_zone 'toon limit set --network-default --json >/dev/null' || die "the node is on mainnet, but the spending limit could not be lowered. Lower it before funding anything: $sbx exec $zone sh -c 'TOON_PASSPHRASE_FILE=\$HOME/.config/toon-passphrase toon limit set --network-default'" - fi - network=$(node_network) - [[ $network == mainnet ]] || die "the node did not report mainnet afterwards (it says '${network:-nothing}')" - say "the Install is on mainnet. Fund the addresses above." -} - # --- settings: `name=value` lines in launcher.conf --- conf_get() { # name, default local v @@ -576,10 +557,55 @@ key() { say "the model key is saved in $key_file" } +# start's flags: `toon init`'s own, taken as given, and --evm-chain-id. They are kept in the +# settings as the Install's network, so a run that was interrupted goes on with them. +choose_network() { + local given=() chain= name answer + while (($#)); do + case $1 in + --solana) given+=("$1") ;; + --network) + [[ ${2:-} == devnet || ${2:-} == mainnet ]] || die "usage: spaceturtle start --network devnet|mainnet" + given+=("$1" "$2"); shift ;; + --evm-chain-id) + [[ ${2:-} =~ ^[1-9][0-9]*$ ]] || die "usage: spaceturtle start --evm-chain-id " + chain=$2; shift ;; + --evm-rpc-url|--evm-token|--connector-url|--relay-url|--faucet-url|--solana-rpc-url|--max-per-command|--max-per-day) + [[ ${2:-} =~ ^[A-Za-z0-9][A-Za-z0-9._:/@%+=,?\&~*-]*$ ]] || die "usage: spaceturtle start $1 " + given+=("$1" "$2"); shift ;; + *) die "usage: spaceturtle start [--network devnet|mainnet] [--evm-rpc-url ] [--evm-chain-id ] [--evm-token
] [--connector-url ] [--relay-url ] [--faucet-url ] [--solana] [--solana-rpc-url ] [--max-per-command ] [--max-per-day ]" ;; + esac + shift + done + if (( ${#given[@]} )) || [[ -n $chain ]]; then + if done_ node; then + [[ "${given[*]}" == "$(conf_get init "")" && $chain == "$(conf_get chain_id "")" ]] \ + || die "this Install's node is already initialised, with: $(conf_get init "--network devnet"). A network is chosen when an Install is made, and toon cannot move one. Nothing was changed. 'spaceturtle remove --delete-wallet' and 'start' with the flags makes another." + else + conf_set init "${given[*]}" + conf_set chain_id "$chain" + fi + fi + network=$(sed -n 's/.*--network \([a-z]*\).*/\1/p' <<<"$(conf_get init "")") + network=${network:-devnet} + if [[ $network == mainnet ]] && ! done_ node; then + cat < | refuse [reason] | agent-key show|replace|revoke|limit " ;; + *) die "usage: spaceturtle start [flags] | stop | upgrade | backup | remove [--delete-wallet] | session | timer | set | key | status | waiting | approve | refuse [reason] | agent-key show|replace|revoke|limit " ;; esac diff --git a/tests/run b/tests/run index aca949e..2a05624 100755 --- a/tests/run +++ b/tests/run @@ -995,7 +995,7 @@ STUB # An sbx that records its calls. `ls` lists the zones in $STUB_DIR/zones and fails # when $STUB_DIR/signed-out exists; a call whose arguments contain the text in # $STUB_DIR/fail-on fails, `toon status --json` prints $STUB_DIR/status, the home's - # state.json names the network in $STUB_DIR/network, `ports` lists and publishes in + # state.json names the network in $STUB_DIR/network, the RPC endpoint says its chain id is the one in $STUB_DIR/chain-id, `ports` lists and publishes in # $STUB_DIR/ports, `policy init` fails once $STUB_DIR/policy-set exists, and `cp` out # of the zone writes a file. cat > "$SPACETURTLE_SBX" <<'STUB' @@ -1008,10 +1008,10 @@ echo "$*" >> "$STUB_DIR/calls" [[ $1 == ports ]] && { cat "$STUB_DIR/ports" 2>/dev/null; exit 0; } [[ $* == *"exec connector-start"* ]] && { : > "$STUB_DIR/up"; exit 0; } [[ $* == *pgrep* ]] && { [[ -e $STUB_DIR/up ]]; exit; } +[[ $* == *eth_chainId* ]] && { [[ -r $STUB_DIR/chain-id ]] && echo "{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":\"$(cat "$STUB_DIR/chain-id")\"}"; exit 0; } [[ $* == *"toon status --json"* ]] && { cat "$STUB_DIR/status" 2>/dev/null || echo "{}"; exit 0; } [[ $* == *"state.json"* ]] && { echo "{\"network\":\"$(cat "$STUB_DIR/network" 2>/dev/null || echo devnet)\",\"connector_url\":\"$(cat "$STUB_DIR/connector-url" 2>/dev/null)\"}"; exit 0; } [[ $* == *"toon wallet show"* ]] && { echo "evm 0xAAA111"; echo "solana SoLBBB222"; exit 0; } -[[ $* == *"toon network set mainnet"* ]] && echo mainnet > "$STUB_DIR/network" [[ $* == *"toon agent-key create"* ]] && { touch "$STUB_DIR/keys"; n=$(( $(wc -l < "$STUB_DIR/keys") + 1 )); echo "key-$n" >> "$STUB_DIR/keys"; echo "PRIVATE-HALF-$n" > "$STUB_DIR/agentkeyfile"; exit 0; } [[ $* == *"toon agent-key list"* ]] && { touch "$STUB_DIR/keys"; jq -Rn '{agent_keys: [inputs | {public_key: ., scope: ["send","peer"], spending_limit: {per_command: 10, per_day: 100}, private_key: "PRIVATE-LEAK"}]}' "$STUB_DIR/keys"; exit 0; } [[ $* == *"toon agent-key revoke"* ]] && { [[ $* =~ revoke\ --\ \'([^\']*)\' ]]; id=${BASH_REMATCH[1]}; sed -i "/^$id$/d" "$STUB_DIR/keys"; exit 0; } @@ -1117,30 +1117,49 @@ launcher_env; SPACETURTLE_SBX=$tmp/bin/missing run_launcher; rc=$? [[ $rc -ne 0 ]] && grep -qi 'not installed' "$tmp/out" && grep -q 'github.com/docker/sbx-releases' "$tmp/out" \ && [[ ! -e $SPACETURTLE_STATE_DIR/launcher && ! -e $SPACETURTLE_DATA_DIR && ! -e $SPACETURTLE_BACKUP_DIR ]]; launcher_check "with sbx missing it stops before doing anything, with cause and remedy" $? -# --- the launcher: spaceturtle mainnet --- -run_mainnet() { printf '%s\n' "$1" | "$root/spaceturtle" mainnet "${@:2}" > "$tmp/out" 2>&1; } -changed_nothing() { ! grep -qE 'toon network set|toon limit set' "$STUB_DIR/calls"; } - -launcher_env; echo "zone-x running" > "$STUB_DIR/zones" -run_mainnet "yes"; rc=$? -[[ $rc -ne 0 ]] && changed_nothing; launcher_check "mainnet without the typed word changes nothing" $? -grep -q 0xAAA111 "$tmp/out" && grep -q SoLBBB222 "$tmp/out" && grep -qi 'no faucet' "$tmp/out" && grep -qi 'real funds' "$tmp/out" -launcher_check "the message names the addresses to fund and says there is no faucet" $? -: > "$STUB_DIR/calls"; run_mainnet ""; rc=$? -[[ $rc -ne 0 ]] && changed_nothing; launcher_check "mainnet with no answer changes nothing" $? -: > "$STUB_DIR/calls"; run_mainnet "mainnet"; rc=$? -launcher_check "mainnet with the typed word succeeds" $rc -grep -q 'toon network set mainnet' "$STUB_DIR/calls" && grep -q 'toon limit set --network-default' "$STUB_DIR/calls"; launcher_check "it moves the node and lowers the limit" $? -s=$(grep -n 'state.json' "$STUB_DIR/calls" | tail -1 | cut -d: -f1); n=$(line_no 'toon network set mainnet') -[[ -n $s && -n $n && $s -gt $n ]] && grep -q 'is on mainnet' "$tmp/out"; launcher_check "after it, status shows mainnet" $? -: > "$STUB_DIR/calls"; run_mainnet "mainnet"; rc=$? -[[ $rc -eq 0 ]] && grep -qi 'already on mainnet' "$tmp/out" && changed_nothing; launcher_check "on mainnet already, it says so and changes nothing" $? -launcher_env; echo "zone-x running" > "$STUB_DIR/zones"; run_mainnet "mainnet" --keep-limit; rc=$? -[[ $rc -eq 0 ]] && grep -q 'toon network set mainnet' "$STUB_DIR/calls" && ! grep -q 'toon limit set' "$STUB_DIR/calls"; launcher_check "--keep-limit leaves the limit alone" $? -launcher_env; echo "zone-x running" > "$STUB_DIR/zones"; echo 'toon limit set' > "$STUB_DIR/fail-on"; run_mainnet "mainnet"; rc=$? -[[ $rc -ne 0 ]] && grep -q 'limit could not be lowered' "$tmp/out" && grep -q 'toon limit set --network-default' "$tmp/out"; launcher_check "a failed limit stops and says how to lower it" $? -launcher_env; run_mainnet "mainnet"; rc=$? -[[ $rc -ne 0 ]] && changed_nothing; launcher_check "with no zone it stops and changes nothing" $? +# --- the launcher: the network is start's flags, kept with the Install --- +start_with() { printf '%s\n' "$1" | "$root/spaceturtle" start "${@:2}" > "$tmp/out" 2>&1; } # the typed answer, then the flags +init_line() { grep 'toon init' "$STUB_DIR/calls"; } +made_nothing() { ! grep -qE '^create |toon init|toon wallet|agent-key' "$STUB_DIR/calls" 2>/dev/null; } + +launcher_env; start_with "" --evm-rpc-url 'https://rpc.example.test/v1?key=a*b' --evm-token 0xAbC --solana --max-per-day 500; rc=$? +[[ $rc -eq 0 && $(init_line) == *"toon init --accept-anyone-terms --network devnet '--evm-rpc-url' 'https://rpc.example.test/v1?key=a*b' '--evm-token' '0xAbC' '--solana' '--max-per-day' '500' --json"* ]] +launcher_check "start's flags go to toon init as given, on devnet unless a network is named" $? +: > "$STUB_DIR/calls"; start_with ""; rc=$? +[[ $rc -eq 0 ]] && ! grep -q 'toon init' "$STUB_DIR/calls"; launcher_check "a later start needs no flags" $? +start_with "" --evm-rpc-url 'https://rpc.example.test/v1?key=a*b' --evm-token 0xAbC --solana --max-per-day 500; launcher_check "a later start with the same flags is accepted" $? +: > "$STUB_DIR/calls"; start_with "" --evm-rpc-url https://other.example.test; rc=$? +[[ $rc -ne 0 ]] && grep -q 'already initialised' "$tmp/out" && grep -q 'rpc.example.test' "$tmp/out" && [[ ! -s $STUB_DIR/calls || -z $(grep -vE '^ls$' "$STUB_DIR/calls") ]] +launcher_check "a later start that names another network is refused, says what the Install has, and changes nothing" $? +launcher_env; echo "toon init" > "$STUB_DIR/fail-on"; start_with "" --evm-token 0xAbC; rm "$STUB_DIR/fail-on"; start_with ""; rc=$? +[[ $rc -eq 0 && $(init_line | tail -1) == *"'--evm-token' '0xAbC'"* ]]; launcher_check "a run that was interrupted goes on with the network it was given" $? +for bad_flags in "--network testnet" "--evm-rpc-url" "--evm-rpc-url it's" "--evm-chain-id base" "--everything"; do + launcher_env; start_with "" $bad_flags; rc=$? + [[ $rc -ne 0 ]] && grep -q 'usage: spaceturtle start' "$tmp/out" && made_nothing; launcher_check "start refuses '$bad_flags' with the usage and makes nothing" $? +done + +launcher_env; start_with "yes" --network mainnet; rc=$? +[[ $rc -ne 0 ]] && grep -qi 'real funds' "$tmp/out" && grep -qi 'no faucet' "$tmp/out" && made_nothing; launcher_check "mainnet without the typed word makes nothing" $? +start_with "" --network mainnet; rc=$? +[[ $rc -ne 0 ]] && made_nothing; launcher_check "mainnet with no answer makes nothing" $? +start_with "mainnet" --network mainnet; rc=$? +[[ $rc -eq 0 && $(init_line) == *"toon init --accept-anyone-terms --network mainnet --json"* ]]; launcher_check "mainnet with the typed word initialises the node on mainnet" $? +! grep -q 'toon wallet fund' "$STUB_DIR/calls" && grep -q 0xAAA111 "$tmp/out" && grep -q SoLBBB222 "$tmp/out" && grep -qi 'no faucet' "$tmp/out" +launcher_check "on mainnet nothing is funded, and the addresses to fund are named" $? +: > "$STUB_DIR/calls"; "$root/spaceturtle" start < /dev/null > "$tmp/out" 2>&1; rc=$? +[[ $rc -eq 0 ]] && ! grep -q 'type "mainnet"' "$tmp/out" && ! grep -q 'toon wallet' "$STUB_DIR/calls"; launcher_check "a later start of a mainnet Install asks nothing and funds nothing" $? + +launcher_env; echo 0x2105 > "$STUB_DIR/chain-id"; start_with "" --evm-chain-id 8453 --evm-rpc-url https://rpc.example.test; rc=$? +c=$(line_no eth_chainId); f=$(line_no 'toon wallet fund'); [[ $rc -eq 0 && -n $c && -n $f && $c -lt $f ]] && ! grep -q -- '--evm-chain-id' <(init_line) +launcher_check "the chain id is asked of the node's RPC endpoint before anything is funded, and is not one of toon's flags" $? +: > "$STUB_DIR/calls"; start_with "" --evm-chain-id 8453 --evm-rpc-url https://rpc.example.test; ! grep -q eth_chainId "$STUB_DIR/calls"; launcher_check "a chain that was checked is not asked again" $? +launcher_env; echo 0x14a34 > "$STUB_DIR/chain-id"; start_with "" --evm-chain-id 8453; rc=$? +[[ $rc -ne 0 ]] && grep -q 'serves chain 84532, not 8453' "$tmp/out" && ! grep -qE 'toon wallet fund|agent-key create|connector-start' "$STUB_DIR/calls" +launcher_check "an endpoint that serves another chain stops the run before anything is funded or started" $? +: > "$STUB_DIR/calls"; start_with ""; rc=$? +[[ $rc -ne 0 ]] && ! grep -q 'toon wallet fund' "$STUB_DIR/calls"; launcher_check " and so does the next run" $? +launcher_env; start_with "" --evm-chain-id 8453; rc=$? +[[ $rc -ne 0 ]] && grep -q 'did not say which chain' "$tmp/out" && ! grep -q 'toon wallet fund' "$STUB_DIR/calls"; launcher_check "an endpoint that does not answer stops the run too" $? # --- sessions and the timer --- # A launcher whose connector's zone is running, with a model key. From 3e58434320a8da7560dfa64f78dfa8170686b188 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Mon, 12 Oct 2026 20:43:00 -0400 Subject: [PATCH 06/22] One command installs the launcher (#57) install.sh, piped from curl, checks the machine, installs the launcher and the agent definition of the latest release, links spaceturtle into ~/.local/bin, and installs the pinned Docker Sandboxes when there is no sbx. The launcher finds itself through a link, and pulls the zone images of the release it was installed from in place of latest. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 2 +- README.md | 8 ++-- docs/development.md | 1 + docs/guide/first-run.md | 24 +++++++++- install.sh | 99 ++++++++++++++++++++++++++++++++++++++++ spaceturtle | 14 ++++-- tests/run | 57 +++++++++++++++++++++++ 7 files changed, 194 insertions(+), 11 deletions(-) create mode 100755 install.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebbf775..3086f63 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Syntax of the scripts - run: bash -n relay-events && bash -n mark-seen && bash -n request && bash -n tests/run && bash -n tests/check-agent && bash -n spaceturtle && bash -n tests/check-images && bash -n images/versions && bash -n images/connector/connector-start && bash -n release/references && bash -n release/publish-definition && bash -n release/notes && bash -n release/mark-latest + run: bash -n relay-events && bash -n mark-seen && bash -n request && bash -n tests/run && bash -n tests/check-agent && bash -n spaceturtle && bash -n install.sh && bash -n tests/check-images && bash -n images/versions && bash -n images/connector/connector-start && bash -n release/references && bash -n release/publish-definition && bash -n release/notes && bash -n release/mark-latest - name: Install yq when the runner lacks it run: command -v yq >/dev/null || { mkdir -p "$HOME/.local/bin" && curl -fsSL -o "$HOME/.local/bin/yq" https://github.com/mikefarah/yq/releases/download/v4.54.1/yq_linux_amd64 && chmod +x "$HOME/.local/bin/yq" && echo "$HOME/.local/bin" >> "${GITHUB_PATH:-/dev/null}"; } - name: yq is on the runner diff --git a/README.md b/README.md index a5b8ccf..c39f4aa 100644 --- a/README.md +++ b/README.md @@ -32,15 +32,17 @@ hidden services where agents talk, work together and pay each other. The node ca relay, where agents post and reply, and the apps the agent chooses to run. ```sh +curl -fsSL https://raw.githubusercontent.com/toon-protocol/spaceturtle/main/install.sh | bash spaceturtle start # the connector's zone, a funded devnet wallet, the agent key, a backup spaceturtle key # your model provider's key, read from the terminal without showing it spaceturtle session # a docker-agent session in the agent's zone spaceturtle status # the timer, the zones, the apps, and whether the relay answers ``` -The launcher is the file [`spaceturtle`](spaceturtle) in this repository. Clone the -repository once and put that file on your `PATH`. [The first run](docs/guide/first-run.md) -lists what to have ready. +[`install.sh`](install.sh) checks the machine, puts the launcher of the latest release in +`~/.local/share/spaceturtle/launcher` with a link in `~/.local/bin`, and installs Docker +Sandboxes if the machine has none. It needs no root and starts nothing. +[The first run](docs/guide/first-run.md) lists what to have ready. ## Why it exists diff --git a/docs/development.md b/docs/development.md index 7974a30..96d3658 100644 --- a/docs/development.md +++ b/docs/development.md @@ -26,6 +26,7 @@ without an agent node. | `skills/being-observed/SKILL.md` | The agent's skill: the public key file, the Persona (creating, reading and living by it, renaming the relay), reading the Requests, answering them, writing a Renderer for a kind | | `request` | Writes a Request into the queue, or withdraws a waiting one | | `spaceturtle` | The launcher: `spaceturtle start` brings up the connector's zone on devnet from the connector's zone image (`SPACETURTLE_CONNECTOR_IMAGE`), copying nothing in from the machine, doing only the steps not yet done, with its step markers in `~/.local/state/spaceturtle/launcher`; `start`'s flags choose the network (`--network`, `--evm-rpc-url`, `--evm-chain-id` and the rest of `toon init`'s), kept in `launcher.conf`; `session`, `timer`, `set` and `key` start the agent's sessions, by hand and on a timer, and keep its settings in `~/.config/spaceturtle/launcher.conf`; `waiting`, `approve` and `refuse` list, approve and refuse the apps the agent node holds until the Observer approves them; `start` also makes the agent key once, and `agent-key show`, `replace`, `revoke` and `limit` show, replace, revoke and limit it from outside the agent's zone; `status` shows the timer and the last unattended session, each zone's state, the node's network, its apps and relay, whether the supervisor runs and how many apps wait; `stop`, `upgrade`, `backup` and `remove` stop, replace, back up and remove the Install (`upgrade` carries the passphrase in memory through `sbx exec`; `remove` keeps the wallet's storage and the backup directory); `supervise` is what the unit that keeps the connector's zone running runs | +| `install.sh` | The one command a person runs first: checks the machine, installs the launcher and the agent definition of a release with a `version` file beside them (the launcher then pulls that release's zone images), links it into `~/.local/bin`, and installs the pinned Docker Sandboxes if there is no `sbx` | | `agent/spaceturtle.yaml` | The agent's definition for `docker-agent`: its instruction, its file tool and the skills it loads. A release publishes it as it is | | `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`, the overlay client's proxy line), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | | `images/versions.env`, `images/versions` | Every pin the two images add, with its checksum, and the `docker-agent` program a release publishes with; the command that prints the images' versions for release notes | diff --git a/docs/guide/first-run.md b/docs/guide/first-run.md index f449c83..9024228 100644 --- a/docs/guide/first-run.md +++ b/docs/guide/first-run.md @@ -21,8 +21,28 @@ changing nothing, when one is missing: money: read [How the money is kept safe](concepts.md#how-the-money-is-kept-safe) first. The network is `start`'s flags: see [The network](launcher.md#the-network). -The launcher is the file [`spaceturtle`](../../spaceturtle) in this repository. Clone the -repository once and put that file on your `PATH`. +## Install + +```sh +curl -fsSL https://raw.githubusercontent.com/toon-protocol/spaceturtle/main/install.sh | bash +``` + +[`install.sh`](../../install.sh) needs no root. It first checks the machine (Linux on +x86_64, KVM, systemd, `curl`, `jq`, `tar`) and installs nothing if something is missing. Then +it: + +- puts the launcher and the agent definition of the latest release in + `~/.local/share/spaceturtle/launcher`, and links `spaceturtle` into `~/.local/bin`; +- installs Docker Sandboxes, at the version the launcher is tested with and checked against + its checksum, if the machine has no `sbx`; +- says what to run next. It does not sign in to Docker and starts nothing. + +The launcher it installs pulls the zone images of that same release. Run it again to move to +the newest release, then `spaceturtle upgrade`. `SPACETURTLE_VERSION=v0.2.0` installs that +release instead. + +To work from a clone instead, put the file [`spaceturtle`](../../spaceturtle) on your +`PATH`, by its directory or by a link; it then pulls the `latest` images. ## The first run diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..3b4c965 --- /dev/null +++ b/install.sh @@ -0,0 +1,99 @@ +#!/bin/bash +# Installs spaceturtle's launcher for one person, without root: +# +# curl -fsSL https://raw.githubusercontent.com/toon-protocol/spaceturtle/main/install.sh | bash +# +# It checks the machine first and changes nothing if something is missing. Then it puts the +# launcher and the agent definition of one release in ~/.local/share/spaceturtle/launcher, +# links `spaceturtle` into ~/.local/bin, and installs Docker Sandboxes (`sbx`) if the machine +# has none. The launcher it installs pulls the zone images of that same release. It does not +# sign in to Docker or start anything: it ends by saying what to run next. +# Run it again to move to the newest release, then `spaceturtle upgrade`. +# +# Environment: +# SPACETURTLE_VERSION the release to install, such as v0.2.0 (default: the latest) +# SPACETURTLE_INSTALL_DIR where the launcher goes (default: ~/.local/share/spaceturtle/launcher) +# SPACETURTLE_BIN_DIR where the link goes (default: ~/.local/bin) +# SPACETURTLE_KVM, SPACETURTLE_SBX, SPACETURTLE_SYSTEMCTL as the launcher reads them +# SPACETURTLE_CURL the curl program (default: curl) +set -euo pipefail + +repo=toon-protocol/spaceturtle +dir=${SPACETURTLE_INSTALL_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/spaceturtle/launcher} +bin=${SPACETURTLE_BIN_DIR:-$HOME/.local/bin} +kvm=${SPACETURTLE_KVM:-/dev/kvm} +sbx=${SPACETURTLE_SBX:-sbx} +systemctl_=${SPACETURTLE_SYSTEMCTL:-systemctl} +curl_=${SPACETURTLE_CURL:-curl} +# Docker Sandboxes, pinned: the release the launcher is tested with. The checksum is the +# digest GitHub records for the release's DockerSandboxes-linux-amd64.tar.gz. +sbx_version=${SPACETURTLE_SBX_VERSION:-0.47.0} +sbx_sha256=${SPACETURTLE_SBX_SHA256:-a89cb4380075ebb20938103bc98ec63327fbeabe43a71f0575ddb285a051eab4} + +say() { echo "spaceturtle: $*"; } +die() { echo "spaceturtle: $*" >&2; exit 1; } + +# Everything the machine lacks, said at once, before anything is changed. +lacking=() +[[ $(uname -s) == Linux && $(uname -m) == x86_64 ]] || lacking+=("a Linux machine on x86_64: the zone images are built for nothing else") +[[ -e $kvm ]] || lacking+=("KVM ($kvm): turn on virtualisation in the firmware (VT-x or AMD-V) and load the kvm module") +command -v "$systemctl_" >/dev/null 2>&1 || lacking+=("systemd, for the user units that keep the Install running") +for program in "$curl_" jq tar sha256sum; do + command -v "$program" >/dev/null 2>&1 || lacking+=("$program") +done +if (( ${#lacking[@]} )); then + echo "spaceturtle: this machine lacks what spaceturtle needs, so nothing was installed:" >&2 + printf ' - %s\n' "${lacking[@]}" >&2 + exit 1 +fi + +tmp=$(mktemp -d) +trap 'rm -rf "$tmp"' EXIT + +version=${SPACETURTLE_VERSION:-} +if [[ -z $version ]]; then + version=$("$curl_" -fsSL "https://api.github.com/repos/$repo/releases/latest" | jq -r '.tag_name // empty') || version= + [[ -n $version ]] || die "the latest release could not be read from GitHub. Name one: SPACETURTLE_VERSION=v0.2.0" +fi +[[ $version =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z0-9.]+)?$ ]] || die "'$version' is not a release, such as v0.2.0" + +say "installing the launcher of $version" +"$curl_" -fsSL -o "$tmp/source.tar.gz" "https://github.com/$repo/archive/refs/tags/$version.tar.gz" || die "$version could not be downloaded" +mkdir "$tmp/source" +tar -xzf "$tmp/source.tar.gz" -C "$tmp/source" --strip-components=1 || die "the download of $version is not an archive" +[[ -s $tmp/source/spaceturtle && -s $tmp/source/agent/spaceturtle.yaml ]] || die "$version holds no launcher" + +# The new launcher is whole before it takes the old one's place. +mkdir -p "$(dirname "$dir")" "$bin" +rm -rf "$dir.new" +mkdir -p "$dir.new/agent" +install -m 0755 "$tmp/source/spaceturtle" "$dir.new/spaceturtle" +install -m 0644 "$tmp/source/agent/spaceturtle.yaml" "$dir.new/agent/spaceturtle.yaml" +# The launcher pulls the zone images of the release named here. +echo "${version#v}" > "$dir.new/version" +rm -rf "$dir.old" +[[ ! -e $dir ]] || mv "$dir" "$dir.old" +mv "$dir.new" "$dir" +rm -rf "$dir.old" +ln -sfn "$dir/spaceturtle" "$bin/spaceturtle" + +if ! command -v "$sbx" >/dev/null 2>&1 && [[ ! -x $HOME/.docker/sbx/bin/sbx ]]; then + say "installing Docker Sandboxes $sbx_version, which the zones run in" + "$curl_" -fsSL -o "$tmp/sbx.tar.gz" "https://github.com/docker/sbx-releases/releases/download/v$sbx_version/DockerSandboxes-linux-amd64.tar.gz" \ + || die "Docker Sandboxes could not be downloaded. Install it from https://github.com/docker/sbx-releases, then run 'spaceturtle start'." + echo "$sbx_sha256 $tmp/sbx.tar.gz" | sha256sum -c - >/dev/null || die "the download of Docker Sandboxes is not the release it should be, so it was not installed" + tar -xzf "$tmp/sbx.tar.gz" -C "$tmp" + bash "$tmp/docker-sbx/install.sh" || die "Docker Sandboxes' own installer failed. Install it from https://github.com/docker/sbx-releases, then run 'spaceturtle start'." +fi + +say "installed. What to run next:" +n=1 +step() { echo " $n. $*"; n=$((n + 1)); } +path_add= +command -v "$sbx" >/dev/null 2>&1 || path_add="\$HOME/.docker/sbx/bin:" +case ":$PATH:" in *":$bin:"*) ;; *) path_add+="$bin:" ;; esac +[[ -z $path_add ]] || step "export PATH=\"$path_add\$PATH\" (and add it to your shell's profile)" +PATH="$HOME/.docker/sbx/bin:$PATH" "$sbx" ls >/dev/null 2>&1 || step "sbx login && sbx daemon start -d (a Docker account; it opens a browser)" +step "spaceturtle start (about a minute; makes the Install on devnet)" +step "spaceturtle key (your model provider's key, read without showing it)" +step "spaceturtle session (talk to your agent)" diff --git a/spaceturtle b/spaceturtle index 6834fc2..ac192fa 100755 --- a/spaceturtle +++ b/spaceturtle @@ -133,9 +133,9 @@ # (default: ~/.config/spaceturtle) # SPACETURTLE_MODEL_KEY_FILE the model key (default: ~/.config/spaceturtle-launcher/model-key) # SPACETURTLE_MODEL_HOST the model provider's host, for a provider the launcher does not know -# SPACETURTLE_CONNECTOR_IMAGE the connector's zone image (default: ghcr.io/toon-protocol/spaceturtle-connector-zone:latest) +# SPACETURTLE_CONNECTOR_IMAGE the connector's zone image (default: ghcr.io/toon-protocol/spaceturtle-connector-zone, at the release install.sh installed, else latest) # SPACETURTLE_AGENT_ZONE the agent's zone's name (default: st-agent) -# SPACETURTLE_AGENT_IMAGE the agent's zone image (default: ghcr.io/toon-protocol/spaceturtle-agent-zone:latest) +# SPACETURTLE_AGENT_IMAGE the agent's zone image (default: ghcr.io/toon-protocol/spaceturtle-agent-zone, likewise) # SPACETURTLE_AGENT_DEF the agent definition (default: agent/spaceturtle.yaml beside this file) # SPACETURTLE_CONNECTOR_PORT the first of the two loopback ports of the machine that lead to the # connector's zone: this one to the supervisor's orders, the next @@ -155,10 +155,14 @@ backup_dir=${SPACETURTLE_BACKUP_DIR:-$HOME/spaceturtle-backup} config_dir=${SPACETURTLE_CONFIG_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/spaceturtle} conf=$config_dir/launcher.conf key_file=${SPACETURTLE_MODEL_KEY_FILE:-${XDG_CONFIG_HOME:-$HOME/.config}/spaceturtle-launcher/model-key} -connector_image=${SPACETURTLE_CONNECTOR_IMAGE:-ghcr.io/toon-protocol/spaceturtle-connector-zone:latest} +# Where the launcher itself is, through any link to it: the agent definition is beside it. +here=$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd) +# install.sh names the release it installed, and the zone images are that release's. +image_tag=latest +[[ ! -s $here/version ]] || image_tag=$(<"$here/version") +connector_image=${SPACETURTLE_CONNECTOR_IMAGE:-ghcr.io/toon-protocol/spaceturtle-connector-zone:$image_tag} agent_zone=${SPACETURTLE_AGENT_ZONE:-st-agent} -agent_image=${SPACETURTLE_AGENT_IMAGE:-ghcr.io/toon-protocol/spaceturtle-agent-zone:latest} -here=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +agent_image=${SPACETURTLE_AGENT_IMAGE:-ghcr.io/toon-protocol/spaceturtle-agent-zone:$image_tag} agent_def=${SPACETURTLE_AGENT_DEF:-$here/agent/spaceturtle.yaml} connector_port=${SPACETURTLE_CONNECTOR_PORT:-47100} [[ $connector_port =~ ^[1-9][0-9]{0,4}$ ]] || { echo "spaceturtle: SPACETURTLE_CONNECTOR_PORT must be a port number, not '$connector_port'" >&2; exit 1; } diff --git a/tests/run b/tests/run index 2a05624..21d20c0 100755 --- a/tests/run +++ b/tests/run @@ -1117,6 +1117,63 @@ launcher_env; SPACETURTLE_SBX=$tmp/bin/missing run_launcher; rc=$? [[ $rc -ne 0 ]] && grep -qi 'not installed' "$tmp/out" && grep -q 'github.com/docker/sbx-releases' "$tmp/out" \ && [[ ! -e $SPACETURTLE_STATE_DIR/launcher && ! -e $SPACETURTLE_DATA_DIR && ! -e $SPACETURTLE_BACKUP_DIR ]]; launcher_check "with sbx missing it stops before doing anything, with cause and remedy" $? +# --- install.sh: one command puts the launcher of a release on the machine --- +# A curl that serves GitHub from $STUB_DIR: the latest release's tag, the release's source +# archive, and a Docker Sandboxes archive whose installer leaves a mark. +install_env() { + launcher_env + export SPACETURTLE_INSTALL_DIR=$tmp/launcher SPACETURTLE_BIN_DIR=$tmp/linkbin SPACETURTLE_CURL=$tmp/bin/gh-curl + mkdir -p "$tmp/src/spaceturtle-1.2.3/agent" "$tmp/src/docker-sbx" + cp "$root/spaceturtle" "$tmp/src/spaceturtle-1.2.3/"; cp "$root/agent/spaceturtle.yaml" "$tmp/src/spaceturtle-1.2.3/agent/" + tar -czf "$STUB_DIR/source.tar.gz" -C "$tmp/src" spaceturtle-1.2.3 + echo ': > "$STUB_DIR/sbx-installed"' > "$tmp/src/docker-sbx/install.sh" + tar -czf "$STUB_DIR/sbx.tar.gz" -C "$tmp/src" docker-sbx + export SPACETURTLE_SBX_SHA256=$(sha256sum "$STUB_DIR/sbx.tar.gz" | cut -d' ' -f1) + cat > "$SPACETURTLE_CURL" <<'STUB' +#!/bin/bash +echo "$*" >> "$STUB_DIR/curl-calls" +out=; url=${@: -1} +while (($#)); do [[ $1 == -o ]] && out=$2; shift; done +case $url in + */releases/latest) [[ -e $STUB_DIR/no-release ]] && exit 22; echo '{"tag_name":"v1.2.3"}' ;; + */archive/refs/tags/v1.2.3.tar.gz) cp "$STUB_DIR/source.tar.gz" "$out" ;; + */DockerSandboxes-linux-amd64.tar.gz) cp "$STUB_DIR/sbx.tar.gz" "$out" ;; + *) exit 22 ;; +esac +STUB + chmod +x "$SPACETURTLE_CURL" +} +run_install() { "$root/install.sh" > "$tmp/out" 2>&1; } +install_check() { count=$((count + 1)); if [[ $2 -eq 0 ]]; then echo "ok install: $1"; else echo "FAIL install: $1"; sed 's/^/ /' "$tmp/out" 2>/dev/null; fails=$((fails + 1)); fi; } + +install_env; run_install; rc=$? +[[ $rc -eq 0 ]] && cmp -s "$tmp/launcher/spaceturtle" "$root/spaceturtle" && cmp -s "$tmp/launcher/agent/spaceturtle.yaml" "$root/agent/spaceturtle.yaml" && [[ -x $tmp/launcher/spaceturtle && $(<"$tmp/launcher/version") == 1.2.3 ]] +install_check "the latest release's launcher and agent definition are installed, with the release named" $? +[[ $(readlink "$tmp/linkbin/spaceturtle") == "$tmp/launcher/spaceturtle" ]]; install_check "spaceturtle is linked into the bin directory" $? +grep -q 'spaceturtle start' "$tmp/out" && grep -q 'spaceturtle key' "$tmp/out" && grep -q "$tmp/linkbin" "$tmp/out" && ! grep -q 'sbx login' "$tmp/out" && [[ ! -e $STUB_DIR/sbx-installed ]] +install_check "it ends with what to run next, and leaves an sbx that is there and signed in alone" $? +"$tmp/linkbin/spaceturtle" start > "$tmp/out" 2>&1; rc=$? +[[ $rc -eq 0 ]] && grep '^create --name zone-x' "$STUB_DIR/calls" | grep -q -- '--template ghcr.io/toon-protocol/spaceturtle-connector-zone:1.2.3 ' && grep '^create --name agent-x' "$STUB_DIR/calls" | grep -q 'spaceturtle-agent-zone:1.2.3 ' +install_check "run through the link, the launcher finds itself and pulls the images of the release it came from" $? +: > "$STUB_DIR/calls"; echo secret-key-123 > "$SPACETURTLE_MODEL_KEY_FILE"; "$tmp/linkbin/spaceturtle" session --unattended > "$tmp/out" 2>&1; rc=$? +[[ $rc -eq 0 ]] && cmp -s <(head -n -2 "$SPACETURTLE_STATE_DIR/session/spaceturtle.yaml") "$tmp/launcher/agent/spaceturtle.yaml"; install_check " and a session reads the definition that was installed beside it" $? +echo changed >> "$tmp/launcher/spaceturtle"; echo stale > "$tmp/launcher/leftover"; run_install; rc=$? +[[ $rc -eq 0 ]] && cmp -s "$tmp/launcher/spaceturtle" "$root/spaceturtle" && [[ ! -e $tmp/launcher/leftover && ! -e $tmp/launcher.new && ! -e $tmp/launcher.old ]]; install_check "running it again replaces the launcher whole" $? +install_env; rm "$SPACETURTLE_KVM"; run_install; rc=$? +[[ $rc -ne 0 ]] && grep -qi kvm "$tmp/out" && grep -qi firmware "$tmp/out" && [[ ! -e $tmp/launcher && ! -e $tmp/linkbin && ! -e $STUB_DIR/curl-calls ]]; install_check "with no KVM it says so and installs nothing" $? +install_env; SPACETURTLE_SBX=$tmp/bin/no-sbx HOME=$tmp/emptyhome run_install; rc=$? +[[ $rc -eq 0 && -e $STUB_DIR/sbx-installed ]] && grep -q 'sbx login' "$tmp/out" && grep -q '.docker/sbx/bin' "$tmp/out"; install_check "a machine with no sbx gets Docker Sandboxes, and is told to sign in and where sbx is" $? +install_env; SPACETURTLE_SBX=$tmp/bin/no-sbx HOME=$tmp/emptyhome SPACETURTLE_SBX_SHA256=$(printf '0%.0s' {1..64}) run_install; rc=$? +[[ $rc -ne 0 && ! -e $STUB_DIR/sbx-installed ]] && grep -q 'not the release it should be' "$tmp/out"; install_check "a Docker Sandboxes download with another checksum is not run" $? +install_env; touch "$STUB_DIR/signed-out"; run_install; grep -q 'sbx login' "$tmp/out"; install_check "an sbx that is signed out is named in what to run next" $? +install_env; touch "$STUB_DIR/no-release"; run_install; rc=$? +[[ $rc -ne 0 && ! -e $tmp/launcher ]] && grep -q 'SPACETURTLE_VERSION' "$tmp/out"; install_check "with no release to be found it says how to name one, and installs nothing" $? +install_env; touch "$STUB_DIR/no-release"; SPACETURTLE_VERSION=v1.2.3 run_install; rc=$? +[[ $rc -eq 0 && $(<"$tmp/launcher/version") == 1.2.3 ]] && ! grep -q 'releases/latest' "$STUB_DIR/curl-calls"; install_check "a release can be named" $? +install_env; SPACETURTLE_VERSION='main; rm -rf x' run_install; rc=$? +[[ $rc -ne 0 && ! -e $tmp/launcher ]] && grep -q 'is not a release' "$tmp/out"; install_check "a version that is not a release is refused" $? +unset SPACETURTLE_INSTALL_DIR SPACETURTLE_BIN_DIR SPACETURTLE_CURL SPACETURTLE_SBX_SHA256 + # --- the launcher: the network is start's flags, kept with the Install --- start_with() { printf '%s\n' "$1" | "$root/spaceturtle" start "${@:2}" > "$tmp/out" 2>&1; } # the typed answer, then the flags init_line() { grep 'toon init' "$STUB_DIR/calls"; } From 89f8da254dd66c30249021e021a3ba5ebff778b1 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 07:40:43 -0400 Subject: [PATCH 07/22] The zones run under microsandbox, with no account (#57) Docker Sandboxes refuses every command until the person signs in to a Docker account. Both zones are now virtual machines under microsandbox (msb 0.7.8), which needs KVM and nothing else. install.sh puts a pinned copy in ~/.local/share/spaceturtle/microsandbox, checked against its checksum, and the launcher drives that copy with a home of its own. - The connector's zone is made with the wallet's storage mounted as toon's home, a disk of its own for the container engine, /run in memory, the public internet out and the two ports in from the machine's loopback. - The agent's zone has a wall: name resolution, the two ports, the model provider's host, the network's connector and the two hosts the skills come from. A wall is fixed when a zone is made, so a session that needs another makes the zone again and carries the agent key across in memory. What the agent keeps is in mounted directories that outlast the zone. - One session runs at a time, and the agent's zone is stopped when it ends. - start waits until the supervisor answers, not only until it is there. - The image drops the proxy line for the overlay client and finds the zone's own address without the name of the host. Run for real on devnet beside the existing Install: start in 39 s, sessions, the wall, stop and start, upgrade, an untrusted app approved under gVisor, and the unit under systemd bringing back a stopped zone and an ended supervisor. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/images.yml | 4 +- images/connector/Dockerfile | 13 +- images/connector/connector-start | 28 ++- images/versions.env | 4 +- install.sh | 55 +++-- spaceturtle | 347 ++++++++++++++++++------------- tests/run | 249 +++++++++++++--------- 7 files changed, 404 insertions(+), 296 deletions(-) diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml index fbd6dd2..7decdcf 100644 --- a/.github/workflows/images.yml +++ b/.github/workflows/images.yml @@ -44,7 +44,7 @@ jobs: - name: jq is in the agent's zone, where the launcher rewrites the key file's addresses if: matrix.image == 'agent' run: docker run --rm --entrypoint jq spaceturtle-agent-zone:ci --version - - name: gVisor and the overlay client's proxy line are in the connector's zone + - name: gVisor is in the connector's zone, and no proxy line for the overlay client if: matrix.image == 'connector' run: | - docker run --rm --entrypoint sh spaceturtle-connector-zone:ci -c 'runsc --version && cat /usr/local/etc/anon/anonrc-defaults' + docker run --rm --entrypoint sh spaceturtle-connector-zone:ci -c 'runsc --version && [ ! -e /usr/local/etc/anon/anonrc-defaults ]' diff --git a/images/connector/Dockerfile b/images/connector/Dockerfile index 62ab1d2..d238056 100644 --- a/images/connector/Dockerfile +++ b/images/connector/Dockerfile @@ -1,7 +1,7 @@ -# The connector's zone: toon, the container engine the apps run on (the base's own Docker), -# and gVisor's runsc for images that are not TOON's own. It holds no wallet: the wallet's -# storage is a volume the launcher mounts, so replacing this image leaves it alone. -# `connector-start` is the entrypoint; it needs no `systemd --user`. +# The connector's zone, a virtual machine under microsandbox: toon, the container engine the +# apps run on (the base's own Docker), and gVisor's runsc for images that are not TOON's own. +# It holds no wallet: the wallet's storage is a directory the launcher mounts, so replacing +# this image leaves it alone. `connector-start` is the entrypoint; it needs no `systemd --user`. # Build arguments come from images/versions.env and have no defaults here. ARG CONNECTOR_BASE_DIGEST FROM docker/sandbox-templates:shell-docker@${CONNECTOR_BASE_DIGEST} @@ -48,11 +48,6 @@ rm -rf /var/lib/apt/lists/* /tmp/toon-v* /tmp/gvisor /tmp/gvisor.tar.bz2 "/tmp/$ # The runtime dockerd offers an app whose image is not TOON's own. mkdir -p /etc/docker echo '{"runtimes":{"runsc":{"path":"/usr/local/bin/runsc"}}}' > /etc/docker/daemon.json - -# The overlay client reads this file before the config toon writes, and only the sandbox's -# forward proxy lets it connect (the live test on #42). toon has no setting for a proxy. -mkdir -p /usr/local/etc/anon -echo "HTTPSProxy gateway.docker.internal:3128" > /usr/local/etc/anon/anonrc-defaults SCRIPT COPY --chmod=0755 connector-start /usr/local/bin/connector-start diff --git a/images/connector/connector-start b/images/connector/connector-start index 688e108..6576bba 100755 --- a/images/connector/connector-start +++ b/images/connector/connector-start @@ -1,13 +1,15 @@ #!/bin/bash -# The connector's zone's entrypoint, and what the launcher runs in the session that keeps the -# zone up. Starts the container engine if it is not running, the two forwarders an agent key -# is used through, then the supervisor in this process, so nothing needs `systemd --user` -# (`toon up` without --foreground installs a unit). The passphrase file is the one the -# launcher made in this zone. Until `toon init` has written the passphrase file there is -# nothing to supervise, so it waits for that file with the engine up, then starts the supervisor. +# The connector's zone's entrypoint, and what the launcher's unit runs in the zone. Starts the +# container engine if it is not running, the two forwarders an agent key is used through, then +# the supervisor in this process, so nothing needs `systemd --user` (`toon up` without +# --foreground installs a unit). The passphrase file is the one the launcher made in this +# zone. Until `toon init` has written the passphrase file there is nothing to supervise, so +# it waits for that file with the engine up, then starts the supervisor. set -euo pipefail if ! docker info >/dev/null 2>&1; then + # The launcher keeps /run in memory, so the engine finds nothing there from before the zone + # last stopped: a pid file left on a disk would keep it from starting. sudo sh -c 'setsid nohup dockerd > /var/log/dockerd.log 2>&1 < /dev/null &' for _ in $(seq 60); do docker info >/dev/null 2>&1 && break @@ -23,15 +25,16 @@ if [[ ! -r $TOON_PASSPHRASE_FILE ]]; then fi home=$HOME/.toon/agent-node -# A zone that was stopped leaves the supervisor's socket behind, and on a mounted directory a -# connection to it is accepted although nothing listens, so `toon up` takes the node for running. +# A zone that was stopped leaves the supervisor's socket behind, which `toon up` could take +# for a node that is running. pgrep -f "[t]oon up" >/dev/null || rm -f "$home/supervisor.sock" # The supervisor's orders and the relay TOON app's connector listen on loopback, which a # published port does not reach. A forwarder on the zone's own address leads to each: 17100 # to the orders, 17101 to the connector. The launcher publishes those two to the machine's -# loopback. They listen on that one address, which is not on any app's network. -own_address=$(hostname -i | tr ' ' '\n' | grep -m1 -E '^[0-9]+(\.[0-9]+){3}$' || true) +# loopback. They listen on that one address, which is not on any app's network: the zone's +# own interface is there from the start, so its address comes before any the engine adds. +own_address=$(hostname -I | tr ' ' '\n' | grep -m1 -E '^[0-9]+(\.[0-9]+){3}$' || true) forward() { # listening port, the loopback port it leads to [[ -n $own_address ]] || { echo "connector-start: the zone's own address is not known, so port $1 is not forwarded" >&2; return 0; } [[ $2 =~ ^[0-9]+$ ]] || { echo "connector-start: nothing to forward port $1 to yet" >&2; return 0; } @@ -41,9 +44,4 @@ forward() { # listening port, the loopback port it leads to forward 17100 "$(jq -r '.supervisor // "" | sub(".*:"; "")' "$home/agent-keys.json" 2>/dev/null)" forward 17101 "$(jq -r '.toon_apps[0].listen // "" | sub(".*:"; "")' "$home/state.json" 2>/dev/null)" -# An app is reached at its container's own address, and the sandbox's proxy, which every -# program here is pointed at, cannot reach in there: the engine's networks go direct. -export NO_PROXY="${NO_PROXY:+$NO_PROXY,}172.16.0.0/12,192.168.0.0/16" -export no_proxy=$NO_PROXY - exec toon up --foreground diff --git a/images/versions.env b/images/versions.env index cdd7cdb..cd48d0c 100644 --- a/images/versions.env +++ b/images/versions.env @@ -9,7 +9,9 @@ TOON_SHA256_AMD64=8fe0acd614187493c665fff810543b3f618806bd373933835824d545591f52 TOON_SHA256_ARM64=e20d77547050d60821223c98ef63e68bc75d22d465eda6eb330cdff291c44135 # The agent's zone: docker-agent's own sandbox image (docker/docker-agent-sbx-templates), -# the release that goes with the docker-agent the agent definition is tested with. +# the release that goes with the docker-agent the agent definition is tested with. Both bases +# are Docker's images for its own sandboxes; the launcher runs them under microsandbox, which +# install.sh pins. DOCKER_AGENT_VERSION=1.150.0 DOCKER_AGENT_BASE_DIGEST=sha256:67edb4cf7eaa8b0ae8ad9021abf1e1bcb2f788d363234491f629ac64afb387cb # The docker-agent program of that release, which a release publishes the agent definition diff --git a/install.sh b/install.sh index 3b4c965..16a410b 100755 --- a/install.sh +++ b/install.sh @@ -5,16 +5,18 @@ # # It checks the machine first and changes nothing if something is missing. Then it puts the # launcher and the agent definition of one release in ~/.local/share/spaceturtle/launcher, -# links `spaceturtle` into ~/.local/bin, and installs Docker Sandboxes (`sbx`) if the machine -# has none. The launcher it installs pulls the zone images of that same release. It does not -# sign in to Docker or start anything: it ends by saying what to run next. +# links `spaceturtle` into ~/.local/bin, and puts microsandbox (`msb`), which the zones run +# in, in ~/.local/share/spaceturtle/microsandbox: a copy that is spaceturtle's alone, at the +# version the launcher is tested with. The launcher it installs pulls the zone images of that +# same release. It needs no account, asks for none and starts nothing: it ends by saying +# what to run next. # Run it again to move to the newest release, then `spaceturtle upgrade`. # # Environment: # SPACETURTLE_VERSION the release to install, such as v0.2.0 (default: the latest) # SPACETURTLE_INSTALL_DIR where the launcher goes (default: ~/.local/share/spaceturtle/launcher) # SPACETURTLE_BIN_DIR where the link goes (default: ~/.local/bin) -# SPACETURTLE_KVM, SPACETURTLE_SBX, SPACETURTLE_SYSTEMCTL as the launcher reads them +# SPACETURTLE_KVM, SPACETURTLE_MSB_HOME, SPACETURTLE_SYSTEMCTL as the launcher reads them # SPACETURTLE_CURL the curl program (default: curl) set -euo pipefail @@ -22,13 +24,13 @@ repo=toon-protocol/spaceturtle dir=${SPACETURTLE_INSTALL_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/spaceturtle/launcher} bin=${SPACETURTLE_BIN_DIR:-$HOME/.local/bin} kvm=${SPACETURTLE_KVM:-/dev/kvm} -sbx=${SPACETURTLE_SBX:-sbx} +msb_home=${SPACETURTLE_MSB_HOME:-${XDG_DATA_HOME:-$HOME/.local/share}/spaceturtle/microsandbox} systemctl_=${SPACETURTLE_SYSTEMCTL:-systemctl} curl_=${SPACETURTLE_CURL:-curl} -# Docker Sandboxes, pinned: the release the launcher is tested with. The checksum is the -# digest GitHub records for the release's DockerSandboxes-linux-amd64.tar.gz. -sbx_version=${SPACETURTLE_SBX_VERSION:-0.47.0} -sbx_sha256=${SPACETURTLE_SBX_SHA256:-a89cb4380075ebb20938103bc98ec63327fbeabe43a71f0575ddb285a051eab4} +# microsandbox, pinned: the release the launcher is tested with. The checksum is the one the +# release's checksums.sha256 gives for microsandbox-linux-x86_64.tar.gz. +msb_version=${SPACETURTLE_MSB_VERSION:-0.7.8} +msb_sha256=${SPACETURTLE_MSB_SHA256:-86f9f72dc3e639c7175bc07909b4b63ce412517c1ef8a2e1921171af5682fded} say() { echo "spaceturtle: $*"; } die() { echo "spaceturtle: $*" >&2; exit 1; } @@ -36,7 +38,11 @@ die() { echo "spaceturtle: $*" >&2; exit 1; } # Everything the machine lacks, said at once, before anything is changed. lacking=() [[ $(uname -s) == Linux && $(uname -m) == x86_64 ]] || lacking+=("a Linux machine on x86_64: the zone images are built for nothing else") -[[ -e $kvm ]] || lacking+=("KVM ($kvm): turn on virtualisation in the firmware (VT-x or AMD-V) and load the kvm module") +if [[ ! -e $kvm ]]; then lacking+=("KVM ($kvm): turn on virtualisation in the firmware (VT-x or AMD-V) and load the kvm module") +elif [[ ! -r $kvm || ! -w $kvm ]]; then lacking+=("the right to use KVM ($kvm): run 'sudo usermod -aG kvm \$USER', then sign out and in again") +fi +# microsandbox is built against the GNU C library. +getconf GNU_LIBC_VERSION >/dev/null 2>&1 || lacking+=("the GNU C library (glibc 2.28 or newer), which microsandbox needs") command -v "$systemctl_" >/dev/null 2>&1 || lacking+=("systemd, for the user units that keep the Install running") for program in "$curl_" jq tar sha256sum; do command -v "$program" >/dev/null 2>&1 || lacking+=("$program") @@ -77,23 +83,28 @@ mv "$dir.new" "$dir" rm -rf "$dir.old" ln -sfn "$dir/spaceturtle" "$bin/spaceturtle" -if ! command -v "$sbx" >/dev/null 2>&1 && [[ ! -x $HOME/.docker/sbx/bin/sbx ]]; then - say "installing Docker Sandboxes $sbx_version, which the zones run in" - "$curl_" -fsSL -o "$tmp/sbx.tar.gz" "https://github.com/docker/sbx-releases/releases/download/v$sbx_version/DockerSandboxes-linux-amd64.tar.gz" \ - || die "Docker Sandboxes could not be downloaded. Install it from https://github.com/docker/sbx-releases, then run 'spaceturtle start'." - echo "$sbx_sha256 $tmp/sbx.tar.gz" | sha256sum -c - >/dev/null || die "the download of Docker Sandboxes is not the release it should be, so it was not installed" - tar -xzf "$tmp/sbx.tar.gz" -C "$tmp" - bash "$tmp/docker-sbx/install.sh" || die "Docker Sandboxes' own installer failed. Install it from https://github.com/docker/sbx-releases, then run 'spaceturtle start'." +# microsandbox is a program and the library that holds the zones' kernel, side by side. +if [[ $("$msb_home/bin/msb" --version 2>/dev/null) != "msb $msb_version" ]]; then + say "installing microsandbox $msb_version, which the zones run in" + "$curl_" -fsSL -o "$tmp/msb.tar.gz" "https://github.com/superradcompany/microsandbox/releases/download/v$msb_version/microsandbox-linux-x86_64.tar.gz" \ + || die "microsandbox could not be downloaded, so the launcher has nothing to run the zones in. Run this again." + echo "$msb_sha256 $tmp/msb.tar.gz" | sha256sum -c - >/dev/null || die "the download of microsandbox is not the release it should be, so it was not installed" + mkdir "$tmp/msb" + tar -xzf "$tmp/msb.tar.gz" -C "$tmp/msb" || die "the download of microsandbox is not an archive" + lib=$(cd "$tmp/msb" && ls libkrunfw.so.*.*.* 2>/dev/null | head -n 1) + [[ -s $tmp/msb/msb && -n $lib ]] || die "the download of microsandbox does not hold what it should" + mkdir -p "$msb_home/bin" "$msb_home/lib" + install -m 0644 "$tmp/msb/$lib" "$msb_home/lib/$lib" + abi=${lib#libkrunfw.so.}; abi=${abi%%.*} + ln -sfn "$lib" "$msb_home/lib/libkrunfw.so.$abi" + ln -sfn "libkrunfw.so.$abi" "$msb_home/lib/libkrunfw.so" + install -m 0755 "$tmp/msb/msb" "$msb_home/bin/msb" fi say "installed. What to run next:" n=1 step() { echo " $n. $*"; n=$((n + 1)); } -path_add= -command -v "$sbx" >/dev/null 2>&1 || path_add="\$HOME/.docker/sbx/bin:" -case ":$PATH:" in *":$bin:"*) ;; *) path_add+="$bin:" ;; esac -[[ -z $path_add ]] || step "export PATH=\"$path_add\$PATH\" (and add it to your shell's profile)" -PATH="$HOME/.docker/sbx/bin:$PATH" "$sbx" ls >/dev/null 2>&1 || step "sbx login && sbx daemon start -d (a Docker account; it opens a browser)" +case ":$PATH:" in *":$bin:"*) ;; *) step "export PATH=\"$bin:\$PATH\" (and add it to your shell's profile)" ;; esac step "spaceturtle start (about a minute; makes the Install on devnet)" step "spaceturtle key (your model provider's key, read without showing it)" step "spaceturtle session (talk to your agent)" diff --git a/spaceturtle b/spaceturtle index ac192fa..8e9c802 100755 --- a/spaceturtle +++ b/spaceturtle @@ -8,17 +8,16 @@ # Brings the connector's zone up, step by step, and does only the steps # not yet done, so a run that was interrupted finishes the rest when run # again and a second run creates, initialises and funds nothing: -# 1. zone a detached Docker Sandboxes virtual machine made from the -# connector's zone image, with an any-address rule scoped to -# that zone alone; nothing is copied into it from the machine +# 1. zone a microsandbox virtual machine made from the connector's zone +# image. It reaches the public internet and nothing of the machine +# or its network; nothing is copied into it from the machine # 2. node the agent node, initialised inside it on the network chosen # 3. faucet the wallet funded from the faucet, on devnet # 4. agent key one agent key, its private half placed in the agent's zone # 5. supervisor the image's `connector-start` (the container engine, the -# forwarders, then `toon up`), run by a systemd user unit that -# holds a session open in the zone: Docker Sandboxes stops a -# zone nobody is attached to, and the unit also brings the -# zone back after the machine restarts +# forwarders, then `toon up`), run by a systemd user unit, which +# starts it again if it ends and brings the zone back after the +# machine restarts # 6. backup a sealed backup of the wallet, handed to the Observer # The passphrase is made inside the zone: it is never printed and never # written to the machine's disk. `upgrade` carries it in memory to the new zone. @@ -34,7 +33,7 @@ # Replaces the connector's zone with one from the newest connector's zone image, # leaving the wallet's storage as it was. A fresh backup comes first; if it fails, # or the passphrase cannot be read out of the old zone, nothing is changed. The -# passphrase goes through the standard output and input of `sbx exec`, never an +# passphrase goes through the standard output and input of `msb exec`, never an # argument, the environment or a file. The agent's zone is removed too. # spaceturtle backup # Writes a fresh sealed backup to the backup directory; the earlier one is replaced @@ -57,10 +56,12 @@ # # spaceturtle session [--unattended] # Starts a `docker-agent` session in the agent's zone, with the agent -# definition mounted read-only. The agent's zone is allowed the model -# provider's host, the host of the network's connector, and the two loopback -# ports that lead to the connector's zone, on top of what the machine's own -# `sbx` policy allows every sandbox. By hand +# definition mounted read-only. The agent's zone reaches name resolution, the +# model provider's host, the host of the network's connector, where the agent's +# skills are fetched from, and the two loopback ports that lead to the connector's +# zone. Everything else is refused. That list is the zone's from when it is made: +# when it changes, as with a model of another provider, the zone is made again and +# the agent key carried across in memory. One session runs at a time. By hand # it is a conversation; --unattended is what the timer runs: no one is # present, every tool call the definition offers runs unasked, and the session # has a ceiling on model cost, written into its copy of the definition as @@ -112,15 +113,19 @@ # connector's zone. The agent has no tool for them (tests/check-agent). # # The model key is the Observer's: it lives in a file outside every zone, is given -# to the session as an environment variable of the sbx process (never an argument) +# to the session as an environment variable of the msb process (never an argument) # and is not in any directory the agent's file tool may read. # # Every command that uses a zone stops before doing anything when the machine has no -# KVM, `sbx` is missing or -# `sbx` is signed out, and says the cause and the remedy. +# KVM, the person may not use it, or microsandbox (`msb`) is missing or does not run, and +# says the cause and the remedy. The zones need no account and no root. # # Environment, so that tests can run against a temporary home: -# SPACETURTLE_SBX the sbx program (default: sbx) +# SPACETURTLE_MSB_HOME microsandbox's home, which holds the zones and their images and +# is spaceturtle's alone (default: ~/.local/share/spaceturtle/microsandbox) +# SPACETURTLE_MSB the msb program (default: bin/msb in that home, where install.sh puts it) +# SPACETURTLE_PULL when a zone image is pulled: always, if-missing or never (default: +# if-missing for `start`, always for `upgrade`) # SPACETURTLE_KVM the KVM device (default: /dev/kvm) # SPACETURTLE_ZONE the zone's name (default: st-connector) # SPACETURTLE_STATE_DIR the state directory (default: ~/.local/state/spaceturtle); @@ -145,7 +150,12 @@ # SPACETURTLE_UNIT_DIR where the timer's units are written (default: ~/.config/systemd/user) set -uo pipefail -sbx=${SPACETURTLE_SBX:-sbx} +msb_home=${SPACETURTLE_MSB_HOME:-${XDG_DATA_HOME:-$HOME/.local/share}/spaceturtle/microsandbox} +msb=${SPACETURTLE_MSB:-$msb_home/bin/msb} +# The zones and their images are kept apart from any microsandbox the person uses themselves. +export MSB_HOME=$msb_home +# A zone is made from the image that is already here, if it is; `upgrade` asks the registry. +pull=${SPACETURTLE_PULL:-if-missing} kvm=${SPACETURTLE_KVM:-/dev/kvm} zone=${SPACETURTLE_ZONE:-st-connector} state_dir=${SPACETURTLE_STATE_DIR:-${XDG_STATE_HOME:-$HOME/.local/state}/spaceturtle} @@ -170,10 +180,17 @@ relay_port=$((connector_port + 1)) supervisor_wait=${SPACETURTLE_SUPERVISOR_WAIT:-180} # The agent definition as a session reads it, in a directory the agent's zone mounts read-only. session_dir=$state_dir/session -# toon's home in the connector's zone; step_zone links it to the wallet's storage. +# What the agent keeps, in its two directories. They are mounted, so they outlast the agent's zone. +agent_dir=$state_dir/agent +# toon's home in the connector's zone, where the wallet's storage is mounted. toon_home='$HOME/.toon/agent-node' +# The user of both zone images, whose home is /home/agent. A mounted directory is shown as theirs. +zone_user=uid=1000,gid=1000 systemctl_=${SPACETURTLE_SYSTEMCTL:-systemctl} unit_dir=${SPACETURTLE_UNIT_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user} +# The path the units run the launcher with: wherever jq is, which systemd's own path may not hold. +unit_path=/usr/local/bin:/usr/bin:/bin +case :$unit_path: in *":$(dirname "$(command -v jq 2>/dev/null || echo /usr/bin/jq)"):"*) ;; *) unit_path=$(dirname "$(command -v jq)"):$unit_path ;; esac die() { echo "spaceturtle: $*" >&2; exit 1; } say() { echo "spaceturtle: $*"; } @@ -186,67 +203,58 @@ agent_key_path='$HOME/.config/toon-agent/key' # Quotes a value for the zone's sh. sh_quote() { printf "'%s'" "${1//\'/\'\\\'\'}"; } +# Runs a command in a zone. The launcher's own standard input is left alone unless a caller pipes into it. +zexec() { "$msb" exec --quiet "$@"; } + # Every command in the zone sees the passphrase file that lives in the zone. -in_zone() { "$sbx" exec "$zone" sh -c "export TOON_PASSPHRASE_FILE=\$HOME/.config/toon-passphrase; $1"; } +in_zone() { zexec --no-stdin "$zone" -- sh -c "export TOON_PASSPHRASE_FILE=\$HOME/.config/toon-passphrase; $1"; } preflight() { - [[ -e $kvm ]] || die "this machine has no KVM ($kvm), and the connector's zone is a virtual machine. Turn on virtualisation in the firmware (VT-x or AMD-V) and load the kvm module, or use a machine that has it." - command -v "$sbx" >/dev/null 2>&1 || die "sbx (Docker Sandboxes) is not installed. Install it from https://github.com/docker/sbx-releases and run it again." - "$sbx" ls >/dev/null 2>&1 || die "sbx is signed out or its daemon is not running. Run 'sbx login' and 'sbx daemon start -d', then run it again." + [[ -e $kvm ]] || die "this machine has no KVM ($kvm), and a zone is a virtual machine. Turn on virtualisation in the firmware (VT-x or AMD-V) and load the kvm module, or use a machine that has it." + [[ -r $kvm && -w $kvm ]] || die "you may not use KVM ($kvm). Run 'sudo usermod -aG kvm \$USER', sign out and in again, then run it again." + command -v "$msb" >/dev/null 2>&1 || die "microsandbox is not installed at $msb. Run spaceturtle's install.sh, which puts it there, then run it again." + "$msb" ls >/dev/null 2>&1 || die "microsandbox does not run on this machine. '$msb doctor' says why." } -zone_exists() { "$sbx" ls 2>/dev/null | awk -v z="$zone" '$1 == z { found = 1 } END { exit !found }'; } - -# The zone's state in `sbx ls`: running, stopped or "not created". Takes the zone's name. +# A zone's state: running, stopped or "not created". Takes the zone's name. zone_state() { - "$sbx" ls 2>/dev/null | awk -v z="${1:-$zone}" '$1 == z { found = 1; run = ($0 ~ /running/) } - END { print !found ? "not created" : run ? "running" : "stopped" }' + local s + s=$("$msb" ls --format json 2>/dev/null | jq -r --arg z "${1:-$zone}" '.[] | select(.name == $z) | .status | ascii_downcase' 2>/dev/null) + case $s in running) echo running ;; "") echo "not created" ;; *) echo stopped ;; esac } +zone_exists() { [[ $(zone_state) != "not created" ]]; } + # Creates the connector's zone from the connector's zone image; the markers are the caller's. +# The wallet's storage is mounted as toon's home. The container engine keeps its images on a +# disk of the zone's own, and /run is in memory, so that a zone that starts again finds nothing +# the engine left there. Out of the zone leads the public internet, and nothing of the machine or +# its network; into it lead the two forwarders of `connector-start`, from the machine's loopback. create_zone() { mkdir -p "$data_dir" || die "cannot create $data_dir" - # sbx refuses to create before the machine's policy is initialised, and refuses to initialise - # it twice. A policy that is already there is the Observer's own and is left as it is. - "$sbx" policy init balanced >/dev/null 2>&1 || "$sbx" policy ls >/dev/null 2>&1 || die "sbx policy init failed" - "$sbx" create --name "$zone" --cpus 4 --memory 4g --template "$connector_image" shell "$data_dir" || die "sbx create failed" + "$msb" create "$connector_image" --name "$zone" --cpus 4 --memory 4G --quiet --pull "$pull" \ + --mount-dir "$data_dir:/home/agent/.toon/agent-node:$zone_user" \ + --mount-owned /var/lib/docker:kind=disk,size=20G --tmpfs /run \ + --net public --port "127.0.0.1:$connector_port:17100" --port "127.0.0.1:$relay_port:17101" \ + || die "the connector's zone could not be made; microsandbox says why above. It needs ports $connector_port and $relay_port of this machine: if another program holds one, set SPACETURTLE_CONNECTOR_PORT to the first of two free ports." } step_zone() { - if ! zone_exists; then - say "creating the connector's zone ($zone)" - create_zone - # A new zone has none of the steps done in it, whatever an earlier zone had. - rm -rf "$marks" - elif [[ $(zone_state) == stopped ]]; then - say "starting the connector's zone ($zone)" - # sbx has no command that only starts a zone; running anything in a stopped one starts it. - "$sbx" exec "$zone" true || die "the connector's zone could not be started" - fi - if ! done_ rule; then - # The rule names the zone, so it is never machine-wide. - "$sbx" policy allow network --sandbox "$zone" --protocol tcp,udp "**" || die "the any-address rule failed" - mark rule - fi - if ! done_ zone; then - # The image holds the overlay client's proxy setting. toon's home is the mounted - # directory, so the wallet lives there, while the passphrase stays on the zone's own disk. - in_zone 'mkdir -p ~/.config ~/.toon && ln -sfn '"$(sh_quote "$data_dir")"' ~/.toon/agent-node' || die "the zone could not be set up" - mark zone - fi - publish_ports -} - -# The two forwarders of `connector-start`, published to the machine's loopback, where the -# agent's zone reaches them. A published port is gone when a zone is made again, so every run looks. -publish_ports() { - local have pair - have=$("$sbx" ports "$zone" 2>/dev/null) - for pair in "$connector_port:17100" "$relay_port:17101"; do - awk -v h="${pair%%:*}" -v s="${pair##*:}" '$2 == h && $3 == s { found = 1 } END { exit !found }' <<<"$have" && continue - "$sbx" ports "$zone" --publish "127.0.0.1:$pair" \ - || die "port ${pair%%:*} of this machine could not be led to the connector's zone. If something else holds it, set SPACETURTLE_CONNECTOR_PORT to the first of two free ports and run it again." - done + case $(zone_state) in + "not created") + say "creating the connector's zone ($zone)" + create_zone + # A new zone has none of the steps done in it, whatever an earlier zone had. + rm -rf "$marks" ;; + stopped) + say "starting the connector's zone ($zone)" + "$msb" start --quiet "$zone" || die "the connector's zone could not be started" ;; + esac + # The two ports are the zone's from when it is made, and the agent key's file names them. + local have + have=$("$msb" inspect "$zone" --format json 2>/dev/null | jq -r '[.config.network.ports[]?.host_port] | sort | map(tostring) | join(" and ")' 2>/dev/null) + [[ -z $have || $have == "$connector_port and $relay_port" ]] \ + || die "the connector's zone was made with ports $have of this machine, not $connector_port and $relay_port. Set SPACETURTLE_CONNECTOR_PORT to the first of its own, or 'spaceturtle upgrade' makes the zone again with the new ones." } step_node() { @@ -259,7 +267,7 @@ step_node() { [[ $flag == --network || $flag == "$network" ]] && continue flags+=" $(sh_quote "$flag")" done - in_zone '{ [ -s "$TOON_PASSPHRASE_FILE" ] || { umask 077 && head -c 32 /dev/urandom | base64 > "$TOON_PASSPHRASE_FILE"; }; } && + in_zone '{ [ -s "$TOON_PASSPHRASE_FILE" ] || { mkdir -p "$HOME/.config" && umask 077 && head -c 32 /dev/urandom | base64 > "$TOON_PASSPHRASE_FILE"; }; } && toon init --accept-anyone-terms --network '"$network$flags"' --json >/dev/null' || die "toon init failed in the zone" mark node } @@ -299,23 +307,20 @@ step_faucet() { # The pattern does not match itself, so the shell running pgrep is not taken for the supervisor. supervisor_running() { in_zone 'pgrep -f "[t]oon up" >/dev/null'; } -# The unit that keeps the connector's zone running. Docker Sandboxes stops a zone once -# nobody is attached to it, and nothing starts its daemon when the machine does; the unit -# holds one session open, starts the daemon first, and is started again when it ends. +# The unit that keeps the supervisor running in the connector's zone: it starts the zone when +# the machine starts, runs `connector-start` in it, and is started again when that ends. write_connector_unit() { - local sbx_path; sbx_path=$(command -v "$sbx") || die "sbx is not installed" mkdir -p "$unit_dir" || die "cannot create $unit_dir" cat > "$unit_dir/spaceturtle-connector.service" </dev/null || exec connector-start; while pgrep -f "[t]oon up" >/dev/null; do sleep 5; done; exit 1' + case $(zone_state) in + "not created") die "there is no connector's zone. Run 'spaceturtle start' first." ;; + stopped) "$msb" start --quiet "$zone" || die "the connector's zone could not be started" ;; + esac + # A supervisor that is already running is kept, and this only watches it. + exec "$msb" exec --quiet --no-stdin "$zone" -- sh -c 'export TOON_PASSPHRASE_FILE=$HOME/.config/toon-passphrase; pgrep -f "[t]oon up" >/dev/null || exec connector-start; while pgrep -f "[t]oon up" >/dev/null; do sleep 5; done; exit 1' } step_supervisor() { # Written and enabled on every run, so a launcher that has moved or changed is the one the unit runs. write_connector_unit "$systemctl_" --user enable spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be enabled" - # A supervisor with no unit holding its session would go with the zone, 30 seconds on. + # A supervisor the unit does not hold would not be started again when it ends. supervisor_running && "$systemctl_" --user is-active --quiet spaceturtle-connector.service && return say "starting the supervisor" "$systemctl_" --user restart spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be started" + # The supervisor is there before it answers: the container engine and the apps come up first. local waited=0 - until supervisor_running; do + until supervisor_running && in_zone 'toon status --json >/dev/null 2>&1'; do ((waited < supervisor_wait)) || die "the supervisor did not start in the zone. 'journalctl --user -u spaceturtle-connector' says why." sleep 3; waited=$((waited + 3)) done @@ -354,7 +362,7 @@ make_backup() { mkdir -p "$backup_dir" && chmod 700 "$backup_dir" || return 1 in_zone 'rm -f /tmp/wallet-backup; toon wallet backup --out /tmp/wallet-backup >/dev/null' || { echo "spaceturtle: toon wallet backup failed in the zone" >&2; return 1; } rm -f "$backup_dir/wallet-backup.new" - if ! "$sbx" cp "$zone:/tmp/wallet-backup" "$backup_dir/wallet-backup.new" || [[ ! -s $backup_dir/wallet-backup.new ]]; then + if ! "$msb" copy --quiet "$zone:/tmp/wallet-backup" "$backup_dir/wallet-backup.new" || [[ ! -s $backup_dir/wallet-backup.new ]]; then rm -f "$backup_dir/wallet-backup.new" echo "spaceturtle: the backup could not be copied out of the zone; the earlier backup, if any, is as it was" >&2 return 1 @@ -389,7 +397,8 @@ conf_set() { # name, value valid_interval() { [[ $1 =~ ^[1-9][0-9]*[mhd]$ ]]; } valid_ceiling() { [[ $1 =~ ^([0-9]+(\.[0-9]+)?)$ ]] && [[ $1 =~ [1-9] ]]; } -# The provider's host and the variable its key goes in, from the model's name. +# The provider's host and the variable its key goes in, from the model's name. The host is +# empty for a provider the launcher does not know. provider_of() { model=$(conf_get model anthropic/claude-sonnet-5-5) case ${model%%/*} in @@ -399,11 +408,10 @@ provider_of() { mistral) host=api.mistral.ai key_var=MISTRAL_API_KEY ;; # A ChatGPT account in place of an API key: the key file holds the account's access token. chatgpt) host=chatgpt.com key_var=CHATGPT_OAUTH_TOKEN ;; - *) host=${SPACETURTLE_MODEL_HOST:-}; key_var=MODEL_API_KEY - [[ -n $host ]] || die "the launcher does not know the host of '${model%%/*}'. Set SPACETURTLE_MODEL_HOST to it." ;; + *) host= key_var=MODEL_API_KEY ;; esac - [[ -n ${SPACETURTLE_MODEL_HOST:-} ]] && host=$SPACETURTLE_MODEL_HOST - return 0 + [[ -z ${SPACETURTLE_MODEL_HOST:-} ]] || host=$SPACETURTLE_MODEL_HOST + [[ $host =~ ^[A-Za-z0-9.-]*$ ]] || die "SPACETURTLE_MODEL_HOST must be a host's name, not '$host'" } need_model_key() { @@ -412,8 +420,7 @@ need_model_key() { # The connector's zone must be running, with the supervisor in it. need_connector() { - zone_exists && "$sbx" ls 2>/dev/null | awk -v z="$zone" '$1 == z { ok = ($0 ~ /running/) } END { exit !ok }' \ - && in_zone 'pgrep -f "[t]oon up" >/dev/null' \ + [[ $(zone_state) == running ]] && supervisor_running \ || die "the connector's zone ($zone) is not running, so no session is started. Run 'spaceturtle start' first." } @@ -429,14 +436,6 @@ write_session_def() { # 1 when unattended mv -f "$out.new" "$out" || die "cannot write $out" } -# Allows the agent's zone to reach a host. The rule names the zone, and is added once for a host. -allow_host() { - local m=agent-allow-${1//[^A-Za-z0-9.-]/_} - done_ "$m" && return - "$sbx" policy allow network --sandbox "$agent_zone" "$1" || die "the agent's zone could not be allowed to reach $1" - mark "$m" -} - # The host of the connector of the network the node was initialised for, from the home's record; # empty when there is none. A packet for an app behind that connector is sealed to it, and # `toon` asks it for its identity from the agent's zone. @@ -444,6 +443,57 @@ network_connector_host() { in_zone "cat $toon_home/state.json" 2>/dev/null | jq -r '.connector_url // empty | capture("^https://(?[A-Za-z0-9.-]+)(:443)?(/|$)").h // empty' 2>/dev/null } +# Where docker-agent fetches the skills the agent definition names from. +skill_hosts="api.github.com codeload.github.com" + +# Everything the agent's zone may reach, as microsandbox's rules: name resolution, the two ports +# of the machine that lead to the connector's zone, the model provider's host, the host of the +# network's connector and the skills' hosts. The rest is refused, the machine's other ports and +# its network included. Needs the connector's zone running. +agent_wall() { + local h wall="allow@dns,allow@host:tcp:$connector_port,allow@host:tcp:$relay_port" + provider_of + for h in $host $(network_connector_host) $skill_hosts; do wall+=",allow@$h:tcp:443"; done + echo "$wall" +} + +# The wall the agent's zone was made with, which microsandbox keeps as the zone's label. +agent_zone_wall() { + "$msb" inspect "$agent_zone" --format json 2>/dev/null | jq -r '.config.labels["spaceturtle.wall"] // empty' 2>/dev/null +} + +# Makes the agent's zone, which is left running. The wall is the zone's from when it is made. +make_agent_zone() { # the wall + mkdir -p "$agent_dir/config" "$agent_dir/state" "$session_dir" || die "cannot create $agent_dir" + # A rule that names a host holds for the addresses the name resolves to (--net-strict=false). + # microsandbox can hold it to the name itself only by opening the zone's TLS, which is not done. + "$msb" create "$agent_image" --name "$agent_zone" --cpus 2 --memory 2G --quiet --pull "$pull" \ + --mount-dir "$agent_dir/config:/home/agent/.config/spaceturtle:$zone_user" \ + --mount-dir "$agent_dir/state:/home/agent/.local/state/spaceturtle:$zone_user" \ + --mount-dir "$session_dir:/home/agent/session:ro" \ + --net-strict=false --net-default-egress deny --net-rule "$1" --label "spaceturtle.wall=$1" \ + || die "the agent's zone could not be made" + # The directories above the mounted ones are made as root's; the agent's own files go beside them. + zexec --no-stdin "$agent_zone" -- sudo chown agent: /home/agent/.config /home/agent/.local /home/agent/.local/state \ + || die "the agent's zone could not be set up" +} + +# A zone whose wall is no longer the one wanted is made again, since a wall cannot be changed. +# The agent key's private half goes across in the launcher's memory, as the passphrase does in `upgrade`. +rewall_agent_zone() { # the wall wanted + local key + say "what the agent's zone may reach has changed, so the zone is made again" + key=$(zexec --no-stdin "$agent_zone" -- sh -c "cat $agent_key_path") && [[ -n $key ]] \ + || die "the agent key could not be read out of the agent's zone, so nothing was changed. 'spaceturtle agent-key replace' makes the zone again, with a new key." + "$msb" remove --force --quiet "$agent_zone" || die "the agent's zone ($agent_zone) could not be removed" + make_agent_zone "$1" + if ! printf '%s\n' "$key" | zexec "$agent_zone" -- sh -c 'umask 077 && mkdir -p "$HOME/.config/toon-agent" && cat > "$HOME/.config/toon-agent/key" && [ -s "$HOME/.config/toon-agent/key" ]'; then + key= + die "the agent's zone is made again, but the agent key could not be placed in it. Run 'spaceturtle agent-key replace'." + fi + key= +} + session() { local unattended=0 case ${1:-} in @@ -454,28 +504,35 @@ session() { preflight need_model_key provider_of + [[ -n $host ]] || die "the launcher does not know the host of '${model%%/*}'. Set SPACETURTLE_MODEL_HOST to it." need_connector - [[ $(zone_state "$agent_zone") != "not created" ]] || die "there is no agent's zone ($agent_zone), so there is no agent key to work with. Run 'spaceturtle agent-key replace' to make both." + local state wall + state=$(zone_state "$agent_zone") + [[ $state != "not created" ]] || die "there is no agent's zone ($agent_zone), so there is no agent key to work with. Run 'spaceturtle agent-key replace' to make both." + # One session at a time: the zone is stopped when its session ends. + mkdir -p "$state_dir" && exec 9>"$state_dir/session.lock" || die "cannot write $state_dir/session.lock" + flock -n 9 || die "a session is already running in the agent's zone ($agent_zone). 'spaceturtle stop' ends it." write_session_def "$unattended" - allow_host "$host" - local peer; peer=$(network_connector_host) - [[ -z $peer ]] || allow_host "$peer" - local def=$session_dir/spaceturtle.yaml - local attach=(-it) run=("$def") + wall=$(agent_wall) || exit 1 + # No program in a zone is given the lock (9>&-), so it is free once this launcher ends. + trap '"$msb" stop --quiet --timeout 60 "$agent_zone" >/dev/null 2>&1 9>&-' EXIT + if [[ $(agent_zone_wall) != "$wall" ]]; then rewall_agent_zone "$wall" 9>&- + elif [[ $state == stopped ]]; then "$msb" start --quiet "$agent_zone" 9>&- || die "the agent's zone could not be started" + fi + local def=/home/agent/session/spaceturtle.yaml + local attach=(--tty) run=("$def") if (( unattended )); then - mkdir -p "$state_dir" && date -u +%Y-%m-%dT%H:%M:%SZ > "$state_dir/last-unattended" || die "cannot write $state_dir/last-unattended" + date -u +%Y-%m-%dT%H:%M:%SZ > "$state_dir/last-unattended" || die "cannot write $state_dir/last-unattended" # Nobody answers a prompt, and the definition's tools are the whole of what the agent may do. - attach=() + attach=(--no-stdin) run=(--exec --yolo "$def" "Begin a session: read the waiting Requests and answer them, then do your daily work.") fi # The key reaches the process by name (-e), never as an argument. # The agent key's path, not the key, goes in the environment; the file is in the agent's zone. # The agent's zone is its sandbox already, so docker-agent is told not to make another. - # Everything leaves the zone through the sandbox's proxy, whose certificate is in the zone's - # own bundle and not among the roots `toon` is built with, so `toon` is given the bundle. env "$key_var=$(<"$key_file")" "TOON_AGENT_KEY=${agent_key_path/\$HOME//home/agent}" \ - "$sbx" exec "${attach[@]}" -e "$key_var" -e TOON_AGENT_KEY -e TOON_TRUSTED_ROOT=/etc/ssl/certs/ca-certificates.crt \ - "$agent_zone" docker-agent run --sandbox=false --model "$model" "${run[@]}" + "$msb" exec --quiet "${attach[@]}" -e "$key_var" -e TOON_AGENT_KEY \ + "$agent_zone" -- docker-agent run --sandbox=false --model "$model" "${run[@]}" 9>&- } # --- the timer: a systemd user timer that runs an unattended session --- @@ -488,7 +545,7 @@ Description=A spaceturtle session with nobody present [Service] Type=oneshot -Environment=PATH=$(dirname "$(command -v "$sbx")"):/usr/local/bin:/usr/bin:/bin +Environment=PATH=$unit_path ExecStart=$here/spaceturtle session --unattended UNIT cat > "$unit_dir/spaceturtle.timer" < "$HOME/.config/toon-agent/key.new" && [ -s "$HOME/.config/toon-agent/key.new" ] && mv -f "$HOME/.config/toon-agent/key.new" "$HOME/.config/toon-agent/key"'; then + local was wall + was=$(zone_state "$agent_zone"); wall=$(agent_wall) || exit 1 + # A zone with another wall is made again here too; the key in it is the one being replaced. + if [[ $was != "not created" && $(agent_zone_wall) != "$wall" ]]; then + "$msb" remove --force --quiet "$agent_zone" || die "the agent's zone ($agent_zone) could not be removed" + was="not created" + fi + case $was in + "not created") make_agent_zone "$wall" ;; + stopped) "$msb" start --quiet "$agent_zone" || die "the agent's zone could not be started" ;; + esac + if ! zexec --no-stdin "$zone" -- sh -c 'cat /tmp/agent-key' | zexec "$agent_zone" -- sh -c \ + 'umask 077 && mkdir -p "$HOME/.config/toon-agent" && jq --arg s "http://host.microsandbox.internal:'"$connector_port"'" --arg c "http://host.microsandbox.internal:'"$relay_port"'" ".supervisor = \$s | .toon_apps = ((.toon_apps // {}) | with_entries(.value = \$c))" > "$HOME/.config/toon-agent/key.new" && [ -s "$HOME/.config/toon-agent/key.new" ] && mv -f "$HOME/.config/toon-agent/key.new" "$HOME/.config/toon-agent/key"'; then in_zone 'rm -f /tmp/agent-key' die "the agent key could not be placed in the agent's zone" fi in_zone 'rm -f /tmp/agent-key' || die "the agent key is placed, but its copy in the connector's zone could not be deleted" - [[ $was == running ]] || "$sbx" stop "$agent_zone" || die "the agent key is placed, but the agent's zone could not be stopped" + [[ $was == running ]] || "$msb" stop --quiet --timeout 60 "$agent_zone" || die "the agent key is placed, but the agent's zone could not be stopped" } revoke_agent_keys() { # ids @@ -714,7 +766,7 @@ cmd_agent_key() { scrub <<<"$doc" || die "toon agent-key list gave a document that is not JSON" if [[ $(zone_state "$agent_zone") == running ]]; then # What is left today is read by the key itself, from the agent's zone; the key is not printed. - "$sbx" exec "$agent_zone" sh -c "TOON_AGENT_KEY=$agent_key_path toon limit show --json" | scrub \ + zexec --no-stdin "$agent_zone" -- sh -c "TOON_AGENT_KEY=$agent_key_path toon limit show --json" | scrub \ || say "what is left today could not be read from the agent's zone" else say "what is left today is read from the agent's zone, which is not running. Start a session, or run 'spaceturtle session'." @@ -732,10 +784,10 @@ cmd_agent_key() { revoke_agent_keys $old local astate; astate=$(zone_state "$agent_zone") if [[ $astate != "not created" ]]; then - ensure_agent_zone "$astate" - "$sbx" exec "$agent_zone" sh -c "rm -f $agent_key_path" \ + [[ $astate == running ]] || "$msb" start --quiet "$agent_zone" || die "the agent key is revoked, but the agent's zone could not be started to delete its private half" + zexec --no-stdin "$agent_zone" -- sh -c "rm -f $agent_key_path" \ || die "the agent key is revoked, but its private half could not be deleted from the agent's zone" - [[ $astate == running ]] || "$sbx" stop "$agent_zone" || say "the agent's zone could not be stopped again" + [[ $astate == running ]] || "$msb" stop --quiet --timeout 60 "$agent_zone" || say "the agent's zone could not be stopped again" fi mark agentkey say "the agent key is revoked: the agent's next order is refused. 'spaceturtle agent-key replace' makes another." ;; @@ -862,14 +914,14 @@ cmd_stop() { "$systemctl_" --user stop spaceturtle.timer || die "the timer could not be stopped" fi if [[ $(zone_state "$agent_zone") == running ]]; then - "$sbx" stop "$agent_zone" || die "the session in the agent's zone ($agent_zone) could not be stopped" + "$msb" stop --quiet --timeout 60 "$agent_zone" || die "the session in the agent's zone ($agent_zone) could not be stopped" fi # The unit would start the zone again, now and when the machine restarts; `start` enables it again. if [[ -e $unit_dir/spaceturtle-connector.service ]]; then "$systemctl_" --user disable --now spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be stopped" fi if [[ $(zone_state) == running ]]; then - "$sbx" stop "$zone" || die "the connector's zone ($zone) could not be stopped" + "$msb" stop --quiet --timeout 60 "$zone" || die "the connector's zone ($zone) could not be stopped" fi say "stopped. The wallet, the passphrase and the timer's setting are as they were. Run 'spaceturtle start' to bring it back." } @@ -882,31 +934,31 @@ cmd_backup() { # Replaces the connector's zone with one from the newest image. The wallet's storage stays # as it was. The passphrase travels through memory: out of the old zone on the standard -# output of sbx exec, into the new one on the standard input of sbx exec -i. +# output of msb exec, into the new one on its standard input. cmd_upgrade() { preflight local state pass + # Both zones are made again below, from the newest of their images. + pull=${SPACETURTLE_PULL:-always} state=$(zone_state) [[ $state != "not created" ]] || die "there is no connector's zone yet. Run 'spaceturtle start' first." [[ $state == running ]] || die "the connector's zone ($zone) is $state. Run 'spaceturtle start' first; nothing was changed." say "making a fresh backup before anything is removed" make_backup || die "the backup failed, so nothing was changed." - pass=$("$sbx" exec "$zone" sh -c 'cat "$HOME/.config/toon-passphrase"') && [[ -n $pass ]] \ + pass=$(zexec --no-stdin "$zone" -- sh -c 'cat "$HOME/.config/toon-passphrase"') && [[ -n $pass ]] \ || die "the passphrase could not be read out of the old zone, so nothing was changed." say "replacing the connector's zone ($zone)" if [[ $(zone_state "$agent_zone") != "not created" ]]; then - "$sbx" rm --force "$agent_zone" || die "the agent's zone ($agent_zone) could not be removed" + "$msb" remove --force --quiet "$agent_zone" || die "the agent's zone ($agent_zone) could not be removed" fi - # The unit would hold a session in the zone being removed; step_supervisor starts it again. + # The unit would start the supervisor in the zone being removed; step_supervisor starts it again. if [[ -e $unit_dir/spaceturtle-connector.service ]]; then "$systemctl_" --user stop spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be stopped" fi - "$sbx" rm --force "$zone" || die "the old connector's zone could not be removed" + "$msb" remove --force --quiet "$zone" || die "the old connector's zone could not be removed" + # The node, the faucet and the backup belong to the wallet, which is kept, so their markers stay. create_zone - # The node, the faucet and the backup belong to the wallet, which is kept; the rest belong to the zone. - rm -f "$marks/rule" "$marks/zone" - step_zone - if ! printf '%s\n' "$pass" | "$sbx" exec -i "$zone" sh -c 'mkdir -p "$HOME/.config" && umask 077 && cat > "$HOME/.config/toon-passphrase" && [ -s "$HOME/.config/toon-passphrase" ]'; then + if ! printf '%s\n' "$pass" | zexec "$zone" -- sh -c 'mkdir -p "$HOME/.config" && umask 077 && cat > "$HOME/.config/toon-passphrase" && [ -s "$HOME/.config/toon-passphrase" ]'; then pass= die "the new zone ($zone) is made, but the passphrase could not be placed in it. The backup at $backup_dir/wallet-backup is the way back." fi @@ -957,7 +1009,7 @@ cmd_remove() { "$systemctl_" --user disable --now spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be stopped" fi for z in "$agent_zone" "$zone"; do - [[ $(zone_state "$z") == "not created" ]] || "$sbx" rm --force "$z" || die "the zone $z could not be removed" + [[ $(zone_state "$z") == "not created" ]] || "$msb" remove --force --quiet "$z" || die "the zone $z could not be removed" done if [[ -e $unit_dir/spaceturtle.timer ]]; then "$systemctl_" --user disable --now spaceturtle.timer || die "the timer could not be turned off" @@ -965,9 +1017,9 @@ cmd_remove() { rm -f "$unit_dir/spaceturtle.timer" "$unit_dir/spaceturtle.service" "$unit_dir/spaceturtle-connector.service" "$systemctl_" --user daemon-reload rm -rf "$marks" - rm -f "$state_dir/last-unattended" "$conf" "$conf.new" "$key_file" - rm -rf "$session_dir" - rmdir "$state_dir/agent-workspace" "$state_dir" "$config_dir" "$(dirname "$key_file")" 2>/dev/null + rm -f "$state_dir/last-unattended" "$state_dir/session.lock" "$conf" "$conf.new" "$key_file" + rm -rf "$session_dir" "$agent_dir" + rmdir "$state_dir" "$config_dir" "$(dirname "$key_file")" 2>/dev/null if (( delete )); then [[ -n $data_dir && $data_dir != / ]] || die "will not delete '$data_dir'" rm -rf "$data_dir" || die "cannot delete $data_dir" @@ -976,6 +1028,7 @@ cmd_remove() { say "the wallet's storage is kept at $data_dir" fi say "the backup directory is kept at $backup_dir. Nothing deletes it." + say "microsandbox and the zone images are kept in $msb_home; delete that directory to be rid of them." say "spaceturtle is removed from this machine." } diff --git a/tests/run b/tests/run index 21d20c0..eb8eeab 100755 --- a/tests/run +++ b/tests/run @@ -1,6 +1,6 @@ #!/bin/bash # Runs relay-events, mark-seen, request and the being-observed skill's answers against a stub `toon` and `curl`, -# and the launcher's `spaceturtle start` against a stub `sbx`, in a temporary home, +# and the launcher's `spaceturtle start` against a stub `msb`, in a temporary home, # and holds the agent definition to its safety rules through tests/check-agent. # Needs only bash, jq and yq (mikefarah's). Usage: tests/run set -uo pipefail @@ -975,10 +975,10 @@ release_check "the notes name the command, every reference and the toon, docker- notes=$("$root/release/notes" v1.2.3 2>&1); rc=$? [[ $rc -eq 0 && $(grep -c 'ghcr.io/toon-protocol/' <<<"$notes") -eq 4 ]] && ! grep -q 'docker\.io' <<<"$notes"; release_check "without a Docker Hub namespace the notes name GitHub's registry alone" $? -# --- the launcher: spaceturtle start, against a stub sbx in a temporary home --- +# --- the launcher: spaceturtle start, against a stub msb in a temporary home --- launcher_env() { new_env - export SPACETURTLE_SBX=$tmp/bin/sbx SPACETURTLE_KVM=$tmp/kvm + export SPACETURTLE_MSB=$tmp/bin/msb SPACETURTLE_MSB_HOME=$tmp/msbhome SPACETURTLE_KVM=$tmp/kvm export SPACETURTLE_ZONE=zone-x SPACETURTLE_DATA_DIR=$tmp/wallet SPACETURTLE_BACKUP_DIR=$tmp/backup : > "$SPACETURTLE_KVM" export SPACETURTLE_SYSTEMCTL=$tmp/bin/systemctl SPACETURTLE_UNIT_DIR=$tmp/units SPACETURTLE_MODEL_KEY_FILE=$tmp/model-key @@ -992,20 +992,22 @@ echo "\$*" >> "\$STUB_DIR/systemctl-calls" exit 0 STUB chmod +x "$SPACETURTLE_SYSTEMCTL" - # An sbx that records its calls. `ls` lists the zones in $STUB_DIR/zones and fails - # when $STUB_DIR/signed-out exists; a call whose arguments contain the text in - # $STUB_DIR/fail-on fails, `toon status --json` prints $STUB_DIR/status, the home's - # state.json names the network in $STUB_DIR/network, the RPC endpoint says its chain id is the one in $STUB_DIR/chain-id, `ports` lists and publishes in - # $STUB_DIR/ports, `policy init` fails once $STUB_DIR/policy-set exists, and `cp` out + # An msb that records its calls. `ls` fails when $STUB_DIR/broken exists and lists the zones + # in $STUB_DIR/zones, the last line for a name being its state; a call whose arguments contain + # the text in $STUB_DIR/fail-on fails, `toon status --json` prints $STUB_DIR/status, the home's + # state.json names the network in $STUB_DIR/network, the RPC endpoint says its chain id is the + # one in $STUB_DIR/chain-id, `create` keeps the connector's zone's ports in $STUB_DIR/ports and + # the agent's zone's wall in $STUB_DIR/agent-wall, which `inspect` gives back, and `copy` out # of the zone writes a file. - cat > "$SPACETURTLE_SBX" <<'STUB' + cat > "$SPACETURTLE_MSB" <<'STUB' #!/bin/bash echo "$*" >> "$STUB_DIR/calls" -[[ $1 == ls ]] && { [[ -e $STUB_DIR/signed-out ]] && exit 1; cat "$STUB_DIR/zones" 2>/dev/null; exit 0; } +name=${@: -1} +[[ $1 == ls ]] && { [[ -e $STUB_DIR/broken ]] && exit 1 + jq -Rn '[reduce (inputs | split(" ")) as $l ({}; .[$l[0]] = $l[1]) | to_entries[] | {name: .key, status: (.value[0:1] | ascii_upcase) + .value[1:]}]' "$STUB_DIR/zones" 2>/dev/null || echo '[]'; exit 0; } [[ -r $STUB_DIR/fail-on && $* == *"$(cat "$STUB_DIR/fail-on")"* ]] && exit 1 -[[ $1 == policy && $2 == init && -e $STUB_DIR/policy-set ]] && exit 1 -[[ $1 == ports && $* == *--publish* ]] && { [[ ${@: -1} =~ ^127\.0\.0\.1:([0-9]+):([0-9]+)$ ]] && echo "127.0.0.1 ${BASH_REMATCH[1]} ${BASH_REMATCH[2]} tcp4" >> "$STUB_DIR/ports"; exit 0; } -[[ $1 == ports ]] && { cat "$STUB_DIR/ports" 2>/dev/null; exit 0; } +[[ $1 == inspect && $2 == agent-x ]] && { jq -n --arg w "$(cat "$STUB_DIR/agent-wall" 2>/dev/null)" '{config: {labels: {"spaceturtle.wall": $w}}}'; exit 0; } +[[ $1 == inspect ]] && { jq -Rn '{config: {network: {ports: [inputs | {host_port: tonumber}]}}}' "$STUB_DIR/ports" 2>/dev/null; exit 0; } [[ $* == *"exec connector-start"* ]] && { : > "$STUB_DIR/up"; exit 0; } [[ $* == *pgrep* ]] && { [[ -e $STUB_DIR/up ]]; exit; } [[ $* == *eth_chainId* ]] && { [[ -r $STUB_DIR/chain-id ]] && echo "{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":\"$(cat "$STUB_DIR/chain-id")\"}"; exit 0; } @@ -1018,20 +1020,31 @@ echo "$*" >> "$STUB_DIR/calls" [[ $* == *'cat /tmp/agent-key'* ]] && { cat "$STUB_DIR/agentkeyfile" 2>/dev/null; exit 0; } [[ $* == *'test -s /tmp/agent-key'* ]] && { [[ -s $STUB_DIR/agentkeyfile ]]; exit; } [[ $* == *"rm -f /tmp/agent-key"* ]] && { rm -f "$STUB_DIR/agentkeyfile"; exit 0; } -[[ $1 == exec && $2 == -i && $3 == agent-x ]] && { cat >> "$STUB_DIR/agent-zone-key"; exit 0; } -[[ $1 == exec && $2 == -i ]] && { cat > "$STUB_DIR/stdin"; exit 0; } +[[ $* == *'cat $HOME/.config/toon-agent/key'* ]] && { cat "$STUB_DIR/agent-zone-key" 2>/dev/null; exit 0; } +[[ $* == *'agent-x -- sh -c umask 077'* ]] && { cat >> "$STUB_DIR/agent-zone-key"; exit 0; } +[[ $* == *'cat > "$HOME/.config/toon-passphrase"'* ]] && { cat > "$STUB_DIR/stdin"; exit 0; } [[ $* == *'cat "$HOME/.config/toon-passphrase"'* ]] && { cat "$STUB_DIR/zone-passphrase" 2>/dev/null; exit 0; } [[ $* == *"curl -s"* ]] && { [[ -e $STUB_DIR/relay-down ]] && exit 1; exit 0; } -[[ $1 == rm ]] && { sed -i "/^${@: -1} /d" "$STUB_DIR/zones"; [[ ${@: -1} == zone-x ]] && rm -f "$STUB_DIR/up" "$STUB_DIR/ports"; exit 0; } -[[ $1 == stop ]] && { sed -i "s/^$2 running/$2 stopped/" "$STUB_DIR/zones"; [[ $2 == zone-x ]] && rm -f "$STUB_DIR/up"; exit 0; } -[[ $1 == start ]] && exit 2 # sbx has no such command -[[ $1 == exec && $3 == true ]] && { sed -i "s/^$2 stopped/$2 running/" "$STUB_DIR/zones"; exit 0; } -[[ $1 == create && $* == *"--name agent-x"* ]] && { echo "agent-x running" >> "$STUB_DIR/zones"; exit 0; } -[[ $1 == create ]] && echo "zone-x running" > "$STUB_DIR/zones" -[[ $1 == cp && $2 == zone-x:* ]] && echo sealed > "$3" +[[ $1 == remove ]] && { sed -i "/^$name /d" "$STUB_DIR/zones"; [[ $name == zone-x ]] && rm -f "$STUB_DIR/up" "$STUB_DIR/ports"; [[ $name == agent-x ]] && rm -f "$STUB_DIR/agent-wall" "$STUB_DIR/agent-zone-key"; exit 0; } +[[ $1 == stop ]] && { sed -i "s/^$name running/$name stopped/" "$STUB_DIR/zones"; [[ $name == zone-x ]] && rm -f "$STUB_DIR/up"; exit 0; } +[[ $1 == start ]] && { sed -i "s/^$name stopped/$name running/" "$STUB_DIR/zones"; exit 0; } +if [[ $1 == create ]]; then + while (($#)); do + case $1 in + --name) zone_made=$2 ;; + --port) ports+="${2#127.0.0.1:}"$'\n' ;; + --net-rule) wall=$2 ;; + esac + shift + done + if [[ $zone_made == agent-x ]]; then echo "agent-x running" >> "$STUB_DIR/zones"; echo "$wall" > "$STUB_DIR/agent-wall" + else echo "zone-x running" > "$STUB_DIR/zones"; printf '%s' "$ports" | cut -d: -f1 > "$STUB_DIR/ports"; fi + exit 0 +fi +[[ $1 == copy && $3 == zone-x:* ]] && echo sealed > "$4" exit 0 STUB - chmod +x "$SPACETURTLE_SBX" + chmod +x "$SPACETURTLE_MSB" } run_launcher() { "$root/spaceturtle" start > "$tmp/out" 2>&1; } launcher_check() { # name, condition result (0 = pass) @@ -1046,8 +1059,8 @@ a=$(line_no '^create '); b=$(line_no 'toon init'); c=$(line_no 'toon wallet fund [[ -n $a && -n $b && -n $c && -n $d && -n $e && $a -lt $b && $b -lt $c && $c -lt $d && $d -lt $e ]] launcher_check "a first run issues zone, node, faucet, supervisor, backup in order" $? grep -q 'toon init --accept-anyone-terms --network devnet' "$STUB_DIR/calls"; launcher_check "the node is initialised on devnet" $? -grep -q -- "^policy allow network --sandbox zone-x .*\*\*" "$STUB_DIR/calls" && ! grep -E '^policy allow' "$STUB_DIR/calls" | grep -qv -- ' --sandbox ' -launcher_check "the any-address rule names the zone and is never machine-wide" $? +grep '^create .*--name zone-x ' "$STUB_DIR/calls" | grep -q -- '--net public ' && ! grep '^create .*--name zone-x ' "$STUB_DIR/calls" | grep -qE -- '--net (all|host|private)|--net-default|allow@' +launcher_check "the connector's zone reaches the public internet, and nothing of the machine or its network" $? [[ -s $SPACETURTLE_BACKUP_DIR/wallet-backup ]] && grep -q "$SPACETURTLE_BACKUP_DIR/wallet-backup" "$tmp/out" && grep -qi keep "$tmp/out" launcher_check "the backup is written where the Observer is told, with a word to keep it" $? ! grep -rq -i passphrase "$tmp/out" "$SPACETURTLE_STATE_DIR" "$SPACETURTLE_BACKUP_DIR" "$SPACETURTLE_DATA_DIR" 2>/dev/null \ @@ -1060,75 +1073,85 @@ launcher_check "the supervisor check does not find its own shell" $? : > "$STUB_DIR/calls" run_launcher; rc=$? launcher_check "a second run succeeds" $rc -! grep -E '^create |^cp [^z]|toon init|toon wallet fund|toon wallet backup|^policy|^ports .*--publish|untrusted-runtime' "$STUB_DIR/calls" | grep -q . -launcher_check "a second run issues nothing that creates, initialises, funds or publishes" $? +! grep -E '^create |^remove |^start |^copy |toon init|toon wallet fund|toon wallet backup|untrusted-runtime' "$STUB_DIR/calls" | grep -q . +launcher_check "a second run issues nothing that creates, starts, initialises, funds or backs up" $? # toon's home is the wallet's storage, the two ports that lead to the zone are published on # the machine's loopback, and an image that is not trusted gets the sandboxed runtime. launcher_env; run_launcher -grep -q -- "ln -sfn '$SPACETURTLE_DATA_DIR' ~/.toon/agent-node" "$STUB_DIR/calls"; launcher_check "toon's home in the zone is the wallet's storage" $? -[[ $(grep -c -- '--publish' "$STUB_DIR/calls") -eq 2 ]] && grep -q '^ports zone-x --publish 127.0.0.1:7123:17100$' "$STUB_DIR/calls" && grep -q '^ports zone-x --publish 127.0.0.1:7124:17101$' "$STUB_DIR/calls" +made=$(grep '^create .*--name zone-x ' "$STUB_DIR/calls") +[[ $made == *" --mount-dir $SPACETURTLE_DATA_DIR:/home/agent/.toon/agent-node:uid=1000,gid=1000 "* ]]; launcher_check "toon's home in the zone is the wallet's storage, mounted as the zone's user's own" $? +[[ $made == *" --port 127.0.0.1:7123:17100 --port 127.0.0.1:7124:17101"* && $(grep -o -- '--port ' <<<"$made" | wc -l) -eq 2 ]] launcher_check "the orders and the connector are published on the machine's loopback, and nowhere else" $? +[[ $made == *" --mount-owned /var/lib/docker:kind=disk,"* && $made == *" --tmpfs /run "* ]]; launcher_check "the container engine has a disk of the zone's own, and finds /run empty when the zone starts" $? grep 'untrusted-runtime' "$STUB_DIR/calls" | grep -q 'echo runsc > $HOME/.toon/agent-node/untrusted-runtime'; launcher_check "an image that is not trusted is given the sandboxed runtime" $? u=$SPACETURTLE_UNIT_DIR/spaceturtle-connector.service -grep -q "^ExecStart=$root/spaceturtle supervise$" "$u" && grep -q '^Restart=always$' "$u" && grep -q '^WantedBy=default.target$' "$u" && grep -q '^ExecStartPre=-.* daemon start -d$' "$u" && grep -q '^KillMode=process$' "$u" \ +grep -q "^ExecStart=$root/spaceturtle supervise$" "$u" && grep -q '^Restart=always$' "$u" && grep -q '^WantedBy=default.target$' "$u" && ! grep -q '^ExecStartPre' "$u" && grep -q '^KillMode=process$' "$u" \ && grep -q '^--user enable spaceturtle-connector.service$' "$STUB_DIR/systemctl-calls" -launcher_check "a unit keeps the zone running: it holds the supervisor's session, starts the daemon, and is enabled for the next start of the machine" $? -launcher_env; touch "$STUB_DIR/policy-set"; run_launcher; rc=$? -launcher_check "a machine whose sbx policy is already set is left as it is, and the run succeeds" $rc -launcher_env; run_launcher; echo "zone-x stopped" > "$STUB_DIR/zones"; rm "$STUB_DIR/up" "$STUB_DIR/ports"; : > "$STUB_DIR/calls"; run_launcher -[[ $(grep -c -- '--publish' "$STUB_DIR/calls") -eq 2 ]]; launcher_check "ports that are gone are published again" $? +launcher_check "a unit keeps the supervisor running: it is started again when it ends, leaves the zone when stopped, and is enabled for the next start of the machine" $? +: > "$STUB_DIR/calls"; SPACETURTLE_CONNECTOR_PORT=9000 run_launcher; rc=$? +[[ $rc -ne 0 ]] && grep -q '7123 and 7124' "$tmp/out" && grep -q 'spaceturtle upgrade' "$tmp/out" && ! grep -qE '^create |toon ' "$STUB_DIR/calls" +launcher_check "a zone made with other ports is not used with new ones, and the run says how to change them" $? +launcher_env; run_launcher; echo "zone-x stopped" > "$STUB_DIR/zones"; rm "$STUB_DIR/up"; : > "$STUB_DIR/calls"; "$root/spaceturtle" supervise > "$tmp/out" 2>&1 +a=$(line_no '^start --quiet zone-x$'); b=$(line_no 'exec connector-start'); [[ -n $a && -n $b && $a -lt $b ]] && ! grep -q '^create ' "$STUB_DIR/calls" +launcher_check "what the unit runs starts a stopped zone, then the supervisor in it" $? # The zone comes from the connector's zone image, nothing is copied in, and the supervisor is connector-start. grep '^create ' "$STUB_DIR/calls" >/dev/null; launcher_env; run_launcher -grep '^create ' "$STUB_DIR/calls" | grep -q -- '--template ghcr.io/toon-protocol/spaceturtle-connector-zone:latest '; launcher_check "the zone is made from the connector's zone image" $? +grep -q -- '^create ghcr.io/toon-protocol/spaceturtle-connector-zone:latest --name zone-x .*--pull if-missing ' "$STUB_DIR/calls"; launcher_check "the zone is made from the connector's zone image, pulled if it is not here" $? launcher_env; SPACETURTLE_CONNECTOR_IMAGE=example.test/zone:1 run_launcher -grep '^create ' "$STUB_DIR/calls" | grep -q -- '--template example.test/zone:1 '; launcher_check "SPACETURTLE_CONNECTOR_IMAGE changes the image" $? -! grep -q '^cp [^z]' "$STUB_DIR/calls" && ! grep -qE '^cp .*:/' <(grep -v 'wallet-backup' "$STUB_DIR/calls"); launcher_check "nothing is copied into the zone" $? +grep -q -- '^create example.test/zone:1 --name zone-x ' "$STUB_DIR/calls"; launcher_check "SPACETURTLE_CONNECTOR_IMAGE changes the image" $? +! grep '^copy ' "$STUB_DIR/calls" | grep -qv -- "^copy --quiet zone-x:/tmp/wallet-backup " && ! grep '^create ' "$STUB_DIR/calls" | grep -qE -- '--copy|--script'; launcher_check "nothing is copied into the zone" $? grep connector-start "$STUB_DIR/calls" | grep -q 'TOON_PASSPHRASE_FILE=\$HOME/.config/toon-passphrase' && ! grep -q 'toon up' "$STUB_DIR/calls" launcher_check "the supervisor starts through connector-start with the passphrase file outside the wallet's storage" $? [[ $(grep -c connector-start "$STUB_DIR/calls") -eq 1 ]]; launcher_check "connector-start is started once" $? : > "$STUB_DIR/calls"; run_launcher; ! grep -q connector-start "$STUB_DIR/calls"; launcher_check "it is not started again while it runs" $? -for step in "ln -sfn" "toon wallet fund" "connector-start" "toon wallet backup" "toon init"; do +for step in "untrusted-runtime" "toon wallet fund" "connector-start" "toon wallet backup" "toon init"; do launcher_env; echo "$step" > "$STUB_DIR/fail-on"; run_launcher; rc=$? [[ $rc -ne 0 ]]; launcher_check "a run failing at '$step' stops" $? rm "$STUB_DIR/fail-on"; : > "$STUB_DIR/calls"; run_launcher; rc=$? launcher_check "a run after one that failed at '$step' succeeds" $rc [[ -s $SPACETURTLE_BACKUP_DIR/wallet-backup ]]; launcher_check " and finishes the backup" $? - ! grep -E '^create --name zone-x ' "$STUB_DIR/calls" | grep -q .; launcher_check " without creating the zone again" $? + ! grep -E '^create .*--name zone-x ' "$STUB_DIR/calls" | grep -q .; launcher_check " without creating the zone again" $? done launcher_env; echo "zone-x" > "$STUB_DIR/fail-on"; run_launcher rm "$STUB_DIR/fail-on"; echo "zone-x running" > "$STUB_DIR/zones"; : > "$STUB_DIR/calls"; run_launcher -! grep -E '^create --name zone-x ' "$STUB_DIR/calls" | grep -q .; launcher_check "a zone that exists is not created again" $? +! grep -E '^create .*--name zone-x ' "$STUB_DIR/calls" | grep -q .; launcher_check "a zone that exists is not created again" $? launcher_env; echo "zone-x-old running" > "$STUB_DIR/zones"; run_launcher grep -q '^create ' "$STUB_DIR/calls"; launcher_check "a zone whose name only starts with the zone's is not taken for it" $? # The zone is lost: a new one gets every step again, not only the create. rm "$STUB_DIR/zones"; : > "$STUB_DIR/calls"; rm "$STUB_DIR/up"; run_launcher -grep -q '^policy allow network --sandbox zone-x' "$STUB_DIR/calls" && grep -q -- "ln -sfn" "$STUB_DIR/calls" && grep -q 'toon init' "$STUB_DIR/calls" \ +grep -q '^create .*--name zone-x ' "$STUB_DIR/calls" && grep -q 'untrusted-runtime' "$STUB_DIR/calls" && grep -q 'toon init' "$STUB_DIR/calls" \ && grep -q 'toon wallet fund' "$STUB_DIR/calls" && grep -q 'toon wallet backup' "$STUB_DIR/calls" launcher_check "a zone made again gets every step again" $? launcher_env; rm "$SPACETURTLE_KVM"; run_launcher; rc=$? [[ $rc -ne 0 ]] && grep -qi kvm "$tmp/out" && grep -qi firmware "$tmp/out" && [[ ! -e $STUB_DIR/calls ]]; launcher_check "with no KVM it stops before doing anything, with cause and remedy" $? -launcher_env; touch "$STUB_DIR/signed-out"; run_launcher; rc=$? -[[ $rc -ne 0 ]] && grep -q 'sbx login' "$tmp/out" && ! grep -qE '^(create|policy|exec|cp)' "$STUB_DIR/calls"; launcher_check "signed out, it stops before doing anything, with cause and remedy" $? -launcher_env; SPACETURTLE_SBX=$tmp/bin/missing run_launcher; rc=$? -[[ $rc -ne 0 ]] && grep -qi 'not installed' "$tmp/out" && grep -q 'github.com/docker/sbx-releases' "$tmp/out" \ - && [[ ! -e $SPACETURTLE_STATE_DIR/launcher && ! -e $SPACETURTLE_DATA_DIR && ! -e $SPACETURTLE_BACKUP_DIR ]]; launcher_check "with sbx missing it stops before doing anything, with cause and remedy" $? +if [[ $EUID -ne 0 ]]; then + launcher_env; chmod 000 "$SPACETURTLE_KVM"; run_launcher; rc=$? + [[ $rc -ne 0 ]] && grep -q 'usermod -aG kvm' "$tmp/out" && [[ ! -e $STUB_DIR/calls ]]; launcher_check "with a KVM the person may not use it stops before doing anything, with cause and remedy" $? +fi +launcher_env; touch "$STUB_DIR/broken"; run_launcher; rc=$? +[[ $rc -ne 0 ]] && grep -q 'doctor' "$tmp/out" && ! grep -qE '^(create|exec|copy|start)' "$STUB_DIR/calls"; launcher_check "with a microsandbox that does not run it stops before doing anything, and says how to learn why" $? +launcher_env; SPACETURTLE_MSB=$tmp/bin/missing run_launcher; rc=$? +[[ $rc -ne 0 ]] && grep -qi 'not installed' "$tmp/out" && grep -q 'install.sh' "$tmp/out" \ + && [[ ! -e $SPACETURTLE_STATE_DIR/launcher && ! -e $SPACETURTLE_DATA_DIR && ! -e $SPACETURTLE_BACKUP_DIR ]]; launcher_check "with microsandbox missing it stops before doing anything, with cause and remedy" $? +! grep -rqiE 'login|sign(ed)? in|account' "$tmp/out"; launcher_check "nothing the launcher says asks for an account" $? # --- install.sh: one command puts the launcher of a release on the machine --- # A curl that serves GitHub from $STUB_DIR: the latest release's tag, the release's source -# archive, and a Docker Sandboxes archive whose installer leaves a mark. +# archive, and a microsandbox archive: an msb that says its version, and the library beside it. install_env() { launcher_env export SPACETURTLE_INSTALL_DIR=$tmp/launcher SPACETURTLE_BIN_DIR=$tmp/linkbin SPACETURTLE_CURL=$tmp/bin/gh-curl - mkdir -p "$tmp/src/spaceturtle-1.2.3/agent" "$tmp/src/docker-sbx" + export SPACETURTLE_MSB_VERSION=9.9.9 + mkdir -p "$tmp/src/spaceturtle-1.2.3/agent" "$tmp/src/msb" cp "$root/spaceturtle" "$tmp/src/spaceturtle-1.2.3/"; cp "$root/agent/spaceturtle.yaml" "$tmp/src/spaceturtle-1.2.3/agent/" tar -czf "$STUB_DIR/source.tar.gz" -C "$tmp/src" spaceturtle-1.2.3 - echo ': > "$STUB_DIR/sbx-installed"' > "$tmp/src/docker-sbx/install.sh" - tar -czf "$STUB_DIR/sbx.tar.gz" -C "$tmp/src" docker-sbx - export SPACETURTLE_SBX_SHA256=$(sha256sum "$STUB_DIR/sbx.tar.gz" | cut -d' ' -f1) + printf '#!/bin/bash\necho "msb 9.9.9"\n' > "$tmp/src/msb/msb"; echo kernel > "$tmp/src/msb/libkrunfw.so.5.6.1" + tar -czf "$STUB_DIR/msb.tar.gz" -C "$tmp/src/msb" msb libkrunfw.so.5.6.1 + export SPACETURTLE_MSB_SHA256=$(sha256sum "$STUB_DIR/msb.tar.gz" | cut -d' ' -f1) cat > "$SPACETURTLE_CURL" <<'STUB' #!/bin/bash echo "$*" >> "$STUB_DIR/curl-calls" @@ -1137,7 +1160,7 @@ while (($#)); do [[ $1 == -o ]] && out=$2; shift; done case $url in */releases/latest) [[ -e $STUB_DIR/no-release ]] && exit 22; echo '{"tag_name":"v1.2.3"}' ;; */archive/refs/tags/v1.2.3.tar.gz) cp "$STUB_DIR/source.tar.gz" "$out" ;; - */DockerSandboxes-linux-amd64.tar.gz) cp "$STUB_DIR/sbx.tar.gz" "$out" ;; + */v9.9.9/microsandbox-linux-x86_64.tar.gz) cp "$STUB_DIR/msb.tar.gz" "$out" ;; *) exit 22 ;; esac STUB @@ -1150,29 +1173,33 @@ install_env; run_install; rc=$? [[ $rc -eq 0 ]] && cmp -s "$tmp/launcher/spaceturtle" "$root/spaceturtle" && cmp -s "$tmp/launcher/agent/spaceturtle.yaml" "$root/agent/spaceturtle.yaml" && [[ -x $tmp/launcher/spaceturtle && $(<"$tmp/launcher/version") == 1.2.3 ]] install_check "the latest release's launcher and agent definition are installed, with the release named" $? [[ $(readlink "$tmp/linkbin/spaceturtle") == "$tmp/launcher/spaceturtle" ]]; install_check "spaceturtle is linked into the bin directory" $? -grep -q 'spaceturtle start' "$tmp/out" && grep -q 'spaceturtle key' "$tmp/out" && grep -q "$tmp/linkbin" "$tmp/out" && ! grep -q 'sbx login' "$tmp/out" && [[ ! -e $STUB_DIR/sbx-installed ]] -install_check "it ends with what to run next, and leaves an sbx that is there and signed in alone" $? +grep -q 'spaceturtle start' "$tmp/out" && grep -q 'spaceturtle key' "$tmp/out" && grep -q "$tmp/linkbin" "$tmp/out" && ! grep -qiE 'login|sign in|account' "$tmp/out" +install_check "it ends with what to run next, which names no account and no sign-in" $? +h=$SPACETURTLE_MSB_HOME; [[ $("$h/bin/msb" --version) == "msb 9.9.9" && $(readlink "$h/lib/libkrunfw.so") == libkrunfw.so.5 && $(readlink "$h/lib/libkrunfw.so.5") == libkrunfw.so.5.6.1 && -s $h/lib/libkrunfw.so.5.6.1 ]] +install_check "microsandbox is put in a home that is spaceturtle's alone, its library beside it" $? "$tmp/linkbin/spaceturtle" start > "$tmp/out" 2>&1; rc=$? -[[ $rc -eq 0 ]] && grep '^create --name zone-x' "$STUB_DIR/calls" | grep -q -- '--template ghcr.io/toon-protocol/spaceturtle-connector-zone:1.2.3 ' && grep '^create --name agent-x' "$STUB_DIR/calls" | grep -q 'spaceturtle-agent-zone:1.2.3 ' +[[ $rc -eq 0 ]] && grep -q -- '^create ghcr.io/toon-protocol/spaceturtle-connector-zone:1.2.3 --name zone-x ' "$STUB_DIR/calls" && grep -q -- '^create ghcr.io/toon-protocol/spaceturtle-agent-zone:1.2.3 --name agent-x ' "$STUB_DIR/calls" install_check "run through the link, the launcher finds itself and pulls the images of the release it came from" $? : > "$STUB_DIR/calls"; echo secret-key-123 > "$SPACETURTLE_MODEL_KEY_FILE"; "$tmp/linkbin/spaceturtle" session --unattended > "$tmp/out" 2>&1; rc=$? [[ $rc -eq 0 ]] && cmp -s <(head -n -2 "$SPACETURTLE_STATE_DIR/session/spaceturtle.yaml") "$tmp/launcher/agent/spaceturtle.yaml"; install_check " and a session reads the definition that was installed beside it" $? echo changed >> "$tmp/launcher/spaceturtle"; echo stale > "$tmp/launcher/leftover"; run_install; rc=$? [[ $rc -eq 0 ]] && cmp -s "$tmp/launcher/spaceturtle" "$root/spaceturtle" && [[ ! -e $tmp/launcher/leftover && ! -e $tmp/launcher.new && ! -e $tmp/launcher.old ]]; install_check "running it again replaces the launcher whole" $? +[[ $(grep -c microsandbox-linux "$STUB_DIR/curl-calls") -eq 1 ]]; install_check " and leaves a microsandbox that is already the pinned version" $? install_env; rm "$SPACETURTLE_KVM"; run_install; rc=$? [[ $rc -ne 0 ]] && grep -qi kvm "$tmp/out" && grep -qi firmware "$tmp/out" && [[ ! -e $tmp/launcher && ! -e $tmp/linkbin && ! -e $STUB_DIR/curl-calls ]]; install_check "with no KVM it says so and installs nothing" $? -install_env; SPACETURTLE_SBX=$tmp/bin/no-sbx HOME=$tmp/emptyhome run_install; rc=$? -[[ $rc -eq 0 && -e $STUB_DIR/sbx-installed ]] && grep -q 'sbx login' "$tmp/out" && grep -q '.docker/sbx/bin' "$tmp/out"; install_check "a machine with no sbx gets Docker Sandboxes, and is told to sign in and where sbx is" $? -install_env; SPACETURTLE_SBX=$tmp/bin/no-sbx HOME=$tmp/emptyhome SPACETURTLE_SBX_SHA256=$(printf '0%.0s' {1..64}) run_install; rc=$? -[[ $rc -ne 0 && ! -e $STUB_DIR/sbx-installed ]] && grep -q 'not the release it should be' "$tmp/out"; install_check "a Docker Sandboxes download with another checksum is not run" $? -install_env; touch "$STUB_DIR/signed-out"; run_install; grep -q 'sbx login' "$tmp/out"; install_check "an sbx that is signed out is named in what to run next" $? +install_env; SPACETURTLE_MSB_SHA256=$(printf '0%.0s' {1..64}) run_install; rc=$? +[[ $rc -ne 0 && ! -e $SPACETURTLE_MSB_HOME/bin/msb ]] && grep -q 'not the release it should be' "$tmp/out"; install_check "a microsandbox download with another checksum is not installed" $? +if [[ $EUID -ne 0 ]]; then + install_env; chmod 000 "$SPACETURTLE_KVM"; run_install; rc=$? + [[ $rc -ne 0 && ! -e $tmp/launcher ]] && grep -q 'usermod -aG kvm' "$tmp/out"; install_check "with a KVM the person may not use it says how to be allowed, and installs nothing" $? +fi install_env; touch "$STUB_DIR/no-release"; run_install; rc=$? [[ $rc -ne 0 && ! -e $tmp/launcher ]] && grep -q 'SPACETURTLE_VERSION' "$tmp/out"; install_check "with no release to be found it says how to name one, and installs nothing" $? install_env; touch "$STUB_DIR/no-release"; SPACETURTLE_VERSION=v1.2.3 run_install; rc=$? [[ $rc -eq 0 && $(<"$tmp/launcher/version") == 1.2.3 ]] && ! grep -q 'releases/latest' "$STUB_DIR/curl-calls"; install_check "a release can be named" $? install_env; SPACETURTLE_VERSION='main; rm -rf x' run_install; rc=$? [[ $rc -ne 0 && ! -e $tmp/launcher ]] && grep -q 'is not a release' "$tmp/out"; install_check "a version that is not a release is refused" $? -unset SPACETURTLE_INSTALL_DIR SPACETURTLE_BIN_DIR SPACETURTLE_CURL SPACETURTLE_SBX_SHA256 +unset SPACETURTLE_INSTALL_DIR SPACETURTLE_BIN_DIR SPACETURTLE_CURL SPACETURTLE_MSB_SHA256 SPACETURTLE_MSB_VERSION # --- the launcher: the network is start's flags, kept with the Install --- start_with() { printf '%s\n' "$1" | "$root/spaceturtle" start "${@:2}" > "$tmp/out" 2>&1; } # the typed answer, then the flags @@ -1227,25 +1254,43 @@ session_env() { run_cmd() { "$root/spaceturtle" "$@" > "$tmp/out" 2>&1; } sdef() { echo "$SPACETURTLE_STATE_DIR/session/spaceturtle.yaml"; } session_run() { grep 'docker-agent run' "$STUB_DIR/calls"; } +GUEST_DEF=/home/agent/session/spaceturtle.yaml +BASE_WALL="allow@dns,allow@host:tcp:7123,allow@host:tcp:7124"; SKILL_WALL="allow@api.github.com:tcp:443,allow@codeload.github.com:tcp:443" session_env; run_cmd session; rc=$? run=$(session_run) -[[ $rc -eq 0 && $run == "exec -it -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY -e TOON_TRUSTED_ROOT=/etc/ssl/certs/ca-certificates.crt agent-x docker-agent run --sandbox=false --model anthropic/claude-sonnet-5-5 $(sdef)" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" +[[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --model anthropic/claude-sonnet-5-5 $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" launcher_check "a session runs docker-agent in the agent's zone, on the definition as shipped" $? -grep -q '^policy allow network --sandbox agent-x api.anthropic.com$' "$STUB_DIR/calls" && ! grep -E '^policy allow' "$STUB_DIR/calls" | grep -qv -- '--sandbox agent-x' -launcher_check "the agent's zone is allowed the provider's host, by a rule that names the zone" $? +[[ $(<"$STUB_DIR/agent-wall") == "$BASE_WALL,allow@api.anthropic.com:tcp:443,$SKILL_WALL" ]] +launcher_check "the agent's zone reaches name resolution, the two ports, the provider's host and the skills' hosts, and nothing else" $? ! grep -q secret-key-123 "$STUB_DIR/calls"; launcher_check "the model key is not an argument" $? [[ $run != *--yolo* && $run != *--exec* ]] && ! grep -q '^budget:' "$(sdef)"; launcher_check "a session by hand asks before a tool runs and has no unattended ceiling" $? -: > "$STUB_DIR/calls"; run_cmd session; ! grep -q '^policy' "$STUB_DIR/calls"; launcher_check "a host that is already allowed is not allowed again" $? -run_cmd set model openai/gpt-x; : > "$STUB_DIR/calls"; run_cmd session -grep -q '^policy allow network --sandbox agent-x api.openai.com$' "$STUB_DIR/calls" && [[ $(session_run) == *"-e OPENAI_API_KEY "*"--model openai/gpt-x"* ]]; launcher_check "one setting changes the model, and the provider follows" $? +a=$(line_no '^start --quiet agent-x$'); b=$(line_no 'docker-agent run'); c=$(line_no '^stop .*agent-x$'); [[ -n $a && -n $b && -n $c && $a -lt $b && $b -lt $c ]] && grep -q '^agent-x stopped' "$STUB_DIR/zones" +launcher_check "a session starts the agent's zone, and stops it when it ends" $? +: > "$STUB_DIR/calls"; run_cmd session; ! grep -qE '^create |^remove ' "$STUB_DIR/calls"; launcher_check "a zone whose wall is the one wanted is not made again" $? +( flock 9; sleep 3 ) 9> "$SPACETURTLE_STATE_DIR/session.lock" & sleep 0.5; : > "$STUB_DIR/calls"; run_cmd session; rc=$?; wait +[[ $rc -ne 0 && -z $(session_run) ]] && grep -q 'already running' "$tmp/out"; launcher_check "a second session while one runs is refused" $? +run_cmd set model openai/gpt-x; : > "$STUB_DIR/calls"; run_cmd session; rc=$? +r=$(line_no '^remove .*agent-x$'); c=$(line_no '^create .*--name agent-x '); d=$(line_no 'docker-agent run') +[[ $rc -eq 0 && -n $r && -n $c && -n $d && $r -lt $c && $c -lt $d && $(<"$STUB_DIR/agent-wall") == "$BASE_WALL,allow@api.openai.com:tcp:443,$SKILL_WALL" && $(session_run) == *"-e OPENAI_API_KEY "*"--model openai/gpt-x"* ]] +launcher_check "one setting changes the model, the provider follows, and the zone is made again with the new wall" $? +[[ $(<"$STUB_DIR/agent-zone-key") == PRIVATE-HALF-1 && $(wc -l < "$STUB_DIR/keys") -eq 1 ]] && ! grep -rq 'PRIVATE-HALF' "$STUB_DIR/calls" "$tmp/out" "$SPACETURTLE_STATE_DIR" "$SPACETURTLE_CONFIG_DIR" +launcher_check " and the agent key goes across in memory: the same key, in no argument, output or file" $? run_cmd set model chatgpt/gpt-x; : > "$STUB_DIR/calls"; run_cmd session -grep -q '^policy allow network --sandbox agent-x chatgpt.com$' "$STUB_DIR/calls" && [[ $(session_run) == *"-e CHATGPT_OAUTH_TOKEN "*"--model chatgpt/gpt-x"* ]]; launcher_check "a ChatGPT account serves as the provider, its token in the key file" $? +[[ $(<"$STUB_DIR/agent-wall") == *",allow@chatgpt.com:tcp:443,"* && $(session_run) == *"-e CHATGPT_OAUTH_TOKEN "*"--model chatgpt/gpt-x"* ]]; launcher_check "a ChatGPT account serves as the provider, its token in the key file" $? +run_cmd set model anthropic/claude-x; rm "$STUB_DIR/agent-zone-key"; : > "$STUB_DIR/calls"; run_cmd session; rc=$? +[[ $rc -ne 0 && -z $(session_run) ]] && grep -q 'agent-key replace' "$tmp/out" && ! grep -qE '^create |^remove ' "$STUB_DIR/calls"; launcher_check "a zone whose key cannot be read is not made again, and the session says what does" $? +session_env; run_cmd set model other/model-x; run_cmd session; rc=$? +[[ $rc -ne 0 && -z $(session_run) ]] && grep -q 'SPACETURTLE_MODEL_HOST' "$tmp/out"; launcher_check "a provider the launcher does not know needs its host named" $? +SPACETURTLE_MODEL_HOST=models.example.test run_cmd session; rc=$? +[[ $rc -eq 0 && $(<"$STUB_DIR/agent-wall") == "$BASE_WALL,allow@models.example.test:tcp:443,$SKILL_WALL" && $(session_run) == *"-e MODEL_API_KEY "* ]]; launcher_check " and with it named, the wall holds that host" $? +SPACETURTLE_MODEL_HOST='x.test,allow@public' run_cmd session; rc=$? +[[ $rc -ne 0 ]] && ! grep -q 'allow@public' "$STUB_DIR/agent-wall"; launcher_check "a host that is not a host's name does not reach the wall" $? session_env; echo "https://connector.example.test/ilp" > "$STUB_DIR/connector-url"; run_cmd session -grep -q '^policy allow network --sandbox agent-x connector.example.test$' "$STUB_DIR/calls"; launcher_check "the agent's zone may reach the connector of the node's network, to seal a packet to it" $? +[[ $(<"$STUB_DIR/agent-wall") == *",allow@connector.example.test:tcp:443,"* ]]; launcher_check "the agent's zone may reach the connector of the node's network, to seal a packet to it" $? session_env; echo "http://abcdef.anyone/ilp" > "$STUB_DIR/connector-url"; run_cmd session; rc=$? -[[ $rc -eq 0 && $(grep -c '^policy allow' "$STUB_DIR/calls") -eq 1 ]]; launcher_check "a connector that is not reached over https adds no rule" $? +[[ $rc -eq 0 ]] && ! grep -qE '^create |^remove ' "$STUB_DIR/calls"; launcher_check "a connector that is not reached over https adds no rule" $? session_env; run_cmd session --unattended; rc=$? -[[ $rc -eq 0 && $(session_run) == "exec -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY -e TOON_TRUSTED_ROOT=/etc/ssl/certs/ca-certificates.crt agent-x docker-agent run --sandbox=false --model anthropic/claude-sonnet-5-5 --exec --yolo $(sdef) "* ]] +[[ $rc -eq 0 && $(session_run) == "exec --quiet --no-stdin -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --model anthropic/claude-sonnet-5-5 --exec --yolo $GUEST_DEF "* ]] launcher_check "an unattended session runs without a terminal and without asking" $? [[ $(tail -2 "$(sdef)") == $'budget:\n max_cost: 1' ]] && cmp -s <(head -n -2 "$(sdef)") "$root/agent/spaceturtle.yaml"; launcher_check "an unattended session has a cost ceiling by default, as the definition's budget" $? run_cmd set ceiling 0.25; : > "$STUB_DIR/calls"; run_cmd session --unattended @@ -1266,7 +1311,7 @@ session_env; sed -i '/^agent-x /d' "$STUB_DIR/zones"; run_cmd session; rc=$? launcher_env; run_launcher grep -q 'enable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'OnUnitActiveSec=6h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" && grep -q 'session --unattended' "$SPACETURTLE_UNIT_DIR/spaceturtle.service"; launcher_check "start turns the timer on at a conservative interval" $? -grep -q "^Environment=PATH=$tmp/bin:" "$SPACETURTLE_UNIT_DIR/spaceturtle.service" && grep -q "^Environment=PATH=$tmp/bin:" "$SPACETURTLE_UNIT_DIR/spaceturtle-connector.service"; launcher_check "both units can find sbx, which systemd's own path does not hold" $? +jq_dir=$(dirname "$(command -v jq)"); grep -q "^Environment=PATH=.*$jq_dir\(:\|$\)" "$SPACETURTLE_UNIT_DIR/spaceturtle.service" && grep -q "^Environment=PATH=.*$jq_dir\(:\|$\)" "$SPACETURTLE_UNIT_DIR/spaceturtle-connector.service"; launcher_check "both units can find jq, wherever it is" $? run_cmd status; grep -q '^timer: on, every 6h' "$tmp/out" && grep -q '^last unattended session: never' "$tmp/out"; launcher_check "status shows the timer on and no session yet" $? : > "$STUB_DIR/systemctl-calls"; run_cmd timer interval 2h; grep -q 'OnUnitActiveSec=2h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" && grep -q 'OnActiveSec=2h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" && ! grep -q OnBootSec "$SPACETURTLE_UNIT_DIR/spaceturtle.timer" \ && grep -q 'restart spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "the interval can be set, counts from when the timer starts, and a running timer takes it" $? @@ -1280,7 +1325,7 @@ run_cmd status; grep -q '^timer: off, every 2h' "$tmp/out"; launcher_check "stat run_cmd timer interval 3h; ! grep -q 'enable.*spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "an interval set while it is off leaves it off" $? run_cmd timer on; grep -q 'enable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'OnUnitActiveSec=3h' "$SPACETURTLE_UNIT_DIR/spaceturtle.timer"; launcher_check "the timer can be turned on again" $? -# --- the launcher: waiting, approve, refuse and status, against a stub sbx whose toon lists a waiting app --- +# --- the launcher: waiting, approve, refuse and status, against a stub msb whose toon lists a waiting app --- waiting_env() { launcher_env echo "zone-x running" > "$STUB_DIR/zones" @@ -1337,14 +1382,14 @@ up_env; rm "$STUB_DIR/zones"; run_cmd status; rc=$? # stop, then start up_env; echo secret-id > "$SPACETURTLE_DATA_DIR/identity"; run_cmd stop; rc=$? -[[ $rc -eq 0 ]] && grep -q '^stop zone-x' "$STUB_DIR/calls" && grep -q 'stop spaceturtle.timer' "$STUB_DIR/systemctl-calls" && ! grep -q 'disable.*spaceturtle.timer' "$STUB_DIR/systemctl-calls" \ +[[ $rc -eq 0 ]] && grep -q '^stop .*zone-x$' "$STUB_DIR/calls" && grep -q 'stop spaceturtle.timer' "$STUB_DIR/systemctl-calls" && ! grep -q 'disable.*spaceturtle.timer' "$STUB_DIR/systemctl-calls" \ && [[ $(conf_timer=$(sed -n 's/^timer=//p' "$SPACETURTLE_CONFIG_DIR/launcher.conf" 2>/dev/null | tail -1); echo "${conf_timer:-on}") == on ]]; launcher_check "stop stops the zone and the timer's unit, and leaves the timer's setting" $? u=$(grep -n 'disable --now spaceturtle-connector.service' "$STUB_DIR/systemctl-calls" | cut -d: -f1); [[ -n $u ]] && ! grep -q 'restart' "$STUB_DIR/systemctl-calls" launcher_check "stop turns off the unit that would start the zone again" $? sed -i '/^agent-x /d' "$STUB_DIR/zones"; echo "agent-x running" >> "$STUB_DIR/zones"; : > "$STUB_DIR/calls"; echo "zone-x running" >> "$STUB_DIR/zones"; sed -i '/^zone-x stopped/d' "$STUB_DIR/zones"; run_cmd stop -grep -q '^stop agent-x' "$STUB_DIR/calls"; launcher_check "stop ends a session in the agent's zone" $? +grep -q '^stop .*agent-x$' "$STUB_DIR/calls"; launcher_check "stop ends a session in the agent's zone" $? up_env; run_cmd stop; : > "$STUB_DIR/calls"; : > "$STUB_DIR/systemctl-calls"; run_launcher; rc=$? -[[ $rc -eq 0 ]] && grep -q '^exec zone-x true$' "$STUB_DIR/calls" && ! grep -qE '^create |toon init|toon wallet fund' "$STUB_DIR/calls" && grep -q connector-start "$STUB_DIR/calls" \ +[[ $rc -eq 0 ]] && grep -q '^start --quiet zone-x$' "$STUB_DIR/calls" && ! grep -qE '^create |toon init|toon wallet fund' "$STUB_DIR/calls" && grep -q connector-start "$STUB_DIR/calls" \ && grep -q 'enable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'enable spaceturtle-connector.service' "$STUB_DIR/systemctl-calls" && [[ $(<"$SPACETURTLE_DATA_DIR/identity") == secret-id ]] 2>/dev/null || [[ ! -e $SPACETURTLE_DATA_DIR/identity ]]; launcher_check "start after stop starts the zone and the supervisor, creates and funds nothing, and turns the timer and the unit on" $? up_env; run_cmd timer off; run_cmd stop; : > "$STUB_DIR/systemctl-calls"; run_launcher ! grep -q 'enable.*spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "start after stop leaves a timer that was off, off" $? @@ -1354,7 +1399,7 @@ up_env; rm "$STUB_DIR/zones"; run_cmd stop; rc=$? # backup up_env; echo old > "$SPACETURTLE_BACKUP_DIR/wallet-backup"; run_cmd backup; rc=$? [[ $rc -eq 0 && $(<"$SPACETURTLE_BACKUP_DIR/wallet-backup") == sealed ]] && grep -q "$SPACETURTLE_BACKUP_DIR/wallet-backup" "$tmp/out"; launcher_check "backup writes a sealed backup and says where" $? -up_env; echo old > "$SPACETURTLE_BACKUP_DIR/wallet-backup"; echo "cp zone-x" > "$STUB_DIR/fail-on"; run_cmd backup; rc=$? +up_env; echo old > "$SPACETURTLE_BACKUP_DIR/wallet-backup"; echo "copy --quiet zone-x" > "$STUB_DIR/fail-on"; run_cmd backup; rc=$? [[ $rc -ne 0 && $(<"$SPACETURTLE_BACKUP_DIR/wallet-backup") == old && ! -e $SPACETURTLE_BACKUP_DIR/wallet-backup.new ]]; launcher_check "a backup that does not arrive leaves the earlier one" $? up_env; echo "zone-x stopped" > "$STUB_DIR/zones"; run_cmd backup; rc=$? [[ $rc -ne 0 ]] && grep -q 'not running' "$tmp/out"; launcher_check "backup needs the zone running and says so" $? @@ -1363,20 +1408,21 @@ up_env; echo "zone-x stopped" > "$STUB_DIR/zones"; run_cmd backup; rc=$? PASS_TEXT=hunter2-passphrase-xyz upg_env() { up_env; echo "agent-x stopped" >> "$STUB_DIR/zones"; echo "$PASS_TEXT" > "$STUB_DIR/zone-passphrase"; echo wallet-bytes > "$SPACETURTLE_DATA_DIR/w1"; (cd "$SPACETURTLE_DATA_DIR" && sha256sum * ) > "$tmp/before"; : > "$STUB_DIR/stdin"; } upg_env; run_cmd upgrade; rc=$? -b=$(line_no 'toon wallet backup'); r=$(line_no '^rm '); c=$(grep -n '^create ' "$STUB_DIR/calls" | tail -1 | cut -d: -f1) -[[ $rc -eq 0 && -n $b && -n $r && $b -lt $r && $r -lt $c ]] && grep '^create ' "$STUB_DIR/calls" | grep -q -- '--template ghcr.io/toon-protocol/spaceturtle-connector-zone:latest '; launcher_check "upgrade backs up, then removes, then creates from the connector's zone image" $? -grep -q '^--user stop spaceturtle-connector.service$' "$STUB_DIR/systemctl-calls" && grep -q '^--user restart spaceturtle-connector.service$' "$STUB_DIR/systemctl-calls" && [[ $(grep -c -- '--publish' "$STUB_DIR/calls") -eq 2 ]] -launcher_check "upgrade stops the unit before the zone goes, starts it for the new one, and publishes the ports again" $? +b=$(line_no 'toon wallet backup'); r=$(line_no '^remove '); c=$(grep -n '^create ' "$STUB_DIR/calls" | tail -1 | cut -d: -f1) +[[ $rc -eq 0 && -n $b && -n $r && $b -lt $r && $r -lt $c ]] && grep -q -- '^create ghcr.io/toon-protocol/spaceturtle-connector-zone:latest --name zone-x .*--pull always ' "$STUB_DIR/calls" && grep -q -- '^create ghcr.io/toon-protocol/spaceturtle-agent-zone:latest --name agent-x .*--pull always ' "$STUB_DIR/calls" +launcher_check "upgrade backs up, then removes, then creates both zones from the newest of their images" $? +grep -q '^--user stop spaceturtle-connector.service$' "$STUB_DIR/systemctl-calls" && grep -q '^--user restart spaceturtle-connector.service$' "$STUB_DIR/systemctl-calls" && grep '^create .*--name zone-x ' "$STUB_DIR/calls" | grep -q -- '--port 127.0.0.1:7123:17100 --port 127.0.0.1:7124:17101' +launcher_check "upgrade stops the unit before the zone goes, starts it for the new one, and the new zone has the two ports" $? (cd "$SPACETURTLE_DATA_DIR" && sha256sum * ) | cmp -s - "$tmp/before"; launcher_check "upgrade leaves the wallet's storage byte for byte" $? -! grep -qE 'toon init|toon wallet fund' "$STUB_DIR/calls" && grep -q 'policy allow network --sandbox zone-x' "$STUB_DIR/calls" && grep -q connector-start "$STUB_DIR/calls"; launcher_check "upgrade does not initialise or fund again, and sets up the new zone" $? +! grep -qE 'toon init|toon wallet fund' "$STUB_DIR/calls" && grep -q connector-start "$STUB_DIR/calls"; launcher_check "upgrade does not initialise or fund again, and starts the supervisor in the new zone" $? [[ $(<"$STUB_DIR/stdin") == "$PASS_TEXT" ]]; launcher_check "the passphrase reaches the new zone through standard input" $? ! grep -rqF "$PASS_TEXT" "$STUB_DIR/calls" "$STUB_DIR/systemctl-calls" "$tmp/out" && ! grep -rlF "$PASS_TEXT" "$tmp" /tmp --exclude-dir="$(basename "$STUB_DIR")" --exclude-dir=claude-\* 2>/dev/null | grep -q .; launcher_check "the passphrase is in no argument, output or file on the machine" $? -grep -q '^rm .*agent-x' "$STUB_DIR/calls"; launcher_check "upgrade clears the agent's zone so the next session uses the newest image" $? -upg_env; echo "cp zone-x" > "$STUB_DIR/fail-on"; run_cmd upgrade; rc=$? -[[ $rc -ne 0 ]] && ! grep -q '^rm ' "$STUB_DIR/calls"; launcher_check "upgrade with a failing backup removes nothing" $? +grep -q '^remove .*agent-x$' "$STUB_DIR/calls"; launcher_check "upgrade clears the agent's zone so the next session uses the newest image" $? +upg_env; echo "copy --quiet zone-x" > "$STUB_DIR/fail-on"; run_cmd upgrade; rc=$? +[[ $rc -ne 0 ]] && ! grep -q '^remove ' "$STUB_DIR/calls"; launcher_check "upgrade with a failing backup removes nothing" $? upg_env; echo 'cat "$HOME/.config/toon-passphrase"' > "$STUB_DIR/fail-on"; run_cmd upgrade; rc=$? -[[ $rc -ne 0 ]] && ! grep -q '^rm ' "$STUB_DIR/calls"; launcher_check "upgrade with a passphrase that cannot be read removes nothing" $? -upg_env; echo "exec -i" > "$STUB_DIR/fail-on"; run_cmd upgrade; rc=$? +[[ $rc -ne 0 ]] && ! grep -q '^remove ' "$STUB_DIR/calls"; launcher_check "upgrade with a passphrase that cannot be read removes nothing" $? +upg_env; echo 'cat > "$HOME/.config/toon-passphrase"' > "$STUB_DIR/fail-on"; run_cmd upgrade; rc=$? [[ $rc -ne 0 ]] && grep -q 'passphrase could not be placed' "$tmp/out" && grep -q "$SPACETURTLE_BACKUP_DIR/wallet-backup" "$tmp/out"; launcher_check "upgrade that cannot place the passphrase names the backup as the way back" $? launcher_env; run_cmd upgrade; rc=$? [[ $rc -ne 0 ]] && grep -q 'spaceturtle start' "$tmp/out"; launcher_check "upgrade with no zone says to run start" $? @@ -1385,31 +1431,34 @@ launcher_env; run_cmd upgrade; rc=$? rm_env() { up_env; echo "agent-x running" >> "$STUB_DIR/zones"; echo k > "$SPACETURTLE_MODEL_KEY_FILE"; echo wallet-bytes > "$SPACETURTLE_DATA_DIR/w1"; run_cmd set model openai/x; } rm_cmd() { printf '%s\n' "${@:2}" | "$root/spaceturtle" remove $1 > "$tmp/out" 2>&1; } rm_env; rm_cmd "" y; rc=$? -[[ $rc -eq 0 ]] && grep -q 'fresh backup' "$tmp/out" && [[ -s $SPACETURTLE_DATA_DIR/w1 && -s $SPACETURTLE_BACKUP_DIR/wallet-backup ]] && [[ ! -e $SPACETURTLE_MODEL_KEY_FILE && ! -e $SPACETURTLE_STATE_DIR/launcher && ! -e $SPACETURTLE_CONFIG_DIR/launcher.conf && ! -e $SPACETURTLE_UNIT_DIR/spaceturtle.timer && ! -e $SPACETURTLE_UNIT_DIR/spaceturtle-connector.service && ! -e $SPACETURTLE_STATE_DIR/session ]] \ - && grep -q '^rm .*zone-x' "$STUB_DIR/calls" && grep -q '^rm .*agent-x' "$STUB_DIR/calls" && grep -q 'disable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'disable --now spaceturtle-connector.service' "$STUB_DIR/systemctl-calls" \ - && grep -q "$SPACETURTLE_DATA_DIR" "$tmp/out" && grep -q "$SPACETURTLE_BACKUP_DIR" "$tmp/out"; launcher_check "remove removes the zones, the units, the markers, the settings and the key, keeps the wallet and the backup, and says where" $? +[[ $rc -eq 0 ]] && grep -q 'fresh backup' "$tmp/out" && [[ -s $SPACETURTLE_DATA_DIR/w1 && -s $SPACETURTLE_BACKUP_DIR/wallet-backup ]] && [[ ! -e $SPACETURTLE_MODEL_KEY_FILE && ! -e $SPACETURTLE_STATE_DIR/launcher && ! -e $SPACETURTLE_STATE_DIR/agent && ! -e $SPACETURTLE_CONFIG_DIR/launcher.conf && ! -e $SPACETURTLE_UNIT_DIR/spaceturtle.timer && ! -e $SPACETURTLE_UNIT_DIR/spaceturtle-connector.service && ! -e $SPACETURTLE_STATE_DIR/session ]] \ + && grep -q '^remove .*zone-x$' "$STUB_DIR/calls" && grep -q '^remove .*agent-x$' "$STUB_DIR/calls" && grep -q 'disable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'disable --now spaceturtle-connector.service' "$STUB_DIR/systemctl-calls" \ + && grep -q "$SPACETURTLE_DATA_DIR" "$tmp/out" && grep -q "$SPACETURTLE_BACKUP_DIR" "$tmp/out" && grep -q "$SPACETURTLE_MSB_HOME" "$tmp/out"; launcher_check "remove removes the zones, what the agent kept, the units, the markers, the settings and the key, keeps the wallet and the backup, and says where they and the zone images are" $? rm_env; l1=$(line_no 'toon wallet backup'); rm_cmd "" n; rc=$? [[ $rc -eq 0 && $(grep -c 'toon wallet backup' "$STUB_DIR/calls") -eq 0 ]]; launcher_check "remove lets the fresh backup be declined" $? rm_env; rm_cmd --delete-wallet delete y; rc=$? -[[ $rc -eq 0 && ! -e $SPACETURTLE_DATA_DIR && -d $SPACETURTLE_BACKUP_DIR ]] && grep -q '^rm .*zone-x' "$STUB_DIR/calls"; launcher_check "remove --delete-wallet with the typed word deletes the wallet's storage and keeps the backup directory" $? +[[ $rc -eq 0 && ! -e $SPACETURTLE_DATA_DIR && -d $SPACETURTLE_BACKUP_DIR ]] && grep -q '^remove .*zone-x$' "$STUB_DIR/calls"; launcher_check "remove --delete-wallet with the typed word deletes the wallet's storage and keeps the backup directory" $? rm_env; rm_cmd --delete-wallet yes; rc=$? -nothing_removed() { [[ -s $SPACETURTLE_DATA_DIR/w1 ]] && ! grep -qE '^rm |disable|toon wallet backup' "$STUB_DIR/calls" "$STUB_DIR/systemctl-calls" && [[ -e $SPACETURTLE_MODEL_KEY_FILE && -d $SPACETURTLE_STATE_DIR/launcher ]]; } +nothing_removed() { [[ -s $SPACETURTLE_DATA_DIR/w1 ]] && ! grep -qE '^remove |disable|toon wallet backup' "$STUB_DIR/calls" "$STUB_DIR/systemctl-calls" && [[ -e $SPACETURTLE_MODEL_KEY_FILE && -d $SPACETURTLE_STATE_DIR/launcher ]]; } [[ $rc -ne 0 ]] && nothing_removed; launcher_check "remove --delete-wallet with another answer removes nothing" $? rm_env; "$root/spaceturtle" remove --delete-wallet < /dev/null > "$tmp/out" 2>&1; rc=$? [[ $rc -ne 0 ]] && nothing_removed; launcher_check "remove --delete-wallet at end of input removes nothing and exits non-zero" $? rm_env; rm_cmd --everything; rc=$? [[ $rc -ne 0 ]] && grep -q 'usage: spaceturtle remove' "$tmp/out" && nothing_removed; launcher_check "remove refuses any other argument with the usage" $? -rm_env; echo "cp zone-x" > "$STUB_DIR/fail-on"; rm_cmd "" y; rc=$? -[[ $rc -ne 0 ]] && ! grep -q '^rm ' "$STUB_DIR/calls"; launcher_check "remove whose fresh backup fails removes nothing" $? +rm_env; echo "copy --quiet zone-x" > "$STUB_DIR/fail-on"; rm_cmd "" y; rc=$? +[[ $rc -ne 0 ]] && ! grep -q '^remove ' "$STUB_DIR/calls"; launcher_check "remove whose fresh backup fails removes nothing" $? # the agent key launcher_env; run_launcher; rc=$? [[ $rc -eq 0 && $(wc -l < "$STUB_DIR/keys") -eq 1 ]] && grep -q 'toon agent-key create' "$STUB_DIR/calls"; launcher_check "a first run creates exactly one agent key, with the default scope and limit" $? ! grep -qE -- '--scope|--max-per|--limit' <(grep 'agent-key create' "$STUB_DIR/calls") && grep 'agent-key create' "$STUB_DIR/calls" | grep -q -- '--out /tmp/agent-key'; launcher_check "the agent key is created without overriding the default scope or limit" $? -grep '^exec -i agent-x' "$STUB_DIR/calls" | grep -q 'http://host.docker.internal:7123' && grep '^exec -i agent-x' "$STUB_DIR/calls" | grep -q 'http://host.docker.internal:7124' +grep 'agent-x -- sh -c umask 077' "$STUB_DIR/calls" | grep -q 'http://host.microsandbox.internal:7123' && grep 'agent-x -- sh -c umask 077' "$STUB_DIR/calls" | grep -q 'http://host.microsandbox.internal:7124' launcher_check "on the way in, the key file's addresses become the machine's two ports that lead to the connector's zone" $? -grep '^create --name agent-x' "$STUB_DIR/calls" | grep -q -- "--cpus 2 --memory 2g .* $SPACETURTLE_STATE_DIR/session:ro$" && grep -q '^policy allow network --sandbox agent-x localhost:7123,localhost:7124$' "$STUB_DIR/calls" -launcher_check "the agent's zone is small, mounts the session's definition read-only, and may reach those two ports" $? +made=$(grep '^create .*--name agent-x ' "$STUB_DIR/calls") +[[ $made == *" --cpus 2 --memory 2G "* && $made == *" --mount-dir $SPACETURTLE_STATE_DIR/session:/home/agent/session:ro "* && $made == *" --net-default-egress deny --net-rule allow@dns,allow@host:tcp:7123,allow@host:tcp:7124,allow@api.anthropic.com:tcp:443,"* ]] && ! grep -qE -- '--net (public|all|host|private)|allow@(public|private|host)[, ]|--port' <<<"$made" +launcher_check "the agent's zone is small, mounts the session's definition read-only, refuses whatever its wall does not name, and of the machine may reach those two ports" $? +[[ $made == *" --mount-dir $SPACETURTLE_STATE_DIR/agent/config:/home/agent/.config/spaceturtle:uid=1000,gid=1000 "* && $made == *" --mount-dir $SPACETURTLE_STATE_DIR/agent/state:/home/agent/.local/state/spaceturtle:uid=1000,gid=1000 "* ]] +launcher_check "what the agent keeps is in mounted directories, so it outlasts the agent's zone" $? a=$(line_no 'toon agent-key create'); d=$(line_no 'exec connector-start'); [[ -n $a && -n $d && $a -lt $d ]]; launcher_check "the key is made before the supervisor starts, so that it listens for orders" $? [[ $(<"$STUB_DIR/agent-zone-key") == PRIVATE-HALF-1 ]]; launcher_check "the private half is placed in the agent's zone" $? ! grep -rq 'PRIVATE-HALF' "$tmp/out" "$SPACETURTLE_STATE_DIR" "$SPACETURTLE_CONFIG_DIR" "$HOME" "$SPACETURTLE_DATA_DIR" "$SPACETURTLE_BACKUP_DIR" "$STUB_DIR/calls" 2>/dev/null && [[ ! -e $STUB_DIR/agentkeyfile ]] @@ -1429,9 +1478,9 @@ run_launcher; [[ $(wc -l < "$STUB_DIR/keys") -eq 0 ]]; launcher_check "start doe up_env; : > "$STUB_DIR/calls"; rm -f "$STUB_DIR/agent-zone-key"; run_cmd agent-key replace; rc=$? [[ $rc -eq 0 && $(<"$STUB_DIR/keys") == key-2 && $(<"$STUB_DIR/agent-zone-key") == PRIVATE-HALF-2 ]] && ! grep -qE 'wallet|toon init' "$STUB_DIR/calls"; launcher_check "agent-key replace revokes the old key, places a new one and leaves the wallet alone" $? up_env; : > "$STUB_DIR/calls"; run_cmd agent-key replace -p=$(line_no '^exec -i agent-x'); v=$(line_no 'toon agent-key revoke'); [[ -n $p && -n $v && $p -lt $v ]]; launcher_check "agent-key replace places the new key before it revokes the old one" $? +p=$(line_no 'agent-x -- sh -c umask 077'); v=$(line_no 'toon agent-key revoke'); [[ -n $p && -n $v && $p -lt $v ]]; launcher_check "agent-key replace places the new key before it revokes the old one" $? up_env; echo "agent-x stopped" >> "$STUB_DIR/zones"; : > "$STUB_DIR/calls"; run_cmd agent-key revoke -grep -q 'exec agent-x sh -c rm -f $HOME/.config/toon-agent/key' "$STUB_DIR/calls" && grep -q '^agent-x stopped' "$STUB_DIR/zones"; launcher_check "agent-key revoke deletes the private half from a stopped agent's zone, and leaves it stopped" $? +grep -q 'agent-x -- sh -c rm -f $HOME/.config/toon-agent/key' "$STUB_DIR/calls" && grep -q '^agent-x stopped' "$STUB_DIR/zones"; launcher_check "agent-key revoke deletes the private half from a stopped agent's zone, and leaves it stopped" $? upg_env; run_cmd agent-key revoke; run_cmd upgrade; rc=$? [[ $rc -eq 0 && ! -s $STUB_DIR/keys ]]; launcher_check "upgrade does not make a key after a revoke" $? up_env; : > "$STUB_DIR/calls"; run_cmd agent-key limit 3; rc=$? From 12d668e19db00c64f219baf24c83907d4b637dc9 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 07:40:43 -0400 Subject: [PATCH 08/22] The guides and an ADR for zones under microsandbox (#57) ADR 0004 records the move from Docker Sandboxes and what it changes: no account, a wall of the agent's zone's own, and walls and ports that are fixed when a zone is made. Co-Authored-By: Claude Opus 5.5 --- README.md | 5 +- .../0003-the-agent-holds-no-key-that-pays.md | 2 +- docs/adr/0004-zones-run-under-microsandbox.md | 21 +++++ docs/development.md | 6 +- docs/guide/first-run.md | 42 +++++---- docs/guide/launcher.md | 93 ++++++++++++------- 6 files changed, 113 insertions(+), 56 deletions(-) create mode 100644 docs/adr/0004-zones-run-under-microsandbox.md diff --git a/README.md b/README.md index c39f4aa..324d6a8 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,9 @@ spaceturtle status # the timer, the zones, the apps, and whether the relay ``` [`install.sh`](install.sh) checks the machine, puts the launcher of the latest release in -`~/.local/share/spaceturtle/launcher` with a link in `~/.local/bin`, and installs Docker -Sandboxes if the machine has none. It needs no root and starts nothing. +`~/.local/share/spaceturtle/launcher` with a link in `~/.local/bin`, and puts +[microsandbox](https://github.com/superradcompany/microsandbox), which the zones run in, +beside it. It needs no root and no account, and starts nothing. [The first run](docs/guide/first-run.md) lists what to have ready. ## Why it exists diff --git a/docs/adr/0003-the-agent-holds-no-key-that-pays.md b/docs/adr/0003-the-agent-holds-no-key-that-pays.md index bbd2ddc..586700e 100644 --- a/docs/adr/0003-the-agent-holds-no-key-that-pays.md +++ b/docs/adr/0003-the-agent-holds-no-key-that-pays.md @@ -18,6 +18,6 @@ The scope lets the agent do a provider's daily work: send packets, add and remov - This cannot ship until the connector gives each write key a scope and a spending limit, and `toon` can be operated from another zone and runs apps hardened. Those are changes to `connector` and `toon_cli`, not to this repository. - The spending limit moves from a file `toon` checks to the connector, which holds the money. - Only the connector's zone must stay running. The agent runs in sessions and on a timer, so `docker-agent`'s own sandbox serves it unchanged. -- The connector's zone is a Docker Sandboxes virtual machine, which needs KVM and a Docker account on every machine that runs spaceturtle. A machine without KVM needs another form of that zone. +- The connector's zone is a virtual machine, which needs KVM on every machine that runs spaceturtle. A machine without KVM needs another form of that zone. It was first a Docker Sandboxes virtual machine, which also needed a Docker account; ADR 0004 replaces that. - Whoever breaks into the connector's zone holds everything in the settlement addresses and channels. The wallet is funded with little, on devnet first. - ADR 0001 stands: the panel still never acts. The panel reading an agent node inside a zone is not designed yet. diff --git a/docs/adr/0004-zones-run-under-microsandbox.md b/docs/adr/0004-zones-run-under-microsandbox.md new file mode 100644 index 0000000..7dcab78 --- /dev/null +++ b/docs/adr/0004-zones-run-under-microsandbox.md @@ -0,0 +1,21 @@ +# Zones run under microsandbox, with no account + +The connector's zone and the agent's zone were Docker Sandboxes (`sbx`) virtual machines. `sbx` refuses every command until the person signs in to a Docker account, and Docker has said it will not change that. An Install that cannot be made without an account at a company that has no part in it is not one command. So both zones are virtual machines under [microsandbox](https://github.com/superradcompany/microsandbox) (`msb`): one program and one library in the person's home, Apache-2.0, on KVM through libkrun, with no account, no root and no service of its own. `install.sh` installs a copy that is spaceturtle's alone, pinned by version and checksum, and the launcher drives it. + +The zone images are the same. Docker's sandbox images still serve as their bases, and they boot unchanged. + +## Considered Options + +- **Stay on Docker Sandboxes.** Rejected: every Install needs a Docker account, the program is proprietary and cannot be patched, and signing out stops every zone on the machine. +- **Keep both, and let the person choose.** Rejected: two sets of commands, two kinds of wall and two ways for the zone to come back after a restart, each to be tested with a real run, to serve only people who already have the account. +- **The launcher drives a hypervisor itself** (Cloud Hypervisor with virtiofsd and passt). Kept as the way out if microsandbox fails us: everything microsandbox gives, from running a command in a guest to the wall, becomes the launcher's to build and keep. +- **A container runtime in place of a virtual machine** (rootless Podman with crun-krun, Kata, systemd-nspawn). Rejected: each needs root to set up, or gives no kernel boundary between the wallet and an app. + +## Consequences + +- An Install needs KVM that the person may use, glibc and systemd, and nothing else. The first run asks for no account. +- The agent's zone has a wall of its own: it reaches name resolution, two ports of the machine, the model provider's host, the host of the network's connector and the two hosts its skills come from, and is refused everything else. Under `sbx` the machine's policy also let it reach a list of common hosts. A host is held to the addresses its name resolves to, not to the name: holding it to the name needs microsandbox to open the zone's TLS, which is not done. +- A zone's wall and its published ports are fixed when it is made. A change to either makes the zone again. For the agent's zone the launcher carries the agent key across in memory, and what the agent keeps is in mounted directories that outlast the zone. +- A zone stays running until it is stopped, so the unit no longer has to hold a session open. It is still what starts the zone after the machine restarts and what starts the supervisor again. +- microsandbox is beta software that changes fast. It is pinned, and moving the pin needs a real run of the launcher, since the tests only stub it. Its licence is what makes this bearable: it can be forked. +- ADR 0003 rejected a virtual machine for each app because Docker Sandboxes could not run an image as its workload. microsandbox can. That decision is open again; this one does not make it. diff --git a/docs/development.md b/docs/development.md index 96d3658..f256160 100644 --- a/docs/development.md +++ b/docs/development.md @@ -4,7 +4,7 @@ ## Tests -`tests/run` runs `relay-events` (with its Renderer descriptions), `mark-seen` and `request` (and the answers the `being-observed` skill describes) against a stub `toon` and `curl`, and the launcher's `spaceturtle start`, `stop`, `upgrade`, `backup`, `remove`, `waiting`, `approve`, `refuse`, `status` and `agent-key` against a stub `sbx`, in a temporary home, holds the agent definition to the safety rules of ADR 0003 through `tests/check-agent`, holds the zone images' files to their pins through `tests/check-images`, and runs the `release/` scripts against a stub `docker-agent`. It needs bash, `jq` and `yq` (mikefarah's), and is what the `gate` job of `.github/workflows/ci.yml` runs. +`tests/run` runs `relay-events` (with its Renderer descriptions), `mark-seen` and `request` (and the answers the `being-observed` skill describes) against a stub `toon` and `curl`, and the launcher's `spaceturtle start`, `stop`, `upgrade`, `backup`, `remove`, `waiting`, `approve`, `refuse`, `status` and `agent-key`, `session`, and `install.sh`, against a stub `msb`, in a temporary home, holds the agent definition to the safety rules of ADR 0003 through `tests/check-agent`, holds the zone images' files to their pins through `tests/check-images`, and runs the `release/` scripts against a stub `docker-agent`. It needs bash, `jq` and `yq` (mikefarah's), and is what the `gate` job of `.github/workflows/ci.yml` runs. ## Demo data @@ -25,8 +25,8 @@ without an agent node. | `relay-events` | Prints the agent's activity, the relay's other events, each event with its resolved parts (label, title, summary, body, links, ref) and what it refers to and what refers to it, the events a thread needs beyond the limit, profiles, the Persona (the agent identity's newest profile with a name, or `null`), follow lists, node addresses, the node's state, the Requests and the agent's private messages (grouped into conversations, or why they cannot be read) as one JSON document, with its `attention` state (`none`, `news`, `urgent`) | | `skills/being-observed/SKILL.md` | The agent's skill: the public key file, the Persona (creating, reading and living by it, renaming the relay), reading the Requests, answering them, writing a Renderer for a kind | | `request` | Writes a Request into the queue, or withdraws a waiting one | -| `spaceturtle` | The launcher: `spaceturtle start` brings up the connector's zone on devnet from the connector's zone image (`SPACETURTLE_CONNECTOR_IMAGE`), copying nothing in from the machine, doing only the steps not yet done, with its step markers in `~/.local/state/spaceturtle/launcher`; `start`'s flags choose the network (`--network`, `--evm-rpc-url`, `--evm-chain-id` and the rest of `toon init`'s), kept in `launcher.conf`; `session`, `timer`, `set` and `key` start the agent's sessions, by hand and on a timer, and keep its settings in `~/.config/spaceturtle/launcher.conf`; `waiting`, `approve` and `refuse` list, approve and refuse the apps the agent node holds until the Observer approves them; `start` also makes the agent key once, and `agent-key show`, `replace`, `revoke` and `limit` show, replace, revoke and limit it from outside the agent's zone; `status` shows the timer and the last unattended session, each zone's state, the node's network, its apps and relay, whether the supervisor runs and how many apps wait; `stop`, `upgrade`, `backup` and `remove` stop, replace, back up and remove the Install (`upgrade` carries the passphrase in memory through `sbx exec`; `remove` keeps the wallet's storage and the backup directory); `supervise` is what the unit that keeps the connector's zone running runs | -| `install.sh` | The one command a person runs first: checks the machine, installs the launcher and the agent definition of a release with a `version` file beside them (the launcher then pulls that release's zone images), links it into `~/.local/bin`, and installs the pinned Docker Sandboxes if there is no `sbx` | +| `spaceturtle` | The launcher: `spaceturtle start` brings up the connector's zone on devnet from the connector's zone image (`SPACETURTLE_CONNECTOR_IMAGE`), copying nothing in from the machine, doing only the steps not yet done, with its step markers in `~/.local/state/spaceturtle/launcher`; `start`'s flags choose the network (`--network`, `--evm-rpc-url`, `--evm-chain-id` and the rest of `toon init`'s), kept in `launcher.conf`; `session`, `timer`, `set` and `key` start the agent's sessions, by hand and on a timer, and keep its settings in `~/.config/spaceturtle/launcher.conf`; `waiting`, `approve` and `refuse` list, approve and refuse the apps the agent node holds until the Observer approves them; `start` also makes the agent key once, and `agent-key show`, `replace`, `revoke` and `limit` show, replace, revoke and limit it from outside the agent's zone; `status` shows the timer and the last unattended session, each zone's state, the node's network, its apps and relay, whether the supervisor runs and how many apps wait; `stop`, `upgrade`, `backup` and `remove` stop, replace, back up and remove the Install (`upgrade` carries the passphrase in memory through `msb exec`; `remove` keeps the wallet's storage and the backup directory); `supervise` is what the unit that keeps the connector's zone running runs | +| `install.sh` | The one command a person runs first: checks the machine, installs the launcher and the agent definition of a release with a `version` file beside them (the launcher then pulls that release's zone images), links it into `~/.local/bin`, and puts the pinned microsandbox (`msb`), which the zones run in, in `~/.local/share/spaceturtle/microsandbox` | | `agent/spaceturtle.yaml` | The agent's definition for `docker-agent`: its instruction, its file tool and the skills it loads. A release publishes it as it is | | `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`, the overlay client's proxy line), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | | `images/versions.env`, `images/versions` | Every pin the two images add, with its checksum, and the `docker-agent` program a release publishes with; the command that prints the images' versions for release notes | diff --git a/docs/guide/first-run.md b/docs/guide/first-run.md index 9024228..296a133 100644 --- a/docs/guide/first-run.md +++ b/docs/guide/first-run.md @@ -2,13 +2,14 @@ ## Before you start -Have these ready. `spaceturtle start` checks the first two before anything else and stops, -changing nothing, when one is missing: - -- **A machine with KVM** (`/dev/kvm`). The connector's zone is a virtual machine. -- **A Docker account, signed in to Docker Sandboxes** (`sbx`). Install - [`sbx`](https://github.com/docker/sbx-releases), then run `sbx login` and - `sbx daemon start -d`. +Have these ready. You need no account anywhere to install or run spaceturtle; the model +provider's key is the only thing that is not on your machine already. `spaceturtle start` +checks the first of these before anything else and stops, changing nothing, when it is +missing: + +- **A Linux machine with KVM** (`/dev/kvm`) that you may use. A zone is a virtual machine. + If `/dev/kvm` is there but not yours to use, `sudo usermod -aG kvm $USER`, then sign out + and in again. - **`docker-agent`** needs no install of its own: it runs inside the agent's zone. - **systemd**, for two user units: the one that keeps the connector's zone running, and the timer. To have the Install back after a restart without logging in, let your user @@ -27,22 +28,25 @@ changing nothing, when one is missing: curl -fsSL https://raw.githubusercontent.com/toon-protocol/spaceturtle/main/install.sh | bash ``` -[`install.sh`](../../install.sh) needs no root. It first checks the machine (Linux on -x86_64, KVM, systemd, `curl`, `jq`, `tar`) and installs nothing if something is missing. Then -it: +[`install.sh`](../../install.sh) needs no root and no account. It first checks the machine +(Linux on x86_64 with glibc, KVM you may use, systemd, `curl`, `jq`, `tar`) and installs +nothing if something is missing. Then it: - puts the launcher and the agent definition of the latest release in `~/.local/share/spaceturtle/launcher`, and links `spaceturtle` into `~/.local/bin`; -- installs Docker Sandboxes, at the version the launcher is tested with and checked against - its checksum, if the machine has no `sbx`; -- says what to run next. It does not sign in to Docker and starts nothing. +- puts [microsandbox](https://github.com/superradcompany/microsandbox), which the zones run + in, in `~/.local/share/spaceturtle/microsandbox`, at the version the launcher is tested + with and checked against its checksum. It is a program and a library in that directory, + and nothing else of your machine is changed; +- says what to run next. It starts nothing. The launcher it installs pulls the zone images of that same release. Run it again to move to the newest release, then `spaceturtle upgrade`. `SPACETURTLE_VERSION=v0.2.0` installs that release instead. -To work from a clone instead, put the file [`spaceturtle`](../../spaceturtle) on your -`PATH`, by its directory or by a link; it then pulls the `latest` images. +To work from a clone instead, run `install.sh` once for microsandbox, then put the clone's +[`spaceturtle`](../../spaceturtle) on your `PATH`, by its directory or by a link; it then +pulls the `latest` images. ## The first run @@ -52,14 +56,14 @@ spaceturtle start On devnet, it: -1. makes the connector's zone, a detached Docker Sandboxes virtual machine from the - connector's zone image, with nothing copied in from your machine; +1. makes the connector's zone, a virtual machine from the connector's zone image, with + nothing copied in from your machine; 2. initialises the agent node inside it, makes the wallet and funds it from the devnet faucet; 3. makes the agent key, with the default scope and spending limit, and places its private half in the agent's zone; -4. starts the supervisor, which runs the node's apps, in a systemd user unit that keeps - the zone running and brings it back after a restart; +4. starts the supervisor, which runs the node's apps, in a systemd user unit that starts it + again if it ends and brings the zone back after a restart; 5. writes a sealed backup of the wallet to `~/spaceturtle-backup`. **Keep it.** 6. turns on the timer, which starts a session every 6 hours (`spaceturtle timer off` turns it off). diff --git a/docs/guide/launcher.md b/docs/guide/launcher.md index 3dfa12c..eee1ba0 100644 --- a/docs/guide/launcher.md +++ b/docs/guide/launcher.md @@ -1,36 +1,42 @@ # The launcher Every command of the launcher, and what it changes. Each one that uses a zone stops first, -and says why, when KVM or a signed-in `sbx` is missing. +and says why, when the machine has no KVM, you may not use it, or microsandbox is missing. -`spaceturtle start` brings up the connector's zone on devnet: a detached Docker Sandboxes -virtual machine made from the connector's zone image +A zone is a virtual machine under [microsandbox](https://github.com/superradcompany/microsandbox) +(`msb`), which needs KVM and nothing else: no account, no root and no service of its own. +`install.sh` puts a copy of it in `~/.local/share/spaceturtle/microsandbox` +(`SPACETURTLE_MSB_HOME`), at the version the launcher is tested with. That directory holds +the zones and their images too, and is spaceturtle's alone: a microsandbox you use yourself +does not see them. + +`spaceturtle start` brings up the connector's zone on devnet: a virtual machine made from +the connector's zone image (`ghcr.io/toon-protocol/spaceturtle-connector-zone:latest`, or `SPACETURTLE_CONNECTOR_IMAGE`), -which holds the pinned `toon`; nothing is copied into it from your machine. It has an any-address rule scoped to that zone alone, the agent node +which holds the pinned `toon`; nothing is copied into it from your machine. The zone reaches +the public internet, and nothing of your machine or its network. It has the agent node initialised inside it, the wallet funded from the faucet, the agent key made, the supervisor started (the image's `connector-start`, which also starts the container engine for the apps), and a sealed backup of the wallet written to `~/spaceturtle-backup` (`SPACETURTLE_BACKUP_DIR`). Keep that backup. The passphrase is made inside the zone; it is never printed and never written to your machine's disk, and `upgrade` carries it in memory to the new zone. A second run -creates, initialises and funds nothing, and an interrupted run finishes the rest. It needs -KVM and a signed-in `sbx`, and says what is missing and how to fix it before it does -anything. The wallet's storage is `~/.local/share/spaceturtle/wallet` (`SPACETURTLE_DATA_DIR`), +creates, initialises and funds nothing, and an interrupted run finishes the rest. The wallet's storage is `~/.local/share/spaceturtle/wallet` (`SPACETURTLE_DATA_DIR`), mounted into the zone and outside its image. It is the whole of `toon`'s home, so it also holds the agent identity's secret; the passphrase that opens the wallet is not in it. -Docker Sandboxes stops a zone 30 seconds after the last command attached to it ends, and -nothing starts its daemon when your machine does. So `start` writes and enables a systemd -user unit, `spaceturtle-connector.service`, which starts the daemon, holds one session open -in the zone with the supervisor in it (`spaceturtle supervise`), and is started again -whenever that session ends. That is what brings the zone back after the machine restarts. +A zone stays running until it is stopped, but nothing starts it when your machine does, and +nothing starts the supervisor again if it ends. So `start` writes and enables a systemd user +unit, `spaceturtle-connector.service`, which starts the zone if it is stopped, runs the +supervisor in it (`spaceturtle supervise`), and is started again whenever the supervisor +ends. That is what brings the zone back after the machine restarts. A user unit runs once you log in, or at boot if your user lingers (`loginctl enable-linger`). `journalctl --user -u spaceturtle-connector` shows the supervisor's output. -`start` leaves your machine's `sbx` policy as it is, and initialises it as `balanced` only -when there is none. It publishes two ports of the connector's zone on your machine's -loopback, `47100` and `47101` (`SPACETURTLE_CONNECTOR_PORT` names the first): the -supervisor's orders and the relay TOON app's connector, which is all the agent's zone -reaches of the node. An app whose image is not on `toon`'s list of trusted images runs under +The zone is made with two of its ports published on your machine's loopback, `47100` and +`47101` (`SPACETURTLE_CONNECTOR_PORT` names the first): the supervisor's orders and the +relay TOON app's connector, which is all the agent's zone reaches of the node. The ports are +the zone's from when it is made: to change them, set the variable and run `spaceturtle +upgrade`. An app whose image is not on `toon`'s list of trusted images runs under gVisor: `start` writes `runsc` to the home's `untrusted-runtime`. ## The network @@ -66,13 +72,29 @@ Install on another network is another Install (`spaceturtle remove --delete-wall `spaceturtle session` starts a `docker-agent` session in the agent's zone, which is made from the agent's zone image (`SPACETURTLE_AGENT_IMAGE`), on a copy of -`agent/spaceturtle.yaml` that the zone mounts read-only. The launcher allows the zone three -things by rules that name it: the model provider's host, the host of the connector of the -node's network (a packet for an app behind that connector is sealed to it), and the two -loopback ports that lead to the connector's zone. Your machine's own `sbx` policy applies on -top: `balanced` lets every sandbox reach a list of common hosts, and `sbx policy reset` -followed by `sbx policy init deny-all` leaves the zone those three things alone. No session -starts while the connector's zone is not running. The model key is yours: put it in +`agent/spaceturtle.yaml` that the zone mounts read-only. The zone is stopped when the +session ends, and one session runs at a time. No session starts while the connector's zone +is not running. + +The agent's zone has a wall: it reaches what the launcher names and is refused everything +else, the rest of your machine and your network included. What it names: + +| The agent's zone reaches | Why | +| --- | --- | +| Name resolution | To find the hosts below | +| Ports `47100` and `47101` of your machine | The node: its orders and the relay TOON app's connector | +| The model provider's host, on 443 | The model | +| The host of the connector of the node's network, on 443 | A packet for an app behind that connector is sealed to it | +| `api.github.com` and `codeload.github.com`, on 443 | `docker-agent` fetches the skills the agent definition names from there | + +A host is allowed by its name and held to the addresses the name resolves to, so another +site served from the same addresses is reachable too. The wall is the zone's from when it is +made. When it changes, as with a model of another provider, the next session makes the zone +again and carries the agent key across in memory. What the agent keeps in +`~/.config/spaceturtle` and `~/.local/state/spaceturtle` is in two directories of your +machine, under `~/.local/state/spaceturtle/agent`, so it outlasts the zone. + +The model key is yours: put it in `~/.config/spaceturtle-launcher/model-key` (`SPACETURTLE_MODEL_KEY_FILE`) or run `spaceturtle key`. It is given to the session as an environment variable, never as an argument, and sits outside every directory the agent may read. Without it the launcher stops @@ -88,7 +110,8 @@ definition's tools, the agent key's scope and its spending limit are what bound `anthropic`, `openai`, `google` and `mistral`, whose key file holds an API key, and `chatgpt`, a ChatGPT account in place of an API key: its key file holds the account's access token (`docker agent setup` signs in and keeps it as `access_token` in - `~/.config/cagent/chatgpt-auth.json`), which runs out after some days. + `~/.config/cagent/chatgpt-auth.json`), which runs out after some days. For any other + provider, name its host in `SPACETURTLE_MODEL_HOST`. - `spaceturtle timer on|off|interval m|h|d` controls the timer, which starts a session with nobody present (`spaceturtle session --unattended`). `start` turns it on, every 6h, unless you turned it off. The interval counts from when the timer starts, so the first @@ -112,15 +135,18 @@ definition's tools, the agent key's scope and its spending limit are what bound zone image and leaves the wallet's storage as it was. It makes a fresh backup first and stops, changing nothing, if that fails or if the passphrase cannot be read out of the old zone. The passphrase goes from the old zone to the new one through the standard input and - output of `sbx exec`, in the launcher's memory only. `toon init` and the faucet do not run - again. The agent's zone is removed too, so the next `session` uses the newest agent's zone - image; what the agent kept in that zone goes with it, and it gets a new agent key. + output of `msb exec`, in the launcher's memory only. `toon init` and the faucet do not run + again. The images of the apps are pulled again, since they were on the old zone's disk. The + agent's zone is made again too, from the newest agent's zone image, with a new agent key; + what the agent kept in its two directories stays. - `spaceturtle backup` writes a fresh sealed backup to `~/spaceturtle-backup` and says where; the backup already there is replaced only once the new one has arrived whole. It needs the connector's zone running. - `spaceturtle remove [--delete-wallet]` offers a fresh backup (the passphrase goes with the - zone), then removes both zones, the timer's units and the unit that keeps the connector's - zone running, the step markers, the settings and the model key. It keeps the wallet's storage and the backup directory and says where they are. + zone), then removes both zones, what the agent kept, the timer's units and the unit that + keeps the connector's zone running, the step markers, the settings and the model key. It + keeps the wallet's storage and the backup directory and says where they are. It also keeps + microsandbox and the zone images, and names the directory to delete to be rid of them. `--delete-wallet` also deletes the wallet's storage, and only after you type `delete`; anything else, or no input, changes nothing. Nothing ever deletes the backup directory. @@ -149,7 +175,12 @@ With an agent key `toon` 0.2.0 reads status and the connector's log, sends packe peering, sets a route's price, adds and removes apps, publishes events, reads and sends private messages and shows the limit. It does not yet write a route, remove a peering, fund a channel, land vouchers or query a relay with one, so the agent has no tool for those and -you do them: `sbx exec -e TOON_PASSPHRASE_FILE=/home/agent/.config/toon-passphrase st-connector toon route add ...`. +you do them, in the connector's zone: + +```sh +MSB_HOME=~/.local/share/spaceturtle/microsandbox ~/.local/share/spaceturtle/microsandbox/bin/msb \ + exec -e TOON_PASSPHRASE_FILE=/home/agent/.config/toon-passphrase st-connector -- toon route add ... +``` Approving or refusing an app that is not waiting says so and changes nothing. The list is read from the `pending_apps` of `toon status --json`. From bc75cdceec225b30b7656b042c63a691f6ccaf9b Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 07:48:47 -0400 Subject: [PATCH 09/22] Review fixes for zones under microsandbox (#57) - A wall's rule names only a host with a domain: an address, or one of microsandbox's words for a group of addresses, is refused as the model's host and skipped as the connector's. - The ports an Install was made with are kept in the settings, so the units, which carry no environment, use the same ones. - The model key is exported by the shell, not passed through `env`, whose arguments held it for a moment. - upgrade pulls both images before it removes anything. - A new agent's zone that could not be given its key is removed. Co-Authored-By: Claude Opus 5.5 --- docs/development.md | 2 +- docs/guide/launcher.md | 9 ++++--- install.sh | 2 +- spaceturtle | 58 +++++++++++++++++++++++++++++------------- tests/run | 19 +++++++++++--- 5 files changed, 63 insertions(+), 27 deletions(-) diff --git a/docs/development.md b/docs/development.md index f256160..e9c31c0 100644 --- a/docs/development.md +++ b/docs/development.md @@ -28,7 +28,7 @@ without an agent node. | `spaceturtle` | The launcher: `spaceturtle start` brings up the connector's zone on devnet from the connector's zone image (`SPACETURTLE_CONNECTOR_IMAGE`), copying nothing in from the machine, doing only the steps not yet done, with its step markers in `~/.local/state/spaceturtle/launcher`; `start`'s flags choose the network (`--network`, `--evm-rpc-url`, `--evm-chain-id` and the rest of `toon init`'s), kept in `launcher.conf`; `session`, `timer`, `set` and `key` start the agent's sessions, by hand and on a timer, and keep its settings in `~/.config/spaceturtle/launcher.conf`; `waiting`, `approve` and `refuse` list, approve and refuse the apps the agent node holds until the Observer approves them; `start` also makes the agent key once, and `agent-key show`, `replace`, `revoke` and `limit` show, replace, revoke and limit it from outside the agent's zone; `status` shows the timer and the last unattended session, each zone's state, the node's network, its apps and relay, whether the supervisor runs and how many apps wait; `stop`, `upgrade`, `backup` and `remove` stop, replace, back up and remove the Install (`upgrade` carries the passphrase in memory through `msb exec`; `remove` keeps the wallet's storage and the backup directory); `supervise` is what the unit that keeps the connector's zone running runs | | `install.sh` | The one command a person runs first: checks the machine, installs the launcher and the agent definition of a release with a `version` file beside them (the launcher then pulls that release's zone images), links it into `~/.local/bin`, and puts the pinned microsandbox (`msb`), which the zones run in, in `~/.local/share/spaceturtle/microsandbox` | | `agent/spaceturtle.yaml` | The agent's definition for `docker-agent`: its instruction, its file tool and the skills it loads. A release publishes it as it is | -| `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`, the overlay client's proxy line), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | +| `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | | `images/versions.env`, `images/versions` | Every pin the two images add, with its checksum, and the `docker-agent` program a release publishes with; the command that prints the images' versions for release notes | | `.github/workflows/images.yml` | Builds both images on every change to `images/`. It does not publish | | `release/references`, `release/publish-definition`, `release/mark-latest`, `release/notes` | What a release publishes, under which names; the definition pushed to each registry and read back, byte for byte; `latest` moved to a release once it is all published; the release's notes | diff --git a/docs/guide/launcher.md b/docs/guide/launcher.md index eee1ba0..e89621e 100644 --- a/docs/guide/launcher.md +++ b/docs/guide/launcher.md @@ -35,8 +35,8 @@ supervisor's output. The zone is made with two of its ports published on your machine's loopback, `47100` and `47101` (`SPACETURTLE_CONNECTOR_PORT` names the first): the supervisor's orders and the relay TOON app's connector, which is all the agent's zone reaches of the node. The ports are -the zone's from when it is made: to change them, set the variable and run `spaceturtle -upgrade`. An app whose image is not on `toon`'s list of trusted images runs under +the zone's from when it is made, and the launcher keeps them in its settings: to change +them, set the variable and run `spaceturtle upgrade`. An app whose image is not on `toon`'s list of trusted images runs under gVisor: `start` writes `runsc` to the home's `untrusted-runtime`. ## The network @@ -137,8 +137,9 @@ definition's tools, the agent key's scope and its spending limit are what bound zone. The passphrase goes from the old zone to the new one through the standard input and output of `msb exec`, in the launcher's memory only. `toon init` and the faucet do not run again. The images of the apps are pulled again, since they were on the old zone's disk. The - agent's zone is made again too, from the newest agent's zone image, with a new agent key; - what the agent kept in its two directories stays. + agent's zone is made again too, from the newest agent's zone image, with a new agent key + unless you revoked it; what the agent kept in its two directories stays. Both images are + pulled before anything is removed. - `spaceturtle backup` writes a fresh sealed backup to `~/spaceturtle-backup` and says where; the backup already there is replaced only once the new one has arrived whole. It needs the connector's zone running. diff --git a/install.sh b/install.sh index 16a410b..c6e9004 100755 --- a/install.sh +++ b/install.sh @@ -91,7 +91,7 @@ if [[ $("$msb_home/bin/msb" --version 2>/dev/null) != "msb $msb_version" ]]; the echo "$msb_sha256 $tmp/msb.tar.gz" | sha256sum -c - >/dev/null || die "the download of microsandbox is not the release it should be, so it was not installed" mkdir "$tmp/msb" tar -xzf "$tmp/msb.tar.gz" -C "$tmp/msb" || die "the download of microsandbox is not an archive" - lib=$(cd "$tmp/msb" && ls libkrunfw.so.*.*.* 2>/dev/null | head -n 1) + lib=$(cd "$tmp/msb" && ls libkrunfw.so.*.*.* 2>/dev/null | head -n 1) || lib= [[ -s $tmp/msb/msb && -n $lib ]] || die "the download of microsandbox does not hold what it should" mkdir -p "$msb_home/bin" "$msb_home/lib" install -m 0644 "$tmp/msb/$lib" "$msb_home/lib/$lib" diff --git a/spaceturtle b/spaceturtle index 8e9c802..7692772 100755 --- a/spaceturtle +++ b/spaceturtle @@ -39,8 +39,8 @@ # Writes a fresh sealed backup to the backup directory; the earlier one is replaced # only once the new one has arrived whole. Needs the connector's zone running. # spaceturtle remove [--delete-wallet] -# Offers a fresh backup, then removes both zones, the timer's units, the step -# markers, the settings and the model key. Keeps the wallet's storage and the +# Offers a fresh backup, then removes both zones, what the agent kept, the timer's +# units, the step markers, the settings and the model key. Keeps the wallet's storage and the # backup directory. --delete-wallet also deletes the wallet's storage, after the # word "delete" is typed; anything else changes nothing. # @@ -144,7 +144,8 @@ # SPACETURTLE_AGENT_DEF the agent definition (default: agent/spaceturtle.yaml beside this file) # SPACETURTLE_CONNECTOR_PORT the first of the two loopback ports of the machine that lead to the # connector's zone: this one to the supervisor's orders, the next -# to the relay TOON app's connector (default: 47100) +# to the relay TOON app's connector (default: 47100). It is the +# zone's from when it is made, and kept in the settings from then # SPACETURTLE_SUPERVISOR_WAIT how many seconds `start` waits for the supervisor (default: 180) # SPACETURTLE_SYSTEMCTL the systemctl program (default: systemctl) # SPACETURTLE_UNIT_DIR where the timer's units are written (default: ~/.config/systemd/user) @@ -174,8 +175,10 @@ connector_image=${SPACETURTLE_CONNECTOR_IMAGE:-ghcr.io/toon-protocol/spaceturtle agent_zone=${SPACETURTLE_AGENT_ZONE:-st-agent} agent_image=${SPACETURTLE_AGENT_IMAGE:-ghcr.io/toon-protocol/spaceturtle-agent-zone:$image_tag} agent_def=${SPACETURTLE_AGENT_DEF:-$here/agent/spaceturtle.yaml} -connector_port=${SPACETURTLE_CONNECTOR_PORT:-47100} -[[ $connector_port =~ ^[1-9][0-9]{0,4}$ ]] || { echo "spaceturtle: SPACETURTLE_CONNECTOR_PORT must be a port number, not '$connector_port'" >&2; exit 1; } +# The port the Install was made with is kept in the settings, since the units carry no environment. +connector_port=${SPACETURTLE_CONNECTOR_PORT:-$(sed -n 's/^port=//p' "$conf" 2>/dev/null | tail -n 1)} +connector_port=${connector_port:-47100} +[[ $connector_port =~ ^[1-9][0-9]{0,4}$ ]] && (( connector_port < 65535 )) || { echo "spaceturtle: SPACETURTLE_CONNECTOR_PORT must be a port number, not '$connector_port'" >&2; exit 1; } relay_port=$((connector_port + 1)) supervisor_wait=${SPACETURTLE_SUPERVISOR_WAIT:-180} # The agent definition as a session reads it, in a directory the agent's zone mounts read-only. @@ -236,7 +239,8 @@ create_zone() { --mount-dir "$data_dir:/home/agent/.toon/agent-node:$zone_user" \ --mount-owned /var/lib/docker:kind=disk,size=20G --tmpfs /run \ --net public --port "127.0.0.1:$connector_port:17100" --port "127.0.0.1:$relay_port:17101" \ - || die "the connector's zone could not be made; microsandbox says why above. It needs ports $connector_port and $relay_port of this machine: if another program holds one, set SPACETURTLE_CONNECTOR_PORT to the first of two free ports." + || die "the connector's zone could not be made; microsandbox says why above. It needs ports $connector_port and $relay_port of this machine: if another program holds one, set SPACETURTLE_CONNECTOR_PORT to the first of two free ports.${way_back:-}" + conf_set port "$connector_port" } step_zone() { @@ -397,6 +401,10 @@ conf_set() { # name, value valid_interval() { [[ $1 =~ ^[1-9][0-9]*[mhd]$ ]]; } valid_ceiling() { [[ $1 =~ ^([0-9]+(\.[0-9]+)?)$ ]] && [[ $1 =~ [1-9] ]]; } +# A host's name with a domain, which is all a wall's rule may name: an address, or one of +# microsandbox's own words for a group of addresses (public, private, host), is neither. +is_host() { [[ $1 =~ ^([A-Za-z0-9-]+\.)+[A-Za-z]{2,}$ ]]; } + # The provider's host and the variable its key goes in, from the model's name. The host is # empty for a provider the launcher does not know. provider_of() { @@ -411,7 +419,7 @@ provider_of() { *) host= key_var=MODEL_API_KEY ;; esac [[ -z ${SPACETURTLE_MODEL_HOST:-} ]] || host=$SPACETURTLE_MODEL_HOST - [[ $host =~ ^[A-Za-z0-9.-]*$ ]] || die "SPACETURTLE_MODEL_HOST must be a host's name, not '$host'" + [[ -z $host ]] || is_host "$host" || die "SPACETURTLE_MODEL_HOST must be a host's name, such as api.example.com, not '$host'" } need_model_key() { @@ -453,7 +461,10 @@ skill_hosts="api.github.com codeload.github.com" agent_wall() { local h wall="allow@dns,allow@host:tcp:$connector_port,allow@host:tcp:$relay_port" provider_of - for h in $host $(network_connector_host) $skill_hosts; do wall+=",allow@$h:tcp:443"; done + for h in $host $(network_connector_host) $skill_hosts; do + # The connector's host is read from the node's own record, which is not taken on trust. + is_host "$h" && wall+=",allow@$h:tcp:443" + done echo "$wall" } @@ -474,8 +485,10 @@ make_agent_zone() { # the wall --net-strict=false --net-default-egress deny --net-rule "$1" --label "spaceturtle.wall=$1" \ || die "the agent's zone could not be made" # The directories above the mounted ones are made as root's; the agent's own files go beside them. - zexec --no-stdin "$agent_zone" -- sudo chown agent: /home/agent/.config /home/agent/.local /home/agent/.local/state \ - || die "the agent's zone could not be set up" + if ! zexec --no-stdin "$agent_zone" -- sudo chown agent: /home/agent/.config /home/agent/.local /home/agent/.local/state; then + "$msb" remove --force --quiet "$agent_zone" + die "the agent's zone could not be set up" + fi } # A zone whose wall is no longer the one wanted is made again, since a wall cannot be changed. @@ -489,7 +502,9 @@ rewall_agent_zone() { # the wall wanted make_agent_zone "$1" if ! printf '%s\n' "$key" | zexec "$agent_zone" -- sh -c 'umask 077 && mkdir -p "$HOME/.config/toon-agent" && cat > "$HOME/.config/toon-agent/key" && [ -s "$HOME/.config/toon-agent/key" ]'; then key= - die "the agent's zone is made again, but the agent key could not be placed in it. Run 'spaceturtle agent-key replace'." + # A zone with the right wall and no key would be taken for a whole one by the next session. + "$msb" remove --force --quiet "$agent_zone" + die "the agent key could not be placed in the new agent's zone, so that zone is removed. Run 'spaceturtle agent-key replace'." fi key= } @@ -507,11 +522,11 @@ session() { [[ -n $host ]] || die "the launcher does not know the host of '${model%%/*}'. Set SPACETURTLE_MODEL_HOST to it." need_connector local state wall - state=$(zone_state "$agent_zone") - [[ $state != "not created" ]] || die "there is no agent's zone ($agent_zone), so there is no agent key to work with. Run 'spaceturtle agent-key replace' to make both." + [[ $(zone_state "$agent_zone") != "not created" ]] || die "there is no agent's zone ($agent_zone), so there is no agent key to work with. Run 'spaceturtle agent-key replace' to make both." # One session at a time: the zone is stopped when its session ends. mkdir -p "$state_dir" && exec 9>"$state_dir/session.lock" || die "cannot write $state_dir/session.lock" flock -n 9 || die "a session is already running in the agent's zone ($agent_zone). 'spaceturtle stop' ends it." + state=$(zone_state "$agent_zone") write_session_def "$unattended" wall=$(agent_wall) || exit 1 # No program in a zone is given the lock (9>&-), so it is free once this launcher ends. @@ -527,12 +542,15 @@ session() { attach=(--no-stdin) run=(--exec --yolo "$def" "Begin a session: read the waiting Requests and answer them, then do your daily work.") fi - # The key reaches the process by name (-e), never as an argument. + # The key reaches the process by name (-e), never as an argument of any program: it is + # exported by the shell itself, in a subshell that becomes msb. # The agent key's path, not the key, goes in the environment; the file is in the agent's zone. # The agent's zone is its sandbox already, so docker-agent is told not to make another. - env "$key_var=$(<"$key_file")" "TOON_AGENT_KEY=${agent_key_path/\$HOME//home/agent}" \ - "$msb" exec --quiet "${attach[@]}" -e "$key_var" -e TOON_AGENT_KEY \ - "$agent_zone" -- docker-agent run --sandbox=false --model "$model" "${run[@]}" 9>&- + ( + export "$key_var=$(<"$key_file")" "TOON_AGENT_KEY=${agent_key_path/\$HOME//home/agent}" + exec "$msb" exec --quiet "${attach[@]}" -e "$key_var" -e TOON_AGENT_KEY \ + "$agent_zone" -- docker-agent run --sandbox=false --model "$model" "${run[@]}" + ) 9>&- } # --- the timer: a systemd user timer that runs an unattended session --- @@ -947,6 +965,12 @@ cmd_upgrade() { make_backup || die "the backup failed, so nothing was changed." pass=$(zexec --no-stdin "$zone" -- sh -c 'cat "$HOME/.config/toon-passphrase"') && [[ -n $pass ]] \ || die "the passphrase could not be read out of the old zone, so nothing was changed." + # Both images are here before anything is removed: the passphrase is in memory alone from then on. + if [[ $pull == always ]]; then + "$msb" pull --quiet "$connector_image" && "$msb" pull --quiet "$agent_image" \ + || die "the newest zone images could not be pulled, so nothing was changed." + fi + way_back=" The old zone is removed, and the backup at $backup_dir/wallet-backup is the way back." say "replacing the connector's zone ($zone)" if [[ $(zone_state "$agent_zone") != "not created" ]]; then "$msb" remove --force --quiet "$agent_zone" || die "the agent's zone ($agent_zone) could not be removed" diff --git a/tests/run b/tests/run index eb8eeab..db50e6b 100755 --- a/tests/run +++ b/tests/run @@ -1092,6 +1092,9 @@ launcher_check "a unit keeps the supervisor running: it is started again when it : > "$STUB_DIR/calls"; SPACETURTLE_CONNECTOR_PORT=9000 run_launcher; rc=$? [[ $rc -ne 0 ]] && grep -q '7123 and 7124' "$tmp/out" && grep -q 'spaceturtle upgrade' "$tmp/out" && ! grep -qE '^create |toon ' "$STUB_DIR/calls" launcher_check "a zone made with other ports is not used with new ones, and the run says how to change them" $? +launcher_env; SPACETURTLE_CONNECTOR_PORT=9000 run_launcher; echo secret-key-123 > "$SPACETURTLE_MODEL_KEY_FILE"; (unset SPACETURTLE_CONNECTOR_PORT; "$root/spaceturtle" session --unattended > "$tmp/out" 2>&1); rc=$? +[[ $rc -eq 0 && $(<"$STUB_DIR/agent-wall") == "allow@dns,allow@host:tcp:9000,allow@host:tcp:9001,"* ]] && ! grep -qE '^remove ' "$STUB_DIR/calls"; launcher_check "the ports an Install was made with are kept with it, for the units, which have no environment" $? +SPACETURTLE_CONNECTOR_PORT=65535 run_launcher; [[ $? -ne 0 ]]; launcher_check "a port with no port after it is refused" $? launcher_env; run_launcher; echo "zone-x stopped" > "$STUB_DIR/zones"; rm "$STUB_DIR/up"; : > "$STUB_DIR/calls"; "$root/spaceturtle" supervise > "$tmp/out" 2>&1 a=$(line_no '^start --quiet zone-x$'); b=$(line_no 'exec connector-start'); [[ -n $a && -n $b && $a -lt $b ]] && ! grep -q '^create ' "$STUB_DIR/calls" launcher_check "what the unit runs starts a stopped zone, then the supervisor in it" $? @@ -1283,8 +1286,14 @@ session_env; run_cmd set model other/model-x; run_cmd session; rc=$? [[ $rc -ne 0 && -z $(session_run) ]] && grep -q 'SPACETURTLE_MODEL_HOST' "$tmp/out"; launcher_check "a provider the launcher does not know needs its host named" $? SPACETURTLE_MODEL_HOST=models.example.test run_cmd session; rc=$? [[ $rc -eq 0 && $(<"$STUB_DIR/agent-wall") == "$BASE_WALL,allow@models.example.test:tcp:443,$SKILL_WALL" && $(session_run) == *"-e MODEL_API_KEY "* ]]; launcher_check " and with it named, the wall holds that host" $? -SPACETURTLE_MODEL_HOST='x.test,allow@public' run_cmd session; rc=$? -[[ $rc -ne 0 ]] && ! grep -q 'allow@public' "$STUB_DIR/agent-wall"; launcher_check "a host that is not a host's name does not reach the wall" $? +for not_a_host in 'x.test,allow@public' public host 192.168.1.1; do + SPACETURTLE_MODEL_HOST=$not_a_host run_cmd session; rc=$? + [[ $rc -ne 0 ]] && ! grep -qE 'allow@(public|host:tcp:443|192)' "$STUB_DIR/agent-wall"; launcher_check "'$not_a_host', which is not a host's name, does not reach the wall" $? +done +session_env; echo "https://public/ilp" > "$STUB_DIR/connector-url"; run_cmd session; rc=$? +[[ $rc -eq 0 ]] && ! grep -q 'allow@public' "$STUB_DIR/agent-wall"; launcher_check "a node's record that names a group of addresses as its connector adds no rule" $? +session_env; ps_seen=$tmp/ps-seen; ( for _ in $(seq 200); do cat /proc/[0-9]*/cmdline 2>/dev/null | tr '\0' ' ' | grep -q secret-key-123 && : > "$ps_seen"; done ) & run_cmd session; run_cmd session; kill $! 2>/dev/null; wait 2>/dev/null +[[ ! -e $ps_seen ]]; launcher_check "the model key is no program's argument on the way" $? session_env; echo "https://connector.example.test/ilp" > "$STUB_DIR/connector-url"; run_cmd session [[ $(<"$STUB_DIR/agent-wall") == *",allow@connector.example.test:tcp:443,"* ]]; launcher_check "the agent's zone may reach the connector of the node's network, to seal a packet to it" $? session_env; echo "http://abcdef.anyone/ilp" > "$STUB_DIR/connector-url"; run_cmd session; rc=$? @@ -1388,9 +1397,9 @@ u=$(grep -n 'disable --now spaceturtle-connector.service' "$STUB_DIR/systemctl-c launcher_check "stop turns off the unit that would start the zone again" $? sed -i '/^agent-x /d' "$STUB_DIR/zones"; echo "agent-x running" >> "$STUB_DIR/zones"; : > "$STUB_DIR/calls"; echo "zone-x running" >> "$STUB_DIR/zones"; sed -i '/^zone-x stopped/d' "$STUB_DIR/zones"; run_cmd stop grep -q '^stop .*agent-x$' "$STUB_DIR/calls"; launcher_check "stop ends a session in the agent's zone" $? -up_env; run_cmd stop; : > "$STUB_DIR/calls"; : > "$STUB_DIR/systemctl-calls"; run_launcher; rc=$? +up_env; echo secret-id > "$SPACETURTLE_DATA_DIR/identity"; run_cmd stop; : > "$STUB_DIR/calls"; : > "$STUB_DIR/systemctl-calls"; run_launcher; rc=$? [[ $rc -eq 0 ]] && grep -q '^start --quiet zone-x$' "$STUB_DIR/calls" && ! grep -qE '^create |toon init|toon wallet fund' "$STUB_DIR/calls" && grep -q connector-start "$STUB_DIR/calls" \ - && grep -q 'enable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'enable spaceturtle-connector.service' "$STUB_DIR/systemctl-calls" && [[ $(<"$SPACETURTLE_DATA_DIR/identity") == secret-id ]] 2>/dev/null || [[ ! -e $SPACETURTLE_DATA_DIR/identity ]]; launcher_check "start after stop starts the zone and the supervisor, creates and funds nothing, and turns the timer and the unit on" $? + && grep -q 'enable --now spaceturtle.timer' "$STUB_DIR/systemctl-calls" && grep -q 'enable spaceturtle-connector.service' "$STUB_DIR/systemctl-calls" && [[ $(<"$SPACETURTLE_DATA_DIR/identity") == secret-id ]]; launcher_check "start after stop starts the zone and the supervisor, creates and funds nothing, and turns the timer and the unit on" $? up_env; run_cmd timer off; run_cmd stop; : > "$STUB_DIR/systemctl-calls"; run_launcher ! grep -q 'enable.*spaceturtle.timer' "$STUB_DIR/systemctl-calls"; launcher_check "start after stop leaves a timer that was off, off" $? up_env; rm "$STUB_DIR/zones"; run_cmd stop; rc=$? @@ -1418,6 +1427,8 @@ launcher_check "upgrade stops the unit before the zone goes, starts it for the n [[ $(<"$STUB_DIR/stdin") == "$PASS_TEXT" ]]; launcher_check "the passphrase reaches the new zone through standard input" $? ! grep -rqF "$PASS_TEXT" "$STUB_DIR/calls" "$STUB_DIR/systemctl-calls" "$tmp/out" && ! grep -rlF "$PASS_TEXT" "$tmp" /tmp --exclude-dir="$(basename "$STUB_DIR")" --exclude-dir=claude-\* 2>/dev/null | grep -q .; launcher_check "the passphrase is in no argument, output or file on the machine" $? grep -q '^remove .*agent-x$' "$STUB_DIR/calls"; launcher_check "upgrade clears the agent's zone so the next session uses the newest image" $? +upg_env; echo "pull --quiet" > "$STUB_DIR/fail-on"; run_cmd upgrade; rc=$? +[[ $rc -ne 0 ]] && grep -q 'nothing was changed' "$tmp/out" && ! grep -q '^remove ' "$STUB_DIR/calls"; launcher_check "upgrade that cannot pull the newest images removes nothing" $? upg_env; echo "copy --quiet zone-x" > "$STUB_DIR/fail-on"; run_cmd upgrade; rc=$? [[ $rc -ne 0 ]] && ! grep -q '^remove ' "$STUB_DIR/calls"; launcher_check "upgrade with a failing backup removes nothing" $? upg_env; echo 'cat "$HOME/.config/toon-passphrase"' > "$STUB_DIR/fail-on"; run_cmd upgrade; rc=$? From e1cf10cb35cbb569956eabbadc3fbaf87682c374 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 07:52:26 -0400 Subject: [PATCH 10/22] The stub's zone listing parses under jq 1.7 (#57) Co-Authored-By: Claude Opus 5.5 --- tests/run | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/run b/tests/run index db50e6b..6559e7f 100755 --- a/tests/run +++ b/tests/run @@ -1004,7 +1004,7 @@ STUB echo "$*" >> "$STUB_DIR/calls" name=${@: -1} [[ $1 == ls ]] && { [[ -e $STUB_DIR/broken ]] && exit 1 - jq -Rn '[reduce (inputs | split(" ")) as $l ({}; .[$l[0]] = $l[1]) | to_entries[] | {name: .key, status: (.value[0:1] | ascii_upcase) + .value[1:]}]' "$STUB_DIR/zones" 2>/dev/null || echo '[]'; exit 0; } + jq -Rn '[reduce (inputs | split(" ")) as $l ({}; .[$l[0]] = $l[1]) | to_entries[] | {name: .key, status: ((.value[0:1] | ascii_upcase) + .value[1:])}]' "$STUB_DIR/zones" 2>/dev/null || echo '[]'; exit 0; } [[ -r $STUB_DIR/fail-on && $* == *"$(cat "$STUB_DIR/fail-on")"* ]] && exit 1 [[ $1 == inspect && $2 == agent-x ]] && { jq -n --arg w "$(cat "$STUB_DIR/agent-wall" 2>/dev/null)" '{config: {labels: {"spaceturtle.wall": $w}}}'; exit 0; } [[ $1 == inspect ]] && { jq -Rn '{config: {network: {ports: [inputs | {host_port: tonumber}]}}}' "$STUB_DIR/ports" 2>/dev/null; exit 0; } From 97c039b048cc6e6335c1a745d596261030aa94c6 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 08:03:40 -0400 Subject: [PATCH 11/22] The check that the model key is no argument cannot see itself (#57) Co-Authored-By: Claude Opus 5.5 --- tests/run | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/run b/tests/run index 6559e7f..e0d627d 100755 --- a/tests/run +++ b/tests/run @@ -1292,8 +1292,10 @@ for not_a_host in 'x.test,allow@public' public host 192.168.1.1; do done session_env; echo "https://public/ilp" > "$STUB_DIR/connector-url"; run_cmd session; rc=$? [[ $rc -eq 0 ]] && ! grep -q 'allow@public' "$STUB_DIR/agent-wall"; launcher_check "a node's record that names a group of addresses as its connector adds no rule" $? -session_env; ps_seen=$tmp/ps-seen; ( for _ in $(seq 200); do cat /proc/[0-9]*/cmdline 2>/dev/null | tr '\0' ' ' | grep -q secret-key-123 && : > "$ps_seen"; done ) & run_cmd session; run_cmd session; kill $! 2>/dev/null; wait 2>/dev/null -[[ ! -e $ps_seen ]]; launcher_check "the model key is no program's argument on the way" $? +# An `env` that records its arguments stands first on the path: a key handed to a program that way would be in them. +session_env; printf '#!/bin/bash\necho "$*" >> "$STUB_DIR/env-calls"\nexec /usr/bin/env "$@"\n' > "$tmp/bin/env"; chmod +x "$tmp/bin/env" +PATH=$tmp/bin:$PATH run_cmd session; rc=$?; PATH=$tmp/bin:$PATH run_cmd session --unattended +[[ $rc -eq 0 ]] && ! grep -q secret-key-123 "$STUB_DIR/env-calls" "$STUB_DIR/calls" 2>/dev/null; launcher_check "the model key is no program's argument on the way to the zone" $? session_env; echo "https://connector.example.test/ilp" > "$STUB_DIR/connector-url"; run_cmd session [[ $(<"$STUB_DIR/agent-wall") == *",allow@connector.example.test:tcp:443,"* ]]; launcher_check "the agent's zone may reach the connector of the node's network, to seal a packet to it" $? session_env; echo "http://abcdef.anyone/ilp" > "$STUB_DIR/connector-url"; run_cmd session; rc=$? From 16b4e8999e07d884710176d43ba58751ae6ec7c7 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 08:13:36 -0400 Subject: [PATCH 12/22] microsandbox's home is short enough for its sockets (#57) microsandbox refuses a home of more than 54 characters, and the default was 59 for a user name of twelve. It is now ~/.local/share/spaceturtle/msb, gives way to ~/.spaceturtle-msb when that is still too long, and the launcher and the installer say the limit before anything is made. Co-Authored-By: Claude Opus 5.5 --- docs/development.md | 2 +- docs/guide/first-run.md | 2 +- docs/guide/launcher.md | 7 ++++--- install.sh | 7 +++++-- spaceturtle | 9 +++++++-- tests/run | 5 +++++ 6 files changed, 23 insertions(+), 9 deletions(-) diff --git a/docs/development.md b/docs/development.md index e9c31c0..9b87032 100644 --- a/docs/development.md +++ b/docs/development.md @@ -26,7 +26,7 @@ without an agent node. | `skills/being-observed/SKILL.md` | The agent's skill: the public key file, the Persona (creating, reading and living by it, renaming the relay), reading the Requests, answering them, writing a Renderer for a kind | | `request` | Writes a Request into the queue, or withdraws a waiting one | | `spaceturtle` | The launcher: `spaceturtle start` brings up the connector's zone on devnet from the connector's zone image (`SPACETURTLE_CONNECTOR_IMAGE`), copying nothing in from the machine, doing only the steps not yet done, with its step markers in `~/.local/state/spaceturtle/launcher`; `start`'s flags choose the network (`--network`, `--evm-rpc-url`, `--evm-chain-id` and the rest of `toon init`'s), kept in `launcher.conf`; `session`, `timer`, `set` and `key` start the agent's sessions, by hand and on a timer, and keep its settings in `~/.config/spaceturtle/launcher.conf`; `waiting`, `approve` and `refuse` list, approve and refuse the apps the agent node holds until the Observer approves them; `start` also makes the agent key once, and `agent-key show`, `replace`, `revoke` and `limit` show, replace, revoke and limit it from outside the agent's zone; `status` shows the timer and the last unattended session, each zone's state, the node's network, its apps and relay, whether the supervisor runs and how many apps wait; `stop`, `upgrade`, `backup` and `remove` stop, replace, back up and remove the Install (`upgrade` carries the passphrase in memory through `msb exec`; `remove` keeps the wallet's storage and the backup directory); `supervise` is what the unit that keeps the connector's zone running runs | -| `install.sh` | The one command a person runs first: checks the machine, installs the launcher and the agent definition of a release with a `version` file beside them (the launcher then pulls that release's zone images), links it into `~/.local/bin`, and puts the pinned microsandbox (`msb`), which the zones run in, in `~/.local/share/spaceturtle/microsandbox` | +| `install.sh` | The one command a person runs first: checks the machine, installs the launcher and the agent definition of a release with a `version` file beside them (the launcher then pulls that release's zone images), links it into `~/.local/bin`, and puts the pinned microsandbox (`msb`), which the zones run in, in `~/.local/share/spaceturtle/msb` | | `agent/spaceturtle.yaml` | The agent's definition for `docker-agent`: its instruction, its file tool and the skills it loads. A release publishes it as it is | | `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | | `images/versions.env`, `images/versions` | Every pin the two images add, with its checksum, and the `docker-agent` program a release publishes with; the command that prints the images' versions for release notes | diff --git a/docs/guide/first-run.md b/docs/guide/first-run.md index 296a133..cfcae46 100644 --- a/docs/guide/first-run.md +++ b/docs/guide/first-run.md @@ -35,7 +35,7 @@ nothing if something is missing. Then it: - puts the launcher and the agent definition of the latest release in `~/.local/share/spaceturtle/launcher`, and links `spaceturtle` into `~/.local/bin`; - puts [microsandbox](https://github.com/superradcompany/microsandbox), which the zones run - in, in `~/.local/share/spaceturtle/microsandbox`, at the version the launcher is tested + in, in `~/.local/share/spaceturtle/msb`, at the version the launcher is tested with and checked against its checksum. It is a program and a library in that directory, and nothing else of your machine is changed; - says what to run next. It starts nothing. diff --git a/docs/guide/launcher.md b/docs/guide/launcher.md index e89621e..9afb949 100644 --- a/docs/guide/launcher.md +++ b/docs/guide/launcher.md @@ -5,8 +5,9 @@ and says why, when the machine has no KVM, you may not use it, or microsandbox i A zone is a virtual machine under [microsandbox](https://github.com/superradcompany/microsandbox) (`msb`), which needs KVM and nothing else: no account, no root and no service of its own. -`install.sh` puts a copy of it in `~/.local/share/spaceturtle/microsandbox` -(`SPACETURTLE_MSB_HOME`), at the version the launcher is tested with. That directory holds +`install.sh` puts a copy of it in `~/.local/share/spaceturtle/msb` +(`SPACETURTLE_MSB_HOME`; `~/.spaceturtle-msb` when that path is more than 54 characters +long, which microsandbox refuses), at the version the launcher is tested with. That directory holds the zones and their images too, and is spaceturtle's alone: a microsandbox you use yourself does not see them. @@ -179,7 +180,7 @@ a channel, land vouchers or query a relay with one, so the agent has no tool for you do them, in the connector's zone: ```sh -MSB_HOME=~/.local/share/spaceturtle/microsandbox ~/.local/share/spaceturtle/microsandbox/bin/msb \ +MSB_HOME=~/.local/share/spaceturtle/msb ~/.local/share/spaceturtle/msb/bin/msb \ exec -e TOON_PASSPHRASE_FILE=/home/agent/.config/toon-passphrase st-connector -- toon route add ... ``` diff --git a/install.sh b/install.sh index c6e9004..48cfc34 100755 --- a/install.sh +++ b/install.sh @@ -6,7 +6,7 @@ # It checks the machine first and changes nothing if something is missing. Then it puts the # launcher and the agent definition of one release in ~/.local/share/spaceturtle/launcher, # links `spaceturtle` into ~/.local/bin, and puts microsandbox (`msb`), which the zones run -# in, in ~/.local/share/spaceturtle/microsandbox: a copy that is spaceturtle's alone, at the +# in, in ~/.local/share/spaceturtle/msb: a copy that is spaceturtle's alone, at the # version the launcher is tested with. The launcher it installs pulls the zone images of that # same release. It needs no account, asks for none and starts nothing: it ends by saying # what to run next. @@ -24,7 +24,9 @@ repo=toon-protocol/spaceturtle dir=${SPACETURTLE_INSTALL_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/spaceturtle/launcher} bin=${SPACETURTLE_BIN_DIR:-$HOME/.local/bin} kvm=${SPACETURTLE_KVM:-/dev/kvm} -msb_home=${SPACETURTLE_MSB_HOME:-${XDG_DATA_HOME:-$HOME/.local/share}/spaceturtle/microsandbox} +# As the launcher finds it: microsandbox refuses a home of more than 54 characters. +msb_home=${SPACETURTLE_MSB_HOME:-${XDG_DATA_HOME:-$HOME/.local/share}/spaceturtle/msb} +(( ${#msb_home} <= 54 )) || [[ -n ${SPACETURTLE_MSB_HOME:-} ]] || msb_home=$HOME/.spaceturtle-msb systemctl_=${SPACETURTLE_SYSTEMCTL:-systemctl} curl_=${SPACETURTLE_CURL:-curl} # microsandbox, pinned: the release the launcher is tested with. The checksum is the one the @@ -41,6 +43,7 @@ lacking=() if [[ ! -e $kvm ]]; then lacking+=("KVM ($kvm): turn on virtualisation in the firmware (VT-x or AMD-V) and load the kvm module") elif [[ ! -r $kvm || ! -w $kvm ]]; then lacking+=("the right to use KVM ($kvm): run 'sudo usermod -aG kvm \$USER', then sign out and in again") fi +(( ${#msb_home} <= 54 )) || lacking+=("a shorter home for microsandbox than $msb_home: set SPACETURTLE_MSB_HOME to a directory of 54 characters or fewer") # microsandbox is built against the GNU C library. getconf GNU_LIBC_VERSION >/dev/null 2>&1 || lacking+=("the GNU C library (glibc 2.28 or newer), which microsandbox needs") command -v "$systemctl_" >/dev/null 2>&1 || lacking+=("systemd, for the user units that keep the Install running") diff --git a/spaceturtle b/spaceturtle index 7692772..2c7da16 100755 --- a/spaceturtle +++ b/spaceturtle @@ -122,7 +122,8 @@ # # Environment, so that tests can run against a temporary home: # SPACETURTLE_MSB_HOME microsandbox's home, which holds the zones and their images and -# is spaceturtle's alone (default: ~/.local/share/spaceturtle/microsandbox) +# is spaceturtle's alone (default: ~/.local/share/spaceturtle/msb, or +# ~/.spaceturtle-msb when that is more than 54 characters long) # SPACETURTLE_MSB the msb program (default: bin/msb in that home, where install.sh puts it) # SPACETURTLE_PULL when a zone image is pulled: always, if-missing or never (default: # if-missing for `start`, always for `upgrade`) @@ -151,7 +152,10 @@ # SPACETURTLE_UNIT_DIR where the timer's units are written (default: ~/.config/systemd/user) set -uo pipefail -msb_home=${SPACETURTLE_MSB_HOME:-${XDG_DATA_HOME:-$HOME/.local/share}/spaceturtle/microsandbox} +# microsandbox keeps a socket for each zone under its home, and a socket's path is short: a +# home of more than 54 characters is refused, so a long data directory gives way to one in $HOME. +msb_home=${SPACETURTLE_MSB_HOME:-${XDG_DATA_HOME:-$HOME/.local/share}/spaceturtle/msb} +(( ${#msb_home} <= 54 )) || [[ -n ${SPACETURTLE_MSB_HOME:-} ]] || msb_home=$HOME/.spaceturtle-msb msb=${SPACETURTLE_MSB:-$msb_home/bin/msb} # The zones and their images are kept apart from any microsandbox the person uses themselves. export MSB_HOME=$msb_home @@ -215,6 +219,7 @@ in_zone() { zexec --no-stdin "$zone" -- sh -c "export TOON_PASSPHRASE_FILE=\$HOM preflight() { [[ -e $kvm ]] || die "this machine has no KVM ($kvm), and a zone is a virtual machine. Turn on virtualisation in the firmware (VT-x or AMD-V) and load the kvm module, or use a machine that has it." [[ -r $kvm && -w $kvm ]] || die "you may not use KVM ($kvm). Run 'sudo usermod -aG kvm \$USER', sign out and in again, then run it again." + (( ${#msb_home} <= 54 )) || die "microsandbox's home, $msb_home, is ${#msb_home} characters long, and it keeps sockets there whose paths must be short. Set SPACETURTLE_MSB_HOME to a directory of 54 characters or fewer." command -v "$msb" >/dev/null 2>&1 || die "microsandbox is not installed at $msb. Run spaceturtle's install.sh, which puts it there, then run it again." "$msb" ls >/dev/null 2>&1 || die "microsandbox does not run on this machine. '$msb doctor' says why." } diff --git a/tests/run b/tests/run index e0d627d..20482e6 100755 --- a/tests/run +++ b/tests/run @@ -1137,6 +1137,11 @@ if [[ $EUID -ne 0 ]]; then fi launcher_env; touch "$STUB_DIR/broken"; run_launcher; rc=$? [[ $rc -ne 0 ]] && grep -q 'doctor' "$tmp/out" && ! grep -qE '^(create|exec|copy|start)' "$STUB_DIR/calls"; launcher_check "with a microsandbox that does not run it stops before doing anything, and says how to learn why" $? +launcher_env; SPACETURTLE_MSB_HOME=$tmp/$(printf 'h%.0s' {1..60}) run_launcher; rc=$? +[[ $rc -ne 0 ]] && grep -q '54 characters' "$tmp/out" && [[ ! -e $STUB_DIR/calls ]]; launcher_check "with a home microsandbox would refuse as too long it stops before doing anything, and says the limit" $? +launcher_env; (unset SPACETURTLE_MSB SPACETURTLE_MSB_HOME; HOME=/home/u XDG_DATA_HOME=/$(printf 'd%.0s' {1..50}) "$root/spaceturtle" status > "$tmp/out" 2>&1) +grep -q 'not installed at /home/u/.spaceturtle-msb/bin/msb' "$tmp/out" +launcher_check "a data directory too long for microsandbox gives way to a home for it in the home directory" $? launcher_env; SPACETURTLE_MSB=$tmp/bin/missing run_launcher; rc=$? [[ $rc -ne 0 ]] && grep -qi 'not installed' "$tmp/out" && grep -q 'install.sh' "$tmp/out" \ && [[ ! -e $SPACETURTLE_STATE_DIR/launcher && ! -e $SPACETURTLE_DATA_DIR && ! -e $SPACETURTLE_BACKUP_DIR ]]; launcher_check "with microsandbox missing it stops before doing anything, with cause and remedy" $? From 6d368326c01bc22d6b7d0c1ad6688f7f5edf7524 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 08:15:07 -0400 Subject: [PATCH 13/22] The README presents an agent and its harness, not a panel (#57) The install line leads, a table says what the harness gives the agent, and the panel is the optional part it now is. The panel's GIF goes: it showed the old shape. Co-Authored-By: Claude Opus 5.5 --- README.md | 51 ++++++++++++++++++++++----------- docs/assets/panel-activity.gif | Bin 1497701 -> 0 bytes docs/guide/watching.md | 4 --- 3 files changed, 34 insertions(+), 21 deletions(-) delete mode 100644 docs/assets/panel-activity.gif diff --git a/README.md b/README.md index 324d6a8..7e43e40 100644 --- a/README.md +++ b/README.md @@ -7,32 +7,35 @@ # spaceturtle -**An agent that lives on the TOON network, for `docker-agent`.** +**An agent that lives on the TOON network, and the harness that keeps it running.** *It holds no key that pays.* spaceturtle runs a node on TOON, earns from the apps it runs -and pays for the ones it uses. The first run is on devnet and costs nothing. +and pays for the ones it uses. One line installs it, with no root and no account. [![Release](https://img.shields.io/github/v/release/toon-protocol/spaceturtle?style=flat-square&color=c9a24a&label=release)](https://github.com/toon-protocol/spaceturtle/releases) [![CI](https://img.shields.io/github/actions/workflow/status/toon-protocol/spaceturtle/ci.yml?branch=main&style=flat-square&label=ci)](https://github.com/toon-protocol/spaceturtle/actions/workflows/ci.yml) [![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE) -[**First run**](docs/guide/first-run.md) · [**Concepts**](docs/guide/concepts.md) · [**The launcher**](docs/guide/launcher.md) · [**The panel**](#the-panel) · [**Agent skills**](#agent-skills) · [**Guides**](#guides) · [**Development**](docs/development.md) +[**First run**](docs/guide/first-run.md) · [**Concepts**](docs/guide/concepts.md) · [**The harness**](#the-harness) · [**The launcher**](docs/guide/launcher.md) · [**Agent skills**](#agent-skills) · [**Guides**](#guides) · [**Development**](docs/development.md) ```sh -spaceturtle start +curl -fsSL https://raw.githubusercontent.com/toon-protocol/spaceturtle/main/install.sh | bash ``` --- -spaceturtle is an agent for [`docker-agent`](https://docs.docker.com/ai/docker-agent/). It -runs an **agent node** on [TOON](https://github.com/toon-protocol/toon_cli), an open mesh of -hidden services where agents talk, work together and pay each other. The node carries a -relay, where agents post and reply, and the apps the agent chooses to run. +spaceturtle is an agent and the harness it runs in. The agent runs an **agent node** on +[TOON](https://github.com/toon-protocol/toon_cli), an open mesh of hidden services where +agents talk, work together and pay each other. The node carries a relay, where agents post +and reply, and the apps the agent chooses to run. The harness is one program, the +**launcher**: it makes the Install, starts the agent's sessions by hand and on a timer, and +keeps the agent away from the money. The agent itself is a definition for +[`docker-agent`](https://docs.docker.com/ai/docker-agent/), on the model you choose. The +first run is on devnet and costs nothing. ```sh -curl -fsSL https://raw.githubusercontent.com/toon-protocol/spaceturtle/main/install.sh | bash spaceturtle start # the connector's zone, a funded devnet wallet, the agent key, a backup spaceturtle key # your model provider's key, read from the terminal without showing it spaceturtle session # a docker-agent session in the agent's zone @@ -43,7 +46,8 @@ spaceturtle status # the timer, the zones, the apps, and whether the relay `~/.local/share/spaceturtle/launcher` with a link in `~/.local/bin`, and puts [microsandbox](https://github.com/superradcompany/microsandbox), which the zones run in, beside it. It needs no root and no account, and starts nothing. -[The first run](docs/guide/first-run.md) lists what to have ready. +[The first run](docs/guide/first-run.md) lists what to have ready: a Linux machine with +KVM, systemd, and a model provider's key. ## Why it exists @@ -107,6 +111,21 @@ cannot do; [`CONTEXT.md`](CONTEXT.md) is the full glossary. | The **connector's zone** | The wallet and every key that pays or settles. Runs the connector and the supervisor; the only zone that must stay running. | | An **app's zone**, one per app | Nothing of the wallet. Runs one app, alone; it cannot reach another app's zone. | +## The harness + +What the launcher gives the agent, and you: + +| Part | What it does | +| --- | --- | +| [Sessions](docs/guide/launcher.md) | `spaceturtle session` is a conversation with the agent. The timer starts one every 6 hours with nobody present, in which the agent reads your Requests and does its daily work | +| [A model of your choice](docs/guide/launcher.md) | Anthropic, OpenAI, Google or Mistral by API key, or a ChatGPT account. The key is yours, and sits where the agent cannot read it | +| [A ceiling on cost](docs/guide/launcher.md) | An unattended session stops when its model cost reaches the ceiling you set | +| [A wall](docs/guide/launcher.md) | The agent's zone reaches its node, its model and the hosts its skills come from, and is refused everything else, your machine and your network included | +| [Tools that cannot pay unasked](agent/spaceturtle.yaml) | Each tool is one fixed `toon` command, signed with the agent key and carried out only within its scope and spending limit | +| [Skills](#agent-skills) | What the agent knows how to do, loaded when a session needs it | +| [Notes that last](docs/guide/launcher.md) | What the agent keeps is in two directories of your machine, so it outlasts an upgrade | +| [Staying up](docs/guide/launcher.md) | systemd user units bring the node back when your machine restarts, and start the supervisor again if it ends | + ## The launcher | Command | What it does | @@ -127,12 +146,9 @@ cannot do; [`CONTEXT.md`](CONTEXT.md) is the full glossary. ## The panel -On Omarchy you can also watch the agent from the bar: a turtle in the bar, and a panel that -opens on what the agent did. The panel only watches, and an Install runs without it. - -

- The turtle in the Omarchy bar has a dot, and the panel opens to show what the agent did -

+spaceturtle began as this panel, and it is now optional. On Omarchy you can watch the agent +from the bar: a turtle in the bar, and a panel that opens on what the agent did. The panel +only watches, and an Install runs without it. ```sh omarchy plugin add https://github.com/toon-protocol/spaceturtle.git --enable @@ -146,7 +162,8 @@ sections, Requests and the keys. ## Agent skills One skill teaches an agent that it is being watched. Without it the agent does not know your -Requests exist. +Requests exist. The agent definition names it, so an Install has it already; this adds it to +another agent. ```sh npx skills add toon-protocol/spaceturtle diff --git a/docs/assets/panel-activity.gif b/docs/assets/panel-activity.gif deleted file mode 100644 index 88268044d07e16c576a731e0dffdad279077d203..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1497701 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%0D5G4n#$}R;yeNxgo7q6WtMUkV-P#+|K%C>Eu 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
NM}e^!Koh^vp@dBylw7 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
)pS8C}?|+@AHvIi7m^9KB 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

XJP->nRW2^F&4ZArL#vdLW#@Be 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

^{0F?n13Uokuu#iYTt_Z+s97=;d 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 vsA&>4-Evw|XZR2VIWBSo-@!6d?@g!GpVwp!y` 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

|N`cQ2Ebl=-MtGh{e>kL@5`T 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

hg=r(H;EvL0srB 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≈us|8LkPFYQpZO|4;Q#$L4r;N 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 z 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 guJN5pNpEUTr$~)s*D}_NaIkJFpw_t+7MG8&8Iq zhEg0pU>r=0whT@T5Ggkys7mU%ff{sE*!!`T?209Pf%^Fr3`!G`6@g{xo?Lm4A|M&p zWXUH=!o>y3}b z0>!NETE8%;HL$Y#pnU0$G3VTSP?qhZ?TA@#?X_TirZq1DPv`siCVfBZuKDl5T^6yh zB)567(36H1pKMf5K`!cx3^rSf(YNVV@l8+i#?`)-JjN1EMen83H-tNpU%%YS$U@x7=R2C^U4Hngr|pIB zYrhae6f`k%8u!_IYtTMCmweQQnmudC43^-g%N+LICM}Tfl}Gx67l5`^ux?FDDN`IX z$d&6u^7=+X@6Tb&OBtSHTVsU>?)XBF!iioTGDc+fI#Y>r0O`&{W_plA-u0i0I+=TB zpYG`dL_5Li;x}=*TJd>~+9G4lD^K`OL*vxG{&FePnP?f=V9;F2vuCn2N_(9|J35+I zY(^!@lj`TEoS)7XGVSF}Alo2BV}j=Of}UWRHf41m*n(cAN3xeZdt$pw1(>UbfsG99 zdiTueD{?k7b=dMY;sE@VR|)Ot$bh}RGt#vItt?`KL z!QiZS!pn4n%T6mXrFkw?N*kW%Hbc5o9B_z>R|ZZ_K-^l7)^Rtv9KJN-o38!J(q8Z2 zrz2<6qC0e$U;8e6PBw6(gxX?p+&F z!pPg{3H1s&%hEHdCrL6WL8*!4I_@Wt_ZR(%EegxOT^AZn7<$R2Vxgj2XqaYrJoP{cEk8CD{vzCods5&gc|6IR zk7$H^@t-_-VLyc8WMxntnUds=_G5zJAc2^E4g%3OptQs>3s48>09fbyIj<+s7umjh za5@Md$F4iHp%Db-p2cpexAm?v_d?X^K(EG|ZyYD%9;@U=@)$MHF02D&!oj1<6M`Mh(%9&Qt|dbR#sGNF$&S0#!ry zirq@Dri-8uEu@&YO*2!vuC75pg{D`b%ZYu0+jAN1w&i_d2MXCF`tI=du_codDX0K? zns~G@3I%ecnSp8FuRx>|V>z>eGUMAL)yqOVxY#Itr7iGq3S!DrnxOR1#B!?b-NZH# z+59dfnC1qq>Zd?txajwd_iHCQR%{wVnvBuh2}lTcXv$><$1V%PEx(s50xKyF86Ouy zgHu@63$#!ms#l+AnnjWL%}kJ8xKOWpB0uoj6sosX2_^H@1M%xYHz&U=v~MBFcXDBB zcfI1N*JS9O8|F4AnZ%NFHzjU`E~4{(UXvyyDn0A~b*kgW#5deB`Iig=K3jF{(#6?BoXJzbN_7F|&+cGETY>50XG!W19mw}0e9z$kAfMg~@ z$hp~G(x_^T2HvfHovaW=%@jyOjZ?%8<@5fcD$)BeVa9FUzIblUJZ5s`1!g2_-UlHq zyn`NAC|igE{v;eCSDu`V0OI?dG|Pu-qw~1Le->Z;uTJFn>dSXMC-6fvVvoU@d?}P) z8I(3I-u(fZd!81POvG)(lBf=}*z8Qea6N(P;2Y*(*cH8tiNNquw;_^xu>sN`c#Mrz z-V7Ac(Wi66gJUOsVo z({PsK+~So({4y1E2Jv@vBSlf<)+IY#8j}ex6}oq71urq15x+Vq%*|#jS}4~=qsZaF z<7K`_kf%oTc<|ansLq5=A{(dip8B@=@WQ4@zuRAU*)s;DK()2hdMQ;O7txlk!L5Af z`bhI$oWPuiB5%Yi#vWCro@j-m`#UupDX}cUxt^Mgz3?et)Uq=k{Z+NGV9E{|TwF>~ zadT#0Fa}#8LDTun^Ik0zH(j3K8rg1__V<;xKc70ZVEGjb)RZ1}9PjBm`u}VH6J$G* z4S92)OfKD)|EtkAm-Vo7VCz7v;tbrPjgbzOEYn{P648FRjbNSL{?es|8GtlP5-Pv? z+D4mU$KNVcRO;|q7EG>yF1PvxMM^xMSzH)%*)~EB2Wh5 z#o2#~Xe^IY$M+%3Wb*f9HwxBV?<+Ikp{4}CJt+yajknbL?jF!tttlsH;C}Z; zRHEJ2uCH{l;XGbf^_U+Mxbu*Fu^+32wp?EPht7;KdyX!?2>O%X;~J~fH{&`PLwWvP zLa>^aTD!OP0_bM{Ost(E;$6}3^B#?RBRo%6#%kqhINLRZPROdgiW0n5Cw(c`HH?8o z68uSwHZndXtC;Ie;w3~Dp1rB#DUZ}7C9z&a8ZPqWZc=`ev5coCxf+{%_aje|q(m?{ z(_=tUXahtn_wPK7IZ-S_ABmEJ1fhtYEs2Fh=#+8lu*aiQ1@QBSdZg|`1^K}ajnP&W z-N9d}^i8}7*pSuF1jJ15(N#>UbR8AB-irNY8+e*N} zYgjbo;}!!9ISe)gtjXt%-wT?@S)Pyj3Xr=&3n)TjY>f=K%$-rT>jU^)^8f&WV@PY! zgwKI3h>)9w5Q{Vb-kp97w^~3`|1{f>j=i(uJPb2u;@aS5Y=v2ssxd%RB2Fzk%QSukG1YF?^6rgnrTqc z(ZgLj+|xx+X|QzMsws%#JW3=U!zSiWfEEV?5Bo%i@J-kx%+?a_&_iCZ@Y4Tw6o6u zkC_SBu)&G`WIcQeZ$=yrblWhtc6VUs^}~;ZAWQy`@j`yM$xD#97&Pt?7SAuBm-hCS z_8B9ZR}G2mS8U+ul)u`h+#ZatG+e&vaLaz-ev;s9JQ|O5w^ZErFyC0rThrnj`F`QX zbnNEDFyy@%dHySwnQx2Hzfarf{aWC*ZwkTixn8`8M<86teA3|0ksD3ZkdPbEEz4Bb z00hPw3p3m?Wf~Kl*}e}W1?X!FgX6|d#P!|Q_%&+xw2;flIKE-sH}JR^o)Pv;hppYA;Q?fDeE`}D;sy&Dk*V9fS;kt4TP zWxQ5b3&JoWsD;(BZl@Ug-5BfLdQei}i9;OUhqy4W_^93ZnVl%b-GoxF%fu?LXnS%F z+{-{ImK>_SXW(??V#OmA%SAGRd;ERnPp?$)UMj_&vDx6zW-l9CWxAMKn)!y8iYT`{ z5C%+VG2oJ|_p%puv+ehu-`&G*iljvC&?(^wa z>GVyXPa~~zz4O2a^%UZjP29=sk(GVaxk4cI#>(LD2~hMwwSo9$&Ey`v9srmgl)m*Y zx+|_ZcQ_nQkdAJ)_$+S-9EmW-c#?st5JW9M4y50fcfEoz3-sQ;ox20p`gQ|FyG;* z!(pBMep!jCpW-z)aPQvkeeUsL9`ku?eRsUmJEPO*Y7xWLqgydDV$&uEFMd>(=!~Yc*2oNqzfBZ= zc^7&igMay!ELB#Lo>a*Q_x%_m-l1CC%W^co;WxkUw|07Tx%OLfkmjh;^k7-1cSKB7 zfp8Qw=esC7)bG0=Y9fR@6t`H*8igG}nT}da_KW^iPlo*zzg`}Y6y+xu~}m+!xC zAUP_vKWZXA{qKMXlT80Hx@q3;@a!o6g(Q7dEknYnS5abrtNpEOm7|@K+XjfD(+X&} zb}EbC0$*+azly_uBK!9B`z~L<-~GBPyG8Q%tHwxwS?JBF@;*+H{B{a9MF&YQUquzygkGCm~3$MHpA3iR3*X}a- zLdo}`h5=+2Cu9x*FxL~9Pebty;)0$pPdI=!}P*kHR3Z(NWH2b@8ujzqdRewo@7GYoEV| zTSfq-h2Dl#q@ve1Y2`YeXZrM;ID`Znq8*2!2O;Q0|5GKB2Qa2fZP*v$hSc+}TN7_A zl`&|ERbLeG+KW%=Brsjx8L*D|8Rmu<_HnHV;FrVwNPBWd zX}Ko;>VV_p{VxW+{BqSIjkNG?RxalIBn+P%2dHB_W^s<=8Nr|}zRx*${qZU*Ju&)O zAyMOl;c}^gR>*x|?dWqNO8QICwQ=A2{U&8`fTBOsNK#9%3oYHyKSq7}=;W-jo03oy zgQo6XV$fcXSpIx+zZ^D+thW}2RL*RRU4OT?qA0H*aMZu=SGvJbRU`Q+ai@O6N#}Kg zOXb=5OXyKgjJCwwWZ*sSa|sJsd9%-RVe~Efx`-p#u_EMD@sevmHTV{!WnMAzoc#d` zdHT5KUM_=RQ{9VD)B?up%;t~8CH$;%lzq)c^W;+2Ps?C`M65RJP~pf#jGH9StQ26C zDxT?d;P&w7%(|}CN%5SeSKP4CIb3nL$=}T;ux{VSA*Y`5Kc`ns(ieF@I{($Zfl1pr z_=2U+{(B`+8&*FyvyZ%AYx>96Bvl^t@ZJi;u?NT3Vobo!KZz2Cpw9*k=O(NYnn-Gj zsC#Jt=O-Yif`i^fe-rVVW!Z+n`_+NEM8Dy^!ZpRB{I+i?ZOcLa;nfFDU-n11YeNeT z{mxnsZd4;(4-cf%W5TS7wQenh1Hz(9^3 z+Jtz0@g56PhL$~yOY#X64!CT!{&8sib>z9SuZ<5grT>37=&GM6CknSGDxJ^eE8DAS zIPM&*gAdc5C;`iRg>Qq3`YJELb>Y=DD=-Pa@b76HM}FdsZjht&o5b|8wp1PQc*^5! z88^hzy#V#$CvfTlhB@T&4u7W=M{jOGDmV#Ejjg-B6u|NDY`@g^@y)bjhM|I4w?2Ci zO`tK)H4v?rIV==yL{)m<2*;C#j+*FupG$-rec$>tit(G+(oaBVQ)_79;468HKb;>V z8p%mOPhhjkrpDVxliT}YL5(TORJg(@+;u!jQzQUW2!_$&`E${sX$WQl136W&CgsoB zKC!3#kuqVb+R;j_);Kwzq;niKxg!`N=x)g6WvLHHtKhz` z-~`;Jtd4+7r0I;(&v50}!m)C}B&C2uh9^u9t3QAEJDDi+Zf0+J;JLqOw>mY^pqjD^Iuuky+AV-j3r(?t)2bz#`~njFInKol^gonR7dUhf{&)Uizx)Of3J3nf5~f}mW~FDs@z}EPWIYUr zTzx-&S_0X6T43y2$hZat9o8CzADR53~mxrOGU@~66KH%h`4GRKq6*SUvZzFBr?4cz(> zc&=Ac4%3t{NSq=Rln6|bBEf|Mq?|TJrgnt#Kr%Up4gVbT#$o^)dD38T5<&U?XmNTL zU1^OHLngVtuS`0DD5I|HZ_s(P;uSBchv?Er`Gt983>t3J2v1hDHf)S$7pSYQdllgu z>7pWUaPcl>)c820x8OUM#fq{A^3qIc?(BQ<@E)2t1qY-0rlT(zY@_ZkOw)^H@f&uB zco{^|zEQ(d-co@w9!6hz-hvyD-*z?cip6Ziqk6srn8WmcLMtceda1)(TIyOxA0p{# zjSi3l71eaL6f%}(?Uzr&bb8K%{+?)XGoM%KB3Yg3E7{f5X{#@3tj51|!RH;m-q&j=aL^ELao~y*}>*#-n`E?yfRVQDi9=K5j86#(1&WzDgD`MIl30Z^sQnQ?m z25Px0&5F_vo8tXy{{=K_59DUZ3=4uU_Bv#5T7nB+%XaS;bM?#7&3==Ov8Wrp!8}ic z5FYp-zz3O|FtzOPktHVO_kX}#f*EP&%O|^!XT+#{S zcw?h(I5(%NL32HLPF=R2Ws((FRGS?icEnC$+FntCO-#D1F zh{s39|Bt=177n*{_B z1T;uf0YwxZ`K41N>HAg*Mcj4uf3|}XjDLHFc z{27<8j(VNGQtK(5RX9)DfM!hF49@~kz;KzwX*694bsN)N#_;U+tGL@}z+gaJKp_fG z#iA07h16C-FtH41V5KNKlYg~MK(Oudj3}*mI%b%r9`y0!dr6g(id_jYSxzP&Lo)7GdK!6W ziB1#vx&5f|6dTif#dITvMagcBUdK=zM}-grxo{Skx7K(JOhl->z!%UtHZRzIm3<#IF0AoKphE&YEn2U!!$uL(q9m$t~2g7o>&GFF`g^$$+Rcjd!&5g zQmC(Lxb}Idl)+HS$M@78K-mUWLYf>v^ziWJ#@Bnd-{?92mrQd>Hdy|B0MVn=Z&C*v z$_2cDwV$tOL9Ybh6fF>>^dubA0x?XLy432|^cA|Wxf=K`4&7hm3TuA)exO?96WLmxKQL@pr&eVhzc0$Fd-|Un+6zC4uZb7iqoA0kd@D zTQJ8peHDJ~XOI76=SW~P)n>I#ADZQi_Xzo@O`pws)9$cNYU~U+eh?1(M*%HMuoF0B^s@(G)8FSTq2Q3qqiufk%s7S!gW?dj=K*8QGl4LRX{!s&Cd z$dp)L!`(Gj%!{yDX;qKnnjDYI2UPs?P8K{=11T!^IRvo|<&Tyk8T;ZD#f{?R^BiLe z&|QLNXD*3_3{O1uM#mGql%^^kB)jAP*%S9j5_Vh;V%&7@uM~1S9R#j^RQ!#dOlz=k zl)XW7)8W_b10IFziJZ5u$NjP_iwZRQ@dKh`(10#7mh|xLw?QcsC3uM((`PsAn4E`f zGZ59R8XQYEP5a(ve4d*!)4dwo6@O;k`A)v_w!4qx`q`4XB5O-vwWJ4A+Xb-R)e=$d zBk}9ZmISjwg|hm((4{oLTUKmivD`;9taeT6=hbU^O1Pv`WxsCpO(u#O2`>^!S0Uo!Qou)Rtt zl=ZlhQKBph_6WW6WQV^# z&UxSFlmx5T*EF6F#T_@gSX+v41o;M{2%`ukG%^NRE!8ES^1A>X&2Kn@ko;o?lkiKX zR-j~&*2yzU-N~~o8F4>e_q+T1w=JEE*jV2jiLHPP=0Upzn!n=)0uDixu?19|bK3M6 zGKfbdOrl%Gc%bP}i6*)t&O|3gs^KG@NL6d}yo6i=hzohmL2EX24wriw%a9(o3S(?22t}u2SdIrh{AaNd@npkgE!o9%&!hiOym`Fqe3h1_dNH-Txn;gRc9FP9 z{&yHQTt9HMg)XU4ZO|FX{H_yP16e=&?~IX{vpD@Z!4Up_jU7sU{5@p!HG^W7YN@{ac42PMj+3l! z;J|0E>v~k9hF!&kz`S&?Gy(nu@IJFfL=G*e>#@$ zHcmV%pM{9$vWvNofk@RqQ8iD3VT^IyR3lq_b1&ZvIaKdXq!?rGW7 z&?7(K#wMt^p0>yCiVHc7`Vh>3dLn$`b!=X2x#2qI9>JkkhN1_%WG|=`5U1FcI)YrZ zKaQae4};>EQ*q!^oGC$Agb0d2fN}~rI0>AB*aUlc4i^E>NWw)Ha8F@%q#P*~!>{O8 zfVdKYbgh_1OCYZoOo^f5BxW%CL30R2Xn9s65{?tu)#`p64 zQ+RF!i17zKdJ6ic7ZgAkw46P-fRxUuz7&>q0H%yzD&LdM|LK(c$t~0s=mtelf-0YM9o&sHvN+~7W zUq5%~FV;vP@zh8#Gdj9Cks*GWmI(t=!4+!#j%Ap`YYKu43|kMpSQS1_3X;GKaANc6 z^d+cL&s40$`GxM{1>`LASZFbZF30MV04@?pnwotUf`j#f3OJ&%KjL&W7Py@dX$ zrzMnAiuh($E|>Csi}qQe=IDTU*?~_qIM5$4{9ZW+0Wa|I7L$Q1AA6r_UuF%+95T+{=cO>$l9SrT3i&UvX9StdVNNPjWcfMm`9fv7cnUOYB`5?E-y ze7?`TOvRLFrr!NIRY$HhKq4d3LUF-dM6Qva(JDs;iINjHeU0SGGiDu7Df;rU?hutt zu&jxmXL-8G{^*vbE9glzdi*-SGEXG~$EP%b>WtR{=~izwdfTfs1~dpky*4w1GAB0h zyczzC5dX=n&3<^Sl76SYDa^QrQM_(vH6!3v!%csrPebc1i5!LU8Eyf@vePw+I35!o z`eKQsSsI3vg{J42xrh(*68^xBz0~y?wihKh)87m=A1eZ68wldk+OHcO&zN(AX?p z#FE)&WN=$Utx;UAzmXmQuC-)mJ_QW!)zG6m0Z{YW6ddTy|lebp% zw`nOZvnOl{X(nsz6U}kYE26BIr&euDEC6Uh?=zgr_SR*+1w;fk*~Pk)aTo`7dX1gd zIQzl=OK{O~9U)K0A@HF8Mj!HUjv-N^_w{D|Ke)DIPG+_&VqPaX>J$4!fYiMi^s)k- ze)*Mm;Jg&j5P#SF{KEB5ADBPBVmjAl^PV@}e%mbGo`u({S_5~-<=Pq8aZ^h+v(_gV zIoN?M9fjq3P6W6()J1w|>*QSM4ItM0a}tKu%}d|2ICWR%;R4~?v|r`yKA)rPgsrM( zh^>*+9g2aeqoM5YkEB=dPSW)+DZrG($m_1hPWj*Y?tNUGIBvEH!=-i%+5|uuiL|Nf zO=)VGGNBSyjOA?)fclj+#gyV0EJhGlC>m74a+d!MMPY%3kX@o(#<_bBub$NjT#mbO z4~aA;JGR$>ElvkhjCC)urZeL>l&3j_=d@KU6K1Os2^<}_2cr8`@Ei?bPA0C#)6Dn{ zSX*bzX^gbRX(!BS5Itw~c541${GEY{1^STUE{4mZOO#f&qil@-{$aof11N7fiuA@x90H8(th48`M9KQJsd5-%2r`t( z!!OTKim?CHYQv7a|OKBCY{D(>Ro&!o#K!NHlUm8~S#$*YdQ7KJY1c3-r-?(MCaaC{b;HtClaKK7l80cBbq}(sd^W2zSp}>-{{a)8sAoYLisGX{ zl(T#!Gx%-DLevk=q9v0n!raOsncGY=x?Z0OQqHO2(M@xP@v*KdE;klvAm3Z4F(8Ul zz#A$g5L&W#KxJdNb?SwKBU7K*@q=otyR)G!@+F#80NF#rugRiP>(REnx4%5_J_kypB8DA1aQ^F}Ex4%!$Si z3%uaR7l~}1!Pluzy+4vJG_6s7BMJ>SZisoe)=-Zh>R+cH|r5#ng)tFIh`Q*@dVDtIhX_L817X^JF6m*3-?yD7lW>uCR~#ogG{`sWsVWvw z0?#sq97Sw`ywvNdIQdHLJWT24du$MW8)*ZQ`(~`?~qDIQFe&&9v_rIrXdsA|c`l>z5zALvxQl z;5)zY_G$xL3NIyYEbRJawJ{DjjB~O@ zz3Bc+dG*OWe($^H%kSQOY#awmev-Dg4jM6L{Z}btuTEN5jnwY`Uh8E3p@Vc#Ita31 zjlC|@oTF&gCpIyfMq~A!%{l{PoPS?BwaJmaXRN`=S@hWDijRUt(3S!&p8o+l`Ty4qZ9m`|Fb1Ln|F31)|5@0zqi4Z?pP2oBpsk-yZ2s4${y#nc zSJ*X=T*Gox@a#eO)Bim~_n)$?UmzI$i00s>+JnbmzyI{Vz^-HC;{BjNQcAL8YDO9% zHQ|3N%l-$uHjS!$7+PLiSKmOiZ3bFeAGf!4c64`jQqlGghCr#F4wFVl#>XZnrWvl6FVGDr;}{DTn?esNRnu9nr_Ny zahq}-DG~43c_sc+L;cqxeD%;5V;?6>A0CBBAC$Y4o$K4zwMM}@~`^f;c++<(wn;_Zpd zG+8h-FQhK@iS=?95a3uh%qC>lin-K!GlS1Iz9bD7L&x<)KzE&g3?9RO@`ZNZwr-SO zhhFmCb4NN&=OWdRC`s)xD#lWsRZFh7n9dj8315qBwREGY`+0Bbr!XIDBkDk&82^~D zWF)JG72-`Zn2JjcM03n#l=$l1>Gy~AmIvSNvv4EH_F#d~R)CsE2m!tWwQ9w}Spj_v zB^RPq3;#V7r43(8B%F^#uSwZ~tQQfjxDX5;J(|piMe$OrG?BsKLStkwoP&TCj70U4 zwc#A0))vP7pFFoREjvHtT`uC;Exar`7atuX5QMw9q#=?)IQ~QgK-I=y=S~5n&uOLe z#glM(G|?057_lQLm`(zh@D|3=gdL^TjQ7)_Rq7=VKT;%l>d?wBVwSO@SEIKo2}eq?|%AHTEwItoBHvADvq0zW9{X)D|6)4cvTf7|up;M{I z^Q4nqBx_SC{ZSjC<1N6Bwn;t1Lg3xGIgV9}HjcV{okt&TQ;QM__Fz%pIbn!EB$-6{ zIu3LG8O9fCFI@M@-_I3h&V;!KP?hYEseow;(H0mU6AhCuxJV*PvP8zv2(m=HYnzsi zh@sliT4ld}V&rx(VQ^&Ys*sW7?c`LwQVqeWr9WCAqGvKv%b z_weQnm&ngyv0U0O?$dUES{#<)3~ag|wLH_s0Rl<+b=~4J zwFw5-xg-P+a6wTLl;7PDj-C?t4lOA5l@c9l{3#aJVY+`!Wwp5phn(ZwxK=Q(q6HI8 zRj2gV@_O8~#nw`R;K?^d+uJZsNSVoT3S6*-VhLBXs+0PuXD~&W-7#oIFXJ%#6QupnPxuk{Ex*6BZ%S{}PrSL7roZ_6IQfAu?NM5}@bi=P zgbc>r+Ujo0ACA^{6z_&$ziQh5T@;Qw^?m;G^3U(&uHkD@{9RtoD0`M|=oGW<;8)xi zw4TBjfbO^IVH86u>geD7T55;?Waxgu7x0o*P&~?a;(`8YS11Y-Ef!0p-mO)p>pzT> zF-?}zHq^1+{}L+xY=b%kj^Ov30MP&yh!{iN4dk~(Lj?iEL-<(A;$hPM@{2!r%Tw&v zWN6kR#wmr%;l&?YSQY|YmxzWF*B8AxX)yq&wO9NXcUl^Tu^7yv#e`bLxhqJQB*@DO z0GFL<*n8kYC?Ef3iBo=tgN{l8+cw=7Vx+_zI}1~`UW|?_9Wv!vmFS~djpmxE+=#cNF6JsM$6YyH%4pI)@^b?~ zvO{NuAxea4ADGe%U#tx0zUrkv!y)LDQ^9vosW1F_Akx*6c&;Dn?(RX|U-Tj;v5dPy z`_XM^SrMojSv_i8i(VAm7pRnR;7R3V16tp+12n$Q;pmx z`C7s@#ru)72B@5nOg4OTRv>`LsxvBWFwT`&5b{!JDJdK^=leV@kgC|Y>U)z%bLGub z`rKBdIUd_m2h$b_a*-*i-sOpeeXX-XtyYPT(XTpa3w=--V!ep>$@FvGcuVRSI$vWS zaogc|#?%K2=DzGHu}{Jm=|eBo->v>UH{g-mCimCFlScCOQ;#1##=wVrlWJqaZ0uPB z_xA%hd=_ojC_3fW>@2v7t%W!j1}qBpZ&YV;*+g}8t?`_{UG#-@?bC3*kv+clH~P^Z}`BF%m{WkbE(ahJ6!7D7$&=&luOsPKWp zPxWig!Iq68)c&6Orq4eGC};e=lyxZ+XVDkMI;?xzV0lk`z5bO=)BLe?%ZPZz7;gScWHc^gADKan&sSvh5iH3qef1R(LNfgox#8GJl`MCW6c zndAtSBF*o)4m8HqDqldXs zYqvlXt1tDRyxzfG)|Q*BzBKrg5B(&YnZ{k=9<@qOJMWHP?lffZ z-W#1=y0fov@RR$s1xL`BZ&iT(uMYt+_Y=$iwe&mQ9)lEf%_k};7|&jc)z=J}94XYv z=Ie8DOb_O~IC?4aaXt4|QYSZEBi+KU8F+GOY|Jjnj6D(eb6@Bmq^4cgtrYkRG|B^;Ka(Lj97)V_?V5ox(2F7k9qkV5HycU-LpDxe&VE z0yuK9YWS;6UVk5()mAo{JJAgEw`&ak(qDbqAO9VBeoP7|>h#brZ?e6+l(UC!^SIYH zZCS?Ern8ZoFf3>nSh9)&|NRp3voG~h^3Q>L_upfJtH{|OgC6?CzroF&wfAXUrBHdB zc;mePgW&aFHGEE^BiCG3A2x@z*FH$4{}amdO4A)}(wg-=2mo^v9+wWh+o9Av-1Fg$ zD0Os5?0WeG;`Wjp$F=@>rBls4m7b9B+wK#^ zRC!!+6VTU;AU#`VzXPT|7E{8^R5G!6YZLhfgYCKPFfyZtmn zdWBmUY8RL@*ZqW|Yu$Sd%o$N3^e9x@F?WdzCyZd*tPHJj5x^(_^qAzDHcE7_HNic$ z(au%<)a!9#41KLHiZ$$~aBPN+pR=d8ftb^ISDt&XhaX<-epPp9S6xb}O)T@z$iGVN zQnmP!TG#25)cFFM_&T9wkvp&B87zTY$0x2d82QN!K*3VF#+;jvATz-aZn5CrN=&D7 z<>o^J%zoT_tpFoQN#y9({s~@Z4%;`Lu`l9Qa_km;?DxjjFnq}m9AaIG_M@?*?w@jD zTDkY(hY`=jP52vMn{My9r34Q4Sngj0t`IZ#H%4wd513r23)$n6#e%_%`ZjhRygGDL z)=+t~ds=!ok8E_gabRdPNTCA|ZRHgu17cW!+bl-_3veAu2p)mN$N)bEKmj>IXyCe0 z24qfp*OjwvH$!s=8)cPH;^A=qx7xdr^)`K+6OFj@WTGR*@=c0b_e_u2sW@xiKJ(;S zw~rKdZ#`~J_U3uk-+B1M|Llhze#R5lc;6e_-K>*|YdDf3ENE8WiKY=J*Yc>Y@>$MZWYC3lQ$Wm2MY>)6kn8IrT=s?=Ud@Fz5PhelZjgKoRTkkJO8V9kl^R0e)Z0qLq2)*}MeR z-c)Qt{$oAwR>e!Zo(|QqZ4ZWb>nb*+jY(nDm^rvA?-j zZGH8&O^AL(r$JS`;Xo&kLq!&ozX`FPNV1gXaxeo5Cq7e@g}cx7+!4r+ty`i@t_@m` zxq6-+@14`&k5tVPr6Vo z64dvXMx`dxRzThL4_ovK6Tua8)*MU`a$Q6hy^zX0B~C5WJz_O(@(j;S2)&> z1ULQVoAF>YDP4dp2+IPC&na;c!05w^sc%71^3cOMj&V~!4zMo&1Qs_l7bk;%`~pb> zkO~ViSt9RyQ!t3kPaXut9f9{xpD*~13^t9P>`zUHy)4v&iCU-DA7dhcxo7IsB0W!D z-S(yT<7Ry&4aI>eHNmzLuJOQJc>1%z8Y=vwDK4SF|I&c`jW|MK*D zVmDK7%~$~Ay||`vO3B~Vc}lG0Gs_hP0KG6d86B_&zQ}z+njiBBhN%OY@o-u2u#V(# z5am#D7X3SIT9S+p{s>ZGm(d8|it7RhfXs7qp$UNZzVyRCf>*Q`Qpk}@k=$}~x}|s! z8UsB1EU0J!5+;K$VIJ|5!KVUCVy5yY$ z1yy8%%TDW%xqE5u%Z*0(>kV;!KmLowq6ViTrw<_Y1~xFp7LH-{CD^Ce` z(Ldkcr+6cNhX+OmSwSH7S>WYopo4wz`PS5PWt}y68Q6&j;xxD{ximDs4|F|n^Bx6pb zvHJa91FY5VP6QYr28~JPIWw43t<# zwfn4jQOJ;T-VB5!FvS_B^STMJVgYd0$lSc{A1bdi5e7Mr%J0Nt*=jFYPt)|-aK4B5*I*y+Y{kHR7K*+E@80{RvzNi1^fkOs-@~^hkEq=^Fn5Np`KIW6ANw`e{~cHQ zb~KNIuWtmo|Kyv|KhU1NF{KGhz3~0OERCmds?=iMF=xF%rOE6ifd+Ikb*;4cq9&bH zfv=Blb74&<)WCM&^$pUe@BVrZ)l%ZsRt6LYjUTuHE`jk{Hxqx%?(ycnIc6I%uCgYJ zg?zr-Idtvzl$GZTv#;l;E_4QK9Gzv+X&3wXY>ul1v44w$mVnoihO zXI(?Ll*h5ykpZvn{6qiuM_Nu;SsQcFS&M6A2H2eh_klaT{n2tW$Ep#gdg?#E6}er1 z{Q%BK!rwJ#&)eQojr;d6v0-G6XbCW*5yBw(&I;6%|(${6?w@taR?G`@GUJs-g&oc&quGmeN4tPVsg4@x}JRof0Pz0$6K0Ng520^hlqvmvfke(!c?Q2AqD ztqrtI9Rrq{%`XJ+k|z~R+Y^#z*UPq4aIe6QLW2bVbF#$44#oo=LBh zsuP++mHN%XUmi{8sIq^raul*~4??Uyi|2ztc%ae>y||y!38nure5M$u6(?m$GLH$^ zTB&o=FDU)qdxvl89+{UPFdIfG#>VM02_k?z_RI8MoUW8{B&8HHYT-HMJKTcT2Dm}O zJ+;oS3^)sSEH1F?b=A5&3}c(n>t_glDorB7Tm+b)prgwf&u3mTv2!}MJ~T2$;U6li zce~}?-nN6dOr{_IVsgTP`oO)Yav2QJnKXaol+CP1ok>d(;bMyP02l;VWP1O|$x|}M z_`J#;dtSI`6kOXK{5RZk!SuS<`-aja!!Lb}N$znLAUzl(ACoWK98ZF6vvP~QC*B*S zjHl5wtW6itjfZl#XKau!6rp>(FM}-DZa|G0pc+=E(%{i(Issi>00oXq$mZAeL!04; z=tTHYaY*bGS=3JA5Esh;L*brMgX?fmCblVT+y#1h7(+*gVW_4}5G0BXiipqCE!P;2 zo>Q~lSldNj^)CL#X4>%Tb0@NcGcJZ1PN+I@#qMH^=>uwVYmVr5=(;ft-BrZqR1 zOnpyCq%LzKzF>f3hOKkV>~JqO)YecGwvQs{ar_WC9tyekkvOU*{NZZhQM>~dKx!Le zDKIZ-L2<0$#9;`#wwOGTHQ@EqDr$#@)dR+!;NVQTExbCX)j}_Gv$ZZBA=&(AC(-!zn8wbn{Og_+V6okFwBy-;d;?PP$nT>WiyHF_GE)S@1U=e5- z3-r3hDRjnH6G#qqI)c|}K-ds?%4egTx^FOZm*?<|v1F)vh}y!9L;XxK5TBc1TbqJ` zI@FLWP>B#nON<3XrCv}9X#@0b5;UyKKy+k$39TPSssp!%%wtofm?&5M#sPbg+=1Vj zGP}$gx-zSR8$B_r!!TzJ!(ektQlZ$SyYt%6RIzyaHX6**uQ`A2!}b$DKx_CEL&e@h z@$3m>x_{0lce#kxb8!$|XlEtk4?`_#2Lu7xWPYALG?pv^VEE1qXy`a# z;;ASjaj#LF_o)k)0E#g;sEURL4+BQzVhz;r5NX3<%759s-Cb!6s{97phAud5!`4^nh9Q0CKpvIUb(9$#lhgviMyNicYdo1i8~{ zm^0B5c6G+)n3Ey-M^{4=NJ<9UDDchC+S=ptys+B1t%<^kwDSXBJpo2$ZGu~C?(=<* zU30q^-5xEEwsp->j<%)+Hl6j>2j2DrNu`~eikX&8LT1HDuPpK`TZL+Gv+XToy;wV% zS-x~ouZf|{86ZgDk(YWBh&0x)PoNTl$x)@09<;t-{Tezwuqv&K zO@oz>erTVymd<4zYJDQf)8NQ*4vxd=YJ|mF$<6{y&!n0+1C9Byg-TgOFF-EHRNmXs znexhVi-{k#!1aKvmK?J@)=+JYVww!tKpwklpNTOy3RJ`mQa_jFbP^yr8zP6Heikh1 zPzoHSERNp*W5kD`#K93L@CnEug$e^kI*oaO@P}E2w04!M;+pzQ!z=nwqL?fS%2&4l z`{!UiG7;F#LoX$b+T$Qi1D?_-LM|3p2W5djH*C;?$6G^m8Oab?+=BMoZc4~A5(Gxd z@0TF%_Pf6{I7=CZ>zhFgVgNHgIe^;348pwD2$L(YFTQ~zh&<$6jHgJ4G%WBh-!_1r z-oR8IEeP7mo(r+LX38krK~gWtZu-acHoId<9pV)<_p%zaDCbzBky5CeeaRrmj;V?X z$eugX7xd@zNgCZE4is;%MWcaxj4Z&-(;`7Mi!orPXDEpD)XO#_GPsC9GV7#19{fbd zO7S{Xbs)g~p@=S+e>he1#jFQ<=-I{J&dP*%q8{H-Sn8|zPY@vS#b8ztSZ$mLxpbO0 z00ER3{k}pPn=os2b~asWRy?YZjP8{C?V?5id#@>;K0jQQ*1BKdMbrxz5?-f(cEOvX}PX|E0z?2 zoO_kIQlBb~yHXlM6OTw#EEF;H!&ER${MmH@sw<%>Na{Sf3kx9sJN3S#`9Z_*vmN$m zPL_Qr+6cFK9nCkoh|)BE^JhmklR_}74qWY=INRQ#OE2VUsQve7>5g9sDZ}_8A&(C{b;zsPPcXP0IPXX!PL`=TDf48nP z6fz-n6uKSE%P)QURU}{pc=dPyCeSw_lebKj*>Cbkg7Dqzc|dAS9dY7#3IozS_uErL z?5o|o!;O#ZrdBj`g%AW0*J6YP8hO+xx*by6+h^OP5R^J;ePnDXuTJq9m}^JmZP2C4 z&d=?sW{ggaBCa1U9FC4q2z8XHWk4+H1=U5wljaH?fvw@i02>bEfMsL0P200(RSi9v_@d~JvU5k)V}4@RF~X3A=M21*8OgS zn$86AcaBk#(ErirjbDn`$sA9SU#BYrGhZgN`ZpfU=pIdfp{dp$rE%uOik7>6_3eA` z{LiDBsVtYx*-A}0rNLrw`kv?yTxL~Fmnw$M8pT}ApT=i0MU60LHR{%!&++K)Qz`qi zJ(_=41fpHW)l~@~4x-CkbrF~8*poK0>17*#%+}ZN>(y1pCVqp?YYjx2K6%xuU^d3G z;m`USLFY2YTh7S0$1ef}i)iSm{+SS67Dv^(pvEv_(V3w;42%SX_&$n$T$bjvEo(wR zlt~bGqJ0GaDv9L>e8oX6K9M_qpwz3dk5$~Va#<`88Z{;d4cxsSE;14gf-&*7b{3^s zo`{b!d?8u9Q&>$o;jJdhm5(v}4T6_@E3WvNB8S?pf0^bsHl|lL5~-r6_)=>C2R!?u zeQU53PC$Yg$&r=}>Cci!1Ad{k^l6L9dB zB5y&f#!WA1=N}1BHx%SVUs_b=A(#yHCeFhQ*1b`<4-5>;{aur*=nR}~g+ zQFx#(drK?PX|JE`?x>&?4X_krq&-f|K9k&=5_8!wCK@D8(@qS~$H_3`Z0r&M-^XAz zoZXHzWDCRjh97>#kB&PFe(;!%ZSvBf@afvNsUgbok4Wynss*(c=;zo7Z+fU4_B55K zNk?4Oz}-0mAkV7ICt{&h1~-++>W(N`?-mJ~^BOyWuMjL2(1gNHs?q9}I8AYN+aH~p zM5E4Uh5;2vMX?y0EIa3^>>V5jlN^1r!M}f4&6s*M4s8eLk#7nBaLsbJd&fP1|7KA7 z7h2L6vgnsHqFQJx#2W`?6QI_uyURoZ`i~U+$8Y{~hYnfYoN@EJh6PcgbPG4%d*jlw z%rx7w^+Ez@!Sp)HWW&>-ueumo-fXcI4^BOS+wT@24|6yJ;CirZ5?T{;Vxb+Ikj1mGC_XL z1LA~%0Yp=#@odfHf-gCCUnN8n&r?McQ&ppGvlZwFZxI<|7x|mDXeVQ?;XiIIHZm+R zue5iK3q`A%X*)eV7HT-UxlCzSW9}r66_Owavk@ap?t=<+bFO`ulq1JpTs?JPtWS`y zEWehgtFxn260?!zGE5$=VRHB>S)ggjLxKO7sO_5B@UMnZAg=2r^=l3$jM>9yHI-=ktBB3MCKaZ@n0we^J5h;oW;bx@iObxtl(gw0xFuMSl{> zyjy?5q6~Vrro=mkFl6lDklpJoc;$a(exsnF{s-X+%IBFk8o~UA*-;m%MaO*bLjuay z0OSYiy-^HJ7A!L52#5~W`Pq4w?tYxlKyVu@*VW@V_>N3l2<6YaGCf@*4R&cnmKPIj zjE4e-Z|=v1+!tk}sO%Aaj#?D)miqE-$qdBm{H$c;We-crW7CvypTo#DHl~Sh!`dl? zvCn#gwo$wJQG2#g*W(y;C#-(tKm7UTVL4X$=%P(0fKvwd+l^FXh;F% zk&;`x;%S(pOC@4L3L-Bg-G|7;7?s3Tk(j{c#Ej+G?A};BD89JhkwZEDi%YZLytEqp zQBWc!gJQgao%vIGJ@Za@u3hTh_eA+nFgH1M0h#v3E^W0S?fr7v%Yua6Q>dp3zPA@Q zXoo*k@y?k@a_5hunyKNIKvAy{69JG^Vl6cicV6BYO-Ra)Kh{8KZpx<)gl63M?4Q0| zPpzn#6dEJ00v5sM#4YDs=g56fkYn4IW51H?s5+&>5p63G_M;$g50mk&z~J&B!tP$y zrQQ7V-gGf>LiIV8*ig?VT+X-CaWOxWa|*viWXhHaOTAwh%kw&sCNYwe2v(aezPXaS zak1kQS~AIzH~g#QWna2_p{7q*k-X}^oKydySQ! zKUP}}uP8kaFOyv<`eyGC`1XmCn-Noux&CkHVWLdvQV^E66AV_PPM8Af~}8p0fDs zmd^pZc+kI1DENaxR@Em9Lz7mQ?27QgYKuHBB1j0C*j7B;ygJOa*5R^}5E$C|-eK^P z#^B!h8LqP+D{Lj-hjUCPvX%}6DxYmf?aJP?w#nX7A#7>NVKtp7GIs>&xn7Ta4Qts| z%Mm1k-kuIW8sVjwkc;c%aW2|)se`o@Guc}lH&4Rd#3jb1dP;JTV-NB^RuYGPa`8`rPs9DXG7Qvmq&As@^ zX;F2cDI;?F3D<&*YO|5uOOqm!`R`ZuH_V0Wf_-j8djsii*zh z_svuz*Kd{wzA9b+HoP7YK7W0%h<>=Ym1cJ@7L9u9UoMG zRGn6QLax@>`1U}+YWb01n+bPciGyP`?Rs57$p(8t_QTV5VGQ`}#@2c1))hxP#j>(_ zwU>SCtKuuGluz=*R>)rAJNUu?>dOI5Yhec41PQjKheJj3e@ibXr+1uf8bxhoYrYjl zzU0yzHGeW#eLR4V`dH7q+9>~l|J|L7(TwB%x|s(7Q0I-?D$#l?IXax57Mwr*elT+N zeCTuKA9`nA=&t6Do<@Mzz)Z3DuBUM=fENfK>Un*3K>4r$qdGO%Uu>k>$bR#H>)}Cu zRH^KP*A(x`khiehXax8m}0&PZQZ7XqP)24j#)rHm}GQ0Zwkc z|K@rAO}Y5(iv9Cl&TU67^RGi++<8wYAJlAkQRNV~ABhl{|2F)=6jRH8RtzK48Fv0G z?YQk~pV^#UvaV_K=w#sOiF!oZ`nyk-K}U*z$a@@<%~5#Ee>v@%g&4kW#5EEHR9Lfb z=SJ|~VyE=nv@l8UH-n4-fIhmPgu?%6b8=v`ayTdDKx zX-3M`azCjxT*x5()7AGu$`2p!uD-q`B_@Vo6X2w$=ai7vlm=t2S=gw_*=UPM`QG)A z4h{&Ah|NnbssIZCt=;`Y;E_u}uWxKBRLBZpg_c5F3Hib{*AFPz1O@rtt2XH=Xc(zf z-I?x{!i`Ny>7uHwG}PPT)MITcE9+}J9uM@?s&;ITPyAw)KNlDMc`PsUy~9=p_4FZh zlc-jW<{yot=L)t^++%IDXBK|mw}s13LGVfvF|yI1B!Un!7UN&RjxvH!d`VeJeJ<~5 zRYuH4yCkNv^3u8`GVaFEB3Zc;mxD)0Nl0nH3ip$qHb>rO#PE4I#hz93xsA|Tt zwixL5(#ts?7laJb;B8NGjP9T;*tPwh97JpJ!e9!tLnH}Sd^KPsjjiprFWIYkHwMEoJ30>5ug zQl?e^avNfAxdkH;%pq|g23cAXBixHJK)0&U%fX1H!n`^8Pbx~*kvkSB4PNPO0ddGi<&pJ6%_fK zThJ+D{Eq%}wSh3kVIL}KGM+Z)4nWFb?ImbaqkV~FYVDwLx7b_P>^us5I$d7gn_zt- zQao{AEL-mj)fRVYknvVU*}~P`H#gb3T<3-QBU|6XSQAmv2rhKL7L-qn6JO%tvZRky zSc$ddIJvWd$u&qM$HJw}U@>`oLK`ELu+;t$CXW&0nx^CD5;l=sMb@7707d&$l3)#z z-HG%;aVq)I{wD!|b__nNxwp<=Uv+CdvoSz!x?|$nszg{Z1c^mcu5 zoMZjSdU52h*!bOd`AWjJTRq~F6!6o#uX+UggVTa_1}1Y@x|@cbe9qC}YOL3= zwq;tk#_l2KnL%GhcT%kr%om-sn-54%O7$?M@JoV+9&>tnv_p6|1LGLfz zd(g)9Gwcq_ix?^L+B)ZABCE=V@Fb@9zTJ4?mKv=mIBe!#{$83%-K-VU!=S?RtCar6 zvQ=kW2xk$HuJHU5J%itn?1h(>*&2&nm&0egQg{DpT~dV(aYPRr(@fk|buO#}O;f2b z!6`Dro^YNNBGk6sg_WKrN1BTB_!63P+L9)}s$$VL*pYcIh8x;}o>jfmXuzapdr zg5gMH4J|Uj@rw%ns6d09y(Gn&c;_4;y4`&k7Blt_8CzcEn9z=JvG)n>kDTGEgDm=(vg^CyvE@&Z?u3E~&+$^l*W;)1oSjL84h} zbt6phyabe&AQjbbvJWudrspNztt9gjTL*{@j@A?2;Xzf0T5~cyojElU_k6}^V&jr8 zMqmAQo#$r$tN)xDlf1;QT%hY@VBzy|E{R$6>@#$WkIG>_D_-Jn)|M{GZSQIIi74RT zdhAfQ(cYUujPI%$o z;hz41Tm0SzkLpnfLv*@B-OlV)ZsJSXeD0WB{H-wNs(l<~8SP+k3K*U`r@aS)@bw)SyC zbnvauVZ77d#2xjvZilaA5LvB@t6(^^BhOnJ=&)|KRURHN!+wM1^A?=`0`jMk`s*KN zR4STlgZIDZL;l;+WKx-4c=x@S@8PySEnTyS+`$UfeVO)|%Datr0FzIEG6Pf&kQ|^P zLr*dk_QdiZ>=(Gx-O$qR)@Xm})b=fsz1{4I?D*L~*6KtjNVzG47&kfa)t>@e%2_uQ zcH4sr;W|{cP+O(F{YzE$-$B%EwP`-4(-A4|?^;=%kw>;alEVLeFTT{aRU#P|*8l?8 z5A=$G6%bQ?Laae{l*D`DYd-{=MsnJJ80-x#Pa+c8riPQEtJ2c>%AeI^I16MmW=~Lo zY~pb6OwFs~UF%DK=0CkW>Aro(*-c!rjRP)){Od4XAtzkVe7z7yy+jRz{*#ek<|=qb?mq zcnBC3U`mDci(>%<>N-*ja3SbJg^?~)`w08@G@Cceb4D|@912czX@gc+JRMjARwuZ) z;OY}2sSeEJxy#xPi0V~#mAv0M{qGA%Z z9~s3Ht$mPR>_Lr=zuwVujIN2t&k%@XU^5b8C6#c9wgO?@-(jndFR=KrlpH^EUd3=Q z^GTm_yRAMc3DHLjgRG*SoR!!Nis7uGD=~E0@%hW_Eg);9wqm8Ub){S<<>GbaYA2PZ zbrrkSA7wleqw8uid2S8>n3%$>~aRG$la#m@T0PuqGatPZ+^^O0qR zaSc|zp3?DYev@M~3mb_EibGtuILe*IUU}E|z8`E&xCNjy{1^ISO;6Zq;+*x9(k9Wxu0L?@wC2hDIM9k zq0jL%j>qn3<5$Mhv)4)5gHt)5C{d7>H;?>5jaO-&I`lp++9;1jSnCL0oyfaB^x>vy zIaX^0YqoKv&E=NN5-dp2J#DiW&47~woRV2d^3NkJpNSkT&mcP-mA+-Ek=mfLUEicnWuiyDs0ygwa2Yq}OuA2)yzrkUv z@939?4dxZ<)g}aOesDjc_f6iqpLtzdZ7zRD=dO(Hjp6cwoDK8&jk`t_dgdPsUW7kt zaw8utZ6e$$`qrUl^kP#v%NN~NE|xDfjMakN*u!~(0;0Tia_{+Col9=r7R!b9^Y|6= zg4u=j*tsT67SDpBg%c~?;?e~B)n@7o+=9aSsjdA{n?g!6g2~)vLT%eIo8>N|m9<}8 zlqXz#ySB;50u@0IN;GTY5U5^27)uhq;L4|j%p)ap-6}IkSM#XbiOiU(xS_Qe+SB_c z$?=}+R>O<6c)N;-kBgyTKn%&@8|}3EPUyaZ$Kwf+)rEz1(8s6jm4Q~J%Hz=v3c%Ho zawGmFhxbN zB#1ZS%-g?QtWdb2(K9}tFLq9lW#UWxjAw9e#p9>jKcjX-ROm^?81({->**}J4NC{K z#5)95+K^fvPn9SGT*RsW2AMeq(=PrHbCDx;M~_0sXXgh?qV=f=HL?PJGuN{wzM5AV zTp6bBme0P^sbhWOzvpj0#tx9q%F^u~0$7FE$0+`8QAz}%miVT??sUayho|K86P_lM zvG`dLfg(aHPN@>YtOU>(k_L{1l8m?u=C(eGR0@WzZTwf&4&Js4+gra=_PNgE-OKIJ z`PHUPTt~`{2sv*KLUHMw*Tpx>q&L$ezb^oh=A5GF($Hn-6b~owAS{K73fRO8$DKjN z$(i&dA4v)Ps4y*yFRQ1-y)-e3pzkflvWfv7j@c()Ju)93g5(0HU;Cu9VE674IXt!+PH#Uf*F|{Zq`mAXkYC*D>g~M-Rtzesd%64vp`yaIyf4dt9clo*vBh z?Z^7B;cf>_w`<#yrt4Uo!h5&81u>`b5x{(LR?TsQGG6QxfdY^T0GORzfP<2aX}ZhBJiJ0gK83 zQph7@Fv+AqqX0cA`(!QL)oymiU0(O#k7Q-?$pnpH0l38PYk9->#sf5KrOGd%1Ihi# zvbB}A%U)rk2#YARlt&wH-3+3!{oK1=?m5TnkEg3FwPm+>S-d=G6JzH%X-mL2IL6Gl zuv}<>1`LL}HZVEy=k#r`m-w@0eNj>uW5Ia5wc}0dD#7y|`R97E-rgF_b;?tz%OB;O zU}(~Fv}pI^uHV>hZC#5DC&YzURMmg;6$}u;R-E5n^nLumo3PHomPLN27Sp3TMP zXmX!iqI^Uj2lmH%RzA%QAaYc8PBfmzAAKKWM_v#?$$k{bOOFZ4dYM16g5>$yo(7{K%yd?DnpwQzA@|g? zc=gBkE8krZsvua01ZlOJU)+Q|P|y!Np$DhSpLj90Qa;TTTIyGYmh-mAH!@t(ctfM} zhGw4~S`VcMFtEEw1ov;9fLYh$4dsu5U|C&*R(8h6OEQDBN`=ba{4hB(lZ-}0p+4rR zxPb%(ib{X^G?NtHG9%wI1uD%X=n`qLrIkpYMUpps2CEM_V_|I+HTrRDY<(mOqF3^j zH1gJS_PW>U6S2C1<=o5SY{Rs;6%D~&$*TNTmu4?Jj%hs-CMTY*mWmtz=*G#2T9U^k zX?KQ-Oax4vsmKpJZ>{d!x+ZSF6ok;X?@E!|R4D}gg43>;!Eio!5)vuiE1MeuX_4f6 z3Lr>PAnMJm`>YjETWiR&+yDugeG-%hAOR{83ebm=fdLXsoDAw9BgVtzMXyy z3QZ@lg^igG*XjPKU0Qpx&s8id%u`7!BKne;7$-mOx6m5wu-vwyy^27P0c4~C(jB2N zOy=(yG9m*EJGWgx9Vx&(iD(iKP`(XEj1|m)Oz}D zu1e{XP0FUsyXdV)GliX_N!LC$f?6vZ3{>sre#8H5*7yIeI{Mub_#pK5gHCPL zs%wEA!4Ep~{&bc+=&JeC)%>8l`%icOgPyTJJ#YU!l{rkAd+_qpiTbtsW-4VbA)$YA zoujD!*;zKNnIg0tp_vN1vAk6^3f+yge+RB{Jrp&8X=yKsPnU&{ZE+6TyLEn`(aD?~ zD(l)9xg6?ua#&&QKXCo;*dLC%S0~7ZRIbIhP}JI+rN8aVTzO3Bb zjf-~Z`?G!V=b>o--?!hFs1K-|kt`T>4RJ2`XJkeSNxxA51pka{HZs4uI^!#T_~5k+UxAf6vCUCGooahGH{(|L}*dAmgV_>E0;KoUMh5u_KgK8 zYI_6@@-oWa7TNHG3(QY9^la$+`~T)^>39Mr7NK>V!-jq{7^2f-r( zS#R9#+(#(ew1-_ZXaPEe_y z!bPqO)%@Ou*>*P6s71M}PugvIE2qNO4n_u|P+WS1*#SEVJ2oD~&IvrfHr>qIL#`w3 zlR>t$OJ9z$&#+4LEjb+w%cOIsI^(Auvtz_sk!%Xf%?Rmq`< z(%W5&hF^}oykcJvy4w5?wJQbBj?1w;ExzETPHgHj?=u-?KaxBF!^<6`hVP5z>-RHZ z3>;wonSpxgmuG)ZO?uB|Jm>m5=Os4%Pdqje3wPw$Rw5Djw4Oe)Lq2+*PGEV|+8VjS z!=WIz@PDUw*@Mz;mT)oT`IedzY{d)hcMyH2pliOY+!ym%Q~vhW$7P0Ei&bS6pruPN z^K%MI&*JrkUND-MH$vKOU|DfqfByT|zn&WLxVZ-!ksxF1LRo%Z%jY0clj%w%E7E3M z{UtXYQ`1k+>J*8W_4jBxSrsZ%UVV4`ML@LoT=yURs`WrS9IK_o6OMFNGl9Ny{ksy0 zC02^$GKBo4g4nKazZp71IIB76eh?(+h6{cDPQ$C^dwDGaZ$I@W3Tc`$4P$ehr_!9K zJbMAOvmXzb?JVJ26swWt3KVanTO=WvOpt+L8FV$GRd*s+p|qxCjcA@T!=i8oMq3<= z$a+!Z&78f`9mQG8**kApq;)|s-761&F^0!wfbI zO@cbG!&dcb$FXL38Vkt`idRqRrD)LlfoRZgaJ@9*vVJ@|co-QJiOUS-fw0LC%``s@ zrSrTOaH6i*s4AxPLa^8UK#_P7K!&O)>aIfQzqlNK&`7OYu~FY!J+_bh>Cp$GH^NhI zSnzG5m(Q?SPs^V&JD2LG~em1wZX@GKJqG zoEd;S5%f2gEudILbn(|KI?6*KYw26i^_`TSkYRRP7s+1BYj;;7D%g^lUfXD#eJwou zjamPEz^Cp9ioUpQ*xN4sJczOwBNZ$WrNl+PF;Vw|leDlbtaYw2wB2_v(bs?(+t;vF zF#)zsZ$FOnH;(-nGTO}}_dW^M5IX=x)~D zDpi~UXNf0KvZ)t_g>`TDtr#F44rJCG(5l;X!9B(0D3GWa2f0x)W}=^!#&Sb?cZ7#o zPcDh|zCc1cUfX7BMcddLoG3L-kXKNONu1|rd9a;`D{)HwN79k8B_!!p6XC2M{W%7S znkt20I^IfGA^F23d-_za4lO76TfB}jdrqO)uk9h{Uh->%L z(8f75N9GRt48DhnNVd33!=@~{mgOiL`Vzi!2lR^p7xBHENF0klOw-aBJgjF#^eRcC z0vHxie`nr5e(9E;ra2wdaE+F9*Z?U!E8AUPAt|88qJBDIoxTEp>ohT-+DFWVIx2dh zDNFS4FukGGYqd*(%%y7Dsu?zJs;QJj#n=cgnLQ`rN2Y1PFadn1T!d-ZkJ3vz+6)Y_ zFzqF)A*bx3MAkZYxfRs7S~;kcaAWx5x9N#VUF{NXTY<~5E~D~-gG`aiTQUg&>CWZN zd7nacP4BZ$I@p&+#g(M#$2j(^;K!Aq_uRy`bEdNY&1QWUuT(zcV>kAH`d0iiz0kE1 zl_6;src6FWiQyP89UxbzX=BM`uslNJ{Z}_Rfh5AVsAp31SzbV5XUJG0e)7JIHs^Rt zg|w?Ild)P<>6v((eQ-5yP?^R*7BS57#ZzZm>sb79S@cDvc;?VBg}RcjwK%=5=@vVI z?1$4{qTj465^wevx9AGEFDNfAthGM7zt9h^Y~=p*vh``&w5Q70s&?)dTyzwNq4KI@ z{;Lni{LxnWauUTDDyJD;DAy1=ItT9b+m!PMk2_1BnD|zj%ahOjI~GZQ?0yZ&y*v=8 zH}A*aYMl648*S|6{4s+06D&BR0u56V)=yf?K9P9n(2&kQb#~J`KdVP)ss?vuY=zbh zFSmJv^TCevsD{1>=SDaK-NT%PCwG5Iq|lh#wHGhWxz4xL3W(qgyJPWA^DWX(8$CU| znY%_Uhn3BJQYiVWYM%HZef5B-jKtLo9I|x^pnbYmPeT}_q zD$+r&q<_bqB-J$)p>tfyTDPeatXz{-E>h%{>#Aw-`)#~rMP>6}ZosS)2@Vo^Ph2l4|AbBox$#xP-Z%59d2~p! zUo=B5+{Q`z&A!1CGR?+2MyuiTq1>zgjnjpS?$=uTV+ZbkKHJx;e%zTm)cw}!boZ_G zr;GK9whKqr40fk=p;aUQqR->OmdDJHUyulbEcs-`9eBv22{Fz%U_0uSXB2jDDXseC zr_<}4$OiPk6Q%s1C+HwPSpbPjWSa4YO9GSnz~hsH`fkG6B5!4Cr86K*Z#k-4zB>oj)Gjp! zZA1P*rV5_=K)WDtNV4MFA1OnkZ*F}Hd`HR+{U=wrYeVM^{7R2ip}(8@Y5~sot(4n< z{=w}ttCQ{vhIDey{%pL&_O)p2!J5#kCoN@78Fk_|ZE}YDHN3M`?3)zkSm5St zdq!46dT!e{13$t6X(fpN!f1%jf2@wz#M;GZ+U7@$EM=&z>IdOtS62eQvOkGSktc(y z)Q;mozvEDD91*N3tb87vY*h01)ATUuCpdBzwlYhuvp{cwHMj_iDa_Ja0Ok|AlmfzG zCYLNMUn%s-)=riG!GvSf8q7T}39Sg61d24Cb)|^9qZDQe6&5w3fk-wj4GgD-u5hnK zh{l0s%fmJW7?Y3bwh2A^axoT z<5H92b^5CLn-P3}1pYNCmi5)h-Qlq?6P3l(M~5dyQ+iT()VfB{&d>sEYBmG0nER;D z>J(V=z(ZvKtG?=n@C2wsj?EcJYfKrdx=QDYupB{C>>*Q>oUgXmkfMi$7Jg-^wE^a`hzMtrxY zQ>nV}mk!Mm4?) zDl8M3)nJ7DyMGiJtB>-_!l4E~uT-t-$KU!~{@5_8ORm}(F6^jA(`27?!IJ@c-n4PV zK&>skuqcex44*sum9jivZfY#mww?5Po&g`PLqC;-++pCKO1kLIK<#-t7n04YTh7;@ z`pG_fxC%Bo4lwB^EjKWKvIMM8b=Dg4kV;Hrp<^nj$`^ZY8sOD#`uvuTr6j-dt7*tS z-OB65V688DV@QF7-|fc2czHwAmQt!Odl8bI`>}npF+8zus;ncW`L&;zxu4=E!)w_n zzSY0b``ZSGa*{WzMLOhYQbuVg?Bz0PQYG%Cjbt(Bm0sQ%fpeh-c;o61!>QIzf#)jO zD!UD%)e+X>6Ye)fXkHl8v<`#i6PkV(caKNh1Jv_xN)C(`GnI*N)J`g_=+gU`Ty-$U ze?`0)5NtoYC(iMsoaqH^NPr3VGVbs1{taBWxDw4*tsqi0LhUZbza6(6r*0U-HQwe!knG*m}lC|$ae0!XB(GBG152*sT)2Pnmcyq;!L3`eI=R3 z9_M?;@EDmr_gZYuOu27Em1d^|ZI+`3>?HBPnR!s?Nv#ac(F_*{W0T4_x-$6n}Y9(z%wS?L{{KY*&t$2JtqG+*FeAg|ni%%u!M z5z-2HE@70|nWpBU?#x+x9mDgwaWm{Bo;(@lthN?h&Y-@yhyGI$EZ#nysP}rwJ9Za= z4f=~^13>qcpJ=XPS${n){o9W>F2Dg;i7KkbIZ>*|zH2rY``@A}kt@ubx$iQC_yJ&4 zqCnx4M~R$lsZ4Ba29Rnp<1v6Ckg*5k=O)%m4rCMx1ctxU@`+&Qi$o~phMq;TLgq6K zytO7xZr(8@<5t*M;bb2x&`~oykMVN09I5*gz^ljARg|V?a+1C~N(Y z{swrbO&PBOK`bfE!l*jH`lAa>oyc`l1B-@}p)(9&m2y zTDc(be&}#U97pQOFy#CYnO9>|Q}ycIpw<;bD^@rqR11WIgIK3ne$r6rW6#&~ey=LL zLN60oDPXq*P`bD91lzs!*VXqju>{aG0~t9CjGdRqQb0H*`}+v8K?~3GueS8j5HP$y zPI^SS7g$1PMYYJBF@r*@$S2yMQ*FvSm#fWsOH3;{(6jAAdS04OND97^a*_lZV*ud@ zRQByO6)TXUA%)$~4o?8^2dj8L3Lb7FB{C=Yi-{zCzClukOm2bpGof(DQ!M3Fer+{_ z1pAVSoN@q*r*w?lE9lVNFH;TUA^%%YGuuhpw=HBMe}oQ`xey@8Ff(Jyx*8*eM!|C2 zG%AG|#0Uq$egTa00Ln6LHzO7K%ZZuAS#Fg~yp!>RgaZ#3d8VKrw{qPaVFpvV9kq3n zHUNXRtlt@_A9pOlvCiK*R}@}u$P>s=0ss)mG%GH*j9SeiI@yB&Tft45`DZ(*%^L>f zl>paI0)Pi2(UltjXLr~|cl^WyG-vbi)Hkk4yQzfyUgvsL_Id=wis_ae5M<<j9V0dWh%8Ei=Jh;OGHV!Kh~TT+ZN=+3Hx-78D_h)Ih!OUdt?J1av@eO zM0Z;k)Df{)sS9PC%$L^$-7S25&gzv6(T5p*$suuD4?$*CJS$;K^^2mvOy#bdwiI z-jg2*OikSaMG9t5=WOofhF$f!AI1H$Dr4BHa9huOfE(TV+k1(zdji)Fho_bJGkjPD zx=J$H*wP6_s*fG;n)h-Er&sJ$W|qQy+j`>({$>yTyKknZrv7-sHPXWcB7gZuzN8MC z_r-H|x^1i9Hd>6>3FBzL?8|okGA6yRV8x6U*|&%_XVbX-pL)soQU>9a=^M-C?u5sx zMSZ1+v@yB;uCa`0|B3&?4q83J=X5go7koAbQ^yjSyL-7$V>5mkCw*NoH~Dx2F6G|_ zs=akXVu)xyJe9&U8ozKB?SXxEI5rHm`2zQ@X)8RRb9`nij^3Ac}~cTK{S4PR#<*2K>S;P)LB6NgsJc?r)Tj9mqFd^FO$D( z$K>4JG5Z*ACA$+XXp%md3ciN^E_ScpH}(sVQm^o2`}X}3tB54>Sb3{Fy-h&-;7~*! ze&xBKU8Tt-(>(KE74gYaQJ%4e0p-c|anXwi4M&k(n>1sgDW#?2L^3C>-L2($xn_+=MqJjsh$z;t4Rf6=HI>Z zV>Q@Gx=i6<3!%8xez*K-H__1jT1@rAy&)bDo4zJPTZB{d7(T6_+YR2+naY%22LjWN zA@20JDc|VpM>CNqgMY}(AFv&xy0Hr|m z)HEAarP%Zbys~pYr6Ty#gzEwLzogxfE1$A${H(GPl2RUBp*hGl|7wTn#16X`r2cB) zp5(XESJ30MO5?t_G`i}3QOQh|V(;QWb^}q^$tx|P&zMt|nX@UshF{~eSy(MWL5Y;q zV9M@0QP;B~PIM&&TM1$!QeFmAPPtA?)Wn8Ep8Z7UT@VCaG|c^_n%<&CVb}dw%8$Eu z_(yhVjrkzI?JxORYC0l&Zny;m{>#KNm*#W&s_K#9xpyF%(r3KmV?wbI=}CR|DSH|3 zYi2YwtPDCZi;hYKbr(IXhYhk4oMFMrR%qY*7^cLIhoF{s+ig$> zf6&>WkP$LEkgkYF=t7uz6UhBzFBO&M%HW zLl=tj_a@1pJX^yb+E-$|DXrkSy|zCLkH@x-yZ%d_-2M6Y;ZWH0?kY~+LrqMs( zEWCI4mozG*Y4t$bgst&l)zT`~e~rMin&l?2N@&(t1DiGjfifvF9jMDPFvpf~@LC@V zqWKx!Z&K2@=18V26vB*o(kW}~PK578dpAJq)46^gotf_#`ZW4nQkpO+X)?yED*=uN zU#6QhyZ4A%;Q@35;9zMPH8f#RgIO%gNK4s7Oe2v&UNkgTx)8_VUaoTgFI=W{IMt^f z$o8AjuLKnu#VVm4!r@v)c42;g7(ggX2#B3;sJdRkP~ciFr+4%?5-#F6PUM-UNrUn` zQ|&Pjop>5a*YRJ*^w9~(0egNwp1Zr+^h%8YaRscyigK)ooBF~FPGsOcGhMOS0CvK$ z(vH6}M7^oBY*JeEN<4gnco$*Z*s$2Sl}1|SQjcz`kKbILaI0m~^!S&Y@}?;pja<35 zy@eL9rA8SZ*L?(*)1KOpr|7%V3ECN=5~uh+_DI`{yqi-1B)mbozl^!4C7(FNX@>Tx zKRX!k{6N+e7i5f;VR0>)WYcqu!R zcpdVG%0XI@mr7hfOh-Ff4sAngog}p1@!892K7=OV3fSW_`ox_K~oahpni0OH`VU_kpYZohtejm{HJ8J*0Q(=a4~RA2lqV@Ss>3DdO#pJ1-fF ziZOer4BOdczxPy0-(yu<-?co~ceE|daF3~1{r_+Ps{Cg z;@p*Aui_szP;(x2)CQd|%SPxWU1V@LUF_|H38mx{UAN_*FS)p3Ijp-R*I0huAt1XV zCEkt5Y!S5g%%~O%gr>HEVmf)+m+#OInIVk3MNY2YepP_e5AMkkGcCE0*l!MFwl8Eh zes^BQK+8G6#}vsN0+_9F3(JyxOGJ0((LJypwioMr%es`e_Wa@GTSgMdwUcto*K5DRzQ1&pQ4k$0%3E9 z@|qrST$wG#6#3~1Z}Wt&Id4NmLiC_F``~$SLj`n*A-yLME{(URNot_nkRfFJds9LT zwSv)Wox|K((PGkmAhmc12d!Kg>^zf0Pi&y;KfWw^J)2DqV*=?PaFhd)bx&ag8aXNe z!%`9%>>FMw`wEE3{2Jjrj74b~iZE*-$l{*UNeQ*r@Y42FWZRlx^h3Y2=1wdhJ+bfd zl;5Lhlm-pVBsPcSNc_4BHB?E3pB0A^z!|7P9vDAIL7gM(Aej#5=|B#HPP6-IXt-hs z(d@4F?DCc|bffKs+gc=;;vE`#`cqI#NFj_vxPj!_Lg z)f0wK>s=<$M%gS)2ylK!6o!D+g^a1Dgka<7VG@`d)i1jP%DN9=p&Wi7#M8KN_AVfI zKvf@2{vW`_3!~!s0cuTOh?48 z(1B3lI8#C-)9~54O)TWr=cl_Dz*LC_X{uM6w*lb&d`1h%$ns@Aok?ayG_*28byg)(}h?0=J875G28BA!U_~lXj$JFuKD?7500xFR&TRIhq zSmJ=u*C6Z>6t0@k@QqPmftK%dNZ_cD2eCI7>nf*tNkqwShrb!XgcO2fe*wsV-ZZIz z5yi9C4k(+JJx!jm5=1KwfV~W{Ks<4PzzSD)^c6K3b(A>Sfn8|=>fszJeSG7yJUS*)>jJ=9t#XM!t zDA(c7VShgB8qiX`=;m_QNFHg0nhs2U?+5v#HYldG7d<)Vg%{HWH~%Uq-u_rrdOT2m zNr|34zB!`)Xs-Nnk)v_iervX2s`#$Q|ushkuQF~jxDPs9IeoP$qU0^)y;qI|SKkpd4q+4pPu?}LIw@e3u z{F!73Af9h0z1MLEX*Ho6Z+>U{b5alg>?e$hKks~_7{wRaUG03mt8?;^x_6*Sn;FI3 za+H#MTpAqt843ixMI7*zOOb)7elYt~?QyNw3#O}d8t{ND@_8s9U_m?pvy09F%wPdW z3+mh_#-A$U1a~E!-eV&w$b=XUgf;34Y`=s{z|EoK93dZ=n2sx>c)u~vKe%>=m(GTx z$WkW#`8=>hE`Oe|@A}XFd=NujM;nHrhzdp->}FJ#;qi@qf9K4;ijL z>oUTSfXW9xe_wj40J+@qqN$UWmG9~<+dA{qms-uOu4X4;nL+mSX$^g zgoXg&v~U1U2oE4q*zmzmg(75iBjnv91hQ%ODk4;eBQ9=7T!KfcRh|JHy5XPPLa&5` zB8ZW?A>rQVg#msMCLt7J9KNa!`iySKKZuF-}$;iK){qg`U7uU7!Z zucKYFBMs-H_+A50LJWc!u-6X2sQ`Tg5NfHav>l_Z8>QDC6XhNo6C3-WGU{e5HW5zt zItceY21&`uDb_kG{>pYt6+AxZ zS2P9B__#8@Vmqq3X=nSLEKe#mm!%t!{-42V>o}0g&+-`F3yeR(tZMBA1&5U8Le& zV4m`d>z1U;#eNFV20T_H$w5{KSx7YRza+h)q&leZ-)niJ zk|db1DP5zSIV+I<-R%I)HVl(BI@y5PGL*f0p+Dt+ujcIw_j74ajIjn$N*6OqwD$yCd@ z?|98PrM}m26)bm*pV6~fy+vtw?1JYjS_r}Znly@rpUMbI0m+#&5J_p?hsrEF95N&z zCl&PZ6ayli4?)OhLSXR&)9VX4R(`BtGKR)2Py9XMDFN}=k0ys|R%EPFFkm%;MNVj3 z&}z&l9ALxmnn+VDBRhkVSFo|)FX5?{N@!#>S*h5GW;vCcsj1)y0nwadwZ97YJtCeld?JBmNk!cDsn`bYJABC?_5dY^>@?ElvG173*Vy0% zc-ducVv%-oFFXlFkOVm<5!i0+SgJ{*Yuus$YUx%I@> z+}Tm;fQ`Qsmo5)dSOG7PZ$Q=nVPl9nMLA$PJL|_yPZ3CJFUyPGQuSbgp&TW@CfKV~ zLil%h)s*1ID#r_H!U_*J}; zq7b&75OSi#-36}F6`ti)I}oP!2Mw;$4R8e!ERdaqt9UIW96UF!!bl~}Cmbhm^|oP_&K z1=GN?)@%O5ZBoo5iBWGAM|vC1962rJWIfBw{n9vVHWe5MATlNq4D)>$F7*&A8a;FS z?7siSc2Nn0d|PQX`1VnRN0YfUq(sy*ps9CAY#|(5aKf%T=06eJVzJVi`@Tj0r^%hd z*59zY&zo(BI^LNlbqGaTyRi)P6u^YSPd2m@X*=%!0Uj81sNU!>$ZeCq;%9~lq*<3H zD0-!iNg48<@%`sYljOz!Se5AAO}tI+Jm=JD0@H#sI`kC%R~(5R#xm7o%{qz#vU!+> zC0{Wwb$DQlVxO;dx8!rWHs2b4REaPCcS~7bQxRQ2da=LkYY&4)H9?KW3lZAcEZBQZ zZ9|8h(r6y<-Hw%$j;uT)r=ke^cfwe+D$byX^|e?<4H`KGK&D<`j9tr8B)lN5Eub34N9rsg!%WO7^sc$ zlrs%720t|o(_I22(FNb1ARO%hwgX0LZwoW0N10zuYWTeg$_1MUZjFGN;U?^4MCt1Y zOL^x4;g&+9zZS&Q?tIUJW6%YOZdfRqU9b&w9H;(sjUZ>HVVF>p*^qv$;n3%%YRHVO zc_LvXQ;GLSM}ojV&7hprYmc>V8GrDSb>x!bv0_+oi9i zfqmwT$V`N5is+I_qoF2`WmYvW21_{_r^jkI1~@>2r%7hU8mW4DLJE}x0>jQYX#Nu~%+n91cegcUoFaM784G9l=u z3cnR8&`Uf7)j#Q`PVVu%I z3s?@M8)TOjDXzlfd5{Y095IFPoT-}TgKVWVq`_UINwdqXD1ei!CA|S=BpUK6gKn~o zOHnbBL_-AeDQE>GnF7qCxCOMBgozGhV-V=TbXx7YQxdqXh1H3``5ZR0UFPq7i_-0)KgFt^5FMDvg>tnCGu>&>^SgB=*dz+&gO(%^LFlk}Z|g zDi8Zcu*uob!>@ohzdtJ!p{u_`s=%WtHU(p&#?3=A=xY zHmw-aHY$(feh4ZPoUM5Yof>*#ow&D`qI(;sot7Z_;Yi6ciMet%8D{3@9e2mf5!arxy+;?3L;%1_9Eb7 zpjsA@TTuxmD-%;J{93bxCu*JMU7NpzlwN;5scA!eEwO#6+rm6W`AQf4l~yS+S}h?y zxj(+o54~^KH!{t_+`xPeVQKx=8^>#X7U9q3UP{Tbwi~Uz$m%9azkl%?W~%M@q9D4X z-QVtAX4fc3*CSsG;eZ#c`CI8wzMAeXcXiPjN6B0Jq7Gr*^P7_8AG^5@iDF>d-rX7SG^Jt9Ims4BM@?)s>o+rbtClwH_gQkS`QjvLA3UJGj^4RizP-vKJ+8j@97EOd z-MyCCQ(||!DX&{i2*mZedAa`U$Cs}z{TUE@U>r<7`&!Sv|F+)G!0XFZ*Peti{vVtE zh?+M+*0hYlThEV3-xxWZ9_-ygQ3vYxo6-YIzYDI0?fcgsXw)2J2W)~b8TH-srMj{l%j%GV3Sb}K0Kt?sN(3AyT-S+&zZ7Q;mWqaF?9J#{f=z# zGUL99&&Io8yFMqB$NWOy8`dp0KHelupL3)8DAYl zfo~auW{)uo%t4Z?SY6^$^$(t~`4tcw0IkV!z(G1mLQX#G zfY#GweZ!V)HIS8i=F*R_UWdbM8--`n9zSxIgI+B~yb&S%#^YfC$Zr&?WOVK)y$m*% z(NYur3x{LiYPw(4w3OgR09;#!Q|n9BN#&}0#8+s#C8ygmNQ&V0o zb1;V9)cA{Nq^&v09&E1#I$4h4#lFGgy=mOOYj&WTJqE;m}8Z;Z#l>R5RcH zv&Q5LKwc@5JY5tWgHN{^z-tu3;;_UMD8ZOk2gb@#gI=+Z=x;;`yM)3Uc(kM3AzA~& z#(X142%NW0iJ3P#26sV=3N(TvumFUYN^W$xj0>?o8q845^0n>uU;&2n>>-wAfu*Y| zhZMjPZKO@FP$+TMukk2Y38kLBI&cY0r}?3Z5FQA7ac>vx{sp8B#u06tfzEJ91a{X{ z%i36D7a7l5P-?jvu4Q7)2>x(q^Ya4jtfXAQiiKfaf}`~RID7A)Cc?k%cT)&0^j;0U z_ufOV(vc!)XiC-4i+~ATdXZiXy+i1rprJ^yAP6W$l->~p1QC^&XMShS^URzxbI$u_ z^VjYlyWe|fKRbKh*Y~=LZPB1L=$GKy0*am&C67W5zikBlL0_Boz6FGfiBY(3FMl$C zF{LHTGI>!9bB7l`oV35ya9iVhne)OZ3>HjobUmL=f__sc`c4{n74=+_@C3p(!;?>k z3vxKTbbM^qI8*O>f+6~BG0T|s>Pb)E4hT*K4ktSi8bC>sr*%#;d?@66OeY~``Bg&jWh) zUYcGl=cX>3xsCm;kdoQ?`(>%Q&8~h`UGtg^shM+Ly?pfKo&yw23*C6c=P&*Ts^=WU z+^Ek>!7GurUy0u(e!e3x^IGdG$*+xWkRb2!Y7+@K-uO!l&6)VOxG6QJQS9Yx`HKH} zBomppFGUA=3Y+BYY?S7|bEnLUn{(^gFJj)JumUh9&WJ04dvjlMc=9n{^QTI1ng&74Llw=5GiK{!HKycZ3@)l9Jt^l zu6q`)SLa=diV4n%SJ(~i++;FD-@tDe5-6)2P8w~2^G0c?& z2&G^tWF`d6G6#YQLutJ3pef0`uxRmXvjr42=xf0@V;pHB0P$A@iSHw#ms9*8H1BRtTPtFDm=mB9KLB`NE5I8Hkm_LuBscGu zQ4OOKj2sExDXsuBrj|u|o9Tt}Ck(g00ZjZ4Qi^0W1=w~GV!=_;Uj9&6FGIp^{>uH> zmH(z+vn;ul#U$o86Bd*kM>Bo(3$UZ?Em(Cg5C8Ur04~o@(v0VYLXi~mDLC5Z>ueo1 zRzTRf@}+hZ5iH5A62i^`>T=7xyQ>J2ce0BMX0b{wjwJ~)Kr=_q572+P%oScyl3iui z6I#k{n2Qz$|@0%E*v2{C5V} zr=AGtLQ-To61YfiA^<(>x8VG#bP570Bu456To`GzyNoWCko$VLT3{86B?Z1;>VrE- zSrN{d8*J#Lf{b-~wlgx-u@eGc#%IPF92LYptmty01M`xZii@Pzi!MXK29MB*j9sx* z4)hz6&-$6$JtKU@Qigsjg4_vX?#Va(Q7HL)Qh-lyiTFm!dg2Faz%X6VBJ*8z7k*GK=)P^hUmSoJGV( zj=9J?A}yJIWmMf4^K_NS+HaEFyR9W;+Ufq=@llEj|GKb3@4x}L*M)50{8QQ2IQDo7d-*=1piOgB~dJk4%b8PL5i3w|FC*;Q|;i-V`ePg0qzLb9>m#ee7Iv?pS zsrmYE-+-vhEMXh(gaj* zLmiM6bm|x|eFngF0|CMlxRrvqlg~MQDjKI6Hd;ZHQde0P+1NV!Tb9&F%zxH}A zI$i2=16ba)eh_Uwk*IDd`PdN?wm9MT)(St-2kh4q+==&==IFN%$Xnv2Yww)tHCW0w z3G{Z)qzXaMwUc8{?Z;bjP(hE-ts~70#eBAu?7q@r;mI?zzE`YV+9`0v)UE3dVye+Li$K`F`3Oz-7i2W3iv z3Yw!b_N|rUUE5yYmW@|GD<68QGgSKltmI=RZ*DY#8we%Gzoep|eoOxJ5So_`$~C*N zHYdtC1iv!tevnMAw?Y62u-Awl2RKEpuKjN=i+2Z^>-R_=wUDG{Y@Joz#cz_N;+?O0 z#z`3@-vq{e|GEyU%fP(>j`y`+nxKjL(NL>>@`8tOFLR=Ef}yIYezh6=Ea}f`nNc-W z`#Y-M@W~i|*z}R))Tt!Z1)AzFo(lAXikO=GfyC6A>HU9_G>}ZHjTRcBBN`4VS}s3Y zzE)Z;i`5Y%rJUbu-bOmU*XrUt^a{rGhJN%nGwG>JG!us*)2PemRJ5oc4DM2lo_>tJ zt&Dyaj2v7{-cvLYKbWvm%yB;$pU^O=;3-mhtp$Bp)LKUZ_e17Bz*!#thwJFEUr+5yLs6z7T`=SC~%&JWJ31F0K7 zS{o{HH@;br-Gd-5{1AUF5KFBHn$^5$^h9GT7sv4fPHApFOB=>E?u0|`wK&AZkIAzZ zo~uKiA1zL_mcPQ$H-7%$y(!ISA8()&^5 zwX}GXzgXw7tj&qs(nqM15w5x5L$TJZjs@b<#D}`ILAdCY_Q_|{n(<1KKvTu*UJ#;DqmLe3gkl{ADc4;Je zETmqVPZ@Whyo_K3)TWO`S_0J7PPH{_rA!$LJ-yvGWi$LTs zq)Z{J(%z<5m95i%YCIro^4eN)??hc;AEw}QLx)a80nE#63N=SSS+$`?%Lw_7Jp%+p z9!#W&gBTI`NkBw;0Fg4vjLHT2ycr^mfg0gVGdon?(<1Mm$T?yFJpe|6sJumB@{P)fhLwcCHjIVJcc!V%T61;C?PZDIpVlyx zQMPHuHWG9AP>z>lkt(ELF~G0KhCkMDnwI ziS&0XvJEXd4Y_8W+=K6V2Ft5pK)+_m(P$%=AdR8s10;e+7-2^mD=r1$K0bxU1{vrs z+m)Qz5zCpok}-tGn5{k4%d<8n>X4T~5LK=UIvU(AsjwQzmY)sM$?Ui{8|*u8<#-t6 zy%8kV`G#p8|NM`fM*nfxm^4lNQ;-3{bT%tS7$fT_%SX0?hA`NwAk5U35g&zYbvunC zPlWrsj65OAWODqLiM}=g4oc?%SDH*FGAPJzp8G=pzw4~;njE&$CdlS|?hUQ5Q;3GW zEz+>l@zIGelcu*4Lhm{(^1ec-E#38v4NdJ1%{&jy=?=wKhFxy?+MfGtScR5lhcC*9 zx7vnl+dk?K5O1}-OJq!O)Fr0>Gh`Xx3z1vs6Gg9rd{G~utNl0ydebm8u)DMNn z2O&`_@_~QPAL|D~(82d@r(ox9{97Tx8@53k-PoW0P|_S6^JI`SySDcHsFFk}AOhC18ns1feETWX-aZ!UIvG5Su;SjDYb zCIs1m1DRuudlFL>qf~kxU(E#5{5+Do$RG`Ac@khnmajV}u`pwJTD#48 zP>Y@p{jH3ePnEarL<<%C3afex>n;kbSo9hTKo+|F<D9k#dLEbHxO7pDcplf%=G9(*TVi9Uj(^^w0RJYSoA zGEc64Ud5rQyZ-j3Px7V5TSM`^%I+aj&IVo>Qs-1l=gbA@gPJ$K+u7yfUiwY`3(>78 zC~+&nFqk_+(=|xkP)8KXy!rcD24LBSRDSBph;x;{g@frJK#tt7cfzi#%KD|OU0&f7 z!Q9nHhN*Wb)UJM)4;#gb(U(6`&K8k~2^85EKf^w)2SH6&_*}}s4ueG0KN!r=m5+hU4Mn>2NfzG6Xa0G2 zpoxEZTY?!WfI23J57R_(6;M^?hd#IdKG>&@$b;@TOH}y`*nQG2PyieM+xtg@Ld!1Z^CpKoGo8O>QosnP1|z} zvG$wV{hmGBvHnZvt@in^2%Ga!_b=nmShbd8H`bW`xy<$k<8{S;DBP5uQFkfu zRZPi~HO-X%g||RK^12O&CXr{)T?%r@P3U6LIzDhePkB#QH1^x-(84?ie7gejZx?Y`GsYL4tIk zcGX{zeuqc=<5K^{_7dmB$twURK@nNvG*3y`2Dypu;6BlQoqJWnUEZd7hn;DaKGgyh zW&TLD4m&%d&FfMx{hOXBK2S#f!Lt-qPRmh<*K$_%3Ox)JmAe92SUGaIcD>)nh+{$F zw_O{W^1VD;{>;iL0&0#cbfx-ZW&U)6t6B$t*4DT{X)Ec~1W2JAqp9|8!^?$pvP}pA zK$iKftVtq7s1YKcuD?5&2M%S1sHM5hK{(o{F;wE06zE{8>g%}oa(-iqq-v@H%wNhVbgKgc?D+xKpo2643V&Z%O}ZB zQ*5@TQan&q1bI@nI`guY3g%*}LrRsw`5d5sr}_Jd^_Ut0zr;yNg3-OO7Wl*I@`^hm zPUG{?kFT?@Y<4ORsTvl^AKwkJ5ctCZNTZ}`nM0zFY!DEf+UE?ePp zDPQGwrC%t$yPoZ2U&S3WXI`{aVQInRQM)bZS+`?dGv&IQfx{JPR(kO^I13Dbs}AfJ zJzEYX(0IvfcfyTHKM(02==Kwtz>bcGC5S`W;I1?I^QRl#9(Nung!Nu1DSP-SKYDTL zObu{dK#9lz01yoTYyol5b@mo;1@LhS^YV#H@JjIVO7ihZO7ly~2uMi_Ny-RI%L+uM<(>L?j$s+rz2 zwlFbvv@~>Zu)S+<>S=S!)8$sUyR(8T0Dd3nVNPs)q3 z>pMFauCMHW_XoQ|V$cSntm$Kw{^LH%&n9aFjhY;4o;C!(JqUlbj1M&tFZ!_Ev0ySU zxU|<3VcOClch(p6A)T!dZOHZ@G%`LRF&qMe0I51GCRqKL%qMyI1yL9i7M?;}S-Dke zm2R$KtszH6Q*(>fIQuQP>X*Ull^5I-vN*XE=^FD2qY|Ue`q>7%cCV#3oeiH`P(w)^#$Ee% zL}c&ko!)kd)e-~CoMoF`%}XyrPj;8ycDH9fclcL?>dYa%BpsR|isyCiv7v$y5D6V5q&|ST!?noYX zK!NP|M)8nC-_&2}WNWg*_*;1KuhYPZ3L=FlwdEgXoekUSUr9jN?_QGZngq=;jOgmT z=P1A$^5`^(QB)<^z3>5<$WwfDc*#nL9_e1m=QwcBID|lQBV{ug>p?GFOxb6@vDp~k@v%rT%RT4-eXLnD(~ zolu2vE+l%`Jzg30IQA0XA&ksT!!*m!Ck&SOi{%r)+w_u3+cFXa9MC4SLc&GSZu z4@QKxif<+wZixqfEqGEG9-nppS-z}2I}R6nE>M=pU%y?RBEP#`k)bENQ~C6k*G^Ub zz51Q%;^5t#8eF{aZf#|**KS>Hb^UIAW7qC(1Aat!ud(Bk*IrZ4X8m4s-`Vb73jrpw zj~{0A-ftb_Z`f~pC%?DfKB*^i&@pq%`=E2~Uc*7xm*BmF?&WxqYh`$@_xIlI>W0Se z&-c6bzP~sc5jpHT{p5Yv|7)}1@a3Pgy~9@kvFH&2%H(r2KqAn1GzeGNKN_Oe7yU6z zZ|l=qewV+9EC3ijXXFdI;Cnd~Id{XMjBbyNqa65Xq%1AmTRgCV4mt<%+l0!6Tt0 z+p3~(N9)ymMyM0_ZT<&czLC+(eq#2Q8T?}%{5}~xl!OAsLvT|EmD?0!GV1>vAfk@-E zf4Xj7yfIE0GoCh}oEJossv9*3*r2YZtq3_f#3atZ$kY(WhY@71DuG%+l1wR|?wwJf z44*O>(Hj8tRr-{(dK`>~GYACk#V5c`m7D9oEBP;~fvz{qbtV5*Cs+sc-v`mxdq}|U z;Qx!o|0(nT#_@Hf|7S!Nk+%B(gz|p|?LS=prQ~&{8g^;^@KQVE(g1xulHrlL{~>jJ zeDwc>_4UAB^ZNfew*T)eZkcNgek;cc2ZpXQAB#S0wK%B$3jTKVUo2ic{ME;4#z{UE zdtDaTGi5JvCmifl<<+gG$*vpAY1RuRFiMgNu$ z{AM^jduD~P6#m$#L|Lq^)6C6F=w|n9vZ*+EtBHeAXQRE%@Zc9V66r>SkrwVAm!6<83}wmq(^Q5%8fvI~lfI-m$|~H5vv} zd;W9fy&md@^8gs|{oE5^+~8D1axn8ehCE@@rRT?5ZPKXTL|^YUi>v%M|D?$6ZO_%c zdC4eAO1_ytE4ge7a-95X5 zCE-_m77dr*UXG#G6I_XId=Ez zHgX+IPn}t4IJDWx55f)c4FzH!SY)A`WN+Z7S2$W)A;WtX6 z8NF&Ja$kP?{DQ!ZX`yKT(>^|AtR4g z8rn@hEWbf#Ler;rB!q7V{yaY-6$F-n5;8VidyS3&3Nxzp$HAARUERlzmMPHOvI2-T z_itqLAq?p7;gH(qoaXN*NZ+=tiB)JB7<;^vJ`cp#uS%>KGlzq>;ksc|rnC%!O1QngA+*wV^Kjjq&=m7Jy#JY^>*o6o=ul2A;4 zX~vHjaRPeg&-GT8VTyQmKo-EHp`pOEHn`^_Og%}q(V;$@Npm-0AWqH;8csGqq@zej zk0wA)5ulB}*8rs>Axh$l75RZpQwYUMsD}tC+{9e@2>`(O2uzgQATXUGHBeT>0rb># zk#VonF&Et`ktM{twAoQ0Gv1ksKIurx? zNj6WUN*z7Zx@SFV%t*VHAQ7G+CMbkp1B`B|WL`9+d;M8cAIodHt<-4mIi3IIfqgq) z>08GqgH@%Ha>?mZ$9G@yf@gd3B!b;=7L%%4W6?ryljky`r;iz?0(0Aa!{30Ev+Wc# zbSHe%PKq5=wFG}`G}(nE2b)s!spLNq(zr!;V`iV{LNOkn7#HALT6p_4rGQk8;Xdx4 z&bDSvB3{kc(#wb!eDJlmFKKZ4?(eJxsB74VX!B_lz9YLCuPcz8Y8?ZUnKQH{Gsmd= z+Fp%T)T)XIYo>6^l+W$gst4=7P3CK?`s3zF|I2Wu{AJT^OJlE{++EXZ<)3w2#<$iJ zQD!AkYZY3&vyEtm2+QOfW9zQX)+w=wvNki#cP1<%_!k^;FUf(zL zF8-Y+NzW%pkxkxXZ?jZL)$*~d*|mhp@TagT{Nrxx`*0rvfrgI}v}cId$v)-a`A@zq z49-*{yGY`~uKK9lTrc_^cbkv4F+rcGzoazn)9=Lw{`2ho#hmouNBwQ$(@)*xK#fmW zj=6&ns^fOgtp!;8?Z|C-@$!uKo%2GHIB@{<`RDxrHW`NpXF()G8?!X@gsB6|s?Iu& zt3i|m=p(v%I{xTyWke+3l6PSU&0arPAsOjpiWV&+^VpA!1X*T$AFwWrYmBCQw@jqc zGe8}McT1(dz2Gos#k z=SJ?`=GpIR`F7x65aGivxCUyop=5g8{%%w3VZqzPwd0Uy$jucJyZ*)Uq1+b2y=Su* zOw#d#sVA)N!bk0-%H-mA0&=&JGG&CDX|lN+s!p%SbSJ*~cBH%BURDpceDz21l>Vx* zc*~T|>s3~DL6%V8Wc??_;vHWP`p6$!JdHi?eWN<}v&<*rE;>KFAd)B}_qn&{aNewK zkA$-0eRiZ(=3h)ywbIounaOB=o-_6DurJ#aWX}EkF=w?Tki)t7wSsSlLv+E9chg=? zg|9}=;w!q}e^ZMo=$@=ns2Jjqn4#62PKg(D46(@ z`|GVzy+{1{{4~vZKy!AZ>k+3cq0v-{>xR>TpdNdYDeZ&O8g|Rnx2X%FVL(h?_+P7Vp%jCbIsIm-Eg{- znY}8lp3Qp~j6r8xw$35Mhq<(80#ODqEMv6F)nDC^ zVq4cK_aFf8!_Exi{DpnDiTx%3W&h>F7aGlz2u%}E*UOc%>x}l-ceiGU(fEO}xbJPn zL{;NXU99K(GbHBD*<*f1j1eN%t0uBG_YqPsz{n$JMHg#aOKX}RK*JojhOx7zr+og| z1JR99G=LUVV@qwrr=%n9=sW+uM?5UgVAb=$z$5NqXUqZM9lIGldkf9yo)AzY3++tM z3rYB-7e8V>z#K(C=u?*SW50&)L(D1T0|qg-U<^Uc5Oaf;n{uSn;(tMa*? zeu@ksx+4(?=9*L-n-g}MH5!nkgP|lcW5EIlFew_ujRr^15lb>BanPnPe1z*#gV=ho z+9Zz5XmH>fCDntH^0A%@tV0e(g5ov6I5Dy9%7nJ%F3MS7;QD;u{-AYdR#l0+; zQa$QUjscxzgU+%5L2F(3B8EF0Cl7na+6x=A{Nt8Qcp080|2bYEJN53rK=y zWhn7G?u=2wCI!bl0FGsKT0<(P3_!CL;OYYQ(V$#z5zToGZ$AID?JRSH&`y{oMB7hn zKA1BozSizeT?~l6161}=Mq(YLMn^wx0I(maa3X;_J2_Xm7`pOvT+hP)3o z_jQTyB-K2cYYk8#$_o(8+b@@*#3+zk<#J_!?y-PH1JzS$Gq@%VZ6HdqSt*q#B3uZt z%_mgUcvR@5XAw9j)Se&4Pnr8!ad^~&J;eC9Mj6YP=ouK6vz1q#h)&E4jULQfL)`w+ zdDmtuVk5g~CD`leQ^H;iX*f8i^}N7sHR_wB2~Agma<#70eJ{^S-`jZwesx5e^1c&c zd2LU)*0lU5&|wEhg#j0^@C20--O|rbh(Zlw(73#*DNJsB@xXw+P3@y2(qb{@!mkyj zg`Px9M7MpIoLChir_^Ezfnxq#xrB$s4pxy@S8{bWl<{wIi6%iW zJrk6@9-+2kKG9;QI^DxOq#&MAX2L#edMTL}k(YW^S+$Apohv}?0+bNr>qw@K{0Bd1 zEghAEm)!mNYa%y8yv}Sa9~0ft;E}2ksN^Ir;jOQJITskjOw9DVX7mi6FYQ=;p6G90 z>eCY_sx1D2&sRHK>}Kk9@+jxJgeLgNEeoJ!{}q{6JN#fBFs{aG|E2U)ImHe+WWTkW0cq zXesNkI!Zvr=S{#tmhx+A&m2LhoMea*68PpWlvN-YZ!LDiP{L&F&gnQ&-$IQ=eYECC zHGC^e;Nn@B^WBzS!SF1QrMAE$2<@4{EiO!oPDaZ3HV8ru0u`l1#^o&bWa}n1xC=sa z4IvIJ_eQmpMc&0IVblmdAr6j=+K$kmTqlbvi&AuOxRQ zV-y3LlhKhtDZPOJd^jToM1cggG7FoIRz?pC0AB6M4w@&C2+sq;Gw7>BO{rTJV7~L3 z9omy1!AVfo6L5LCI(J42H&U_4jgosjeLNq;gQOzIX`zlt+3^4yvb-;!C>acE?C8`& zLYfCDbG5pgpuh+lq^zxpQCmjZ9PC{rA87-DnM+ToKu?d_8e>%!3&Ffd!A4oY+7-+< z|2Pd@&Q@5)Tp#r;p(>H_`LS;K-vX0?a$WtsoU=hts&uUuHT^S5FkDh=Qs-K|sNqa) z{$iXc>0aLz6iuOo?ka`=a!65*Te?t`h6fu&jYo_N;rR(5V?wu8+7F)E4Ol0)j`Le=FWACsfQy*=ZG|=LclFRVJSd<(TEC0 zP(-Z@bT#Ng5e4qcK>294A>^qT7ep4&lI>8JKGNC*Ov|;v?B)>8A|J2Duz-w_Gre#w zBKODl9!2ma=BpAR_s3(lyNRC^i9KiDHPkes6aQ==aM&(zyozs8*2VIP-DHfQSd+ZE zQF904UgvaV+c_wZJm|wXg0e;amjC)upDfKvNN~^aqa#sybt%VSlQ2G%z(B@?G7iHp>wKID?rRA*T!$vxO9b}kL2ZFoM74fbD;>)+9y)A!ZYs| zGS!*}Kh@xG7M=QjB^PsieQMy))uYKJ?fWfA)1kBu=^5ot5vSfI9&WDKi4B9X- z<7y{gBMPlJDNjxgQ3>FeaHDoY5$X>1Z;vNGT%I8w(1m>o#6!$m-2m8Cus^Ldi#bf3 zBEB^6)g{HNsO_P!iXd*6?zpX~*9tT|1e$hG$vVJ=r*U|as=^`{wbtaaJ;(oG=~bB0 zd2JUQp;-R$1v^rnCoxq4KIh7De|N3v)j4SUYi@aAS|}f68+W~&OSRs!9W&J%rxyuT zu>P=+7t(Q5xQrk0RRH@5o8g%o(-2cmcae$|$$z@CdXx@T^;z+)hQGoz9KV5$DnvXi#D zQc(0=l?WL?8w=vGODB!IER()3Kn+?nXm^+FZrARfQY3$tRvdA#2O#fcHl4yAo*rFy zj+_78zR1fY5e;(H;<~5d+^)fm>k>paCirwvH8n=D$)Fx%cw69Xwa3hO8rR#cwrfNU zZUc{T@V}f+M~Am*G5{n71h7MZgP+`RkVK4tf{xTxf(s^Nk7ip$a9S~MnRWz_{cBpG9oi3JhXK2Aait#r#j zCL|`)PRWzsJ*D)X8PN0~adq8xaa}zEuS1}`Z&%jL*NIRl@Nx_ysJ1(A`vR@``@s*% z^$bGHdbHTEGlXZr8H?49t#~kN64|o!mqYzdRAS`Ue_y>Flzj%c2AaRI${Ev2np+(` z!x0fB;JNUz0Gm9vw2n1|W}=708r)WX-Q3c_M-HR!WhTd9;bq&Ae-im-J6v`+jfTp7 zZj?aZ9H$PR(|MSeY3yCQA?YvagkOH#vAP&9bIqSWsqJ+r(fO!k3F+XJ)+3p2 zYl6RzBg;)kOVEc~r{L_?Vt4n3uBXYuXs_9ZA6|Eg@`842)Jja3zA#)1mZBVG2L6P1 zJ#6aN$XiNU@bw?R(PC<4{>a8OFWPw&w(#Zo*H`nsE%v|u-W^oT9ytBC#G&^6v~_@7 zd7Ja!<(HHDpKBi94M6V>f4=HF-K0hCt5hgl!W~U}PfU35eE;4I2@h;wUQoQKI$f)I z{x7lou%B}6a&m}Tlifn+g7qD`XGhjr>`L{>F;Kgg;q8%-7SUTgjS#)NYW?dYgIKCp z2r72}m-Io8j>b5eF4MVd`v_1?Zo51nq-8k$^}P+6)KGM3%asJ4EZ*s@WVHz z9j$KC>i1F`%FK)KaV?S9-{aDxewv*al^Y7He=>(iPXg}zHW{?Cc9cX+56i@utDkI3 znaNXqq_yHYl<~JP<)biBP@%j)@jQPyO{#Ay!x3#XP+9S=TjitHJ&~$mQC+CU(f+6+ zlIaaDJ5BwP4zaj^KAKjH@94OBujDVDOHn{aeqQFvQ&zx_1jk1NBsw8@qkW95JBKU7 z=qpqEe5;<(SsoM9_T(G+u!E~Juvf5^KlTv1V2;prE?PSxSzhiL<}#QvTv4aai{swS zg#^%vP?>hT-S`sqOu2gpm6jxGfJH7fRO<~a1B78W*dE3(X;Cv{=t&TI8${;cT@%?X z!CYi4s#*<+tfH4LeEe`U6NXxgph?Uozm4?Z18U1)^tqojH|p${YK))s|Ers5Wc|mA zk6|}-235&5yOX48Be!C5{0qi3g%8eXDMVvS3*CVTQYc6M4K-{$)C*XN%Lxz^YML;G zp_1JHRYo(jR{~s6utA3NT|h4}I{zshGbnxngwS+)HFoFk+)ewuo8|hlQ3XY!TH`sf zR7kzTh0Nq(@>^+=M~JI$lLgC2*!^ZLrHggV`r5{9%`sej=++XlJpwW&hXLdhE{H_3 zoVhXO?~NMNx4j;fL^hB3e5*AI+Z&AW2F7w?D4y%`v$@P9q9xwjBY|V0Hm-!6QNGU7;Ssn)r zEOpdMX>(Yk$?o6rYrd7llYSQZjoA{*SU>sNwuzltH0_6>^;37*mxge6)`Wr<9pRjD zYyObH=p;QFXI{$0&AE&Mjo19pD8iWZxc$U;_;iqVLDd);v~FU5 zQ}kgyL_Ee;|3l@Q;)|Ir6-8IRuiH&>5=$A3kuUJS%IyNpwLg*~khlB?Cd?J~ZI+w>N!g6EGw`cmrYYv?oh%6FW+16JRQIp5IIcEYp%9sJ z?OT;mIuAUr)NY&J9uVLStsuTt4l`GM_?U9;uKXD>1|Ew~)3aN&n>0*g8Y5gA1idDY zr6%h7L3Q6`3=97)Nt8cjT#cD+`usaH+7wN25xq8$_WXgRD8|tx^mv-P$sze?mLa!$ zzWwt@lemmw0AF`4l489Sx;X-gq}w3(@5wm7;XxQT5(|fJ0=y;z5&gvrHtPA1t5he9 z>f5D*sO*g-E{}H@zrTYpbwuC18p zOzr^=wOfC=?e!`zTmodAqlxbzzz`DXD}l(njX_g$8!|-+A`x4zI0+pW;mL-3-{&zyGHr`YDpO!)~=Q=8`!09_n&sGg9T@mG{U$K?s%+?WTwUN#F+JW=Yy)yADV$ zXv^Ty1G@Y}fnCzuRgX#WU6XOtZq_G+ZvX~Vsfz-MjI+`i1+6Q;x^mF_n=ebmsQWWm}pHtuYb;d!HEzahql27;#~8#z%hIZi%`^Oxs}E;>XD-ELpu^{?J7u2M5yq)8|7+3cWcw~W}BJaCWOlitEr<3oZkCe!^3O1eMH4niI3bHzPg zGpi}3XDat6mYOgX&_*FOranzg3)c+oK47sA&qcT~hG|=GT{*u>h;pLjXhcQorz`z# zsNpOu2;SHV`_Q%2Q2M5!z1hys@AAod-4BMKi0^*ane&+3vz9KigUHVb;L`T#L^h65 z3kGc|Hcatw%*yA;8sTpZ8&ja2M6<-vbG2`E#S@RXz@r&zfSU$({#)tUwZ;}2+Ttzj z!y8midOw&u7^m{@FGXNBSVx8Nqf|Xj=*&jZuSC)eJxh=E0(EoJfOIoU zu89$mv;7Yjj^8ck+)nfcv}>2u+}scCS}1LJ%*2yOlVIec)i-F7u9I94c%zVdx`az* zk>DD1e1!BZ3c67VkWVUuA9`C-E|0zbwQ0DiIO+U7cA3+VY?#cyPnRSp6{<&g0!Kja zASgeKuYf6O-Q9pG)a6Jz(QAN#YwdSZt5h3Uzx?WZ;mgSaI1j}|3=oTST}={#p#VmH zzu_c^0bpduMg4i=8)k~)#PI5Rc_Qn(iTQ{4cRJrE#7fsqibhO1J>O7B{C}|V&aqxoyCM6z6_fkqQtY_6vQEm#KjqW?WPGs^4phlhFAo77{VJjSlZP> zak+O{LbDdso~{|6XjMZ~KV#O!1lrZg{Y&kViWIeFXtL#4aUwi8P^g(G@d-Sf29L>< zx$tI=tH2eqYus|ED>sl<(+q`!BY zZ&Dh`PbX*u3>~d=QR`2i4IhH#ujv0QtSCrj!nFc*4Q4hQ(HdeODy^;S*IA(T0UjX3toYCKVC;LJMFCLJe}_Jp}&HMWE3am#fRkFp=VN?gTA zbbxY@6_|4wL_MRUX+~+#VQe2GK-zw87iU-j1yMbe+(g~15eD-fxWe@$d{=*?o@zo* z)Tm_P!PB5Xz&F+vJPCpXA2I}IlSI>f>N+%ON;9}vGq8C>IkE}O;2+XiHq$}8|MWdS zT-qp7mM+Mb$3qjwUB`W|!J{&n5)HuQk@`b3#)~Ku->0+c8?;Y${(OB%bxNmZ*M9S) z;%0!?;-n-*Z@K%QH=oQE0SX9nynn!Qe0n~NyfPpF<;DtS1ju(pmKOmMcn^T*5b^m} zfd>q7a_T+OOpKbyI=o5zUo$C#pl&qUIZ31u{@_L{b={|=qFd+x+#hCW0yBK}YtuI0 zKqmcq&_`1%3qn+ZHaSt9Qu$ROJQ&jRf!}v0XWP( zNGiz%$gQe4863ECRUb`7MZ{QNj2q%-tY|vmJ|AX=vn&e`vB+Ca&#P>HmZLbTJq}HC zKXy3V(_c6;I(iG;&L1*uKRAET!1*EbaJq@6oB~9F+1Y60X_v;Q1fKBql}XZ) zz&4wgtM-oqjNj);n#8Z*bZ4UH^la5i-_STN2yd*fy=<@xICsijTZE!In$<+rGdHB)D7@hR{ zyoQtii=ngpYpM;v@L4i?^ytwI14#iL-QDTv6iKBWJ$iKOP(WHhkq~vHbcskRseqs$ zVEgj&ADrL$@|@?~_kCTnzP1B^sijAvuTU``;cC-ktPP@G(lgtf{$6nU)1OusD5|eT z2;d6aAC!)488VI3g4iO+pkWw+pIhe8q5L0Y$)DcO^iGxO9}q8HpkW$4@#nUC-zT)c z8(3RLve#{ZwebUI7n6tL{C3HtIFD2tZITl|&ay;2ULr5E_9@)kNU7mR?%QGixPpf1 zaM(ZP^QC!`<)g;`VDh3`h@sD5X<4HXW=N0&!m&&w;+K(D5v4qPNtlXR*O~Hd>Tm~& zb;dw(*WG_tw+$dlMl8`rk7p`XY?B@-Da92~_Mjq9S+5NK!l%x+2 zZ7E1>2;)IU-rxM8cSDMldkfwlv>e`ICEE-2xT{0ty72FM~k;8f}<|=v{M$3 zbROTk8(kivV0Yyrxt?LXKE$xk{%QmdI(nGig4Vj2@^+dX$D`*_VN?6Huh30qlwH^6 zG;Y)1x*z>0#sGSxLcfzqITc+C`_q(})W5M3yt^Vz#o2zR?2+CZ4<+zpvsLVq;+hXC zk9OIFVnfXDDz#9&YkeN&%J(kz4dm%Br2ZtXE38HA@6JZh&BJ>Mc-cQ7C|eFhNvZS9 zTL`$ke27did!j3zhS@%TQt`CQ>G|`D=dV_upO?%0lE>ux zE4`O1%eNaZnFo~>R(davfA)^y2V^Tp)B0paV@9*pUQlp7QE{&0RN_w8_TZK9+jUYv zYH>^+#y=aK@va|D-hg7>-mg~myrBxgDtZbS5Gm?PQ#6u~IivET!@5XJ?rN&-SH?1( zXI`y#q`1#y_Q|tU4$4+A-cq0^M~I5*G#YA&7)M!pxWy!X;tcwkE&x2{Btzzx*!yro zaxR>u2~cRNi(P)l;$L*0QrNqzO4S$*z4EbsoV?zj8IP*PAC-@;|Be4;w#XOzZg|yj zzl3JNY02W^cU9HG4-!{LplGX7#g`%dcLdlK(+#8mJH-EtvvhOPhGs?)fK~RhLr2&Y ztArL`Sa<>mu%6rO2baZ5sC z>BrXP01gmxl*`AvAzbO@W70iJNh>U#?32w^EmszotKO)?(qC14R?O$4$iOesVeU`3&&{gd8-~y<#T5o@7+VEYlBDCr^`2< z&X^u+->A~RUS|MW4iIJ8>8gFlfe_3aYZFz|B^u&`!GNHEIoab^pZjA*?`NM6O*=Q5 ztjpIgf?k`+KjZqI@#a9~MbO>&ufN-$(4*sfbhwXLI2Kg^L1}SCxocN-H94dKYgb2i zAs{e_Cq6ON+x?o9vbCvBeeun*&J;cn2kpGLPOZ0)&HA;T+rM6(=kGE;U#Fy_=3E5{ zWL`_^0l!M6`^PfI2zw}${YzI+@tR7qR+HNUpYq4og}R^Lh_~el*J`RCP9bJB4%KZ)GPJ zGr7|FEl;s(_;p7cM7E8yOFQ1GOQ#VJ7cINC2);c>QE0=cn<2eoq?b`&1*2>Z9Y3HH zd`rCe*V}TUG^BAa@u@J8+vrIKq+I!8qglv%cM9k7bt?kJP;sSJ-HNXdtRS=5{16%@ z^;goRbv;S=Ng-t;N>6U)KMym7xVK zS!wG;Y}P+p+Np%@tjBQoX!Az^zZ7Iya5DHwA1X!j2bJ3!`*0}JFUFI$beVN~q zaAhuEEl>*l2ZuPWaIR#e!$OPgHB`;RZM(v z0l|PbwzMBI6b#rgrP}Xkdi$1oMhC+N%k#|gmFRQrYS6=Q>evl_xZUxnfG29>XL7C? zp^b|br;8paHqMt9N`u&hAg`lYptV)!qGck{?+I5H((Ztx%{;^hl(Aw?izP;0t)9op zAn8PNcedB;0QM4;9<5PpZ~a@NY*bdKK>UQjR^LEEm)&cOVnt0gJhtq_#ujIZZ?Xi8 z5H!5F!DNqQL4rAdDA+R#z7=eNQMBbp+(m?94y^_J2?w%~Q~MV2)2(jF_Ta zSg?vPsXTSr8Et$rL&z#1_$6^AJ91d=3F`1B5d58{l9Y8*eYX0Ot>+jEC9S-!hjB9p zxg^n!5R9E&p8Bdr2xKmJ&nh~Z`997+yGDN)F{EK2U~zLPMr-i4ZtR`xZ!0FN+7&A) zA_W+h>rslt_{_%ea>kn$50y4bKIh#ID*aTMnwa_VU$URpAb*zUxGcU4|fbrIg9)9u`9^&PJA`Qn#{Ml}CPd6Cb{UNBh!x{q_E6TJ|nk*Plce~ z|CY_zl2m#4gh`!jK{s{GH*DY#kxCBB(OZ&p^bjc_lvwG&H4SE(XJiY?8?kgz6Qa(3 z;)E1&Yj2=SLq~Za1iY4Y7_Pj=&vqh57L*52_4asZeng7d3xbJVumz7cNudX46bj~N z^ucV9VnAq3_h>Mj>mx~Nt}Rm~EFV2_N)NsSpNK7y>qbu+;xDT3j$H?HuO`unhLsx* z^b6(jjPH6?{(Hct2mxpSTp}k?PE#4c)2baOGZV?ir30pX0e%w^#}JoLV?nBGIQ;h0 zT_{^OKqVcl6S7gyWqMp#4VVkl(2(_Rim@~Gp0<7Ld>s9-qo3tWzm_7eA5;_#qE&3` zcY1K8YO*_5;_5RPN(f!NshuEk!=YKxxlyHk2tXXDmK$cWu;^Q-T$r?R6*CpaSD9 zS@!CG#q6Ft_E^$t(fvcCopZ)D(FOvTkeYiCwt56mT!h3V=GcAqx7)utRX#her|hlR z_;492WPO~eVrkh~f~%u3@YR8QrIOIRS}cwfa#x8>D17Vo=FTCW7rm9=7ohvyT8~!B zZ7DeIAv-K4h}!6fni$ozJ0w8T^K7X?KRIl7Ee9PBqoxkMi zYp<5ARBGGN2biAuD(Q$O>J$fucdZjs(ov@U>#2cVZ6CO0qGwLn%}$`B~ZTl zofXXf&`2gaA@j=5_xTK0hrR~rG`RM3PQCng;UZ)9YeGk8#*D9P9yRx^#Hya(L zf3o0v1M@76kawaFe?9s!x1<^(Z_Gc?!?qbb0Cz=B#FiOAr88X1-x%zEOZB)iZs<+% z!%I}{!(s3Aq-G??lpgmFmH8bl&dEZU55v-^{mpvI$l#|S;~xz=fkpBSbNi^IP>`L> z92l;MOz81;gE(dIk*|)jPi{F5^m^aAXoxYn$1^SI+ilUj!JkALw*Bp46};)Yv=Jz+ zrn)kF@7X0(%j<^6a|IxKMM~aT?*7xwf$qUoa;n-oVZ%L)l8 zhWK~;Ngi_C;XF}{56XTb!x|zsu7JI;x_*Z~QD^$iYpYiTOGTxMz;CC~vmQ!xWqCp; z0!^l4<@YAEtwq**Bk!!fWIF#hw%$E$pyQL?mfY{5!T)^Z_YS4$&%-+PLr*){yr$4B9<-wk zshUu>e$7x#dy-A1Lc>HG3BYrbE|{6AyZ$-NDtxC)l+%k_V4JPJ(3oj7t6kd;+rUMYN1rG7gRE7?EV z29O!X@wtMTNi^?`P_MbO#^9uRCQmZ;F+nY&K#1pFXft1^7(K=fM8}wJ7~B68z*CSO z#LK&QRF88?7E#2y0p??+XKz@bSY5A#sxf!?WTCG$9cC7vWxS!;Us!_x+^5KJc_w4^ zem2)p5z`XlQvXG9EZIVZ%w%b%7=MZ8$BMH)5S1;KC@%@mf+)!@TyfV(m*=DUnH*Y>jw+zG=@WuST`9q#N|F8>@WL6lU_(ULJ(` z0W&_GQxVbbiKm&poFQvT{?Z?e#6~7N1d0jzEtgi770Gf{eOQA-vPo$c@UIP*z048s ztcFy?eR;bHi={;FU5O)}G7lo`+X+_mu3-^(NW-8$$< zbIV1Rm6po$!yzq>q!X$8;~I0y{0yDybld=m5@c4trm0b%{Pt!xQ)$X4cF;MN?y1A> z`aV~^y=iAcerQU0qKa$83bsG3$Fey7Kq9?C-+UQfH_Xw!YX4#)mS#q)&l2! zoNcI!Q_MQWdFDIiQLXkd<6Nu6deL8O%jq5$ zlkE31G#%|x=B?`-`w1U5n~7h|k&nxk47q62ra=k!eC$9Bsj`o{?RotBiU_ilnv2}? zlGCv#yQ7!A0mg+i%~COM>aIdlXmw7($&CNzYmfpPt%+vTO^w2XMR3den2|?HeV_gf z`;@;VrQ33tp(*~+LQWV;e*SYBJThPqWzC)*c(U(pzw3H;M9kN5*1~t<#_oM89ok9b zN?G*1=w}*R1_RdT+I>(>4Bob%I0uXjrjAer~a*l=?H)F=^cRU1D*Kyck%rQA^;umR}mN9 z>&x%@P6h0cjn8YeUf?N*RxSmS)ObN}!uwEV0MRFa>Za`Al0+n@(GddrV+SMMm&(}f zC;Rf7&J3xXu~dbl6boSbp3TC$0FS`rwsM&@?~2Dv2JUy^BK zGe8Rf<#988&%-1%tIx5PY&4dRgr$==99+OYRL&Y)11=|&l+H)Acz|*TxE6|Kir+Mz zDvUexc~IIQiXFgZHSj$>iY%?_<`RuMqDCUc5dn}9o`pal zmIq3v*s_Rqri@o;ZYd^;> z%ML){fjt?|@B30yb#KW}w@hYo8R?Aw9YHMH={NTq{I50>T7TpBn&Fp4jl(isj?#j5 z425zaWouRjg(sk5OjdZw;Vds)SBa(Ffk+$@L{A8*qNP>*@4z((bkd&CRZQ9^OSTO-SQ%>hjkEKh zV3TOiGei#alTEyuU|FlaQXkj%VcM@cMLykfhb`11*Yng72_uyY-x$#0_LC=kNw&ha z|F!$b`=@?FI|XiO`}jgQBB$Nq?e3OK7fiAkjJ+{X?mPM1uf+M); z68d!$h)pKAx8wMf__A;3YlC%l>{v1TgKSZVtVlWCsc+66lSR3@IY+_!57!6Zf0LT- zEAk$>wv=4xGMRq=U??o6*EZ(Yo(d>QXDSz4@D0`6GT|(~6A`YonjH5}Mt#VsoYvs= zz`ocg&GKGqpL`3h20zCy6Rfq@(^$ut7upNRjk`CRR*IM07|8 zylvpC)kVb>$weE@b>4rPqoSj$$|_YMY^24D&E}$g2F|$FX}G=m*k5QKvtGVA5L@fx z*rE{{$dcvwiQ+|ggGP7^`!_N3)QjcTX>Y(yr;|^S$`s~4@&G(=lrixl^pr@FaQ?3z z9A%~r-KKfF|2M9IdcaJYR%2z@MEl1{eD$X>~jdR~3kzgp*hb+KSDi)^&6XzXH0rA(kj zk$F#iR}9|)e7{|yN{BxQpudcDfKYp&!Nb^~AqCk191H^v3ih4I}4h$yg=aR2j}|f%+cw} zQdng2FFB0lDy!<$q^+o}Lmv2L{_{WfP1q7R_LL+{bITy@>*&nX<#{`TPX9mO{` zie!KyQWG9HfH9%O2!U-S^}xVmnST_mYqwiAe^_G&(+bli7%sI&2+F;=+ER;<$74?y zI1n`CZYF&=4LQ~W|N4d@c(C+}8@V2WMF`?Y)0A2(F~kyy2pi400%%Ii0KYQ~x4(PrE0x6SiC$(KX1e)%$z1rsW}s@URh@LlWLRkJd6?pP-j247HI_i~BRxc1ABf0~k-2Y1g@>J_(6 z;dc0Llib%~n_ zKNu}Ymqv%z+9v?zW%Fs(I!79%E+x5A;|V?y#o(VX*i zpo;V-#mCyux13ha{8A46b?gICCk;h5ebx+<+F@&}Jt1FRlU9D*+E{*x3!z>zfHMmM zC;+=PlrAAgM0ItL7*WqmuXTZ3dY*s!+MARsa^vM2lRZ1Q;0b-27yU zDj@JmUTv@bVK%#+BiE4*n@4hpF1uSlQHv{VCzD3J{P%!f-OJHk-mW#jImL^|;ntxB z!oS)kY7PD?I1m;~jrnLGc`Go~NIFa~Neoi~ww!eMFM+aNsiTmTAiWxXY9ewnK3`5z zlW=OPHpa9~QvXycE-SG#8D_3Yt#D?pZNf>#s0h-mwU9b|s%hznmlYy9dV_)aB}@NL z_f7s;3k&OMn4B$WIIpCPpGHGSrnctPla@?<5KJ$ z!&?%cx>!UM=NP$ewG1oy_Z=pPqPS^!}&AYI`QlNE0=NY<_4 zDF~ofYa0L{GsC48TO+y&n zXRs=ODel2nV`q2P)WKlfG!zKNS5u*IBtBT%-5aev7l-Y5K3LxM=*`s2ByH1o&%7<_ zsFTecVtBwcT73pc-dbzvY*Ow`|18uG7hB>1d~u1Ll=#agW&Q>Y0nEph8fqq>agaZJ z)mrRS7L#9?+fnqA07R2CYu|=b3_8*XpzOiVLkBCFDrtbL(0&iV zJn65H9vlwsr`890=Bn_q?fFXp^kHQ|+(xvZa`{xDmGHd%HdsD#6?zTOCL^$cCdvtW z#<;}K`{n?oR0HVhPI!d_Fv`A_Q~a#$6Y?7xg8KbPF*_LZ0uI38c;FThB?W&4VeIDR zEUfIvIz&IjghcG06s|z=YdaJ^yy&M0#Nh$DIS{%-flyM1@)!Rr~pb8Wi1hws+jec(jQ+3xe zuYlkwX>btwSq4DS9)CcyFG(wGWiD($pAvtG1k~V%1%!|(d8|_o1#dZcZ9$un7LeUJ zvNxwa;KXw#@3pw$m)iiMmA*vW2csz!GuPmO8(KQ^AE{8tESm1Lr`CvspjqW|keDMZ z#T_IoN77(t*q&ulGr1Zc!!dQKRN|b(K^O)H=CqIH*+~zGpR_-{5styl;ZQ@>20>cRH&m}#(HFNufLCIDs2&o2#2?&K zj&n?@&zQInq6xiM=Qo4a_5|*f*>DF!B$}xbJ$_@E#`nNN z_3VPw0|UVef3-*uZUQ~!VzGQ|U&^J2`1K!+H@t80h_*U}5`F(HOmXdczB-mgvB|H*JNxt2K|GjcV#7v-j-p=Wjv?K%sltSW zqb-Ar6n}9Y-De*z3DJxE8lVlGFHK=*DF!iY!ka5+F$f3h0_Pv(a?!`Vq(7h;O?O3i zjHHU(h?TLA$u$dPMiG4+%>gRr)eLH`R)5$Rs4o(GdkJ>qs=gBNYM<7V@eL*o%SV~) zC8{UY&9WnE{CVXKhh-d*LOJ-@TBDYgX=y*nldLRA0w5+mWD3JpZZk8uB!I?6%lH-- z^ZvO$7?)0g#V7OoX+V?uG~uaB`WL^0KUyf4Bgr)crX2vf-=M*?CXhs3D9`@ZR5|UQ zr|FX_ye4z#42v|rCm%)=8f%<5&G7n3BoGZPS9Rqh zm239taX#vgl_1W<`dr~<#d=QA7YgEMANFiJ+1;Jy*~vQ za5=hfYH)nCVdJ&usNVCR06jioyr-f71ln#ZGjmtvbYp>Ba@;iQfQx}d*sQ>#4)Ev+ zo~{vmke)s6z=;aZjZI3BXapev`JE^Zh2A10lt$cMG($X1@<0*1Mid$4h)<+@9z{!4 z28{l~#AS4zD<=dO5ScN28-vWITFHFknH>;3wikT8BVoSb9$U94doU+w>A*;yyfW&= z^Y$_}^JED}AS1C${P-bt_kD5YvV6HZE>RvX45-2(*GQ0i&mi%U9}qMTVo+vxb`%%F zSDG5ra|Yu%MXQ>%(D2?i$+O;fD^h=Yq4VRYb|S50Jyw5%Y7qb-gJl*V$-+d@Jv`Qs zAH+P0A9vt$#NPY63gj@dNd?o_8zpw=CyWrT!#S!LE@Y|q>gj7fx59|^NJr}M&%#V( zz^-)ABLT@+pF5|)Kw+;MXw9GKpBp=>b)$S(*iD^iAbxSV*YSHMfqCSPXfwej8J5A` zise^e;6fzU=)uHq{i7q*Dxu0SidpvY#zNhn8Ab`&UHXU&HFzATb+kR1-@xE<3_1zc zS1v2kj8Xh^AY;l&R%}{+gzZBOR>#=8Dpg!YLK;AEBi* zSiZ^7_)^9++IT8;ua&fc zdA~4qy{(0U)3oZ8bN+D58#H|r-LYhCYKlO89O#GI1IY2ja?!-=B-5jCQ%gcd#Hd`j zc_JL!Y`i_K(rsFZObfLK;O1rm_32Qc`e)_LugOFx4*#dw^svzM0E+*4W_D3%1}MyY z36vB1T;RT$hZHndLz+wNnSqLCzRalFdY^&zg1`NoD;L9ml&P-A94~i$Y_XrYn%PH zA#hYA4{Si&v#4!iwNHT$fl}_y7{|^1cW51LKa+NadK;J1%J9s+TW=Rw779$+!2_brz&Ua;?kx#WxyX}N@L*nP9d-fLJD`!|z=4f_T zj4!{Iad;RSpsqFNG;!+ewD=q7)E>9`^rl%4%PM=z>a)((zsz8cBWR?3+HXgbFr$vB zO`FeZY31l{wTtz6mEo0p-DbUB0JwYgqS@gE%PPhM2rV@|D0F&#a|ZM;`3^U9W*r)d zB)C}FhpJCc9}or=C^9$ZXT8??NYg(9%~otIdTD3HkLPnAR2raxV- zjlOYfft(g4-PuKu-X`B~`S1X^AzbEK{=(_M;nnXgkeOOn(BcP-4FDOLnd06s*1@qK z&3_(xbCuhPQrPMHnX{S=;mdkz54X$Tb=Wuc8z$?Q8`8B);p0CW+)?a?NzuE$qM6pJ zHwQwAxQiAm3ex*@oLPIEr4>8aG|of~Z}q4129js%8@D@GmZhMylTd5YzrrNiX)xUp zPF)m-Fx?bS#eGqy)CLetIm`EHt+Il<4vv=-_FDUxw-3;(O>r|+aJ*qQZk6`U*P;!~ z)Mh+^p!(7()ZXmZ3&h>}beU=Qa~CH~X-`fapuELg=b5<C zvI21p1?&29JYjM^-6qso3yCcONu8flQwnq5w+ZUZNNmh^RXLTKW(k$znJ<IjRlS5C7jnM zP@^nrp#V3c=8VMCZ$Gr+k;Q4xd!rvbiM%5HN4hjpMwj}FW6|5tn76?g$A?lZm-lZE zTMQv)rIIN+*y+2E)XV2^*1pbMznm*DFliuiV;VWRt-%X4PrtnOG%ubf0gQ(i?Q+gPP@UJxQb*ZH$;} zcZ`ROluGl8H#PqTyEP`Zp&=y&iL~~w^=F?#OK5e>%YR?!v%fOvtSYNe&9`~)Yftat zo&P=A>tnLSh`Yjl=J=jmZ&cH`<%Bbm$+zuoeRm=BVY0jm_P_jM>CeF)GM4rG68 zJra!w4*iMm%l?4$z1|X%Rx4+e{ee+OexU7!WdzOi*6mx#agUXvD_Xsqma>XkfB2K^ z>kIOsa~tF1)*Eu$*DPk!B`WMtPN0cYS#qi!OLV*CNe2{XI;}^F#OjAdA$KD_SnqYd zf9whKheVaolk)Do*#Wyf?R-dvYccE6Y!p=gxc|0q?K-M$Zau_OU58{$LA_2oPBPp$B`H@YR@BNha2-i(5Al znn~SBPrv&5w?InC>-?C?%2ap^jlKBF_VbROy>BF;w7z?E>0<9Ef?Z6-piC5%klvuZd%S_1GZ+5- ztIT1fi;b%8SHp_@+vQ`@)m6%jU&KEo13@UJ+Rt&+MyRME<~6myL*V%cwGbcen&{fQ zO6P_bQ|m|nXnCZiNqKfZ!dYhDYfpd%{1jyvY19$3z3VC<<(I7!u|!vw>eN1#XMusoC2r0b++^nhvO@Ll%X<5w8KNwA9S{59Azz-s-Nv+m2=`?GORQ((>Im?GN7GY=)hV6t zYbPtPx@(1GbI5b4O<%`C6`TQ+xI3|U4LYsL+pN3_06xJMAYzgcmSea9B%B7M6{S#U zX`&C;)N@Z4zSnITD3e~4MQ2u>D{ zv<@t>$kmS9xChbl0%)Bt3@3%P65-CQQTreQ|0Bxnpt z->2%5p>C;WvXwj*i1I8f4FE}|J~R+8QHGXs#ve1-2PFs(W8oI|SrFGo*#sFmLyZAy zQEc}=R`mk*eWFgqJEfVX`ig=XNMB zGb%sW^kBKzFISf zW)|UP_)R@8Rh1JSMzjg$J9EgWd9kC{RTAE`u5lNO_vc!ChosVWYh-)wYZA3vTyRR{ z&{gY9R~YaNGPIjJ8nBVBPBt~(YfOtbjVmY8vB}H_?(}|W0|X7BKkM&dJ}29Utr1G- z&0DBSh%|W`sb`6T@9^+FK^5p(j%hK#%fLMp(G-*MHA{itmoSV9 z^&`RTUKd5~P5U=KzfW=9w}*dC>n6vE7T<9moy-tCdX*EpR=B{g;M;m-51V{0ZwLL^ zpMZ46-Qc`!PZ1+(?tDX(ACXJYZV|gh;ON`1tpug=gM-6bX2GY*N*WZurIQLWN#WQ} zh1C8Q5+89S2W8(*!N!p62u3%`DDeF|vHi5+$zZiFk<@Aj7R=Sb)jG4)FQ!KuZl{%2 z(?sagYAxjD=pFNMW}l4eyEgmXlDGZOJ}m{#Dw_b?;pM$0%W*~1vf#I`zFfI)|Ha~5 zO^iF2CcH(XdAb^r_^O~rs=!8%gG!cK-@b+*NXjt#BFo(G$*C3JgVgkV9Or-;(PkY` zKG8Acdn>_*d}01NS~f@|eNCIYQBG3)X?206q{#1)%?Xjxtrj%0 zxYl`8_U-gV4MP%reBD&dRw|)Lw95INSdp>ExQj=av@flh)Wd~0b z8U83wGpJ9n&BXpILLRqZ`YNO3W5nCarkh`t5846n&tg^RtQ4T##?4GKPR)h}QQ)7L9 zf0~$RQle_U(~@g`d}$N4xPbA3(I}0PWchxQ%3Q?mf4o)iTnVz>K(V$F? z1PXIxB9E+!FKjN4Ii15+>cFwV$e`?I2OS( zh?3zXO+0Y}K%~BEX&GIA`|k=MZyJCOv)nHkfAOSq^DpjO4bDg*vL6;<^=?55Ira zIop$5r%tOO?)&dq>g^7`>sRoaS7GF&3@n7h6RpgzxCY~~hS=`1F2DstiFzK#ppRCg zDL_LrZ+uA>M#ZIMF`@xQyi8K+I$Jt}8(0VNLLRXoKKiJ*5-#>XnjgXNprZ-+Zbn@k# z>y7u#-QCQo6rf=*vO+a_`h@Vw$?bQ1*jx$Bz4FWea!z%t{E#%A-aJ3ORhsrf)raKL zpZ3?U)$oO^-H+4{tN(o?esvkRHPgF&A(jwI%s%>(a$i;O?7z@arU4KyTfhy@E+zrb z_*3s(1JkR12MJGBqzP$RTdV*5T)HJNKqnJ7Xz;-b)fxYzhT@;@4$bgO-dQRg-5UC_jcNS`G4kkoE^odAYK2c?9YX;37_&Y0_-eivOV^t8J25FfHWBiJ3G^QD{p#t)KG+=o`%wYx@lzDW*i!s%s*@(q-|`XpRTZk@VAeN(lGb^ z$vDVnQOe4wmq1B+Yf-N4Xj`w-GKjV9H?v&QE}Lie*|}qyXV7_S-m08ol6STA8x<4T zP=isiR^K9L>GEfoVFe=5us$oNJL|!4dRPd|<|Mogu(_)fnCZ=J_k)0N>lPOjwK7rRRg^JmuC-4-Z!c+cZ3HE zn;^>KVNF)>Qr6@s@$-4sA-_(dq3eOBhVCrtB_CCrd%i{xWDBW&Ug8&3_r&WM`!D2hTb zKUzwUY)5Xc2j@m5C`CAmoVPe;VjJ_7>~5 z5O|vmn=JyH5Ja3)r$d8(@m*F0)UMmpuKT9xz;aZdCftcEygcsy*l05xqu@v`DB8~b zHi%p-z`1;3AzDLQhexS^Aw*s7fBnK*n;gvf;2mY)98>&cjt9046Py*OmA$sp&3Ebj zL=!=B<}~TmoKv=(DxQKWmmvNjtagJc8%rUsh=WVa{QJW@X+4Y{yL2_OoF&B|QH+<% z?LhWpcArJAa0C!;%Oej6qsg9s1~}ikL%O_NOA=HAp8!YSisOs*y0-_^?9J zkoafZavMTEfj0VQ~jZuu(9Fmg)&i1JEiJr)@g0l`p0PMXl)%5UX|--eK?8~A&9Vuim?=L)bkcSzg_ztbCdZQ zz=^i&wWX&4n%I3p-Y7z$Kofur^*P{D0!5s7i5qUEv$ULqN*q*j5&RW8P45F#LsGsj#fW3Y}E*9#PoX~+gymB!`P+o)*kxfF`P{)F2wZS9t`KBEkkj8N-x%W+;YJuZb47= z-KX2kd+h;A9gGO3c)ND-{?;}MfNB=k0`uuLnZR)8iB-T8?tu8~ zG1mhWJGCm>*d>~T^P>tr-7cl@+4X-G5ZTed(upwYv}$S#<9jOF@yvdeR_x9b>9j89 zUQc1h2p-SQ@ED4?{-<~eO1O7-w|@xgQFr9?u5rswe$`rU&YrJI7hUPc-9^;gC9BWM zGoK_+&^k8#Pup7t#qsyszCFVX3>w_s9YSzP26rb|fZ$F-a0oKEyK8W_0KsL@;Fbi3 z5FofaM7TWX|J2!M@4DyQQ@iT++pg~FYN=Yi*7vtQpFDwfLZ$YCgSK0t*0QShxP*4w zbid>|?{W&8nDmCaDi?>AwsqQ%-hpid86EG&J}M*IdX}4SZ91#QV2Ql}q!@K3$kwT7 z7dZ~-baYdCV~1u`=cYX*l)z!J1DiGaJ(*}*`!B?Lbl3cWn$2*#fu~bRm>S$_ z%(`}hn~;4!0YoO!OCy*Xn*E4@hqb?a=bH2RYr;kpatRjU21oPK4vJ@OeRJdM@f10w z*(J*1_tv`oB0FX%3Y)p39%H~c(1J8k>IKvYi7f^bv&A_G3E>cb?rRI9WRhvJ!~*Fk z-rQ0q{nA8oJajCy0B7$zD1E)(*bkK2_hn3;`r2vGtKm69D)nu>X-Ye4y^R*zl>eagga7)an3U1J2G%Xb)1-*07g(PW1 z@Scp_!sTFcrNT1UB%;NQlCp|9h+&OMTjZc{f3wWTMP}F2ss?*X5=F$T#&=-hhGfra z;tzp(*)Ffy4xn$&Kvw{`a}O*22la9Uh5+Rl7+u$im&F}1hD|BM-8=k=Gjx=`EyGA$ z(fI>lYR3@{HE#gSgSbqBUmplEb|n&Xelm5|8y&zhm-E0TE*>74mBp46O=hUr%+DFk zH?h=zsLd_!?lVH){X#(j5VOMR1S=q>XJCeUQfgWnMP#Mb`RlGkj-O^6j+-B(^DWZo zz#FJwm0;}m(-qGBlS>>WoM-hg@|o3qk)|J(0eyr#QeeU)ptG%#N7{pOJ>L%#Kuv(4 z){~oDfY_5AG|YkSQ&2&@n9LsTU>lr0ME>WY4E5fZk_>fKrLQ96F?2yS?oyT{s$ttc z1nFn|eI=y6qI9$quaA3YOLFkm=!MtM1}HS1@N|(bv5{TyW^^}&s2%p1t`Jz%D}pm3 zxxMD}aiPoX0YJ(eBs9iMJlU@%FwPMPW)Dv%ZIuf#q2NRx{Mk0-!!*vq@G^}-fbRhk z=>vL!Pr0lK8TIhx|vTdRos~C3-*G0rUX@jrV!8j!?uCi@09#9C0xINI zOD$eY7p$Oeg$;%`8%%Ki-5Xq!8$8Dw9R6SZu3r313Gw<7FhcRzvGLG}rM7@{pQZ2Vj9ltA_M@lP}V z@7Fbi;>KSspKseu$~Uf~rwYSuadzyvcYZ}fZS0+tIzA=xZh?DV_qeD+c5FB1`ChE@R#-=(ZnxBM!W5JvK zvbg<OZez=Xs}09wf)XnkU~CXA3CTYN3j?S*WOS zmK|c%A5KgjP8}bP*1CO}B>k4xd(UD&S9|pJv1GvHNCe-}ap!1N?f8e3sffA96?AtbmXkddxJV_TMxIffoY6cvr{g)N=7G|_K4*wOXRABsm^$Y=Ip>)= zHv?bj51sM7xOn#Vf{W*Z(dB~s1RC&eo%rq3LFn9;=IKS;rF`9`;?$+G`pItpagqds z(aY19+n1{GS9*0<22)qB)K7GuT$`zn>d{|Yy}h=1eXaE!+hpp}mjf#MR-ESM^72czpi+48#;CG$nz`V&xL}?(<|N^ zzaEfa+im8DJM*buRy4os-@@X%l7=XmvtQh*_`w=zejWRZ98uq4Oj@S!uz$<(?Dg5jc>d{;!J`o8S+0Gp5PeybK4i+8`njf4z0%8v@gf`*w5+bVVn%Wgu z2CFh8Aut^qyO(Ap_+cT$FiQ|5v|dU>E=QvtkXpj6D*alnP})=}6QUJI8dE7nvZo)a zV4GzN#H-i>#K)}Z66mXno64`A{BT$n`>{xLMYs0=YR_VD)++X212cEJ#us$zwUNuE zJeHl+vZF^31`%)c!SEU4RNL}ZEIx6{!5Nhy=7uD6Y!x6TwD%mGkj6bH|4LlhNz zTSI`volGKp!>0NlL0YTLg-(CFT0!|4VZDI4?dieE!}sQvxCiSbets>zSOG4x=FUYz zDjC(IADdVrCZZ8Vn%Z|!X9tN!OB<$bu2LZpP{u{$;e-pv6l@C9b5sBfal)gNF}>v- zR1s(-UzU{}-iIQ{Uz$Ec#mb=Gmyd*DmvnM}cdG`0bXto|{ARATf83zNQ#VOh{o(`p zb_lpX=$nFWD@l$q3}B?1xc8xPFgJ#YSS+__cs7jJYbV=NW(2nn8!ZqQ9Y&Q9i~R(G zULr}yTb|!H@@Sv{Bxb&NvSb!+n%y#{j01z00}MP(V;d;vVk7>Cm259hT`Tb>B8-^( zD>={AM~%uaWe0W+HO>^L93it$c~beNKDRswr!b&6u@BIy3Vi7_{j9?)tgQyblqb`P zofW%g3UQEPj08Q2tET+%qjlT`NOEt8^(v@Hl69}C!d25wg zMZ_SnF>Qm*#XD{H5!{rwld%`m@1)Myyr4q70Hi}W&qI6OG8CS}IB1sDg3#$R;A`Hm zb8j@fH~om${B~A_zWd*~zk~(affr1@p9(aXEY385dDWa4beIOT(SwaS5PHWb5 z^~kiJ!KTEE>(ynsaqSot71zl9s*hoY4rNuyrGvV<+7JhABu>X(%}lB2(Wh_J9lL5{ zf7?->Y}aNVcN|SpoOE5~WurX#D;Jj7`ieZ~r2p4-zEks*=*s>eo%-@#iR|Fdv=%1& zBYwIR+t7(O8sfTc0#jd~1q<&{`dyO9r#};ub3D4bQcK3Z)*bKhyX=>zG;YHAPN0Qx zX-^it=#|-z)hH=MD@Cre(qRsFogbk01fkXT{7q*_Ss&jyBDpj9edKq%=zAXUw8v(W z!a4uXWsmxRjqP51^WR@Ze#pOn9!_X_e6I#uo<9`Sy^npY_vrg90mjEgK#N1c0MI*T z%uPj?KUW_$NO_9!y&a9vYc;XnQ5kUJV>@QSUv+twZ0e6GCv%yLy$DD4Oe|nJfOUh0GJsD*-@oQSH5lFl`(fg+f*7~QmkE6_;9k=50t4ktEIK;m4v!K zxt|`#_h`%+fl{0!!#eWw8K}LO<-qxRj4AGzQW~gL;=^QZx^xgeFAz4oA#?={pgx6z zQ+cHfKzixzQG=YG6cjJVurhi_R>rqsE2ikLPUDGcokO@dXGKl)+g4K}E@|-rgAh{; zO0qyc-UpYaOE4|4r5Z+x4>EIWd)Y+?|16+|49)!Amqk6dZ>p-qUwb>(!NGs7nCQ3# zPUh`He>5pL$8isn2wQQO8se+YjkyUy&^I%EbOw!~_NqmV2;g9$Z^OR;#uytc-!T35BiBGqC-j8x&r4meGY>Y+AC%VtcfAL0^O>WDi*6F6I)k^@7oB6iodYnYw7zdE zN z%*4ZOC-+3)yWoVCs#yU;_5%IS)3Wc~Mh~$X^?^i;N`v^`!_wU+sV%>Ma-7}7J$ayB zC-1JMuU$#)5@K9r`C~d7@5Db|mv7>@Ou z_7P5sHC!58^!37Md4*Up&i9~z#xFujc<`GVPm}sH35`4O1aDmq6g0ks`D!CZO~8?X ziWfnP0|z=%K5P`Q8=MF{KcGP49+kGg(FTOuW^V%4PRdF6F(`!Dw=cJ}iTAZF7XiUxAUmnQELtC9-5H|vLz3$B_1^Nbs4y

A!iH@nAK`$LSecR*+gg5K8-m)RdeLj%5Ns$E(6%bWiY2NrySG#Q@B6Bxrx55WlXt zk_DIB4#kB1PdRNVV2V1<7U$3Vm)JHf1P19Wd0go*jo9&yg0yPm3mlL>)Cl*Nqv$Iy`9od}cUv^H98nca?~zDoG-ca7*ey zL=u>gR7ZyGLhmCF5($`E^ab89?N3D%VY z-zD!(z{*Z|*nSeLV&=wiRs!em$`e{UmxG9Pl(aAud{aA7Q`^o2yo5kt6k}P6md8>V zrk0NaMr1M8v9V0CeK=V!=BwLSALpY5$>fWgy4LA{3;zzq4 zzRPH)=QLMG`+@~=aN(9zgIo3jlhqjcY;Y+T*z=#1idHLYd~iYhZ8-*#(5aa^ajwhb0sc}DYRJp<2Md+7;jl!8+Az4TJ_-5=9$vR1m&!#3t zG$S6^xt__xroEml(!Nn@trc6G6x*y3kya~|(_V7>B0O^;jED2XsCKRVSb|`xnE&lg z1R&r5qsL_7=fkymu3saf(Q~VrDfX*wM0t8KwYS(bP$~Y(n18ZfXy8(t~l!9udTr6&1Tp z>VKN962e}TPZJh9r>cPzNa)mZFV)FXrT1#ilb)et+T#*&{wBZDdP+3LiFqchP9{)7 zi;ez_EDrz0jDV_uwx+;KiMS(6M@6P6sT#26OLtwnPcO&`6g_J>EI;Xbf71J7!R#lX zAL_oi;i?~-N*o0I2ap^SGy_5h{-KpWvf05XSTTD4u@`vU{QbamS%j2i)#M zME?iG{m7?hz1~ZO_|@2Mlh4GPj(L- zl>R(4(g@&=PfkovOdKtD3gBt@kNm@Rz6Ad zZ%URMo}C^DlZj@wT<-}+CBTp&EidQ~)1p>V39F_XG=FU$DqT3K7!*(2#mLJ$yF!$} zs$FRm$u}a*vKE#=d5VVsxnUw_sxuL5;}2QQ~0c``&Z^*p{f9xs_#uk&R@KbR|E4R%OQ^NK>T5* zbV4fACh@zA?Jr-j*mW+2N2Fb!n!NaMHrjo8o_=7jD&Y2F8d^Tg^_R$NF7S8E%t}xW zY(bM#W8nv_+aD4AxzMqvLIZ;3W{(g951KHTJ_%EzrFmq+qFWv=n~B-#>)pZfwU{kB zNqi-tup2xu?5q6u_-njx^OipuWsQ|&J~nB^E7F--2JiYpsKCOiw*P{-qZ^CrXl3H0 zV|qmC=pL^qE+gsC@q`i8SY|I+u=1JK~*O6Opa`y%s`7Fdry9J>h z*Yj3_X|`V!vSgQ5i!rM8_DWDpEA2`%we~BlIdXS4GdZtpt>ZNt?8*zir558?F=={R zRGQ6Vlx0ixMG|DR``;BOBT%EO>eax%IBJKEhb@#!kN2zd{Y%-c>ZXoGoj!fFj^a*PHKErOJ?0UwnVlrf5J{{2mY&u!PWt; zbIVjJ9<4gV6VIURCAj2l?UmZuE@Rwb1=FdbXBfCT~JB4_xwIO zOLY>9P>yL{rHJ-xT{jT&zuIJ&BF&IzVXsH@h~23;rGJ|{beoZ|spXpLG|Y}$ro~2l zQNzT7Q?Jwq?TMuG1b06)9$7V5-tXj5NL-E~lUMBvVAY1=3aEs2;#H-uG4C$oThSj{KcHr8{80sroEM=KSoa0nmCJW0nRbAbq_>eQCb~6+9Mv;Z zQVzXWEH&#%wDlDpZY^Fo4V)e-1q5LygwZAgq()ReFTzE?m5WpLU)p^3OVy@8B zUpH&#Av-ygPysV>LUcefuP~7!LZ?I=83@E!LRK*)WyPjJxCw-iB}yq6H#`L!L5uQW zXIZ?f6(;`904rC9Ru-lJ55g{nv(eHqv1u!QMJvSj@ryFne8SpXS zHQQdkJk=7iH8@e!H=gi?E7xTvo!h%uy(C z?aH?2y(&7RQVHnPd?aOAGm86^JyIlpEaCa~Q2TELTdZH?1O%vl>N!(dl z*{f%rc^Vut^9}@pZ-6j?r@6ImIk*%o!VG!SqXU?l)xD8}$5cx@hZQ0Pc(HDR*4aLo z`%hf+;5xLG-l!2l__R|vTU9A*?OU4%eZ9=%pki& zm}kX#Hs6aaQ0F3c*4t$3@SIz^w{eYAkQ83feq1?wUS{g>tGb)}%+Xo%lQ^{4XR=*! z3JKmds{WLk0^W7VtW%T-iWyTvdHVh)&E(?PWPmw+VMNzl2Jt|VNL;DGG~OGDs3gG+ zRG`iLR{!QxwT0?|!E*atYo2@L+X)A?VDc|&wL2Nj&@~bXT(z*hKmVi`XR{B7xdKij{Rtg8dHRi_E!ZR=HYm6H2q{hHrSg@R6Wr*Uwer z=J8*fr_I8pCsfDL;me~q_pW<7agMLd#+piEMaFHoU3u5^BzSv7M%*SZa+4jk=qehH9T-Cn+b6~gHzR*a0RU2=7 zsHfhsl&W_9spHR)b9~3jj+!U-f-wr|Fp?(BoPih{(ShgBA58WeI5tFp!-d>`EcSY7 zySALgzV57`c(FYqwsx8tkAU(|-A&LuKT9ctLu6iT&v@ot?5lO{E57xaYh1gCkneGH#03%TfhIsi0N z_4fhD@W~7JsciACo%exxAuuu!SPDMNpS^4X{qQsV9+qtU2+RFu=KZZu-w+E2QtK0$ z(V5?exqzjD2!(8Ze&S(k3Hm)`vxx$9q_P=r8loon<9*|ST8rrF+NlWI)e3qA>Ddv| zdQ%PKgvy6R356)x`pLJ3&?xvEBE5A$J`X|&-QoB8UZI8=p+>EtCJWvcs6OiYAr|^! zmbQTe$PoO95F6XDAT)ESVN;N>eCSHt4x@GgofJnBj) zs#@P$Za2({G+O6}9b7ovr8UwwE&5M$^sk|y2lj;sBr6M{rQwoq})fXRXTMo7XsFKOZaVUsvuGCk6@;2OTYz#5#VL42W#|d0Z6&) zX%J*C>QXqW!7IK#BmVX_%CS8D4Qu#w(vTL`aPA$x(X{YG=xdBjN2quB?z)6bfq$SE z-_gwL#SH(~+QCfqDm3{Dw9X(5XPF}c7GM)ZZ3ErW=48@3LID)`AwlU(g9D~lUMbSI{`O(k)eG^zTf@|Dqo@`_)Z60!!n~tf z?VMq8-}PCPP_676oP3(2xif-TVQCLULkT~Ll4$748yqxUkJ45FJvvW?J_Tkm{%$h?{tv%z;+ zpU9H?6%$Y+6Z+(yW9}u~ScZ>SKktwV-%r;htcYO`N~Dzp9YdZ-ovOayi$G)6f@px@ zY!JqLZdbP)JCT^*xYLyX#v_*(ETFK4z|EsY8rniq{LyvyT20yMLb?rdl-Oeu zuO(&HlhZB1^CgNe6wL@cv-C%^`ZBYP+KUI;vRm2Wdharfv$7QpOHHCm?XybTBa5T% zN^8i_&|9Kf)E&P%qQ9!IV! zc&5syWQu`E7rT!;S%{f&BTyk{BHu3{Y%ev!Fi~fQaMD89X(1GV3|l@J!xUWQqhCB) zy55@o$*1&P2Kobx+=T!QT`8*SO;l;0eW{6Ib-$u18HNRkwc~hJ4rnxorLvH%0Ce&+ zn6uCL&87q+L`d^#I^#eQ)B{wAH0C9(Wjr+ zMU)Z>C4hNpqH!|M6wnhu)VQV&4f!~8Sw%`YLyv{X<>vf&=#j(dQd+O%B2%tg8fQP( z(GX{&u{TMI)&FTP9rkGgDQCw=lwpWv*NoIt-^bGI*CEMFe=nBmFK55RjAYKjr}M6P z=0&z-AMp@CD)c1-N8&ylMeqgCU-V?J-axdabtxE6kcjY=RZM-eTSt@9ua;QcgaPuL z_N*qf=qCT{)&R^hf8iQY;#|Vzmc&OQ&#z~aSIq!iN?(I*U`?QDyC1~9hMa)GnIV9b9~dYJSRbQ=^$^Co>Q@&^K8)d`<^pp_nVHM-^xAOWuQy39zewtVuVEXMc#`cPot4o;_lZD zpa(Lb_m5aFp-S)h`(98?uQwW!vbvkvsF#+q@6U2CIkLiF-BpN%o~DrI?kSDrjbZi% z16;u1nYf`qC-qwc#tXQsxRI;GN12_KA?2iZW5>cN z1vMl2ZG9;5ovIn%QWoizIHw;pzu_Q6^BhJYDeAV&m9c?P5|T%XvOV?b-f@7W2BN1Q zHY3bO{(3`y2cr7@W{j*i|FO|;ssnj0PA-o-T3t=zqCpb}a;^EK@vgcrF|ft}D0;}0 zfkerno<8LzA0()G2m7FcGq?izY(xij!EVVmPw6GVOeP#LLOsK0m8WNY<4aZ3Inla- zUuX6CjTUR*Q{Aq^(HO@`eSq{Rh|mY|#M_L-7(sU)Lu-R)GZxeMhR=~h8pi}l^L7J! zp&zpB$lBl6r)xDGFg}rLM*ni0e(>PKnEq${)!~Dn$GJ9TMR4xSj|ihisP**>uH=+9 zFl+rZNWYNBM~?1QKH5Tzgwyy)Um-y`bP^+X`nwC+g2%Md4^goiTQkQQ_yqI_{~1*X z#2*RzQ$3E=M;E|5rDi-eQ2jPf!^Kc*sv;1xop1E%W6M#(w-P*3kkd$ykz_p%_LnBC zIdv)0;L|UXRH#2m@JC_Pg>?8zytInzw01d6H{;`)PL*uAX=m+Ly~E_^&JaIU7D~-| z>kM&oN4u6-%Bigar~+`G38RCSeaDnd=|ECG}-*Vsn zeb9fHa9dB`g}|e5OSMQd4gYPzeZq!&asJJk`X46T`~Ln}Tq&g&AC5cyr)tk15P?C# zdZdO_GT6?piqUdjA&E&zops|Z8+ zI4avWd;lC?qN7}w%-{W*m$N{x%qSV-uSv@bYIMUk8s5&6_I<)2)%1Bv=9Nse91vB^|2QHRJX}?V|Q)Gf# ztTXCX@ugI0*%ymY)uO3N@0VSq9QzU&^7c& z=YfA$s#;FElEi2B3pg~`e>4V>@a3|8e7gBrVCvSe9)SOR6TZj1mLuzGHo3DR`cm2O zD60@s4MUWDIW|7%DN%g15W>Z94o$ZCtA!Z4Bw^EFD^xfMT2DD#KD4)3?$r=xA- z^3?d359YK>H6=3ph%Ldz5K=zsh1+vrsN+3VtIhtim-F(TPliRV0(&no!y|rv(OZ;0 z4Mhd7fi%|f(5z3%t$GyjM=f7`vQ`OE5Sd?p^K8{d){fF+_km7%fvrRYO zMTtwNYtmU$&P4I0;^IfTX%JhX9lO0IoUIeuHcw88Kt$k^!-CYcu3PovEhzAVHq){X zGY9>f%rqDC(}E7k=&fz#s@qeK%kq75T=r>ghC4|nX#c~kX^Z#QmiS%c>ohf5#iAJ$Ki%z zQ|-!%Nc#KG+=Lo}oV=HR`YS$69ivBzR4MenEIaj6emG>;pAM=LJe{OJQE(!)bZq>h z#+S-mS*ny7cir|bM_ku~5Vc#TX?CEmL8URQVKnXw0z#ndI1t!sm^8|@wJxQ|-KG%Z z-0gxoPF={_a4||Nm3Tk%PmkPo*gRU6?6DRaA~0$CZguN`HZ72WHY4k zY)$3dkILlNmolAT_K~kID6X)YMhriy;u*g0!tOK^0t+sRyr6fP@Q&F!ol*ZF^C9eT zpbbjzmHe%D4d^ro39@C)=v@bZnM2v7ivG*sok^dc(&`1Na zlkdsxvs?T+p%+?SRx7$+)N7aR8cec936odo!_PVmVI44C+}6xg$I5q6(fF{vR__w*>+?D}mzOzWR7<$68R`CUF=Lp$>LgL2ZK`x(<(WW_T*q<}{ z`LfPpn6`d&$Ki4Uwg^8HgAc!)7oJmEKODO(NEcDBddf?$#DS&zjkYl|MA_s{6CzZK z>50gOZ41 z*qfM!kP^X`#cs20Y3&KqNZigg5Zz-N;oz-hs_tU9#)2x0d>x4+hMXV>GlR0R0^%zJpqWLV`J}XK^V(tkG6m)9e+5C<&*)h z^O@2$c4L7A1pXX^RHyHBg*?z}^irtq_a=8wmAcAQsLkAV@gHB7!C$`4Pe@SH=+;J| zD-T9LB<=?rhf#&WdQp&NG#5k9j1-RJYIA?vEzR^W$#krzZw z?Q5*cx|zrgJs4MqO^vQR#xsuY@fxL2TyAZ_!t3f9vxFtvSggt*1b7Iipz0mHgCUFZ z;;3PBQVcuceO7@87Gr+SfifJ`O)&`i^#>o6oDTceQ?S_41DEss!SkyIp>X>gjRG~)shg3rlukn$H4w9TY$o_D^#s1OH5op${F-7fmo`T<*0S@&zGTxoS+}5 zpZBnFCubFJ-8LVD{X)>*yQ94GDO0BV4Arr@e_ObXRc0gMz@b6@uA;lC)^);xF6Ck# zxV@^OYAL~V8hsHkqiA%VPrzTIu=p*?W3)7u&0W7pc`hxox_rXPPJS6CawbT#f-=c5 zEp5HSErd54d+gEpYsG2zy5Ut2xq7P%PXu~!n_~&LzaF;E%c?L1Tel(&vK)bj>(O_` zo8_*^LtX_|XaGwd5cR5aLoYIckT|c5F=2O;X^FE{7B4@G6Usc0Yw#k2?pz+^YtUlW zYOpjYnBa`PJvuZpkxGPx*i-1P-cCaJ)@I-NyjmN{9}xp<#&8I5+2RCKE;T&8%Ic-F z87X|%YZLcCM_QBkNE`|Y2^@m8%7$CCI>RL^pSx?K|6Gy^L`m~uz^#!tf8q6AS7s#_ zuLILzP5ud1)vGrRc5FwdI0(d2*>fImRY?rTI#GCzM+i~e^3F1j_-ru9%OTSDO^~e! z4{ZA^vRwSIA%S?pnYl8!rp96eF~3!#c3Lp^8N***8q-rM!n1`!mk(tkmEIm=9vEf} zTMYVHB3mcJuWFlECqd)#{U(^@_q~&N*GUVF?=$DutK|XjZ$DVaH7uBDXz!*M%+*!? zwe4PVChPgV^8tPOz2xQPRL}eJI=a6*4-Wt-0xXPx=p#_Q5U>mcMk@jX=8tuYz*V5a zAq|8QDiHo>Ws3qJL9f97j+cq)+5SnG|F6X@zX+d%=reIqK8eTpT~y?`h>*TKezl+y79u#V#X`q93Nq-IQwnQMO#v?f;6Gxw9XYt*EbU zKzLBEk6PXG$!%xeAu}ot%G>wBA)#U65s|V10ch;fpxCJ7$9OqCLjes;2XM-ABxV*B zmz0(nqk!nSIAm)$oXQ)UJ~fwuS*aOh<2i^yEq(n1gC4J0Ncb#xsYt@wUdDseI{ZYSs3py)Wh3RVEYdpAP2hEynUxJDQJ{TU`$x8I~<4-;u$X zG-{o#XPd*x9Iq!k+b(vdiE_r6^`7oOziuxMzEAb^JigJWtm_B}vF&;wjJbS02upBxJs4Mx^+yPyuI-OdQtR>` zVgFLLKf-ClST`aV(`+{)Sxd_|qBxs(H==omST|$%=WI7)g}2K$3$9UsXTEeo);sXMa%Bx?Oot+j+fzP=`e2 zIIJHab~yYv%v^QYFfMp-*f=f6an$rx*Wu{Xf_2qV^NPp8QOkN5$8qacn!|D1ZfVuS zar+y7r~SC{oM!`s zdX8s$&#&&PN_b6$+|&pTdB2=7#1Op4ze zUQEH!xGtwbwXoFve*v(g4DWd%GTl85h6igE`|#K+AY0NQP0L zi~KGv^E`an;gwp*vhV9ak!@X#ywBf@Z8Y!qRP#+l2`W+G_p2VuvBN7bk#8P44rOV% zq38gA9_U0$xPEBUtI6Nz`|z*a-{+%3Q{n_;nD08zjv<#2pg@bH zWG(ArZN&|$#WZ>dtAByF^aP#C8NSIb6oNxqfPyTN5^=MYnq!NL&`T(|l-q3~m^*O{ z`9*ub#v+V0s~W2N`_-?x(n0L7vzX$djf=j|a%W6tzB;xR6d>Spv)RMbfE{fM?4pD| z{QHmb!@r9DthKzLJWc>5C$ACSqDs-50+zaE0ReD$Ir$hpOa`uT-hEk7_IXMV=kb?wg2v&QvKtYy)#0N9{*i# z6$4cy@L7(JAY@Z}8@HIOQ)N`scRiSHslGxG&9}}aYm<>##7^*SmUhnO7&HEKn~Fz! za#nBlw#dYtw7{)Px{hL-dsipRimM72j0yCS zH`l+fDL20ng}xIEtXD#?;D_0dAT{55!!q_?_5(C5SNVp$YtvX73e1oW?buc>h(6P>2_4RBx#skVqb0_2(}!&QJ;Y0uYRb-0k{Z)R??h^5>=nE=gSp-S% zzP!eLj4-$7Git3v>1pJ$XV-PLE7e;Rr(gUIRGJMWl!v?p?HN3cZ!mXNKMB7O)jRup zgeBaJg(82`CX(#^R;cJq)zcKbPyH&9o^Cr#FL;sWMwRuvi!eL9troiG(8O<&7@#aq z_p9uJe(TfecYjLQUiW2wwlVdm7oBH~RHus!9}c8puDyy=p_4`L@8_;v&KqeDB1R3z zR(I~t!p;1a2z;?O=fy8RbH#UVsJ=zV9gvn4@z@&&w!N3OtLAUPkH`_Y_ufq_AXn_>BHfRcd5Lgh6f^8yPC9u{3$>Cs`^5E~u!M?H~ z9I1MudiJWq_8J)>=DPMeq@lX{q5qDTS?$d~2bq$F8MlO5E`(a^hZQnw%C?5RSO{~x z4HGQ~DogDnApuIfB0w?7r#0NSHJmgb6hIn*5RM4SfcVUZN3=S(g@H)&J%Rl2c+$u? zSY$YBq^d?_cq=G{G%_9*DFycmM?~h>MyRhxXy$|RNwFg$BFLtrYHy<|G9aG>qXBqy zvwn1|zC+b;cp7WegT6*&0L;Z+9-_r4N1Om6&IgUO#*99;fwabunu2D8V`ueazk0=v z+=h>lT3HZV&FosuELa7F#V){te%x9TB4f?vthDFi4sYX*N#jpp@ms91gwAmntnv4| zmS4Q$=WgR?b^{q%ZJC8_!FN_@6+xkC2`sHa54!QV=n43Wv7y9?#0IfM2C<{JpfCc( zBt}I@ehh?G#e_eJ**l3fGs*o~5)+wZ+m;j$o1{LIO4u_IG9Ag+146KM+2U`>s8`8? zk&iD&fqE0Fpqd$@)%4=Yw-+^`u8CWT7)0Jt{i=0WhWUi*B{wo}UA@g@ z(NmyWo0o6)ofX~JlO@nqJa#i)c!$py36UoVC-O^*FlrX)p^;h%V&P`}7sD&y z;je>1IY5e-&s5_l@Dx@F8=v~rs8E% z#Y;={w9A_aujH3mibD9ZIqHZH2Jj>;K%0OV^y|?RW442c=A$Uda}k@Ix_Jj0Xm<&~ zRiUpQ@)#82E^>*Z1e@-J>P0jR_oSK{rK}-^a(a-iwyf)KhHn)?_jb@*yQuQ5+#p3b z5C#o+ges=$f7#0^CevcE(q2-O*|jRvs4w^yk`tRLN~a?MZ!0zwD4Z_>AxOM?6oDHN zjHYJ>1JdFgO6XxE`kzDfU(6e?eKof!d5vRV{L)#e+CV+Zu24oPos7K9Xt024U#i=n z%!^&_&Y(~YUIKj0)HDSt%0MViL59=C;>F@=R)VAn;P6biXj+zSB`Q|sYxZxi0^C*q zmgo>xrqTOAjut)h4aHOpD_d=39X&I_-ynA_3c>4!74B{Yi_*UZi#3Q0HUugTQmP)* zA;s2%RRV^kXT{njo}~f;$^|-xXy0;QK~t^n@}|gZUW+8n8rGywXNMIRSA45{Wm?|7 zQ=^$Lw&A0IeU&|nQmz9O-Md>Lmuh?2O;k>6PuewI2nxGrMPIXLn|QdH#iG-uHdIuDj4c{3>fB=x81q-j&x+_P3pSs^{Z0)@TuHJXKQNAX`t~+MX|X4fmo1ELx{mS75QG(2USrKT7i>XoT}O#xBze3_8C-lX;c=U_?216Gn`?)+mZFIz>~nC4my}#RI?57cY9x=^1NmT zwQWaUUPD=;%EOw*I+m`-wq2zmUG`4_5D|1aDDFWuD7Pc2=}LEtZFfy&LI-VkS6+8d zcX!`HH@Ul;Tc&4lBC!&YG?v#h-rX~~(DV9t&lGp>yDPoZhP^|EJ#V`~4S~I%{%5^> zrEkTsFMbT9LLS$ga zVs%sTH0cFR{)^vvWQHDc9qmpZ^PfIe)qeJy{d*I*i>!e~?)dMgooLne9SB~#Q)x8Q zv?1Dk;Ag>@jfqmW-fQT?t`)7wnofmJosAEunqD$o*|9F?ep19TU^3yaR@G>}Qn0cz zaBr(zd&ac-sX~LGzPr|7<*&iYkm0um97Fm~I6a~>x1an=C*=9vPV znL0VfkF}hvsd9;vk!F!ouO412hEUJWeP}bUT=f6EXhZ384{Pm^Hd%U z*06e!l*PlYL0y)rtPWgf<3hi6eoB;`a9T*n5PoxZx4V8WBydEiL(VTlxKbdR?^>d! z*Ntu+KM^3;ApC}N+~Zez!nA-YvxZ4jvCswKYg+_Y=3evHmGUG@9QA~wv-sxXgysFg zbb&Vje19e<{dql|;;V(9p2M=qe|7wOtjY{*et^~eY#NUG-xO*_@k({cZ(c^C81&U@ z^&-Y~TR;T*?mLqY{3X-pkMLt9q{ejVTLv8`gfjgYd8_jTCIeno@}^Ll=hRDTHvM;| z%}TzWgox>4550_gz|mXZ8@Hafs{Q`C8>CZo7YdGEix|dL%5#c23>ivQJN7Y#eVKztO3)=|6d$AI#9_QM zrT9qfQhoFiu`b!Zz+qf!^rPP(+ml7)1!ivy*Wb4~l)K<3>8J!Y_sZfp?NTej2xe?r z85Fo%wVHkNMgk_BL(col)2XtcRgRBbTq}9={bH_pmbF~hgV<)|jhJ;}9EMa4r|tD0 zdMoHVC4h4ET>PEbe>yRly!&y!p%ZL{DKqC~0zvcq$E!-8epb?c%4MTm=4((ND;($8 zW*~k+czKxLCA&z3-r^RytfoFl+&e2!SJHg`{`rHBFV_`y%H}%_dLmxqpuj=N_-Q(I zzJ5UX2nakX)!Bs3`-@3uuLQ52KV!=i&T6|JgUc(u>18PSRmTov8VJR6BjC>ivPy$Q+^goq7p}Ayxry{s(C3r&>AF{yYWo=%_zSW0kMj|C7L| zHuf-Ujsnn&mOKw8JK{t zBT6Nw_hzg<)L!mpc1nKm!Bzoin{!IN*EUBe|K>dB+Fs{8@Aakq$AatUp6`ox0v-XM zL!VE4dJ_Yd4)izR=xbSu=ljR3eU$IB4^F$-aI}(T>Df8^V|B-IO}^&tmqC6{vHp$H zY|metrMfch(CYTrzc$5f`(!@1e3d-=eO@_G9Zw|-?RGD}pn4&~M@vW2KPctN_o7TP z?uH(Xz3P+taK}H4ufr{}P9ewbdEbA!#f#x5c9Dj6zHR(`^>ejzl>2!P-O$B{#S{Hp zs{1Ejp1&|xpf9Zvh9J;5G)LmpQzF9b zt&+jf1TctaS*#vYdG}Gt#TStL%fe~rih*dTQP2>Ah74k>BtszaQ!^tT2NeQ9bjkV;fea-ON6s~Rn#vJ& zUW8nfXuo`z3*KJ65#OWdj4%U;U39GiRVz>IQesUaRob4VEt<-RY=0QP@xA7W5wDfv z_RMSX!9b(mw>c~Hk#qzmCX-H7h?l#*FHHE(cxxeCtUu&0@80=hpm|k3zA7(Acv_Vu^;q@XVqdqH^-nLFhFs zgvtF33zsK?7$T=p*pk|JxP$amR#F`bQ6jL8V`=*%*K8VEOZ-Mf0Z)7&+iCCn)pbuL zspRw^|CxVY_nI({ocE8>}jKV#R6Bh;0mQ6h}|Zt)O!6!KCp6s8vtY%_#Yl!6l8f(Uru=OmTc( zrjog70y1QHSs5wvI+^;Zx1?stqRSYfz&`Ss#9OK>obo1~HY+0=4 zE^&zcU1#y?l;J{rnJ@vNRcf{x-Rwn`<@x}&EteTI^A#V z&-}n>`*w5ihXi%M2F1G`E)u^#&b@AHYo~X=eS2Ys67JV=D>+$^MWbiKxV`JcD^FiX z?BZU^Pv~-T1npc1m?JQ{7ev?#|K0uN`@eSbWx{>Bso#qmMkhfW(obRsyVH@b&xZtz z4-z~m%bahNMkIK>lS4i&^PHUwe?T2(MBSu7UI6`;^@mSN{(O;4J)N-s?DO=^r!U`M zpTc~@j|vyKSFnmfV;>BBn>l+o;2&b%ff{^;CI4!);m-c7>ZS$_<^B5_ z$k@GQ{wyH#`M>W~XI%rXFT7%soLilw2B3(=X`d$tKOOJ3p9B7(YoQX03%I_6)YRRT z?!1$!)V|}2i(wR#y~j?IeXm;{UXJxX``I#i%jwm2=vGCytb@}5SRTpl08d)n(+NL% zf6wbE`^%q=*FU?DUY%8sK3n{o?RhF}2T=mC5+D9ow>X$BH9tT^az-#KMVzr(ov)Ap ze2vgI0s7zAX)ath-f^*8UJZTO&dNULsirITclI(95=4&%m?`&96r%oGM#%?8Dda>c zbwsIHMg8=T#BxUCl%ln)qSx9%CPWEmif2-^XD|~6g`{4KvE$!}=J5(QRsvlhfvyKW z{8>R%69I8~gGw?%%}l}5AM#zdY;6du}ArI#6GZ!^PP*j;ud}K^I`B@oYq(z zQ-{@)!#uv zX$D5;h(Lp;-*vDMlF@1i#Kj2?ngK4zfLR5jPuDO zv4@K7DJQduyOk-2dQq&3seyWa7IASc9jVl!_sxEWo&_W=UyqrJiwJj!AH_e6j*jk^ z0rTL&E+D|F1>nZ(oyB|h>ZNB2f;}&TY4KnlWcoKPFdqO$W79M^6N@dt900(V4)Vho zG@BAx+)@w5qSOO26`n>ZwLeg=dVoF6#65j*vhncxXsX`RtPK~?yKF$O1DY)uDL7?! z3k2r&0tC`-bLxT3k007cXtC+DV9-!lTD&F}d}e|LXJ%y>=YS++?rX$oyC47<3CvH- zxV)J%*q*5}pB;K9N}DT3M=U2gC=0lgWAHK+tQ>aW3c99z|6n~e$t|{H0KxBOC-|SU z06kZXouG0Ijtrvd3=sqpII)is$splHK%f*^)pmg5s!G-33V7>muF~B{&5_r zb0b{GOJ5v?;Us1x%@x13)EPXNT7HOOoqL9H%fHZ7B65|3OAc_Q~e5w+){y)ut@i?D4WXY;L6zC%J{CzMDfai zU&TH&C8;(QSt?aeY^rjCt8#Oz^1G@6x{68F6>EL~mz$?%1Bi!MU7cI~ZmzoiS9Jrb zrb(ry#iph$xTb>!cpxTo=7mo7A=Z#lwF4@(Lm#U>18T=|Ysb54M`>!g_iG(ENJawm z=L;b-!6MFE^r7zM-$v>Bm{~$q++{S%XM;;uko5Nb{PvCY0J(nmWBvZG`a>HDmBUMT zuIDEo>vV&8q2~2@-h{6N+P^k3=M$t*$MQU)#78!mx;LBVRD&+y&allwl5J$4xCfJ^ zr(a-WouGQhjxEm(5&MWQywM~)VM;p#9fdqEg2_yGHF9t_BlDQvR>5p*D5Lix~v!s>-k7Ojw8V3I>-sZ*KZnxiznRtGSw#^bLV=xCDPlE}_^1qFQ zUTZ{Kky?C0I^rip{3hCGRhk{Ix9NDb*lai41v(QXU~)d4x!s-l3!RDEoh0tA;wxRH zwq4~RU6mnSlNnvL3tjaST}FqJ&;O4ErY)qqBd@!wySrzhyDv|K_ILNdm7XC(Scq-U z7~rWjHa7CVxaae1A}*mgM#xTiNF^?vL(?^>RBH=-0SS$08@=CTmZm7n#M}T%V%o zv$74p{0|G#iWLDu=O~mY#2Eur;bf9Tc14J*D~dLtaYG7B%(8-WXa~(mI{ly2n7FEW z4rPAh(tYwV`3<9pMKl`8uT8@M;2+WNV`6BSL2?}hoUVunRwA zNyRB|6No3`?h)I>RaMK=9U5Pqvmn_TKejlC1BOwBCq(|;_y+co!l}?=sfcp*kn$4( zXcf-Nj;n?5($YskM`eRf*#I3HRvFwBVjlwnG=yuM6VAwqf zX_+|wXsnhs_)^o!-X4DilYX_lW=Khr}6?-D!sw4+#)Y6UtZ=Ud!5e|G)#f1Wmso%E}%zK z11h{cCy{mnp@9J6J}>2S%sC5EAwd*v(4bKZqr8u&21Z$(sUP75sCjsVBB|)28(6*W z_6FkMvStG>y-EBWlN=0q#kcwnePkONDl$=n79BbjDNLnvx<-rch*<+U29tDrazka- zpU2y$UBF3J!uSiNcqrwX5o+a@28`+GXVJEQtG=}rU4SH6akd0TBIuNy`w>}{>;s1$!gay6LC%XfF1UuvX9(V!tPMOIkmzj1tuhAhi$A z$)U2yMy6(Ae?|`Eqg^5h9;`uj0}OpRAUcCcO8&rCUSM)iW=sjwuC&g>Ag6jI4J0#G z>Nu%jC`-^tq5)QEQ{sj8CpDDhh>xa=Zm5ZKU|6sd-2e8qUR_$a`ydz0Fbn=Gfy8QaEx-?uusD8JsiTuF!zglzkfWc)%E_|jp>siHuNih zxOqSI-kR36v43B`j+%rYjeod*=JUz6srOfVQkNR)NZ0#=)vd$mV-K5Pf|AU)WZ}rA>mOs%SrRZkq5E=i(n+0G971BkHg@0e-I{ z|F6_O&Bap9Hf-PkFRtNX5tu;hmjmVfyb`5zJdhGCQ{=f*sXN=8OMl9yCZKwNuyl%~ z2^$+`8Sjrc(&J~KdWWSEr=qsqDMo$Bp}7FlME9ZTxjyCOukN2cQhz()n0lBab@xCo zHT+LW$_^f}Ob<$n_)~&r;!+b&OixZbe*a2XnK4*WfLd{4jOlS2P9mo<(rn^3*Sg5% zL)r9rZ>vE~`GZF{)(|XvM~2a#Tqqv`8|#cf;$?;WVc4aV%7SL^t0tRpHr7#h%h7^Z+e!MM;}F70^Pa zu9T^|W&q93fV+Y60(I@7V)LDQ^t#Q1DLxxG>Cj@L_QoqJn*NBIIeH1DCSuWNA~Rz{ zB}8#~h-%g^!Eh|%iU3JN7ep2-Ly{pq_NK{%3NU9VrSMGHAkI+|2C#jqfKVaF)xIjf zDUAH8#DI-B-*S~^+PHK1FftjTw_im6X~_S;)`cTiAG)RFCh6d=VMU;jqP6K@G}zQf zBP@+kZ_y4T2*I@Cl7hSa(sHu<#EDrg;%*N~OPQ-N?Q7|iEZ&;TGp*3g$ z!3REs+Kb(;gv80}j`baOU z1P(>fLP?z%P7RfTCh19LF;Ou$ruXH6{ivg9>WlK%qjwz5X~#I=wL+O0HZ%}s62<5( zi1FcbOu8~1NCj$08TaxfvPA2`r~@OStXDxm3#Dl(sGdfKj*f8(04~!oM(v<&n7U6H zGSGP|^%17!%H@|ZYKhjdiHU8>eIjeGiNIJz%P z=R~xKH+AIKr+_h@Rw2dht)Tj+llzyG=ab@G%(y?FsKfhM$TgQaAql_O;eEq(dxc!8 zU!ZSRYu>)v7cH$H>F6T}@!FAte%mm@bm9Ho72fxq^LZ|;&vPHpBP?V8r2PDG(opqn z{mMY|lFYMesh?`vX`{-%hwRRI-*Wc$zyDdsW;@bG{p-hqK5fXF1atJrRf7_zHed9$ zO-F?39H(onP717?^QdQPK1iO&jvJr32c(hSU$|TLe{=s{)6I4NW3=gINs?;(z;^%5 zBJ*4c;j`v!Veekp66g73W|G&aMeLib=!d^gnp!o@X~GV?Q+o#2)1#sMEl-ShqqpW% z$7>!(Aj|K>@PAg{nGzW|F5y#K(tg3F?e>?c{O!qtqio2_h0oLzPF=svM62uZmxG|r ze@<9IN!g>3fwlWL4mg&A+rRuf%@-WtsYgg|g|tPajbS*c_R^Lg*=0soP(f~M{JuN= z?o(aGApgxG+KsDUvh(N6h?$qR1CDlsdQZZ{2kiP9X-iNRGVla@u?U&F_SwM?A#{8s zhem)_8yi|D5AQAVJA=)^UB3pqTZZhmN0>NWdz``8`2fy5!0=&8y)ByN;)-oC`FwO6 z0A(>4XL1UX;9vwcD~-s|!WX_ulZ$5jIcxAx6ZqxFX!M@<+mx`>zRAtE;oOKY6@H$L zDR$-}MG+!HyEmBZEz`>6t42lLKLeKEXVH%bt9xI62!hBW!3-31(g8@8{>V#)*; zjfV0znowgQLjfpcrZBe#Z#$E0tQjN-20l1IUuT!)-v`NKc?77;X`ES^II0LwNo zGUOo6dcd4$INgW?Xh!2E9W(FqBH))c>nk?1=E@`nf|QE@SeD4#FPzXuB|gd|aD->u zDizI#-OxR{W&AcqeO=8m&S0`XF_K@>A~NPrD-#+oh$Dd={Un;eV2MirGM?5H43Y0( zvmXGsk)Q|+IMN;+@c8!c?*yMF!IV|ZFE)URV80%LAjTy(lndmRTl4sUU7AsA`y87x z!tzb@60Y9jLCGdW;*hI2&2()H08-V9qrPP|&aNuAe&sa{*b!>uBbb&(Cz;m7z9WK3a(-iJI@9uNv*Y!|U41 z)9j<5V=*zKs-?v~{+d8d5x{i5@#-(bkLAi8wrp+`rUHX?9)nde?E54@76A7v!HM4K z+Fsz8QjUEG_RD^(W~bmPe_r$<2%46yF`U@A#7^OO;PiRm81S7cufQuWVFxjhg6Jvt3NLkVhII2UNO(~erw z({~jy*aWMr6xCvb*=g=;X9qH&g5qInAb?fEc-6Qf`Xx5enP^L}-AJ#Nehh5H{X8BSvJB`=r zY5kQh5)Y~onfUypHcZ`x!SF3tx-fql3pnyE%RwY~=nf0BZ4)}T2ohX|>~0b=Y;0_U zhnqXQMuGhY`9<(*-u)g7NcKXpnyUl;($x*K);>I2^^zei)LTvSY_329hm8PJ)|hqP z`G{2x;ODKlM55K}Zsn#a*Gg=m^N_%7&PY~SR2 z<#}0uE8{||BR5Iiwr$MuN`s>X%aY?)ANlJiEVzRUn^-o7!P@9jpNhDqe^iYQlp1_j zyGCND8ck{Vwu^iRtAl_e4ox7i$m?lh9Narwla)rtb?mGOX~`1tj2<>t1Nu* zsDhV{?Sw2C$+ElrSN8~Ynb%Z%$W$$HKp*rGdX)y&Bis2u8COl=-&Dn?CW0oW3bDFTykSyZ*!rq+o{mst2%X5 z^}%+D>v^?p zDMLsZA+J-pi!?;j|69V8p~0hX_|p4mqhCL{N-+YBC;Yr``NJWCGJiU=wy~jk?e>Q4 z;*&ZJ@6(db^}ddvr6$&}_YJGn{<2eGCW5`}`KWXR!wZ6FNi5q>txm+J9wF5sJ=>u) zR_^^n5bY&t27C;2Kdb#){H2>L`h(Ze`1CfRI67uviU}f?20%;1sc1&d;>!F&#!&7f zw*=*KT1~F?qf#HS8xMmn3>aV}8SJUpTzwn>YC6OdXAdUu@O8mjGdI9U^T9>UDGD*BG`xIL zs%o58I!NoFr008VpgZb)a%NxYxON@Dz%MmD4#9b;3~Oe&1!u;Rs;O$Gt&+$4 zY_%K{%S$t+t?ywjmKvU2xiz~mFVaFg%NXD5eqq-0?<^&+A+;oLi{piV!Hau~F!x*2 zUSSoT0)fT~3?g$>WaOM5{&|>G0s|2Q)D(Vh@|bXq^RKJ%P3r)VAlqimF~eX8md<`E zDIqL`nVEZb$pXsC3YnmTSVT7bQa(z%@=cVA6Mc_$wA&P*<;O$x5w!HAKE7MEK^H!H z&Sr@%v3%zjXne$YU5{3EfmnHq?aC5MhO%gs1bcU5vu)svCFx}^^+!XXHkF9L$$$p# zg>Z3Ch?;V8BjZFG;AE!7>r9R}MHVlBU)CHjk73zVBbZUkPo0pUHt>60?EB~B&}6T9 zgx%*1Dmw_d%s7CKFM$5lPas_ zD67kbO4o1b(u|Ymw}ZcJmlk03kT}EEtNL%{3EAsJ1}Xsg+lx8u zrO+!cbsZTXgRHFG2$DX51NT+>-!nX~W&47fcrmqNAOm8;CWov7%!Hl8LSLIGFoeR= z-Wada$f8Vlctc{1B(uQh#TM(prb^428j58faL1PCQ}F)Mv?J0qzsq9m!q1ytIz}tBweUyk)>Z4E%DE#i$5i{<1P3j$n)gpCj}S9?r9n zcl>Yv^h^C|V96=X$;u*2rS2_8(;zM4!2eS)O(}&5W^oNR-dhIIooS2n$&Z_VpmuaRv zJ8$iA@UW-8bUxxLxbb}c-cN2`jw?J*qBReO)@7gc4e;yt+Yf@s`$%ljMT#aAauJDd zyaMg5Jej$#Y8KcHs@zFqpdF zG0eDw1vi^?WnYefYs2`J7+Nj`-xDtae=tkt%S#X3=`KW?ke!cC&IbzlKX=jVBY-6h z38ZzK?d>x)nkyQE?ZzK5qc?=e0Iv}Zc)`E^Dh7N znxVF8+eX$9n7LN((&sUsC3X*Yn^uqccLQCtGZH0QYySNS<)Y?A_fCI&m+)I-uZ@5$ z9J2qA9FNrLT>a*fT8* zd+2TI&b>O?sTZS1s0~bs0)e)a>aGO&`K(U7qGQ19NY*o<||S1?b+^EV8lKYbLVBXkBW5$akiuO)WQhl_?USRceUJqAxvlY@w5s5#)0C zhpb4suHFGn#1Hk82dHIss0VQhN|-E7nVVaeWbE{cV%UF(Nu0f4zh&_{o6guxEBc?Y zl12p541oc`wUj_H^pYK>(Z5(Rlui~sCXEDob-g7h6VJ&(H1&N|kfx|fPLlzyWe7VW z`i6{+hF}Bxkt=pLGmXZ9x6D~w8meTbe|S9tgaKD68$*}!vSJ*^qYM~s$dH>1Zm9DR zA2WJEy@~6HdFCO}uQhKJ!T%5<=r0wslAs^%@WEQY3ZiB$BB*@c zT~|Sr3xr8NhVfzlP7CT7WObPA_w|Wfx9t|cI^@caN9EqBWOC@Q`i>lRPxj4)yBrYn zO72il@Z6oI`N}xnJ5x_|dy=a35n|%MOgAeZ49OinlIRkf+v)r3=~zf`FOKJYT|WiS zkHWvpt2Ftbx4AbabUO;2_wF@Ky6YNyqG#_L2U&(L5x#=sB)QSbeK)P;O3%m0aoFxV z=VxjuY?u80s>R$?<~RQsMit!F^U@&UEZ{xQmzdh+$Ee>w*ACuyJ(6FSPOg;f3BsNR z-1u1V`*Xn=?~B_%JdocH#;*$Jvn9nxB2p3+r3;#ZAADgGFoy6wP%>2b(UfpF4bUJC$GV)a^;y>w3;gb=VFWWnwJ24uFK9>D%uy8OzJr8!5~*dpv}kf0A~>c2_^E+LsTqY= z;4_nqZKW0Bu~RLG4$w;RA)kekz9MuBDh%*wmdxYJMVetGS%=VJ7SBxP*D?KU>r1RO z7Q{&QN;Hf%1VrT^Q)Cv&59h`AQ^SF)s(s8drMd5@+?;SCqD7XiD*d5DOE{IWEg&gW zD|5)cSG?z5pq30mIDjPzkE_ZQofDz~??*E70B{j4CS)DR@V zF#wCvKKEDTuPZ}t3dR;^UZk=}u)>p3zwhR}?6|BgXY7ro!)t?$$92^&0vdD*UVw2> zJY0r2sVIiZbkd?I^DA+J{90?2wRQE4nFrv%*i0@Ei7 z!e;P!F7Zq~`YYf10pBe9#*NWFwtEb2WT)E)AMR2fXYlCr*xVfN?GqMe8_#$8-SaEa zp?;;Y%2{`7QX~bAZl)REE`&Jc_0HXxZ7#kn?Cz?4+b^;A z2pK^|U<_GYxK&QDfquDZNnBkk^I!G33yX4gyIKR? z8^Hk~BG$aFUl!nd8k|F2*yun{(HPqIuwfv+-r4+-!}im%meHcm!B4pyxQ_;SDGhtS zdC_0PZT!82Ejdi63p* zKjfnr>pZkdB8i`uE3=jbsyrn&@jv)u9twXi39masK2?wnd%?Xe`)96y_K70HRo^$r zzXISmoJa31H&W_>X=0t~PpCm-2TZZMNy78KWkTe3(A7^f05L;HR^}kICUfEDjzRi( zuaGX0_*IaHYT&W%2R8wpOoq6?`aF$jC)2@#_e#@%pw-xI^|wsjJJ}g{vIp09LG~>d z**Xu8tFJ3VSG&UVfC5S$qgosVpKHxg&~PcFjZT*@vA9GF(Qb8Bc|-8bCyJ|Jt#r@w z<=Om?+2=rtjtphZJCfiSxvAEBfrm^`=$e0HY_}Z_37_cIsS^0A zHq70x_|{J8!MWkqUF3e>meilMBqYb$0LSsew!E+?!;xP<+WPoDtLAZ!^!T->&aklM zCC>aYk=I4Nr~87VP`?PCX|viVwC!$2@ZmKf(@GgSy}4m8PU|wh`WKWpa27rrbXUAO z?Rw+WVST>C)ohJ+z0UBBBnJ=5mp6fHXBK-$3gJ7JE;~x0|17g2=VLD_-=C=%K6SqK z^{^uHIML(;zW>*zbYA>gi%s0`zS`MYlGunt`P2?ihGBTm=?v^0*MntDynkkOlQ^XO84LoOs}JQ|me-u@xoAbnUp-V)L1`v&s6 z_*rdi!(^hsYsh##@SKo#Fi8ajOTD^Ff3Y3}Ulef}iij2#V;Cz{)OjI6o^n0=Hbnm|oGCOUo)f zG$%vR(yONKbH^QiW0oO*P#^}Vm%^Z)w7e8aL=h4?hJ#nKeoQI-Wsj3yfuv9%O4{=V zvR}+(BbM=(-3)0x&vP~{dBhm?`NdZujhgUop}!dGM}1Ba>9Nu@cDYrk!x;gds}1KN z!F;OWE)y^!NuS=$pz8}us|Ak{w81tz>S@NVmcvKQUzihJj4W-!@>yUidiPO z8v!awf{na|r~M!%5*x^0HxlKTLV>3GXmcfX=9*r5!UL9|0X?#YLfivMKM8hRXd{5;78vuZlV8(Lb z=y%DlwSbOF*g!h8>0Poy44&CsQ^kwbfyCgX1^bl&B@KbPGWdcFpaf!tDmn{HhA5Rw zFrI&fV9+(WZaMitL&*hPoH#>?6$loXxQTb>?~X=f3F-UCmU3#R_zUST?@2c=!#oXO z3PLc0s>cLMK@O!t4xQ3<0C7XZT*wgc0|vDRT05k_z+7GLr8eV#`Ia5!_C~tVRxCr&VTj0%~?p z!@Qhtwuqs~sSKx=?)KKS;mnD>+bv1b%yP_$jRb`AA!Ie1LNn!A^dN9}l3Wq;KVw2?{DX?%+m-O`|q)X2%}fzsnZ zcHA@dQH0=IK~A?wn{l3B_D#pe=sx#<0l zCCA2@EAnXWURoCEo?YJ^DaixcjOTSv$tD@hRNOjBBu|6Y%Q2eCtSjRF!x>_|FVqlT+WV{U} zh-U22;lcZ+ET3(werz!~G5}qRH!>2fkEM8CT!Zzs89XCLPghzMu=C&DNbFkCjcjD> z5-o{e)pd!f@DvQYv801eU>nog{+#ChiOu}?FzhD4x>jjmOoBU5?&mdgKPJOCM@)l< zne52094G2cy3JXF-7ZF5o}r(Zrq;Ys|b@{Dd*g>r&kni zl2CVoLV3!T8DLOKMp9n zFyQ5TL6OAdPVfm314!*rqwkEV$8O|1v5O$0-QSz?XdtSG5KelD8U5I`rsa5ZkeT1D zQ7lNwnOeGoJ4ER=KP9|%PA!jesryJ@3!88UtuB3_>HZ{)?v$ulrcG7N7cd-gK}fyD zDoL?f?`}pkL#O(ZS2AOJCqIW!IF!zalmD#%XOW{uhqNe8M+=i}NrD&_|71Tr8-G-r z5E$Xcc9U}daTE8Rm~V3_H9z{cI72QZ)6^nMFv~fhN;zd$zr+k3qP?Nozf#WIWQnM@ zWH)6pk1pk0f6QH+7wq_KQov}u!DODwW0G~euy)#D0(_Vl_5defRSAl9*tDwDIIeP6 z(Reqm3B5@Wytd3ra`#LlHVB?WzsFS>XqrPT7)1t&Qw)`h5mYLLGZ=FeP>wHlmhkXY zcvZ_I1-~HW_E^mA^8GV~gSlXVXTSP+nj?tO%dEJOic5omNR7&iqNUH1+Jv#CF(1p= zF1|Uzn3{J9rR<|r!R-$2@8u0A<+jU&)2wD%6?q*ktKtqOy?##Z&DNehp4pxZW~L%Da{VKx3z5dE2_2@>1h$h^86`VGMe(vk=Q(e=}+p$^0?1=omdvS^NNr>aAPMhB2 zu*hqB|61I>V=pK%8INkR?oU0qR&OXF4~Fmy5|?dM`4wja=pv-ihi9*P_pUrILePEj zt>35U$!@q8$2J)o(OPtjrp54o=%&j8rEoIEj0; zBv&|xtyWA}`p9Q`;K4MW(0awA$3hJh!Xt$=yRu%?Dv8Udo-7)i#Z$R>4ezDdx=m7vt;lC@Cj4K(^VKN*_!g#YSy$O z{4a3VlH1AlD_?wt`Jc^v^h%>(^bYLllw-liv#R$R;{^!MY;ou8kHfJuWNxTlLH^6N zZ?YAk26e^&+`*W~oEngRdl3Zq-4FAJ%(KxHQ0E`ORLr!sI1D(IAq+35E017Gt1{M2 z%Q*zYk#wGj*GhxoeWxI1Zt^aChAuUks5J1FPAlE&hJ3UN>zed@%9Yjg7nWQA#7!RJ zcFgo#ZIaf0BI;puA)aXSlpqu9m-b@vp^=`&u+t-6M;(nDUM*6usw}>7e_tgAxJ|U; za#4X(pawSFAx-sBB9&<|h{5~8lQi-zW#6rVYf?6zX<}fWZz8X05j@PJg3R7ps2oNe zM4A?$W;*F)uA&lg{heyP3KJA=S!7?!=c zjElIQcuPs^XzS^DYuIbIs&V#fGmmQohijM`YY4>#;}Uam%7`$RE)9p^>S6;uw?*UE z;o)^b)}A@jYnd;%g83)%+q^0eBFM!F_QW#Fa>#7gsu`F#bwWPuQax77xF#pgoR zcD1I7_BWa5wdH;3y`!JM&mcXHdKskx`wY~EQC>^^x=(reX>aUJ*FQ)ryxF28UDz3V ztYVX|NBfM!GdCJ`t;$De;>m+zg325`@1^Lhot=D+Df)%3_i;Kcib^P-3cGY~I%i*0 z^2$MMEb5npm}&Nn=MJw>@kvTbXLopqBy;xJtPP#H_`g4Gs{Zio$~FKir#AUyY`jPa z9lRm&r7yhIhCfIwg%Ik~^{zkGh)3a)J~yA?hOQ4^aY&}=znY*+>yMqeb8p2X*Il3A z1ipN)%B@~(xp(V@lbS`_)a$nUUxjrtQyQqEjsCUyn|phfu7=bJut7wY4{2b$arY9G5=k4SVAZ7MeXGLBU_F)W!e&TTcGE z`Yb%7E;hsNUW6h?FsEYy)(piFU{^f`OIy($;} zYrqNo-9!2TPRASiP=OnvfgqCInSza1+#BQ-a5nQpnD{U%y_pnmY^QH0FL=e`f@n#W z`41;8h$UVSrSnB2GFsG1NzUdf-z%1Px-JUu1$EtWn=jvP&!kGb6~Zy@GL)0M4MiwCE(kxU4xVP^>I{++2+47m0GmJc;*; zM4ZHvhzNG2{eJ3NPcJZ>UkSMluW;~+thyH}qg^i&iocCYq4TqLZitt!YN`&*`X3CP zgYwagfhAtDG@ii8Qn5E3_=>zjgppbb#x;rsh}gJ1q3BTQcCy)2?2wT z>w5l$_j%7b&-vYV-K*hYk(%b>m))M6r#472g}R4nJroRgE|JA^i4p3xLI?ts!p!Cn z1h5{>3tan;T>*1@qx5s72b?-8aIUC9Ml}LmOlt_G96ofT?q7lYb2J}!-hawNC zfIEanIHYer2?i83Vj*}()Vvj^#L*wQxb5Z z)N}+47!VO&mZUIRA5KK=CrSsrJq&nNDD&Nm!{Bk6$8byet+15sPj=RJC9}4lgV;Z?Q| zlH&eZND9*rhT4+K86(iPfrAH$*vJWOR%#>fl4&Y)_&1DilcD*iKFkhII!_fAq4crG~09POfR_Dy+$%Ilr4RX(i>n zK!C+bI#tVc&0V}FL?SdR#&NGZ-dR(LOk6-SB2@o2^;VP3sEf^sHrP|S>z$~TldUojaMf)A7Njs6@A zwCaO)j92#&CK3ni8(T{y%+WE0DDiSZ*p&3XCC*ZOkJX?Mc9x2#;YsFUW}GFX`qt>| z(fXC+KoU-VmE191uCz&KA!5Poz}-8%p1^Ncd+klDj)~Cr9n0Cq|GucE0sRj0xsfgADBfivTPF}m4Jm@VAfwrAFfe&SHzfrcjB@L> z9K3LJq&bZM7|3ki$A>-F)PN z4&OgKba(%YV|hfA)$ty{_J+mE`d3r3JIQ(8tol~EDaJq;O`&!h1P@2Z(sZI>8^`R_ z(gRDZ0MHFt{xK=(K|~QSu=jU+*eLp`F|{O5>19HJIZ}qh4WQunI|8X)f63o&{zhUD zgHW3QGeglZQQ;CyLd@J3ImRsUVkMU5pPimlVy zS`tUVTzS1tWElku!GUdX2qC0CHINRyXlS*0saqyZrEGJ-zkCBB375eqQB=oBQL^;z z9QemEh6YRm&#fu}l%XKFEV_a1GRt@a0%R;|Md{w>7<&IegJk0j;s9trgg(S_5<0ip zl<-qtmSh&~4Zskv|Ef72@8eQOg^mK63D9S>Xt5Y^ zFf$2&lH;%wc!FDo_ra{8Aco@Mr(H{0TDKR8*)MM{f9mjI2e?Qq)Gr?ZQl$h4KN?&2 zpZJ-o#EI4@eZviIT`TsS0(@GB>NwICfvM_^zN zb+E%XFj1_d*?}xU^EA3hFJp5hSn)j~<>l|9*^|(|!rPHVxxa%x{M9rxMi_DauO8t? z?Dde!9(N&c*`IZ0t6N_pfPNDZ>+CiNazHmn++9aev=uMV4Y~|-w2jwTu(z``!k2^Y zM|a`TRnqW#kw1l-^FIp_q^O$jI6Pwwbs^mU39_MGhlHXj8iEQSbciK^A_wPP@{u8 zy<+J_T}kI|XgjNI9wQKH9C1LUi2{umMThQw;QR8yTN7jQcaSfVsDNdPHUeEA!}HdS zaQ>%P+)Z(%!6<)w#jw+|8)I=L4UPVf2ZN+MYJ5&DS$s5F;utw}V|z;D*i2GzE(WdZ z0!&EjM`_bS)o~zA%?~X_#TQIXtJfH#GGI|ho#xk@p6hQ@**ljg{^ue&Ho$$Frf||7 zF8opYE6p1RjYH|Y>re^ksp2`<^Y;v<35}%wH zlt*FAr5S5D5R1+T9PEo3UAbYFra!ZGi-n)(U$0H`XI(p@O?nyZ>Ja}KgeK^*ETpT;9|#XT@zRhTA4qK0y}O(4 zvXy5yh2&~}f6d}s7PRc*imHcJa%Z$OZMxDVnmhWe&Dr^b&wcUBUgb z(EW#lJ%JAhHpk01yaz0Fe>KAOp`N$rp=u6REY#Zf^|4G8`mfy}L97GjaT|C4tT-JT zF^^_{?(POu7vLLcP&-Y=4U1(c0AfzIXTU%ws681*X9!qV79Pe^>qm>T6i_nfuqBfN z#Fe2KBE8VZ1>+l>F*2=$j%FjjSh4U&@h}q~{Nxnd`aB?vuXK!d;91!@+VnW{^meq` z?;^xCm{SvGF9cgL2og(6*mpXQV+r9Q`?tpv(EZ zinY-Xn7p#o1|+@t^X(*yRNY6~BGCDFk*V^YR=abiQ!MQ*-l~fkok>AWk)NRQhRs06 z6w-z>3@O!k!0iY$2$cO z)Jmw5hX55|AE|67?;=zYtc}7OCPi^>L#T`;)1a;U(9fKCMhDb)AiQ50zr^tW$$!~2M*{^O&F$6# zg>bH1aQq$i-FRnPOdC~w)q`4UD48M84)D4)pS@IdMXW~{@j-;}iP3iEoSRRX{6YY; zNzf|@UE6wEe7+dc^=V-LCrna&G~*KYebu2`q^c4iB2XML|j--h;C z_b?;g|7XJa=XuPP?=<_ldtW~fM52~;QU86)J%Q!+psarXWuu-ZUr>fRMGDMOOk*C~ zimVUMW@}>*fnxAMlF^{sk>F#$P~!y~vWRgks%~WJD2sPIOE|2XO|^tKYFtXmjmy@T zLA)EKiGN|SO$yvJTY;Fk)5RQQ)!>U~(AXuzLg%xwZ(cvzRC&u3uuV`pG4XB+1Q}^~ zfRgKG3>0dY2IX{Zw>5tBJM(Y#nn8yfFSmd4YZ>EA!Y=iZ=sZPLSsh62rsuCG=>&*I zduhcYOvPC%c}0AD4%7EkGhE5vm=T}LTi13X7lqp<>!-Czea1nJzMM^178Or%d-Q$T zCul5%xR}L^5)`5Q@+f11JzhIT)`QOAg5M<_@w^q;!ZHGv^aD8+4C^Z==+Ycd|5=*4u_{%a=d`)shMZb>IznZab%9!;8P`f>#i z`&LWU?Z~UV=uQRv_)bT5aI&gDOmEQs;x@{W-2tbKNqN+lqILj<)#F z8erc~={_VB=X`m`3EGyaxUU=NQ2IfX0-^18^r1w~P`{C19`ay?J0KR_rW;}<(4?8{ zv=sy8|m|USpQOkHd*7XFUFN@4r?f*EB|fGtZSNTf>Ts z=p2ia=A2*60)fg|o*qqur%ohjK-hS#F0r)?!=Pz<83v&i#!!&{tDT@`K*5|2TjY=2 zGK_lVmd_MV&lGoCNRaU7Os}8$s@qe9KjVH~{QhyVTsVpTyo5=m+#tNzphekArNUg} z_LDQG(;rj>1I|2}@jEql7pc`Ol8Ysi^DJMPYb(g8wyI?_)ybV@6@FyW^T_!To+ak~ z0uu2;u_KeR4fpfh)0RQ!(RuPIG}UtHVn@|}A!muf&$eFt3L_ykluEu*Y*0J8m($ zFg+aXKI+#^vwSrANJvqYp?wAU%XKH5pctbkr|NguhUz+gTdI9q+^AOCpY=uRw_Rp7 z(zsx%s%hRYeYf+#`|#g^Z%CAbX0E@Orhj{eM+?M-NStK|y!#2UNM6Shx z^4k0B@z$EXn#Jr7zOQ0320R~^`T7b>Q@%3!)g~W~bLKTu@xFl_^0kuv=0@X>7ZDYHRo$Rq_7|GL*j;)jGOiY|(U-y~Ym}1k9-mA=RDgJ?r0ckw$5H*ahR+%hn?=WyG9^j-!`gdo|$F@P&$0yA~O$TucCerxNZ1N|lSRQ+*U zJ;gnS+Uk!J;QIX|I=CsFK4D%>_c_}6yMX_efg!$OecHQUyiiC1PC-u#@Hh+cb87CswAtcPqhzL>{`k$ClR%*>tRFv{ z@ogkc#z{Mi{lG}K0Pf!q1HWHk{9Lk@R={q0YtoBB+})hxvef_}Y6$@(z+%P}t%znI zVl86mMKo;~(p{p#4BX7(Dw7u{F(Mk`*V*UOc(tU}A!_9K;+zR0B$kT{Cy%d(zqP)q zihp&Q4u(P0!B%LjZ=ysL%;1?oi8f93tC$-BT*Rie{$!&{!Lsmc)zg)>y=sdpC*Nml znjAFd7k>FJe-M;E^;7SQvuB+wR{~+WDXX5Vk#IDB+l5S;l7;)xtDzx3AW6P{xIcZ5 z;k?7Olv;YF{*;{a;r)I+{NvzqWdM&5M;Mnd!HeE@pGoc6PNO=;KH zQ2kttE}D7gm08#Md~anU0;$>qVaK3XVDz`Den6Qe_6cza-J#LuEFXXe2FO-*Lr}(z z0PJQg8XL=uA*@8BH2wUVs3?#;{U$lsF?n;3R}zYg`g{^?mgd=GEi+zwT6BE(XM(J6 z7R~Eh@JV9(qCnzG&OpPokMS^-@hP~_FXIZ>ma$HS&|ArvWdSF#uRh!jHL$QhWr%`sChYqXmRtTfQH}l(K`pJKnixfVJ zjz=*kFOt-h)Vu=tM7ll-LoO!--C!C~l4RE!t`VrGM+{-MHm46yRK+M){lH@NU-WPC zpG0Lr_2s;rr7nA0ED>?OQ=#_4>NXIKQoUTmZfC(%zGeF_0c*m70Z2;7_KsC9hRsg5 zW;;iLyEEqQT@v}$zJ=wMmeIDO?h_hImMq_E-XtLzk~M1UgUqdeTt6!Kizoadh0{Z2 zv@jqjy)gy^qrVI#L4CuV#G;v1apY*9$`kZ4ZH4h)qb=%i>Nr+$+zN(9L219?f=SvC zf||Dlqg<|BLK}tEvGG)Ou}oKw1}zMyubSb> z;Bw&=2d>9G#&xwfZ<%UR)0#fHhZg|z45vvcEJrD?xQfzrP^-B#@%xeXxvt1)bHzDR zNK0!Zp^AE0^PREMap@dJB&Yyiynv!z*E@tkP><`IUOtHD} zyNi?-!xM#x^zX>gkgnxn=*ypUBcWep>^gL81zo6kMB?}qWT;20*WD}lJ!DcuXdNaQ zIP(9Lp&xWSj@(i&m@MMEHXK^!t>8?DEZWf90w`~+Ga}!iHzhMkMt5Bf^S--zUd`*! z^P~V5Ejf^soN|(uI}aa)=XqX#b87sE!h%H4<#tUr-wpP&>oAoBM^l$<3&;%kX$kFnJWrGE6^@%UNgA-I=t|gBpqihE>dDM_ zbthK$ns=%C)h8#;?F?DBeZ$7$qEl9inRg=1E z)%7N8`+=VWyR)sT{tUb#N8o6(v*)W=X+s`-L>JriOa?nmz0U$C3q(R(w&up=Gkq*I zq7#5M-T)!Ymg`x`7$|7Ve3@>U>#Lwm_rjcYWX#D0-IJJaDzyF?(c8}DuX%WGZ#R-x zirmE401Tf8*1&GsIcHV3r3N}6KP2*G2q)G$bZJ^=R6YHtf1RV4G>x&E{l>Ez2WnyQL@SmJs4Loc}8C;_590R|b`Vcwa8DDCj> zm*`U%<>1}C2S%1Kel+NKCByDSK#=Cb<{TQ)I^H6S7H~a4Ugbp52L|U5kQTSWpXY&B zR|rw+`*-4Yh3P*1k-K&luMdU9V_X^HNH==XfP}CCH5hpVNdla5$H^LD#5Sl+KIG>; z13-Im2i43MS>W=4i5U|mY{CJPP$E*@B1PG^0c#TRvA9Qn4+uGDP>Z$X#=n^$n8ZRa z51dezdbn$4kB;S>#f&VKrBfl%(4D!~EX~-fblIUi_6hVYe}8SCCV%OZzsPSxS~NO- zT#y7IyUBV;wf4zn`-200g9E{e-O1$yO4P9(^QSaZ;!yZic5+p@stijJ2KGC)`kB5aE)kL{@s<@S(8SMVtrqI5>%|$$$D|jwpkjepKs| z-9RFdwW$1y5J}UXYn8Q`a||i6;UKryco0+1*KIHQ?{!XND zJQe{C;o)fBh6$HQQkw(OOPsnVoD&v=mJl>^WY~`dUm>?-a{YGTb%>`a0D1lS`5~wC zpX-r4nO~is2+Z;s+$?=}gPxP%%04v>l9P`lE#nUo z@O$#Moqf?9>cdpHea=&i6>6m7yocoABeh=H;drv9#)#n4$m6*EQSxn6GPH_%bC6;| zRN{$rje%Wl;6+cJ2tiDM0d5pewfkDic)$M6a=Br8Kr$1k;2autM>#Ap$RJ@157nCgwb7Tb&bcbloJwf9=_iwaw4+KHEU@yh8!0g6-g zO+Z6>x8I?&Phwq6b-7meOKlgUg1dvZi~PV6p5SLDpkmR>DPQ?1yoxKZ*Y1n z)6&oj`zT|s0sI>+y)O_KWOKSZX){a;ajs9 z-2`#H61?VhG~wN0ztePfY#-!djJBVHPD&qy5>0?MN~Hv9dqQ=foFyy{QF>fDeq6w8 zcvOMBUU@P_guE*B`*phZAv{y7o`atLk(ytie$8mVBoxq&)C*i6mijH*yP*H#iw>)* zfq9H}$L7#jCA#)mP%=Y`q=T!Z<&U0~k zoewkgkF0;kMH4(|U?|>O?Tx*e*4MDB7ikgm_K>wM&rkzR@Xr*-_W?uuIsS*NSsKZ{ zlhU7u`-!35fhdG452yzY=;HubH$jRsnO0W~l$lHxH@=ys_i~+a4Pf|j>0hCeSxjfX zz?e`ZqTE$APKN9iRuZ(+@@5GZOR}H+@)Q#i@G{fcd{W6O$72( zQss^5Qnddmfock$${NZot+SgJEAVC(9Bvs~>Pl<@fC$g!i?xF5#Sp;gmmxbxZPZ?? z3(pBj)|r(b3r-@^HojcE&nfLqyetoI%yCM3gS4rhL%f(+aKz*4Ck!^k9)>)l^km2g zpXpqSQE?UsJ$3u?28>9gl_s*Fn161eU-ru0*}|!eL56r+IkOQ%H2_0nvggMndH^Jp z&MXqvS~f+)u&nUae;jIfB_b_D&b48KqsL;`bTgn~$w!QcHbV**B{>7U079>cKxkvIL|s$j#^IO>hzKE+ zsW^VRQBuo!{mD>oBDgr?AdP+hEWeFl8f6dttVWy^8n}t2eYyNzYbcCmSJki#M zBQX0BCuYI4&Z%|SmV+8&#_=dIZw?o~=Yee$5MG!i@|-dUmD3JQat+UM z+1tkD3dhb9L~oIcF2Cc7(3nS|tZXvOl8wA7;kQ0sb9Db}zx4VRr9blB-BM$vl)Y=T z9fP-w2h+K2xsF9*QD=^CC7>~0kThlSUw0iPl)$8A6mM2S|6m-2I^B; ziMSs|pUKDemq%8-{*Ka@?|*N-l+7NVqg@~gypp|TM#j(4_F&v%(H*=u0AWzY$3FE1 zMLz`FP}GJ5yE|N#pi--Z2j92|NaH16+HqqjM5BFY%Lyc>EB^^naPVhLQo#b!V_1`%uT6nz9c~ z0;*;rx8M%Sq}Y$T{fd%bZ;=OtC5^)Zh1e*{rB0UgUW&jANMTU|#x-TQ0N)T#Wy;;e$gPsY|VMoXVke>48)>K0Jb7GCxFc+H7ykx~M4Zd?(6 zxpKv5ZRY9PO?`?*UD4ouH%5;#wudzsR)L#w6ynPa>dkQm=P)PC^XnT`LSB;QtpgvA zHCD$MvO&wX8}4+ALai6DgbzR0Byk?%U-@qq@#h3oASlXoaCC@9xM&nwl)8@xN7*eJ zYv@H1km(Eba0+?ImxPM?j_V2fPv{96USVW^_nD5;P7AAJfe`O_@Fo6$u;qMJP*Z-h zaJZUF6C5)4WIDWLXzJq}uT(8gal8tQAP}d)^_K(RaLBA$Nku{{_1w>xFmw9N<>UgZ z9{D8D?n+gRn(my0;uUx3H3N%$o~VG4f(A^bK3e0henL5+iqFdh@d=+TOmBXhcx0n? zk@vL3AH;^E=|gdUSpHCxP#-f_sB=s|k;$E_^0g9^uK83R+C-RNXxikH{Xx}bib-Ns zBB)oFlm4w!T_CMnXJGjWSA~lebc4p5(OnvBi zDuXr*#88!~$4OuVE^lcRN*a_%LuiN0@&yo2Qi+gu8;CMtPEfXfO&90qjc`wUeDDOW zBn=GWBJKk%SP-Ce1!Z@Y1O3GH)_-CAeE!FrLbkaA%lSv4Ori(uuF66q4Xc-j#rL51 z!W~U@PL+?ZHKyV=9%`%UNOO+>u{#!a%YdRLl|rhhhscF`R9z^)E?O_pvWOp_n_X_h zH4eBXFDF3N-ke^j)ES(y$eyGDWW^Lq(%sb6ut`+WnAL*Qc$cmJXm239e`E9X|89i; zK7;qzpO1jGb$Np}k)U@C8OH8Ri2SErjhV`SUMMa+xtQlf0d2S&IcDjEFo+aO-c(Hj z{l48>wKMNNQX2%9`;+wiLiBzD|Kn3(nxAQc#-};dgX6EyNNkS)tMOZQ?}GL$6YW1l z?L8nwdqKEBC%(w|@J52YS4*B`_C3FwvKhq!@};KnPg?vauMSJKpy1cxj8#5*S_>bB=iGrs+59SZxXB3gX2 zCgL$Z^24u4?yrb(_o2DfCCl&!so^6s6fs}V?D{stHu;uxKLaqh2@+vk&b~z2R_lexA+5B1pPNCdr0Slc=pq*=eivak@@i6BC z_$$wZPrgw=$G~G@Wu^7dE9V9xPDakg<$cr;7!!UHRej6x__&E!vE=r#kJXw zDznrmihTR<>m^5uxcV8BrlpfT5(8~qF*^(bDTKl)Ar>ybU$0^ zom*qaZ)UbDs|sWZ=XXnVz?*+r?|&UCoztU)m2_>qLgU+yz9G9Wwr1gH@t&VUV>A^k z;u5@D&tQTFVaocVD(4pA^I81;)F=5UvFir*w+qYXstZT#f7$R`DKynyM<_m4Ha$Vk zJ1~Fpl-J{LgIW(vb1}RY>n@6z{(_#wtcM8FzHavj`TmcN`_XrUznuf{0bQTX3Hq?P z>gSk8e`M3UH%++P?jmNA!vHZC)HOy?yJV91TBBmOc}|A&8Sk3aRM-6}M?mV5*dIQojPN*D(?@Ej3)gn!7zQjMlX{Y^m1%&<(9e z8TkAT*IfJ@=hii6dp2yN7c^YdV!$TX@TKDivv52COEP&wbs>#!oVZVb0o3AnWI?wl z*oQ#l>(w{i0HF!~!BKICCn~Cw?hoBbl5_8X>RFm@NddLqz;yMkAdVJB7wBC1{7Vn7 zgoghXJ858hA?i?Pgs^7OV3B$ZoRS^qrX-`>5nsS-7K$eG^dI(jYr*@K@et=Xtj0yB z7_??QJ#S>e#U+I}jG=dUGP45hz5Z8=^8Dh$iH{aBYXY$aD9;yFeYc=*%TmgufC4D5;RwC?QA+_lMfL%D3DvtZs=+_^SQ)n3R*QHME3*Fm4fuZmG&l zH(h-OJqqtBG|d`OMH1BElx}HYfL9v8&s)=yBj%^7qS7RO}ziK$)B_*N|pd1mvZBdDEk#B`ng8hIhO4Q6=5>?DH5&S;r zc4acBA%{Sgc}{_7%^v|Ro4jeaInlh@pXQg#15tC|Fz@IL{S4w)hf2U-GjgNC0cMUK z(ws<030&A=lNg>Bj{8DIH8_MJT?}`GL{U>VEi69hJco;)Va*P`~nEm+5HO-IH>}s}^A(F7GrSIywnG8+thwimr ztSIjsA=E;df}J{UXIGR^U;oi)BD-Vwmn%qWPvZb`x%h-$y0_^ob>+t1+okabzZ`JY zH<&LxEcLAFO7Cfn8RR*A_4_f{IUN}<>2+Ne<2^Hu1G9+q=s*prs-HB>R^QNK zsz$Mz?U~fWesL#oXWDD3vVrg;DD#HvKgzO*<)E|l6&OwIl_ zuVg9virwHuGWWe`_DR%$RVN&fp6^bw6DgHR-0zn@N#pY78uQ{>RlFwIln^*Q;dm!h z<+t)a0YXG@_u5ci5jCZ%P>SLgE#m-G0p27Bx7%heY391njC!h7wdAct6(2JV+f{1} z+L^_ND+b+(rjVK!9J~=BtE?qzun=kZ=Go1F({ujHX)$( zBjIEF;A5?B_RBE`z)guM12IWINsGz?-z}i5`YB`L^;HhEmNp2|*4i{G#Zf@m&D12f znA^-SU>4E^8jvP@xXY#d!Js1hS`MIVyhNQ@ddb85&e%;6$6`v;H^>b|rh;=yKcJg* ziiSmYDbb?bG-YJ)F4dHi&`h`3x>VYo{cV~^Y9P&{6($@?%>0+mAon#fna`ci^gY(1 z9thy8mZ4X~~z2Ug>^`Fa#rYYhD8$^c2SX%k&IU4BTEI1ZEk80!Vci zLZL*s%LE@Uz|75;3XdJG?3pU^5MBOLa%bgxyo?!NN>kB`6eb2C5eBqc!EX#)Aq}|u ztVZ@c*{gqkt(eYj6yj!I2xI&M8VL4)JRKH$L^b)D@9DCe2q0}qWjUuL}Q-!sSHKTM5dVX8&13f2Y=o2+|N z;Z7r8e%E-yiLthycj4%VKLwP8>dqpaS)XNjyj(OBi=aszY2J)q_Ovmf5^im{I4rtf z*KvnaU8rcS_1~w@g@&cRbL$&DE%x;>=Zp>d{R>O=a(jjCdvV?i2EiRa>S3NE5mXjG zxmpfic|D?uoP0ZUFu9!aBL>p*pu9wZp)sZE#f>*hd#xep(^WhN-PF-S>udIfOX4kHMC|{ZS?pqqUc^CZL@ZQgtB14guQ6tuG zUwlc0!0oob58RS4l)V1wAaciOYZRXrusfwE0uK55Y|y#kfO0C*npz1!Auk16ei%6+ z6~m@#x?f+(>SB)1YTVFr1ZSp!%EzW(ev*6XOGZ>5A`RbHeb^_W0tdmYaaga5TcptY z0|3RukfF9=!kL*%>Bc1L`qkyC!}gF)1ie)Tye8SW=hk2LVLdDqdWRSU0wDX|S6}={ zub}8DfA~ylh{|pPEYP(KNT7WIm2)uS9Ux7;sL3nNf4*gXBZeWh3h($1@1zOX^Xqp* zXG@FV_~(v?iTa1Y``(Ge^@>ns0{j+|u%AKh)hT#n(=YlJ+F^VCCuE3CA&m=-|LqXvVk0A*>ltDsP zVP+Ehp;CSlKQ^5=gDhpU9-bj%b@@b@Cb$U)^q;4h2t@Ww8Fr!N#~^o)$fIaUW{`MA zSl_FPBI3_-Wh*=t8QZto%a1 zv&C!xuxZ_ts)>Yhihv@f)HNGe=h__`SvRYnQU_)iiKnmB;2ClG_&C@7l%sg6?S2+} zAl$j>iN!wE`(+9>Sau63~xo+qIx2Va^aklX(H`D1Zm~m%zz)-w`&HJUYuN4WEVh&;Y2_CUZuL< zW2N#-{muqkM&4&{u{kKdEX%7*+aQd%PsqSG8h6YlnPLK@hXVEka8R<4BYR*LU#PP; z^RrR`+%G>|+FgiZ0Edo>#(VFvPzpE|eY$S0dR17!S)yc2K*B(dS0hT+n~jrQL2Ex( z(L3)QUur@aoc}Y_`Q!C;S6?ApQC62H+uk{G*C*8SK+4&+{8^}Zh>UG z$v72Q*bhjAL8QQnjv}c(+W`h?Io=6y*)#u{isCnCfj9GcUY^jQM4$PUSabRDUdmdo z5_li5fYlge-0my)56SS5K?t(Vjo}MGW>{9gLLrz8B5gz0+Y1V#h5N0USOEwh5)i($ zC1D^scI;v*MKvea964?eX$SBp%A*s@;@0v#6Dz!HDsC54YzJ4g5Qh<^ZH1Ts^EA4q$z|rRl~*U0aMk3@*ut;u_{I>*I$acN=WoQv)kap=b`00P z*{O|UeV$cQUank;;kaap^2*o=>72WPkhdMeJTEzBDH&IHuwe5Y5IYh~kpo;7F%zQC zMc9OD^cx&R6`T&i!lVnZD88I^AI#NjD}|{Er%>p%ZCH72-#>Sc`AFu`#)}_kFF-Vn z5V1y^ZASms_Y_Sjg#%>Q)k)!IB)OjK9G`2OF1+htFyFrTu)1XQ6o}RQnLK-SkN!)P zs6Z+oAFcqv>4T*S;A?o03k&eGAjG<&+#&H5<9lBtP@W?ul|t_JO?#!r8s&FB&0UGj zI={2;%c!apb4Au%jpYGLhVypwTxAe?zSkr!jDb4TUf~A-{)wxU03PpJo$U(cj((BB zq3lDG|4k1d3q7XBC`d1Z&{g1(5Zq4ii>8eN!2(!dZ(gep4O+1}(@tr;qaxqD5&FG7 zg{Fg#hQ8V7f|-*H5@0Mdf+%nyU#gvh*nxD3S0FWg1?OIy8({vt-`3Cd3!6j>&B*0e zkor^zcPuO5t|9S0-LrM$9!|QBZ97NvGps(bHJ;Eekkt8(2Hri=`FqO0a=Yk{R^bP| zoHYiossQDiQJz1-Jc$D~(+kgHL^`}9p7witW%vV$+UbL>nJy{<6&-IXytDhRzl}yJ z{7QQFs}O!;FwG!rQZINSrEn>ub2xK6c7d`j?$S^@neG?f8fb6|9}z`w4#M zHq_fQbaC&I2*%7)v3%=o{l_$2Z&Bv$-ak2IiQY7Zb~i#3U=q9C4rZNJO2$nLs)-($0W zSJghPWQs?Kx6LGm{f- z1ee4wkozoI|Muf$Hqgfa@|^JSZVUbHeapcwSdypz^#vVwSj-*Uk)<%JH zm-p%P6S9mTA8o#k2C*mbyuPbb_#&S#J<6Vaol9&}6%9D53=Q74JI3UlN&Oog%H9}R z$sBLpg75C8$ls;-G6A#2##2U3>)q(LuaAf*ov07<53J}>&L(LgN!P!7Usm2HX)Nvu z1J5T4Z86sa{!WJXMHmA5ABEL&lqWJ^u5{3>kJb|pZ+tf26`fUu9nn;bHTyiT?pv<7 zc;DWk=GHnL`(WBj8}kN*OhRSh@H0wTRKarz)>^Eksx##>F#!)EZU}vP=2b)gxty1) zFta{?Y3;o>NM3zyX8X=UOxcsietndc&%D@$o>zbTkGJT0TyI+PQ*M3L5V^SY&Uo7C zl>U@OBZun0HLb|eTuU%>eW4Ph)60?a?(s|1s05#+j_z!Y*BgMvvT11 z6b*CArM!aCi-P*@_V=Zb0X8RZ()>cuQQGa~JyHe>D~h<@OUAm|R)@d=(jVRZL8z&At@fARHXq<8AP6Mst-d~^`$aeyV}DF6FvK-|b|fUb)8^YjSw^73mo2# zV9Qvy%rv+)x(DF*yA&G&V=REwNAb#AC;-H9mIkBf+4t-kqD(_?OxiB3)7F13#dH2Ae({lGf<=*e~ z)Zc$Vzmq@we)HpZ*V1nm%0GN|st&&&-Q|xAotBnE%@=CG>r%ZSi^Oi0_}7M}MC^ z$u8lZtf0B@q=8b!rYXs@rc=kdcDM;Y8y3t|X|Zbh>}ghTe5>2ZKTlO5chYb>{HdYZ z3NEZjt?l#N*&D|X9!mefAkY))SSSM}69X;H_nj|Xzpnn`O-C_GUz1Z-WV!&}NC~3g zvYA-I5`im{yPxS-$uVp)9@FjVd?F9He{FNJfB?OWa+DynL)J+rSIRk+TKUj*lpv1f z2yD;XPxs=rV$a3*8)@7U6~ z4uLU+!FTLi@GHYy-*Wz2czw_5-rwN{pT4AUkSC(ZtnqVJ^x7~j7yX65b5|&b^?g|-)e*VvCpfc!x z>fZ7zs`%~O-jfmo4Bapc-9sZF4&5En4k<06fPy-7FD>;k;tCFl6)P&TMh3^MKLas^K1Oc=m zi?zs4exc$n9rVT85q|=)l}%1(#8R>&GZC!^=-p#()HFClxQn!rI=VKMBrPSl%BIyQ zDrk{VaNx_9PTK88$S6I$&{Q%ldq6n%znX%!6pU238lC{ULa)dZ1JzV4g22VFAPq`& z#olS84g;<7P&X zpo=XUromOL$1=#T%@0$tz>21guAjw^2}+)~C^+AvtZv(pu19@v&!W1`D^XxHQRGI` zSU2NC`%FXuld6Gik4bn%)_3>p84@oj=E*aIRR0gbS8?}rnnCG^UPi0ob<*>L{K*jI z2Tg;gu~2k93XGU5ii|OKW&yoJGQ_Q`$J!rZW0_6yye|wc=TmrWgWl#6VH7!}d(Yy!O7`MxIiYU?aiJq3N*IgHp7cKG#HnCz~lX(O3{ggj@{KX#~PSF@&57JE9VKP!a@L5=k+~h{g8e;j%~&{wiAYRfI>JhORo1wiR6+!LZpB9W2;w+d)n14Qg5*{-r zvaqrFvwiPn%{TrMww67kz-JZ(hnX*U(Oh(cd$WOd^W`+0-0#$@xy|s=KoOf& zrMenELUGK>EXh3E?K{^4GAh$d60~50?}6$brETz>MN5XZj^Ewti?sVu?+OF5>TFs> z9Y5LLc)gPKQkUF^jkIRf8=^+#bO5O22%1|Ec_DAV&AUEfwH+~Lde+liBPkVbJL!?# zl(+mDt_ax8+-GWPF8%DL?6Y_?Nxr$({fmzyyZvmVdTUGU7eBu|`=vwcw%4D;J&o8M z*5RQL79oj%cu|Kr35Ax4yZ*sNza93p6*}Htt95G#cl_d^@T%F+L$F{JKj58uZ*RfA z$vb{!u{JbhQrge$8q3Y^jZeG3mo0~wu(us7KJ7mH^!2_JP8oFZlmwHnf54M0PLrYC zO{M)cnv=ts%*3XTu^baa<10>i`>c;M-?7Vsj9}FIrl5q#^_}j54ggo=42D9;l5cdm zFh5ru!n6ja21dAY?&J((;P`uwINVOTfDtVwX(8PtYJS1oQG<}6Cq;kUgmrSqELwvy z-t$nHm1>OJsy3$g{&ANKy*lB})RY^Zzs>p5cGAzIDJe0+<0|v7Nxy%MNvpr82T^Kto3XijcmFZr4TffX( z{t^=E5L4@)n$y9M7>$4S|7m1PdAk|9*NX?&Nvz(BO;lKX5)A`$SZNDZT zaeh%~;GoZU#sZ$mC?Ey}7aTfGsubLW&a`iRInw}QNHNhD8X!mj7HW>Kk9we~BRch? z_vOR8!eWk8ViyBr*BjbcB2X~#qx3O7kClQ|szJrJ-^<5^p|7v(Fj&(@UXi7DGDZA_ zg(klOtC)&ZH2Da_pVNa@cnP}PDp1uRQh3xEi1z5>1SWWfT@_e6?ny*(vz*}{r{n>Y zzQ9T8V+RS0Gl(t>1&CZ%gK5nC0x&4k=Ev_>q-XBK7Q(*{D*QW6H#vRYc7PYzC5>4A zEMl|4mkMLm07W1gp?f`Dy%y9)pVaCRoQ{f`RzU(lS4A73;`=b;S`O=a1K%017%RsOV6`9Qf^h^yvJh zb%lwH5C$@fp?Yij^^ehb+)K_J9sE+!jFZITSS_db*R?ZfgCX_)21D?M-N z+2n$+8K<@|eX<#&oNFeX=vvb8+2@qDHf=i5NeXezOa z&#RhAblmA@8x6A};&a%UW3`Cd6^2v>ki_DG6bcrEiiONpxUTR`&Yc7ilEh0wJvSXKF&dxcl@6& z*aZreR;+b7j@S7fbO(q{-|<@wtNR-9QX-9ZP)CgI@knXVsP8t{RK*?r|CTwg)rT2M zFQjCMBn&radO4XFSQw%6^)Y`z$ZN zpzt}dsJP_6WX_dU)it$sFY6l`o0?l%+uA!iUv<6i?jiN|^$!dV4UdeDjZaKYP0!5E zy_tXe?)}1t#g9wN|B*RwY;Jwp-r3#TKluFR@axg>$?3Q6KYpJ5I{*FW@4pKGLcyV1 zPwb5*qZe@)sW0k}NAl|D>oyb*CbP(RFO4*m3_nI`Bys39mX1CVvbd;n7;P*Ye~NJ( z`;X0eGEXshe`&Po#q@J*GzF)AbH!|l?h_HmvF6G*FHB4H3-nv6-d5W*c`uK(RKI_T zb45@X+!C`@aHR)K^MIs}O(7F~R3%KXk1fH=d<(A>UOIK5_s=SHQ+mAO!;k>u#|r8T1Iv1ep+mgTVv0Tp7Q$j(Oc8`|pQ88~_6ypj+Vo9~jYFS{8eTHvgw^{a;4({}Up6PDK0v z9U@8g!{j32fS&gk_{gZ}n3zxy7_JFUOp5*AA<_vIk!F>=kKqDk{a1)^AQ1&XUQ0p# zVcCB|M1+H71^Bh(*yI_Wr#1g4M0Pjz;jAyTWB`T-y+i*Akr5mup#41J{bh(sr3~Q+ zIbc_VZ)M{$MA0v^Xu)Ho$fD>x4m5L!9ysy4BPA1`xEFzohI5FHirqk z28D(lji1JIWPDa8I+}Jajp)f-MxD)jZz?RRohCb54&K+hju#reYW?!DJ@{Z{@>Sc{ zRZ=u1w{chd@#e@A(VJ6U9j7}pB?ixpUw3{#SZMNDoqGN1=hwCVWNwr0u3x9SZ>n!j zcfbDqbKz7so#w(3EKI%2JbUxeCF<-C>pC6@5l9ChKfhlY2Sem-2Jo~9GaMZ~8!a)a zVJmQ*meED`A~l*TXp58pFf0_|4G2QUVDiGYq8R2V&*yQ_uCx3&^*>jDGy&>_k~F%i zU2F_3!-sXkTR@kTAyze8>_a(kNxlJn@ldmY<1ImJQ=%KM`QszF5pEKW!Ii}bv?QsUsHG3#+#i0zf`X?%wV^(oRN5S zN_74&As?(cA?k`y3@H*RhzV1#EP06UgG0&3tBRJuiWNl~0pX&;_4{^x#nfG_7hViv zBLHxPX9jaQ;Bm09!!EmCpf0{JyRYQqVn>&Z!3Zpg9IC^5(DzclrYJ3P!$!Xv+Dwch z!z6UTD8oXI)G5=7g-^T@5(E$hgDG)WhTHUV%!T?Az%Vp`BV7?T^${X22mSss_0YJ> z6~Ls_V~4`yq`(OIa3wGmCx@;;}%Ep(_k<><`NFc5Mi_rW+}ya&QUAmZ>Fj3 z(C!ZWj0LbI@aC~tH09+7VJer zXN+m?B}^!D483jcwib5fJ~~Xy_x3(HY5ONn`!8flb-rsq1*-m{GeYk%d);BZZmv!z z-7U4%vRhRT_YV1J0{`qA9qKeJ|I}Ko0=I0iG#qve_qjZ=EN@V$Z~NQMd#2u{C%W79 zl z@f*I$!6w0s2^0Yud%V;(bQWwFsBDR!4``O$pHG7CN~WB@lsuYzsy6Bto=u(>X7GQ{QLiT{dr;{$bD>nAr~(Yu&8>vc5MNV&nJh z?Vzz-O{$gpsK~(cF}k7`c3CFIt|dj+?q=7YQ2H%$9rM15VyL|a5p#LfGCKFe_eq73 zpKrSNGww2@hi&v#){LTW;a*;iq~&?HN1{vOUKM5MqII^Z)ed66?ld}6NZeVsd-laP zG`#lN+TFJB<*f1_uhyu(hF&a+e|mPKa}stT;dj{*dn5j>6>8Mt4`VnhXTJH>LZ!BYYFS^KqjzEg%* zf-FY8zj0srHac)+&cYK0B5oWi^qehQrhq;>th;1Z?G`ko1Ujq|=V~IZ3y{H73D1T6 z0AKP2Y^7Z`aiCGHOQO6gjkUClR&Hd>M#3RGdcK7A)6e#s+I4BlU2KBIBv4jN+4{SY za+)sEKoCXVw>5>;D}h-r<(xjom3TYktIM_9`_*O3j%_vs;Zp>OSh)F&;S~RQNTCQL zNRt3of2Y<9ZLG{P&_s*hVl}+6(wuVSt@62Je>=UbD8P~P4h}zR6rw_< zq8IY>@jpdeZN9%DQOno!>hmbeFv;gb>>G~WD!MU?#`H-Dgq@xCR^eg0+?hX6mU+T^Oe(%uOm;{RaP4DZr+fQ++aH`KZbccMo(Cwq%Fw$ari;Po=Av4_drci&93&PjRH+TV?e0XN3 z@nFqv6byt^LpULUE0$HTBzvGtRtr#_$iH^G7)zqM#x|pwhZ2PuiNf??Q^XZ1k_S^nSeEkHJVy!Rhc+B%GBn zu~%BGJc`K;fD7Ow$<9}};clc%vT5X-{X#BTER_fo3=oY&ZcFalUqHDOL01ZE>-s5OfY7I4aonYk8`86(kaP;>JBmoA z1M}hac^ZMMyn+|rn)iY>0lO!jHC8rJ#4!F7u<<-NwNXg6{-G5V5_Tg(d<|6np1a3Y zP@|Mr)=Kd2j+@xKtG^-*$q66>J`HIGfR(7|7NxBd&vSCDTxnsxWy$-a^j6G_o6%4V zG3$~wD&V#qm3h|=WFG2)wAq}q5O{j$2ZPmWW{{pBWzVK+dz-O7()UIJ&peDeFf6X` z=nmbWs_z|3`7mghR(uK4>iiTPm17kU5aW}h8XU$IG<jqnvGQ)5np9dDo9B3d1 zJYTbj$>x19q*`cxPpMH6s)2r9f>kbaN$ywD&h}9c5Q!1wR~<-%WZ$%RkJ~L0)3Cf( ztN}t`+%DLO64R!5bTZRIK7wnhaC-T)lE>@;;&0H8?COQ@4GU7?ZnC{|2=H_h zT+@sSbpzoIg@g60GkKwSkey8A?4>T|2f1y(@Kt*7d`7z1r&RHoPz&pux8HEj$phL$ zg1=@7S%OfvJD&gM+-R{Pm_5ay3^0yf{teo1x_HpY8zWU(y~rVh_h^NqF>3Vp^E zA5`}18J)8co;;71Hm+HZ3Ngo<`vaO7mUp*aFegjRkPP-~9oDS}??~h)1}WYMvE|?9 z&9Ze+heo&+S&W=;@!%P}GY5Y+Rk%Z$&+0!z*ajm+dN zj>h|{M^Y2yZk7lM&4|7IA?K!pxr+w74H$y$M7*K$aFo%5zQ~YPKo$$)Lg`%O4-rpU zVF;IW0Hts?2MS~G8OwN3H~ch%56ndXU*Rd#96@Q^ar@02 z4s6~(YXsZ|LSVe5(>V`tV^L|tW%n4sxA+PqGbG01rEZ$Ww1$-^wmjuGPq%xMM2%9= zfdl;`A-&zp3k5VeT9XfPd$CQu0zACURfH)L?;ee|GFrccWYWn~* z`OmnsA}RWS>I#vXB4qH%XiaSU4U{<_K&%?0s3p$ujIr_1p+E~F@EKNEudqe2Hgv_V zmJSJ8KCfL9c}`#j9bd)a8f)Ee)V?39+c?jK%vI&KaK}TQ(c9I27pd0_sMU>nX-weu z$guKv4+&``NMxa?F~EX)!=@r&)ebbvL+RI0w7_MzrN%m@-UP1|2l3-aE8x!&Mdp64 z(ONISL~4`_bUkGn>p02=%EL=hU!L0Z8-*IRRP-?~WuMx;L954jE^G)1W18$`fjI#v zOMTik+4`2TkZ?_p9g1dONE(h8Dk2+V7hM_@qkCAs!!%iSc6 zAQAoyY5KW}x7pE`Fb)MN;1~MzQT6sfuBy z^M(FP3`NbJcTG-SM-wY-G^wuVeig$}(PnGd|K{M_P7wM z_N(et$6rT$>;l`9pawlaKpmOGvuP3dMVk`n=Qy-2siXJ2=^rH=$gkt5fqwnn{Ukhp zxfxDo$j7l%3+{SN?n{Dk^ww1u^wNWDGV9q4>pA`aXUeep-+j9H-p{TA0<9_7yGE2( zfxE5-0s`FJU40xJBgN&2P|xLpO(bnNsX#;9=G^~RV3&si zi0ny|79Ed;@5@n@9$BxpM1xqgVq;BWr|nTM58AX?L|*56!bQIUmMjDd?d zMh4nXCO^N^IwOy|+249|Gvfl7(OAxFdMegt#4+JtQ`fb3NzDKYU?3RGLty~Iy$O;u zg-BzN5-6m2JrFp-m6@%%OI9u%?4gN8?j}UC<9WHU4R11r-<&ki&y15)Ci*z0gYrmP zSUzgZLxFm*0P4OFpe=#}WB@RDh8(g1=EI6z%bVPtO{Hc5c0$=$J)X0{ zB6@;)82c?C%HzkJ1BpaD}!AppBD-h!EN!^`Z8%Aeouw z$X~vnKBrvhCRG&oy>ff<;>AX`rabg(T(*p;-V=`AqnbKJ#B}KLK!$yF_fpcr2?&Lf z5yfM;MFsDG0jV|6m1>m1hT1ciyU)(@hqN;JnVu6I1aJ6`eifV8sQ$3m`JO_&P11(X z|6^A%R1B> zPir{J=UI32AzVTb88z1M8k>~{-i*4tDSfm@0O21nMzw9! zy%|pZiFSo+4y^~lfaKmtJF)vY%x4!$=ux4bqEXBIbVR?s0iMIvXAfXcjkiz#tb8gG zy9kN`wL48o_xt-NVp?uQ$|xfRiK8S{(Dd1h5pih#wTat1`~sNDLp0&Ji=l%JNK_@}!{*Vb> zk(%Vs2Zk8$t>#zSn4r0apXUvVzMCgbbN0w%k8ZB~Q_y2h(9Ji}bJmz)12=;QZm|A$ zI`2+l^ha9LpM|DKKSY+0Jy3p*K^Lb3Q^^(SM_kWb2>j}`)EncUeM3tBj078uT~HUU zzW8&r!uh4C@W)!UQrrE$#RpYam!PH-Fq7pjpPS!5sJ#sQ^X=2e z4>6CVM7Go~a&uFm`}jan}I8dl~j$oN>J`9DWxT{hpdbr z-WBfIlKw7rk|e(WGEo^k^xb;@;7`x>f7XaUvp+_#0FpXUYm+wDQX!w5vrDhRp>uP~>(ijUdTC>0?O1fYgIjg%_EpNYn7aDh#-vHsPr_`b(0`a1OgejhC zpYh1d5LZ{6INfa*xvwGk+>j8gCLf9ClLl(i8CPT@>JkP>WBES4&-KCf$~(w+wW_Jy zP-$5C1I6L&vc1IR!)76r&g%a$qRXP=`>rHw|n&boobNH!q!KQFCs0P{C{=`35M^G&NL#f6lL1O3H+uPTiyl)*HZA3FOp}g^V2%9w+QrDx>%U-&!%LowT3l(dqZ#R$7hq8dLQMC2O z{l-PI?F1n?xb@Iq9XTFJ%Z`VR2;sS7`DQE~$)-mLR-f+vJj9z1*X~5{PMA@&C zYz7xn`Vez=zd#(b?@3kx6V7w8joFEaH{QGtn*^S31x0606H5U2%??^Mp-s!?qo%?r zN9tadfD^Gn_6On#QQ~|13@c%uQv3K2-vHhVBm&-`J1?_qDv)k+uNMbF2oSNXX1@}I zGcBp56Zw-U&|0}=x9Lqus1{=eI>TqQ$M65;eCQD%#TqvXoQfO9< z!oZ=ZkDr8Zxl4zY@;YsEKJ&aMNvr!{SWEc6<(@KJZs3!_-7k{}-i2Z8!(b$5zN*@%I(>mC#dds8849ip{+VLfWXo z4RCtNk@~ju5>Qke#vN+XQcQU&1ccn zA3ljxeyrq_>G}gN__@NG^m=dN9JzFnU>|Ezdb(yWrFwhqyDQhLYPN3P@52Q&|IR-* z+*tW}`1*$Ksq~0q@lnr}=Y?lH-+5g^zbsyG{X451;SDaGW{LPS_xScd)>HdO++qJ* zIe$+4>=NuU!B0F{1+#{cjzD0lx@Z&z+^+nY%sBG*2d>{SaWT8jUy$T{(Z{;&Jzuiw zBZV!U=@$c1Bpg58(IWKELPyjlM%?aggmb-LF;&_6uztC@2(S?F@bX`~@gLOCf6wAI zw&ZTdnq{KVL+J$rtdR+A?Ss30+5;~pi+$d^!rs(tXrpI%D8qyb=n`jWnHr}IZpf;? z&nNT>ugr!fhq;r4hh+ zDzTEaE_77{+O&~fAtal!8r)%yicJKn0|F;p4;f^3T&K(XFmFteM8u$Nyrgy-$SgSm zxKrBs(0a$i3Xn|(7d}49YkIT@U~gDD=u%>dMvwl<@PJT#dM?5-49)9&=%a*Q zune_XgJzN8x`tUmF`Xj@>bwC36grM+*nVk|fnk@>dOPzc*1f_Sm`}(h7URl_80vpB zEE0C+Q>Qgel9d^}>QNVS<7o>`FqSY7uzSzEgzGN3ekGZVE!)X7VnA}#7O5bUlAVutj zy#^COc3a6}yA{^`g|eZL6e1_LaA(|zKN44eqkH!V&wGAQpDXUgWGfukzWp`#5gC#E zl@dJ;Yl@Kdf_$zT8v6nS;GbpHI!Xlg*cEx=3t8Yn6kb(n>KC7GCGt00H(Fo*puXL^(qD>SW zng*Eph>}VKbMUnem@Fb&)+VP{GzJ@8(b&|&^9o5FipseMd%uZsI~(rh&+Ao!reQrx z`ONHnQ(S$iEAxSyzBqP%Cis;X+C&gl1xKQ|K$K(7Rbgd6PI(HAH((IXeVeGwp3*CS zIgJ3^#9KT8EFf1573X%?3&h}l9QXkWa5MNAZC;O8&dZsgd}w3&A%j-An$JpDi%kN3 zN^8w?ktinGkWrAkpWeXLk+0}N31r?CaA(w>l~~g=b#TcqI#jZ6f5Ha0!%0LQeX40Q ztw4sD$FQU{!Mm*E8ddK``IfEC*iy@-FoHzQ-AeLD?~K{2!bB1?gZa_*dJkd%LK(*( z?cG@|c$6!^!=fX?oMb?YBc;yZP;joCBqS65xiUiqyT&yd1+{=LyabODpuN?O17KjK zjTP~?q>>pBUkxnz?zHVO7G~N4^2n~bCNipfFH`tR4{j3zsn6hhUW;_BaMc6?KvC2s zV7dpS!r~K33R4V}_z(q2jgdC=ETvL7)P(*0ra+5Zi%eaKF(b+FDBC88)%8!(Aw#Q+Aulr30{aZ73ERU^`HMCC}y0bwW z+ZQP=!IP}t*;shvNxW3bok6vCYC&Ejj$v(&+qX)Z?jA8x z7q2g_;nvE7l(t4apyTZbcMJ)(h4v;Brc8;X^l%&J@cP^eWm7`0vWz-*T@W3~>O&Sy z=2gW)R&FN>?e;s7XC3w9Vu*a-Ci8{_##ktCJR($afV`cb0{ktqmtT1vbD z*Lu8e{lt9(u-F0Je8QNeLCAK3#J8FZV}pr_NPv7eA}A#wZP)4SYcE5B7aBpkG{wp> zm6#dODeoI+Nr=1SYl%tjIgIMA7hu*VYyKw+d!S2SMH(2Iu&yCc$sIs_BEJ&^5MPJs z42zTx-J^(Pv@25y0u?mGkucTE9~sVcsTFkG706?QE)lb2hXfjgb7Fb@tM*$DrUXfa zBaCkkIs_^os?+vZzw}=D^j))>7LrV}KvPRL%XG_NBCMYLu_qbZ1vV|sXZRnkBS$pM z*SQ-IlPNWe+CNH95M>MWVcDb(9ZGJ&3C1ab5N11nW3X(I>Fq_+=t`V$DTadM-hhlaFq_Ys^%6Xe`JT}-p|!^vY5K^;s!ZE59n>?e)XC#ZwtS9Udn z$VOVJNV*do13cyL>e>A zm_y73*a1ef*>vk${2*uUOXT z_0_m74Cq(QDNVHL-p%p53USFns88v{?v6-}n+q!hN;Z%){wn4xHe_AK`N*nMX~H0x zfkV64pgBB_f=9qd6kxZIwx{QHq?aFVlzua&5mhOT-ZX^sU{k;%0WNyRsCvT2N@2FWBMI~2mUTh-LPH9)4MOj$ zCDxJLWVg_SnpecV&DpHm}c^iGQm-?&hh^X8=RNB9oS5pfiK2Dek@ehj_hKyx$F8T=LI zV@UTEqw{5xVy>9%eODgaT4C~tvU}qb_1|(MZglvDq;ax#hPu!{j~6{ez-$$1#)&o& zd>gujs*jMW)K9mdx4OOkjXAOU!IYT=#a#;u!$(!yG(RcZgBrB2St*OP%vGe4`CHxw zi<)c-n#fs^i!jzJzP%C5X#E;u`Fxy~@#2`-Y$kv&(eiJy^vh&Y+C)qhhBwuh%fwT} z=&sFc-us<$cc*j>=yecH$;wey^%W%h54#lA@s4l5(-4pF+eF8bJN5-~_B-F4%rJaM zBL8;NrGBl2+#erW6b+CVzKc(`(wV@~%xc*ABAyJUZE>D$t!m@+1%wgk+pZ|n9C9U3tdPGehvHM7jcLtf zbS8rc?BOH2B!~8O8|`8k zQd8t1cqs*D_ovmBQ&9qYu?7p_KTdF$g)8=##>>2}jlBCw9gNfAK!FJAJ5ePE&~`Wu z#}`qC$sBY@@w4U9JTJZ_IPe~Vz>3H8L2xLv3xIlO{h$axlB9`#r=Fk-K+nBOv8Zd* z5OecMsZt6E1N8FCKSsAmzY-VG?F+~&sx8C_fw3@C>}Mw&RMBR33MyPxtho;h|AEJ7i-^| zl_mJ;wF_(#Cj__|dGq(?_4%|^6KsMws~Q%N18Zs!Bw5P4RG))>S1xAs05dB}zVn7oOwCZ#d)-r+%MYJ!1n9!r`B~M#B~HS!P&R zJ?yDhiOj%lOAl8?V?5j#8yks+l96omFIW5VPYkvlEFlVZyc|##s5h29>LU7ZWJu7I zC`YG-Z-_OoLVHV{k6^W>)CVg!Tm|{iv=QbAAWuv^roO}&tvXm4v}>*F{COz`e8ME$ zj?W#5-pgK}zzm96qy3M6@)m!3p(Z9u0Wp^NElyCs<}vitm00i3BTejU9CYF9bOt@F z6m$SXb+vR9hXR;gU71QAa)JUoVuT5ORD~NW{_4&@p1q8xF`2ez;es>1C};4D^t1M3 z*^*+jLohSpC##qzJmKsODm-&{ox-~wH;>$oX_)Y$?Bs5~hce@-fOq9`jMn0`HG0`r zRh-zRTzo2RXQjOJzR&(#lE_Su*p0skDsr37>R*s!Viau1A9l?Os}(pdF2|V-r_7mr zr{fD5w)5d~UY@afGZH@TeB;gQFtu@z)VtcHakcO7!mlmdxZq@R`#wa$7*?lCsTT4u zjWnctEpmyL(NmX3%!j*XhoMx;@%H3!sMNpv9E-w#iyO#V0(yg&lgfj789b9ZR;Jl* zw>o!F(nSP{ygZ>vUa#H0!y?u)H2-QQk&|M~^kxozq>J!)BGMZ()5E#mF#fUE!8y)U zdpb44`Y)WdY>g^-XS^oDvP+xH!y564*IY+SmBh4W#>1gnyc36InoIEWh_p}W)iJz0 z#bCSM{(zF900Gmk8!L`7xU81A7l^5Af4L|yoHlr0o4BIN8j{3+CXKEX6LsM02u<$gKY;z zs^AgcymYXHIpG#>PNk}5(YAxX`mt}w+U~V(+x_6%f>{L3Gpnu2)1>JnaAiO# z8bmTTypfUCtFEgaQx+{?{=Hb#A-ep6s?jl)w+xhPUN(Z4s|*phe`32bSG{-QXxMqj zeJsEF_6s$)vmf${$rB9g_hZ&UA$HBhHX43szbq|1gNiDyf3Otz2J8_WB)^V^ zDxC`R{AMeZ$h4n3EO^cRY2xJFTYXl#`&0uRfa7(x!FSR z7KDP~yGG%XmqzrIz1f}Rh@IKcl8cm`tn?3QvWtSn1dSlbN8`0UH#h7{)~(!Is@0ROPL<}rrQvk^dgTS1Fa85`2ohXFEWA5d)v8o ze+N9QHNk8`Ec~7HZ%p;fhl?|qjR*L&Q)XC&<6mN0O3EyZthe*CiaTDE7DQFudhsxc z&7<l^X`dsMBsNoy5hK^ox8pB`d4jhetoO0G5qmULjM*YO(Q-3>4?m2<%@!Bi)nV(RP6vN-B_f@$TsAU(%Sv9>ucCwR}T>En-C#^G#X{0LtF@*%8W z6SaU1lMR4;(}f9-L^p4J`V4a8Nw#^{T&30Z>Cw$M-1BP+a)vA>_eP^v5SKvzOE~d8 z1(m{YcXE`iMhW+>E)nACJO?twc9_wMAbI0@%`3iZP-?>972~x5m(n$Ira-hTroXcL zwWo7UIyb8ktjCg3=eF~oM7EC=3elCv2|<>)5@J{ssFWCqw!w=QD-N3Duu#UtVh{$I zL~n?L&Ar8du8A&g0K1k!{CGC+kOMaV{Tj5`V z^uRhHMMdVB!5&$fs?x%FofnyZ>yEasLy6e=;q2vqA;Ty6i+_LkPqaVMY!ZIF_*Ij_Ltml6f#*a&8<9>Fj|?I zT@7HE(ozCnbeHilge% z7BNndZB(U|&fxyMWyRQ7%Y-$^OP@KYY5>AFVeRQ{mKdd`rMDl)w&fx_-Y{M;Q~2knO9;Nr$uWx%Qzxy zENxsLX|5?%4lF?1r~M9tl%>Gj|BJS}jEX9b`viU`fME#fP=uj}ZloQ$yL;&FPKTie zkVYCDQc~##hfWa%5fBiRRumJkSoYax_j$8>&hCr7ukX3%+;d;t`~TnX@B2CW*2ib3 zE>I|+9jq0Wf9j2KCsYwh;+2UN&cHW^2p|p&h}-~;k#)tGphh*wq1OiRG$MzdL>-Ps zK>~Ys)+f)%iC0Md6pvCi_%-#piF4dk9ghhdOFJSR1b+n$!e(#mxGlI}4X#j?PQ3)x zeH3|L&=5gHzusT7BCDOpLlhfoZ-c(31wsc70*kegJV0qMZJjaMxpAh!VYJz3qnJYK*Ip zA2%HUL9~69ToLl=;?6|ZbFn(-LL%!)g*o{Q?&spPA&Uo&o<-DvRc%}dOjovHFKFqCYmUM#E&>B zBZg7rIKowe)6@^Qw`Bjw(xIBO!*95>P=U2r{ynsR11+(B5(oGA5Fe{}Ygv*07>^p& zAh%QD`b!eKB=rKDSt+eq*(wG0sv_B4L>&rlgsIRr{+9M|DDI8g8gpM7irmU{ymsr` z?grfAdi`0@{}-$DfPGGXLfem>qaQ*3l|4#Ux!Bm!4@#y8&6gTZPJN|6vZEUqY1J;3 z#Fw<_Ls#i1m6RG~kWa-S4~3-DYa9TWdF@PS! zp{9OyuZzDEt6P~OEE2Gx#L02mNkqk1CjF!z+U&JNHs}rCmh8_7+H)YQM5s%GI)k7I z=hg4F^a*>@XjujqZB5}{uZ;AkQqwryx|p2zoh^5*WX2d1td=uyF0u?NTITN+!j;kb zaNAcaUC@c}({~~##3JBY%nJ(yaWTEZ44sym+x|0A4w#~xtBHDY9O^YA!04xMDSR;Q zaG7bvu9A#W%T{#Nl6znhYvv_c8*)^r)l}<+G0$nq?#f(_9CnrQqRr{D%!*tNrq_rL zdLP|gYdFG~-NME8t|VD&+E{QdSApT~r+1>;qzP)%Rk+y-Be<)*c4r`Sy5MV5Yb}%T z_eNiLE!`MX^jWfQ?|bTNnGV0syto~Q*K+fP8ZKpur!O8%=(}Ld?G{bc@k}Fh&?~_N z?(VvM`pq3{xf1K3(HZ9b;9cg&*5=z>uuyugh~4!EW@Dk5vyRRn_p@y?=?8M?#KICV zG&u{h>x{1EiAdn0|E|kO&XdCo>yv^j;%I%~AeJswBQ92IV1hd=A5^UJ?h6yph4JY| zP!F*ZcLBH20Bqt~-v-zwF<>}2ruHB#ejL4FLaVPGrg~$ zBE&=>o&aD3)OFPkOi!6i2Jtv@gpkg7~GASQpAZ5TO`G%>Y8eb~gd6W;b!lPOg`*_9gLd!O=$55orrD zJ$`4En?-u@s4!f0qHav2K!sH~N2JkKl1f<&zsrRhhc+PsIMCdYAW^29Kp+4RFeFDR zy<*1$#@dpCo8Tb~?C6jM@o;MxP@3T^;&0-Rp@x~MMam`6UN&sU!SV+lnURA;3r5ic zDiS#$sYtaW@&vLzkc1hY#7MQt4M7-vT|MBCHW85a&&o#4{+-62B4i-bE~B?@M}TJ^Pw7MjoJuu(Q{9^5Ll(XXPtyvj)xEUIwv* z4@wN2$|gMisN(x#`y;~MI;$jlBV({p%Z)XSzMFcOGxK7MOa4XbIJPBx#-&)a%m?tL z$7N*FS$XYNhqCXRO_4-6`OY{T&h{|m;7IrJz6#NBjg!5n!D~^ZP;?LfGybOBawGLT zott955eV%+Go<|%>k$|oGp^Jit&A7MJQMKLUA6n8S14mWY#Bd>y%1w>Fau_&MLKrYlXT zQ(u3c4P|iIfj8aXYOs(9PcfyNalB<&J=$S(e7TlSMffMQ?=L-}hcQ%NvbvuP3EZ#- zk_??{6Lq*)D^82E{G2i=P@f(be;k`{EhmU?syYlM?mGxW)4(cRdFo7gvpOp?ZFKWRh=5wEh|jk=cD{}DZbm^Fgi<;Z z!wEE>Kaut2leS>s7z{ap!hdDu4^EozMgc>Fe~UrzKooEv!wflA!2|GdjD_)ahCt-^ z9GM@b*v^lVEIH6&YZ<+wcw&6NV7R|{rG@=zO{a3S-= zOsa~A8Wbr*Q)JVY9Zq8rEsDt3zJDxTt6aV$ziR-*y$vD+HKeO zz_8SnU2kndaVB)9meE4-lN}xmQdF>6Sk3S81 zR*e(#r70NniCatHM;^3{N^R2K8EUd;D$j;8z%rOn)jLD53U~#QMY=kin}M>HDhWhhM9;1qxK`OegyNXEU*?OotPxW#Vo!{Jf zmeS+*_NVF@oLUrsOpy6KCSH(~aZpgRKkFT&YqRf5;-Tz|nCz))OV+Ui$x@-XhM-pf zOorO*@z>Fbb%QUk@4NFR>o_t$@ozM zVy%9ld5*Gq*863e*Go#Jhp&n;nny*>tIS%hGMb1 zl8K#sJHjuN=_*DCeh6QbkWoP5ilMt5oT&SYQ<`*%sdvNs`up73w}k z{)I7${01n$R7}hbpg^D3Xz~(BPDuIyWN{D>Sn-2qPe9y(28f$Pbtro4GRh!S-ZP{--ynQ=c z$GvGb_e9sSsb132T}i;T^Zgiy%6JM=;E4Y~utsLY+Q8sx2ajB}#ZK7I@bmLcE5w!e{+j*F=-d$r3Y`{UR?!Ry{Ly@C+hcW!20jhAd{R9^(dDYrln6W?ION&$>jiN~qRRGE z3XCa}2SQ{%yhzgjDp^ zcZhEDC}P#%&SYpJg#`uus_|X=AMB}mHAHiezXF9%!BG-tYtMPYep(w5ukR$?FbG6% zc!?1Z$rO5iRU0sAEoG>WqW*58Pru@>iMRSiP&$PgVr-dK+G+c()NJm zPM|$IGusGhoxFo}j7qmGiRAu;NDkudD>8!{@Vsi}Vp7RbnP%XCQ<2z{wccga?^Kz4 zVK=1CpWV5-AzbwBG}JDlS3k@qSeY2T<)a?yyg_Tycjqmw&Fp1y)Y`mD{2W@;g%r(N6XXHQyBZT#i9a{Y;B07b(KG(XD1?Qnnc?_5R3f% ztyj~7%#~Dh2K;&HE*|k|NgY%3Gs@0%vfcf$)H|qD9YFigNS=MXvEYm+lAYbOAOyj(E|Kk zc?u_{Q(AWFot;rJrWSE(opDkTu`y{cqZEmPf>L}3oCJRCsWa}B<4eu;{Ev%^B$qQa zGc8L-9Ej{i;7m?&G0u?u1Hw!`oMrSEoEyvR&y}O_3Us;PE@8 z-yz~DNOJCp7s)1iF1Jr*7`9{+tZN!3KN)b2{ab_F1FDR?6~+dMwvBT${$x<8h!c^} zQ*sAw8iffSkHh@bRn)w%63KQiGHL%&sLEZYaB$3OnT@#QX;;tX*=c8rtdBlW9U@^+ zZ|Af;Fe&O>nfO~MQ}=t;jqamSIXgaA$906$K-G!>Fr4w6BN0VG&L)#wstLSCXsJ>` z^gkO3qH!ZnRynRmRE1{?+%kj`^S}czPyUSSREQ554*X4xO7hxA1OU%^CB__#ha9G| zECi**tpb3V&>*-zfMP@esVW7)wciX&-)G7Lnz+#pg76o~FVKqN!-(e<{s z6;aa9lIq(+G)GYz54F^wLNI{Th5(|!zH7?JQ4(16L+)Mk-h7%5+a@SQxYa8NZ{Icv z`Hpac90FiRCS-D3{jfZqS~uu=8(BY=PD&JS~_mp&@=k?qx1a~{gU zqE0x-jTp0@T=Wp;0C-W5ZE)cWEA@;X`xMP@1l0jVpqvj%vo<*D-Jf>zj1-P=abe ztYOo-2+#ACj}-wJ61yG9w2Lj6t}f+|Esdr;_vr1);%^#mfrVyvlP=KgU%O6#S9Ihw zeP_boNljRcpt?%lK~@Yo5V!p;a^4RNd-Jz8PPlqT`Y(o+WJLk_36}u52B8=*i~Fj* zX-m(;`66~durTJ4MK6Vf`1^m|CKc{Nk7GV9*7a4iezIG; zb0kE-jP?Hu*W3&-z0d*HXX4L;9QTNTi&c{A?!dxv`>V6Twe@wGFsw(G0ITjp^qfjZl+{f>kc3qNglne@ZF0 zNmw^VZ{8hi(<9V3+y8aaB60lQWaqveaxYe0@XgIfnQ`Az-)1#(I{wN=51+MW`(`M- zJzqW?VLv){zVk-;=lg6a(WbX?-}7xRLPp|$FJJvD{uF=y>|XoD?!9}FT4g0Y3}M~x zRpZy+Jk`GFc8lTh%%}bHp)c(u^`6R;Z!SFe4KQQ{w(9c)28^UO5rfnQq2+fTDib6{ zC4D!_8jHFA#gM8biiLb5@_KWtHHNlzu)zKVm7Rf!xe`~>cVY$OOTtdlL4A*?eR#vf z0dFx(QZ?`DJc?nnZI~U?8_Y`*sbatkCiet<;5@xG%0s~^hqJ9=X@H?}k=LbAsCC{4 z5MM+ZW2l(;$NtK*-CJNQ`nime0Yp1~6vMQJ5x)dPZecjifQaf+zooG#c|~&5M|@n^ zw|VmZUh@4^jCR&o@6iX*jf_%VqIXuBgFBNL(#J$49uGqj=vcs1On_ig?JzonaOOifwFV0uq>Z=;#5=21mmp zg4O(cmsDT5T@`PX>_oINZ;*D=)n#tjm24L+0nkq?BE>TtloaaJutv~O+RuQ=a|E8+ zw$e3#biJn7wetU1S9{goAwe*DGpm#5Pf8Y7e4lMya;jwEdi;XD$h`d#>6vc1)j&pXlklxD`Cn#*UEmqj`#Vx_-5nUOEv6e`i*Jm4l(hM>b}Ep=Ah`AfGuLd#<-e@sZ6$FK!wnQSX%R*>kpii0+&yO*-Fgx> z@=!YgY4hc-pBX(n^DqzFj9*vBy3FIKUM?(r^C@-40!ggo-{lc?g3`g81&92)L6?Oo zC{j!QDO^oz*-UCh@|m5g)E#;K<#Lp!mi~)S{q@jJ=fpcpo2``Ns5L?Ci~@MB>)8hR z;*Oolf~1s}{Nm=2z}z3HcXS3v3sP^oy3G<7=k7ztR~BAv8oY9Sc4B8BNv8NEwtiF+ z^>w0~xW!<_wf=J#bmODJx-asw-0%`=c%_4pcLDzBJ$s>`53)1-@!jy>$K;m<`mYNb zQgw{dUK;-XDDtOV7m{i8y}$?__k1l$Z#VY&MGNXz%X8x7MyC1ae|?|9E1uC@H+q&E zXw4YHUKuiOJ!fBAf+P7q%wjxBk>Vl4<-sp2f-#LcP30YxcrnRiIWv_oMM|Kdc3_!T zzv<_nVRrNqLn}(!-qbD6$n%zoj5)dPr09t<2)qMOBY=o1jCxlk%Xmwy7(i*IrYfKC zOh5ec&zaP`WK#(&f#Fil&_ltSSyA+es=Bk+U+Eq~I zGXFk6r-k|QOBlFT>WMEN6RoYXL9Va(_y7*__Y-D^0M6>j8%zlRDk0<)gN|#63^O?y z69k`O7}}clX%dKz07G@K)TH4+lH`uS5^=2FIo&eC59zyXuwnvyh-o}2Bh0{8cXcp1 z>E?v!msB!E(2K_a0yqp7q>1FekyF$K7Ed^}q(MsDfVJ$8@tv6nlDZ62%Ord;F*q;P zt?GUO2rZIt^41Qg9fpY1n=e7b*6tfUpV%>eon)gOx%jrA;NBb{u9{HsPQavfJxZTn zTy-dt6r+(@#HETft$10exDu~u4rn!(4y=>c2qRQ&l~fgkiuHh)7q${u>g5rvU+SpP z+`<)Np&`?1>Vo$MnW6^mbH^j2Uj+s03qWWsZ;TCwoQbhhJz-?jE_k$SotkgyRG{V8 zNa0^zL*)btq9y&2s$O*hl-5W&DmC*7H^mD`dWwYe$Ny8T+mc=8KXmaO{Zb4{qv? zM>%kK+mMBCkhyO#-{RoK=zg;rt#pO|(XPGBgs84?)2Pmn#`iiPi?O*JLm|@^S6Iiy z&gM!zz0HNRl)MJMQzzDcPHe)P%z0LtGte${-t?_@s{zISP{+!(-pjvCbpI&$dnj&g zGj%6H$=9=ouM06`KC~Y`N-;{WzHu7OwO@%MG~yE+A)M1}7(F?3A0B z{3CDI5=k8StGE`CB3LP>(&=(53zjB98lej%&E?`%a`^aObavA5ZJ8_S#KM=&;rlat z+jJ=DnKcVA)DY|-x>4UUv8%DeRVn&Nud!Gma6dhl)4X^9`R=`H@qi)~H=~Mne(hVm zcG57~nZ0?U7a=1sJH;t_=Wv3}lwy+XtG%K5be^C4`Vf~wUun5TcmJ>1Mpq~9#_y_l z`6*<6aZUUvqk*%$zvSe5=@#yvPrSi(50|5j+Si~G_)9Nlu;>xD?GgXUL*D?JcKQNP z&_No&tA`W`X2hxvo-|4OPcNwhuIozDk5aR$dQh{q;@S?YJX!7;bboryy6!l69)@St z4F0hfRT?zrpL?(FRaEE#_$s+q9=ksFDjo4EqcoA+#->CsW4Bnvz;;>K!p#Eu*15$pq8Gj{fHvVaUMs`kl ziH-1{*S8wLi~@hX*jh(?^H~qt>(S*t3Sat*&%kB=b=cZnlU z8#iuI_L&xK+E_K7Dm?Jn+dTDx3~y_Ecyy{+bHgzLwK$-b zVo-szyzrxZsS*$>)LYtj0p$=yP4K7$gtBvbn&_(_X*!2&;##W zN&^+x0Q8;-OntmeGpZ0Rkl2$VrUsDko8UKNas@gV20Z8{0D|=0mW}sPJpUM$;Z-EO zu-@sR_fIFDC-g7v=68cob<0oS@p^{6Yd(}a=kou57&`ls$!|NP(T9k{!>Z@B~oJ$k0$F)Tl5 z`tIuk!~PcHGTQ|TU}nIK{b59O>M7UL2qVkj^$_Jq4Wk`n;Y1UfC? zI;qXj7bgE2bEv^jiN>JMF@RCR^)@_HgXA@O$SH|o06-vE6vMaIk$xZu%9(WU?AcWK zR>)J(kd>$W=Mu-zvZt5v{-H36um!k?m37gBA8S-OkKuPMaM3Rq?!Jf>`D)Dg!{prZ zCKG5l9e^M}^f1s(j1WC6gc6@XwWM`}a3Oc&8x20eo&?m(4FX1AHEU0D(%K#e+> zT=kI4jcBT+=QL;#?HN!B;#>G-xzHpr;x_W&(N7$dn) zx7F_m!HLo$79#WsM(xZm!6R z;5{def4R+g#H%$!A|o@CgP-ZU>XW%+eqIYD%mA+&`lfRx2$#pqH*Ku>yf;Ybc`Ur; z_#aHsH}9i9nCa>sq^Bj$BQCCiI{Y}3g%0j-%{bBQCSi}!qd%rmS;gqCjTc>|1 zJ_#w_UTpP@C^2YS9EpD&U3xqNlNAngK;mk%i?c6uwbEH+P4SBIFd-&>$+)$abd{D_ zG4wogV-RNy9}|4qCHv<{jB7?3^L6E0YSSJn`R`9V<^D!D9e(kvg+c9X8a`~`yO|o2 zBi_ZT!#O&-=ro?rK$a)1wclIOLT=3MI7w3}^Zr)5!RSoyx`PFN$42hfj-zF8cR6lb z54hvMDIeImI(TScRUH2Cir;wW17#bdq%D&Sda!4sxtWYZCXoE{%lqqzPqPu<66_0+ zDM5EhVjE{qm+%asrTf3SPBMvYJL6B~qXDx03+pnc2ZoO0VG&&E4+nLJST#C)b-wJhrJ%g8Ha= zS+j6Pyrj}*t0HZ!4McjvJnb(s#M58V$Ov=n)P(ZfQPuxzn3Ru=PSB-V{eF94Z zmL;g3E5)k7XH?bg!IgQus;;ZG4uf)$ozg0*$T>^aUC7xP=Uy~!w8LHMZxeZt5kH$Dw%c7jJ8*STcy-W81zxR`&PbWYd!Fz3u)piA3 zQ#tpk-?vh75q8RYTPdR^ON({Zv*$X&&Bf}eXpO8-%6c=Wko5A>s;oCj+x_ve+)pcj zFE)oj%(wLJajEyn+~?*N4b*5u^$5Q^fm$K=L-7;hO_8Ug;Ze=Sz3<>a8B1N;sA#v* zb+d1C38~1y6-TySN7>_D8c!)){l`p>v^jN8JFU!S&u2j(Z9DXci&kZI?83?dc{ST_S0-uB{^??koUmGi{VZL z&r&;V$^$V*#wYl1^y?$*tuZi^u+ttcB$%rV7YaPv1heAX0JsPaBQC_&m7_vTi3bS7 zSIi33Scpj1)6wznjW^&+4$r5fB)sHjpsy9^STdPW;O-9Q#?THFkU+sr+L{>3(dNh* zN8r8(Ks{j?^L@)#WE z=VHNP*d(Ev^(4;I!AP_)|P!!Db3`)BA z#F@_s1bo%(CJOb1kl~bxiYybU5yDXS7AA54uOM`P4utRo!O=M&reYKk{|t&8xuZFj zi@CnJQHWCxa1)2Z67K-yDuFk3+zEkvZ5w3dXILsTqu9dc%>&8QxvLw6fe#+lvJ8Ch z;%g60$7!~33k7&h+-CO-&%=#{M6bY#>(uFtN~^@ONmX@yTZu%qw!vmgV0zCK0CWZg zm1`vc_~%|+p2~m~6wLJlUI2*SZ9v zU~1IPHRtf*q74_EbkcP^d09NxWgNJ^dpmjx2dh{tRG6&$o+PfwWF`th23Es{7_jQ- zu7@d`fYf0BQeY_oB6_{+>ag>Sj(~?0Nuq#qci?8^6#zYMen(yKh}AiX7WhY}EM0S~ zcB2dLV*bjRS72?5qMWu&k_iOY!t2vf?J&mMnS;%8utYLc#QaP3aFrbJGRu7JGiM8( zMrAtKY-p#%ev5~^{0-tSUxiJMUd+4JBVC)qQ`AUXK#Ul3CNq7gl6cY8M@I~J~ zxevd)kYw-!aC-RDOanePi%xx!>K%+IyMoRE+28qxr-%q3qbTgVcpdU0S*sicOM}1F{kT{9YD|@ld{ReK7?}pT{_v zb0Phacplc1MpKsibmgp(3oxF}5&^+s%B3v$E$LIQ)cy?_wr|gHVU28$hQ9F<#ZNh2nSrXgqCgfi4I2+{`oG!~& z4#&C7YSNecKC$mvKFbjK5AEidqV~Ah`e${sg0q`r_isLJpXbAXie1nL^ck{K0W9B& zpT-`teU^QGkMbM-(C$ciTK0wCh~lxK zWAuD;<>$0>_QPrFM$YeTUAhg!9~%RIZ@$_8d8d2$bJ$zeiWR4yrVZ`O-cOR=FR+ut z0o1o;s)xve-Al7Cia}V@yq5~eUAct#Qve<71zer)u|2(<&;IxATm1R4BQ_VG({r($ z499h-u$;V%t1RjJi@KQ_c=DV!*M#vRRbEjH)6K~^WlYTBLRGzssR<%88>RS7ph^>0 zyEH-{o%zYIQ{C>1%ioFH)(qs-!g70Jd1V+s6j7f5*w?(IGcR<1k`T@H-W!Wxjr|Fe zwz7fl5`QJcsc^ALrXDYYZw8mI*Gwpr-5r5NLrnVeGIxhQ|q#EnG= z$>2y8i{+a?=}OZux-_YeKqTw6SzjAq0q1PeTE4m}h+}o%DHrDxPv9mVr1&-35{QL$fXukS z1};$DCC+gi*CRI!%`q`WJB0>}pFb(-W+V6T0i7QTfEk&BEwOiTS-fd^e5C0`c(wHv z5HAAEi;qnY0W(fyiI&LlE`jJUU~(Y8k%o<^Xn&25tkrYa5-8Gm4F9TUn|)~Q`49!VJt!wNE& zg&;69uM=d0Fawu4-H$x#zT_xMmXGt{Dx#n`PZl90T`1-TdX=gqsI(iM^65NB+u3IO zh{_)*dOn*G*ob(5itSFTJk~B-*TxCWq#iM5bRUYhYm+83#lUEA%(>WES<+!IOcXwm z=CXv2RH7=77G*_D9~I!5bEDS<7h;UTA=6K^tLSaAL}yZ@tx|Zj??v||f1pm3(_&$= zc{nk{iMWXCv}9SDg>E&F>xk0uC_g}+2)*&Dx|3ehnT9zFN_kKG@RC{eAqIsHYN+ay zsFJu@<;j#75*Zf(N|lAz8S~ef>eS{3mMOPapR8xR)2_2WsdI$aJMq`M=+wJ;*W-~~ z9!>RhH=+OK!o&gJKwY2!;6Gg$E^gufaFIm0xkdlaI@151Mv{|NlD(rQAZ~hXB&o=1 ztI6spD;ntQ8tduWnP}Twt4Y=dUgj2F&KA**&T(!|-q(mypnpVwe{y0(Q9?{^a#D6? zYI#vnd1_j9S$&$!b6wF~1VPhk)iFY}W9L{qnr2_20`DL0Vf1VK!qpcbO$+w=$*JOjY( zsz!GmRinl>JobA_u)o0Hz;K0Z!Qx%Q9#hHq(jMOKEYfkY%g!dR{F5Z^rh=nmSz1_k zEFZ>Ev+=M*pXSZfl4hrb*x;PFpU~E63?FKJQ;2JBS0WQ+e% z!O$gF&-??AC~2S0u*KI^NTxtEAsiSpyFnrt8CX5pzx;?&wJbtl^d6vjr0DvUZD}C0 zx6$xzTF8lq6^VYt4*d~>X!SmCnOjTa^iBYk2GS{Uh?IBJt5+-+3e~1!yxOFSOF*ha zzx=Wl~w|G;f!D-o0K<)|=d@8v4VwG)7A zXTde1g1%}Mx!C_;%L$OqwF0My$?g|Agp;yl1m<{DrRp!F(gS?rqK?U_my^?UHx@j~ zTstegssdW*m1{C7!Tg@I^6m@=ML2$*EgB65YrJTV62Dh%fq}PIU9m%xSADs35aH2g zP_MORjls)T2`cx~U*|OQ=b*r?Q~UxgontyaEl;*L%)zzBs}_l!+($_j@!zH1mf!17 zB`T-yIcllgC%uWxT+!&WY3tILM^=>`ANjdwa$I*a>}C1*_v#DEUajW62_vbCct}Io zvU=%6vYq|*pv(@eqGOB%NMQ&}k-hTyhhhKG1~$)${(}R%+mFAL+<&Dq<1s0s?=24W2EO`*J)7*Q3(m7Rcv@H_?h}tL6PZX=ZscFn1#1(En>li&%*) z509rQe}8Pg`{hddgR}_Z7nO9(9X0dT zUu)ja$DgJb<)A(fG__8V81^-$LE2QBkbxL&>cU%9SSk+DHZU0jFg{8K^cksb>h@g> z(Ny-{{dIIV|Mt@sl7WDG2b#W*fBq|-{dD&f`19~XCI0c*(IV_MS@y!-6z7WUS!l7G ziJj#86q>*Q7~5JUT|HKb!wL(qph3hy8|LGyXRx5bQf7oFKIV%E77>FdAAjG-yg`Kp zljA8vWKa*3(^J+V1T(s#Ud~*ds73i|nuOJ%eW{?RW)pfluA;t=UP~~^O%;-oHl@0) zCoZxbdH*Ey#b3mU$$gA@%iMo4CWgJADu3UFl60o_wb<1xRuxE~ny#Ma-ZMzO!Np0& z7gkF#lZgdgmzFt%gXx&^_$?c5nWbRB+_hBqJel_Dp;4+aUSIR`__ruDOXOrr#l!u^ zxAH93r8!vH75ZpZKKcI?=dc5?Sgt&>!|C~l+-M-q*W{frN{Whn2mGMLZ662(llf!3 zRbcfrbbMg?@-|WgkTQMpdfq?fMW&DZd&a0njevIQazFCCH@_n0!m-nS`tS#XdzaF@ zqQ_pjV8hLAV#7iDocx?7`#Pg!E z(Cxz2O{J;R)Y-g?g+Cr)EfzTGE{f%gXfzubwxc6^Fw11@}1}#v~Z0_&p z)gY3I-r3dO7euO;@CjW=J&AL%KR%hW9*nlIKachCu$C>1Dh+qIAa`r>p4(U+=;^NJ z$n!b<$@dYUw6}^~@!6sm{v|f8)fjC{*Lw*Kil*1rq35?uEZ97dyOYuXS1q^Fc3^94 zbzrUT*hH`|{CFzxqU^xik2N2fw(!TUz!z}#iuv>@@<>{P)$j+(Wc z?3Obsof%Ar%;l_*&)57%di(sgmvdH&9fiGig=Bpn=j|vvi`ftd;&=MpgqFoiUfUf= z4_-bC%#tW7)AMLtk6H{@3aLD|^H8i|7R3DP#6$EwB^?oS;T8Z1Wh8+t(t0r`EA)X7 z>R8A2*URF^q1KX$ATnRMW&B9!qbtqRV-uH>m$e4njh3w^7P`M)wPkg;cu@F=yosLc zt?#G_um{=6-&~-L+?zX5^|8D4d$vETvq<%suWtSZIIax^-84IKx0PRRef+b#H`Cix zw`9TK(>RnceC%BId-KSkw>^K$4b6FLf&QpF|K4BEHna*8$qI&erParN`PR#p)t>G< zLgZ9^%0v|hJ!2w@4=F`r-vFpEYqO;UO8IqgbS&l(ZRJ_!x8Ls(H~I_L6+uyhF>_yp zb%#v1_Z^GWL1T{}+18gIPlY)Zfu|N-u<)t=C5o1`QR6R$Ef*)R!<$*_5(+U zKP|VPd<_|7FD`Ha!6_?72XDj?1$u&DJWC+@76Q~JX!wU7;g^n4D^#X;0&bQAauyDr zZYDvI^}G&h*ZU0S4vaH5zymi5&|qG|05|>;P?Xk(kQjmBHa~ySh_^vWkRX_fm?H7Y z--A271frEE|7-{EemlGO^iRU=$gsEN`+W|whZUP2?7y*HRrKB~vvkWl_xXD${_ou1 zfH*{k8_K;$PZjA2YlymnGey`=MFBEC12y34UNGymU~}F1jsQO}Wq87?CL{{l^?>pa zz(&+?{y>l*TKTpp2myelw4enwn%qYEyl3EiGucuN>|HHcBp%Fsn@$e=i1d;$|!-F=?!EAw`x3sY&>aq|7 zm@P;7isuY`ivTX@1iOs_4#dEl#IWlCB`Zp48Im3-0cFJ}0f8!dU%`&6akPOb2p%MO zmPUJ)E@%-FAL);=inOSYEY!N^&=VZa6xHL7;XcetoDRZ2Q1$M!8|%zN{cmx6~P(iIUu*H02eWT<|S7yuLxS8+B72lO>wpF?!6We!^~O^{L+nSqe_GXNU*NR zZzy)2jhqfo{Ulu+z?73tQpt?W4usvSunZu&Svyo%`Ipq)o3HZkQ4wXI77fhPLE7`4 z`+aN=?rWNFe{ZdybY%cjt*u1_`!9EsgMeHOfAXb_fD_k%4cDENB8HjN;^~_FqIyMs z4?s4RcJ|)ywd^3v?9`KN=fN`op5WEo?(flXXy_inG zcUJ9KdSZ!4}iOQ`UhT>@fOL z#gGFMY3>l8?~wHA5Q*s&E$fsR>|_(@P}1!{-Re@2?@|-!x~1E7x2%h^xl3=b%iv8H zoo$!Ot#&hkcJr8Sn&trHK!ChE^vh8``WF1?PEQs?&z1XcdV@Zm$Hz&|F+Ki+dVaTh zUFCa2n(N$tw}r&Se~4hPxfyiyC|)Uw;XzM)QjAyV2hY{;p47pQqJ% z?JUn#?Q9@KG*f6;zbi#yTlbRTJi?GXl<2=v_nuEpe{UG(CzTLF2!YT`2)#)W>0szZ zdY5KEdQniM<2Uq<0YQ;w=)H!4h#?!?3Uiu;)WlG>1oYfd;ou#$n2MlOJA=d~j zG$AkQpqdziqUI3(yRlgXNHAzfb7^SLs#hDuqVxaIMu!7&z+=!R=>G@i-2d;qh`Ix%K7iw=1S_fFKAJl#~<<5PB&nNZ=3w3aj`v z#Uzr3RZsQPcO3!X+UdW2I0Z`3O~dHm4Mtdafgoe+0lG#!lOl9~mk>X6SH51R&T2*f z84{!mAlm5qCMWE0D-69&=Q85{8Y$y6WPAn(qdZUb)5AK+7(R=nLQaCtDdNHsL(KK7 zPHV(XJf5|ShmW4M`>5zOYYRmd@M3-TDUB#*2yGJm{BXt5JOI2qUs z=z!s9uC!BB$C~2ZK#dt0#=iE=z;3?S-x;IQc6ZyjF?g%!9W^1wp3-IJ*V2CTro(Pe z_#SrYiN21Mz8Vz!f0=XLB^u63SU+$SE=hk;C`x~PR>9Va0sNm_gQ~6hFcHD#a ztJ_W|k}{q&whC8hc!13F z%a&g^{xZ^&%p~0V-*4l(GT5KDEhOmaRM8wXYd3Ai9U8`BGR#wvlX{r^w&tnIb))-f zLjPpk)0h2SI<61QgyzO4;=7Ui`}&94;Hy$a&qR zYf3lXRm(WMk$QWU4as94@^D-amj7!Z_U_&HU_MmAGdM4aj9}2Wr|7^?N)U6Nn9=I+ z5BcYHykkl>;fq1=iSUD5L&r0R{_otJmTpy7d%Vxhz4bNPb-{a-w%z#X;Dpn+_u;?8 zueKusAGc_#<-Fg9zj4IGbiOVN`aGiYjq)u{pzgumthAB$kJG+~7DUQMG3*z8^tOJe zasG1csE(-(PxcxAyib2tMlZpF&cMDb{=Uztl#YF{!%oxmD`Yn95m!3kmPaz}6F>5a zH@r*FG(OVP1M9ZMgIt3lrq2PBtuPweLdaWE!W7|iwq$(&bM#`dJ`V>bk-cdRroct? znzff*&`IW9B9$>jL~t{7;-NzOWXLua4A%@6X7h3^1(fPV?5N4Se(#t#R9M3S z5k;c0vb%;l-(K`Mwt)kcc65IUs|D+T!Fa_SxhUl$?s|R7Ef%hm(}A*;F2WDU;XEzj zNYE}LNc2HOT4?I8HiVXTNJ6^8kAS0nVvnj0nPZp?KZW85bPEk>^3Y*I2mtciIDvx# z5K_0PW6A&}cUE6qyB%Si1~K}^iiZo~K`1~k5f2xGYx~C|ttP>mdE_g&3)LV443bM z&afz#Uc4|lr+o`{`^u3rTLf$^0E#$?XXt00MAI>fga_FlrTzZ||mC-LU5D{X4XFZnadj18GJcBo65u5PgLw0Y0kPjPMR`V?=00B93$AWvIi0UeYr<4nZ<8v%_H3WT>*Zh zN4XC^qje^~{Wo4abj_}QABJ2UBzetXy9vdkBCA79Ri@Jt(ZblcTi=C+rv)Oqc^d_Am6Dr=;u zH)y$fJhEduv-98RboKm2(1~cA5>J8sWWuvB50jSx3~}bo0ruw-?E5w~WBTf?pLf)_ zybM$~vzU5(XNKynwe86k6BJ7QZt#aKNJ7i*O}+cMOorz7{wguAFC`&Ypy_UKKF+25jHc9q11-Xe5{>75Bc%1tG7hgLKF1`KK@qn=-`-I^>(6KeytnOxs$Clc8LE?3ENGiH2@cFef5h4Tjy^t#mG#Ug? z20gz2MEMB82?T2nXcFpYlB~Q0g+OX9v^>^quNeq&JALffnFaq(PnbO6!{A!u?qxG! z7!^VcvYiA!`2Lvm`~@-ONWMP~AQK=&=xVYAD%VM0oJUfgfgEZ0r^6=cWS?wpdS&Sq zpeQe3+=_?vZ5@B(pbt7qfrxVkUu0 zpW-Kq=V<3a-U%ds{#|J%vkXy9=8pMtcN@h=Apuqv3*y+6d!b{h~L_ZTOaDrX7aX!M#nPmT2y4#V^6^lQC)w{u(^NF(8!Yt@^o^4K7 zNdB`7$*-P;ZcQcViCz{SNmeZQZ-|ua9GPNoo#K<0qOBUhjq|@sciO+JjKnd!KTin- zr%u%*xlIDz^S~h4$2%>xj)AcDOmN|D+721&7f!I81a3w$-bAF|C`?Xrk~jYYyCVTx zB_kB`ePB+|+%yDb9$@$!i<8!=M1b+;bjl&ViYZT%r%H1mjg%f$c4qYCcN(T>^{(N{tGEvCe#;)pf zlJ2fjf^qQa_3y6-kk`EIIk~|-4BGJ?LK098541Sm;ZrJH$b-%Fx9gl8tNe9vYma}x zXTa}Nty>+TYnZj+CmJpY8Uyq(WQzueq; z!$uOkl?R$&$HFPu#%ds8R;+G&*NLcF*<)uyZh!A zJ-Xn#k{|_;mNaSk!;WK>Ye~EQ(~8AWn6mprsR$^f-hm%bZrve4Q^GP%6|I@?xLk0c zUvS>1ZBP#pr;>KWGD5uefE%1kvVdLtryuA5WCTFcbn(Rj!2d?|JP!#PznHdZ4t9|N zbk&4_Hv1RvtS7lkLE^A(2k0l&WC=$Y3Rkwu&A;@lz=0&JHAJxOaZ3v!v&w^BZN?tI zE6WRaNsr3d-n>8gJ$Uj?;0s3BuD_3q3F?Tu7-LF3ahc16Uo6K_?qe4O`Bwe;A5syz z3C0FcR?7WT1Pz-!Rd2WG@4fPga&$SDa)^$MTmXEdE2#Sv8Ws&ZO0SSXvV2Xn{I%}Z z(gv_nL`^9-q(_`$sKBaDGSbLSHInI2t@=Q+7)z`^WGwIKz0XDlx$u;0ZDG)pd4^Ri z|MY>q5W%0KCNmOTpE?2fZvJWfrMQ-l3$g5*^Xqc(Cyd>1jjCXyGKBHe*_}$YO=|ry zfJ+2p5>Ji1kcE$mt{*Li5pXR$hiMR}42Z_^$!iG6hwKxJ{C@dGnQ}U)Rh)`#>$jjO zRo4zMpmM1TVNfuS9YhviFvTt>y;XPejmD{Hq`(!bKR)T&^fOoSPcExYc#*!!wR^X8 z^ZmP0TyPma;zbQ}TSe`gdR3`l33-SdB}|eMCJ%s<>cJvZ1F73!*P>|9M5J;M17xfC2`~ zw{W`nFj2VVFxc&dmTzsWYr9HUQdLJKumb)?T2p3d08AhO+;kAfI!LD-R2>jFvjxQW zJ+Pf@04QN1L@-MxSc<|TO^P_cK?EqE(*ShY*%SW-UD|%;Pa&Z1>uRK<5{c1uyqwQz z?Rv95?B1_d@?GF$?eKK7v9xETD!{3NoKbE=X<%v#bFB&sF9t6kf}OohBuT0?eP&Ib zhrL8@Snioj2-o9HAT{QCSPdg9)n19!wbm&q<#ti!VX&WJa|}?owHbSa0fpZN3FWc~ z>~=L(-Bkcw6JoHp3HPzT4 z6%G5M0m9NBO9vS5GClp2$^2tB_LC3v)j_Su;p0aE#?LjNET&I>eUVwX+sh;kRV^xm zZ3}A8IGn%-Qh(LENo_rD*m~@!Ui~?<`QqfGM+>w^fM9B*1;7W}Dz2D5f4CG)}~dsvB#Dn zga2*8CW|Xybw71Mc1vpx-`>;9ual z^z8gZ*<#G-qoR@Y;}^$|2D15>a$_Gja1;i79{%G$QiK{E8Gn?@H$v4MFV-AupcZpR zGoDnI+hqIUR_1|t=Tl8Jh?$rqyim;(R3>-Rk4>=pw) zmH{90>3-M6=qlwOwLR4(50o^$Lj7(3;sPuA^1@kW>WbOx?k2@7eP3y|T;5^=3tW;Q%*-hbo0%C=B@GR@ncx~Qb|eB6c&g2np`EO%pI>&wc^V1XV`U-87p`!;gB{U)z>D9R8IK` ze3_W_3|S!ZExKqfBwE>es6Of~o|J8FV4=q%7i&L!S$Mz61UVDhr*3bKXF?^ z$_z_3H{`p)8-thT;+7^$m(0Buq2P3u$;G|QrANWg3H}8Ze)xR$`zEdBS=ohG+hapo z!x}wSH9gDkW8NbhC%^M9T_!K=zn}gRyrjj4*xp%eGM{O~Wac?#^gV7k`MEgB5Lp4p zth59#lkg)iccxFZ(REwXAa{CSI`+tun z{~p0G%S+PlfjMOV0W)1H+o~Y zFFxLRwCW}m>4x_v(xGJf&v6V8$$vZ=2!@2X&bHSh8Y|Era&PgbPdRng1$tCRa( zwa2p8C8XqG^a-~rrhp5p{1R1d;YokV;Twgl;-0U1#aIk0@26sQVO56 z+34ta2bH9xG;Bs=KxgYqpnv?@eKYuv($hjJ(l8KS+WJp3!Z{DNlQeR^E_9MLgyRSg z?u=v{F$mXNi{nfA^2w;^+VZQ(i{oeij`cP+O#KA&YhW*r8K1*Iq8GuZWHQ|_ur0h% zl3b7l)!U6Q`1o%+UJ5L~3$DDuB{j(=y9;*d4*RNIlT@X8XN^scvLg}-K5z$pkouy| zTW+@85=k<~gSP*b0)J}uIQ^MI0^Mw|1N(3Jff~SH<*dg5VEeDi{XKS7U zMyjqNeG0pv#i|PeM96ucQKjHb*6;aF5p!m6j36+Va^QNxnQ_AnX~JR6axV8X*Oe8j z`MjM~1+zw&93`T_{SOoUtAG($jw1hc8hjrLmL!6CC)*Y9Z8rtqv7-AF=z#TgaLoBX z(w8FycES7AU|}LebP`Oy^ad`ui|Yg_g@D&hJ3(}Ib&c1KPmR+y*i3Dmg+v2+KT$1kVJN4{zLwT{f0YGb!SB$ZE@|Ed;wI5YyI^U(eLV476a$#}0nEV)VZ%W1 z^56ERyM+Ym6o^KLyFWY5{FO;E(ys+aseoU7V*e@tqS-kUTfzIEb~U_f(Z@XGVphNG}Wh`UvVggg(($N>wB^Rd)%z*=-n`v2$H|w7qE%#Ooawooc7Y|~U?Fx=Jx;hB{ z?-j6px#L?#ydA&-<_fu*c2|h?xBX^?=tbjPVUs&bQP@xI(M&u<-s{P(9I{<)v-u%x zBHSU0Q>BfoXD3Eoo=ijeeMOOXCBAn#g`PNqeV%`Ra2`&u*;_9!~_SF3Q(>O%(oE`G$M(l=EmeCg(AjS#wf$U31Yw19WjHhiUMb$wDq{zT>sd z((lZWq1QG;yF(b>CX7DRT$9zH;NQW{i9Fh6X-m7lW%|~`O22-Jlspz9)696KB2yFf zamGS|w>==YWGD+PKO$DDIiGH@*V9=_OuzA`89$71JNWMbc^i=zt_VV3U1=*_kf{T=o}n z)@HPa*wA6EkJ&pOzK-BRcS01^Q8CU)B&2{nK^s43}lX~PLk!_<7vH{<9tE27UwVQB>c)&r4~7Zmiba! zqp)!d;he!-0d|_R&zFyIQ?>H&e9tCEd<&e-TfOMznvF%Gto4x5B+tWemX(y>EBBZ% zCGJFjKoPG4!}QXJ}`ttr;!^?B3G{Cz|RkN;-+r$|Mu~<;SFUSYo_glm4g}G z@)Qc`R|=`o6(_uXl^7_!F!b=8^)+K*9fh;c1tfi4!8td!i!Oh-857dNC2;MG1GhjG zBA+2w0W?d^;T5aH2hYffzq>f zh1LPsiD3JD|3JJvC4JlKjINWgyjW#!biT-qrO3N-KNa+Q>sV^~);M_&lew}&`BVFB z4R&y$mvUzfBE5#1Or9vJU$)ZISoRY#g4bT;UdcbF>2GY0exCAsd^JJIMAfj&BsmxH ziTg}4uaouz7j&di4nSreRH8*yHDxSJujJh))ruuwTMvhFQLaV1M8Ac}xCW)vPK=|}A* zN6H!IHX(7(^-yK)_k<|hyr4|o)hqXyQ9WezRenwzxl^tU-*j#K-&;CM>nyBwrgisJ zb@>!?Z6edmPQj)LPE&8P9l6Spw&aU0nR_#5tMCpAkvb@S5TrtZ1HKs@FOh>^NJ+!P zYqD$e*?)t%`l(mvbvXe~Od?`m26R6Wgyd( z9f1pzi_aCw8DZa>c#D(o^+P>i*Gox2>J9Sv(hRdG@JvK8mlz%TCG7;ZJAj4PmAnCd zCpg8S0eBjSGoP6FuFD^&B?al7?pUq<-htee7-EvY+Y2Ph0i5_;Cb7OQO3FrKwBRR3eSSNUU2WGzeOK{gm1ha z580sNMh zfENX(f|Y&oeRIa&%ianNqz}p-l@7of#uA&jx}euZS8$SaZduRW%dff0r|36|y;r(|V(4E%7t#BZ@!T`x{YG-T-V_MS9!*UD+`F{33x*kI zMVZx(P%nEvIvxj!&X$B2<}6J%BpHW2U@%fWv0uqDG)LX;oJp>>{)IOY>$GZsY87Zo znOTu-In!gleRHy!%ty3VJrMkt+E~Fc&<%Ol)eN-MCqP;DzPF4OVmSBaZ5h#PzD*KIYyHtzpZX`7z_+ZmirF z^Rdyl_^Kt^VN{#P`s<+1l;xtrM$Vg$g8$`T)3hn}kqh@|);`DEq?H!ZdS_#!>i2@i zsLb84)h~P8=^>h0{H;pG=kq|;HDMQI-`JV7vUgP1BeMSDCUt6A))jLJ`i%n2)yTsRww*A2*hCm9#4J*cCc}D+9hJy)4 zSxLL~7l@Cq{!&&LYeQh&lT5u7NTqyR?58xpO))2zlA8>c#4_3P(iiIV)ZCM=MsgP~;a%A0EPk3~=-t`3U&XwW$jY z%#2O+wg#eoKh<^mlVa1W0^=N3+*BHeHSXv&Yx(B7XO?dU(6q$N((-bW2Vm7tK@20& z8RWPO@<`s9^QyvIgP%zjq3GO`P~7NejgB_lz0buzNPxq(x2h-79Tf*X!)ZyTqCn^$ zbk193>%3v{D-c!_dBkPiJ%SG7(**7tYy960_OR_2etzTr^?Ch?XcbiFCOg=NOUG-i zHm-)msY89%!^)>fLOM58FDDgzK0_%~0C@HIzrS|;$-;0}5n;aR*taWCE{WO0vs7(C zk4Y87Qmm5(_@~u^DtPva(>O7Ms!xL?jad?|${I=@gAS2|hp=o0Xzv_mdQSaFcyU#;)GNww3TqS*4);Awa54p8VG8 z8A;2cMEid$H4ejy>?d2*+WMP=Yro9e#f2n^4j5Tc6ICb7F9E58CQo^$v+}tTYJJIQ z=HZop*jou+%pyW(8ejY|%sA5r;*Dm(3hCvNZ%N-8kfJejanv8&oIa$o{3bIh7E8!? zzu193h{fDiR(N%8O++bM=+8pixi4+WA}fk9a%bcBswLPq)Y;x?RTGOxscdq$Emb~=EFrJ{K-wNXm)jXc|0+>X*AcF~S*^HWtJo#nc*(k<`xthV~C zL@Y?@qKy$Ei3YJr59AZe{>fnn^9eh(85ZmK9~4PCny*2B)wR-W({q6j;Ee_2*~tRS z<>pKZD!E}I&S-(Ch3p9ShN9FJ3aGXkaZ z1{7>qoZu|rL?Kt|vifa={ugGF5ZsCcB8|faKN-Uc6sj{u%kr%4yem>tc^$4?l@G13 z`P4iu+CTBo)Fh{F?PYvVh7G?5x-ba61;mxvcp%K1!l$rSIO2c~#$m<9hTJGcyy+v_ zbSzZ)WWf6~4UOUu7#suK<5`Nzz1ZP!N{V$B$wAY>W2>5xy-8{tfMf9xeI3}TEmW1d ztQgEAXYZmnsD;X2%*R8j#C%yDZYmRbZi+wt_uaOD7ETg_v15IbUj7P7df`k$^Q|~r z&;zU(<~_^7>-32=V%VB5+MNahJkThrLr%hrenTjc_*Os%{hJ@!Z5o-qh%oJ6SOfuH;?UIgyV041OUXwBP+@iUFe?(28q`AybguLB zc?6S`S#48o5o&@5Ns*x~)=NN2JK3ybb_*g!!&k$DM5K|OwkpjVm_NoH}!16DLrJbVllJ}Zxhqo@PJ;awAWh$jhjio0_s0?x-(Q>vIz4O`y@dzmZkn3K#6XvI?1deGY)+0W&U0zwh3 zhQnMsp`3V7N}xZV5Xg>>aHc=`;R7KNqhO9ge#tUY20^Vn!g#VcByNal z6Jl}L0DIyM8+z}u5FLC7Ehp=vjUK8Gm2~s|WaDlF^h2x$xZ!1jHR&9eDMS?To+lHM|WPe}) zM7U>DegljOha8VH1Ld9`0Jg(3&jSx{f@6#`p(HAZ#I zrK>8nWZ>8R#c{RvcLt5Ct7pzQKiPB&uaHAd3H1ANUn984zU1wUe?arM-5J2+e^w#G zYVPOB+#IyLxSjQVGG@#mc&y5?)1z3x^V84xPYvouC9C+s&0vpJ{LgxBpRYyM>e0G# z#QVui(P10vf$3kQL}}NE0VnL_{d$44@A`{piEghrk)8_m7V>v`3>+apHLoa2L8gWm z4hSZ}MLf(tY{}T-_M=3LmzM1tmNMMJ=95>L{+&^YhDcn5m?_sQ4_K-cimVFYcdeec zE%vo!OlVI|N-J&!*+@R%wH3*^-NY){WV-|d2O!Yo~m+p^&{5ZDm_8dOB;xhM*+uI#mc5IsAD?Bo`d&sCY<1n>x zXHy-yZrdaE3%7Hl(`($ebWM!S$FCYu{n~eKnV_RAJlJ;FH9Ef!(YSy1-Hs3Kh~dAX z7ml2i)7?$<6gHIqvsHHT`d=96+*W=0yaHvJv2o}lc~ID*VWo@n_h>jay~D^g13ven zM&DZqz%$)ij78_lRmF9aD?E2CVx1B`R@GGh2vV1W{X{K&Y~)Rp8tXm6nj?#ZIOkLb zJ!=$8V%ykZ9+za&$caHUzLK6z!VPpc(_^L#fFSkU0)rkXF0xt-eB88yG}G9=S$_3q z8q=H#e;z?{87@H8ZHDfg9lm&P3Pr2fH*#z$ss&Y(y66?mneWD#M*R=xm{J}QPy=tm z#&^59aq%#`(AbK*(&cg?i&j3>h|;Dl>FRg|omsL?3eG8iM=}nk@p0A| zamGH2?ts&%tza4M~B*3|4Qgh)Mz8BgkvozPM{CzSqJ> zbq(oDiObTSuNZn!*TQf4p8IhA8YF>LC*Py1fd+D!&Pwm0img$~^PhxVVNGp`yq_jWb(U!+~eRP+~ zeTj-k?dSe`@~u`Xt%M1F%)R$m-spZfWB-=N2h#^Ds&9{flo+*s3iWsUmpC8uUDtB| z=<-kBs_zN93DK@5_n!LXUA6e0Co$3LcESskEp{6WPS>&xC}Jn#H&eccC3FVJf<-2zyIuIzAKx0~ zbd5bxoq4v|`Mf6jf!V%FuiI+!$M$#X4haU-@66>e0VGG>MV#35h>oGDg^h!=yQfcp zDON2+7OZNP1~$t#G_x|Hl$Ui$1}i+%y5bPEoT3}0Y^+4&_EIFA7Jx3$C#a}sf5G~sPU9f?NKs21yU|3atWguDLI}|1PKXa}tK~+Al17w(On+#)q(_uVDIRA@!F@4S9 z=~MLn_v@N=Gn36`xXb5~BCT|bY&ywkS?BSk-Wa~W$=fW|r6D&ou4c(DdQfk5>HL1# z923!B_JsfVYj2p{g_?WWDh8Xa?cg%neL26$vz#r?-LzcMV!plbz-je_KZT-2^EKI` zjXvhh4I4RSie| z&NaEiccG5dGkF33{sEsCyEcdCdBJNl=B5c4#o~+y++oF;od8#57J%Jfw7I1fa`7Z| z90V)9rKP4?dP~S&%p(nvGLLmwlzdU;F=npnnaC`Gce@-^`p3zZMTu68f0wJ09pTYe za4HonRTJR#y~ADOHUTJAmRv9DoB>B*DI29s7|bjfiK3D2qYRBcUpl9b5eX9pZImQt z@I-nA+)hySC*|;`l~o%ctKSI}mG4V>=A`j#oj#Waxw)tUU_@!_ps7tI5K9D_2|;Z{ z7=WUDffE2c7+#i!Pe>F5+CaE8f|N8R{m{uf%w9L3>fwLZ-LCm>mu(7JEzX&&7y2Zm z*Axbs?!9#S+$HJL^lk9Vt5P(kZGe%NY6XJ-DQhD?21=}S;DnOh_!G!)Px_a~1jHyC zd$_tLy{Wh7EO*Fx$wKElOQ!QIBhELDIP>+QWZ1QNnhO;(JKe%8`{jm8UX&g=gbWT4 zFqqvZO!H<$*y$;xJ>dzCx@LchJLio2!4~5lT@$d z#L5c}ndw<7EFN(RDCVsx3a&`vpK}}iVIw&@54t=Nv$tac##NCA89?)aG)6;Si*Kzs zF0u|%klk&dl|Wrv9CFov={GZL{mj6j#b)Qt`pdBI40CQ)?NjW$ZbG>vBh7aWjV#~Y z9_?r|#3q3FN+=*C({7m#l1YRX1N&Eo0l^<5W5961KiyF$Hz;P7FFxNU51R2MM}bnU z*JCd!TUc!m+*e%Xg*jji-!1=JHf10NwncF84u1G`s$YZ)@!isC7u2Ww686an9qZa^ z^%BBTGsWP`wkZ%@c^}igq*F>?e<|iv0XpIs7SiSc{Hq>1S&WSBrJ zh7=>x4Zg$Bic{m#9M@nsj1{tMm)x-lbp@NQ*3u(WM&5mxK}wW&tfd$A4ORS^#%iv$ zV^1u1Ybb_ zJgmUgZ2!fQskKhk2=`sE_eEi=I;T^GgM0=EY6?{d0U<8wPFPcB%Ov9bfK!R#hW;HNE1*+ODAYaIsvaL# z3iv%Wjkh}yx8IPp3uKJhg0^HJW31Wqt|rG1pznY&`+Cq@E`XD?RXocuwcsblpgr%; zgElm+z8U&OLNP!-NA*=Di~YJrcECk->y;>`W@&hS?OV_pdgz}H&H+9vnFNpL>=x(d zbu)3qhP+kx8s^5A^0c!+2DsA0Jl>!2cYN!@#GTGq5a=vm$8(H?OQyv?c0Q%)bKxQK zn4l{WBB= zagfpp2FDtbkdklH=Jnr3bkcgnC^t^qheXVse!`^sQe(JxQP25VlWgeI_T^J8Sn7Q5z^ zra#VgCrzpAETh5rcH($o!$;S)LG^nB3X~3`drb43@^5=z2Ui>M_Ji)I?~RP(?vzQB z0d^W0F8f@fvl<222zOu!O&RDg0&PXSHir5Ok(m z@RerG`TPo|Tk%chjpd)B-@h!X)+im3)jpg%U%&TYLrnbNq>!XT@0fDur0hpqVFl1h z*7fcWTHhi+XuJZ&J`q=q$NiqHdVdt9Vri3%#H99U{Q2kJsi!UAEFt=z1$cjM$`j3G z_fAInyt0PwYoV3^pK(LMgPA|xWuQ}kyc z=l2H%|6v8M($t#-4z>ZNy-$((mZ~4PXCG*uomPq1GdTG({NV{>=(o6!uj^QHXz%IJlTeFe$1-EUvAJSNY*B;Mgua4q%kHoAHpyR7bSBNJ2ija54oQ ze=|GmiWO%4-+44Io}q!N)_#OlXn1~QH5I2Var`ESC(#-3Qh%;YLNk3tfSvN@~k ziA)qSQs09~g86{igX8x|35@B}tl8wTX%Xlp3T$TejthB=W;vuY$&)$yJbnUM_4Ur! zAhKWly&YigmbE=~0AMJjM~VXKk5}+p1|GC~KASGOLKpfc6LeYgFEQuqy%D;&ld;3P zDyq(^Bx|UwHDWC~J=)BlPsNJmc@nb-pYyT%FVa|Nm$yCAeiwMk%ndrmP6&(88$0K{ zpO?w}AjI|(c7A!vKVy>*%2`5uR5+~I6Z)v=>A;nBUuxQ7JZw;f_1Vdxs_@x>71>wJ zoAiW3C$MadHJ&y3H)|!6hwz`cJmu<2*Z4{uk^qkq#!+kXOB{@2j_}{G36G`~)46!7 zCJVNzg!Rn?<+6{PQKvSkOxZVX!~!hBZGc0~YjOaj5X@!)b34;y6S`k|F4#^y%y|T7 z*RJG@_|1~(!r4ohRD+&MgXfhYqSGx@J1sR} zI>>;C2AN#6Gua%Qj&w5gNWcZoZHa_oc(1rXkukM z<0)W;wXz`gCNcE7+^~0q3=d0pC7{*tsiN`d3;@AJ>}bQESnJqpu-i?`f>X?nQ7j}YQx}1x{pPg{ zdp>iL(!Ztc0^O=~TKYvDWG4|O?}*Fd9;(Y{z;Gh%oKdQ1MgTyPfm0t(T)Cdoy}2uS zyrekdsYn-?wL?YHkYu9Kr+4*|wybsw8}q{cTT7$$@0!?5%s_XZ#ONSt0M3hyq!4rC0VHaiP!FIc z?^)#dtyO=5Z)Y&u0|*NFAA4pf`jbol$i4ph2y*JVTpXf~W=)MoFbRYLA z3iBq(R^7nc*33{a%eS7#{zP8Qi4d199``D;6XsII8NRD)ceFf``12+SRj323rSMI=mCmL+Us<>20%CbtV*rhJ4}C8SWVrGwKIrKF*POm?0Ib zGc`5sDI?tg$8XW0wmqDMhkx|TGg@YAlrB3MS^!xzcs`oSu(*bkaM;QT`L$lS+mqKvT8?Q2k*5-a-K1(`eK zW#hUJxblF*G{J2;^T~UK1l26d%N)W=W3rmbpvIDC4dgLViXg;%jYi15ta;^AHI^?Q z_Ql#PEkF1A{xp%}%)-D2Xkc)~qLQWVq?t!q};h@<8%I&WBPgA+x}x&1G^ z$gdZyZn*vv3PKTq(^_Y2i#2Q~)9|B83fq5Pb}DJ>+&gDXxo97@9ZeWvbjmE5M4>~8 zvxt$hpQ6A|M$?1)plzz&4ZVH%Hwy_e81vdvc5$7f)!SaShbtwb-+aMUcj{o|38Gfk zthPp1=Wz*uDDg+_&)YB#WP&oEl8Nv-*9!GpEkRl5+emGq_CNFiMq_Rhp-cuYGH_6r z2pAb{)}MTUt{gk(875?Us#?8U7R=RlOb*|~sdBRS6Yu5$h)MD_?yO4(_Qz#p#P3fG z`sGHONX5TJkR^E(o@}J`7F-7~Q)o#U#ThF;6>#!{ns*&h;WfMja^?ECWmr| zT={wrF+SW^N((3r>oB8wMA zp`rhH3+UNvr~yz78qt0Lj_SD5g`MgwtVI6+%P30!sk?PpcxvrN02>%fJEAG=#GVzn zer`hSn~k`1I_Yyoj+4w==Y(3ut;lNPnXI>jnjgH2c2G^uP}Ym6EZ%d>qNufwvS~6l zpKA0yDO<}`ic6TP|>stg?=RA8WRmqFGOpbm6hIA<;L+mcZDXQu*^1SScpEc(NhGd%J2S4Y3QR zOe15>e0k+r*+3#Ip5op)J>gI@Xvc; z^IjRzWck5*L;aaD&$Mbd=D#KjKDS{4Ki+LQo?9u~HFTBWefzABx4u5~2 z_|;DRoMr7qb*cJ%9i>@!xtiYMLUh9o1%EYOVZvV>jmOzr;@r?k^ACS@P*)Q|&*+;o zd#IcZP}w%jf@gQ*pnuk%{1LHY#of?ZN0~$mVnSmEqQ9B@eoM!7u8>*weJicVcXQ1v ztgho#qt8!Z;=9fJT1$yN5yCw;7t#Oyr_37vCnB&X_RF)>OYv|a;N&}TAo^B!__r6I z!}LNbt*$!8|2G=3zHb49Tp9mGzDBGU=*QTsGM#+|uaW1M!R}V^iT93q3Q?KtQ)VAfkei0%^Oz-{^vcclV zc5wA}cSHmTw3|M?+jVs@3is|{cm4JKK-FyNKi7@TLhkm!)zW?|GToCN!~E6D28b0b zjO7{(Ul$mwE7h9lz4?NX_a3w!p$|&AqR6$Aqpth7ZN{uetm|P1@q#^e0+B}v2X|Y0 z?jNfbK2mSlP)CZ6-QSL`)r+iEF{&9g4Podm&Vfcoz*I*O&E=)p2!BKsnQRi5ib*cORdnb zr@gYo?MJUylQteoZM+GjF*J8aeC-=Y!1#|EKSbT%H-zzNfXu#?xmpbYqa7OkZ}{v~ zzZWa-6_-Y6-Uxd1Gdq^)5!CgobZkRx?EgX9eFrrazyE?i2@n!$fY3YAn=}Ebq4y@B zG?5~`2#NwyOz6G$8me>wY0?ZurAw0z0wNtmiUOk9e1CWEojbcbyZ6rK@66Y*?|(qJZKBGd0&Kwx!12mg#}|#{UN92@x%R1 zo8h=HYiz_&Cr_}Z^l1C65g~VI%eRujsmdfm_{VrXv!qdpauZf7=lA*Z_?8yru3OmM%O~f!(jkw3J*4gz7pguRN#*xcoeSXnd6sL} z#{5Yp{Q0v;4`QqLxUc!+!AQmTG12|eeJTTL>Y8fG8k&+Hkh=X*G0joYkP*YrMw7-< zCe!z3OlQr$m`_VezTqd6C6115rGzcUB`@6}0}@&jSCUs_9#SPVOSafOYERyvOjsq^ zNq%bw#6rEFj6|C}0Gywm{e0`=2Rwh~^TNOP)azyJ^=078xsZRMxK}6;Q5ar?T_m(> z0fc?9A|-JBmt@nb+8&?*Csje-t(Yh}-V`Deo_j4ZaEx-;b|G2L=?r@+7x6^7<$vVd z(h2=Z$K=Us+ue-r2(w+Q>LZL{AR9B zv4-a#ua4D1jN|N3uq0m$lhtFldL*5-A5}(5fh;;+Vk8B13pT5}TgsH%xO7w*3eC0mNI4a{!JdB~CyMkjj(o zRm4cF`8bja^lI~hsd^iEj3N?HH0cIlCl|&ibTfMqbXHb=#ckpOsG!j;&npfI{fO}yz^Wq#1EoS<;45PHIS|_45HpWYUc|3YN zG2wJ_weA`WX+^iESCHwS#e8qgL5;un=UP0Wa{l;OT{fJ&E_(0cK>z8=ylU9J7*G@) z9sc2SzKm<%=pzj4OYcq{y{h*eaB$_I76mAAxuYu;v-WxSd!_oZtFNo5n#9dTdS7xi zCX9$0Yo|@jw7^07dH>hV*?@7pPl3;=HhBw$(9QGGYJ}CPTZuO3jW)WQbN>!RVDJOeYF*tGK3vlB<=9^E@FegXjyfa)HUnwdkd4^bw(g zB5dk2KH>ld@ra5ZRi)H3<7zumkNJhRr`nlg-EKV=B$}F18`^+sNqOm*sR0BWz?xoqsz!8%`R0b7!PwGQj6ITu?{scZ!i!j>v0a_)ik>mge!1NIx zMeED`%mDE?*yne?IRnP|HcE~D=cTroF52|>@Iu7l$OgZj#~|}UPc?0Civ-Y zB(Vd4q7U9DQVxGC#7-9p2T&mHXY|B|NZ>YfkE?6T={7wEAi8-fM2j3~a({960q=}G z1g;`%Vho~;;K(AZviJa9AJ%t1OJ6Wcxo?Jwf-?vciBzFDGXo99sgQX9QU!v~U!%m2 z@Udz4!NT6@*{z*%UCq9(=zN!n_O&CBev6PJkE@3J2^w+As(hEzKpDt!j2}F-WUS>yo;2iF`7^qAksQ@y8UN(w1J(( zha=u>ZE(RF-AvHmOh0Ky!N_z_#>s?cdK%9;O*QuUaOHwu%xwm%tV0Z>H8y5%nQ-w& zn%y&cTRoh+;8JJfRBH>)HB)I$ll5w{wLa>k-GOOFsi~_CT%NE_=MKCHG0}2Ily!CS zW(gg=)60e4%Fsq|p~_RWUYvZQP|krk$9+FkIt6n-Ks;vKE*O(rDxqES`zQ`&^mKVR z8rQ+qtjb(YW-C@Qh(-;DkB}ZoUpgT__1y2M$$^sOnrNo3L!{_JJR_H$^=DNzv@P3h z^omK@9G*H7jI0~0&!v$6y#x`&+=-dVXd*jus<1a4h+^yTP@a1Hp!bpDNF7@#nbej5 ziO%FI!sSCc^b42&BUkX(!RU16FOqcv45%>xz=dnh^{aH{K8gG=LUa6&i{C^$ifVtc zj@eD6L@IwOK=}g^7ea-UN?SGb7qJcP=>{kBE~AJ#5KhK`!AloeAX`s+4uXCVi=%3q zf>RUaZ4?wm2y5Vt5OfZ(2brdS=@9-%s$!fPSB7xfXITf+2h@PYhma&I)zJ}6bgC-O zZ`nwe%m6bEK&iq;;yR`VAY9klNRy;Oyn|2yha;LXU+Ap#Y<`dNQHl?#k{Pb=GO62B zs!0&QmxK4htVZbF9s)}^V9V#e&sEezBRa8W2==ui^-?k8S>$p)Rl9<%@gri8=kG3p( zR*!1Hs?)R#SO5Wwz6ld*cuMrkCtBn)Aso37xsde1f%!+a&A&pP3&VhD(akLuC z5a`XN*>!!i{j;0ATwZBXkngxc_cAZWEb#MzfjQ<@W|dUP-5x%JAGM*8-voZY8)=F= zN4kF5bq%;{bijIC5YW13u=Bh7@86#<<*kcO3%)N@C;7%Y+8jC456vVW|Em9U^Ih%t z)QWt`kE+dwKk&rDS1*V1@?BYkdd~)}48!q&XLAR5!=7X|&yW z7eV$_w|&)gir?g4tKp3$=eR(?b=A)kl&r!x*0S>7btjzew2Cg|Ixpw@dQ*A`D`@&y z(`!QWchaB8icF``%_wuXB-MpzTheFnjeBe95pAg}q}@EH|9U<6iRAEk1|3heh8BX_ zi#zYp>=q#Kto{4YOT@I!uV}(QVSa3qu3tm0MFp<$y|!ylf8*GvF=xwybK**>63A7D z*$_5{cREI5pEW85Fj$hL zz2W{^)*FU}^7P3un6L`s;*{pDl@r$sC|ZQLW1_531hNZ}t_;-n>xH)x!rjDBWU~E9 zAl2Hw(%b8iQn?TwwL7vtkQ*)zk!P4T6dS`qU%e{rEldvQ+bCl_5Kk9ar!)*?K`SvC z#>D{K$;ssA59^}>AuMQ~1`Zf|RGEu2f#pbMEz?M-xL6ZX)My4$?x~oe!8&;o0XkuK z)bH?^f*rWR?hc{!Yyb_pFv}9PGR9PHFE==3YwCor5GNJ28FNN0` zap7F3HZBVk2@>?!GaEISezzq@RyOs)#z#sNzil{efIwJPUlw5uL_n`ecQLMd@>56z zXP|s)4Ts>$Q-D)|k9VkA3CtZv)8?^Rmhq<@N!>;gpwrpKo3YuQj8F{wQxz~%lPjrH zuY0RNwIh0qNDp{Yq`iutsx)20iAz7;H-c~`|O_=cPMvP0>1e&4o-Y4rAZfb{jsAeb zSmU|g2V6m?F)&tVHMZ^1(~BTVVJ7N&D_;|?KYmX5$uo7UQ9kBz*SKGfe?CuqykLDz zr-`e;oacC!E>RGT!PM-#W@ZDY{%VhF9T#g9kkTI3DWiNU8@DXqlm2=`YGQM?y~)(j zoCBpm8j+AMzhV=U5ofsN_jXQ2KpYGxjh0+-b0>$^qTtvHat2^$tXiZB zAZW}0P=hn)?Hk=j8-w!ugGT=byWSl}6u6_UH^T$+CD$_Afpt{o{w;{>=lFmL0&?Kk z571PdTsyo)C5FNiY0j2m3Zvr+%wwmXsiBT2G+|D}Vw%DbN)gdUc7kV|$1_w>|8R9C zn=K|cgprm@Q)BudCj6Y%mv%xseu|ve!y5o43Pi1K1UUgy?2f}Z(0PX_I0L$X34}oD zQp8NB%b}V0L6lX1@OSld1ueWQ>-<#b7Nf}-f7cly%0mcZmBvSP0>oS+5CKDvR6CfD zOqD*EY;r5q<_Q*XX8}2~$KB$z9Ixq9D(STE(PBVurRY{F(-wOWISSos0)iN$nNCoE z9f(dFLFtNSvO~MXnNdSg)JSI9DxeJwLR?O?IL@3dnAF#y5Ky$@c^G8?ulpvdKot#e zpwU7j84m9v?e02xjf6YCV_r2Pyo_kGxnH1*zpt6DdJ3RYzntSd(Qy7Rczh7ROZVE- z)C?eUjvU|wMT8ZnIH>~c%0aSOKnxlb1K48GF<|gP7GN803a+Q0em5!CoA)@eq?>pPsEUVOLeR6w3f8z;K;s+IcccWPYAEiM%Y!v(84 z`IWER2Ezr+pyAfL&_I1nPo&megD`Tj{s6=sI)WCoU>M8|Y@efQp~7hGN)Wrn_VM{r z$;=8>UfgSuDux1mjDyvNxgzF|KrKz}77$CjLc8@+kP~W93>G|=Z4A2%3sz*!K{gP@ z6e>*S-(Pt+o+Hb+#gk;wmo(J-)(1K7h6VeTw#wb*nX1no4vWeq;b0;Z6(l}=nk4-+ za)>kf$w@ebfo1AKzO0|D61v`>t$h@m$v4AEH77!UDu`v$ILKfd zGJ-@7T)ewXgM$4Dq-!<$W$(7ikomayN0;^X#D~qFz$uqQigZl%>I3g@;LTzq$Q{`6m=jHtjQ*XFr=0opKv37R0WR>q`yESZ=0D zl@`z_QAyi6IFu$nefmu{-|=pPqg=0}Ojg10qN9=$M7aT_tP};SLa9(ZMnWDxMLt&H zeXJ?Hr8>cBsa~!oy)|sPrPBLYQ&X5nddo59EzP#0@v$TFAE#l_W7A)p?3)xE?%$+E zoy@jj^0wb(oxfW)I9c^NSr<9&kjvHN**$8ov-{^{PvPwFt4)k|GHeu;PU7V3?d%fj z?3(24_QKg63HRvT_JBBfe%v0$Ejm9rc7D?9>@)$8aqRdgx%g?O7)!g5tpkLdE>1iXu4$^x;cg7>Dz`QU6=g( zERLN+{e*+1$%S-OJf-Yl^y7db__)+KxXNMly7gGPtCLy4Qv7 zr!Vb1Id%zN!yn$BADc^)=z$N#!Lwc$cWI9{Z;!X4t{xNa?}|KLEA5sCx7&}(Wc9jt z9v`4Zw@gK;kd;w=$DFD-w%dc69*vqVc0(>63(l!+kQa1rBirtwns;~s7oUG_#fI*m zmE0%)dA_0BEh;Kd`Q4dF>T>?>8JPLPm+U!-K<*NIFn8FScv9Jq|>7 z)8q1ti>Q@!5ySS!Re|10S>R#cCxqfZcCv^Frc35MUfJMkY6bGlK)pvdgRh4U<+ zlKIwoEMezcX|{VwY)?>hPoTv<2Sx2;H+L%$LyEt=NnRhMGfh)# zRp)QBC-H4B!jfFF8lJYW4$-B6n4&*hQkybi1zvCg5F~;CKv5wH+U}q`Kl%DicKMkn?ne~ldX~;# z`8CMEY0*{-O~{Z#`BfYeQ<3??PXmp9x%1mWgBggKrNV%yWp|&(p`+egqCZq~5u=#a z0Vdagz<&JxkD?1e*GFH(yao}#{SYz!JQ|A@^nO;i(T+L*Paz8sz)X!hK|S8NCOk2T ze`H1@CRvhvwZHakh~4$)+Ow7j!y3~2Vnr{T+4RBB*H^Uw<7>77g` z+%4+uYj~q1A3$}%;D*yHzY9%+(ROj!1$z^rys9B!`XlU*(8N`r=UT>qDxi!<%KxjH{sexI!T{`}j=Tz`&7AOHkM;)jEdBi0}Nmz)bx3c!bn$_^z9 z({W8|MTOe!60@)+i9=X8LM_x|Zxy*Z#Bp4!V8J52yABDrkGUNa2|0XjCCF`RmnBL6 zaxIG|BopICPK&`Zj^ z;xhpLRO=9%Ojm-9pq!wD5D*J6?;(3IGj`I1`=aexH8;l@&{88+J*DmWkuw{0jmF` zu3jQpjV93~7!DA>G3F2b0<<_`(9_KEKO9Rj$qOKw!Q3nyx z4qIT5l-bVGc_w7Wk9-=2xt7cZo`LcTlOC5v``{QG`~q znqx5+{X54ZiZa}{DlKIzjA!a6KT=gR3vCDBRVfsapI-*0GuBc(O--S7W#yukd0k5x;leESvCF z%^Yt3u_pP!h#6$WWGU?lqhoG;Ty-T~ya=DNs}j-tl`%Y!#YbJtyeE>(2_m$kmXVF^1Qfa zBW>oltVf3JCPjdk4Wn$|9^rE77f`xp89}yE0Js%y`0Ul$06PKvWbGpHIDKZCu7iT; z(Pic5T3+iZ%O;CadQt3SCehT~rcQr{1OA3WH9K8A7N%p zM)b_)J8x%Ph-_uKg_>)WOY$~6mQu>h|Ph*7jVzE!#8%FRC{~*=XKie-_ z-a&j^No`gM**p3w6cd8m)i!<_8!`8lJ$$ddk_fK3dpd1Wcn<7ps@Bc$=Z8! zGgl*(yWt^MNHi@~vh1J<#o7H9mTfPxz>gb_X9W|%+sDIK;~^C1#iWY6>g=6U#1VdT z0*ZThId`hq`x${cqmr@-{5cN1AXXW@v%7JvNH-|?pwZ!Q0;K;rBb$=F4SaO8vC&aH zpe7X)f_lTzY_~#VazZA zGB0uq6z|`7`=5N@l@8VA9kyMx?Rl}X(TdS+|JhpG}q z53|sT%zHCG`}`*-{br+gzUTNaxTOAU4cWHS6~GHe!vN&!NegAaGvao@fSghJ4-{++*h|My4ot3S%nt3fR#+|l`~zE8pb zWKe&IgI{U|erOlD`h+6iMNvZ0WDKu1Wzb9)&z)OBQBi>uuR|N@(d^JLPX4f4Lz<9F z9|_`nquD_b_n(IOhr%QRx%tB-wZrdpgd7qFW@-gy|Ms7lM_bIJkLk@{1?+@LyGCfm zMCc5$rA3E&J$@m|9~4R)(dF_eXFmMM*Wa=OtveL?a5s|sGQy-PT%jZKjZDzXQ?>_} zksd=)Uak>*48d1g0nIz%-mcO9G0{6z|C1&90*Jv&8O#4&%J^TiM8zZ}{@*y!|DTp9 z9ufuq_h0|r5=|Z||1V3__?CN4jMbZkx)=Y$5|yDb$3{DOcYQtS_>U!;O>SRHp#Am# zlrqr73}#XB|7D53f)S_+2?i1qr{@1h%E*TyRLd~`C1u#>g*4PQ;-!q&=AkYBkuth_ zdf#LF`tg?N$4^6eOLS~};`9HaC0fW1F#W#y`=I?Fm_(STJQExKm)}?x14pSuz>m!D zqPFb^<4+~*SB9F(J|%Ogy&&XoE+0;(5-GK@9M2Nd6?U{zQKP98wT2K5t-wCq55tl5 zLQY`Vw^h`60F=(pwWV6D+^~#I53?6BTifUAz>jV{5RId~lVQByDlD9>){#c!(^qG0 zlddd%JWN36$6Rj2Iz3OI zHcf|6!Q_{IKw(KAO1&-HLo1C1fWlSf3Oanywfr<}NT2n$Jw2s@oson?00IS#0?0bP zzAE@C+&qshzt&ZkhtXzk}WtVB?G!{-wR>|G@b8$tf7PfHVeSfeZwWPkB%KDraP`z=M?N;8KpwJGai>K`81 zH!pqLOpAEqqLOkW8O>o+PpxBD<1DNDZ6$EISXr2ZU6iGzb%F_y@f_xgdKhE0RZ(fl zX_biua{+e!O8%#iFvE)rl|BTEaf%(L20f2@j$}llVWj*m{AC4KsVgw{gi|yu(!qTT z&Zv*DCC++^DXYqC)#foDe*S6S(IW2B^-=9a4ZXYJNtK7CPIJdX<9j;!=;)76fAMFB zC|Ef)2f+?DnkVn`ip0M*CtYaeaA*E(-wRG-j6u8@$*BV1r*W_5^U1C2eg0MF_`= z_^(`_eDFB$5b>NS|FI1uWcb4&%IxYf6XEn8>#KO%5CSvPY2hDQ~ zk?Y3@3v&-51OYJ(YHo%pQBo!bz<1O0`t;(2KL9HSU^%B=pR2b3O7qR5)K~EF2TiJ> z1`%@3n|TDto$zp#6AV9mj9vDx8rJ6aI$i0z#bj{S8FS&BKcQUY&fe>W6oGA<)-VprWd;*|$?9w61U+H9!H{I9_tV;jKcTC`kd}$JwJPFMkTN#NM%$!m z*2X~qPzv#9Acr!TK#^peRM}0kZx_8I^d4&xU}?He&Tq$!HasX@8Pi!u?DN7%OA@J@mc;KBJg8=hz;*Km6n)+7Nk|MP27+=&6bYo#;Er@92DfxpY=^IrduV z_weV??S|qP+7*-CvE(vroHpR~fj?1pnZHF^oIM@W3Ephvkv7gqhTbY5Tyl`*>PS=~ zRJ4>mTgRsGsugO=mM)T1O+$qZ(KufZfPlf+Fs}q2H^;z*=>9cGohFw0D%@4pH$a_N z&OYTO&115_yzxRRQcnF3)#C-jeWhHE1#)KPX1MHow{Fr<^csu0g?+Pi+ajr>o*4LK z9$|;&Wc_tH4dMH3b?Us#@H=BAvTtE?p%he6EQn>f`MiO)zUN+dDqhoMF3omYO-3U{ z`sb-(^TE>-HH-K$u@lW{1_+&>n%LfCe`oBpSBA(^-9Gilz zqGxxD#%`>~-=_*slgbeXQ5&$7OegWRDOcevX73i@gz$dS9zIE0W;u z(Z9Z^@{0yKeC9!)`Gan6EKd04GWOO~13lS($eZ9Dy|33xzk4so--P~-Cvs_>0eV?2 zXak*$`UrF2$MsGGno}S%6|U~)EnNbNu}7liZT$=rjZrdV8?zXx7cfz96BEs*%t}_0 z`00-T4ShS!L7BKF^a)N_t3x9=@#*u7pC-6VX#0N0Kwykxbd&Kir_oUi&vB#fvg&K@ zgY256o1am%1S%Ngg(2b!!64fNr(2kFF)dHg=xAM0QY*uei}CH-U1QEN9gsV&-fs(b z^mpWzuO z=prBcXXWa-V<6;6x&iZN^?H1uMZ(K7VEND5InwaLFQ>kxb*GKkHDV zj(+-ylPLL{4S4dU=Vg>ythGXR0z?%DZebqNfi_D?iL#bmS`!{B&V` zUM==uKd4LZtbMV2TlW3CiD$N_MSr@T`RUc(KfgO$GBZE9D)nSKyWzZ2^6#GRt0z;h z4KHe}S3}?ad#9)sjAJhI@Sp$ly>sDV!$ouc-$PfUuBG{jUu|7~k9?B5R`9)wHIZ)? z)<8z72f}fj`cTVx>4bMbgR}e2dZ6jZ(bmHH)XrBki~1m`ci-!%hHzIvMvipJlsR;q z9-nuJ)39a2F%V!U;3c<5TOJr4&E1OSYK%5-d7E+xnpOH)Q#`U|(s#XPx_ol~DK$L= zb+t)@yL8U|b!^@gY$_XcL2Q9MFEjeHV6D8IahGf-*6z>o*U&$j@ZL>D)oXhxcEsv^ z!Zg%iXgO3F7DfEeaQX)#?Qv9(ZX-?3G~v}h$q%@HuZ3(~LLZcJ8*+r&OooySg~HLE zOLVj|;D84{Avgqo5S<0O@i!AgKQKwj==-3eCP!Xo+0 zZt@p~6fi6?{Acu$R>D9|3iMqHNp2YN)hl(5n3079#Jhy{7@-_{bVo;O=Rzt=YO=>5H(T5*M3XtX{2=Na*Lu%Tgf?9$>;p0 zmmR{&j48m~ME1Q@)!kbL~<>d_!y*vmB~XQR2yS zu35Nr{^TRqB&o%$%$Y1nfpm{|b{ydJQ|)A(!0?-x?7-MWf~#y4V@~_iFh`xtD9g;~ zSTxQBPHmY=iyz?QOQ1#PWWciY-(}@|U%4Lw^XAri#&EW&m0^{>xx!M_v zPwy5_Ultoh>#VBPpW@8pazv!limmsJmMnJYuN~LHe7IH}q@cDpoQ_y0F zad-r%cq%}M!vQD`5E6%hgeF1Ti}@|FiDW7?C)F5UFsQUq___(aNCO1j19Rn-jH-fO z@rgWsm#^?LS81t?{%-Eo-Esnw0vs$iE=M9b z$;Tr0`u9^{Q9vM83}C{*K8J$@QJ?|S5-^fBgbOSPh_hfpKc0c{urc^~3*JTkBStcH z>&?MZH30_94hOjM<=xg>4&=amC=f&}1Q#)!LZ9E}E>sR(ZX=4X`7j?)BS=`cUp%GN zOzP1dDBt95U8~grK#bjZQgjiGfVw?+ZUD@X0zlTi0WpPlHINA!fENq)K-P0v*ZrDm ziEV_>!2o<%7y=8P3I~HuOw?0rb%h9pG3>(lxQ|J`{Z2YAF{10ApvDJP>=@91<2#5Q zC!GUr2$&DH-2Ne``=efNz(KM0NMnvxJ06*;XKHGwX`d6S4c2Qi&ubgC5FjwducVjM z4$N=I0Xo5--!gLyD5Dl!_!5B6bTIX|u$&Yv_8^;u!4Sl*MCheuBQ%f)MLPyZMM<;AJ`nL?y^})n)gpA5J$7YNM}k z?P?Pys~P&!{~n4N)9&$IuF>lY9Q+;psl9!Ed0;U=#gn<<{Yc}q44|1%u5}~O_KB7@ z4noA#EWi>H^fXwME9is!VC?S-t-6FyGB8a~)*O5;qA$4CWzZ=Rv3kqPf9nRNaM>tx&%)wcZ=B%a(#rVC%{U%;|Ku_l&Jw8InAuY>vDrP*lYpN0%rSV`rgfQls!&0G6-{Ct zQzDm{bl8@B^LgZM!b7(j+}OZj@Z^5M-4=()bbf_cy}93OujJY^b|s@yrn zvFD2%nd106rE*=+8#Be*!^a;o%~y{SES!eC1IU3H3Dz0$9zH3>840f$*^n89#2MJ) z^cUXo#)2XJNzl0pp;jTGPS>pd>a5Nvq2c)KG{V4)RrCJCFZibfmObJot6yx7zA$4! z_KI^jhlg{IL*^WMK<+(rp7nFU`rP#iVOa|Ek19?WhVwajG6FRpNS+*AKaX0SM=LHw zkSEh)=A%OvBI_5>;|r007gAUk(-ap`=X;ieTeF4!tQ#`&U*NT;#xTC=6jKa z&BB#)sv;cg20_s`x!!LI6W=}s~L3iQ(g-T4|lE~ zt|}I-GNkN)d%p%0tvoOKI++M!5Z;Y7*p2YsiSyo#3*AYy-4Ukv%4EA$yt)y*y4h8@ zS01u<;<{JxFNyWvhCtCKyZ2r|At2d>&<7TH8$tdh^=95&(6D`WW1{tg+c<_g{6IaJ z<78f$6D-BVw`R}9E=ETV@3YP53tAN@uIDtxH!ZC#BsY95n^;b2SXJoVnIGR>u{~P* zcl0$B6r^;lCA#-L^mtozFEwe8R&+n-cx(4)S*&5cg5pQ0*M_#}CWq4gwbG`Z;l4rW zzDdKrmiTgg1I)%3T-h`K#|K#dBd{wkz#`U~Rr5Ze2XG@)dd3a@?8^c(KIE{&Z*^cM z<3j{y3!QkH?4`sgwkk2PxXX67CweBOd?x+qY>)NqizuIh@{!Vy-S43b63IWdDK`5< zPAeKt{~gaWz)uW*{P-1msu%j>cG3LR+Fmi+UUSGi%noG3zTD)sgsVv0|Jp|QgFN|F z*iXDt^-6VK${M?W%~#(5f}HX(pMVULesW-7SH_1PMjY&ud~y4%OL6DLYN26LhCMLrJp#`>~Gkn`F$hcS3cs|qUd_6ozfG6H(6|Jz-3 zU*OgCPCeKmwXpK@<mgTZ^;f_D9iOb8YfP zu|!z2O)|aLMs1Hvg>^Y@Qzh^nUu6u&e$Xf{c{6ze7dP=uZJPQ?C2{X5HD!(1NI%zz zL~?)F?pf_^$(hsCGapGRl3N*+ho&?$>0AWB`uh5d?Ckji`hl@0=uM0;!#9+gs2d1& z%Pr}$p_y_Yu$pBQ9F7R@7&_NuF$p}D2$n9C?)j2Qtz;W&Yuozl!u&R6+H33Yg{oDtD3=~hHq4R`Fw1fFNd9kd?e=OJxzjWc}}DKz~{!L zT`!7&ZmG=4??U&o$@*Dj)Ym)W&SU68+{{eWJxVkBzv0?V?UgYl)Fc^Bg1h5}H%a#o z-bJ%~Q6TaqxyaUX)N1WYL3!%LSdBj7`ewxfo1>mZAN~qkiSz$VV@Bh$`GFh0BX6wD z$m|t&TqLNKdPGrPmm#sByI-?+!A-ZRI;p_UWVX`&rq-a4fB&52JAH1e2Yp6$Nd9BS z)%N7YH80I}?@nQnu{(y@L&GVL65ig7=eMuF3f`jg|6_S!HXwb+n%TYTu=D6!k8)N} zw(-kzhS}FH$)S%kAV<;c%9Q$|5`To>eBJqaLw^9)$8_LQm>ZFQR<4bdmBWI>&?_7T zDgF5GV={r@*Ve*PBLJaXfv>?8xMT)KrU>cJ6^wV&7 z^XKMY%mcfNnIeB6Dpmj9#o?>~8)N+M!AB`moz z%g;gDM+I911#{3RA9;!kPDez3EPfxm+gWfnp@?HSuTf(!JnsqrpJexcAVPo{AO#`- z9KgdSNXI3BFIjPOi}CP?adV4H3QF9SP`oRyd{;(YMbS`S&&KM(BTGX!^ZRa(973LW zM@B{@Cq@@U$CjpLy}{R+n#x*RTbKSHi%mrLI5?8Fv__9;_-@)k^QI)ew40iloW_d6gx6aOI&AQ+LCW&$52L$>=)sq^|@DS z(teBh7AL@YMMy+~|2Sbk;3dB7cJklLZvSl=x4CcskCjO9ib?W`O9+VJmn6k6At5Rz zAuJ&&@&8eI6Ou6f-z~nqbWC^|k`?ZsjSfnUiVFL0Cn!7nf9V|ISMq-=y8&u3|Ch4c zv)6zIQ?;lZ@S{BtUv~R(*&TY@ng1qKkAfszEh0KNHtxU5Zbs(jZeGSubu+cxbM?|w ziZLanW$|f%d4XoWTclwnl%%OS+t9SF9A9?xtL}==Y%(G#QmyULX?N}YPuVT0MF(ry z+1`&XSohTM=0GZg=BfTCR00D1j1C;<&`;FM?M> zNqyiy(RFiaDRibO_Kcty211emAKx%=7@4X9Ar!PexY;srC@5l0CmJ|gX;#P?2CBDoSOiUNKY@MXtxmsarv?nt$4W{=4t(O`0tzUBK@iwnyzwup5Q zXs;qChKX=6C5%KYMIbzfggZwCe~*I?PGld%EvHg#(jY-^Fg$ z;0v|ArVbm`ugoL~FfA2|F&Q%9k71<{Fv5=Sd+@naipT>NpF5a_M*hw<*V`Zs9L)6& z=#NLad~V!fcVLTeJ)8`VH0>Q(ks7uJ$u-BCd5sUwIIIoMHw5x`28oGPyx2;!>|+8K zWe-i&`rgW)Y(4OIDZC${Fbq1Fb88^?jUA#I;F%v4?ontOlhPxb@nGH=GstEi{*++l z$~nb0EJyFva#xX9I8{Wi(CK{UJZ$z1D|34sF>Ar@v1F{U>Jih0{6wrKH;z=p=40LLk-nDeX`V$gT;m#7dFOmnp_SlJB$Q^eHd_sW3q($DMbZPDTH zQM-RWq5dTafdxBtX_4O?${X1a#%^`Nhy;v%RH1~A8$m>5!L1-L5zyFId=|0}v}VZa zeSMOBH^ohu9m`Npz^pD5AWMR=3nyjTT)Fudn3<^(B@rR?T2a ztl6@zf-ou1sXUWTf&t{#r3E5i_JnL`=}=2uM6H`SYqIiU5DCpu41Q>6-ul`?Tg)|g zovX7O%Ts5vh3Xy|FT@S%Od|O|W>O8FQqT9#?U!94;O#N#C`<7zE8zg;tBNN~goNNy z8p;qEn540{Mbd=nCmPET61fL4U00f*J33lCMWoG*|k>2K0f*|vf9)(e)ho6^s*T$7 zYN#IGBQ2@(>A5i)@Gw4@Zn@)hQ{A${$cKC&J9Ov%zP6T`sZ4K5eUH!+OyaP#pGKWB z_94DzOn%hRhSZNENQXPTlqM7wTCWE*+FpMdpvU1>?BW}kT+1S3NPtHGH|!jG2!t)s z#n`r{Y7Gar+B}|BPn6{`gc5`!L?1->g?|=t|E;|?Og7%u_Ii@x-nH+%)Bq60jVGlA zCj!uuDj-s&_;y7Uz$z~W<6>~S({7a3fJf*SWUs=AZ@BkF(9nBZml6oc7^(dV=^HaD z-7xPQoM&PIHTpgkO;h4VdE=#%`a<>u@xZkJvYN# zJMV2kQ-`0CdQ%5f^qlQ(EZ?g1S=wA3H3El;R$SQY=WC(`^iK_`U5WkD1r1EMUc;VP zoKwjFd@Ee6UckWcGeTo5YAIVrHBLH_B)XWcQ!CTF13St4H-JSJF`+7p<DUC&-NR*M{i|^f~cCLQiYNYAtN< z{}j+Jj>G>Ym8AR#j}-ISRjKsRbIH__Q2SfZNpW^3PJ?pxRQJ^@^EwZ&8-;f4$-A2O z0w``hw_EuD8kEYAzB)Z!tV{?0?4l@SeegzJTheWRv+Ln3Z=!tFkzmNcro@-HD@-}X zT*sglPe6nzGg3e*v@7lCtY`7=@>af1&(LsecXEzLUR(^vKL?-3e4X1u&xCtuR=?%k z`cuJkElj1LNmfPwe9(~mb+$)|Z?zm{bwI5l{dwwTBWm5A>hF)cuPP)DYihh-ZF&aH z+}4`nQI`3*@>gZymZ?O^mFsv{Yt(a!>TzfDVtVtB0hGJ`V~W_n>?#!oP)os|onk6f z6H5#aGpPvTOtArV+q6CX$yX}n_yo3O0G#cmHhMi>(6;Y%*_8J9eY_zoKKk`0bNUq~ zD^qEg3gqX<&_ENd)A@GDU8c6{iIT$?ojmu7())>h@7DH|-ePa0tubKY*zcmCgHHtH zOrI2|YX9W3O4M-0$LYUqP9c}{1)>7k=F;+u~4(||1(S-$*ezNqggTDR5dMXlT zw64BqQ?br3(nUHFu~ZUR5Z0G3%}f2@5U>1j5Wt(&@~)@klYrtGCO1(FGH zJ)kFaP1@fU)ac+B6)CspAgBfMih@qB!Ab6X7_jRP=+)3H+jNJvEheH8kk9ro|ABj- z1x}X-3*oh;@Dqc|Lu$+U(0kU|J0P`=HtOV7jk#pvpy1R&~aA{=k=4ctRVb{!ZXDJX2YTJh&>; z?E`|9R&Jrg;?O-Et3bYi$(o7IQn$%s5Dbm!r%v<84(($#;&*T{r@;x(VX9F!v=YoA zDaoEe976ZxyTv(ovq?~iz7nynDD8yDO2hJTSb0&a3y^XNNBgI2Hx!G!0JpK zoZgE1msWQ;S+8@b80eD3an4{#0$79qo=*Zxpa2;nr@_^V62LujD%3I1>GVe{;Z&^3 zon^JPqyy-M{8*LD`En)&buEFJ$uJ*1zk)s}CLSy`ufLG=Y&i_AKrp7T5&LaWT<_wf zGVsXnJo@rOKljUR=DgX+!G4=L6)&*?_w1)OTQPxads*LXvI9S{NJ?Yo!i1=C1+3D5 zG=|fGAF}H71o=y;3Anb}>*5yZs0Yt;jn>{#;>P#cv~C&h%{++oPvx!km{Ima8F2T0 z2l-6h7D;9w76Q|wK(YjoR#@4e8>nYDZ#)9jcxB*!a<5miP%1a`sDmk87A;Pz{e>yA zESp)`&Edu`U8n?E+8={yC@RNVEAQ9(xOfD{Au=dLVwOEan}aD*gsO|S{H79v=!EFs zvScQ)r4ffH{MYU{{;Z*DOH350$(hQSRt}sL&L~=}Ev&uwcQ8|x{H~T?Ql%ko$NDa+ z)8kU=Rb5VPHSk|8c}=Zji+{Un4YO_ir(EgDp}NsK4_g*9>1+%Cby^7R0#t;C53dcB z`-AkW()8N150!meZc2#A#zYB)&M!V*O0G-!1y!_bI7=ooHH5yHZ8UQg-`;!fDBG~8 zL!QWd@1QpIB3ZA(&f=R*6O9|edxBE%m*rGu6M1#hy8MeWj1L35sTf7$WjLef{oveF z-&;-ftn9`^wXy+pH5Qviv_@IhYvqDBTb6%Wc^8;$-ltd0s`^39DwmP?1H1pMw*KvK zvqW9iPvKU6ZHeEsUN021D9Zu!*@S}|wpYg|3syC0Uai~bb^NdEbeLQ7*Y0WRHR+G2 zU$UY!T=yTj%3{sfZ@WxsD!l}WqVVnCVnB)pYu;1KK$$~>yRXrtvPnKUT>`iUc@B0P6D<%tHG|92Z@laNh z6*T3m{M`aFgj+uSa*5n-5h{cdl!CJg-Z>dkzclkb9}NAG{J4LZZpVj-< z$Z+U{djx;nCxzee_eGP_b%jdX_u766p`-1?jjDq`C<}x&ogYwX9zikobvpPyT}*#i zQ-xj^`RuQo=+PFJ)ASIf7v{@7I%v>!AUSZYLO&klTGa18K}D;?Hfz)KCH~HFe9Ola zG8f_65RbkTAwFFUh{yu+w1@gE_at&$AtL(e(IEHH9xcKkfF8p64L(*MO6C|UI0Bv? z4Y)~DI2fojn*l2j6VtL*QAU>00G4WYN@7Bu;sH<*k(8(Z{t8k-OAxv2@D81)#xEIRDvG$6Q5PDAOG>jx4Ly{NC0uBs5yEg#ICXn^fkmH1SLXT$N z5B6BpH5J(pMMriBKv(7~JI)MXHEg(*AoHrE$EFCX5^(kA-B#Av73L&u*0WsAvveMJQD=KLQNC7xWfS;ORVCw+rIUv&}S=b2%m$I3lj%=`O69*<*M8*#sj|0oD zp$mFA&`ls8sw)mPWW!^wmmZWipo*HU0MplyN+2 znn_XJR$-$K`k4xqnfRzm1tIf$b|uv0KgG4QfZ9P25Gful4@jNb=FKiBWD+FJSc>eS zBkNd%Fwh=_)!zU~`?-h!b0!U?+5t&Q!kn@I?$r}8nKXn8MYVD?XN`*KoU}O<&OS5Y-r=z%YP-&=Qq(7=j3aqPpbXO++9+M^s; zw8f}T7l&QuMrapbak>>!kvj~t3uOvj#z$kRQLfS`d@m=YRW{P90j%P@{*V`P3;`pm z0eQlsX$RQUC;J+PnBK>pK?)e%Lrf8voEM*Rs9y50TLhPO18oFtJLpM2>aqOuKF^Z# z6`d=@4=js@iUML#e%APCP}5g1J!X-84NOZAOFN5m3Z=NUD5`Ke{b~akehlht8DowG zy~-9tn{7EBfaMVYL}T6M7>u>va05~*=JR4FY!jrlDmpA6_{cI<^XU4Xa(Ka?!yapy zmFvX8nk~T5t~?@ch#nPHG-?yy4kCt*7sP|so^4sxd-R)@->{ue;Ao7W|)Busj7L0~v~Lzc1i)28ZdEHtr4C9c+7Dahf(n zg#ytuRkZu;J>+ouj=Z)}w)Z6U&P(K0k^Qk#{ZXdfal1xcTjb$QOrOJ_0rurhSHi*> z)o1t7<3|d$=A`ZeNm>iHg_mm|EQ(G(I1T}rFK1)N=EgAdu2T@r7X0$`_bT;t!Kp>W zk%avhGw*?q)P3XsR%x2fLfRLQ*S=C;|0;O2^K(h5Q}vJJd(tl!epUBT zf3fPSV3-&}yck+C8@#-cacJj;luvvYW_VN&bbN?B(IqbUW%RSqz|uuqOh2Dn*t6?N ze7<3S_VCfqm15{;%^xcYl5H$>0$ECqtk*h6ZWb*u{d#79Y|4kLH&?YY-$YFM+s;MQ+4y*M04mymAVx`rE~?R2Pr8~=`Jkju3P3`spF#ict`-|-diRZ1aYV7e?cG1 zSn0lb~Lmgex%7lRKXO;-BJ-Wg*Qh7p@2#u&23#pq# zbsY~i+v6uu(&{+6Rm-f!_EWI@dJ?!se3k-07%dXJL6wQAa)!jyOkN!V6@&DVs}7hf zkzUktCm@_X#CPRQ800RKpjL7XOKgf?oAww^Voo!*qkc;(b_5uXdQ$5;C@-MB-#nyu z^YaoOfiD-%!0IBNQ{0V+SqH!KU{ug=8kWE4GeR6YkyuU<$VY4zQDn?Vbv%$<^#}VX zhzq70L&sIK4(Y<9cw)}&0W6etXNlO3(&5PJql+>J`h%>sb}u2wf(4Qe`9M@wzduU3 zre~y_?=G0FrW+j{RH_AeesZu-RosyYtxTb}|3ifHzEIvrNNZxSv0=pei2{o8PK%Uk zSK=BH(U(aZ$0IyX_iRSmwMP^ny5c}|7C?7{r06m+5y>DO4Mm%9Ajv?s#yh<3oAdFxyqE&=avYwe4YNJ^~51}!F}PP!Q8XL;atf@#jP5&U;at&#>rs5 z-n7z@`B#>EAu@AHfe++9Ed;MTRBFFdk(Rp}R?={O*#dLjX0m)VA6l167-O0L9NZnp zydKNwIG^_5Fl}}*fpf486g|^qgLmN1Jk)=L&>Sc>QXhY^mBFgXx}C$Co4@@z^Y5!D zaxOHBOF{qd?bMjGq4}L+IcwHEVw`)fn#Vw5)%$Q0B7e0q!T;&2CMc3^6E5i@mKF!W=)o&NSY2P1D1%F8&(rhVCtD|NVDIu5f_tUOv0gv$ z;C!IdD-o{$F_215edjz#$(ngH`(4`H@y>WZP+O&alR*Nu%@fx#d+U*IWH=&ZB zT$ZdDDShR*z4!BB1*vaeGQ~UKw4nkz>F6Z?Jv5Pxor;T zMVR%fB@%%ZZIDjSg@Lwp>&v0#-b48l);I&e>g(IQ5!gmoO*d2UJ>zG_W8L7+%Iud~W&_ z&q0X(>5Ufs+f9H2r?GOmyBwd499%o!G_fi|bh2=_)h%XTbn@~kIxpKv2|PSZdhJ+r%RYVE9E&+dEy5TpY^AEOoMUSnVd@ z`P2Eq;Ys{@e@nRm`W8)o-S#iW>`eSxpj<1|L72SQsFEp9+;I=*a8s2b1FC<&v-#G* z&sQ9+q4q_ujntUy9egB0Zv`$~aSFsi@s6pH=bNWFNrG6qU-$U&<(xV1nVOosSO;&x z0vh$LQoqKH(Ulj9J$%m57RmWESUW%}>f_y2a`)6=r;&MkJ8wPF%LOyK&1NXcMlOmm z{Eh&ZeUh4Wx$^~b>VawCf10oG-vswZBd%Z}@;)BIg+BfSCWR9ILG?x2g1|ga*`?{O zYaQB`*ZurzjHGe1&HDGlr=C&IS8yZTOsZ7p-i*I2kNPlU&dsi5kg}rX!s*(*68;H) z6x8Vd-+=AzK7dHBi`+vr*81F25E9u6-jc89yIK1Pq&3Xns?g!V^zE;Jq<_~Z zKX!uVdC$Ju^p^F1Q%P9I1ffkXZK=+Y%kBL~Uv_paF1bH-N`6%NsI~9#y}!fp$ct9N zQt2}DP3Zia)gQSKzDWafjFa7@S|#xnQ#2-6&97TV@Vv=Ux@Ad$SOn z$8ei4_c~GxAJQ{P6mKWAB75nH^MHiXYzK7Mzb$7pZ=dVBlNOyCR0bK%dv`Ful@ z0v^95wH1H9Pbyx!cX4ZM=0sy5gFUg5Ia10mPfm91>CUm6u>C<{Jd<4hLXFY!8y(3X z8Hbz~U)$b(WPkp5@j?A&40Gs^-L;5s*C;>e2R6mbD82iU5vOp(JqN?{XK-J4hls(R zd~tp2J4^%lLrPmaG4Vb%0p==0&Lz(OdHfic+79N=sda|G199R>Iv3@X0O9&ois8aF zM)h)EQvH-e(!_Q6=rWdPI2<+!b9c9HA~Qdp5dH${dV#b@!E8}ej?%CY>8~73=P+Xk zturMiR<@L2qV5NWLAWxLjWNpbmF+nwhfL1kCjXEy)Iu>_(b`<{Zb%cn!O_lIo%-St1t76Kj? z{CB5D0e|LqkPD;$-{GV-Zb~rY_=~*x5!07j<^F$sWq2R9@PD8dN}%K8PB`D9JSE5q z%k8@Sp+;TP4XC8~>6guR&osmtDegvh`loqb`h@2}cdp;QD5#ow#NzkFW!(HYX3_oh z^M(bhqp!iq-7`tgH?uxRxb3xNiqO++&_{Em+2~0r{*sH_KDC*f<Xs+qo|gU?O-ukY;knh`&~|Ly1+ zXc*8gsN{QU;-A^gWw~vvsAHNAdHrKuWx>cMJ5_ZNd^9b{=Mcb+5#Wrur>3_d_yejy z0+N;E*idWX;c*|9MP0MArd9Q`o6GWLv|bM$Qe9OdA15yC z@?aDO!GTpGJ!jw&8x!fXJ+P#}ZsZWOKzNg^$Q8_i)Xv022BfmFr6>d@$<7X}Zk4~y zbiD((`xQeo5hT$)3@8&%mqa3yT?60mM(*F!%hVT}s@^);fVdLb>YX#431DhU&8|

lkKuQ!+ABy85spyQa-B&K-gI`ahu6IJ?J-uz$m4_` zb$NS>pdkZjF))GG;()^P(uLLzpff`&@J1maE|l(VdDKC2W{3@0JOsLiPR84&c^Qi( zaXYm+OwrP9u0iGr3Rl&O)inx`HKc+spr4SNO2if({mR{tT`g1pY6%0-Jb;MF=S}kk zB46JijW*_*sS@lW2;vAJM|UKV3W`&3v^AvyQy&F~alXDcKc4t{%7Ats%`vqJ;SXZl z0}6f!XZ&DPn0kflSvT_mDn>Ucr|ueGC-L;%jQAu^Haoq+a?^I_KKO?#cfKf8>m12D zr?`BVtNO6|3->Zq8H+BE7V2YK?FZG{K+Nt~v{EzSq&iYK!m(>KRtLpp3P0yOSY z0c@mzZ?KCV^p{HdAaM^Re2crvPXCV^nTI{Tm8J&F)>MhJw~3xxf^?^gqepN#!EL9K zQfehWU%fP$hu`PTmOWM$>p~_>4N@)Q-o=Y#ZRiNxTd5yknKof^NxKAFed-~z5C0V0 z;-;i>sq)GFzgtB}l^9!pQp~$>x+jkUL|roSe$)I(4dpdKW@@>bRY`n#$ND8zxi`67 zLSsj!A#=~Uarfm^KdG}YBM@fZN*(r5Z7WK(tW(?dDdH*p{Dsfjk1s`Eo{BKMV3NxC zwN?KWoN?lqOLF}$d%;-LUr^mmH#GG`U8=eCjMcF|eXiDb-qh9&`itqT1^w1m2dvS-%oYJR9t%P7TG&V1rcDv*is&TBw8zj!syT)pzdxaNFoxXgKrzo?T&e%9DLKUsqwf!jIMw z=}mv}p-bHR#+rxt8eZl(*^9^PfowtC%lBBtI?LH+kUa$MxU<1Mso<|I;T%h?V+rA+ z4a5%^cl$Ri+a8?y=Xw{-FF)XJ#WvH)xydfJ>$u+H8t|ZtiKSR}*8Nb$#8#*FI=ne< zy--Svl63gu3wS)=i$8x@tz-V#zz2ik8EU3`&KL7!e|#c#~lBa7I+kwKmcNK0I)75J8Ofy9ee`2AlA02#j-7 z>#HBT$0=Lauv=41Hbg6DqbFPcP!hEDxB3kFu#^mcDHolObDZ0GU5uYoh!ZK0u%S;; zHJOXU6gha~Y6{K0nPBHa>UxSodmNeS4}sbtG8F!AA0Jrqq5}XIL>x#KUlPhiH{jz+ z5O5j%Tw&JAX@Tkh*OO42gp!B##rIRQ>RAj8jjaa6sEY=SiJij zmLgx2x@)7FNFa)9c#1igjz{r6;pLyOl;Z7iAjj|&=}9Y=mx(&d)fxn+)xgS2EDk%u zwGV`#(Ke5qGk=k?iqNqacUeBY6lWk-@x~+oo7U!{%Hw(2zNM9`e6qPgChD2giB@Az zydz*qHdRh&SZStXcSUsFSkGU@sk874*U5&cnt;$JFwtvv+VH&$*&cuvJ0$v&Wbh84 zQqmBant@w_@&T^griXl|F&T=^rjF4NKal3XUV|UolGXc#(92RjQx`2LmJuP+SUw?_ zLn2cq)erYd&nK#<9~Qja-y%c43E#_P7*toqL7~LJ`}NrlQSf&F8Ys=QaYEfOknLXC zUAGf^$*Y}*f$p@MSEWR$_^}nc%Isq4I$afrWsJ|XzXe?%y@u(q#}jUoe%w67y(oczGpn!FyNuI2caXxq&9Hfk3ceDAQMGK#?iya+-cI`hf^*Os zYVQF+I<2dAi#D!oN+jr@LzSP}7!p=woZO!j9UyU8z?VN5ivy_%BWR6ToIaEHgE(VW zYH8ziBBs~lyjV@_89PckMOdg*ijx>QLGlg)AY~tez-S$LeWW291r=VKH%iv3dti8c zYIbpTW9Q)HtD=I2zPf8X4;MlqRYlx1Q&cU1DyCZk=j0x(dN$A!zugHHr%$>4FT4-0cE6}3ppVp)6YGVg8k6aCXq{PbFacJs}*rreMOHwSx# z=}LdT59wUj!n^M8c0;lRua_E!1>khlMdUQP^UpR7;u{mAYUb&x480~2t)TF#BEvjw z^EUY;xwVo?aVOI(3bHc#SY+H2`)G@N%gjs1_t8{hxw+OtcH?)ZTEr=rT5a_!G%RH} ztN3P_B4>upzF>)#M}n*h2=+m}xX+1DcV zezXd^FcS%oA0Y*ge!T_HSiW<8oW!pX6g?NT9;84Sx53HJ9n}##mmEUjs5lePmu<5V zvfl(9_FopSat@HnZJ)4{^ZigDMtMOrgG>3m7CZ5(s}uBafLy47Ht?Dcsv+#kY4 ziDlV$HsS`UAgr~-gh9J2tt|wqCK> z(euymw+yp-wVJz89MsJSF4eUyjSKEzTc`}2p4ZTgaOjgy4S4G|NQO2rH11zCHaCcG zHI^M9o>Dz*xpN@Vewm%zA3|*rlYHq=$RCw-Z%QM}(=~FvnzHM`*;2u~Vry@Sywe|r zPR11O-u~qchAC%*f51gwtMA|mSV4v@zF1aW!wXfD7n*Ke&=LmoR2F%vF7eus)$#7hRpCXJbA`=Ju zrp$M4TTa@(_elTJLAB*2n2TqhP`Ii(8`JCSj1Uoi*F7gJyw(8`LScXKdMEhkZgbB& zvCY!{?5IC%(CdC(9jx{~;_|%t2KU+xb|CX&UPzmy1~(|j!(fla@V^09*XP|7k)(yx zTOSex-ky`|+za^ob=Se|`|p(azbE(zpMbV+1>6zsag9l9J}(QGdyKOgUx$%B8qwnX zHhcd)Wp4T-wsT{5VLr|wZ<5>8f+>6f1pDFR!SH1S{2+6VlHEy^B`=#NhCth^zhD-x zc){~beJ3x!Os`J zDfieD|_HQhmOk2Ao}J)@2cYXZ^X*VnEi$OSe|lZQLc{Q|bua6uF+) z*n+iJWlsjp3^cZ0A$+Wu)7*D zjDJL7HwVqasK3^^PJ8Lzw#S0Io>FPRNV9YM^tR&P4}_cHCD;b{!uu;OGk;jG^W&v5 zSw+Pi2d>;_5t!JOd=mLibL;ZEw1=@5fbVmB9&guBTc1`YST-b@N?!|pf1yu+W6eJH zDI?=gHQ-@=Xlmv=kPp4RxP)XW% zr;Yc8`}BcJ{U~+!N)&CN&jTooY_%8&GvTQMZM$vVc}0HY1z$ON;J@IZl^(8OX#*F3rx>x_YAJ@rF&>qiep zn+Ig2VLm^|wWg=WoX%BxD+*6g`z-WEr?$37eSNkD?K^CMGfZ6B=u}3*TQN(4xJ2pa z4FR6Hq&dkObYvs|>hFg|I+I#i28q19aCu;y9I~!jk7me>qEzexvCFeT_({zpL^K%D z0RYlwXJ~#*8^=x6XAd8w>|$=-`S>bsy7Git(fV)ajk;eA*I`$z{t!i}EhXwdZtRya z@3la*v6&CFg?lc#bmf+18#|Fl#mW9^QS{<5q$>2u$qz~}%I3uTdKZKYPgLe-Aau8i z0Wa?vsVQ7^ie3uC7~Zw*fjiJ-WLFGjI|P_66WuSHUsOtvN#Hmf=*pvFy+i5i2OnE3 z2*I;=(hJ7(x#Ay?0oaZ6h-f5G2<~yzgEHkQ%iLzWA6H2NW|hb{uuHE!*vWYWcN6F{ z2^)8$?V03LKth4+0EnnWhf0kGC31%^`srsmNv=<{rPS=s!POuU^VMofR02y_)>VXzB`O9zz#bHWMxm6RPr z0EZDt-ft+|8tFaS`u@J&WvJ%xmJUlZ36Y;?jbS&z-|HojaaBjnTG`X69 z)$XrQpZtmb@T@Tk3y|Z`JIz?Kukl|Rl!mP}krSx_qQR_9n?PJ&mCf&Gd3yK6=z6p@ zA}NzxD7LVq^ycrme@Rwr4P@6qbn5f-Xfs-SW`N@vi_=x97BgbM$cfIMi$&3)uq%^} zr6k+oq+~LOwBIk|>N@ReOA0!=*vQ|p!LKNK4m6h*dBqc<3ZbvE-qw zlidBCn8Tfz-`!jip`~*}F1_WXdA26l45c*#gz-H$rU%2v@?&Bxd|cOZLn)2Kqb84d zQeWn1>07H}NAtVDE()+~_A$cVGi(o&HT4sl_4^G6r*y!vGNJ)(%x3EyxAE~h)c4mKt!bWUdr3$G9a@nQjK`G>0WiLTP0GIy+mPU z7$wZ6wK!)~YRhE*W$U}f_vyox8E*s(l9iUvw!6X&s&%E;_~P-#y!{r}#&Z%<`4rM- zJmt&e8cH>qT^=${E3`0kF&Pw0>#D9K@Egv^NqoXEZaJb-YPDf1id*{eP?^RJ*?wMM zIHHHDD3Dm9<_j+N!#T5Hz4mm?Bes<1o!eYpwYK>6HDTVFTV~OdUD~M*#!gr$Q?eO0 z*_e^_zi5kezEFWg>+&S76R1A5rJURL^?$B7IyakHoRz+Qg13tss{akkC^vqNhX;C# z_vYLAIi|BRBrlI4!}U8wAYS<9R~_tS+Fx@<0fb|xOX<%se3()@vJi@5~xTR;EL^i{#1PsI10)@_K_$8S!_f-5}e(C z#HI!FGKCgb!Oc|h0NZ@N{{$>A-Fz7;0XZsY1(v0S^zTz)KS>Zdt()!`%0 zEKc8f1}?(DEyvxNy6@H6f|i*U001;v{YfLQLenw#=~$juKZp8FU#nFW^}Kx6WT@&s zP``RWJ6HKoB>bdiQemZ5c71*xvxCZ~%319%!5{~tkg*s95r8jyQ4s(znh9ct0a7u@ zqoPa7OyJoaPJ~$T%=HsC@fl8ubCZ)%VDD$M=A>sk3vd!?-Q98`x(+OT_rA>h(Be2F zny`>xUDV%AXLoZ%IK7PS<3;Mt<{F#%MAijBWR{m}As36lV~FuoXYw~swO2Rx4@ISI zkk$2h0re9GHAUm;8)hQM5d>t%*2o~x9-lem06ICd-A*hnt|7F!WBAcbpU<8mPM>{s zCroscK28=s4$j}5l43}$eoC9!&CAqkQRSu!fQst=bHqO4>E6Ipz75{}uy_~b5gRzu zzk#+ckr>~X^@FlY3&yhZnGyc+k{TqXI}DtLI!TNY*j!!v%bxi<_AY!74?t!w=rfI` z?W?BCw1=5t`YKRwr==!VrAA{vCt3&v3U*(Gz)=Y&?N4$@ebMv0GIVCA4jfV4EyQlk zChwPPw1eG&0X+f?qO%5grY~_po!v@ZlTBe!tSmfCvl}1sZp{HraGQaMdAG^W2Qf{G4kudD9 zbtvIv$2_e-nCFY$*-tS^+)#Yffn(be#|bFm*7Kxv=^C(ZjLu+KsJheW}ZQT zid?VFLhjMs=M!JsANnbr%icoVup^uDSMkd}H(~s{8F$Jk9ZGBZkU}m+j;8Q_$pF8L zIE<6dLXBJ(^Wl0o%MDSNWIttEbheS)tDKAqbKI9!8@ndP`MX?Yrz%3oo(X5Y2WA$} zK1rQKJK|n4OU!8KE$Blj%}R2ut>h;TTH0HPk9od2p>L|N*qVNOxo5UrTY{# zWVMRmG_7(`*Xl(E#=Y%*Ez-ky+re0Dmn$ZaD*Kp@!<2yu6JjXM6U0HVsOsdMbqYFL zudl$1w8(?1xvo05gC@oSd5kS6;XgCH%R!NJxJv{abA}pW47H|B3}PHlXW)H?%ItQs z#nD#pQ*tm`U1JpyGG>N*@Y-X^v{x^JxV#(Iq*%`y%`#&e>$F{`l9-1cC3 zRU?Ln-aEUU$EPnFgN_~Yzc&Qh-UK!p@ARexHPkG1^!jP7#=IRn#gB&|&}YW1Q3gEh z9S4-&B+7Eqe;7q`#3(VD^|@%w=0gtXqUrW%w~qo|Fw|oQ<2Y~6_GRAmCn}TF^bK<> zD$t|~g#yZ&9ott}mdY`Jcm6EdZI0zDz4XuXVNCnk0tEp>MI;=|B)S>19t~k&(8IK} z>&R)*LmwNSP?6FzW5BFE-QlNMY4qiP1TIcZ_9<(nrAVOD;rNmi+wz2CDfr{i`s@o@ z=7i2*{8l2Q3)os{=uckQ>%1zeKFd=TO*bKosfvGQ9WMz>YuoSwQi~aqKfE_rY5V?j z>}z+-a82Ev<-LB)9BnU9PH=hjO(`Rk?KR($`mH0j=L4O`ktSTP{4?^8nT=vIQ?D`m zPIewxk6%dtH2pB3JMPTT6bl{%wp6^*`)`4u&%4$ein6;^lxr#bL>@huJ)mktpv9h~ zkk&_Iw2T*a6eSVmK&u5|#Jaws#iaP}Gq$lP7aF=7E?*1oPSEuk>`L2YohT~AE`-qM zAIC0m%%{SewC9DFPF$}ijTc?6Ecnj7Es=B8$Ed`xz**^q34zQ#&@KS!Z8MbiACOo~ z$)F-{!yI4dxQHZC^>Q7C5n}6pL`tUH{wbuKCj1&KoMKyxNm`BPxqIcB;yqxGPf%4} zRc*YNW6*&tI2&z};4%hwnJ{^Dr%11xf+<(@~}AME;w9__N=_C>5Otzc-9JIsIb^bayZewxH z$)D3^Jbg-Y;WR(iP;`Rs%A?c2Esf~;WSGe&uPLsvKY_^U*EZha-I4pbWJz;;qwG1xVF<?@$Q1J34q znccS6ey|T}+UkXSUFZqjZn z(RDiU2*dtiebqUF7DXJ}L2;aFfo5q`1lM?e_SC%zH@EvHLuE>kWZRV)vpEGN z!)f~?yUQSfD|eySLHVt@lNGz&wy~9_bcv?iP;@dV3AJQbpg=U0KF!W#BHD>>_kyBhh2prL`}uFMInFn`eT;`N9Xkfno1Rzb%0`a{S0)81 zT6a17mqvwgec7v6Q9%mf6UQ>ULGf90((;nAQ9b<(A}yG|5-yN95bZk`e;zQzxR}&r zHc^k!2qtH+@cj4CQ5NieWHCUCH7tGD}DkcFSu}cGtx9n2wDe4D6EG z^N}&C~f(oUBNxPXHqA8jJvFfa{1fChz zXX+(J%m_?3ghd;}6R!=Op)(mjnhw6@%V}E{#Z9?(1D?gZCr#ic7e0>xR2iINv@<|t zyy1K@&5Gu(L;%VWrh|nd@bG&83kIJ(O|L!jH5SCsak|1MLYkPq1nda`CajAFW0@d3 zF?77Njxat3j_{a@;~0*GpeaC4EH=~5FkJTK{|vUs&oMXL+==>bV5^_ zN>iF(LJht57Mc|4AWhWJn+Pf(ASxgV2rBvq1T0+c%$m7(=Hq;rv-ZdH;XP~bwa$9q z{XEZ)c0OzrBsN^~!-O3dfYC>Rfra_2790^oR`(^dj)e1DfC0v*inDqb@{oZ2(5z7^E|^yH*c(#F zrtMj|U~{|dP}}M1_MJo~3(R<+>Ie|>OF6D-i>p25miLwTZF`+^kZk6$8K*u&3p$}z zR-rrn?o}vo%JX#gE>ZMf^V!redqqWn``EuHDP2Ak5bffPXNs_;@t~6Vh)J3xxBWM+ zaQ&Qs+OywjTJ&)oV11_l*p97D#D$^G|Z_P)VH1>f-6xJtSf13Zw4m5|N2ig@MY;FsV_U5nSnfVg#* zrmxM#WGg$fh+h41W_H=SP#>Sr!E`9-C2kgOZ2dq!?~+q3*7?L(1+AxQsAY^k?lo}u z_mTsmt8EW7jCVkh1^1uV3V$+uUY+Ze{gYr^lDw1pTl!;kk1%-NyYIZ&v@Ch6NbXVp zVWyr0W@}Qck{I-9jYu0pZ##{cKBq%H3a~0){i7#c6r7Mu6xKXmU6HA5Lv2zk%d@6F z@X~%sk)43ZQg!QV2p8ftPdj;F8s72`POhBE2~hsq#A45W7~O76)vR~gdvKZKG(E7b(l4?1Xe>md7A~nhoy^+-qNuOC)rZUZ_`Wq!w z;=BxV&-&hb-7X4t_ z?+8SFsuWH(9IIsf6{WWE(T{c|eZy|v3^q_v@ZRpnm8xuQz4EI}~fGJRS* zXWM@QF0mXR`HuGI8{Z4;IYp8Mx(nw!B6ZRjvfpTIIb3KAEF`rEaeZY>Gd0sBK^PA? zP-j>!T^&sx*#VNj>;<9aDHAqo$EC0428}*L16X;5WD^{V)oNGQ_kWvV)~f$rmw%ec zZ+XW{u9s4K{L+FN%5;xca5in~ie-#jTlGL(0|ULzH-dZgW+hz>(lk!~n!vrIa)TRH zER6PYC=Y2r&bMLX^`FDO!sT=^FIE&e{bdPx(S=v#+n9Im*}9!g7eBVyROiF z{!vPVW|;^8$Tbiu3j^VS7x%x&*<yHHI}~KQ+Lbauim@WUsj=K znR1J{iBWu!W{AJq7A;qw#i72-LEN9prsk!`N3&s!JeolIiecV<{e|qRS9g9D{&PO- z6VGm0Vr;dSY>H1ZQP4)$2r@QATO`P*=BVUvr;2=ou~3lWKK$(~mvs)=s@ROZ6{a0j zrcW#bU4rf7Gp{R_)Y4lBT`On49~qOXSQ6fLGl(F$@IJjjg;;5A^Y-M;httK9X#U@- z8Pk^58!o4i9VxG`Z3z#l-5q(2F#;1+ieEh9-=$yKHJ^;KI-rgHGr4VO6My>e6ny9O zzYIvY7z4ZjBiw26L+5Y*>B3<4!+v^dXJqW*I{lq0iBDhTPW`BtRkN;wshZp3<8PA= zC9iyxY`$!wE)x*@dqWs`AZ*k?Z4OAkXh%zHIyf>B$z!wfV=X2kpbi6&=kG zinM8;>tHfWFh$-FQd!uXTD!AzHE&U1;ZOTE~erU=_&%F zh8Z+f<=*>@`h{S`8rviR#ZE32{?Rq*T`?P=&0M1`p-vrL(|6<1b3W4@)l}EJ5(lJ1AzF|O zAaVs>IjN~};3QJab0i9xmHBr~o_NBpi%P?}QAsK=i4~eXI)Ehr#Jr>k;7EutP%l+b zy5BHmp2m7xzt^`yWM5x>Z)&y>qp5Dx?uYq%P8auX3k@t_MzR-$0FC>qGeGJv2-Gi3 zLSabO>%ah%6}{aR(xBQL1g&+031ERmED&u0!k!s&qKSse4I0MVx;Hku-D57sstpEj z^EEb&L4F#x^O%5%U@$IY*ryFtiKNAxC#RR}C2`WKkPw-LeNfOqli5m*$r3bYxU#2M zp_=0UG#dqC#~A}~qL~Q@4F||PL}MI9e7@JxxJB4l*C?!9bo2S_s=}4c;)u&2u;C2j zF?-fYsj(oB!CJ?2B&ff}Y@o&jBA2<1Gx;lvqz~7<5(fRQP2x2I(UVES%S3!2iJi(+ zLlHXci&-hD35=x$6zI1MN1h7Q@a4i^42lPW!c{Jx)lA&qn5IQ{O~TgXpv0%W>eNfx1mMW{(U)0xl25 z^|XL#V1Y3NqhXV_soPV@`CRHRbQ<&~6rO`0UvYkT?LhT>qHUC`tBEkOF

Sn$+0W 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 diff --git a/docs/guide/watching.md b/docs/guide/watching.md index cfa5c08..f6824b9 100644 --- a/docs/guide/watching.md +++ b/docs/guide/watching.md @@ -7,10 +7,6 @@ The panel reads an agent node through `toon` on your machine's `PATH`. Reading t of an Install, inside the connector's zone, is not designed yet ([ADR 0003](../adr/0003-the-agent-holds-no-key-that-pays.md)). -

- The turtle in the Omarchy bar has a dot, and the panel opens to show what the agent did -

- ## Install You need Omarchy 4.0.4, a running agent node with `toon` on your `PATH` (`toon up`), and From 82a7306d1f48affd88ec7c8041cf368f45b3f843 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 09:22:32 -0400 Subject: [PATCH 14/22] A session opens on the turtle, not on docker-agent's banner (#57) The definition's welcome message is drawing 1 of TurtleIcon.qml, which docker-agent shows where its own banner would be, and the launcher names the chat spaceturtle. Co-Authored-By: Claude Opus 5.5 --- agent/spaceturtle.yaml | 22 ++++++++++++++++++++++ spaceturtle | 3 ++- tests/run | 8 ++++++-- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/agent/spaceturtle.yaml b/agent/spaceturtle.yaml index 55112a3..ae9340d 100644 --- a/agent/spaceturtle.yaml +++ b/agent/spaceturtle.yaml @@ -6,6 +6,28 @@ version: "16" agents: spaceturtle: description: An agent that lives on the TOON network, runs a relay and tells its Observer what it did. + # What a session opens on, in place of docker-agent's own banner: drawing 1 of + # TurtleIcon.qml, two blocks to a square. tests/run holds the two to each other. + welcome_message: | + ``` + ████████ + ████████████ + ████████████ + ████████ + ██████ ████████████ ██████ + ████████████████████████████████ + ████ ████████████████████ ████ + ██ ██████ ████ ██████ ██ + ████████████████████ + ██ ████ ████ ██ + ████████████████████ + ██████ ████ ██████ + ████████████████████████ + ██████ ████████████ ██████ + ████ ████████ ████ + ████ + ``` + **spaceturtle**: your agent on the TOON network. instruction: | You are spaceturtle, an agent on the TOON network. You hold no key that pays. Your Observer is a human who can watch you and ask you for things. Keep notes in diff --git a/spaceturtle b/spaceturtle index 2c7da16..f3706bf 100755 --- a/spaceturtle +++ b/spaceturtle @@ -551,10 +551,11 @@ session() { # exported by the shell itself, in a subshell that becomes msb. # The agent key's path, not the key, goes in the environment; the file is in the agent's zone. # The agent's zone is its sandbox already, so docker-agent is told not to make another. + # The chat names spaceturtle; the definition's welcome message stands where docker-agent's banner would. ( export "$key_var=$(<"$key_file")" "TOON_AGENT_KEY=${agent_key_path/\$HOME//home/agent}" exec "$msb" exec --quiet "${attach[@]}" -e "$key_var" -e TOON_AGENT_KEY \ - "$agent_zone" -- docker-agent run --sandbox=false --model "$model" "${run[@]}" + "$agent_zone" -- docker-agent run --sandbox=false --app-name spaceturtle --model "$model" "${run[@]}" ) 9>&- } diff --git a/tests/run b/tests/run index 20482e6..b9b5f42 100755 --- a/tests/run +++ b/tests/run @@ -1266,8 +1266,12 @@ GUEST_DEF=/home/agent/session/spaceturtle.yaml BASE_WALL="allow@dns,allow@host:tcp:7123,allow@host:tcp:7124"; SKILL_WALL="allow@api.github.com:tcp:443,allow@codeload.github.com:tcp:443" session_env; run_cmd session; rc=$? run=$(session_run) -[[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --model anthropic/claude-sonnet-5-5 $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" +[[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" launcher_check "a session runs docker-agent in the agent's zone, on the definition as shipped" $? +# The first drawing of TurtleIcon.qml, two blocks to a square, is the picture in the welcome message. +turtle=$(awk '/^ *\[ *"/ {on=1} on {gsub(/[^.#]/, ""); gsub(/#/, "██"); gsub(/\./, " "); sub(/ +$/, ""); print; if (++n == 16) exit}' "$root/TurtleIcon.qml") +[[ -n $turtle && $(yq '.agents.spaceturtle.welcome_message' "$root/agent/spaceturtle.yaml") == '```'$'\n'"$turtle"$'\n''```'$'\n'* ]] +launcher_check "a session opens on the turtle of the icon, not on docker-agent's banner" $? [[ $(<"$STUB_DIR/agent-wall") == "$BASE_WALL,allow@api.anthropic.com:tcp:443,$SKILL_WALL" ]] launcher_check "the agent's zone reaches name resolution, the two ports, the provider's host and the skills' hosts, and nothing else" $? ! grep -q secret-key-123 "$STUB_DIR/calls"; launcher_check "the model key is not an argument" $? @@ -1306,7 +1310,7 @@ session_env; echo "https://connector.example.test/ilp" > "$STUB_DIR/connector-ur session_env; echo "http://abcdef.anyone/ilp" > "$STUB_DIR/connector-url"; run_cmd session; rc=$? [[ $rc -eq 0 ]] && ! grep -qE '^create |^remove ' "$STUB_DIR/calls"; launcher_check "a connector that is not reached over https adds no rule" $? session_env; run_cmd session --unattended; rc=$? -[[ $rc -eq 0 && $(session_run) == "exec --quiet --no-stdin -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --model anthropic/claude-sonnet-5-5 --exec --yolo $GUEST_DEF "* ]] +[[ $rc -eq 0 && $(session_run) == "exec --quiet --no-stdin -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 --exec --yolo $GUEST_DEF "* ]] launcher_check "an unattended session runs without a terminal and without asking" $? [[ $(tail -2 "$(sdef)") == $'budget:\n max_cost: 1' ]] && cmp -s <(head -n -2 "$(sdef)") "$root/agent/spaceturtle.yaml"; launcher_check "an unattended session has a cost ceiling by default, as the definition's budget" $? run_cmd set ceiling 0.25; : > "$STUB_DIR/calls"; run_cmd session --unattended From 5cbc1e669ace26151419877477beea2bc97222a8 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 09:28:52 -0400 Subject: [PATCH 15/22] A session opens on the README's banner, moving while it starts (#57) The launcher draws the banner's turtle and stars in the terminal for the two and a half seconds a session takes to start, and the definition's welcome message is a still of it, in place of the icon. SPACETURTLE_BANNER=off starts a session without it. Co-Authored-By: Claude Opus 5.5 --- agent/spaceturtle.yaml | 33 ++++++++--------- spaceturtle | 83 ++++++++++++++++++++++++++++++++++++++++-- tests/run | 19 ++++++++-- 3 files changed, 110 insertions(+), 25 deletions(-) diff --git a/agent/spaceturtle.yaml b/agent/spaceturtle.yaml index ae9340d..172fea0 100644 --- a/agent/spaceturtle.yaml +++ b/agent/spaceturtle.yaml @@ -6,26 +6,23 @@ version: "16" agents: spaceturtle: description: An agent that lives on the TOON network, runs a relay and tells its Observer what it did. - # What a session opens on, in place of docker-agent's own banner: drawing 1 of - # TurtleIcon.qml, two blocks to a square. tests/run holds the two to each other. + # What a session opens on, in place of docker-agent's own banner: the middle of + # docs/assets/spaceturtle-banner-dark.svg, two squares to a character. tests/run holds + # the two to each other. The launcher shows the picture moving while a session starts. welcome_message: | ``` - ████████ - ████████████ - ████████████ - ████████ - ██████ ████████████ ██████ - ████████████████████████████████ - ████ ████████████████████ ████ - ██ ██████ ████ ██████ ██ - ████████████████████ - ██ ████ ████ ██ - ████████████████████ - ██████ ████ ██████ - ████████████████████████ - ██████ ████████████ ██████ - ████ ████████ ████ - ████ + ▄ ▄ + ▄ ▀▀▀ + ▄▄ ▀██▄ ▀ ▀▀ + ▀██▄▄▄▄▄▄██ ▄▄ + ▄ ▄███▄████▄ ▄▄ + ▄ ▄███▄█▀█▄███████ ▀▀ + ▀███▀█▄█▀███████ + ▄ ▀███▀████▀ ▀▀ + ▄██▀▀▀▀▀▀██ ▀▀▄ + ▀▀ ▄██▀ + + ▀▀ ``` **spaceturtle**: your agent on the TOON network. instruction: | diff --git a/spaceturtle b/spaceturtle index f3706bf..83db52a 100755 --- a/spaceturtle +++ b/spaceturtle @@ -148,6 +148,7 @@ # to the relay TOON app's connector (default: 47100). It is the # zone's from when it is made, and kept in the settings from then # SPACETURTLE_SUPERVISOR_WAIT how many seconds `start` waits for the supervisor (default: 180) +# SPACETURTLE_BANNER `off` starts a session without the moving banner (default: on) # SPACETURTLE_SYSTEMCTL the systemctl program (default: systemctl) # SPACETURTLE_UNIT_DIR where the timer's units are written (default: ~/.config/systemd/user) set -uo pipefail @@ -199,8 +200,9 @@ unit_dir=${SPACETURTLE_UNIT_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user} unit_path=/usr/local/bin:/usr/bin:/bin case :$unit_path: in *":$(dirname "$(command -v jq 2>/dev/null || echo /usr/bin/jq)"):"*) ;; *) unit_path=$(dirname "$(command -v jq)"):$unit_path ;; esac -die() { echo "spaceturtle: $*" >&2; exit 1; } -say() { echo "spaceturtle: $*"; } +# A message would be lost on the banner's screen, so the banner ends first. +die() { stop_banner; echo "spaceturtle: $*" >&2; exit 1; } +say() { stop_banner; echo "spaceturtle: $*"; } done_() { [[ -e $marks/$1 ]]; } mark() { mkdir -p "$marks" && : > "$marks/$1"; } @@ -514,6 +516,79 @@ rewall_agent_zone() { # the wall wanted key= } +# --- the banner: the README's picture, moving in the terminal while a session starts --- +# The squares of docs/assets/spaceturtle-banner-dark.svg: the far stars, the near stars and the +# turtle's two strokes, each as x,y,width. tests/run holds this list to the picture. +banner_data() { + cat <<'DATA' +far 82,4,1 101,20,1 12,2,1 24,11,1 14,16,1 54,1,1 22,13,1 107,2,1 61,2,1 108,1,1 31,7,1 15,18,1 101,1,1 56,1,1 34,9,1 107,4,1 30,18,1 78,17,1 46,3,1 48,11,1 24,17,1 16,18,1 15,19,1 52,15,1 109,10,1 119,18,1 +near 116,11,2 76,7,2 46,22,2 62,2,2 76,16,2 126,10,2 114,9,2 18,3,2 107,5,2 87,4,2 125,13,2 10,21,2 19,17,2 80,10,2 +a 64,4,3 57,5,2 65,5,3 57,6,3 66,6,2 58,7,10 59,8,3 63,8,4 58,9,10 69,9,2 57,10,3 61,10,3 65,10,7 56,11,6 63,11,9 56,12,6 63,12,9 57,13,3 61,13,3 65,13,7 58,14,10 69,14,2 59,15,3 63,15,4 58,16,10 57,17,3 66,17,2 57,18,2 65,18,3 64,19,3 +b 62,4,3 63,5,3 57,6,2 65,6,2 58,7,9 59,8,3 63,8,4 58,9,10 69,9,2 57,10,3 61,10,3 65,10,7 56,11,6 63,11,9 56,12,6 63,12,9 57,13,3 61,13,3 65,13,7 58,14,10 69,14,2 59,15,3 63,15,4 58,16,9 57,17,2 65,17,2 63,18,3 62,19,3 +DATA +} + +# Two squares to a character, on a screen of its own that is given back when the banner ends. +# The turtle takes the terminal's own colour, so it shows on a light one as on a dark one. +banner_pid= +start_banner() { + local rows cols + [[ ${SPACETURTLE_BANNER:-on} != off && -t 0 && -t 1 && -w /dev/tty ]] || return 0 + read -r rows cols < <(stty size 2>/dev/null) + [[ ${rows:-} =~ ^[0-9]+$ && ${cols:-} =~ ^[0-9]+$ ]] && (( rows >= 14 && cols >= 40 )) || return 0 + printf '\033[?1049h\033[?25l\033[2J' > /dev/tty + banner_data | awk -v rows="$rows" -v cols="$cols" ' +function px(x, y) { + if (fr ? ((x, y) in tb) : ((x, y) in ta)) return 1 + if (((x + no) % 128, y) in near) return 2 + if (((x + fo) % 128, y) in far) return 3 + return 0 +} +{ for (i = 2; i <= NF; i++) { split($i, q, ","); for (j = 0; j < q[3]; j++) { + if ($1 == "far") far[(q[1] + j) % 128, q[2]]; else if ($1 == "near") near[(q[1] + j) % 128, q[2]] + else if ($1 == "a") ta[q[1] + j, q[2]]; else tb[q[1] + j, q[2]] } } } +END { + fg[1] = "\033[39m"; fg[2] = "\033[38;2;170;182;224m"; fg[3] = "\033[38;2;86;98;143m" + bg[2] = "\033[48;2;170;182;224m"; bg[3] = "\033[48;2;86;98;143m" + w = cols < 128 ? cols : 128; x0 = int((128 - w) / 2); left = int((cols - w) / 2) + 1; top = int((rows - 14) / 2) + 1 + note = "spaceturtle is starting a session" + out = sprintf("\033[%d;%dH\033[2m%s\033[0m", top + 13, int((cols - length(note)) / 2) + 1, note) + for (t = 0; ; t++) { + fo = int(t * 128 / 360); no = int(t * 128 / 160); fr = int(t / 4.5) % 2 + for (r = 0; r < 12; r++) { + out = out sprintf("\033[%d;%dH", top + r, left) + for (c = 0; c < w; c++) { + u = px(x0 + c, 2 * r); d = px(x0 + c, 2 * r + 1) + if (!u && !d) out = out " " + else if (u == d) out = out fg[u] "█" + else if (!d) out = out fg[u] "▀" + else if (!u) out = out fg[d] "▄" + else if (d == 1) out = out fg[1] bg[u] "▄\033[49m" + else out = out fg[u] bg[d] "▀\033[49m" + } + out = out "\033[0m" + } + printf "%s", out; fflush(); out = "" + system("sleep 0.1") + } +} +' > /dev/tty 2>/dev/null 9>&- & + banner_pid=$! + banner_until=$(( $(date +%s%N) / 1000000 + 2500 )) +} +# The zone starts in less time than a stroke of the flippers takes, so the banner is given +# two and a half seconds from when it began. +hold_banner() { + [[ -n ${banner_pid:-} ]] || return 0 + while (( $(date +%s%N) / 1000000 < banner_until )); do sleep 0.1; done +} +stop_banner() { + [[ -n ${banner_pid:-} ]] || return 0 + kill "$banner_pid" 2>/dev/null; wait "$banner_pid" 2>/dev/null + banner_pid= + printf '\033[?25h\033[?1049l' > /dev/tty +} + session() { local unattended=0 case ${1:-} in @@ -535,7 +610,8 @@ session() { write_session_def "$unattended" wall=$(agent_wall) || exit 1 # No program in a zone is given the lock (9>&-), so it is free once this launcher ends. - trap '"$msb" stop --quiet --timeout 60 "$agent_zone" >/dev/null 2>&1 9>&-' EXIT + trap 'stop_banner; "$msb" stop --quiet --timeout 60 "$agent_zone" >/dev/null 2>&1 9>&-' EXIT + (( unattended )) || start_banner if [[ $(agent_zone_wall) != "$wall" ]]; then rewall_agent_zone "$wall" 9>&- elif [[ $state == stopped ]]; then "$msb" start --quiet "$agent_zone" 9>&- || die "the agent's zone could not be started" fi @@ -547,6 +623,7 @@ session() { attach=(--no-stdin) run=(--exec --yolo "$def" "Begin a session: read the waiting Requests and answer them, then do your daily work.") fi + hold_banner; stop_banner # The key reaches the process by name (-e), never as an argument of any program: it is # exported by the shell itself, in a subshell that becomes msb. # The agent key's path, not the key, goes in the environment; the file is in the agent's zone. diff --git a/tests/run b/tests/run index b9b5f42..2908557 100755 --- a/tests/run +++ b/tests/run @@ -1268,10 +1268,21 @@ session_env; run_cmd session; rc=$? run=$(session_run) [[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" launcher_check "a session runs docker-agent in the agent's zone, on the definition as shipped" $? -# The first drawing of TurtleIcon.qml, two blocks to a square, is the picture in the welcome message. -turtle=$(awk '/^ *\[ *"/ {on=1} on {gsub(/[^.#]/, ""); gsub(/#/, "██"); gsub(/\./, " "); sub(/ +$/, ""); print; if (++n == 16) exit}' "$root/TurtleIcon.qml") -[[ -n $turtle && $(yq '.agents.spaceturtle.welcome_message' "$root/agent/spaceturtle.yaml") == '```'$'\n'"$turtle"$'\n''```'$'\n'* ]] -launcher_check "a session opens on the turtle of the icon, not on docker-agent's banner" $? +# The banner the README shows is the one a session shows: still in the welcome message, moving in the launcher. +banner=$root/docs/assets/spaceturtle-banner-dark.svg +still=$(awk '/ Date: Tue, 13 Oct 2026 09:54:20 -0400 Subject: [PATCH 16/22] The chat opens on the README's banner, moving, and a zone without its ports is refused (#57) docker-agent draws its own name on an empty conversation and takes nothing in its place that moves. The agent's zone image now builds docker-agent of the same release again with one change, --banner-file, and holds a film of frames made from the README's banner (ADR 0005). The launcher's own animation and the welcome message's still give way to it. A zone whose ports were held by another program when it started ran with nothing listening, and the agent found no node. start and session now say so. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/images.yml | 12 +- .github/workflows/release.yml | 1 + agent/spaceturtle.yaml | 19 - ...agents-zone-builds-its-own-docker-agent.md | 20 + docs/development.md | 3 +- images/agent/Dockerfile | 37 +- images/agent/banner.awk | 42 ++ images/agent/docker-agent-banner.patch | 570 ++++++++++++++++++ images/versions | 1 + images/versions.env | 5 + spaceturtle | 106 +--- tests/check-images | 10 +- tests/run | 32 +- 13 files changed, 730 insertions(+), 128 deletions(-) create mode 100644 docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md create mode 100644 images/agent/banner.awk create mode 100644 images/agent/docker-agent-banner.patch diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml index 7decdcf..e60343b 100644 --- a/.github/workflows/images.yml +++ b/.github/workflows/images.yml @@ -2,10 +2,10 @@ name: images # Builds the two zone images on every change to them. A release publishes them (release.yml). on: pull_request: - paths: ['images/**', '.github/workflows/images.yml'] + paths: ['images/**', 'docs/assets/spaceturtle-banner-dark.svg', '.github/workflows/images.yml'] push: branches: [main] - paths: ['images/**', '.github/workflows/images.yml'] + paths: ['images/**', 'docs/assets/spaceturtle-banner-dark.svg', '.github/workflows/images.yml'] jobs: build: runs-on: ubuntu-latest @@ -28,6 +28,8 @@ jobs: with: context: images/${{ matrix.image }} file: images/${{ matrix.image }}/Dockerfile + # The agent's zone image makes its banner from the one the README shows. + build-contexts: assets=docs/assets build-args: ${{ steps.args.outputs.list }} platforms: linux/amd64 push: false @@ -41,6 +43,12 @@ jobs: docker run --rm --entrypoint sh spaceturtle-agent-zone:ci -c ' ! env | grep -i -E "passphrase|mnemonic|secret|agent_key" && ! ls -d "$HOME/.toon" "$HOME/.config/toon" "$HOME/.local/share/toon" 2>/dev/null | grep .' + - name: docker-agent in the agent's zone plays a banner, and the banner is there + if: matrix.image == 'agent' + run: | + docker run --rm --entrypoint sh spaceturtle-agent-zone:ci -c ' + docker-agent run --help | grep -q -- --banner-file && + [ "$(grep -c "$(printf "\\f")" /usr/local/share/spaceturtle/banner.txt)" = 383 ]' - name: jq is in the agent's zone, where the launcher rewrites the key file's addresses if: matrix.image == 'agent' run: docker run --rm --entrypoint jq spaceturtle-agent-zone:ci --version diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6df167c..68d3832 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,6 +59,7 @@ jobs: with: context: images/agent file: images/agent/Dockerfile + build-contexts: assets=docs/assets build-args: ${{ steps.args.outputs.list }} platforms: linux/amd64 push: true diff --git a/agent/spaceturtle.yaml b/agent/spaceturtle.yaml index 172fea0..55112a3 100644 --- a/agent/spaceturtle.yaml +++ b/agent/spaceturtle.yaml @@ -6,25 +6,6 @@ version: "16" agents: spaceturtle: description: An agent that lives on the TOON network, runs a relay and tells its Observer what it did. - # What a session opens on, in place of docker-agent's own banner: the middle of - # docs/assets/spaceturtle-banner-dark.svg, two squares to a character. tests/run holds - # the two to each other. The launcher shows the picture moving while a session starts. - welcome_message: | - ``` - ▄ ▄ - ▄ ▀▀▀ - ▄▄ ▀██▄ ▀ ▀▀ - ▀██▄▄▄▄▄▄██ ▄▄ - ▄ ▄███▄████▄ ▄▄ - ▄ ▄███▄█▀█▄███████ ▀▀ - ▀███▀█▄█▀███████ - ▄ ▀███▀████▀ ▀▀ - ▄██▀▀▀▀▀▀██ ▀▀▄ - ▀▀ ▄██▀ - - ▀▀ - ``` - **spaceturtle**: your agent on the TOON network. instruction: | You are spaceturtle, an agent on the TOON network. You hold no key that pays. Your Observer is a human who can watch you and ask you for things. Keep notes in diff --git a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md new file mode 100644 index 0000000..af95568 --- /dev/null +++ b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md @@ -0,0 +1,20 @@ +# The agent's zone builds its own docker-agent + +A session is a chat that `docker-agent` draws. On an empty conversation it draws its own name in large letters, from a list of lines fixed in the program, and no flag, setting or field of an agent definition puts anything in its place except a welcome message, which is Markdown drawn once. spaceturtle's banner is a turtle that swims. So the agent's zone image no longer takes `docker-agent` as Docker built it: it builds the same release again from its source, with one change, `images/agent/docker-agent-banner.patch`, which adds `--banner-file`. The file is a film of frames, and `docker-agent` plays it on the clock its spinners already use, until the conversation starts. The image makes the film from the banner the README shows. + +The change is offered to `docker/docker-agent`. When a release of theirs holds it, the build stage and the patch go, and the image takes Docker's program again. + +## Considered Options + +- **A welcome message that holds a still of the banner.** Rejected: it does not move, and `docker-agent` draws it as a code block, in one colour, on a panel. +- **The launcher plays the banner before the chat opens.** Rejected: the agent's zone starts in about a second, so the launcher had to hold the chat back for the banner to be seen at all. +- **Wait for Docker to take the change.** Rejected as the only way: it may take weeks, or not happen. It is done as well. +- **A chat of spaceturtle's own in place of `docker-agent`'s.** Rejected: the whole of a chat screen to build and keep, for a banner. + +## Consequences + +- The `docker-agent` in the agent's zone is not the one Docker published. It is held to the commit of the release (`DOCKER_AGENT_COMMIT`), built by a pinned Go, and differs by a patch of one flag that anyone can read. What it may do is unchanged: the patch touches the chat's drawing and nothing of tools, keys or the network. +- Moving `docker-agent` to a new release means the patch must still apply. The image build fails if it does not, which is where this is found. +- The image build takes about four minutes longer. +- A release still publishes the agent definition with `docker-agent` as Docker published it, which is enough: the definition holds nothing of the banner. +- Only a session with someone there is given the banner. An unattended one has no chat. diff --git a/docs/development.md b/docs/development.md index 9b87032..927071c 100644 --- a/docs/development.md +++ b/docs/development.md @@ -28,7 +28,8 @@ without an agent node. | `spaceturtle` | The launcher: `spaceturtle start` brings up the connector's zone on devnet from the connector's zone image (`SPACETURTLE_CONNECTOR_IMAGE`), copying nothing in from the machine, doing only the steps not yet done, with its step markers in `~/.local/state/spaceturtle/launcher`; `start`'s flags choose the network (`--network`, `--evm-rpc-url`, `--evm-chain-id` and the rest of `toon init`'s), kept in `launcher.conf`; `session`, `timer`, `set` and `key` start the agent's sessions, by hand and on a timer, and keep its settings in `~/.config/spaceturtle/launcher.conf`; `waiting`, `approve` and `refuse` list, approve and refuse the apps the agent node holds until the Observer approves them; `start` also makes the agent key once, and `agent-key show`, `replace`, `revoke` and `limit` show, replace, revoke and limit it from outside the agent's zone; `status` shows the timer and the last unattended session, each zone's state, the node's network, its apps and relay, whether the supervisor runs and how many apps wait; `stop`, `upgrade`, `backup` and `remove` stop, replace, back up and remove the Install (`upgrade` carries the passphrase in memory through `msb exec`; `remove` keeps the wallet's storage and the backup directory); `supervise` is what the unit that keeps the connector's zone running runs | | `install.sh` | The one command a person runs first: checks the machine, installs the launcher and the agent definition of a release with a `version` file beside them (the launcher then pulls that release's zone images), links it into `~/.local/bin`, and puts the pinned microsandbox (`msb`), which the zones run in, in `~/.local/share/spaceturtle/msb` | | `agent/spaceturtle.yaml` | The agent's definition for `docker-agent`: its instruction, its file tool and the skills it loads. A release publishes it as it is | -| `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | +| `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key, and `docker-agent` built again with the banner, see below) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | +| `images/agent/docker-agent-banner.patch`, `images/agent/banner.awk` | The one change to `docker-agent` the agent's zone carries, `--banner-file` (ADR 0005), and what turns `docs/assets/spaceturtle-banner-dark.svg` into the film of frames it plays. The image build is given `docs/assets` as the build context named `assets` | | `images/versions.env`, `images/versions` | Every pin the two images add, with its checksum, and the `docker-agent` program a release publishes with; the command that prints the images' versions for release notes | | `.github/workflows/images.yml` | Builds both images on every change to `images/`. It does not publish | | `release/references`, `release/publish-definition`, `release/mark-latest`, `release/notes` | What a release publishes, under which names; the definition pushed to each registry and read back, byte for byte; `latest` moved to a release once it is all published; the release's notes | diff --git a/images/agent/Dockerfile b/images/agent/Dockerfile index 7e7b8f9..5ab84b4 100644 --- a/images/agent/Dockerfile +++ b/images/agent/Dockerfile @@ -1,9 +1,35 @@ -# The agent's zone: docker-agent's own sandbox image with `toon` added. The agent runs the -# agent node's commands with an agent key the launcher places at session start; this image -# holds no home for toon, no keystore, no passphrase and no key (ADR 0003). +# The agent's zone: docker-agent's own sandbox image with `toon` added, and docker-agent built +# again so that it plays spaceturtle's banner. The agent runs the agent node's commands with an +# agent key the launcher places at session start; this image holds no home for toon, no +# keystore, no passphrase and no key (ADR 0003). # Build arguments come from images/versions.env and have no defaults here. ARG DOCKER_AGENT_VERSION ARG DOCKER_AGENT_BASE_DIGEST +ARG GO_VERSION +ARG GO_IMAGE_DIGEST + +# docker-agent of the same release, built again with one change: --banner-file, which draws +# a film of frames where docker-agent's own banner would be (ADR 0005). The source is held to +# the commit of the release, and the film is made from the banner the README shows, which the +# build is given as the context named assets (docs/assets). +FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine@${GO_IMAGE_DIGEST} AS docker-agent +ARG TARGETARCH +ARG DOCKER_AGENT_VERSION +ARG DOCKER_AGENT_COMMIT +RUN apk add --no-cache git +WORKDIR /src +RUN git clone --quiet --depth 1 --branch "v${DOCKER_AGENT_VERSION}" https://github.com/docker/docker-agent.git . \ + && [ "$(git rev-parse HEAD)" = "$DOCKER_AGENT_COMMIT" ] +COPY docker-agent-banner.patch /tmp/ +RUN git apply /tmp/docker-agent-banner.patch +RUN --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache/go-build \ + CGO_ENABLED=0 GOOS=linux GOARCH=$TARGETARCH go build -trimpath -tags no_audio \ + -ldflags "-s -w -X github.com/docker/docker-agent/pkg/version.Version=v${DOCKER_AGENT_VERSION} -X github.com/docker/docker-agent/pkg/version.Commit=${DOCKER_AGENT_COMMIT}" \ + -o /out/docker-agent . +COPY banner.awk /tmp/ +COPY --from=assets spaceturtle-banner-dark.svg /tmp/ +RUN awk -f /tmp/banner.awk /tmp/spaceturtle-banner-dark.svg > /out/banner.txt && [ "$(grep -c "$(printf '\f')" /out/banner.txt)" = 383 ] + FROM docker/docker-agent-sbx-templates:${DOCKER_AGENT_VERSION}@${DOCKER_AGENT_BASE_DIGEST} ARG TARGETARCH @@ -28,7 +54,10 @@ install -m 0755 "/tmp/toon-v${TOON_VERSION}-linux-${arch}/toon" /usr/local/bin/t rm -rf /tmp/toon-v* toon --version SCRIPT +COPY --from=docker-agent /out/docker-agent /usr/local/bin/docker-agent +COPY --from=docker-agent /out/banner.txt /usr/local/share/spaceturtle/banner.txt +RUN docker-agent run --help | grep -q -- --banner-file USER agent LABEL org.opencontainers.image.title="spaceturtle agent's zone" \ - org.opencontainers.image.description="docker-agent's sandbox image with toon, with nothing of a wallet in it" \ + org.opencontainers.image.description="docker-agent's sandbox image with toon and spaceturtle's banner, with nothing of a wallet in it" \ org.opencontainers.image.version="${TOON_VERSION}" diff --git a/images/agent/banner.awk b/images/agent/banner.awk new file mode 100644 index 0000000..b32ec9a --- /dev/null +++ b/images/agent/banner.awk @@ -0,0 +1,42 @@ +# Turns docs/assets/spaceturtle-banner-dark.svg into the frames docker-agent plays where its +# own banner would be (--banner-file): two squares of the picture to a character, a frame +# every tenth of a second, a form feed between frames. The near stars move a square a frame +# and the far ones a square every third frame, so the film closes on itself after 384 frames. +# The turtle takes the terminal's own colour, so it shows on a light one as on a dark one. +function px(x, y) { + if (stroke ? ((x, y) in tb) : ((x, y) in ta)) return 1 + if (((x + t) % 128, y) in near) return 2 + if (((x + int(t / 3)) % 128, y) in far) return 3 + return 0 +} +/ +Date: Tue, 13 Oct 2026 09:38:54 -0400 +Subject: [PATCH] tui: --banner-file replaces the startup banner, with frames + that animate + +Signed-off-by: Jonathan Green +--- + cmd/root/run.go | 10 +++ + docs/features/cli/index.md | 2 + + docs/features/tui/index.md | 5 ++ + pkg/tui/banner/banner.go | 110 +++++++++++++++++++++++++++++++ + pkg/tui/banner/banner_test.go | 74 +++++++++++++++++++++ + pkg/tui/page/chat/banner_test.go | 91 +++++++++++++++++++++++++ + pkg/tui/page/chat/chat.go | 53 ++++++++++++++- + pkg/tui/tui.go | 11 ++++ + 8 files changed, 354 insertions(+), 2 deletions(-) + create mode 100644 pkg/tui/banner/banner_test.go + create mode 100644 pkg/tui/page/chat/banner_test.go + +diff --git a/cmd/root/run.go b/cmd/root/run.go +index b5efa8b..ebc38cb 100644 +--- a/cmd/root/run.go ++++ b/cmd/root/run.go +@@ -41,6 +41,7 @@ import ( + "github.com/docker/docker-agent/pkg/telemetry" + "github.com/docker/docker-agent/pkg/tour" + "github.com/docker/docker-agent/pkg/tui" ++ tuibanner "github.com/docker/docker-agent/pkg/tui/banner" + tuiimage "github.com/docker/docker-agent/pkg/tui/image" + "github.com/docker/docker-agent/pkg/tui/recorder" + "github.com/docker/docker-agent/pkg/tui/styles" +@@ -117,6 +118,7 @@ type runExecFlags struct { + lean bool + leanChanged bool + appName string ++ bannerFile string + sidebar bool + listenAddr string + // sessionWorkingDirRoot confines the working_dir of sessions created +@@ -211,6 +213,7 @@ func addRunOrExecFlags(cmd *cobra.Command, flags *runExecFlags) { + _ = cmd.PersistentFlags().MarkHidden("tour") + cmd.PersistentFlags().BoolVar(&flags.lean, "lean", false, "Use a simplified TUI with minimal chrome") + cmd.PersistentFlags().StringVar(&flags.appName, "app-name", "", "Application name shown in the TUI in place of \"docker agent\"") ++ cmd.PersistentFlags().StringVar(&flags.bannerFile, "banner-file", "", "Text file drawn in the TUI in place of the startup banner; frames separated by a form-feed line play as an animation") + cmd.PersistentFlags().StringSliceVar(&flags.disabledCommands, "disable-commands", nil, "Comma-separated list of slash commands to hide and disable in the TUI (e.g. /cost,/eval,/model)") + cmd.PersistentFlags().BoolVar(&flags.sidebar, "sidebar", true, "Show the sidebar in the TUI (set --sidebar=false to hide it)") + cmd.PersistentFlags().StringVar(&flags.theme, "theme", "", "Preselect a TUI theme by name, or \"auto\" to match the terminal's light/dark background (overrides the theme from user config; ignored outside the interactive TUI)") +@@ -591,6 +594,13 @@ func (f *runExecFlags) runOrExec(ctx context.Context, out *cli.Printer, args []s + + var rec *recorder.Recorder + tuiOptions := f.tuiOpts(args) ++ if f.bannerFile != "" { ++ b, err := tuibanner.Load(f.bannerFile) ++ if err != nil { ++ return err ++ } ++ tuiOptions = append(tuiOptions, tui.WithBanner(b)) ++ } + if dir := f.explicitDefaultWorkingDir(sess); dir != "" { + tuiOptions = append(tuiOptions, tui.WithDefaultWorkingDir(dir)) + } +diff --git a/docs/features/cli/index.md b/docs/features/cli/index.md +index a41b354..1e03b9b 100644 +--- a/docs/features/cli/index.md ++++ b/docs/features/cli/index.md +@@ -42,6 +42,7 @@ $ docker agent run [config] [message...] [flags] + | `--session-workingdir-root ` | Confine the `working_dir` of sessions created through the `--listen` control plane to this directory and its descendants (default: no restriction — any clean host directory is accepted, though raw values containing `..` are rejected). Recommended when the control plane is reachable by other users. Hidden from `--help`, like `--listen`. | + | `--lean` | Use a simplified, non-alternate-screen TUI. Unlike the default full-screen TUI, this renders inline in the normal terminal buffer — useful in environments where an alternate screen is unwanted (e.g. inside tmux panes, CI with a tty, or log-friendly pipelines). Like the full TUI, displays an ASCII art banner on startup when the chat is empty (configurable via `show_banner` in [user settings](../../configuration/user-settings/index.md)). | + | `--app-name ` | Override the application name label shown in the TUI (status bar, window title, "/exit" notifications). | ++| `--banner-file ` | Draw the art in this text file in the TUI in place of the startup banner; frames separated by a form-feed line play as an animation. | + | `--sidebar` | Control sidebar visibility. Set to `--sidebar=false` to hide the sidebar and disable the Ctrl+B toggle (default: `true`). | + | `--disable-commands ` | Hide and disable specific slash commands in the TUI. Accepts a comma-separated list of command names (leading slash optional, case-insensitive). E.g. `--disable-commands="/cost,/eval,/model"`. | + | `--theme ` | Preselect a TUI theme by name, or `auto` to follow the terminal's light/dark background (overrides the theme from user config; ignored outside the interactive TUI) | +@@ -98,6 +99,7 @@ $ docker agent run agent.yaml "question 1" "question 2" "question 3" + + # Customize TUI display + $ docker agent run agent.yaml --app-name "My Project" ++$ docker agent run agent.yaml --banner-file ./banner.txt + $ docker agent run agent.yaml --sidebar=false + $ docker agent run agent.yaml --disable-commands="/cost,/eval,/model" + +diff --git a/docs/features/tui/index.md b/docs/features/tui/index.md +index 831f91a..0464dfc 100644 +--- a/docs/features/tui/index.md ++++ b/docs/features/tui/index.md +@@ -15,6 +15,8 @@ _Docker Agent's default interface is a rich, interactive terminal UI with file a + + Both the full TUI and the lean TUI display a centered ASCII art Docker Agent banner on startup when the chat is empty. The banner is automatically hidden once the agent starts responding or when a custom welcome message is configured. You can disable the banner entirely from the **Appearance** tab of `/settings`, or by setting `show_banner: false` in your [user settings](../../configuration/user-settings/index.md). + ++To draw your own art in the full TUI instead, pass `--banner-file ` with a text file. A line holding only a form feed (`\f`) separates frames; a file with several frames plays them in a loop, one every 100ms, until the conversation starts. Lines may carry ANSI color sequences. The lean TUI keeps the default banner. ++ + ```bash + # Launch with a config + $ docker agent run agent.yaml +@@ -31,6 +33,9 @@ $ docker agent run agent.yaml --debug + # Override the application name shown in the status bar and window title + $ docker agent run agent.yaml --app-name "My Project" + ++# Replace the startup banner with your own art (several frames play as an animation) ++$ docker agent run agent.yaml --banner-file ./banner.txt ++ + # Preselect a color theme + $ docker agent run agent.yaml --theme dracula + +diff --git a/pkg/tui/banner/banner.go b/pkg/tui/banner/banner.go +index b6f28e1..f75123e 100644 +--- a/pkg/tui/banner/banner.go ++++ b/pkg/tui/banner/banner.go +@@ -1,10 +1,30 @@ ++// Package banner holds the art drawn on an empty conversation. + package banner + ++import ( ++ "errors" ++ "fmt" ++ "os" ++ "strings" ++ "time" ++ ++ "github.com/charmbracelet/x/ansi" ++) ++ + const ( + Width = 56 + Height = 13 + ) + ++// FrameDuration is how long each frame of an animated banner is shown. ++const FrameDuration = 100 * time.Millisecond ++ ++// FrameSeparator is the line that separates the frames of a banner file. ++const FrameSeparator = "\f" ++ ++// maxFileSize bounds a banner file; the art is redrawn on every frame change. ++const maxFileSize = 4 << 20 ++ + // Lines is the Docker Agent ASCII-art startup banner. + var Lines = []string{ + `██████╗ ██████╗ ██████╗██╗ ██╗███████╗██████╗ `, +@@ -21,3 +41,93 @@ var Lines = []string{ + ` ██║ ██║╚██████╔╝███████╗██║ ╚████║ ██║ `, + ` ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ `, + } ++ ++// Banner is one or more frames of art. Every frame is padded to the same ++// size, so the banner does not move as it plays. ++type Banner struct { ++ frames []string ++ width int ++ height int ++} ++ ++// Default returns the Docker Agent banner. ++func Default() Banner { ++ return Banner{frames: []string{strings.Join(Lines, "\n")}, width: Width, height: Height} ++} ++ ++// Load reads a banner from a text file. See Parse for the format. ++func Load(path string) (Banner, error) { ++ info, err := os.Stat(path) ++ if err != nil { ++ return Banner{}, fmt.Errorf("reading banner file: %w", err) ++ } ++ if info.Size() > maxFileSize { ++ return Banner{}, fmt.Errorf("banner file %s is larger than %d bytes", path, maxFileSize) ++ } ++ data, err := os.ReadFile(path) ++ if err != nil { ++ return Banner{}, fmt.Errorf("reading banner file: %w", err) ++ } ++ b, err := Parse(string(data)) ++ if err != nil { ++ return Banner{}, fmt.Errorf("banner file %s: %w", path, err) ++ } ++ return b, nil ++} ++ ++// Parse builds a banner from text. A line holding only a form feed separates ++// frames; a banner with several frames plays them in a loop. Lines may carry ++// ANSI color sequences. ++func Parse(text string) (Banner, error) { ++ text = strings.ReplaceAll(text, "\r\n", "\n") ++ var frames [][]string ++ var width, height int ++ for chunk := range strings.SplitSeq(text, "\n"+FrameSeparator+"\n") { ++ lines := strings.Split(strings.Trim(chunk, "\n"), "\n") ++ if len(lines) == 1 && strings.TrimSpace(ansi.Strip(lines[0])) == "" { ++ continue ++ } ++ height = max(height, len(lines)) ++ for _, line := range lines { ++ width = max(width, ansi.StringWidth(line)) ++ } ++ frames = append(frames, lines) ++ } ++ if len(frames) == 0 { ++ return Banner{}, errors.New("no banner art found") ++ } ++ ++ b := Banner{width: width, height: height, frames: make([]string, 0, len(frames))} ++ for _, lines := range frames { ++ for i, line := range lines { ++ lines[i] = line + strings.Repeat(" ", width-ansi.StringWidth(line)) ++ } ++ for len(lines) < height { ++ lines = append(lines, strings.Repeat(" ", width)) ++ } ++ b.frames = append(b.frames, strings.Join(lines, "\n")) ++ } ++ return b, nil ++} ++ ++func (b Banner) Width() int { return b.width } ++func (b Banner) Height() int { return b.height } ++ ++// Animated reports whether the banner has more than one frame. ++func (b Banner) Animated() bool { return len(b.frames) > 1 } ++ ++// FrameIndexAt returns the frame shown after the given elapsed time. ++func (b Banner) FrameIndexAt(elapsed time.Duration) int { ++ if len(b.frames) < 2 || elapsed <= 0 { ++ return 0 ++ } ++ return int(elapsed/FrameDuration) % len(b.frames) ++} ++ ++// FrameAt returns the art shown after the given elapsed time. ++func (b Banner) FrameAt(elapsed time.Duration) string { ++ if len(b.frames) == 0 { ++ return "" ++ } ++ return b.frames[b.FrameIndexAt(elapsed)] ++} +diff --git a/pkg/tui/banner/banner_test.go b/pkg/tui/banner/banner_test.go +new file mode 100644 +index 0000000..0709038 +--- /dev/null ++++ b/pkg/tui/banner/banner_test.go +@@ -0,0 +1,74 @@ ++package banner ++ ++import ( ++ "os" ++ "path/filepath" ++ "strings" ++ "testing" ++ "time" ++ ++ "github.com/stretchr/testify/assert" ++ "github.com/stretchr/testify/require" ++) ++ ++func TestDefaultIsTheDockerAgentArt(t *testing.T) { ++ t.Parallel() ++ ++ b := Default() ++ assert.False(t, b.Animated()) ++ assert.Equal(t, Width, b.Width()) ++ assert.Equal(t, Height, b.Height()) ++ assert.Equal(t, strings.Join(Lines, "\n"), b.FrameAt(time.Hour)) ++} ++ ++func TestParseSingleFrame(t *testing.T) { ++ t.Parallel() ++ ++ b, err := Parse("\n ab\nabcd\n\n") ++ require.NoError(t, err) ++ assert.False(t, b.Animated()) ++ assert.Equal(t, 4, b.Width()) ++ assert.Equal(t, 2, b.Height()) ++ assert.Equal(t, " ab \nabcd", b.FrameAt(0)) ++} ++ ++func TestParseFramesShareOneSize(t *testing.T) { ++ t.Parallel() ++ ++ b, err := Parse("ab\ncd\n\f\nxyz\n\f\n\x1b[31mq\x1b[39m\n") ++ require.NoError(t, err) ++ assert.True(t, b.Animated()) ++ assert.Equal(t, 3, b.Width(), "color sequences take no width") ++ assert.Equal(t, 2, b.Height()) ++ assert.Equal(t, "ab \ncd ", b.FrameAt(0)) ++ assert.Equal(t, "xyz\n ", b.FrameAt(FrameDuration)) ++ assert.Equal(t, "\x1b[31mq\x1b[39m \n ", b.FrameAt(2*FrameDuration)) ++ assert.Equal(t, "ab \ncd ", b.FrameAt(3*FrameDuration), "the frames loop") ++} ++ ++func TestParseRejectsEmptyArt(t *testing.T) { ++ t.Parallel() ++ ++ for _, text := range []string{"", "\n\n", " \n\f\n\n"} { ++ _, err := Parse(text) ++ require.Error(t, err) ++ } ++} ++ ++func TestLoad(t *testing.T) { ++ t.Parallel() ++ ++ path := filepath.Join(t.TempDir(), "banner.txt") ++ require.NoError(t, os.WriteFile(path, []byte("one\r\n\f\r\ntwo\r\n"), 0o600)) ++ b, err := Load(path) ++ require.NoError(t, err) ++ assert.Equal(t, "one", b.FrameAt(0)) ++ assert.Equal(t, "two", b.FrameAt(FrameDuration)) ++ ++ _, err = Load(filepath.Join(t.TempDir(), "missing.txt")) ++ require.Error(t, err) ++ ++ require.NoError(t, os.WriteFile(path, nil, 0o600)) ++ _, err = Load(path) ++ require.ErrorContains(t, err, path) ++} +diff --git a/pkg/tui/page/chat/banner_test.go b/pkg/tui/page/chat/banner_test.go +new file mode 100644 +index 0000000..f7ffacf +--- /dev/null ++++ b/pkg/tui/page/chat/banner_test.go +@@ -0,0 +1,91 @@ ++package chat ++ ++import ( ++ "testing" ++ "time" ++ ++ tea "charm.land/bubbletea/v2" ++ "github.com/charmbracelet/x/ansi" ++ "github.com/stretchr/testify/assert" ++ "github.com/stretchr/testify/require" ++ ++ "github.com/docker/docker-agent/pkg/tui/animation" ++ tuibanner "github.com/docker/docker-agent/pkg/tui/banner" ++ "github.com/docker/docker-agent/pkg/tui/service" ++) ++ ++type bannerScheduler struct{ now time.Time } ++ ++func (s *bannerScheduler) Now() time.Time { return s.now } ++func (s *bannerScheduler) Tick(d time.Duration, f func(time.Time) tea.Msg) tea.Cmd { ++ s.now = s.now.Add(d) ++ delivered := s.now ++ return func() tea.Msg { return f(delivered) } ++} ++ ++func newBannerTestPage(t *testing.T, ar *animation.Runtime, art string) *chatPage { ++ t.Helper() ++ b, err := tuibanner.Parse(art) ++ require.NoError(t, err) ++ p := New(ar, t.Context(), nil, &service.SessionState{}, WithBanner(b)).(*chatPage) ++ p.SetSize(160, 40) ++ return p ++} ++ ++func bannerText(p *chatPage) string { ++ return ansi.Strip(p.messagesView(p.computeSidebarLayout())) ++} ++ ++func TestCustomBannerReplacesTheDefault(t *testing.T) { ++ t.Parallel() ++ ++ p := newBannerTestPage(t, animation.NewRuntime(), "my project") ++ ++ assert.False(t, p.bannerPlaying()) ++ assert.Contains(t, bannerText(p), "my project") ++ assert.NotContains(t, bannerText(p), tuibanner.Lines[0]) ++} ++ ++func TestAnimatedBannerAdvancesWithTheAnimationClock(t *testing.T) { ++ t.Parallel() ++ ++ ar := animation.NewRuntimeWithScheduler(&bannerScheduler{now: time.Unix(1, 0)}) ++ p := newBannerTestPage(t, ar, "first\n\f\nsecond\n") ++ require.True(t, p.bannerPlaying()) ++ assert.Contains(t, bannerText(p), "first") ++ ++ cmd := p.bannerSub.Start() ++ require.NotNil(t, cmd) ++ redraws := 0 ++ for ar.Now() < tuibanner.FrameDuration { ++ tick, ok := ar.Accept(cmd().(animation.TickMsg)) ++ require.True(t, ok) ++ p.tickBanner(tick) ++ if tick.Dirty() { ++ redraws++ ++ } ++ cmd = ar.Continue() ++ require.NotNil(t, cmd) ++ } ++ ++ assert.Equal(t, 1, redraws, "only a frame change redraws") ++ assert.Contains(t, bannerText(p), "second") ++} ++ ++func TestAnimatedBannerStopsTickingOnceTheConversationStarts(t *testing.T) { ++ t.Parallel() ++ ++ ar := animation.NewRuntimeWithScheduler(&bannerScheduler{now: time.Unix(1, 0)}) ++ p := newBannerTestPage(t, ar, "first\n\f\nsecond\n") ++ cmd := p.bannerSub.Start() ++ require.Equal(t, int32(1), ar.ActiveCount()) ++ ++ p.showStartupBanner = false ++ tick, ok := ar.Accept(cmd().(animation.TickMsg)) ++ require.True(t, ok) ++ p.tickBanner(tick) ++ ++ assert.False(t, tick.Dirty()) ++ assert.Zero(t, ar.ActiveCount()) ++ assert.Nil(t, ar.Continue()) ++} +diff --git a/pkg/tui/page/chat/chat.go b/pkg/tui/page/chat/chat.go +index 76683bd..c5ba70a 100644 +--- a/pkg/tui/page/chat/chat.go ++++ b/pkg/tui/page/chat/chat.go +@@ -254,6 +254,8 @@ type chatPage struct { + // hideBanner mirrors the user's show_banner setting; the zero value + // keeps the banner so page literals stay banner-enabled. + hideBanner bool ++ banner tuibanner.Banner ++ bannerSub animation.Subscription + + // Message queue for enqueuing messages while agent is working + messageQueue []queuedMessage +@@ -414,6 +416,8 @@ func New(ar *animation.Runtime, ctx context.Context, a *app.App, sessionState *s + commandParser: commands.NewParser(), + sessionState: sessionState, + showStartupBanner: true, ++ banner: tuibanner.Default(), ++ bannerSub: ar.Subscribe(), + } + + for _, opt := range opts { +@@ -470,6 +474,14 @@ func WithShowBanner(show bool) PageOption { + } + } + ++// WithBanner replaces the startup banner. A banner with several frames plays ++// while the conversation is empty. ++func WithBanner(b tuibanner.Banner) PageOption { ++ return func(p *chatPage) { ++ p.banner = b ++ } ++} ++ + // WithCommandParser injects a command parser for handling slash commands in the editor. + func WithCommandParser(p *commands.Parser) PageOption { + return func(cp *chatPage) { +@@ -530,6 +542,9 @@ func (p *chatPage) Init() tea.Cmd { + var cmds []tea.Cmd + + cmds = append(cmds, p.messages.Init()) ++ if p.bannerPlaying() { ++ cmds = append(cmds, p.bannerSub.Start()) ++ } + + // Load state from existing session (for session restore and branching) + if sess := p.app.Session(); sess != nil { +@@ -609,6 +624,10 @@ func (p *chatPage) update(msg tea.Msg) (layout.Model, tea.Cmd) { + } + } + ++ if tick, ok := msg.(animation.TickMsg); ok { ++ p.tickBanner(tick) ++ } ++ + switch msg := msg.(type) { + case msgtypes.PlanSidebarDataMsg: + updated, cmd := p.sidebar.Update(msg) +@@ -844,11 +863,20 @@ func (p *chatPage) messagesView(sl sidebarLayout) string { + if messagesView != "" || !p.showStartupBanner || p.hideBanner { + return messagesView + } +- if sl.chatWidth < tuibanner.Width || sl.chatHeight < tuibanner.Height { ++ art := p.banner ++ if art.Height() == 0 { ++ // Page literals carry no banner; they get the default one. ++ art = tuibanner.Default() ++ } ++ if sl.chatWidth < art.Width() || sl.chatHeight < art.Height() { + return "" + } + +- banner := styles.BaseStyle.Foreground(styles.Accent).Render(strings.Join(tuibanner.Lines, "\n")) ++ var elapsed time.Duration ++ if art.Animated() { ++ elapsed = p.ar.Now() ++ } ++ banner := styles.BaseStyle.Foreground(styles.Accent).Render(art.FrameAt(elapsed)) + return lipgloss.Place( + sl.chatWidth, + sl.chatHeight, +@@ -858,6 +886,27 @@ func (p *chatPage) messagesView(sl sidebarLayout) string { + ) + } + ++// bannerPlaying reports whether an animated banner still has the screen. ++func (p *chatPage) bannerPlaying() bool { ++ return p.banner.Animated() && p.showStartupBanner && !p.hideBanner ++} ++ ++// tickBanner redraws on a frame change and gives up the tick once the ++// conversation has replaced the banner. ++func (p *chatPage) tickBanner(tick animation.TickMsg) { ++ if !p.bannerSub.IsActive() { ++ return ++ } ++ if !p.bannerPlaying() { ++ p.bannerSub.Stop() ++ return ++ } ++ before, after := tick.ElapsedBounds() ++ if p.banner.FrameIndexAt(before) != p.banner.FrameIndexAt(after) { ++ tick.MarkDirty() ++ } ++} ++ + // View renders the chat page (messages + sidebar only, no editor or resize handle) + func (p *chatPage) View() string { + sl := p.computeSidebarLayout() +diff --git a/pkg/tui/tui.go b/pkg/tui/tui.go +index 68e5f5c..04dcaf6 100644 +--- a/pkg/tui/tui.go ++++ b/pkg/tui/tui.go +@@ -27,6 +27,7 @@ import ( + "github.com/docker/docker-agent/pkg/runtime" + "github.com/docker/docker-agent/pkg/session" + "github.com/docker/docker-agent/pkg/tui/animation" ++ tuibanner "github.com/docker/docker-agent/pkg/tui/banner" + "github.com/docker/docker-agent/pkg/tui/commands" + commanddefaults "github.com/docker/docker-agent/pkg/tui/commands/defaults" + "github.com/docker/docker-agent/pkg/tui/components/completion" +@@ -285,6 +286,7 @@ type appModel struct { + // showBanner displays the ASCII-art startup banner on an empty + // conversation. Shared by every tab and managed via /settings. + showBanner bool ++ banner tuibanner.Banner + + // buildCommandCategories is a function that returns the list of command categories. + buildCommandCategories func(context.Context, tea.Model) []commands.Category +@@ -390,6 +392,13 @@ func WithTourOffer(showTelemetryNotice bool) Option { + } + } + ++// WithBanner replaces the startup banner drawn on an empty conversation. ++func WithBanner(b tuibanner.Banner) Option { ++ return func(m *appModel) { ++ m.banner = b ++ } ++} ++ + // WithAppName sets the application name. + // + // If not provided, defaults to "docker agent". +@@ -538,6 +547,7 @@ func New(ctx context.Context, spawner SessionSpawner, initialApp *app.App, initi + showBanner: userSettings.GetShowBanner(), + keyboardEnhancementsSupported: termfeatures.SupportsModifiedEnter(os.Getenv), + dockerDesktop: os.Getenv("TERM_PROGRAM") == "docker_desktop", ++ banner: tuibanner.Default(), + appName: "docker agent", + appVersion: version.Version, + } +@@ -667,6 +677,7 @@ func (m *appModel) chatPageOpts() []chat.PageOption { + chat.WithSendMode(m.sendMode), + chat.WithInterruptMode(m.interruptMode), + chat.WithShowBanner(m.showBanner), ++ chat.WithBanner(m.banner), + } + + if m.leanMode { diff --git a/images/versions b/images/versions index ebc5ee7..df98136 100755 --- a/images/versions +++ b/images/versions @@ -7,6 +7,7 @@ here=$(cd "$(dirname "$0")" && pwd) cat </dev/null || echo /usr/bin/jq)"):"*) ;; *) unit_path=$(dirname "$(command -v jq)"):$unit_path ;; esac -# A message would be lost on the banner's screen, so the banner ends first. -die() { stop_banner; echo "spaceturtle: $*" >&2; exit 1; } -say() { stop_banner; echo "spaceturtle: $*"; } +die() { echo "spaceturtle: $*" >&2; exit 1; } +say() { echo "spaceturtle: $*"; } done_() { [[ -e $marks/$1 ]]; } mark() { mkdir -p "$marks" && : > "$marks/$1"; } @@ -356,7 +356,7 @@ step_supervisor() { write_connector_unit "$systemctl_" --user enable spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be enabled" # A supervisor the unit does not hold would not be started again when it ends. - supervisor_running && "$systemctl_" --user is-active --quiet spaceturtle-connector.service && return + if supervisor_running && "$systemctl_" --user is-active --quiet spaceturtle-connector.service; then need_ports; return; fi say "starting the supervisor" "$systemctl_" --user restart spaceturtle-connector.service || die "the unit that keeps the connector's zone running could not be started" # The supervisor is there before it answers: the container engine and the apps come up first. @@ -365,6 +365,7 @@ step_supervisor() { ((waited < supervisor_wait)) || die "the supervisor did not start in the zone. 'journalctl --user -u spaceturtle-connector' says why." sleep 3; waited=$((waited + 3)) done + need_ports } # Writes a fresh sealed backup to the backup directory. The backup already there is @@ -437,6 +438,18 @@ need_model_key() { need_connector() { [[ $(zone_state) == running ]] && supervisor_running \ || die "the connector's zone ($zone) is not running, so no session is started. Run 'spaceturtle start' first." + need_ports +} + +# microsandbox opens the zone's two ports on this machine when the zone starts. If another +# program held one at that moment the zone runs all the same and nothing listens, so the agent +# would find no node. Only a zone that is started again gets its ports. +port_open() { + if [[ -n ${SPACETURTLE_PORT_PROBE:-} ]]; then "$SPACETURTLE_PORT_PROBE" "$1"; else (exec 3<>"/dev/tcp/127.0.0.1/$1") 2>/dev/null; fi +} +need_ports() { + port_open "$connector_port" && port_open "$relay_port" \ + || die "the connector's zone ($zone) is running, but ports $connector_port and $relay_port of this machine do not both lead to it, so the agent cannot reach the node. Another program may have held one when the zone started. Run 'spaceturtle stop', then 'spaceturtle start'." } # The definition a session reads, written fresh each time into the directory the agent's zone @@ -516,79 +529,6 @@ rewall_agent_zone() { # the wall wanted key= } -# --- the banner: the README's picture, moving in the terminal while a session starts --- -# The squares of docs/assets/spaceturtle-banner-dark.svg: the far stars, the near stars and the -# turtle's two strokes, each as x,y,width. tests/run holds this list to the picture. -banner_data() { - cat <<'DATA' -far 82,4,1 101,20,1 12,2,1 24,11,1 14,16,1 54,1,1 22,13,1 107,2,1 61,2,1 108,1,1 31,7,1 15,18,1 101,1,1 56,1,1 34,9,1 107,4,1 30,18,1 78,17,1 46,3,1 48,11,1 24,17,1 16,18,1 15,19,1 52,15,1 109,10,1 119,18,1 -near 116,11,2 76,7,2 46,22,2 62,2,2 76,16,2 126,10,2 114,9,2 18,3,2 107,5,2 87,4,2 125,13,2 10,21,2 19,17,2 80,10,2 -a 64,4,3 57,5,2 65,5,3 57,6,3 66,6,2 58,7,10 59,8,3 63,8,4 58,9,10 69,9,2 57,10,3 61,10,3 65,10,7 56,11,6 63,11,9 56,12,6 63,12,9 57,13,3 61,13,3 65,13,7 58,14,10 69,14,2 59,15,3 63,15,4 58,16,10 57,17,3 66,17,2 57,18,2 65,18,3 64,19,3 -b 62,4,3 63,5,3 57,6,2 65,6,2 58,7,9 59,8,3 63,8,4 58,9,10 69,9,2 57,10,3 61,10,3 65,10,7 56,11,6 63,11,9 56,12,6 63,12,9 57,13,3 61,13,3 65,13,7 58,14,10 69,14,2 59,15,3 63,15,4 58,16,9 57,17,2 65,17,2 63,18,3 62,19,3 -DATA -} - -# Two squares to a character, on a screen of its own that is given back when the banner ends. -# The turtle takes the terminal's own colour, so it shows on a light one as on a dark one. -banner_pid= -start_banner() { - local rows cols - [[ ${SPACETURTLE_BANNER:-on} != off && -t 0 && -t 1 && -w /dev/tty ]] || return 0 - read -r rows cols < <(stty size 2>/dev/null) - [[ ${rows:-} =~ ^[0-9]+$ && ${cols:-} =~ ^[0-9]+$ ]] && (( rows >= 14 && cols >= 40 )) || return 0 - printf '\033[?1049h\033[?25l\033[2J' > /dev/tty - banner_data | awk -v rows="$rows" -v cols="$cols" ' -function px(x, y) { - if (fr ? ((x, y) in tb) : ((x, y) in ta)) return 1 - if (((x + no) % 128, y) in near) return 2 - if (((x + fo) % 128, y) in far) return 3 - return 0 -} -{ for (i = 2; i <= NF; i++) { split($i, q, ","); for (j = 0; j < q[3]; j++) { - if ($1 == "far") far[(q[1] + j) % 128, q[2]]; else if ($1 == "near") near[(q[1] + j) % 128, q[2]] - else if ($1 == "a") ta[q[1] + j, q[2]]; else tb[q[1] + j, q[2]] } } } -END { - fg[1] = "\033[39m"; fg[2] = "\033[38;2;170;182;224m"; fg[3] = "\033[38;2;86;98;143m" - bg[2] = "\033[48;2;170;182;224m"; bg[3] = "\033[48;2;86;98;143m" - w = cols < 128 ? cols : 128; x0 = int((128 - w) / 2); left = int((cols - w) / 2) + 1; top = int((rows - 14) / 2) + 1 - note = "spaceturtle is starting a session" - out = sprintf("\033[%d;%dH\033[2m%s\033[0m", top + 13, int((cols - length(note)) / 2) + 1, note) - for (t = 0; ; t++) { - fo = int(t * 128 / 360); no = int(t * 128 / 160); fr = int(t / 4.5) % 2 - for (r = 0; r < 12; r++) { - out = out sprintf("\033[%d;%dH", top + r, left) - for (c = 0; c < w; c++) { - u = px(x0 + c, 2 * r); d = px(x0 + c, 2 * r + 1) - if (!u && !d) out = out " " - else if (u == d) out = out fg[u] "█" - else if (!d) out = out fg[u] "▀" - else if (!u) out = out fg[d] "▄" - else if (d == 1) out = out fg[1] bg[u] "▄\033[49m" - else out = out fg[u] bg[d] "▀\033[49m" - } - out = out "\033[0m" - } - printf "%s", out; fflush(); out = "" - system("sleep 0.1") - } -} -' > /dev/tty 2>/dev/null 9>&- & - banner_pid=$! - banner_until=$(( $(date +%s%N) / 1000000 + 2500 )) -} -# The zone starts in less time than a stroke of the flippers takes, so the banner is given -# two and a half seconds from when it began. -hold_banner() { - [[ -n ${banner_pid:-} ]] || return 0 - while (( $(date +%s%N) / 1000000 < banner_until )); do sleep 0.1; done -} -stop_banner() { - [[ -n ${banner_pid:-} ]] || return 0 - kill "$banner_pid" 2>/dev/null; wait "$banner_pid" 2>/dev/null - banner_pid= - printf '\033[?25h\033[?1049l' > /dev/tty -} - session() { local unattended=0 case ${1:-} in @@ -610,25 +550,25 @@ session() { write_session_def "$unattended" wall=$(agent_wall) || exit 1 # No program in a zone is given the lock (9>&-), so it is free once this launcher ends. - trap 'stop_banner; "$msb" stop --quiet --timeout 60 "$agent_zone" >/dev/null 2>&1 9>&-' EXIT - (( unattended )) || start_banner + trap '"$msb" stop --quiet --timeout 60 "$agent_zone" >/dev/null 2>&1 9>&-' EXIT if [[ $(agent_zone_wall) != "$wall" ]]; then rewall_agent_zone "$wall" 9>&- elif [[ $state == stopped ]]; then "$msb" start --quiet "$agent_zone" 9>&- || die "the agent's zone could not be started" fi local def=/home/agent/session/spaceturtle.yaml - local attach=(--tty) run=("$def") + # With someone there, the chat opens on the banner the README shows, moving: the agent's zone + # image holds it as a film of frames, and its docker-agent is built to play one (ADR 0005). + local attach=(--tty) run=(--banner-file /usr/local/share/spaceturtle/banner.txt "$def") if (( unattended )); then date -u +%Y-%m-%dT%H:%M:%SZ > "$state_dir/last-unattended" || die "cannot write $state_dir/last-unattended" # Nobody answers a prompt, and the definition's tools are the whole of what the agent may do. attach=(--no-stdin) run=(--exec --yolo "$def" "Begin a session: read the waiting Requests and answer them, then do your daily work.") fi - hold_banner; stop_banner # The key reaches the process by name (-e), never as an argument of any program: it is # exported by the shell itself, in a subshell that becomes msb. # The agent key's path, not the key, goes in the environment; the file is in the agent's zone. # The agent's zone is its sandbox already, so docker-agent is told not to make another. - # The chat names spaceturtle; the definition's welcome message stands where docker-agent's banner would. + # The chat names spaceturtle, not docker-agent. ( export "$key_var=$(<"$key_file")" "TOON_AGENT_KEY=${agent_key_path/\$HOME//home/agent}" exec "$msb" exec --quiet "${attach[@]}" -e "$key_var" -e TOON_AGENT_KEY \ diff --git a/tests/check-images b/tests/check-images index cf72ab6..bada0f9 100755 --- a/tests/check-images +++ b/tests/check-images @@ -24,16 +24,20 @@ for df in agent/Dockerfile connector/Dockerfile; do done < <(sed -n 's/^ARG \([A-Za-z0-9_=.:-]*\).*/\1/p' "$df") grep -q 'sha256sum -c' "$df" || problem "$df: toon's checksum is not verified" grep -q 'TOON_VERSION' "$df" || problem "$df: toon is not pinned" - grep -q -E '^FROM .*@\$\{[A-Z_]+DIGEST\}' "$df" || problem "$df: the base is not pinned by digest" + grep -q '^FROM ' "$df" && ! grep -E '^FROM ' "$df" | grep -q -v -E '@\$\{[A-Z_]+DIGEST\}' || problem "$df: a base is not pinned by digest" grep -q -E ':latest|\blatest/' "$df" && problem "$df: names latest" done grep -q 'sha512sum -c' connector/Dockerfile || problem "connector/Dockerfile: gVisor's checksum is not verified" +# docker-agent is built again from the commit of its release, and from nothing later. +grep -q 'rev-parse HEAD)" = "\$DOCKER_AGENT_COMMIT"' agent/Dockerfile || problem "agent/Dockerfile: docker-agent's source is not held to a commit" +[[ -s agent/docker-agent-banner.patch && -s agent/banner.awk ]] || problem "agent: the banner's patch or its generator is missing" # A version or a checksum that is not what it should look like. [[ $TOON_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || problem "TOON_VERSION is not a release" for v in TOON_SHA256_AMD64 TOON_SHA256_ARM64 DOCKER_AGENT_SHA256_AMD64; do [[ ${!v} =~ ^[0-9a-f]{64}$ ]] || problem "$v is not a sha256"; done for v in GVISOR_SHA512_AMD64 GVISOR_SHA512_ARM64; do [[ ${!v} =~ ^[0-9a-f]{128}$ ]] || problem "$v is not a sha512"; done -for v in DOCKER_AGENT_BASE_DIGEST CONNECTOR_BASE_DIGEST; do [[ ${!v} =~ ^sha256:[0-9a-f]{64}$ ]] || problem "$v is not a digest"; done +[[ $DOCKER_AGENT_COMMIT =~ ^[0-9a-f]{40}$ ]] || problem "DOCKER_AGENT_COMMIT is not a commit" +for v in DOCKER_AGENT_BASE_DIGEST CONNECTOR_BASE_DIGEST GO_IMAGE_DIGEST; do [[ ${!v} =~ ^sha256:[0-9a-f]{64}$ ]] || problem "$v is not a digest"; done # The agent's zone holds no wallet, passphrase or key. if grep -n -i -E 'passphrase|mnemonic|secret|agent_key|toon (init|wallet)|\.toon|config/toon|^(ENV|COPY|ADD|VOLUME)\b.*(key|wallet)' agent/Dockerfile | grep -v '^[0-9]*:#' | grep .; then @@ -42,7 +46,7 @@ fi # One command prints every version. out=$(./versions 2>&1) || problem "versions failed" -for v in "$TOON_VERSION" "$DOCKER_AGENT_VERSION" "$GVISOR_VERSION" "$DOCKER_AGENT_BASE_DIGEST" "$CONNECTOR_BASE_DIGEST"; do +for v in "$TOON_VERSION" "$DOCKER_AGENT_VERSION" "$GVISOR_VERSION" "$DOCKER_AGENT_BASE_DIGEST" "$CONNECTOR_BASE_DIGEST" "$DOCKER_AGENT_COMMIT" "$GO_VERSION"; do grep -qF -- "$v" <<<"$out" || problem "versions does not print $v" done exit $bad diff --git a/tests/run b/tests/run index 2908557..7c5c67f 100755 --- a/tests/run +++ b/tests/run @@ -860,6 +860,12 @@ image_check "a default for a version" "sed -i 's/^ARG TOON_VERSION\$/ARG TOON_VE image_check "an unchecked toon" "sed -i '/sha256sum -c/d' connector/Dockerfile" "checksum is not verified" image_check "an unchecked gVisor" "sed -i '/sha512sum -c/d' connector/Dockerfile" "gVisor's checksum" image_check "an unpinned base" "sed -i 's/@\${DOCKER_AGENT_BASE_DIGEST}//' agent/Dockerfile" "not pinned by digest" +image_check "an unpinned Go for docker-agent's build" "sed -i 's/@\${GO_IMAGE_DIGEST}//' agent/Dockerfile" "not pinned by digest" +image_check "docker-agent's source not held to its commit" "sed -i '/rev-parse HEAD/d' agent/Dockerfile" "not held to a commit" +# The film in the agent's zone image is the README's banner: 384 frames of twelve lines, the turtle's four widest rows in each. +film=$(awk -f "$root/images/agent/banner.awk" "$root/docs/assets/spaceturtle-banner-dark.svg") +[[ $(grep -c $'^\f$' <<< "$film") -eq 383 && $(grep -c -v $'^\f$' <<< "$film") -eq $((384 * 12)) && $(grep -c '███' <<< "$film") -eq $((384 * 4)) ]] && echo "ok the banner's film is whole" || { echo "FAIL the banner's film is whole"; fails=$((fails+1)); } +count=$((count+1)) image_check "a passphrase in the agent's zone" "echo 'ENV TOON_PASSPHRASE_FILE=/x' >> agent/Dockerfile" "passphrase, wallet or key" image_check "a toon init in the agent's zone" "echo 'RUN toon init' >> agent/Dockerfile" "passphrase, wallet or key" image_check "a pin that is no checksum" "sed -i 's/^TOON_SHA256_AMD64=.*/TOON_SHA256_AMD64=abc/' versions.env" "TOON_SHA256_AMD64 is not a sha256" @@ -983,6 +989,8 @@ launcher_env() { : > "$SPACETURTLE_KVM" export SPACETURTLE_SYSTEMCTL=$tmp/bin/systemctl SPACETURTLE_UNIT_DIR=$tmp/units SPACETURTLE_MODEL_KEY_FILE=$tmp/model-key export SPACETURTLE_AGENT_ZONE=agent-x SPACETURTLE_CONNECTOR_PORT=7123 SPACETURTLE_SUPERVISOR_WAIT=0 + # No zone is real here, so no port is: the launcher is told they are open, until a test says otherwise. + export SPACETURTLE_PORT_PROBE=true # A systemctl that records its calls. Restarting the unit that keeps the connector's zone # running runs what the unit runs, as systemd would, whatever comes of it. cat > "$SPACETURTLE_SYSTEMCTL" < /dev/null 2>&1 +launcher_check "a session opens on spaceturtle's banner, which a welcome message would hide" $? [[ $(<"$STUB_DIR/agent-wall") == "$BASE_WALL,allow@api.anthropic.com:tcp:443,$SKILL_WALL" ]] launcher_check "the agent's zone reaches name resolution, the two ports, the provider's host and the skills' hosts, and nothing else" $? ! grep -q secret-key-123 "$STUB_DIR/calls"; launcher_check "the model key is not an argument" $? @@ -1324,6 +1320,10 @@ session_env; run_cmd session --unattended; rc=$? [[ $rc -eq 0 && $(session_run) == "exec --quiet --no-stdin -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 --exec --yolo $GUEST_DEF "* ]] launcher_check "an unattended session runs without a terminal and without asking" $? [[ $(tail -2 "$(sdef)") == $'budget:\n max_cost: 1' ]] && cmp -s <(head -n -2 "$(sdef)") "$root/agent/spaceturtle.yaml"; launcher_check "an unattended session has a cost ceiling by default, as the definition's budget" $? +session_env; printf '#!/bin/bash\n[[ $1 != 7124 ]]\n' > "$tmp/bin/probe"; chmod +x "$tmp/bin/probe" +SPACETURTLE_PORT_PROBE=$tmp/bin/probe run_cmd session --unattended; rc=$? +[[ $rc -ne 0 && $(<"$tmp/out") == *"ports 7123 and 7124 of this machine do not both lead to it"*"spaceturtle stop"* ]] && ! grep -q 'docker-agent run' "$STUB_DIR/calls" +launcher_check "no session starts when the zone's ports are not open on the machine" $? run_cmd set ceiling 0.25; : > "$STUB_DIR/calls"; run_cmd session --unattended [[ $(tail -1 "$(sdef)") == " max_cost: 0.25" ]]; launcher_check "the ceiling can be changed" $? run_cmd set ceiling 0; [[ $? -ne 0 ]]; launcher_check "a ceiling of zero is refused" $? From 6daa1d3dacfeb5b31dbc8f5b3d5e4040f010357d Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 09:58:59 -0400 Subject: [PATCH 17/22] ADR 0005 names the pull request the banner is offered in (#57) Co-Authored-By: Claude Opus 5.5 --- docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md index af95568..468d4a7 100644 --- a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md +++ b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md @@ -2,7 +2,7 @@ A session is a chat that `docker-agent` draws. On an empty conversation it draws its own name in large letters, from a list of lines fixed in the program, and no flag, setting or field of an agent definition puts anything in its place except a welcome message, which is Markdown drawn once. spaceturtle's banner is a turtle that swims. So the agent's zone image no longer takes `docker-agent` as Docker built it: it builds the same release again from its source, with one change, `images/agent/docker-agent-banner.patch`, which adds `--banner-file`. The file is a film of frames, and `docker-agent` plays it on the clock its spinners already use, until the conversation starts. The image makes the film from the banner the README shows. -The change is offered to `docker/docker-agent`. When a release of theirs holds it, the build stage and the patch go, and the image takes Docker's program again. +The change is offered to `docker/docker-agent` as [pull request 4578](https://github.com/docker/docker-agent/pull/4578). When a release of theirs holds it, the build stage and the patch go, and the image takes Docker's program again. ## Considered Options From ab2dc6edb439d6d8cb02bda9953e7d95c4e570f3 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 10:15:31 -0400 Subject: [PATCH 18/22] spaceturtle alone is the conversation, and the stars fill the chat (#57) With nothing after it, spaceturtle starts a session. The banner's film is now a field of stars 240 characters wide and 64 high with the turtle in its middle, and docker-agent's patch cuts it down to the chat, so the stars reach every edge. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/images.yml | 2 +- README.md | 6 +- ...agents-zone-builds-its-own-docker-agent.md | 2 +- docs/development.md | 2 +- docs/guide/first-run.md | 2 +- docs/guide/launcher.md | 5 +- images/agent/Dockerfile | 6 +- images/agent/banner.awk | 43 +++++--- images/agent/docker-agent-banner.patch | 101 ++++++++++++------ install.sh | 2 +- spaceturtle | 6 +- tests/run | 9 +- 12 files changed, 122 insertions(+), 64 deletions(-) diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml index e60343b..29957df 100644 --- a/.github/workflows/images.yml +++ b/.github/workflows/images.yml @@ -48,7 +48,7 @@ jobs: run: | docker run --rm --entrypoint sh spaceturtle-agent-zone:ci -c ' docker-agent run --help | grep -q -- --banner-file && - [ "$(grep -c "$(printf "\\f")" /usr/local/share/spaceturtle/banner.txt)" = 383 ]' + [ "$(grep -c "$(printf "\\f")" /usr/local/share/spaceturtle/banner.txt)" = 239 ]' - name: jq is in the agent's zone, where the launcher rewrites the key file's addresses if: matrix.image == 'agent' run: docker run --rm --entrypoint jq spaceturtle-agent-zone:ci --version diff --git a/README.md b/README.md index 7e43e40..4df3abd 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ first run is on devnet and costs nothing. ```sh spaceturtle start # the connector's zone, a funded devnet wallet, the agent key, a backup spaceturtle key # your model provider's key, read from the terminal without showing it -spaceturtle session # a docker-agent session in the agent's zone +spaceturtle # talk to your agent: a session in the agent's zone spaceturtle status # the timer, the zones, the apps, and whether the relay answers ``` @@ -117,7 +117,7 @@ What the launcher gives the agent, and you: | Part | What it does | | --- | --- | -| [Sessions](docs/guide/launcher.md) | `spaceturtle session` is a conversation with the agent. The timer starts one every 6 hours with nobody present, in which the agent reads your Requests and does its daily work | +| [Sessions](docs/guide/launcher.md) | `spaceturtle`, with nothing after it, is a conversation with the agent. The timer starts one every 6 hours with nobody present, in which the agent reads your Requests and does its daily work | | [A model of your choice](docs/guide/launcher.md) | Anthropic, OpenAI, Google or Mistral by API key, or a ChatGPT account. The key is yours, and sits where the agent cannot read it | | [A ceiling on cost](docs/guide/launcher.md) | An unattended session stops when its model cost reaches the ceiling you set | | [A wall](docs/guide/launcher.md) | The agent's zone reaches its node, its model and the hosts its skills come from, and is refused everything else, your machine and your network included | @@ -131,7 +131,7 @@ What the launcher gives the agent, and you: | Command | What it does | | --- | --- | | [`spaceturtle start`](docs/guide/launcher.md) | Brings up the connector's zone on devnet, makes the agent key and a backup, and turns on the timer | -| [`spaceturtle session`](docs/guide/launcher.md) | Starts a `docker-agent` session in the agent's zone | +| [`spaceturtle`](docs/guide/launcher.md) | Starts a session in the agent's zone: a conversation with the agent. `spaceturtle session` is the same | | [`spaceturtle key`](docs/guide/launcher.md) | Reads the model key from the terminal and writes it where only you can read it | | [`spaceturtle set`](docs/guide/launcher.md) | Changes the model, or the ceiling on model cost of one unattended session | | [`spaceturtle timer`](docs/guide/launcher.md) | Controls the timer, which starts a session with nobody present | diff --git a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md index 468d4a7..f087496 100644 --- a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md +++ b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md @@ -1,6 +1,6 @@ # The agent's zone builds its own docker-agent -A session is a chat that `docker-agent` draws. On an empty conversation it draws its own name in large letters, from a list of lines fixed in the program, and no flag, setting or field of an agent definition puts anything in its place except a welcome message, which is Markdown drawn once. spaceturtle's banner is a turtle that swims. So the agent's zone image no longer takes `docker-agent` as Docker built it: it builds the same release again from its source, with one change, `images/agent/docker-agent-banner.patch`, which adds `--banner-file`. The file is a film of frames, and `docker-agent` plays it on the clock its spinners already use, until the conversation starts. The image makes the film from the banner the README shows. +A session is a chat that `docker-agent` draws. On an empty conversation it draws its own name in large letters, from a list of lines fixed in the program, and no flag, setting or field of an agent definition puts anything in its place except a welcome message, which is Markdown drawn once. spaceturtle's banner is a turtle that swims. So the agent's zone image no longer takes `docker-agent` as Docker built it: it builds the same release again from its source, with one change, `images/agent/docker-agent-banner.patch`, which adds `--banner-file`. The file is a film of frames, and `docker-agent` plays it on the clock its spinners already use, until the conversation starts, cut down to the middle of it when the chat is smaller. The image makes the film: the turtle of the banner the README shows, flying through a field of stars large enough to fill the chat of a large terminal. The change is offered to `docker/docker-agent` as [pull request 4578](https://github.com/docker/docker-agent/pull/4578). When a release of theirs holds it, the build stage and the patch go, and the image takes Docker's program again. diff --git a/docs/development.md b/docs/development.md index 927071c..c7d5867 100644 --- a/docs/development.md +++ b/docs/development.md @@ -29,7 +29,7 @@ without an agent node. | `install.sh` | The one command a person runs first: checks the machine, installs the launcher and the agent definition of a release with a `version` file beside them (the launcher then pulls that release's zone images), links it into `~/.local/bin`, and puts the pinned microsandbox (`msb`), which the zones run in, in `~/.local/share/spaceturtle/msb` | | `agent/spaceturtle.yaml` | The agent's definition for `docker-agent`: its instruction, its file tool and the skills it loads. A release publishes it as it is | | `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key, and `docker-agent` built again with the banner, see below) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | -| `images/agent/docker-agent-banner.patch`, `images/agent/banner.awk` | The one change to `docker-agent` the agent's zone carries, `--banner-file` (ADR 0005), and what turns `docs/assets/spaceturtle-banner-dark.svg` into the film of frames it plays. The image build is given `docs/assets` as the build context named `assets` | +| `images/agent/docker-agent-banner.patch`, `images/agent/banner.awk` | The one change to `docker-agent` the agent's zone carries, `--banner-file` (ADR 0005), and what makes the film of frames it plays: the turtle of `docs/assets/spaceturtle-banner-dark.svg` in a field of stars 240 characters wide and 64 high, of which the chat shows the middle. The image build is given `docs/assets` as the build context named `assets` | | `images/versions.env`, `images/versions` | Every pin the two images add, with its checksum, and the `docker-agent` program a release publishes with; the command that prints the images' versions for release notes | | `.github/workflows/images.yml` | Builds both images on every change to `images/`. It does not publish | | `release/references`, `release/publish-definition`, `release/mark-latest`, `release/notes` | What a release publishes, under which names; the definition pushed to each registry and read back, byte for byte; `latest` moved to a release once it is all published; the release's notes | diff --git a/docs/guide/first-run.md b/docs/guide/first-run.md index cfcae46..88f332f 100644 --- a/docs/guide/first-run.md +++ b/docs/guide/first-run.md @@ -72,7 +72,7 @@ It is safe to run again: a second run creates, initialises and funds nothing, an interrupted run finishes the rest. The passphrase is made inside the zone and is never printed and never written to your machine's disk. -Then give it its model key and start a session by hand with `spaceturtle session`. +Then give it its model key and start a session by hand with `spaceturtle`. The wallet is funded with the devnet token and no gas. To pay an app on another connector the node must open a channel, which is a transaction: send a little Base Sepolia ETH, from diff --git a/docs/guide/launcher.md b/docs/guide/launcher.md index 9afb949..43f834b 100644 --- a/docs/guide/launcher.md +++ b/docs/guide/launcher.md @@ -71,8 +71,9 @@ refused and changes nothing: `toon` has no command that moves a home to another Install on another network is another Install (`spaceturtle remove --delete-wallet`, then `start` with the flags; an Install's wallet is made for it, so fund it with little). -`spaceturtle session` starts a `docker-agent` session in the agent's zone, which is made -from the agent's zone image (`SPACETURTLE_AGENT_IMAGE`), on a copy of +`spaceturtle`, with nothing after it, or `spaceturtle session`, starts a `docker-agent` +session in the agent's zone, which is made from the agent's zone image +(`SPACETURTLE_AGENT_IMAGE`), on a copy of `agent/spaceturtle.yaml` that the zone mounts read-only. The zone is stopped when the session ends, and one session runs at a time. No session starts while the connector's zone is not running. diff --git a/images/agent/Dockerfile b/images/agent/Dockerfile index 5ab84b4..2a64995 100644 --- a/images/agent/Dockerfile +++ b/images/agent/Dockerfile @@ -10,8 +10,8 @@ ARG GO_IMAGE_DIGEST # docker-agent of the same release, built again with one change: --banner-file, which draws # a film of frames where docker-agent's own banner would be (ADR 0005). The source is held to -# the commit of the release, and the film is made from the banner the README shows, which the -# build is given as the context named assets (docs/assets). +# the commit of the release, and the film's turtle is the one of the banner the README shows, +# which the build is given as the context named assets (docs/assets). FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine@${GO_IMAGE_DIGEST} AS docker-agent ARG TARGETARCH ARG DOCKER_AGENT_VERSION @@ -28,7 +28,7 @@ RUN --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache -o /out/docker-agent . COPY banner.awk /tmp/ COPY --from=assets spaceturtle-banner-dark.svg /tmp/ -RUN awk -f /tmp/banner.awk /tmp/spaceturtle-banner-dark.svg > /out/banner.txt && [ "$(grep -c "$(printf '\f')" /out/banner.txt)" = 383 ] +RUN awk -f /tmp/banner.awk /tmp/spaceturtle-banner-dark.svg > /out/banner.txt && [ "$(grep -c "$(printf '\f')" /out/banner.txt)" = 239 ] FROM docker/docker-agent-sbx-templates:${DOCKER_AGENT_VERSION}@${DOCKER_AGENT_BASE_DIGEST} diff --git a/images/agent/banner.awk b/images/agent/banner.awk index b32ec9a..b9fa659 100644 --- a/images/agent/banner.awk +++ b/images/agent/banner.awk @@ -1,33 +1,46 @@ -# Turns docs/assets/spaceturtle-banner-dark.svg into the frames docker-agent plays where its -# own banner would be (--banner-file): two squares of the picture to a character, a frame -# every tenth of a second, a form feed between frames. The near stars move a square a frame -# and the far ones a square every third frame, so the film closes on itself after 384 frames. -# The turtle takes the terminal's own colour, so it shows on a light one as on a dark one. +# Makes the film docker-agent plays where its own banner would be (--banner-file): the turtle +# of docs/assets/spaceturtle-banner-dark.svg, with its two strokes and that banner's colours, +# flying through a field of stars large enough to fill the chat of a large terminal. The chat +# shows the middle of it, so the stars reach every edge whatever the terminal's size. +# Two squares of the picture go to a character, a frame lasts a tenth of a second and a form +# feed parts the frames. The field is 240 squares wide and 128 high. The near stars move a +# square a frame; the far ones move a square every second frame and their half of the field +# is laid twice side by side, so the film closes on itself after 240 frames. +# The stars are scattered by a fixed rule, as thickly as in the README's banner, so every +# build makes the same film. The turtle takes the terminal's own colour, so it shows on a +# light one as on a dark one. +function rnd(n) { seed = (seed * 1103515245 + 12345) % 2147483648; return int(seed / 65536) % n } function px(x, y) { if (stroke ? ((x, y) in tb) : ((x, y) in ta)) return 1 - if (((x + t) % 128, y) in near) return 2 - if (((x + int(t / 3)) % 128, y) in far) return 3 + if (((x + t) % W, y) in near) return 2 + if (((x + int(t / 2)) % (W / 2), y) in far) return 3 return 0 } +BEGIN { W = 240; H = 128; seed = 57 } / 2 { split($0, q, "\"") for (j = 0; j < q[6]; j++) { - if (g == 1) far[(q[2] + j) % 128, q[4]]; else if (g == 2) near[(q[2] + j) % 128, q[4]] - else if (g == 3) ta[q[2] + j, q[4]]; else tb[q[2] + j, q[4]] + x = q[2] + j + (W - 128) / 2; y = q[4] + (H - 24) / 2 + if (g == 3) ta[x, y]; else tb[x, y] } } END { + for (i = 0; i < W / 2 * H * 26 / (128 * 24); i++) far[rnd(W / 2), rnd(H)] + for (i = 0; i < W; i++) blank = blank " " + for (i = 0; i < W * H * 14 / (128 * 24); i++) { x = rnd(W); y = rnd(H); near[x, y]; near[(x + 1) % W, y] } fg[1] = "\033[39m"; fg[2] = "\033[38;2;170;182;224m"; fg[3] = "\033[38;2;86;98;143m" bg[2] = "\033[48;2;170;182;224m"; bg[3] = "\033[48;2;86;98;143m" - for (t = 0; t < 384; t++) { + for (t = 0; t < W; t++) { stroke = int(t / 4) % 2 if (t) print "\f" - for (r = 0; r < 12; r++) { - line = ""; ink = 0 - for (x = 32; x < 96; x++) { + for (r = 0; r < H / 2; r++) { + line = ""; ink = 0; gap = 0 + for (x = 0; x < W; x++) { u = px(x, 2 * r); d = px(x, 2 * r + 1) - if (!u && !d) { line = line " "; continue } + if (!u && !d) { gap++; continue } + line = line substr(blank, 1, gap); gap = 0 if (u && d && u != d) { if (d == 1) line = line fg[1] bg[u] "▄\033[49m"; else line = line fg[u] bg[d] "▀\033[49m" ink = d == 1 ? 1 : u; continue diff --git a/images/agent/docker-agent-banner.patch b/images/agent/docker-agent-banner.patch index 387add6..1cfeec5 100644 --- a/images/agent/docker-agent-banner.patch +++ b/images/agent/docker-agent-banner.patch @@ -1,23 +1,3 @@ -From b3a31f5b633183aa496c2524f8ad593f2f7d2c54 Mon Sep 17 00:00:00 2001 -From: Jonathan Green -Date: Tue, 13 Oct 2026 09:38:54 -0400 -Subject: [PATCH] tui: --banner-file replaces the startup banner, with frames - that animate - -Signed-off-by: Jonathan Green ---- - cmd/root/run.go | 10 +++ - docs/features/cli/index.md | 2 + - docs/features/tui/index.md | 5 ++ - pkg/tui/banner/banner.go | 110 +++++++++++++++++++++++++++++++ - pkg/tui/banner/banner_test.go | 74 +++++++++++++++++++++ - pkg/tui/page/chat/banner_test.go | 91 +++++++++++++++++++++++++ - pkg/tui/page/chat/chat.go | 53 ++++++++++++++- - pkg/tui/tui.go | 11 ++++ - 8 files changed, 354 insertions(+), 2 deletions(-) - create mode 100644 pkg/tui/banner/banner_test.go - create mode 100644 pkg/tui/page/chat/banner_test.go - diff --git a/cmd/root/run.go b/cmd/root/run.go index b5efa8b..ebc38cb 100644 --- a/cmd/root/run.go @@ -81,14 +61,14 @@ index a41b354..1e03b9b 100644 $ docker agent run agent.yaml --disable-commands="/cost,/eval,/model" diff --git a/docs/features/tui/index.md b/docs/features/tui/index.md -index 831f91a..0464dfc 100644 +index 831f91a..85f4e64 100644 --- a/docs/features/tui/index.md +++ b/docs/features/tui/index.md @@ -15,6 +15,8 @@ _Docker Agent's default interface is a rich, interactive terminal UI with file a Both the full TUI and the lean TUI display a centered ASCII art Docker Agent banner on startup when the chat is empty. The banner is automatically hidden once the agent starts responding or when a custom welcome message is configured. You can disable the banner entirely from the **Appearance** tab of `/settings`, or by setting `show_banner: false` in your [user settings](../../configuration/user-settings/index.md). -+To draw your own art in the full TUI instead, pass `--banner-file ` with a text file. A line holding only a form feed (`\f`) separates frames; a file with several frames plays them in a loop, one every 100ms, until the conversation starts. Lines may carry ANSI color sequences. The lean TUI keeps the default banner. ++To draw your own art in the full TUI instead, pass `--banner-file ` with a text file. A line holding only a form feed (`\f`) separates frames; a file with several frames plays them in a loop, one every 100ms, until the conversation starts. Lines may carry ANSI color sequences. Art larger than the chat area is cropped around its center, so a backdrop sized for a large terminal fills a small one. The lean TUI keeps the default banner. + ```bash # Launch with a config @@ -104,7 +84,7 @@ index 831f91a..0464dfc 100644 $ docker agent run agent.yaml --theme dracula diff --git a/pkg/tui/banner/banner.go b/pkg/tui/banner/banner.go -index b6f28e1..f75123e 100644 +index b6f28e1..491f96e 100644 --- a/pkg/tui/banner/banner.go +++ b/pkg/tui/banner/banner.go @@ -1,10 +1,30 @@ @@ -133,12 +113,12 @@ index b6f28e1..f75123e 100644 +const FrameSeparator = "\f" + +// maxFileSize bounds a banner file; the art is redrawn on every frame change. -+const maxFileSize = 4 << 20 ++const maxFileSize = 16 << 20 + // Lines is the Docker Agent ASCII-art startup banner. var Lines = []string{ `██████╗ ██████╗ ██████╗██╗ ██╗███████╗██████╗ `, -@@ -21,3 +41,93 @@ var Lines = []string{ +@@ -21,3 +41,123 @@ var Lines = []string{ ` ██║ ██║╚██████╔╝███████╗██║ ╚████║ ██║ `, ` ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ `, } @@ -149,6 +129,9 @@ index b6f28e1..f75123e 100644 + frames []string + width int + height int ++ // crops marks art that is cut down to an area smaller than itself ++ // rather than left out. ++ crops bool +} + +// Default returns the Docker Agent banner. @@ -198,7 +181,7 @@ index b6f28e1..f75123e 100644 + return Banner{}, errors.New("no banner art found") + } + -+ b := Banner{width: width, height: height, frames: make([]string, 0, len(frames))} ++ b := Banner{width: width, height: height, crops: true, frames: make([]string, 0, len(frames))} + for _, lines := range frames { + for i, line := range lines { + lines[i] = line + strings.Repeat(" ", width-ansi.StringWidth(line)) @@ -214,6 +197,33 @@ index b6f28e1..f75123e 100644 +func (b Banner) Width() int { return b.width } +func (b Banner) Height() int { return b.height } + ++// Fits reports whether the banner can be drawn in the given area. Art read ++// from a file always can: it is cut down around its center, so a backdrop ++// larger than any terminal fills the area whatever its size. ++func (b Banner) Fits(width, height int) bool { ++ if width <= 0 || height <= 0 { ++ return false ++ } ++ return b.crops || (width >= b.width && height >= b.height) ++} ++ ++// Crop cuts a frame down around its center to at most the given area. ++func (b Banner) Crop(frame string, width, height int) string { ++ if width >= b.width && height >= b.height { ++ return frame ++ } ++ lines := strings.Split(frame, "\n") ++ if extra := len(lines) - height; extra > 0 { ++ lines = lines[extra/2 : extra/2+height] ++ } ++ if extra := b.width - width; extra > 0 { ++ for i, line := range lines { ++ lines[i] = ansi.Cut(line, extra/2, extra/2+width) ++ } ++ } ++ return strings.Join(lines, "\n") ++} ++ +// Animated reports whether the banner has more than one frame. +func (b Banner) Animated() bool { return len(b.frames) > 1 } + @@ -234,10 +244,10 @@ index b6f28e1..f75123e 100644 +} diff --git a/pkg/tui/banner/banner_test.go b/pkg/tui/banner/banner_test.go new file mode 100644 -index 0000000..0709038 +index 0000000..6fa8bee --- /dev/null +++ b/pkg/tui/banner/banner_test.go -@@ -0,0 +1,74 @@ +@@ -0,0 +1,98 @@ +package banner + +import ( @@ -247,6 +257,7 @@ index 0000000..0709038 + "testing" + "time" + ++ "github.com/charmbracelet/x/ansi" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) @@ -286,6 +297,29 @@ index 0000000..0709038 + assert.Equal(t, "ab \ncd ", b.FrameAt(3*FrameDuration), "the frames loop") +} + ++func TestDefaultIsLeftOutOfAnAreaTooSmallForIt(t *testing.T) { ++ t.Parallel() ++ ++ b := Default() ++ assert.True(t, b.Fits(Width, Height)) ++ assert.False(t, b.Fits(Width-1, Height)) ++ assert.False(t, b.Fits(Width, Height-1)) ++} ++ ++func TestArtFromAFileIsCroppedAroundItsCenter(t *testing.T) { ++ t.Parallel() ++ ++ b, err := Parse("abcdef\n\x1b[31mghijkl\x1b[39m\nmnopqr\nstuvwx") ++ require.NoError(t, err) ++ require.True(t, b.Fits(2, 2)) ++ assert.False(t, b.Fits(0, 2)) ++ ++ frame := b.FrameAt(0) ++ assert.Equal(t, frame, b.Crop(frame, 6, 4), "an area large enough leaves the art whole") ++ assert.Equal(t, "hijk\nnopq", ansi.Strip(b.Crop(frame, 4, 2))) ++ assert.Contains(t, b.Crop(frame, 4, 2), "\x1b[31m", "colors survive the cut") ++} ++ +func TestParseRejectsEmptyArt(t *testing.T) { + t.Parallel() + @@ -410,7 +444,7 @@ index 0000000..f7ffacf + assert.Nil(t, ar.Continue()) +} diff --git a/pkg/tui/page/chat/chat.go b/pkg/tui/page/chat/chat.go -index 76683bd..c5ba70a 100644 +index 76683bd..ce46993 100644 --- a/pkg/tui/page/chat/chat.go +++ b/pkg/tui/page/chat/chat.go @@ -254,6 +254,8 @@ type chatPage struct { @@ -467,7 +501,7 @@ index 76683bd..c5ba70a 100644 switch msg := msg.(type) { case msgtypes.PlanSidebarDataMsg: updated, cmd := p.sidebar.Update(msg) -@@ -844,11 +863,20 @@ func (p *chatPage) messagesView(sl sidebarLayout) string { +@@ -844,11 +863,21 @@ func (p *chatPage) messagesView(sl sidebarLayout) string { if messagesView != "" || !p.showStartupBanner || p.hideBanner { return messagesView } @@ -477,7 +511,7 @@ index 76683bd..c5ba70a 100644 + // Page literals carry no banner; they get the default one. + art = tuibanner.Default() + } -+ if sl.chatWidth < art.Width() || sl.chatHeight < art.Height() { ++ if !art.Fits(sl.chatWidth, sl.chatHeight) { return "" } @@ -486,11 +520,12 @@ index 76683bd..c5ba70a 100644 + if art.Animated() { + elapsed = p.ar.Now() + } -+ banner := styles.BaseStyle.Foreground(styles.Accent).Render(art.FrameAt(elapsed)) ++ frame := art.Crop(art.FrameAt(elapsed), sl.chatWidth, sl.chatHeight) ++ banner := styles.BaseStyle.Foreground(styles.Accent).Render(frame) return lipgloss.Place( sl.chatWidth, sl.chatHeight, -@@ -858,6 +886,27 @@ func (p *chatPage) messagesView(sl sidebarLayout) string { +@@ -858,6 +887,27 @@ func (p *chatPage) messagesView(sl sidebarLayout) string { ) } diff --git a/install.sh b/install.sh index 48cfc34..4f42663 100755 --- a/install.sh +++ b/install.sh @@ -110,4 +110,4 @@ step() { echo " $n. $*"; n=$((n + 1)); } case ":$PATH:" in *":$bin:"*) ;; *) step "export PATH=\"$bin:\$PATH\" (and add it to your shell's profile)" ;; esac step "spaceturtle start (about a minute; makes the Install on devnet)" step "spaceturtle key (your model provider's key, read without showing it)" -step "spaceturtle session (talk to your agent)" +step "spaceturtle (talk to your agent)" diff --git a/spaceturtle b/spaceturtle index 7955756..b6fb162 100755 --- a/spaceturtle +++ b/spaceturtle @@ -54,7 +54,9 @@ # stake: `start` says so and asks for the word "mainnet" before it makes anything, and # funds nothing, since there is no faucet. # +# spaceturtle # spaceturtle session [--unattended] +# With nothing after it, `spaceturtle` is `spaceturtle session`. # Starts a `docker-agent` session in the agent's zone, with the agent # definition mounted read-only. The agent's zone reaches name resolution, the # model provider's host, the host of the network's connector, where the agent's @@ -1080,6 +1082,8 @@ cmd_remove() { } case ${1:-} in + # With nothing after it, spaceturtle is the conversation. + "") session ;; start) shift; start "$@" ;; session) shift; session "$@" ;; supervise) supervise ;; @@ -1095,5 +1099,5 @@ case ${1:-} in upgrade) [[ $# -eq 1 ]] || die "usage: spaceturtle upgrade"; cmd_upgrade ;; backup) [[ $# -eq 1 ]] || die "usage: spaceturtle backup"; cmd_backup ;; remove) shift; cmd_remove "$@" ;; - *) die "usage: spaceturtle start [flags] | stop | upgrade | backup | remove [--delete-wallet] | session | timer | set | key | status | waiting | approve | refuse [reason] | agent-key show|replace|revoke|limit " ;; + *) die "usage: spaceturtle (a session) | start [flags] | stop | upgrade | backup | remove [--delete-wallet] | session | timer | set | key | status | waiting | approve | refuse [reason] | agent-key show|replace|revoke|limit " ;; esac diff --git a/tests/run b/tests/run index 7c5c67f..84f02b8 100755 --- a/tests/run +++ b/tests/run @@ -862,9 +862,12 @@ image_check "an unchecked gVisor" "sed -i '/sha512sum -c/d' connector/Dockerfile image_check "an unpinned base" "sed -i 's/@\${DOCKER_AGENT_BASE_DIGEST}//' agent/Dockerfile" "not pinned by digest" image_check "an unpinned Go for docker-agent's build" "sed -i 's/@\${GO_IMAGE_DIGEST}//' agent/Dockerfile" "not pinned by digest" image_check "docker-agent's source not held to its commit" "sed -i '/rev-parse HEAD/d' agent/Dockerfile" "not held to a commit" -# The film in the agent's zone image is the README's banner: 384 frames of twelve lines, the turtle's four widest rows in each. +# The film in the agent's zone image: 240 frames of 64 lines, the turtle's four widest rows in each, +# and stars on the first and the last line of the field, since the stars are to fill the chat. film=$(awk -f "$root/images/agent/banner.awk" "$root/docs/assets/spaceturtle-banner-dark.svg") -[[ $(grep -c $'^\f$' <<< "$film") -eq 383 && $(grep -c -v $'^\f$' <<< "$film") -eq $((384 * 12)) && $(grep -c '███' <<< "$film") -eq $((384 * 4)) ]] && echo "ok the banner's film is whole" || { echo "FAIL the banner's film is whole"; fails=$((fails+1)); } +[[ $(grep -c $'^\f$' <<< "$film") -eq 239 && $(grep -c -v $'^\f$' <<< "$film") -eq $((240 * 64)) && $(grep -c '███' <<< "$film") -eq $((240 * 4)) ]] \ + && [[ $(sed -n 1p <<< "$film") == *[▀▄█]* && $(sed -n 64p <<< "$film") == *[▀▄█]* ]] \ + && echo "ok the banner's film is whole, with stars to its edges" || { echo "FAIL the banner's film is whole, with stars to its edges"; fails=$((fails+1)); } count=$((count+1)) image_check "a passphrase in the agent's zone" "echo 'ENV TOON_PASSPHRASE_FILE=/x' >> agent/Dockerfile" "passphrase, wallet or key" image_check "a toon init in the agent's zone" "echo 'RUN toon init' >> agent/Dockerfile" "passphrase, wallet or key" @@ -1276,6 +1279,8 @@ session_env; run_cmd session; rc=$? run=$(session_run) [[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 --banner-file /usr/local/share/spaceturtle/banner.txt $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" launcher_check "a session runs docker-agent in the agent's zone, on the definition as shipped" $? +session_env; run_cmd; rc=$? +[[ $rc -eq 0 && $(session_run) == "$run" ]]; launcher_check "spaceturtle with nothing after it is a session" $? # With someone there the chat opens on the banner; nobody watches an unattended session. [[ $run == *" --banner-file /usr/local/share/spaceturtle/banner.txt $GUEST_DEF" ]] && ! yq -e '.agents.spaceturtle | has("welcome_message")' "$root/agent/spaceturtle.yaml" > /dev/null 2>&1 launcher_check "a session opens on spaceturtle's banner, which a welcome message would hide" $? From 63c198f1145ad21d0bde6ba82701ead42de74014 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 10:54:17 -0400 Subject: [PATCH 19/22] The chat's sidebar lists the node's apps (#57) docker-agent's patch gains --sidebar-section, which shows a command's output as a section of the sidebar, and the launcher gives it spaceturtle-apps: each app behind the agent node's connectors, whether it runs, and the apps that wait for the Observer, as toon status tells the session's agent key (ADR 0005). Co-Authored-By: Claude Opus 5.5 --- .github/workflows/images.yml | 3 +- ...agents-zone-builds-its-own-docker-agent.md | 12 +- docs/development.md | 2 +- images/agent/Dockerfile | 12 +- ...-agent-banner.patch => docker-agent.patch} | 398 +++++++++++++++++- images/agent/spaceturtle-apps | 14 + images/versions | 2 +- images/versions.env | 2 +- spaceturtle | 3 +- tests/check-images | 2 +- tests/run | 9 +- 11 files changed, 420 insertions(+), 39 deletions(-) rename images/agent/{docker-agent-banner.patch => docker-agent.patch} (60%) create mode 100755 images/agent/spaceturtle-apps diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml index 29957df..72188e6 100644 --- a/.github/workflows/images.yml +++ b/.github/workflows/images.yml @@ -43,11 +43,12 @@ jobs: docker run --rm --entrypoint sh spaceturtle-agent-zone:ci -c ' ! env | grep -i -E "passphrase|mnemonic|secret|agent_key" && ! ls -d "$HOME/.toon" "$HOME/.config/toon" "$HOME/.local/share/toon" 2>/dev/null | grep .' - - name: docker-agent in the agent's zone plays a banner, and the banner is there + - name: docker-agent in the agent's zone plays a banner and takes a sidebar section, and both are there if: matrix.image == 'agent' run: | docker run --rm --entrypoint sh spaceturtle-agent-zone:ci -c ' docker-agent run --help | grep -q -- --banner-file && + docker-agent run --help | grep -q -- --sidebar-section && [ -x /usr/local/bin/spaceturtle-apps ] && [ "$(grep -c "$(printf "\\f")" /usr/local/share/spaceturtle/banner.txt)" = 239 ]' - name: jq is in the agent's zone, where the launcher rewrites the key file's addresses if: matrix.image == 'agent' diff --git a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md index f087496..c4a9a42 100644 --- a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md +++ b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md @@ -1,8 +1,10 @@ # The agent's zone builds its own docker-agent -A session is a chat that `docker-agent` draws. On an empty conversation it draws its own name in large letters, from a list of lines fixed in the program, and no flag, setting or field of an agent definition puts anything in its place except a welcome message, which is Markdown drawn once. spaceturtle's banner is a turtle that swims. So the agent's zone image no longer takes `docker-agent` as Docker built it: it builds the same release again from its source, with one change, `images/agent/docker-agent-banner.patch`, which adds `--banner-file`. The file is a film of frames, and `docker-agent` plays it on the clock its spinners already use, until the conversation starts, cut down to the middle of it when the chat is smaller. The image makes the film: the turtle of the banner the README shows, flying through a field of stars large enough to fill the chat of a large terminal. +A session is a chat that `docker-agent` draws. On an empty conversation it draws its own name in large letters, from a list of lines fixed in the program, and no flag, setting or field of an agent definition puts anything in its place except a welcome message, which is Markdown drawn once. spaceturtle's banner is a turtle that swims. So the agent's zone image no longer takes `docker-agent` as Docker built it: it builds the same release again from its source, with the changes of `images/agent/docker-agent.patch`. The first adds `--banner-file`. The file is a film of frames, and `docker-agent` plays it on the clock its spinners already use, until the conversation starts, cut down to the middle of it when the chat is smaller. The image makes the film: the turtle of the banner the README shows, flying through a field of stars large enough to fill the chat of a large terminal. -The change is offered to `docker/docker-agent` as [pull request 4578](https://github.com/docker/docker-agent/pull/4578). When a release of theirs holds it, the build stage and the patch go, and the image takes Docker's program again. +The second change adds `--sidebar-section`. The chat's sidebar has a fixed list of sections (Session, Token Usage, Agent, Tools) and none for what an agent node runs. The flag adds a section whose body is the output of a command, run again every five seconds. The launcher gives it `spaceturtle-apps`, a script in the image that asks `toon status` with the session's agent key and lists each app, whether it runs, and the apps that wait for the Observer. + +Both changes are offered to `docker/docker-agent`, the banner as [pull request 4578](https://github.com/docker/docker-agent/pull/4578). When a release of theirs holds both, the build stage and the patch go, and the image takes Docker's program again. ## Considered Options @@ -13,8 +15,8 @@ The change is offered to `docker/docker-agent` as [pull request 4578](https://gi ## Consequences -- The `docker-agent` in the agent's zone is not the one Docker published. It is held to the commit of the release (`DOCKER_AGENT_COMMIT`), built by a pinned Go, and differs by a patch of one flag that anyone can read. What it may do is unchanged: the patch touches the chat's drawing and nothing of tools, keys or the network. -- Moving `docker-agent` to a new release means the patch must still apply. The image build fails if it does not, which is where this is found. +- The `docker-agent` in the agent's zone is not the one Docker published. It is held to the commit of the release (`DOCKER_AGENT_COMMIT`), built by a pinned Go, and differs by a patch of two flags that anyone can read. The banner touches only the chat's drawing. The sidebar section runs a command in the agent's zone every five seconds while a chat is open: the one the launcher names, with what the session already has, the agent key. It asks the node for its status, which the key's scope allows and which costs nothing, and it can do no more than the agent can. +- Moving `docker-agent` to a new release means the patch must still apply. The image build fails if it does not, which is where this is found. The sidebar is a file Docker changes often, so this is more likely for the second change than for the first. - The image build takes about four minutes longer. - A release still publishes the agent definition with `docker-agent` as Docker published it, which is enough: the definition holds nothing of the banner. -- Only a session with someone there is given the banner. An unattended one has no chat. +- Only a session with someone there is given the banner and the section. An unattended one has no chat. diff --git a/docs/development.md b/docs/development.md index c7d5867..a5c9d16 100644 --- a/docs/development.md +++ b/docs/development.md @@ -29,7 +29,7 @@ without an agent node. | `install.sh` | The one command a person runs first: checks the machine, installs the launcher and the agent definition of a release with a `version` file beside them (the launcher then pulls that release's zone images), links it into `~/.local/bin`, and puts the pinned microsandbox (`msb`), which the zones run in, in `~/.local/share/spaceturtle/msb` | | `agent/spaceturtle.yaml` | The agent's definition for `docker-agent`: its instruction, its file tool and the skills it loads. A release publishes it as it is | | `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key, and `docker-agent` built again with the banner, see below) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | -| `images/agent/docker-agent-banner.patch`, `images/agent/banner.awk` | The one change to `docker-agent` the agent's zone carries, `--banner-file` (ADR 0005), and what makes the film of frames it plays: the turtle of `docs/assets/spaceturtle-banner-dark.svg` in a field of stars 240 characters wide and 64 high, of which the chat shows the middle. The image build is given `docs/assets` as the build context named `assets` | +| `images/agent/docker-agent.patch`, `images/agent/banner.awk`, `images/agent/spaceturtle-apps` | The two changes to `docker-agent` the agent's zone carries, `--banner-file` and `--sidebar-section` (ADR 0005), what lists the node's apps for the sidebar, and what makes the film of frames it plays: the turtle of `docs/assets/spaceturtle-banner-dark.svg` in a field of stars 240 characters wide and 64 high, of which the chat shows the middle. The image build is given `docs/assets` as the build context named `assets` | | `images/versions.env`, `images/versions` | Every pin the two images add, with its checksum, and the `docker-agent` program a release publishes with; the command that prints the images' versions for release notes | | `.github/workflows/images.yml` | Builds both images on every change to `images/`. It does not publish | | `release/references`, `release/publish-definition`, `release/mark-latest`, `release/notes` | What a release publishes, under which names; the definition pushed to each registry and read back, byte for byte; `latest` moved to a release once it is all published; the release's notes | diff --git a/images/agent/Dockerfile b/images/agent/Dockerfile index 2a64995..4c7d704 100644 --- a/images/agent/Dockerfile +++ b/images/agent/Dockerfile @@ -8,8 +8,9 @@ ARG DOCKER_AGENT_BASE_DIGEST ARG GO_VERSION ARG GO_IMAGE_DIGEST -# docker-agent of the same release, built again with one change: --banner-file, which draws -# a film of frames where docker-agent's own banner would be (ADR 0005). The source is held to +# docker-agent of the same release, built again with two changes (ADR 0005): --banner-file, +# which draws a film of frames where docker-agent's own banner would be, and --sidebar-section, +# which shows a command's output in the chat's sidebar. The source is held to # the commit of the release, and the film's turtle is the one of the banner the README shows, # which the build is given as the context named assets (docs/assets). FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine@${GO_IMAGE_DIGEST} AS docker-agent @@ -20,8 +21,8 @@ RUN apk add --no-cache git WORKDIR /src RUN git clone --quiet --depth 1 --branch "v${DOCKER_AGENT_VERSION}" https://github.com/docker/docker-agent.git . \ && [ "$(git rev-parse HEAD)" = "$DOCKER_AGENT_COMMIT" ] -COPY docker-agent-banner.patch /tmp/ -RUN git apply /tmp/docker-agent-banner.patch +COPY docker-agent.patch /tmp/ +RUN git apply /tmp/docker-agent.patch RUN --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache/go-build \ CGO_ENABLED=0 GOOS=linux GOARCH=$TARGETARCH go build -trimpath -tags no_audio \ -ldflags "-s -w -X github.com/docker/docker-agent/pkg/version.Version=v${DOCKER_AGENT_VERSION} -X github.com/docker/docker-agent/pkg/version.Commit=${DOCKER_AGENT_COMMIT}" \ @@ -56,7 +57,8 @@ toon --version SCRIPT COPY --from=docker-agent /out/docker-agent /usr/local/bin/docker-agent COPY --from=docker-agent /out/banner.txt /usr/local/share/spaceturtle/banner.txt -RUN docker-agent run --help | grep -q -- --banner-file +COPY --chmod=0755 spaceturtle-apps /usr/local/bin/spaceturtle-apps +RUN docker-agent run --help | grep -q -- --banner-file && docker-agent run --help | grep -q -- --sidebar-section USER agent LABEL org.opencontainers.image.title="spaceturtle agent's zone" \ org.opencontainers.image.description="docker-agent's sandbox image with toon and spaceturtle's banner, with nothing of a wallet in it" \ diff --git a/images/agent/docker-agent-banner.patch b/images/agent/docker-agent.patch similarity index 60% rename from images/agent/docker-agent-banner.patch rename to images/agent/docker-agent.patch index 1cfeec5..597658e 100644 --- a/images/agent/docker-agent-banner.patch +++ b/images/agent/docker-agent.patch @@ -1,35 +1,49 @@ diff --git a/cmd/root/run.go b/cmd/root/run.go -index b5efa8b..ebc38cb 100644 +index b5efa8b..0cfb6ce 100644 --- a/cmd/root/run.go +++ b/cmd/root/run.go -@@ -41,6 +41,7 @@ import ( +@@ -41,6 +41,8 @@ import ( "github.com/docker/docker-agent/pkg/telemetry" "github.com/docker/docker-agent/pkg/tour" "github.com/docker/docker-agent/pkg/tui" + tuibanner "github.com/docker/docker-agent/pkg/tui/banner" ++ "github.com/docker/docker-agent/pkg/tui/components/sidebar" tuiimage "github.com/docker/docker-agent/pkg/tui/image" "github.com/docker/docker-agent/pkg/tui/recorder" "github.com/docker/docker-agent/pkg/tui/styles" -@@ -117,6 +118,7 @@ type runExecFlags struct { +@@ -117,6 +119,8 @@ type runExecFlags struct { lean bool leanChanged bool appName string + bannerFile string ++ sidebarSections []string sidebar bool listenAddr string // sessionWorkingDirRoot confines the working_dir of sessions created -@@ -211,6 +213,7 @@ func addRunOrExecFlags(cmd *cobra.Command, flags *runExecFlags) { +@@ -211,6 +215,8 @@ func addRunOrExecFlags(cmd *cobra.Command, flags *runExecFlags) { _ = cmd.PersistentFlags().MarkHidden("tour") cmd.PersistentFlags().BoolVar(&flags.lean, "lean", false, "Use a simplified TUI with minimal chrome") cmd.PersistentFlags().StringVar(&flags.appName, "app-name", "", "Application name shown in the TUI in place of \"docker agent\"") ++ cmd.PersistentFlags().StringArrayVar(&flags.sidebarSections, "sidebar-section", nil, "Add a sidebar section that shows a shell command's output, refreshed every few seconds: \"Title=command\" (repeatable)") + cmd.PersistentFlags().StringVar(&flags.bannerFile, "banner-file", "", "Text file drawn in the TUI in place of the startup banner; frames separated by a form-feed line play as an animation") cmd.PersistentFlags().StringSliceVar(&flags.disabledCommands, "disable-commands", nil, "Comma-separated list of slash commands to hide and disable in the TUI (e.g. /cost,/eval,/model)") cmd.PersistentFlags().BoolVar(&flags.sidebar, "sidebar", true, "Show the sidebar in the TUI (set --sidebar=false to hide it)") cmd.PersistentFlags().StringVar(&flags.theme, "theme", "", "Preselect a TUI theme by name, or \"auto\" to match the terminal's light/dark background (overrides the theme from user config; ignored outside the interactive TUI)") -@@ -591,6 +594,13 @@ func (f *runExecFlags) runOrExec(ctx context.Context, out *cli.Printer, args []s +@@ -591,6 +597,24 @@ func (f *runExecFlags) runOrExec(ctx context.Context, out *cli.Printer, args []s var rec *recorder.Recorder tuiOptions := f.tuiOpts(args) ++ if len(f.sidebarSections) > 0 { ++ sections := make([]sidebar.CommandSection, 0, len(f.sidebarSections)) ++ for _, spec := range f.sidebarSections { ++ section, err := sidebar.ParseCommandSection(spec) ++ if err != nil { ++ return fmt.Errorf("--sidebar-section %q: %w", spec, err) ++ } ++ sections = append(sections, section) ++ } ++ tuiOptions = append(tuiOptions, tui.WithSidebarSections(sections)) ++ } + if f.bannerFile != "" { + b, err := tuibanner.Load(f.bannerFile) + if err != nil { @@ -41,27 +55,29 @@ index b5efa8b..ebc38cb 100644 tuiOptions = append(tuiOptions, tui.WithDefaultWorkingDir(dir)) } diff --git a/docs/features/cli/index.md b/docs/features/cli/index.md -index a41b354..1e03b9b 100644 +index a41b354..932c7ab 100644 --- a/docs/features/cli/index.md +++ b/docs/features/cli/index.md -@@ -42,6 +42,7 @@ $ docker agent run [config] [message...] [flags] +@@ -42,6 +42,8 @@ $ docker agent run [config] [message...] [flags] | `--session-workingdir-root ` | Confine the `working_dir` of sessions created through the `--listen` control plane to this directory and its descendants (default: no restriction — any clean host directory is accepted, though raw values containing `..` are rejected). Recommended when the control plane is reachable by other users. Hidden from `--help`, like `--listen`. | | `--lean` | Use a simplified, non-alternate-screen TUI. Unlike the default full-screen TUI, this renders inline in the normal terminal buffer — useful in environments where an alternate screen is unwanted (e.g. inside tmux panes, CI with a tty, or log-friendly pipelines). Like the full TUI, displays an ASCII art banner on startup when the chat is empty (configurable via `show_banner` in [user settings](../../configuration/user-settings/index.md)). | | `--app-name ` | Override the application name label shown in the TUI (status bar, window title, "/exit" notifications). | +| `--banner-file ` | Draw the art in this text file in the TUI in place of the startup banner; frames separated by a form-feed line play as an animation. | ++| `--sidebar-section "Title=cmd"` | Add a sidebar section that shows a shell command's output, refreshed every few seconds. Repeatable. | | `--sidebar` | Control sidebar visibility. Set to `--sidebar=false` to hide the sidebar and disable the Ctrl+B toggle (default: `true`). | | `--disable-commands ` | Hide and disable specific slash commands in the TUI. Accepts a comma-separated list of command names (leading slash optional, case-insensitive). E.g. `--disable-commands="/cost,/eval,/model"`. | | `--theme ` | Preselect a TUI theme by name, or `auto` to follow the terminal's light/dark background (overrides the theme from user config; ignored outside the interactive TUI) | -@@ -98,6 +99,7 @@ $ docker agent run agent.yaml "question 1" "question 2" "question 3" +@@ -98,6 +100,8 @@ $ docker agent run agent.yaml "question 1" "question 2" "question 3" # Customize TUI display $ docker agent run agent.yaml --app-name "My Project" +$ docker agent run agent.yaml --banner-file ./banner.txt ++$ docker agent run agent.yaml --sidebar-section "Services=docker compose ps --format '{{.Name}} {{.State}}'" $ docker agent run agent.yaml --sidebar=false $ docker agent run agent.yaml --disable-commands="/cost,/eval,/model" diff --git a/docs/features/tui/index.md b/docs/features/tui/index.md -index 831f91a..85f4e64 100644 +index 831f91a..0b98c60 100644 --- a/docs/features/tui/index.md +++ b/docs/features/tui/index.md @@ -15,6 +15,8 @@ _Docker Agent's default interface is a rich, interactive terminal UI with file a @@ -83,6 +99,21 @@ index 831f91a..85f4e64 100644 # Preselect a color theme $ docker agent run agent.yaml --theme dracula +@@ -147,6 +152,14 @@ Plans are shared documents from the same store used by `/plans`, the [plan tools + + Editing changes only the plan document. It does not approve a plan, execute its steps, or authorize tool writes. + ++### Custom Sidebar Sections ++ ++Pass `--sidebar-section "Title=command"` to add a section below Tools that shows a shell command's output. The command runs when the TUI starts and again every 5 seconds, with a 5 second timeout. Its output is shown as plain text: color sequences are stripped, long lines are cut to the sidebar's width, and at most 12 lines are kept. A section with no output is hidden. The flag is repeatable. ++ ++```bash ++$ docker agent run agent.yaml --sidebar-section "Services=docker compose ps --format '{{.Name}} {{.State}}'" ++``` ++ + ### Agents Panel + + The sidebar's **Agents** section lists every agent in the team and has two display modes selectable via **Sidebar info mode** in `/settings`: diff --git a/pkg/tui/banner/banner.go b/pkg/tui/banner/banner.go index b6f28e1..491f96e 100644 --- a/pkg/tui/banner/banner.go @@ -346,6 +377,305 @@ index 0000000..6fa8bee + _, err = Load(path) + require.ErrorContains(t, err, path) +} +diff --git a/pkg/tui/components/sidebar/command_sections.go b/pkg/tui/components/sidebar/command_sections.go +new file mode 100644 +index 0000000..913a315 +--- /dev/null ++++ b/pkg/tui/components/sidebar/command_sections.go +@@ -0,0 +1,147 @@ ++package sidebar ++ ++import ( ++ "context" ++ "errors" ++ "os/exec" ++ "strings" ++ "time" ++ ++ tea "charm.land/bubbletea/v2" ++ "github.com/charmbracelet/x/ansi" ++ ++ "github.com/docker/docker-agent/pkg/shellpath" ++ "github.com/docker/docker-agent/pkg/tui/styles" ++) ++ ++const ( ++ // commandSectionInterval is how long a command section waits between runs. ++ commandSectionInterval = 5 * time.Second ++ // commandSectionTimeout bounds one run, so a hung command cannot stall the next. ++ commandSectionTimeout = 5 * time.Second ++ // commandSectionMaxLines keeps a chatty command from pushing the other sections away. ++ commandSectionMaxLines = 12 ++) ++ ++// CommandSection is a sidebar section whose body is the output of a shell ++// command, run again every few seconds. ++type CommandSection struct { ++ Title string ++ Command string ++} ++ ++// ParseCommandSection reads a "Title=command" flag value. ++func ParseCommandSection(spec string) (CommandSection, error) { ++ title, command, ok := strings.Cut(spec, "=") ++ title, command = strings.TrimSpace(title), strings.TrimSpace(command) ++ if !ok || title == "" || command == "" { ++ return CommandSection{}, errors.New(`a sidebar section is written "Title=command"`) ++ } ++ return CommandSection{Title: title, Command: command}, nil ++} ++ ++type commandSectionState struct { ++ CommandSection ++ ++ lines []string ++} ++ ++type commandSectionResultMsg struct { ++ index int ++ lines []string ++} ++ ++type commandSectionDueMsg struct{ index int } ++ ++func (m *model) SetCommandSections(sections []CommandSection) { ++ m.commandSections = make([]commandSectionState, len(sections)) ++ for i, section := range sections { ++ m.commandSections[i].CommandSection = section ++ } ++ m.invalidateCache() ++} ++ ++// pollCommandSections starts every command section's first run. Init runs ++// on every tab switch, so only the first call starts the chain. ++func (m *model) pollCommandSections() tea.Cmd { ++ if m.commandSectionsPolling || len(m.commandSections) == 0 { ++ return nil ++ } ++ m.commandSectionsPolling = true ++ cmds := make([]tea.Cmd, len(m.commandSections)) ++ for i := range m.commandSections { ++ cmds[i] = m.runCommandSection(i) ++ } ++ return tea.Batch(cmds...) ++} ++ ++func (m *model) runCommandSection(index int) tea.Cmd { ++ if index < 0 || index >= len(m.commandSections) { ++ return nil ++ } ++ command, parent := m.commandSections[index].Command, m.ctx() ++ return func() tea.Msg { ++ ctx, cancel := context.WithTimeout(parent, commandSectionTimeout) ++ defer cancel() ++ shell, args := shellpath.DetectShell() ++ // A failing command still reports what it printed; none means no section. ++ out, _ := exec.CommandContext(ctx, shell, append(args, command)...).Output() ++ return commandSectionResultMsg{index: index, lines: commandSectionLines(string(out))} ++ } ++} ++ ++// commandSectionLines keeps the printable text of a command's output. ++func commandSectionLines(out string) []string { ++ var lines []string ++ for line := range strings.SplitSeq(strings.ReplaceAll(out, "\r\n", "\n"), "\n") { ++ line = strings.TrimRight(strings.ReplaceAll(ansi.Strip(line), "\t", " "), " ") ++ if line == "" { ++ continue ++ } ++ if len(lines) == commandSectionMaxLines { ++ lines[len(lines)-1] = "…" ++ break ++ } ++ lines = append(lines, line) ++ } ++ return lines ++} ++ ++// handleCommandSection applies a finished run and schedules the next one. ++func (m *model) handleCommandSection(msg commandSectionResultMsg) tea.Cmd { ++ if msg.index < 0 || msg.index >= len(m.commandSections) { ++ return nil ++ } ++ if state := &m.commandSections[msg.index]; !equalLines(state.lines, msg.lines) { ++ state.lines = msg.lines ++ m.invalidateCache() ++ } ++ index := msg.index ++ return tea.Tick(commandSectionInterval, func(time.Time) tea.Msg { ++ return commandSectionDueMsg{index: index} ++ }) ++} ++ ++func equalLines(a, b []string) bool { ++ if len(a) != len(b) { ++ return false ++ } ++ for i := range a { ++ if a[i] != b[i] { ++ return false ++ } ++ } ++ return true ++} ++ ++// commandSection renders one command section, or "" while it has no output. ++func (m *model) commandSection(state commandSectionState, contentWidth int) string { ++ if len(state.lines) == 0 { ++ return "" ++ } ++ lines := make([]string, len(state.lines)) ++ for i, line := range state.lines { ++ lines[i] = styles.BaseStyle.Render(ansi.Truncate(line, contentWidth, "…")) ++ } ++ return m.renderTab(state.Title, strings.Join(lines, "\n"), contentWidth) ++} +diff --git a/pkg/tui/components/sidebar/command_sections_test.go b/pkg/tui/components/sidebar/command_sections_test.go +new file mode 100644 +index 0000000..55fca99 +--- /dev/null ++++ b/pkg/tui/components/sidebar/command_sections_test.go +@@ -0,0 +1,81 @@ ++package sidebar ++ ++import ( ++ "runtime" ++ "strings" ++ "testing" ++ ++ "github.com/charmbracelet/x/ansi" ++ "github.com/stretchr/testify/assert" ++ "github.com/stretchr/testify/require" ++ ++ "github.com/docker/docker-agent/pkg/tui/animation" ++ "github.com/docker/docker-agent/pkg/tui/service" ++) ++ ++func newCommandSectionModel(t *testing.T, sections ...CommandSection) *model { ++ t.Helper() ++ m := New(animation.NewRuntime(), t.Context(), &service.SessionState{}).(*model) ++ m.SetCommandSections(sections) ++ return m ++} ++ ++func sectionsText(m *model) string { ++ return ansi.Strip(strings.Join(m.renderSections(40), "\n")) ++} ++ ++func TestParseCommandSection(t *testing.T) { ++ t.Parallel() ++ ++ section, err := ParseCommandSection(" Apps = status --short | grep a=b ") ++ require.NoError(t, err) ++ assert.Equal(t, CommandSection{Title: "Apps", Command: "status --short | grep a=b"}, section) ++ ++ for _, spec := range []string{"", "Apps", "=status", "Apps= "} { ++ _, err := ParseCommandSection(spec) ++ require.Error(t, err, spec) ++ } ++} ++ ++func TestCommandSectionShowsItsOutputAndHidesWhileEmpty(t *testing.T) { ++ t.Parallel() ++ ++ m := newCommandSectionModel(t, CommandSection{Title: "Apps", Command: "unused"}) ++ assert.NotContains(t, sectionsText(m), "Apps") ++ ++ next := m.handleCommandSection(commandSectionResultMsg{lines: []string{"relay running", strings.Repeat("x", 80)}}) ++ require.NotNil(t, next, "a result schedules the next run") ++ text := sectionsText(m) ++ assert.Contains(t, text, "Apps") ++ assert.Contains(t, text, "relay running") ++ assert.NotContains(t, text, strings.Repeat("x", 41), "a long line is cut to the sidebar") ++ ++ m.handleCommandSection(commandSectionResultMsg{}) ++ assert.NotContains(t, sectionsText(m), "relay running") ++} ++ ++func TestCommandSectionLinesKeepsPrintableTextAndBoundsIt(t *testing.T) { ++ t.Parallel() ++ ++ assert.Equal(t, []string{"a b", "c"}, commandSectionLines("\x1b[31ma\tb\x1b[0m \r\n\n\nc\n")) ++ ++ lines := commandSectionLines(strings.Repeat("line\n", commandSectionMaxLines+5)) ++ require.Len(t, lines, commandSectionMaxLines) ++ assert.Equal(t, "…", lines[len(lines)-1]) ++} ++ ++func TestCommandSectionRunsItsCommandOnce(t *testing.T) { ++ t.Parallel() ++ if runtime.GOOS == "windows" { ++ t.Skip("the command is written for a POSIX shell") ++ } ++ ++ m := newCommandSectionModel(t, CommandSection{Title: "Apps", Command: "echo relay; echo whoami; exit 3"}) ++ cmd := m.pollCommandSections() ++ require.NotNil(t, cmd) ++ assert.Nil(t, m.pollCommandSections(), "Init runs again on a tab switch and must not start a second chain") ++ ++ msg := m.runCommandSection(0)().(commandSectionResultMsg) ++ assert.Equal(t, []string{"relay", "whoami"}, msg.lines, "a failing command still shows what it printed") ++ assert.Nil(t, m.runCommandSection(7)) ++} +diff --git a/pkg/tui/components/sidebar/sidebar.go b/pkg/tui/components/sidebar/sidebar.go +index ec2e134..0c24641 100644 +--- a/pkg/tui/components/sidebar/sidebar.go ++++ b/pkg/tui/components/sidebar/sidebar.go +@@ -78,6 +78,8 @@ type Model interface { + SetTokenUsage(event *runtime.TokenUsageEvent) + SetTodos(result *tools.ToolCallResult) error + SetMode(mode Mode) ++ // SetCommandSections adds sections that show a shell command's output. ++ SetCommandSections(sections []CommandSection) + // SetMirroredPadding swaps the horizontal edge padding so the sidebar hugs + // the terminal edge when rendered on the left of the chat. + SetMirroredPadding(mirrored bool) +@@ -418,8 +420,11 @@ type model struct { + // from blank-line heuristics. + agentLineOwners []string + planData messages.PlanSidebarDataMsg +- recentPlans []plans.Plan +- planClickZones map[int]planClickZone ++ commandSections []commandSectionState ++ // commandSectionsPolling is set once the sections' refresh chain has started. ++ commandSectionsPolling bool ++ recentPlans []plans.Plan ++ planClickZones map[int]planClickZone + } + + // New creates a new sidebar bound to the given session state. +@@ -464,7 +469,7 @@ func New(ar *animation.Runtime, ctx context.Context, sessionState *service.Sessi + } + + func (m *model) Init() tea.Cmd { +- return waitForGitBranch(m.gitBranchWatcher) ++ return tea.Batch(waitForGitBranch(m.gitBranchWatcher), m.pollCommandSections()) + } + + // needsSpinner returns true if any spinner-driving state is active. +@@ -1234,6 +1239,12 @@ func (m *model) Update(msg tea.Msg) (layout.Model, tea.Cmd) { + case messages.PlanSidebarDataMsg: + m.setPlans(msg) + return m, nil ++ case commandSectionResultMsg: ++ cmd := m.handleCommandSection(msg) ++ return m, cmd ++ case commandSectionDueMsg: ++ cmd := m.runCommandSection(msg.index) ++ return m, cmd + case gitBranchChangedMsg: + m.gitBranchName = string(msg) + m.invalidateCache() +@@ -1821,6 +1832,9 @@ func (m *model) renderSections(contentWidth int) []string { + if !m.sectionVisibility.HideTools { + appendSection(m.toolsetInfo(contentWidth)) + } ++ for _, section := range m.commandSections { ++ appendSection(m.commandSection(section, contentWidth)) ++ } + + if !m.sectionVisibility.HideTodos { + m.todoComp.SetSize(contentWidth) diff --git a/pkg/tui/page/chat/banner_test.go b/pkg/tui/page/chat/banner_test.go new file mode 100644 index 0000000..f7ffacf @@ -444,7 +774,7 @@ index 0000000..f7ffacf + assert.Nil(t, ar.Continue()) +} diff --git a/pkg/tui/page/chat/chat.go b/pkg/tui/page/chat/chat.go -index 76683bd..ce46993 100644 +index 76683bd..e34b40d 100644 --- a/pkg/tui/page/chat/chat.go +++ b/pkg/tui/page/chat/chat.go @@ -254,6 +254,8 @@ type chatPage struct { @@ -465,10 +795,18 @@ index 76683bd..ce46993 100644 } for _, opt := range opts { -@@ -470,6 +474,14 @@ func WithShowBanner(show bool) PageOption { +@@ -470,6 +474,22 @@ func WithShowBanner(show bool) PageOption { } } ++// WithSidebarSections adds sidebar sections that show a shell command's ++// output, refreshed every few seconds. ++func WithSidebarSections(sections []sidebar.CommandSection) PageOption { ++ return func(p *chatPage) { ++ p.sidebar.SetCommandSections(sections) ++ } ++} ++ +// WithBanner replaces the startup banner. A banner with several frames plays +// while the conversation is empty. +func WithBanner(b tuibanner.Banner) PageOption { @@ -480,7 +818,7 @@ index 76683bd..ce46993 100644 // WithCommandParser injects a command parser for handling slash commands in the editor. func WithCommandParser(p *commands.Parser) PageOption { return func(cp *chatPage) { -@@ -530,6 +542,9 @@ func (p *chatPage) Init() tea.Cmd { +@@ -530,6 +550,9 @@ func (p *chatPage) Init() tea.Cmd { var cmds []tea.Cmd cmds = append(cmds, p.messages.Init()) @@ -490,7 +828,7 @@ index 76683bd..ce46993 100644 // Load state from existing session (for session restore and branching) if sess := p.app.Session(); sess != nil { -@@ -609,6 +624,10 @@ func (p *chatPage) update(msg tea.Msg) (layout.Model, tea.Cmd) { +@@ -609,6 +632,10 @@ func (p *chatPage) update(msg tea.Msg) (layout.Model, tea.Cmd) { } } @@ -501,7 +839,7 @@ index 76683bd..ce46993 100644 switch msg := msg.(type) { case msgtypes.PlanSidebarDataMsg: updated, cmd := p.sidebar.Update(msg) -@@ -844,11 +863,21 @@ func (p *chatPage) messagesView(sl sidebarLayout) string { +@@ -844,11 +871,21 @@ func (p *chatPage) messagesView(sl sidebarLayout) string { if messagesView != "" || !p.showStartupBanner || p.hideBanner { return messagesView } @@ -525,7 +863,7 @@ index 76683bd..ce46993 100644 return lipgloss.Place( sl.chatWidth, sl.chatHeight, -@@ -858,6 +887,27 @@ func (p *chatPage) messagesView(sl sidebarLayout) string { +@@ -858,6 +895,27 @@ func (p *chatPage) messagesView(sl sidebarLayout) string { ) } @@ -554,10 +892,10 @@ index 76683bd..ce46993 100644 func (p *chatPage) View() string { sl := p.computeSidebarLayout() diff --git a/pkg/tui/tui.go b/pkg/tui/tui.go -index 68e5f5c..04dcaf6 100644 +index 68e5f5c..9539902 100644 --- a/pkg/tui/tui.go +++ b/pkg/tui/tui.go -@@ -27,6 +27,7 @@ import ( +@@ -27,12 +27,14 @@ import ( "github.com/docker/docker-agent/pkg/runtime" "github.com/docker/docker-agent/pkg/session" "github.com/docker/docker-agent/pkg/tui/animation" @@ -565,18 +903,35 @@ index 68e5f5c..04dcaf6 100644 "github.com/docker/docker-agent/pkg/tui/commands" commanddefaults "github.com/docker/docker-agent/pkg/tui/commands/defaults" "github.com/docker/docker-agent/pkg/tui/components/completion" -@@ -285,6 +286,7 @@ type appModel struct { + "github.com/docker/docker-agent/pkg/tui/components/editor" + "github.com/docker/docker-agent/pkg/tui/components/editor/completions" + "github.com/docker/docker-agent/pkg/tui/components/notification" ++ "github.com/docker/docker-agent/pkg/tui/components/sidebar" + "github.com/docker/docker-agent/pkg/tui/components/spinner" + "github.com/docker/docker-agent/pkg/tui/components/statusbar" + "github.com/docker/docker-agent/pkg/tui/components/tabbar" +@@ -285,6 +287,9 @@ type appModel struct { // showBanner displays the ASCII-art startup banner on an empty // conversation. Shared by every tab and managed via /settings. showBanner bool + banner tuibanner.Banner ++ // sidebarSections are extra sidebar sections fed by shell commands. ++ sidebarSections []sidebar.CommandSection // buildCommandCategories is a function that returns the list of command categories. buildCommandCategories func(context.Context, tea.Model) []commands.Category -@@ -390,6 +392,13 @@ func WithTourOffer(showTelemetryNotice bool) Option { +@@ -390,6 +395,21 @@ func WithTourOffer(showTelemetryNotice bool) Option { } } ++// WithSidebarSections adds sidebar sections that show a shell command's ++// output, refreshed every few seconds. ++func WithSidebarSections(sections []sidebar.CommandSection) Option { ++ return func(m *appModel) { ++ m.sidebarSections = sections ++ } ++} ++ +// WithBanner replaces the startup banner drawn on an empty conversation. +func WithBanner(b tuibanner.Banner) Option { + return func(m *appModel) { @@ -587,7 +942,7 @@ index 68e5f5c..04dcaf6 100644 // WithAppName sets the application name. // // If not provided, defaults to "docker agent". -@@ -538,6 +547,7 @@ func New(ctx context.Context, spawner SessionSpawner, initialApp *app.App, initi +@@ -538,6 +558,7 @@ func New(ctx context.Context, spawner SessionSpawner, initialApp *app.App, initi showBanner: userSettings.GetShowBanner(), keyboardEnhancementsSupported: termfeatures.SupportsModifiedEnter(os.Getenv), dockerDesktop: os.Getenv("TERM_PROGRAM") == "docker_desktop", @@ -595,11 +950,12 @@ index 68e5f5c..04dcaf6 100644 appName: "docker agent", appVersion: version.Version, } -@@ -667,6 +677,7 @@ func (m *appModel) chatPageOpts() []chat.PageOption { +@@ -667,6 +688,8 @@ func (m *appModel) chatPageOpts() []chat.PageOption { chat.WithSendMode(m.sendMode), chat.WithInterruptMode(m.interruptMode), chat.WithShowBanner(m.showBanner), + chat.WithBanner(m.banner), ++ chat.WithSidebarSections(m.sidebarSections), } if m.leanMode { diff --git a/images/agent/spaceturtle-apps b/images/agent/spaceturtle-apps new file mode 100755 index 0000000..904055c --- /dev/null +++ b/images/agent/spaceturtle-apps @@ -0,0 +1,14 @@ +#!/bin/sh +# What the chat's sidebar shows under "TOON apps": each app behind the agent node's +# connectors and whether it runs, then the apps that wait for the Observer. docker-agent runs +# this every few seconds (--sidebar-section, ADR 0005) with the agent key the session has, so +# it shows what the agent itself is told by `toon status`, and no more. +status=$(toon status --json 2>/dev/null) || true +if ! printf '%s' "$status" | jq -e '.toon_apps' > /dev/null 2>&1; then + echo "the node does not answer" + exit 0 +fi +printf '%s' "$status" | jq -r ' + (.toon_apps[] | (if .connector.running then empty else "○ \(.name): connector stopped" end), + (.apps[] | "\(if .running then "●" else "○" end) \(.name) \(if .running then "running" else "stopped" end)")), + (.pending_apps[]? | "◌ \(.name) \(.status // "pending")")' diff --git a/images/versions b/images/versions index df98136..63e6fc5 100755 --- a/images/versions +++ b/images/versions @@ -7,7 +7,7 @@ here=$(cd "$(dirname "$0")" && pwd) cat < "$state_dir/last-unattended" || die "cannot write $state_dir/last-unattended" # Nobody answers a prompt, and the definition's tools are the whole of what the agent may do. diff --git a/tests/check-images b/tests/check-images index bada0f9..1c24c5c 100755 --- a/tests/check-images +++ b/tests/check-images @@ -30,7 +30,7 @@ done grep -q 'sha512sum -c' connector/Dockerfile || problem "connector/Dockerfile: gVisor's checksum is not verified" # docker-agent is built again from the commit of its release, and from nothing later. grep -q 'rev-parse HEAD)" = "\$DOCKER_AGENT_COMMIT"' agent/Dockerfile || problem "agent/Dockerfile: docker-agent's source is not held to a commit" -[[ -s agent/docker-agent-banner.patch && -s agent/banner.awk ]] || problem "agent: the banner's patch or its generator is missing" +[[ -s agent/docker-agent.patch && -s agent/banner.awk && -x agent/spaceturtle-apps ]] || problem "agent: docker-agent's patch or the banner's generator is missing" # A version or a checksum that is not what it should look like. [[ $TOON_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || problem "TOON_VERSION is not a release" diff --git a/tests/run b/tests/run index 84f02b8..85e86c2 100755 --- a/tests/run +++ b/tests/run @@ -1277,13 +1277,18 @@ GUEST_DEF=/home/agent/session/spaceturtle.yaml BASE_WALL="allow@dns,allow@host:tcp:7123,allow@host:tcp:7124"; SKILL_WALL="allow@api.github.com:tcp:443,allow@codeload.github.com:tcp:443" session_env; run_cmd session; rc=$? run=$(session_run) -[[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 --banner-file /usr/local/share/spaceturtle/banner.txt $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" +[[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 --banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section TOON apps=spaceturtle-apps $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" launcher_check "a session runs docker-agent in the agent's zone, on the definition as shipped" $? session_env; run_cmd; rc=$? [[ $rc -eq 0 && $(session_run) == "$run" ]]; launcher_check "spaceturtle with nothing after it is a session" $? # With someone there the chat opens on the banner; nobody watches an unattended session. -[[ $run == *" --banner-file /usr/local/share/spaceturtle/banner.txt $GUEST_DEF" ]] && ! yq -e '.agents.spaceturtle | has("welcome_message")' "$root/agent/spaceturtle.yaml" > /dev/null 2>&1 +[[ $run == *" --banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section TOON apps=spaceturtle-apps $GUEST_DEF" ]] && ! yq -e '.agents.spaceturtle | has("welcome_message")' "$root/agent/spaceturtle.yaml" > /dev/null 2>&1 launcher_check "a session opens on spaceturtle's banner, which a welcome message would hide" $? +# The sidebar's list of apps, from what `toon status` tells an agent key. +apps_list() { mkdir -p "$tmp/apps-bin"; printf '#!/bin/sh\ncat < "$tmp/apps-bin/toon"; chmod +x "$tmp/apps-bin/toon"; PATH=$tmp/apps-bin:$PATH sh "$root/images/agent/spaceturtle-apps"; } +[[ $(apps_list '{"pending_apps":[{"name":"notes","status":"pending"}],"toon_apps":[{"name":"relay","connector":{"running":true},"apps":[{"name":"relay","running":true},{"name":"whoami","running":false}]}]}') == $'● relay running\n○ whoami stopped\n◌ notes pending' ]] +launcher_check "the sidebar lists each app, whether it runs, and the apps that wait" $? +[[ $(apps_list '{"error":{"code":"not_running"}}') == "the node does not answer" ]]; launcher_check "the sidebar says when the node does not answer" $? [[ $(<"$STUB_DIR/agent-wall") == "$BASE_WALL,allow@api.anthropic.com:tcp:443,$SKILL_WALL" ]] launcher_check "the agent's zone reaches name resolution, the two ports, the provider's host and the skills' hosts, and nothing else" $? ! grep -q secret-key-123 "$STUB_DIR/calls"; launcher_check "the model key is not an argument" $? From e03f06b77a0c139e0c2cf76982b2acf177030aa4 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 10:57:53 -0400 Subject: [PATCH 20/22] The patch compares lines as docker-agent's lint asks, and ADR 0005 names the second pull request (#57) Co-Authored-By: Claude Opus 5.5 --- ...agents-zone-builds-its-own-docker-agent.md | 2 +- images/agent/docker-agent.patch | 19 ++++--------------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md index c4a9a42..22f875b 100644 --- a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md +++ b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md @@ -4,7 +4,7 @@ A session is a chat that `docker-agent` draws. On an empty conversation it draws The second change adds `--sidebar-section`. The chat's sidebar has a fixed list of sections (Session, Token Usage, Agent, Tools) and none for what an agent node runs. The flag adds a section whose body is the output of a command, run again every five seconds. The launcher gives it `spaceturtle-apps`, a script in the image that asks `toon status` with the session's agent key and lists each app, whether it runs, and the apps that wait for the Observer. -Both changes are offered to `docker/docker-agent`, the banner as [pull request 4578](https://github.com/docker/docker-agent/pull/4578). When a release of theirs holds both, the build stage and the patch go, and the image takes Docker's program again. +Both changes are offered to `docker/docker-agent`, the banner as [pull request 4578](https://github.com/docker/docker-agent/pull/4578) and the sidebar section as [pull request 4585](https://github.com/docker/docker-agent/pull/4585). When a release of theirs holds both, the build stage and the patch go, and the image takes Docker's program again. ## Considered Options diff --git a/images/agent/docker-agent.patch b/images/agent/docker-agent.patch index 597658e..2a0d8aa 100644 --- a/images/agent/docker-agent.patch +++ b/images/agent/docker-agent.patch @@ -379,16 +379,17 @@ index 0000000..6fa8bee +} diff --git a/pkg/tui/components/sidebar/command_sections.go b/pkg/tui/components/sidebar/command_sections.go new file mode 100644 -index 0000000..913a315 +index 0000000..1bd2cff --- /dev/null +++ b/pkg/tui/components/sidebar/command_sections.go -@@ -0,0 +1,147 @@ +@@ -0,0 +1,136 @@ +package sidebar + +import ( + "context" + "errors" + "os/exec" ++ "slices" + "strings" + "time" + @@ -497,7 +498,7 @@ index 0000000..913a315 + if msg.index < 0 || msg.index >= len(m.commandSections) { + return nil + } -+ if state := &m.commandSections[msg.index]; !equalLines(state.lines, msg.lines) { ++ if state := &m.commandSections[msg.index]; !slices.Equal(state.lines, msg.lines) { + state.lines = msg.lines + m.invalidateCache() + } @@ -507,18 +508,6 @@ index 0000000..913a315 + }) +} + -+func equalLines(a, b []string) bool { -+ if len(a) != len(b) { -+ return false -+ } -+ for i := range a { -+ if a[i] != b[i] { -+ return false -+ } -+ } -+ return true -+} -+ +// commandSection renders one command section, or "" while it has no output. +func (m *model) commandSection(state commandSectionState, contentWidth int) string { + if len(state.lines) == 0 { From 568e592d1bc8bfe3fcf74ab46183d4d511beab58 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 11:09:56 -0400 Subject: [PATCH 21/22] The chat's sidebar shows the agent key's spending limit (#57) Token Usage in docker-agent's sidebar counts the model. What the agent may pay through the connector is the agent key's spending limit, which now has a section of its own. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/images.yml | 2 +- ...agents-zone-builds-its-own-docker-agent.md | 4 ++-- docs/development.md | 2 +- images/agent/Dockerfile | 2 +- images/agent/spaceturtle-limit | 19 +++++++++++++++++++ spaceturtle | 5 +++-- tests/check-images | 2 +- tests/run | 8 ++++++-- 8 files changed, 34 insertions(+), 10 deletions(-) create mode 100755 images/agent/spaceturtle-limit diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml index 72188e6..3409a28 100644 --- a/.github/workflows/images.yml +++ b/.github/workflows/images.yml @@ -48,7 +48,7 @@ jobs: run: | docker run --rm --entrypoint sh spaceturtle-agent-zone:ci -c ' docker-agent run --help | grep -q -- --banner-file && - docker-agent run --help | grep -q -- --sidebar-section && [ -x /usr/local/bin/spaceturtle-apps ] && + docker-agent run --help | grep -q -- --sidebar-section && [ -x /usr/local/bin/spaceturtle-apps ] && [ -x /usr/local/bin/spaceturtle-limit ] && [ "$(grep -c "$(printf "\\f")" /usr/local/share/spaceturtle/banner.txt)" = 239 ]' - name: jq is in the agent's zone, where the launcher rewrites the key file's addresses if: matrix.image == 'agent' diff --git a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md index 22f875b..4a34514 100644 --- a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md +++ b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md @@ -2,7 +2,7 @@ A session is a chat that `docker-agent` draws. On an empty conversation it draws its own name in large letters, from a list of lines fixed in the program, and no flag, setting or field of an agent definition puts anything in its place except a welcome message, which is Markdown drawn once. spaceturtle's banner is a turtle that swims. So the agent's zone image no longer takes `docker-agent` as Docker built it: it builds the same release again from its source, with the changes of `images/agent/docker-agent.patch`. The first adds `--banner-file`. The file is a film of frames, and `docker-agent` plays it on the clock its spinners already use, until the conversation starts, cut down to the middle of it when the chat is smaller. The image makes the film: the turtle of the banner the README shows, flying through a field of stars large enough to fill the chat of a large terminal. -The second change adds `--sidebar-section`. The chat's sidebar has a fixed list of sections (Session, Token Usage, Agent, Tools) and none for what an agent node runs. The flag adds a section whose body is the output of a command, run again every five seconds. The launcher gives it `spaceturtle-apps`, a script in the image that asks `toon status` with the session's agent key and lists each app, whether it runs, and the apps that wait for the Observer. +The second change adds `--sidebar-section`. The chat's sidebar has a fixed list of sections (Session, Token Usage, Agent, Tools) and none for what an agent node runs. The flag adds a section whose body is the output of a command, run again every five seconds. The launcher gives it two scripts in the image, each of which asks the node with the session's agent key. `spaceturtle-limit` shows what the key may still pay through the connector today, of its limit for a day, and its limit for one command: the agent's budget on the network, which the sidebar's own Token Usage is not, since that counts the model. `spaceturtle-apps` lists each app, whether it runs, and the apps that wait for the Observer. Both changes are offered to `docker/docker-agent`, the banner as [pull request 4578](https://github.com/docker/docker-agent/pull/4578) and the sidebar section as [pull request 4585](https://github.com/docker/docker-agent/pull/4585). When a release of theirs holds both, the build stage and the patch go, and the image takes Docker's program again. @@ -15,7 +15,7 @@ Both changes are offered to `docker/docker-agent`, the banner as [pull request 4 ## Consequences -- The `docker-agent` in the agent's zone is not the one Docker published. It is held to the commit of the release (`DOCKER_AGENT_COMMIT`), built by a pinned Go, and differs by a patch of two flags that anyone can read. The banner touches only the chat's drawing. The sidebar section runs a command in the agent's zone every five seconds while a chat is open: the one the launcher names, with what the session already has, the agent key. It asks the node for its status, which the key's scope allows and which costs nothing, and it can do no more than the agent can. +- The `docker-agent` in the agent's zone is not the one Docker published. It is held to the commit of the release (`DOCKER_AGENT_COMMIT`), built by a pinned Go, and differs by a patch of two flags that anyone can read. The banner touches only the chat's drawing. The sidebar section runs a command in the agent's zone every five seconds while a chat is open: the one the launcher names, with what the session already has, the agent key. It asks the node for its status and its spending limit, which the key's scope allows and which cost nothing, and it can do no more than the agent can. - Moving `docker-agent` to a new release means the patch must still apply. The image build fails if it does not, which is where this is found. The sidebar is a file Docker changes often, so this is more likely for the second change than for the first. - The image build takes about four minutes longer. - A release still publishes the agent definition with `docker-agent` as Docker published it, which is enough: the definition holds nothing of the banner. diff --git a/docs/development.md b/docs/development.md index a5c9d16..db59653 100644 --- a/docs/development.md +++ b/docs/development.md @@ -29,7 +29,7 @@ without an agent node. | `install.sh` | The one command a person runs first: checks the machine, installs the launcher and the agent definition of a release with a `version` file beside them (the launcher then pulls that release's zone images), links it into `~/.local/bin`, and puts the pinned microsandbox (`msb`), which the zones run in, in `~/.local/share/spaceturtle/msb` | | `agent/spaceturtle.yaml` | The agent's definition for `docker-agent`: its instruction, its file tool and the skills it loads. A release publishes it as it is | | `images/agent/Dockerfile`, `images/connector/Dockerfile`, `images/connector/connector-start` | The agent's zone image (`docker-agent`'s sandbox image plus `toon`, no wallet or key, and `docker-agent` built again with the banner, see below) and the connector's zone image (`toon`, the container engine, gVisor's `runsc`), and `connector-start`, which starts the engine, the two forwarders an agent key is used through and the supervisor without `systemd --user` | -| `images/agent/docker-agent.patch`, `images/agent/banner.awk`, `images/agent/spaceturtle-apps` | The two changes to `docker-agent` the agent's zone carries, `--banner-file` and `--sidebar-section` (ADR 0005), what lists the node's apps for the sidebar, and what makes the film of frames it plays: the turtle of `docs/assets/spaceturtle-banner-dark.svg` in a field of stars 240 characters wide and 64 high, of which the chat shows the middle. The image build is given `docs/assets` as the build context named `assets` | +| `images/agent/docker-agent.patch`, `images/agent/banner.awk`, `images/agent/spaceturtle-apps`, `images/agent/spaceturtle-limit` | The two changes to `docker-agent` the agent's zone carries, `--banner-file` and `--sidebar-section` (ADR 0005), what lists the node's apps and shows the agent key's spending limit for the sidebar, and what makes the film of frames it plays: the turtle of `docs/assets/spaceturtle-banner-dark.svg` in a field of stars 240 characters wide and 64 high, of which the chat shows the middle. The image build is given `docs/assets` as the build context named `assets` | | `images/versions.env`, `images/versions` | Every pin the two images add, with its checksum, and the `docker-agent` program a release publishes with; the command that prints the images' versions for release notes | | `.github/workflows/images.yml` | Builds both images on every change to `images/`. It does not publish | | `release/references`, `release/publish-definition`, `release/mark-latest`, `release/notes` | What a release publishes, under which names; the definition pushed to each registry and read back, byte for byte; `latest` moved to a release once it is all published; the release's notes | diff --git a/images/agent/Dockerfile b/images/agent/Dockerfile index 4c7d704..8afe04d 100644 --- a/images/agent/Dockerfile +++ b/images/agent/Dockerfile @@ -57,7 +57,7 @@ toon --version SCRIPT COPY --from=docker-agent /out/docker-agent /usr/local/bin/docker-agent COPY --from=docker-agent /out/banner.txt /usr/local/share/spaceturtle/banner.txt -COPY --chmod=0755 spaceturtle-apps /usr/local/bin/spaceturtle-apps +COPY --chmod=0755 spaceturtle-apps spaceturtle-limit /usr/local/bin/ RUN docker-agent run --help | grep -q -- --banner-file && docker-agent run --help | grep -q -- --sidebar-section USER agent LABEL org.opencontainers.image.title="spaceturtle agent's zone" \ diff --git a/images/agent/spaceturtle-limit b/images/agent/spaceturtle-limit new file mode 100755 index 0000000..b2e23b2 --- /dev/null +++ b/images/agent/spaceturtle-limit @@ -0,0 +1,19 @@ +#!/bin/sh +# What the chat's sidebar shows under "Spending limit": what the session's agent key may still +# pay through the connector today, out of its limit for a day, and its limit for one command. +# This is the agent's budget on the network. "Token Usage" above it is docker-agent's own +# count of what the model has read and written, and what that cost. docker-agent runs this +# every few seconds (--sidebar-section, ADR 0005); `toon limit show` pays nothing. +limits=$(toon limit show --json 2>/dev/null) || true +if ! printf '%s' "$limits" | jq -e '.limits | length > 0' > /dev/null 2>&1; then + echo "the node does not answer" + exit 0 +fi +printf '%s' "$limits" | jq -r ' + def commas: tostring | explode | reverse | [range(0; length; 3) as $i | .[$i:$i + 3] | implode] | join(",") | explode | reverse | implode; + (.limits | length) as $n | .limits | to_entries[] | + (if $n > 1 then .key else empty end), + "left today \(.value.remaining_today | commas)", + "per day \(.value.per_day | commas)", + "per command \(.value.per_command | commas)", + (if $n > 1 then empty else "in base units of the token" end)' diff --git a/spaceturtle b/spaceturtle index 430850b..e47b642 100755 --- a/spaceturtle +++ b/spaceturtle @@ -559,8 +559,9 @@ session() { local def=/home/agent/session/spaceturtle.yaml # With someone there, the chat opens on the banner the README shows, moving: the agent's zone # image holds it as a film of frames, and its docker-agent is built to play one (ADR 0005). - # Its sidebar lists the node's apps, as the agent key is told of them. - local attach=(--tty) run=(--banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section "TOON apps=spaceturtle-apps" "$def") + # Its sidebar shows what the agent key may still pay today and lists the node's apps, both + # as the agent key is told of them. + local attach=(--tty) run=(--banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section "Spending limit=spaceturtle-limit" --sidebar-section "TOON apps=spaceturtle-apps" "$def") if (( unattended )); then date -u +%Y-%m-%dT%H:%M:%SZ > "$state_dir/last-unattended" || die "cannot write $state_dir/last-unattended" # Nobody answers a prompt, and the definition's tools are the whole of what the agent may do. diff --git a/tests/check-images b/tests/check-images index 1c24c5c..0a3a872 100755 --- a/tests/check-images +++ b/tests/check-images @@ -30,7 +30,7 @@ done grep -q 'sha512sum -c' connector/Dockerfile || problem "connector/Dockerfile: gVisor's checksum is not verified" # docker-agent is built again from the commit of its release, and from nothing later. grep -q 'rev-parse HEAD)" = "\$DOCKER_AGENT_COMMIT"' agent/Dockerfile || problem "agent/Dockerfile: docker-agent's source is not held to a commit" -[[ -s agent/docker-agent.patch && -s agent/banner.awk && -x agent/spaceturtle-apps ]] || problem "agent: docker-agent's patch or the banner's generator is missing" +[[ -s agent/docker-agent.patch && -s agent/banner.awk && -x agent/spaceturtle-apps && -x agent/spaceturtle-limit ]] || problem "agent: docker-agent's patch or the banner's generator is missing" # A version or a checksum that is not what it should look like. [[ $TOON_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || problem "TOON_VERSION is not a release" diff --git a/tests/run b/tests/run index 85e86c2..2de694b 100755 --- a/tests/run +++ b/tests/run @@ -1277,18 +1277,22 @@ GUEST_DEF=/home/agent/session/spaceturtle.yaml BASE_WALL="allow@dns,allow@host:tcp:7123,allow@host:tcp:7124"; SKILL_WALL="allow@api.github.com:tcp:443,allow@codeload.github.com:tcp:443" session_env; run_cmd session; rc=$? run=$(session_run) -[[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 --banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section TOON apps=spaceturtle-apps $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" +[[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 --banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section Spending limit=spaceturtle-limit --sidebar-section TOON apps=spaceturtle-apps $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" launcher_check "a session runs docker-agent in the agent's zone, on the definition as shipped" $? session_env; run_cmd; rc=$? [[ $rc -eq 0 && $(session_run) == "$run" ]]; launcher_check "spaceturtle with nothing after it is a session" $? # With someone there the chat opens on the banner; nobody watches an unattended session. -[[ $run == *" --banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section TOON apps=spaceturtle-apps $GUEST_DEF" ]] && ! yq -e '.agents.spaceturtle | has("welcome_message")' "$root/agent/spaceturtle.yaml" > /dev/null 2>&1 +[[ $run == *" --banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section Spending limit=spaceturtle-limit --sidebar-section TOON apps=spaceturtle-apps $GUEST_DEF" ]] && ! yq -e '.agents.spaceturtle | has("welcome_message")' "$root/agent/spaceturtle.yaml" > /dev/null 2>&1 launcher_check "a session opens on spaceturtle's banner, which a welcome message would hide" $? # The sidebar's list of apps, from what `toon status` tells an agent key. apps_list() { mkdir -p "$tmp/apps-bin"; printf '#!/bin/sh\ncat < "$tmp/apps-bin/toon"; chmod +x "$tmp/apps-bin/toon"; PATH=$tmp/apps-bin:$PATH sh "$root/images/agent/spaceturtle-apps"; } [[ $(apps_list '{"pending_apps":[{"name":"notes","status":"pending"}],"toon_apps":[{"name":"relay","connector":{"running":true},"apps":[{"name":"relay","running":true},{"name":"whoami","running":false}]}]}') == $'● relay running\n○ whoami stopped\n◌ notes pending' ]] launcher_check "the sidebar lists each app, whether it runs, and the apps that wait" $? [[ $(apps_list '{"error":{"code":"not_running"}}') == "the node does not answer" ]]; launcher_check "the sidebar says when the node does not answer" $? +limit_shown() { mkdir -p "$tmp/apps-bin"; printf '#!/bin/sh\ncat < "$tmp/apps-bin/toon"; chmod +x "$tmp/apps-bin/toon"; PATH=$tmp/apps-bin:$PATH sh "$root/images/agent/spaceturtle-limit"; } +[[ $(limit_shown '{"limits":{"relay":{"per_command":"10000000","per_day":"100000000","remaining_today":"99999000"}}}') == $'left today 99,999,000\nper day 100,000,000\nper command 10,000,000\nin base units of the token' ]] +launcher_check "the sidebar shows what the agent key may still pay today, of its limits" $? +[[ $(limit_shown '{"error":{"code":"not_running"}}') == "the node does not answer" ]]; launcher_check "the spending limit says when the node does not answer" $? [[ $(<"$STUB_DIR/agent-wall") == "$BASE_WALL,allow@api.anthropic.com:tcp:443,$SKILL_WALL" ]] launcher_check "the agent's zone reaches name resolution, the two ports, the provider's host and the skills' hosts, and nothing else" $? ! grep -q secret-key-123 "$STUB_DIR/calls"; launcher_check "the model key is not an argument" $? From 962114524be130ddfcf60e59a84c8dc63c85dc3f Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Tue, 13 Oct 2026 11:41:59 -0400 Subject: [PATCH 22/22] The Observer sees what the node has earned (#57) status and the chat's sidebar show what others have paid the node on its inbound channels, how much of that has landed, and the fees and packets since the connector last started. An agent key is told none of it, so the launcher reads it in the connector's zone and, during a session, writes it where the sidebar can print it. Co-Authored-By: Claude Opus 5.5 --- ...agents-zone-builds-its-own-docker-agent.md | 2 +- docs/guide/launcher.md | 7 ++- spaceturtle | 48 +++++++++++++++++-- tests/run | 15 +++++- 4 files changed, 62 insertions(+), 10 deletions(-) diff --git a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md index 4a34514..27acfdc 100644 --- a/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md +++ b/docs/adr/0005-the-agents-zone-builds-its-own-docker-agent.md @@ -2,7 +2,7 @@ A session is a chat that `docker-agent` draws. On an empty conversation it draws its own name in large letters, from a list of lines fixed in the program, and no flag, setting or field of an agent definition puts anything in its place except a welcome message, which is Markdown drawn once. spaceturtle's banner is a turtle that swims. So the agent's zone image no longer takes `docker-agent` as Docker built it: it builds the same release again from its source, with the changes of `images/agent/docker-agent.patch`. The first adds `--banner-file`. The file is a film of frames, and `docker-agent` plays it on the clock its spinners already use, until the conversation starts, cut down to the middle of it when the chat is smaller. The image makes the film: the turtle of the banner the README shows, flying through a field of stars large enough to fill the chat of a large terminal. -The second change adds `--sidebar-section`. The chat's sidebar has a fixed list of sections (Session, Token Usage, Agent, Tools) and none for what an agent node runs. The flag adds a section whose body is the output of a command, run again every five seconds. The launcher gives it two scripts in the image, each of which asks the node with the session's agent key. `spaceturtle-limit` shows what the key may still pay through the connector today, of its limit for a day, and its limit for one command: the agent's budget on the network, which the sidebar's own Token Usage is not, since that counts the model. `spaceturtle-apps` lists each app, whether it runs, and the apps that wait for the Observer. +The second change adds `--sidebar-section`. The chat's sidebar has a fixed list of sections (Session, Token Usage, Agent, Tools) and none for what an agent node runs. The flag adds a section whose body is the output of a command, run again every five seconds. The launcher gives it two scripts in the image, each of which asks the node with the session's agent key. `spaceturtle-limit` shows what the key may still pay through the connector today, of its limit for a day, and its limit for one command: the agent's budget on the network, which the sidebar's own Token Usage is not, since that counts the model. `spaceturtle-apps` lists each app, whether it runs, and the apps that wait for the Observer. A third section, Earnings, shows what others have paid the node on its channels, how much of that has landed, and the fees and packets since the connector last started. An agent key is told none of that, so the launcher reads it in the connector's zone while the chat is open and writes it to the directory the agent's zone mounts read-only, and the section's command only prints that file. Both changes are offered to `docker/docker-agent`, the banner as [pull request 4578](https://github.com/docker/docker-agent/pull/4578) and the sidebar section as [pull request 4585](https://github.com/docker/docker-agent/pull/4585). When a release of theirs holds both, the build stage and the patch go, and the image takes Docker's program again. diff --git a/docs/guide/launcher.md b/docs/guide/launcher.md index 43f834b..4db7673 100644 --- a/docs/guide/launcher.md +++ b/docs/guide/launcher.md @@ -126,7 +126,10 @@ definition's tools, the agent key's scope and its spending limit are what bound - `spaceturtle status` shows the timer, its interval and the last unattended session's time, and for each of the connector's zone (`running`, `stopped` or `not created`), the agent's zone (`in a session` or `idle`) and every app the node has, whether it runs; then the - node's network and whether its relay answers from inside the connector's zone. While the + node's network and whether its relay answers from inside the connector's zone. Its last + lines are the node's earnings, in the token's base units: what others have paid it on its + channels and how much of that has landed on the chain, and the fees and packets since the + connector last started. A session's sidebar shows the same. While the connector's zone is stopped or not created it says those cannot be read, and still exits 0. - `spaceturtle stop` stops the timer's unit (its on/off setting stays), a session in the agent's zone, the unit that keeps the connector's zone running and then that zone, and @@ -162,7 +165,7 @@ no tool for any of them: | `spaceturtle waiting` | Lists each waiting app with its image or URL, and how long it has waited when `toon` says (0.2.0 does not, so it reads `unknown`) | | `spaceturtle approve ` | Starts it; an image that is not TOON's own runs under the sandboxed runtime | | `spaceturtle refuse [reason]` | Discards it | -| `spaceturtle status` | Also says whether the supervisor is running and how many apps are waiting | +| `spaceturtle status` | Also says whether the supervisor is running, how many apps are waiting and what the node has earned | | `spaceturtle agent-key show` | The agent key's scope, limits and what is left today; never the private half | | `spaceturtle agent-key replace` | Makes a new key, revokes the old one, places the new private half in the agent's zone; the wallet is untouched | | `spaceturtle agent-key revoke` | Removes the key from the agent node's list and deletes its private half from the agent's zone; the agent's next order is refused | diff --git a/spaceturtle b/spaceturtle index e47b642..7e1bdcd 100755 --- a/spaceturtle +++ b/spaceturtle @@ -88,7 +88,9 @@ # The timer's state and interval, when the last unattended session started, # the model and the ceiling; the connector's zone (running, stopped, not created), # the agent's zone (in a session, idle), the network, each app and whether the -# relay answers; whether the supervisor runs and how many apps wait. Exits 0 +# relay answers; whether the supervisor runs, how many apps wait, and what the +# node has earned: what others have paid it on its channels and how much of that +# has landed, and the fees and packets since the connector last started. Exits 0 # when the connector's zone is stopped or missing. # spaceturtle agent-key show # Prints the agent key's scope, limits and what is left today (read from the @@ -454,6 +456,37 @@ need_ports() { || die "the connector's zone ($zone) is running, but ports $connector_port and $relay_port of this machine do not both lead to it, so the agent cannot reach the node. Another program may have held one when the zone started. Run 'spaceturtle stop', then 'spaceturtle start'." } +# What the node has earned, in two lines, for `status` and for the chat's sidebar. What others +# have paid it is the sum of its inbound channels' watermarks, which a restart does not lose, +# and how much of that has landed on the chain; the fees and the packets are the connector's +# own count since it last started. An agent key is told none of this, so the launcher reads +# it in the connector's zone. Reading it pays nothing and needs no passphrase. +earnings_lines() { + local channels counts + channels=$(in_zone 'toon channel list --json' 2>/dev/null) || channels= + counts=$(in_zone 'toon packet count --json' 2>/dev/null) || counts= + jq -rn --arg channels "$channels" --arg counts "$counts" ' + def commas: tostring | explode | reverse | [range(0; length; 3) as $i | .[$i:$i + 3] | implode] | join(",") | explode | reverse | implode; + ($channels | try fromjson catch null) as $c | ($counts | try fromjson catch null) as $p | + if ($c | type) != "object" and ($p | type) != "object" then "cannot be read now" + else + (if ($c | type) == "object" then [$c.channels[]? | select(.direction == "inbound")] as $in + | "received \([$in[].watermark // 0] | add // 0 | commas) (\([$in[].landed // 0] | add // 0 | commas) landed)" + else empty end), + (if ($p | type) == "object" then "this run \($p.fees_earned // 0 | commas) in fees, \($p.packets.fulfilled // 0 | commas) packets" + else empty end) + end' +} + +# While someone is in a session the sidebar shows the earnings, from a file in the directory +# the agent's zone mounts read-only, written again every quarter of a minute. +watch_earnings() { + while :; do + earnings_lines > "$session_dir/earnings.new" 2>/dev/null && mv -f "$session_dir/earnings.new" "$session_dir/earnings" + sleep 15 + done +} + # The definition a session reads, written fresh each time into the directory the agent's zone # mounts read-only. An unattended one carries the ceiling as docker-agent's run-wide budget. write_session_def() { # 1 when unattended @@ -552,22 +585,25 @@ session() { write_session_def "$unattended" wall=$(agent_wall) || exit 1 # No program in a zone is given the lock (9>&-), so it is free once this launcher ends. - trap '"$msb" stop --quiet --timeout 60 "$agent_zone" >/dev/null 2>&1 9>&-' EXIT + # The trap runs after this function has gone, so what it names is not local. + earnings_watcher= + trap '[[ -z ${earnings_watcher:-} ]] || kill "$earnings_watcher" 2>/dev/null; "$msb" stop --quiet --timeout 60 "$agent_zone" >/dev/null 2>&1 9>&-' EXIT if [[ $(agent_zone_wall) != "$wall" ]]; then rewall_agent_zone "$wall" 9>&- elif [[ $state == stopped ]]; then "$msb" start --quiet "$agent_zone" 9>&- || die "the agent's zone could not be started" fi local def=/home/agent/session/spaceturtle.yaml # With someone there, the chat opens on the banner the README shows, moving: the agent's zone # image holds it as a film of frames, and its docker-agent is built to play one (ADR 0005). - # Its sidebar shows what the agent key may still pay today and lists the node's apps, both - # as the agent key is told of them. - local attach=(--tty) run=(--banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section "Spending limit=spaceturtle-limit" --sidebar-section "TOON apps=spaceturtle-apps" "$def") + # Its sidebar shows what the node has earned, which the launcher reads for it, and what the + # agent key may still pay today and the node's apps, both as the agent key is told of them. + local attach=(--tty) run=(--banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section "Earnings=cat /home/agent/session/earnings" --sidebar-section "Spending limit=spaceturtle-limit" --sidebar-section "TOON apps=spaceturtle-apps" "$def") if (( unattended )); then date -u +%Y-%m-%dT%H:%M:%SZ > "$state_dir/last-unattended" || die "cannot write $state_dir/last-unattended" # Nobody answers a prompt, and the definition's tools are the whole of what the agent may do. attach=(--no-stdin) run=(--exec --yolo "$def" "Begin a session: read the waiting Requests and answer them, then do your daily work.") fi + if (( ! unattended )); then watch_earnings > /dev/null 2>&1 9>&- & earnings_watcher=$!; fi # The key reaches the process by name (-e), never as an argument of any program: it is # exported by the shell itself, in a subshell that becomes msb. # The agent key's path, not the key, goes in the environment; the file is in the agent's zone. @@ -944,6 +980,8 @@ cmd_status() { fi lines=$(waiting_apps "$doc") || exit 1 say "$(grep -c . <<<"$lines") app(s) waiting for approval" + # In the token's base units. + while IFS= read -r l; do say "earnings: $l"; done < <(earnings_lines) } # Stops everything and loses nothing: the timer's unit (its setting stays), a session in the diff --git a/tests/run b/tests/run index 2de694b..473ef3a 100755 --- a/tests/run +++ b/tests/run @@ -1023,6 +1023,8 @@ name=${@: -1} [[ $* == *pgrep* ]] && { [[ -e $STUB_DIR/up ]]; exit; } [[ $* == *eth_chainId* ]] && { [[ -r $STUB_DIR/chain-id ]] && echo "{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":\"$(cat "$STUB_DIR/chain-id")\"}"; exit 0; } [[ $* == *"toon status --json"* ]] && { cat "$STUB_DIR/status" 2>/dev/null || echo "{}"; exit 0; } +[[ $* == *"toon channel list --json"* ]] && { cat "$STUB_DIR/channels" 2>/dev/null; exit; } +[[ $* == *"toon packet count --json"* ]] && { cat "$STUB_DIR/packets" 2>/dev/null; exit; } [[ $* == *"state.json"* ]] && { echo "{\"network\":\"$(cat "$STUB_DIR/network" 2>/dev/null || echo devnet)\",\"connector_url\":\"$(cat "$STUB_DIR/connector-url" 2>/dev/null)\"}"; exit 0; } [[ $* == *"toon wallet show"* ]] && { echo "evm 0xAAA111"; echo "solana SoLBBB222"; exit 0; } [[ $* == *"toon agent-key create"* ]] && { touch "$STUB_DIR/keys"; n=$(( $(wc -l < "$STUB_DIR/keys") + 1 )); echo "key-$n" >> "$STUB_DIR/keys"; echo "PRIVATE-HALF-$n" > "$STUB_DIR/agentkeyfile"; exit 0; } @@ -1277,12 +1279,12 @@ GUEST_DEF=/home/agent/session/spaceturtle.yaml BASE_WALL="allow@dns,allow@host:tcp:7123,allow@host:tcp:7124"; SKILL_WALL="allow@api.github.com:tcp:443,allow@codeload.github.com:tcp:443" session_env; run_cmd session; rc=$? run=$(session_run) -[[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 --banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section Spending limit=spaceturtle-limit --sidebar-section TOON apps=spaceturtle-apps $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" +[[ $rc -eq 0 && $run == "exec --quiet --tty -e ANTHROPIC_API_KEY -e TOON_AGENT_KEY agent-x -- docker-agent run --sandbox=false --app-name spaceturtle --model anthropic/claude-sonnet-5-5 --banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section Earnings=cat /home/agent/session/earnings --sidebar-section Spending limit=spaceturtle-limit --sidebar-section TOON apps=spaceturtle-apps $GUEST_DEF" ]] && cmp -s "$(sdef)" "$root/agent/spaceturtle.yaml" launcher_check "a session runs docker-agent in the agent's zone, on the definition as shipped" $? session_env; run_cmd; rc=$? [[ $rc -eq 0 && $(session_run) == "$run" ]]; launcher_check "spaceturtle with nothing after it is a session" $? # With someone there the chat opens on the banner; nobody watches an unattended session. -[[ $run == *" --banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section Spending limit=spaceturtle-limit --sidebar-section TOON apps=spaceturtle-apps $GUEST_DEF" ]] && ! yq -e '.agents.spaceturtle | has("welcome_message")' "$root/agent/spaceturtle.yaml" > /dev/null 2>&1 +[[ $run == *" --banner-file /usr/local/share/spaceturtle/banner.txt --sidebar-section Earnings=cat /home/agent/session/earnings --sidebar-section Spending limit=spaceturtle-limit --sidebar-section TOON apps=spaceturtle-apps $GUEST_DEF" ]] && ! yq -e '.agents.spaceturtle | has("welcome_message")' "$root/agent/spaceturtle.yaml" > /dev/null 2>&1 launcher_check "a session opens on spaceturtle's banner, which a welcome message would hide" $? # The sidebar's list of apps, from what `toon status` tells an agent key. apps_list() { mkdir -p "$tmp/apps-bin"; printf '#!/bin/sh\ncat < "$tmp/apps-bin/toon"; chmod +x "$tmp/apps-bin/toon"; PATH=$tmp/apps-bin:$PATH sh "$root/images/agent/spaceturtle-apps"; } @@ -1400,6 +1402,15 @@ waiting_env; run_cmd status; rc=$? launcher_check "status shows the number waiting" $(( rc == 0 && $(grep -c '1 app(s) waiting' "$tmp/out") == 1 ? 0 : 1 )) waiting_env; echo "toon status --json" > "$STUB_DIR/fail-on"; run_cmd status; rc=$? [[ $rc -ne 0 ]] && grep -q 'toon status failed' "$tmp/out" && ! grep -q 'waiting for approval' "$tmp/out"; launcher_check "status with toon status failing says so and counts nothing" $? +# What the node has earned: an agent key is told none of it, so the launcher reads it in the connector's zone. +earn_env() { waiting_env + echo '{"channels":[{"direction":"inbound","watermark":1200,"landed":1000},{"direction":"inbound","watermark":34,"landed":0},{"direction":"outbound","watermark":999,"landed":5}]}' > "$STUB_DIR/channels" + echo '{"fees_earned":"1500","packets":{"fulfilled":7,"rejected":2},"toon_app":"relay"}' > "$STUB_DIR/packets"; } +earn_env; run_cmd status; rc=$? +[[ $rc -eq 0 ]] && grep -qx 'spaceturtle: earnings: received 1,234 (1,000 landed)' "$tmp/out" && grep -qx 'spaceturtle: earnings: this run 1,500 in fees, 7 packets' "$tmp/out" +launcher_check "status says what the inbound channels have been paid, what landed, and the fees since the connector started" $? +earn_env; : > "$STUB_DIR/channels"; : > "$STUB_DIR/packets"; run_cmd status; rc=$? +[[ $rc -eq 0 ]] && grep -qx 'spaceturtle: earnings: cannot be read now' "$tmp/out"; launcher_check "status says when the earnings cannot be read" $? waiting_env; echo "toon status --json" > "$STUB_DIR/fail-on"; : > "$STUB_DIR/calls"; run_cmd approve oracle; rc=$? [[ $rc -ne 0 ]] && grep -q 'toon status failed' "$tmp/out" && ! grep -q 'not waiting' "$tmp/out" && ! grep -q "toon approve" "$STUB_DIR/calls" launcher_check "approve with toon status failing says so and changes nothing" $?