From a2797549b3ea0a36272f17a84b853d92ac491eee Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 1 Feb 2025 01:34:01 -0700 Subject: [PATCH] Add files via upload --- abstraction.png | Bin 0 -> 9319 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 abstraction.png diff --git a/abstraction.png b/abstraction.png new file mode 100644 index 0000000000000000000000000000000000000000..56ad9ca9375123be620b425bcbc23abecc28698e GIT binary patch literal 9319 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
Iz9M!=PqHQSFS!w@sHn_OlJlrNF`!Tx85x5w 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 OLQzprlP{As3;BQZoO?w8 literal 0 HcmV?d00001