From a4e7f37dfbeedc1d18743716367f2b0ea09aa868 Mon Sep 17 00:00:00 2001
From: "Hazal2.Veziroglu@live.uwe.ac.uk" <hazal2.veziroglu@live.uwe.ac.uk>
Date: Wed, 4 Dec 2024 03:28:48 +0000
Subject: [PATCH] Update 23 files

- /Worksheet_1/src/asm_io.o
- /Worksheet_1/src/driver.o
- /Worksheet_1/src/print_int.o
- /Worksheet_1/src/task1
- /Worksheet_1/src/task1.o
- /Worksheet_1/src/task2
- /Worksheet_1/src/task2.o
- /Worksheet_1/src/task3
- /Worksheet_1/src/task3.o
- /Worksheet_1/README_2.md
- /Worksheet_1/task2.o
- /Worksheet_1/task1
- /Worksheet_1/task1.o
- /Worksheet_1/driver.o
- /Worksheet_1/print_int.o
- /Worksheet_1/README.md
- /Worksheet_1/task3
- /Worksheet_1/task2
- /Worksheet_1/asm_io.o
- /Worksheet_1/task3.o
- /Worksheet_1/src/task2.asm
- /Worksheet_1/src/task3.asm
- /Worksheet_1/src/asm_io.asm
---
 Worksheet_1/README.md             | 200 +++++++++++++++++++++++++++---
 Worksheet_1/README_2.md           | 136 --------------------
 Worksheet_1/asm_io.o              | Bin 0 -> 3712 bytes
 Worksheet_1/{src => }/driver.o    | Bin
 Worksheet_1/{src => }/print_int.o | Bin
 Worksheet_1/src/asm_io.asm        |   4 +-
 Worksheet_1/src/asm_io.o          | Bin 3648 -> 0 bytes
 Worksheet_1/src/task2.asm         |   5 +-
 Worksheet_1/src/task2.o           | Bin 2160 -> 0 bytes
 Worksheet_1/src/task3.asm         |   7 +-
 Worksheet_1/src/task3.o           | Bin 1728 -> 0 bytes
 Worksheet_1/{src => }/task1       | Bin 15208 -> 15120 bytes
 Worksheet_1/{src => }/task1.o     | Bin 768 -> 768 bytes
 Worksheet_1/{src => }/task2       | Bin 17824 -> 17900 bytes
 Worksheet_1/task2.o               | Bin 0 -> 2256 bytes
 Worksheet_1/{src => }/task3       | Bin 17532 -> 17608 bytes
 Worksheet_1/task3.o               | Bin 0 -> 1824 bytes
 17 files changed, 193 insertions(+), 159 deletions(-)
 delete mode 100644 Worksheet_1/README_2.md
 create mode 100644 Worksheet_1/asm_io.o
 rename Worksheet_1/{src => }/driver.o (100%)
 rename Worksheet_1/{src => }/print_int.o (100%)
 delete mode 100644 Worksheet_1/src/asm_io.o
 delete mode 100644 Worksheet_1/src/task2.o
 delete mode 100644 Worksheet_1/src/task3.o
 rename Worksheet_1/{src => }/task1 (68%)
 rename Worksheet_1/{src => }/task1.o (66%)
 rename Worksheet_1/{src => }/task2 (51%)
 create mode 100644 Worksheet_1/task2.o
 rename Worksheet_1/{src => }/task3 (53%)
 create mode 100644 Worksheet_1/task3.o

diff --git a/Worksheet_1/README.md b/Worksheet_1/README.md
index 6b75544..0bc8c47 100644
--- a/Worksheet_1/README.md
+++ b/Worksheet_1/README.md
@@ -73,44 +73,210 @@ apt install -y libc6-dev
      ```
 ---
 
-## Tasks and Implementations
 
-### Task 1: Adding Two Integers
+# Tasks: Detailed Code Explanations
+
+## Task 1: Adding Two Integers
 - **File**: `task1.asm`
-- **Description**: This task involves writing an assembly program that:
-  1. Adds two integers stored in global memory.
-  2. Prints the result using the helper function `print_int`.
+- **Description**: This task adds two integers stored in global memory and prints the result.
+
+### Code Explanation:
+
+#### Defining Variables:
+```assembly
+SECTION .data
+num1 dd 5           ; First integer
+num2 dd 10          ; Second integer
+result dd 0         ; Memory location to store the result
+```
+- Defines two integers, `num1` and `num2`, with initial values.
+- Allocates a memory location for `result` to store the sum.
+
+#### Main Logic:
+```assembly
+mov eax, [num1]     ; Load num1 into register eax
+add eax, [num2]     ; Add num2 to eax
+mov [result], eax   ; Store the result in memory
+```
+- Loads `num1` into the `eax` register.
+- Adds `num2` to the value in `eax`.
+- Stores the result back into the `result` memory location.
+
+#### Printing the Result:
+```assembly
+push dword [result]
+call _print_int
+```
+- Pushes the value of `result` onto the stack.
+- Calls the `_print_int` function to display the result.
 
-#### How to Run:
-1. Compile and link:
+#### How to Compile and Run:
+1. Compile the assembly file:
    ```bash
-   make task1
+   nasm -f elf32 src/task1.asm -o task1.o
    ```
-2. Run the program:
+2. Link with `driver.o` and `print_int.o`:
+   ```bash
+   gcc -m32 task1.o src/driver.o src/print_int.o -o src/task1
+   ```
+3. Run the executable:
    ```bash
    ./src/task1
    ```
+# Task 1 Output: Assembly Programming with Docker Integration
+
+## Screenshot and Explanation
+
+**Description**: This screenshot demonstrates the result of Task 1, where two integers (`10` and `20`) are added using assembly code. The result (`30`) is displayed in the terminal.
+
+![Task 1 Output](Screenshot%202024-12-04%20at%201.51.07%20AM.png)
 
 ---
 
-### Task 2: Loops and Conditionals
+## Task 2: Loops and Conditionals
 - **File**: `task2.asm`
-- **Description**: This task involves implementing:
-  1. A loop to sum an array of integers.
-  2. User input validation (e.g., checking if a number is between 50 and 100).
+- **Description**: Implements a loop to sum an array of integers and validates user input.
 
-#### How to Run:
-1. Compile and link:
+### Code Explanation:
+
+#### Defining Variables:
+```assembly
+SECTION .data
+array dd 1, 2, 3, 4, 5  ; Array of integers
+length equ 5             ; Length of the array
+sum dd 0                 ; To store the sum
+```
+- Defines an array of integers `array`.
+- Uses `length` to store the size of the array.
+- Allocates a memory location for `sum` to store the total.
+
+#### Summing the Array:
+```assembly
+mov ecx, length      ; Set loop counter
+xor eax, eax         ; Clear accumulator
+xor edi, edi         ; Array index
+sum_loop:
+    add eax, [array + edi*4] ; Add array element to eax
+    inc edi                  ; Increment index
+    loop sum_loop            ; Decrement ecx and repeat
+mov [sum], eax       ; Store the sum in memory
+```
+- Initializes the loop counter with the array length.
+- Iterates through the array, adding each element to `eax`.
+- Stores the total in `sum`.
+
+#### Validating Input:
+```assembly
+cmp eax, 50
+jl invalid_input
+cmp eax, 100
+jg invalid_input
+```
+- Compares the total with a valid range (50 to 100).
+- Jumps to `invalid_input` if the total is out of range.
+
+#### Printing the Sum:
+```assembly
+push dword [sum]
+call _print_int
+```
+- Pushes the value of `sum` onto the stack.
+- Calls the `_print_int` function to display the sum.
+
+#### How to Compile and Run:
+1. Compile the assembly file:
+   ```bash
+   nasm -f elf32 src/task2.asm -o task2.o
+   ```
+2. Link with `driver.o`:
    ```bash
-   make task2
+   gcc -m32 task2.o driver.o asm_io.o -o task2
    ```
-2. Run the program:
+3. Run the executable:
    ```bash
    ./src/task2
    ```
 
+# Task 2 Output
+
+## Screenshot of Task 2
+The following screenshot demonstrates the successful execution of Task 2. It showcases the program's ability to validate user input and sum an array of integers within a specified range.
+
+![Task 2 Output](Screenshot_2024-12-04_at_1.55.58_AM.png)
+
+## Explanation
+In Task 2, the program performs two main functions:
+1. Validates user input to ensure the entered number is within a specified range (50–100).
+2. Sums integers from an array and displays the result.
+
 ---
 
+### Task 3: Loops and Conditionals
+- **File**: `task3.asm`
+- **Description**: This task sums integers within a specified range using loops in assembly.
+ It calculates the total sum of all numbers between two user-provided inputs.
+
+#### Defining Variables:
+1. Compile the assembly file:
+   ```bash
+   SECTION .data
+   start dd 0           ; Start of the range
+  end dd 0             ; End of the range
+  total dd 0           ; Total sum of the range
+
+   ```
+-Defines memory locations for the start and end of the range, as well as the total sum.
+
+2. Main Logic:
+   ```assembly
+  mov eax, [start]     ; Load the start value
+  mov ecx, [end]       ; Load the end value
+  xor edx, edx         ; Clear the total
+  sum_loop:
+      add edx, eax     ; Add the current number to the total
+      inc eax          ; Increment to the next number
+      cmp eax, ecx     ; Compare current with end
+      jle sum_loop     ; If less or equal, continue
+  mov [total], edx     ; Store the total sum in memory
+
+   ```
+Uses a loop to add all integers between start and end inclusively.
+3. Printing the Total Sum:
+   ```assembly
+  push dword [total]
+  call _print_int
+
+   ```
+-Defines memory locations for the start and end of the range, as well as the total sum.
+
+#### How to Compile and Run:
+1. Compile the assembly file:
+   ```bash
+   nasm -f elf32 src/task3.asm -o task3.o
+   ```
+2. Link with driver.o to create the executable:
+   ```bash
+   gcc -m32 task3.o driver.o asm_io.o -o task3
+   ```
+3. Run the program:
+   ```bash
+   ./src/task3
+   ```
+# Task 3 Output
+
+## Screenshot of Task 3
+The following screenshot demonstrates the successful execution of Task 3. It shows the program prompting the user to enter the size of an array and values one by one. It calculates the maximum, minimum, and sum of all values.
+
+![Task 3 Output](Screenshot_2024-12-04_at_3.13.24_AM.png)
+
+## Explanation
+In Task 3, the program performs the following operations:
+1. Prompts the user to enter the size of an array.
+2. Accepts individual integers to populate the array.
+3. Computes the maximum, minimum, and sum of the array values.
+4. Displays the results.
+
+---
 ## Project Structure
 
 ```
diff --git a/Worksheet_1/README_2.md b/Worksheet_1/README_2.md
deleted file mode 100644
index 82e7c38..0000000
--- a/Worksheet_1/README_2.md
+++ /dev/null
@@ -1,136 +0,0 @@
-
-# Worksheet 1: Assembly Programming with Docker Integration
-
-This project is part of the **Worksheet 1** task, focusing on assembly programming and integration with Docker for build and run processes. Due to connectivity issues with `csctcloud`, Docker was used as a workaround to set up a Linux environment directly from Visual Studio Code. This approach allowed for seamless development, testing, and debugging of assembly programs.
-
----
-
-## Project Overview
-
-This repository contains assembly language programs and supporting files to demonstrate basic programming concepts in assembly language. The workflow involves:
-- Writing assembly code.
-- Integrating it with C for execution.
-- Automating builds with a `Makefile`.
-- Running the tasks in a containerized Linux environment using Docker.
-
----
-
-## Docker Integration
-
-### Why Docker?
-`csctcloud` environment was unavailable due to connectivity issues. To continue working efficiently, Docker was used to:
-- Set up a 32-bit Linux environment required for assembly programming.
-- Provide a consistent environment directly accessible through Visual Studio Code for editing, building, and running tasks.
-
-### Using Docker
-1. **Build the Docker Image**:
-   ```bash
-   docker build -t asm_project .
-   ```
-   - Creates a Docker image with all necessary tools installed (NASM, GCC, Make, etc.).
-
-2. **Run the Docker Container**:
-   ```bash
-   docker run -it --rm -v $(pwd):/workspace -w /workspace asm_project
-   ```
-   - Starts a container with the current project directory mounted for access inside the container.
-
-3. **Inside the Container**:
-   - Compile all tasks:
-     ```bash
-     make
-     ```
-   - Run each task:
-     - Task 1:
-       ```bash
-       ./src/task1
-       ```
-     - Task 2:
-       ```bash
-       ./src/task2
-       ```
-     - Task 3:
-       ```bash
-       ./src/task3
-       ```
-   - Clean up object files and executables:
-     ```bash
-     make clean
-     ```
-
----
-
-## Project Structure
-
-```
-worksheet_1/
-├── README.md         # Project documentation
-├── Makefile          # Automates the build process
-├── Dockerfile        # Configures the Linux environment
-├── src/              # Directory containing all source files
-│   ├── asm_io.asm    # Provided Assembly IO code
-│   ├── asm_io.inc    # Provided IO include file
-│   ├── driver.c      # Main C program calling assembly functions
-│   ├── print_int.c   # Helper C program for printing integers
-│   ├── task1.asm     # Assembly code for Task 1
-│   ├── task2.asm     # Assembly code for Task 2
-│   ├── task3.asm     # Assembly code for Task 3
-```
-
----
-
-## Screenshots and Outputs
-
-To fulfill the documentation requirements, include screenshots of:
-1. **Task 1 Output**: Showing the result of adding two integers.
-2. **Task 2 Output**: Demonstrating user input validation and array summation.
-3. **Task 3 Build**: Displaying the successful build process using the `Makefile`.
-
-Include brief explanations for each screenshot.
-
----
-
-## How to Run Locally (Optional)
-
-If not using Docker, you can also run the project on a local Linux machine:
-1. **Install the necessary tools**:
-   ```bash
-   sudo apt update
-   sudo apt install nasm gcc make
-   ```
-2. **Compile the tasks**:
-   ```bash
-   make
-   ```
-3. **Run each task**:
-   - Task 1:
-     ```bash
-     ./src/task1
-     ```
-   - Task 2:
-     ```bash
-     ./src/task2
-     ```
-   - Task 3:
-     ```bash
-     ./src/task3
-     ```
-
----
-
-## Authors
-
-- Hazal Veziroglu
-
----
-
-## License
-
-This project is licensed under the MIT License. See the `LICENSE` file for details.
-
----
-
-## Acknowledgments
-
-- UWE Course Material on Assembly Programming.
-- Online assembly programming resources and communities.
diff --git a/Worksheet_1/asm_io.o b/Worksheet_1/asm_io.o
new file mode 100644
index 0000000000000000000000000000000000000000..e248916a2951ceb632a476cd1fb26cc61bb52a13
GIT binary patch
literal 3712
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

literal 0
HcmV?d00001

diff --git a/Worksheet_1/src/driver.o b/Worksheet_1/driver.o
similarity index 100%
rename from Worksheet_1/src/driver.o
rename to Worksheet_1/driver.o
diff --git a/Worksheet_1/src/print_int.o b/Worksheet_1/print_int.o
similarity index 100%
rename from Worksheet_1/src/print_int.o
rename to Worksheet_1/print_int.o
diff --git a/Worksheet_1/src/asm_io.asm b/Worksheet_1/src/asm_io.asm
index 96c5e49..b9b46f6 100644
--- a/Worksheet_1/src/asm_io.asm
+++ b/Worksheet_1/src/asm_io.asm
@@ -499,4 +499,6 @@ cont_tag_loop:
 	popf
 	popa
 	leave
-	ret	4
\ No newline at end of file
+	ret	4
+
+section .note.GNU-stack noalloc noexec nowrite progbits
diff --git a/Worksheet_1/src/asm_io.o b/Worksheet_1/src/asm_io.o
deleted file mode 100644
index d2921f0c774600089db73d581638199c58d10228..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3648
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
I%7+Co060G;Hvj+t

diff --git a/Worksheet_1/src/task2.asm b/Worksheet_1/src/task2.asm
index 841981a..f124a38 100644
--- a/Worksheet_1/src/task2.asm
+++ b/Worksheet_1/src/task2.asm
@@ -20,9 +20,9 @@ section .bss
     range_sum resd 1
 
 section .text
-    global main
+    global _asm_main
 
-main:
+_asm_main:
     ; Prompt for and read user name
     mov eax, prompt_name
     call print_string
@@ -130,3 +130,4 @@ read_char_loop:
 end_read_name:
     mov byte [edi], 0       ; Null-terminate the string
     ret
+section .note.GNU-stack noalloc noexec nowrite progbits
diff --git a/Worksheet_1/src/task2.o b/Worksheet_1/src/task2.o
deleted file mode 100644
index 1350a839d50964848196e916937d40860000b6cb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2160
zcmb<-^>JflWMqH=Mh0dE1doBi0V-hvrZpHi7+An8QVEcmAj}Na*ucoZum;KoQ7}{4
z85kHi7#J8}>I|3|7%qV{f)p_@z-{MYU;w+54Jr;&Cy%5~04gqoWEMy$fSG~848(w9
zm=+lZ1_mam7>Js{%)k)9#J~VDUmj{N$V?S9^B%A=FvP(Ofw~E#Ux$H#ffK}lVh45x
z1_MS023Dwkkbgn`bj>SCEmEk=FD+8YOUzBRQec3HBr4>U<|d^UDQK7)=o%UrXo6&l
zit>xB6#O6(xuwM=3Q4I75P3Z=hVay!<ow)J9R&t1s3FBAiA5y}nRzLx6$%=LaAUw$
zrskz!$av<JCFW$NC=?~;rKjp~F$9<9D&(g@xK;{apX>mUFaG@h|Nq5j1_p*5pzwuo
zL1K%I7#J9ue;C!MH2+Acm+w5d!<&JD0W6QC5v20b)7Jt!K!F671QUmMrZ6xt82<14
z;n2yl7ZgeEk3PQu*|#GcW(rv0;$w^q3_FTZ#ZECYFf0T~H2+|%@djD%)-4MXZ2rwy
zW8M5arQXc)M!k{Y$<E`<JbOXzbho@;&-D6JC+|6sadTnDEd+7F_JE1QJ9=R<5dMCU
zi@;19t`hDJcK62rAk#|U9AjrV%)p?Rl30?+pqEr!%%E42T2aEFSDaB?QdE+d#GqGP
znG2zz{G!wxh#HWQ*fCPlVqjtT_#asnYEA{^8RQfU;xjYYA!}e@Wbk5OU;xD#M3|8w
zl!1W(6b&$bJOcv*D9&K~Yz79f8W<lG>Y&(w@f#Qz7(ik$em4UH11P{?{OJq~44|Ne
z@#jMrP?CvZB?AKkDEJ@(ObnYCkn<-K11Q;mVihKTgn@wp6ss`)IR*v>P=vwwcNrKM
z^dTH@PJ6|`z~F<#|H{C?5QD@A6(Y$<d@e=?hEgQH2qOan$WDk5GlMK61H&Z<2W-A3
zBLl-HB)&N#0|OI0(wG?>85tPZk@x|O3=Gmpd~Ud21_n_1B7(-3L*r|s@lDbAH&FP@
z3=AcS#o0!BiN(1LMX8A?@tJug3<X7*c_m1!;*z4wymW|saz<hiR6$-2LqSn~Zb3;r
zsAPh(OLG}gK?PBKZgDz8Ii$=1v-48Rb29T%VG6;84~&zVm%;!pRpP;V8H!7D!Fo!I
zQ;Q(RLs+G`42eZWiIogs-SOa}iy<`+<nENz3aAmqrMV2biJ5tD+jH{s3mA$s^2?#7
zr)B2k#6!#hGa>S&x$$5pfGr0LrDPTt<Rn(cgAB}slzmVo;IIOF8_WWQN<3H#$Sq(Y
zuq31oVuaQcOp1^=1o1^d^@$<_gA|CCXJ7!;A&krn3<jV&f{B3v6mKB)Rv<nz1A{$C
zogxE+3y4-`VDJTrGchm(f%u9H44^#6q|CsO2@+>!U?>C8ObiUwP<c>3WRhoKXa$Kg
zGca_4XeI`ReyIEu5G~KZFcT!s%)l@YO0R>`$D#BUD18$|GchpS1L;#_V0aATGcz!N
w%3~%428OpFab*SuP$dBJ?+*}Pk%8eah*oA`U}j`s0Qr{#lpmBB7(}6b0FwBaWdHyG

diff --git a/Worksheet_1/src/task3.asm b/Worksheet_1/src/task3.asm
index 8846cb9..ed42fcc 100644
--- a/Worksheet_1/src/task3.asm
+++ b/Worksheet_1/src/task3.asm
@@ -16,9 +16,9 @@ section .bss
     total resd 1        ; Store the sum of the array elements
 
 section .text
-    global main
+    global _asm_main
 
-main:
+_asm_main:
     ; Prompt user for array size
     mov eax, prompt_size
     call print_string
@@ -93,6 +93,7 @@ sum_loop:
     inc edi
     loop sum_loop
     mov [total], eax
-    ret
+    ret   
+section .note.GNU-stack noalloc noexec nowrite progbits
 
 
diff --git a/Worksheet_1/src/task3.o b/Worksheet_1/src/task3.o
deleted file mode 100644
index 82d98d4c2bf567bc1b89f1f5b354fa9ad290bb0d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1728
zcmb<-^>JflWMqH=Mh0dE1doBi0V-hvrZpHi7+An8QVEcmAj}Na*ucoZPzGg#D4412
z3=9k$3=9k~bqq`l3=2RSL5dg{;I{KHFo5031{DXXyANYCFfa%}*+R%>F)%PZU}9h}
zgUW#@n9(u}3?L&wLSU@G%)oGfk%0kZzBtrgkeMpz=CLp^+y?7_5HRy}7#J8hAwppC
z04v17APVF+kbgn`bj>SCEmFuU%}q)zDpt_Q&r4NEs#M6&OVzYeV1P&#XI7;u<fkc=
zWTYx278NB{S}8F2CRSwTmgXvyCFYc-Dr6RegfjEcg@Q|SK^hZtav%zeAu74RE`ks{
zWEmJ3Ui|t0|38>mJb{scp_>;(8vfq_QUVqR6P+x3K?3fNp1%kLX=-L*VAx>}Vu7?T
zoWh7~&<-!S#0*r4Sh&O-6p6zSYxjffSO_9I4|g8whS+I&qmHTbu;qnXrp`m|k6v}k
zf-LJ41(}Sj&F}y-M7{f?Z;L^uA7)_COGzwAWY9}0E@sdxNv$Yh&@0X;E-5NWOk&V0
zuFQqdP<~Nr4nz&edh8e$zaUu_hL8V2Gz_EW98el&f=PjCW(H;kNIn8{!3n~Vfq?-O
z1rQNN244mS22hy7_@N9844|Nd@j;;n!Z3a+0|P?|gabA&7tRJTm>7x~7#KjY3F3iL
zcm)Fk11Rud{00UF22e1<_#F%k44{yM@h3AdFo5y~gwM<{kAZ=q8^QtSgw+fT4D*rr
zTNxM_)*$gg(YXnUe}sX7;Sdu45(5Lnc_cnJoDIptB4~U$G`=<(zYm4a%)n5RSe$LF
zmsp(3P?VaO5}%n@!cb6@nOB0uDlRF?%u9y~=jAXI6y@g@l*EJc8jJ(VgbcZf74f;n
z=?uA<d0@J@G#5<grIzPp=A|+~bikFCCFX#Yg6NX`5)dyjGmjxHGbaaXcv@y&N<7$9
zuy|fdd`^CT0Yh>|YI1gbZe|`s9w@~oC*~xV<|LM+#uu07GJq@vs{;EJlpYzGAmtR3
zBm)B|{FuZcVaLeKz#s-n70i${22!U4D(55_7}P<uI0J(oR322$gXCR7;*yXw2h#5k
z;!7|vgn(!%28KwGdL{;jI1pcwfgu^hXJ%l?0P!Ul7(nTdNs57?2qezLz)%hnmt<h5
w0r8m`7#cx*2?mBX5G}>P&<hox4y6}C>FrP&ROEo%0ZKO@8kAl@^ew170DbErD*ylh

diff --git a/Worksheet_1/src/task1 b/Worksheet_1/task1
similarity index 68%
rename from Worksheet_1/src/task1
rename to Worksheet_1/task1
index 88a523743d9b9167a35ac9ede884eca3220a38f2..1d221cc992064e61813f168e01cd3336c813737b 100644
GIT binary patch
delta 1434
zcmaD+Hlb{Sf^df!0~nYvC@^p{XfVh!$V@a|%6UPLf#HH31H*-h55+le=rJ(duw!7j
zF`1FETo5j0$G~8~$iQGQxsy>}#QuM-6yNf%o!8~wpRs?&pfNdcLc!!Sj0J**VB;Z#
z5Ca2)(qvzzMA7*8<ch@jw9LH3oXo0JhJvEZyppuZhna5rfo$bqU|_gn$G`xhf7nB4
z76%CZ#-4$JjfsKb1Bhl}VE6)}Ss57qfM_-bh9~w64D5^y3@<=5^JYOIF`h{R++64N
z85p{oWf&M3CW{K#8b~lOFr-a@xQc<n@NHb@!{#R+0z!gbfMgmEXXrC9WHDqh1cv?J
ztN_x~B%oSvtk1yE+hxPRz|h+SA}vpp$aXi0FfcH*9w-qG?R?t&MkMh6h2|pyClBlO
zmZ&it?%kpWvg5@P1_p-4L!b2+7(zRr1|yr%{DwvIMCajyFXRvYW@5Z?@kfbB_aqgN
zk(Wxin%{5)1pdF&d_<r-_Rq=s!+KEjCVb|X`wcSbMezUs{~Hg_)?;93e#6qR8{{g6
zQuXd;kS|&fln6Gz;rYK=hk=3N#mj&H|2H2IcwzYe|NmpnAcc$|Lm>_YnfEgM|NsBp
zA}WW|CQMk!;lRMa%*x}yz_3`rfq^05g(?HX<fVc_j7pPt2rBS0f-U6uU&_%t!C>-J
zK_$-1x(p1>M>wJnZx$4K&%61*{6)UWH}q5lLD4DAz`(%5z`!5{iq^@z`u2=BCj08!
zbMi1SF#P`iKc8{(RDEwDPznPD76_XOFfh0YOunZtCJf?&;+~6vfdLfMpvbT?u$)|C
zkRmAJz`(%B0KyUsp<u&b8ptzVn9OM??YNbJfdS+TkbVXRafV$C3=AOu!1((a7#Kia
zgYl0+7+{ix;p6}FlT!`l8E;Q+HI%P^$pFa!AW23BQHD<-vp~rLB)}lZz{<$LaKj$V
zVPIqsV~_?p3c_UorFjb^K1f>#BLl+(0Z5<-G4V0%2FW`>G$=5LGh~7I5H3i6Jwr7k
z0|UsjATa?3afT*F28KU^ARYsQ5EDN`2O|SRC!Ej6Fb~N9B?bnDoghBc0+9Y=AU;Gp
z1IR&F85tNrfeaE7WD;k11mY_|94N?8FTn5-<YK4=0t|c%zZn@AB;W>0Fzjb!U`P;P
zU;rgGAqGAM1||jukjbEE7i17%U}r-1fCR%gMh1pef(#6@3=9k)^}<XH49B77gF-};
ziGks?AOnLQNM413kHG}V0FVnEKo)?U3$ceGYO<^GHkRU|Wc|&*jps2<USwvy`GHvr
zBcs^nREuy%R!};;F!`XRGApQHxia~nrT8Q(9#&AIyD?eNN|_TBe>e0Q7&Io^TFL7&
zfc$0vPjO(2Kz;!+-homU0|NsyC`CFjFo;avXeBQC8JrFo7z{v4Kr#jl3~H0_S}Akd
n7%(t=U}9j9p3G@2&#Gh0z>qLm*IHSk$CQEL4^%aXg2f2{yE`g3

delta 1506
zcmbPG_M&Wpg76MA1~4#TP+;I@&|r{bkez6}l=Frj1H%nF28J6GABuB6&|_eDV8_7l
zU@{|PxgcE1j)6ggk%2*Dawns{NT9=d_89$b@o&~H`7(8@2A9<xO|{8q7z+fIz{W!e
zAqEBp&B?w@iJ}EXnRz8?4Ds>F6^Zd_nR$shnN_Ki4>R5L1KG;Kz`$_Fj)4J0zp;nV
zJPr{0fjt8Q8xsS=6A;b9!0-Y@vobJz0MTp=3=9qo4D5^y3@jj;d9$F97|$dDZm!q*
z3=G}PU;h99KUq}3*5Jec|Nqk_KwQPZVE8t!^I`Lo4*?-TFC-Wk7#a_^=rb^6F=R0W
zhW+3C1Ei@*K(*dqpMjybOM`)dp|=S{TAnD8?QVMW|NsBi10}+toll$Jhy?z>(0oMT
z<l){DHHHa?d$*{8?0B&RWauG&eFlcm&Zoi1W;DNH(LB+4_}~lqgTI*=Z(RIQBGNtS
z56H+%C0xyKI06FyUur%g&>j2dWIfEdv<aX2<$i-qdJ+8p|Nq9r+w~Y2n%}TA>;}1t
zp;W!Q8RWm#10{mZZ+QN126^el%YXm>Hy;srVfg?5|6|P{g^VCWAr1wZ_cHwd|Nq@0
zDu>f1Ojs!3z`(%FD&oMvuvo%@fg#|9Dg(phrGi3?c9VAqD)7pJE#&xL%F#PPWb#u%
zCC>M{3=GXjIHC`478H8VyZOKTMZQTa9Fs5TsR)8%RGNW-frWvAK?)SJlUeoc8NW<+
z)wkyaiT(cnKc8W8ufF#r79PJ<f}j9{q&EnQfx%3Gfx%4x!UH7(E(Qh$5eS#T-Pzen
zLBl0ADKjxo!O%$0NY6mm&_ol;oGff$IoaDFRZzx(fq{_$ge4h5!EQKcAkTPX@<Rh@
z$BhgO3?TnPOq5{Q1~T3O!ed~NVA##TzyJyah=>HkAqWFZvM_x7e|oa5p*-XD$+3p=
z^-mcPPG@8gWq8NHz`&ybR?5J@AjrVT$iVQ$9>Qm25N8kvISRsM0Obx7BtA%603!p#
z1OZ6c2{G|8Y-eO(;DEYKfkA>H4N1Ka14BJSIU@rD$g?0b1sEh4>KGXq{y@W2h>4$}
zg^_`w6VB&jn1y5jD64KovH+z25RyE|K^GYr7(j6VGGCBMg5e%0t0_PnD9BJR!0;C2
zVyFcI415gV85tN9pe`0*kYw1+$iR>wz`&rxz`!8Hz{l_hWC7d&0S0C!WDiI(d}3r^
z03`}psCs@T28QEM^Fbk^%EZ8MT9AQ34<xU`z{g;KWB|y8HcTM5LNLe&VUuNzw{5;|
zJdcSzJ-<Y+Ag5$<v6=1WwPx*%jN+S3Ey5XDK`Hje<cXHbte{fp&g6-f;*&2}@~}b*
z!H1U0oS;(Zfj$F+$YfqCdEGDe3=CgDJcun|5|pw*_#-&gF)%PQKw^$#vZ0l@=ywp0
z0U`>DE*S#`2A0W=2Ew9$pz004rZ6yoWLzh=S}Aj;7%(t=0C{fmMk{&N5Mu_0n8{bI
SlqEKpGBB`$LJ_J1#smNqZ%z#W

diff --git a/Worksheet_1/src/task1.o b/Worksheet_1/task1.o
similarity index 66%
rename from Worksheet_1/src/task1.o
rename to Worksheet_1/task1.o
index 0fdf34bad3608b40d06e60add49bf528077429b4..6a7a4269940ae6b09753eee291b9fb071e4a0b8d 100644
GIT binary patch
delta 108
zcmZo*Yhc^p!pLa4*_Dx-F_fPH889-4FfcH%z=aqYBpDbOIFR@Xa5e*j00RSqHVU7K
SfuXo4S%30EChN%$m=pl6Y6!;w

delta 108
zcmZo*Yhc^p!pLa2*_Dx-F_4=9889*kFfcH%z=aqYL>U+uIFR@<a5e*2tvU*yiGgAA
QQYP!kJWL#upD@V)0HNmx;Q#;t

diff --git a/Worksheet_1/src/task2 b/Worksheet_1/task2
similarity index 51%
rename from Worksheet_1/src/task2
rename to Worksheet_1/task2
index 46d2d578c808f6fe51cb84355814143a0094b4c5..c49fc7e86669300ab26b842fa868822260757a24 100644
GIT binary patch
delta 4314
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

delta 3967
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
DGsonu

diff --git a/Worksheet_1/task2.o b/Worksheet_1/task2.o
new file mode 100644
index 0000000000000000000000000000000000000000..729f3797fae73c0f128fb7d0fcc4863424f71882
GIT binary patch
literal 2256
zcmb<-^>JflWMqH=Mh0dE1doBi0V-hvrZpHi8CbzAQVEcmAj}NaxPg&@VGWcGqF6u#
z0|Ns)0|NsG0|Nt0T>=vW!zGYLs60#^4+8_(oorBXkUDuJbplXvA*ebim!Sb>FjN4h
zMG47HkQ7Lr8;AkLFm*Z%3=B+AF%WfunSlXhH^|)z3=9k)_krvNg%`3_25bxr=`cf(
z++@SRz`zMI2#Oc5GcXu1GBAMr1=0^P4-_6yX$IH4lGGxF%KXwIg}lVvR4WCjNTNbs
zX>L+#k%ES)fv%x}fhI_%s3^b4O2H2zky~0^qL7rT0Fl?@VhB&oNzTtr)lp#Jf*Mj>
zl2}xtkeQc~TA`p}2sZ|7WoljuhKy%kSz=CRib7FhUV5q?7ejDqu0nnqglh!~4F-lC
zAcw#B^Z)<<7oQmz7<Pc-1HuJ~EjD6cU}*kfRHM@TBc)!x^WY9|1_lPOJd#F`%12LM
z3+w;|K3Eb=9NwA2z`$Vmzw?JfC(B+l1_lQAN1tDS?As9zGX<=0@i9gQh8@MIVy74x
z7#4ygntw3Xc!R8W>y`xxHveX<v2OmIQg3E?qu$8yWan{ap1mM<x?A3_XL|jqllL6R
zxVbRn7J|57d%(ou9lbCa2!B7wMPQ~4R|$6qyL;n*kZGlFj<GWwW?;}uNi0cZ&`T;V
zX3#51ttes8%gZlG)pPd?)h#YbOwMM|E6yk`DJn@!V$dtD%!SZUeo<-;L=VUc>=-G@
zF|aUv{Ew^(HK&8}9CFGA@j)pNp@W%$g~18I1*c*^1_lODoI->d86p`N7(mek<0msP
zFo5C|#?NP9U<ie9!1~J>7#KjY1rcIoXklPr0L2uH-_O9n018kTe>MXH11RWW{KXIk
zlw@L9%fP?@3SNi+6T>zJ1_n^lfbsV*Fff2(9mYSwz`y{Cbr}B=0|NsnLSg)83=9nV
z5DvJ603~7{B>q1J28I|UJ|`ms1IW)1A!Y_)Mh1pb2nVcRmXU$s2ohh7k%0kZCq#&u
z!HAK8;S+=dR`0;bz`z8LL}msrMg|6UBz`0#1A{aYpC7K5fdNzwNucpT<s3{1B#-bL
zM7<?Uk^#cMgTiNKU??t1)-Opc&Nk9ZEY4*pN=;0O&&(@fC@9LzD?wrvmlS2@r9<SC
zGZKrS3i5Io3X1Y`3rgZar5BuCn#+(1Dy-sji_;m(A>|U7otIjklbM$aQwT1gV4T#v
z6b5j~6A#wQP+Xb|)>B%XS_Cm3!Ya*WNGvK!tYiS|jt3WS45@h_cc-LQK#eFa&1HyB
zEY6M3P0Y-LJ0T}Ozks1QBflJKMOtP~PCUdgFcTtQni~&x2iOH*p_I(xf}F(4c#x@?
zkU|ow1RP*szk^wzpos@-0XYaP1eSz{Iw)!xnIQE6lM*COKzvb9J*33IAO)fo7#QS1
zxrv#9!2m=vF))~d#FZErtU!Eb1_pa5-vvagFfjOn#F-cvf<SyFNFHQTVPMDvi8C`W
zl!0g_28L>=d;^G9U|?tki8C`Wbb)9l1_n_61i5PpRDLE%oSA`P9+X}OrH@1DD^U6-
zh-PA7xChdw#K7<v#Ajw;0F~cNiVO^ILE<V5450i5^6w82Ux|U?FNjuQU|?osU|?is
PVBi4d4`l`hQ79h(<vgRH

literal 0
HcmV?d00001

diff --git a/Worksheet_1/src/task3 b/Worksheet_1/task3
similarity index 53%
rename from Worksheet_1/src/task3
rename to Worksheet_1/task3
index 875aa5b4cd87366df0cf448446624b48bddae443..ea2533f331c34a404d87e47704b91fd2fcfdf2fb 100644
GIT binary patch
delta 4148
zcmey<!FZyRae{)dg98H?m@p_Xa5HEy$TG-GG%jTQ!^*($XW~j}SrtYG1`uWesS;pd
zU}RumIHJeEaKw&*;mE{?;+$vn7#PmjF)*B&%*bdi$fLl(0K+y63=B4tJsFi{*%%lY
z1Q-|?f}WP7z%|=3FxW7HRCF@xi@eA;NX+p)GUwNdOB2mn_+LEuxB1BAGmHU@YLjJ|
z<PF_HwnMQH0|SEulntUld<zf*ij^1`7!)SwGRZRvOzvf}w=F0wNzO<tVn|Pg(8bA#
zd1(ys@j01E$??S{iA5#xxrv#14Ds>F6^Zd_nR$shnN_I_1x1;8C25;End2Gje+w}%
za4;}1hzdh!9Vp!nrTd`tTqwN+N^geJyP)(*D18A+--puAp!8QL{Rc{Oi-7H`XApug
z7)+paIFxRN(yO5KVJLkAN(YF74PclFrFTH-6Hpoyiy)7ku!E@kVGp5M93V7<FarY<
zTRj7V6o|phz+ecaEkzg@n3x$DVxV*flwJ>|PeAFrP&!l;qJAEf-V3GALTM+ExhxC}
z5g?j_fguY@zp-avU~^<*VE6!Hure@w0nzLX41Yj0Cj-L`dj<w}Mh1pEAexzh;Q@$d
zVPJRyqS+W2UVvzh%^O8;aZVE8<~pp;z|h^S!N9;USyUj`K!t&UA#DOQ;V>A!jq7~a
z{NzJGNYD#V3Tr&9qtC#Q#gN4i81{d&4oK4`0oD5NdJGJ`T@FkP482Vt((*)!Y<H6a
z0|P_rffC`+&Zo_9L<0X`Xg(rv@~~cSi5kP<-Yse%J6<edU|?uGv|W#ZA++;pFtQoV
zZ&)->bRItVLjK@yCdL~Vf0T%HPci@*d8ve}`3*-v;Qvd_M+CZK|D3EptOqr3!e@TD
z-yoA-1poj4zwvOq9s@)38<vLMAXhPzs&_Yo{MUM*M6me{&;QM!O!DI8zyJT6j|jXl
z{Qv*|v1X7$Mv$Qphl0#|8UFwO|85bL!)X&H>`--JV0aP5$iVPIk&%I6@d9TChVFV^
z5M}s(2M0*f4kXFS$iUFavRA-~fx-RJ^A~{(3=A)t85kIL*n^ZvGcqtNT;j~Y@ZuLp
z!jqAKVMh>1f(azC0wnPeBw+xONCio}WME)exCSI~0wf{M$iQ&88*J@<28MbDhJ_%T
zIuCaq>V{Zqd83Z0^RVTGTBgoJ?vGw|%7Sd`6a^WL(8s`Fcz_wA-u=<H#USGkg95Ml
z$%hw$3=9mcin<I8orhm=g8U!*=j7pT78QtsH!Lqc{Qv)-l|dI2zM35WOF4Qc*gW|E
zKdAHYi|D`L0G$91#k2`0SQr=*=JdM$3CL)eyhcb;q5<TgKmY&#kBpp~c=9mFLkV*N
zGMXpf6^g2tcVu9A&AP+Hk%1xLyXzlNAzQ+}LjzS5RC1QE?=VCa1(n++>^qcDMH?6x
z7)sc8sG^E8uz*GN&_p?S!NS^5;mL=E6&c$mKNVJDOqt9fqRrSn*+fK5-`tUb;RVP8
z%}02;OL>}~edzY(a10E~h(Jhi7~VEK(8VGbkP$bzQ>2`6?qo($52pW)lf6Y{g&rW(
z3B2YD&v@%Nxk^--|NJjdn!T;bz|eezBl_^>jiM}ElN2~?Ra3Ya7^Ru5LCF<Vafp2Q
z{~zqF5C8vzGEmEh|NlckdGXW#|2r5M7&d(R|NjmH1H+b2|NnoOtf`>Ps4>}BL7TB>
za;1WD+KKo7|AR_6Q2qmDQIO8dAOHWC1qnFvakMfy@v^!!Glw2M%)`P0sirCz7#Plc
z{Qn;m9Ux^OeLV~e40}HQ|E~uUK+=~6*0*_~!ZO~;H}qsAUx+d=NP_A}I|c@61_n^b
zGe|KoFr1jot8dSEX0oroJtq$X1H<qC|MM9qPu2HkJTv*LzOpFDSP-5Ms?I<RklxLb
z2E0u2p-H8AC8Y|6#(GA22D(PZrC`2^CRAjyA)D~z0HYK^9w$ik%*Y_Y5DK>PsF8d<
zsE7xd$H*YeupGpIVityv|F<$QFo1F~L`a<B5Ca1PD9gk6=NK3mKv@{ZzXqzqK?x5m
zAkJ`)fq?;(VZmGmafW9M3=B0$@|=te^$eiA3Q-`zaFT(60aSXx`0p4P7(jUy#{b5^
zzyQj%F#bOV1_n?@h4EQHB|Rv!f(7^(_!$`(yx}3n#~{PVzz~nbS7WSaV8}rd0F^OC
zNPJU928JdizB3~OLq8JV2h`pHTLy~CkN-o__=#xz0!9V~P>zRa5of5bXJlY#MhcQn
zMh1p9B>s6u1_n?m0Mjsqk%0k}r(yhgj0_B*+zjKdU}Rtbl@Bof7DfgJPzHwa4>2+@
zfbuzvUw@jBfdN!>zyxkFGBAM38yNp7BLf2{i^KRI85tNrIUC0R%gDeG=Lq33Fo-j7
zGBGfuAo0bR7#O;d_!>+M4093udIobQ1_n?O05L+G!IX)C;VnV|gF6!g!+#`xIH+P3
zhNxy>;A4nmVqlnr#7|>lU|5XA&t+m@Sb@YZWny613Fp`IG1M?IFzka1@G-P7F)*A*
z;&(GKFkC_6PiA6Zc#6cI#l*ny3W>jniGkra5`QHV0|SEy!oeGv7#IX${CWmHh8;`{
z3}P?=20n%ZObiU=Nc;;-3=9X5`1hF@7%n35-!L&Sd_&^@Vq#!mg_jt73>?f13|vTj
zCuRnQIw-#$6om533=GSm0wBH#GXukFB)&Q`1H)P*z7aD6!!abjEi(hd6(l~~^PobC
z;p2aAW(EcYMMwxRGQhJBNT8kpRM12+Lpli{5k>}4h9qW4Hvz<FU=U;|1<Bh(c#I5U
z4BgBSHi!fnw*rX|DvggYGcX(w0A)!A1|cRshD1<N4b4>w4B`y8;Ogrc!0vg?%)pQc
zb+!NlAHx^80*E{t3j>1z)Q2E>5f%mpP<aY+fB=IygER{R1E^>R@r9W985CI<7<NJn
zB9H^jK@I>(GB7ZJIv_zT3=AqD`|816A3lb7kOHU+K?df4_)rZXAJ(uiFcgC{K-G64
z$%A}6lZAl+)G7yQ5o8i)SO(%NKte!}L4aW^3j@OesDnTr&}U^};1ve9mOzynAH#kY
z28ItHo1hke8Y&>eKo}%^i-mz<gENQ+QZK=f%EG`fL4bilhXE8qd<^$l7#QY46Cucg
zHy{ThIp8x31A`lqJQFK81VR3X7|6%Uz+jE!!(A*444~Q$R1*s^@G(fRGBE4`xddb(
z6CZ;fD+9v;AqECejSG^uWMyCoK+^95u>kC1P>2Muf|+0f6k=H*zQE)*%Z)6>MalY;
z&8-$nrW9qCr55QWLwa}dnRz98$qXRb%{Qz9m^tGUi*v!9!O4bpQ3~<#6&7ZC>8U00
z1<COx8KrsIdWjVb@!*ajNbBZ)J4MFLJMH%~GKx*Ebezr@F<H<_o)eTzKv-n5p@Z;b
zA14t;p2>+$@|^H)F<5+#6A!0{0s{jG-<iD8NuCu{Q6HK7*GYWx8z&xCP><}y<iAeJ
ztdP#Ns<SfZ8G8nXGx`h+CX)l5<yjd(scG_DXK`ClEedMmfYLN5(efBEFf2i-n81O;
z@R<S9KmheCKq4S@YLh=YEAyHdF)%D(hqPEiCo8&0vtF@eU?`aE=%UQ(V$Z<vXYxe{
FVF39r4+{VQ

delta 3758
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
R#Bn<YaD@rg1gh%5OaK$HtCau%

diff --git a/Worksheet_1/task3.o b/Worksheet_1/task3.o
new file mode 100644
index 0000000000000000000000000000000000000000..7dfc7551e6fa30642e85cea7eb702e6b5a6c007e
GIT binary patch
literal 1824
zcmb<-^>JflWMqH=Mh0dE1doBi0V-hvrZpHi8CbzAQVEcmAj}NaxPg&@p$y6fQ7j;W
zfq{XYfq{X8fq?<0&VY%5VF5@ZR34^|hk*g?PBy4GNZoxX8$=0!2nGfQA*ebimq7q#
zFjN3$v=Wk?ASsYKHxL7gVd``k7#NtKVjwDknStQ~BgEYj3=9k)_krvNg%`3_2CNJW
zPe2-=7-pUg0|NsmR18EZfIP&=zyP8^`a$M_!UH4+!mfEGsYMETrMXF|Ma2pl`FW`d
zNtFuud8wLK3Jeg*;>@a4h5R&yl8jV^#G<0aN-G5h-^7Z{+|pcyvc#OyRE5l9kWgkG
zx=?UwE=XfyP7Xw2F+?R7$YLnoA<MwP@Z!(^|Np_n;t7ll4BfmS((wNdkQ%TsnCN8L
z3leaD^!!C2NK-Qd1H%q;5DTPz;S@$>gLZhqC1#*X#KI-!phz5sSi2u&$3hU%dARdX
zH^ffM8+A;bhb=GEGIbtufAp$T7GzncD9B`FZH5P!A?n>9eOnAN{V)TAUP@v~B7<I1
zaWR8lNoqw2gI->KNvfW^U#M<zNn&y~gI;k)aY<20ViJR1ab+%qhVqM2b0B&^&cTjh
z@eYz@VfgqTM8hy@&I9EE<dg>DgHi-cHHgo`V1eL*Q@Sey0|O|EAi|6cppXZJIgB64
zz`y_sY8XF}fq?-O!Z3a&0|P?|gabCO5Y7fMm>9|#7#KjY4dQ`vLJb2011NA|{1yfV
z22e1=_&p2^44{yO@#iowFvvhS;2gJ{fq|hLiNA$`fnh!pe;)$_!x|+12?hp+O-TH+
z3=9m1kodP57#PkY@%iCw1_n^R1m#hf5Qq=T_sD#G7>5C(ei90wnSr6WC|SQGu{hgU
zFR?h6p(r&mB|bB+grT4)Gp_`RRa{b(nU@X~&dXsaD9X<*D2WH>M;Hf`Q5kX*E8=sD
z(;0Fz^T2d*X)c(~OD)gI%u8i}=zuFNOUwZ)1<@t>C5br<@rlK`@wthac?@ZpIXO@p
z(lYZ>;=x9P#q(0)bMo^G7?Lwmle6P<GxHeoKuJ3}F(<h+C$S_ozPL1(0c0~+6_S_1
zWh^5Tq&#AhVqo9~m46bDuwi6oU=RbP5@tx61E~XrCrF(-RGl7F9#oHj<U#2ZBo9i1
zApQOzb&?DWAs||sfdQ00LF(c_d?^NoWT^fO5MPpkAs0kTGcXi^#F-et=@DceC>?^#
rYXr$lGBC7(XlVw9UXVIw28QWSdJ&Y~4y8dw6iD9@DE|_az6GTL9pfpx

literal 0
HcmV?d00001

-- 
GitLab