upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlog <log@invalid>2026-10-05 22:16:48 +0000
committerlog <log@invalid>2026-10-05 22:16:48 +0000
commit6b29aa205e742aba0cd558d07922dbd7c84daf8d (patch)
tree3e0160d26f4cfb2ab1252a478251a2c7996052c6
parent9d6e55f808705989bf5abe3ddf3813a7fb7907a3 (diff)
size 65224
-rw-r--r--reveal/v5-000008/check.py319
-rw-r--r--reveal/v5-000008/manifest.txt29
-rw-r--r--reveal/v5-000008/manifest.txt.otsbin0 -> 759 bytes
-rw-r--r--reveal/v5-000008/r33418612.ctbin0 -> 22002 bytes
-rw-r--r--reveal/v5-000008/r33418612.nostr.json1
-rw-r--r--reveal/v5-000008/r33418612.tlock11
-rw-r--r--reveal/v5-000008/r33447412.ctbin0 -> 36398 bytes
-rw-r--r--reveal/v5-000008/r33447412.nostr.json1
-rw-r--r--reveal/v5-000008/r33447412.tlock11
-rw-r--r--reveal/v5-000008/r33505012.ctbin0 -> 1625 bytes
-rw-r--r--reveal/v5-000008/r33505012.nostr.json1
-rw-r--r--reveal/v5-000008/r33505012.tlock11
-rw-r--r--reveal/v5-000008/r33533812.ctbin0 -> 9939 bytes
-rw-r--r--reveal/v5-000008/r33533812.nostr.json1
-rw-r--r--reveal/v5-000008/r33533812.tlock11
-rw-r--r--reveal/v5-000008/r33562612.ctbin0 -> 1018 bytes
-rw-r--r--reveal/v5-000008/r33562612.nostr.json1
-rw-r--r--reveal/v5-000008/r33562612.tlock11
-rw-r--r--reveal/v5-000008/r34369012.ctbin0 -> 1028 bytes
-rw-r--r--reveal/v5-000008/r34369012.nostr.json1
-rw-r--r--reveal/v5-000008/r34369012.tlock11
-rw-r--r--reveal/v5-000008/r34570612.ctbin0 -> 22311 bytes
-rw-r--r--reveal/v5-000008/r34570612.nostr.json1
-rw-r--r--reveal/v5-000008/r34570612.tlock11
-rw-r--r--reveal/v5-000008/r34599412.ctbin0 -> 36713 bytes
-rw-r--r--reveal/v5-000008/r34599412.nostr.json1
-rw-r--r--reveal/v5-000008/r34599412.tlock11
-rw-r--r--reveal/v5-000008/r34657012.ctbin0 -> 1660 bytes
-rw-r--r--reveal/v5-000008/r34657012.nostr.json1
-rw-r--r--reveal/v5-000008/r34657012.tlock11
-rw-r--r--reveal/v5-000008/r34685812.ctbin0 -> 10200 bytes
-rw-r--r--reveal/v5-000008/r34685812.nostr.json1
-rw-r--r--reveal/v5-000008/r34685812.tlock11
-rw-r--r--reveal/v5-000008/r34714612.ctbin0 -> 1022 bytes
-rw-r--r--reveal/v5-000008/r34714612.nostr.json1
-rw-r--r--reveal/v5-000008/r34714612.tlock11
-rw-r--r--reveal/v5-000008/r35377012.ctbin0 -> 672 bytes
-rw-r--r--reveal/v5-000008/r35377012.nostr.json1
-rw-r--r--reveal/v5-000008/r35377012.tlock11
-rw-r--r--reveal/v5-000008/r35521012.ctbin0 -> 1021 bytes
-rw-r--r--reveal/v5-000008/r35521012.nostr.json1
-rw-r--r--reveal/v5-000008/r35521012.tlock11
-rw-r--r--reveal/v5-000008/r35578612.ctbin0 -> 4485 bytes
-rw-r--r--reveal/v5-000008/r35578612.nostr.json1
-rw-r--r--reveal/v5-000008/r35578612.tlock11
-rw-r--r--reveal/v5-000008/r35722612.ctbin0 -> 1023 bytes
-rw-r--r--reveal/v5-000008/r35722612.nostr.json1
-rw-r--r--reveal/v5-000008/r35722612.tlock11
-rw-r--r--reveal/v5-000008/r35751412.ctbin0 -> 669 bytes
-rw-r--r--reveal/v5-000008/r35751412.nostr.json1
-rw-r--r--reveal/v5-000008/r35751412.tlock11
-rw-r--r--reveal/v5-000008/r35837812.ctbin0 -> 669 bytes
-rw-r--r--reveal/v5-000008/r35837812.nostr.json1
-rw-r--r--reveal/v5-000008/r35837812.tlock11
-rw-r--r--reveal/v5-000008/r35924212.ctbin0 -> 1010 bytes
-rw-r--r--reveal/v5-000008/r35924212.nostr.json1
-rw-r--r--reveal/v5-000008/r35924212.tlock11
-rw-r--r--reveal/v5-000008/r36529012.ctbin0 -> 664 bytes
-rw-r--r--reveal/v5-000008/r36529012.nostr.json1
-rw-r--r--reveal/v5-000008/r36529012.tlock11
-rw-r--r--reveal/v5-000008/r36730612.ctbin0 -> 4527 bytes
-rw-r--r--reveal/v5-000008/r36730612.nostr.json1
-rw-r--r--reveal/v5-000008/r36730612.tlock11
-rw-r--r--reveal/v5-000008/r36874612.ctbin0 -> 1031 bytes
-rw-r--r--reveal/v5-000008/r36874612.nostr.json1
-rw-r--r--reveal/v5-000008/r36874612.tlock11
-rw-r--r--reveal/v5-000008/r36903412.ctbin0 -> 664 bytes
-rw-r--r--reveal/v5-000008/r36903412.nostr.json1
-rw-r--r--reveal/v5-000008/r36903412.tlock11
-rw-r--r--reveal/v5-000008/r37076212.ctbin0 -> 1023 bytes
-rw-r--r--reveal/v5-000008/r37076212.nostr.json1
-rw-r--r--reveal/v5-000008/r37076212.tlock11
-rw-r--r--reveal/v5-000008/seal.json43
73 files changed, 667 insertions, 0 deletions
diff --git a/reveal/v5-000008/check.py b/reveal/v5-000008/check.py
new file mode 100644
index 0000000..7f86b8d
--- /dev/null
+++ b/reveal/v5-000008/check.py
@@ -0,0 +1,319 @@
1#!/usr/bin/env python3
2"""
3Check Echo's self-revealing ledger seals (`sha256-live-v5`) without trusting Echo.
4
5 python3 check.py SEAL_DIR [SEAL_DIR ...] [--tle PATH] [--offline]
6
7Needs Python 3.11+, the `cryptography` package (ChaCha20-Poly1305) and drand's `tle` binary
8(`go install github.com/drand/tlock/cmd/tle@v1.2.0`). It imports nothing of Echo's: a checker that needs the thing it
9checks is not a checker, which is why it is copied, whole, into every seal directory.
10
11Each SEAL_DIR is one seal: `manifest.txt` (the exact text the seal's digest is the sha256 of), `seal.json`, and per
12reveal group `r<ROUND>.tlock` (the group's key, time-locked to that drand round) and `r<ROUND>.ct` (the group,
13encrypted under that key), and, once the group has been revealed, `r<ROUND>.held.json` (how many of its withheld
14lines Echo publishes no salt for, and why) and any number of `r<ROUND>.salts.<N>.json`: each the salts of withheld
15lines Echo decided to open and had not erased, each with its line. `manifest.txt.ots`, when present, is an
16OpenTimestamps proof over the manifest: `ots verify manifest.txt.ots` checks it against Bitcoin.
17
18What it checks, from the files alone and the beacon:
19 1. the manifest hashes to the seal's digest, and each seal names the one before it (when several are given);
20 2. each group's ciphertext and locked key hash to what the manifest commits, and the key is locked to the
21 manifest's round of the manifest's chain;
22 3. for every group whose round the beacon has signed: the round's signature as each relay serves it, the key
23 unlocked with it, the group decrypted, its bytes hashed to the committed digest, its lines and withheld lines
24 counted against the committed counts, its lines in id order, and every line's reveal day recomputed from its
25 own settling instant under the seal's named rule (`utc-day-after-close`: the first 00:00 UTC after
26 `settles_at`, else after the deadline);
27 4. for every opened group with releases: each names this seal, round and group and its own number; each released
28 salt and line hash to the withheld line's committed hash; no line is settled twice; and a hold, where there is
29 one, names the group and counts no more lines than are withheld;
30 5. once every group of every seal from the first is open and every withheld line released: the union of their v4
31 lines, sorted by id, rehashes to the v4 digest the last seal follows, so no sealed forecast was left out of a
32 reveal. Where a withheld line has no released salt (held, erased, or not yet released) that digest cannot be
33 rebuilt, and this says so and why: what is checked then is only that every forecast the v4 seal covers is in a
34 group, counted. A withheld line is never called verified.
35
36A group whose round is not yet signed, or whose withheld lines have no release yet, is reported as pending or held,
37not as a failure. Exit 0 when everything checkable passed, 1 when anything did not match.
38"""
39from __future__ import annotations
40
41import argparse
42import base64
43import hashlib
44import json
45import re
46import subprocess
47import sys
48import urllib.request
49import zlib
50from datetime import datetime, timedelta, timezone
51from pathlib import Path
52
53
54def sha(b: bytes) -> str:
55 return hashlib.sha256(b).hexdigest()
56
57
58def parse_manifest(text: str) -> dict:
59 lines = text.split("\n")
60 if lines[0] != "sha256-live-v5":
61 raise ValueError(f"not a v5 manifest: {lines[0]!r}")
62 m = {"groups": []}
63 for ln in lines[1:]:
64 word, _, rest = ln.partition(" ")
65 if word == "prev":
66 m["prev"] = None if rest == "-" else rest
67 elif word == "follows":
68 seq, digest, n = rest.split(" ")
69 m["follows"] = {"seq": int(seq), "digest": digest, "n": int(n)}
70 elif word == "covers":
71 m["covers"] = rest.split(" ")
72 elif word == "variant":
73 m["variant"] = json.loads(rest)
74 elif word == "counts":
75 m["n"], m["n_withheld"], m["n_groups"] = map(int, rest.split(" "))
76 elif word == "group":
77 r, at, n, w, digest, ct, key, late = rest.split(" ")
78 m["groups"].append({"round": int(r), "reveal_at": at, "n": int(n), "n_withheld": int(w),
79 "digest": digest, "ct": ct, "key": key, "late": late == "1"})
80 else:
81 raise ValueError(f"unknown manifest line {ln!r}")
82 return m
83
84
85def stanza(locked: str) -> tuple[int, str] | None:
86 body = "".join(ln for ln in locked.strip().splitlines() if not ln.startswith("-----"))
87 m = re.search(rb"-> tlock (\d+) ([0-9a-f]{64})", base64.b64decode(body))
88 return (int(m.group(1)), m.group(2).decode()) if m else None
89
90
91def round_at(beacon: dict, at: datetime) -> int:
92 t = at.timestamp()
93 whole = int(t) + (t != int(t))
94 if whole <= beacon["genesis_time"]:
95 return 1
96 return -(-(whole - beacon["genesis_time"]) // beacon["period"]) + 1
97
98
99def reveal_day(closes: datetime) -> datetime:
100 d = closes.astimezone(timezone.utc).date() + timedelta(days=1)
101 return datetime(d.year, d.month, d.day, tzinfo=timezone.utc)
102
103
104def parse_line(ln: str) -> dict:
105 """One line: `id|issued_at|deadline|forecaster|p|settlement|anchor<TAB>open:<v4>` or `...<TAB>withheld:<hex>`."""
106 numeric, tab, text = ln.partition("\t")
107 if not tab:
108 raise ValueError("a line without its text layer")
109 fid, issued, deadline, forecaster, p, rest = numeric.split("|", 5)
110 dec = json.JSONDecoder()
111 settle, end = dec.raw_decode(rest)
112 if rest[end] != "|":
113 raise ValueError("settlement not followed by the anchor")
114 anchor, end2 = dec.raw_decode(rest, end + 1)
115 if end2 != len(rest):
116 raise ValueError("trailing bytes after the anchor")
117 out = {"id": int(fid), "issued_at": issued, "deadline": deadline, "forecaster": forecaster, "p": float(p),
118 "settlement": settle, "anchor": anchor}
119 if text.startswith("open:"):
120 out["v4"] = text[5:]
121 if not out["v4"].startswith(f"{fid}|"):
122 raise ValueError("the text layer is another forecast's line")
123 elif re.fullmatch(r"withheld:[0-9a-f]{64}", text):
124 out["withheld"] = text[9:]
125 else:
126 raise ValueError(f"unknown text layer {text[:20]!r}")
127 return out
128
129
130def beacon_round(beacon: dict, rnd: int) -> dict:
131 """What each relay serves for the round: its signature, or why there is none."""
132 out = {}
133 for relay in beacon["relays"]:
134 url = f"{relay.rstrip('/')}/{beacon['chain_hash']}/public/{rnd}"
135 try:
136 with urllib.request.urlopen(url, timeout=20) as r: # noqa: S310 — the seal's own relays
137 out[relay] = json.loads(r.read()).get("signature")
138 except Exception as exc: # noqa: BLE001 — report, go on
139 out[relay] = f"unavailable ({type(exc).__name__})"
140 return out
141
142
143def unlock(tle: str, beacon: dict, locked: str) -> bytes | None:
144 """The key, or None while the round is unsigned. Each relay is tried in turn."""
145 errors = []
146 for relay in beacon["relays"]:
147 r = subprocess.run([tle, "-d", "-n", relay.rstrip("/") + "/", "-c", beacon["chain_hash"]],
148 input=locked.encode(), capture_output=True, timeout=120, check=False)
149 if r.returncode == 0:
150 return r.stdout
151 if b"too early" in r.stderr:
152 return None
153 errors.append(f"{relay}: {r.stderr.decode(errors='replace').strip()[-160:]}")
154 raise RuntimeError("; ".join(errors))
155
156
157def release(d: Path, seal_digest: str, g: dict, lines: list[dict], say) -> tuple[dict[int, str], int, str | None]:
158 """An opened group's releases and hold, checked against the group: (id -> the v4 line each released salt opens,
159 how many withheld lines were opened and found erased, and the hold's reason where Echo published one)."""
160 r = g["round"]
161 shut = {x["id"]: x["withheld"] for x in lines if "withheld" in x}
162 out, erased, seen, bad = {}, set(), set(), []
163 files = sorted(d.glob(f"r{r}.salts.*.json"), key=lambda p: int(p.name.split(".")[-2]))
164 for k, path in enumerate(files):
165 rel = json.loads(path.read_text())
166 say(rel.get("format") == "echo-reveal-salts/1" and rel.get("seal") == seal_digest
167 and rel.get("round") == r and rel.get("group") == g["digest"] and rel.get("n") == k
168 and path.name == f"r{r}.salts.{k}.json",
169 f"round {r}: release {k} names this seal, round and group, and follows the one before")
170 for x in rel.get("released", []):
171 i, line = x["id"], x["line"]
172 opens = (i in shut and i not in seen and line.startswith(f"{i}|")
173 and sha(bytes.fromhex(x["salt"]) + line.encode()) == shut[i])
174 if opens:
175 out[i] = line
176 else:
177 bad.append(i)
178 seen.add(i)
179 for i in rel.get("erased", []):
180 if i not in shut or i in seen:
181 bad.append(i)
182 erased.add(i)
183 seen.add(i)
184 if files:
185 say(not bad, f"round {r}: {len(out)} released lines open their committed hashes, {len(erased)} opened lines "
186 f"found erased, none settled twice" + (f" ({len(bad)} do not, e.g. {bad[:3]})" if bad else ""))
187 why = None
188 hold = d / f"r{r}.held.json"
189 if hold.exists():
190 h = json.loads(hold.read_text())
191 say(h.get("format") == "echo-reveal-held/1" and h.get("seal") == seal_digest and h.get("round") == r
192 and h.get("group") == g["digest"] and 0 <= h.get("held", -1) <= len(shut),
193 f"round {r}: the hold names this seal, round and group, and counts at most its withheld lines")
194 why = str(h.get("why") or "no reason given")
195 left = len(shut) - len(out) - len(erased)
196 if left:
197 print(f" .... round {r}: {left} withheld lines have no released salt: counted, not rehashed"
198 + (f" (Echo publishes none: {why})" if why else " (no release or hold published yet)"))
199 return out, len(erased), why
200
201
202def check(dirs: list[Path], tle: str = "tle", offline: bool = False) -> int:
203 from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
204
205 failed, pending, withheld, held, erased, union = 0, 0, 0, 0, 0, {}
206 reasons: set[str] = set()
207 first_prev = "unset"
208
209 def say(ok: bool, what: str) -> None:
210 nonlocal failed
211 failed += not ok
212 print(f" {'PASS' if ok else 'FAIL'} {what}")
213
214 prev_digest = None
215 seals = []
216 for d in dirs:
217 text = (d / "manifest.txt").read_bytes()
218 row = json.loads((d / "seal.json").read_text())
219 seals.append((d, text, row, parse_manifest(text.decode())))
220 seals.sort(key=lambda s: s[2]["seq"])
221 last = None
222 for i, (d, text, row, m) in enumerate(seals):
223 print(f"v5 seal {row['seq']}: {m['n']} forecasts in {m['n_groups']} reveal groups, {m['n_withheld']} withheld, "
224 f"follows v4 seal {m['follows']['seq']}")
225 say(sha(text) == row["digest"], f"sha256(manifest.txt) is the seal's digest {row['digest'][:16]}…")
226 say(len(m["groups"]) == m["n_groups"] and sum(g["n"] for g in m["groups"]) == m["n"]
227 and sum(g["n_withheld"] for g in m["groups"]) == m["n_withheld"], "the manifest's counts add up")
228 if i == 0:
229 first_prev = m["prev"]
230 else:
231 say(m["prev"] == prev_digest, "it names the seal before it")
232 prev_digest, last = row["digest"], m
233 b = m["variant"]["beacon"]
234 for g in m["groups"]:
235 r = g["round"]
236 ct, locked = (d / f"r{r}.ct").read_bytes(), (d / f"r{r}.tlock").read_text()
237 say(sha(ct) == g["ct"] and sha(locked.encode()) == g["key"],
238 f"round {r}: the ciphertext and the locked key are the committed ones")
239 say(stanza(locked) == (r, b["chain_hash"]), f"round {r}: the key is locked to that round of that chain")
240 say(round_at(b, datetime.fromisoformat(g["reveal_at"])) == r, f"round {r} is signed at {g['reveal_at']}")
241 if not offline:
242 sigs = beacon_round(b, r)
243 good = {s for s in sigs.values() if s and not s.startswith("unavailable")}
244 print(f" .... round {r} signature from {len(sigs)} relays: "
245 + ("not yet signed" if not good else f"{len(good)} distinct: {min(good)[:24]}…"))
246 if len(good) > 1:
247 say(False, f"round {r}: relays disagree on its signature")
248 key = unlock(tle, b, locked)
249 if key is None:
250 pending += 1
251 print(f" .... round {r} ({g['reveal_at']}) not yet signed: {g['n']} forecasts stay locked")
252 continue
253 try:
254 plain = zlib.decompress(ChaCha20Poly1305(key).decrypt(b"\x00" * 12, ct, None))
255 except Exception as exc: # noqa: BLE001 — a finding, not a crash
256 say(False, f"round {r}: the ciphertext does not open under its key ({type(exc).__name__})")
257 continue
258 say(sha(plain) == g["digest"], f"round {r}: the opened group hashes to its committed digest")
259 lines = [parse_line(ln) for ln in plain.decode().split("\n")]
260 ids = [x["id"] for x in lines]
261 say(len(lines) == g["n"] and sum("withheld" in x for x in lines) == g["n_withheld"],
262 f"round {r}: {len(lines)} lines, {g['n_withheld']} withheld, as committed")
263 say(ids == sorted(set(ids)), f"round {r}: lines in id order, none twice")
264 due = datetime.fromisoformat(g["reveal_at"])
265 if m["variant"].get("reveal") == "utc-day-after-close":
266 wrong = [x["id"] for x in lines if reveal_day(datetime.fromisoformat(
267 (x["settlement"] or {}).get("settles_at") or x["deadline"])) != due]
268 say(not wrong, f"round {r}: every line belongs to this reveal day"
269 + (f" ({len(wrong)} do not, e.g. {wrong[:3]})" if wrong else ""))
270 else:
271 print(f" .... round {r}: reveal rule {m['variant'].get('reveal')!r} is not one this checker "
272 "recomputes; which lines belong to the day is unchecked")
273 opened, gone, why = release(d, row["digest"], g, lines, say)
274 for x in lines:
275 if x["id"] in union:
276 say(False, f"forecast {x['id']} is in two groups")
277 union[x["id"]] = x.get("v4") or opened.get(x["id"])
278 shut = sum(1 for x in lines if "withheld" in x and x["id"] not in opened) - gone
279 erased += gone
280 if why is None:
281 withheld += shut
282 else:
283 held += shut
284 reasons.add(why)
285 if last is not None:
286 if first_prev is not None:
287 print(" .... completeness: the first seal given is not the chain's first; give every seal from it")
288 elif pending:
289 print(f" .... completeness: {pending} groups still locked; it is checkable once all have opened")
290 elif withheld or held or erased:
291 told = [f"{withheld} withheld lines not yet released"] if withheld else []
292 told += ([f"{held} withheld lines held, for which Echo publishes no salt ({'; '.join(sorted(reasons))})"]
293 if held else [])
294 told += [f"{erased} erased stay hashes"] if erased else []
295 print(f" .... completeness: {', '.join(told)}: those lines can be counted but not rehashed, so the v4 "
296 f"lines cannot all be rebuilt and the v4 digest is NOT checked; {len(union)} forecasts against "
297 f"the v4 seal's {last['follows']['n']}")
298 say(len(union) == last["follows"]["n"], "every forecast the v4 seal covers is in a group, counted")
299 else:
300 got = sha("\n".join(union[k] for k in sorted(union)).encode())
301 say(got == last["follows"]["digest"] and len(union) == last["follows"]["n"],
302 f"the union of {len(union)} lines rehashes to v4 seal {last['follows']['seq']}'s digest")
303 print("\nNOT VERIFIED" if failed else f"\nVERIFIED{f' ({pending} groups not yet revealed)' if pending else ''}")
304 return 1 if failed else 0
305
306
307def main(argv: list[str]) -> int:
308 ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
309 ap.add_argument("dirs", nargs="*", default=[str(Path(__file__).resolve().parent)],
310 help="seal directories, any order (default: the one this script sits in)")
311 ap.add_argument("--tle", default="tle", help="the tle binary that unlocks a key once its round is signed")
312 ap.add_argument("--offline", action="store_true",
313 help="do not fetch each round's signature from the relays for display; tle still asks them")
314 args = ap.parse_args(argv)
315 return check([Path(d) for d in args.dirs], tle=args.tle, offline=args.offline)
316
317
318if __name__ == "__main__":
319 raise SystemExit(main(sys.argv[1:]))
diff --git a/reveal/v5-000008/manifest.txt b/reveal/v5-000008/manifest.txt
new file mode 100644
index 0000000..28c2638
--- /dev/null
+++ b/reveal/v5-000008/manifest.txt
@@ -0,0 +1,29 @@
1sha256-live-v5
2prev e5aaa447c1a24f650cd1ce2251a952661609b3479dc3992f6e0c1a830da4f899
3follows 38 96f3e50b46aa8dde72e53449b5bb0e50ab093ba2321d01978d1ea9a49c4b6cdd 44304
4covers 2026-10-04T23:32:17.828591Z 2026-10-05T22:14:57.492859Z
5variant {"beacon":{"chain_hash":"52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971","genesis_time":1692803367,"period":3,"relays":["https://api.drand.sh","https://api2.drand.sh","https://api3.drand.sh","https://drand.cloudflare.com"],"scheme":"bls-unchained-g1-rfc9380"},"cipher":"chacha20poly1305-zlib6-nonce0","gate":{"default":"withheld: a kept salt can be released later; an opened text can never be withdrawn","opened":"none","why":"no decision by Echo yet"},"line":"numeric<TAB>open:<v4 line> | numeric<TAB>withheld:sha256(salt||v4 line)","reveal":"utc-day-after-close","salts":"key ring: one content a seal, one part a line","tool":{"name":"tle","sha256":"69157d8c14a1d390d1b7744946288f83d4b10748471d5447f9abb77a5902c541","version":"tlock v1.2.0 -- github.com/drand/tlock"}}
6counts 2697 2697 23
7group 33418612 2026-10-27T00:00:00.000000Z 384 384 cbf90249631ce789dc16d6677446ac7e861e18bf476011817b05c7b3a4e0df89 5618be6335f176a079d480cbf2d34225d096637aace9b888c0cc6b40325a0625 f17666dea471796940d3b18d3f3073139c204c5f1136bee877bc8be5fce2de9b 0
8group 33447412 2026-10-28T00:00:00.000000Z 633 633 92f5963eff1c28d9e796c78e00c3aba099547992925405c968550f4550faadf0 eb20a0fe6d51b230bde1a7efbdf6477c1196f6622bc2c0c13d4de4448183e097 60b6d24f53860b3a0ec1b8ee706fed6bec969696e547964585bd725f9bdf5d20 0
9group 33505012 2026-10-30T00:00:00.000000Z 24 24 b1b59ed04255f490f27e218037891454c6df949da855e3542cef88994580e10c ca7ede332b164d8f121c328f9958bffbc2b2c40303c1313a89492b3165f50abf 00839578707a5ae5875ee454834ff7afaab16d6d245dcff1c71b56de630f9144 0
10group 33533812 2026-10-31T00:00:00.000000Z 168 168 c833537167cfad560612eed20f655dbf6d06a4f3c8832d88104b35e2cc1fd1a3 302ca500ae11ba21a2ec65e5847e8b15bb4e05883aeaf8ec096c3f64865049f5 81240733711c24c1918394b8cd1313873ec4c191bfe3611b8e87cff9616d4ad1 0
11group 33562612 2026-11-01T00:00:00.000000Z 12 12 82e5517c611c93e1dfce89d96e4a3e71ed7117edc2eb3eab4bc3c1ecf2b17480 fc8896f53618550a7ea183d59e31b9d179785ee9a5770abd3178d4645b24e2b7 4887da8e1712603addf5bb706fdc740648d53d5836e66a74dc18a311a511809c 0
12group 34369012 2026-11-29T00:00:00.000000Z 12 12 4b59f1530fdab4cced41050bd4961cfadd82965eac4a76274261f66e77b77240 8009ecd519864d1169f080a10986e0153489a521734ecd23a0e8ef66da8af113 b1e2736b8755c4626245ff0ff6daa34a8e3e7bf42abaf5c6831f12a2f3a0c26e 0
13group 34570612 2026-12-06T00:00:00.000000Z 390 390 99f47693b69727072070122bc7db3a970e3f3d7b8821120c5b39d04ca078c794 a2fa50ffcf79f50cbfd717e30ce8bc0f6322c59f9c0702ca509d1d7a0dbe6b8e e33f6f7260383532dfba718972f73a882b59992888788e4312ad4cc204e4d255 0
14group 34599412 2026-12-07T00:00:00.000000Z 633 633 b7cd59db415875a719a0a8bde2d838478b4ade84841cff18e7c4e684bee09658 aa629d66b4f9d6193e84766698083970fd1bb9ade7c354030f1c7b2362422a59 8913da114db5bdae00b813c0014d53f1d56a4c58a193d937198d235c007e7ad8 0
15group 34657012 2026-12-09T00:00:00.000000Z 24 24 13f07e4f441abde766c02f2b96f5799b3e4f7ee40bd9d51d8625642f44c99973 8d3653a33d5f504102333144e8822d676053732667d4242611bef2fc68d0c7f4 eea7f7412cb3ff9d60caf4be138d6a00ebced94263e082f2a451e766898110a0 0
16group 34685812 2026-12-10T00:00:00.000000Z 171 171 5fa23a0b7413dc5f333530d204f9a29d4c5dab13596eb28ec1544be8718594e4 8e6363ce2696cdc15041f2de7882dfab8bd42c6f68c8925e41456f213e7fe64e 85fa3fe57ebf7497cfa8bb7e05c80c29bf1eadd751cfcc9cac481eaa62995e4b 0
17group 34714612 2026-12-11T00:00:00.000000Z 12 12 a66df7cb4caf17c3a006fcc7d0214db0aac58bc1104b4c7a56e0fb8bd2633865 419e9ce75a106848c488446f17e135e5bcfdbb27b19262053c3a86774d0dd58c 37e83901a73c71b284eae09af039ca6937b292292cc334f1219212421f693f70 0
18group 35377012 2027-01-03T00:00:00.000000Z 6 6 ee8563373743a06bb7cf19621111e0a11ae6ad3cb48c1b7a43fd651d4ec01ea3 c694444a542156a2b82429ff7f7b8e4771acf706ff324ca8b6d0b99dc9be2305 1f1b99b9ad7a98b16f32dc27ce1c7fca7a7d49769606bdcff7a4014fb6000b48 0
19group 35521012 2027-01-08T00:00:00.000000Z 12 12 33d2910ef6fe297bde7ea8f4cd157b8eb090d7ba0361203fd8f2201c3117c2c3 9c2b28b9d500b4bb949d6a26c060852db931d068968184e2522aa9eedfbd9adb 48ce8abb24e358b82b548aa554471fadec8f2756cba0a9890c7a824ca82c8455 0
20group 35578612 2027-01-10T00:00:00.000000Z 72 72 cc0f16e9015f774c0cb961ab4f0b9a4d8448bfd54c6e97322ee3d46a601c4398 172a0c586aaef126222cadb21eac299d30be37f3bb2cda1b8f28dbb827405ef2 442f9d8e221570fd51d9bcc7631fa57e760bb34fd346157abd5f8a13c7a27097 0
21group 35722612 2027-01-15T00:00:00.000000Z 12 12 c2b595bce841a6fdee9be07d33d685a0f07446f507944714dc3c00a1016ce8da 5a56b427bb13a855e554661a006fa4ad246480ad0bc0e175e5d1dcf579541b16 eb242f7984b2910dba445f898782398ec59f2e275f2891055ebbc3cf76346874 0
22group 35751412 2027-01-16T00:00:00.000000Z 6 6 55008da79029d0420f044e089a1130909080393a1c7a57cd292eb0b54eabc5c5 654ba3fe2a3998a967654b23ce2baf92b426534a8dc3cebc575faf1718de29cc 2b0fe3665b0a0abc077682a517c329ab74e3e1f8f53b42fa64fdd893afc01a61 0
23group 35837812 2027-01-19T00:00:00.000000Z 6 6 4440fe8e8a349a9d86b1e69160cc67c8a27e13060bec8ee6d7c986dee6bc967c 049ccc4c11135853cec387c0f50f9311a29d7e38e3295ecc0cef94765ca5ca60 829a8598d9493fdda53e75e973ac8e4622bce00e1935afe82384fdbc0984c897 0
24group 35924212 2027-01-22T00:00:00.000000Z 12 12 2d37facf66de739c6ac68835199906377b30fbb539c10c40f3141a0a42fd9f5b 42b695143557d6c5ece4867a52cbd40f43ea2ddeb14c41fd0edce93b763af79d 94efd3153c9d6741b23b411c9d722628623f02bfb8465a8c148a77f489f27b02 0
25group 36529012 2027-02-12T00:00:00.000000Z 6 6 c457c9e0d9f33099bcb156681965cb0c7271f1faf611dbc33c0910b294330720 13a3d61585d8dbafdd6ca23b434fc08983eadc33210bf5f2554a5c0450f192a4 a3545cef68346acdcbf55164bdacedc6df1367e9e18ac2dcd486aaaf0ebdf88a 0
26group 36730612 2027-02-19T00:00:00.000000Z 72 72 7d45be1398d1ee3fe48006d00e143cadfc1982ae32161abd8045443d3317f634 5ea4263c95a64a786199266678cd23b6427f57b820e5b1e02bb9e2257fccf907 1a70e56195e4f779c4e616c879620f4cb6f1bf540ac19dc5a78642331be3e600 0
27group 36874612 2027-02-24T00:00:00.000000Z 12 12 25d7bacb408473cfa0cf310078a821311bf05108ab9d02fd721bdfe133f1eda4 b3e265283007891602353cba4be4527141bef7ce275ba32b9504ccc8a7f34b39 ff21668e7fc2f1a67525f9db1392888eeefa87339150e41b40c461d96487079e 0
28group 36903412 2027-02-25T00:00:00.000000Z 6 6 f23785bf4e37c16cdd732573da17a4391d9a755d7255fbdcd8d4059846375ce2 a4392926c30b0689089067dfe86cfe3510f727e9a026391924b9d21811a5ae38 f7405d3421804b8f95501aa6195bbb2a66d27a06f45bfd6700fdc1d688bbd0c3 0
29group 37076212 2027-03-03T00:00:00.000000Z 12 12 e50adcdb27013850b9b78799cba3e453f92f6a5e48e5b6fbe416683a3a9e0d60 905d2adf953fd89b32f763679b0e7e1690cb185696a3a05723d64e90df2a736d 98ac6a64a84b474e1b739ca68afb542d24ac0eb91b3014febebda18f3ef35afa 0 \ No newline at end of file
diff --git a/reveal/v5-000008/manifest.txt.ots b/reveal/v5-000008/manifest.txt.ots
new file mode 100644
index 0000000..c35ce67
--- /dev/null
+++ b/reveal/v5-000008/manifest.txt.ots
Binary files differ
diff --git a/reveal/v5-000008/r33418612.ct b/reveal/v5-000008/r33418612.ct
new file mode 100644
index 0000000..cea3646
--- /dev/null
+++ b/reveal/v5-000008/r33418612.ct
Binary files differ
diff --git a/reveal/v5-000008/r33418612.nostr.json b/reveal/v5-000008/r33418612.nostr.json
new file mode 100644
index 0000000..ee0487c
--- /dev/null
+++ b/reveal/v5-000008/r33418612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNDE4NjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcUh0WUVscWZxWGpuMGlRTFljUEFoY2JwT09BK2NHTlNpWDZTRWhI\nOWJ3Q2pxbEhSM3BUTS9LZEZQRVkxRE0rawpCazRrSUJVSW1xNHdzWUtveGhDcVdM\nRmNMeG5EZ2YxaG5venZSZU82ZTFINUhQVjBtU3kzVFN4TGNoK0xhSUlUClRXVnpN\nWWU0dC9PTTRHZ0JVc0UwNGJKYmF3TUs2ZldwaU0vK1E4NVpjeU0KLS0tIGNhOVdD\nbytVMWlUTE4vcXFrdVg3c2FwY00yVXZWdkZvQmJxYVBINGRGekkKgBioKEECqN12\nRcsYW4hj0RWx1YL2tFGEoQAoLG/Nc/qXRu0xX3ByBnc4lKYtNFimyiC2YbRZih99\n7PR4HhGlrg==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33418612"],["reveal_at","2026-10-27T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","cbf90249631ce789dc16d6677446ac7e861e18bf476011817b05c7b3a4e0df89"],["ct","5618be6335f176a079d480cbf2d34225d096637aace9b888c0cc6b40325a0625"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r33418612.tlock b/reveal/v5-000008/r33418612.tlock
new file mode 100644
index 0000000..dcc7bde
--- /dev/null
+++ b/reveal/v5-000008/r33418612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNDE4NjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcUh0WUVscWZxWGpuMGlRTFljUEFoY2JwT09BK2NHTlNpWDZTRWhI
5OWJ3Q2pxbEhSM3BUTS9LZEZQRVkxRE0rawpCazRrSUJVSW1xNHdzWUtveGhDcVdM
6RmNMeG5EZ2YxaG5venZSZU82ZTFINUhQVjBtU3kzVFN4TGNoK0xhSUlUClRXVnpN
7WWU0dC9PTTRHZ0JVc0UwNGJKYmF3TUs2ZldwaU0vK1E4NVpjeU0KLS0tIGNhOVdD
8bytVMWlUTE4vcXFrdVg3c2FwY00yVXZWdkZvQmJxYVBINGRGekkKgBioKEECqN12
9RcsYW4hj0RWx1YL2tFGEoQAoLG/Nc/qXRu0xX3ByBnc4lKYtNFimyiC2YbRZih99
107PR4HhGlrg==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r33447412.ct b/reveal/v5-000008/r33447412.ct
new file mode 100644
index 0000000..b376115
--- /dev/null
+++ b/reveal/v5-000008/r33447412.ct
Binary files differ
diff --git a/reveal/v5-000008/r33447412.nostr.json b/reveal/v5-000008/r33447412.nostr.json
new file mode 100644
index 0000000..5220b4f
--- /dev/null
+++ b/reveal/v5-000008/r33447412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNDQ3NDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKdEc0RnU5K1JiS3FwZFJsSldKT3hMZDlycVlRRG5GdGVNdjdteGpK\ndVU2dS9HenczRDZFcnVCOUNKc1l2NkdCOApCVlRKTXYva2pRby9rVjdwZThwTzZO\nS0pZUXE5WDhsMWJvNVZ2eGFkc3FEMlJXTlhSdlNkMVhMMkxBVmpzYVM3CmpTZExB\ndGoySDhQQnNEM2lEakxNNlVaMnRkaWE4MFZXcHg0dVgxcnUzWlkKLS0tIG43bDNw\nODY4VHo5YVRJOC9hajZ4YTlmdVdEK0tvYWNJSlBrektuSXVlWUEKPPJ24hrQWJdC\nSgUkwRHzyQnSZOSj92t0uVvMCuwmBTcVkhCI4+YTnzkr9FlWT3/noaOEYzh+uYCA\nRKzyWiDB6g==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33447412"],["reveal_at","2026-10-28T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","92f5963eff1c28d9e796c78e00c3aba099547992925405c968550f4550faadf0"],["ct","eb20a0fe6d51b230bde1a7efbdf6477c1196f6622bc2c0c13d4de4448183e097"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r33447412.tlock b/reveal/v5-000008/r33447412.tlock
new file mode 100644
index 0000000..3898477
--- /dev/null
+++ b/reveal/v5-000008/r33447412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNDQ3NDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKdEc0RnU5K1JiS3FwZFJsSldKT3hMZDlycVlRRG5GdGVNdjdteGpK
5dVU2dS9HenczRDZFcnVCOUNKc1l2NkdCOApCVlRKTXYva2pRby9rVjdwZThwTzZO
6S0pZUXE5WDhsMWJvNVZ2eGFkc3FEMlJXTlhSdlNkMVhMMkxBVmpzYVM3CmpTZExB
7dGoySDhQQnNEM2lEakxNNlVaMnRkaWE4MFZXcHg0dVgxcnUzWlkKLS0tIG43bDNw
8ODY4VHo5YVRJOC9hajZ4YTlmdVdEK0tvYWNJSlBrektuSXVlWUEKPPJ24hrQWJdC
9SgUkwRHzyQnSZOSj92t0uVvMCuwmBTcVkhCI4+YTnzkr9FlWT3/noaOEYzh+uYCA
10RKzyWiDB6g==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r33505012.ct b/reveal/v5-000008/r33505012.ct
new file mode 100644
index 0000000..a242656
--- /dev/null
+++ b/reveal/v5-000008/r33505012.ct
Binary files differ
diff --git a/reveal/v5-000008/r33505012.nostr.json b/reveal/v5-000008/r33505012.nostr.json
new file mode 100644
index 0000000..37ea6cf
--- /dev/null
+++ b/reveal/v5-000008/r33505012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTA1MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcXhWV0Rhbld2Sm1YSGprc2pZMjBwUlpCQmxHd2tyelhhN2hwV0Zz\neitTWHlnRFdpTzlvTHkxMGJOZE5BOWlTUApHTTRJdlAzK250eHljYnNiYlJqS2w5\nZE03WFI4VzNLdDdBRXlLcXBQTDRiSW0yMkZ0eExmTGxqNkFQUFJ2Z3NJCmc2eURv\nVE9jdmJ6cWdBaG1LUWV6UW0xaVFMSGZSQk1rTko0dG56ay9TWGsKLS0tIFRSTkl4\nZmFXc0dDeDA3ZU9ZVkR6REZaa1dhNWIwZUI5T2RENm5POSttNzAK4PpV58CZQqJn\nZi21GmGVCPl+XRukeKjsU8/F+ghY5MJ2BKec2zHHZqyS4N9wKRarjKsC91AYY2Ne\n3IriWYje6A==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33505012"],["reveal_at","2026-10-30T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","b1b59ed04255f490f27e218037891454c6df949da855e3542cef88994580e10c"],["ct","ca7ede332b164d8f121c328f9958bffbc2b2c40303c1313a89492b3165f50abf"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r33505012.tlock b/reveal/v5-000008/r33505012.tlock
new file mode 100644
index 0000000..8ab6848
--- /dev/null
+++ b/reveal/v5-000008/r33505012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTA1MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcXhWV0Rhbld2Sm1YSGprc2pZMjBwUlpCQmxHd2tyelhhN2hwV0Zz
5eitTWHlnRFdpTzlvTHkxMGJOZE5BOWlTUApHTTRJdlAzK250eHljYnNiYlJqS2w5
6ZE03WFI4VzNLdDdBRXlLcXBQTDRiSW0yMkZ0eExmTGxqNkFQUFJ2Z3NJCmc2eURv
7VE9jdmJ6cWdBaG1LUWV6UW0xaVFMSGZSQk1rTko0dG56ay9TWGsKLS0tIFRSTkl4
8ZmFXc0dDeDA3ZU9ZVkR6REZaa1dhNWIwZUI5T2RENm5POSttNzAK4PpV58CZQqJn
9Zi21GmGVCPl+XRukeKjsU8/F+ghY5MJ2BKec2zHHZqyS4N9wKRarjKsC91AYY2Ne
103IriWYje6A==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r33533812.ct b/reveal/v5-000008/r33533812.ct
new file mode 100644
index 0000000..f0e0569
--- /dev/null
+++ b/reveal/v5-000008/r33533812.ct
Binary files differ
diff --git a/reveal/v5-000008/r33533812.nostr.json b/reveal/v5-000008/r33533812.nostr.json
new file mode 100644
index 0000000..49c4244
--- /dev/null
+++ b/reveal/v5-000008/r33533812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTMzODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKbVA0KzdTa1VoZFFmMnVodUdCZlRWczgrYndObGR6aDc5Q210T3NP\nbnNoNUJpamRySWJxSGdIbVoraU5Xb0NOTApDSnU4anhyNW1ZcXgvVmtlMU1NS2NU\ndFJJR0syM0IvWnhuSWNoTVpJaEQvTUlMaFNHUHg5OXlCTzZYWXlCNFBkCkVhODl1\nUUZsNys4T2xXV0VJSHZqZVJHdXZMK3NreDVncHdyZTgyR2NzeWMKLS0tIGVhZlZE\nL1FLeXRJK2o4dWdDTEFUejFZVGwzaGEzUFRXbDB2N2NoM3RrYUEK3MfsSqZmuCWO\n9SNf4dsMXx5NKDWuRyHMaFarYVeQiHyC8hXmUUbbDW6Eh3b91lHJA9Nky1J2ZDkA\nAcMfriQFjQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33533812"],["reveal_at","2026-10-31T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","c833537167cfad560612eed20f655dbf6d06a4f3c8832d88104b35e2cc1fd1a3"],["ct","302ca500ae11ba21a2ec65e5847e8b15bb4e05883aeaf8ec096c3f64865049f5"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r33533812.tlock b/reveal/v5-000008/r33533812.tlock
new file mode 100644
index 0000000..192e0e7
--- /dev/null
+++ b/reveal/v5-000008/r33533812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTMzODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKbVA0KzdTa1VoZFFmMnVodUdCZlRWczgrYndObGR6aDc5Q210T3NP
5bnNoNUJpamRySWJxSGdIbVoraU5Xb0NOTApDSnU4anhyNW1ZcXgvVmtlMU1NS2NU
6dFJJR0syM0IvWnhuSWNoTVpJaEQvTUlMaFNHUHg5OXlCTzZYWXlCNFBkCkVhODl1
7UUZsNys4T2xXV0VJSHZqZVJHdXZMK3NreDVncHdyZTgyR2NzeWMKLS0tIGVhZlZE
8L1FLeXRJK2o4dWdDTEFUejFZVGwzaGEzUFRXbDB2N2NoM3RrYUEK3MfsSqZmuCWO
99SNf4dsMXx5NKDWuRyHMaFarYVeQiHyC8hXmUUbbDW6Eh3b91lHJA9Nky1J2ZDkA
10AcMfriQFjQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r33562612.ct b/reveal/v5-000008/r33562612.ct
new file mode 100644
index 0000000..cb682c5
--- /dev/null
+++ b/reveal/v5-000008/r33562612.ct
Binary files differ
diff --git a/reveal/v5-000008/r33562612.nostr.json b/reveal/v5-000008/r33562612.nostr.json
new file mode 100644
index 0000000..ea0c901
--- /dev/null
+++ b/reveal/v5-000008/r33562612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTYyNjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKclhDSzJVUXhkR2FDZWVoVzNtK0w3RnFydWZqSU5oWHVZeVZlYUdy\nMjkzNG1kUDlWL1J1WUpkVUdFc3pyV2NOegpDYkFFYVlNeEFseXBqaGJNZWo1dEd1\nUzRGS0JZV2lyWDNRcUpWUkJ6c3B1dTgzSVlWZkN2RTkrWXIzcURtM2k3CkRkZ2hX\nLzJveC9RZUlFOEx3b0tyY3duTngraDFXNjFXWFVBVVQrTy9EWncKLS0tIGZ4OE1Z\nSjhtd294WDE1UUN4c1dpME9Mb1JVa2xTZmRFOXlxV0NjdGMzWFEK4JyObsI+v/2h\nisYBnqAYFStyINbY1wRyQbhuvgRQEfGGJItc2rjYrhRF3Sl4TnP8TBQTvG7lFTN8\n5C97ql/LZQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33562612"],["reveal_at","2026-11-01T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","82e5517c611c93e1dfce89d96e4a3e71ed7117edc2eb3eab4bc3c1ecf2b17480"],["ct","fc8896f53618550a7ea183d59e31b9d179785ee9a5770abd3178d4645b24e2b7"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r33562612.tlock b/reveal/v5-000008/r33562612.tlock
new file mode 100644
index 0000000..bd5c3df
--- /dev/null
+++ b/reveal/v5-000008/r33562612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTYyNjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKclhDSzJVUXhkR2FDZWVoVzNtK0w3RnFydWZqSU5oWHVZeVZlYUdy
5MjkzNG1kUDlWL1J1WUpkVUdFc3pyV2NOegpDYkFFYVlNeEFseXBqaGJNZWo1dEd1
6UzRGS0JZV2lyWDNRcUpWUkJ6c3B1dTgzSVlWZkN2RTkrWXIzcURtM2k3CkRkZ2hX
7LzJveC9RZUlFOEx3b0tyY3duTngraDFXNjFXWFVBVVQrTy9EWncKLS0tIGZ4OE1Z
8Sjhtd294WDE1UUN4c1dpME9Mb1JVa2xTZmRFOXlxV0NjdGMzWFEK4JyObsI+v/2h
9isYBnqAYFStyINbY1wRyQbhuvgRQEfGGJItc2rjYrhRF3Sl4TnP8TBQTvG7lFTN8
105C97ql/LZQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r34369012.ct b/reveal/v5-000008/r34369012.ct
new file mode 100644
index 0000000..cc2025e
--- /dev/null
+++ b/reveal/v5-000008/r34369012.ct
Binary files differ
diff --git a/reveal/v5-000008/r34369012.nostr.json b/reveal/v5-000008/r34369012.nostr.json
new file mode 100644
index 0000000..41cd331
--- /dev/null
+++ b/reveal/v5-000008/r34369012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0MzY5MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKdU8xalZuUjd3d3lrKzVQWlp6Y0c2aXhLa2VveUIyeDdheWt5aWFR\nYVFTM1dsajFsdmVENU0vS1FtUHliNG0xRQpEdGZQeVRxQkJrUXBsbDd3YllEcWRt\nL1RJSkNlRWFFL1duWmE0eVozRkF0NjQxc2JmbFcwdlFNUXVkNG5RK3RqCitRZkg3\nZGY4KzZwMXVJZlFXcEVXUWxRcXI4T1BDanh2TjRkOUtRaFdjckkKLS0tIEI5RVVI\neHJuNDI1c2YzY2EwM21jeXBqL21IbHlONUg1NklhTHhzZU9WWlEKo9coOQXadGqk\n5j+kq8hodGmhWwUnCIxABnRNxO1ZaZTfpY+xpy4GIOHa6PdcRS6q6PAdzjroyDcC\ng31ge15J6A==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34369012"],["reveal_at","2026-11-29T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","4b59f1530fdab4cced41050bd4961cfadd82965eac4a76274261f66e77b77240"],["ct","8009ecd519864d1169f080a10986e0153489a521734ecd23a0e8ef66da8af113"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r34369012.tlock b/reveal/v5-000008/r34369012.tlock
new file mode 100644
index 0000000..3a4bfda
--- /dev/null
+++ b/reveal/v5-000008/r34369012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0MzY5MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKdU8xalZuUjd3d3lrKzVQWlp6Y0c2aXhLa2VveUIyeDdheWt5aWFR
5YVFTM1dsajFsdmVENU0vS1FtUHliNG0xRQpEdGZQeVRxQkJrUXBsbDd3YllEcWRt
6L1RJSkNlRWFFL1duWmE0eVozRkF0NjQxc2JmbFcwdlFNUXVkNG5RK3RqCitRZkg3
7ZGY4KzZwMXVJZlFXcEVXUWxRcXI4T1BDanh2TjRkOUtRaFdjckkKLS0tIEI5RVVI
8eHJuNDI1c2YzY2EwM21jeXBqL21IbHlONUg1NklhTHhzZU9WWlEKo9coOQXadGqk
95j+kq8hodGmhWwUnCIxABnRNxO1ZaZTfpY+xpy4GIOHa6PdcRS6q6PAdzjroyDcC
10g31ge15J6A==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r34570612.ct b/reveal/v5-000008/r34570612.ct
new file mode 100644
index 0000000..c7d09c7
--- /dev/null
+++ b/reveal/v5-000008/r34570612.ct
Binary files differ
diff --git a/reveal/v5-000008/r34570612.nostr.json b/reveal/v5-000008/r34570612.nostr.json
new file mode 100644
index 0000000..f94747c
--- /dev/null
+++ b/reveal/v5-000008/r34570612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NTcwNjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKb1lkcGx3RzQzOHlEV0dreHhjNjNsdnhZdWRhQlNuQzVCUDRRbG1Z\nWjhzSGU3UHRhS2MzS2V6ZFBUcmpTbUNjegpDOUVKWjNHWG85bWhMUHE1bzBHeUhn\nQXRxYmxKYWdSd3dvckhEUG9tbkVFR0pXOVRBYTFzZ2FvNGVRRlViZWF2CjY3Ykc3\nOVgvNTNhbzVuODdFNXJCVFBiM2lwaUY0cW9ZamZ2UW9EV3pkOWsKLS0tIFpOd1U1\nSHNucWUvbnNvRHA2Vll6bGlvRDQ3Z3pvb25xOHN0QXRLNi9BVUUKa7/GFeUUPFgM\n8Me/hXWL55GKHd7dTNPbf609SqUvf37Q+UYgPz+6z0jGBw9R8v5eH2vdBbzy2LfC\ndCX2gqKbdg==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34570612"],["reveal_at","2026-12-06T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","99f47693b69727072070122bc7db3a970e3f3d7b8821120c5b39d04ca078c794"],["ct","a2fa50ffcf79f50cbfd717e30ce8bc0f6322c59f9c0702ca509d1d7a0dbe6b8e"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r34570612.tlock b/reveal/v5-000008/r34570612.tlock
new file mode 100644
index 0000000..20fbc77
--- /dev/null
+++ b/reveal/v5-000008/r34570612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NTcwNjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKb1lkcGx3RzQzOHlEV0dreHhjNjNsdnhZdWRhQlNuQzVCUDRRbG1Z
5WjhzSGU3UHRhS2MzS2V6ZFBUcmpTbUNjegpDOUVKWjNHWG85bWhMUHE1bzBHeUhn
6QXRxYmxKYWdSd3dvckhEUG9tbkVFR0pXOVRBYTFzZ2FvNGVRRlViZWF2CjY3Ykc3
7OVgvNTNhbzVuODdFNXJCVFBiM2lwaUY0cW9ZamZ2UW9EV3pkOWsKLS0tIFpOd1U1
8SHNucWUvbnNvRHA2Vll6bGlvRDQ3Z3pvb25xOHN0QXRLNi9BVUUKa7/GFeUUPFgM
98Me/hXWL55GKHd7dTNPbf609SqUvf37Q+UYgPz+6z0jGBw9R8v5eH2vdBbzy2LfC
10dCX2gqKbdg==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r34599412.ct b/reveal/v5-000008/r34599412.ct
new file mode 100644
index 0000000..273e2d0
--- /dev/null
+++ b/reveal/v5-000008/r34599412.ct
Binary files differ
diff --git a/reveal/v5-000008/r34599412.nostr.json b/reveal/v5-000008/r34599412.nostr.json
new file mode 100644
index 0000000..7a95631
--- /dev/null
+++ b/reveal/v5-000008/r34599412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NTk5NDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcEFicVFYTVZhQzNDQnJoOFU0bVZsQzIzYm1kWnM5RkpvRnl1a0U0\ncnV6MlNKdVNGMUpPczZqQ2hMeFhsc0ZpQQpDQjRvQ2VsYkVlZG83Q1cwNDhLRWJH\nZ29OL29Ea1RRSWZaTEFDK3A2eWZ2Y2tweFQvbUpjQlU2cEllSjJaclFjCnFsWnYr\nTDhQTE95MDNsQlYydlVTeVNXV3gxWDV4N2JjTHQ2S3VaWjQ4K3cKLS0tIEhOb0g1\nSCtMRVRmb1JoaG05c2I1anNkZ2FOUXlNMTF4RGcxZTgzVWJiVk0K6wrKa3/xEBwo\nEdcDd9dV7ddVayu+oUKR2SsKOQ9JYMQgsPz7UYb5aT4qEbFHLP5/plmRW4tR5zF7\n+05Dhy0P/w==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34599412"],["reveal_at","2026-12-07T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","b7cd59db415875a719a0a8bde2d838478b4ade84841cff18e7c4e684bee09658"],["ct","aa629d66b4f9d6193e84766698083970fd1bb9ade7c354030f1c7b2362422a59"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r34599412.tlock b/reveal/v5-000008/r34599412.tlock
new file mode 100644
index 0000000..7586731
--- /dev/null
+++ b/reveal/v5-000008/r34599412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NTk5NDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcEFicVFYTVZhQzNDQnJoOFU0bVZsQzIzYm1kWnM5RkpvRnl1a0U0
5cnV6MlNKdVNGMUpPczZqQ2hMeFhsc0ZpQQpDQjRvQ2VsYkVlZG83Q1cwNDhLRWJH
6Z29OL29Ea1RRSWZaTEFDK3A2eWZ2Y2tweFQvbUpjQlU2cEllSjJaclFjCnFsWnYr
7TDhQTE95MDNsQlYydlVTeVNXV3gxWDV4N2JjTHQ2S3VaWjQ4K3cKLS0tIEhOb0g1
8SCtMRVRmb1JoaG05c2I1anNkZ2FOUXlNMTF4RGcxZTgzVWJiVk0K6wrKa3/xEBwo
9EdcDd9dV7ddVayu+oUKR2SsKOQ9JYMQgsPz7UYb5aT4qEbFHLP5/plmRW4tR5zF7
10+05Dhy0P/w==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r34657012.ct b/reveal/v5-000008/r34657012.ct
new file mode 100644
index 0000000..b4ad777
--- /dev/null
+++ b/reveal/v5-000008/r34657012.ct
Binary files differ
diff --git a/reveal/v5-000008/r34657012.nostr.json b/reveal/v5-000008/r34657012.nostr.json
new file mode 100644
index 0000000..5b1b355
--- /dev/null
+++ b/reveal/v5-000008/r34657012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NjU3MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKaG14U1lUeVVRSHQ5TnRnQk9TVkdDOFRkc2xKYWxDczRsS2JyZjk2\nNXlCQ2s4ZUo4bm1kQlVjaGJ0Yk5pRC9HVQpGNklzMmUxZWNPN3VzQlNWMVFVMmdC\nRml2WEZKd1JUQ1loOGEwZEVJMm5IcFRwUDlXaEx0Yi9IK1dJNWZrQWppClVSYmR3\nL005YjBIOXdlWFBad3djbDNCRzB3MGJ2bWsxMGYwckxFYW10RlkKLS0tIGx6ZEtU\ncENGb1ZXY08xM3VGQ21lZmRrWWowUDRwcVMvdFFnK1lEZ3FXR0UKUXpr717/vwFw\nJBdRexzImypRQdy88GFG0Wf3wwh0j1MvLNGZkmy3w2qTQZnmjmjm8zqtffy0zaJn\nnYhQRiQetQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34657012"],["reveal_at","2026-12-09T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","13f07e4f441abde766c02f2b96f5799b3e4f7ee40bd9d51d8625642f44c99973"],["ct","8d3653a33d5f504102333144e8822d676053732667d4242611bef2fc68d0c7f4"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r34657012.tlock b/reveal/v5-000008/r34657012.tlock
new file mode 100644
index 0000000..3888d40
--- /dev/null
+++ b/reveal/v5-000008/r34657012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NjU3MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKaG14U1lUeVVRSHQ5TnRnQk9TVkdDOFRkc2xKYWxDczRsS2JyZjk2
5NXlCQ2s4ZUo4bm1kQlVjaGJ0Yk5pRC9HVQpGNklzMmUxZWNPN3VzQlNWMVFVMmdC
6Rml2WEZKd1JUQ1loOGEwZEVJMm5IcFRwUDlXaEx0Yi9IK1dJNWZrQWppClVSYmR3
7L005YjBIOXdlWFBad3djbDNCRzB3MGJ2bWsxMGYwckxFYW10RlkKLS0tIGx6ZEtU
8cENGb1ZXY08xM3VGQ21lZmRrWWowUDRwcVMvdFFnK1lEZ3FXR0UKUXpr717/vwFw
9JBdRexzImypRQdy88GFG0Wf3wwh0j1MvLNGZkmy3w2qTQZnmjmjm8zqtffy0zaJn
10nYhQRiQetQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r34685812.ct b/reveal/v5-000008/r34685812.ct
new file mode 100644
index 0000000..f260549
--- /dev/null
+++ b/reveal/v5-000008/r34685812.ct
Binary files differ
diff --git a/reveal/v5-000008/r34685812.nostr.json b/reveal/v5-000008/r34685812.nostr.json
new file mode 100644
index 0000000..5756b30
--- /dev/null
+++ b/reveal/v5-000008/r34685812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0Njg1ODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKamptOEZ2RmRva21PRGxFT1FnT0R1N0NqaWZKT2EybjJxcjU5TnY2\neG0rREN5VWFQZHdlK1lZQUpvSTdFZHRUdQpCdjRURWVzdWw3ZHZNWUFPSGNjb2k4\naHZQK2l3WmR2MUhrWGtxTWxKZ3Nhb0IrejV6NDZJM2YyMnhrcFRORjlNCmhwWW5H\nREpEY1B4Yjl1L2k5bk1UTnRWYWZ3dk1ickJDOEhidjhUZTVmOU0KLS0tIElEbjlz\nRGlMN1RZcW1pdWxlcS9qQUMyOEdFdnlCdlJlczZXeGdkWDhRYk0KVLRMWc+e9wG5\nId3ZueGf3lcbnLuERYrPl0H9e3KHZo3CqYwh4HcOayOp2ZbHILLFsAMn2V7K+ex3\nULkGup8zqQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34685812"],["reveal_at","2026-12-10T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","5fa23a0b7413dc5f333530d204f9a29d4c5dab13596eb28ec1544be8718594e4"],["ct","8e6363ce2696cdc15041f2de7882dfab8bd42c6f68c8925e41456f213e7fe64e"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r34685812.tlock b/reveal/v5-000008/r34685812.tlock
new file mode 100644
index 0000000..62186d7
--- /dev/null
+++ b/reveal/v5-000008/r34685812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0Njg1ODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKamptOEZ2RmRva21PRGxFT1FnT0R1N0NqaWZKT2EybjJxcjU5TnY2
5eG0rREN5VWFQZHdlK1lZQUpvSTdFZHRUdQpCdjRURWVzdWw3ZHZNWUFPSGNjb2k4
6aHZQK2l3WmR2MUhrWGtxTWxKZ3Nhb0IrejV6NDZJM2YyMnhrcFRORjlNCmhwWW5H
7REpEY1B4Yjl1L2k5bk1UTnRWYWZ3dk1ickJDOEhidjhUZTVmOU0KLS0tIElEbjlz
8RGlMN1RZcW1pdWxlcS9qQUMyOEdFdnlCdlJlczZXeGdkWDhRYk0KVLRMWc+e9wG5
9Id3ZueGf3lcbnLuERYrPl0H9e3KHZo3CqYwh4HcOayOp2ZbHILLFsAMn2V7K+ex3
10ULkGup8zqQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r34714612.ct b/reveal/v5-000008/r34714612.ct
new file mode 100644
index 0000000..28a056f
--- /dev/null
+++ b/reveal/v5-000008/r34714612.ct
Binary files differ
diff --git a/reveal/v5-000008/r34714612.nostr.json b/reveal/v5-000008/r34714612.nostr.json
new file mode 100644
index 0000000..4918c08
--- /dev/null
+++ b/reveal/v5-000008/r34714612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NzE0NjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKc0NRNlVMNjJzRnR5TUwwMngyTGJLTkFuSWhyeUxnQUYwaTNaR1Ez\ncXNrc3ZoZHd6V1hxYXlJdHZFQzViREFuUgpFQ0VlTTNkSXlBQW5lNjJIY0luODhE\nSnpaQ0xBaEg3VHliSzNtL3l1cTZ0d3FLQnZXRzkwaVROYU1RNWpPVG9qCnBlYkp3\nMTBBMEJERXVZVjZJcGFPdUtNSE0yR1dHYzN5b1JROFRKQ0FWUVkKLS0tIDc3Q0pX\nMlVIaUNQZXpkMWxXWUpHa1RCMDVEMmVNbURFS0ludTBEd1IxYkUKUlEb6hz/AOub\n+ypIeqZC0RNEEPQ14PLro+Uw9ryGN0E7G/oR7mSUCK6uA6hxyxn/aVabLrXLxnej\ng9DbiUwS/g==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34714612"],["reveal_at","2026-12-11T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","a66df7cb4caf17c3a006fcc7d0214db0aac58bc1104b4c7a56e0fb8bd2633865"],["ct","419e9ce75a106848c488446f17e135e5bcfdbb27b19262053c3a86774d0dd58c"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r34714612.tlock b/reveal/v5-000008/r34714612.tlock
new file mode 100644
index 0000000..ab0fe87
--- /dev/null
+++ b/reveal/v5-000008/r34714612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NzE0NjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKc0NRNlVMNjJzRnR5TUwwMngyTGJLTkFuSWhyeUxnQUYwaTNaR1Ez
5cXNrc3ZoZHd6V1hxYXlJdHZFQzViREFuUgpFQ0VlTTNkSXlBQW5lNjJIY0luODhE
6SnpaQ0xBaEg3VHliSzNtL3l1cTZ0d3FLQnZXRzkwaVROYU1RNWpPVG9qCnBlYkp3
7MTBBMEJERXVZVjZJcGFPdUtNSE0yR1dHYzN5b1JROFRKQ0FWUVkKLS0tIDc3Q0pX
8MlVIaUNQZXpkMWxXWUpHa1RCMDVEMmVNbURFS0ludTBEd1IxYkUKUlEb6hz/AOub
9+ypIeqZC0RNEEPQ14PLro+Uw9ryGN0E7G/oR7mSUCK6uA6hxyxn/aVabLrXLxnej
10g9DbiUwS/g==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r35377012.ct b/reveal/v5-000008/r35377012.ct
new file mode 100644
index 0000000..df2f9a0
--- /dev/null
+++ b/reveal/v5-000008/r35377012.ct
Binary files differ
diff --git a/reveal/v5-000008/r35377012.nostr.json b/reveal/v5-000008/r35377012.nostr.json
new file mode 100644
index 0000000..f9f9ae7
--- /dev/null
+++ b/reveal/v5-000008/r35377012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1Mzc3MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKbHV2MmE1S00wdzMyQllCSW0raktOQnlETFJSKy91S25zTDZjbGRi\nMWd3ZkxySmpaeEc0REtROWtGOUpJekdITApFZncwMHp3OWx2Y0dpcmNwMzBKWG9i\nZ3hmMGhIQmJDVEFFbFJzNTNtVVFhUkE0Z0NIVjlueFRzSFJ2VGxNOUFUCkszaWlF\nZDFreWlPNllQaE9IVnR2RU04SlVvd2QwdEk2S2RlR3dCOEdFQnMKLS0tIEtESnZP\nd3J3VzZ6ZnVidi8rZC9VOHRLWDlaa3NRTHUvTkpyekIydVI2d0EKEs37eeNaQQQs\nLxO3zKmDcbelnBRf5nVvaC5aLJWPwfm7rxTmjqXS39itv0a7zUNvZvoF5oxZrWsX\nRCLjOA5guQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35377012"],["reveal_at","2027-01-03T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","ee8563373743a06bb7cf19621111e0a11ae6ad3cb48c1b7a43fd651d4ec01ea3"],["ct","c694444a542156a2b82429ff7f7b8e4771acf706ff324ca8b6d0b99dc9be2305"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r35377012.tlock b/reveal/v5-000008/r35377012.tlock
new file mode 100644
index 0000000..ba467c8
--- /dev/null
+++ b/reveal/v5-000008/r35377012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1Mzc3MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKbHV2MmE1S00wdzMyQllCSW0raktOQnlETFJSKy91S25zTDZjbGRi
5MWd3ZkxySmpaeEc0REtROWtGOUpJekdITApFZncwMHp3OWx2Y0dpcmNwMzBKWG9i
6Z3hmMGhIQmJDVEFFbFJzNTNtVVFhUkE0Z0NIVjlueFRzSFJ2VGxNOUFUCkszaWlF
7ZDFreWlPNllQaE9IVnR2RU04SlVvd2QwdEk2S2RlR3dCOEdFQnMKLS0tIEtESnZP
8d3J3VzZ6ZnVidi8rZC9VOHRLWDlaa3NRTHUvTkpyekIydVI2d0EKEs37eeNaQQQs
9LxO3zKmDcbelnBRf5nVvaC5aLJWPwfm7rxTmjqXS39itv0a7zUNvZvoF5oxZrWsX
10RCLjOA5guQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r35521012.ct b/reveal/v5-000008/r35521012.ct
new file mode 100644
index 0000000..56a6c1d
--- /dev/null
+++ b/reveal/v5-000008/r35521012.ct
Binary files differ
diff --git a/reveal/v5-000008/r35521012.nostr.json b/reveal/v5-000008/r35521012.nostr.json
new file mode 100644
index 0000000..7957e7d
--- /dev/null
+++ b/reveal/v5-000008/r35521012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NTIxMDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKck5mT1Z0K2VYM3Q1RUNEbWNacWhSTjVubkh6RWkzdld0aGZVRVdK\nMWpCTWt4cm9Taktnbi83YlRqUjhjU1FISwpEZ1JEd0FIQXoycGczTFVFQWhCSjVG\ncnc2Ni92OXd0aWwvZG5zSmNoNGZjbDR2VElNYTgxOWR1UkQxdjlkN1I3Cml5azVN\nR2JZcVI4N1pBQ3lSMmh5QS9tdXRMUXRQN0Fpdng5bHZkbTBVcjgKLS0tIDNMMnJU\nYlJJdEJ6ZGR1QnJSTzJHeTF6eFRSeDA5MlNtV04wV1dncHRBK2cK90MbhZhNVj0u\ndbAtOx5SaWZpsXUWJzhNVmU/axOZgJ7Tf0L3rsBBEylWE3buvsl/wAV3v90gXDmN\nv+a4SeB8zA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35521012"],["reveal_at","2027-01-08T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","33d2910ef6fe297bde7ea8f4cd157b8eb090d7ba0361203fd8f2201c3117c2c3"],["ct","9c2b28b9d500b4bb949d6a26c060852db931d068968184e2522aa9eedfbd9adb"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r35521012.tlock b/reveal/v5-000008/r35521012.tlock
new file mode 100644
index 0000000..0a90048
--- /dev/null
+++ b/reveal/v5-000008/r35521012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NTIxMDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKck5mT1Z0K2VYM3Q1RUNEbWNacWhSTjVubkh6RWkzdld0aGZVRVdK
5MWpCTWt4cm9Taktnbi83YlRqUjhjU1FISwpEZ1JEd0FIQXoycGczTFVFQWhCSjVG
6cnc2Ni92OXd0aWwvZG5zSmNoNGZjbDR2VElNYTgxOWR1UkQxdjlkN1I3Cml5azVN
7R2JZcVI4N1pBQ3lSMmh5QS9tdXRMUXRQN0Fpdng5bHZkbTBVcjgKLS0tIDNMMnJU
8YlJJdEJ6ZGR1QnJSTzJHeTF6eFRSeDA5MlNtV04wV1dncHRBK2cK90MbhZhNVj0u
9dbAtOx5SaWZpsXUWJzhNVmU/axOZgJ7Tf0L3rsBBEylWE3buvsl/wAV3v90gXDmN
10v+a4SeB8zA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r35578612.ct b/reveal/v5-000008/r35578612.ct
new file mode 100644
index 0000000..712e4e7
--- /dev/null
+++ b/reveal/v5-000008/r35578612.ct
Binary files differ
diff --git a/reveal/v5-000008/r35578612.nostr.json b/reveal/v5-000008/r35578612.nostr.json
new file mode 100644
index 0000000..3fd4035
--- /dev/null
+++ b/reveal/v5-000008/r35578612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NTc4NjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKbWNkd1BmcitEaVQwdFYwQ2ZKU3Z0dDdMYnBESm11cForL1E3bEV0\nbjV1TkRueS9TSkRHbUpSRDBBOHJtbGlQRApGTVc1Umo2YjFzMTFQclVKMlIvV1Bp\nVmRDTEFBcWNMakR3Yjd6UXFabjRuc1h1QTlFam9DR2dUK2hXLzN1bnBDCm9MWEZR\nTHJVdTZXWk1ZdGVUWldvdHBHcEdjbjZRclBUc3V1VS9DeXBNeFkKLS0tIC9LSjJ5\nNjRPWEZ3cEFyUURSV05ZdmpxbjFDNkExc0xiSTFlM1NHaFkxekkKx8Cv+t4QdW/b\n7lAeVUR7RDmgMsTdRLyx0r6u3WPc9y1fG9DbCERYZOIrPtPQnwGTuhSTSUCwZTiM\ndYj1esoyww==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35578612"],["reveal_at","2027-01-10T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","cc0f16e9015f774c0cb961ab4f0b9a4d8448bfd54c6e97322ee3d46a601c4398"],["ct","172a0c586aaef126222cadb21eac299d30be37f3bb2cda1b8f28dbb827405ef2"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r35578612.tlock b/reveal/v5-000008/r35578612.tlock
new file mode 100644
index 0000000..062e5bc
--- /dev/null
+++ b/reveal/v5-000008/r35578612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NTc4NjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKbWNkd1BmcitEaVQwdFYwQ2ZKU3Z0dDdMYnBESm11cForL1E3bEV0
5bjV1TkRueS9TSkRHbUpSRDBBOHJtbGlQRApGTVc1Umo2YjFzMTFQclVKMlIvV1Bp
6VmRDTEFBcWNMakR3Yjd6UXFabjRuc1h1QTlFam9DR2dUK2hXLzN1bnBDCm9MWEZR
7THJVdTZXWk1ZdGVUWldvdHBHcEdjbjZRclBUc3V1VS9DeXBNeFkKLS0tIC9LSjJ5
8NjRPWEZ3cEFyUURSV05ZdmpxbjFDNkExc0xiSTFlM1NHaFkxekkKx8Cv+t4QdW/b
97lAeVUR7RDmgMsTdRLyx0r6u3WPc9y1fG9DbCERYZOIrPtPQnwGTuhSTSUCwZTiM
10dYj1esoyww==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r35722612.ct b/reveal/v5-000008/r35722612.ct
new file mode 100644
index 0000000..144d314
--- /dev/null
+++ b/reveal/v5-000008/r35722612.ct
Binary files differ
diff --git a/reveal/v5-000008/r35722612.nostr.json b/reveal/v5-000008/r35722612.nostr.json
new file mode 100644
index 0000000..2995fef
--- /dev/null
+++ b/reveal/v5-000008/r35722612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NzIyNjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKanpCQnRkTUVKVUxuWktvaXFhVXhPL2JmU3J1V29aYzY3bjRLV1U1\neTF3S3NyeTJ5cGJ6MCtkejAxaTVGbnpNSApDNUJqN3J5aU11STM2UmpQVWVLYTEv\nRjdvbkVTblQvTldxQTZKVEdXYmc2ZTZSbVhZbFBPNjB6d21vQmd1dTB1Cnh1ZitO\nb2hlOUdFMEE5NStZU0YwaE5lL0xyajJCRkhsOEhHdFBkaHlMSlkKLS0tIEs0SkNP\nM2NFRFBZR2IvMUNZS1g5ckxvY0ZhU3lGTUVOS1FVRzhSZHpnckkKlYJv8F1VZPCK\n+9G2DhY6f6byg0NX6fSnpqs87oUZdGbF48WvmzfWMo1qAhaZVNiu0O/JF9H/F7u1\nCa9TsYrajA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35722612"],["reveal_at","2027-01-15T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","c2b595bce841a6fdee9be07d33d685a0f07446f507944714dc3c00a1016ce8da"],["ct","5a56b427bb13a855e554661a006fa4ad246480ad0bc0e175e5d1dcf579541b16"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r35722612.tlock b/reveal/v5-000008/r35722612.tlock
new file mode 100644
index 0000000..7ea0f4a
--- /dev/null
+++ b/reveal/v5-000008/r35722612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NzIyNjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKanpCQnRkTUVKVUxuWktvaXFhVXhPL2JmU3J1V29aYzY3bjRLV1U1
5eTF3S3NyeTJ5cGJ6MCtkejAxaTVGbnpNSApDNUJqN3J5aU11STM2UmpQVWVLYTEv
6RjdvbkVTblQvTldxQTZKVEdXYmc2ZTZSbVhZbFBPNjB6d21vQmd1dTB1Cnh1ZitO
7b2hlOUdFMEE5NStZU0YwaE5lL0xyajJCRkhsOEhHdFBkaHlMSlkKLS0tIEs0SkNP
8M2NFRFBZR2IvMUNZS1g5ckxvY0ZhU3lGTUVOS1FVRzhSZHpnckkKlYJv8F1VZPCK
9+9G2DhY6f6byg0NX6fSnpqs87oUZdGbF48WvmzfWMo1qAhaZVNiu0O/JF9H/F7u1
10Ca9TsYrajA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r35751412.ct b/reveal/v5-000008/r35751412.ct
new file mode 100644
index 0000000..73575c8
--- /dev/null
+++ b/reveal/v5-000008/r35751412.ct
Binary files differ
diff --git a/reveal/v5-000008/r35751412.nostr.json b/reveal/v5-000008/r35751412.nostr.json
new file mode 100644
index 0000000..513ddb7
--- /dev/null
+++ b/reveal/v5-000008/r35751412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NzUxNDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKaWljZk9QRFZCN2c5YTBmaVU4VXNGb2RCMk1NNVNycmRZS2lPeStl\nOW1FS0lGeUdRalFVSFJVbWdPdjZaRDhYRgpCWUd3QVpxZTRsYWZBK0ZLR1FqVXF4\nMHV2RkJpWm9hTmNKU2ZITlFIT080N2tpS3Q3YWlQbXhUb0hTaXR5aDBPClpaa0Jt\nNGRpeHRiU2dYSkhVYTFxbFY3SFJnbGI0VjJuclFYcldwc0hvUTAKLS0tIFF2bW9M\nNncvb3ovbE9Ta05yS20vK2ZCUG9iVkJIZzVNOWw5T0hkL3RKRTQKPx6EwyFjEdNU\nY9XEazg49iIbBDOg5p6y4RSrtsQUUHtO1pVEsvDue078Jhoji1lkY95ZVGJ46ovU\n4EFL/9ce9A==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35751412"],["reveal_at","2027-01-16T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","55008da79029d0420f044e089a1130909080393a1c7a57cd292eb0b54eabc5c5"],["ct","654ba3fe2a3998a967654b23ce2baf92b426534a8dc3cebc575faf1718de29cc"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r35751412.tlock b/reveal/v5-000008/r35751412.tlock
new file mode 100644
index 0000000..786b36c
--- /dev/null
+++ b/reveal/v5-000008/r35751412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NzUxNDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKaWljZk9QRFZCN2c5YTBmaVU4VXNGb2RCMk1NNVNycmRZS2lPeStl
5OW1FS0lGeUdRalFVSFJVbWdPdjZaRDhYRgpCWUd3QVpxZTRsYWZBK0ZLR1FqVXF4
6MHV2RkJpWm9hTmNKU2ZITlFIT080N2tpS3Q3YWlQbXhUb0hTaXR5aDBPClpaa0Jt
7NGRpeHRiU2dYSkhVYTFxbFY3SFJnbGI0VjJuclFYcldwc0hvUTAKLS0tIFF2bW9M
8Nncvb3ovbE9Ta05yS20vK2ZCUG9iVkJIZzVNOWw5T0hkL3RKRTQKPx6EwyFjEdNU
9Y9XEazg49iIbBDOg5p6y4RSrtsQUUHtO1pVEsvDue078Jhoji1lkY95ZVGJ46ovU
104EFL/9ce9A==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r35837812.ct b/reveal/v5-000008/r35837812.ct
new file mode 100644
index 0000000..af31394
--- /dev/null
+++ b/reveal/v5-000008/r35837812.ct
Binary files differ
diff --git a/reveal/v5-000008/r35837812.nostr.json b/reveal/v5-000008/r35837812.nostr.json
new file mode 100644
index 0000000..d4c3bda
--- /dev/null
+++ b/reveal/v5-000008/r35837812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1ODM3ODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKanNIeEZkUW5iY1F1SE5tL1lnQjZCdFptcHp6cURsQmltdkhZcnQ1\neTV4bDJnSVFoZVB3ZXZzaGJxYkVScS9tVwpHU2VKOWE1K29XOGIycnpxYWZERGdi\nZ1NvWVJyVUVDV2NJT2NwbFdjR2hoWDlidlBvcG8rcE0yVzdML1k4b3ZnCkpZek84\ndVlPa1dzdWNLTHo2TzBYcVV1SDlXU0pxYmM2Tlp6dFlWSGhIcFUKLS0tIEpqMkF6\nUi9rVmdmeExDQUpGMXBSVjQ5NGhuMjhMdXc4eWV1L1dHQkx0Um8Ky6HDDsjH8FD7\n3fFUfcLO44aBVuyScxVsfyYp8/Zke99Z0nf36OEBRGfMU6bk4fgqzU5syD2/IRvc\n3uy94+vHXA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35837812"],["reveal_at","2027-01-19T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","4440fe8e8a349a9d86b1e69160cc67c8a27e13060bec8ee6d7c986dee6bc967c"],["ct","049ccc4c11135853cec387c0f50f9311a29d7e38e3295ecc0cef94765ca5ca60"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r35837812.tlock b/reveal/v5-000008/r35837812.tlock
new file mode 100644
index 0000000..cdf64d0
--- /dev/null
+++ b/reveal/v5-000008/r35837812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1ODM3ODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKanNIeEZkUW5iY1F1SE5tL1lnQjZCdFptcHp6cURsQmltdkhZcnQ1
5eTV4bDJnSVFoZVB3ZXZzaGJxYkVScS9tVwpHU2VKOWE1K29XOGIycnpxYWZERGdi
6Z1NvWVJyVUVDV2NJT2NwbFdjR2hoWDlidlBvcG8rcE0yVzdML1k4b3ZnCkpZek84
7dVlPa1dzdWNLTHo2TzBYcVV1SDlXU0pxYmM2Tlp6dFlWSGhIcFUKLS0tIEpqMkF6
8Ui9rVmdmeExDQUpGMXBSVjQ5NGhuMjhMdXc4eWV1L1dHQkx0Um8Ky6HDDsjH8FD7
93fFUfcLO44aBVuyScxVsfyYp8/Zke99Z0nf36OEBRGfMU6bk4fgqzU5syD2/IRvc
103uy94+vHXA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r35924212.ct b/reveal/v5-000008/r35924212.ct
new file mode 100644
index 0000000..3f6664b
--- /dev/null
+++ b/reveal/v5-000008/r35924212.ct
Binary files differ
diff --git a/reveal/v5-000008/r35924212.nostr.json b/reveal/v5-000008/r35924212.nostr.json
new file mode 100644
index 0000000..2ac249c
--- /dev/null
+++ b/reveal/v5-000008/r35924212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1OTI0MjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKbUZRdkJCSFlueXU5VnIxdlRNQVFMalBFQWVNMUgvL1hZSmxQQ1Q2\ndzVtUlByeWJRNVpJVW5QVW9icVpCbUZ0VQpDaTNJYUVjRlhpQ1RRQ1dialA2cGpC\nbkY5Y0lmMGJkVW5OZEJKNDhCcG5jdzljUWFIb0hzN2xqVUI0TkJHbjkzCkI0elNw\nd2g5ZlMxMEQvNnRveHBiV0FNbkIyODdIVUZKMGhOdTZkcVgwb1EKLS0tIDlVMDhS\nVlNTSmJNSERqYllETUpKUFg4OXExOWhMemNjbU1EcUljWjVLcUEK3KwxR2KLmbgY\nl14qzEc5kKgJFh1cZRd4sEvC3/ky9n/SYoMX8NKy0KACbmMa03fon4ELaMNnyP3e\nwF+8vJc8yw==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35924212"],["reveal_at","2027-01-22T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","2d37facf66de739c6ac68835199906377b30fbb539c10c40f3141a0a42fd9f5b"],["ct","42b695143557d6c5ece4867a52cbd40f43ea2ddeb14c41fd0edce93b763af79d"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r35924212.tlock b/reveal/v5-000008/r35924212.tlock
new file mode 100644
index 0000000..949d402
--- /dev/null
+++ b/reveal/v5-000008/r35924212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1OTI0MjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKbUZRdkJCSFlueXU5VnIxdlRNQVFMalBFQWVNMUgvL1hZSmxQQ1Q2
5dzVtUlByeWJRNVpJVW5QVW9icVpCbUZ0VQpDaTNJYUVjRlhpQ1RRQ1dialA2cGpC
6bkY5Y0lmMGJkVW5OZEJKNDhCcG5jdzljUWFIb0hzN2xqVUI0TkJHbjkzCkI0elNw
7d2g5ZlMxMEQvNnRveHBiV0FNbkIyODdIVUZKMGhOdTZkcVgwb1EKLS0tIDlVMDhS
8VlNTSmJNSERqYllETUpKUFg4OXExOWhMemNjbU1EcUljWjVLcUEK3KwxR2KLmbgY
9l14qzEc5kKgJFh1cZRd4sEvC3/ky9n/SYoMX8NKy0KACbmMa03fon4ELaMNnyP3e
10wF+8vJc8yw==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r36529012.ct b/reveal/v5-000008/r36529012.ct
new file mode 100644
index 0000000..25795ff
--- /dev/null
+++ b/reveal/v5-000008/r36529012.ct
Binary files differ
diff --git a/reveal/v5-000008/r36529012.nostr.json b/reveal/v5-000008/r36529012.nostr.json
new file mode 100644
index 0000000..4973ef2
--- /dev/null
+++ b/reveal/v5-000008/r36529012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NTI5MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcW1pOFhvcW4reEdoTTFnbDJtVjFoYXVGNGdOaWowdnI0K0JkWDRk\nM3NqWWxCaFdpSG85SCtvTnBkYjM2dnlJVwpEWmU3WTN6RTJJYVRFMG93VHNHS0dB\ndXdvbkZ1NnlMOW9Pcy9ISjFPS05NQ2hhblIrbGViZlFOL052SDNqQ1dUClJZaEhH\nWCs5d1dFQUdVdkcxYmFueWdQNE94bDlQY3lWYWdKNWZlbEFHcTQKLS0tIFB5SGhn\ndDNGRmE4TzlxME1nUmorWS9WOEQwTDVOaXVBU0xhN1hWZXg4bTQKwlWQl3/7lPYS\n6iuGJNW7z7JkMHgQzxBScMbveCBpOcx4/1gJL700Hf5cjMB1I/hEQJf0BA7GhD3k\nE4L6cQlObQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36529012"],["reveal_at","2027-02-12T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","c457c9e0d9f33099bcb156681965cb0c7271f1faf611dbc33c0910b294330720"],["ct","13a3d61585d8dbafdd6ca23b434fc08983eadc33210bf5f2554a5c0450f192a4"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r36529012.tlock b/reveal/v5-000008/r36529012.tlock
new file mode 100644
index 0000000..1cf3329
--- /dev/null
+++ b/reveal/v5-000008/r36529012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NTI5MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcW1pOFhvcW4reEdoTTFnbDJtVjFoYXVGNGdOaWowdnI0K0JkWDRk
5M3NqWWxCaFdpSG85SCtvTnBkYjM2dnlJVwpEWmU3WTN6RTJJYVRFMG93VHNHS0dB
6dXdvbkZ1NnlMOW9Pcy9ISjFPS05NQ2hhblIrbGViZlFOL052SDNqQ1dUClJZaEhH
7WCs5d1dFQUdVdkcxYmFueWdQNE94bDlQY3lWYWdKNWZlbEFHcTQKLS0tIFB5SGhn
8dDNGRmE4TzlxME1nUmorWS9WOEQwTDVOaXVBU0xhN1hWZXg4bTQKwlWQl3/7lPYS
96iuGJNW7z7JkMHgQzxBScMbveCBpOcx4/1gJL700Hf5cjMB1I/hEQJf0BA7GhD3k
10E4L6cQlObQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r36730612.ct b/reveal/v5-000008/r36730612.ct
new file mode 100644
index 0000000..93542be
--- /dev/null
+++ b/reveal/v5-000008/r36730612.ct
Binary files differ
diff --git a/reveal/v5-000008/r36730612.nostr.json b/reveal/v5-000008/r36730612.nostr.json
new file mode 100644
index 0000000..4682952
--- /dev/null
+++ b/reveal/v5-000008/r36730612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NzMwNjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKc1Y3OHAyUm5XYllBcjRkSHU2SzIvdVJ1ZFlGZEc4eWJ2TDZ6azAv\naURhZ3lQbFVPWU5uT0VtRGtKbUlYZWV5TwpEVmhTUHl1QlRYMFg0L1BvUGRqeXl2\ndTBtUXF6RjA1UEJabHVDNXhLcXJkYlJxMUZNNU9iT1hNZjRqUEtzQmtTCjcySEJX\nTFFTZE1YVkRRMzJjcERhaEtVZVZUaHlOOFdIaEptWW5yZE1NcnMKLS0tIG1CakpW\nYjhVTFFOYUNtVWdlYWlZamtkSnBPd0I0djdHbFdJRXRFaTE4YncKvoMKjtIb2SjP\nEWQ+NRQtSIlVn/vz4N15mWNhJQLmI26ZCc2yE2DWlMHTWD5pVBPdJi/zm0F8tcDp\nInmQDwixrQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36730612"],["reveal_at","2027-02-19T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","7d45be1398d1ee3fe48006d00e143cadfc1982ae32161abd8045443d3317f634"],["ct","5ea4263c95a64a786199266678cd23b6427f57b820e5b1e02bb9e2257fccf907"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r36730612.tlock b/reveal/v5-000008/r36730612.tlock
new file mode 100644
index 0000000..76155a9
--- /dev/null
+++ b/reveal/v5-000008/r36730612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NzMwNjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKc1Y3OHAyUm5XYllBcjRkSHU2SzIvdVJ1ZFlGZEc4eWJ2TDZ6azAv
5aURhZ3lQbFVPWU5uT0VtRGtKbUlYZWV5TwpEVmhTUHl1QlRYMFg0L1BvUGRqeXl2
6dTBtUXF6RjA1UEJabHVDNXhLcXJkYlJxMUZNNU9iT1hNZjRqUEtzQmtTCjcySEJX
7TFFTZE1YVkRRMzJjcERhaEtVZVZUaHlOOFdIaEptWW5yZE1NcnMKLS0tIG1CakpW
8YjhVTFFOYUNtVWdlYWlZamtkSnBPd0I0djdHbFdJRXRFaTE4YncKvoMKjtIb2SjP
9EWQ+NRQtSIlVn/vz4N15mWNhJQLmI26ZCc2yE2DWlMHTWD5pVBPdJi/zm0F8tcDp
10InmQDwixrQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r36874612.ct b/reveal/v5-000008/r36874612.ct
new file mode 100644
index 0000000..60a77a4
--- /dev/null
+++ b/reveal/v5-000008/r36874612.ct
Binary files differ
diff --git a/reveal/v5-000008/r36874612.nostr.json b/reveal/v5-000008/r36874612.nostr.json
new file mode 100644
index 0000000..b206e66
--- /dev/null
+++ b/reveal/v5-000008/r36874612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2ODc0NjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKck5iNHdPcFhubXZBQ1V6MVRkZS9wRkh0WkZVK0V5NENTMTViYWdi\nL1ZWVTdvTWN5NXZjTUt5NnpJcmlBY2g0ZgpCNittNlhTZzVwSHAwR3orY09YYklT\nNTRTYkZPdXFoTkFnVkk3ZmovSllWVS9vaXh3bGNvL3YraXppb0NDOC9tCkFtZWds\nbFI3bEpWeWZuazVPbkoxVkpIalIvYTNqRDZ5cTdBK1FRRmhaa28KLS0tIFNaWmhq\nRW9ubVVJSkR0UmtKcVhEZUxpZ0l4MDhraStCRFFHUXVVczFwMmcK1TewWlhTsZ5W\nU8yPDrpTjn76CAKdcmXCzf4uhJ+GN3NHnirAnZVxOyN972Uq1s7/b1SEW+xeY78E\niVY/UH+o5A==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36874612"],["reveal_at","2027-02-24T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","25d7bacb408473cfa0cf310078a821311bf05108ab9d02fd721bdfe133f1eda4"],["ct","b3e265283007891602353cba4be4527141bef7ce275ba32b9504ccc8a7f34b39"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r36874612.tlock b/reveal/v5-000008/r36874612.tlock
new file mode 100644
index 0000000..14dc6d7
--- /dev/null
+++ b/reveal/v5-000008/r36874612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2ODc0NjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKck5iNHdPcFhubXZBQ1V6MVRkZS9wRkh0WkZVK0V5NENTMTViYWdi
5L1ZWVTdvTWN5NXZjTUt5NnpJcmlBY2g0ZgpCNittNlhTZzVwSHAwR3orY09YYklT
6NTRTYkZPdXFoTkFnVkk3ZmovSllWVS9vaXh3bGNvL3YraXppb0NDOC9tCkFtZWds
7bFI3bEpWeWZuazVPbkoxVkpIalIvYTNqRDZ5cTdBK1FRRmhaa28KLS0tIFNaWmhq
8RW9ubVVJSkR0UmtKcVhEZUxpZ0l4MDhraStCRFFHUXVVczFwMmcK1TewWlhTsZ5W
9U8yPDrpTjn76CAKdcmXCzf4uhJ+GN3NHnirAnZVxOyN972Uq1s7/b1SEW+xeY78E
10iVY/UH+o5A==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r36903412.ct b/reveal/v5-000008/r36903412.ct
new file mode 100644
index 0000000..ecd0976
--- /dev/null
+++ b/reveal/v5-000008/r36903412.ct
Binary files differ
diff --git a/reveal/v5-000008/r36903412.nostr.json b/reveal/v5-000008/r36903412.nostr.json
new file mode 100644
index 0000000..bec6acd
--- /dev/null
+++ b/reveal/v5-000008/r36903412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2OTAzNDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKZ1kyN3ZRU0dzcTVMaGQ3NW9Ha0lKaXluNy9XdEFkeEFOc2RDNTAv\nUDdERjlEM3pheGF2eFdNRC93bmwrclpxZwpCMUhybFE2Rk9peHE3SEplaUdOUEU0\nQi9tOXB1S3lWVGFZRzZwbmZsakFHQjV1bTB0a3RKU09FY3c4NFV3R3FlCk16L2pu\namtGb1FnaVBGOXNSNDZLNzNxcVZIL0JYemREYWF2VGwzNkYrZ28KLS0tIDBJdmla\nRGd4Ym5HTEJCWGFyblVCcnVzQ1dOTTVOUEN1eDM1TU9qRVV0SE0KEpGy+fTzZzp+\nuKOeP4GJpDmSg2db4wqHd8qr3ux41IOZp4GYaDt9xWZX26wURT3uYaHA4ZGGqgsX\ntVdgqXBk7Q==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36903412"],["reveal_at","2027-02-25T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","f23785bf4e37c16cdd732573da17a4391d9a755d7255fbdcd8d4059846375ce2"],["ct","a4392926c30b0689089067dfe86cfe3510f727e9a026391924b9d21811a5ae38"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r36903412.tlock b/reveal/v5-000008/r36903412.tlock
new file mode 100644
index 0000000..b393910
--- /dev/null
+++ b/reveal/v5-000008/r36903412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2OTAzNDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKZ1kyN3ZRU0dzcTVMaGQ3NW9Ha0lKaXluNy9XdEFkeEFOc2RDNTAv
5UDdERjlEM3pheGF2eFdNRC93bmwrclpxZwpCMUhybFE2Rk9peHE3SEplaUdOUEU0
6Qi9tOXB1S3lWVGFZRzZwbmZsakFHQjV1bTB0a3RKU09FY3c4NFV3R3FlCk16L2pu
7amtGb1FnaVBGOXNSNDZLNzNxcVZIL0JYemREYWF2VGwzNkYrZ28KLS0tIDBJdmla
8RGd4Ym5HTEJCWGFyblVCcnVzQ1dOTTVOUEN1eDM1TU9qRVV0SE0KEpGy+fTzZzp+
9uKOeP4GJpDmSg2db4wqHd8qr3ux41IOZp4GYaDt9xWZX26wURT3uYaHA4ZGGqgsX
10tVdgqXBk7Q==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/r37076212.ct b/reveal/v5-000008/r37076212.ct
new file mode 100644
index 0000000..93034d9
--- /dev/null
+++ b/reveal/v5-000008/r37076212.ct
Binary files differ
diff --git a/reveal/v5-000008/r37076212.nostr.json b/reveal/v5-000008/r37076212.nostr.json
new file mode 100644
index 0000000..4813900
--- /dev/null
+++ b/reveal/v5-000008/r37076212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM3MDc2MjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKZ3Jia0huMStXakJMTEhYd3FpMHhzc1I3VmlsQVRKVTlSL0x6M3Iy\ncW1STGc1a1F5cC9ra3BpNWRoZmhnSW5RVQpGcTB5R1ZyS0tKNlQ2ditHNlRJRFpy\nZU9USlp6LzN1d2tJSlczZC9TQWRkK0FVM3Zpdi9kNWloN3RIYTZpbHBHCkdqYUJK\neXVQSjE5Vm9VcUxRK3VqbEY4TUhBNGNRNTBxdmNHT0lqWll5QXMKLS0tIHN1bm5x\nU25LSmJpSk5ZQkNHNFZEcFVhbGFqUnBvb05XbVgzZjlGQ2tVVmsKq/LWdF3WmZIV\nm0+S1ANMbc4cS/m+mjTc2UsMptBzPxblEEs+KxwyAFsqynz58KLYQ5nf3JoCrqUM\ncpEACV5bVg==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","37076212"],["reveal_at","2027-03-03T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","e50adcdb27013850b9b78799cba3e453f92f6a5e48e5b6fbe416683a3a9e0d60"],["ct","905d2adf953fd89b32f763679b0e7e1690cb185696a3a05723d64e90df2a736d"],["seal","8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765"]]}
diff --git a/reveal/v5-000008/r37076212.tlock b/reveal/v5-000008/r37076212.tlock
new file mode 100644
index 0000000..3b6b0b9
--- /dev/null
+++ b/reveal/v5-000008/r37076212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM3MDc2MjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKZ3Jia0huMStXakJMTEhYd3FpMHhzc1I3VmlsQVRKVTlSL0x6M3Iy
5cW1STGc1a1F5cC9ra3BpNWRoZmhnSW5RVQpGcTB5R1ZyS0tKNlQ2ditHNlRJRFpy
6ZU9USlp6LzN1d2tJSlczZC9TQWRkK0FVM3Zpdi9kNWloN3RIYTZpbHBHCkdqYUJK
7eXVQSjE5Vm9VcUxRK3VqbEY4TUhBNGNRNTBxdmNHT0lqWll5QXMKLS0tIHN1bm5x
8U25LSmJpSk5ZQkNHNFZEcFVhbGFqUnBvb05XbVgzZjlGQ2tVVmsKq/LWdF3WmZIV
9m0+S1ANMbc4cS/m+mjTc2UsMptBzPxblEEs+KxwyAFsqynz58KLYQ5nf3JoCrqUM
10cpEACV5bVg==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000008/seal.json b/reveal/v5-000008/seal.json
new file mode 100644
index 0000000..9c450da
--- /dev/null
+++ b/reveal/v5-000008/seal.json
@@ -0,0 +1,43 @@
1{
2 "algorithm": "sha256-live-v5",
3 "anchor_ref": "sha256:8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765",
4 "covers_after": "2026-10-04T23:32:17.828591Z",
5 "covers_through": "2026-10-05T22:14:57.492859Z",
6 "digest": "8a0ebba38fedca4ec75b165081248fadcbae9c0d5db85e3b5681c8ebfd61e765",
7 "follows_seq": 38,
8 "n_forecasts": 2697,
9 "n_groups": 23,
10 "n_withheld": 2697,
11 "prev_digest": "e5aaa447c1a24f650cd1ce2251a952661609b3479dc3992f6e0c1a830da4f899",
12 "prev_seq": 7,
13 "sealed_at": "2026-10-05T22:15:35.654664Z",
14 "seq": 8,
15 "variant": {
16 "beacon": {
17 "chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",
18 "genesis_time": 1692803367,
19 "period": 3,
20 "relays": [
21 "https://api.drand.sh",
22 "https://api2.drand.sh",
23 "https://api3.drand.sh",
24 "https://drand.cloudflare.com"
25 ],
26 "scheme": "bls-unchained-g1-rfc9380"
27 },
28 "cipher": "chacha20poly1305-zlib6-nonce0",
29 "gate": {
30 "default": "withheld: a kept salt can be released later; an opened text can never be withdrawn",
31 "opened": "none",
32 "why": "no decision by Echo yet"
33 },
34 "line": "numeric<TAB>open:<v4 line> | numeric<TAB>withheld:sha256(salt||v4 line)",
35 "reveal": "utc-day-after-close",
36 "salts": "key ring: one content a seal, one part a line",
37 "tool": {
38 "name": "tle",
39 "sha256": "69157d8c14a1d390d1b7744946288f83d4b10748471d5447f9abb77a5902c541",
40 "version": "tlock v1.2.0 -- github.com/drand/tlock"
41 }
42 }
43}