From c0421a1d5a817a249b85e6ff26828f1830c2ae33 Mon Sep 17 00:00:00 2001 From: Fredrik Robertsen Date: Thu, 19 Feb 2026 15:59:44 +0100 Subject: [PATCH] init --- assignment-2/LICENSE | 7 ++++++ assignment-2/main.pdf | Bin 0 -> 17368 bytes assignment-2/main.typ | 57 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 assignment-2/LICENSE create mode 100644 assignment-2/main.pdf create mode 100644 assignment-2/main.typ diff --git a/assignment-2/LICENSE b/assignment-2/LICENSE new file mode 100644 index 0000000..8930fae --- /dev/null +++ b/assignment-2/LICENSE @@ -0,0 +1,7 @@ +MIT No Attribution + +Copyright 2025 Torstein NordgÄrd-Hansen + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/assignment-2/main.pdf b/assignment-2/main.pdf new file mode 100644 index 0000000000000000000000000000000000000000..03853b0e764990b64b0dbab67bf289519d92bb2f GIT binary patch literal 17368 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 {box( + height: 14pt, + width: 90%, + outset: 5%, + radius: 25%, + fill: green, + align(horizon, text(fill: black, it.body)) +)} + +== task 1 + +hello world