From d7ba5852297bc2d11af18d67e5161cfa50b255ba Mon Sep 17 00:00:00 2001 From: Martin Aronsen Date: Wed, 15 Oct 2025 13:00:09 +0200 Subject: [PATCH] Lagt til mappestruktur --- .../flora-servus-prosjektrapport-team-13.docx | Bin 0 -> 21851 bytes py/src/main.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 dokumenter/flora-servus-prosjektrapport-team-13.docx create mode 100644 py/src/main.py diff --git a/dokumenter/flora-servus-prosjektrapport-team-13.docx b/dokumenter/flora-servus-prosjektrapport-team-13.docx new file mode 100644 index 0000000000000000000000000000000000000000..c95463f2c1c7d8ab08849f181594f09029f2c6ce GIT binary patch literal 21851 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�dBtn_=4R`0R`KR#kwGduvj4joGbx&hUI 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 literal 0 HcmV?d00001 diff --git a/py/src/main.py b/py/src/main.py new file mode 100644 index 0000000..e69de29