From b9df7e9b963438723b368d844a0e6988e4923337 Mon Sep 17 00:00:00 2001 From: cinereal Date: Fri, 23 May 2025 08:51:49 +0200 Subject: [PATCH] add architecture diagram --- Pictures/architecture.png | Bin 0 -> 24329 bytes fediversity.md | 7 ++++++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 Pictures/architecture.png diff --git a/Pictures/architecture.png b/Pictures/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..7410d137df3ddd873e72aa121abcb7c312ee7bac GIT binary patch literal 24329 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�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