From 7696836f8462801cf925f5c3fd1faadc761bbc66 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Sun, 27 Sep 2026 13:02:33 +0200 Subject: [PATCH] =?UTF-8?q?version-travel:=20session=20record,=20evidence?= =?UTF-8?q?=20B/C/D/R,=2009=20decision=2042,=2007=20=C2=A76.5=20decision,?= =?UTF-8?q?=20register=20339=20->=20336,=20STATUS=20(D4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS --- CONTEXT.md | 18 + REPORT.md | 21 +- STATUS.md | 51 +- .../architecture/07-backup-architecture.md | 15 +- .../architecture/09-update-architecture.md | 12 + .../audits/DRILL-version-travel-2026-09-26.md | 66 + .../RP6-r699-definition-only-unit.txt | 6 + .../B/B0-bench-before.txt | 7 + .../B/B1-bench-create.txt | 8 + .../B/B9-bench-destroy.txt | 8 + .../version-travel-2026-09-26/B/README.md | 14 + .../paperless-ngx/bench/MV-paperless-ngx.log | 166 + .../MV-paperless-ngx/abort-refusal.txt | 74 + .../MV-paperless-ngx/abort-states.json | 20 + .../MV-paperless-ngx/compose-final.log | 166 + .../MV-paperless-ngx/convert-check-after.txt | 76 + .../MV-paperless-ngx/convert-check-before.txt | 76 + .../MV-paperless-ngx/convert-load.err | 0 .../MV-paperless-ngx/engine-state.json | 8 + .../MV-paperless-ngx/files-after.json | 5 + .../MV-paperless-ngx/files-before.json | 5 + .../MV-paperless-ngx/memory-samples.json | 1562 ++++++++ .../MV-paperless-ngx/migration-lines.txt | 4 + .../bench/evidence/MV-paperless-ngx/run.log | 61 + .../evidence/MV-paperless-ngx/to-full.log | 432 ++ .../evidence/MV-paperless-ngx/to-states.json | 20 + .../evidence/MV-paperless-ngx/verdict.json | 105 + .../box/box-verdict-paperless-ngx.json | 29 + .../B/apps/paperless-ngx/box/move.txt | 43 + .../B/apps/paperless-ngx/box/prep.txt | 5 + .../B/apps/tandoor/bench/MV-tandoor.log | 153 + .../evidence/MV-tandoor/abort-refusal.txt | 40 + .../evidence/MV-tandoor/abort-states.json | 14 + .../evidence/MV-tandoor/compose-final.log | 60 + .../MV-tandoor/convert-check-after.txt | 106 + .../MV-tandoor/convert-check-before.txt | 106 + .../evidence/MV-tandoor/convert-load.err | 0 .../evidence/MV-tandoor/engine-state.json | 8 + .../evidence/MV-tandoor/files-after.json | 1 + .../evidence/MV-tandoor/files-before.json | 1 + .../evidence/MV-tandoor/memory-samples.json | 1122 ++++++ .../evidence/MV-tandoor/migration-lines.txt | 4 + .../tandoor/bench/evidence/MV-tandoor/run.log | 61 + .../bench/evidence/MV-tandoor/to-full.log | 3566 +++++++++++++++++ .../bench/evidence/MV-tandoor/to-states.json | 14 + .../bench/evidence/MV-tandoor/verdict.json | 92 + .../apps/tandoor/box/box-verdict-tandoor.json | 27 + .../B/apps/tandoor/box/move.txt | 43 + .../B/apps/tandoor/box/prep.txt | 5 + .../version-travel-2026-09-26/B/benchq-q1.txt | 5 + .../version-travel-2026-09-26/C/C1-images.txt | 24 + .../C/C2-truncated-file.txt | 29 + .../version-travel-2026-09-26/C/README.md | 17 + .../adventurelog/bench/MV-adventurelog.log | 136 + .../MV-adventurelog/abort-states.json | 20 + .../MV-adventurelog/compose-final.log | 102 + .../MV-adventurelog/engine-state.json | 1 + .../evidence/MV-adventurelog/files-after.json | 1 + .../MV-adventurelog/files-before.json | 1 + .../MV-adventurelog/memory-samples.json | 1562 ++++++++ .../MV-adventurelog/migration-lines.txt | 6 + .../bench/evidence/MV-adventurelog/run.log | 59 + .../evidence/MV-adventurelog/to-full.log | 109 + .../evidence/MV-adventurelog/to-states.json | 20 + .../evidence/MV-adventurelog/verdict.json | 77 + .../box/box-verdict-adventurelog.json | 22 + .../C/apps/adventurelog/box/move.txt | 40 + .../C/apps/adventurelog/box/move2-5m.txt | 31 + .../C/apps/adventurelog/box/prep.txt | 5 + .../C/apps/adventurelog/box/rerun-config.txt | 3 + .../version-travel-2026-09-26/C/benchq-q2.txt | 3 + .../D1/D1-signed-delivery.txt | 17 + .../version-travel-2026-09-26/D1/README.md | 6 + .../version-travel-2026-09-26/D2/README.md | 5 + .../version-travel-2026-09-26/D3/README.md | 6 + .../R/R1-9202-0.275.0.txt | 4 + .../version-travel-2026-09-26/R/R2-floor.txt | 8 + .../T-teardown-9202.txt | 27 + .../version-travel-2026-09-26/tools/benchq.py | 48 + .../tools/boxmove.py | 47 + .../tools/drillmove.py | 39 + .../tools/fixtures.py | 4 + documentation/backlog/CLOSED-ITEMS.md | 13 + documentation/backlog/OPEN-ITEMS.md | 9 +- documentation/tests/golden-waiver.yml | 6 +- 85 files changed, 10970 insertions(+), 48 deletions(-) create mode 100644 documentation/audits/DRILL-version-travel-2026-09-26.md create mode 100644 documentation/audits/version-travel-2026-09-26/A5-redproofs/RP6-r699-definition-only-unit.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/B0-bench-before.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/B1-bench-create.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/B9-bench-destroy.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/README.md create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/MV-paperless-ngx.log create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/abort-refusal.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/abort-states.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/compose-final.log create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-check-after.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-check-before.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-load.err create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/engine-state.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/files-after.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/files-before.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/memory-samples.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/migration-lines.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/run.log create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/to-full.log create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/to-states.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/verdict.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/box-verdict-paperless-ngx.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/move.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/prep.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/MV-tandoor.log create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/abort-refusal.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/abort-states.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/compose-final.log create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-check-after.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-check-before.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-load.err create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/engine-state.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/files-after.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/files-before.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/memory-samples.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/migration-lines.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/run.log create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/to-full.log create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/to-states.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/verdict.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/box-verdict-tandoor.json create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/move.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/prep.txt create mode 100644 documentation/audits/version-travel-2026-09-26/B/benchq-q1.txt create mode 100644 documentation/audits/version-travel-2026-09-26/C/C1-images.txt create mode 100644 documentation/audits/version-travel-2026-09-26/C/C2-truncated-file.txt create mode 100644 documentation/audits/version-travel-2026-09-26/C/README.md create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/MV-adventurelog.log create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/abort-states.json create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/compose-final.log create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/engine-state.json create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/files-after.json create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/files-before.json create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/memory-samples.json create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/migration-lines.txt create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/run.log create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/to-full.log create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/to-states.json create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/bench/evidence/MV-adventurelog/verdict.json create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/box/box-verdict-adventurelog.json create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/box/move.txt create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/box/move2-5m.txt create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/box/prep.txt create mode 100644 documentation/audits/version-travel-2026-09-26/C/apps/adventurelog/box/rerun-config.txt create mode 100644 documentation/audits/version-travel-2026-09-26/C/benchq-q2.txt create mode 100644 documentation/audits/version-travel-2026-09-26/D1/D1-signed-delivery.txt create mode 100644 documentation/audits/version-travel-2026-09-26/D1/README.md create mode 100644 documentation/audits/version-travel-2026-09-26/D2/README.md create mode 100644 documentation/audits/version-travel-2026-09-26/D3/README.md create mode 100644 documentation/audits/version-travel-2026-09-26/R/R1-9202-0.275.0.txt create mode 100644 documentation/audits/version-travel-2026-09-26/R/R2-floor.txt create mode 100644 documentation/audits/version-travel-2026-09-26/T-teardown-9202.txt create mode 100644 documentation/audits/version-travel-2026-09-26/tools/benchq.py create mode 100644 documentation/audits/version-travel-2026-09-26/tools/boxmove.py create mode 100644 documentation/audits/version-travel-2026-09-26/tools/drillmove.py diff --git a/CONTEXT.md b/CONTEXT.md index 86457633..45e5a881 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -14,6 +14,24 @@ > language, one screen, no identifiers in the prose. Same subjects, different readers; merging them > would make one of the two audiences stop reading. `STATUS.md` is also a **view of `OPEN-ITEMS.md`** > and holds nothing of its own; this file does hold its own content, namely the standing rulings below. +## 2026-09-26/27 — a backup's data and its version travel together (controller v0.275.0), agent v0.135.0, catalog f1a7d6c + +- **Rulings recorded (`09` §3):** 40 (D3 A — the box never deletes kept data), 41 (adventurelog keeps its world-data + download). **D4 open, option A built and in force** (STATUS): a restore brings the app back at the version its data + belongs to; the guarded update climbs from there. Rule: `07` §6.6. +- **Controller v0.275.0** (floor 0.275.0, MinAgent 0.131.0): data stamps (`data-stamps.json`, manifest `data`), the unit + keeps its data's definition, `ErrUnitVersionMismatch`, the off-site restore writes the snapshot's definition, data + times on all tiers (`settings.offsite_data_at` for Tier 3), the conversion-copy release needs a dump on the new major, + R-699 (a definition-only unit is never a precondition copy), R-695, R-691 (1), R-694 (`restored_logins`, + `loginAppliedEveryStart` register). +- **Decisions taken by CC unattended, operator may reverse:** `09` §3 decision 42 (paperless → 18, tandoor → 17); + `07` §6.5 (the kept view joins the folder's owning group). +- **Catalog:** paperless-ngx → PostgreSQL 18 (`46affe0`), tandoor → 17 (`53b84ca`), adventurelog v0.13.0 with its + health and world-data fixes (`06ea7da`). **Agent v0.135.0** (R-689) released, signed-delivered to both demo hosts, NOT + vouched. +- **Open from this session:** R-697 (a restore drops `conversion_copy`), R-698 (images not stored), R-691 (2). +- Record: `documentation/audits/DRILL-version-travel-2026-09-26.md`. + ## 2026-09-25 (evening) — PostgreSQL conversion (controller v0.273.0), kept data (v0.274.0), hub v0.125.0 - **Controller v0.273.0** = `09` §6.4 part 10 for docmost: `stacks/pgconvert.go`, only on a ladder step marked diff --git a/REPORT.md b/REPORT.md index be86ed22..b041f2e3 100644 --- a/REPORT.md +++ b/REPORT.md @@ -1,14 +1,11 @@ -# REPORT — PostgreSQL conversion, kept data, the night watch (2026-09-25 evening → 26 night, felhom.eu side) +# REPORT — 2026-09-26/27: version-travel brief (docs, register, evidence) -Record: `documentation/audits/DRILL-night-2026-09-26.md` (opens with "Not done, or changed"; the brief's six claims -judged; parts 0, A–G; teardown; register). Evidence: `documentation/audits/night-2026-09-26/`. +Record: `documentation/audits/DRILL-version-travel-2026-09-26.md`; evidence `documentation/audits/version-travel-2026-09-26/`. -This repo carried: -- **Hub v0.125.0** (R-688 half): the customer delete dialog stops promising a Cloudflare removal and the preview lists - what the operator removes by hand, by domain. Test + red-proof; live preview read for demo-hp. CI job 999 (the - code commit) success; manifest synced by ArgoCD, image `0.125.0` confirmed on the deployment. -- **`09`:** decisions 35–36 (operator), 37–39 (CC unattended); §6.4 part 10 as built for docmost. -- **`07`:** §6.5 kept data (where it lives, that it is not backed up, who deletes it — D3 open). -- **Register:** before 334 rows; opened R-689, R-691, R-693, R-694, R-695, R-696; opened and closed R-690, R-692; closed R-657; - narrowed R-450, R-463, R-469, R-687, R-688, R-691; R-655 measured. After: 339. -- **STATUS** with D3 in the decision section; **CONTEXT**. +- `09` §3: decisions 40, 41 (operator rulings), 42 (CC unattended). `07` §6.5 (kept view decision, decision 40) and new + §6.6 "Which version a restore brings back". STATUS rewritten (D4 in the decision section). CONTEXT updated. +- Register: 339 → 336 rows (682,159 → 678,058 B). Opened R-697, R-698, R-699; closed R-655, R-689, R-694, R-695, R-696, + R-699 (to `CLOSED-ITEMS.md`); narrowed R-691, R-463. +- Hub: no code change; global floor 0.275.0 (MinAgent 0.131.0) set via `POST /configuration/global-floor`. +- Capability map: not changed — no scenario's status moved (the restore routes existed; what changed is which version + they bring back, recorded in `07` §6.6). diff --git a/STATUS.md b/STATUS.md index 1c660c0a..25d64d4c 100644 --- a/STATUS.md +++ b/STATUS.md @@ -1,38 +1,37 @@ # STATUS — what works, what's broken, what's next -**Updated 2026-09-26 (early morning). Both demo boxes run controller 0.274.0 and host agent 0.134.0. Hub 0.125.0.** +**Updated 2026-09-27. Both demo boxes run controller 0.275.0 and host agent 0.135.0. Hub 0.125.0.** **Decisions I took on my own** (you may reverse each): -1. **docmost's database goes to PostgreSQL 18, not 17.** Its own makers already use 18. One move instead of two. -2. **The box copies the whole old database before it converts, and stops on any error.** It then puts everything back. -3. **docmost gets 512 MB of memory instead of 384 MB.** Under light load it used 91 % of 384 MB. The move was not allowed without it. +1. **paperless-ngx goes to PostgreSQL 18, tandoor to 17.** Each follows what its own makers ship. paperless's makers use 18. tandoor's use 16, and 17 is the newest its framework supports. +2. **The file browser reads nextcloud's kept folder by joining its group.** Nothing on your disk changes. The folder stays read-only in the view. **What I did, and it worked.** -- **The box now converts a PostgreSQL database to a new main version.** Only for an app whose step was tested. docmost is the first. On the scratch box: the conversion took 42 seconds in total. The data came back. -- **When it goes wrong, the box puts the old version back.** I tested three failures: a load error, an app that does not start, and a controller killed in the middle. Each time the old version came back with its data. -- **The HP box converted its docmost by itself in the night.** It took 54 seconds. Its users, spaces and pages are all still there. -- **Kept data is never a dead end now.** When an app is installed over old files, the page asks: "Use my kept data" or "Start fresh". A new "Kept data" page shows every leftover folder. The household can look at it (read only), load it, or delete it (they must type the app's name). I tested all of it on the scratch box, in both languages. -- **The hub's customer delete stops promising to clean Cloudflare.** It now lists what you remove by hand. +- **A backup now always says truthfully which version its data belongs to.** Before, the label changed to "new version" minutes after an update, while the data inside stayed old. A restore in that window broke docmost: its database would not start. Now the backup keeps the old version's settings next to the old data. I tested it on the scratch box: docmost came back whole at the old version, and the normal update brought it forward again. +- **The box tested this by itself in the night.** It updated docmost's database at 02:15. Two minutes later the backup kept the matching old settings. The restore the next morning worked. +- **Two more apps move to a new database version: paperless-ngx and tandoor.** Each was tested twice: on a throwaway test machine and on the scratch box through the normal update. Every account came back. +- **adventurelog moves to its new version.** It keeps its world-map download. If that file was cut off, the box sets it aside and downloads it again. Tested both ways. +- **The HP box's restore test now tests real backups only**, not the golden template file. +- **Small fixes:** the file browser no longer re-creates an empty kept folder; the "Kept data" name follows the box's language; after a load, the app page no longer shows a password that does not work. **What broke, or is not done.** -- **The restore of a removed app was broken for data drives.** It came back without its settings or database. Fixed tonight. -- **The Kept data list named two old folders "Filebrowser".** Found on the scratch box. Fixed before release. -- **The other ten PostgreSQL apps still cannot move.** Each needs its own test. -- **The file browser cannot open nextcloud's kept folder.** The files are there and can be loaded or deleted. -- **The HP box's restore test tries to test the golden template file and fails every 6 hours.** Not fixed (agent side). -- **The memory check always calls docmost "tight".** Its memory grows with its limit. Filed. -- **The box threw away docmost's old database copy too early on the HP box.** It trusted the wrong time for "a backup exists". The data is safe: the check proved every row came across, and tonight's backup is on the new version. Filed. -- **Two quick deletes on the Kept data page can leave an empty folder that keeps coming back.** Seen once on the scratch box; no data involved. Cleared by hand. Filed. -- **adventurelog stays on its old version.** I found how to skip its internet download. The move needs a choice. +- **Found and fixed today: an app installed minutes ago could be updated with no backup of its database.** The update trusted a backup that held only the app's settings. Now it backs up first. +- **"Use my kept data" still cannot load from the off-site copy.** Filed. +- **The file-browser group fix is tested in code only.** No nextcloud kept folder existed on the scratch box. +- **A backup stores the name of each app version, not the app itself.** If a maker deletes an old version, a restore of it cannot start. Today all 42 versions the catalog names still exist. Filed with options; nothing decided. +- **After a restore, the box keeps an old database copy it can no longer release.** Disk only. Filed. +- **Not watched yet:** the HP box converts paperless tonight; the scratch box releases its old paperless copy after tonight's backup. -**Rows.** 8 opened, 3 closed. The list went from 334 to 339. +**Rows.** 3 opened, 6 closed. The list went from 339 to 336. -**Decision for you — D3: may the box ever delete kept data by itself?** -- **A — never; only the household deletes it (I recommend this).** Cost: kept data can fill a drive. The drive-full warning names the kept folders and their sizes, so the household sees what to delete. -- **B — after 90 days, with mails at 30 and 7 days before.** Cost: a small add-on to build; a household that ignores the mails loses the data. -- **If you do nothing:** nothing is ever deleted by itself (A in effect). Nobody is blocked. +**Decision for you — D4: when the only backup holds data of an older app version, what does a restore bring back?** +- **A — the older version with its own data; then the normal update climbs, one tested step at a time (I recommend this, and it is built).** Cost: after the restore the app runs an older version for a night or until someone presses Update. The page says so. +- **B — restore into a temporary copy, update it there, then move the data in.** Cost: a new mechanism on customer data, and double the disk space during the restore. Same end state as A. +- **If you do nothing:** A stays in force. Nobody is blocked. **What needs you.** -1. **D3** above. -2. **adventurelog:** skip its world-data download on every start (new installs then have no country list), or keep it and test the update with the file present. If you do nothing, it stays on the old version. -3. **From before:** Peti's box in the Claude project text; Cloudflare leftovers of Peti's domain; the old Storage Box `PBS-storage-1`. If you do nothing, they stay as they are. +1. **D4** above. +2. **The weekly golden bake is due** (last one a week ago, 21 controller releases behind). The brief said no golden, so I renewed the waiver for 7 days only (to 4 October). If you do nothing, the checks go red again on 4 October and nothing can be pushed to felhom.eu until a bake or a new waiver. +3. **Vouch agent 0.135.0** for new installs (hub → Configs → Day-0 artifacts). If you do nothing, new boxes install 0.134.0 and get 0.135.0 only by a signed update. +4. **The image-copy question** (a maker deletes an old version): keep as is, or copy installed versions into our registry. If you do nothing, nothing changes. +5. **From before:** Peti's box in the Claude project text; Cloudflare leftovers of Peti's domain; the old Storage Box `PBS-storage-1`. If you do nothing, they stay as they are. diff --git a/documentation/architecture/07-backup-architecture.md b/documentation/architecture/07-backup-architecture.md index 311c986b..f73f9dbb 100644 --- a/documentation/architecture/07-backup-architecture.md +++ b/documentation/architecture/07-backup-architecture.md @@ -580,7 +580,20 @@ is not a listed item, is refused — proven live 2026-09-25). **The box never de **Read-only view.** The file browser shows each kept item under „Megőrzött adatok", one `:ro` bind per item, and follows the list at the next sync (a write is refused: `Read-only file system`, proven live). Not yet readable there: -a folder its app owns with mode 0770 (nextcloud, `www-data`) — R-691. +a folder its app owns with mode 0770 (nextcloud, `www-data`) — R-691 — **until controller v0.275.0.** + +**[DESIGN] How the view reads a folder another user owns** — *decided by CC unattended 2026-09-26 — operator may +reverse.* *One sentence:* how does the read-only view open a 0770 kept folder owned by another user without touching +the household's files? **Options:** (a) a read-only ACL on the folder; (b) run the file browser as root; (c) a second +viewer container running as the owner; (d) the file browser joins the folder's OWNING GROUP (`group_add`). +**Costs:** (a) changes the household's files' metadata — nextcloud checks its data folder's mode after a Load, and +the brief forbids it; (b) the whole file browser (read-write on the household's userdata) as root; (c) a new container, +route and login for one view; (d) the group also applies to the view's other mounts — so root's group (0) and the +view's own (1000) are never added, and only a group-READABLE folder's group is. **Why (d):** the kept binds stay +`:ro` (a write is refused by the mount), nothing on disk changes, and it is one compose line the sync already writes. +Limit: a file inside that is owner-only (0600) stays unreadable. Also: a language switch now re-syncs the file browser +so the source's name („Megőrzött adatok" / "Kept data") follows the box's language. Controller v0.275.0, +`audits/version-travel-2026-09-26/D3/`. Evidence: `audits/night-2026-09-26/E/` (E1 spike, E5 live proof). diff --git a/documentation/architecture/09-update-architecture.md b/documentation/architecture/09-update-architecture.md index 5964c303..4ddc5851 100644 --- a/documentation/architecture/09-update-architecture.md +++ b/documentation/architecture/09-update-architecture.md @@ -466,6 +466,18 @@ R-636's louder repeated alarm. without world data is a smaller product; the internet dependence is at first start, which the update's own health wait and undo already cover. +### 2026-09-26/27 — decisions taken by CC unattended (version-travel brief) + +42. **The next PostgreSQL apps: paperless-ngx → 18, tandoor → 17** — *decided by CC unattended 2026-09-27 — operator + may reverse.* *One sentence:* which major does each app's conversion target? **Options:** (a) 17 for both — no + mount change; (b) 18 for both; (c) per app, from what the app's own upstream runs (decision 37's reasoning). + **Costs:** (a) paperless converts twice (its upstream compose ships `postgres:18` at `/var/lib/postgresql`); + (b) tandoor would run a major its own upstream compose (`postgres:16-alpine`) and its Django (5.2.16) have not + documented; (c) two different targets to remember. **Why (c):** decision 37 said one conversion is better than + two WHEN the upstream runs the newer major — paperless's does (18, Django ~5.2.5, psycopg 3); tandoor's does not, + and 17 is the newest major its Django documents, with no mount change. Read 2026-09-27 from each upstream's + compose and requirements (`audits/version-travel-2026-09-26/B/`). Reversible: the catalog pins the major. + --- ## 3b. ANSWERED 2026-09-23 — the seven questions Slices 6 and 7 needed diff --git a/documentation/audits/DRILL-version-travel-2026-09-26.md b/documentation/audits/DRILL-version-travel-2026-09-26.md new file mode 100644 index 00000000..2b9f8682 --- /dev/null +++ b/documentation/audits/DRILL-version-travel-2026-09-26.md @@ -0,0 +1,66 @@ +# DRILL — 2026-09-26/27: a backup's data and its version travel together; the next PostgreSQL apps; adventurelog; leftovers + +Brief: "a backup's data and its version always travel together; the next PostgreSQL apps; adventurelog; small leftovers". +Architecture read before any claim: `07-backup-architecture.md` §6 (now §6.6 added), `09-update-architecture.md` §3 +decisions 13–42, §5.3, §6.4 parts 4, 5, 10. Evidence: `audits/version-travel-2026-09-26/`. + +## Not done, or changed + +- **One controller release (v0.275.0), not two**, with Parts A, D2–D4 and **R-699** (found live during Part B, filed and + fixed). Live proofs ran on `0.275.0-rc1` (identical except R-699); 0.275.0 itself ran the adventurelog box proof. +- **The session paused ~17 h** (usage limit) between the build and the live proof. In that gap the box's own night ran the + engine step on docmost, which became the shape-2 live proof — observed, not pressed. +- **R-691 (2) NOT built** — Load does not look at the off-site copy. (1) built and red-proofed, **not live-proven** (no + nextcloud kept folder existed on 9202). +- **Part B moved 2 apps** (paperless-ngx, tandoor). calcom and claper were not attempted (no seed route in the fixtures). +- **adventurelog's health fix is a DROP of the override, not `/usr/bin/node`**: no single node path works on both versions + (measured). It rides the image move in the same commit, as asked. +- **Off-site restore NOT exercised live** (9202 has no off-site target; the boxes that do are fenced). Unit-tested. +- **The conversion-copy RELEASE on a real 18 dump not observed** — due on 9202 after tonight's 00:30 data run. +- **D1's scheduled restore-test cycle on demo-hp**: due ~18:28 CEST, read into `D1/D1-cycle-demo-hp.txt` if the session is + still alive; otherwise it is the first thing to read. +- **Part E (night watch) not done.** +- D4 is **not ruled**: option A is built and in force (STATUS). + +## Claims in the brief, judged + +1. *`CaptureRecoveryUnit` rewrites `compose/` and `image_pins` before the data is refreshed* — **TRUE** (measured: the + refresh 2 min after the update rewrote both; the dumps stayed). +2. *A restore replays the database's raw volume tar before the SQL dump* — **TRUE** (`restore_unit.go`; live: the 16 datadir + tar replaced the volume first). +3. *The 18 definition over a 16 tar does X* — **REFUSED by the engine, and the app was left DOWN**: `postgres:18` refused the + old layout, the replay timed out, the start failed. Not "a fresh cluster with the SQL". +4. *A restored version older than the ladder would jump* — **TRUE for a person's press, FALSE for the automatic leg** + (`LegSkipOlderThanLadder` already refuses). The page now says the box will not update it by itself. +5. *`07` says nothing on which version a restore brings back* — **TRUE** for `07` (only `09` §5.3 said the restore pins to + the unit's compose). `07` §6.6 now says it. + +## A — the data and its version (R-696) + +A1 spike (`A1/README.md`) → A2–A4 built (stamps, the definition kept with its data, restore guard, off-site definition, +data times on all three tiers, release needs a dump on the new major) → red-proofs RP1–RP6 (`A5-redproofs/`) → live +(`A5-live/README.md`): shape 2 in the box's own night (restore offered 00:30 = the data; restore back whole at 16 with the +sentence „A(z) docmost visszaállt a(z) 2026-09-27 02:30-i mentésből, a(z) docmost:0.96.0, postgres:16-alpine, +redis:7-alpine verzióra. Elérhető frissítés: a doboz lépésenként hozza naprakészre."; climb again 55 s); shape 1 (back +whole at 0.95.0, "No pending database migrations"; climb 46 s). A7: 42 of 42 ladder digests resolve; filed R-698. + +## B, C, D + +B: `B/README.md` — paperless-ngx → 18 and tandoor → 17, both venues, engine gate ALLOWED, catalog `46affe0`, `53b84ca`. +C: `C/README.md` — adventurelog v0.13.0, catalog `06ea7da`. D1 agent v0.135.0 (signed delivery to both hosts); D2 R-695; +D3 R-691 (1); D4 R-694 (per-app measurement, 6 of 7 keep the login in their data). + +## Teardown + +- **Machine:** bench LXC 9401 created and destroyed (hostname checked), template removed. 9202: docmost, tandoor and + adventurelog removed through the product; paperless-ngx (standing) now on PostgreSQL 18 like the live catalog, its kept + 16 copy waiting for the release; back on the LIVE catalog (`controller.yaml.pre-vt0926`), controller 0.275.0. Drill repo + reset to live `main` (`f1a7d6c`). +- **Host:** demo-hp `pct list` 9201 + 9202 only; `local` and `nvme-scratch` as before the bench. +- **Hub:** global floor 0.275.0 (declared MinAgent 0.131.0); two signed `agent_update` jobs consumed; no customer or + appliance created. + +## Register + +Before: **339 rows / 682,159 B** (the brief's count). Opened R-697, R-698, R-699; closed R-655, R-689, R-694, R-695, R-696, +R-699 (moved to `CLOSED-ITEMS.md`); narrowed R-691 (to its (2)) and R-463 (3 of 11 moved). After: **336 rows / 678,058 B**. diff --git a/documentation/audits/version-travel-2026-09-26/A5-redproofs/RP6-r699-definition-only-unit.txt b/documentation/audits/version-travel-2026-09-26/A5-redproofs/RP6-r699-definition-only-unit.txt new file mode 100644 index 00000000..faa0aa81 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/A5-redproofs/RP6-r699-definition-only-unit.txt @@ -0,0 +1,6 @@ +# R-699 red-proof — a definition-only unit accepted (v0.274.0 / rc1 shape) + a_version_travel_test.go:595: the precondition accepted tier 1 at 2026-09-27 09:43:08 +0000 UTC — a unit with no data is not a copy +--- FAIL: TestR699_ADefinitionOnlyUnitIsNotAPreconditionCopy (0.00s) +FAIL +FAIL gitea.dooplex.hu/admin/felhom-controller/internal/backup 0.008s +FAIL diff --git a/documentation/audits/version-travel-2026-09-26/B/B0-bench-before.txt b/documentation/audits/version-travel-2026-09-26/B/B0-bench-before.txt new file mode 100644 index 00000000..86edcc40 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/B0-bench-before.txt @@ -0,0 +1,7 @@ +VMID Status Lock Name +9201 running demo-hp +9202 running demo-hp-scratch +local dir active 40453376 22919900 15446360 56.66% +nvme-scratch dir active 983379700 75028908 858324180 7.63% + total used free shared buff/cache available +Mem: 29 6 11 0 12 23 diff --git a/documentation/audits/version-travel-2026-09-26/B/B1-bench-create.txt b/documentation/audits/version-travel-2026-09-26/B/B1-bench-create.txt new file mode 100644 index 00000000..322d3917 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/B1-bench-create.txt @@ -0,0 +1,8 @@ +download of 'http://download.proxmox.com/images/system/debian-13-standard_13.6-1_amd64.tar.zst' to '/var/lib/vz/template/cache/debian-13-standard_13.6-1_amd64.tar.zst' finished +Creating SSH host key 'ssh_host_ecdsa_key' - this may take some time ... +done: SHA256:NNo2rVOhZjaTMhKYXI2z7nZzWZe672bnB+EkWCOFvQE root@upgrade-harness +192.168.0.124/24 +Docker version 26.1.5+dfsg1, build a72d7cd +Docker Compose version 2.26.1-4 +Python 3.13.5 +net-ok diff --git a/documentation/audits/version-travel-2026-09-26/B/B9-bench-destroy.txt b/documentation/audits/version-travel-2026-09-26/B/B9-bench-destroy.txt new file mode 100644 index 00000000..28ae5d5f --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/B9-bench-destroy.txt @@ -0,0 +1,8 @@ +hostname: upgrade-harness +purging CT 9401 from related configurations.. +destroyed-9401 +VMID Status Lock Name +9201 running demo-hp +9202 running demo-hp-scratch +local dir active 40453376 22942648 15423612 56.71% +nvme-scratch dir active 983379700 75279156 858073932 7.66% diff --git a/documentation/audits/version-travel-2026-09-26/B/README.md b/documentation/audits/version-travel-2026-09-26/B/README.md new file mode 100644 index 00000000..46305a8a --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/README.md @@ -0,0 +1,14 @@ +# B — the next PostgreSQL apps (2026-09-27) + +Targets (`09` §3 decision 42, read from each upstream): paperless-ngx → 18 (upstream compose ships `postgres:18` at +`/var/lib/postgresql`, Django ~5.2.5, psycopg 3); tandoor → 17 (upstream compose ships `postgres:16-alpine`; Django 5.2.16 +documents up to 17). calcom and claper were not taken (no seed route in the fixtures); outline, rallly, zipline have none (R-624). + +| app | bench (LXC 9401, `apps//bench/`) | box 9202 (`apps//box/`) | +|---|---|---| +| paperless-ngx | converted 35.4 s, check equal over 72 tables, seed ✓; memory anon peaks: webserver 40.0 %, postgres 3.8 %; 0 restarts | precondition: Tier 2 copy of 00:30Z; converted 16 → 18 in 10.6 s (72 tables, 812 rows equal); done 64.6 s; seed ✓; pre-conversion copy KEPT | +| tandoor | converted 23.6 s, 100 tables equal, seed ✓; tandoor app anon peak 78.7 % (cgroup 97.8 % = file cache), postgres 5.1 % | converted 16 → 17 in 11.4 s (100 tables, 687 rows equal); done 52.3 s; seed ✓ — this run found R-699 | + +Written into the live catalog by `upgrade-test.py --write-ladder` (`46affe0`, `53b84ca`); the engine gate printed ALLOWED for both. +Bench created and destroyed this session (`B1-bench-create.txt`, `B9-bench-destroy.txt`). demo-hp runs paperless-ngx: its +automatic leg converts it on its next night (controller 0.275.0). diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/MV-paperless-ngx.log b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/MV-paperless-ngx.log new file mode 100644 index 00000000..dd7574d2 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/MV-paperless-ngx.log @@ -0,0 +1,166 @@ +[09:33:45] scratch drive folders cleared before FROM (R-656): none existed +[09:33:45] MV-paperless-ngx: deploying paperless-ngx at FROM {'paperless-webserver': 'ghcr.io/paperless-ngx/paperless-ngx:2.20.15', 'paperless-postgres': 'postgres:16-alpine', 'paperless-redis': 'redis:7-alpine'} +[09:35:37] FROM settled=True in 62.2s :: {"paperless-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "paperless-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "paperless-webserver": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[09:35:37] fixture: the BOX walk's own (Django), through upgrade_boxport +[09:35:45] paperless-webserver: createsuperuser :: Superuser created successfully. +[09:35:51] paperless-webserver: seeded superuser drill248892 +[09:36:03] paperless-webserver: readback of the seeded account found=True +[09:36:03] C1 (seed reads back BEFORE): True +[09:36:04] MV-paperless-ngx: PostgreSQL major move {'service': 'paperless-postgres', 'engine': 'postgres', 'from': 16, 'to': 18} — converting on the bench before the swap +[09:36:39] CONVERTED paperless-postgres PostgreSQL 16 -> 18 in 35.4s (dump 0.63s / 246453 B, load 2.59s, check equal over 72 tables) +[09:36:39] MV-paperless-ngx: swapping to TO {'paperless-webserver': 'ghcr.io/paperless-ngx/paperless-ngx:2.20.15', 'paperless-postgres': 'postgres:18-alpine', 'paperless-redis': 'redis:7-alpine'} +[09:36:50] TO up -d rc=0 +[09:37:22] TO settled=True in 31.5s :: {"paperless-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "paperless-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "paperless-webserver": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[09:37:22] engine state paperless-postgres: 18 +[09:37:22] migration lines observed: 4 +[09:37:33] paperless-webserver: readback of the seeded account found=True +[09:37:33] RESULT (seed reads back AFTER): True +[09:37:33] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:8000 +[09:37:48] + 15s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=5M kills=0 rs=0 paperless-webserver=535M/1280M peak=630M kills=0 rs=0 reqs=298 +[09:38:04] + 30s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=5M kills=0 rs=0 paperless-webserver=536M/1280M peak=630M kills=0 rs=0 reqs=594 +[09:38:19] + 46s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=5M kills=0 rs=0 paperless-webserver=536M/1280M peak=630M kills=0 rs=0 reqs=888 +[09:38:34] + 61s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=5M kills=0 rs=0 paperless-webserver=535M/1280M peak=630M kills=0 rs=0 reqs=1184 +[09:38:49] + 76s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=5M kills=0 rs=0 paperless-webserver=535M/1280M peak=630M kills=0 rs=0 reqs=1480 +[09:39:04] + 91s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=536M/1280M peak=630M kills=0 rs=0 reqs=1776 +[09:39:19] + 106s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=536M/1280M peak=630M kills=0 rs=0 reqs=2072 +[09:39:35] + 121s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=535M/1280M peak=630M kills=0 rs=0 reqs=2366 +[09:39:50] + 136s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=536M/1280M peak=630M kills=0 rs=0 reqs=2662 +[09:40:05] + 152s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=2958 +[09:40:20] + 167s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=532M/1280M peak=630M kills=0 rs=0 reqs=3254 +[09:40:35] + 182s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=3550 +[09:40:50] + 197s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=3843 +[09:41:06] + 212s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=4139 +[09:41:21] + 227s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=4434 +[09:41:36] + 243s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=4730 +[09:41:51] + 258s paperless-postgres=123M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=5026 +[09:42:06] + 273s paperless-postgres=124M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=5322 +[09:42:21] + 288s paperless-postgres=126M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=5618 +[09:42:36] + 303s paperless-postgres=126M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=5914 +[09:42:52] + 318s paperless-postgres=128M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=534M/1280M peak=630M kills=0 rs=0 reqs=6208 +[09:43:07] + 334s paperless-postgres=129M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=6502 +[09:43:22] + 349s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=6798 +[09:43:37] + 364s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=7095 +[09:43:52] + 379s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=7392 +[09:44:07] + 394s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=7686 +[09:44:23] + 409s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=7982 +[09:44:38] + 424s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=8278 +[09:44:53] + 440s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=8576 +[09:45:08] + 455s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=8874 +[09:45:23] + 470s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=9168 +[09:45:39] + 485s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=9464 +[09:45:54] + 500s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=9760 +[09:46:09] + 516s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=534M/1280M peak=630M kills=0 rs=0 reqs=10056 +[09:46:24] + 531s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=10352 +[09:46:39] + 546s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=10648 +[09:46:54] + 561s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=10944 +[09:47:10] + 576s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=11240 +[09:47:25] + 591s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=534M/1280M peak=630M kills=0 rs=0 reqs=11536 +[09:47:40] + 607s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=11832 +[09:47:40] memory watch: killed=False tight=[] requests=11832 codes={'302': 11832} +[09:47:40] MV-paperless-ngx: ABORT — putting the FROM images back +[09:50:50] ABORT: the app did NOT come back (rc=1, 180.5s) +{ + "harness_version": 4, + "edge": "MV-paperless-ngx", + "app": "paperless-ngx", + "note": "night 2026-09-23 within-a-major move: paperless-postgres=postgres:18-alpine", + "from": { + "paperless-webserver": "ghcr.io/paperless-ngx/paperless-ngx:2.20.15", + "paperless-postgres": "postgres:16-alpine", + "paperless-redis": "redis:7-alpine" + }, + "to": { + "paperless-webserver": "ghcr.io/paperless-ngx/paperless-ngx:2.20.15", + "paperless-postgres": "postgres:18-alpine", + "paperless-redis": "redis:7-alpine" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kpaperless-webserver | [init-migrations] Apply database migrations...", + "abort": "refuses", + "abort_detail": "less-postgres | The files belonging to this database system will be owned by user \"postgres\".\n\u001b[2Kpaperless-postgres | This user must also own the server process.\n\u001b[2Kpaperless-postgres | \n\u001b[2Kpaperless-postgres | initdb: error: directory \"/var/lib/postgresql/data\" exists but is not empty\n\u001b[2Kpaperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory \"/var/lib/postgresql/data\" or run initdb with an argument other than \"/var/lib/postgresql/data\".\n\u001b[2Kpaperless-postgres | The database cluster will be initialized with locale \"en_US.utf8\".\n\u001b[2Kpaperless-postgres | The default database encoding has accordingly been set to \"UTF8\".\n\u001b[2Kpaperless-postgres | The default text search configuration will be set to \"english\".\n\u001b[2Kpaperless-postgres | \n\u001b[2Kpaperless-postgres | Data page checksums are disabled.\n\u001b[2Kpaperless-postgres |", + "engine_state_after": { + "paperless-postgres": { + "image": "postgres:18-alpine", + "probe": "datadir major version", + "answer": "18", + "probe_rc": 0 + } + }, + "memory": { + "soak_s": 606.9, + "requested_s": 600, + "requests": 11832, + "codes": { + "302": 11832 + }, + "first_kill": null, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "peak": 193302528, + "peak_pct": 0.72, + "anon_peak_sampled": 10256384, + "anon_peak_pct": 0.038, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "paperless-redis": { + "limit": 134217728, + "peak": 7303168, + "peak_pct": 0.054, + "anon_peak_sampled": 3137536, + "anon_peak_pct": 0.023, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "paperless-webserver": { + "limit": 1342177280, + "peak": 660705280, + "peak_pct": 0.492, + "anon_peak_sampled": 537432064, + "anon_peak_pct": 0.4, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [], + "load": "reached" + }, + "marks": [], + "duration_s": 31.5, + "measured_at": "2026-09-27T09:50:50Z", + "evidence": "evidence/MV-paperless-ngx", + "scratch_cleared": [], + "engine_conversion": { + "service": "paperless-postgres", + "engine": "postgres", + "from": 16, + "to": 18, + "dump_s": 0.63, + "dump_bytes": 246453, + "new_engine_ready_s": 6.4, + "load_s": 2.59, + "dropped": [ + "paperless" + ], + "skipped_create_role": [ + "CREATE ROLE paperless;" + ], + "result": "converted", + "check_equal": true, + "pg_version": "18", + "tables": 72, + "convert_s": 35.4 + }, + "files_changed": [], + "total_s": 1024.4 +} diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/abort-refusal.txt b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/abort-refusal.txt new file mode 100644 index 00000000..d25d91ae --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/abort-refusal.txt @@ -0,0 +1,74 @@ +paperless-redis | 1:C 27 Sep 2026 11:34:24.893 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +paperless-redis | 1:C 27 Sep 2026 11:34:24.894 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +paperless-redis | 1:C 27 Sep 2026 11:34:24.894 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +paperless-redis | 1:C 27 Sep 2026 11:34:24.894 * Configuration loaded +paperless-redis | 1:M 27 Sep 2026 11:34:24.894 * monotonic clock: POSIX clock_gettime +paperless-redis | 1:M 27 Sep 2026 11:34:24.896 * Running mode=standalone, port=6379. +paperless-redis | 1:M 27 Sep 2026 11:34:24.896 * Server initialized +paperless-redis | 1:M 27 Sep 2026 11:34:24.900 * Creating AOF base file appendonly.aof.1.base.rdb on server start +paperless-redis | 1:M 27 Sep 2026 11:34:24.905 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +paperless-redis | 1:M 27 Sep 2026 11:34:24.905 * Ready to accept connections tcp +paperless-redis | 1:signal-handler (1790501771) Received SIGTERM scheduling shutdown... +paperless-redis | 1:M 27 Sep 2026 11:36:11.595 * User requested shutdown... +paperless-redis | 1:M 27 Sep 2026 11:36:11.595 * Calling fsync() on the AOF file. +paperless-redis | 1:M 27 Sep 2026 11:36:11.597 * Saving the final RDB snapshot before exiting. +paperless-redis | 1:M 27 Sep 2026 11:36:11.609 * DB saved on disk +paperless-redis | 1:M 27 Sep 2026 11:36:11.609 # Redis is now ready to exit, bye bye... +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 * Configuration loaded +paperless-redis | 1:M 27 Sep 2026 11:36:39.937 * monotonic clock: POSIX clock_gettime +paperless-redis | 1:M 27 Sep 2026 11:36:39.938 * Running mode=standalone, port=6379. +paperless-redis | 1:M 27 Sep 2026 11:36:39.938 * Server initialized +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Reading RDB base file on AOF loading... +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Loading RDB produced by version 7.4.11 +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * RDB age 135 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * RDB memory usage when created 0.90 Mb +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * RDB is base AOF +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Done loading RDB, keys loaded: 0, keys expired: 0. +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * DB loaded from base file appendonly.aof.1.base.rdb: 0.000 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * DB loaded from incr file appendonly.aof.1.incr.aof: 0.000 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * DB loaded from append only file: 0.001 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Opening AOF incr file appendonly.aof.1.incr.aof on server start +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Ready to accept connections tcp +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/abort-states.json b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/abort-states.json new file mode 100644 index 00000000..74d52646 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/abort-states.json @@ -0,0 +1,20 @@ +{ + "paperless-postgres": { + "status": "restarting", + "health": "unhealthy", + "restarts": 0, + "exit": 1 + }, + "paperless-redis": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "paperless-webserver": { + "status": "created", + "health": null, + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/compose-final.log b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/compose-final.log new file mode 100644 index 00000000..f6737d65 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/compose-final.log @@ -0,0 +1,166 @@ +paperless-redis | 1:C 27 Sep 2026 11:34:24.893 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +paperless-redis | 1:C 27 Sep 2026 11:34:24.894 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +paperless-redis | 1:C 27 Sep 2026 11:34:24.894 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +paperless-redis | 1:C 27 Sep 2026 11:34:24.894 * Configuration loaded +paperless-redis | 1:M 27 Sep 2026 11:34:24.894 * monotonic clock: POSIX clock_gettime +paperless-redis | 1:M 27 Sep 2026 11:34:24.896 * Running mode=standalone, port=6379. +paperless-redis | 1:M 27 Sep 2026 11:34:24.896 * Server initialized +paperless-redis | 1:M 27 Sep 2026 11:34:24.900 * Creating AOF base file appendonly.aof.1.base.rdb on server start +paperless-redis | 1:M 27 Sep 2026 11:34:24.905 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +paperless-redis | 1:M 27 Sep 2026 11:34:24.905 * Ready to accept connections tcp +paperless-redis | 1:signal-handler (1790501771) Received SIGTERM scheduling shutdown... +paperless-redis | 1:M 27 Sep 2026 11:36:11.595 * User requested shutdown... +paperless-redis | 1:M 27 Sep 2026 11:36:11.595 * Calling fsync() on the AOF file. +paperless-redis | 1:M 27 Sep 2026 11:36:11.597 * Saving the final RDB snapshot before exiting. +paperless-redis | 1:M 27 Sep 2026 11:36:11.609 * DB saved on disk +paperless-redis | 1:M 27 Sep 2026 11:36:11.609 # Redis is now ready to exit, bye bye... +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 * Configuration loaded +paperless-redis | 1:M 27 Sep 2026 11:36:39.937 * monotonic clock: POSIX clock_gettime +paperless-redis | 1:M 27 Sep 2026 11:36:39.938 * Running mode=standalone, port=6379. +paperless-redis | 1:M 27 Sep 2026 11:36:39.938 * Server initialized +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Reading RDB base file on AOF loading... +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Loading RDB produced by version 7.4.11 +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * RDB age 135 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * RDB memory usage when created 0.90 Mb +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * RDB is base AOF +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Done loading RDB, keys loaded: 0, keys expired: 0. +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * DB loaded from base file appendonly.aof.1.base.rdb: 0.000 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * DB loaded from incr file appendonly.aof.1.incr.aof: 0.000 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * DB loaded from append only file: 0.001 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Opening AOF incr file appendonly.aof.1.incr.aof on server start +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Ready to accept connections tcp +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty +paperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-postgres | +paperless-postgres | Data page checksums are disabled. +paperless-postgres | diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-check-after.txt b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-check-after.txt new file mode 100644 index 00000000..acd5ac39 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-check-after.txt @@ -0,0 +1,76 @@ +db:paperless owner=paperless enc=UTF8 coll=en_US.utf8 +db:postgres owner=paperless enc=UTF8 coll=en_US.utf8 +ext:paperless:plpgsql +role:paperless super=true login=true pw=true +rows:paperless:public.account_emailaddress=0 +rows:paperless:public.account_emailconfirmation=0 +rows:paperless:public.auditlog_logentry=0 +rows:paperless:public.auth_group=0 +rows:paperless:public.auth_group_permissions=0 +rows:paperless:public.auth_permission=176 +rows:paperless:public.auth_user=4 +rows:paperless:public.auth_user_groups=0 +rows:paperless:public.auth_user_user_permissions=0 +rows:paperless:public.authtoken_token=0 +rows:paperless:public.django_admin_log=0 +rows:paperless:public.django_celery_results_chordcounter=0 +rows:paperless:public.django_celery_results_groupresult=0 +rows:paperless:public.django_celery_results_taskresult=0 +rows:paperless:public.django_content_type=44 +rows:paperless:public.django_migrations=216 +rows:paperless:public.django_session=0 +rows:paperless:public.documents_correspondent=0 +rows:paperless:public.documents_customfield=0 +rows:paperless:public.documents_customfieldinstance=0 +rows:paperless:public.documents_document=0 +rows:paperless:public.documents_document_tags=0 +rows:paperless:public.documents_documenttype=0 +rows:paperless:public.documents_note=0 +rows:paperless:public.documents_paperlesstask=0 +rows:paperless:public.documents_savedview=0 +rows:paperless:public.documents_savedviewfilterrule=0 +rows:paperless:public.documents_sharelink=0 +rows:paperless:public.documents_storagepath=0 +rows:paperless:public.documents_tag=0 +rows:paperless:public.documents_uisettings=0 +rows:paperless:public.documents_workflow=0 +rows:paperless:public.documents_workflow_actions=0 +rows:paperless:public.documents_workflow_triggers=0 +rows:paperless:public.documents_workflowaction=0 +rows:paperless:public.documents_workflowaction_assign_change_groups=0 +rows:paperless:public.documents_workflowaction_assign_change_users=0 +rows:paperless:public.documents_workflowaction_assign_custom_fields=0 +rows:paperless:public.documents_workflowaction_assign_tags=0 +rows:paperless:public.documents_workflowaction_assign_view_groups=0 +rows:paperless:public.documents_workflowaction_assign_view_users=0 +rows:paperless:public.documents_workflowaction_remove_change_groups=0 +rows:paperless:public.documents_workflowaction_remove_change_users=0 +rows:paperless:public.documents_workflowaction_remove_correspondents=0 +rows:paperless:public.documents_workflowaction_remove_custom_fields=0 +rows:paperless:public.documents_workflowaction_remove_document_types=0 +rows:paperless:public.documents_workflowaction_remove_owners=0 +rows:paperless:public.documents_workflowaction_remove_storage_paths=0 +rows:paperless:public.documents_workflowaction_remove_tags=0 +rows:paperless:public.documents_workflowaction_remove_view_groups=0 +rows:paperless:public.documents_workflowaction_remove_view_users=0 +rows:paperless:public.documents_workflowactionemail=0 +rows:paperless:public.documents_workflowactionwebhook=0 +rows:paperless:public.documents_workflowrun=0 +rows:paperless:public.documents_workflowtrigger=0 +rows:paperless:public.documents_workflowtrigger_filter_has_all_tags=0 +rows:paperless:public.documents_workflowtrigger_filter_has_not_correspondents=0 +rows:paperless:public.documents_workflowtrigger_filter_has_not_document_types=0 +rows:paperless:public.documents_workflowtrigger_filter_has_not_storage_paths=0 +rows:paperless:public.documents_workflowtrigger_filter_has_not_tags=0 +rows:paperless:public.documents_workflowtrigger_filter_has_tags=0 +rows:paperless:public.guardian_groupobjectpermission=0 +rows:paperless:public.guardian_userobjectpermission=0 +rows:paperless:public.mfa_authenticator=0 +rows:paperless:public.paperless_applicationconfiguration=1 +rows:paperless:public.paperless_mail_mailaccount=0 +rows:paperless:public.paperless_mail_mailrule=0 +rows:paperless:public.paperless_mail_mailrule_assign_tags=0 +rows:paperless:public.paperless_mail_processedmail=0 +rows:paperless:public.socialaccount_socialaccount=0 +rows:paperless:public.socialaccount_socialapp=0 +rows:paperless:public.socialaccount_socialtoken=0 diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-check-before.txt b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-check-before.txt new file mode 100644 index 00000000..acd5ac39 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-check-before.txt @@ -0,0 +1,76 @@ +db:paperless owner=paperless enc=UTF8 coll=en_US.utf8 +db:postgres owner=paperless enc=UTF8 coll=en_US.utf8 +ext:paperless:plpgsql +role:paperless super=true login=true pw=true +rows:paperless:public.account_emailaddress=0 +rows:paperless:public.account_emailconfirmation=0 +rows:paperless:public.auditlog_logentry=0 +rows:paperless:public.auth_group=0 +rows:paperless:public.auth_group_permissions=0 +rows:paperless:public.auth_permission=176 +rows:paperless:public.auth_user=4 +rows:paperless:public.auth_user_groups=0 +rows:paperless:public.auth_user_user_permissions=0 +rows:paperless:public.authtoken_token=0 +rows:paperless:public.django_admin_log=0 +rows:paperless:public.django_celery_results_chordcounter=0 +rows:paperless:public.django_celery_results_groupresult=0 +rows:paperless:public.django_celery_results_taskresult=0 +rows:paperless:public.django_content_type=44 +rows:paperless:public.django_migrations=216 +rows:paperless:public.django_session=0 +rows:paperless:public.documents_correspondent=0 +rows:paperless:public.documents_customfield=0 +rows:paperless:public.documents_customfieldinstance=0 +rows:paperless:public.documents_document=0 +rows:paperless:public.documents_document_tags=0 +rows:paperless:public.documents_documenttype=0 +rows:paperless:public.documents_note=0 +rows:paperless:public.documents_paperlesstask=0 +rows:paperless:public.documents_savedview=0 +rows:paperless:public.documents_savedviewfilterrule=0 +rows:paperless:public.documents_sharelink=0 +rows:paperless:public.documents_storagepath=0 +rows:paperless:public.documents_tag=0 +rows:paperless:public.documents_uisettings=0 +rows:paperless:public.documents_workflow=0 +rows:paperless:public.documents_workflow_actions=0 +rows:paperless:public.documents_workflow_triggers=0 +rows:paperless:public.documents_workflowaction=0 +rows:paperless:public.documents_workflowaction_assign_change_groups=0 +rows:paperless:public.documents_workflowaction_assign_change_users=0 +rows:paperless:public.documents_workflowaction_assign_custom_fields=0 +rows:paperless:public.documents_workflowaction_assign_tags=0 +rows:paperless:public.documents_workflowaction_assign_view_groups=0 +rows:paperless:public.documents_workflowaction_assign_view_users=0 +rows:paperless:public.documents_workflowaction_remove_change_groups=0 +rows:paperless:public.documents_workflowaction_remove_change_users=0 +rows:paperless:public.documents_workflowaction_remove_correspondents=0 +rows:paperless:public.documents_workflowaction_remove_custom_fields=0 +rows:paperless:public.documents_workflowaction_remove_document_types=0 +rows:paperless:public.documents_workflowaction_remove_owners=0 +rows:paperless:public.documents_workflowaction_remove_storage_paths=0 +rows:paperless:public.documents_workflowaction_remove_tags=0 +rows:paperless:public.documents_workflowaction_remove_view_groups=0 +rows:paperless:public.documents_workflowaction_remove_view_users=0 +rows:paperless:public.documents_workflowactionemail=0 +rows:paperless:public.documents_workflowactionwebhook=0 +rows:paperless:public.documents_workflowrun=0 +rows:paperless:public.documents_workflowtrigger=0 +rows:paperless:public.documents_workflowtrigger_filter_has_all_tags=0 +rows:paperless:public.documents_workflowtrigger_filter_has_not_correspondents=0 +rows:paperless:public.documents_workflowtrigger_filter_has_not_document_types=0 +rows:paperless:public.documents_workflowtrigger_filter_has_not_storage_paths=0 +rows:paperless:public.documents_workflowtrigger_filter_has_not_tags=0 +rows:paperless:public.documents_workflowtrigger_filter_has_tags=0 +rows:paperless:public.guardian_groupobjectpermission=0 +rows:paperless:public.guardian_userobjectpermission=0 +rows:paperless:public.mfa_authenticator=0 +rows:paperless:public.paperless_applicationconfiguration=1 +rows:paperless:public.paperless_mail_mailaccount=0 +rows:paperless:public.paperless_mail_mailrule=0 +rows:paperless:public.paperless_mail_mailrule_assign_tags=0 +rows:paperless:public.paperless_mail_processedmail=0 +rows:paperless:public.socialaccount_socialaccount=0 +rows:paperless:public.socialaccount_socialapp=0 +rows:paperless:public.socialaccount_socialtoken=0 diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-load.err b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/convert-load.err new file mode 100644 index 00000000..e69de29b diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/engine-state.json b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/engine-state.json new file mode 100644 index 00000000..85bd6d8d --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/engine-state.json @@ -0,0 +1,8 @@ +{ + "paperless-postgres": { + "image": "postgres:18-alpine", + "probe": "datadir major version", + "answer": "18", + "probe_rc": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/files-after.json b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/files-after.json new file mode 100644 index 00000000..4be56307 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/files-after.json @@ -0,0 +1,5 @@ +{ + "/srv/felhom-gate/hdd/appdata/paperless/export": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "/srv/felhom-gate/hdd/appdata/paperless/media": "3d56384a871d4d286ff78c003cf877c8708bf525f82961a087edae6d911d4506", + "/srv/felhom-gate/import/paperless": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/files-before.json b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/files-before.json new file mode 100644 index 00000000..4be56307 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/files-before.json @@ -0,0 +1,5 @@ +{ + "/srv/felhom-gate/hdd/appdata/paperless/export": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "/srv/felhom-gate/hdd/appdata/paperless/media": "3d56384a871d4d286ff78c003cf877c8708bf525f82961a087edae6d911d4506", + "/srv/felhom-gate/import/paperless": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/memory-samples.json b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/memory-samples.json new file mode 100644 index 00000000..d8406966 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/memory-samples.json @@ -0,0 +1,1562 @@ +[ + { + "t": 15.2, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128012288, + "peak": 193302528, + "anon": 10018816, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4341760, + "peak": 6254592, + "anon": 3072000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 562012160, + "peak": 660705280, + "anon": 537346048, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 298 + }, + { + "t": 30.3, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128012288, + "peak": 193302528, + "anon": 10018816, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4079616, + "peak": 6254592, + "anon": 3072000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 562348032, + "peak": 660705280, + "anon": 537354240, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 594 + }, + { + "t": 45.5, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128233472, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4341760, + "peak": 6254592, + "anon": 3072000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 562241536, + "peak": 660705280, + "anon": 537415680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 888 + }, + { + "t": 60.7, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128421888, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4341760, + "peak": 6254592, + "anon": 3072000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 561836032, + "peak": 660705280, + "anon": 537432064, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1184 + }, + { + "t": 75.9, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128929792, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4341760, + "peak": 6254592, + "anon": 3072000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 561987584, + "peak": 660705280, + "anon": 537366528, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1480 + }, + { + "t": 91.0, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128548864, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4603904, + "peak": 6438912, + "anon": 3072000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 562110464, + "peak": 660705280, + "anon": 537411584, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1776 + }, + { + "t": 106.2, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128221184, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4079616, + "peak": 6930432, + "anon": 3072000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 562491392, + "peak": 660705280, + "anon": 537387008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2072 + }, + { + "t": 121.3, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128434176, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4079616, + "peak": 6930432, + "anon": 3072000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 561774592, + "peak": 660705280, + "anon": 537415680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2366 + }, + { + "t": 136.5, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128425984, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4075520, + "peak": 6930432, + "anon": 3072000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 562483200, + "peak": 660705280, + "anon": 537403392, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2662 + }, + { + "t": 151.6, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128618496, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 3895296, + "peak": 6930432, + "anon": 3133440, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 558977024, + "peak": 660705280, + "anon": 534142976, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2958 + }, + { + "t": 166.8, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128622592, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4157440, + "peak": 7036928, + "anon": 3133440, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 558862336, + "peak": 660705280, + "anon": 534237184, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3254 + }, + { + "t": 181.9, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128704512, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4153344, + "peak": 7036928, + "anon": 3133440, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559104000, + "peak": 660705280, + "anon": 534192128, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3550 + }, + { + "t": 197.1, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128704512, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4419584, + "peak": 7036928, + "anon": 3133440, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559632384, + "peak": 660705280, + "anon": 534446080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3843 + }, + { + "t": 212.3, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128802816, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4145152, + "peak": 7036928, + "anon": 3137536, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559337472, + "peak": 660705280, + "anon": 534441984, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4139 + }, + { + "t": 227.4, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128704512, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4161536, + "peak": 7036928, + "anon": 3137536, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559276032, + "peak": 660705280, + "anon": 534470656, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4434 + }, + { + "t": 242.6, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 128708608, + "peak": 193302528, + "anon": 10027008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4161536, + "peak": 7303168, + "anon": 3137536, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559177728, + "peak": 660705280, + "anon": 534466560, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4730 + }, + { + "t": 257.7, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 129912832, + "peak": 193302528, + "anon": 10108928, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4161536, + "peak": 7303168, + "anon": 3137536, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559407104, + "peak": 660705280, + "anon": 534585344, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5026 + }, + { + "t": 272.9, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 130879488, + "peak": 193302528, + "anon": 10113024, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4423680, + "peak": 7303168, + "anon": 3137536, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559632384, + "peak": 660705280, + "anon": 534597632, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5322 + }, + { + "t": 288.0, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 132255744, + "peak": 193302528, + "anon": 10117120, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4431872, + "peak": 7303168, + "anon": 3137536, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559448064, + "peak": 660705280, + "anon": 534618112, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5618 + }, + { + "t": 303.2, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 133124096, + "peak": 193302528, + "anon": 10129408, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4161536, + "peak": 7303168, + "anon": 3137536, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559562752, + "peak": 660705280, + "anon": 534667264, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5914 + }, + { + "t": 318.4, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 134291456, + "peak": 193302528, + "anon": 10133504, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 3887104, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 560115712, + "peak": 660705280, + "anon": 534712320, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6208 + }, + { + "t": 333.5, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 136105984, + "peak": 193302528, + "anon": 10149888, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4145152, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559509504, + "peak": 660705280, + "anon": 534671360, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6502 + }, + { + "t": 348.7, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137490432, + "peak": 193302528, + "anon": 10162176, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4149248, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559149056, + "peak": 660705280, + "anon": 534712320, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6798 + }, + { + "t": 363.8, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 138088448, + "peak": 193302528, + "anon": 10199040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4407296, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559681536, + "peak": 660705280, + "anon": 534691840, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7095 + }, + { + "t": 379.0, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 138072064, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4419584, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559616000, + "peak": 660705280, + "anon": 534691840, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7392 + }, + { + "t": 394.2, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4149248, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559435776, + "peak": 660705280, + "anon": 534753280, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7686 + }, + { + "t": 409.3, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137973760, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4411392, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559648768, + "peak": 660705280, + "anon": 534831104, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7982 + }, + { + "t": 424.5, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4411392, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559423488, + "peak": 660705280, + "anon": 534843392, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8278 + }, + { + "t": 439.7, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4214784, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559775744, + "peak": 660705280, + "anon": 534839296, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8576 + }, + { + "t": 454.9, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4149248, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559845376, + "peak": 660705280, + "anon": 534847488, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8874 + }, + { + "t": 470.1, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 138072064, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4673536, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559702016, + "peak": 660705280, + "anon": 534896640, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9168 + }, + { + "t": 485.2, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4411392, + "peak": 7303168, + "anon": 3125248, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559493120, + "peak": 660705280, + "anon": 534900736, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9464 + }, + { + "t": 500.4, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4149248, + "peak": 7303168, + "anon": 3121152, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559714304, + "peak": 660705280, + "anon": 534913024, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9760 + }, + { + "t": 515.6, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4657152, + "peak": 7303168, + "anon": 3121152, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 560009216, + "peak": 660705280, + "anon": 534908928, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10056 + }, + { + "t": 530.8, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 138276864, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4173824, + "peak": 7303168, + "anon": 3121152, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559378432, + "peak": 660705280, + "anon": 534929408, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10352 + }, + { + "t": 545.9, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4399104, + "peak": 7303168, + "anon": 3121152, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559755264, + "peak": 660705280, + "anon": 534937600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10648 + }, + { + "t": 561.1, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4149248, + "peak": 7303168, + "anon": 3121152, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559579136, + "peak": 660705280, + "anon": 534904832, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10944 + }, + { + "t": 576.3, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 3878912, + "peak": 7303168, + "anon": 3117056, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559767552, + "peak": 660705280, + "anon": 534908928, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11240 + }, + { + "t": 591.4, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137834496, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4132864, + "peak": 7303168, + "anon": 3108864, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 560013312, + "peak": 660705280, + "anon": 534896640, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11536 + }, + { + "t": 606.6, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "current": 137838592, + "peak": 193302528, + "anon": 10256384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-redis": { + "limit": 134217728, + "current": 4132864, + "peak": 7303168, + "anon": 3108864, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "paperless-webserver": { + "limit": 1342177280, + "current": 559587328, + "peak": 660705280, + "anon": 534945792, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11832 + } +] \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/migration-lines.txt b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/migration-lines.txt new file mode 100644 index 00000000..74a18807 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/migration-lines.txt @@ -0,0 +1,4 @@ +paperless-webserver | [init-migrations] Apply database migrations... +paperless-webserver | Apply all migrations: account, admin, auditlog, auth, authtoken, contenttypes, django_celery_results, documents, guardian, mfa, paperless, paperless_mail, sessions, socialaccount +paperless-webserver | Running migrations: +paperless-webserver | No migrations to apply. \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/run.log b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/run.log new file mode 100644 index 00000000..5100ba6a --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/run.log @@ -0,0 +1,61 @@ +[09:33:45] scratch drive folders cleared before FROM (R-656): none existed +[09:33:45] MV-paperless-ngx: deploying paperless-ngx at FROM {'paperless-webserver': 'ghcr.io/paperless-ngx/paperless-ngx:2.20.15', 'paperless-postgres': 'postgres:16-alpine', 'paperless-redis': 'redis:7-alpine'} +[09:35:37] FROM settled=True in 62.2s :: {"paperless-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "paperless-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "paperless-webserver": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[09:35:37] fixture: the BOX walk's own (Django), through upgrade_boxport +[09:35:45] paperless-webserver: createsuperuser :: Superuser created successfully. +[09:35:51] paperless-webserver: seeded superuser drill248892 +[09:36:03] paperless-webserver: readback of the seeded account found=True +[09:36:03] C1 (seed reads back BEFORE): True +[09:36:04] MV-paperless-ngx: PostgreSQL major move {'service': 'paperless-postgres', 'engine': 'postgres', 'from': 16, 'to': 18} — converting on the bench before the swap +[09:36:39] CONVERTED paperless-postgres PostgreSQL 16 -> 18 in 35.4s (dump 0.63s / 246453 B, load 2.59s, check equal over 72 tables) +[09:36:39] MV-paperless-ngx: swapping to TO {'paperless-webserver': 'ghcr.io/paperless-ngx/paperless-ngx:2.20.15', 'paperless-postgres': 'postgres:18-alpine', 'paperless-redis': 'redis:7-alpine'} +[09:36:50] TO up -d rc=0 +[09:37:22] TO settled=True in 31.5s :: {"paperless-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "paperless-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "paperless-webserver": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[09:37:22] engine state paperless-postgres: 18 +[09:37:22] migration lines observed: 4 +[09:37:33] paperless-webserver: readback of the seeded account found=True +[09:37:33] RESULT (seed reads back AFTER): True +[09:37:33] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:8000 +[09:37:48] + 15s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=5M kills=0 rs=0 paperless-webserver=535M/1280M peak=630M kills=0 rs=0 reqs=298 +[09:38:04] + 30s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=5M kills=0 rs=0 paperless-webserver=536M/1280M peak=630M kills=0 rs=0 reqs=594 +[09:38:19] + 46s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=5M kills=0 rs=0 paperless-webserver=536M/1280M peak=630M kills=0 rs=0 reqs=888 +[09:38:34] + 61s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=5M kills=0 rs=0 paperless-webserver=535M/1280M peak=630M kills=0 rs=0 reqs=1184 +[09:38:49] + 76s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=5M kills=0 rs=0 paperless-webserver=535M/1280M peak=630M kills=0 rs=0 reqs=1480 +[09:39:04] + 91s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=536M/1280M peak=630M kills=0 rs=0 reqs=1776 +[09:39:19] + 106s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=536M/1280M peak=630M kills=0 rs=0 reqs=2072 +[09:39:35] + 121s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=535M/1280M peak=630M kills=0 rs=0 reqs=2366 +[09:39:50] + 136s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=536M/1280M peak=630M kills=0 rs=0 reqs=2662 +[09:40:05] + 152s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=2958 +[09:40:20] + 167s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=532M/1280M peak=630M kills=0 rs=0 reqs=3254 +[09:40:35] + 182s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=3550 +[09:40:50] + 197s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=3843 +[09:41:06] + 212s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=4139 +[09:41:21] + 227s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=4434 +[09:41:36] + 243s paperless-postgres=122M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=4730 +[09:41:51] + 258s paperless-postgres=123M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=5026 +[09:42:06] + 273s paperless-postgres=124M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=5322 +[09:42:21] + 288s paperless-postgres=126M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=5618 +[09:42:36] + 303s paperless-postgres=126M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=5914 +[09:42:52] + 318s paperless-postgres=128M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=534M/1280M peak=630M kills=0 rs=0 reqs=6208 +[09:43:07] + 334s paperless-postgres=129M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=6502 +[09:43:22] + 349s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=6798 +[09:43:37] + 364s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=7095 +[09:43:52] + 379s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=7392 +[09:44:07] + 394s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=7686 +[09:44:23] + 409s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=7982 +[09:44:38] + 424s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=8278 +[09:44:53] + 440s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=8576 +[09:45:08] + 455s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=8874 +[09:45:23] + 470s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=9168 +[09:45:39] + 485s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=9464 +[09:45:54] + 500s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=9760 +[09:46:09] + 516s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=534M/1280M peak=630M kills=0 rs=0 reqs=10056 +[09:46:24] + 531s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=10352 +[09:46:39] + 546s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=4M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=10648 +[09:46:54] + 561s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=10944 +[09:47:10] + 576s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=11240 +[09:47:25] + 591s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=534M/1280M peak=630M kills=0 rs=0 reqs=11536 +[09:47:40] + 607s paperless-postgres=131M/256M peak=184M kills=0 rs=0 paperless-redis=3M/128M peak=6M kills=0 rs=0 paperless-webserver=533M/1280M peak=630M kills=0 rs=0 reqs=11832 +[09:47:40] memory watch: killed=False tight=[] requests=11832 codes={'302': 11832} +[09:47:40] MV-paperless-ngx: ABORT — putting the FROM images back +[09:50:50] ABORT: the app did NOT come back (rc=1, 180.5s) \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/to-full.log b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/to-full.log new file mode 100644 index 00000000..9eb10111 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/to-full.log @@ -0,0 +1,432 @@ +paperless-redis | 1:C 27 Sep 2026 11:34:24.893 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +paperless-redis | 1:C 27 Sep 2026 11:34:24.894 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +paperless-redis | 1:C 27 Sep 2026 11:34:24.894 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +paperless-redis | 1:C 27 Sep 2026 11:34:24.894 * Configuration loaded +paperless-redis | 1:M 27 Sep 2026 11:34:24.894 * monotonic clock: POSIX clock_gettime +paperless-redis | 1:M 27 Sep 2026 11:34:24.896 * Running mode=standalone, port=6379. +paperless-webserver | [init-start] paperless-ngx docker container starting... +paperless-webserver | [init-start] paperless-ngx docker container starting init as root +paperless-webserver | [env-init] Checking for environment from files +paperless-webserver | [env-init] No *_FILE environment found +paperless-webserver | [init-redis-wait] Waiting for Redis to report ready +paperless-webserver | [init-tesseract-langs] Checking if additional teseract languages needed +paperless-webserver | [init-db-wait] Waiting for PostgreSQL to start... +paperless-webserver | Installing languages... +paperless-webserver | [init-user] No UID changes for paperless +paperless-webserver | [init-user] No GID changes for paperless +paperless-webserver | [init-tesseract-langs] Package tesseract-ocr-eng already installed! +paperless-redis | 1:M 27 Sep 2026 11:34:24.896 * Server initialized +paperless-webserver | [init-folders] Running with root privileges, adjusting directories and permissions +paperless-webserver | mkdir: created directory '/tmp/paperless' +paperless-postgres | The files belonging to this database system will be owned by user "postgres". +paperless-postgres | This user must also own the server process. +paperless-postgres | +paperless-postgres | The database cluster will be initialized with locale "en_US.utf8". +paperless-postgres | The default database encoding has accordingly been set to "UTF8". +paperless-postgres | The default text search configuration will be set to "english". +paperless-webserver | [init-tesseract-langs] Package tesseract-ocr-deu already installed! +paperless-webserver | mkdir: created directory '/usr/src/paperless/data/index' +paperless-webserver | mkdir: created directory '/usr/src/paperless/media/documents' +paperless-postgres | +paperless-postgres | Data page checksums are enabled. +paperless-postgres | +paperless-webserver | mkdir: created directory '/usr/src/paperless/media/documents/originals' +paperless-webserver | mkdir: created directory '/usr/src/paperless/media/documents/thumbnails' +paperless-webserver | changed ownership of '/usr/src/paperless/export' from root:root to paperless:paperless +paperless-webserver | changed ownership of '/usr/src/paperless/data/index' from root:root to paperless:paperless +paperless-redis | 1:M 27 Sep 2026 11:34:24.900 * Creating AOF base file appendonly.aof.1.base.rdb on server start +paperless-redis | 1:M 27 Sep 2026 11:34:24.905 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +paperless-redis | 1:M 27 Sep 2026 11:34:24.905 * Ready to accept connections tcp +paperless-redis | 1:signal-handler (1790501771) Received SIGTERM scheduling shutdown... +paperless-redis | 1:M 27 Sep 2026 11:36:11.595 * User requested shutdown... +paperless-redis | 1:M 27 Sep 2026 11:36:11.595 * Calling fsync() on the AOF file. +paperless-redis | 1:M 27 Sep 2026 11:36:11.597 * Saving the final RDB snapshot before exiting. +paperless-redis | 1:M 27 Sep 2026 11:36:11.609 * DB saved on disk +paperless-redis | 1:M 27 Sep 2026 11:36:11.609 # Redis is now ready to exit, bye bye... +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +paperless-webserver | changed ownership of '/usr/src/paperless/media' from root:root to paperless:paperless +paperless-postgres | fixing permissions on existing directory /var/lib/postgresql/18/docker ... ok +paperless-webserver | changed ownership of '/usr/src/paperless/media/documents' from root:root to paperless:paperless +paperless-webserver | changed ownership of '/usr/src/paperless/media/documents/thumbnails' from root:root to paperless:paperless +paperless-webserver | changed ownership of '/usr/src/paperless/media/documents/originals' from root:root to paperless:paperless +paperless-webserver | changed ownership of '/usr/src/paperless/consume' from root:root to paperless:paperless +paperless-webserver | changed ownership of '/tmp/paperless' from root:root to paperless:paperless +paperless-webserver | paperless-postgres:5432 - accepting connections +paperless-webserver | [init-db-wait] Connected to PostgreSQL +paperless-webserver | [init-db-wait] Database is ready +paperless-webserver | [init-migrations] Apply database migrations... +paperless-webserver | Waiting for Redis... +paperless-webserver | Connected to Redis broker. +paperless-webserver | [init-redis-wait] Redis ready +paperless-webserver | Operations to perform: +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +paperless-postgres | creating subdirectories ... ok +paperless-redis | 1:C 27 Sep 2026 11:36:39.936 * Configuration loaded +paperless-redis | 1:M 27 Sep 2026 11:36:39.937 * monotonic clock: POSIX clock_gettime +paperless-redis | 1:M 27 Sep 2026 11:36:39.938 * Running mode=standalone, port=6379. +paperless-redis | 1:M 27 Sep 2026 11:36:39.938 * Server initialized +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Reading RDB base file on AOF loading... +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Loading RDB produced by version 7.4.11 +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * RDB age 135 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * RDB memory usage when created 0.90 Mb +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * RDB is base AOF +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Done loading RDB, keys loaded: 0, keys expired: 0. +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * DB loaded from base file appendonly.aof.1.base.rdb: 0.000 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * DB loaded from incr file appendonly.aof.1.incr.aof: 0.000 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * DB loaded from append only file: 0.001 seconds +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Opening AOF incr file appendonly.aof.1.incr.aof on server start +paperless-redis | 1:M 27 Sep 2026 11:36:39.939 * Ready to accept connections tcp +paperless-webserver | Apply all migrations: account, admin, auditlog, auth, authtoken, contenttypes, django_celery_results, documents, guardian, mfa, paperless, paperless_mail, sessions, socialaccount +paperless-webserver | Running migrations: +paperless-webserver | Applying contenttypes.0001_initial... OK +paperless-webserver | Applying auth.0001_initial... OK +paperless-webserver | Applying account.0001_initial... OK +paperless-webserver | Applying account.0002_email_max_length... OK +paperless-webserver | Applying account.0003_alter_emailaddress_create_unique_verified_email... OK +paperless-postgres | selecting dynamic shared memory implementation ... posix +paperless-postgres | selecting default "max_connections" ... 100 +paperless-postgres | selecting default "shared_buffers" ... 128MB +paperless-postgres | selecting default time zone ... Europe/Budapest +paperless-postgres | creating configuration files ... ok +paperless-postgres | running bootstrap script ... ok +paperless-postgres | sh: locale: not found +paperless-postgres | 2026-09-27 11:36:29.987 CEST [46] WARNING: no usable system locales were found +paperless-postgres | performing post-bootstrap initialization ... ok +paperless-postgres | syncing data to disk ... ok +paperless-postgres | +paperless-postgres | +paperless-postgres | Success. You can now start the database server using: +paperless-postgres | +paperless-postgres | pg_ctl -D /var/lib/postgresql/18/docker -l logfile start +paperless-postgres | +paperless-postgres | initdb: warning: enabling "trust" authentication for local connections +paperless-postgres | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. +paperless-postgres | waiting for server to start....2026-09-27 11:36:33.552 CEST [58] LOG: starting PostgreSQL 18.6 on x86_64-pc-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit +paperless-postgres | 2026-09-27 11:36:33.555 CEST [58] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" +paperless-postgres | 2026-09-27 11:36:33.570 CEST [64] LOG: database system was shut down at 2026-09-27 11:36:33 CEST +paperless-postgres | 2026-09-27 11:36:33.577 CEST [58] LOG: database system is ready to accept connections +paperless-postgres | done +paperless-postgres | server started +paperless-postgres | CREATE DATABASE +paperless-postgres | +paperless-postgres | +paperless-postgres | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/* +paperless-postgres | +paperless-postgres | waiting for server to shut down....2026-09-27 11:36:34.209 CEST [58] LOG: received fast shutdown request +paperless-postgres | 2026-09-27 11:36:34.213 CEST [58] LOG: aborting any active transactions +paperless-postgres | 2026-09-27 11:36:34.216 CEST [58] LOG: background worker "logical replication launcher" (PID 67) exited with exit code 1 +paperless-postgres | 2026-09-27 11:36:34.221 CEST [62] LOG: shutting down +paperless-postgres | 2026-09-27 11:36:34.224 CEST [62] LOG: checkpoint starting: shutdown immediate +paperless-postgres | 2026-09-27 11:36:34.330 CEST [62] LOG: checkpoint complete: wrote 943 buffers (5.8%), wrote 3 SLRU buffers; 0 WAL file(s) added, 0 removed, 0 recycled; write=0.029 s, sync=0.060 s, total=0.110 s; sync files=303, longest=0.020 s, average=0.001 s; distance=4362 kB, estimate=4362 kB; lsn=0/1BA8868, redo lsn=0/1BA8868 +paperless-postgres | 2026-09-27 11:36:34.356 CEST [58] LOG: database system is shut down +paperless-postgres | done +paperless-postgres | server stopped +paperless-postgres | +paperless-postgres | PostgreSQL init process complete; ready for start up. +paperless-postgres | +paperless-postgres | 2026-09-27 11:36:34.450 CEST [1] LOG: starting PostgreSQL 18.6 on x86_64-pc-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit +paperless-postgres | 2026-09-27 11:36:34.450 CEST [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 +paperless-postgres | 2026-09-27 11:36:34.450 CEST [1] LOG: listening on IPv6 address "::", port 5432 +paperless-postgres | 2026-09-27 11:36:34.456 CEST [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" +paperless-postgres | 2026-09-27 11:36:34.468 CEST [86] LOG: database system was shut down at 2026-09-27 11:36:34 CEST +paperless-postgres | 2026-09-27 11:36:34.475 CEST [1] LOG: database system is ready to accept connections +paperless-postgres | 2026-09-27 11:36:36.185 CEST [84] LOG: checkpoint starting: immediate force wait +paperless-postgres | 2026-09-27 11:36:36.214 CEST [84] LOG: checkpoint complete: wrote 1 buffers (0.0%), wrote 3 SLRU buffers; 0 WAL file(s) added, 0 removed, 0 recycled; write=0.008 s, sync=0.006 s, total=0.029 s; sync files=3, longest=0.003 s, average=0.002 s; distance=1 kB, estimate=1 kB; lsn=0/1BA8D70, redo lsn=0/1BA8D18 +paperless-webserver | Applying account.0004_alter_emailaddress_drop_unique_email... OK +paperless-webserver | Applying account.0005_emailaddress_idx_upper_email... OK +paperless-webserver | Applying account.0006_emailaddress_lower... OK +paperless-webserver | Applying account.0007_emailaddress_idx_email... OK +paperless-webserver | Applying account.0008_emailaddress_unique_primary_email_fixup... OK +paperless-webserver | Applying account.0009_emailaddress_unique_primary_email... OK +paperless-webserver | Applying admin.0001_initial... OK +paperless-webserver | Applying admin.0002_logentry_remove_auto_add... OK +paperless-webserver | Applying admin.0003_logentry_add_action_flag_choices... OK +paperless-webserver | Applying auditlog.0001_initial... OK +paperless-webserver | Applying auditlog.0002_auto_support_long_primary_keys... OK +paperless-webserver | Applying auditlog.0003_logentry_remote_addr... OK +paperless-webserver | Applying auditlog.0004_logentry_detailed_object_repr... OK +paperless-webserver | Applying auditlog.0005_logentry_additional_data_verbose_name... OK +paperless-webserver | Applying auditlog.0006_object_pk_index... OK +paperless-webserver | Applying auditlog.0007_object_pk_type... OK +paperless-webserver | Applying auditlog.0008_action_index... OK +paperless-webserver | Applying auditlog.0009_alter_logentry_additional_data... OK +paperless-webserver | Applying auditlog.0010_alter_logentry_timestamp... OK +paperless-webserver | Applying auditlog.0011_logentry_serialized_data... OK +paperless-webserver | Applying auditlog.0012_add_logentry_action_access... OK +paperless-webserver | Applying auditlog.0013_alter_logentry_timestamp... OK +paperless-webserver | Applying auditlog.0014_logentry_cid... OK +paperless-webserver | Applying auditlog.0015_alter_logentry_changes... OK +paperless-webserver | Applying auditlog.0016_logentry_remote_port... OK +paperless-webserver | Applying auditlog.0017_add_actor_email... OK +paperless-webserver | Applying contenttypes.0002_remove_content_type_name... OK +paperless-webserver | Applying auth.0002_alter_permission_name_max_length... OK +paperless-webserver | Applying auth.0003_alter_user_email_max_length... OK +paperless-webserver | Applying auth.0004_alter_user_username_opts... OK +paperless-webserver | Applying auth.0005_alter_user_last_login_null... OK +paperless-webserver | Applying auth.0006_require_contenttypes_0002... OK +paperless-webserver | Applying auth.0007_alter_validators_add_error_messages... OK +paperless-webserver | Applying auth.0008_alter_user_username_max_length... OK +paperless-webserver | Applying auth.0009_alter_user_last_name_max_length... OK +paperless-webserver | Applying auth.0010_alter_group_name_max_length... OK +paperless-webserver | Applying auth.0011_update_proxy_permissions... OK +paperless-webserver | Applying auth.0012_alter_user_first_name_max_length... OK +paperless-webserver | Applying authtoken.0001_initial... OK +paperless-webserver | Applying authtoken.0002_auto_20160226_1747... OK +paperless-webserver | Applying authtoken.0003_tokenproxy... OK +paperless-webserver | Applying authtoken.0004_alter_tokenproxy_options... OK +paperless-webserver | Applying django_celery_results.0001_initial... OK +paperless-webserver | Applying django_celery_results.0002_add_task_name_args_kwargs... OK +paperless-webserver | Applying django_celery_results.0003_auto_20181106_1101... OK +paperless-webserver | Applying django_celery_results.0004_auto_20190516_0412... OK +paperless-webserver | Applying django_celery_results.0005_taskresult_worker... OK +paperless-webserver | Applying django_celery_results.0006_taskresult_date_created... OK +paperless-webserver | Applying django_celery_results.0007_remove_taskresult_hidden... OK +paperless-webserver | Applying django_celery_results.0008_chordcounter... OK +paperless-webserver | Applying django_celery_results.0009_groupresult... OK +paperless-webserver | Applying django_celery_results.0010_remove_duplicate_indices... OK +paperless-webserver | Applying django_celery_results.0011_taskresult_periodic_task_name... OK +paperless-webserver | Applying django_celery_results.0012_taskresult_date_started... OK +paperless-webserver | Applying django_celery_results.0013_taskresult_django_cele_periodi_1993cf_idx... OK +paperless-webserver | Applying django_celery_results.0014_alter_taskresult_status... OK +paperless-webserver | Applying documents.0001_initial... OK +paperless-webserver | Applying documents.0002_auto_20151226_1316... OK +paperless-webserver | Applying documents.0003_sender... OK +paperless-webserver | Applying documents.0004_auto_20160114_1844_squashed_0011_auto_20160303_1929... OK +paperless-webserver | Applying documents.0012_auto_20160305_0040...[init-tesseract-langs] Installing package tesseract-ocr-hun... +paperless-webserver | OK +paperless-webserver | Applying documents.0013_auto_20160325_2111... OK +paperless-webserver | Applying documents.0014_document_checksum... OK +paperless-webserver | Applying documents.0015_add_insensitive_to_match_squashed_0018_auto_20170715_1712... OK +paperless-webserver | Applying documents.0019_add_consumer_user... OK +paperless-webserver | Applying documents.0020_document_added... OK +paperless-webserver | Applying documents.0021_document_storage_type... OK +paperless-webserver | Applying documents.0022_auto_20181007_1420... OK +paperless-webserver | Applying documents.0023_document_current_filename... OK +paperless-webserver | Applying documents.1000_update_paperless_all... OK +paperless-webserver | Applying documents.1001_auto_20201109_1636... OK +paperless-webserver | Applying documents.1002_auto_20201111_1105... OK +paperless-webserver | Applying documents.1003_mime_types... OK +paperless-webserver | Applying documents.1004_sanity_check_schedule... OK +paperless-webserver | Applying documents.1005_checksums... OK +paperless-webserver | Applying documents.1006_auto_20201208_2209_squashed_1011_auto_20210101_2340... OK +paperless-webserver | Applying paperless_mail.0001_initial_squashed_0009_mailrule_assign_tags... OK +paperless-webserver | Applying paperless_mail.0010_auto_20220311_1602... OK +paperless-webserver | Applying paperless_mail.0011_remove_mailrule_assign_tag_squashed_0024_alter_mailrule_name_and_more... OK +paperless-webserver | Applying documents.1012_fix_archive_files... OK +paperless-webserver | Applying documents.1013_migrate_tag_colour... OK +paperless-webserver | Applying documents.1014_auto_20210228_1614... OK +paperless-webserver | Applying documents.1015_remove_null_characters... OK +paperless-webserver | Applying documents.1016_auto_20210317_1351_squashed_1020_merge_20220518_1839... OK +paperless-webserver | Applying documents.1021_webp_thumbnail_conversion... OK +paperless-webserver | Applying documents.1022_paperlesstask_squashed_1036_alter_savedviewfilterrule_rule_type... OK +paperless-webserver | Applying documents.1037_webp_encrypted_thumbnail_conversion...[init-tesseract-langs] Installed tesseract-ocr-hun +paperless-webserver | [init-tesseract-langs] Additional packages installed +paperless-webserver | OK +paperless-webserver | Applying documents.1038_sharelink... OK +paperless-webserver | Applying documents.1039_consumptiontemplate... OK +paperless-webserver | Applying documents.1040_customfield_customfieldinstance_and_more... OK +paperless-webserver | Applying documents.1041_alter_consumptiontemplate_sources... OK +paperless-webserver | Applying documents.1042_consumptiontemplate_assign_custom_fields_and_more... OK +paperless-webserver | Applying documents.1043_alter_savedviewfilterrule_rule_type... OK +paperless-webserver | Applying documents.1044_workflow_workflowaction_workflowtrigger_and_more... OK +paperless-webserver | Applying documents.1045_alter_customfieldinstance_value_monetary_squashed_1049_document_deleted_at_document_restored_at... OK +paperless-webserver | Applying documents.1050_customfield_extra_data_and_more... OK +paperless-webserver | Applying documents.1051_alter_correspondent_owner_alter_document_owner_and_more... OK +paperless-webserver | Applying documents.1052_document_transaction_id... OK +paperless-webserver | Applying documents.1053_document_page_count... OK +paperless-webserver | Applying documents.1054_customfieldinstance_value_monetary_amount_and_more... OK +paperless-webserver | Applying documents.1055_alter_storagepath_path... OK +paperless-webserver | Applying documents.1056_customfieldinstance_deleted_at_and_more... OK +paperless-webserver | Applying documents.1057_paperlesstask_owner... OK +paperless-webserver | Applying documents.1058_workflowtrigger_schedule_date_custom_field_and_more... OK +paperless-webserver | Applying documents.1059_workflowactionemail_workflowactionwebhook_and_more... OK +paperless-webserver | Applying documents.1060_alter_customfieldinstance_value_select... OK +paperless-webserver | Applying documents.1061_workflowactionwebhook_as_json... OK +paperless-webserver | Applying documents.1062_alter_savedviewfilterrule_rule_type... OK +paperless-webserver | Applying documents.1063_paperlesstask_type_alter_paperlesstask_task_name_and_more... OK +paperless-webserver | Applying documents.1064_delete_log... OK +paperless-webserver | Applying documents.1065_workflowaction_assign_custom_fields_values... OK +paperless-webserver | Applying documents.1066_alter_workflowtrigger_schedule_offset_days... OK +paperless-webserver | Applying documents.1067_alter_document_created... OK +paperless-webserver | Applying documents.1068_alter_document_created... OK +paperless-webserver | Applying documents.1069_workflowtrigger_filter_has_storage_path_and_more... OK +paperless-webserver | Applying documents.1070_customfieldinstance_value_long_text_and_more... OK +paperless-webserver | Applying documents.1071_tag_tn_ancestors_count_tag_tn_ancestors_pks_and_more... OK +paperless-webserver | Applying documents.1072_workflowtrigger_filter_custom_field_query_and_more... OK +paperless-webserver | Applying documents.1073_migrate_workflow_title_jinja... OK +paperless-webserver | Applying documents.1074_workflowrun_deleted_at_workflowrun_restored_at_and_more... OK +paperless-webserver | Applying documents.1075_workflowaction_order... OK +paperless-webserver | Applying guardian.0001_initial... OK +paperless-webserver | Applying guardian.0002_generic_permissions_index... OK +paperless-webserver | Applying guardian.0003_remove_groupobjectpermission_guardian_gr_content_ae6aec_idx_and_more... OK +paperless-webserver | Applying mfa.0001_initial... OK +paperless-webserver | Applying mfa.0002_authenticator_timestamps... OK +paperless-webserver | Applying mfa.0003_authenticator_type_uniq... OK +paperless-webserver | Applying paperless.0001_initial... OK +paperless-webserver | Applying paperless.0002_applicationconfiguration_app_logo_and_more... OK +paperless-webserver | Applying paperless.0003_alter_applicationconfiguration_max_image_pixels... OK +paperless-webserver | Applying paperless.0004_applicationconfiguration_barcode_asn_prefix_and_more... OK +paperless-webserver | Applying paperless_mail.0025_alter_mailaccount_owner_alter_mailrule_owner_and_more... OK +paperless-webserver | Applying paperless_mail.0026_mailrule_enabled... OK +paperless-webserver | Applying paperless_mail.0027_mailaccount_expiration_mailaccount_account_type_and_more... OK +paperless-webserver | Applying paperless_mail.0028_alter_mailaccount_password_and_more... OK +paperless-webserver | Applying paperless_mail.0029_mailrule_pdf_layout... OK +paperless-webserver | Applying sessions.0001_initial... OK +paperless-webserver | Applying socialaccount.0001_initial... OK +paperless-webserver | Applying socialaccount.0002_token_max_lengths... OK +paperless-webserver | Applying socialaccount.0003_extra_data_default_dict... OK +paperless-webserver | Applying socialaccount.0004_app_provider_id_settings... OK +paperless-webserver | Applying socialaccount.0005_socialtoken_nullable_app... OK +paperless-webserver | Applying socialaccount.0006_alter_socialaccount_extra_data... OK +paperless-webserver | [init-superuser] Creating superuser... +paperless-webserver | [init-index] No index version file found +paperless-webserver | [init-index] Search index out of date. Updating... +paperless-webserver | Created superuser "admin" with provided password. +paperless-webserver | [init-superuser] Superuser creation done +paperless-webserver | [init-checks] Running Django checks +paperless-webserver | System check identified no issues (0 silenced). +paperless-webserver | [custom-init] /custom-cont-init.d doesn't exist, nothing to do +paperless-webserver | [init-complete] paperless-ngx docker container init completed in 35 seconds +paperless-webserver | [init-complete] Starting services +paperless-webserver | [svc-flower] Checking if we should start flower... +paperless-webserver | [svc-flower] Not starting flower +paperless-webserver | [INFO] Starting granian (main PID: 267) +paperless-webserver | [INFO] Listening at: http://:::8000 +paperless-webserver | [INFO] Spawning worker-1 with PID: 290 +paperless-webserver | celery beat v5.5.3 (immunity) is starting. +paperless-webserver | [2026-09-27 11:35:17,211] [INFO] [paperless.management.consumer] Polling directory for changes: /usr/src/paperless/consume +paperless-webserver | [2026-09-27 11:35:17,413] [INFO] [paperless.asgi] [init] Paperless-ngx version: v2.20.15 +paperless-webserver | __ - ... __ - _ +paperless-webserver | LocalTime -> 2026-09-27 11:35:18 +paperless-webserver | Configuration -> +paperless-webserver | . broker -> redis://paperless-redis:6379// +paperless-webserver | . loader -> celery.loaders.app.AppLoader +paperless-webserver | . scheduler -> celery.beat.PersistentScheduler +paperless-webserver | . db -> /usr/src/paperless/data/celerybeat-schedule.db +paperless-webserver | . logfile -> [stderr]@%INFO +paperless-webserver | . maxinterval -> 5.00 minutes (300s) +paperless-webserver | [2026-09-27 11:35:18,163] [INFO] [celery.beat] beat: Starting... +paperless-webserver | +paperless-webserver | -------------- celery@3cca2aaddffe v5.5.3 (immunity) +paperless-webserver | --- ***** ----- +paperless-webserver | -- ******* ---- Linux-7.0.2-6-pve-x86_64-with-glibc2.41 2026-09-27 11:35:18 +paperless-webserver | - *** --- * --- +paperless-webserver | - ** ---------- [config] +paperless-webserver | - ** ---------- .> app: paperless:0x7337f6bde330 +paperless-webserver | - ** ---------- .> transport: redis://paperless-redis:6379// +paperless-webserver | - ** ---------- .> results: +paperless-webserver | - *** --- * --- .> concurrency: 1 (prefork) +paperless-webserver | -- ******* ---- .> task events: ON +paperless-webserver | --- ***** ----- +paperless-webserver | -------------- [queues] +paperless-webserver | .> celery exchange=celery(direct) key=celery +paperless-webserver | +paperless-webserver | +paperless-webserver | [tasks] +paperless-webserver | . documents.bulk_edit.delete +paperless-webserver | . documents.signals.handlers.process_cf_select_update +paperless-webserver | . documents.tasks.bulk_update_documents +paperless-webserver | . documents.tasks.check_scheduled_workflows +paperless-webserver | . documents.tasks.consume_file +paperless-webserver | . documents.tasks.empty_trash +paperless-webserver | . documents.tasks.index_optimize +paperless-webserver | . documents.tasks.sanity_check +paperless-webserver | . documents.tasks.train_classifier +paperless-webserver | . documents.tasks.update_document_content_maybe_archive_file +paperless-webserver | . documents.workflows.webhooks.send_webhook +paperless-webserver | . paperless_mail.mail.apply_mail_action +paperless-webserver | . paperless_mail.mail.error_callback +paperless-webserver | . paperless_mail.tasks.process_mail_accounts +paperless-webserver | +paperless-webserver | [2026-09-27 11:35:18,443] [INFO] [celery.worker.consumer.connection] Connected to redis://paperless-redis:6379// +paperless-webserver | [2026-09-27 11:35:18,464] [INFO] [celery.apps.worker] celery@3cca2aaddffe ready. +paperless-webserver | [INFO] Shutting down granian +paperless-webserver | +paperless-webserver | worker: Warm shutdown (MainProcess) +paperless-webserver | [init-start] paperless-ngx docker container starting... +paperless-webserver | [init-start] paperless-ngx docker container starting init as root +paperless-webserver | [env-init] Checking for environment from files +paperless-webserver | [env-init] No *_FILE environment found +paperless-webserver | [init-redis-wait] Waiting for Redis to report ready +paperless-webserver | [init-tesseract-langs] Checking if additional teseract languages needed +paperless-webserver | Installing languages... +paperless-webserver | [init-db-wait] Waiting for PostgreSQL to start... +paperless-webserver | [init-user] No UID changes for paperless +paperless-webserver | [init-user] No GID changes for paperless +paperless-webserver | [init-tesseract-langs] Package tesseract-ocr-eng already installed! +paperless-webserver | [init-folders] Running with root privileges, adjusting directories and permissions +paperless-webserver | [init-tesseract-langs] Package tesseract-ocr-hun already installed! +paperless-webserver | [init-tesseract-langs] Package tesseract-ocr-deu already installed! +paperless-webserver | [init-tesseract-langs] Additional packages installed +paperless-webserver | paperless-postgres:5432 - accepting connections +paperless-webserver | [init-db-wait] Connected to PostgreSQL +paperless-webserver | [init-db-wait] Database is ready +paperless-webserver | [init-migrations] Apply database migrations... +paperless-webserver | Waiting for Redis... +paperless-webserver | Connected to Redis broker. +paperless-webserver | [init-redis-wait] Redis ready +paperless-webserver | Operations to perform: +paperless-webserver | Apply all migrations: account, admin, auditlog, auth, authtoken, contenttypes, django_celery_results, documents, guardian, mfa, paperless, paperless_mail, sessions, socialaccount +paperless-webserver | Running migrations: +paperless-webserver | No migrations to apply. +paperless-webserver | [init-superuser] Creating superuser... +paperless-webserver | Did not create superuser, a user admin already exists +paperless-webserver | [init-superuser] Superuser creation done +paperless-webserver | [init-checks] Running Django checks +paperless-webserver | System check identified no issues (0 silenced). +paperless-webserver | [custom-init] /custom-cont-init.d doesn't exist, nothing to do +paperless-webserver | [init-complete] paperless-ngx docker container init completed in 20 seconds +paperless-webserver | [init-complete] Starting services +paperless-webserver | [svc-flower] Checking if we should start flower... +paperless-webserver | [svc-flower] Not starting flower +paperless-webserver | [INFO] Starting granian (main PID: 181) +paperless-webserver | [INFO] Listening at: http://:::8000 +paperless-webserver | [INFO] Spawning worker-1 with PID: 200 +paperless-webserver | celery beat v5.5.3 (immunity) is starting. +paperless-webserver | [2026-09-27 11:37:19,186] [INFO] [paperless.asgi] [init] Paperless-ngx version: v2.20.15 +paperless-webserver | [2026-09-27 11:37:19,918] [INFO] [paperless.management.consumer] Polling directory for changes: /usr/src/paperless/consume +paperless-webserver | __ - ... __ - _ +paperless-webserver | LocalTime -> 2026-09-27 11:37:20 +paperless-webserver | Configuration -> +paperless-webserver | . broker -> redis://paperless-redis:6379// +paperless-webserver | . loader -> celery.loaders.app.AppLoader +paperless-webserver | . scheduler -> celery.beat.PersistentScheduler +paperless-webserver | . db -> /usr/src/paperless/data/celerybeat-schedule.db +paperless-webserver | . logfile -> [stderr]@%INFO +paperless-webserver | . maxinterval -> 5.00 minutes (300s) +paperless-webserver | [2026-09-27 11:37:20,475] [INFO] [celery.beat] beat: Starting... +paperless-webserver | +paperless-webserver | -------------- celery@3cca2aaddffe v5.5.3 (immunity) +paperless-webserver | --- ***** ----- +paperless-webserver | -- ******* ---- Linux-7.0.2-6-pve-x86_64-with-glibc2.41 2026-09-27 11:37:20 +paperless-webserver | - *** --- * --- +paperless-webserver | - ** ---------- [config] +paperless-webserver | - ** ---------- .> app: paperless:0x7e717854f800 +paperless-webserver | - ** ---------- .> transport: redis://paperless-redis:6379// +paperless-webserver | - ** ---------- .> results: +paperless-webserver | - *** --- * --- .> concurrency: 1 (prefork) +paperless-webserver | -- ******* ---- .> task events: ON +paperless-webserver | --- ***** ----- +paperless-webserver | -------------- [queues] +paperless-webserver | .> celery exchange=celery(direct) key=celery +paperless-webserver | +paperless-webserver | +paperless-webserver | [tasks] +paperless-webserver | . documents.bulk_edit.delete +paperless-webserver | . documents.signals.handlers.process_cf_select_update +paperless-webserver | . documents.tasks.bulk_update_documents +paperless-webserver | . documents.tasks.check_scheduled_workflows +paperless-webserver | . documents.tasks.consume_file +paperless-webserver | . documents.tasks.empty_trash +paperless-webserver | . documents.tasks.index_optimize +paperless-webserver | . documents.tasks.sanity_check +paperless-webserver | . documents.tasks.train_classifier +paperless-webserver | . documents.tasks.update_document_content_maybe_archive_file +paperless-webserver | . documents.workflows.webhooks.send_webhook +paperless-webserver | . paperless_mail.mail.apply_mail_action +paperless-webserver | . paperless_mail.mail.error_callback +paperless-webserver | . paperless_mail.tasks.process_mail_accounts +paperless-webserver | +paperless-webserver | [2026-09-27 11:37:21,038] [INFO] [celery.worker.consumer.connection] Connected to redis://paperless-redis:6379// +paperless-webserver | [2026-09-27 11:37:21,060] [INFO] [celery.apps.worker] celery@3cca2aaddffe ready. diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/to-states.json b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/to-states.json new file mode 100644 index 00000000..1b6a5b79 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/to-states.json @@ -0,0 +1,20 @@ +{ + "paperless-postgres": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "paperless-redis": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "paperless-webserver": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/verdict.json b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/verdict.json new file mode 100644 index 00000000..f0f392a9 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/bench/evidence/MV-paperless-ngx/verdict.json @@ -0,0 +1,105 @@ +{ + "harness_version": 4, + "edge": "MV-paperless-ngx", + "app": "paperless-ngx", + "note": "night 2026-09-23 within-a-major move: paperless-postgres=postgres:18-alpine", + "from": { + "paperless-webserver": "ghcr.io/paperless-ngx/paperless-ngx:2.20.15", + "paperless-postgres": "postgres:16-alpine", + "paperless-redis": "redis:7-alpine" + }, + "to": { + "paperless-webserver": "ghcr.io/paperless-ngx/paperless-ngx:2.20.15", + "paperless-postgres": "postgres:18-alpine", + "paperless-redis": "redis:7-alpine" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kpaperless-webserver | [init-migrations] Apply database migrations...", + "abort": "refuses", + "abort_detail": "less-postgres | The files belonging to this database system will be owned by user \"postgres\".\n\u001b[2Kpaperless-postgres | This user must also own the server process.\n\u001b[2Kpaperless-postgres | \n\u001b[2Kpaperless-postgres | initdb: error: directory \"/var/lib/postgresql/data\" exists but is not empty\n\u001b[2Kpaperless-postgres | initdb: hint: If you want to create a new database system, either remove or empty the directory \"/var/lib/postgresql/data\" or run initdb with an argument other than \"/var/lib/postgresql/data\".\n\u001b[2Kpaperless-postgres | The database cluster will be initialized with locale \"en_US.utf8\".\n\u001b[2Kpaperless-postgres | The default database encoding has accordingly been set to \"UTF8\".\n\u001b[2Kpaperless-postgres | The default text search configuration will be set to \"english\".\n\u001b[2Kpaperless-postgres | \n\u001b[2Kpaperless-postgres | Data page checksums are disabled.\n\u001b[2Kpaperless-postgres |", + "engine_state_after": { + "paperless-postgres": { + "image": "postgres:18-alpine", + "probe": "datadir major version", + "answer": "18", + "probe_rc": 0 + } + }, + "memory": { + "soak_s": 606.9, + "requested_s": 600, + "requests": 11832, + "codes": { + "302": 11832 + }, + "first_kill": null, + "containers": { + "paperless-postgres": { + "limit": 268435456, + "peak": 193302528, + "peak_pct": 0.72, + "anon_peak_sampled": 10256384, + "anon_peak_pct": 0.038, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "paperless-redis": { + "limit": 134217728, + "peak": 7303168, + "peak_pct": 0.054, + "anon_peak_sampled": 3137536, + "anon_peak_pct": 0.023, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "paperless-webserver": { + "limit": 1342177280, + "peak": 660705280, + "peak_pct": 0.492, + "anon_peak_sampled": 537432064, + "anon_peak_pct": 0.4, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [], + "load": "reached" + }, + "marks": [], + "duration_s": 31.5, + "measured_at": "2026-09-27T09:50:50Z", + "evidence": "evidence/MV-paperless-ngx", + "scratch_cleared": [], + "engine_conversion": { + "service": "paperless-postgres", + "engine": "postgres", + "from": 16, + "to": 18, + "dump_s": 0.63, + "dump_bytes": 246453, + "new_engine_ready_s": 6.4, + "load_s": 2.59, + "dropped": [ + "paperless" + ], + "skipped_create_role": [ + "CREATE ROLE paperless;" + ], + "result": "converted", + "check_equal": true, + "pg_version": "18", + "tables": 72, + "convert_s": 35.4 + }, + "files_changed": [], + "total_s": 1024.4 +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/box-verdict-paperless-ngx.json b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/box-verdict-paperless-ngx.json new file mode 100644 index 00000000..3ec20960 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/box-verdict-paperless-ngx.json @@ -0,0 +1,29 @@ +{ + "app": "paperless-ngx", + "venue": "box 9202 (drill catalog, controller 0.275.0-rc1), the product's guarded Update", + "from": { + "paperless-postgres": "postgres:16-alpine", + "paperless-redis": "redis:7-alpine", + "paperless-webserver": "ghcr.io/paperless-ngx/paperless-ngx:2.20.15" + }, + "to": { + "paperless-postgres": "postgres:18-alpine", + "paperless-redis": "redis:7-alpine", + "paperless-webserver": "ghcr.io/paperless-ngx/paperless-ngx:2.20.15" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "engine_conversion": { + "service": "paperless-postgres", + "engine": "postgres", + "from": 16, + "to": 18, + "result": "converted", + "controller_line": "update paperless-ngx: CONVERTED 16 \u2192 18 in 10.607s \u2014 the check is equal (2 database(s), 72 table(s), 812 row(s)), PG_VERSION 18" + }, + "duration_s": 64.7, + "measured_at": "2026-09-27T09:44:10Z", + "evidence": "felhom.eu/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/move.txt" +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/move.txt b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/move.txt new file mode 100644 index 00000000..03d168d0 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/move.txt @@ -0,0 +1,43 @@ +before: pinned={'paperless-postgres': 'postgres:16-alpine', 'paperless-redis': 'redis:7-alpine', 'paperless-webserver': 'ghcr.io/paperless-ngx/paperless-ngx:2.20.15'} PG_VERSION=16 +drill: 48f45df DRILL paperless-ngx: paperless-postgres postgres:16-alpine -> postgres:18-alpine with the engine_conversion mark (box proof) + phase +0.0s safety-dump | err=None + phase +3.1s pulling | err=None + phase +4.1s copying | err=None + phase +12.3s converting | err=None + phase +22.6s starting | err=None + phase +33.9s verifying | err=None + phase +64.6s done | err=None + paperless-webserver: readback of the seeded account found=True +2026/09/27 09:44:11 update.go:536: [INFO] [stacks] update paperless-ngx: accepted — guarded update started +2026/09/27 09:44:11 update.go:1365: [INFO] [stacks] update paperless-ngx: phase checking +2026/09/27 09:44:11 update.go:786: [INFO] [stacks] update paperless-ngx: ladder — the last step (1 of 1) — the catalog's current definition +2026/09/27 09:44:11 update.go:800: [INFO] [stacks] update paperless-ngx: this step CONVERTS paperless-postgres PostgreSQL 16 → 18 (the ladder entry's mark); database volume paperless-ngx_paperless_postgres_data +2026/09/27 09:44:11 update.go:814: [INFO] [stacks] update paperless-ngx: precondition met — Tier 2 (second drive) copy from 2026-09-27T00:30:00Z (9h14m0s old, limit 24h0m0s) +2026/09/27 09:44:11 update.go:1365: [INFO] [stacks] update paperless-ngx: phase safety-dump +2026/09/27 09:44:12 update.go:846: [INFO] [stacks] update paperless-ngx: safety dump done (1 file(s)) [/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx/backups/primary/paperless-ngx/db-dumps/pre-restore-20260927T094411Z-paperless-ngx-postgres.sql] +2026/09/27 09:44:13 undo.go:287: [INFO] [stacks] update paperless-ngx: the undo copy will hold 3 named volume(s), 72.2 MiB +2026/09/27 09:44:13 pgconvert.go:340: [INFO] [stacks] update paperless-ngx: conversion space — database volume paperless-ngx_paperless_postgres_data is 67 MB; the dump needs up to 84 MB + the 2 GB floor; 27.7 GB free beside the stack dir +2026/09/27 09:44:13 update.go:1365: [INFO] [stacks] update paperless-ngx: phase pinning +2026/09/27 09:44:13 pin.go:373: [INFO] [stacks] update paperless-ngx: pin advanced to /opt/docker/felhom-controller/data/catalog-cache/templates/paperless-ngx/docker-compose.yml (paperless-postgres=postgres:18-alpine, paperless-redis=redis:7-alpine, paperless-webserver=ghcr.io/paperless-ngx/paperless-ngx:2.20.15) +2026/09/27 09:44:13 update.go:1365: [INFO] [stacks] update paperless-ngx: phase pulling +2026/09/27 09:44:15 update.go:1365: [INFO] [stacks] update paperless-ngx: phase copying +2026/09/27 09:44:21 update.go:1365: [INFO] [stacks] update paperless-ngx: phase copying +2026/09/27 09:44:22 undo.go:437: [INFO] [stacks] update paperless-ngx: copied paperless-ngx_paperless_data → paperless-ngx_paperless_data.pre-update-20260927T094421Z in 477ms +2026/09/27 09:44:22 update.go:1365: [INFO] [stacks] update paperless-ngx: phase copying +2026/09/27 09:44:23 undo.go:437: [INFO] [stacks] update paperless-ngx: copied paperless-ngx_paperless_postgres_data → paperless-ngx_paperless_postgres_data.pre-update-20260927T094421Z in 954ms +2026/09/27 09:44:23 update.go:1365: [INFO] [stacks] update paperless-ngx: phase copying +2026/09/27 09:44:23 undo.go:437: [INFO] [stacks] update paperless-ngx: copied paperless-ngx_paperless_redis_data → paperless-ngx_paperless_redis_data.pre-update-20260927T094421Z in 454ms +2026/09/27 09:44:23 update.go:1365: [INFO] [stacks] update paperless-ngx: phase converting +2026/09/27 09:44:23 pgconvert.go:423: [INFO] [stacks] update paperless-ngx: CONVERTING paperless-postgres PostgreSQL 16 → 18 (volume paperless-ngx_paperless_postgres_data, kept copy paperless-ngx_paperless_postgres_data.pre-update-20260927T094421Z) +2026/09/27 09:44:27 pgconvert.go:468: [INFO] [stacks] update paperless-ngx: pg_dumpall from 16 done in 609ms — 335 kB, completion line present; before: 2 database(s), 72 table(s), 812 row(s) +2026/09/27 09:44:28 update.go:1365: [INFO] [stacks] update paperless-ngx: phase converting +2026/09/27 09:44:28 pgconvert.go:484: [INFO] [stacks] update paperless-ngx: database volume paperless-ngx_paperless_postgres_data emptied (its copy paperless-ngx_paperless_postgres_data.pre-update-20260927T094421Z holds the old datadir, marker checked twice) +2026/09/27 09:44:33 pgconvert.go:513: [INFO] [stacks] update paperless-ngx: loaded into 18 in 2.318s (dropped the entrypoint's empty database(s) [paperless]; skipped CREATE ROLE for [paperless]) +2026/09/27 09:44:34 pgconvert.go:529: [INFO] [stacks] update paperless-ngx: CONVERTED 16 → 18 in 10.607s — the check is equal (2 database(s), 72 table(s), 812 row(s)), PG_VERSION 18 +2026/09/27 09:44:34 update.go:1365: [INFO] [stacks] update paperless-ngx: phase starting +2026/09/27 09:44:45 update.go:1365: [INFO] [stacks] update paperless-ngx: phase verifying +2026/09/27 09:45:15 update.go:997: [INFO] [stacks] update paperless-ngx: healthy after 30s (the app's health check passed) +2026/09/27 09:45:15 update.go:1015: [INFO] [stacks] update paperless-ngx: KEEPING the pre-conversion datadir copy paperless-ngx_paperless_postgres_data.pre-update-20260927T094421Z (PostgreSQL 16) until a backup of the converted app is proven +2026/09/27 09:45:15 update.go:1033: [INFO] [stacks] update paperless-ngx: DONE in 1m4s + +RESULT final_phase=done PG_VERSION=18 seed_after=True verdict=proven diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/prep.txt b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/prep.txt new file mode 100644 index 00000000..0cffc9a4 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/paperless-ngx/box/prep.txt @@ -0,0 +1,5 @@ +deploy/reuse paperless-ngx: True + paperless-webserver: createsuperuser :: Superuser created successfully. + paperless-webserver: seeded superuser drill411bd8 + paperless-webserver: readback of the seeded account found=True +C1 seed reads back BEFORE: True diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/MV-tandoor.log b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/MV-tandoor.log new file mode 100644 index 00000000..f9f12273 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/MV-tandoor.log @@ -0,0 +1,153 @@ +[09:50:59] scratch drive folders cleared before FROM (R-656): none existed +[09:50:59] MV-tandoor: deploying tandoor at FROM {'tandoor': 'ghcr.io/tandoorrecipes/recipes:2.6.15', 'tandoor-postgres': 'postgres:16-alpine'} +[09:52:53] FROM settled=True in 61.9s :: {"tandoor": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "tandoor-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[09:52:53] fixture: the BOX walk's own (Django), through upgrade_boxport +[09:53:03] tandoor: createsuperuser :: Running django-vite in production mode (no HMR) Superuser created successfully. +[09:53:04] tandoor: seeded superuser drill2e9797 +[09:53:07] tandoor: readback of the seeded account found=True +[09:53:07] C1 (seed reads back BEFORE): True +[09:53:07] MV-tandoor: PostgreSQL major move {'service': 'tandoor-postgres', 'engine': 'postgres', 'from': 16, 'to': 17} — converting on the bench before the swap +[09:53:31] CONVERTED tandoor-postgres PostgreSQL 16 -> 17 in 23.6s (dump 0.71s / 338574 B, load 3.04s, check equal over 100 tables) +[09:53:31] MV-tandoor: swapping to TO {'tandoor': 'ghcr.io/tandoorrecipes/recipes:2.6.15', 'tandoor-postgres': 'postgres:17-alpine'} +[09:53:35] TO up -d rc=0 +[09:54:06] TO settled=True in 31.0s :: {"tandoor": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "tandoor-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[09:54:06] engine state tandoor-postgres: 17 +[09:54:07] migration lines observed: 4 +[09:54:09] tandoor: readback of the seeded account found=True +[09:54:09] RESULT (seed reads back AFTER): True +[09:54:10] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:80 +[09:54:25] + 15s tandoor=951M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=158M/256M peak=183M kills=0 rs=0 reqs=295 +[09:54:40] + 30s tandoor=951M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=591 +[09:54:55] + 45s tandoor=952M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=887 +[09:55:10] + 60s tandoor=952M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=1182 +[09:55:25] + 76s tandoor=952M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=1478 +[09:55:40] + 91s tandoor=952M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=158M/256M peak=183M kills=0 rs=0 reqs=1773 +[09:55:56] + 106s tandoor=952M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=2068 +[09:56:11] + 121s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=158M/256M peak=183M kills=0 rs=0 reqs=2363 +[09:56:26] + 136s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=2656 +[09:56:41] + 151s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=2952 +[09:56:56] + 166s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=3248 +[09:57:11] + 182s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=3544 +[09:57:26] + 197s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=3840 +[09:57:42] + 212s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=158M/256M peak=183M kills=0 rs=0 reqs=4136 +[09:57:57] + 227s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=158M/256M peak=183M kills=0 rs=0 reqs=4428 +[09:58:12] + 242s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=4724 +[09:58:27] + 257s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=5020 +[09:58:42] + 272s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=159M/256M peak=183M kills=0 rs=0 reqs=5316 +[09:58:57] + 288s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=160M/256M peak=183M kills=0 rs=0 reqs=5612 +[09:59:12] + 303s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=161M/256M peak=183M kills=0 rs=0 reqs=5908 +[09:59:27] + 318s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=161M/256M peak=183M kills=0 rs=0 reqs=6202 +[09:59:43] + 333s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=162M/256M peak=183M kills=0 rs=0 reqs=6497 +[09:59:58] + 348s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=163M/256M peak=183M kills=0 rs=0 reqs=6793 +[10:00:13] + 363s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=7089 +[10:00:28] + 378s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=7385 +[10:00:43] + 394s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=166M/256M peak=183M kills=0 rs=0 reqs=7681 +[10:00:58] + 409s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=7975 +[10:01:13] + 424s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=8270 +[10:01:29] + 439s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=166M/256M peak=183M kills=0 rs=0 reqs=8566 +[10:01:44] + 454s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=8862 +[10:01:59] + 469s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=9158 +[10:02:14] + 484s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=166M/256M peak=183M kills=0 rs=0 reqs=9454 +[10:02:29] + 499s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=9750 +[10:02:44] + 514s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=10046 +[10:02:59] + 530s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=166M/256M peak=183M kills=0 rs=0 reqs=10342 +[10:03:14] + 545s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=10636 +[10:03:30] + 560s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=10930 +[10:03:45] + 575s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=11226 +[10:04:00] + 590s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=11522 +[10:04:15] + 605s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=11818 +[10:04:15] memory watch: killed=False tight=[] requests=11818 codes={'302': 11818} +[10:04:15] MV-tandoor: ABORT — putting the FROM images back +[10:07:25] ABORT: the app did NOT come back (rc=1, 184.7s) +{ + "harness_version": 4, + "edge": "MV-tandoor", + "app": "tandoor", + "note": "night 2026-09-23 within-a-major move: tandoor-postgres=postgres:17-alpine", + "from": { + "tandoor": "ghcr.io/tandoorrecipes/recipes:2.6.15", + "tandoor-postgres": "postgres:16-alpine" + }, + "to": { + "tandoor": "ghcr.io/tandoorrecipes/recipes:2.6.15", + "tandoor-postgres": "postgres:17-alpine" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Ktandoor | Migrating database", + "abort": "refuses", + "abort_detail": "rsion 16.15.\n\u001b[2Ktandoor-postgres | \n\u001b[2Ktandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization\n\u001b[2Ktandoor-postgres | \n\u001b[2Ktandoor-postgres | 2026-09-27 12:06:04.351 CEST [1] FATAL: database files are incompatible with server\n\u001b[2Ktandoor-postgres | 2026-09-27 12:06:04.351 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15.\n\u001b[2Ktandoor-postgres | \n\u001b[2Ktandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization\n\u001b[2Ktandoor-postgres | \n\u001b[2Ktandoor-postgres | 2026-09-27 12:07:04.677 CEST [1] FATAL: database files are incompatible with server\n\u001b[2Ktandoor-postgres | 2026-09-27 12:07:04.677 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15.", + "engine_state_after": { + "tandoor-postgres": { + "image": "postgres:17-alpine", + "probe": "datadir major version", + "answer": "17", + "probe_rc": 0 + } + }, + "memory": { + "soak_s": 605.6, + "requested_s": 600, + "requests": 11818, + "codes": { + "302": 11818 + }, + "first_kill": null, + "containers": { + "tandoor": { + "limit": 1073741824, + "peak": 1049731072, + "peak_pct": 0.978, + "anon_peak_sampled": 845176832, + "anon_peak_pct": 0.787, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "tandoor-postgres": { + "limit": 268435456, + "peak": 192729088, + "peak_pct": 0.718, + "anon_peak_sampled": 13815808, + "anon_peak_pct": 0.051, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [], + "load": "reached" + }, + "marks": [], + "duration_s": 31.0, + "measured_at": "2026-09-27T10:07:25Z", + "evidence": "evidence/MV-tandoor", + "scratch_cleared": [], + "engine_conversion": { + "service": "tandoor-postgres", + "engine": "postgres", + "from": 16, + "to": 17, + "dump_s": 0.71, + "dump_bytes": 338574, + "new_engine_ready_s": 2.2, + "load_s": 3.04, + "dropped": [ + "tandoor" + ], + "skipped_create_role": [ + "CREATE ROLE tandoor;" + ], + "result": "converted", + "check_equal": true, + "pg_version": "17", + "tables": 100, + "convert_s": 23.6 + }, + "files_changed": [], + "total_s": 985.7 +} diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/abort-refusal.txt b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/abort-refusal.txt new file mode 100644 index 00000000..93fc745b --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/abort-refusal.txt @@ -0,0 +1,40 @@ +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:21.604 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:21.604 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:23.533 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:23.533 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:27.053 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:27.053 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:33.779 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:33.779 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:46.906 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:46.906 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:05:12.828 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:05:12.828 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:06:04.351 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:06:04.351 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:07:04.677 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:07:04.677 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/abort-states.json b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/abort-states.json new file mode 100644 index 00000000..26f2a32f --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/abort-states.json @@ -0,0 +1,14 @@ +{ + "tandoor": { + "status": "created", + "health": null, + "restarts": 0, + "exit": 0 + }, + "tandoor-postgres": { + "status": "restarting", + "health": "unhealthy", + "restarts": 0, + "exit": 1 + } +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/compose-final.log b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/compose-final.log new file mode 100644 index 00000000..2c8365d6 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/compose-final.log @@ -0,0 +1,60 @@ +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:18.773 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:18.773 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:19.223 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:19.223 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:19.775 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:19.775 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:20.491 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:20.491 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:21.604 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:21.604 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:23.533 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:23.533 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:27.053 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:27.053 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:33.779 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:33.779 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:04:46.906 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:04:46.906 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:05:12.828 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:05:12.828 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:06:04.351 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:06:04.351 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. +tandoor-postgres | +tandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization +tandoor-postgres | +tandoor-postgres | 2026-09-27 12:07:04.677 CEST [1] FATAL: database files are incompatible with server +tandoor-postgres | 2026-09-27 12:07:04.677 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15. diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-check-after.txt b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-check-after.txt new file mode 100644 index 00000000..5379534b --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-check-after.txt @@ -0,0 +1,106 @@ +db:postgres owner=tandoor enc=UTF8 coll=en_US.utf8 +db:tandoor owner=tandoor enc=UTF8 coll=en_US.utf8 +ext:tandoor:pg_trgm +ext:tandoor:plpgsql +ext:tandoor:unaccent +role:tandoor super=true login=true pw=true +rows:tandoor:public.account_emailaddress=0 +rows:tandoor:public.account_emailconfirmation=0 +rows:tandoor:public.auth_group=3 +rows:tandoor:public.auth_group_permissions=0 +rows:tandoor:public.auth_permission=288 +rows:tandoor:public.auth_user=1 +rows:tandoor:public.auth_user_groups=0 +rows:tandoor:public.auth_user_user_permissions=0 +rows:tandoor:public.authtoken_token=0 +rows:tandoor:public.cookbook_ailog=0 +rows:tandoor:public.cookbook_aiprovider=0 +rows:tandoor:public.cookbook_automation=0 +rows:tandoor:public.cookbook_bookmarkletimport=0 +rows:tandoor:public.cookbook_comment=0 +rows:tandoor:public.cookbook_connectorconfig=0 +rows:tandoor:public.cookbook_cooklog=0 +rows:tandoor:public.cookbook_customfilter=0 +rows:tandoor:public.cookbook_customfilter_shared=0 +rows:tandoor:public.cookbook_exportlog=0 +rows:tandoor:public.cookbook_food=0 +rows:tandoor:public.cookbook_food_child_inherit_fields=0 +rows:tandoor:public.cookbook_food_inherit_fields=0 +rows:tandoor:public.cookbook_food_onhand_users=0 +rows:tandoor:public.cookbook_food_shopping_lists=0 +rows:tandoor:public.cookbook_food_substitute=0 +rows:tandoor:public.cookbook_foodinheritfield=6 +rows:tandoor:public.cookbook_foodproperty=0 +rows:tandoor:public.cookbook_household=0 +rows:tandoor:public.cookbook_importlog=0 +rows:tandoor:public.cookbook_ingredient=0 +rows:tandoor:public.cookbook_inventoryentry=0 +rows:tandoor:public.cookbook_inventorylocation=0 +rows:tandoor:public.cookbook_inventorylog=0 +rows:tandoor:public.cookbook_invitelink=0 +rows:tandoor:public.cookbook_keyword=0 +rows:tandoor:public.cookbook_mealplan=0 +rows:tandoor:public.cookbook_mealplan_shared=0 +rows:tandoor:public.cookbook_mealtype=0 +rows:tandoor:public.cookbook_nutritioninformation=0 +rows:tandoor:public.cookbook_property=0 +rows:tandoor:public.cookbook_propertytype=0 +rows:tandoor:public.cookbook_recipe=0 +rows:tandoor:public.cookbook_recipe_keywords=0 +rows:tandoor:public.cookbook_recipe_properties=0 +rows:tandoor:public.cookbook_recipe_shared=0 +rows:tandoor:public.cookbook_recipe_steps=0 +rows:tandoor:public.cookbook_recipebook=0 +rows:tandoor:public.cookbook_recipebook_shared=0 +rows:tandoor:public.cookbook_recipebookentry=0 +rows:tandoor:public.cookbook_recipeimport=0 +rows:tandoor:public.cookbook_searchfields=6 +rows:tandoor:public.cookbook_searchpreference=0 +rows:tandoor:public.cookbook_searchpreference_fulltext=0 +rows:tandoor:public.cookbook_searchpreference_icontains=0 +rows:tandoor:public.cookbook_searchpreference_istartswith=0 +rows:tandoor:public.cookbook_searchpreference_trigram=0 +rows:tandoor:public.cookbook_searchpreference_unaccent=0 +rows:tandoor:public.cookbook_sharelink=0 +rows:tandoor:public.cookbook_shoppinglist=0 +rows:tandoor:public.cookbook_shoppinglistentry=0 +rows:tandoor:public.cookbook_shoppinglistentry_shopping_lists=0 +rows:tandoor:public.cookbook_shoppinglistrecipe=0 +rows:tandoor:public.cookbook_space=0 +rows:tandoor:public.cookbook_space_food_inherit=0 +rows:tandoor:public.cookbook_step=0 +rows:tandoor:public.cookbook_step_ingredients=0 +rows:tandoor:public.cookbook_storage=0 +rows:tandoor:public.cookbook_supermarket=0 +rows:tandoor:public.cookbook_supermarket_shopping_lists=0 +rows:tandoor:public.cookbook_supermarketcategory=0 +rows:tandoor:public.cookbook_supermarketcategoryrelation=0 +rows:tandoor:public.cookbook_sync=0 +rows:tandoor:public.cookbook_synclog=0 +rows:tandoor:public.cookbook_telegrambot=0 +rows:tandoor:public.cookbook_unit=0 +rows:tandoor:public.cookbook_unitconversion=0 +rows:tandoor:public.cookbook_userfile=0 +rows:tandoor:public.cookbook_userpreference=1 +rows:tandoor:public.cookbook_userpreference_plan_share=0 +rows:tandoor:public.cookbook_userpreference_shopping_share=0 +rows:tandoor:public.cookbook_userspace=0 +rows:tandoor:public.cookbook_userspace_groups=0 +rows:tandoor:public.cookbook_viewlog=0 +rows:tandoor:public.django_admin_log=0 +rows:tandoor:public.django_content_type=72 +rows:tandoor:public.django_migrations=309 +rows:tandoor:public.django_session=0 +rows:tandoor:public.django_site=1 +rows:tandoor:public.mfa_authenticator=0 +rows:tandoor:public.oauth2_provider_accesstoken=0 +rows:tandoor:public.oauth2_provider_application=0 +rows:tandoor:public.oauth2_provider_devicegrant=0 +rows:tandoor:public.oauth2_provider_grant=0 +rows:tandoor:public.oauth2_provider_idtoken=0 +rows:tandoor:public.oauth2_provider_refreshtoken=0 +rows:tandoor:public.socialaccount_socialaccount=0 +rows:tandoor:public.socialaccount_socialapp=0 +rows:tandoor:public.socialaccount_socialapp_sites=0 +rows:tandoor:public.socialaccount_socialtoken=0 +rows:tandoor:public.usersessions_usersession=0 diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-check-before.txt b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-check-before.txt new file mode 100644 index 00000000..5379534b --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-check-before.txt @@ -0,0 +1,106 @@ +db:postgres owner=tandoor enc=UTF8 coll=en_US.utf8 +db:tandoor owner=tandoor enc=UTF8 coll=en_US.utf8 +ext:tandoor:pg_trgm +ext:tandoor:plpgsql +ext:tandoor:unaccent +role:tandoor super=true login=true pw=true +rows:tandoor:public.account_emailaddress=0 +rows:tandoor:public.account_emailconfirmation=0 +rows:tandoor:public.auth_group=3 +rows:tandoor:public.auth_group_permissions=0 +rows:tandoor:public.auth_permission=288 +rows:tandoor:public.auth_user=1 +rows:tandoor:public.auth_user_groups=0 +rows:tandoor:public.auth_user_user_permissions=0 +rows:tandoor:public.authtoken_token=0 +rows:tandoor:public.cookbook_ailog=0 +rows:tandoor:public.cookbook_aiprovider=0 +rows:tandoor:public.cookbook_automation=0 +rows:tandoor:public.cookbook_bookmarkletimport=0 +rows:tandoor:public.cookbook_comment=0 +rows:tandoor:public.cookbook_connectorconfig=0 +rows:tandoor:public.cookbook_cooklog=0 +rows:tandoor:public.cookbook_customfilter=0 +rows:tandoor:public.cookbook_customfilter_shared=0 +rows:tandoor:public.cookbook_exportlog=0 +rows:tandoor:public.cookbook_food=0 +rows:tandoor:public.cookbook_food_child_inherit_fields=0 +rows:tandoor:public.cookbook_food_inherit_fields=0 +rows:tandoor:public.cookbook_food_onhand_users=0 +rows:tandoor:public.cookbook_food_shopping_lists=0 +rows:tandoor:public.cookbook_food_substitute=0 +rows:tandoor:public.cookbook_foodinheritfield=6 +rows:tandoor:public.cookbook_foodproperty=0 +rows:tandoor:public.cookbook_household=0 +rows:tandoor:public.cookbook_importlog=0 +rows:tandoor:public.cookbook_ingredient=0 +rows:tandoor:public.cookbook_inventoryentry=0 +rows:tandoor:public.cookbook_inventorylocation=0 +rows:tandoor:public.cookbook_inventorylog=0 +rows:tandoor:public.cookbook_invitelink=0 +rows:tandoor:public.cookbook_keyword=0 +rows:tandoor:public.cookbook_mealplan=0 +rows:tandoor:public.cookbook_mealplan_shared=0 +rows:tandoor:public.cookbook_mealtype=0 +rows:tandoor:public.cookbook_nutritioninformation=0 +rows:tandoor:public.cookbook_property=0 +rows:tandoor:public.cookbook_propertytype=0 +rows:tandoor:public.cookbook_recipe=0 +rows:tandoor:public.cookbook_recipe_keywords=0 +rows:tandoor:public.cookbook_recipe_properties=0 +rows:tandoor:public.cookbook_recipe_shared=0 +rows:tandoor:public.cookbook_recipe_steps=0 +rows:tandoor:public.cookbook_recipebook=0 +rows:tandoor:public.cookbook_recipebook_shared=0 +rows:tandoor:public.cookbook_recipebookentry=0 +rows:tandoor:public.cookbook_recipeimport=0 +rows:tandoor:public.cookbook_searchfields=6 +rows:tandoor:public.cookbook_searchpreference=0 +rows:tandoor:public.cookbook_searchpreference_fulltext=0 +rows:tandoor:public.cookbook_searchpreference_icontains=0 +rows:tandoor:public.cookbook_searchpreference_istartswith=0 +rows:tandoor:public.cookbook_searchpreference_trigram=0 +rows:tandoor:public.cookbook_searchpreference_unaccent=0 +rows:tandoor:public.cookbook_sharelink=0 +rows:tandoor:public.cookbook_shoppinglist=0 +rows:tandoor:public.cookbook_shoppinglistentry=0 +rows:tandoor:public.cookbook_shoppinglistentry_shopping_lists=0 +rows:tandoor:public.cookbook_shoppinglistrecipe=0 +rows:tandoor:public.cookbook_space=0 +rows:tandoor:public.cookbook_space_food_inherit=0 +rows:tandoor:public.cookbook_step=0 +rows:tandoor:public.cookbook_step_ingredients=0 +rows:tandoor:public.cookbook_storage=0 +rows:tandoor:public.cookbook_supermarket=0 +rows:tandoor:public.cookbook_supermarket_shopping_lists=0 +rows:tandoor:public.cookbook_supermarketcategory=0 +rows:tandoor:public.cookbook_supermarketcategoryrelation=0 +rows:tandoor:public.cookbook_sync=0 +rows:tandoor:public.cookbook_synclog=0 +rows:tandoor:public.cookbook_telegrambot=0 +rows:tandoor:public.cookbook_unit=0 +rows:tandoor:public.cookbook_unitconversion=0 +rows:tandoor:public.cookbook_userfile=0 +rows:tandoor:public.cookbook_userpreference=1 +rows:tandoor:public.cookbook_userpreference_plan_share=0 +rows:tandoor:public.cookbook_userpreference_shopping_share=0 +rows:tandoor:public.cookbook_userspace=0 +rows:tandoor:public.cookbook_userspace_groups=0 +rows:tandoor:public.cookbook_viewlog=0 +rows:tandoor:public.django_admin_log=0 +rows:tandoor:public.django_content_type=72 +rows:tandoor:public.django_migrations=309 +rows:tandoor:public.django_session=0 +rows:tandoor:public.django_site=1 +rows:tandoor:public.mfa_authenticator=0 +rows:tandoor:public.oauth2_provider_accesstoken=0 +rows:tandoor:public.oauth2_provider_application=0 +rows:tandoor:public.oauth2_provider_devicegrant=0 +rows:tandoor:public.oauth2_provider_grant=0 +rows:tandoor:public.oauth2_provider_idtoken=0 +rows:tandoor:public.oauth2_provider_refreshtoken=0 +rows:tandoor:public.socialaccount_socialaccount=0 +rows:tandoor:public.socialaccount_socialapp=0 +rows:tandoor:public.socialaccount_socialapp_sites=0 +rows:tandoor:public.socialaccount_socialtoken=0 +rows:tandoor:public.usersessions_usersession=0 diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-load.err b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/convert-load.err new file mode 100644 index 00000000..e69de29b diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/engine-state.json b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/engine-state.json new file mode 100644 index 00000000..d2d143dc --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/engine-state.json @@ -0,0 +1,8 @@ +{ + "tandoor-postgres": { + "image": "postgres:17-alpine", + "probe": "datadir major version", + "answer": "17", + "probe_rc": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/files-after.json b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/files-after.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/files-after.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/files-before.json b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/files-before.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/files-before.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/memory-samples.json b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/memory-samples.json new file mode 100644 index 00000000..3d5eec77 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/memory-samples.json @@ -0,0 +1,1122 @@ +[ + { + "t": 15.1, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 998117376, + "peak": 1049731072, + "anon": 841740288, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165699584, + "peak": 192729088, + "anon": 13639680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 295 + }, + { + "t": 30.3, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 998158336, + "peak": 1049731072, + "anon": 841990144, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165625856, + "peak": 192729088, + "anon": 13639680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 591 + }, + { + "t": 45.4, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 998653952, + "peak": 1049731072, + "anon": 842199040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165281792, + "peak": 192729088, + "anon": 13639680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 887 + }, + { + "t": 60.5, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 998936576, + "peak": 1049731072, + "anon": 842313728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165457920, + "peak": 192729088, + "anon": 13389824, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1182 + }, + { + "t": 75.7, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 998772736, + "peak": 1049731072, + "anon": 842326016, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165494784, + "peak": 192729088, + "anon": 13295616, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1478 + }, + { + "t": 90.8, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 998924288, + "peak": 1049731072, + "anon": 842379264, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165855232, + "peak": 192729088, + "anon": 13418496, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1773 + }, + { + "t": 105.9, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 998993920, + "peak": 1049731072, + "anon": 842399744, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165388288, + "peak": 192729088, + "anon": 13418496, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2068 + }, + { + "t": 121.1, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1000439808, + "peak": 1049731072, + "anon": 844132352, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165933056, + "peak": 192729088, + "anon": 13430784, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2363 + }, + { + "t": 136.2, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1000357888, + "peak": 1049731072, + "anon": 844255232, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165666816, + "peak": 192729088, + "anon": 13295616, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2656 + }, + { + "t": 151.3, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001050112, + "peak": 1049731072, + "anon": 844349440, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165498880, + "peak": 192729088, + "anon": 13418496, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2952 + }, + { + "t": 166.5, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1000923136, + "peak": 1049731072, + "anon": 844423168, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165519360, + "peak": 192729088, + "anon": 13418496, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3248 + }, + { + "t": 181.6, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1000673280, + "peak": 1049731072, + "anon": 844496896, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165527552, + "peak": 192729088, + "anon": 13295616, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3544 + }, + { + "t": 196.7, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1000767488, + "peak": 1049731072, + "anon": 844500992, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165654528, + "peak": 192729088, + "anon": 13295616, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3840 + }, + { + "t": 211.9, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1000583168, + "peak": 1049731072, + "anon": 844595200, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 166428672, + "peak": 192729088, + "anon": 13414400, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4136 + }, + { + "t": 227.0, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1000656896, + "peak": 1049731072, + "anon": 844599296, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165838848, + "peak": 192729088, + "anon": 13414400, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4428 + }, + { + "t": 242.1, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001197568, + "peak": 1049731072, + "anon": 844648448, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165416960, + "peak": 192729088, + "anon": 13414400, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4724 + }, + { + "t": 257.3, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1000693760, + "peak": 1049731072, + "anon": 844664832, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 165621760, + "peak": 192729088, + "anon": 13295616, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5020 + }, + { + "t": 272.4, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1000534016, + "peak": 1049731072, + "anon": 844718080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 166768640, + "peak": 192729088, + "anon": 13504512, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5316 + }, + { + "t": 287.6, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001537536, + "peak": 1049731072, + "anon": 844726272, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 168206336, + "peak": 192729088, + "anon": 13504512, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5612 + }, + { + "t": 302.7, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001603072, + "peak": 1049731072, + "anon": 844754944, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 168845312, + "peak": 192729088, + "anon": 13627392, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5908 + }, + { + "t": 317.8, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001066496, + "peak": 1049731072, + "anon": 844754944, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 169635840, + "peak": 192729088, + "anon": 13529088, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6202 + }, + { + "t": 332.9, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001209856, + "peak": 1049731072, + "anon": 844771328, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 170348544, + "peak": 192729088, + "anon": 13647872, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6497 + }, + { + "t": 348.1, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001086976, + "peak": 1049731072, + "anon": 844783616, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 171106304, + "peak": 192729088, + "anon": 13660160, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6793 + }, + { + "t": 363.2, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001431040, + "peak": 1049731072, + "anon": 844840960, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173084672, + "peak": 192729088, + "anon": 13545472, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7089 + }, + { + "t": 378.4, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001648128, + "peak": 1049731072, + "anon": 844840960, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173760512, + "peak": 192729088, + "anon": 13443072, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7385 + }, + { + "t": 393.5, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001472000, + "peak": 1049731072, + "anon": 844869632, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 174366720, + "peak": 192729088, + "anon": 13701120, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7681 + }, + { + "t": 408.6, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001439232, + "peak": 1049731072, + "anon": 844869632, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173367296, + "peak": 192729088, + "anon": 13701120, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7975 + }, + { + "t": 423.7, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1000968192, + "peak": 1049731072, + "anon": 844902400, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173412352, + "peak": 192729088, + "anon": 13578240, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8270 + }, + { + "t": 438.9, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001689088, + "peak": 1049731072, + "anon": 844902400, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 174264320, + "peak": 192729088, + "anon": 13578240, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8566 + }, + { + "t": 454.0, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001414656, + "peak": 1049731072, + "anon": 844931072, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173862912, + "peak": 192729088, + "anon": 13697024, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8862 + }, + { + "t": 469.1, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001181184, + "peak": 1049731072, + "anon": 844931072, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173641728, + "peak": 192729088, + "anon": 13697024, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9158 + }, + { + "t": 484.3, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001803776, + "peak": 1049731072, + "anon": 844980224, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 174104576, + "peak": 192729088, + "anon": 13697024, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9454 + }, + { + "t": 499.4, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001828352, + "peak": 1049731072, + "anon": 844980224, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173858816, + "peak": 192729088, + "anon": 13697024, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9750 + }, + { + "t": 514.5, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001406464, + "peak": 1049731072, + "anon": 845004800, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173907968, + "peak": 192729088, + "anon": 13815808, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10046 + }, + { + "t": 529.7, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001541632, + "peak": 1049731072, + "anon": 845062144, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 174157824, + "peak": 192729088, + "anon": 13815808, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10342 + }, + { + "t": 544.8, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001345024, + "peak": 1049731072, + "anon": 845086720, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 174030848, + "peak": 192729088, + "anon": 13701120, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10636 + }, + { + "t": 559.9, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001500672, + "peak": 1049731072, + "anon": 845107200, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173907968, + "peak": 192729088, + "anon": 13578240, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10930 + }, + { + "t": 575.1, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001205760, + "peak": 1049731072, + "anon": 845144064, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 174018560, + "peak": 192729088, + "anon": 13701120, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11226 + }, + { + "t": 590.2, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001115648, + "peak": 1049731072, + "anon": 845164544, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173879296, + "peak": 192729088, + "anon": 13701120, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11522 + }, + { + "t": 605.3, + "containers": { + "tandoor": { + "limit": 1073741824, + "current": 1001549824, + "peak": 1049731072, + "anon": 845176832, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "tandoor-postgres": { + "limit": 268435456, + "current": 173330432, + "peak": 192729088, + "anon": 13578240, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11818 + } +] \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/migration-lines.txt b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/migration-lines.txt new file mode 100644 index 00000000..d8be9a9c --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/migration-lines.txt @@ -0,0 +1,4 @@ +tandoor | Migrating database +tandoor | Apply all migrations: account, admin, auth, authtoken, contenttypes, cookbook, mfa, oauth2_provider, sessions, sites, socialaccount, usersessions +tandoor | Running migrations: +tandoor | No migrations to apply. \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/run.log b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/run.log new file mode 100644 index 00000000..8c0bf12a --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/run.log @@ -0,0 +1,61 @@ +[09:50:59] scratch drive folders cleared before FROM (R-656): none existed +[09:50:59] MV-tandoor: deploying tandoor at FROM {'tandoor': 'ghcr.io/tandoorrecipes/recipes:2.6.15', 'tandoor-postgres': 'postgres:16-alpine'} +[09:52:53] FROM settled=True in 61.9s :: {"tandoor": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "tandoor-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[09:52:53] fixture: the BOX walk's own (Django), through upgrade_boxport +[09:53:03] tandoor: createsuperuser :: Running django-vite in production mode (no HMR) Superuser created successfully. +[09:53:04] tandoor: seeded superuser drill2e9797 +[09:53:07] tandoor: readback of the seeded account found=True +[09:53:07] C1 (seed reads back BEFORE): True +[09:53:07] MV-tandoor: PostgreSQL major move {'service': 'tandoor-postgres', 'engine': 'postgres', 'from': 16, 'to': 17} — converting on the bench before the swap +[09:53:31] CONVERTED tandoor-postgres PostgreSQL 16 -> 17 in 23.6s (dump 0.71s / 338574 B, load 3.04s, check equal over 100 tables) +[09:53:31] MV-tandoor: swapping to TO {'tandoor': 'ghcr.io/tandoorrecipes/recipes:2.6.15', 'tandoor-postgres': 'postgres:17-alpine'} +[09:53:35] TO up -d rc=0 +[09:54:06] TO settled=True in 31.0s :: {"tandoor": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "tandoor-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[09:54:06] engine state tandoor-postgres: 17 +[09:54:07] migration lines observed: 4 +[09:54:09] tandoor: readback of the seeded account found=True +[09:54:09] RESULT (seed reads back AFTER): True +[09:54:10] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:80 +[09:54:25] + 15s tandoor=951M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=158M/256M peak=183M kills=0 rs=0 reqs=295 +[09:54:40] + 30s tandoor=951M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=591 +[09:54:55] + 45s tandoor=952M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=887 +[09:55:10] + 60s tandoor=952M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=1182 +[09:55:25] + 76s tandoor=952M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=1478 +[09:55:40] + 91s tandoor=952M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=158M/256M peak=183M kills=0 rs=0 reqs=1773 +[09:55:56] + 106s tandoor=952M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=2068 +[09:56:11] + 121s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=158M/256M peak=183M kills=0 rs=0 reqs=2363 +[09:56:26] + 136s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=2656 +[09:56:41] + 151s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=2952 +[09:56:56] + 166s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=3248 +[09:57:11] + 182s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=3544 +[09:57:26] + 197s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=3840 +[09:57:42] + 212s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=158M/256M peak=183M kills=0 rs=0 reqs=4136 +[09:57:57] + 227s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=158M/256M peak=183M kills=0 rs=0 reqs=4428 +[09:58:12] + 242s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=4724 +[09:58:27] + 257s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=157M/256M peak=183M kills=0 rs=0 reqs=5020 +[09:58:42] + 272s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=159M/256M peak=183M kills=0 rs=0 reqs=5316 +[09:58:57] + 288s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=160M/256M peak=183M kills=0 rs=0 reqs=5612 +[09:59:12] + 303s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=161M/256M peak=183M kills=0 rs=0 reqs=5908 +[09:59:27] + 318s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=161M/256M peak=183M kills=0 rs=0 reqs=6202 +[09:59:43] + 333s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=162M/256M peak=183M kills=0 rs=0 reqs=6497 +[09:59:58] + 348s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=163M/256M peak=183M kills=0 rs=0 reqs=6793 +[10:00:13] + 363s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=7089 +[10:00:28] + 378s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=7385 +[10:00:43] + 394s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=166M/256M peak=183M kills=0 rs=0 reqs=7681 +[10:00:58] + 409s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=7975 +[10:01:13] + 424s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=8270 +[10:01:29] + 439s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=166M/256M peak=183M kills=0 rs=0 reqs=8566 +[10:01:44] + 454s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=8862 +[10:01:59] + 469s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=9158 +[10:02:14] + 484s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=166M/256M peak=183M kills=0 rs=0 reqs=9454 +[10:02:29] + 499s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=9750 +[10:02:44] + 514s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=10046 +[10:02:59] + 530s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=166M/256M peak=183M kills=0 rs=0 reqs=10342 +[10:03:14] + 545s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=10636 +[10:03:30] + 560s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=10930 +[10:03:45] + 575s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=11226 +[10:04:00] + 590s tandoor=954M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=11522 +[10:04:15] + 605s tandoor=955M/1024M peak=1001M kills=0 rs=0 tandoor-postgres=165M/256M peak=183M kills=0 rs=0 reqs=11818 +[10:04:15] memory watch: killed=False tight=[] requests=11818 codes={'302': 11818} +[10:04:15] MV-tandoor: ABORT — putting the FROM images back +[10:07:25] ABORT: the app did NOT come back (rc=1, 184.7s) \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/to-full.log b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/to-full.log new file mode 100644 index 00000000..32af7d14 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/to-full.log @@ -0,0 +1,3566 @@ +tandoor-postgres | The files belonging to this database system will be owned by user "postgres". +tandoor-postgres | This user must also own the server process. +tandoor-postgres | +tandoor-postgres | The database cluster will be initialized with locale "en_US.utf8". +tandoor-postgres | The default database encoding has accordingly been set to "UTF8". +tandoor-postgres | The default text search configuration will be set to "english". +tandoor-postgres | +tandoor-postgres | Data page checksums are disabled. +tandoor-postgres | +tandoor-postgres | fixing permissions on existing directory /var/lib/postgresql/data ... ok +tandoor-postgres | creating subdirectories ... ok +tandoor-postgres | selecting dynamic shared memory implementation ... posix +tandoor-postgres | selecting default "max_connections" ... 100 +tandoor-postgres | selecting default "shared_buffers" ... 128MB +tandoor-postgres | selecting default time zone ... Europe/Budapest +tandoor-postgres | creating configuration files ... ok +tandoor-postgres | running bootstrap script ... ok +tandoor-postgres | sh: locale: not found +tandoor-postgres | 2026-09-27 11:53:25.410 CEST [41] WARNING: no usable system locales were found +tandoor-postgres | performing post-bootstrap initialization ... ok +tandoor-postgres | syncing data to disk ... ok +tandoor-postgres | +tandoor-postgres | +tandoor-postgres | Success. You can now start the database server using: +tandoor-postgres | +tandoor-postgres | pg_ctl -D /var/lib/postgresql/data -l logfile start +tandoor-postgres | +tandoor-postgres | initdb: warning: enabling "trust" authentication for local connections +tandoor-postgres | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. +tandoor-postgres | waiting for server to start....2026-09-27 11:53:26.250 CEST [47] LOG: starting PostgreSQL 17.11 on x86_64-pc-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit +tandoor-postgres | 2026-09-27 11:53:26.253 CEST [47] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" +tandoor-postgres | 2026-09-27 11:53:26.266 CEST [50] LOG: database system was shut down at 2026-09-27 11:53:25 CEST +tandoor-postgres | 2026-09-27 11:53:26.275 CEST [47] LOG: database system is ready to accept connections +tandoor-postgres | done +tandoor-postgres | server started +tandoor-postgres | CREATE DATABASE +tandoor-postgres | +tandoor-postgres | +tandoor-postgres | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/* +tandoor-postgres | +tandoor-postgres | waiting for server to shut down....2026-09-27 11:53:26.442 CEST [47] LOG: received fast shutdown request +tandoor-postgres | 2026-09-27 11:53:26.445 CEST [47] LOG: aborting any active transactions +tandoor-postgres | 2026-09-27 11:53:26.449 CEST [47] LOG: background worker "logical replication launcher" (PID 53) exited with exit code 1 +tandoor-postgres | 2026-09-27 11:53:26.450 CEST [48] LOG: shutting down +tandoor-postgres | 2026-09-27 11:53:26.453 CEST [48] LOG: checkpoint starting: shutdown immediate +tandoor-postgres | 2026-09-27 11:53:26.540 CEST [48] LOG: checkpoint complete: wrote 926 buffers (5.7%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.021 s, sync=0.054 s, total=0.090 s; sync files=301, longest=0.025 s, average=0.001 s; distance=4266 kB, estimate=4266 kB; lsn=0/191E810, redo lsn=0/191E810 +tandoor-postgres | 2026-09-27 11:53:26.553 CEST [47] LOG: database system is shut down +tandoor-postgres | done +tandoor-postgres | server stopped +tandoor-postgres | +tandoor-postgres | PostgreSQL init process complete; ready for start up. +tandoor-postgres | +tandoor-postgres | 2026-09-27 11:53:26.678 CEST [1] LOG: starting PostgreSQL 17.11 on x86_64-pc-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit +tandoor-postgres | 2026-09-27 11:53:26.678 CEST [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 +tandoor-postgres | 2026-09-27 11:53:26.678 CEST [1] LOG: listening on IPv6 address "::", port 5432 +tandoor-postgres | 2026-09-27 11:53:26.684 CEST [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" +tandoor-postgres | 2026-09-27 11:53:26.692 CEST [63] LOG: database system was shut down at 2026-09-27 11:53:26 CEST +tandoor-postgres | 2026-09-27 11:53:26.701 CEST [1] LOG: database system is ready to accept connections +tandoor-postgres | 2026-09-27 11:53:27.454 CEST [61] LOG: checkpoint starting: immediate force wait +tandoor-postgres | 2026-09-27 11:53:27.479 CEST [61] LOG: checkpoint complete: wrote 4 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.008 s, sync=0.006 s, total=0.026 s; sync files=3, longest=0.003 s, average=0.002 s; distance=0 kB, estimate=0 kB; lsn=0/191EC50, redo lsn=0/191EBF8 +tandoor | Starting nginx +tandoor | Checking configuration... +tandoor | Waiting for database to be ready... +tandoor | Database is ready +tandoor | Migrating database +tandoor | Running django-vite in production mode (no HMR) +tandoor | Operations to perform: +tandoor | Apply all migrations: account, admin, auth, authtoken, contenttypes, cookbook, mfa, oauth2_provider, sessions, sites, socialaccount, usersessions +tandoor | Running migrations: +tandoor | Applying contenttypes.0001_initial... OK +tandoor | Applying auth.0001_initial... OK +tandoor | Applying account.0001_initial... OK +tandoor | Applying account.0002_email_max_length... OK +tandoor | Applying account.0003_alter_emailaddress_create_unique_verified_email... OK +tandoor | Applying account.0004_alter_emailaddress_drop_unique_email... OK +tandoor | Applying account.0005_emailaddress_idx_upper_email... OK +tandoor | Applying account.0006_emailaddress_lower... OK +tandoor | Applying account.0007_emailaddress_idx_email... OK +tandoor | Applying account.0008_emailaddress_unique_primary_email_fixup... OK +tandoor | Applying account.0009_emailaddress_unique_primary_email... OK +tandoor | Applying admin.0001_initial... OK +tandoor | Applying admin.0002_logentry_remove_auto_add... OK +tandoor | Applying admin.0003_logentry_add_action_flag_choices... OK +tandoor | Applying contenttypes.0002_remove_content_type_name... OK +tandoor | Applying auth.0002_alter_permission_name_max_length... OK +tandoor | Applying auth.0003_alter_user_email_max_length... OK +tandoor | Applying auth.0004_alter_user_username_opts... OK +tandoor | Applying auth.0005_alter_user_last_login_null... OK +tandoor | Applying auth.0006_require_contenttypes_0002... OK +tandoor | Applying auth.0007_alter_validators_add_error_messages... OK +tandoor | Applying auth.0008_alter_user_username_max_length... OK +tandoor | Applying auth.0009_alter_user_last_name_max_length... OK +tandoor | Applying auth.0010_alter_group_name_max_length... OK +tandoor | Applying auth.0011_update_proxy_permissions... OK +tandoor | Applying auth.0012_alter_user_first_name_max_length... OK +tandoor | Applying authtoken.0001_initial... OK +tandoor | Applying authtoken.0002_auto_20160226_1747... OK +tandoor | Applying authtoken.0003_tokenproxy... OK +tandoor | Applying authtoken.0004_alter_tokenproxy_options... OK +tandoor | Applying cookbook.0001_squashed_0227_space_ai_default_provider_and_more... OK +tandoor | Applying cookbook.0228_space_space_setup_completed... OK +tandoor | Applying cookbook.0229_alter_ailog_options_alter_aiprovider_options_and_more... OK +tandoor | Applying cookbook.0230_auto_20250925_2056... OK +tandoor | Applying cookbook.0231_alter_aiprovider_options_alter_automation_options_and_more... OK +tandoor | Applying cookbook.0232_shoppinglist... OK +tandoor | Applying cookbook.0233_food_shopping_lists_shoppinglistentry_shopping_lists_and_more... OK +tandoor | Applying cookbook.0234_alter_shoppinglist_options_and_more... OK +tandoor | Applying cookbook.0235_recipe_diameter_recipe_diameter_text... OK +tandoor | Applying cookbook.0236_household_userspace_household_inventorylocation_and_more... OK +tandoor | Applying cookbook.0237_remove_mealtype_mt_unique_name_per_space_and_more... OK +tandoor | Applying cookbook.0238_auto_20260312_1920... OK +tandoor | Applying cookbook.0239_add_ordering_property_recipebookentry... OK +tandoor | Applying cookbook.0240_remove_ingredient_always_use_plural_food_and_more... OK +tandoor | Applying cookbook.0241_invitelink_household... OK +tandoor | Applying cookbook.0242_space_household_setup_completed... OK +tandoor | Applying mfa.0001_initial... OK +tandoor | Applying mfa.0002_authenticator_timestamps... OK +tandoor | Applying mfa.0003_authenticator_type_uniq... OK +tandoor | Applying oauth2_provider.0001_initial... OK +tandoor | Applying oauth2_provider.0002_auto_20190406_1805... OK +tandoor | Applying oauth2_provider.0003_auto_20201211_1314... OK +tandoor | Applying oauth2_provider.0004_auto_20200902_2022... OK +tandoor | 2026/09/27 11:52:21 [crit] 12#12: *1 connect() to unix:/tmp/tandoor.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /accounts/login/ HTTP/1.1", upstream: "http://unix:/tmp/tandoor.sock:/accounts/login/", host: "127.0.0.1:80" +tandoor | Applying oauth2_provider.0005_auto_20211222_2352...127.0.0.1 - - [27/Sep/2026:11:52:21 +0200] "GET /accounts/login/ HTTP/1.1" 502 150 "-" "Wget" "-" +tandoor | OK +tandoor | Applying oauth2_provider.0006_alter_application_client_secret... OK +tandoor | Applying oauth2_provider.0007_application_post_logout_redirect_uris... OK +tandoor | Applying oauth2_provider.0008_alter_accesstoken_token... OK +tandoor | Applying oauth2_provider.0009_add_hash_client_secret... OK +tandoor | Applying oauth2_provider.0010_application_allowed_origins... OK +tandoor | Applying oauth2_provider.0011_refreshtoken_token_family... OK +tandoor | Applying oauth2_provider.0012_add_token_checksum... OK +tandoor | Applying oauth2_provider.0013_alter_application_authorization_grant_type_device... OK +tandoor | Applying oauth2_provider.0014_alter_help_text... OK +tandoor | Applying oauth2_provider.0015_refreshtoken_token_checksum... OK +tandoor | Applying oauth2_provider.0016_alter_devicegrant_scope... OK +tandoor | Applying oauth2_provider.0017_application_dcr_created... OK +tandoor | Applying oauth2_provider.0018_resource_indicators... OK +tandoor | Applying oauth2_provider.0019_application_registration_source... OK +tandoor | Applying oauth2_provider.0020_cimd_application_fields... OK +tandoor | Applying oauth2_provider.0021_translatable_field_labels... OK +tandoor | Applying oauth2_provider.0022_refreshtoken_token_family_index... OK +tandoor | Applying sessions.0001_initial... OK +tandoor | Applying sites.0001_initial... OK +tandoor | Applying sites.0002_alter_domain_unique... OK +tandoor | Applying socialaccount.0001_initial... OK +tandoor | Applying socialaccount.0002_token_max_lengths... OK +tandoor | Applying socialaccount.0003_extra_data_default_dict... OK +tandoor | Applying socialaccount.0004_app_provider_id_settings... OK +tandoor | Applying socialaccount.0005_socialtoken_nullable_app... OK +tandoor | Applying socialaccount.0006_alter_socialaccount_extra_data... OK +tandoor | Applying usersessions.0001_initial... OK +tandoor | Collecting static files, this may take a while... +tandoor | Running django-vite in production mode (no HMR) +tandoor | +tandoor | 894 static files copied to '/opt/recipes/staticfiles', 2464 post-processed. +tandoor | Done +tandoor | Starting gunicorn +tandoor | [2026-09-27 11:52:41 +0200] [7] [INFO] Starting gunicorn 26.2.0 +tandoor | [2026-09-27 11:52:41 +0200] [7] [INFO] Listening at: unix:/tmp/tandoor.sock (7) +tandoor | [2026-09-27 11:52:41 +0200] [7] [INFO] Using worker: gthread +tandoor | [2026-09-27 11:52:41 +0200] [37] [INFO] Booting worker with pid: 37 +tandoor | [2026-09-27 11:52:41 +0200] [38] [INFO] Booting worker with pid: 38 +tandoor | [2026-09-27 11:52:41 +0200] [39] [INFO] Booting worker with pid: 39 +tandoor | [2026-09-27 11:52:41 +0200] [7] [INFO] Control socket listening at /root/.gunicorn/gunicorn.ctl +tandoor | Running django-vite in production mode (no HMR) +tandoor | Running django-vite in production mode (no HMR) +tandoor | Running django-vite in production mode (no HMR) +tandoor | - - [27/Sep/2026:11:52:51 +0200] "GET /accounts/login/ HTTP/1.0" 200 4981 "-" "Wget" +tandoor | 127.0.0.1 - - [27/Sep/2026:11:52:51 +0200] "GET /accounts/login/ HTTP/1.1" 200 4981 "-" "Wget" "-" +tandoor | - - [27/Sep/2026:11:52:53 +0200] "GET /accounts/login/ HTTP/1.0" 200 4981 "-" "curl/8.14.1" +tandoor | 172.18.0.1 - - [27/Sep/2026:11:52:53 +0200] "GET /accounts/login/ HTTP/1.1" 200 4981 "-" "curl/8.14.1" "-" +tandoor | 172.18.0.1 - - [27/Sep/2026:11:53:05 +0200] "GET /accounts/login/ HTTP/1.1" 200 4981 "-" "curl/8.14.1" "-" +tandoor | - - [27/Sep/2026:11:53:05 +0200] "GET /accounts/login/ HTTP/1.0" 200 4981 "-" "curl/8.14.1" +tandoor | [2026-09-27 11:53:07 +0200] [7] [INFO] Handling signal: term +tandoor | [2026-09-27 11:53:07 +0200] [38] [INFO] Worker exiting (pid: 38) +tandoor | [2026-09-27 11:53:07 +0200] [39] [INFO] Worker exiting (pid: 39) +tandoor | [2026-09-27 11:53:07 +0200] [37] [INFO] Worker exiting (pid: 37) +tandoor | [2026-09-27 11:53:10 +0200] [7] [INFO] Shutting down: Master +tandoor | Starting nginx +tandoor | Checking configuration... +tandoor | Waiting for database to be ready... +tandoor | Database is ready +tandoor | Migrating database +tandoor | Running django-vite in production mode (no HMR) +tandoor | Operations to perform: +tandoor | Apply all migrations: account, admin, auth, authtoken, contenttypes, cookbook, mfa, oauth2_provider, sessions, sites, socialaccount, usersessions +tandoor | Running migrations: +tandoor | No migrations to apply. +tandoor | Collecting static files, this may take a while... +tandoor | Running django-vite in production mode (no HMR) +tandoor | Deleting 'staticfiles.json' +tandoor | Deleting 'mfa/js/recovery_codes.js.gz' +tandoor | Deleting 'mfa/js/recovery_codes.4bddc387248f.js.gz' +tandoor | Deleting 'mfa/js/webauthn-json.6a3183313556.js' +tandoor | Deleting 'mfa/js/webauthn-json.6a3183313556.js.gz' +tandoor | Deleting 'mfa/js/webauthn.88878ff60271.js' +tandoor | Deleting 'mfa/js/webauthn.js' +tandoor | Deleting 'mfa/js/webauthn-json.js.gz' +tandoor | Deleting 'mfa/js/webauthn.js.gz' +tandoor | Deleting 'mfa/js/recovery_codes.js' +tandoor | Deleting 'mfa/js/webauthn.88878ff60271.js.gz' +tandoor | Deleting 'mfa/js/recovery_codes.4bddc387248f.js' +tandoor | Deleting 'mfa/js/webauthn-json.js' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-standalone-preset.5b0b90efe858.js.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/oauth2-redirect.html' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui.e1050816cdb4.css' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.9482119f8854.js' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/oauth2-redirect.js.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui.css.31224a09fd70.map.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/LICENSE' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.js.map.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.js.39d23e8043fe.map' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/LICENSE.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/oauth2-redirect.b7645a1518d1.html' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.js.LICENSE.txt.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/favicon-32x32.40d4f2c38d1c.png' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/oauth2-redirect.d170ff78b648.js.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/oauth2-redirect.js' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui.css.map' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/favicon-32x32.png' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.js.map' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.js.LICENSE.txt' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui.css' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui.css.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-standalone-preset.js.604723f58f91.map' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.js.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-standalone-preset.js.map.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-standalone-preset.js.map' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/oauth2-redirect.d170ff78b648.js' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/LICENSE.3b83ef96387f' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.9482119f8854.js.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-standalone-preset.js.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui.e1050816cdb4.css.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui.css.31224a09fd70.map' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.js.39d23e8043fe.map.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.js.LICENSE.3b83ef96387f.txt.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-standalone-preset.5b0b90efe858.js' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-standalone-preset.js' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/LICENSE.3b83ef96387f.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-standalone-preset.js.604723f58f91.map.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui.css.map.gz' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.js.LICENSE.3b83ef96387f.txt' +tandoor | Deleting 'drf_spectacular_sidecar/swagger-ui-dist/swagger-ui-bundle.js' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/LICENSE' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/LICENSE.gz' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/LICENSE.cf2d48dc6713' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/LICENSE.cf2d48dc6713.gz' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.js.gz' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.js.5ebe9c69cc72.map.gz' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.js.LICENSE.txt' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.js' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.js.map.gz' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.35ddb82b6738.js.gz' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.js.LICENSE.txt.gz' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.js.LICENSE.81ac132e8213.txt' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.js.map' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.js.LICENSE.81ac132e8213.txt.gz' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.js.5ebe9c69cc72.map' +tandoor | Deleting 'drf_spectacular_sidecar/redoc/bundles/redoc.standalone.35ddb82b6738.js' +tandoor | Deleting 'oauth2_provider/css/oauth2_provider.5458607a88e9.css' +tandoor | Deleting 'oauth2_provider/css/oauth2_provider.css' +tandoor | Deleting 'oauth2_provider/css/oauth2_provider.css.gz' +tandoor | Deleting 'oauth2_provider/css/oauth2_provider.5458607a88e9.css.gz' +tandoor | Deleting 'oauth2_provider/js/application_form.cca767b09893.js' +tandoor | Deleting 'oauth2_provider/js/application_form.js' +tandoor | Deleting 'oauth2_provider/js/application_form.cca767b09893.js.gz' +tandoor | Deleting 'oauth2_provider/js/application_form.js.gz' +tandoor | Deleting 'pdfjs/LICENSE' +tandoor | Deleting 'pdfjs/LICENSE.gz' +tandoor | Deleting 'pdfjs/LICENSE.2ee41112a44f.gz' +tandoor | Deleting 'pdfjs/LICENSE.2ee41112a44f' +tandoor | Deleting 'pdfjs/web/debugger.b05dd625c100.css' +tandoor | Deleting 'pdfjs/web/debugger.b05dd625c100.css.gz' +tandoor | Deleting 'pdfjs/web/viewer.ab7aa1b3901b.mjs.gz' +tandoor | Deleting 'pdfjs/web/pdf.worker.mjs.gz' +tandoor | Deleting 'pdfjs/web/viewer.html' +tandoor | Deleting 'pdfjs/web/viewer.mjs.43d925d6de12.map' +tandoor | Deleting 'pdfjs/web/viewer.867c0e5fbfa7.html' +tandoor | Deleting 'pdfjs/web/viewer.css.gz' +tandoor | Deleting 'pdfjs/web/debugger.mjs' +tandoor | Deleting 'pdfjs/web/pdf.5461c3136a2d.mjs' +tandoor | Deleting 'pdfjs/web/viewer.ab7aa1b3901b.mjs' +tandoor | Deleting 'pdfjs/web/viewer.mjs.map' +tandoor | Deleting 'pdfjs/web/debugger.mjs.gz' +tandoor | Deleting 'pdfjs/web/pdf.worker.8a9ed38fca2e.mjs' +tandoor | Deleting 'pdfjs/web/pdf.worker.8a9ed38fca2e.mjs.gz' +tandoor | Deleting 'pdfjs/web/pdf.mjs.gz' +tandoor | Deleting 'pdfjs/web/viewer.mjs.43d925d6de12.map.gz' +tandoor | Deleting 'pdfjs/web/pdf.mjs' +tandoor | Deleting 'pdfjs/web/pdf.sandbox.0ea4cea83c0e.mjs' +tandoor | Deleting 'pdfjs/web/pdf.5461c3136a2d.mjs.gz' +tandoor | Deleting 'pdfjs/web/viewer.mjs' +tandoor | Deleting 'pdfjs/web/viewer.867c0e5fbfa7.html.gz' +tandoor | Deleting 'pdfjs/web/pdf.sandbox.mjs.gz' +tandoor | Deleting 'pdfjs/web/compressed.tracemonkey-pldi-09.pdf' +tandoor | Deleting 'pdfjs/web/viewer.mjs.map.gz' +tandoor | Deleting 'pdfjs/web/compressed.tracemonkey-pldi-09.9a192d8b1a7d.pdf' +tandoor | Deleting 'pdfjs/web/viewer.css' +tandoor | Deleting 'pdfjs/web/pdf.worker.mjs' +tandoor | Deleting 'pdfjs/web/debugger.253ff17ea952.mjs.gz' +tandoor | Deleting 'pdfjs/web/debugger.css.gz' +tandoor | Deleting 'pdfjs/web/viewer.html.gz' +tandoor | Deleting 'pdfjs/web/debugger.253ff17ea952.mjs' +tandoor | Deleting 'pdfjs/web/compressed.tracemonkey-pldi-09.pdf.gz' +tandoor | Deleting 'pdfjs/web/viewer.bfcbd4baab00.css.gz' +tandoor | Deleting 'pdfjs/web/viewer.mjs.gz' +tandoor | Deleting 'pdfjs/web/viewer.bfcbd4baab00.css' +tandoor | Deleting 'pdfjs/web/pdf.sandbox.0ea4cea83c0e.mjs.gz' +tandoor | Deleting 'pdfjs/web/debugger.css' +tandoor | Deleting 'pdfjs/web/compressed.tracemonkey-pldi-09.9a192d8b1a7d.pdf.gz' +tandoor | Deleting 'pdfjs/web/pdf.sandbox.mjs' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_OPENJPEG.c648878b4840' +tandoor | Deleting 'pdfjs/web/wasm/openjpeg_nowasm_fallback.js.gz' +tandoor | Deleting 'pdfjs/web/wasm/openjpeg.d90da2e1ff1c.wasm' +tandoor | Deleting 'pdfjs/web/wasm/qcms_bg.wasm.gz' +tandoor | Deleting 'pdfjs/web/wasm/qcms_bg.c281d67da876.wasm.gz' +tandoor | Deleting 'pdfjs/web/wasm/openjpeg_nowasm_fallback.js' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_QCMS.b7396a95c474.gz' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_OPENJPEG' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_OPENJPEG.gz' +tandoor | Deleting 'pdfjs/web/wasm/openjpeg.wasm.gz' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_PDFJS_QCMS' +tandoor | Deleting 'pdfjs/web/wasm/openjpeg.d90da2e1ff1c.wasm.gz' +tandoor | Deleting 'pdfjs/web/wasm/openjpeg_nowasm_fallback.82eb47cf2faf.js.gz' +tandoor | Deleting 'pdfjs/web/wasm/qcms_bg.c281d67da876.wasm' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_PDFJS_QCMS.5e5ba33e8602.gz' +tandoor | Deleting 'pdfjs/web/wasm/openjpeg_nowasm_fallback.82eb47cf2faf.js' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_PDFJS_OPENJPEG.7fed29f8f124' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_QCMS.b7396a95c474' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_PDFJS_QCMS.gz' +tandoor | Deleting 'pdfjs/web/wasm/qcms_bg.wasm' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_QCMS' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_QCMS.gz' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_OPENJPEG.c648878b4840.gz' +tandoor | Deleting 'pdfjs/web/wasm/openjpeg.wasm' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_PDFJS_QCMS.5e5ba33e8602' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_PDFJS_OPENJPEG.7fed29f8f124.gz' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_PDFJS_OPENJPEG' +tandoor | Deleting 'pdfjs/web/wasm/LICENSE_PDFJS_OPENJPEG.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UTF8-V.870c2e8dbbce.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/CNS2-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKm471-B5-V.cc4d2cb9929e.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/EUC-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-1.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-6.50690e841492.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/83pv-RKSJ-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF16-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/CNS-EUC-V.dfc3bd3ebe7c.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/WP-Symbol.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GB-H.69530bd74ed5.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF8-V.c488f7851343.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-V.6b7422f3be63.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKscs-B5-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKgccs-B5-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-UCS2.af9f90c0950e.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKgccs-B5-H.9261c86d4041.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKdla-B5-H.c31304dbfa1f.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-Johab-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/H.627aeed8bfcc.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UCS2-H.f19fb20d2b1c.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-3.be5c8267c6fe.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKm314-B5-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/ETen-B5-H.64f3db1a350a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/CNS-EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-2.c32fa54e54bd.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBTpc-EUC-H.25eeeca5113b.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/CNS2-H.6ceb8bae07c4.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-4.52f19088dd3f.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF8-V.380c81f19a76.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-UCS2.af9f90c0950e.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.982413ac0838.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-1.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF32-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/RKSJ-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/NWP-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBTpc-EUC-V.e8eba8d9c036.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UCS2-H.1bccd691db02.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GB-V.576c153301c9.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90pv-RKSJ-H.87fe105691f6.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF8-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF32-H.7e80b8251c61.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/NWP-H.b7cce8e1696a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-HW-H.d2890889e32e.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78ms-RKSJ-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-H.573d3648c770.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/CNS-EUC-H.25edb8902ccd.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-2.c32fa54e54bd.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-1.84eb56b5caf7.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBK2K-H.ace168da9220.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/LICENSE' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-H.f78457b4f98a.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX0213-UTF32-H.1af0093c3e86.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-5.123581eb0976.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GB-EUC-H.1982d7870002.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-V.f70574fdd480.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-UCS2.35f4e7f02523.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF16-H.84f5a941b571.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/83pv-RKSJ-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/LICENSE.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKscs-B5-V.2806aabef1c7.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF32-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF32-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/RKSJ-V.4bda602f6d2c.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90pv-RKSJ-V.a6bea88d2434.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKdlb-B5-H.3e1ec904aae2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF16-H.84f5a941b571.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF8-V.029c1bbcf404.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-5.6f7e75c26fd0.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/CNS-EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Add-RKSJ-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-4.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-5.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-EUC-V.f5ff779f0b6e.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF32-V.b5d631a40f70.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GB-EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-RKSJ-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/CNS2-H.6ceb8bae07c4.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-3.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/B5pc-V.f082e890137d.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKdlb-B5-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF32-H.ffd5764a6de2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-3.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF8-H.23efe636bda2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-RKSJ-V.4b3106c186de.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-1.1706915b9e35.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/ETenms-B5-V.fd9fcb08808a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKgccs-B5-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UCS2-V.b3a9a06f3284.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GB-EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF16-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF16-V.cd2354135bdc.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-2.4b816ff568b2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-RKSJ-V.5c65c928ce1d.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-0.8bd552079ccb.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-5.123581eb0976.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/ETHK-B5-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-5.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBK-EUC-H.546ff998ffca.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-3.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UCS2-V.2e01733017a1.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCpc-EUC-V.65e5a7c51efe.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-3.68996101860e.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF32-V.bae31bac63e6.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-3.68996101860e.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-H.d3c57acf7d97.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-EUC-H.6d23b789047f.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/EUC-V.085cdc069606.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/ETen-B5-V.20fc6bca6d21.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-4.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90ms-RKSJ-H.f004fca8008b.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/CNS1-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKm471-B5-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-RKSJ-H.efcdf16f5fd9.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-EUC-V.5d7d0e488fb5.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-4.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-UCS2.35f4e7f02523.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-0.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/B5-H.683aa95fc49a.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Roman.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-6.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-Johab-H.45d61007e376.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/NWP-V.562550c483c2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-1.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-Johab-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/ETHK-B5-H.6992841a10b5.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBpc-EUC-H.f5693d775aec.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/NWP-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKdlb-B5-V.92dc4bf1a456.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKscs-B5-H.1bd13e99b26e.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-RKSJ-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-Johab-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-V.0d300f0f9e60.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKm314-B5-V.4286ece506e5.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF32-H.0c33937aceaa.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBKp-EUC-H.ae828bc249c7.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF8-H.efe5b01ff58a.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKm314-B5-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/WP-Symbol.b24c3ddd810f.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/B5-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCpc-EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBTpc-EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90ms-RKSJ-H.f004fca8008b.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/KSCpc-EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-H.4e90c37287e2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-6.50690e841492.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/ETen-B5-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Hankaku.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBpc-EUC-H.f5693d775aec.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-H.1185e3229597.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBK-EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-1.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBK2K-V.3e25abf6ef78.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/ETen-B5-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/CNS1-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF32-V.bae31bac63e6.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBKp-EUC-V.986a674beebb.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF16-H.8243da01521d.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-V.b4ce24d7d1f8.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBK2K-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-Johab-V.7c054594c09a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-H.1185e3229597.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-RKSJ-H.bb6a6dfab041.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/B5-H.683aa95fc49a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX0213-UTF32-V.c7b74503909b.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-H.f6efdbb61d3d.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78ms-RKSJ-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UCS2-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/CNS2-V.1a116f3db2e9.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKm314-B5-H.6cef006196f7.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF16-V.db6a81ba21b8.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-1.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-V.0d300f0f9e60.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-0.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Katakana.28405011de4a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKscs-B5-H.1bd13e99b26e.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-V.c6bf9c0e52ed.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX0213-UTF32-H.1af0093c3e86.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-4.1d1305c42d75.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF32-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF8-H.23efe636bda2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-4.e21e5a23751a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX02132004-UTF32-H.78f91a094e3b.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Add-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKdlb-B5-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-3.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/NWP-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/CNS1-H.e2abbde56299.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-V.54bac7377fcb.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-H.573d3648c770.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-0.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-1.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UCS2-H.94e0d8eda9e3.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GB-H.69530bd74ed5.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF16-H.f3f4d4d46382.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/H.627aeed8bfcc.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX02132004-UTF32-H.78f91a094e3b.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF16-V.db6a81ba21b8.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-EUC-H.28a11b2394ff.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF8-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBKp-EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-1.8cb590d42c29.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-0.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/90msp-RKSJ-H.155fc53b2991.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKgccs-B5-H.9261c86d4041.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Hankaku.417dcb6fd949.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/90pv-RKSJ-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-EUC-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF8-V.8920d1533828.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBK-EUC-V.e801ec722f7e.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKdla-B5-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-H.858801396e70.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF32-H.7e80b8251c61.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90pv-RKSJ-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-UCS2.6a32d36d3701.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-V.f70574fdd480.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UCS2-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBpc-EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/ETHK-B5-V.7a10542e0ff8.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-RKSJ-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-5.6f7e75c26fd0.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-0.f2997b05ae8a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKm314-B5-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GB-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90ms-RKSJ-V.04d52a362bd8.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-RKSJ-H.bb6a6dfab041.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90msp-RKSJ-H.155fc53b2991.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF16-V.273d10d22bfd.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF8-H.48bfd0033258.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBpc-EUC-V.b5cde365a486.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/LICENSE.18b1bb59e2be.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78ms-RKSJ-H.fe0b824fd3c0.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UCS2-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKm471-B5-H.1aae686eacbd.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/NWP-H.b7cce8e1696a.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX0213-UTF32-V.c7b74503909b.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78ms-RKSJ-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF32-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90pv-RKSJ-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF32-H.0c33937aceaa.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF8-H.efe5b01ff58a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-1.84eb56b5caf7.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF32-H.d8fe0443a041.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/LICENSE.18b1bb59e2be' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF8-H.48bfd0033258.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-H.858801396e70.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCpc-EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-2.1752dd13143d.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-RKSJ-H.a3820f0a3029.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-H.f78457b4f98a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-6.1c541669cdee.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF8-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UCS2-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/V.fe6a49931909.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF8-V.8920d1533828.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/B5pc-H.ad22300d6dba.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/90ms-RKSJ-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78ms-RKSJ-V.4a0fc4d9e4b2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UCS2-H.1bccd691db02.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-3.be5c8267c6fe.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-2.a935e26eb051.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF16-V.cd2354135bdc.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBK2K-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Hiragana.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKm471-B5-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GB-EUC-V.4489f113f640.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-RKSJ-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-RKSJ-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GB-EUC-H.1982d7870002.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90msp-RKSJ-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF32-V.d1716f8249d5.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-0.f2997b05ae8a.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78ms-RKSJ-H.fe0b824fd3c0.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-6.1c541669cdee.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF16-H.197ead1238cf.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-3.a97917c0e0f2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/ETHK-B5-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-0.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-4.52f19088dd3f.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/CNS-EUC-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/ETen-B5-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-0.175673c4e9ae.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX02132004-UTF32-V.34a245178a07.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-V.54bac7377fcb.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISX02132004-UTF32-V.34a245178a07.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBK2K-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBpc-EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Hiragana.649cb471527a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/ETHK-B5-H.6992841a10b5.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/90ms-RKSJ-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-2.a935e26eb051.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKgccs-B5-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF32-H.d8fe0443a041.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/B5pc-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GB-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/ETenms-B5-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-HW-H.d2890889e32e.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBKp-EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-0.8bd552079ccb.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBK-EUC-H.546ff998ffca.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Add-RKSJ-V.0caedf6b6009.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF16-H.8243da01521d.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-HW-H.88d9668d4e0f.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-0.175673c4e9ae.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/CNS2-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF16-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-EUC-V.61f1b5baf1ce.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-V.c6bf9c0e52ed.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/CNS-EUC-H.25edb8902ccd.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-UCS2.2b666a3cd23b.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF16-H.1f037331a2bf.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/CNS-EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-HW-V.86ac1bd54fad.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/B5pc-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Add-RKSJ-V.0caedf6b6009.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90pv-RKSJ-H.87fe105691f6.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-4.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBpc-EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-EUC-V.5d7d0e488fb5.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF8-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-EUC-H.a109d1ca6837.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-3.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-5.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF16-V.816ee62d9505.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-0.a066edf925d6.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKdla-B5-V.09e2c1b09885.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/EUC-H.a148cb650e78.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/CNS1-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF16-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBKp-EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF32-V.b5d631a40f70.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF8-H.edcae260fcd8.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF8-V.029c1bbcf404.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-1.2296cdd2b9e9.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCpc-EUC-H.6beae596a780.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-4.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-3.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GB-EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-EUC-H.a109d1ca6837.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UCS2-H.f19fb20d2b1c.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-UCS2.6a32d36d3701.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GB-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-4.e21e5a23751a.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/B5-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-RKSJ-H.a3820f0a3029.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/ETHK-B5-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/B5-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-V.8a7816d2df1d.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBTpc-EUC-H.25eeeca5113b.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UCS2-V.e612b97dc2bf.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UCS2-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/B5pc-H.ad22300d6dba.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/EUC-V.085cdc069606.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-RKSJ-H.efcdf16f5fd9.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UCS2-V.b3a9a06f3284.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-0.a066edf925d6.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF32-H.09e701c16b91.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/B5pc-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF16-H.1f037331a2bf.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-6.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90ms-RKSJ-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKgccs-B5-V.f132983d5f54.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF16-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-0.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/ETenms-B5-H.c00836e71e8c.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90msp-RKSJ-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-Johab-H.45d61007e376.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBKp-EUC-H.ae828bc249c7.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-EUC-H.6d23b789047f.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/CNS1-H.e2abbde56299.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/ETenms-B5-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-RKSJ-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-2.1752dd13143d.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UTF8-V.870c2e8dbbce.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UCS2-H.94e0d8eda9e3.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-1.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-2.4b816ff568b2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UCS2-V.b5f48b86ad0a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-HW-V.32424d5d8451.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UCS2-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF8-V.f7b676cfe90f.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF8-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/B5-V.dd87b4ad5c26.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF16-H.f3f4d4d46382.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/ETen-B5-H.64f3db1a350a.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Add-H.f6efdbb61d3d.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKscs-B5-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF8-H.edcae260fcd8.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF8-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF8-H.ce0f823592f5.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBK-EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF16-V.0d45980df876.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/EUC-H.a148cb650e78.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-5.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF16-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/CNS2-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-5.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-5.4fe4c440c3f0.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-5.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-4.1d1305c42d75.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF32-H.ffd5764a6de2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-EUC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKdla-B5-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-H.d3c57acf7d97.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF32-H.09e701c16b91.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF8-H.ce0f823592f5.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBTpc-EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBK2K-H.ace168da9220.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-1.8cb590d42c29.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-4.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKscs-B5-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF32-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-6.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBK-EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-HW-V.86ac1bd54fad.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF32-V.2db93aee01ee.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/NWP-V.562550c483c2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/RKSJ-H.8bcf3f8777b3.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/NWP-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/90msp-RKSJ-V.22e09450e898.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Katakana.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-6.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-RKSJ-V.4b3106c186de.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/HKm471-B5-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/CNS-EUC-V.dfc3bd3ebe7c.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKm314-B5-H.6cef006196f7.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/RKSJ-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.982413ac0838.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/83pv-RKSJ-H.94b942a27404.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-RKSJ-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-1.2296cdd2b9e9.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Roman.ccd95559d60a.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniGB-UTF16-H.197ead1238cf.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-0.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/KSC-EUC-H.28a11b2394ff.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/83pv-RKSJ-H.94b942a27404.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-5.4fe4c440c3f0.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/EUC-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/GBTpc-EUC-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/GBT-H.4e90c37287e2.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-1.1706915b9e35.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/78-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-GB1-1.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/HKm471-B5-H.1aae686eacbd.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Add-V.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-RKSJ-V.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCms-UHC-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-0.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/CNS1-V.2793eed7c844.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/UniKS-UTF32-V.534254835ba6.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/KSCpc-EUC-H.6beae596a780.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Japan1-3.a97917c0e0f2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Ext-RKSJ-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/78-RKSJ-H.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/90msp-RKSJ-H.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-CNS1-2.bcmap.gz' +tandoor | Deleting 'pdfjs/web/cmaps/V.fe6a49931909.bcmap' +tandoor | Deleting 'pdfjs/web/cmaps/Adobe-Korea1-UCS2.2b666a3cd23b.bcmap' +tandoor | Deleting 'pdfjs/web/iccs/LICENSE.4aee218077eb.gz' +tandoor | Deleting 'pdfjs/web/iccs/LICENSE' +tandoor | Deleting 'pdfjs/web/iccs/LICENSE.gz' +tandoor | Deleting 'pdfjs/web/iccs/CGATS001Compat-v2-micro.56a85233ee08.icc.gz' +tandoor | Deleting 'pdfjs/web/iccs/CGATS001Compat-v2-micro.56a85233ee08.icc' +tandoor | Deleting 'pdfjs/web/iccs/LICENSE.4aee218077eb' +tandoor | Deleting 'pdfjs/web/iccs/CGATS001Compat-v2-micro.icc.gz' +tandoor | Deleting 'pdfjs/web/iccs/CGATS001Compat-v2-micro.icc' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerif.65b3795a0744.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixed.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Regular.dceebf9db79d.ttf.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifBold.1cd12e9c39eb.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LICENSE_FOXIT.defd64fe3646.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixed.7a3a48722942.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Bold.ttf' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedBold.4225d6a0b272.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedItalic.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitDingbats.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerif.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Italic.d235bec3a6ae.ttf.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Bold.ttf.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifItalic.317e62150266.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LICENSE_LIBERATION' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Italic.ttf.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedBoldItalic.02c104df79fe.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/LICENSE_FOXIT' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedItalic.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedBold.4225d6a0b272.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Bold.a720cdc76cac.ttf' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-BoldItalic.c190aa8a01fe.ttf.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Italic.ttf' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifItalic.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LICENSE_LIBERATION.f96db970a9a4.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LICENSE_LIBERATION.f96db970a9a4' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Regular.ttf.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerif.65b3795a0744.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSymbol.bf32dea01c56.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSymbol.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifBoldItalic.727374189158.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedBold.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerif.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSymbol.bf32dea01c56.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/LICENSE_LIBERATION.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifBold.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedBold.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifBoldItalic.727374189158.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixed.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifItalic.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifBold.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSymbol.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedItalic.1fe3439747ae.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Bold.a720cdc76cac.ttf.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LICENSE_FOXIT.defd64fe3646' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitDingbats.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Italic.d235bec3a6ae.ttf' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedItalic.1fe3439747ae.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LICENSE_FOXIT.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Regular.dceebf9db79d.ttf' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixed.7a3a48722942.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifBold.1cd12e9c39eb.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitSerifItalic.317e62150266.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-Regular.ttf' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitDingbats.0ede4a10145b.pfb' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitDingbats.0ede4a10145b.pfb.gz' +tandoor | Deleting 'pdfjs/web/standard_fonts/LiberationSans-BoldItalic.c190aa8a01fe.ttf' +tandoor | Deleting 'pdfjs/web/standard_fonts/FoxitFixedBoldItalic.02c104df79fe.pfb.gz' +tandoor | Deleting 'pdfjs/web/images/findbarButton-previous.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-check.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewThumbnail.svg' +tandoor | Deleting 'pdfjs/web/images/cursor-editorInk.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_disclaimer.ef10d19bb309.svg.gz' +tandoor | Deleting 'pdfjs/web/images/gv-toolbarButton-download.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-noicon.6508f26ea254.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-print.f72bda736f41.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorInk.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollPage.f001ec02d59d.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_done.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewAttachments.2624927ca6a9.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_warning.35b678cfb41e.svg' +tandoor | Deleting 'pdfjs/web/images/treeitem-collapsed.57e07b703e74.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-zoomIn.svg.gz' +tandoor | Deleting 'pdfjs/web/images/cursor-editorInk.6cf7a147a226.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorHighlight.e35e6de31bda.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-search.460a4f30268e.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-pushpin.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_disclaimer.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollVertical.b5a84c07efc4.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorFreeText.116ff1252db7.svg.gz' +tandoor | Deleting 'pdfjs/web/images/cursor-editorFreeHighlight.8054bb528a9d.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorSignature.c820c304b4a8.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-firstPage.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollWrapped.65eab208698a.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-presentationMode.e5e5e2bd092d.svg.gz' +tandoor | Deleting 'pdfjs/web/images/findbarButton-next.e2824495a76d.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-firstPage.91a9b8bc9176.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewOutline.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewThumbnail.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-comment.4f3d3d9b61d1.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-secondaryToolbarToggle.15c198a9e82f.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-openFile.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorHighlight.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-check.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_disclaimer.ef10d19bb309.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewAttachments.2624927ca6a9.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollWrapped.65eab208698a.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-zoomOut.950d42d11051.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-lastPage.c27d30a24554.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-bookmark.svg' +tandoor | Deleting 'pdfjs/web/images/loading-icon.gif' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-print.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorInk.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-presentationMode.e5e5e2bd092d.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-zoomOut.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-selectTool.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-documentProperties.3a16ee372968.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-handTool.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-comment.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorStamp.322a49e2ebb9.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-note.svg' +tandoor | Deleting 'pdfjs/web/images/altText_add.8f64f825ec04.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-sidebarToggle.6e9a87e8892b.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewOutline.3c685c673deb.svg.gz' +tandoor | Deleting 'pdfjs/web/images/findbarButton-previous.2c51564fbaee.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadOdd.27a437431079.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorFreeText.116ff1252db7.svg' +tandoor | Deleting 'pdfjs/web/images/messageBar_closingButton.2bb192d16ff2.svg.gz' +tandoor | Deleting 'pdfjs/web/images/messageBar_warning.55f5dbae780e.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_done.c4109a701d4d.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-openFile.b028067475ee.svg' +tandoor | Deleting 'pdfjs/web/images/cursor-editorTextHighlight.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-openFile.svg.gz' +tandoor | Deleting 'pdfjs/web/images/treeitem-collapsed.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadNone.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorInk.8f1b37788128.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-check.1aac80711a19.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadEven.cb937aafab1c.svg' +tandoor | Deleting 'pdfjs/web/images/cursor-editorInk.6cf7a147a226.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-rotateCcw.cf46d5e2ca65.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-noicon.svg' +tandoor | Deleting 'pdfjs/web/images/gv-toolbarButton-download.886a2c8c553e.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-zoomIn.7393db490c10.svg' +tandoor | Deleting 'pdfjs/web/images/editor-toolbar-delete.b4de8e7f03f8.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewLayers.e05350ecb3f3.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-documentProperties.svg' +tandoor | Deleting 'pdfjs/web/images/altText_add.8f64f825ec04.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-zoomIn.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorHighlight.svg.gz' +tandoor | Deleting 'pdfjs/web/images/cursor-editorFreeHighlight.8054bb528a9d.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-menuArrow.f1e2c311332e.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-lastPage.svg' +tandoor | Deleting 'pdfjs/web/images/cursor-editorFreeText.3626649fe7b8.svg.gz' +tandoor | Deleting 'pdfjs/web/images/messageBar_warning.55f5dbae780e.svg' +tandoor | Deleting 'pdfjs/web/images/editor-toolbar-delete.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-download.1c49e5945ebb.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-sidebarToggle.6e9a87e8892b.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-note.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewOutline.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-noicon.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-print.svg' +tandoor | Deleting 'pdfjs/web/images/cursor-editorFreeHighlight.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-zoomOut.950d42d11051.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-pageDown.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollPage.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_done.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-newparagraph.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-currentOutlineItem.7f4b752b494a.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-pageUp.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-handTool.svg.gz' +tandoor | Deleting 'pdfjs/web/images/cursor-editorTextHighlight.ab8563f299c4.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-insert.790992abfc50.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-currentOutlineItem.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-paperclip.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-download.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollPage.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-selectTool.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-menuArrow.f1e2c311332e.svg.gz' +tandoor | Deleting 'pdfjs/web/images/findbarButton-next.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-handTool.0e155713a95a.svg.gz' +tandoor | Deleting 'pdfjs/web/images/gv-toolbarButton-download.886a2c8c553e.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-pageUp.svg' +tandoor | Deleting 'pdfjs/web/images/editor-toolbar-edit.svg.gz' +tandoor | Deleting 'pdfjs/web/images/messageBar_closingButton.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-pageUp.a7bde62b304e.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-handTool.0e155713a95a.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-zoomIn.7393db490c10.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadNone.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-selectTool.0995cdd62aba.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-bookmark.f92ef9c0fe7c.svg.gz' +tandoor | Deleting 'pdfjs/web/images/findbarButton-next.e2824495a76d.svg' +tandoor | Deleting 'pdfjs/web/images/editor-toolbar-edit.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-lastPage.c27d30a24554.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-currentOutlineItem.7f4b752b494a.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewAttachments.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-pageDown.f06920438026.svg' +tandoor | Deleting 'pdfjs/web/images/altText_add.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-firstPage.svg.gz' +tandoor | Deleting 'pdfjs/web/images/treeitem-expanded.svg' +tandoor | Deleting 'pdfjs/web/images/cursor-editorTextHighlight.ab8563f299c4.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewOutline.3c685c673deb.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadEven.svg' +tandoor | Deleting 'pdfjs/web/images/editor-toolbar-delete.b4de8e7f03f8.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-comment.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-paragraph.da51c08160d0.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-insert.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-pageUp.a7bde62b304e.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-key.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewThumbnail.b74203eb9c9b.svg' +tandoor | Deleting 'pdfjs/web/images/altText_disclaimer.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorFreeText.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-download.svg' +tandoor | Deleting 'pdfjs/web/images/cursor-editorFreeHighlight.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-insert.svg' +tandoor | Deleting 'pdfjs/web/images/altText_warning.svg' +tandoor | Deleting 'pdfjs/web/images/cursor-editorFreeText.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewAttachments.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-note.832e3217eb76.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-menuArrow.svg' +tandoor | Deleting 'pdfjs/web/images/loading.28e82fa82756.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-pushpin.cd64866e884b.svg' +tandoor | Deleting 'pdfjs/web/images/altText_done.c4109a701d4d.svg.gz' +tandoor | Deleting 'pdfjs/web/images/cursor-editorTextHighlight.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-sidebarToggle.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorHighlight.e35e6de31bda.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-noicon.6508f26ea254.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-sidebarToggle.svg.gz' +tandoor | Deleting 'pdfjs/web/images/editor-toolbar-edit.65537b446420.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollVertical.b5a84c07efc4.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorFreeText.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-menuArrow.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-openFile.b028067475ee.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_spinner.svg.gz' +tandoor | Deleting 'pdfjs/web/images/findbarButton-next.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorInk.8f1b37788128.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-rotateCw.3fbd44c0002c.svg' +tandoor | Deleting 'pdfjs/web/images/loading-icon.faa74e8c61fc.gif' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-presentationMode.svg.gz' +tandoor | Deleting 'pdfjs/web/images/messageBar_warning.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-search.460a4f30268e.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewLayers.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorSignature.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-pageDown.f06920438026.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-firstPage.91a9b8bc9176.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-search.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-paperclip.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg' +tandoor | Deleting 'pdfjs/web/images/findbarButton-previous.2c51564fbaee.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadOdd.27a437431079.svg' +tandoor | Deleting 'pdfjs/web/images/altText_warning.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-pageDown.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-rotateCw.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-paperclip.95261db8f469.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-bookmark.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-key.40015bde1722.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.065b34ce2cca.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorStamp.svg' +tandoor | Deleting 'pdfjs/web/images/loading.28e82fa82756.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewLayers.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-help.6ec1ca7b8aa8.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadEven.cb937aafab1c.svg.gz' +tandoor | Deleting 'pdfjs/web/images/cursor-editorFreeText.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-comment.4f3d3d9b61d1.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-help.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-paperclip.95261db8f469.svg.gz' +tandoor | Deleting 'pdfjs/web/images/loading.svg.gz' +tandoor | Deleting 'pdfjs/web/images/editor-toolbar-edit.65537b446420.svg' +tandoor | Deleting 'pdfjs/web/images/treeitem-expanded.af9e269b3a69.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadNone.b11634325efd.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorSignature.c820c304b4a8.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_add.svg.gz' +tandoor | Deleting 'pdfjs/web/images/cursor-editorInk.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-pushpin.cd64866e884b.svg.gz' +tandoor | Deleting 'pdfjs/web/images/messageBar_closingButton.2bb192d16ff2.svg' +tandoor | Deleting 'pdfjs/web/images/messageBar_closingButton.svg.gz' +tandoor | Deleting 'pdfjs/web/images/messageBar_warning.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadEven.svg.gz' +tandoor | Deleting 'pdfjs/web/images/findbarButton-previous.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-rotateCcw.cf46d5e2ca65.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-documentProperties.3a16ee372968.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-newparagraph.bb7062f13b8c.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-selectTool.0995cdd62aba.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-paragraph.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-rotateCw.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-paragraph.da51c08160d0.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-pushpin.svg' +tandoor | Deleting 'pdfjs/web/images/altText_spinner.ada404c159a4.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-bookmark.f92ef9c0fe7c.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-newparagraph.bb7062f13b8c.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-note.832e3217eb76.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-documentProperties.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorSignature.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-newparagraph.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-key.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_spinner.ada404c159a4.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-help.svg' +tandoor | Deleting 'pdfjs/web/images/loading.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-print.f72bda736f41.svg' +tandoor | Deleting 'pdfjs/web/images/editor-toolbar-delete.svg.gz' +tandoor | Deleting 'pdfjs/web/images/gv-toolbarButton-download.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewLayers.e05350ecb3f3.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-lastPage.svg.gz' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollPage.f001ec02d59d.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-paragraph.svg.gz' +tandoor | Deleting 'pdfjs/web/images/altText_spinner.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-download.1c49e5945ebb.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-rotateCw.3fbd44c0002c.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-currentOutlineItem.svg' +tandoor | Deleting 'pdfjs/web/images/annotation-insert.790992abfc50.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-check.1aac80711a19.svg' +tandoor | Deleting 'pdfjs/web/images/cursor-editorFreeText.3626649fe7b8.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-secondaryToolbarToggle.15c198a9e82f.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-help.6ec1ca7b8aa8.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorStamp.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-presentationMode.svg' +tandoor | Deleting 'pdfjs/web/images/altText_warning.35b678cfb41e.svg.gz' +tandoor | Deleting 'pdfjs/web/images/annotation-key.40015bde1722.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-viewThumbnail.b74203eb9c9b.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-search.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-spreadNone.b11634325efd.svg' +tandoor | Deleting 'pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.065b34ce2cca.svg' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-zoomOut.svg.gz' +tandoor | Deleting 'pdfjs/web/images/toolbarButton-editorStamp.322a49e2ebb9.svg' +tandoor | Deleting 'pdfjs/web/locale/locale.f40d549c914b.json' +tandoor | Deleting 'pdfjs/web/locale/locale.json' +tandoor | Deleting 'pdfjs/web/locale/locale.f40d549c914b.json.gz' +tandoor | Deleting 'pdfjs/web/locale/locale.json.gz' +tandoor | Deleting 'pdfjs/web/locale/be/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/be/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/be/viewer.c564ec0f1e63.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/be/viewer.c564ec0f1e63.ftl' +tandoor | Deleting 'pdfjs/web/locale/ar/viewer.0b2f60b1e554.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ar/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ar/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ar/viewer.0b2f60b1e554.ftl' +tandoor | Deleting 'pdfjs/web/locale/an/viewer.6018db9628b9.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/an/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/an/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/an/viewer.6018db9628b9.ftl' +tandoor | Deleting 'pdfjs/web/locale/scn/viewer.513ea15f893d.ftl' +tandoor | Deleting 'pdfjs/web/locale/scn/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/scn/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/scn/viewer.513ea15f893d.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sq/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/sq/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sq/viewer.7952a97e114d.ftl' +tandoor | Deleting 'pdfjs/web/locale/sq/viewer.7952a97e114d.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/cs/viewer.f21329e87e4a.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/cs/viewer.f21329e87e4a.ftl' +tandoor | Deleting 'pdfjs/web/locale/cs/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/cs/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/en-CA/viewer.08ab1f29d568.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/en-CA/viewer.08ab1f29d568.ftl' +tandoor | Deleting 'pdfjs/web/locale/en-CA/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/en-CA/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/zh-CN/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/zh-CN/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/zh-CN/viewer.01dd04b0205a.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/zh-CN/viewer.01dd04b0205a.ftl' +tandoor | Deleting 'pdfjs/web/locale/sl/viewer.f6bbb9e6ff9a.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sl/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/sl/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sl/viewer.f6bbb9e6ff9a.ftl' +tandoor | Deleting 'pdfjs/web/locale/es-AR/viewer.5c3f6229591b.ftl' +tandoor | Deleting 'pdfjs/web/locale/es-AR/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/es-AR/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/es-AR/viewer.5c3f6229591b.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ja/viewer.a46a2647c9a8.ftl' +tandoor | Deleting 'pdfjs/web/locale/ja/viewer.a46a2647c9a8.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ja/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ja/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/nl/viewer.c72db36b26cc.ftl' +tandoor | Deleting 'pdfjs/web/locale/nl/viewer.c72db36b26cc.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/nl/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/nl/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/de/viewer.deff0d73438f.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/de/viewer.deff0d73438f.ftl' +tandoor | Deleting 'pdfjs/web/locale/de/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/de/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/nn-NO/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/nn-NO/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/nn-NO/viewer.05ad4fab51ec.ftl' +tandoor | Deleting 'pdfjs/web/locale/nn-NO/viewer.05ad4fab51ec.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hu/viewer.4f070c99e031.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hu/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/hu/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hu/viewer.4f070c99e031.ftl' +tandoor | Deleting 'pdfjs/web/locale/id/viewer.4c75837432b1.ftl' +tandoor | Deleting 'pdfjs/web/locale/id/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/id/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/id/viewer.4c75837432b1.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sc/viewer.a19f714fda60.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sc/viewer.a19f714fda60.ftl' +tandoor | Deleting 'pdfjs/web/locale/sc/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/sc/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/uz/viewer.c16830eba28c.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/uz/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/uz/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/uz/viewer.c16830eba28c.ftl' +tandoor | Deleting 'pdfjs/web/locale/bs/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/bs/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/bs/viewer.fd0ae35a7e72.ftl' +tandoor | Deleting 'pdfjs/web/locale/bs/viewer.fd0ae35a7e72.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/pa-IN/viewer.6d51ad33a779.ftl' +tandoor | Deleting 'pdfjs/web/locale/pa-IN/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/pa-IN/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/pa-IN/viewer.6d51ad33a779.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/az/viewer.6486598a4c04.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/az/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/az/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/az/viewer.6486598a4c04.ftl' +tandoor | Deleting 'pdfjs/web/locale/el/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/el/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/el/viewer.d37a9038e13d.ftl' +tandoor | Deleting 'pdfjs/web/locale/el/viewer.d37a9038e13d.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/es-ES/viewer.f832cf908d1b.ftl' +tandoor | Deleting 'pdfjs/web/locale/es-ES/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/es-ES/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/es-ES/viewer.f832cf908d1b.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ia/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ia/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ia/viewer.4d89b20224f9.ftl' +tandoor | Deleting 'pdfjs/web/locale/ia/viewer.4d89b20224f9.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/lij/viewer.a3e9dfe89496.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/lij/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/lij/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/lij/viewer.a3e9dfe89496.ftl' +tandoor | Deleting 'pdfjs/web/locale/hi-IN/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/hi-IN/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hi-IN/viewer.28425be686fe.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hi-IN/viewer.28425be686fe.ftl' +tandoor | Deleting 'pdfjs/web/locale/si/viewer.b9ef9a19e8e3.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/si/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/si/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/si/viewer.b9ef9a19e8e3.ftl' +tandoor | Deleting 'pdfjs/web/locale/eo/viewer.dbd5bc6d945c.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/eo/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/eo/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/eo/viewer.dbd5bc6d945c.ftl' +tandoor | Deleting 'pdfjs/web/locale/ach/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ach/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ach/viewer.cf4fc69e8a64.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ach/viewer.cf4fc69e8a64.ftl' +tandoor | Deleting 'pdfjs/web/locale/kab/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/kab/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/kab/viewer.57ed5ac0ecb8.ftl' +tandoor | Deleting 'pdfjs/web/locale/kab/viewer.57ed5ac0ecb8.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/cy/viewer.a36a354f4faf.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/cy/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/cy/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/cy/viewer.a36a354f4faf.ftl' +tandoor | Deleting 'pdfjs/web/locale/zh-TW/viewer.d94f79b19818.ftl' +tandoor | Deleting 'pdfjs/web/locale/zh-TW/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/zh-TW/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/zh-TW/viewer.d94f79b19818.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fi/viewer.6e170e727daf.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fi/viewer.6e170e727daf.ftl' +tandoor | Deleting 'pdfjs/web/locale/fi/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/fi/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/tr/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/tr/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/tr/viewer.0b210aadc91f.ftl' +tandoor | Deleting 'pdfjs/web/locale/tr/viewer.0b210aadc91f.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ta/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ta/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ta/viewer.efb27fa79cc6.ftl' +tandoor | Deleting 'pdfjs/web/locale/ta/viewer.efb27fa79cc6.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/et/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/et/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/et/viewer.34dde653c4f5.ftl' +tandoor | Deleting 'pdfjs/web/locale/et/viewer.34dde653c4f5.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sat/viewer.d5c895d7853f.ftl' +tandoor | Deleting 'pdfjs/web/locale/sat/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/sat/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sat/viewer.d5c895d7853f.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/he/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/he/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/he/viewer.847e4d5942a8.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/he/viewer.847e4d5942a8.ftl' +tandoor | Deleting 'pdfjs/web/locale/kn/viewer.122972004219.ftl' +tandoor | Deleting 'pdfjs/web/locale/kn/viewer.122972004219.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/kn/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/kn/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/gd/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/gd/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/gd/viewer.392374d4db26.ftl' +tandoor | Deleting 'pdfjs/web/locale/gd/viewer.392374d4db26.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/pl/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/pl/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/pl/viewer.138557f5ee29.ftl' +tandoor | Deleting 'pdfjs/web/locale/pl/viewer.138557f5ee29.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/pt-PT/viewer.e71b515e0650.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/pt-PT/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/pt-PT/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/pt-PT/viewer.e71b515e0650.ftl' +tandoor | Deleting 'pdfjs/web/locale/km/viewer.583a8fb1f217.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/km/viewer.583a8fb1f217.ftl' +tandoor | Deleting 'pdfjs/web/locale/km/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/km/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/mr/viewer.110826082775.ftl' +tandoor | Deleting 'pdfjs/web/locale/mr/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/mr/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/mr/viewer.110826082775.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/pt-BR/viewer.85db96d68c0d.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/pt-BR/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/pt-BR/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/pt-BR/viewer.85db96d68c0d.ftl' +tandoor | Deleting 'pdfjs/web/locale/sv-SE/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/sv-SE/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sv-SE/viewer.2e8d62757f63.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sv-SE/viewer.2e8d62757f63.ftl' +tandoor | Deleting 'pdfjs/web/locale/ur/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ur/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ur/viewer.a606ff13bce3.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ur/viewer.a606ff13bce3.ftl' +tandoor | Deleting 'pdfjs/web/locale/oc/viewer.fcc8065e0acc.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/oc/viewer.fcc8065e0acc.ftl' +tandoor | Deleting 'pdfjs/web/locale/oc/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/oc/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fy-NL/viewer.2fbdbcd7645f.ftl' +tandoor | Deleting 'pdfjs/web/locale/fy-NL/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/fy-NL/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fy-NL/viewer.2fbdbcd7645f.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ga-IE/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ga-IE/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ga-IE/viewer.b94993b844dc.ftl' +tandoor | Deleting 'pdfjs/web/locale/ga-IE/viewer.b94993b844dc.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hy-AM/viewer.68b15d6bc86a.ftl' +tandoor | Deleting 'pdfjs/web/locale/hy-AM/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/hy-AM/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hy-AM/viewer.68b15d6bc86a.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/en-GB/viewer.22cd5d0ed722.ftl' +tandoor | Deleting 'pdfjs/web/locale/en-GB/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/en-GB/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/en-GB/viewer.22cd5d0ed722.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/rm/viewer.778e33882a10.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/rm/viewer.778e33882a10.ftl' +tandoor | Deleting 'pdfjs/web/locale/rm/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/rm/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sco/viewer.f7027254e030.ftl' +tandoor | Deleting 'pdfjs/web/locale/sco/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/sco/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sco/viewer.f7027254e030.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/skr/viewer.c662f04c2139.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/skr/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/skr/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/skr/viewer.c662f04c2139.ftl' +tandoor | Deleting 'pdfjs/web/locale/wo/viewer.4d444e0a18ea.ftl' +tandoor | Deleting 'pdfjs/web/locale/wo/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/wo/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/wo/viewer.4d444e0a18ea.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hr/viewer.beecd7944d0e.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hr/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/hr/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hr/viewer.beecd7944d0e.ftl' +tandoor | Deleting 'pdfjs/web/locale/dsb/viewer.6aa6b41318d9.ftl' +tandoor | Deleting 'pdfjs/web/locale/dsb/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/dsb/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/dsb/viewer.6aa6b41318d9.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/tl/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/tl/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/tl/viewer.b9dba293b618.ftl' +tandoor | Deleting 'pdfjs/web/locale/tl/viewer.b9dba293b618.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/kk/viewer.dcb3b77ed74d.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/kk/viewer.dcb3b77ed74d.ftl' +tandoor | Deleting 'pdfjs/web/locale/kk/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/kk/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/trs/viewer.75609ff3af2a.ftl' +tandoor | Deleting 'pdfjs/web/locale/trs/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/trs/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/trs/viewer.75609ff3af2a.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/af/viewer.c363639afd91.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/af/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/af/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/af/viewer.c363639afd91.ftl' +tandoor | Deleting 'pdfjs/web/locale/ms/viewer.b76e866e10f7.ftl' +tandoor | Deleting 'pdfjs/web/locale/ms/viewer.b76e866e10f7.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ms/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ms/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fa/viewer.f2b93e20fa19.ftl' +tandoor | Deleting 'pdfjs/web/locale/fa/viewer.f2b93e20fa19.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fa/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/fa/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/uk/viewer.aee460abfbcd.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/uk/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/uk/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/uk/viewer.aee460abfbcd.ftl' +tandoor | Deleting 'pdfjs/web/locale/ckb/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ckb/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ckb/viewer.be51bebeea33.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ckb/viewer.be51bebeea33.ftl' +tandoor | Deleting 'pdfjs/web/locale/meh/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/meh/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/meh/viewer.fd09b3a1cda5.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/meh/viewer.fd09b3a1cda5.ftl' +tandoor | Deleting 'pdfjs/web/locale/my/viewer.7ebd82a60d52.ftl' +tandoor | Deleting 'pdfjs/web/locale/my/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/my/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/my/viewer.7ebd82a60d52.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fr/viewer.2499051f91e8.ftl' +tandoor | Deleting 'pdfjs/web/locale/fr/viewer.2499051f91e8.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fr/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/fr/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sk/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/sk/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sk/viewer.54f3fc9243ea.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sk/viewer.54f3fc9243ea.ftl' +tandoor | Deleting 'pdfjs/web/locale/ml/viewer.1edc12589da7.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ml/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ml/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ml/viewer.1edc12589da7.ftl' +tandoor | Deleting 'pdfjs/web/locale/nb-NO/viewer.b796610259f0.ftl' +tandoor | Deleting 'pdfjs/web/locale/nb-NO/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/nb-NO/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/nb-NO/viewer.b796610259f0.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/brx/viewer.5bd36e1bd2e4.ftl' +tandoor | Deleting 'pdfjs/web/locale/brx/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/brx/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/brx/viewer.5bd36e1bd2e4.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ne-NP/viewer.51740d469802.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ne-NP/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ne-NP/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ne-NP/viewer.51740d469802.ftl' +tandoor | Deleting 'pdfjs/web/locale/lv/viewer.9cd3950e11ed.ftl' +tandoor | Deleting 'pdfjs/web/locale/lv/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/lv/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/lv/viewer.9cd3950e11ed.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/bg/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/bg/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/bg/viewer.1813a8ebf330.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/bg/viewer.1813a8ebf330.ftl' +tandoor | Deleting 'pdfjs/web/locale/ltg/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ltg/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ltg/viewer.ab282633a3a6.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ltg/viewer.ab282633a3a6.ftl' +tandoor | Deleting 'pdfjs/web/locale/hye/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/hye/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hye/viewer.815c9ce78fe9.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hye/viewer.815c9ce78fe9.ftl' +tandoor | Deleting 'pdfjs/web/locale/gl/viewer.a0249bbe8148.ftl' +tandoor | Deleting 'pdfjs/web/locale/gl/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/gl/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/gl/viewer.a0249bbe8148.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/vi/viewer.55d8a0aa4ce4.ftl' +tandoor | Deleting 'pdfjs/web/locale/vi/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/vi/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/vi/viewer.55d8a0aa4ce4.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/bn/viewer.11d4b641a258.ftl' +tandoor | Deleting 'pdfjs/web/locale/bn/viewer.11d4b641a258.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/bn/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/bn/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/te/viewer.2a6d267dbad8.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/te/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/te/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/te/viewer.2a6d267dbad8.ftl' +tandoor | Deleting 'pdfjs/web/locale/es-MX/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/es-MX/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/es-MX/viewer.7c80faa7158d.ftl' +tandoor | Deleting 'pdfjs/web/locale/es-MX/viewer.7c80faa7158d.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ru/viewer.734c3abbc97e.ftl' +tandoor | Deleting 'pdfjs/web/locale/ru/viewer.734c3abbc97e.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ru/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ru/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hsb/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/hsb/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hsb/viewer.49557c4d502d.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/hsb/viewer.49557c4d502d.ftl' +tandoor | Deleting 'pdfjs/web/locale/xh/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/xh/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/xh/viewer.6261f29b0ed9.ftl' +tandoor | Deleting 'pdfjs/web/locale/xh/viewer.6261f29b0ed9.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ast/viewer.eacf750316b0.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ast/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ast/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ast/viewer.eacf750316b0.ftl' +tandoor | Deleting 'pdfjs/web/locale/th/viewer.3bc6dca3d585.ftl' +tandoor | Deleting 'pdfjs/web/locale/th/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/th/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/th/viewer.3bc6dca3d585.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/gu-IN/viewer.7bc4defa6e66.ftl' +tandoor | Deleting 'pdfjs/web/locale/gu-IN/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/gu-IN/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/gu-IN/viewer.7bc4defa6e66.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ro/viewer.bc3585c10820.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ro/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ro/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ro/viewer.bc3585c10820.ftl' +tandoor | Deleting 'pdfjs/web/locale/it/viewer.a60cc2ea7665.ftl' +tandoor | Deleting 'pdfjs/web/locale/it/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/it/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/it/viewer.a60cc2ea7665.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/lt/viewer.ccd624a539a7.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/lt/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/lt/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/lt/viewer.ccd624a539a7.ftl' +tandoor | Deleting 'pdfjs/web/locale/tg/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/tg/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/tg/viewer.65ae79d7795a.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/tg/viewer.65ae79d7795a.ftl' +tandoor | Deleting 'pdfjs/web/locale/ka/viewer.726c884de716.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ka/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ka/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ka/viewer.726c884de716.ftl' +tandoor | Deleting 'pdfjs/web/locale/br/viewer.9ce316fb48f0.ftl' +tandoor | Deleting 'pdfjs/web/locale/br/viewer.9ce316fb48f0.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/br/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/br/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/es-CL/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/es-CL/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/es-CL/viewer.671dc5ad6536.ftl' +tandoor | Deleting 'pdfjs/web/locale/es-CL/viewer.671dc5ad6536.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/is/viewer.711aced23e23.ftl' +tandoor | Deleting 'pdfjs/web/locale/is/viewer.711aced23e23.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/is/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/is/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/en-US/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/en-US/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/en-US/viewer.6c872cf51e9c.ftl' +tandoor | Deleting 'pdfjs/web/locale/en-US/viewer.6c872cf51e9c.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ff/viewer.ede090363096.ftl' +tandoor | Deleting 'pdfjs/web/locale/ff/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ff/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ff/viewer.ede090363096.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ko/viewer.1d42024f89f1.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ko/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ko/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ko/viewer.1d42024f89f1.ftl' +tandoor | Deleting 'pdfjs/web/locale/mk/viewer.4d53727c36d6.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/mk/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/mk/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/mk/viewer.4d53727c36d6.ftl' +tandoor | Deleting 'pdfjs/web/locale/cak/viewer.99b219e12663.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/cak/viewer.99b219e12663.ftl' +tandoor | Deleting 'pdfjs/web/locale/cak/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/cak/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/eu/viewer.3f6a4001d3fd.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/eu/viewer.3f6a4001d3fd.ftl' +tandoor | Deleting 'pdfjs/web/locale/eu/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/eu/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sr/viewer.44cadad1119f.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sr/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/sr/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/sr/viewer.44cadad1119f.ftl' +tandoor | Deleting 'pdfjs/web/locale/bo/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/bo/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/bo/viewer.58669ede7a6f.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/bo/viewer.58669ede7a6f.ftl' +tandoor | Deleting 'pdfjs/web/locale/ca/viewer.f6050d8dc127.ftl' +tandoor | Deleting 'pdfjs/web/locale/ca/viewer.f6050d8dc127.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/ca/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/ca/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/son/viewer.04c0e677244c.ftl' +tandoor | Deleting 'pdfjs/web/locale/son/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/son/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/son/viewer.04c0e677244c.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fur/viewer.cc1073ed5e0e.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fur/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/fur/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/fur/viewer.cc1073ed5e0e.ftl' +tandoor | Deleting 'pdfjs/web/locale/da/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/da/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/da/viewer.2673bc7476b8.ftl' +tandoor | Deleting 'pdfjs/web/locale/da/viewer.2673bc7476b8.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/lo/viewer.7516f0c910f9.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/lo/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/lo/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/lo/viewer.7516f0c910f9.ftl' +tandoor | Deleting 'pdfjs/web/locale/gn/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/gn/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/gn/viewer.3b40c9ba8bb1.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/gn/viewer.3b40c9ba8bb1.ftl' +tandoor | Deleting 'pdfjs/web/locale/szl/viewer.ftl' +tandoor | Deleting 'pdfjs/web/locale/szl/viewer.ftl.gz' +tandoor | Deleting 'pdfjs/web/locale/szl/viewer.0c1f8d6f9e9e.ftl' +tandoor | Deleting 'pdfjs/web/locale/szl/viewer.0c1f8d6f9e9e.ftl.gz' +tandoor | Deleting 'themes/tandoor.min.css.gz' +tandoor | Deleting 'themes/tandoor.min.e62f1984b5e4.css' +tandoor | Deleting 'themes/tandoor_dark.min.3bdb00cbb58c.css' +tandoor | Deleting 'themes/tandoor_dark.min.css' +tandoor | Deleting 'themes/tandoor.min.e62f1984b5e4.css.gz' +tandoor | Deleting 'themes/tandoor_dark.min.3bdb00cbb58c.css.gz' +tandoor | Deleting 'themes/tandoor_dark.min.css.gz' +tandoor | Deleting 'themes/tandoor.min.css' +tandoor | Deleting 'admin/css/unusable_password_field.b433f2a95fba.css' +tandoor | Deleting 'admin/css/dashboard.e90f2068217b.css.gz' +tandoor | Deleting 'admin/css/unusable_password_field.b433f2a95fba.css.gz' +tandoor | Deleting 'admin/css/base.css' +tandoor | Deleting 'admin/css/autocomplete.css.gz' +tandoor | Deleting 'admin/css/responsive.80b7f3c4f68f.css.gz' +tandoor | Deleting 'admin/css/responsive.80b7f3c4f68f.css' +tandoor | Deleting 'admin/css/dashboard.css.gz' +tandoor | Deleting 'admin/css/forms.css' +tandoor | Deleting 'admin/css/base.css.gz' +tandoor | Deleting 'admin/css/dashboard.e90f2068217b.css' +tandoor | Deleting 'admin/css/dark_mode.1215cee25eaa.css' +tandoor | Deleting 'admin/css/dark_mode.1215cee25eaa.css.gz' +tandoor | Deleting 'admin/css/base.96c479cedf7a.css.gz' +tandoor | Deleting 'admin/css/changelists.59465e72d1ef.css.gz' +tandoor | Deleting 'admin/css/responsive_rtl.css' +tandoor | Deleting 'admin/css/dark_mode.css.gz' +tandoor | Deleting 'admin/css/changelists.59465e72d1ef.css' +tandoor | Deleting 'admin/css/autocomplete.d24f10bdee41.css.gz' +tandoor | Deleting 'admin/css/responsive_rtl.011e68bec437.css' +tandoor | Deleting 'admin/css/unusable_password_field.css.gz' +tandoor | Deleting 'admin/css/login.css.gz' +tandoor | Deleting 'admin/css/changelists.css.gz' +tandoor | Deleting 'admin/css/unusable_password_field.css' +tandoor | Deleting 'admin/css/autocomplete.css' +tandoor | Deleting 'admin/css/widgets.22dbdba6917a.css' +tandoor | Deleting 'admin/css/widgets.22dbdba6917a.css.gz' +tandoor | Deleting 'admin/css/responsive_rtl.css.gz' +tandoor | Deleting 'admin/css/widgets.css.gz' +tandoor | Deleting 'admin/css/widgets.css' +tandoor | Deleting 'admin/css/autocomplete.d24f10bdee41.css' +tandoor | Deleting 'admin/css/login.css' +tandoor | Deleting 'admin/css/login.a3b47c458e5d.css.gz' +tandoor | Deleting 'admin/css/base.96c479cedf7a.css' +tandoor | Deleting 'admin/css/forms.css.gz' +tandoor | Deleting 'admin/css/dashboard.css' +tandoor | Deleting 'admin/css/nav_sidebar.dd925738f4cc.css' +tandoor | Deleting 'admin/css/forms.85f39c0927fa.css.gz' +tandoor | Deleting 'admin/css/dark_mode.css' +tandoor | Deleting 'admin/css/login.a3b47c458e5d.css' +tandoor | Deleting 'admin/css/forms.85f39c0927fa.css' +tandoor | Deleting 'admin/css/nav_sidebar.css.gz' +tandoor | Deleting 'admin/css/responsive_rtl.011e68bec437.css.gz' +tandoor | Deleting 'admin/css/rtl.66af67f66f09.css.gz' +tandoor | Deleting 'admin/css/changelists.css' +tandoor | Deleting 'admin/css/responsive.css.gz' +tandoor | Deleting 'admin/css/rtl.css' +tandoor | Deleting 'admin/css/responsive.css' +tandoor | Deleting 'admin/css/rtl.css.gz' +tandoor | Deleting 'admin/css/rtl.66af67f66f09.css' +tandoor | Deleting 'admin/css/nav_sidebar.dd925738f4cc.css.gz' +tandoor | Deleting 'admin/css/nav_sidebar.css' +tandoor | Deleting 'admin/css/vendor/select2/select2.a2194c262648.css' +tandoor | Deleting 'admin/css/vendor/select2/select2.min.css.gz' +tandoor | Deleting 'admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md.gz' +tandoor | Deleting 'admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md' +tandoor | Deleting 'admin/css/vendor/select2/select2.min.9f54e6414f87.css.gz' +tandoor | Deleting 'admin/css/vendor/select2/select2.css' +tandoor | Deleting 'admin/css/vendor/select2/select2.css.gz' +tandoor | Deleting 'admin/css/vendor/select2/select2.a2194c262648.css.gz' +tandoor | Deleting 'admin/css/vendor/select2/LICENSE-SELECT2.md' +tandoor | Deleting 'admin/css/vendor/select2/select2.min.css' +tandoor | Deleting 'admin/css/vendor/select2/LICENSE-SELECT2.md.gz' +tandoor | Deleting 'admin/css/vendor/select2/select2.min.9f54e6414f87.css' +tandoor | Deleting 'admin/img/icon-viewlink.svg' +tandoor | Deleting 'admin/img/tooltag-arrowright.svg.gz' +tandoor | Deleting 'admin/img/icon-addlink.073aeb1feda7.svg' +tandoor | Deleting 'admin/img/tooltag-add.e59d620a9742.svg' +tandoor | Deleting 'admin/img/icon-deletelink.svg.gz' +tandoor | Deleting 'admin/img/icon-no.svg.gz' +tandoor | Deleting 'admin/img/LICENSE' +tandoor | Deleting 'admin/img/LICENSE.gz' +tandoor | Deleting 'admin/img/icon-hidelink.svg' +tandoor | Deleting 'admin/img/icon-unknown.a18cb4398978.svg.gz' +tandoor | Deleting 'admin/img/selector-icons.b4555096cea2.svg' +tandoor | Deleting 'admin/img/icon-calendar.svg' +tandoor | Deleting 'admin/img/icon-yes.d2f9f035226a.svg' +tandoor | Deleting 'admin/img/search.svg.gz' +tandoor | Deleting 'admin/img/LICENSE.2c54f4e1ca1c.gz' +tandoor | Deleting 'admin/img/icon-calendar.ac7aea671bea.svg.gz' +tandoor | Deleting 'admin/img/icon-unknown-alt.81536e128bb6.svg.gz' +tandoor | Deleting 'admin/img/sorting-icons.3a097b59f104.svg.gz' +tandoor | Deleting 'admin/img/sorting-icons.svg' +tandoor | Deleting 'admin/img/inline-delete.svg.gz' +tandoor | Deleting 'admin/img/icon-unknown.svg' +tandoor | Deleting 'admin/img/selector-icons.svg.gz' +tandoor | Deleting 'admin/img/icon-viewlink.svg.gz' +tandoor | Deleting 'admin/img/README.9849248c9207.txt' +tandoor | Deleting 'admin/img/icon-hidelink.8d245a995e18.svg.gz' +tandoor | Deleting 'admin/img/icon-deletelink.svg' +tandoor | Deleting 'admin/img/tooltag-add.e59d620a9742.svg.gz' +tandoor | Deleting 'admin/img/icon-calendar.ac7aea671bea.svg' +tandoor | Deleting 'admin/img/icon-unknown-alt.svg.gz' +tandoor | Deleting 'admin/img/tooltag-add.svg' +tandoor | Deleting 'admin/img/icon-changelink.7eddb320e61f.svg.gz' +tandoor | Deleting 'admin/img/icon-unknown.a18cb4398978.svg' +tandoor | Deleting 'admin/img/icon-unknown-alt.svg' +tandoor | Deleting 'admin/img/icon-clock.e1d4dfac3f2b.svg' +tandoor | Deleting 'admin/img/icon-alert.svg.gz' +tandoor | Deleting 'admin/img/icon-yes.svg' +tandoor | Deleting 'admin/img/icon-changelink.7eddb320e61f.svg' +tandoor | Deleting 'admin/img/search.7cf54ff789c6.svg' +tandoor | Deleting 'admin/img/search.svg' +tandoor | Deleting 'admin/img/inline-delete.358e965fe3e7.svg.gz' +tandoor | Deleting 'admin/img/icon-clock.svg.gz' +tandoor | Deleting 'admin/img/icon-unknown-alt.81536e128bb6.svg' +tandoor | Deleting 'admin/img/icon-addlink.073aeb1feda7.svg.gz' +tandoor | Deleting 'admin/img/icon-deletelink.564ef9dc3854.svg' +tandoor | Deleting 'admin/img/calendar-icons.svg.gz' +tandoor | Deleting 'admin/img/calendar-icons.93ab098d1ac1.svg.gz' +tandoor | Deleting 'admin/img/inline-delete.svg' +tandoor | Deleting 'admin/img/icon-addlink.svg' +tandoor | Deleting 'admin/img/selector-icons.svg' +tandoor | Deleting 'admin/img/icon-viewlink.41eb31f7826e.svg.gz' +tandoor | Deleting 'admin/img/icon-changelink.svg.gz' +tandoor | Deleting 'admin/img/icon-alert.034cc7d8a67f.svg.gz' +tandoor | Deleting 'admin/img/icon-addlink.svg.gz' +tandoor | Deleting 'admin/img/icon-deletelink.564ef9dc3854.svg.gz' +tandoor | Deleting 'admin/img/inline-delete.358e965fe3e7.svg' +tandoor | Deleting 'admin/img/icon-hidelink.svg.gz' +tandoor | Deleting 'admin/img/icon-alert.034cc7d8a67f.svg' +tandoor | Deleting 'admin/img/icon-yes.d2f9f035226a.svg.gz' +tandoor | Deleting 'admin/img/tooltag-add.svg.gz' +tandoor | Deleting 'admin/img/tooltag-arrowright.bbfb788a849e.svg' +tandoor | Deleting 'admin/img/icon-viewlink.41eb31f7826e.svg' +tandoor | Deleting 'admin/img/icon-alert.svg' +tandoor | Deleting 'admin/img/README.9849248c9207.txt.gz' +tandoor | Deleting 'admin/img/selector-icons.b4555096cea2.svg.gz' +tandoor | Deleting 'admin/img/icon-changelink.svg' +tandoor | Deleting 'admin/img/sorting-icons.3a097b59f104.svg' +tandoor | Deleting 'admin/img/README.txt' +tandoor | Deleting 'admin/img/tooltag-arrowright.bbfb788a849e.svg.gz' +tandoor | Deleting 'admin/img/icon-calendar.svg.gz' +tandoor | Deleting 'admin/img/tooltag-arrowright.svg' +tandoor | Deleting 'admin/img/LICENSE.2c54f4e1ca1c' +tandoor | Deleting 'admin/img/icon-clock.svg' +tandoor | Deleting 'admin/img/icon-unknown.svg.gz' +tandoor | Deleting 'admin/img/search.7cf54ff789c6.svg.gz' +tandoor | Deleting 'admin/img/icon-clock.e1d4dfac3f2b.svg.gz' +tandoor | Deleting 'admin/img/icon-no.439e821418cd.svg.gz' +tandoor | Deleting 'admin/img/icon-no.svg' +tandoor | Deleting 'admin/img/calendar-icons.svg' +tandoor | Deleting 'admin/img/icon-no.439e821418cd.svg' +tandoor | Deleting 'admin/img/README.txt.gz' +tandoor | Deleting 'admin/img/icon-hidelink.8d245a995e18.svg' +tandoor | Deleting 'admin/img/icon-yes.svg.gz' +tandoor | Deleting 'admin/img/calendar-icons.93ab098d1ac1.svg' +tandoor | Deleting 'admin/img/sorting-icons.svg.gz' +tandoor | Deleting 'admin/img/gis/move_vertex_off.7a23bf31ef8a.svg.gz' +tandoor | Deleting 'admin/img/gis/move_vertex_on.0047eba25b67.svg.gz' +tandoor | Deleting 'admin/img/gis/move_vertex_off.7a23bf31ef8a.svg' +tandoor | Deleting 'admin/img/gis/move_vertex_off.svg' +tandoor | Deleting 'admin/img/gis/move_vertex_on.svg.gz' +tandoor | Deleting 'admin/img/gis/move_vertex_off.svg.gz' +tandoor | Deleting 'admin/img/gis/move_vertex_on.0047eba25b67.svg' +tandoor | Deleting 'admin/img/gis/move_vertex_on.svg' +tandoor | Deleting 'admin/js/SelectFilter2.58388953117f.js.gz' +tandoor | Deleting 'admin/js/core.js' +tandoor | Deleting 'admin/js/filters.js.gz' +tandoor | Deleting 'admin/js/core.7e257fdf56dc.js.gz' +tandoor | Deleting 'admin/js/calendar.js.gz' +tandoor | Deleting 'admin/js/prepopulate.js' +tandoor | Deleting 'admin/js/prepopulate_init.6cac7f3105b8.js' +tandoor | Deleting 'admin/js/SelectBox.js' +tandoor | Deleting 'admin/js/actions.f1d5653edb59.js' +tandoor | Deleting 'admin/js/cancel.js.gz' +tandoor | Deleting 'admin/js/SelectBox.js.gz' +tandoor | Deleting 'admin/js/autocomplete.js.gz' +tandoor | Deleting 'admin/js/actions.f1d5653edb59.js.gz' +tandoor | Deleting 'admin/js/cancel.ecc4c5ca7b32.js.gz' +tandoor | Deleting 'admin/js/jquery.init.js' +tandoor | Deleting 'admin/js/nav_sidebar.js.gz' +tandoor | Deleting 'admin/js/prepopulate.js.gz' +tandoor | Deleting 'admin/js/urlify.js' +tandoor | Deleting 'admin/js/actions.js' +tandoor | Deleting 'admin/js/prepopulate_init.js' +tandoor | Deleting 'admin/js/actions.js.gz' +tandoor | Deleting 'admin/js/change_form.9d8ca4f96b75.js' +tandoor | Deleting 'admin/js/autocomplete.01591ab27be7.js.gz' +tandoor | Deleting 'admin/js/filters.js' +tandoor | Deleting 'admin/js/prepopulate_init.6cac7f3105b8.js.gz' +tandoor | Deleting 'admin/js/prepopulate.bd2361dfd64d.js.gz' +tandoor | Deleting 'admin/js/prepopulate_init.js.gz' +tandoor | Deleting 'admin/js/popup_response.js.gz' +tandoor | Deleting 'admin/js/inlines.89b3c627c5dc.js' +tandoor | Deleting 'admin/js/theme.91cf832f559e.js' +tandoor | Deleting 'admin/js/theme.91cf832f559e.js.gz' +tandoor | Deleting 'admin/js/jquery.init.b7781a0897fc.js' +tandoor | Deleting 'admin/js/nav_sidebar.3b9190d420b1.js.gz' +tandoor | Deleting 'admin/js/cancel.js' +tandoor | Deleting 'admin/js/prepopulate.bd2361dfd64d.js' +tandoor | Deleting 'admin/js/inlines.js.gz' +tandoor | Deleting 'admin/js/SelectBox.7d3ce5a98007.js' +tandoor | Deleting 'admin/js/cancel.ecc4c5ca7b32.js' +tandoor | Deleting 'admin/js/nav_sidebar.js' +tandoor | Deleting 'admin/js/calendar.d64496bbf46d.js' +tandoor | Deleting 'admin/js/nav_sidebar.3b9190d420b1.js' +tandoor | Deleting 'admin/js/inlines.js' +tandoor | Deleting 'admin/js/theme.js' +tandoor | Deleting 'admin/js/autocomplete.01591ab27be7.js' +tandoor | Deleting 'admin/js/unusable_password_field.017ea86b6ae4.js.gz' +tandoor | Deleting 'admin/js/urlify.ae970a820212.js' +tandoor | Deleting 'admin/js/unusable_password_field.017ea86b6ae4.js' +tandoor | Deleting 'admin/js/SelectFilter2.58388953117f.js' +tandoor | Deleting 'admin/js/autocomplete.js' +tandoor | Deleting 'admin/js/change_form.js.gz' +tandoor | Deleting 'admin/js/jquery.init.js.gz' +tandoor | Deleting 'admin/js/change_form.js' +tandoor | Deleting 'admin/js/filters.0e360b7a9f80.js.gz' +tandoor | Deleting 'admin/js/core.7e257fdf56dc.js' +tandoor | Deleting 'admin/js/SelectBox.7d3ce5a98007.js.gz' +tandoor | Deleting 'admin/js/change_form.9d8ca4f96b75.js.gz' +tandoor | Deleting 'admin/js/urlify.js.gz' +tandoor | Deleting 'admin/js/calendar.d64496bbf46d.js.gz' +tandoor | Deleting 'admin/js/core.js.gz' +tandoor | Deleting 'admin/js/popup_response.js' +tandoor | Deleting 'admin/js/SelectFilter2.js.gz' +tandoor | Deleting 'admin/js/calendar.js' +tandoor | Deleting 'admin/js/jquery.init.b7781a0897fc.js.gz' +tandoor | Deleting 'admin/js/SelectFilter2.js' +tandoor | Deleting 'admin/js/popup_response.96190d343c22.js.gz' +tandoor | Deleting 'admin/js/urlify.ae970a820212.js.gz' +tandoor | Deleting 'admin/js/unusable_password_field.js' +tandoor | Deleting 'admin/js/popup_response.96190d343c22.js' +tandoor | Deleting 'admin/js/theme.js.gz' +tandoor | Deleting 'admin/js/filters.0e360b7a9f80.js' +tandoor | Deleting 'admin/js/inlines.89b3c627c5dc.js.gz' +tandoor | Deleting 'admin/js/unusable_password_field.js.gz' +tandoor | Deleting 'admin/js/admin/RelatedObjectLookups.ed6240809a40.js.gz' +tandoor | Deleting 'admin/js/admin/RelatedObjectLookups.js.gz' +tandoor | Deleting 'admin/js/admin/DateTimeShortcuts.9f6e209cebca.js.gz' +tandoor | Deleting 'admin/js/admin/DateTimeShortcuts.js.gz' +tandoor | Deleting 'admin/js/admin/RelatedObjectLookups.js' +tandoor | Deleting 'admin/js/admin/DateTimeShortcuts.js' +tandoor | Deleting 'admin/js/admin/DateTimeShortcuts.9f6e209cebca.js' +tandoor | Deleting 'admin/js/admin/RelatedObjectLookups.ed6240809a40.js' +tandoor | Deleting 'admin/js/vendor/xregexp/xregexp.min.js' +tandoor | Deleting 'admin/js/vendor/xregexp/xregexp.min.js.gz' +tandoor | Deleting 'admin/js/vendor/xregexp/xregexp.min.f1ae4617847c.js' +tandoor | Deleting 'admin/js/vendor/xregexp/xregexp.js.gz' +tandoor | Deleting 'admin/js/vendor/xregexp/LICENSE.txt.gz' +tandoor | Deleting 'admin/js/vendor/xregexp/xregexp.js' +tandoor | Deleting 'admin/js/vendor/xregexp/xregexp.a7e08b0ce686.js.gz' +tandoor | Deleting 'admin/js/vendor/xregexp/xregexp.a7e08b0ce686.js' +tandoor | Deleting 'admin/js/vendor/xregexp/LICENSE.b6fd2ceea8d3.txt' +tandoor | Deleting 'admin/js/vendor/xregexp/LICENSE.b6fd2ceea8d3.txt.gz' +tandoor | Deleting 'admin/js/vendor/xregexp/LICENSE.txt' +tandoor | Deleting 'admin/js/vendor/xregexp/xregexp.min.f1ae4617847c.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/LICENSE.md.gz' +tandoor | Deleting 'admin/js/vendor/select2/select2.full.min.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/select2.full.c2afdeda3058.js' +tandoor | Deleting 'admin/js/vendor/select2/select2.full.c2afdeda3058.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/select2.full.min.js' +tandoor | Deleting 'admin/js/vendor/select2/select2.full.min.fcd7500d8e13.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/LICENSE.f94142512c91.md' +tandoor | Deleting 'admin/js/vendor/select2/select2.full.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/LICENSE.md' +tandoor | Deleting 'admin/js/vendor/select2/select2.full.js' +tandoor | Deleting 'admin/js/vendor/select2/LICENSE.f94142512c91.md.gz' +tandoor | Deleting 'admin/js/vendor/select2/select2.full.min.fcd7500d8e13.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hy.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/id.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ms.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/de.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ne.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sk.33d02cef8d11.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ca.a166b745933a.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/nl.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sr-Cyrl.f254bb8c4c7c.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bg.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ro.f75cb460ec3b.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/eu.adfe5c97b72c.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/it.be4fe8d365b5.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sr-Cyrl.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ro.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fi.614ec42aa9ba.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/is.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/cs.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/gl.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pt-BR.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sr.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/lt.23c7ce903300.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fa.3b5bd1961cfd.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/gl.d99b1fedaa86.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sl.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hr.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/eu.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sq.5636b60d29c9.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/mk.dabbb9087130.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/zh-TW.04554a227c2b.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bn.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/nb.da2fce143f27.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/zh-TW.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/az.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/da.766346afe4dd.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hy.c7babaeef5a6.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/az.270c257daf81.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/nb.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pl.6031b4f16452.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/zh-CN.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ru.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/vi.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fr.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/it.be4fe8d365b5.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/zh-TW.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/vi.097a5b75b3e1.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/el.27097f071856.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/lv.08e62128eac1.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/en.cf932ba09a98.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/tk.7c572a68c78f.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/he.e420ff6cd3ed.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/lv.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ja.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/de.8a1c222b0204.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fa.3b5bd1961cfd.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/el.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/de.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pt-BR.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hu.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/zh-CN.2cff662ec5f9.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fr.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/lv.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/es.66dbc2652fb1.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/af.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/dsb.56372c92d2f1.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pt.33b4a3b44d43.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bs.91624382358e.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/th.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/mk.dabbb9087130.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pt.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hsb.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/zh-TW.04554a227c2b.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fi.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/nl.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ja.170ae885d74f.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fi.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/el.27097f071856.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/it.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/he.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pl.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ko.e7be6c20e673.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/af.4f6fcd73488c.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/af.4f6fcd73488c.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/gl.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/el.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/en.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hy.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/gl.d99b1fedaa86.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ro.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/et.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/km.c23089cb06ca.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/mk.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bs.91624382358e.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sl.131a78bc0752.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/mk.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/lt.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ca.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/is.3ddd9a6a97e9.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/zh-CN.2cff662ec5f9.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ka.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/uk.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/cs.4f43e8e7d33a.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/cs.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/th.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bg.39b8be30d4f0.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sv.7a9c2f71e777.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sr.5ed85a48f483.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/is.3ddd9a6a97e9.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ka.2083264a54f0.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hi.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/tr.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sk.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ka.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ps.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bs.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/uk.8cede7f4803c.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ko.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/eu.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sq.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/nb.da2fce143f27.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ne.3d79fd3f08db.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hr.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ca.a166b745933a.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/lt.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/th.f38c20b0221b.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/id.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/da.766346afe4dd.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bn.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sl.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bg.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fi.614ec42aa9ba.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ne.3d79fd3f08db.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ms.4ba82c9a51ce.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/tr.b5a0643d1545.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/az.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/es.66dbc2652fb1.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sr.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hy.c7babaeef5a6.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fr.05e0542fcfe6.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/es.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ne.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sv.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/id.04debded514d.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/zh-CN.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sr.5ed85a48f483.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/km.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ar.65aa8e36bf5d.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/nb.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/az.270c257daf81.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/he.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ko.e7be6c20e673.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/dsb.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ar.65aa8e36bf5d.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/et.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/vi.097a5b75b3e1.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sv.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/is.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sr-Cyrl.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bn.6d42b4dd5665.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/nl.997868a37ed8.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/tk.7c572a68c78f.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ar.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/th.f38c20b0221b.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ru.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sq.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pt-BR.e1b294433e7f.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/en.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sk.33d02cef8d11.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fa.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/uk.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ms.4ba82c9a51ce.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ps.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sk.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ar.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/tk.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hi.70640d41628f.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pl.6031b4f16452.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fr.05e0542fcfe6.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/da.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/nl.997868a37ed8.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bn.6d42b4dd5665.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/it.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pt-BR.e1b294433e7f.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/et.2b96fd98289d.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ms.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hu.6ec6039cb8a3.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/dsb.56372c92d2f1.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/tr.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/km.c23089cb06ca.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/tr.b5a0643d1545.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/et.2b96fd98289d.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/cs.4f43e8e7d33a.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/tk.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ko.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bg.39b8be30d4f0.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/lt.23c7ce903300.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hr.a2b092cc1147.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pt.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hi.70640d41628f.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/lv.08e62128eac1.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sl.131a78bc0752.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ps.38dfa47af9e0.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hu.6ec6039cb8a3.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hu.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/es.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/km.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hi.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hsb.fa3b55265efe.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/uk.8cede7f4803c.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sr-Cyrl.f254bb8c4c7c.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/en.cf932ba09a98.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ca.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ps.38dfa47af9e0.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sv.7a9c2f71e777.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ru.934aa95f5b5f.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hr.a2b092cc1147.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ro.f75cb460ec3b.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pl.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/sq.5636b60d29c9.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/fa.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/de.8a1c222b0204.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/dsb.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/pt.33b4a3b44d43.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hsb.fa3b55265efe.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ja.170ae885d74f.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/hsb.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/he.e420ff6cd3ed.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/vi.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ja.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ru.934aa95f5b5f.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/af.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/eu.adfe5c97b72c.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/ka.2083264a54f0.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/bs.js.gz' +tandoor | Deleting 'admin/js/vendor/select2/i18n/id.04debded514d.js' +tandoor | Deleting 'admin/js/vendor/select2/i18n/da.js.gz' +tandoor | Deleting 'admin/js/vendor/jquery/jquery.js' +tandoor | Deleting 'admin/js/vendor/jquery/jquery.12e87d2f3a4c.js.gz' +tandoor | Deleting 'admin/js/vendor/jquery/LICENSE.txt.gz' +tandoor | Deleting 'admin/js/vendor/jquery/jquery.min.2c872dbe60f4.js' +tandoor | Deleting 'admin/js/vendor/jquery/jquery.min.2c872dbe60f4.js.gz' +tandoor | Deleting 'admin/js/vendor/jquery/LICENSE.de877aa6d744.txt.gz' +tandoor | Deleting 'admin/js/vendor/jquery/jquery.js.gz' +tandoor | Deleting 'admin/js/vendor/jquery/jquery.12e87d2f3a4c.js' +tandoor | Deleting 'admin/js/vendor/jquery/jquery.min.js' +tandoor | Deleting 'admin/js/vendor/jquery/jquery.min.js.gz' +tandoor | Deleting 'admin/js/vendor/jquery/LICENSE.txt' +tandoor | Deleting 'admin/js/vendor/jquery/LICENSE.de877aa6d744.txt' +tandoor | Deleting 'treebeard/treebeard-admin.css' +tandoor | Deleting 'treebeard/expand-collapse.png' +tandoor | Deleting 'treebeard/treebeard-admin.css.gz' +tandoor | Deleting 'treebeard/treebeard-admin.js.gz' +tandoor | Deleting 'treebeard/treebeard-admin.5bfc2f0ef3b7.js.gz' +tandoor | Deleting 'treebeard/expand-collapse.26dde2a5570c.png' +tandoor | Deleting 'treebeard/treebeard-admin.2b1956b5b231.css.gz' +tandoor | Deleting 'treebeard/treebeard-admin.js' +tandoor | Deleting 'treebeard/treebeard-admin.5bfc2f0ef3b7.js' +tandoor | Deleting 'treebeard/treebeard-admin.2b1956b5b231.css' +tandoor | Deleting 'css/app.min.css.gz' +tandoor | Deleting 'css/app.min.050361699392.css.gz' +tandoor | Deleting 'css/bootstrap-vue.min.55efeac6adfc.css.gz' +tandoor | Deleting 'css/bootstrap-vue.min.55efeac6adfc.css' +tandoor | Deleting 'css/app.min.050361699392.css' +tandoor | Deleting 'css/bootstrap-vue.min.css' +tandoor | Deleting 'css/bootstrap-vue.min.css.gz' +tandoor | Deleting 'css/app.min.css' +tandoor | Deleting 'js/popper.min.js.gz' +tandoor | Deleting 'js/jquery-3.5.1.min.dc5e7f18c8d3.js.gz' +tandoor | Deleting 'js/bootstrap.min.js.159c3a0fc6e3.map' +tandoor | Deleting 'js/bootstrap.min.js' +tandoor | Deleting 'js/jquery-3.5.1.min.js.gz' +tandoor | Deleting 'js/popper.min.0cd7844cfd8b.js.gz' +tandoor | Deleting 'js/popper.min.0cd7844cfd8b.js' +tandoor | Deleting 'js/bootstrap.min.575d3de8fa36.js' +tandoor | Deleting 'js/popper.min.js.map' +tandoor | Deleting 'js/popper.min.js.d05d81a422b6.map.gz' +tandoor | Deleting 'js/bootstrap.min.js.gz' +tandoor | Deleting 'js/popper.min.js.d05d81a422b6.map' +tandoor | Deleting 'js/jquery-3.5.1.min.js' +tandoor | Deleting 'js/bootstrap.min.575d3de8fa36.js.gz' +tandoor | Deleting 'js/jquery-3.5.1.min.dc5e7f18c8d3.js' +tandoor | Deleting 'js/bootstrap.min.js.map.gz' +tandoor | Deleting 'js/bootstrap.min.js.159c3a0fc6e3.map.gz' +tandoor | Deleting 'js/popper.min.js.map.gz' +tandoor | Deleting 'js/bootstrap.min.js.map' +tandoor | Deleting 'js/popper.min.js' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.svg.gz' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.ttf.gz' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.fa2772327f55.woff' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.8b27bc96115c.eot' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.svg' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf.gz' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf.gz' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg.gz' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.svg' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.3293616ec0c6.woff' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg.gz' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.448c34a56d69.woff2' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.svg.gz' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.woff2' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.eot' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.woff' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.ttf.gz' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.eot' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.woff' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg' +tandoor | Deleting 'rest_framework/fonts/fontawesome-webfont.ttf' +tandoor | Deleting 'rest_framework/fonts/glyphicons-halflings-regular.ttf' +tandoor | Deleting 'rest_framework/css/bootstrap-theme.min.css' +tandoor | Deleting 'rest_framework/css/prettify.css' +tandoor | Deleting 'rest_framework/css/bootstrap-tweaks.ee4ee6acf9eb.css' +tandoor | Deleting 'rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css.gz' +tandoor | Deleting 'rest_framework/css/font-awesome-4.0.3.css.gz' +tandoor | Deleting 'rest_framework/css/default.789dfb5732d7.css.gz' +tandoor | Deleting 'rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map' +tandoor | Deleting 'rest_framework/css/bootstrap-tweaks.ee4ee6acf9eb.css.gz' +tandoor | Deleting 'rest_framework/css/bootstrap-theme.min.css.51806092cc05.map.gz' +tandoor | Deleting 'rest_framework/css/bootstrap.min.css.map.gz' +tandoor | Deleting 'rest_framework/css/prettify.a987f72342ee.css.gz' +tandoor | Deleting 'rest_framework/css/default.css.gz' +tandoor | Deleting 'rest_framework/css/bootstrap.min.css' +tandoor | Deleting 'rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css' +tandoor | Deleting 'rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map.gz' +tandoor | Deleting 'rest_framework/css/prettify.a987f72342ee.css' +tandoor | Deleting 'rest_framework/css/bootstrap.min.f17d4516b026.css.gz' +tandoor | Deleting 'rest_framework/css/bootstrap-theme.min.css.51806092cc05.map' +tandoor | Deleting 'rest_framework/css/bootstrap-theme.min.css.map.gz' +tandoor | Deleting 'rest_framework/css/default.css' +tandoor | Deleting 'rest_framework/css/bootstrap-tweaks.css.gz' +tandoor | Deleting 'rest_framework/css/bootstrap.min.css.gz' +tandoor | Deleting 'rest_framework/css/font-awesome-4.0.3.css' +tandoor | Deleting 'rest_framework/css/bootstrap-theme.min.css.map' +tandoor | Deleting 'rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css' +tandoor | Deleting 'rest_framework/css/bootstrap.min.css.map' +tandoor | Deleting 'rest_framework/css/default.789dfb5732d7.css' +tandoor | Deleting 'rest_framework/css/bootstrap.min.f17d4516b026.css' +tandoor | Deleting 'rest_framework/css/bootstrap-tweaks.css' +tandoor | Deleting 'rest_framework/css/prettify.css.gz' +tandoor | Deleting 'rest_framework/css/bootstrap-theme.min.css.gz' +tandoor | Deleting 'rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css.gz' +tandoor | Deleting 'rest_framework/img/grid.a4b938cf382b.png' +tandoor | Deleting 'rest_framework/img/grid.png' +tandoor | Deleting 'rest_framework/img/glyphicons-halflings-white.png' +tandoor | Deleting 'rest_framework/img/glyphicons-halflings.png' +tandoor | Deleting 'rest_framework/img/glyphicons-halflings.90233c9067e9.png' +tandoor | Deleting 'rest_framework/img/glyphicons-halflings-white.9bbc6e960299.png' +tandoor | Deleting 'rest_framework/js/default.5b08897dbdc3.js' +tandoor | Deleting 'rest_framework/js/csrf.455080a7b2ce.js.gz' +tandoor | Deleting 'rest_framework/js/bootstrap.min.js' +tandoor | Deleting 'rest_framework/js/jquery-3.7.1.min.js.gz' +tandoor | Deleting 'rest_framework/js/jquery-3.7.1.min.js' +tandoor | Deleting 'rest_framework/js/prettify-min.709bfcc456c6.js' +tandoor | Deleting 'rest_framework/js/ajax-form.4e1cdcb7acab.js.gz' +tandoor | Deleting 'rest_framework/js/ajax-form.4e1cdcb7acab.js' +tandoor | Deleting 'rest_framework/js/default.js.gz' +tandoor | Deleting 'rest_framework/js/csrf.js' +tandoor | Deleting 'rest_framework/js/bootstrap.min.js.gz' +tandoor | Deleting 'rest_framework/js/load-ajax-form.8cdb3a9f3466.js' +tandoor | Deleting 'rest_framework/js/csrf.js.gz' +tandoor | Deleting 'rest_framework/js/ajax-form.js' +tandoor | Deleting 'rest_framework/js/load-ajax-form.js' +tandoor | Deleting 'rest_framework/js/prettify-min.js' +tandoor | Deleting 'rest_framework/js/prettify-min.709bfcc456c6.js.gz' +tandoor | Deleting 'rest_framework/js/prettify-min.js.gz' +tandoor | Deleting 'rest_framework/js/default.js' +tandoor | Deleting 'rest_framework/js/bootstrap.min.2f34b630ffe3.js' +tandoor | Deleting 'rest_framework/js/csrf.455080a7b2ce.js' +tandoor | Deleting 'rest_framework/js/bootstrap.min.2f34b630ffe3.js.gz' +tandoor | Deleting 'rest_framework/js/default.5b08897dbdc3.js.gz' +tandoor | Deleting 'rest_framework/js/ajax-form.js.gz' +tandoor | Deleting 'rest_framework/js/jquery-3.7.1.min.2c872dbe60f4.js' +tandoor | Deleting 'rest_framework/js/jquery-3.7.1.min.2c872dbe60f4.js.gz' +tandoor | Deleting 'vue3/manifest.json' +tandoor | Deleting 'vue3/manifest.c9fa5b91cffd.json.gz' +tandoor | Deleting 'vue3/service-worker.js' +tandoor | Deleting 'vue3/service-worker.64668cc25e4c.js.gz' +tandoor | Deleting 'vue3/service-worker.js.gz' +tandoor | Deleting 'vue3/manifest.484f96e63b3b.webmanifest.gz' +tandoor | Deleting 'vue3/registerSW.be6aad568a9d.js.gz' +tandoor | Deleting 'vue3/manifest.webmanifest' +tandoor | Deleting 'vue3/manifest.484f96e63b3b.webmanifest' +tandoor | Deleting 'vue3/registerSW.js' +tandoor | Deleting 'vue3/registerSW.js.gz' +tandoor | Deleting 'vue3/registerSW.be6aad568a9d.js' +tandoor | Deleting 'vue3/manifest.webmanifest.gz' +tandoor | Deleting 'vue3/manifest.c9fa5b91cffd.json' +tandoor | Deleting 'vue3/service-worker.64668cc25e4c.js' +tandoor | Deleting 'vue3/manifest.json.gz' +tandoor | Deleting 'vue3/assets/HelpPage-wmlN_nG3.js.gz' +tandoor | Deleting 'vue3/assets/VTabs-BOMndy1x.b33871f9f24a.js' +tandoor | Deleting 'vue3/assets/BatchDeleteDialog-B91AEkkg.f852b14ce2c9.js.gz' +tandoor | Deleting 'vue3/assets/VTimePicker-OuF3cros.js.gz' +tandoor | Deleting 'vue3/assets/MessageListDialog-QsZHdkKy.js' +tandoor | Deleting 'vue3/assets/intersect-CCw5jBzg.a75ecec3ca13.js.gz' +tandoor | Deleting 'vue3/assets/VDialog-BK-qqu9O.css' +tandoor | Deleting 'vue3/assets/WelcomePage-CZE7Rrxg.f3af30c63fea.js.gz' +tandoor | Deleting 'vue3/assets/DatabaseModelCol-DO84-XXG.128c0f2e8c51.js' +tandoor | Deleting 'vue3/assets/SpaceEditor-BjwVNLnh.js' +tandoor | Deleting 'vue3/assets/lv-BUrQRxBI.8efc7d113546.js' +tandoor | Deleting 'vue3/assets/IngredientEditorPage-Gnn85yx-.89602d3519e9.js' +tandoor | Deleting 'vue3/assets/AddToShoppingDialog-BqI5JNSn.js' +tandoor | Deleting 'vue3/assets/OpenDataImportSettings-BeJgBKlB.js.gz' +tandoor | Deleting 'vue3/assets/createSimpleFunctional-DKfs5zaG.3998973294dc.js' +tandoor | Deleting 'vue3/assets/VBottomSheet-DeeHpQ26.js.gz' +tandoor | Deleting 'vue3/assets/ru-BXmxlY4u.js' +tandoor | Deleting 'vue3/assets/VTimePicker-DNtQ2GaY.css' +tandoor | Deleting 'vue3/assets/Models-YQwtgjBg.js.gz' +tandoor | Deleting 'vue3/assets/CustomFilterEditor-BCnLqkai.88dafc3c5861.js.gz' +tandoor | Deleting 'vue3/assets/VCard-CSJpUMri.111de28a9d51.css.gz' +tandoor | Deleting 'vue3/assets/he-DxNGVUQd.js.gz' +tandoor | Deleting 'vue3/assets/id-CrGyD9X0.77ff3f065da9.js' +tandoor | Deleting 'vue3/assets/UserFileEditor-BK8S3N6Z.js.gz' +tandoor | Deleting 'vue3/assets/BoolCell-8WnOeHx-.js.gz' +tandoor | Deleting 'vue3/assets/DeleteConfirmDialog-C4A_lHVv.0d63d7730b85.js.gz' +tandoor | Deleting 'vue3/assets/HierarchyEditor-wADOsT_-.css.gz' +tandoor | Deleting 'vue3/assets/form-C0DXuADG.js.gz' +tandoor | Deleting 'vue3/assets/cs-DUZpBKTY.js' +tandoor | Deleting 'vue3/assets/logic_utils-DSi7Jcvh.e80d19eb0e0b.js' +tandoor | Deleting 'vue3/assets/VDataTable-C3mY9AKS.09b01b8b47e5.css' +tandoor | Deleting 'vue3/assets/VTextarea-dHE66AZf.bfa8bf36b799.css' +tandoor | Deleting 'vue3/assets/VTable-DthgrCD7.css.gz' +tandoor | Deleting 'vue3/assets/VTabs-Bz9gKX-q.css.gz' +tandoor | Deleting 'vue3/assets/UnitConversionEditor-BIHnhpLp.js' +tandoor | Deleting 'vue3/assets/VRating-C4_Legyx.js.gz' +tandoor | Deleting 'vue3/assets/VTooltip-BZ4fmwSk.2f1d9dc40995.js' +tandoor | Deleting 'vue3/assets/InventoryLocationEditor-Bts8Tto0.js' +tandoor | Deleting 'vue3/assets/brand_logo-DHt4CyHb.fa64319ab35b.svg' +tandoor | Deleting 'vue3/assets/et-zY9CrDMt.1761c6eb5f48.js' +tandoor | Deleting 'vue3/assets/number_utils-Brwft-8t.d570ceeec9ef.css' +tandoor | Deleting 'vue3/assets/SpaceEditor-BjwVNLnh.f1f2d72c88ce.js' +tandoor | Deleting 'vue3/assets/VDialog-BK-qqu9O.css.gz' +tandoor | Deleting 'vue3/assets/ja-Cqm3qbrP.js.gz' +tandoor | Deleting 'vue3/assets/ShoppingListPage-BHW6TVhn.4e3df66fb52b.js.gz' +tandoor | Deleting 'vue3/assets/FoodEditor-BTbg48xW.js' +tandoor | Deleting 'vue3/assets/BooksPage-DUXuY3c6.fa36a152d35c.js.gz' +tandoor | Deleting 'vue3/assets/zh_Hans-GnBVnL-W.js.gz' +tandoor | Deleting 'vue3/assets/HelpView-DigeEu-e.29fb54936404.js' +tandoor | Deleting 'vue3/assets/SupermarketCategoryEditor-BbIaTGdB.eb72885e7f62.js' +tandoor | Deleting 'vue3/assets/useDebouncedSearch-CByjndun.7a6dc89fb2df.js' +tandoor | Deleting 'vue3/assets/RecipeEditor-CcFlDNPw.css' +tandoor | Deleting 'vue3/assets/VDivider-BucP89yl.js' +tandoor | Deleting 'vue3/assets/RecipeViewPage-C4IWDoeV.24a81acf44df.js' +tandoor | Deleting 'vue3/assets/VDateInput-Def5T2dC.js.gz' +tandoor | Deleting 'vue3/assets/UnitEditor-Da6S4Hph.js.gz' +tandoor | Deleting 'vue3/assets/VNumberInput-B5bU_Oq2.js' +tandoor | Deleting 'vue3/assets/hy-HqufUZnw.3dbc1cff9fd8.js.gz' +tandoor | Deleting 'vue3/assets/StorageEditor-CQmXcBIr.js.gz' +tandoor | Deleting 'vue3/assets/ShoppingListPage-BHW6TVhn.js.gz' +tandoor | Deleting 'vue3/assets/logo_color-CXE3OqOR.d7c2e31a63b7.svg.gz' +tandoor | Deleting 'vue3/assets/ModelEditDialog-heSAymAp.js.gz' +tandoor | Deleting 'vue3/assets/ar-Ct4DpnJT.js.gz' +tandoor | Deleting 'vue3/assets/VSheet-Cbz0zMVl.js' +tandoor | Deleting 'vue3/assets/VBottomSheet-BQK4v2k8.css' +tandoor | Deleting 'vue3/assets/ShoppingListView-CGxjZ4ZB.e9bb4dba2b14.css.gz' +tandoor | Deleting 'vue3/assets/RecipeCard-BFWiOp6n.css' +tandoor | Deleting 'vue3/assets/Models-YQwtgjBg.1ebbe0116533.js' +tandoor | Deleting 'vue3/assets/ModelEditorBase-BxljehcN.js' +tandoor | Deleting 'vue3/assets/fontello-BJkOxCgW.8d4a4e6f7431.woff2' +tandoor | Deleting 'vue3/assets/VDivider-BeM1gRhl.css' +tandoor | Deleting 'vue3/assets/VChip-CiyMMZBL.js' +tandoor | Deleting 'vue3/assets/zh_Hans-GnBVnL-W.85a1e63600ea.js.gz' +tandoor | Deleting 'vue3/assets/MealPlanStore-DrOgqZxe.js' +tandoor | Deleting 'vue3/assets/VAlert-7V9O2osm.css.gz' +tandoor | Deleting 'vue3/assets/VSwitch-Djsboh2v.92774fc66b84.css' +tandoor | Deleting 'vue3/assets/position-KetB1dC_.443065fc3376.css.gz' +tandoor | Deleting 'vue3/assets/VTimePicker-OuF3cros.4a42095d0014.js.gz' +tandoor | Deleting 'vue3/assets/SpaceEditor-BG9pNfzF.css.gz' +tandoor | Deleting 'vue3/assets/IngredientEditorPage-Gnn85yx-.js.gz' +tandoor | Deleting 'vue3/assets/ko-ADlXHFgo.7773fbad9073.js' +tandoor | Deleting 'vue3/assets/VTextarea-dHE66AZf.css.gz' +tandoor | Deleting 'vue3/assets/fa-regular-400-DZaxPHgR.262525e20813.ttf.gz' +tandoor | Deleting 'vue3/assets/hr-CMRkObu_.js.gz' +tandoor | Deleting 'vue3/assets/VSwitch-Djsboh2v.css' +tandoor | Deleting 'vue3/assets/ro-CG_JGo0i.c856bd470eef.js.gz' +tandoor | Deleting 'vue3/assets/VDivider-BucP89yl.e095d52fded9.js' +tandoor | Deleting 'vue3/assets/RecipeViewPage-C4IWDoeV.js' +tandoor | Deleting 'vue3/assets/ApiSettings-Cb4cxQlh.1ec5476d21e4.js' +tandoor | Deleting 'vue3/assets/uk-20iJFMGX.9f2c9be83667.js' +tandoor | Deleting 'vue3/assets/BooksPage-DUXuY3c6.js' +tandoor | Deleting 'vue3/assets/VClosableCardTitle-B9FM6eKp.4f3ac7126bef.js.gz' +tandoor | Deleting 'vue3/assets/SearchSettings-DWOgrsRA.js.gz' +tandoor | Deleting 'vue3/assets/IngredientsTable-CwOGp6hb.4f38634e3326.js.gz' +tandoor | Deleting 'vue3/assets/VCheckboxBtn-CgKG0efP.b4b9ba2feaa9.css.gz' +tandoor | Deleting 'vue3/assets/InventoryBookingPage-gp9cCUw0.js' +tandoor | Deleting 'vue3/assets/SupermarketCategoryEditor-BbIaTGdB.eb72885e7f62.js.gz' +tandoor | Deleting 'vue3/assets/ModelEditPage-B5oBrkJw.0c31f8b7052c.css' +tandoor | Deleting 'vue3/assets/hy-HqufUZnw.js' +tandoor | Deleting 'vue3/assets/ca-C5QQCa9o.js' +tandoor | Deleting 'vue3/assets/TestPage-CAjhYISb.8ead10f16123.js' +tandoor | Deleting 'vue3/assets/VDataTableServer-YD2uLqns.0893d855e6a0.js.gz' +tandoor | Deleting 'vue3/assets/NumberScalerDialog-BEklCqFY.a870560f032c.js.gz' +tandoor | Deleting 'vue3/assets/number_utils-DsY-ZJtE.ba8a23381738.js' +tandoor | Deleting 'vue3/assets/fontello-BEgLts9b.a782baa8633b.woff' +tandoor | Deleting 'vue3/assets/VContainer-CUd91tkX.css' +tandoor | Deleting 'vue3/assets/VSwitch-vMm50DSC.1b9ea1dc04cc.js' +tandoor | Deleting 'vue3/assets/is-DDXYXl1C.js.gz' +tandoor | Deleting 'vue3/assets/VColorPicker-naQDOsG5.55d1cf822d5a.js' +tandoor | Deleting 'vue3/assets/VRow-Dd63ltWq.css' +tandoor | Deleting 'vue3/assets/RecipeCard-BFWiOp6n.647ea47bc9ff.css.gz' +tandoor | Deleting 'vue3/assets/ModelListPage-Dcr8sNye.js.gz' +tandoor | Deleting 'vue3/assets/VCheckbox-4hSTANC8.fb1fbeac2625.js.gz' +tandoor | Deleting 'vue3/assets/VCard-CSJpUMri.css' +tandoor | Deleting 'vue3/assets/HelpView-DigeEu-e.js.gz' +tandoor | Deleting 'vue3/assets/ClosableHelpAlert-DzFoievb.js' +tandoor | Deleting 'vue3/assets/es-CkK3cHst.854f77615c4b.js' +tandoor | Deleting 'vue3/assets/RecipeImportPage-C8RzclwX.1f95296df89c.js.gz' +tandoor | Deleting 'vue3/assets/et-zY9CrDMt.js' +tandoor | Deleting 'vue3/assets/en-DkUhXk8v.js.gz' +tandoor | Deleting 'vue3/assets/cs-DUZpBKTY.c85cc13d2448.js.gz' +tandoor | Deleting 'vue3/assets/it-CUVHUpYO.fdb3eabab50b.js.gz' +tandoor | Deleting 'vue3/assets/form-C0DXuADG.js' +tandoor | Deleting 'vue3/assets/VStepper-B2DAW6MY.js.gz' +tandoor | Deleting 'vue3/assets/ModelDeletePage-DhoKu-0y.js.gz' +tandoor | Deleting 'vue3/assets/RecipeBookEditor-C2WEB9_A.js' +tandoor | Deleting 'vue3/assets/VPagination-BOwdZn7N.js' +tandoor | Deleting 'vue3/assets/StartPage-B4ic7mvz.e456c940cb96.js' +tandoor | Deleting 'vue3/assets/useFileApi-DFNETGUz.js.gz' +tandoor | Deleting 'vue3/assets/MessageStore-Bk3VKIOC.939073f3c95f.js.gz' +tandoor | Deleting 'vue3/assets/AiProviderEditor-C4TWtCwO.e6d60050b025.css' +tandoor | Deleting 'vue3/assets/VTextarea-dHE66AZf.bfa8bf36b799.css.gz' +tandoor | Deleting 'vue3/assets/preload-helper-DYl5dUZ5.js.gz' +tandoor | Deleting 'vue3/assets/_plugin-vue_export-helper-BDNMzG2s.js' +tandoor | Deleting 'vue3/assets/UnitConversionEditor-BIHnhpLp.8f9f8b1e8918.js.gz' +tandoor | Deleting 'vue3/assets/lt-SI6E7sY1.2560d8a9d387.js' +tandoor | Deleting 'vue3/assets/uk-20iJFMGX.js' +tandoor | Deleting 'vue3/assets/ShoppingListView-CwFR-luS.js.gz' +tandoor | Deleting 'vue3/assets/VDateInput-Def5T2dC.js' +tandoor | Deleting 'vue3/assets/StartPage-B4ic7mvz.e456c940cb96.js.gz' +tandoor | Deleting 'vue3/assets/fa-v4compatibility-CCth-dXg.4ed293ceaca9.ttf' +tandoor | Deleting 'vue3/assets/ColorCell-CNgYq93n.4e36fb69d430.js' +tandoor | Deleting 'vue3/assets/PluralCell-9R0vsG5e.js' +tandoor | Deleting 'vue3/assets/RecipeCard-Cbe1bXKj.1d57245b6e27.js' +tandoor | Deleting 'vue3/assets/PluralCell-9R0vsG5e.9b6252cb28f0.js' +tandoor | Deleting 'vue3/assets/BoolCell-8WnOeHx-.js' +tandoor | Deleting 'vue3/assets/ClosableHelpAlert-DzFoievb.173340c48186.js' +tandoor | Deleting 'vue3/assets/PropertyEditorPage-DVFJ4n3X.js' +tandoor | Deleting 'vue3/assets/KeywordsBar-D57fv8_7.js' +tandoor | Deleting 'vue3/assets/fa-v4compatibility-C9RhG_FT.woff2' +tandoor | Deleting 'vue3/assets/VMenu-DI_OZMqw.5907af14604a.css.gz' +tandoor | Deleting 'vue3/assets/VOverlay-CKBxglwy.css.gz' +tandoor | Deleting 'vue3/assets/VTimePicker-DNtQ2GaY.658bf461867a.css.gz' +tandoor | Deleting 'vue3/assets/MealTypeEditor-CVApfZYO.8d1a5af63545.js' +tandoor | Deleting 'vue3/assets/vue.esm-bundler-CqD-zRSx.cfa395ea0e4d.js' +tandoor | Deleting 'vue3/assets/CosmeticSettings-D5AY7BMt.js.gz' +tandoor | Deleting 'vue3/assets/it-CUVHUpYO.fdb3eabab50b.js' +tandoor | Deleting 'vue3/assets/VOverlay-Bdyx0UgO.js' +tandoor | Deleting 'vue3/assets/InviteLinkEditor-ws4gIxza.js.gz' +tandoor | Deleting 'vue3/assets/easing-CQ5gDWso.b368c02d8775.js' +tandoor | Deleting 'vue3/assets/PropertyEditor-C3GWKTeF.js' +tandoor | Deleting 'vue3/assets/VSelect-YOYgv_cE.6d6398d0de13.css' +tandoor | Deleting 'vue3/assets/MealPlanStore-DrOgqZxe.js.gz' +tandoor | Deleting 'vue3/assets/VPicker-Cb67r0lX.319b527bffcc.js' +tandoor | Deleting 'vue3/assets/sv-X1GnpHH3.d4772afd68bc.js.gz' +tandoor | Deleting 'vue3/assets/MealPlanDeviceSettings-DVoZUKfj.42159e5e306e.js' +tandoor | Deleting 'vue3/assets/VWindowItem-Cwmodn8o.css' +tandoor | Deleting 'vue3/assets/VDataTableServer-YD2uLqns.js' +tandoor | Deleting 'vue3/assets/PropertiesEditor-1y487QDI.js.gz' +tandoor | Deleting 'vue3/assets/DeleteConfirmDialog-C4A_lHVv.js' +tandoor | Deleting 'vue3/assets/VRating-Be7Kb3XL.bce596081782.css.gz' +tandoor | Deleting 'vue3/assets/VFileUpload-PZMqb_-N.js.gz' +tandoor | Deleting 'vue3/assets/RecipeImage-9I1-3QmX.b2d9711a740c.js.gz' +tandoor | Deleting 'vue3/assets/sl-b6d_BJ_O.e06a9b7ee585.js' +tandoor | Deleting 'vue3/assets/VModelSelect-BR1tCXB-.e0f79dc13389.js' +tandoor | Deleting 'vue3/assets/es-CkK3cHst.js.gz' +tandoor | Deleting 'vue3/assets/SyncEditor-Cy_IOzY3.js' +tandoor | Deleting 'vue3/assets/VPagination-COmo1aFR.8938be9379ca.css.gz' +tandoor | Deleting 'vue3/assets/ShoppingListView-CwFR-luS.js' +tandoor | Deleting 'vue3/assets/VFileUpload-PZMqb_-N.3ec4c9edb4a1.js.gz' +tandoor | Deleting 'vue3/assets/ExportDataSettings-DWfz_q4l.js' +tandoor | Deleting 'vue3/assets/ModelMergeDialog-Bz1R7Nnj.69016c22c048.js' +tandoor | Deleting 'vue3/assets/fa-v4compatibility-CCth-dXg.4ed293ceaca9.ttf.gz' +tandoor | Deleting 'vue3/assets/VAvatar-_OUjgGcO.css.gz' +tandoor | Deleting 'vue3/assets/nn-CkCilbi1.js.gz' +tandoor | Deleting 'vue3/assets/pt_BR-tNFhL9ci.329194e61594.js' +tandoor | Deleting 'vue3/assets/el-DNs6HoDL.08d7c47f5d2b.js' +tandoor | Deleting 'vue3/assets/VMenu-DI_OZMqw.css' +tandoor | Deleting 'vue3/assets/fi-BLW_HATq.js.gz' +tandoor | Deleting 'vue3/assets/BatchDeleteDialog-B91AEkkg.js.gz' +tandoor | Deleting 'vue3/assets/ShoppingListEntryEditor-CgL1S3vz.js.gz' +tandoor | Deleting 'vue3/assets/ModelMergeDialog-Bz1R7Nnj.js.gz' +tandoor | Deleting 'vue3/assets/fa-solid-900-CTAAxXor.4a6591ab5460.woff2' +tandoor | Deleting 'vue3/assets/OpenDataImportSettings-BeJgBKlB.js' +tandoor | Deleting 'vue3/assets/VDataTableServer-YD2uLqns.js.gz' +tandoor | Deleting 'vue3/assets/ripple-CeGB3d9x.css' +tandoor | Deleting 'vue3/assets/MealTypeEditor-CVApfZYO.js' +tandoor | Deleting 'vue3/assets/SupermarketEditor-8OTQFTmw.js.gz' +tandoor | Deleting 'vue3/assets/ja-Cqm3qbrP.d617fa524f97.js' +tandoor | Deleting 'vue3/assets/KeywordsBar-D57fv8_7.f537face0f7b.js' +tandoor | Deleting 'vue3/assets/zh_Hant-CERwsE1Q.js.gz' +tandoor | Deleting 'vue3/assets/ShoppingListEntryEditor-CgL1S3vz.3a36093db185.js.gz' +tandoor | Deleting 'vue3/assets/fileFilter-CpK3cBn-.js' +tandoor | Deleting 'vue3/assets/tr-2PU3JpYQ.b83c4997be94.js' +tandoor | Deleting 'vue3/assets/VDivider-BeM1gRhl.727c640d6c8d.css' +tandoor | Deleting 'vue3/assets/BtnCopy-BgiMZe9z.0e21e6fe9be0.js' +tandoor | Deleting 'vue3/assets/VSheet-B7Vm5FyN.css.gz' +tandoor | Deleting 'vue3/assets/SearchPage-DmfPOZRi.459645e9ce0a.js.gz' +tandoor | Deleting 'vue3/assets/zh_Hans-GnBVnL-W.js' +tandoor | Deleting 'vue3/assets/lv-BUrQRxBI.8efc7d113546.js.gz' +tandoor | Deleting 'vue3/assets/AccessTokenEditor-dqXsGDvq.js.gz' +tandoor | Deleting 'vue3/assets/DateCell-a7H3C_Mf.81718462bfac.js' +tandoor | Deleting 'vue3/assets/VMenu-CNUfKULQ.js.gz' +tandoor | Deleting 'vue3/assets/MessageListDialog-QsZHdkKy.f9ea3e419460.js' +tandoor | Deleting 'vue3/assets/VRating-Be7Kb3XL.bce596081782.css' +tandoor | Deleting 'vue3/assets/VDialog-Cxsy4nuc.js.gz' +tandoor | Deleting 'vue3/assets/VRow-1VNA4_GN.js' +tandoor | Deleting 'vue3/assets/VList-DGtn9PZI.d8be7d15293d.css.gz' +tandoor | Deleting 'vue3/assets/BatchDeleteDialog-B91AEkkg.f852b14ce2c9.js' +tandoor | Deleting 'vue3/assets/number_utils-Brwft-8t.css.gz' +tandoor | Deleting 'vue3/assets/VCard-CSJpUMri.111de28a9d51.css' +tandoor | Deleting 'vue3/assets/nl-DIqabTrY.fcf6d7b2df13.js' +tandoor | Deleting 'vue3/assets/fa-solid-900-D0aA9rwL.ttf' +tandoor | Deleting 'vue3/assets/uk-20iJFMGX.js.gz' +tandoor | Deleting 'vue3/assets/404Page-CLI_sLOr.js' +tandoor | Deleting 'vue3/assets/SettingsPage-CjlCODoR.js' +tandoor | Deleting 'vue3/assets/VSelect-YOYgv_cE.6d6398d0de13.css.gz' +tandoor | Deleting 'vue3/assets/VBtn-CURymOBv.css' +tandoor | Deleting 'vue3/assets/VAutocomplete-BnHJd-1b.css.gz' +tandoor | Deleting 'vue3/assets/ClosableHelpAlert-DzFoievb.js.gz' +tandoor | Deleting 'vue3/assets/hu-C0QXQ9to.ae2a5d3bec8c.js' +tandoor | Deleting 'vue3/assets/UserFileEditor-BK8S3N6Z.js' +tandoor | Deleting 'vue3/assets/VTextField-CzXvxzUK.d3ec0f0ad6c5.js' +tandoor | Deleting 'vue3/assets/vue.esm-bundler-CqD-zRSx.cfa395ea0e4d.js.gz' +tandoor | Deleting 'vue3/assets/fr-D1J9AIHe.a85f6556b6a2.js.gz' +tandoor | Deleting 'vue3/assets/BatchDeleteDialog-B91AEkkg.js' +tandoor | Deleting 'vue3/assets/preload-helper-DYl5dUZ5.83b26bc11552.js.gz' +tandoor | Deleting 'vue3/assets/VChip-Hpg9IuyM.8dc9d3e18964.css' +tandoor | Deleting 'vue3/assets/TestPage-CAjhYISb.8ead10f16123.js.gz' +tandoor | Deleting 'vue3/assets/RecipeCard-Cbe1bXKj.js' +tandoor | Deleting 'vue3/assets/ShoppingListEditor-C6CHXjdH.9a9ae5c3ad16.js' +tandoor | Deleting 'vue3/assets/InventoryEntryLogDialog-CDSEUpdh.js' +tandoor | Deleting 'vue3/assets/RecipeImage-9I1-3QmX.js' +tandoor | Deleting 'vue3/assets/layout-DfMp8A--.js' +tandoor | Deleting 'vue3/assets/VDateInput-Ce6wOZHn.ab6c5c30010f.css' +tandoor | Deleting 'vue3/assets/intersect-CCw5jBzg.js' +tandoor | Deleting 'vue3/assets/VBtn-B87fcYT2.js.gz' +tandoor | Deleting 'vue3/assets/InventoryBookingPage-gp9cCUw0.js.gz' +tandoor | Deleting 'vue3/assets/number_utils-DsY-ZJtE.ba8a23381738.js.gz' +tandoor | Deleting 'vue3/assets/VContainer-CVQdxlL6.28790f9bfff4.js.gz' +tandoor | Deleting 'vue3/assets/RecipeBookEditor-C2WEB9_A.ad2ef1d9e2bc.js.gz' +tandoor | Deleting 'vue3/assets/brand_logo-DHt4CyHb.fa64319ab35b.svg.gz' +tandoor | Deleting 'vue3/assets/ru-BXmxlY4u.js.gz' +tandoor | Deleting 'vue3/assets/VTable-CUwSTB3l.ee0c7f0d17f8.js' +tandoor | Deleting 'vue3/assets/ko-ADlXHFgo.js' +tandoor | Deleting 'vue3/assets/SupermarketEditor-8OTQFTmw.e8bc32f4490e.js' +tandoor | Deleting 'vue3/assets/HierarchyEditor-prnLHBv6.ccb08f4e0ed1.js.gz' +tandoor | Deleting 'vue3/assets/AiProviderEditor-CNuSptsi.js' +tandoor | Deleting 'vue3/assets/lv-BUrQRxBI.js' +tandoor | Deleting 'vue3/assets/VDataTable-BStYgNAC.js.gz' +tandoor | Deleting 'vue3/assets/it-CUVHUpYO.js' +tandoor | Deleting 'vue3/assets/sl-b6d_BJ_O.js' +tandoor | Deleting 'vue3/assets/is-DDXYXl1C.js' +tandoor | Deleting 'vue3/assets/hr-CMRkObu_.12a118cc8d8b.js' +tandoor | Deleting 'vue3/assets/DatabasePage-D8QDF-8m.9049552013f8.js' +tandoor | Deleting 'vue3/assets/VAlert-BWGRg6Ki.js.gz' +tandoor | Deleting 'vue3/assets/createSimpleFunctional-DKfs5zaG.3998973294dc.js.gz' +tandoor | Deleting 'vue3/assets/AccessTokenEditor-dqXsGDvq.e9b1126d073b.js' +tandoor | Deleting 'vue3/assets/cs-DUZpBKTY.js.gz' +tandoor | Deleting 'vue3/assets/MessageListDialog-QsZHdkKy.js.gz' +tandoor | Deleting 'vue3/assets/VSpacer-EPougjo9.d10c15a3d578.js' +tandoor | Deleting 'vue3/assets/VBottomSheet-BQK4v2k8.489eb4ba2b40.css.gz' +tandoor | Deleting 'vue3/assets/ripple-CNywu7tA.a52e30bb9f8b.js.gz' +tandoor | Deleting 'vue3/assets/CookLogEditor-D908R6O0.js.gz' +tandoor | Deleting 'vue3/assets/PropertiesEditor-1y487QDI.js' +tandoor | Deleting 'vue3/assets/InventoryBookingPage-gp9cCUw0.6a06fa8c40db.js.gz' +tandoor | Deleting 'vue3/assets/ColorCell-CNgYq93n.js.gz' +tandoor | Deleting 'vue3/assets/CosmeticSettings-DTudQs61.0308c579b183.css' +tandoor | Deleting 'vue3/assets/SpaceEditor-BG9pNfzF.9465c6dc1d2f.css' +tandoor | Deleting 'vue3/assets/step_utils-CuKNkoNj.js' +tandoor | Deleting 'vue3/assets/pt_BR-tNFhL9ci.js.gz' +tandoor | Deleting 'vue3/assets/BooksPage-DUXuY3c6.fa36a152d35c.js' +tandoor | Deleting 'vue3/assets/FoodEditor-BTbg48xW.de9f2518da49.js.gz' +tandoor | Deleting 'vue3/assets/VOverlay-CKBxglwy.css' +tandoor | Deleting 'vue3/assets/UnitConversionEditor-BIHnhpLp.js.gz' +tandoor | Deleting 'vue3/assets/VRow-Dd63ltWq.css.gz' +tandoor | Deleting 'vue3/assets/DatabasePage-D8QDF-8m.js.gz' +tandoor | Deleting 'vue3/assets/pt-CXzOqbUC.js' +tandoor | Deleting 'vue3/assets/ModelEditDialog-heSAymAp.8e886ef5c95c.js' +tandoor | Deleting 'vue3/assets/VColorPicker-DoVATq5z.css.gz' +tandoor | Deleting 'vue3/assets/UserPreferenceStore-Da2OtThJ.70a0c53f44d5.js' +tandoor | Deleting 'vue3/assets/VList-DGtn9PZI.css' +tandoor | Deleting 'vue3/assets/fa-regular-400-DZaxPHgR.ttf.gz' +tandoor | Deleting 'vue3/assets/display-CJXM1oE4.cfb0e125000b.js' +tandoor | Deleting 'vue3/assets/VList-DGtn9PZI.d8be7d15293d.css' +tandoor | Deleting 'vue3/assets/HelpView-BAJGaFwz.css.gz' +tandoor | Deleting 'vue3/assets/AutomationEditor-B1ieG_Qg.8e99760fe5f8.js.gz' +tandoor | Deleting 'vue3/assets/SearchSettings-DWOgrsRA.9394e878169c.js' +tandoor | Deleting 'vue3/assets/devtools-EWN81iOl-5-frKK2v.ebd4232e0567.js' +tandoor | Deleting 'vue3/assets/VAutocomplete-BnHJd-1b.css' +tandoor | Deleting 'vue3/assets/DateCell-a7H3C_Mf.js.gz' +tandoor | Deleting 'vue3/assets/VTimePicker-OuF3cros.4a42095d0014.js' +tandoor | Deleting 'vue3/assets/VBtn-CURymOBv.0f09cbcdb99d.css.gz' +tandoor | Deleting 'vue3/assets/IngredientEditorPage-Gnn85yx-.js' +tandoor | Deleting 'vue3/assets/VAlert-BWGRg6Ki.js' +tandoor | Deleting 'vue3/assets/VAutocomplete-CcxFo8a_.js.gz' +tandoor | Deleting 'vue3/assets/layout-DfMp8A--.d190bb30481a.js' +tandoor | Deleting 'vue3/assets/fileFilter-CpK3cBn-.c4a9a2ddffdd.js' +tandoor | Deleting 'vue3/assets/VTable-DthgrCD7.5b58cdd483ec.css' +tandoor | Deleting 'vue3/assets/MessageStore-Bk3VKIOC.js.gz' +tandoor | Deleting 'vue3/assets/VSelect-YOYgv_cE.css.gz' +tandoor | Deleting 'vue3/assets/VColorPicker-DoVATq5z.css' +tandoor | Deleting 'vue3/assets/DatabaseModelCol-DO84-XXG.js.gz' +tandoor | Deleting 'vue3/assets/PropertyEditorPage-DVFJ4n3X.a3fa77ecef42.js' +tandoor | Deleting 'vue3/assets/OpenDataImportSettings-BeJgBKlB.4094d59d8754.js' +tandoor | Deleting 'vue3/assets/VTimePicker-OuF3cros.js' +tandoor | Deleting 'vue3/assets/VPicker-CwcEY6OS.css' +tandoor | Deleting 'vue3/assets/MealPlanStore-DrOgqZxe.f3dfadd342a2.js.gz' +tandoor | Deleting 'vue3/assets/lv-BUrQRxBI.js.gz' +tandoor | Deleting 'vue3/assets/useDebouncedSearch-CByjndun.7a6dc89fb2df.js.gz' +tandoor | Deleting 'vue3/assets/StorageEditor-CQmXcBIr.5c125b5b90a8.js.gz' +tandoor | Deleting 'vue3/assets/ConnectorConfigEditor-1pIOZOo8.js' +tandoor | Deleting 'vue3/assets/main-BLHMu-MF.css.gz' +tandoor | Deleting 'vue3/assets/vue-router-uYvjcGiZ.eb1835be6144.js' +tandoor | Deleting 'vue3/assets/forwardRefs-4bK3QhIU.28526eb206f2.js' +tandoor | Deleting 'vue3/assets/devtools-EWN81iOl-5-frKK2v.ebd4232e0567.js.gz' +tandoor | Deleting 'vue3/assets/WelcomePage-CZE7Rrxg.js.gz' +tandoor | Deleting 'vue3/assets/VPagination-BOwdZn7N.bff7e14b7eca.js' +tandoor | Deleting 'vue3/assets/RecipeViewPage-C4IWDoeV.24a81acf44df.js.gz' +tandoor | Deleting 'vue3/assets/luxon-DkeW_LqH.c401f322fe78.js.gz' +tandoor | Deleting 'vue3/assets/fontello-CnWxryRb.e73a0647198c.eot.gz' +tandoor | Deleting 'vue3/assets/RecipeEditor-QrFyEcgl.bd6bfd78d142.js.gz' +tandoor | Deleting 'vue3/assets/uk-20iJFMGX.9f2c9be83667.js.gz' +tandoor | Deleting 'vue3/assets/ShoppingListEditor-C6CHXjdH.9a9ae5c3ad16.js.gz' +tandoor | Deleting 'vue3/assets/CustomFilterEditor-BCnLqkai.js' +tandoor | Deleting 'vue3/assets/MealTypeEditor-CVApfZYO.js.gz' +tandoor | Deleting 'vue3/assets/FoodEditor-BTbg48xW.js.gz' +tandoor | Deleting 'vue3/assets/VMenu-CNUfKULQ.ab3c41811fc4.js' +tandoor | Deleting 'vue3/assets/AccountSettings-D6GtDIl8.js.gz' +tandoor | Deleting 'vue3/assets/SpaceEditor-BjwVNLnh.f1f2d72c88ce.js.gz' +tandoor | Deleting 'vue3/assets/VNumberInput-D_pvjVZS.css.gz' +tandoor | Deleting 'vue3/assets/ExportDataSettings-DWfz_q4l.e28a1396149a.js.gz' +tandoor | Deleting 'vue3/assets/PropertyTypeEditor-D2wjLqEv.04b30cff1f2b.js' +tandoor | Deleting 'vue3/assets/brand_logo-DHt4CyHb.svg' +tandoor | Deleting 'vue3/assets/group-DeSlxrU1.4e5c8d0b6682.js' +tandoor | Deleting 'vue3/assets/AccountSettings-D6GtDIl8.js' +tandoor | Deleting 'vue3/assets/VAvatar-eBB8pUre.bc1bcf54ec6b.js.gz' +tandoor | Deleting 'vue3/assets/el-DNs6HoDL.js' +tandoor | Deleting 'vue3/assets/PantryPage-BVxzvIwd.e773e9eb27f8.js.gz' +tandoor | Deleting 'vue3/assets/MealTypeEditor-CVApfZYO.8d1a5af63545.js.gz' +tandoor | Deleting 'vue3/assets/FoodEditor-BTbg48xW.de9f2518da49.js' +tandoor | Deleting 'vue3/assets/position-D6UiwBfP.js.gz' +tandoor | Deleting 'vue3/assets/ShoppingListPage-BHW6TVhn.js' +tandoor | Deleting 'vue3/assets/VFileUpload-PZMqb_-N.3ec4c9edb4a1.js' +tandoor | Deleting 'vue3/assets/SyncEditor-Cy_IOzY3.js.gz' +tandoor | Deleting 'vue3/assets/ko-ADlXHFgo.7773fbad9073.js.gz' +tandoor | Deleting 'vue3/assets/logo_color-CXE3OqOR.svg' +tandoor | Deleting 'vue3/assets/KeywordsBar-D57fv8_7.f537face0f7b.js.gz' +tandoor | Deleting 'vue3/assets/VNumberInput-D_pvjVZS.175e14fc7ab3.css.gz' +tandoor | Deleting 'vue3/assets/es-CkK3cHst.js' +tandoor | Deleting 'vue3/assets/VRating-Be7Kb3XL.css' +tandoor | Deleting 'vue3/assets/VSwitch-vMm50DSC.js.gz' +tandoor | Deleting 'vue3/assets/FreezerExpiryDialog-DS9NU-rP.js.gz' +tandoor | Deleting 'vue3/assets/FreezerExpiryDialog-DS9NU-rP.4c5b76e915d9.js.gz' +tandoor | Deleting 'vue3/assets/VTabs-BOMndy1x.js' +tandoor | Deleting 'vue3/assets/HelpView-DigeEu-e.js' +tandoor | Deleting 'vue3/assets/VTooltip-BZ4fmwSk.js' +tandoor | Deleting 'vue3/assets/UserPreferenceStore-Da2OtThJ.js.gz' +tandoor | Deleting 'vue3/assets/VBtn-B87fcYT2.js' +tandoor | Deleting 'vue3/assets/PantryBookingDialog-DLaYuKXP.js' +tandoor | Deleting 'vue3/assets/VDivider-BeM1gRhl.727c640d6c8d.css.gz' +tandoor | Deleting 'vue3/assets/da-DHqdZ4yZ.js.gz' +tandoor | Deleting 'vue3/assets/VTooltip-wD2djnd2.9d23e43db043.css' +tandoor | Deleting 'vue3/assets/MealPlanEditor-CQabpLAK.8d2fb33aa7d3.css' +tandoor | Deleting 'vue3/assets/VTabs-Bz9gKX-q.css' +tandoor | Deleting 'vue3/assets/is-DDXYXl1C.f267493722d4.js.gz' +tandoor | Deleting 'vue3/assets/AutomationEditor-B1ieG_Qg.js.gz' +tandoor | Deleting 'vue3/assets/fdc-Byjxh21q.js.gz' +tandoor | Deleting 'vue3/assets/AddToShoppingDialog-BqI5JNSn.39080a3b645b.js.gz' +tandoor | Deleting 'vue3/assets/VCheckboxBtn-DH18l-5Y.js.gz' +tandoor | Deleting 'vue3/assets/DatabasePage-D8QDF-8m.9049552013f8.js.gz' +tandoor | Deleting 'vue3/assets/ModelEditPage-o5RBmXdA.089f672a4019.js.gz' +tandoor | Deleting 'vue3/assets/fontello-B1X0PDnA.068ca2b316db.ttf.gz' +tandoor | Deleting 'vue3/assets/ModelEditPage-o5RBmXdA.js' +tandoor | Deleting 'vue3/assets/PropertiesEditor-1y487QDI.e90bae8d6ff8.js' +tandoor | Deleting 'vue3/assets/fa-regular-400-BjRzuEpd.89672701a587.woff2' +tandoor | Deleting 'vue3/assets/ColorCell-CNgYq93n.js' +tandoor | Deleting 'vue3/assets/pt-CXzOqbUC.js.gz' +tandoor | Deleting 'vue3/assets/VPagination-COmo1aFR.css' +tandoor | Deleting 'vue3/assets/hy-HqufUZnw.js.gz' +tandoor | Deleting 'vue3/assets/PropertyTypeEditor-D2wjLqEv.04b30cff1f2b.js.gz' +tandoor | Deleting 'vue3/assets/VColorPicker-naQDOsG5.js.gz' +tandoor | Deleting 'vue3/assets/IngredientsTable-CwOGp6hb.js' +tandoor | Deleting 'vue3/assets/VRating-Be7Kb3XL.css.gz' +tandoor | Deleting 'vue3/assets/PropertiesEditor-1y487QDI.e90bae8d6ff8.js.gz' +tandoor | Deleting 'vue3/assets/vue.esm-bundler-CqD-zRSx.js.gz' +tandoor | Deleting 'vue3/assets/VListItemAction-C96ZqtYL.b138a382eb9a.js.gz' +tandoor | Deleting 'vue3/assets/VNumberInput-B5bU_Oq2.3025d34cfddf.js' +tandoor | Deleting 'vue3/assets/VTextField-CzXvxzUK.js' +tandoor | Deleting 'vue3/assets/model_utils-a_hMB_Qu.js' +tandoor | Deleting 'vue3/assets/ModelEditPage-o5RBmXdA.js.gz' +tandoor | Deleting 'vue3/assets/fr-D1J9AIHe.js.gz' +tandoor | Deleting 'vue3/assets/Plugins-ceTAN2fQ.a7ef74106d46.js' +tandoor | Deleting 'vue3/assets/VCheckbox-4hSTANC8.fb1fbeac2625.js' +tandoor | Deleting 'vue3/assets/Plugins-ceTAN2fQ.js' +tandoor | Deleting 'vue3/assets/HouseholdPage-DB8rMV4T.js.gz' +tandoor | Deleting 'vue3/assets/pl-B7dc5eNY.js' +tandoor | Deleting 'vue3/assets/InviteLinkEditor-ws4gIxza.1ab4b42138a1.js' +tandoor | Deleting 'vue3/assets/VFileUpload-PZMqb_-N.js' +tandoor | Deleting 'vue3/assets/VWindowItem-Cwmodn8o.css.gz' +tandoor | Deleting 'vue3/assets/form-C0DXuADG.b5ae9569b47f.js.gz' +tandoor | Deleting 'vue3/assets/useFileApi-DFNETGUz.37b6191083c5.js' +tandoor | Deleting 'vue3/assets/VClosableCardTitle-B9FM6eKp.js.gz' +tandoor | Deleting 'vue3/assets/de-DFHJEDto.474339dd3bea.js' +tandoor | Deleting 'vue3/assets/RecipeCard-BFWiOp6n.647ea47bc9ff.css' +tandoor | Deleting 'vue3/assets/CosmeticSettings-DTudQs61.0308c579b183.css.gz' +tandoor | Deleting 'vue3/assets/VMenu-CNUfKULQ.js' +tandoor | Deleting 'vue3/assets/ca-C5QQCa9o.js.gz' +tandoor | Deleting 'vue3/assets/VSheet-B7Vm5FyN.5b804e048dff.css.gz' +tandoor | Deleting 'vue3/assets/VSpacer-izdAGX-2.f53482a6eb1a.css' +tandoor | Deleting 'vue3/assets/VDataTable-BStYgNAC.js' +tandoor | Deleting 'vue3/assets/VPicker-CwcEY6OS.97be0236aa36.css.gz' +tandoor | Deleting 'vue3/assets/FdcSearchDialog-D4zTy3Lq.js.gz' +tandoor | Deleting 'vue3/assets/VBtn-B87fcYT2.d24c72fa79ee.js.gz' +tandoor | Deleting 'vue3/assets/RecipeBookEditor-C2WEB9_A.js.gz' +tandoor | Deleting 'vue3/assets/VCard-BrX3vEF4.js' +tandoor | Deleting 'vue3/assets/en-DkUhXk8v.4c810296cddb.js' +tandoor | Deleting 'vue3/assets/tr-2PU3JpYQ.js' +tandoor | Deleting 'vue3/assets/VForm-LKLQZz8R.1e1b2723b0b1.js.gz' +tandoor | Deleting 'vue3/assets/nb_NO-DwWs-bt-.fc2f29dd963f.js' +tandoor | Deleting 'vue3/assets/ShoppingListView-CGxjZ4ZB.css.gz' +tandoor | Deleting 'vue3/assets/StorageEditor-CQmXcBIr.5c125b5b90a8.js' +tandoor | Deleting 'vue3/assets/logo_color-CXE3OqOR.d7c2e31a63b7.svg' +tandoor | Deleting 'vue3/assets/MealPlanSettings-G_ZOu3ZM.2458dafd7f44.js' +tandoor | Deleting 'vue3/assets/HelpView-BAJGaFwz.css' +tandoor | Deleting 'vue3/assets/group-DeSlxrU1.js' +tandoor | Deleting 'vue3/assets/et-zY9CrDMt.1761c6eb5f48.js.gz' +tandoor | Deleting 'vue3/assets/pl-B7dc5eNY.b9850b054920.js.gz' +tandoor | Deleting 'vue3/assets/fa-v4compatibility-CCth-dXg.ttf.gz' +tandoor | Deleting 'vue3/assets/ConnectorConfigEditor-1pIOZOo8.js.gz' +tandoor | Deleting 'vue3/assets/VAlert-7V9O2osm.css' +tandoor | Deleting 'vue3/assets/VMenu-DI_OZMqw.css.gz' +tandoor | Deleting 'vue3/assets/RecipeEditor-CcFlDNPw.c63cac250b70.css.gz' +tandoor | Deleting 'vue3/assets/transitions-B_rYJDf3.a6b62f9c3916.js.gz' +tandoor | Deleting 'vue3/assets/UserSpaceEditor-D976UU1H.97c9b24ed659.js' +tandoor | Deleting 'vue3/assets/CookLogEditor-D908R6O0.js' +tandoor | Deleting 'vue3/assets/logo_color-DpMQp_wm.fad6a4636f2e.js' +tandoor | Deleting 'vue3/assets/VDateInput-Ce6wOZHn.css' +tandoor | Deleting 'vue3/assets/fontello-BEgLts9b.woff' +tandoor | Deleting 'vue3/assets/DateCell-a7H3C_Mf.81718462bfac.js.gz' +tandoor | Deleting 'vue3/assets/InventoryLocationEditor-Bts8Tto0.js.gz' +tandoor | Deleting 'vue3/assets/fi-BLW_HATq.078772422941.js' +tandoor | Deleting 'vue3/assets/integration_utils-CvQxvuBa.js.gz' +tandoor | Deleting 'vue3/assets/VTable-CUwSTB3l.ee0c7f0d17f8.js.gz' +tandoor | Deleting 'vue3/assets/VList-D9ajBFzS.0aecab74b22f.js.gz' +tandoor | Deleting 'vue3/assets/useDjangoUrls-C5jVOnBk.671b281bcd78.js.gz' +tandoor | Deleting 'vue3/assets/devtools-EWN81iOl-5-frKK2v.js.gz' +tandoor | Deleting 'vue3/assets/BookViewPage-DuhKXoEk.b520ddb1a569.js' +tandoor | Deleting 'vue3/assets/zh_Hant-CERwsE1Q.8534ecee0fb0.js.gz' +tandoor | Deleting 'vue3/assets/integration_utils-CvQxvuBa.a3cd03183fd1.js' +tandoor | Deleting 'vue3/assets/forwardRefs-4bK3QhIU.js' +tandoor | Deleting 'vue3/assets/he-DxNGVUQd.79ff03f4063a.js' +tandoor | Deleting 'vue3/assets/MealPlanStore-DrOgqZxe.f3dfadd342a2.js' +tandoor | Deleting 'vue3/assets/MealPlanEditor-DQS6GVSR.e171028d6fcf.js' +tandoor | Deleting 'vue3/assets/pt_BR-tNFhL9ci.js' +tandoor | Deleting 'vue3/assets/fontello-BxS_W-ym.svg' +tandoor | Deleting 'vue3/assets/fileFilter-CpK3cBn-.c4a9a2ddffdd.js.gz' +tandoor | Deleting 'vue3/assets/HouseholdPage-DB8rMV4T.js' +tandoor | Deleting 'vue3/assets/RecipeBookEditor-C2WEB9_A.ad2ef1d9e2bc.js' +tandoor | Deleting 'vue3/assets/useDebouncedSearch-CByjndun.js.gz' +tandoor | Deleting 'vue3/assets/position-KetB1dC_.css.gz' +tandoor | Deleting 'vue3/assets/DatabaseLinkCol-DGoe03EP.6b3e4bde6f99.js.gz' +tandoor | Deleting 'vue3/assets/VDialog-Cxsy4nuc.b5209914115b.js.gz' +tandoor | Deleting 'vue3/assets/VSpacer-izdAGX-2.css' +tandoor | Deleting 'vue3/assets/AddToShoppingDialog-BqI5JNSn.js.gz' +tandoor | Deleting 'vue3/assets/SpaceSettings-DihMRJ5m.js' +tandoor | Deleting 'vue3/assets/fileFilter-CpK3cBn-.js.gz' +tandoor | Deleting 'vue3/assets/MealPlanSettings-G_ZOu3ZM.js.gz' +tandoor | Deleting 'vue3/assets/VSwitch-Djsboh2v.css.gz' +tandoor | Deleting 'vue3/assets/MealPlanDeviceSettings-DVoZUKfj.js' +tandoor | Deleting 'vue3/assets/group-DeSlxrU1.js.gz' +tandoor | Deleting 'vue3/assets/VTextarea-dHE66AZf.css' +tandoor | Deleting 'vue3/assets/VTimePicker-DNtQ2GaY.css.gz' +tandoor | Deleting 'vue3/assets/de-DFHJEDto.js.gz' +tandoor | Deleting 'vue3/assets/VBottomSheet-BQK4v2k8.css.gz' +tandoor | Deleting 'vue3/assets/ko-ADlXHFgo.js.gz' +tandoor | Deleting 'vue3/assets/VTooltip-wD2djnd2.css.gz' +tandoor | Deleting 'vue3/assets/number_utils-Brwft-8t.css' +tandoor | Deleting 'vue3/assets/SpaceEditor-BjwVNLnh.js.gz' +tandoor | Deleting 'vue3/assets/HelpView-DigeEu-e.29fb54936404.js.gz' +tandoor | Deleting 'vue3/assets/PrivateRecipeBadge-CWYO-ukH.js.gz' +tandoor | Deleting 'vue3/assets/VForm-LKLQZz8R.js.gz' +tandoor | Deleting 'vue3/assets/ShoppingListEditor-C6CHXjdH.js.gz' +tandoor | Deleting 'vue3/assets/VDialog-BK-qqu9O.48b30de94227.css' +tandoor | Deleting 'vue3/assets/HouseholdPage-DB8rMV4T.0690f78b5b5d.js' +tandoor | Deleting 'vue3/assets/RecipeEditor-QrFyEcgl.js' +tandoor | Deleting 'vue3/assets/ShoppingListView-CGxjZ4ZB.e9bb4dba2b14.css' +tandoor | Deleting 'vue3/assets/VListItemAction-C96ZqtYL.b138a382eb9a.js' +tandoor | Deleting 'vue3/assets/ShoppingListEntryEditor-CgL1S3vz.3a36093db185.js' +tandoor | Deleting 'vue3/assets/BooksPage-DUXuY3c6.js.gz' +tandoor | Deleting 'vue3/assets/VList-D9ajBFzS.0aecab74b22f.js' +tandoor | Deleting 'vue3/assets/DeleteConfirmDialog-C4A_lHVv.0d63d7730b85.js' +tandoor | Deleting 'vue3/assets/HierarchyEditor-prnLHBv6.js.gz' +tandoor | Deleting 'vue3/assets/VNumberInput-D_pvjVZS.175e14fc7ab3.css' +tandoor | Deleting 'vue3/assets/it-CUVHUpYO.js.gz' +tandoor | Deleting 'vue3/assets/ca-C5QQCa9o.ff6e54a70768.js' +tandoor | Deleting 'vue3/assets/TestPage-CAjhYISb.js.gz' +tandoor | Deleting 'vue3/assets/bg-_Ardqm8i.c46924a2b9d5.js' +tandoor | Deleting 'vue3/assets/integration_utils-CvQxvuBa.a3cd03183fd1.js.gz' +tandoor | Deleting 'vue3/assets/fa-v4compatibility-C9RhG_FT.a772da7bff21.woff2' +tandoor | Deleting 'vue3/assets/fr-D1J9AIHe.a85f6556b6a2.js' +tandoor | Deleting 'vue3/assets/logic_utils-DSi7Jcvh.js.gz' +tandoor | Deleting 'vue3/assets/VChip-Hpg9IuyM.css' +tandoor | Deleting 'vue3/assets/_plugin-vue_export-helper-BDNMzG2s.c51658f4e737.js' +tandoor | Deleting 'vue3/assets/cs-DUZpBKTY.c85cc13d2448.js' +tandoor | Deleting 'vue3/assets/VFileUpload-7CWUohzn.d182bb8e4f03.css.gz' +tandoor | Deleting 'vue3/assets/VAlert-BWGRg6Ki.cdce2cb50fa4.js' +tandoor | Deleting 'vue3/assets/VTextarea-CiCB-kUF.js' +tandoor | Deleting 'vue3/assets/VSwitch-vMm50DSC.1b9ea1dc04cc.js.gz' +tandoor | Deleting 'vue3/assets/zh_Hant-CERwsE1Q.js' +tandoor | Deleting 'vue3/assets/zh_Hant-CERwsE1Q.8534ecee0fb0.js' +tandoor | Deleting 'vue3/assets/HierarchyEditor-wADOsT_-.885aa06e77cd.css.gz' +tandoor | Deleting 'vue3/assets/fi-BLW_HATq.js' +tandoor | Deleting 'vue3/assets/VChip-Hpg9IuyM.8dc9d3e18964.css.gz' +tandoor | Deleting 'vue3/assets/nl-DIqabTrY.js' +tandoor | Deleting 'vue3/assets/recipe_no_image-ee73JTqS.js' +tandoor | Deleting 'vue3/assets/VTextField-CzXvxzUK.js.gz' +tandoor | Deleting 'vue3/assets/VRating-C4_Legyx.1ab5053556d8.js' +tandoor | Deleting 'vue3/assets/Models-YQwtgjBg.1ebbe0116533.js.gz' +tandoor | Deleting 'vue3/assets/VCheckboxBtn-CgKG0efP.b4b9ba2feaa9.css' +tandoor | Deleting 'vue3/assets/VSheet-Cbz0zMVl.74beacb919b1.js' +tandoor | Deleting 'vue3/assets/fa-solid-900-D0aA9rwL.ttf.gz' +tandoor | Deleting 'vue3/assets/easing-CQ5gDWso.js' +tandoor | Deleting 'vue3/assets/VTooltip-wD2djnd2.9d23e43db043.css.gz' +tandoor | Deleting 'vue3/assets/VStepper-B2DAW6MY.0393d1637f35.js' +tandoor | Deleting 'vue3/assets/ExportDataSettings-DWfz_q4l.e28a1396149a.js' +tandoor | Deleting 'vue3/assets/ru-BXmxlY4u.ea0a43ef2f75.js' +tandoor | Deleting 'vue3/assets/SearchPage-DmfPOZRi.459645e9ce0a.js' +tandoor | Deleting 'vue3/assets/VStepper-B2DAW6MY.js' +tandoor | Deleting 'vue3/assets/model_utils-a_hMB_Qu.37a240ea7f88.js.gz' +tandoor | Deleting 'vue3/assets/number_utils-DsY-ZJtE.js' +tandoor | Deleting 'vue3/assets/InventoryLocationEditor-Bts8Tto0.a7e323237fa1.js' +tandoor | Deleting 'vue3/assets/VTextarea-CiCB-kUF.4a62dba61c39.js.gz' +tandoor | Deleting 'vue3/assets/useDjangoUrls-C5jVOnBk.js.gz' +tandoor | Deleting 'vue3/assets/VNumberInput-B5bU_Oq2.js.gz' +tandoor | Deleting 'vue3/assets/MealPlanEditor-DQS6GVSR.js' +tandoor | Deleting 'vue3/assets/ro-CG_JGo0i.js' +tandoor | Deleting 'vue3/assets/ripple-CNywu7tA.js' +tandoor | Deleting 'vue3/assets/PropertyTypeEditor-D2wjLqEv.js' +tandoor | Deleting 'vue3/assets/AiProviderEditor-C4TWtCwO.css' +tandoor | Deleting 'vue3/assets/hu-C0QXQ9to.js' +tandoor | Deleting 'vue3/assets/ColorCell-CNgYq93n.4e36fb69d430.js.gz' +tandoor | Deleting 'vue3/assets/main-BLHMu-MF.css' +tandoor | Deleting 'vue3/assets/fi-BLW_HATq.078772422941.js.gz' +tandoor | Deleting 'vue3/assets/AutomationEditor-B1ieG_Qg.8e99760fe5f8.js' +tandoor | Deleting 'vue3/assets/ModelEditPage-B5oBrkJw.css.gz' +tandoor | Deleting 'vue3/assets/VContainer-CUd91tkX.css.gz' +tandoor | Deleting 'vue3/assets/HierarchyEditor-wADOsT_-.css' +tandoor | Deleting 'vue3/assets/PropertyTypeEditor-D2wjLqEv.js.gz' +tandoor | Deleting 'vue3/assets/UserSpaceEditor-D976UU1H.97c9b24ed659.js.gz' +tandoor | Deleting 'vue3/assets/VChip-Hpg9IuyM.css.gz' +tandoor | Deleting 'vue3/assets/SpaceSettings-DihMRJ5m.e0c2829a99b4.js.gz' +tandoor | Deleting 'vue3/assets/VFileUpload-7CWUohzn.d182bb8e4f03.css' +tandoor | Deleting 'vue3/assets/RecipeViewPage-BY3ErEFj.457b3d77074e.css.gz' +tandoor | Deleting 'vue3/assets/UserSpaceEditor-D976UU1H.js.gz' +tandoor | Deleting 'vue3/assets/RecipeViewPage-BY3ErEFj.css.gz' +tandoor | Deleting 'vue3/assets/pt_BR-tNFhL9ci.329194e61594.js.gz' +tandoor | Deleting 'vue3/assets/SpaceEditor-BG9pNfzF.9465c6dc1d2f.css.gz' +tandoor | Deleting 'vue3/assets/ro-CG_JGo0i.c856bd470eef.js' +tandoor | Deleting 'vue3/assets/nb_NO-DwWs-bt-.js' +tandoor | Deleting 'vue3/assets/PropertyEditor-C3GWKTeF.6603834a577f.js' +tandoor | Deleting 'vue3/assets/IngredientsTable-CwOGp6hb.js.gz' +tandoor | Deleting 'vue3/assets/tr-2PU3JpYQ.js.gz' +tandoor | Deleting 'vue3/assets/VTextField-j0TpvUy_.42df5f015009.css' +tandoor | Deleting 'vue3/assets/VColorPicker-naQDOsG5.55d1cf822d5a.js.gz' +tandoor | Deleting 'vue3/assets/hu-C0QXQ9to.js.gz' +tandoor | Deleting 'vue3/assets/VList-D9ajBFzS.js.gz' +tandoor | Deleting 'vue3/assets/vue-router-uYvjcGiZ.eb1835be6144.js.gz' +tandoor | Deleting 'vue3/assets/VCheckboxBtn-DH18l-5Y.391d609ab75a.js.gz' +tandoor | Deleting 'vue3/assets/fa-brands-400-D1LuMI3I.ttf.gz' +tandoor | Deleting 'vue3/assets/VDialog-Cxsy4nuc.b5209914115b.js' +tandoor | Deleting 'vue3/assets/ShoppingSettings-DtUGYj-U.js.gz' +tandoor | Deleting 'vue3/assets/ja-Cqm3qbrP.js' +tandoor | Deleting 'vue3/assets/RecipeCard-Cbe1bXKj.1d57245b6e27.js.gz' +tandoor | Deleting 'vue3/assets/CosmeticSettings-D5AY7BMt.d454c82e456c.js' +tandoor | Deleting 'vue3/assets/VChip-CiyMMZBL.9c263ac4bffc.js' +tandoor | Deleting 'vue3/assets/layout-DfMp8A--.d190bb30481a.js.gz' +tandoor | Deleting 'vue3/assets/AddToShoppingDialog-BqI5JNSn.39080a3b645b.js' +tandoor | Deleting 'vue3/assets/VBottomSheet-BQK4v2k8.489eb4ba2b40.css' +tandoor | Deleting 'vue3/assets/VAvatar-eBB8pUre.bc1bcf54ec6b.js' +tandoor | Deleting 'vue3/assets/RecipeCard-Cbe1bXKj.js.gz' +tandoor | Deleting 'vue3/assets/WelcomePage-CZE7Rrxg.f3af30c63fea.js' +tandoor | Deleting 'vue3/assets/HouseholdEditor-BMzTw9_i.js' +tandoor | Deleting 'vue3/assets/forwardRefs-4bK3QhIU.28526eb206f2.js.gz' +tandoor | Deleting 'vue3/assets/VDataTableServer-YD2uLqns.0893d855e6a0.js' +tandoor | Deleting 'vue3/assets/RecipeImportPage-C8RzclwX.js.gz' +tandoor | Deleting 'vue3/assets/AiProviderEditor-CNuSptsi.243557da8129.js' +tandoor | Deleting 'vue3/assets/VDataTable-BStYgNAC.0106e34ca8d5.js' +tandoor | Deleting 'vue3/assets/VChip-CiyMMZBL.9c263ac4bffc.js.gz' +tandoor | Deleting 'vue3/assets/SearchPage-DmfPOZRi.js.gz' +tandoor | Deleting 'vue3/assets/main-DmzAQY5C.caf3943cf3ed.js.gz' +tandoor | Deleting 'vue3/assets/VDataTable-BStYgNAC.0106e34ca8d5.js.gz' +tandoor | Deleting 'vue3/assets/VPicker-CwcEY6OS.css.gz' +tandoor | Deleting 'vue3/assets/HelpPage-wmlN_nG3.js' +tandoor | Deleting 'vue3/assets/main-DmzAQY5C.js.gz' +tandoor | Deleting 'vue3/assets/fa-v4compatibility-CCth-dXg.ttf' +tandoor | Deleting 'vue3/assets/CosmeticSettings-DTudQs61.css' +tandoor | Deleting 'vue3/assets/fa-brands-400-D1LuMI3I.15d54d142da2.ttf.gz' +tandoor | Deleting 'vue3/assets/logic_utils-DSi7Jcvh.e80d19eb0e0b.js.gz' +tandoor | Deleting 'vue3/assets/fontello-B1X0PDnA.068ca2b316db.ttf' +tandoor | Deleting 'vue3/assets/resizeObserver-Zl3c2ovo.9b2d90698c79.js' +tandoor | Deleting 'vue3/assets/nn-CkCilbi1.js' +tandoor | Deleting 'vue3/assets/sv-X1GnpHH3.js.gz' +tandoor | Deleting 'vue3/assets/HierarchyEditor-prnLHBv6.js' +tandoor | Deleting 'vue3/assets/AutomationEditor-B1ieG_Qg.js' +tandoor | Deleting 'vue3/assets/VBottomSheet-DeeHpQ26.js' +tandoor | Deleting 'vue3/assets/ModelEditPage-B5oBrkJw.css' +tandoor | Deleting 'vue3/assets/luxon-DkeW_LqH.js' +tandoor | Deleting 'vue3/assets/VCheckbox-QyI_t4QG.80a3ce408d11.css.gz' +tandoor | Deleting 'vue3/assets/transitions-B_rYJDf3.js.gz' +tandoor | Deleting 'vue3/assets/zh_Hans-GnBVnL-W.85a1e63600ea.js' +tandoor | Deleting 'vue3/assets/MealPlanEditor-CQabpLAK.8d2fb33aa7d3.css.gz' +tandoor | Deleting 'vue3/assets/ClosableHelpAlert-DzFoievb.173340c48186.js.gz' +tandoor | Deleting 'vue3/assets/VContainer-CUd91tkX.b8593c93f733.css.gz' +tandoor | Deleting 'vue3/assets/VWindowItem-qYQJ7wi2.js.gz' +tandoor | Deleting 'vue3/assets/CookLogEditor-D908R6O0.ce73844c7230.js.gz' +tandoor | Deleting 'vue3/assets/createSimpleFunctional-DKfs5zaG.js' +tandoor | Deleting 'vue3/assets/VFileUpload-7CWUohzn.css.gz' +tandoor | Deleting 'vue3/assets/VTooltip-wD2djnd2.css' +tandoor | Deleting 'vue3/assets/VTextField-j0TpvUy_.css' +tandoor | Deleting 'vue3/assets/RecipeImage-9I1-3QmX.b2d9711a740c.js' +tandoor | Deleting 'vue3/assets/VColorPicker-DoVATq5z.26d1fdd28765.css' +tandoor | Deleting 'vue3/assets/transitions-B_rYJDf3.js' +tandoor | Deleting 'vue3/assets/vue-router-uYvjcGiZ.js.gz' +tandoor | Deleting 'vue3/assets/DatabaseModelCol-DO84-XXG.js' +tandoor | Deleting 'vue3/assets/el-DNs6HoDL.08d7c47f5d2b.js.gz' +tandoor | Deleting 'vue3/assets/ShoppingListEntryEditor-CgL1S3vz.js' +tandoor | Deleting 'vue3/assets/en-DkUhXk8v.4c810296cddb.js.gz' +tandoor | Deleting 'vue3/assets/VBottomSheet-DeeHpQ26.f08124cfa57d.js' +tandoor | Deleting 'vue3/assets/sv-X1GnpHH3.js' +tandoor | Deleting 'vue3/assets/ModelEditDialog-heSAymAp.8e886ef5c95c.js.gz' +tandoor | Deleting 'vue3/assets/ru-BXmxlY4u.ea0a43ef2f75.js.gz' +tandoor | Deleting 'vue3/assets/RecipeViewPage-BY3ErEFj.css' +tandoor | Deleting 'vue3/assets/VWindowItem-qYQJ7wi2.js' +tandoor | Deleting 'vue3/assets/fa-solid-900-CTAAxXor.woff2' +tandoor | Deleting 'vue3/assets/FreezerExpiryDialog-DS9NU-rP.js' +tandoor | Deleting 'vue3/assets/AiProviderEditor-C4TWtCwO.e6d60050b025.css.gz' +tandoor | Deleting 'vue3/assets/VAutocomplete-BnHJd-1b.0428536b2b05.css.gz' +tandoor | Deleting 'vue3/assets/VForm-LKLQZz8R.1e1b2723b0b1.js' +tandoor | Deleting 'vue3/assets/ShoppingListView-CGxjZ4ZB.css' +tandoor | Deleting 'vue3/assets/ShoppingSettings-DtUGYj-U.js' +tandoor | Deleting 'vue3/assets/ModelDeletePage-DhoKu-0y.8cc7b4b05be9.js.gz' +tandoor | Deleting 'vue3/assets/fa-brands-400-D_cYUPeE.woff2' +tandoor | Deleting 'vue3/assets/InviteLinkEditor-ws4gIxza.1ab4b42138a1.js.gz' +tandoor | Deleting 'vue3/assets/UserFileEditor-BK8S3N6Z.1fb7c75f2601.js.gz' +tandoor | Deleting 'vue3/assets/ApiSettings-Cb4cxQlh.js' +tandoor | Deleting 'vue3/assets/et-zY9CrDMt.js.gz' +tandoor | Deleting 'vue3/assets/da-DHqdZ4yZ.197be8016aca.js' +tandoor | Deleting 'vue3/assets/AccessTokenEditor-dqXsGDvq.e9b1126d073b.js.gz' +tandoor | Deleting 'vue3/assets/InventoryEntryLogDialog-CDSEUpdh.f5c4bea7f7c2.js.gz' +tandoor | Deleting 'vue3/assets/hy-HqufUZnw.3dbc1cff9fd8.js' +tandoor | Deleting 'vue3/assets/VContainer-CUd91tkX.b8593c93f733.css' +tandoor | Deleting 'vue3/assets/VCheckboxBtn-CgKG0efP.css.gz' +tandoor | Deleting 'vue3/assets/bg-_Ardqm8i.js.gz' +tandoor | Deleting 'vue3/assets/he-DxNGVUQd.79ff03f4063a.js.gz' +tandoor | Deleting 'vue3/assets/VCheckbox-QyI_t4QG.css.gz' +tandoor | Deleting 'vue3/assets/VCheckboxBtn-DH18l-5Y.391d609ab75a.js' +tandoor | Deleting 'vue3/assets/display-CJXM1oE4.js' +tandoor | Deleting 'vue3/assets/VListItemAction-C96ZqtYL.js' +tandoor | Deleting 'vue3/assets/SearchSettings-DWOgrsRA.js' +tandoor | Deleting 'vue3/assets/fa-solid-900-D0aA9rwL.269f971cec0d.ttf' +tandoor | Deleting 'vue3/assets/fa-brands-400-D1LuMI3I.15d54d142da2.ttf' +tandoor | Deleting 'vue3/assets/fontello-BxS_W-ym.86b6414dad9e.svg' +tandoor | Deleting 'vue3/assets/HelpView-BAJGaFwz.905c7779e692.css.gz' +tandoor | Deleting 'vue3/assets/bg-_Ardqm8i.c46924a2b9d5.js.gz' +tandoor | Deleting 'vue3/assets/RecipeEditor-QrFyEcgl.js.gz' +tandoor | Deleting 'vue3/assets/ro-CG_JGo0i.js.gz' +tandoor | Deleting 'vue3/assets/createSimpleFunctional-DKfs5zaG.js.gz' +tandoor | Deleting 'vue3/assets/VTextField-j0TpvUy_.42df5f015009.css.gz' +tandoor | Deleting 'vue3/assets/fa-solid-900-D0aA9rwL.269f971cec0d.ttf.gz' +tandoor | Deleting 'vue3/assets/VSelect-DLDR0Zh6.d5a6e0598345.js.gz' +tandoor | Deleting 'vue3/assets/RecipeEditor-QrFyEcgl.bd6bfd78d142.js' +tandoor | Deleting 'vue3/assets/SettingsPage-CjlCODoR.js.gz' +tandoor | Deleting 'vue3/assets/AddToShoppingDialog-D4M16gZP.css.gz' +tandoor | Deleting 'vue3/assets/luxon-DkeW_LqH.js.gz' +tandoor | Deleting 'vue3/assets/forwardRefs-4bK3QhIU.js.gz' +tandoor | Deleting 'vue3/assets/bg-_Ardqm8i.js' +tandoor | Deleting 'vue3/assets/InventoryEntryLogDialog-CDSEUpdh.js.gz' +tandoor | Deleting 'vue3/assets/FdcSearchDialog-D4zTy3Lq.7465fab96b6b.js.gz' +tandoor | Deleting 'vue3/assets/VCheckbox-4hSTANC8.js' +tandoor | Deleting 'vue3/assets/VModelSelect-BR1tCXB-.e0f79dc13389.js.gz' +tandoor | Deleting 'vue3/assets/PantryBookingDialog-DLaYuKXP.js.gz' +tandoor | Deleting 'vue3/assets/UnitEditor-Da6S4Hph.e2c809a7dc76.js' +tandoor | Deleting 'vue3/assets/404Page-CLI_sLOr.06ffa9752ce5.js.gz' +tandoor | Deleting 'vue3/assets/main-BLHMu-MF.1e9369313c4f.css.gz' +tandoor | Deleting 'vue3/assets/VBtn-B87fcYT2.d24c72fa79ee.js' +tandoor | Deleting 'vue3/assets/DatabaseLinkCol-DGoe03EP.js' +tandoor | Deleting 'vue3/assets/step_utils-CuKNkoNj.5c326fdfb9a0.js.gz' +tandoor | Deleting 'vue3/assets/ripple-CeGB3d9x.3ba9fc624e34.css.gz' +tandoor | Deleting 'vue3/assets/DatabaseLinkCol-DGoe03EP.js.gz' +tandoor | Deleting 'vue3/assets/NumberScalerDialog-BEklCqFY.js' +tandoor | Deleting 'vue3/assets/easing-CQ5gDWso.js.gz' +tandoor | Deleting 'vue3/assets/ModelListPage-Dcr8sNye.871833be19fe.js.gz' +tandoor | Deleting 'vue3/assets/StartPage-B4ic7mvz.js' +tandoor | Deleting 'vue3/assets/id-CrGyD9X0.js.gz' +tandoor | Deleting 'vue3/assets/fa-brands-400-D1LuMI3I.ttf' +tandoor | Deleting 'vue3/assets/en-DkUhXk8v.js' +tandoor | Deleting 'vue3/assets/PropertyEditor-C3GWKTeF.6603834a577f.js.gz' +tandoor | Deleting 'vue3/assets/MealPlanEditor-CQabpLAK.css.gz' +tandoor | Deleting 'vue3/assets/VCheckboxBtn-DH18l-5Y.js' +tandoor | Deleting 'vue3/assets/VDataTable-C3mY9AKS.09b01b8b47e5.css.gz' +tandoor | Deleting 'vue3/assets/da-DHqdZ4yZ.197be8016aca.js.gz' +tandoor | Deleting 'vue3/assets/sv-X1GnpHH3.d4772afd68bc.js' +tandoor | Deleting 'vue3/assets/ripple-CNywu7tA.a52e30bb9f8b.js' +tandoor | Deleting 'vue3/assets/VChip-CiyMMZBL.js.gz' +tandoor | Deleting 'vue3/assets/CosmeticSettings-DTudQs61.css.gz' +tandoor | Deleting 'vue3/assets/VAvatar-eBB8pUre.js' +tandoor | Deleting 'vue3/assets/StartPage-B4ic7mvz.js.gz' +tandoor | Deleting 'vue3/assets/VRating-C4_Legyx.js' +tandoor | Deleting 'vue3/assets/CustomFilterEditor-BCnLqkai.js.gz' +tandoor | Deleting 'vue3/assets/VPicker-Cb67r0lX.js.gz' +tandoor | Deleting 'vue3/assets/AccessTokenEditor-dqXsGDvq.js' +tandoor | Deleting 'vue3/assets/VMenu-DI_OZMqw.5907af14604a.css' +tandoor | Deleting 'vue3/assets/ShoppingListPage-BHW6TVhn.4e3df66fb52b.js' +tandoor | Deleting 'vue3/assets/preload-helper-DYl5dUZ5.js' +tandoor | Deleting 'vue3/assets/UnitEditor-Da6S4Hph.js' +tandoor | Deleting 'vue3/assets/de-DFHJEDto.474339dd3bea.js.gz' +tandoor | Deleting 'vue3/assets/resizeObserver-Zl3c2ovo.js.gz' +tandoor | Deleting 'vue3/assets/SupermarketCategoryEditor-BbIaTGdB.js.gz' +tandoor | Deleting 'vue3/assets/DatabaseModelCol-DO84-XXG.128c0f2e8c51.js.gz' +tandoor | Deleting 'vue3/assets/HouseholdEditor-BMzTw9_i.22fc7e2f5979.js' +tandoor | Deleting 'vue3/assets/CosmeticSettings-D5AY7BMt.js' +tandoor | Deleting 'vue3/assets/VCard-BrX3vEF4.782d1e79709f.js' +tandoor | Deleting 'vue3/assets/RecipeEditor-CcFlDNPw.css.gz' +tandoor | Deleting 'vue3/assets/VModelSelect-BR1tCXB-.js' +tandoor | Deleting 'vue3/assets/VTooltip-BZ4fmwSk.2f1d9dc40995.js.gz' +tandoor | Deleting 'vue3/assets/DeleteConfirmDialog-C4A_lHVv.js.gz' +tandoor | Deleting 'vue3/assets/hr-CMRkObu_.12a118cc8d8b.js.gz' +tandoor | Deleting 'vue3/assets/ripple-CeGB3d9x.css.gz' +tandoor | Deleting 'vue3/assets/ExportDataSettings-DWfz_q4l.js.gz' +tandoor | Deleting 'vue3/assets/BoolCell-8WnOeHx-.5b9eebabab3b.js.gz' +tandoor | Deleting 'vue3/assets/de-DFHJEDto.js' +tandoor | Deleting 'vue3/assets/VSheet-Cbz0zMVl.74beacb919b1.js.gz' +tandoor | Deleting 'vue3/assets/PantryPage-BVxzvIwd.e773e9eb27f8.js' +tandoor | Deleting 'vue3/assets/luxon-DkeW_LqH.c401f322fe78.js' +tandoor | Deleting 'vue3/assets/CookLogEditor-D908R6O0.ce73844c7230.js' +tandoor | Deleting 'vue3/assets/VSelect-DLDR0Zh6.js.gz' +tandoor | Deleting 'vue3/assets/MealPlanDeviceSettings-DVoZUKfj.42159e5e306e.js.gz' +tandoor | Deleting 'vue3/assets/lt-SI6E7sY1.js' +tandoor | Deleting 'vue3/assets/VCard-BrX3vEF4.js.gz' +tandoor | Deleting 'vue3/assets/PluralCell-9R0vsG5e.js.gz' +tandoor | Deleting 'vue3/assets/VOverlay-Bdyx0UgO.js.gz' +tandoor | Deleting 'vue3/assets/VNumberInput-D_pvjVZS.css' +tandoor | Deleting 'vue3/assets/VSheet-Cbz0zMVl.js.gz' +tandoor | Deleting 'vue3/assets/BoolCell-8WnOeHx-.5b9eebabab3b.js' +tandoor | Deleting 'vue3/assets/ApiSettings-Cb4cxQlh.js.gz' +tandoor | Deleting 'vue3/assets/VListItemAction-C96ZqtYL.js.gz' +tandoor | Deleting 'vue3/assets/UserFileEditor-BK8S3N6Z.1fb7c75f2601.js' +tandoor | Deleting 'vue3/assets/SupermarketEditor-8OTQFTmw.js' +tandoor | Deleting 'vue3/assets/pt-CXzOqbUC.5856ad692a44.js.gz' +tandoor | Deleting 'vue3/assets/VTable-CUwSTB3l.js' +tandoor | Deleting 'vue3/assets/logo_color-DpMQp_wm.js' +tandoor | Deleting 'vue3/assets/VTable-DthgrCD7.css' +tandoor | Deleting 'vue3/assets/ar-Ct4DpnJT.js' +tandoor | Deleting 'vue3/assets/RecipeViewPage-C4IWDoeV.js.gz' +tandoor | Deleting 'vue3/assets/PropertyEditorPage-DVFJ4n3X.a3fa77ecef42.js.gz' +tandoor | Deleting 'vue3/assets/PrivateRecipeBadge-CWYO-ukH.js' +tandoor | Deleting 'vue3/assets/is-DDXYXl1C.f267493722d4.js' +tandoor | Deleting 'vue3/assets/VAutocomplete-CcxFo8a_.js' +tandoor | Deleting 'vue3/assets/VAvatar-_OUjgGcO.4b7cb0eecf0b.css' +tandoor | Deleting 'vue3/assets/id-CrGyD9X0.js' +tandoor | Deleting 'vue3/assets/easing-CQ5gDWso.b368c02d8775.js.gz' +tandoor | Deleting 'vue3/assets/VPagination-BOwdZn7N.js.gz' +tandoor | Deleting 'vue3/assets/SearchPage-DmfPOZRi.js' +tandoor | Deleting 'vue3/assets/VRow-1VNA4_GN.024696689693.js.gz' +tandoor | Deleting 'vue3/assets/MealPlanSettings-G_ZOu3ZM.js' +tandoor | Deleting 'vue3/assets/intersect-CCw5jBzg.a75ecec3ca13.js' +tandoor | Deleting 'vue3/assets/VSpacer-EPougjo9.js' +tandoor | Deleting 'vue3/assets/VSelect-DLDR0Zh6.d5a6e0598345.js' +tandoor | Deleting 'vue3/assets/fa-brands-400-D_cYUPeE.cbcf42b2e922.woff2' +tandoor | Deleting 'vue3/assets/VStepper-lk6OG_fY.23af7e185e38.css' +tandoor | Deleting 'vue3/assets/IngredientEditorPage-Gnn85yx-.89602d3519e9.js.gz' +tandoor | Deleting 'vue3/assets/VBtn-CURymOBv.0f09cbcdb99d.css' +tandoor | Deleting 'vue3/assets/UserPreferenceStore-Da2OtThJ.js' +tandoor | Deleting 'vue3/assets/VClosableCardTitle-B9FM6eKp.js' +tandoor | Deleting 'vue3/assets/PantryPage-BVxzvIwd.js.gz' +tandoor | Deleting 'vue3/assets/AccountSettings-D6GtDIl8.47e79a1f2058.js.gz' +tandoor | Deleting 'vue3/assets/VDivider-BucP89yl.e095d52fded9.js.gz' +tandoor | Deleting 'vue3/assets/VDivider-BeM1gRhl.css.gz' +tandoor | Deleting 'vue3/assets/ModelEditPage-o5RBmXdA.089f672a4019.js' +tandoor | Deleting 'vue3/assets/position-D6UiwBfP.js' +tandoor | Deleting 'vue3/assets/sl-b6d_BJ_O.js.gz' +tandoor | Deleting 'vue3/assets/UserPreferenceStore-Da2OtThJ.70a0c53f44d5.js.gz' +tandoor | Deleting 'vue3/assets/MessageStore-Bk3VKIOC.js' +tandoor | Deleting 'vue3/assets/MealPlanEditor-CQabpLAK.css' +tandoor | Deleting 'vue3/assets/BtnCopy-BgiMZe9z.0e21e6fe9be0.js.gz' +tandoor | Deleting 'vue3/assets/VAutocomplete-CcxFo8a_.7ea7ae1fcc7d.js.gz' +tandoor | Deleting 'vue3/assets/VCheckboxBtn-CgKG0efP.css' +tandoor | Deleting 'vue3/assets/RecipeImportPage-C8RzclwX.js' +tandoor | Deleting 'vue3/assets/VTimePicker-DNtQ2GaY.658bf461867a.css' +tandoor | Deleting 'vue3/assets/position-KetB1dC_.css' +tandoor | Deleting 'vue3/assets/VStepper-lk6OG_fY.css' +tandoor | Deleting 'vue3/assets/ModelMergeDialog-Bz1R7Nnj.js' +tandoor | Deleting 'vue3/assets/ShoppingListView-CwFR-luS.352b6a1ba92b.js' +tandoor | Deleting 'vue3/assets/model_utils-a_hMB_Qu.js.gz' +tandoor | Deleting 'vue3/assets/VModelSelect-BR1tCXB-.js.gz' +tandoor | Deleting 'vue3/assets/display-CJXM1oE4.cfb0e125000b.js.gz' +tandoor | Deleting 'vue3/assets/AccountSettings-D6GtDIl8.47e79a1f2058.js' +tandoor | Deleting 'vue3/assets/VTabs-Bz9gKX-q.27a6a10279b7.css.gz' +tandoor | Deleting 'vue3/assets/he-DxNGVUQd.js' +tandoor | Deleting 'vue3/assets/fontello-B1X0PDnA.ttf.gz' +tandoor | Deleting 'vue3/assets/VDivider-BucP89yl.js.gz' +tandoor | Deleting 'vue3/assets/VRow-Dd63ltWq.7697449c2023.css' +tandoor | Deleting 'vue3/assets/VTextarea-CiCB-kUF.4a62dba61c39.js' +tandoor | Deleting 'vue3/assets/MessageStore-Bk3VKIOC.939073f3c95f.js' +tandoor | Deleting 'vue3/assets/ar-Ct4DpnJT.2c1bcec93725.js.gz' +tandoor | Deleting 'vue3/assets/ModelEditorBase-BxljehcN.d50f074de7b3.js.gz' +tandoor | Deleting 'vue3/assets/fontello-CnWxryRb.eot.gz' +tandoor | Deleting 'vue3/assets/VAutocomplete-CcxFo8a_.7ea7ae1fcc7d.js' +tandoor | Deleting 'vue3/assets/SettingsPage-CjlCODoR.c60d85ded4f2.js' +tandoor | Deleting 'vue3/assets/VContainer-CVQdxlL6.js.gz' +tandoor | Deleting 'vue3/assets/VColorPicker-DoVATq5z.26d1fdd28765.css.gz' +tandoor | Deleting 'vue3/assets/VOverlay-CKBxglwy.b98729efffd0.css.gz' +tandoor | Deleting 'vue3/assets/resizeObserver-Zl3c2ovo.9b2d90698c79.js.gz' +tandoor | Deleting 'vue3/assets/404Page-CLI_sLOr.06ffa9752ce5.js' +tandoor | Deleting 'vue3/assets/VColorPicker-naQDOsG5.js' +tandoor | Deleting 'vue3/assets/Models-YQwtgjBg.js' +tandoor | Deleting 'vue3/assets/AddToShoppingDialog-D4M16gZP.css' +tandoor | Deleting 'vue3/assets/VAlert-7V9O2osm.22f6eac1baeb.css.gz' +tandoor | Deleting 'vue3/assets/ShoppingListEditor-C6CHXjdH.js' +tandoor | Deleting 'vue3/assets/vue-router-uYvjcGiZ.js' +tandoor | Deleting 'vue3/assets/VPicker-CwcEY6OS.97be0236aa36.css' +tandoor | Deleting 'vue3/assets/recipe_no_image-ee73JTqS.f6fd202bc6d6.js.gz' +tandoor | Deleting 'vue3/assets/intersect-CCw5jBzg.js.gz' +tandoor | Deleting 'vue3/assets/es-CkK3cHst.854f77615c4b.js.gz' +tandoor | Deleting 'vue3/assets/HouseholdPage-DB8rMV4T.0690f78b5b5d.js.gz' +tandoor | Deleting 'vue3/assets/VPicker-Cb67r0lX.js' +tandoor | Deleting 'vue3/assets/fontello-CnWxryRb.e73a0647198c.eot' +tandoor | Deleting 'vue3/assets/fontello-B1X0PDnA.ttf' +tandoor | Deleting 'vue3/assets/VDateInput-Def5T2dC.3c5c5e7315bd.js.gz' +tandoor | Deleting 'vue3/assets/DatabasePage-D8QDF-8m.js' +tandoor | Deleting 'vue3/assets/VRow-1VNA4_GN.024696689693.js' +tandoor | Deleting 'vue3/assets/VDialog-Cxsy4nuc.js' +tandoor | Deleting 'vue3/assets/VTooltip-BZ4fmwSk.js.gz' +tandoor | Deleting 'vue3/assets/brand_logo-DHt4CyHb.svg.gz' +tandoor | Deleting 'vue3/assets/VPagination-COmo1aFR.css.gz' +tandoor | Deleting 'vue3/assets/IngredientsTable-CwOGp6hb.4f38634e3326.js' +tandoor | Deleting 'vue3/assets/position-D6UiwBfP.75addd1d4d02.js.gz' +tandoor | Deleting 'vue3/assets/PrivateRecipeBadge-CWYO-ukH.4e35c8ea4258.js.gz' +tandoor | Deleting 'vue3/assets/CustomFilterEditor-BCnLqkai.88dafc3c5861.js' +tandoor | Deleting 'vue3/assets/DatabaseLinkCol-DGoe03EP.6b3e4bde6f99.js' +tandoor | Deleting 'vue3/assets/recipe_no_image-ee73JTqS.js.gz' +tandoor | Deleting 'vue3/assets/useDjangoUrls-C5jVOnBk.js' +tandoor | Deleting 'vue3/assets/VSelect-DLDR0Zh6.js' +tandoor | Deleting 'vue3/assets/MealPlanEditor-DQS6GVSR.js.gz' +tandoor | Deleting 'vue3/assets/recipe_no_image-ee73JTqS.f6fd202bc6d6.js' +tandoor | Deleting 'vue3/assets/PropertyEditorPage-DVFJ4n3X.js.gz' +tandoor | Deleting 'vue3/assets/NumberScalerDialog-BEklCqFY.js.gz' +tandoor | Deleting 'vue3/assets/ConnectorConfigEditor-1pIOZOo8.76d576a23a50.js' +tandoor | Deleting 'vue3/assets/VPagination-BOwdZn7N.bff7e14b7eca.js.gz' +tandoor | Deleting 'vue3/assets/SupermarketEditor-8OTQFTmw.e8bc32f4490e.js.gz' +tandoor | Deleting 'vue3/assets/position-D6UiwBfP.75addd1d4d02.js' +tandoor | Deleting 'vue3/assets/UnitEditor-Da6S4Hph.e2c809a7dc76.js.gz' +tandoor | Deleting 'vue3/assets/da-DHqdZ4yZ.js' +tandoor | Deleting 'vue3/assets/useFileApi-DFNETGUz.37b6191083c5.js.gz' +tandoor | Deleting 'vue3/assets/RecipeCard-BFWiOp6n.css.gz' +tandoor | Deleting 'vue3/assets/VDialog-BK-qqu9O.48b30de94227.css.gz' +tandoor | Deleting 'vue3/assets/AddToShoppingDialog-D4M16gZP.9c7d2134e6f8.css' +tandoor | Deleting 'vue3/assets/pl-B7dc5eNY.js.gz' +tandoor | Deleting 'vue3/assets/fa-regular-400-BjRzuEpd.woff2' +tandoor | Deleting 'vue3/assets/VOverlay-Bdyx0UgO.445ff49e62ec.js.gz' +tandoor | Deleting 'vue3/assets/SpaceSettings-DihMRJ5m.js.gz' +tandoor | Deleting 'vue3/assets/vue.esm-bundler-CqD-zRSx.js' +tandoor | Deleting 'vue3/assets/InviteLinkEditor-ws4gIxza.js' +tandoor | Deleting 'vue3/assets/fa-regular-400-DZaxPHgR.262525e20813.ttf' +tandoor | Deleting 'vue3/assets/useDjangoUrls-C5jVOnBk.671b281bcd78.js' +tandoor | Deleting 'vue3/assets/hr-CMRkObu_.js' +tandoor | Deleting 'vue3/assets/PantryBookingDialog-DLaYuKXP.6a30dbeef7a3.js' +tandoor | Deleting 'vue3/assets/VAvatar-_OUjgGcO.css' +tandoor | Deleting 'vue3/assets/hu-C0QXQ9to.ae2a5d3bec8c.js.gz' +tandoor | Deleting 'vue3/assets/InventoryEntryLogDialog-CDSEUpdh.f5c4bea7f7c2.js' +tandoor | Deleting 'vue3/assets/SettingsPage-CjlCODoR.c60d85ded4f2.js.gz' +tandoor | Deleting 'vue3/assets/PantryPage-BVxzvIwd.js' +tandoor | Deleting 'vue3/assets/nb_NO-DwWs-bt-.js.gz' +tandoor | Deleting 'vue3/assets/BookViewPage-DuhKXoEk.b520ddb1a569.js.gz' +tandoor | Deleting 'vue3/assets/HierarchyEditor-prnLHBv6.ccb08f4e0ed1.js' +tandoor | Deleting 'vue3/assets/VAlert-BWGRg6Ki.cdce2cb50fa4.js.gz' +tandoor | Deleting 'vue3/assets/VCard-CSJpUMri.css.gz' +tandoor | Deleting 'vue3/assets/BtnCopy-BgiMZe9z.js.gz' +tandoor | Deleting 'vue3/assets/VContainer-CVQdxlL6.js' +tandoor | Deleting 'vue3/assets/DateCell-a7H3C_Mf.js' +tandoor | Deleting 'vue3/assets/id-CrGyD9X0.77ff3f065da9.js.gz' +tandoor | Deleting 'vue3/assets/StorageEditor-CQmXcBIr.js' +tandoor | Deleting 'vue3/assets/VSwitch-vMm50DSC.js' +tandoor | Deleting 'vue3/assets/step_utils-CuKNkoNj.js.gz' +tandoor | Deleting 'vue3/assets/ModelEditorBase-BxljehcN.d50f074de7b3.js' +tandoor | Deleting 'vue3/assets/fa-regular-400-DZaxPHgR.ttf' +tandoor | Deleting 'vue3/assets/KeywordEditor-0aDpDQEu.js' +tandoor | Deleting 'vue3/assets/sl-b6d_BJ_O.e06a9b7ee585.js.gz' +tandoor | Deleting 'vue3/assets/CosmeticSettings-D5AY7BMt.d454c82e456c.js.gz' +tandoor | Deleting 'vue3/assets/UnitConversionEditor-BIHnhpLp.8f9f8b1e8918.js' +tandoor | Deleting 'vue3/assets/form-C0DXuADG.b5ae9569b47f.js' +tandoor | Deleting 'vue3/assets/fdc-Byjxh21q.6a8962cb2f19.js.gz' +tandoor | Deleting 'vue3/assets/nl-DIqabTrY.fcf6d7b2df13.js.gz' +tandoor | Deleting 'vue3/assets/VList-D9ajBFzS.js' +tandoor | Deleting 'vue3/assets/VAutocomplete-BnHJd-1b.0428536b2b05.css' +tandoor | Deleting 'vue3/assets/RecipeEditor-CcFlDNPw.c63cac250b70.css' +tandoor | Deleting 'vue3/assets/preload-helper-DYl5dUZ5.83b26bc11552.js' +tandoor | Deleting 'vue3/assets/VSheet-B7Vm5FyN.css' +tandoor | Deleting 'vue3/assets/useDebouncedSearch-CByjndun.js' +tandoor | Deleting 'vue3/assets/VList-DGtn9PZI.css.gz' +tandoor | Deleting 'vue3/assets/fontello-BJkOxCgW.woff2' +tandoor | Deleting 'vue3/assets/nl-DIqabTrY.js.gz' +tandoor | Deleting 'vue3/assets/SpaceSetupPage-3HMG7qJu.208c1f4b2b98.js' +tandoor | Deleting 'vue3/assets/UserSpaceEditor-D976UU1H.js' +tandoor | Deleting 'vue3/assets/ripple-CNywu7tA.js.gz' +tandoor | Deleting 'vue3/assets/VDataTable-C3mY9AKS.css.gz' +tandoor | Deleting 'vue3/assets/main-DmzAQY5C.caf3943cf3ed.js' +tandoor | Deleting 'vue3/assets/main-BLHMu-MF.1e9369313c4f.css' +tandoor | Deleting 'vue3/assets/VRow-1VNA4_GN.js.gz' +tandoor | Deleting 'vue3/assets/fontello-BxS_W-ym.86b6414dad9e.svg.gz' +tandoor | Deleting 'vue3/assets/VSwitch-Djsboh2v.92774fc66b84.css.gz' +tandoor | Deleting 'vue3/assets/nn-CkCilbi1.ccb3acb89917.js.gz' +tandoor | Deleting 'vue3/assets/ripple-CeGB3d9x.3ba9fc624e34.css' +tandoor | Deleting 'vue3/assets/VTextarea-CiCB-kUF.js.gz' +tandoor | Deleting 'vue3/assets/TestPage-CAjhYISb.js' +tandoor | Deleting 'vue3/assets/VPagination-COmo1aFR.8938be9379ca.css' +tandoor | Deleting 'vue3/assets/VMenu-CNUfKULQ.ab3c41811fc4.js.gz' +tandoor | Deleting 'vue3/assets/fr-D1J9AIHe.js' +tandoor | Deleting 'vue3/assets/InventoryBookingPage-gp9cCUw0.6a06fa8c40db.js' +tandoor | Deleting 'vue3/assets/BookViewPage-DuhKXoEk.js.gz' +tandoor | Deleting 'vue3/assets/VSelect-YOYgv_cE.css' +tandoor | Deleting 'vue3/assets/VAvatar-eBB8pUre.js.gz' +tandoor | Deleting 'vue3/assets/VWindowItem-qYQJ7wi2.5679440ef53d.js.gz' +tandoor | Deleting 'vue3/assets/ja-Cqm3qbrP.d617fa524f97.js.gz' +tandoor | Deleting 'vue3/assets/ModelListPage-Dcr8sNye.871833be19fe.js' +tandoor | Deleting 'vue3/assets/devtools-EWN81iOl-5-frKK2v.js' +tandoor | Deleting 'vue3/assets/HelpPage-wmlN_nG3.d46152314a6f.js' +tandoor | Deleting 'vue3/assets/ModelListPage-Dcr8sNye.js' +tandoor | Deleting 'vue3/assets/group-DeSlxrU1.4e5c8d0b6682.js.gz' +tandoor | Deleting 'vue3/assets/VCheckbox-4hSTANC8.js.gz' +tandoor | Deleting 'vue3/assets/nn-CkCilbi1.ccb3acb89917.js' +tandoor | Deleting 'vue3/assets/tr-2PU3JpYQ.b83c4997be94.js.gz' +tandoor | Deleting 'vue3/assets/VTabs-BOMndy1x.js.gz' +tandoor | Deleting 'vue3/assets/VAlert-7V9O2osm.22f6eac1baeb.css' +tandoor | Deleting 'vue3/assets/ar-Ct4DpnJT.2c1bcec93725.js' +tandoor | Deleting 'vue3/assets/VStepper-B2DAW6MY.0393d1637f35.js.gz' +tandoor | Deleting 'vue3/assets/VTextField-CzXvxzUK.d3ec0f0ad6c5.js.gz' +tandoor | Deleting 'vue3/assets/HouseholdEditor-BMzTw9_i.js.gz' +tandoor | Deleting 'vue3/assets/OpenDataImportSettings-BeJgBKlB.4094d59d8754.js.gz' +tandoor | Deleting 'vue3/assets/pl-B7dc5eNY.b9850b054920.js' +tandoor | Deleting 'vue3/assets/HelpPage-wmlN_nG3.d46152314a6f.js.gz' +tandoor | Deleting 'vue3/assets/ModelMergeDialog-Bz1R7Nnj.69016c22c048.js.gz' +tandoor | Deleting 'vue3/assets/SyncEditor-Cy_IOzY3.29c83d107d6c.js.gz' +tandoor | Deleting 'vue3/assets/ca-C5QQCa9o.ff6e54a70768.js.gz' +tandoor | Deleting 'vue3/assets/NumberScalerDialog-BEklCqFY.a870560f032c.js' +tandoor | Deleting 'vue3/assets/VCheckbox-QyI_t4QG.css' +tandoor | Deleting 'vue3/assets/VFileUpload-7CWUohzn.css' +tandoor | Deleting 'vue3/assets/VNumberInput-B5bU_Oq2.3025d34cfddf.js.gz' +tandoor | Deleting 'vue3/assets/transitions-B_rYJDf3.a6b62f9c3916.js' +tandoor | Deleting 'vue3/assets/MessageListDialog-QsZHdkKy.f9ea3e419460.js.gz' +tandoor | Deleting 'vue3/assets/VTable-DthgrCD7.5b58cdd483ec.css.gz' +tandoor | Deleting 'vue3/assets/layout-DfMp8A--.js.gz' +tandoor | Deleting 'vue3/assets/KeywordsBar-D57fv8_7.js.gz' +tandoor | Deleting 'vue3/assets/VCheckbox-QyI_t4QG.80a3ce408d11.css' +tandoor | Deleting 'vue3/assets/KeywordEditor-0aDpDQEu.b1d2b976f59c.js.gz' +tandoor | Deleting 'vue3/assets/PrivateRecipeBadge-CWYO-ukH.4e35c8ea4258.js' +tandoor | Deleting 'vue3/assets/SupermarketCategoryEditor-BbIaTGdB.js' +tandoor | Deleting 'vue3/assets/step_utils-CuKNkoNj.5c326fdfb9a0.js' +tandoor | Deleting 'vue3/assets/ModelDeletePage-DhoKu-0y.8cc7b4b05be9.js' +tandoor | Deleting 'vue3/assets/fdc-Byjxh21q.6a8962cb2f19.js' +tandoor | Deleting 'vue3/assets/FdcSearchDialog-D4zTy3Lq.js' +tandoor | Deleting 'vue3/assets/VClosableCardTitle-B9FM6eKp.4f3ac7126bef.js' +tandoor | Deleting 'vue3/assets/number_utils-DsY-ZJtE.js.gz' +tandoor | Deleting 'vue3/assets/ModelEditorBase-BxljehcN.js.gz' +tandoor | Deleting 'vue3/assets/AiProviderEditor-CNuSptsi.243557da8129.js.gz' +tandoor | Deleting 'vue3/assets/ShoppingSettings-DtUGYj-U.fc48f742d355.js' +tandoor | Deleting 'vue3/assets/SpaceEditor-BG9pNfzF.css' +tandoor | Deleting 'vue3/assets/pt-CXzOqbUC.5856ad692a44.js' +tandoor | Deleting 'vue3/assets/VRow-Dd63ltWq.7697449c2023.css.gz' +tandoor | Deleting 'vue3/assets/VPicker-Cb67r0lX.319b527bffcc.js.gz' +tandoor | Deleting 'vue3/assets/HelpView-BAJGaFwz.905c7779e692.css' +tandoor | Deleting 'vue3/assets/SearchSettings-DWOgrsRA.9394e878169c.js.gz' +tandoor | Deleting 'vue3/assets/VOverlay-Bdyx0UgO.445ff49e62ec.js' +tandoor | Deleting 'vue3/assets/RecipeImage-9I1-3QmX.js.gz' +tandoor | Deleting 'vue3/assets/VStepper-lk6OG_fY.css.gz' +tandoor | Deleting 'vue3/assets/InventoryLocationEditor-Bts8Tto0.a7e323237fa1.js.gz' +tandoor | Deleting 'vue3/assets/WelcomePage-CZE7Rrxg.js' +tandoor | Deleting 'vue3/assets/VCard-BrX3vEF4.782d1e79709f.js.gz' +tandoor | Deleting 'vue3/assets/AiProviderEditor-C4TWtCwO.css.gz' +tandoor | Deleting 'vue3/assets/VContainer-CVQdxlL6.28790f9bfff4.js' +tandoor | Deleting 'vue3/assets/fdc-Byjxh21q.js' +tandoor | Deleting 'vue3/assets/ShoppingListView-CwFR-luS.352b6a1ba92b.js.gz' +tandoor | Deleting 'vue3/assets/VBtn-CURymOBv.css.gz' +tandoor | Deleting 'vue3/assets/VSheet-B7Vm5FyN.5b804e048dff.css' +tandoor | Deleting 'vue3/assets/VStepper-lk6OG_fY.23af7e185e38.css.gz' +tandoor | Deleting 'vue3/assets/VTabs-Bz9gKX-q.27a6a10279b7.css' +tandoor | Deleting 'vue3/assets/model_utils-a_hMB_Qu.37a240ea7f88.js' +tandoor | Deleting 'vue3/assets/VTextField-j0TpvUy_.css.gz' +tandoor | Deleting 'vue3/assets/VTable-CUwSTB3l.js.gz' +tandoor | Deleting 'vue3/assets/PantryBookingDialog-DLaYuKXP.6a30dbeef7a3.js.gz' +tandoor | Deleting 'vue3/assets/VDateInput-Ce6wOZHn.ab6c5c30010f.css.gz' +tandoor | Deleting 'vue3/assets/lt-SI6E7sY1.2560d8a9d387.js.gz' +tandoor | Deleting 'vue3/assets/FreezerExpiryDialog-DS9NU-rP.4c5b76e915d9.js' +tandoor | Deleting 'vue3/assets/position-KetB1dC_.443065fc3376.css' +tandoor | Deleting 'vue3/assets/AiProviderEditor-CNuSptsi.js.gz' +tandoor | Deleting 'vue3/assets/MealPlanDeviceSettings-DVoZUKfj.js.gz' +tandoor | Deleting 'vue3/assets/fontello-CnWxryRb.eot' +tandoor | Deleting 'vue3/assets/BookViewPage-DuhKXoEk.js' +tandoor | Deleting 'vue3/assets/BtnCopy-BgiMZe9z.js' +tandoor | Deleting 'vue3/assets/el-DNs6HoDL.js.gz' +tandoor | Deleting 'vue3/assets/ApiSettings-Cb4cxQlh.1ec5476d21e4.js.gz' +tandoor | Deleting 'vue3/assets/RecipeViewPage-BY3ErEFj.457b3d77074e.css' +tandoor | Deleting 'vue3/assets/SyncEditor-Cy_IOzY3.29c83d107d6c.js' +tandoor | Deleting 'vue3/assets/SpaceSettings-DihMRJ5m.e0c2829a99b4.js' +tandoor | Deleting 'vue3/assets/resizeObserver-Zl3c2ovo.js' +tandoor | Deleting 'vue3/assets/VAvatar-_OUjgGcO.4b7cb0eecf0b.css.gz' +tandoor | Deleting 'vue3/assets/VBottomSheet-DeeHpQ26.f08124cfa57d.js.gz' +tandoor | Deleting 'vue3/assets/FdcSearchDialog-D4zTy3Lq.7465fab96b6b.js' +tandoor | Deleting 'vue3/assets/PluralCell-9R0vsG5e.9b6252cb28f0.js.gz' +tandoor | Deleting 'vue3/assets/VWindowItem-Cwmodn8o.91c8c59f4654.css.gz' +tandoor | Deleting 'vue3/assets/VForm-LKLQZz8R.js' +tandoor | Deleting 'vue3/assets/VDataTable-C3mY9AKS.css' +tandoor | Deleting 'vue3/assets/MealPlanEditor-DQS6GVSR.e171028d6fcf.js.gz' +tandoor | Deleting 'vue3/assets/VDateInput-Def5T2dC.3c5c5e7315bd.js' +tandoor | Deleting 'vue3/assets/integration_utils-CvQxvuBa.js' +tandoor | Deleting 'vue3/assets/VWindowItem-qYQJ7wi2.5679440ef53d.js' +tandoor | Deleting 'vue3/assets/ModelDeletePage-DhoKu-0y.js' +tandoor | Deleting 'vue3/assets/VRating-C4_Legyx.1ab5053556d8.js.gz' +tandoor | Deleting 'vue3/assets/HouseholdEditor-BMzTw9_i.22fc7e2f5979.js.gz' +tandoor | Deleting 'vue3/assets/ModelEditPage-B5oBrkJw.0c31f8b7052c.css.gz' +tandoor | Deleting 'vue3/assets/404Page-CLI_sLOr.js.gz' +tandoor | Deleting 'vue3/assets/SpaceSetupPage-3HMG7qJu.js' +tandoor | Deleting 'vue3/assets/logo_color-CXE3OqOR.svg.gz' +tandoor | Deleting 'vue3/assets/VTabs-BOMndy1x.b33871f9f24a.js.gz' +tandoor | Deleting 'vue3/assets/AddToShoppingDialog-D4M16gZP.9c7d2134e6f8.css.gz' +tandoor | Deleting 'vue3/assets/KeywordEditor-0aDpDQEu.b1d2b976f59c.js' +tandoor | Deleting 'vue3/assets/RecipeImportPage-C8RzclwX.1f95296df89c.js' +tandoor | Deleting 'vue3/assets/main-DmzAQY5C.js' +tandoor | Deleting 'vue3/assets/PropertyEditor-C3GWKTeF.js.gz' +tandoor | Deleting 'vue3/assets/logic_utils-DSi7Jcvh.js' +tandoor | Deleting 'vue3/assets/ShoppingSettings-DtUGYj-U.fc48f742d355.js.gz' +tandoor | Deleting 'vue3/assets/fontello-BxS_W-ym.svg.gz' +tandoor | Deleting 'vue3/assets/lt-SI6E7sY1.js.gz' +tandoor | Deleting 'vue3/assets/KeywordEditor-0aDpDQEu.js.gz' +tandoor | Deleting 'vue3/assets/VWindowItem-Cwmodn8o.91c8c59f4654.css' +tandoor | Deleting 'vue3/assets/HierarchyEditor-wADOsT_-.885aa06e77cd.css' +tandoor | Deleting 'vue3/assets/useFileApi-DFNETGUz.js' +tandoor | Deleting 'vue3/assets/nb_NO-DwWs-bt-.fc2f29dd963f.js.gz' +tandoor | Deleting 'vue3/assets/MealPlanSettings-G_ZOu3ZM.2458dafd7f44.js.gz' +tandoor | Deleting 'vue3/assets/display-CJXM1oE4.js.gz' +tandoor | Deleting 'vue3/assets/ConnectorConfigEditor-1pIOZOo8.76d576a23a50.js.gz' +tandoor | Deleting 'vue3/assets/VOverlay-CKBxglwy.b98729efffd0.css' +tandoor | Deleting 'vue3/assets/number_utils-Brwft-8t.d570ceeec9ef.css.gz' +tandoor | Deleting 'vue3/assets/ModelEditDialog-heSAymAp.js' +tandoor | Deleting 'vue3/assets/VDateInput-Ce6wOZHn.css.gz' +tandoor | Deleting 'fontawesome/fontawesome_all.min.css' +tandoor | Deleting 'fontawesome/fontawesome_all.min.2acd020d0b21.css' +tandoor | Deleting 'fontawesome/fontawesome_all.min.css.gz' +tandoor | Deleting 'fontawesome/fontawesome_all.min.2acd020d0b21.css.gz' +tandoor | Deleting 'assets/logo_color_plan.svg.gz' +tandoor | Deleting 'assets/logo_color_shopping_144.6c05e01d07b2.png' +tandoor | Deleting 'assets/logo_color_512.0a28df8511e3.png' +tandoor | Deleting 'assets/logo_color_shopping.fd1e81a4dcab.svg' +tandoor | Deleting 'assets/recipe_no_image.svg.gz' +tandoor | Deleting 'assets/recipe_no_image.c659e2604ad6.svg.gz' +tandoor | Deleting 'assets/logo_color_144.png' +tandoor | Deleting 'assets/recipe_no_image.svg' +tandoor | Deleting 'assets/brand_logo_white.d43daa47dca3.svg' +tandoor | Deleting 'assets/brand_logo_white.svg' +tandoor | Deleting 'assets/logo_color_plan_144.png' +tandoor | Deleting 'assets/logo_color_shopping_512.png' +tandoor | Deleting 'assets/logo_black.dc487b18028c.svg.gz' +tandoor | Deleting 'assets/logo_color_128.png' +tandoor | Deleting 'assets/brand_logo.ad2e3aa263da.svg.gz' +tandoor | Deleting 'assets/logo_color_144.f09537dbf142.png' +tandoor | Deleting 'assets/logo_color_svg.svg.gz' +tandoor | Deleting 'assets/logo_color_plan.4ccbb336af9d.svg.gz' +tandoor | Deleting 'assets/logo_color_180.0fcae5e85a72.png' +tandoor | Deleting 'assets/logo_color_svg.svg' +tandoor | Deleting 'assets/logo_color_192.c9b9177ff941.png' +tandoor | Deleting 'assets/brand_logo_white.d43daa47dca3.svg.gz' +tandoor | Deleting 'assets/header.48e8ad9e7540.svg' +tandoor | Deleting 'assets/logo_color_512.png' +tandoor | Deleting 'assets/brand_logo_white.svg.gz' +tandoor | Deleting 'assets/recipe_no_image.c659e2604ad6.svg' +tandoor | Deleting 'assets/header.48e8ad9e7540.svg.gz' +tandoor | Deleting 'assets/logo_color_128.a90db52449d9.png' +tandoor | Deleting 'assets/brand_logo.svg.gz' +tandoor | Deleting 'assets/logo_color_svg.d7c2e31a63b7.svg.gz' +tandoor | Deleting 'assets/logo_color_plan.svg' +tandoor | Deleting 'assets/logo_color_shopping.svg.gz' +tandoor | Deleting 'assets/brand_logo.6ebe02bf6707.png' +tandoor | Deleting 'assets/logo_black.dc487b18028c.svg' +tandoor | Deleting 'assets/logo_color_svg.d7c2e31a63b7.svg' +tandoor | Deleting 'assets/logo_black.svg.gz' +tandoor | Deleting 'assets/logo_color_plan_512.028b9bcca1eb.png' +tandoor | Deleting 'assets/logo_color_32.png' +tandoor | Deleting 'assets/logo_color_192.png' +tandoor | Deleting 'assets/spinner.168a09fd2600.svg.gz' +tandoor | Deleting 'assets/logo_black.svg' +tandoor | Deleting 'assets/brand_logo.ad2e3aa263da.svg' +tandoor | Deleting 'assets/spinner.168a09fd2600.svg' +tandoor | Deleting 'assets/brand_logo.svg' +tandoor | Deleting 'assets/logo_color_shopping.fd1e81a4dcab.svg.gz' +tandoor | Deleting 'assets/logo_color_plan_512.png' +tandoor | Deleting 'assets/logo_color_32.b7d9707eac91.png' +tandoor | Deleting 'assets/header.svg' +tandoor | Deleting 'assets/logo_color_shopping_144.png' +tandoor | Deleting 'assets/logo_color_180.png' +tandoor | Deleting 'assets/brand_logo.png' +tandoor | Deleting 'assets/logo_color_plan_144.22c6c7678fdb.png' +tandoor | Deleting 'assets/logo_color_shopping_512.6b2e69402327.png' +tandoor | Deleting 'assets/spinner.svg.gz' +tandoor | Deleting 'assets/logo_color_shopping.svg' +tandoor | Deleting 'assets/header.svg.gz' +tandoor | Deleting 'assets/spinner.svg' +tandoor | Deleting 'assets/logo_color_plan.4ccbb336af9d.svg' +tandoor | Deleting 'account/js/account.b8b2bd9322b2.js.gz' +tandoor | Deleting 'account/js/account.js.gz' +tandoor | Deleting 'account/js/onload.js' +tandoor | Deleting 'account/js/account.js' +tandoor | Deleting 'account/js/onload.79dcf5a401d0.js.gz' +tandoor | Deleting 'account/js/account.b8b2bd9322b2.js' +tandoor | Deleting 'account/js/onload.js.gz' +tandoor | Deleting 'account/js/onload.79dcf5a401d0.js' +tandoor | Deleting 'custom/css/markdown_blockquote.css' +tandoor | Deleting 'custom/css/markdown_blockquote.css.gz' +tandoor | Deleting 'custom/css/markdown_blockquote.22de6a06ad0b.css.gz' +tandoor | Deleting 'custom/css/markdown_blockquote.22de6a06ad0b.css' +tandoor | Deleting 'webfonts/fa-solid-900.eot.gz' +tandoor | Deleting 'webfonts/fa-regular-400.7b9568e6389b.svg.gz' +tandoor | Deleting 'webfonts/poppins_devanagari_500.fd9b8290076b.woff2' +tandoor | Deleting 'webfonts/fa-solid-900.8e4a6dcc692b.eot.gz' +tandoor | Deleting 'webfonts/poppins_latin_400.9ed361bba848.woff2' +tandoor | Deleting 'webfonts/fa-brands-400.5063b105c764.eot.gz' +tandoor | Deleting 'webfonts/fa-solid-900.svg' +tandoor | Deleting 'webfonts/fa-brands-400.a9c4bb7348f4.svg' +tandoor | Deleting 'webfonts/fa-solid-900.ttf.gz' +tandoor | Deleting 'webfonts/fa-brands-400.06147b6cd88c.ttf.gz' +tandoor | Deleting 'webfonts/fa-regular-400.svg' +tandoor | Deleting 'webfonts/fa-solid-900.eot' +tandoor | Deleting 'webfonts/fa-brands-400.svg.gz' +tandoor | Deleting 'webfonts/fa-brands-400.06147b6cd88c.ttf' +tandoor | Deleting 'webfonts/fa-brands-400.eot.gz' +tandoor | Deleting 'webfonts/fa-solid-900.woff' +tandoor | Deleting 'webfonts/fa-regular-400.65b286af947c.ttf' +tandoor | Deleting 'webfonts/poppins_latin_ext_400.4d1490f32451.woff2' +tandoor | Deleting 'webfonts/poppins_latin_700.woff2' +tandoor | Deleting 'webfonts/poppins_devanagari_400.woff2' +tandoor | Deleting 'webfonts/fa-regular-400.7b9568e6389b.svg' +tandoor | Deleting 'webfonts/fa-regular-400.c1a866ec0e04.eot.gz' +tandoor | Deleting 'webfonts/fa-brands-400.a9c4bb7348f4.svg.gz' +tandoor | Deleting 'webfonts/poppins_latin_400.woff2' +tandoor | Deleting 'webfonts/fa-brands-400.c5e0f14f88a8.woff' +tandoor | Deleting 'webfonts/poppins_latin_500.woff2' +tandoor | Deleting 'webfonts/fa-brands-400.ttf.gz' +tandoor | Deleting 'webfonts/fa-solid-900.0bff33a5fd7e.ttf' +tandoor | Deleting 'webfonts/fa-regular-400.svg.gz' +tandoor | Deleting 'webfonts/poppins_latin_ext_500.d214b888d895.woff2' +tandoor | Deleting 'webfonts/fa-regular-400.c4f508e7c4f0.woff' +tandoor | Deleting 'webfonts/fa-regular-400.woff' +tandoor | Deleting 'webfonts/fa-regular-400.ttf' +tandoor | Deleting 'webfonts/poppins_devanagari_700.woff2' +tandoor | Deleting 'webfonts/fa-brands-400.woff2' +tandoor | Deleting 'webfonts/fa-brands-400.woff' +tandoor | Deleting 'webfonts/poppins_latin_ext_400.woff2' +tandoor | Deleting 'webfonts/poppins_devanagari_700.b9f2c13fc361.woff2' +tandoor | Deleting 'webfonts/fa-solid-900.333bae208dc3.woff' +tandoor | Deleting 'webfonts/fa-regular-400.eot' +tandoor | Deleting 'webfonts/fa-regular-400.f5f2566b93e8.woff2' +tandoor | Deleting 'webfonts/poppins_latin_700.f4f17fd53c7d.woff2' +tandoor | Deleting 'webfonts/poppins_latin_ext_500.woff2' +tandoor | Deleting 'webfonts/fa-brands-400.cccc9d29470e.woff2' +tandoor | Deleting 'webfonts/fa-solid-900.woff2' +tandoor | Deleting 'webfonts/fa-regular-400.ttf.gz' +tandoor | Deleting 'webfonts/poppins_devanagari_500.woff2' +tandoor | Deleting 'webfonts/poppins_devanagari_400.d5e78c53cb07.woff2' +tandoor | Deleting 'webfonts/fa-solid-900.svg.gz' +tandoor | Deleting 'webfonts/fa-solid-900.0bff33a5fd7e.ttf.gz' +tandoor | Deleting 'webfonts/fa-regular-400.woff2' +tandoor | Deleting 'webfonts/poppins_latin_ext_700.woff2' +tandoor | Deleting 'webfonts/fa-solid-900.ttf' +tandoor | Deleting 'webfonts/fa-solid-900.c2801fb415f0.svg.gz' +tandoor | Deleting 'webfonts/fa-brands-400.5063b105c764.eot' +tandoor | Deleting 'webfonts/fa-brands-400.svg' +tandoor | Deleting 'webfonts/fa-brands-400.eot' +tandoor | Deleting 'webfonts/fa-solid-900.44d537ab79f9.woff2' +tandoor | Deleting 'webfonts/fa-solid-900.8e4a6dcc692b.eot' +tandoor | Deleting 'webfonts/poppins_latin_ext_700.62d7a4c78fc2.woff2' +tandoor | Deleting 'webfonts/fa-regular-400.65b286af947c.ttf.gz' +tandoor | Deleting 'webfonts/fa-regular-400.eot.gz' +tandoor | Deleting 'webfonts/fa-brands-400.ttf' +tandoor | Deleting 'webfonts/fa-solid-900.c2801fb415f0.svg' +tandoor | Deleting 'webfonts/fa-regular-400.c1a866ec0e04.eot' +tandoor | Deleting 'webfonts/poppins_latin_500.84780596e268.woff2' +tandoor | +tandoor | 894 static files copied to '/opt/recipes/staticfiles', 2464 post-processed. +tandoor | Done +tandoor | Starting gunicorn +tandoor | [2026-09-27 11:53:51 +0200] [7] [INFO] Starting gunicorn 26.2.0 +tandoor | [2026-09-27 11:53:51 +0200] [7] [INFO] Listening at: unix:/tmp/tandoor.sock (7) +tandoor | [2026-09-27 11:53:51 +0200] [7] [INFO] Using worker: gthread +tandoor | [2026-09-27 11:53:51 +0200] [31] [INFO] Booting worker with pid: 31 +tandoor | [2026-09-27 11:53:51 +0200] [32] [INFO] Booting worker with pid: 32 +tandoor | [2026-09-27 11:53:51 +0200] [33] [INFO] Booting worker with pid: 33 +tandoor | [2026-09-27 11:53:51 +0200] [7] [INFO] Control socket listening at /root/.gunicorn/gunicorn.ctl +tandoor | Running django-vite in production mode (no HMR) +tandoor | Running django-vite in production mode (no HMR) +tandoor | Running django-vite in production mode (no HMR) +tandoor | - - [27/Sep/2026:11:54:06 +0200] "GET /accounts/login/ HTTP/1.0" 200 4981 "-" "Wget" +tandoor | 127.0.0.1 - - [27/Sep/2026:11:54:06 +0200] "GET /accounts/login/ HTTP/1.1" 200 4981 "-" "Wget" "-" diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/to-states.json b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/to-states.json new file mode 100644 index 00000000..84ef5bf3 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/to-states.json @@ -0,0 +1,14 @@ +{ + "tandoor": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "tandoor-postgres": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/verdict.json b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/verdict.json new file mode 100644 index 00000000..fbe5bc1c --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/bench/evidence/MV-tandoor/verdict.json @@ -0,0 +1,92 @@ +{ + "harness_version": 4, + "edge": "MV-tandoor", + "app": "tandoor", + "note": "night 2026-09-23 within-a-major move: tandoor-postgres=postgres:17-alpine", + "from": { + "tandoor": "ghcr.io/tandoorrecipes/recipes:2.6.15", + "tandoor-postgres": "postgres:16-alpine" + }, + "to": { + "tandoor": "ghcr.io/tandoorrecipes/recipes:2.6.15", + "tandoor-postgres": "postgres:17-alpine" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Ktandoor | Migrating database", + "abort": "refuses", + "abort_detail": "rsion 16.15.\n\u001b[2Ktandoor-postgres | \n\u001b[2Ktandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization\n\u001b[2Ktandoor-postgres | \n\u001b[2Ktandoor-postgres | 2026-09-27 12:06:04.351 CEST [1] FATAL: database files are incompatible with server\n\u001b[2Ktandoor-postgres | 2026-09-27 12:06:04.351 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15.\n\u001b[2Ktandoor-postgres | \n\u001b[2Ktandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization\n\u001b[2Ktandoor-postgres | \n\u001b[2Ktandoor-postgres | 2026-09-27 12:07:04.677 CEST [1] FATAL: database files are incompatible with server\n\u001b[2Ktandoor-postgres | 2026-09-27 12:07:04.677 CEST [1] DETAIL: The data directory was initialized by PostgreSQL version 17, which is not compatible with this version 16.15.", + "engine_state_after": { + "tandoor-postgres": { + "image": "postgres:17-alpine", + "probe": "datadir major version", + "answer": "17", + "probe_rc": 0 + } + }, + "memory": { + "soak_s": 605.6, + "requested_s": 600, + "requests": 11818, + "codes": { + "302": 11818 + }, + "first_kill": null, + "containers": { + "tandoor": { + "limit": 1073741824, + "peak": 1049731072, + "peak_pct": 0.978, + "anon_peak_sampled": 845176832, + "anon_peak_pct": 0.787, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "tandoor-postgres": { + "limit": 268435456, + "peak": 192729088, + "peak_pct": 0.718, + "anon_peak_sampled": 13815808, + "anon_peak_pct": 0.051, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [], + "load": "reached" + }, + "marks": [], + "duration_s": 31.0, + "measured_at": "2026-09-27T10:07:25Z", + "evidence": "evidence/MV-tandoor", + "scratch_cleared": [], + "engine_conversion": { + "service": "tandoor-postgres", + "engine": "postgres", + "from": 16, + "to": 17, + "dump_s": 0.71, + "dump_bytes": 338574, + "new_engine_ready_s": 2.2, + "load_s": 3.04, + "dropped": [ + "tandoor" + ], + "skipped_create_role": [ + "CREATE ROLE tandoor;" + ], + "result": "converted", + "check_equal": true, + "pg_version": "17", + "tables": 100, + "convert_s": 23.6 + }, + "files_changed": [], + "total_s": 985.7 +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/box-verdict-tandoor.json b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/box-verdict-tandoor.json new file mode 100644 index 00000000..b3bbcf8e --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/box-verdict-tandoor.json @@ -0,0 +1,27 @@ +{ + "app": "tandoor", + "venue": "box 9202 (drill catalog, controller 0.275.0-rc1), the product's guarded Update", + "from": { + "tandoor": "ghcr.io/tandoorrecipes/recipes:2.6.15", + "tandoor-postgres": "postgres:16-alpine" + }, + "to": { + "tandoor": "ghcr.io/tandoorrecipes/recipes:2.6.15", + "tandoor-postgres": "postgres:17-alpine" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "engine_conversion": { + "service": "tandoor-postgres", + "engine": "postgres", + "from": 16, + "to": 17, + "result": "converted", + "controller_line": "update tandoor: CONVERTED 16 \u2192 17 in 11.418s \u2014 the check is equal (2 database(s), 100 table(s), 687 row(s)), PG_VERSION 17" + }, + "duration_s": 52.4, + "measured_at": "2026-09-27T09:38:08Z", + "evidence": "felhom.eu/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/move.txt" +} \ No newline at end of file diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/move.txt b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/move.txt new file mode 100644 index 00000000..5190e038 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/move.txt @@ -0,0 +1,43 @@ +before: pinned={'tandoor': 'ghcr.io/tandoorrecipes/recipes:2.6.15', 'tandoor-postgres': 'postgres:16-alpine'} PG_VERSION=16 +drill: 19b57b1 DRILL tandoor: tandoor-postgres postgres:16-alpine -> postgres:17-alpine with the engine_conversion mark (box proof) + phase +0.0s safety-dump | err=None + phase +3.1s pulling | err=None + phase +4.1s copying | err=None + phase +10.3s converting | err=None + phase +21.6s starting | err=None + phase +22.6s verifying | err=None + phase +52.3s done | err=None + tandoor: readback of the seeded account found=True +2026/09/27 09:38:09 update.go:536: [INFO] [stacks] update tandoor: accepted — guarded update started +2026/09/27 09:38:09 update.go:1365: [INFO] [stacks] update tandoor: phase checking +2026/09/27 09:38:09 update.go:786: [INFO] [stacks] update tandoor: ladder — the last step (2 of 2) — the catalog's current definition +2026/09/27 09:38:09 update.go:800: [INFO] [stacks] update tandoor: this step CONVERTS tandoor-postgres PostgreSQL 16 → 17 (the ladder entry's mark); database volume tandoor_tandoor_postgres_data +2026/09/27 09:38:09 update.go:814: [INFO] [stacks] update tandoor: precondition met — Tier 1 (own recovery unit) copy from 2026-09-27T09:36:36Z (2m0s old, limit 24h0m0s) +2026/09/27 09:38:09 update.go:1365: [INFO] [stacks] update tandoor: phase safety-dump +2026/09/27 09:38:09 update.go:846: [INFO] [stacks] update tandoor: safety dump done (1 file(s)) [/mnt/sys_drive/felhom-data/backups/primary/tandoor/db-dumps/pre-restore-20260927T093809Z-tandoor-postgres.sql] +2026/09/27 09:38:11 undo.go:287: [INFO] [stacks] update tandoor: the undo copy will hold 3 named volume(s), 141.0 MiB +2026/09/27 09:38:11 pgconvert.go:340: [INFO] [stacks] update tandoor: conversion space — database volume tandoor_tandoor_postgres_data is 53 MB; the dump needs up to 66 MB + the 2 GB floor; 27.7 GB free beside the stack dir +2026/09/27 09:38:11 update.go:1365: [INFO] [stacks] update tandoor: phase pinning +2026/09/27 09:38:11 pin.go:373: [INFO] [stacks] update tandoor: pin advanced to /opt/docker/felhom-controller/data/catalog-cache/templates/tandoor/docker-compose.yml (tandoor=ghcr.io/tandoorrecipes/recipes:2.6.15, tandoor-postgres=postgres:17-alpine) +2026/09/27 09:38:11 update.go:1365: [INFO] [stacks] update tandoor: phase pulling +2026/09/27 09:38:13 update.go:1365: [INFO] [stacks] update tandoor: phase copying +2026/09/27 09:38:16 update.go:1365: [INFO] [stacks] update tandoor: phase copying +2026/09/27 09:38:16 undo.go:437: [INFO] [stacks] update tandoor: copied tandoor_tandoor_media → tandoor_tandoor_media.pre-update-20260927T093816Z in 473ms +2026/09/27 09:38:16 update.go:1365: [INFO] [stacks] update tandoor: phase copying +2026/09/27 09:38:17 undo.go:437: [INFO] [stacks] update tandoor: copied tandoor_tandoor_postgres_data → tandoor_tandoor_postgres_data.pre-update-20260927T093816Z in 741ms +2026/09/27 09:38:17 update.go:1365: [INFO] [stacks] update tandoor: phase copying +2026/09/27 09:38:18 undo.go:437: [INFO] [stacks] update tandoor: copied tandoor_tandoor_static → tandoor_tandoor_static.pre-update-20260927T093816Z in 1.445s +2026/09/27 09:38:18 update.go:1365: [INFO] [stacks] update tandoor: phase converting +2026/09/27 09:38:18 pgconvert.go:423: [INFO] [stacks] update tandoor: CONVERTING tandoor-postgres PostgreSQL 16 → 17 (volume tandoor_tandoor_postgres_data, kept copy tandoor_tandoor_postgres_data.pre-update-20260927T093816Z) +2026/09/27 09:38:22 pgconvert.go:468: [INFO] [stacks] update tandoor: pg_dumpall from 16 done in 603ms — 330 kB, completion line present; before: 2 database(s), 100 table(s), 687 row(s) +2026/09/27 09:38:22 update.go:1365: [INFO] [stacks] update tandoor: phase converting +2026/09/27 09:38:23 pgconvert.go:484: [INFO] [stacks] update tandoor: database volume tandoor_tandoor_postgres_data emptied (its copy tandoor_tandoor_postgres_data.pre-update-20260927T093816Z holds the old datadir, marker checked twice) +2026/09/27 09:38:29 pgconvert.go:513: [INFO] [stacks] update tandoor: loaded into 17 in 3.111s (dropped the entrypoint's empty database(s) [tandoor]; skipped CREATE ROLE for [tandoor]) +2026/09/27 09:38:30 pgconvert.go:529: [INFO] [stacks] update tandoor: CONVERTED 16 → 17 in 11.418s — the check is equal (2 database(s), 100 table(s), 687 row(s)), PG_VERSION 17 +2026/09/27 09:38:30 update.go:1365: [INFO] [stacks] update tandoor: phase starting +2026/09/27 09:38:31 update.go:1365: [INFO] [stacks] update tandoor: phase verifying +2026/09/27 09:39:01 update.go:997: [INFO] [stacks] update tandoor: healthy after 30s (the app's health check passed) +2026/09/27 09:39:01 update.go:1015: [INFO] [stacks] update tandoor: KEEPING the pre-conversion datadir copy tandoor_tandoor_postgres_data.pre-update-20260927T093816Z (PostgreSQL 16) until a backup of the converted app is proven +2026/09/27 09:39:01 update.go:1033: [INFO] [stacks] update tandoor: DONE in 52s + +RESULT final_phase=done PG_VERSION=17 seed_after=True verdict=proven diff --git a/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/prep.txt b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/prep.txt new file mode 100644 index 00000000..98203fce --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/apps/tandoor/box/prep.txt @@ -0,0 +1,5 @@ +deploy/reuse tandoor: True + tandoor: createsuperuser :: Running django-vite in production mode (no HMR) Superuser created successfully. + tandoor: seeded superuser drill8e586d + tandoor: readback of the seeded account found=True +C1 seed reads back BEFORE: True diff --git a/documentation/audits/version-travel-2026-09-26/B/benchq-q1.txt b/documentation/audits/version-travel-2026-09-26/B/benchq-q1.txt new file mode 100644 index 00000000..01bd3f5c --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/B/benchq-q1.txt @@ -0,0 +1,5 @@ +11:33:40 START paperless-ngx ['paperless-postgres=postgres:18-alpine'] +11:50:54 DONE paperless-ngx rc=0 verdict=proven read_before=True read_after=True abort=refuses marks=[] peaks={'paperless-postgres': 0.72, 'paperless-redis': 0.054, 'paperless-webserver': 0.492} detail='less-postgres | The files belonging to this database system will be owned by user "postgres".\n\x1b[2Kpaperless-postgres | This user must also own the server proc' (1034s) +11:50:54 START tandoor ['tandoor-postgres=postgres:17-alpine'] +12:07:29 DONE tandoor rc=0 verdict=proven read_before=True read_after=True abort=refuses marks=[] peaks={'tandoor': 0.978, 'tandoor-postgres': 0.718} detail='rsion 16.15.\n\x1b[2Ktandoor-postgres | \n\x1b[2Ktandoor-postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization\n\x1b[2Ktandoor-p' (995s) +12:07:29 QUEUE q1 FINISHED diff --git a/documentation/audits/version-travel-2026-09-26/C/C1-images.txt b/documentation/audits/version-travel-2026-09-26/C/C1-images.txt new file mode 100644 index 00000000..366e6183 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/C/C1-images.txt @@ -0,0 +1,24 @@ +== frontend v0.12.1 healthcheck: null + /usr/bin/node: ABSENT + /nodejs/bin/node: present (v22.22.0) + /usr/local/bin/node: ABSENT +== backend v0.12.1 healthcheck: null user= +== frontend v0.13.0 healthcheck: {"Test":["CMD","node","-e","fetch('http://127.0.0.1:3000/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"],"Interval":30000000000,"Timeout":5000000000,"StartPeriod":30000000000,"Retries":3} + /usr/bin/node: present (v26.3.0) + /nodejs/bin/node: ABSENT + /usr/local/bin/node: ABSENT +== backend v0.13.0 healthcheck: {"Test":["CMD-SHELL","python3 -c \"import urllib.request; urllib.request.urlopen('http://localhost:80/health/')\""],"Interval":15000000000,"Timeout":5000000000,"StartPeriod":60000000000,"Retries":5} user= +== v0.12.1 PATH=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + exec 'node' on PATH: FAILS +== v0.13.0 PATH=PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin + exec 'node' on PATH: works (v26.3.0) +== backend v0.12.1 ENTRYPOINT=["/code/entrypoint.sh"] CMD=["supervisord","-c","/etc/supervisor/conf.d/supervisord.conf"] +ijson 3.3.0 +/bin/bash +/code/main/settings.py:398:COUNTRY_REGION_JSON_VERSION = 'v3.1' +/code/main/settings.py:398:COUNTRY_REGION_JSON_VERSION = 'v3.1' +== backend v0.13.0 ENTRYPOINT=["/code/entrypoint.sh"] CMD=["supervisord","-c","/etc/supervisor/conf.d/supervisord.conf"] +ijson 3.3.0 +/bin/bash +/code/main/settings.py:470:COUNTRY_REGION_JSON_VERSION = 'v3.1' +/code/main/settings.py:470:COUNTRY_REGION_JSON_VERSION = 'v3.1' diff --git a/documentation/audits/version-travel-2026-09-26/C/C2-truncated-file.txt b/documentation/audits/version-travel-2026-09-26/C/C2-truncated-file.txt new file mode 100644 index 00000000..8d5c1580 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/C/C2-truncated-file.txt @@ -0,0 +1,29 @@ +# 1. clean start, the image's own entrypoint (downloads the world data) — 10:30:34 + state: running health=healthy restarts=0 + file: 46724025 bytes +# 2. the file cut to half, the image's own entrypoint — 10:32:51 + truncated to 23362012 of 46724025 bytes + after 120 s: running health=healthy restarts=0 + 1 Running download-countries (first boot may take several minutes; ensure ~2GB RAM is available)... +# 3. OUR template's start (the set-aside step), same volume — 10:34:54 + state: running health=healthy restarts=0 +felhom: /code/media/countries+regions+states-v3.1.json did not parse to its end - set aside, it is downloaded again +JSON file downloaded successfully + 46724025 countries+regions+states-v3.1.json + 23362012 countries+regions+states-v3.1.json.cutoff-20260927103501 +# 4. a second start with the repaired file (nothing set aside) — 10:38:02 + state: running health=healthy restarts=0 + set-aside lines on the second start: 0 +# 5. an import still PENDING (a fresh database) + the file cut to half, the image's own entrypoint — 10:38:59 + truncated to 23362012 of 46724025 bytes + after 150 s: running health=starting restarts=10 + 10 raise common.IncompleteJSONError('Incomplete JSON content') + 10 ijson.common.IncompleteJSONError: Incomplete JSON content +# 6. OUR template's start on the same state — 10:41:43 + state: running health=healthy restarts=0 + 1 JSON file downloaded successfully + 1 felhom: /code/media/countries+regions+states-v3.1.json did not parse to its end - set aside, it is downloaded again + 46724025 countries+regions+states-v3.1.json + 23362012 countries+regions+states-v3.1.json.cutoff-20260927103501 + 23362012 countries+regions+states-v3.1.json.cutoff-20260927104158 + trunc volumes left: 0 diff --git a/documentation/audits/version-travel-2026-09-26/C/README.md b/documentation/audits/version-travel-2026-09-26/C/README.md new file mode 100644 index 00000000..9b2ba1d3 --- /dev/null +++ b/documentation/audits/version-travel-2026-09-26/C/README.md @@ -0,0 +1,17 @@ +# C — adventurelog v0.12.1 → v0.13.0 (R-655, `09` §3 decision 41) + +- **Images (`C1-images.txt`).** Frontend v0.12.1: no image healthcheck, node only at `/nodejs/bin/node` (not on the PATH); + v0.13.0: its own healthcheck (`node` on the PATH → `/usr/bin/node`, fetching `/health`). No single exec path works on + both → the override is DROPPED. Backends: same entrypoint and CMD, `ijson` 3.3.0 in both, the same file + `countries+regions+states-v3.1.json` in `/code/media`. +- **The cut-off file (`C2-truncated-file.txt`).** With the data already imported, v0.13.0 does not read the file ("Latest data + already imported") — a cut-off file does no harm there (measured, step 2). With an import PENDING (fresh database) and the + file cut to half, the image's own start crash-looped **10 times in 150 s on `IncompleteJSONError`**; with the template's + set-aside step the file was renamed `….cutoff-