From 517fde7b4488742188455f63a51f04b8824ff79c Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Sun, 8 Jan 2023 21:43:18 +0100 Subject: [PATCH] =?UTF-8?q?Vorbereitung=209.1.2023:=20=C3=9Cbungsaufgaben?= =?UTF-8?q?=20und=20Musterl=C3=B6sungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hp-20221219.pdf | Bin .../hp-20221219.tex | 0 20221219/lists-1.c | 12 + 20221219/lists-2.c | 12 + 20221219/lists-3.c | 21 + 20221219/lists-4.c | 25 + 20221219/lists-5.c | 29 + .../logo-hochschule-bochum-cvh-text-v2.pdf | 1 + 20221219/logo-hochschule-bochum.pdf | 1 + {20221212 => 20221219}/pgslides.sty | 0 20221219/tree-01.c | 13 + 20221219/tree-02.c | 13 + 20221219/tree-03.c | 31 + 20221219/tree-04.c | 37 + 20221219/tree-05.c | 44 ++ 20221219/tree-06.c | 50 ++ 20221219/tree-07.c | 71 ++ 20221219/tree-08.c | 73 ++ 20221219/tree-09.c | 73 ++ 20221219/tree-10.c | 63 ++ 20221219/tree-11.c | 61 ++ 20221219/tree-12.c | 59 ++ 20221219/tree-13.c | 55 ++ 20221219/tree-14.c | 55 ++ 20221219/tree-15.c | 48 ++ 20221219/tree-16.c | 48 ++ 20221219/tree-16a.cpp | 48 ++ 20221219/tree-3a.c | 33 + 20221219/tree-3b.c | 34 + 20221219/tree-3c.c | 33 + 20230109/aufgabe-1.c | 47 ++ 20230109/aufgabe-3.c | 62 ++ 20230109/aufgabe-4.c | 10 + 20230109/hp-musterloesung-20230109.pdf | Bin 0 -> 95651 bytes 20230109/hp-musterloesung-20230109.tex | 636 ++++++++++++++++++ 20230109/hp-uebung-20230109.pdf | Bin 0 -> 61041 bytes 20230109/hp-uebung-20230109.tex | 350 ++++++++++ 20230109/loesung-1a.c | 69 ++ 20230109/loesung-1b.c | 97 +++ 20230109/loesung-2c.c | 68 ++ 20230109/loesung-4.c | 28 + .../logo-hochschule-bochum-cvh-text-v2.pdf | 1 + 20230109/logo-hochschule-bochum.pdf | 1 + 20230109/pgscript.sty | 1 + README.md | 4 +- 45 files changed, 2416 insertions(+), 1 deletion(-) rename 20221212/hp-20221212.pdf => 20221219/hp-20221219.pdf (100%) rename 20221212/hp-20221212.tex => 20221219/hp-20221219.tex (100%) create mode 100644 20221219/lists-1.c create mode 100644 20221219/lists-2.c create mode 100644 20221219/lists-3.c create mode 100644 20221219/lists-4.c create mode 100644 20221219/lists-5.c create mode 120000 20221219/logo-hochschule-bochum-cvh-text-v2.pdf create mode 120000 20221219/logo-hochschule-bochum.pdf rename {20221212 => 20221219}/pgslides.sty (100%) create mode 100644 20221219/tree-01.c create mode 100644 20221219/tree-02.c create mode 100644 20221219/tree-03.c create mode 100644 20221219/tree-04.c create mode 100644 20221219/tree-05.c create mode 100644 20221219/tree-06.c create mode 100644 20221219/tree-07.c create mode 100644 20221219/tree-08.c create mode 100644 20221219/tree-09.c create mode 100644 20221219/tree-10.c create mode 100644 20221219/tree-11.c create mode 100644 20221219/tree-12.c create mode 100644 20221219/tree-13.c create mode 100644 20221219/tree-14.c create mode 100644 20221219/tree-15.c create mode 100644 20221219/tree-16.c create mode 100644 20221219/tree-16a.cpp create mode 100644 20221219/tree-3a.c create mode 100644 20221219/tree-3b.c create mode 100644 20221219/tree-3c.c create mode 100644 20230109/aufgabe-1.c create mode 100644 20230109/aufgabe-3.c create mode 100644 20230109/aufgabe-4.c create mode 100644 20230109/hp-musterloesung-20230109.pdf create mode 100644 20230109/hp-musterloesung-20230109.tex create mode 100644 20230109/hp-uebung-20230109.pdf create mode 100644 20230109/hp-uebung-20230109.tex create mode 100644 20230109/loesung-1a.c create mode 100644 20230109/loesung-1b.c create mode 100644 20230109/loesung-2c.c create mode 100644 20230109/loesung-4.c create mode 120000 20230109/logo-hochschule-bochum-cvh-text-v2.pdf create mode 120000 20230109/logo-hochschule-bochum.pdf create mode 120000 20230109/pgscript.sty diff --git a/20221212/hp-20221212.pdf b/20221219/hp-20221219.pdf similarity index 100% rename from 20221212/hp-20221212.pdf rename to 20221219/hp-20221219.pdf diff --git a/20221212/hp-20221212.tex b/20221219/hp-20221219.tex similarity index 100% rename from 20221212/hp-20221212.tex rename to 20221219/hp-20221219.tex diff --git a/20221219/lists-1.c b/20221219/lists-1.c new file mode 100644 index 0000000..a04067e --- /dev/null +++ b/20221219/lists-1.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +typedef struct +{ + int content; + node *next; +} node; + +int main (void) +{ + return 0; +} diff --git a/20221219/lists-2.c b/20221219/lists-2.c new file mode 100644 index 0000000..f27d1d5 --- /dev/null +++ b/20221219/lists-2.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *next; +} node; + +int main (void) +{ + return 0; +} diff --git a/20221219/lists-3.c b/20221219/lists-3.c new file mode 100644 index 0000000..9c90297 --- /dev/null +++ b/20221219/lists-3.c @@ -0,0 +1,21 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *next; +} node; + +int main (void) +{ + node node3 = { 3, NULL }; + node node7 = { 7, NULL }; + node node137 = { 137, NULL }; + + node *first = &node3; + + for (node *p = first; p; p = p->next) + printf ("%d\n", p->content); + + return 0; +} diff --git a/20221219/lists-4.c b/20221219/lists-4.c new file mode 100644 index 0000000..e048736 --- /dev/null +++ b/20221219/lists-4.c @@ -0,0 +1,25 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *next; +} node; + +int main (void) +{ + node node3 = { 3, NULL }; + node node7 = { 7, NULL }; + node node137 = { 137, NULL }; + + node3.next = &node7; + node7.next = &node137; + node137.next = NULL; + + node *first = &node3; + + for (node *p = first; p; p = p->next) + printf ("%d\n", p->content); + + return 0; +} diff --git a/20221219/lists-5.c b/20221219/lists-5.c new file mode 100644 index 0000000..a0cc620 --- /dev/null +++ b/20221219/lists-5.c @@ -0,0 +1,29 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *next; +} node; + +int main (void) +{ + node node3 = { 3, NULL }; + node node7 = { 7, NULL }; + node node137 = { 137, NULL }; + + node3.next = &node7; + node7.next = &node137; + node137.next = NULL; + + node node5 = { 5, NULL }; + node5.next = node3.next; + node3.next = &node5; + + node *first = &node3; + + for (node *p = first; p; p = p->next) + printf ("%d\n", p->content); + + return 0; +} diff --git a/20221219/logo-hochschule-bochum-cvh-text-v2.pdf b/20221219/logo-hochschule-bochum-cvh-text-v2.pdf new file mode 120000 index 0000000..4aa99b8 --- /dev/null +++ b/20221219/logo-hochschule-bochum-cvh-text-v2.pdf @@ -0,0 +1 @@ +../common/logo-hochschule-bochum-cvh-text-v2.pdf \ No newline at end of file diff --git a/20221219/logo-hochschule-bochum.pdf b/20221219/logo-hochschule-bochum.pdf new file mode 120000 index 0000000..b6b9491 --- /dev/null +++ b/20221219/logo-hochschule-bochum.pdf @@ -0,0 +1 @@ +../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20221212/pgslides.sty b/20221219/pgslides.sty similarity index 100% rename from 20221212/pgslides.sty rename to 20221219/pgslides.sty diff --git a/20221219/tree-01.c b/20221219/tree-01.c new file mode 100644 index 0000000..d347186 --- /dev/null +++ b/20221219/tree-01.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +typedef struct +{ + int content; + node *left, *right; +} node; + +int main (void) +{ + node *root = NULL; + return 0; +} diff --git a/20221219/tree-02.c b/20221219/tree-02.c new file mode 100644 index 0000000..7e591c3 --- /dev/null +++ b/20221219/tree-02.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +int main (void) +{ + node *root = NULL; + return 0; +} diff --git a/20221219/tree-03.c b/20221219/tree-03.c new file mode 100644 index 0000000..b88b867 --- /dev/null +++ b/20221219/tree-03.c @@ -0,0 +1,31 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +void insert (node *root, int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + root = p; +} + +void output (node *root) +{ + if (root) + printf ("%d\n", root->content); +} + +int main (void) +{ + node *root = NULL; + insert (root, 7); + output (root); + return 0; +} diff --git a/20221219/tree-04.c b/20221219/tree-04.c new file mode 100644 index 0000000..db3b53d --- /dev/null +++ b/20221219/tree-04.c @@ -0,0 +1,37 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +void insert (int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + root = p; +} + +void output (void) +{ + if (root) + printf ("%d\n", root->content); + else + printf ("root is NULL\n"); +} + +int main (void) +{ + insert (7); + insert (137); + insert (3); + output (); + return 0; +} diff --git a/20221219/tree-05.c b/20221219/tree-05.c new file mode 100644 index 0000000..628d880 --- /dev/null +++ b/20221219/tree-05.c @@ -0,0 +1,44 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +void insert (int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + root = p; + else + { + if (content > root->content) + root->right = p; + else + root->left = p; + } +} + +void output (void) +{ + if (root) + printf ("%d\n", root->content); + else + printf ("root is NULL\n"); +} + +int main (void) +{ + insert (7); + insert (137); + insert (3); + output (); + return 0; +} diff --git a/20221219/tree-06.c b/20221219/tree-06.c new file mode 100644 index 0000000..f38634d --- /dev/null +++ b/20221219/tree-06.c @@ -0,0 +1,50 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +void insert (int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + root = p; + else + { + if (content > root->content) + root->right = p; + else + root->left = p; + } +} + +void output (void) +{ + if (root) + { + if (root->left) + printf ("%d\n", root->left->content); + printf ("%d\n", root->content); + if (root->right) + printf ("%d\n", root->right->content); + } + else + printf ("root is NULL\n"); +} + +int main (void) +{ + insert (7); + insert (137); + insert (3); + output (); + return 0; +} diff --git a/20221219/tree-07.c b/20221219/tree-07.c new file mode 100644 index 0000000..df1dd66 --- /dev/null +++ b/20221219/tree-07.c @@ -0,0 +1,71 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +void insert (int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + root = p; + else + { + node *save_root = root; + if (content > root->content) + { + root = root->left; + insert (content); + } + else + { + root = root->right; + insert (content); + } + root = save_root; + } +} + +void output (void) +{ + if (root) + { + if (root->left) + { + node *save_root = root; + root = root->left; + output (); + root = save_root; + } + printf ("%d\n", root->content); + if (root->right) + { + node *save_root = root; + root = root->right; + output (); + root = save_root; + } + } + else + printf ("root is NULL\n"); +} + +int main (void) +{ + insert (7); + insert (137); + insert (3); + insert (1117); + insert (42); + insert (13); + output (); + return 0; +} diff --git a/20221219/tree-08.c b/20221219/tree-08.c new file mode 100644 index 0000000..fd3cafc --- /dev/null +++ b/20221219/tree-08.c @@ -0,0 +1,73 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +void insert (int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + root = p; + else + { + node *save_root = root; + if (content > root->content) + { + root = root->left; + insert (content); + save_root->left = root; + } + else + { + root = root->right; + insert (content); + save_root->right = root; + } + root = save_root; + } +} + +void output (void) +{ + if (root) + { + if (root->left) + { + node *save_root = root; + root = root->left; + output (); + root = save_root; + } + printf ("%d\n", root->content); + if (root->right) + { + node *save_root = root; + root = root->right; + output (); + root = save_root; + } + } + else + printf ("root is NULL\n"); +} + +int main (void) +{ + insert (7); + insert (137); + insert (3); + insert (1117); + insert (42); + insert (13); + output (); + return 0; +} diff --git a/20221219/tree-09.c b/20221219/tree-09.c new file mode 100644 index 0000000..6b44c11 --- /dev/null +++ b/20221219/tree-09.c @@ -0,0 +1,73 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +void insert (int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + root = p; + else + { + node *save_root = root; + if (content < root->content) + { + root = root->left; + insert (content); + save_root->left = root; + } + else + { + root = root->right; + insert (content); + save_root->right = root; + } + root = save_root; + } +} + +void output (void) +{ + if (root) + { + if (root->left) + { + node *save_root = root; + root = root->left; + output (); + root = save_root; + } + printf ("%d\n", root->content); + if (root->right) + { + node *save_root = root; + root = root->right; + output (); + root = save_root; + } + } + else + printf ("root is NULL\n"); +} + +int main (void) +{ + insert (7); + insert (137); + insert (3); + insert (1117); + insert (42); + insert (13); + output (); + return 0; +} diff --git a/20221219/tree-10.c b/20221219/tree-10.c new file mode 100644 index 0000000..26a5575 --- /dev/null +++ b/20221219/tree-10.c @@ -0,0 +1,63 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +void insert (int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + root = p; + else + { + node *save_root = root; + if (content < root->content) + { + root = root->left; + insert (content); + save_root->left = root; + } + else + { + root = root->right; + insert (content); + save_root->right = root; + } + root = save_root; + } +} + +void output (node *root) +{ + if (root) + { + if (root->left) + output (root->left); + printf ("%d\n", root->content); + if (root->right) + output (root->right); + } + else + printf ("root is NULL\n"); +} + +int main (void) +{ + insert (7); + insert (137); + insert (3); + insert (1117); + insert (42); + insert (13); + output (root); + return 0; +} diff --git a/20221219/tree-11.c b/20221219/tree-11.c new file mode 100644 index 0000000..508b243 --- /dev/null +++ b/20221219/tree-11.c @@ -0,0 +1,61 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +void insert (int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + root = p; + else + { + node *save_root = root; + if (content < root->content) + { + root = root->left; + insert (content); + save_root->left = root; + } + else + { + root = root->right; + insert (content); + save_root->right = root; + } + root = save_root; + } +} + +void output (node *root) +{ + if (root) + { + output (root->left); + printf ("%d\n", root->content); + output (root->right); + } + else + printf ("root is NULL\n"); +} + +int main (void) +{ + insert (7); + insert (137); + insert (3); + insert (1117); + insert (42); + insert (13); + output (root); + return 0; +} diff --git a/20221219/tree-12.c b/20221219/tree-12.c new file mode 100644 index 0000000..ff07e64 --- /dev/null +++ b/20221219/tree-12.c @@ -0,0 +1,59 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +void insert (int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + root = p; + else + { + node *save_root = root; + if (content < root->content) + { + root = root->left; + insert (content); + save_root->left = root; + } + else + { + root = root->right; + insert (content); + save_root->right = root; + } + root = save_root; + } +} + +void output (node *root) +{ + if (root) + { + output (root->left); + printf ("%d\n", root->content); + output (root->right); + } +} + +int main (void) +{ + insert (7); + insert (137); + insert (3); + insert (1117); + insert (42); + insert (13); + output (root); + return 0; +} diff --git a/20221219/tree-13.c b/20221219/tree-13.c new file mode 100644 index 0000000..236930e --- /dev/null +++ b/20221219/tree-13.c @@ -0,0 +1,55 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +node *insert (node *root, int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + return p; + else + { + if (content < root->content) + { + root->left = insert (root->left, content); + return root; + } + else + { + root->right = insert (root->right, content); + return root; + } + } +} + +void output (node *root) +{ + if (root) + { + output (root->left); + printf ("%d\n", root->content); + output (root->right); + } +} + +int main (void) +{ + root = insert (root, 7); + root = insert (root, 137); + root = insert (root, 3); + root = insert (root, 1117); + root = insert (root, 42); + root = insert (root, 13); + output (root); + return 0; +} diff --git a/20221219/tree-14.c b/20221219/tree-14.c new file mode 100644 index 0000000..a95a1fc --- /dev/null +++ b/20221219/tree-14.c @@ -0,0 +1,55 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +node *insert (node *root, int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + return p; + else + { + if (content < root->content) + { + root->left = insert (root->left, content); + return root; + } + else + { + root->right = insert (root->right, content); + return root; + } + } +} + +void output (node *root) +{ + if (root) + { + output (root->left); + printf ("%d\n", root->content); + output (root->right); + } +} + +int main (void) +{ + insert (root, 7); + insert (root, 137); + insert (root, 3); + insert (root, 1117); + insert (root, 42); + insert (root, 13); + output (root); + return 0; +} diff --git a/20221219/tree-15.c b/20221219/tree-15.c new file mode 100644 index 0000000..929d253 --- /dev/null +++ b/20221219/tree-15.c @@ -0,0 +1,48 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +void insert (node **root, int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (*root == NULL) + *root = p; + else + { + if (content < root->content) + insert (&root->left, content); + else + insert (&root->right, content); + } +} + +void output (node *root) +{ + if (root) + { + output (root->left); + printf ("%d\n", root->content); + output (root->right); + } +} + +int main (void) +{ + node *root = NULL; + insert (&root, 7); + insert (&root, 137); + insert (&root, 3); + insert (&root, 1117); + insert (&root, 42); + insert (&root, 13); + output (root); + return 0; +} diff --git a/20221219/tree-16.c b/20221219/tree-16.c new file mode 100644 index 0000000..be7163d --- /dev/null +++ b/20221219/tree-16.c @@ -0,0 +1,48 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +void insert (node **root, int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (*root == NULL) + *root = p; + else + { + if (content < (*root)->content) + insert (&(*root)->left, content); + else + insert (&(*root)->right, content); + } +} + +void output (node *root) +{ + if (root) + { + output (root->left); + printf ("%d\n", root->content); + output (root->right); + } +} + +int main (void) +{ + node *root = NULL; + insert (&root, 7); + insert (&root, 137); + insert (&root, 3); + insert (&root, 1117); + insert (&root, 42); + insert (&root, 13); + output (root); + return 0; +} diff --git a/20221219/tree-16a.cpp b/20221219/tree-16a.cpp new file mode 100644 index 0000000..e11b483 --- /dev/null +++ b/20221219/tree-16a.cpp @@ -0,0 +1,48 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +void insert (node *&root, int content) +{ + node *p = (node *) malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + if (root == NULL) + root = p; + else + { + if (content < root->content) + insert (root->left, content); + else + insert (root->right, content); + } +} + +void output (node *root) +{ + if (root) + { + output (root->left); + printf ("%d\n", root->content); + output (root->right); + } +} + +int main (void) +{ + node *root = NULL; + insert (root, 7); + insert (root, 137); + insert (root, 3); + insert (root, 1117); + insert (root, 42); + insert (root, 13); + output (root); + return 0; +} diff --git a/20221219/tree-3a.c b/20221219/tree-3a.c new file mode 100644 index 0000000..8031ec7 --- /dev/null +++ b/20221219/tree-3a.c @@ -0,0 +1,33 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +void insert (node *root, int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + root = p; +} + +void output (node *root) +{ + if (root) + printf ("%d\n", root->content); + else + printf ("root is NULL\n"); +} + +int main (void) +{ + node *root = NULL; + insert (root, 7); + output (root); + return 0; +} diff --git a/20221219/tree-3b.c b/20221219/tree-3b.c new file mode 100644 index 0000000..5b47c41 --- /dev/null +++ b/20221219/tree-3b.c @@ -0,0 +1,34 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *root = NULL; + +void insert (int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + root = p; +} + +void output (void) +{ + if (root) + printf ("%d\n", root->content); + else + printf ("root is NULL\n"); +} + +int main (void) +{ + insert (7); + output (); + return 0; +} diff --git a/20221219/tree-3c.c b/20221219/tree-3c.c new file mode 100644 index 0000000..63ffbaa --- /dev/null +++ b/20221219/tree-3c.c @@ -0,0 +1,33 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *left, *right; +} node; + +node *insert (node *root, int content) +{ + node *p = malloc (sizeof (node)); + p->content = content; + p->left = NULL; + p->right = NULL; + return p; +} + +void output (node *root) +{ + if (root) + printf ("%d\n", root->content); + else + printf ("root is NULL\n"); +} + +int main (void) +{ + node *root = NULL; + root = insert (root, 7); + output (root); + return 0; +} diff --git a/20230109/aufgabe-1.c b/20230109/aufgabe-1.c new file mode 100644 index 0000000..f26ce5d --- /dev/null +++ b/20230109/aufgabe-1.c @@ -0,0 +1,47 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *next; +} node; + +void output_list (node *first) +{ + for (node *p = first; p; p = p->next) + printf ("%d ", p->content); + printf ("\n"); +} + +void insert_into_list (node *what, node *where) +{ + what->next = where->next; + where->next = what; +} + +int main (void) +{ + node *element3 = malloc (sizeof (node)); + node *element7 = malloc (sizeof (node)); + node *element137 = malloc (sizeof (node)); + + element3->content = 3; + element7->content = 7; + element137->content = 137; + + node *first = element3; + element3->next = element7; + element7->next = element137; + element137->next = NULL; + + output_list (first); + + node *element5 = malloc (sizeof (node)); + element5->content = 5; + insert_into_list (element5, element3); + + output_list (first); + + return 0; +} diff --git a/20230109/aufgabe-3.c b/20230109/aufgabe-3.c new file mode 100644 index 0000000..5b0cb23 --- /dev/null +++ b/20230109/aufgabe-3.c @@ -0,0 +1,62 @@ +#include <gtk/gtk.h> + +#define WIDTH 320 +#define HEIGHT 240 + +double t = 0.0; +double dt = 0.2; + +int r = 5; + +double x = 10; +double y = 200; +double vx = 20; +double vy = -60; +double g = 9.81; + +gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data) +{ + GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 }; + + gdk_cairo_set_source_rgba (c, &blue); + cairo_arc (c, x, y, r, 0, 2 * G_PI); + cairo_fill (c); + + return FALSE; +} + +gboolean timer (GtkWidget *widget) +{ + t += dt; + x += vx * dt; + y += vy * dt; + vx = vx; + vy = 0.5 * g * (t * t); + if (y + r >= HEIGHT) + vy = -vy * 0.9; + if (x + r >= WIDTH) + vx = -vx * 0.9; + if (x - r <= 0) + vx = -vx * 0.9; + gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT); + g_timeout_add (50, (GSourceFunc) timer, widget); + return FALSE; +} + +int main (int argc, char **argv) +{ + gtk_init (&argc, &argv); + + GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_show (window); + gtk_window_set_title (GTK_WINDOW (window), "Hello"); + g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); + + GtkWidget *drawing_area = gtk_drawing_area_new (); + gtk_widget_show (drawing_area); + gtk_container_add (GTK_CONTAINER (window), drawing_area); + gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT); + + gtk_main (); + return 0; +} diff --git a/20230109/aufgabe-4.c b/20230109/aufgabe-4.c new file mode 100644 index 0000000..2bcd5e6 --- /dev/null +++ b/20230109/aufgabe-4.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + char buffer[100]; + fgets (buffer, 100, stdin); + for (char *p = buffer; *p; p++) + printf ("%02x", *p); + printf ("\n"); +} diff --git a/20230109/hp-musterloesung-20230109.pdf b/20230109/hp-musterloesung-20230109.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fecb1322d2d38ae43542bdc5fe222115f6503eba GIT binary patch literal 95651 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�T)_i6qHsc@~F#nqxZ?tia4=59#18htm}Z_ewP=4o;pQ`h-Cyt}dT zc5L>Z>O${_+ZrDh-jlswIcM9(^R?Y)<k`g||2{~arr&z|HG}5F9VRwElFOcLJo@0v z-<{QS3Jt~k3`;k=#eKRu`O8$v!}1G?rDOMoi@uAg)>d)Qyu5!Qn}|qp%DF7jqTskb zwRHQ44`(M?r+Tf}9sVva($u?BK{l}H{HB{c(@Xt4&2GJrzIfo&%omfN&)*wb{8ezS z>h{aYFQz4k<}B8{c_z78LDx}cmRI+iFSGB9b2smp@mNOL$C>l(^}J(3k955H3j)eQ zRhPWGxBP-|(79B;=Tq10IayfzFUetENb{N|{`y6Gy#g1@yEFG5Ow9i*tn4AOmgO#| zp<IS^Mx4B4sPxXcd*n~Y-*H}L^z6yeMM{$<J=mHpaQ0Pvp=8sQ>F?s-)_eKbWJv#T zv+5Sq33%f_qfGPekE^M>cYRB-Dc*LwGTltQX5E`?gGAr6tHUKX-7VR+>37n~*H@01 z?X~<N=6~;PclB#e?q+w1Z|@h{%dURtGijnn=d!EUSr?et9*A$PTOzIb=)vJjD_38= zkQ&<T%-C+XrDw5t<F}riX~lWB4^HFd)jqWA(7ZEZl4kC&cq`X$iw~a@SR1jif3K>+ z@qkUs*A_1Nd&g(N7W0Fb{Y(1HQm=g4!MmfW>fN=u=agK^-*f1zp8l|TrrP~2YHzpa ztrL@zx+>>u@3Cdk&Zewy(E`fN=S9>rd(_-hW-nNGV8X}CMS-QZVPQY|*DqgMy62?H zXR)(eULU@&@7;~Z=b~FmX6;RW)0E?<SthzK&|PY8Nv4h535T~q2g{=FNA@q-GG|5N z#oaG^%i|}MY?(BLC(dind;M9HbI)J*S-9=_qQ5_0zUY41ce%Jka(B+hM~nU6-mh2S z;JLo{p4xhojn6DzL}*=075U=-O0KVNlD3K9m$WG1^5knpKVtS(Nbi)}!D9BT|8>v~ z_3)p6OD0DutURhC{<8Yeu1ceVE0Slf#eJ*WF#FW&({IEbwN;ko@@Z_hoE}>K&*Ry~ zX{#S>TI%GW9LcPvD&t?Op!4pNpe<MKyg95AAs$_aGPepSu~o;tIlAYy^LnjKp|$<p zD*G<pd;Q2G>d_n9{2=?{YnE%}zD8eCW%roh_;HKPTlbh19}-RVXWiT#vBiAf&Ml{} z&gyZQc2R7~PM_NwIelyn@2}39y{~Sqt$C&1%=;e~=yLy?=IbA65I*T*#JtlEj@|XH zQqFr-of-qrOglf{`c#wm)Zeu^YR~puHpuJh4^Z?-QtUZe*(R*_uDo7mX36HIcPF$J zpFEcGyld_s*9pt)gJ$1oODcJ>^5of_+`o?Jd)7?ba$V20*}F(<?R`1N3pagQigrEt z8uL#_W@_xRDdtXgJ>{3g-k#jD^*CFI^_lbOIv--Z^rdU;kFI196qtC}P+e7Lt(4Kz z3#%U=<Kk4~`og&SSWIX5a^79b5=v}#-d5bKzy1B>;Ol|n`*K4%-yb===j!Q4(bcO< zOAT)P{_%=CO1ir)`0<O`CUbw^|5~i&!Shv*-{x?UpTh;Yc`DbtPev!MP<a02@~#yA zS9gzmu!zpvabNe4@``^KGZyvEQSM!FL3gXAZO8Kk`f~&2r=DH?ympHG8Seu<<%ZsK zKRyxVyme=8*}8)hgX)ZD#4Va&RIB*PG&y<Y$2-gRy-*Ai`cxEaclS-Dg#Y9n6(=>4 zZ@5LLv|RpNJ?;Cmrx78~{7pmqc#GfG*;M~IXYoXEj_|vXdy`BvzwgwkYulN}Ydp#7 z)5TAxe{#A+$oqU=WiFsGF`~d&Z%y^hXbzQ~(e`)F6qi>_X;k=Hd&j9_txo+`hoUKQ z+P9~ldv)=wEKirkG6R0$XDb(f(F=<X^=S%?<t{roPsjdU$!~5Zy;sfBOC6^ySQNck zeXZw~J?pNAFZk^dH*ec<V<XFqZ^kzLwOgOv$f;a2D|wOp@sy$j%bvZK{t7O_I~FYV zdfqO0P|dDd;AZOmtWcKD@@>CQtrqRG5kJKG^TXT7Cl%NA&n!6jNiKE9n%C<-&Htg( z@|pJ->)Sm+JKi#u6ds($_eE^2@!p{Pt2~A5-crWN4}v;Hw$E6d+Bn@@cIV9|trJyl zE<5++SLx2|n)7ex*^=5-S!XX!pS%9xoSskDA8r+Cj!w9pS;)VymjB(_qny(&*GjIG zou_dB-77~kflV8e^o~of_kJ+5`o-CcdR9fk8@j$PU;A+D^5TZet*0OVkjhV<-#qK& z?B+<Fu<{z_%=!CDzTU}JJekx{GpEerUf_}Tpb0;^r*Z|RFN;{lVVCQkEc4`@jA-X$ z9-AwjQhirzT4x)pOuhdn*FsWmQPC++2OGKNo8><<g=hWqUU=9w^L4-Poh6&3(~HYz zCoQqxbE0<B4M#!0#)HNAb&86yi)T43T9G52_{a2o<-go=Yw4+VMf<%JgWl)<KJ?)1 z28A%6N72(96&Eg3w(T_R<o#Sx-l-A8cl)T3+a%sAOHOt!@$-7<HvRVn$8;~<$uf<} zH@^C0vrV4KQRbMa|0!vQ{ztCY8y1{2bDetK=SVwmEa&die^SNnil5i4`sH)$-Kq)E zXFu%U@b%!4m*GOL<;x>p*=O!uTO@AGYrN!MZ~W$KjC`^=pSI>6=2GIl!4v=5B%@0; zM4;%tzx3S=4x(vuN@vQJ1mw)x>Bu}w>-fv{;>YBAXS=?fTgU!&^#du*=ecj<kG$o{ zY%}eju<~eO$kh`MX1zZBb@EF8GmCG2nywdYJX^PG$B|n%@6UZ|@m+b-y6{W2rjI4& zHEr2vm~;E7fh#NT`K2F~a|HZ9m~1Ip*~w`c{L~?IwWU1!CC5}#E1tSpTBgOp*4Oxr z-=swg-e+2Ap1W1+(^`(@3aoBBcYKwtOTYMJ9{262;>*0+m4{B=KX^W(StCI2)AZ<f z{u<HtZ{91OdH&(uGShq7cCQNUZ#bp}+&cNw_M4=tT1r?*O4rxL8`Yl}a~joe-gtJ0 zl0&n?yzRxk1x44ZpB*@5olzNa(SFXsb*gWF{nM(Hm7McvSAA`Q+tweqG~>&wUrFa3 z|K}G!U+KKTGJUg9u6<8!1J5h(=RQ@%XD%od^K;w%5(BZTX<ghW)5VrcYZfpr^>e*w zRq1OG&nzg{t-D%a=E<KD5v=drZ1ztID`Rrk>Z#N9RZH?Z`zb}tB64+apeN^EJLB?Q zp=)f|H+Jxq+FbiA#uwIoV&SL%WoMtPiOTYtS~%rXn<Q)ZghS;MJO6H;`dB|}nvS!o z7|ZboSN?7Btrnb{%-OTLXTc1&#fN^@^;+BC3p*pNe(wFzdm+DUmSjkFe`5W(FD3MQ z-!1{qWxv-5g)N%$=HhZayQeW5q;^T1f481Lir=>@Y3r@`+7ZTg!W$0UUthg{+et~| z)05T+U95{NEX_;J?kci=CUtc2F{4ehZacc#|Bx4PIaBWQ#EAXOtz|iDwKvYbz+Rp> z&F!o2>qyQk&*Iii`nu>U_o-POO}pHFsGWIH{`8n&i0X<f(q{L~1uiSDZBcn&a$fA> zC#xTOqEtGr+*rQphuP*U*USWi{ib-DHr~7<FSO)Qu4FuKj##Fa%h`7wPPgxG@i7jy zS;u^G$(n=rU+=c-+Y>rT+~mkrnV)K}mn<vjw~u=@i&6G?>FZz2Csn_M_MT!dy05X< zJFZ=`m}|v1kFVwdzAtyjR)*Y}`RT%h#dYex+d{ULEV`Y0<i{j;4ykoZIsD9W*<F6+ z*|P4mmCG*w9V4N%Tg3VScbLh8yk+OFGjC@#a@xIKg5#SY_tcCfS^nQz>>G>U@m<{@ zWMt;B`|I?du`#7CCPxc=&n-0k7n2+Oc=H5_tyeZxe*U$PE3v;~al?1nx2tpScXMd; zHaI@(Uzz4_w(sE_1OCUWg!yLciu2koznl`iSwCdmirWc)CKmc9E(*W<s%!%z;}4D< zo9(X@T%Nh*x|4m-Y02bcyJe&@8g_kX>|nT6mA2}rGILOmQ267QYuAbKUz+hS;JDj~ zP8RjEXLyV5G0CReO;bFV#l8A%SWvaV)biwubGckaU)j#(ih7tmb*7BO+7&1Me)*93 zQ)N$Vm+jU^eP3Rs{90|Bp)~#RgGpWaZMnJWYjf@`+GX1}r%|eU)fd&e;7iv+SEw_& z&rwqGR-JOM=;96`<trQcH7BQk`<NLu<&Ny5WoNdfpZk9Apg-@{-%Dx@e_a=^JI=6h z=artX{rXnoks;l|`P0@GS!C_zkCRR_GBvc~x3FHba;<Up`p)fYd~$Nh)fcXxT=Ol@ zIxPI{qz${@3r;?Ja(2YZtt(dj+q>X6w^Zr8ol8O$!!DOQtP#F$kP<A@b#9ZQQs$+H zY+Ii5^v;%#-}>g1>hz0gf=ivfRyS8_UVhU2CRu6!p^0icuHKqc&B>xM=hpP{WjV*$ z1k&pGm*uqnc^GaZc`8@h;>ttI=Z>GJo;iIreJ8tf)mmHWI?YO!Q=;d$z5lw~>Dro3 z=VNoPm&!l7nRYcVRcDvn{5XB#?;mESxxQU`?v4FN21~XZySEm0Z~4JuH2-`=Z_3<z zc6s*{Odn|;u5CZ}FsjjW)!V0gF85~4f26a$@l{(*YJg!~`9m`Y2i@RT8_n*YTdgJe zH+B16a~*3X=d*Vv=^o6uT)aoJePYUi@{6;|{w;Re!ymn&@1fIO>4nu>o-TX+d6Tc+ z6e-W+SN1qNJ#^>UaMaLr=gT7k$NdwZ^S^%gd2PDPoa!Q$@?9S$7Jre{*`{Us&F?_% zxfvNpC$0RvZnkWX);_)01wW&b|1NX7>U_k_^zp62vn)T3@*A1d-!b@jw5I0$A-;^b zAM3peB$aMGYoFxPpw0NbOZk}Rp_x-3Zdt*6-77Ep_mQ$Yzl!&+dbV(i2d86W`17jA zS5-@=+}>6*al+!77jtg<&T!8xczq`5_PyH&-}at=lD0xRUUCW_pQ`X9by<n^clD3V zW}Ni&qWSvupOb_tHFk<gDa>ek$M(F{Ur6k*zO5c7Z&;?P$>bM@^0!H6i8=d3PTw<U z*W~*z+9GvgKKAW>drflM`{K~K#$PwRJjg4!cDlsZwBNHB>eG*<T|2(di(ABPew6TD zsk4uE-k&#pmiM>(_1o&TUYuare}8o&yRXCS{PIV)s$@>b?tEImwWPT-tHi2mt<~S= zuS;IM)%}+<|DgP~33FpUiN~rKii!R;G|#c$|2p*Cx%{uYt~TvwOx#mzd%c`>+j3UU z<%;|j7d~fgjeh4|cc#d}eS-PTQ`=5T|H;lg-J$W_{XC06x#wRG?FXBl9o_ePqkq+j z<kVMTN6lx(RBmOvx%*T7gWT*}rx><fb<J73ZDnP&@%!C(4L9-5lb5!Sh@SVi)Vwq6 zOU(Y~-V^)gCbN7GxxD-4ha45|z&}U4l^3bqKUljw->-JUQuj`|t6G-LnU``!mMyn4 zE}e0yQG0p$>~$rUvT<CeXK_VsRpSz0x%B(f)SkCXqqp<y$aI_-I`e#w*>~pk@}g?0 zyd5WV3TicO_y;?yq{U}yXiXMR{`qRTNM-!2c!An=cQ5|@d!+WK>xce!p;yc9PnP-I zZOr~rOwWGq{|C!vR3xt2^U>(5oA~|h`e)8E=jxQ3F5@}kF<bqtgf_>^>mRnu`%E<0 zP(N=%{N)|zVmAr>-M4Szgqlfz?m4dVduOzIMf%i(y3U(t*WaDFNcVbGmFAuQMcJWd z%+H07KRgzA+j9a}Z}Y}g*EIOQYi+d-UHQuO;2zWZ*p1Ppx39i)j(NU=Z_}m8!o|me z?iVag+H$9Kp|VD0)v?c}ZwoDFvd3IfJGagImhVNQ>B*IMr#Hqg_&ocVmz459e`zV7 zlT2*!T8ol)W!OoSoh)A~Xnkp3eC4$HQx=IUw8|egy0WCwqGb91jfsA`D^Fcq`SjJ= z&&sbKrr5MaR~!k-bUFL){yS!`X>S**WXT;~H2s(CbLR6Fo4&N}db4ED`zy9dLbuY5 zUQ9h=vtjp6%cEiK*D7jy<Cm$2e=pLW%$RB;eaY*2?$=fG7I?O0C;qPV?hQ4tdClU_ z^7CEW(X4k3T~~PJWWOo#aYYpNq%Q5N>;5(GR>A%6jLXs@olpAiES#D<D|D{+qinWi zy2eaXFD;GfJ@;8{F^gh;tL*F0DOq!cm;E>vFCF)Ali30JC#gLS6|8eU3%JjIeMK{v zSL0FLdJ82p<-Yy>{A)kv%G%u#%=(qXS!LXJZ_f^c-%3fd9Tp2^On!J*NWLw7%3Jx< ziL*j3ONy@3a!)g<at@h$W0IzBP3f<IXFi*5-*|R>YTnF=;zH$DS(#R}XX!-#Iku8x zduxwct^J#_YMqrSR*$~=iMYtTI4k<KKvUhVdvfbMNzt@<RfSXETLd1dSyCiDZBBVb z!SW6Jl4fb$`Z+6Fy)ZFtvh}2v?QwdXOFEZpP1|rH=-GOEfznjg;$1v5-v8Y7+r5SD z$@c8t5b1y;B3^9PNp3N-;<laQ&Q<SuCn3PS?f&9wo2-ww7M9uk^ijTC^vl#VS@N&k z*1yM8azEVUoN0g1{mX9l2M75jKdoNTEwSp;vxA?wcg69Z50mp%tB+Z<_f?0#e^0uw zu(9L$b4Fhduhw0bzO*;WNA>0UHb1|Uw~FOAoedYteP!aOEz#lOBG<lk&#~U)DVw+S zZcE=+7G?bBmdWOn-0+-BjvfX_BTJ`?c6?USu#J1XsH@XEu4lutD~WDXx6b@2<|Xd7 z>GFbkUMH<rXy4oRw4aZY;iDZxforX<{h{wCs?H}HnYQNNean6E$x`XrhMFc3*Sg<o zPd~n*sAX&LcK`X8_Q?IXvwDxNh24T>>erlt5AMj^mU8KA^wLYwX?G=-UQl^u`u@_y za+hhV&wTCsl~NiWs<J1sw_(Yj;yY^&>&^>)bWgoo+%>D3*OBk#@qMkw=9?d$9uO3y zdT~}hhfAf?qeV()p{p2H^YH39hAw}zn$JD**D|kp&%Y=CylwJIGkWgsMI|leEa#YZ z&5{3X@G@4dYPS;8V_n0H%TKOtDbYGnF!M;joE4SIS98u^bcnBC+v)kaq|IuboW}ZD zCQ&S*5ef5KHvjN_rWz&DudwNW=aLq=nz~Id&Gxu_?QvW_v23<hXMads(mCbr7yM=g zyceEf<@fH~=8hGeJeRH&zP8!!v{d9go4T{=sv{ed@AW^JvL<ekSJ8#9Q@?BWcctBp z;tI}DN&UP{_89Z_k`q=DJLS5B^;`JvE}ij8pwHmN8rI0}9ShW34ou&4y`A-{_t{Tt zChwOP{{G(TD+9Y>)rGp9>5DTL9=-BOdfLnSlW$fm%4Pd1J^#c!wkjK;GV}enG@^C{ zzkD6`%ih?|V?VYTGjnV+W+o=^(@%{Q%#2OpC!-?In3)@!8WTNZRslH+mFdzF^QG)d zu3xC0e$Tq2L6L={g~j8ALg=h7YQ7WVL?_%^>OD~_l<}okK9kZ3aoc&-?|1&+f9?C) zHB<Lg&r44`|E4lcT|4K@FSnYmGLGmDEvCLl!cW+}7^jr>=&&?0C<M%q=MYg!NH%U; zlrUlcTb7(<0_7?qjMIPdw{5a!X>qzO*AS4gh>wZy!j}d{mR825q@bopK@JKI92`^r z%<d?d&Sb+->GYPt>JNi2i%gSBLa^J8Upt&-WddK+{;OjtXxhopG-=YKJ^Sx6cIgR} zYe=xLzi0^P6A=H>mmt8C(8A!Xs4>63<-wFfmxVD)Sy=Y$+4I9u&!etoce9MR{sHc; zA{Gg!2?FK*9kLI?Pcp<#;C|wt`G+NkA=zEyll}pY#QslAJDnLan0dI`4ou7t=iecF zM7H6cY{HU-ycddF5Byik{_pyL^^c`YgTnp?`w#v7_)nCB>;GFGre;CCbqYK9Mcy%N zXg{RDU>llSH^sb5oT2IVU!|r550+c<PdJ+nIc&=~^!|z?L#Qh=14rz``M)M4l&{d{ zI@#ZHsP3x92W_5TGeRGfo#GG|=a6Yt`7!lA^9pO09=me+M*Fj+ZOVHd)YY$lv#`MW zcYNxN${k!Y4lK-*6X<2Hx5yAaxIdRqK*T{rLsLyni=$x&qr$xe_r`c>iQhY%>YDeT zeIdp4Cq{4`Lv@Md1cnv1EPovzw6jz?F=&+Ydo<jyXZjx_$ic<*W<i3;0kKC6t-^n- zt#0vb{GZ+XZol;v=>$%f)BXYsf4=^@K3Oy>v5dpw%=7zS?(2#f7zJDo33~oB_|tv| zRn->r1O5IULI>0}*;qKZxVjjR9Cc-6{NJ;fzv<t}$M!X*5593UJc)m~=={s~Q*8fd zG<-haP{8<4(p$VSOpoQj&-{h<OkGR|Uzi{Kzxhu6?mz!S{%N23ul42sIghK%Y`=Sp z|GECCFPOkB^6YbaW7s-&E?ZVBjxRa~{?E>0`<Y!*s!$fdKmEU(X@J5P6OBW%7rLGa zi#%lS`jgtO6uR)9fOV|~*P9>Hv;J+G{b!cBgb3e7cZG%f^CY&23;c+es5)`r+>2<I z&S}r`Ihy7ztbezfiCy_k9q;T3D<l}6yyN?%=<r=?uMq1G&PB^F@jdz*eTIRt&Vs46 zjB!CW55o=RJDhc<VG;@qPK&bJl;&QnE%?LwZyR?P6HCs;^meg-_tg{}4zO~4clbA( zS)jnRTItP&=?qpZyJYuIs9(bVt)Se!d4FlkxxeqfzVBva`q<XM`7B)^;ibWH^Tb^7 zt6e2=HPY`3r-fTB64Lpl<Qn*9v;JS1t%b%{)$UG_yS;ap`Jb5jbviXk$L9A{|4+K| zJ21TLL(r@$Juc^^`MxhF=;wd<?Kz#f<szTsYXh}^Hd(!I6fQP2KG~?cP1SwV%`;bn zKjuALdwq86b=ebZ+b3Bwh&z0g)GU^g)e19Qp3MGvCadvluB;P}1T$rJ?oQp+zOn7( z4bx}F8FzLDMf033pKp44N6*5eN6T;itv%n`|9NZGsv~i&!50F4Wf?u^QRlr7pqiF# zret_ys>}H)r-OteGP+_8-JHHbu3P`_j8pIPePsl`tth_`%C~Rv_mm|E7mF!cDbK#V zx5OuZ^SsnQu?;Wcf`g_g=YK5@Q{ARz-LrY&mu9WRh&+BXQ)Pzb+a5peJtwkg$(K7$ z(!~oE*}i+O*zon)kG<W;H_q&Aatd3y$)L0GJgZmIF9WyhiPf81wP%Jfu<A;;?qi## zxA}6{@ej3e|MFRDFK`tvOZo9~`m*v|=evUK9M@{uR-Jsn^7-4Dx%b{4apS$XnLlOO z9j&AlQfnh!mh*<!`27i4keJ7}tuDKL))!~ilRFEiRRkwavPs?)nfz9_rzEz9d*$*j z$KWMLM9%$A<ykMTb<{2HRGZ1kWnL_d^J`@6_k2B&U_Nh4+S@+I@854<<J|VHoyn=< zTGUQiep&hHFN!i2xd<)bwdM?upQ5AI%zrd}TG7<HSuD2#rr1?Z$(H}E{O<O(%)gH7 zb|&RMagGS_dY<xNmhV9h=ii6_S^WC4{qb(ww=yfE@4fmuJ^e<z$TsJ!AZDFJ*9~25 z6&J;x9<5uYA$+=SLfP$1;d#~HJ8BQVEO&A|U7R`bYeM*I{ja;&*V&)CJ4KG+gr~)` zd0t%W_g>;mn*QamT8{~Djl&n;ra2rYaq>zg%+HS(Y{^%MXg`^)8}R&n#3sA!F16Kr zLyB!}UN4MalCg53_yw5{tn-saTUU7f`EW)2-<QY(G5&An_A4#goc90ZxoJ~pO5bf3 zn431ogL~rBNs~XQZK~=1@p58KaqU#+x7iC#r58T4UO(%!z^j#YEKTKm)iX8Nw_94> zw#oPtE$AYiK0R%h4^P`nEzRRct0m8V44$#v{zmY%ONl<K%&+t_Z9QqgE6W;hyz1Ev zInn)6+z&b%1U2I$7`wXd%8DPgUaY?5uk2L$=J>nR*Kgh!US*qe_{qzIcf2R+{9eC? znOEC<?Wx#9*FEhWybo<T^_5Ni@eI><NA}FD`kegwp1Jd;`DQCLjbHYho4EK3BR}i8 z-%mB(O%&={X|1Ne`R||W`)Z9j7&!A+Ogpq8$l6b3&qnQ+1>EX^p0Conmfl?-wlsUD zxX<)s^+KB4c>>#JDP_&C|B`d^rthTp>wFU@`JG%hQTCt8ap`OO!-6h;>{$A!+Bxgl zUCzUMZ_jHxwX)dt#!WVU8P1H3<svy1#cV6uH+$ZidvaxR?%TxZE-CR}*JeE3DjD~A zrpVDUspePv&dqsH{4n6XJZI0v=7YQ4oYj6wZT(gkwK(<t#4Y}u-|t6<Y<>Ec^G#LR z(f-J1rvGOo=Uhs=d^-5X$pC&{f3@k6m!5ZA){*!p@nWXM+1ux%jz7u>TBKYbwOe`r zq&KH*h1K49+Ej;sTf9%fD8aW^C30bax#yK%0T!mGDi((w+NUbx@H#m_M)1~}<Dy~i zA)F%fZ_P<juIrLt<`z*gGv!6JLt#<U|Eu~*cV@k5e7rn(=GU72Jw2gIuRMG^v*Gmi zzn?8V6s!533eR79HEVX`_2BiQYYy}Xoir_oDm3p4m~}QfYGSz3xvEX&-|NCO&dgw# z<Yj-bLj0?s*7<4g@~o2UPCQT(J6?QvQ%u6Ko3{INWaj=h`pR)pD#`ZrtrK#a3yX4G z)fl~d<MUn2Hn+Eya;mIZ7gd~UB%S|-t+B(;AYAMF^W)j!E1GZjMtoZGc>j{P%7|nM zS3!*~x%3Xrlap%Cd~c~gV-R<^da7W&@wH>0N*?X$IpoFg+%`U;A^wTW{{>F(LZr?c z|MJoJxc0S?LB<tPyB~#X^Im=45^p&%FOuU}qq6j;>YvvS%P_coe$$nwSbE}@+tQbZ ze!XzWP+y^Q`PG;1KPLK$&+cv1)#9Hv=beYvw2H;zFK^}sHzoflT@q$=kRzdY>Hgz6 z532g^Pjx82_eQVm-Zj<OklzMxz0?2idM>kgiSa`INSV^TRg?Nxo4jp4c+=EjlknMj z3Ey^HS(rE@^l8$xwd-eXvf+;Iuus`|qWh<}@2%>MHy$cE|J7eJyZ3C6`CIuNY_}hW zygOg3x#{tWH#c7_d7Pc6P@~?W=y07q!McmPW5)X>-7|leOuvx&BlGHE?OXS1a+5kY zZeRX+<AaBje;KkowMk1YnYOL!V!PN{|K;kumN75y7u+qXNV9L!tqJ;lZ@bvjw7W_R zHe8hK+*x;Kc|bR}iuuu<%N|>tm0K-ouk9>3l}~Kajg$J<W&|e&7qmsS*uAwazh=66 zd&TbMR_dQ!H5Zt@U0wY4xZIu8!?x#IUm9jFv@{D+SoY}Z*LB_z+HPkwPKM9e@2!#a z>Tcdlj^2ZA+*em`u$eC|^6%tF?s+~>*lqlUxQZpKgF{{&ER?@@CRz36m-lD5_E;q^ zxaWA*_UNvl_LR2sueGn&e!X({eo~+?w}Q?+)mz8Up53@g{7mqk*&oc*T94PSo>jc} zX34J%%c!+mgw*5~rTVA4z1;m|UiN17-_E^9`xnQgSlo$W4>)tPa=rRiwLcBV!XE_Z z9^UhQN!j_s2LGR}VBaqB+x3UXzV!^D-(sW}Wy(v%n$6YVTjLV)$o1O3=!G-0gJS$M z-(|TUw90b3y8g3{VNdhkiHog%^7wyUyyJD8lS1mpqu-9oO2nPx7W^)ue}#4Dk&j-F z7wT+$Y|E~=#-VNJ{DY;Uw#z<U@GJVHaeuOI=Rdpu=aejWORLL2K6B&2ysF^ojc1>0 zo8+k~^PO@w=~VAzFV2rP%J=+rFYm5FUq~F6$O~87OwTvo{QF~@5+2;E)|0&a-p*|8 zM;-o$A*q{|m%2TCJLUSJ{`1|R|1}*C+feoFtYBilo7kJiZ;c0?bsj$W%vNh>@o3B2 z9dn)2?kuX6WIwcBTcf~HX0o=N%;B|4RsVO!9tl)b(mQ+JYiCT~SM_OH`_?mmu23mw zT*R9EYFqFZcDuXs2dm$A-`npb<9+0NW~HQs&aqu-#oSTB0_`8pySVR@czbW9;uW*r zs-j=-p1nHM+9AXyrMf9;@tvpXnssw7M5TScwLs8I-edQ>U*Fc~_Z4!8i_dJ)e04Zq zPO9J4{^vi_>lf8(_Z8lgbNe`R?t-wqeZ{UvJ+@p<N^rH4la+Z<y*=iw>0z$P(ILry z_*R@b^FVuc{*5cPXU)$RKWp9c^X?%HUipN4cSiefSN^WBJN@K$E6+mycdKhSJc~-# z20dM;@i%Pqly{X6)|sc8bBVX#*HoE(WYct>r|TBoHl6<K+D29L3)3`@{;l(zeNgUm ztxjlvijcL&NzYmB2m4ovN;IA~-M3)IlMBIXkM5PtS$DPf=fy3Jhs*yxJlUaim`U8O z=6}u`zqeZoqq!pe-440Gy_lMGc5d_I_1E|pEWJMMXnT;yO!4`%T6WFs*O>03r1y8T z!KHVPYs5`?Z*QD$(0Q-yGC!Zi{#jq9@9jM4@_*h-v8$i2zd!i1>C6-xt;8Pgi2EMT z)Dj*P7KHLVTKnwnq_5?x1cX$B<#+_o|1$HPQ8FPc^nXp?Jd+9kS2tv7%HB=*Y+zu| zn>u6fC86Gv=bhfODwZr+`cmZ@e-&rs{K7)pd)Ip$u4sl_U$cz${tcNtZ9g`y>1(6{ zYTt$=nb_7Is?u0F>Aut42P)nl&UncMe0<tE|N2`kX`#S}pOvoGwy!)FHBsD4GXC1; zGEr~s6XCb+-s_R&n{1%FKX#VD%HzFhJsLg|_r+`0=GVVxu6xS)z9%q#-Hn$~w{w3@ zf7hxyt+P9JUcbHYwyW3wbnLCZCHbOu-Lb04-r`|fY>&xLxNcLGuCjFFmv_rI@?HHd zsrlg5tTRUhZdR|~^=9V#dr6Pv^7Nk{7rgQ5(92$<DH#t#X3Vdj_R^arFDv}T#nkHs zmGd@7D5RhJb52#X$YhBD*J3rZ-H9_zLc{(SeRO)%{Q2(7Be#w0#Bc7Bb6FsA=k20P z-|YT9`p4`uB`-EGU&ZGIZ|3C9i`qh2uE);ho^*h1@t?EO-CHUvY;!$y`25`dm{e<S zFO@m$pmba`g0VT}>pjux#|!qK`IHg=@bhQBW1P44W__Cd_Gi&N5rdDb7qHFTqi!do zx7%YT&*b$7C#^eUCObowEtmWLHOsEj%~xLWh2<?jEtvdm>c0BdDWUFs_JU^9FQ555 zb$<N@ah288AHRg{)}7O#c<ub#b!%Cd%becB@_l-`Z1elM-nA|I0;?~IOU!3*R1bWW zeb?n9|DLef`fIqFIc~ocT2b~U?$=6{Kwi<WHlMlXEss2@@Hl;`QS8m4C9bLSe_Cy} zvfdok`6eVVQNHQz>`!{DJ));>JbOu`uid|nW4}f9yHhO2E2?JZY?vw7n!7v5OZ7oj z(dvIsRQDEcif(_^!m{n``ApYMOZ<NDwH{=@GrLB7t%ZGAeCEuT=Vaz2On+?Zz2e6S ziPF1%Wd{Y>&A)D)T{+>S?hiw+wmhq2KO-3Y_xYS?ZPQM#IP-7I&Mf`XRMY>5p4&Z- zx|+O=b$^l7C81|#%*S#V6|9SH?*4hD&U<Ck@}gURZ#JI#)To-3bkNbi+wR(ehOd*p z_Ufp<eLmr4&d*$H)<gsGl~W5WbEQ6hGx=-6CcWLS!K#)&_t^DCGMTBno2Gub-TZFd zTa&9zQ~a*)T$QqA$=rz#mV2;;yqYI<{O77qi?@h{>%9q&Nw=`yoIAtl<folk%PeQ> zZ|-{a{>6(e0#~lL3GVz_y~#X;cdoX6KF8}MlMH*8YgLl3tAD5lDc_Ddwo3m?@w|^8 z_Ev;WOaJtyviFtwWbWE&VQVjbD45r^&9j@Y!=lw@LzD4W9{wzM_vtHR)!#no(Z1<= zE_30*=>p8ve}3KG_vLZss<pmH3vEhQ?z*lYu5(2)hjsGn@aU`Te`f7*V&_?_t7eqh zQOOy%Y1OnkkKlTP`W!Fq_f<WwjX&<08C2it8@kPON%ewwO{V8L|8)F)v;FRG{MMN_ zH&uAsu?c6(QYIMPTWGlT{iP+g|HSs435oJL6Z&E8aitgesiFrZefze(p6Yt-IAhxn z3l+s3+>QNS%_qW2Tj#v}?5NJc?_2m#ym86x(&O{AZ_i!c7$tx9&!*C4(^{UUKTbYf z(zkY>_sokP!ILVDRBcp!_vh}@s<rm%)a0~Zb!3jxy!d)o=P0}BH+L8a9jIR}=()GM zG%acCKPwZ@vO_k%p3i-)a&g!8i;nLctu!p<Z>}nMw>2R;bxoi8HJ7(5?5teB&$5wl zKkOP``0DD(weHKG7w>HTa_is>>xGrSPQH1hA;S4=X8Wx5Tc$OiICRoQXK~45cJb5K zqh6l&cUzfxci!8>?cw*Q%)fG~JgaRRm&(db9Wy_KGe6x{VBlYAmnrGf%9t6^woFSc zrM#(sLj3e^PJ0Dsg=ueodPX@eJgKVt599fwrU2{1jf+y+e=b{nICZPd)D+j=sq62> z8Fsi|pQYez6n}oo*WWq0JYUrwOFciP(H*yPr}dgy557$5>f3P4-KIbB`})51?|Y6_ zPujI2Y@eO_#LqReHP&;vA1_XxdHJQ@DwUF4Nrw`XY5exLPH&Rh`pWo#jN$I@A^Ca} z%`UahuwSO|?yBOxg{jByek^HO*K_%=@1FTGiqU&>o7QVQ>$va5ZZJ{Cu6Bv=4<?(# znx^cX>nGY*OYL*}XyDuusC`M1Y4@7<-ihTm#W-7?e6|&)awW`SE;)AS+WM#eZ#ZZ_ zDE_y5YjQvP!<#1qk1(pgalF1)XwskS#;R+hw{4l{l`zj?s-IltA;*i4Jj!M~Sy{Px z-yMrP4@KggOTE4JNl!JJ-jJNK$ein)dYMpA*+!jTF$>l8#NXtUy^NU>f343lC+?`= zueA9KXIRZ{SrvV3$&<5d-nnz;w#>ck{zPY^L1v3g;;~w*TZ^}FinLd*lAWs3-&JvT z;X5n7xVG4ymiYNs3wyjjb2oC#vi|G7#B%NC!VuT8E%Qvy>lhp^)VXx7&Ztr`M$>P9 znnC)CFR%6sgim$9BmKJclKR9L+q$EZu0EZxM&z$j+Lrvddi!@FQ73OH#I4tf{86pG z{gUj%TLJtP+G5#{H@Vq={N}r^SB~$=^T+%wJ}=kgPnU0J`QRBO$?-)j_r(>brlKd$ zcd@Z;S6}@)-*D19t98kduHv`l${xkn=iXhn;ilN6nL8@xUpwFIyQ_QAd%gABWKOT^ zTypWu@5p7#15PZPyh3o(m#G|~G4{_pg{AENc5I70P?o#sdBpLMsaYHvRmP_tui2=W zqNbTXUo7Anhl1?>7r7RqZmuRFceXsSoZ2q_{m14hS90gQQ$Hi{gpVgG$T!p7`dQMk z$O*w$i_R*#9G$yzTD{u+bnYXe{#7jpqhH#-s_$CkRP|nT<?|COvL>!w>we~L-Tvnh zMazFKyzyi2atXaX-okxuHEH}OA9rqaGksrZ5;mXz<g|75pDx|42;^>>>g~EQ?nS5G z>-FuGUvKoduVh#}bL+I0#mCws*O;sAv)=J{3d^+{tG^U`?cQ|apUfuq^Pkc!S1W#B zHnqLH>H4CNU-!wswNaBlq+RIi^*uXE@2bG=)pM4WuI*8M5c>B}tI+mGmnU3gzjmF? zUP67!R{zibLbF%wy}b8>eYuFSO=xb^sa<FNzO<<3#HvQVtKCuG{3SVOlAY6e`5bW{ z?$Be?svk(otZo+INHgiaRV*B}{KiwRIR^7zI8Ryrean>gxsFO(k2}jtpE5sIrgQQs z>o%L{*s6zN#T&HVpO;CBJD#2NEPslpwS0!*tB03LTyLZoT4_{7-V~pm##0`h$8LAC zQ!wQ3zo{2zxdh(WEL5Kms(-q8Q`bJn7t_=g8{a=|E4+N^sX;;A#7p1)MPAcAtrI_g z<C4s<oQ{O2?$0wXJ}+zQ+TCyYd!E)0)f4x=8BTs}(-Sj&x6hhep8{{Z*_~+?x%0^H zztf%icYR^Fq5n4EnET1FJv_(Gypz3OR1v*U=h0zDExGxza^H@Z^?!ZqE^+t0p?Tyb z=JS>|-`fAIobl9->p#P_qxarsYHyfVH@B!i+p78e`au1CJEQWS1$A86uw{4Ok>7Wx z%i1jSXtvuEtgqVs@yOL}*^6Iao1-)BW>Lhnw-0BoFDdrj)pq`i^3<ERV-MdBT=#D2 zIjfdlE(@-^0^hdlw+3HMv~>>DSp4~HoLSog+jaU(>)M#by+7xlj(o>?wOU}wYKKWK z`W02rS5H*s@3+kOsF6L(d*9Ofdz*SqDx9mUB63-j&zHWkW>&dy;n$<8O9>P7Sl8Mm zK3;y|Q|%J(nc}kBO1GBzt=-gndN-S)=q#1VS9f+Vc(CXR_ca#&8FhM7W-T$DDLyM> zlC((AoZ9JUoGxW1T>E4c^8VLtmqi@g=e_S2t1GzNDQvOyP}AS6pO^34k#PO<Zrhta zi^{H}dwX_m?k;b?y{Bu@2gTmht1m(tbAGO#_@YNtNn2pje!uVsZ93Lh<7@N;msLl; z-0*n+vQ_#AXPB-3c0{7%dfWNB*DVVdPdIz}LFJsMbKh`IU;Ik*&HLT6Q&aAqv}x;T zWn+Hnz3lhS>ufUnHaA|;Vo$EiQ3~8qo^xfL+vcYe=9|UaT=_QT^||77@%`psznxwF z{C>yAEgjqre~OpfWiknoxX5kyL@|Qt?V`{n$sc}7Z(k6)o^kuN@>vddrabzaxO&gd zjhV02>JBZ}UworjOt#fO{Hf;01DCaL_0OB=YFo2=YHj<>xa4x}eecd@hpxSw|FB<- z)mchCQ{c_PO`B`>#Wfy!ys^7G>}^DI=pPl)5ArVV>teTaF56(UIN_UMOuy73?<GF> zdn9H&FINmQI?v3gblHb>%IB1e%hVn3#4cH+_O7qbF1(thTB@Sl_Z$D34|<z;9=o`O z&f3?$W=~0r)t<5^dl!c}%;7Vs%MIRefoY9)d2=Vr#_ODtCQtHazPsd>^J8xQt6lFs zgC8?Bi-&e^FNpn76vxDqS8%`jb5N!CtPn$^-k^N{`;))O+;FtBlKr>fr<h)OP%!`I zw^h|!AEo_`a9jFq^#aeCe%3EC-YD*^lGRo^&r*>&BU9i~%i(oCi}h|DdS6hyw{W(- zUA%qK=DCalRX^TtdYO7~^4zP_ZXT7?Y);%8K6PE9%*lP%e;n|)dvfv+Pg(QjZOS|O zvge(bDBFI`=5_Ik`1hAC-%Szy67#^F?Y?^1x6b>@1wM|k)At_<{O8HoyX5~Y{`>Na z_bgI;FB&oBd2!}O=~d|#$D(+T@c&W#w4rrdzPHn=wkLAau1mxxvg+(9`f|$otyXTy zk#y%zK23|hzS@#qD{+5K^J0g&j~#CwyDYlQ<>7>#Zl^9MO|P2vwC~QwRf5tEX>XGB zk5_PNFI@h5UsCS$?$E_gRv-Q)l^*TzWOJ?AVUOi6k6u-=Y)<epo^Y1!BfH<L3v0h` zcE7XmrIx$!xhQ6(H@7c}%-25L`GLbl{M`u+qcum=&)#}f;B`0ae9hht&$^TERy(9m z5ql;o&3dXeHLER$Cz9K-X}vJljcF?TSG=D1b<O$Hymgo4zTVunV8>tk<ZK5mY!jxI z*d|QP42@u$3XK%ZEsd~Fm|B>dm=il;x;8vDWX|nLuEKY8Bc!+m<}5g<y2JY5(nhyg z%XVLUz~bMO{o#SYox8EkyV=`Wc<ofm?^SPpcjnK`O8cs{??bNM+`78#YUFCkj4LKL zRdi&}HX8LMSV)UoKhJL9I&tuh<gzy$VM&)6qO6(adiO~1@B{@ckd%4CG0m)*Ii9(s zaT-JB0@jAv(g##EG&&A4OekvE;p}+Ltbk$iwl+OuZtmCnb@n?mJbU;5gU!8`#x(~U z#QWv-9ID+rm<4$1TYlKbUtwWlERa?>z?H(!;<0ko%hRh*FwIB_-NLxZ!9XA@jX$8+ zY&&}-!xRTG2LqlHJR6EynBM%iV$hK}IBmiGr3Y`wZ&XQOFlOLk+QMKP$Gj_&L2-ZV z8U_x5R}4)D<@PfwNF0#LVr#Si#_*1Vp;7nET-|!%iY?KW{}fpot?b+^Y<|fdydslW zFoRWurIA@~^D58Ne~t?0CA0mXE6r9_!Ys2^PFYu0cTWBEFUP-ge16e7yYYYlgUk!I z|8q~vaBN^XsPHZAUH?w`g9-r`<fYCT2;BG;&lABIuwbj?l}mCQ&9;YZlK#ItxBnH( zpXsm8DhO16x8E-N-{tRQW)42)ThSYn3kvO@ZE3K7wvDaP(4vmN%jU)@!2?HsPQQCe z@)Q4jZh>FR9ewtvxBZ;hGIOc&jeD{QoLde(2q<i^U&dna_kKv)|L>iD@+bVbuk>NR z>%IT;chp~hv0vxo|ML0&`E(!W<gZV9_Q8Uo-qxVuxcD)_1uQ@Q9=kEy@qhG=nan5d z{jJ~e;k!fZgLswy;xd&xZYCS69JtosRIsV|Un<MN6o)(qZ&QIghu9KQ)BfLBX<wGR zK~*4&pNUys^zUUK25E8i=l5%(%oMn-KfJ&8`QKBfCf)yj{{olTU$HFNS~A6CO2of^ z%l>r+RbP=?_mr<v<=gzF8rD(&K7WvQ4!U%a_e0;?Lgt%0;y*I~kQ3%AD6IU;fAimg zg1@iV<gm3j-C<zsS1m63tNF*i{=b#vU*2cDHx6C=^nFdnp|c03^*{dVe>i`8tFg$h z6|d&^*6aL`e{SE*$Fhr2*WlSQS>2X<x7F(Wnx;=&_MOL5x@1eC;&&FOPg+|yZLaZ_ ziLMoL4rA^1$@gZyx!Nu6{`KAdZyn#6iN@u9-8%7x@wQ{k{YIL5U(C3@`NQ-$lTVv- zeilnSPgH;Vx~`(!X62TqPt*E?)3b9uVh>w<|HgUM<FU5Jt&ggk_2+s|(--{9%5wa+ z(n6)C9h~dA8W+4deeYlQjJc<|kFEQ6Z{E9W^H;o`Euxbt_=3kNZOOgDYLkrx<-so^ zmmal!wUvAS>sb@37~%|#e%IyPWnXXi<8$)gyv|qU8bY>;|NcapZcE|ueEiBTGxh`1 z*%G05|K|AIe}38M>KSF(&^h+)jB3Z9zX*N7v**m}ty2S(7K;{#Toc(6l`XjM=vx0p zc|T|8J+zU2khOB#OM`u18M1cieLS~zKJS(yvGx3Or0s4k|GDL?^0Y-eXPs90y(oRY zSb_JPIa-e5aWiw3w=uF7?bQ3!o^pD1xJ~qBrJ3rM`?TEtEs9AAv`Tm74`QvV`egO< zlXOxPQ^S$j7v@P8g(*MDQ?hH>sJe2=5sTeNezY$;7B&ByRJL%|$p#N4*EGBL`CqCt z)m}9(vRU~!Ws=V4hugGYFOe*15X)F}<BO?mcF7B|&1T9{cj8W_x_))fZ}ksO%jut0 zD&uuKS999Zf;Z7@-Oe{3Iy4^k?7X&khAU^V=c%2K-#6dc{AB)$Yr9gu^;#GG-eSH~ zcn6=Wk@ff4E%^<za;FPgKdgShy6DZKtQYs<rtr3w?|SQP!cyuj_vV|6;qzUKawnU) z-HhhbVP1E2^`8onJu4Nn-`nW>aH&audi8$l(H}JruY5}SrM2>e-Kv|h_g0I&YTooD z{q4tX@vc`@dlaJYrEd00`_}t;t68lohoR&94aTXNtL6pVOo-K3Gb?=RtD9FdriW_E zMz>YIx%PC1ZSAwiw_2O>r#sEOdS(3~9{#;oCsdnvUXEA)rQIRYKCdKV!p6ThBOdUV z_No4I+?O@$!R)Vxo@HqG&zf}j+{9V^zo#GSNR;)N_*r?fb^V5vL%ma8tlYaP>&uM& zQy$xWmWsBzyS@MVnblThv0AsX^p?r0+-qOv6u)c%<FsRpcPH(1Zqq(;=6TSPf859O z+}UMM9XV>RFuykQ$lS|)Id)nCEx~i&$OkU=Ul-^#VfCUtAL<;AS$1<Ymu-B)A*k7w znSawXVWm>~>Ln?TV)4=P0m&7j3~Qded+^jh_GPI-k+=APzmF>3Pp?hq?0CF4R9$nr z&vJ9lz{y|NZ9TaBkHfSY>xv7v&4p_j_F8OjcqMt1{bce>jmedQ|D)yPbE@>7O8+a6 zXE9otzq|FQ#MFTNzw@W{ES#yQ=CQGBevZ)F@YPY#ELFm5XC0dwv3TiYiCN8;WwU12 z<|aoUF!wQd*gNI&iJOa3TZ`rv?{}Id%e%1eL7R2X(pOnOXFaLA%50XGUMo3y_6fJU zZK8Y9C(ba|HrS}XCiCsTq)B@=zD=oQVO=2jlXDrH4%gEzR>j1--anQflzkb<)_%lU z)wxG}D^LFC2!?>wX_HOa*!)u(=Wl0F`CRoT_U@BMy7BV&%(a@z>%LswYF{>4{M=I8 zv=5t&`XnA@uPK?XXVg}d<e%A^xjT?0vS#|9rqoqGwD+sBo3}eY5tG_(w0~Lgr`ifF zM@zOZGc8(ps;?Cu|Flvy_;Q)L8();b!x^sgY?r4m?=tNQNSKzl<KrX^7qKprBXf)V z-l{KoayxuRFW+9V*p>5T^c`<a3Vn9<{QnDf&ZZ~N@7rzgdg)JZyV-{75}oOX({|c! z&&y)<OPo>Yo>svdBe?Q%_AZmY$7<z|E`2(-biS&oj;Q$axP_8uuEjF!N}BklkXOvU z)arn3+|||nQ+xhZIrZfKiz)V6+Vbb+>HN(%w#?sOuxD!}`}}-)&b8_jUs>{R3z>G_ z=}6G|bvOCl=U2r0)Sq?M?Kl~<nQQfgglki6R|~v!;@f3xzU<!3%iAO-XY%#R2pmqi zmRTp*Ql?$(8=#`j)|)e(xwYtiZ06@Sw=+d9JF3M#efu<j-H{)QcvdX2o#QdHed@Jc z3bA+AU15FB?OpbGQSEl)>UBq#UWwk&I43&Z>7Q&^QScF&j37&Cub*qyY@L!65<ge5 ztJ$IZub#bQyiFfR%YD~XaoY9^B-$PA0%fhHwH5q7VyZgplKzz!tHt;9^{jP!CsruA z|LqgYf(IU=6MIhctw_CRxMyqrY+;r+)8_A<x>{T|Y`*vNBb>ZneJ)2FFYz(C>E69~ z>G#DFk}K1AZ*AE0<j$V=J`<-#9QwYz(`n@b&l}DQ*JWLElvycRoZq7O=uF%51)mtE zKRNQFE5~!vmCtvNu}c}W>wS_^u9<u6-po@hCxyQK+VwEZr9?mb!hQ9<cjUIb^2{yd zo@FVrxKhy~Y4YMgjcTbCXI51A)djtq#8sB};yQC_gT6}86pn41lQ<XuQCb`I<NS9v z@xx90N#Y{XtEau45-0E3ar&}eRug+nC5NDJ?uYDZ$4BB?{9NWwE9ME_-~E>HS#Ims zJIuO9JT(E|c4#kXJ}t25#TB-m@X5^Dk|Ap*N>8$`dw6!8nmy;SNwur4SuM~$vCYnG zLF20>{`-F~(D0nI>^)nkTk~a!6XM*HUvoPKIt5Cp@0E~E>9t%n|M2JN8@&^9?s5CR zQZ7m|xv+2FzMGvIPcHHsu%(N(@mo&W+@m9>*Y>im?M{hwu2;*{$zNZEPN?vfxO9S} z|9te;17}xwo4zebn-};Y+V@fP?hE&}vL1|>b?%O2`j=1Nw#URRQh(ARc5K?4+Y5G| z+%(~Fma|vDwIi)ZA}uSjvnGTw3f`>R+u@<|Y=KhrQ+A8Z-A$qIOHTSRCDm+D-F@Nw z+0BQhC0hm0HnMvgw@K;i)0&g%#(ojfYd!v4XZzH8N@DMq`5LP~mOM4z&~d%(=bW%d zR|J+G3EP-#qQp0;U63V7$h!Yi+s@o$2f8&sp8v^FqP}vSXPlOPabVttZH9AGszXxq znvYw0&f`!$yJh91%AFPZ>{1yCYf>six0gt6Niv+Xa!rz>(u;gm=F3w~t}@Usb@Jn9 zwYVuai|_Qc>H6K}k68Au^I!Yw@9FKrvC4ZlGv*swFWvH3*ghz#`?lW)Z{PENR}}xv zdF$XTnO%1}+rZOfK~%z(`N>63%NoR<yY_CI^3(0{lx2yz;<Z^(jpg6J1XccFby{es z6Yk;M`jF+=?A<@RAN1bQ4$OMoBq=8JUFgsHMa!2=YdOEqSYVIDTeHU-XB@x4Z&GjR zYx#_8%e_6fb)?Qb-4eF+?WaYt%U!K?s?T}4zgS_xIkAYNyfd?@rY4W^{D!3x*VMmt z-bg8k7SZ{n6Yw=8;#PU~{VDt++AAKWUW*kyD`jlIajIFt%L}#UujLGv`&d_KsDEoN zyBr;R{U_)2cdJ#iPBn&e&uI=`(S7B0rq4Gu|B0`{)}Oy-+&s%;#kZQJhn(a8oiezb zAC#Jr`G+x=r}=bB%o2|N*F5ScnJjvKFWI|5U~zKvEG=pEi6Kj#yjEw<*lZ}5Gk?jp zD`IO7->C~}&769%`&{Ht$;mb+K6qWaJ>AczVLIbei`{#cgjMMqt+>3=&fDhQ|H%C1 zZ0R@F{VkTTRm=?gW4Go(7srbkS7bNm->tZk?xCc!Y>oQAn`$iq6N5HS;W-(;BE;HJ z{Bg7FvL?f2#{QMn_tyEiSSNjtIX^A*psu4s^r{yD_rf)npPby35cE{O*s@$xCRi|2 zN8RG>!mwR?PRLt*>eX=->^?6PJ!$8sOGRdBNA8q$^FRK%o7H=g-LG|Xjkh%lmn8E_ zHmp0bbuyC=+r@Z^9iNVVy!d0L@vV!;e(d^kF7o+IZrj4`O}hg`_gpVMd;G>a!5J@C zTsPy``J?XYA}RAag=|MryGsX)GiwhiW{Z|aczCD>#5QyK+g{b#Yg4^F<(mK0tsBgR zlq{29&*?F{d+>(mv42%fOXoB+EWZ_=tFit^@$7}}3OCK_I6i*3w<*?1O;_%{)k!5Q zkD32C_kR4n*;9Sy!&lpuO@DjRQ6iR8ltm#oS5WGz{$2Y!B^ht-_t|kCwU?7#yW!!N zK&kiJ9;@(pYrJ}LJZy{pTJ3#j4qcu*ZJ$D9;?B)I%1`A|w>e*RvI+dU<J={~rQy@B z&sDDq{nLB-{IloPS~^Kzk9a+kmYld?W7V~Q^$m;I#BG|{^UI&@@`{d0%sbNX?Vr`< zsE?CZt-S7N6<V!3r*P?)v^f=f7TkTjv}wJIq{F++2OF2WUO92$>Xx6nyZ3E9vGLsN z=EkrULcdPzySO5G)?GW-AE%ccxy2e<`Zs4woPI;@_9!c_sFHhLJP(x)u8J~YTPUe? z|I4hrS2iy<tlgO`HkozJ@i^BxrP<r+Hw#U;eR}up=>dw@q7DBioHKv(ODp5>p97oU zsT4QZL`$5LzLj3%dtkEbbmQZHnAhBX$fM-Zy8Yq$$|EyPo~pMM86B!CnYL?f)t%7v zQ=BYYa#S^BDg*cru)cU!CHqI@80+Jb4cC+6=U?*fR@S*Rv;LG&jr+0>T_25h=Dy9i z(0^6CJn>hZ7_WSLkKhU8d$(OHr*H&295``H|98~=;`KkDh=;N=cCB7J`C^uPOJrqv z<=GG4PFQj)-IQ(Shze`T+Otsqm*<{|x%JgM)Ad$-UbOwYwVkWU!h+p4W=nG2PaMph zyyo+D?|)@eH&=5W?>JSpNpEdhY{f%f=a7<<6{qe>KG(N%-gEE$bH5$DHcBeaa#=60 zY+Rn}rZ0XaOVO=TV^P{XtxV5pUaP$YgPf~8T6C|jJR&^f!i(Jvv)+C<;E-K4Dfmnd zqv_+lot@V<lveN5p3iET=r}iY@tORElPBbDOxqxFg=?{+`^T^)tFI+Kc-q#x`1;mA z`dxRpX1!j;?k-y)AMeIjR-tTtPXA=?%a_7?`|W3nJc*xh)70k5Vm|MSDi!;LPJ2k# zIe*GKzR_~e^Tk!hv(;UMJiFbNo>G2pvP)5_t^Y$;+1`zFqko@h{CaTqA$#qZJm#cV znP-b9%+Q|mIIC6J*!Atg>&s>-{_4B$C#S!E-&F>eX(xQLPR)E(Etb6I0?(9Gm%Y0; zr+R37tNQ$Rc7meg&lhhOy!?EL^H9vQ+g5_lRHIGr#TECg@xB>%Hg4vHtIRpqcjmt` zGMFxIwZCGO_|9oc)z+S?>KiQ6^Gt3ueb<Uy{OEC|RcGazr<;Ud{uV1Nky(1;ljx;1 z%MC31P4+hiaml@!Y5XwR<(kN>Sy`v&=bn>EUr{snb^M#vCs}(t-luGme!k7CIZ16n zWZG@{nBCWXKJ2er8L6M&5pkYd!f@ip{RXvZ&bFb3o(os19+FKeIr;IbC0lP3>)eU| z#HK5hN_(+i$+XN``F{<Mc34P}Y@5T`rs$LYuQTq7<<9;*$3E@5(j{Zrp87fbDyCxp z-WktaEqLv7?6XZwzP2a-PUxF>=v&K6+w@5fTl4m>3fynCM)#82?D-2<I0X58Jj%Xz z`Iewl#)ThGg*0sRWE2hxmdRTAdGB+@PwV}CjaSzHdn9P05WBH%*`s|6&A$FvZaB+A z=CtFEZ++?4rH|LuX52jzaD8>V^+F$uyT_NlUZfciIahv>kcaKhUjC<j+8?A}pJe>3 zeQoJJ-}{}9wrt)NUi>)GNBe!U(blc&nC5vqM6G|Cu<HEQ^o{XS?Q3;fw4d^JZ~HC! z?9w%@883E7Ur&wrEbd;rb+%5&k2^0NG+yy8sR_Cv_$slcI6vr;MP$y&8M+@P|J6C~ zm3=bVN{Y`$|Elhx7cw<rOa2saNtJ&2zAtRghwwKmw|fTr=cg3*uCea^7WpUa_U8SM z7jH~T)%Cn3mehU7?cXz>BQ<-wZXMc?)Ux2)9NS*QufIZXx4$Xa`tHgP?sgyFmT3}F zJg#T?rvA~idTl3nHLYmga|!3IH6g!6mED&|e9^kU-fnf?>8_WLWg`=h?67(9hV9#v zhslDcxSF<1=_!91H|1Qc%$H9wzw7$vx>TKv_>gk+Tx?T<T$16sSqjcd;R5Erzj&Ve zQsAoXXT~BZx9gJS`nlhHefO?bGI^T&&cX7p|FuBwFHe5!Gz%P@yTn;+!kOJ`HT4Zm zzWhp@ntywte{+#fnRaK0Tm2h{=Nq{**UX;5%2(ZK5|-U~$DVniQHHy5ywleFs!4hG zfA2^-z*(BHWR_9xjc$*K#g1w>H{_qlk`!uC_4uHs9{u#;cc#<J&o%e0Z;(x$c|9mR ztcU5q_gJZTU4cLI<qN8<E;91Cu&wea+jyAIsxx4(UbWxe<tNSh4$pqX?)m1o-1amp zuJ&RryN}!WWrP3kouhp?H16QtUAr^)iGEl4uAZjPmJw(*ZO3*#FA>+8@(<;c4X^mG z(Cd(Yu)vKs^G_;Af2^AD{pERDF*Uchmb9_8a%Qetv?XVLwOP?6$@|a3AIdSTT_XMP z&);yZ)A#334w{iK&&>2Yjc>`W*8C+23ZHadA9!+d-tRkeG=z^zrTlYxJ@?x?{mPZQ zoKn|iWX-vDMN&xW%(lem_p9dz{o(rkETVeKA1?V@ij}vw8$SK7>b}GEUG9k-L7sh* zJG5<AxgBZxx^G(R(&bSJ3;v|}2yi?xDn7q=fgSgy8pEe8Z?|}L-VRx=yxQext;c`M z&tZBm-|F6Za&Qt)%!R#?>nf76ue7eJyMB7#7w=dho#G`5Z93;&6Qle3t+Uc5_S${B z6J_jYyG8lyb;&sYV)nH8&)VLZ+&Q`X+=CN#AG`i;jgRM!J)QQpko`I9+O*4?xqqz) zVTx=0&3QgwP$hAvi0RDast~hZa$#%NNnO-l@$LH2pScG^bA4r7v(=Mg8QDLSm$o$8 zDZX!A@vE%hR`mC`9x+<W?0KR;wXK_<mfWJgepRsJraWe+`)%@T=2=f&ymf7*rX*L) zc@I^N+wMmfUiM$Bx;$u?%7=R_FK2qKdNP+^y*yz3mm=jajnj5<hpU=)zbv%XnSAMG zW>VeX9{!5Tz%>)&t|ufF+n+S+4M|w}<h8oUmoGu{6t8K9`M(l%UHZSUI#RsQVFL51 z%TqPy_8#h;mv}(;xm!f%nJbgHgzTTyUfg-qu{1Ns^F-vky|2DWS6176&lcn<<`A8^ z|8e6R{nzVmSFrE$xz_n;C;O@!^3ylmT4_FAYRZ}!CmyBi9Q|OiNYseQJ?^?}|5J(R z=snlcPZstBTfCXNd&>4D{O_s~Z|FKM$PwT7o`pT^UWe2AqbWx^9cpb%_{61+S`BA2 z#4$b>*>c`9{EeXf{9LC`8~nfTQ9bdlkiD$(^>(L#%=1h(l4|=qe4AUuH_w_aeb-Pr za;o0i+duuE{4&uyE43h4>3GOtnYWsKcg>rG6h4ddsDE1jyys-3+%c&@)eimpS%EK= zH2OUg=D6B&)(RPATxgYlA!7g1OFzho|9wl|@0|Tc^7~J9i13SWmj4KwUoU79+tH%z zf2zww{!?M-men_v%VfD$Dy?_r<vRG`-tzOj0a^EjyFN)B+Bc*7g5;8(>#zU0_J<v+ zy3XqP^@q}?N538x-@4q>^y|{pm<`=0zu(&Z_^?0svwRg#_P^2v_t)RDZ@3+vYEt;@ z_ossEkM|^J{SIW{@0#Cn^2o}4N~_u0-M22ku;h~A)RHS%S~-516DA$my-=|_{^b4p zXM?jZ$pnSI^OI~(QPA$cdp_}*vVctoo3iG`<;qLf3%}l$Y;=w@XPvy=?B7b08#Kdi zY`rpNQyhN-uj1`gy}FX$GA`U=8qpQC?qW|9*k}D%s#3e+%Ld^nh2JWhw!C{VZANg# z-vtMCY`1?-)>2;XZ#Xff=x*sI&t=)Kd^WF6+d5AoiYId#<I>g36K={WzWm+Y|43#1 z5o6mAdnI@6);af)bILxE$a|c++&zImU-(Ru^~n?BcXj`^Z2js<?e}BPzbllo%6xQg z;y$(LQuVTq=EUOl)!eDyw|Tz1P;0&R>Wo6WhYL2ZEDVyn`k&4C_rHsKXC1Y(+-ECo z`mg<txL0M#(J3dzmueQzops^rohqK&-{t#O%&d5HXtG;?eTw?ZTYh(rro8p%D5;6a z`4hzZHTn0`sa?OMW_g~8<Xl(2W}mEX{4#-WJZ$VYf@Uw;o>6-!c=~<wt2@+Yxe4?N zKRmGdUDLZ3@y8SX{@4@v>y7SR%ahVJmzuO()~9I8e4g~}=dZn7LK7CW|MFO=68qwW z##XcMpN~nlxovq-Zn$m9cJ_3o`}x_wXWmP==WDg5ML}aht)8S%;X36eLp|07ddlAG z8C*VD{pp;-dTckpt0_y@j=4oyz3xI8X7{H*(U0F>GO0dHuI|mkGvBr@P@Z>ZXJ~9r zMo_qIxaHT%f?kL6$}4p>#;ImgneU(L(Yxez_~P_w?7GLy<^{Se6TSK8l-LTb$bcp% zh8;Pq#*Sx`HZa>qeF~F)8uceuw!eQ}*c8>p9GzSX<E@%n{8zBJcvmjntzWY5mub^h z(Jc`^$rrMYZtkgi#KLrw;Z#@zi`3lk9Fbb>cS7skt2b`D(R#=7U(LfVt0@U=x0l9* zc)ELvJi2D=?__bbu~SQM{y!~~soTPrxyJaeW3fMY{cb;-{-%R2`&GBi>527zC2A)3 z*16NpV|rGipZ%4hKa0CN6!I69HvHOlOr-qW?UEI9SJcH{yt-X<p60%;V{B1Z-@Wy% z^Z&3(SEzn}5?@9!kFw|CSu-Y|e-ysvk=ovp&TAp(nJ-WO_E+%pD#4U<h70vOYc%58 z7PQ}F{LK9CGedT!(~PxDt1o)q-emXqYs#{Adm-Czlb%k{c3koQD!+a1+=~Hyri-^M z-IcBV>d2)U+1(e+W~pu6=bQ3DY2LY)mv4Wz_+P0z%e&2TuIT(t%j-Np>7Nf@;azn! z#xAP9yW>mk>%&*#Rz83Cq|HH9H22F>-H^arA6DBuj*Gu0`DWf+?mK1|SgPk1>{go> zdARCiN2|B%S26FrglDlgChwSMblYG{2e)wk|8p-c+<KL}a_zq}D*8Tg`ImfeTtB#A zyL8D9*KL8uF{|@CC7Q~dgtK$+>?ygQr}Ff9avb-S3&#w6?v^wk?!W8jGfPGHp0c!F z#M>FUSH$cmX8n>$ofR`@TIgmEmj3jfEeAvYvDBD7&b;w@(y!iMUH4e)m1SQnc^npI z#%7|oy>kEba}!S)+<Fo#UbKCNx#!KlK`T<XO_pEYrpxAi=~re#zUk^y`*eQ3I^9zs z>ub)!QdE8D){VE`X;(MxSRou}bZ@iszg?F*OER>aE4E*}VjQ*e`_GkKa%cZa{E(O3 zs}tq!`Re5J1Vv}JZC&wt_j&mY4D%#D<hhGH4WD1Iu|4}T+tcGAuS3q%_MSiYc9X$_ zj@=>5$D$sTE}Y6YOTEBka^tMcTHE=)+)w&E>*q}GzWfO<N=h$ITYlQNyEp8|*{NnP zjCyqHck+e>y!SM0`^~Df<CcH@siuzFb$^Q-^r9n+!~3pF{n>Kr;<MEUwuEi_#MOPL z(IfC^<Y(v45mzTIezjRqXnX!SIg4D+l;@?XQywxt-}pZ3ko%`E=S-!7dd~P?4qddl zaB6vdl%Pmo;F2uAi<$HNeXrR2UP$Pv)E7D@^uvU4_OHc$RXzPLH*EfYU3s7Ld_Iq= zv(gy_`A2tO33Og9nfb}$<*%%H<<l05+Bd#!{K95`^`t<M;G18Ovi5pAFHQ@3FujxQ zCij7lcNvtYJI%`#64PNxKFI9Snp<LD$PjD1Y{$yt$Wwbv8zQBO55MyJa%v8vo+s~} z^u5uq-L4kS{;ebX*eY^TAM0_>O&0TwzR%ww7MHi{kH$3lZHpdDbDXS8zhLXMe8zXh zSv6Mf$F9d8uF6Rbk>0%d8i#%I(iPU{j+RgP)paF4O+feFoi3B=c|CugEl&3f{<$f% zr~8GkobI*`Z??=9smM(~xn;e3*jP?}3ts3aKWU=)^uOD7cxKuk+%fOQdcmD#(%+Vd zCa*tJ_PwS{R`P=C0wsBt?dlgVG>SLvNv$(#?I|dZd||TTS96<i(=s)A)tR|#4F4q9 zJl&EvHEHimz0Z?3v{V|W&ptY}XlZJt;>ptrN3P22Jze-oFTL(kA=lc4fuD?dxpclv zPm|fjnaFkQctkbld|9S#1sZ=RFqZ$+xOYBJz^;3~A@i}_H-qkmUU<K2j>kSJ?wVKf zvF;*96T<D!eSW;<E&EZce_9E7$_J;*UM`qb9A1$$Hzrr9>E<?p9sCw{)d%e=bc+l3 z8y>oCQF7I*-Ti=1wu1lhsaXY+Uiq#qn^W;+&&^0vqt|@0A9uC?npc~+W`^YT37zi7 zdzfNFjplEPF;QXUeSPk~MRY;+oC~(x>qP2Lq*ra7lXb&Q<ak_G?TV7XZ5QVn#Xl2R z{D+TIT2S|uBwxS3MA*^OXO@MT-_X8)OxTMn{jdUu&fzVU_3aC-0=;u}rPKpvKkuqs z_uZj{yS(tVk(fPOW8F7bWscU{S6;c@7T>NE#1bz0^=IG39nsU`Tz))I%$@A^-Iu4Y z-23xe8}-7UPEVJqUFJ|*U)Q=OVu|EDxeb?h)=qM3wzJ-5?s{!`;)j1vzwyrBXUulp zPWt(|FIEi?O${?1wuheno^!Qi<HKWTFG+3WJ=cEVleyw?FK?$jozvT|Hn!jP*I_U0 z>3gZw`zVM-x5N6;$rJH>zjsYi+rRVw3Z2;feMMI?x#Z(C_V+RDzqn%0)tJ{_AKkf% zwK~sKOtw!exbP^t+T^ae`omWFYhgc5@tB@k-4^V6!D3<9vCO)oCoV6#Ubp(#mnV~V zq#h7vG+P-jJ+twjPnED%!ND`VVLEqbFdT`?+MBH9wtVNci4VWr?mD>o$v2tjzmKg< z(NVp~{XJXkOk$M1qi*|lXUCjVYr^*)b~vUS&-+aE{n7O0(VPD>UWk}rgSkY-$iNWm z5)}gr#1a)lLla9l*I2;-CZk|zWNc&rUZldM@0OWUl3Jvo@0OETlIoJ0oS%})WoO4# zTvC*pn9EghYi(I-$eg>AO#KSfEqZtF7QS;=QD8}<n^ZaP!Mk_w&V7(~@UH3(w(l%I zEACsDzgzSB?E0BMFJ^yTxoUHE_*<*3a#}{BrOW)&%G4Y*tv478OB-w3J8-6CKYFwz zk0&faX!B-6<~`Co1y-&&BHMWEoPza+mW{>}<QMRoFncigGQN4kU}k4$=c3iHWA5H| z<r9Z4Njj`vxy<+YfdfDEPsb}V2=~`l-OIOX)H%TL>bw0q2Wji-XoVX;Wgpeo1j=%- zSVS{1K2wlZaEOU?4G;5_a?oD8gmVI0Q)AyTGX_y{Vd)8)4vZ;WEY^%K8J?B(G0d)) zVOUm{V0<Bdsioom<k})83FbL(8ka5jp6yT`yx?!Vo?C<Mg^OZOo_zTy&rrk^VIkE# z_kQ(*9Cn6A-`top|CB!DnQ#9+d&1tucdJ|8?tU-pbM)NFn<uXbro88=IKN6s@hktl zbJLEUtAAR?w0AdS*|YZ()5@0V)ldDh{k`n7yRUP2n5-G+G`>4m|I~<)>5PNlH?w1M z?|0rm_(s;T{&GPfQ={&`qYZ)&IJOv+nQUgXvfO)kPxAk(bL+2i{?NZFef#$9ia)it z-@RY){|Q4;8Ply9#>$&E?tgAlT6aE|kx6;eA5)D@3B}e7(y#5`r0IS8|79nW?EgH0 zxADf#-~A5VIK!9on9+cFmhvWzo0j{Rvt0OhJ|ykme&L`09UlD`Zv5~6<nR5?-|waV zPIv#azxMopKHaBD$%|8Re%mqpk1%NX&ij}pfZ@;9<bV4klA|Z|9<LYv`@ZqkfqH{K z?;TR+_TIn!fivf$9;>$TYx^Drb<GLZ7kpTs<YaLgm~X3mfAM~q?*_>W7ui_Y_GSMp zmuB?IiHZ6D?D7VdnNiLEv#iYT-`7*P@#g-_{ii>h=ZpDf${NbLw$<NXR`0%Y&+2z; z9wz?xdt?79V2knZ^M~Ull9I~aG3cwA$?-7=vumIKot*rX;X~o4pMT7M{$oq}eLeEx zjhli`_%77z&zk!7{iXkpzpuaiyuNuN%j{b-|C*}5I(IB#^Y@Ft{13<H1&g~MFL(W4 z_x8Q&|IdHEPhf6*=Ma2ks;hNyqr>VeJtog@^;<eW7W!3dn{&b0@tZ2IRO`=wSIh3! zty~ygBN{(1yJ?2B`p@`iTQR>k@!y`j_+J0z!L17=>dfaqchqRSsQPSZw&HfB#5d*$ z9`Arlep{9I>OB*!JM^M(bJpAZ{?)4_#q19Y`fn??sM}Go;Pdi=v)_*|+q2#MtEunG z{(~<a@>>q9(Y3H#>Ss~4W4WY+q@2{7eNAugDyN+2b6g-~@bAU!5~pb|-h4dzaofQ! zM|)S!ve#D3XgagyJ-f{3U|!WAe$_Mo)SUv8PJceX(n-etu<!o$zs_~b3(1_`=r44= zwyg8;FS#3*hi+If-7x*}Zkb+NykX>tpUbbbELCo3*ZHd$xa8uY8)iEuc1_^+t8y@S z<*0M!Oja@1twX<~rzk(Vt)m`VwrKrThH5GHqZf^ZCTcgeF7w-JBJ{6#_H@U4M;E_c zo%Bt0`rY)mnSv^6CY?IT3EGRR`ImUkof(-T=Xy6fGyb^0kL>1;@-B8(;hg8r9uc1U zmwAqs>{6FImtGzIEL8Ai<z$9mn{Fs>WxcqIm*r&7&-I4u^ftR}zCCH@X0a1FcaAof zrQg|qHi6N0=|6v|;7{u3-bLO}KD)T%_!6(l0Ule6gDW;B%V`Jc)w10?D)yt$Gs5ee zxW?Mfm-F8UBpzA+VdKelH*YRf>G_hEDsxVJa?a1zG7gLKh0i#rpIgtp@W<KaNWDXD zzRlj>_jK{RJ#?*PV*P^s*Qz6fT9~iI@NNC6<Jh!*$;0?rSuSo3uQ$A%`fKjCGyGhq zZWxGImL6K&c+2&xn$cpm*5dw?TT_`97)jI~DP85Zki8>$34=*g*!zXQ&8HoTSzU1Z z@(HunTaxcWD`F>h-ILFi*re@}q!YxFbaV2ev&shYHx+fmit5yl*@b>tJUQq^*<JqF z$2_kjS_*m&P3^7ZkYxARePi~%TB(|Q=iDtW9_A{Hj`b5MIJEiQ*Vcc`*V%fmJ#V<% zTe|<Y&(wO?2l)|P2OLv5C&~PDvWPws*2RD9WB0-4FKubusxR8&-yBY_uFFykdfPO2 z?H%Kl9KN?Z&pUD|++5M^$1C}{_u2hdQBP&&i*Y}f74ZIJadTt6V*Rgz^(AIfOtac% zil$pBi|3|ISKOdGv1bme_vUX->3^mz{?REQ{z#)=q(we!T`%|Blcmpf)|^PwHN1NB zbne=y_ES|65sO6YB~E`?oU)4jL(%)-eR{fjN*g-U*>e1Zt`zm=@SHumxu)dcZtItC zJ|~{}n2@l2PUfMERX=r@pGt=KEIoZj=jNqsQTIF@w~Oa5{M<B6eQv%&{C!`um+8Na zUms2Q`)XJ7@AQ=a0?`GNZda~TT`Idh|Hbytm3R3zGHzq*U%Ieh#?i!Reo670zoi$k zFJ7`VTzBe8sri#<7Tw&E_2cNnwI&_!JysaZj^%vDWBPZi!NE(?pPh>|=TxhvmY!R5 z?orP1=@Waj1O$ARKYbb-zU1$_70WuNEIBmeT3_I_<!g6`E<ds~d9CCei;h;yAcr?q z#}-J5)_vE08hGiMSNsE~i=Q5R_I~XCBTCQIB{aD?cG|{!QO}ZICp~mLr>OFHwOh&E zhTf%0C!Hd*btPG97Hs0y-?{U^J3GxvR)s0{uZoQlHfwAQSXkrJ{Zeh_a-&=4-$gxt z{x$RFp)|==r(eFz$m`8>7W_9i-7|n$KC|gr^C2DagOlfW)RZ3SO7j1{s`O&`pXW8X zESm)*45u#8<1TzAzspRPdtr>r1~DloyNQeDh{;d!h?14444-qc<)oX^YN?REYn#2! zO1*nDWzEce^O~*KZ*e&uv~PBO@^kTHJb!*|Q;_sr!*4z<b>;Mw8k=vsa&BvUKk!Ot zs;QM(e46IMV@Cu|H2qLI@j1e~M*7g>j;E`1T#{<q+wB=PWd8YMyj99}&ddibkz9Ip zLDnprX0>J>Okj$<zx1f5wZ_Eg#fLpUan0<HJj8su@J?W&m*R;(SyN{o-E+q7l??C3 zWjEM<-7+yS?G-=SeD+k!&$W)Z2RLV*J^uB4rre!NTVK8Xw7KNKsl!Fx`={Tt*_H5X zwr`~|)8ua}>RW?s&V;uYf4d#v_gG}}p7syt1FmWYzd0dh$rts3^;Oixr?JoZ(q9(r zy6~>qUqj1_kKgIuzl}ShnDzyF|9bi<N=H<<V0Fu}W0LbyE4C{Xtv|fxn$bU&%2Thd zZj?N1#49&B;>b?zVC}HIF{l3Zl=1w$ym0;fKjk~S`B#_zboqT-Vd-tIjjOG8ZV{7R zd96z6-<LvJcKdY)E^Xrr`0P*~HPPg5+*0OCz0J;XoILMC<jo8CHaDBGWX}sevt0E~ z=u7GTC0-Yv+UK1Texvv(Q~#jHVa`^=-Ju)VV(wpmCwc1qyNds}miBzU=Dk~Y!NLU3 zDq+!?qQCEoTdkNS@3QQMotdyZ!&&z1wRf&Qm{_ISBqng|edOPX{;2^Uv(6VRnrW-P zP1aBIn#ldRLHV)|)la!BFaMotUNXJw#`F#G-}r7Qty*_KFt+g4tPrp5c{z&T|CCPi z*{v?k9kV|)VW-iK!<S@zbvB>BTmPbK<>i|Pf3Mi~PxseJF*k{?;cV$<zAES3TaDlI zO6bk2<dgf*wr5FP*I71h3EL$nPVQY?^lTz`+>XS~C(^<)lm5BLZoDtHawk{nHhW>U zJMS0oX5Y#reL}Rk&Gd6rjLk0pqpNRk`fd~>vQWi-Vc7Xqt^JvW3srCKIkkML#TBQ% z)Ysw3bN$~oO^kiDBw@E?;)RA^N7&ld*q0i_D*idj_3YV!*$q}#lGj~6CKtQRe&MxE zMbG!H7U!#fH8Y8w$0Yl(y6NVq<}*irWR@mt3aU-1J5#({<g|j8*oB;Q<pBPTlUWxP zKb84qX>30IQ2mmUokmJ4w#ml&2Fiv$PVS0WCuo-Q_QS0{!yG*k*`lZ=PU+in_sKf9 zozS@XSCC_|d{)ozr3%Gdq0<w!+OAXvJ8dqxuyb0_)(`5R1D-dZ{XTEozh1}o=WQGu z+S^wuddz*_c_#dR!Nx5-0*em!CtaH7`ey$hp~yQ9Ve;QndUCvf^$H%<pS9@EuH}yB z{;xcIOV!}h3bhBv--YzlI60a|2rAAv`kiIjp^qmxZ8V&>M8}9mY03*-FFMNK{C&f# z2doEGJM{LP7M+p3r1VcmrJwh?;(JcBURPNx%GkBN^xnP8IpQ0S{`ZNHTE+6dPXEP* zAH@$mB6Zft|DOF=uv+0xyUqHVWrC8r9(G~j7p)jma!X&yCq0s!cccB+{$nrOwsuFI z_@yLNaBSD(;&&{rzcLb;V;q^k$A)!xH(%ddTlloaK%#@m`h1O}C3m0XotN=PYNfQS zqHMTkc>gNA%RggX{(ISs6Sm0@bUe;kHJQ}(`ZWKtFka%yyQTc9s+xS1=#mLL{bJX| z&fZn_q;pDb_OsSobrE^HKFuuF{1mSx&Tv(6QI?AW|7s?;DV6ngOLta1i#nZBS!xo} z^<$M0<FsTMCA)%^Dss<q>|X4C_F-+nHg#poMx_fbzmt{p98TQbux`U&O{06WpY+`g zD!i3ZqHw}2cJJxw9PehU<xDeP)TKRRol5P-pzo0t$Fu$)T=p+$lTqaR6?dljEnSo{ zW$TS^(fuo}*KIyB-C^OCM$vDtj-Q^k#A+LZlgR1#zT!nw)$V`T{AC66Ej_*ChucL~ zACg|E_+_8#rK2q~zPz>9Dv>>+s~`TX)_r!lUPq643-3wk`=zN{7Ryd^QMq0Hsju*$ zXV%$&6Zmgksr;-w<wwiKK!qiWw^QdDi_JRP6H`9TNAmHi^~ZIj%JOYvOlSGF)~ww= zf3={*{+BD-d6U;SA1L^rvpzBM|BBbyT^pxVUK1<)cWQ@2`Rx^Q1;rbZH8)JEGQJUc zqi^-(!l%>DcS{?)Pj>zh!GHhB)BZ%|GP}F2n_YHqITNaCH2;(Kq^Uv<YUR`Wi~1vE zb{oX6I6FT}w0HYoUAMZhHO?|Ee=Szrzv!{pv;EgJS=M)E<=Z0X+FY*r9I|NMhM7lJ z$$o41b(<UP<z)5$EBn>OlF}FNf2+FCoN4&F;vnBXV;yzB)T6tX8Vh$Cs#-h0>gM>C zoG^|5guJ@aH|?C<CDs!P3S7JU&vCCTO`RsRMc-qdik7uO@jtJismZebj6s*34V7kh z3H4ZW7-qJ3%scwy+~3wf+qvwTZ$DKW{$bdyuen_HbKI}1|HA@=mJ1hq2E5ugMd{6^ zw}pGQc-D5MJ$fnAW?EEba6kXp%|AO%wA@Qc(WrWRFzdU0S?`M-lXu96*R2y@Fnjt9 zneVR-IOa{xcfNX}?^7_>w~O<ggB%avNuB$PYqfD<f*{}K=d*8UFN}WGaZY4u|Mr^Z z6%8qOLIUiP`;_kra0?zfSd~_0cjKdP=!@UWqpQm0&jvI1uHT;!s;H#h!SADByHdrW z@r?@WyN}HxK1O18mk(VD740>=`gQX(oys5HI#c*%h1!=W9%I+sP&dJ5nVO`#y#Ces zZCvaBZ0>)T?r*$$cE`ewCl;KpX77#~PF_9x>zi8nMP?e046G(JpWWY>(>hbpWAW2{ zXDe$KHn3jb==tK|yk&=u`vzXBnU?Di^YkfClbenIip*^O51!1~oF=R)8~-j$*MIZy zn{dq9EZq(2{Wl8oaz4EGN&9`_l-;l23UL-k&)xmD=IimtOH|iHHTdhzHVIMZl1!^! z61_R)cze6F+@gEZ>vp^jn&k5Rz|6b6O$O@W+i$kWoU&=$o0wW2r@DXVmco~14Q6Yv zx{GEVx8e^C6lyTq*|eQKS1IYTy70LfFAKj-DVg+Ht~pC+;qmpk#f%z@yB-$KJ>6<G zH#U6w+Y9YVe;zO0W>LrU?cbilOQG_-(<LwJP1FlmA>chteoCKI>y0^2KXe|p6P+_* zMZ%2Esb^QIrtG-<ZTrz4i6{InEH?#YB^};aEnHQ6LN4}X%F);)S;K!5SAWr&5HSC0 zWR~8tGvQw6{YyG`|F{<R>6(gO)Tdk9L(Nkv&qZ@8^Y&)HIb@x_&)X|4@%V<b6P<rY z9b8**RpjLnmC63hiznzFH>hHcIAdY|yYI*IKPCmTnp4=;e$IBuo^$h-Yj#|S%-a9l z3sX|g9kzUJ_<X{pewC#Qmd49{+3IXy<okiqH1D;<A`ap5t!M5lG1s1a^ykmf<8|vr zw&dDGuk(+bBU9+c#+|=Ow))?ZxSgM#i<~<D&u)I5@QmX-6TN3_{l7aeNwu;grJIXe zP1bg*y~M&Ezcra$3VVOAZvNbEEw}ql#gTt1g-&vD`9~#Ahs5L_HVLc^dp~c7xu`*R zb5g>Zj&-*Rzu)w*Yj_}1c6QsWIac$f@4b`}5Vv*Ij(PhwNGMuqVZih>0k-}Znx>N9 zcZ%&xFj;<Hw(EV}nb1qJK22x73!T0iDU-Z%cUbbr=R01ke))LO)ENs`p5Md%ssGRd zPL;oE0bi3gO>V3Ao;~sDYn#hTAv0$>Md+uW5&E*#`DWk2Tg&b*6S}iG;zs&*RlPP{ zftY;t<J~8oo;xl6(=euGQpE@TTZfNb_M5)8PH<mFEcdG{*Q-mPsl8-Lo9WgeHh<Om zt|l&J_D6b_M_On2Y|Iu3-+WZDLc(fxO4Zi6^RI^4ZZh-c2)=kxYpICNo-bdPNWBVp zSlwZJ=lNETp4z9fMtf`&pDyzjm)`%GYfaQ6oo{>>W?QZGnBb#2&7j?2rc7^cLago+ zC(f$cLp_r&+OCm2yZMfj$@c~8oi6eQ%sS~CvGHSgn_JV&xc*lvYqhla?b`28j;o7( z7q__agTszF8h?UPH0?!XUu;_+u&T!FXjNr#nZZ<DxsqS66mKtzS#s6t;Ia?x7E^Ox zu3T|)w#TQQ6PNoRT=<lB{d&jdx7~pgXP<g!Qt#dpaB!`5kDKtpb3xPREp_2=x0Gu9 z>^jZ!@>$1c{_}oSADzInLf0;B?{fRv*FwS)7wWe6toAP2X|~N~q0CmVh;QdbUccJ> zE=aU?^E7*lU9aZ7{L*;5ZuiwCcC(KqU*il(l<?Zpdi?Y?y(*uHoSbUjit}HaZ~b=1 z{!V0@<c7^3UsqT>{`};Q%BM6lCEG8?2VCx_vK+{Jp<fe~SMuuTng-GSxsi*Xhc$d& z?q6wCFkjxs_OkbTi<=U4N&d{<Tt&P$R_pbq-MQH{Z=KrTN~MW^O~v2uUQ(dkALaFV zO1Q7q@f$oBVjEib&ORmo`o!Owm?`>A)%PtY>|8eSsK2E2o?AD+OB|JYfBl`&hkrY5 zY!zEyYHv87e5dYdLcu26Ip&6Ew+6g=Rpno@X%oZerO)#O+>JfwtYme(_RMha=eV3y zYd@vdw(rH}dhgf$JAE(TW|BzZBHor|ex9%HPcr%0zVu9+%LLsdn<G}!Dyo}G_qcEU zy5W$*{fQxbUYof6nN5za{brW)cG9)3E4Nd3NL}C7eow8+;{1ha4EOaK*Ci!Szq48T zIg{Jbqlu^T*G^yaqFpUZYUlF%v+g$U>pJjk+AWL26XUEb)~_`%-P!x*O}O<jo;y11 zha-dZZx=q^E+4;3@4#YjGrv%-O_7b01Y^^z9RtI@JX)yer+F@FevWJan_p8$|K+;< zWqp;Q3US<j7kWe$ESMfx7?ii%pr*FZGV4?Ik1hIdJHl@GG@cE3o%6!!OtDG)s*lCn zV(v_F5O@9aVxBkGyI0vgvjTs9pOsX1?!}j^j)sm-litHBeW!k;y~{sUux!E>&nx}8 z3!7yHkFB@(W7O$#I91m4^{m@Id3Db&KI2^LcTF)qtK{`=<xNsjDifY{Y`c5)hf(D8 zb;0^oOG5nKw*R%<qkFtaWVdull6Bnz@%O7X&-j-0k5g{9e%ia){uiB3`P8Id-Z(8} z#x0dqdp{+w-hN!EI_A00kz1-wc59`6J$`qj#=X(M&)3cU`1V8c4WFfF#yk-*yHi}z zU=+?Lby~1+lI;@5l~GrY&9375e8wW_UE1R5YeZPL2AO3)-m0$pCgoK~lI5qa%VKin z+-#;Fo6q>an8@F1?;fyyE#oFN*=ebFLgas@t+}YVwr5LWhgsmQ!<sdl?KfWB7JBPA zZ{^IVjH|z;Fl9d7f7E5Js`uKNt>&IG6Ak~|*rMik{%zbh_9ZFdpP#Py`FLH1)9ktr z69n(AaM&Cgw!BJbO7@)V$?=>8cI86vYF{RWznrnO^}?BnPwy;VWF~pYoz)@TO+q+J zO?t|_*c%1^<Ql&3U}0YHJA>sYZ>!zo)_X<1ukU$(Jle(f`JasQ@2u_1@0NS<bspmr zv=v~vtIXcBa3yQ^H~-IHcy5;^9_mzi=OfYe>R_#F)A6}he{7EbR^3qQ&y-njcYUtD zyRvtbxyB2gn|lMJry1QblK#4~>0-QtVs%+a>J#5IVX?5t`O%AFRT4Qx{r_wHX;@^< zKli%!-S&@C+xK~js{DO+spGArY@ne@Wp`T++obYW`-CS>jj}mlnc3y{cdKIdfv{<( zzit#1e?NKW)76n@uFmyO{Wkw<l1fvd=B(TqcI?Wl=cH}_EH*V!(#cZqVc0AYv(RHb zJ31!37yDRTV5huj{|}8f9cT8}S8d*OOl9ByE~fj_^72@nRpy^PkzcTsv82Q~Yqr-d zr(eE%Z2vCi6`m(y%X@oHxy2N9-?iDXf~l{=B0~d>gG(dhwmZ+@6<+gLI@zM$_3I@s z(er8H=ann@?r|O29=W>jpzoH=c{As)Y`Zl*?8znF-Z!yI^PVT##YJ<^X*ImG?d+5d zu?+t64op6-u<(q>!DNG~xz^!|yrutdn%&(px4*dU_or_T|9W_@tJt~3eOJAxvG6RP z@bi|Jx%o3KRkp0UQh4mM|MBBSitV$TER952-l#2Ka5lu`tL3&k?$@Se2ufE^nxd2+ zXksz#!Nf(cPuEP;{37@4sbACSFO7@u_&o^V=&cfwU+-<P&+^)JR_2@e1%1)KF9dME ze6mOL`t06YGY{`)dTE#6|MQ5IM`Z2?k0%EYwq2b#$@R48jdH)OcdyLz{`80~a#_He z8?`q})<v0ouC`hA?Y#e~rdwJ1_Z-h(Zk#dks=u`M=11`n8*FxL|5f+az;>c~Fkh*{ z<KnZ`HnXI3I?veZ$fqAyc7Io~z{_IpE7obsxzP*OW{Et1`)Bdh^GCw6u3t;=JpcX2 zfho@x&0N(Vsb?w?J==EM3#;ALt2obHXl|9isu7x!x_Yzh?E=X|YtQs{ZhUtB_LHVt z6}_iJ-*0{quBQ4wAwub&%I(ExC+S`3$@Xvf|24uah|%C(B-5q8-wYO8FX;EoHvP;d zT=K{0)^jGmS7)!8Rs0B@{QK!n?>oHv46{x@dKD3JT!qzd-HP`qcLi$J20LmbY`J;= z>^_F8Yi8d)&bz4a<W}doKi_Jq2OOL-QRl1Y1nI81+{KBiv({Az-EsI8IJ-z{QSL>L zB=s9*eNSEU_r@kEbY!%qZ4k0<_*n7Dgk6-M_5F_ReebfH*!|zm>rk<?vYz}<(QI+E z-`g#ddH;G$IDN0}#p(86%hn$A-yr$$<l4&**z~)Nj<X+m?{XuOm+^Xqifu=L{5BQO zwG+8_2!?OUKJIk2He}K6tA&r&b$Qgz=Ci7H_{<x4K`Q-l%w;Xjl`{?8e}`*%$dq2m zwJTD{^X1Qd)ZEQ)!M9KJ$JqjnIr_VV#co_VrLj89%6HL|y~VM;yIy+Bem9A+c^NFj zA>I7fT*JGV^_{`pxS&sFW}E8V@|Q$UZMC%AZWh<oC$iJpSMBr66?{swrrn4>^ZjD- z=N`w6eca2}$QFjOosTQ{wdd>?or)b3q$?M&YhKbn7ZP$;ZQlBBH!cabuz-SBvn=*M z_p;t0DN@41^hP71z?8EjC+n_~qT6hz-TYE-T6Z(#^JKTD3hdrrs^0N)XU%Ent>2%9 zf0t)l8y{X~BKOeu-TJ0FPAU6?OFk%Vx!}S7<KbHNtq~S?^1dH3HnsEQ^OJLW^kx6n zi#1=1PV@Ykl3a1D|CohqTAuk%i*<QdRLbW@wl(w={!p*1-P9vLbCyZ>?3*vvc)Juk zd%QKBw$h#1Z1qVSm%|s%bf0%yxM{<V>~p`aD(snh`qSdzf^?0!`qLN73ayA?OY&?C z%be^X_)KPhz1|(QXFo#X-z;9X{189Osh=gSYBv6%#c#~7>^zWm^LFOvkFA=0H;xJK zZhyaBYjNp}Dw7OecPB-2y=Y_OlD$o{eFEp1=w`mlT~vMQH*d<boGBNq=Vw~TW;NY$ z)!#97n{dn7jVgDJ+LSL&aS7VC@~=Wh$OO+FyOavHAG)xB$&TmkGQXNT{FlXhmqr(# z@}9AHk$=%d+1>F|L*E?UT9jzA^TmV0hMaZojyBKUPA#oI$!fp)uC2>SU6rEU&;Kb( zNuEDuH}k}&?nsq0OE)z}iam?_=a94P(^=npQ77VUj%C&-tqOkD?`g=TwQ9+&8{D2E z4`<q?x<5Y{9B?_@Zrvf5wUh2__c8G-*y;9U1M4E`v$qb$)-6Aye|Hg2k$@4uO_A&s z2dizX4!1R1eko!)*L!90=F9$qxBY``_3cHr)$G$QJ7v~>X1~M!zh;k4lv;~adql}z z`q}tb#O{JQ&sEhf`&}Qir(af*y}JL^`6b-X&TQGCc$9g5pYzqG*T24hSld%sS9?^W zylVTmq}t?`zvfEJo8E@=_B&a=5?t%n^K<X1i1(2<V>WMCvO2fsi2mgb%(Ls|PKGHQ zUaKLUe9pqZX)jNmea-$8&woCzE2+z6`nVuKv&Qvn1Ap|b^}=_4A6|L=-~l7f_+J-H znqNzaDa=|meXhId&mG0(9KX{&4x8<)mz@=Dow6X+O1b^dj8|KP<ad25a&0&`XS4AP zhjlGk>~q(&Do$Xya_V_O+*<>$kfjX2`1E!7-uUPq)zpv-Ke~=#!ZW9D_ZL<k>^NCI zK{@717thM~djdK>x)iKf6!G*$@xpy4B6sdK3hZ98WYfvCJSpuptM`2<oo?Y|7!WmO zepk@6PQj%W)hQS5F*n!7w2FN5O7ySSi#6Lj^=SPPqtL6F>LTj=I$P7$hPnCkN2a>G zbKq4F-cr9L?bgjxro0Yy8Yct`eWC-lJf7&P?XKMQGtHmxzUzN3Y38aGtVu#kgch?t zj4su@W*8z9btiRIvs+*AOE%U=R!?g`pJ{7kXxaK_dVci6m`1DkS^Y`}Rr3B#oqgbV zw5;Z{M&knsX>Z$?3)ZLYIdD{Hsq?{TbC&ic|HAaDW=;LH$#Q#xh`VyWs_)^2x!c|c zuX?7Pu=)JI!%p@sbLzC@KkjAvxV7XohoF3Vn^sp~tDD|x?UzShUl%--Kg(&2ZH`9V zy;Y~wdKj7NcD>Y%x0L1WJg#2-ccT5L32Q2ME$B3_z9Jv1rM5BpbI@K}heGx>kKa9S zXE%Jx=k<Us$ozGU5o@W$`c2#Q)dbB{;<9z4Rb<aUR9Y6Wd%9fx;e}?GCYzsSp7iUN z-%NGw6)b6admZO1KmIw*LDiv0=AXt9ag{us%%vOIzNv(JT!~?sVjTH6ef8U}Gafhj zd6kovC6}%)d$;ZTrx$6jf7#}qX-kYroh{GJZf+-iF|R|nB6RBABfiecUax<@`FpUQ zLCDvRrStNn#azocwr6p1KaZDupFYt~r}|)J-^`uAj+eij(wDu#-|5E7sje%|3D%w4 z+-9oc{(a&c&bUNR)7OR$YfM)y|KX%Ne^<h@#7{{YmREn(91}^Eyzy_gXWrJ#l3zAX zlcejeO*i&<)-~U6!mGyx>M=@%E2f0lzcpAW(OkVp{mdcu@*1_7ZH7}O7zj3*s_hE* zvb(O+?fYBk-}aRAJq2DoU49;7QlDq|EUlH}d&z%g{;jjR|3lc?Lk?tiU5Nf}AieGZ z=fP+FJqw)buZ1jLUa1>iSK&A3>V@Z<UmWPpz3?r@sdQ`V7O6Czll~X$r^Fo3G`M2* zkVE%lYnq172kz6!j>%U~HXb?k?z`Em;KXTXUKqJQe)_6IHQ{1&Ps*R%4?k9DEUx&` zy2V%^TwryCsS{J1mP5=ce&c1gk9?2XH}Tw?wbO!ncsH2ci++48=gAS1*Y2w9p+7!O z58ZXGY^F`kaht3vy=K+&rP=)PH>wuy{~35vY*s2m?WT8%8-LxJWWw}S<LbN+rGUq2 z%sP_W%=*?^pDo!nk3+od{2L?Q7weU~^n2bvGd8=~Ty{VGr(9ZV&GyE1>bI`z*eJdV z@IAA!{H4w8uPdDXE_3@Q())JxjJxMq=KIW)w&b**aaq}N-KVS`!+Re0v&HwlRc`3A z>R>OEG+T9Kuh6xK%NO`3{9qFe%YIO+B`O)Z<BQkFnL8IWmgxO;R$giC|9KDpqv8kZ zRvE^=`*_Z#KHrfg&-kfqx=$mo<R;T~OV_rC$$w#DJ9290kDt{uO;1iP$~JI!v|K7z zvi(@;qlo!8cO?q`X!Er`#Min#MJr+QBLUGZ%Qg3RnI5RV5#Mv%{=>~j?#1m9X_~1w zUnL!s5navc(5B-&Wl!Xf@~g2iKUpLn{$n;e`D=CJvMX(__AxJ0&t1Dyc+~3KNd+Ok zZ*x^=%!~f<v7*8LM(=c$-qITv9y2L(9qHO~X@B*l!qi5)Be&(8g)cEX{hFk%GH=rE zCslhgHmq3aq`Y#j==Oqh+gDtTT*s`GJ#D_SQKHN<Q>R`Po%}aJyBvah>V=CnUCuin z50`$HbXRrP@wtn`9SdhQOv@7q_;Yj5pRcE$+^}Pb^;<9G?{jsL)dgY3JuzZ;)s)ze zoQnUVap&#?w~YTPF{>ukU+X=|Q0bo@xyN~ak)bz(xw@Cu`DIsJ9$cF}bEBH$+P`nM zG;&YP{C}A7U&FVX2PQTetzDJ!c&e64;ESb&8Wsl*oK8*`jun@CZ7d|=dV6A3#2e-F z?`k&J>^!q0PVSxdncm5*&x7r4Hm-d$J2d%j6SvQ`o9pMPvuxd5uudyNOV8x%u6J@@ zC#*4=y5&f!*GeP4l}BZJ^4YE~4Qo<a`_XvwqV)=j){HyFIgXpO9avEKSaMA?>zfIe zVkSpr-ByX`ovd~C@LWIZM?bPIe~A6lp<Bpj<oV>ZH$Pvp_6vc-OZ+D--*EM6&D6x$ zC)>`S&SNT_xy1XFvCsW;Rku=9Zu^S2HE}C%Z;_60xLR2jJ2^8_Ci3U8RcuL;;<=Jp zTMtQ0G!JgsuQ|o+dRkw#d92dhge)_;<Q?12Uanht_x7g0tAx*<?J(F^QG2J>p`fdJ zk?r==i}Mxi9>x4r<#^Dxo9~*^?1$!Cv@|TXUI>vsnf$70!PI%zAHR9JXQqYkd=5(u z_jCRXv!9;7>eEx1E+NnE)VF3{n>v59XVs&;v+1>2>TgQ5Sf;Rrv&^)*y@5Y9)%Azo zo0V%57ji8xaoAg?mvO0r-%PT6&k<hsWXB)N<gQq1v>&mUw6bm;r<eMDg^#ACg@tX~ z-M&uC?J8j@+Ri*XvOMYc?8_a(Yv0NnNBoYMxjXZ;;-iF^E&c-kU9PJ=iK}bd@%EAW z5^Il4>l58ex%NwaGd#4c?MTznll`ykYMQ1g##Kvnp5X}cTlaZx;iDDvDt%Y{6xptD zuqHokNys8$cGsPU_SZEsUOg7j*0Q8>=Pf^Xp6e}{97mZmXUbZ4D|$Rl`+BF>*6P*c z*QaN^?C#*Pj{5ebB4SOoyzpCYgKq~-N`L%do`2=-jV~#?FLKl#&^%idu`%lGxAvuH zPiw9CCbRo-oWFSf9BJ8!4|HFy;mvseUAAG`?4;@%-eak?uJiVrxj4yQIJiW2y2UR4 z+wXQ9chM1NwY$GyiB8>*zp({R%?<|Gp9q@$degQGub(uFhwC)6|Et>gO#H=@4fl2S z&Ea>d@?C1H?^Z7QuR_psZl_>;cjoPY+jsUXuszKlxMjofv`k~U$3{K83k^OlRF<d~ z+iCOR*wR0{HL^I;d4DOcT4iQqRR8tNG1mK0X@A}*1nK@$`njpG(^6(l<q@g%b58vZ z{8zU9_w|D}oc>H$^|oc@iN$f;?tWjRtG3LT^Lk-S^PJ*|(#?u@o<x6;dcO3LchgRB z=l5C@SSDBRs!!Y6)A7NySMABf!iQHgt!=W8O)71-kvO}2>3Kne*s6zXSW{0%x^N!w zX>&O9F{7ot;QZ8w0xzdtO1k(~xB7vJ*qYEzj^AfjEIjy8Q7+ENgCpH^_0sviXVapW ze_3HF6?8C3)jj85uiqmz<2ykI=ENvm7P;_1TU+r<jp@y(`z5Bj-cr|MmR8vc6d9)& z-aR^fPUvUVjT=p`Ur>C|)2Q=pR*#w4^Mwqj^txAx>Tf=<%Te>Nk1yX^-%WC-b}TiV z_)g}cfNibd;&<2ecv_!7ij}suJ|tYS=9y6Y{kPX|p4U6SNIb3FF4A2<tUr+VxBSYq zn^xyCuk0z9?mP2=_wNe%$@`~N-+Uowy(4UKQN7DOZ9C^R!TBG(XR8*?Su3fi;X7I7 z(bnzW@<qqKx+*MID%!R*>if121*w})e!H`><GH-}M7^53KM%4M1urdpvUsfu|FpR~ zMcZ@|Z!Fzqudztu(S<)v6Q#CIxjyS>%1+_^`I@s`oS9Eu6`G&AG^tN*AJ>YiKdujV zswq}69rkb*R@ArfUiz!$PO=<_*G;3zp&_ix-jpUz<joG_dyyr-YnP~|vE5aEKcU|* z=l^dAn{qIAyYI|L+Fb=Fb<8EZ`&KM6PBy<ZUEJZ&mGgGSmjX=X-zGfai~TKhs_wXc zZ`uK!b6b~Ry~i)RX(sDN`MI<H6)b3OE<J3+pnQPe>p=R`h)(vy3m!Eo2?@m?doDEX z^{%a)KP&eaE|66B>(dQ(QECwkP}hHW?eWDVUYVUqCoi#?FLs!C_}=Dn=d{y@r$77e z()K_vCz;Fah106_-&}hFoE9!$Z({J#JYA9b&g&qLO0Vpz9f2{|1Sa3~UFWlHE2p9D z8>h=jr5pUXj^5gS#dqqP6YKv~elU4ATQB<2tK22`3bt^4o-5sP?P)syN_L@w#jYoI zED<U?I`13b_SM`=&0?%|*aPRA=56X?Xkyv+&2sS!rVHon!mnzk==U5KRbr84-qm(? zSNh)GEJL5~g2A6f=6lqNsLZc?vo}82|KnBhtqsu!u5R5u?eVnJJHIYG$fnz!?f3hL zAlJjhbGZkrR$u!)Un%$Ek7;{0=ZSWPPdk_y)c2F$<NQzI02jlx*H>>Z{Ve}muvb8p zsdLNs<vp^z=dX(LvZ=oC%6j)|UGEE@nM(2kR@w)6j5)aenm>7|ZGS0H$VE>}>DYO_ zUkgfuFE5&wyey$4w@tTixu4$o&5FABmbAav+Z%CLt<TqJV!=_7kPm-ez4lozkTTn9 ziBR)ep#$ye?ltSUEOx$|*}=<i9r*D49?d&?jJm7N)I}uh^?VmSC3A=O`R>Wt?`N9m zyk<+0n;C7%{NnUA`30WaJ=1no`M-Vk?t=O%|HZjUX$O`l7@PWBivN65<n(>@t{Rrb z9KvRTb)F|X%HE1Ry4rm&N&Lw_F=HmK9ShE~$mTCTH|18uElp#|-gzd!xuX@|CPli- zRUa^0%y&~h>5a&W&?XHr?aTY?r$)4%Y>{~o81H$Rm)rQjp$VmnXP9+=v+HBjRhQ@A z?!)r)y_w39wPNQ2RRk8ZWqz;Y=6!I;_SBT?-3woOm)z=L$~Hf}L3t0KdF#3G9FMxI z){2a?r#*V;FT#3E)mKHmt9PQ%;XU=PPY)d9@DlGkDsCrOt2OszYT4HxONEX^etweo zTJo66l*9KN?e}EVr$?^rx1D&9RdfF?v3bcID;-i68~xq3W1^(Ms@wye-Aiw65GyFy z5N3FOPwWqaWlolV|31EStohXmv(+lo&ClItcJ5qfZmDqjv-aC8OT{H>W_!&(dR*SQ zl_BeWRmu+a6km>IhR5=h1@<*n?sTY~uaNuf8@GO8$#2<xZ5!)kZlAO)ZIan~U_wK= zkty?B@46SVUQfI?Y^&ZlX=ZBWu6S49+}iicW^Jqf%N=$8m0R?j*=NtFa=gfWYIr>$ z%&}l`-9nj%X#yMA_e<oMr;7g95!^G)Qt<IliHr{dTkXHtzFJd%M@^<hJeSedb;+Bf zeJ`#pIkIST*s7T?WcMz-*>B^#N+N3+!?lM>%&#Zg%v8Jd+HA{3A*F@9H}0x&7q;GY z$jWNi>heVUqU7~Mo{#*0Cswaqb5T6{cX4ia^Bb2>1_H4x6H}W%>~dDSa5e2S-&(^g zqsqO1`>nfGPrcpUe`I#)w*39>S%)@w7A{@9yDDdn+-%A8<L~Zm`N_Zb5x>>C_ywoU zs?6j>`mR*RnX=53iH@6DVV?57x7TrFU2o6a4{Nu?&*|B>{q4)mk-b%$e2mXoH*zZd zefnB&(;5MvxXiP{_ZO^S>uBj&<ZpZPx7_U8npVzV9yOWDu6=lW?*EUEG=BFj@Vqr8 z<V&-I%Z)qJzH0fN^UvRO=-0-ZbJO2OEG>+FHOcg=^v;$=b2M@zC3Bv~KG<ce!^rF& zH1(UtMDu{Y&YQ&?Ti0#6GW(;t(Vq=F<JHnHrU!M}g#BdWS<|CuUz7RyI&Vg+gTm_q z#d*BjX8!#!k6Hh7b9W8r!;c?dzghZa=BFPApSygSzCrT2#+IFJ9F=Qh{%X2byB)KZ zQ&}@f&E`>s?y5j(53B2k)}B2t`S;38^;@d_Vdq#jsU%h3xDX=2waalvkeB=x|4A1Y zf9N)}EepMJT}N@hti9Z?s&Ag|FRn&!U3~sp*5o;^HmMmmwkB4XM_0{~v5O6s(sG%& zHlEeR<x+v{^T-pf$#I2GTI6_FuKiYh(Nx>(QOQZiR0BD#pEvw-Ki5qCZ1ghw`R7d0 zKlS>jGAprdOfbf_F~QKp1h)OaNWsw9$Q-^K0cB%?iGhhRksA|Aw<lMm9o(fWb$eUx z?QOZW8z<|(DapCLEq8J9ZQ0T{OCJ0At>1d?-s^W;&(}WdUnTW;ZMf;HnZ-eqR;@7Z zin5r=xMYsZUCGFq5kEYp<j9<9$a}S{kE<t(L0jQu{DjLQeUpL?AG<5}VgHN$EjzRi zT)BJfWZ<DIfA!ZV@~Q-yl&U5sD<-BsOn&(Aamruo^u+)A&g$WILZac)?CSDDq7Bvu zuHHNLQD6083SS9>#je%NbLYOzWf03^Fjrr&+VVhe|B+AmY5%RYI(JOoynS`=)UDQ> zy~}2q>Dt;J-Y*yy7Z)dF{QiHEhYCZUSy-P+NWHooL$&(zdY50XounRc6#SjN<*0p5 zsE)6yZqA+mfqI<1TX*j^mN(wKd8y_D{bNtkPCnr%NMH7M_KGEoTX#%8Y%jCp;NQjR zLT2k2KJRy}H2$A{|BcLC8`;|b;yIa*Gd`Z5q|<Qj%&a~$J%@%hNB*1s<39LTdNb3G z$pxD>Z2Yik!$gJ{4~DpB*UtRsSo!cR&kyyJzxZ!lxp?UO^_wSW9=UYo9`A$nWX>Pf z2Y&9FS;gRSC$^En{{DackM`jOYu2cUnLT@_lE$!l|M3s`@9PsAp6<Wawd~zGvpAJs zIzBo&YgBapSNy9^`|;gDcaF^4z5jF9rMzNLNW3O296sUF!vE)Q{lD$ybLQoGZ?~{K zJ|Q<VxpVuye!iYKeez#>+f_4e{kh*0@o#VBwTqWJTfWD4{(pO;UiCd=LFw<+PC~Ql zxu#8fQePERRJ7fYeZqx5(JE{@b9Cyzek@P;Ti^A({=<KN&cEqAnhW;+wST?*XZS;v zdhK%MK!u;~Z@(>D_y6>rD+iC=`~838Lwnw>jQ=nF{NFDhSsq+1T^#7H{ri93<lfm+ zdc_Yo9X)pU&ae1GKg8F)%=ma-nmwSfX!FnGb5#>lo~Hce_d9&+*qw8N51xGsul>J- zp-=3;V9=$DcTOHUcCpLl?%(zQd}4L~N&jHa<tr)udwX8J+=csl|8L#4<>zb#h6k($ z?YARJjh^#w%;kDnnJIAed&(cv({^W;{`|tK@~okIE4yt9lXTFbjjNA5*Z6aG@+|Fz zMya|X%lX%F@JUT;(3d>@HuJdlwbLxUZE{^~YQml6C$H!%IMQCg?QC3s+^A=|MDyf% z^=j{IwThji{x0#>RIzJbCikr6rT>pb<wdU+@wEDf#Kv&1uG!^vy8EkG$y%M{|FKi~ zvnm()Hyt(8u#t^hw?Fsc)F?mxeQ!TW?%gJSHYK&xg=gaBdP^Uvb9-N2<B8usY4-a3 zW%J*j-4!0UgukR=p~<R-Ur!n<rT!J?H|0q(a;aNREMRBkWKY+d5PYz){;&+2efH9f zCFPB2OpWPt1Fu|sa%j!H$vRormm95bkYQiJpu4wx!`DlOXU(==+x;%(XF{rkuu<E^ z%Z8t3E#3O6VejS)i_$lWc30H**IV#j%5Y#=<n`cv$b6Y6iZ8B|{qqgGTd~1nvbWW~ z?!(i<x41l5c9iArvHk1y6wNu?e%SPXNb&o7?8Utfu1Stde`Ovi=Y9WS@wD#io(q?x zPha-I+pWs?WZ~AOZU@zhiXD0;Mi|aIvHSA994r14Rg3;rT|VtBd*h3U70dG<OZ*)e zW!5d&wa=(vt<Z(}6``v+7H(Rg9z9d>MysH(%CA?6oT1L=HmNVVwymQ_m+`*Vgo$?1 zmK}AK{UP^zGrnHeh`+f}iBqGalfhkMQ5civO8;XIEq<;MmiqL3)B0<E3w!z{8u|GS zi0@g{-6JQQcjnNP|8E<w9mrGq{vtSWn&JwRwJhsg@6P!0JY9an&zp`KcV;HCC%V{P z2wXDf+$+vynF6ye?CLrlH{%tjd*Z1btd)XU>3X^*!pa+kZ>t>e641<g%al83Cm*LK z->vBL8Ujo0VnohwQ`odL>EHS7jchDCj4lXYtekP8*<;~x;cb$E4;p6Z&7UD!{&$s> zm9zNGqqg6)*s`mig|r*+Gi`~Rq#i8J$DOX1R-FD=Z^w53?&bXNODC;;)mxjs`+=uP za9l<9FV7P%mtQJlPVYB&c`#{hkGA}yK=qg5-$nOcjj?fi8@Kd3cPDGe%qt5!9IP69 zH?O#P_;4`mp+kbXXN_ZJU2EDupFMO?G3rmlHnDgWd)M_30+>AG?&qHWvZt<ceqKRG zp7Nf+(<W>?3-3Ie)7N(1^=;dx4%tTMS97ycg9^@Yz9_Oaw&#tSqbOp1b;Y(v|DGxf zznZ;OsdT|d9(|9y=WpKWdZHRSePyudJ{eJ#k1Im&R$nmQA#O3J%l`dpg~AW_gkR2$ zHBXy;>OwKU%X5XDH>Q1e_^Ze9+`e9{`_#$s<;<B<H>=}L@Xc2&`Dxac-FoMjaMa0l z8+%Uka_;vvYkk_3!<hE5@AuX1k7a-Gr{tuU6~*tKbYykJ^=+(Ko}s>nPVt|cG;Q-F z3C9)gt7Ff{?(=ngdiK6qPH16(kjv5#eW%jvj+-~eO`ZBnCU^4oP(ePyycx&je*`XE z|MKB<%T0?oq<At<mODf#zF+_Rk?^(y`=Ukn_fO=$rN5iIB=p%!H{)xS)~w$OMBC$! zTzoUT{!C}o$JXsX?pwq>zxlIwW*+<FH%FJOT2fzM5WC>u*X+30L8krNZY-VtuK4f5 z%l-+IdVGCbSJawLpRz;sh~|8wzmL4R*?-+!HT~o%sU<!#RynN_SFYAS?OnL1<gLY4 zP1y&v7MojyzU>sBarpJIh%?OHbGLc7D*X>X`+CNa59hars~HHqjr%r5Sh+%CVG@tq zopT>NH8_{vE>=Cpo8D5#cqaFl(zINg34Uh#L@m4i>U-{7vE%;CqjklcmUk|TKW+WF z`E_T0u|$9HliN>LMVE-n*S^rRDL!7FJiobf#-YIE&tm#Mw(<!km;WC*F`N6_&Q+#A zB_=#M6hEz`!8kFqV|KpIv4a<nlz&pLGE!4xIl%BFL~+wOjkWfvXD^i+3jFEk7cGmO zw>h7uFF<T{;HJl4)uiiJ_`ay^vEhEne5xbp!Kz9t$0)XmpG{;QmM9;+x8T9TfLCj8 zZ<Vi4tJ`PdZ{EG|Y5byiySaPk$353%7LC|<*2&6e=E~E58z$7{Ypk5^koDR9fe`c2 z)~TPvC8ue3$L|%H%y3=d{BK9MRu=VqGm)T)TKA(TZr#Z^zew=f&nbGd;|~;Yy$DDN zKWpCaI>-3eVON1ek!Fv*<v%crg+=|EeLy~vUHGDJ*SA(4kK)H1pKT7VJ27p_g0c&q z(^AVGZ`3*F^4H@TliBm-q6;RL^ag5boD1<gDia_o`|nP{gt*U46Q?&Gv+92!6Y+J& zg`+bb%xDtQP<|n2ZS*SNGFDdq^13&CFKzW&W1g+&pR?}m{KvDdXDpnXQM_PQmd^Q2 zO`TH3yFcw&zaWj}_nTwS7#hVCjD3m|Z)+M@M{}F3nH4o<hRj3Vt$PlczFE8SmtDw= zONVz};6IaMneM=7TFs+f_Mg#oi}31+rzBSVEq>7`AGuoQX~`|mq)B1k{8QrIJ>?Co z`Mt+OWon94S9ZjmNhk7N_%w=re^~sThw;ghHIhlkllApB+}^oF*h_Fqvg+*aJyFdU zmPH0BNLqa4{wU*I^f)8y*VJth5&j7dA9u5#3Z2@V;!q=-ro42$NzGqAv(23<f@XX_ zRFAam3Obmd^6dD%1vPVorWt&)J;@yXnN|1NFUvdf&igp5)l&o*ySVfgr^W2QA@%aA zj%R-5#+R3Bl-`Eu+}`RPwSL3u=vOlPgBSODE}Fq{wW&p@N7~%?rj60{&SiVJ_-;(z z6#0NT-DS%szQVf>FWP5)WKOp#QSiz?(EILMx5D`@uN<b|ceU@Vt#1xXYMM27Q%$H? zbGmDkfv|TNSF5pt)mJ_Jn9KWKip~&;h`c!0pe#wrIqX`5QSG|(JA0#6?iE!!bCa>0 zY0cG0=7*<WRBu?PW?EHYZ`1EQMgGrw{xq-oAM)n-JI7}IS=1928hXU&v&hs7+n@M; zooS^W^yK7{13U(kv}A5Oe|P45B(Qt&E`gvg^_9Bp9x49+X71&&pL;@bmbzQ&YRRQ9 zgMJ)#kAD8xhBx)~>n#F*_bhvO_te6#x88N%n!JCWt-zHJDvYzZjkC18Kc%ItVcz6r zs_S$4_s^@juVUi0ym>Q!_<irSsNN?ayx8+zsO00uttPj&2uK|X?=fXs&S@$C=$Q7W zG&f6=vIyTN0uxKucrOil%fa59R&_)7Uh9O~U(b8FUS4^oFnzA?bER4POIRKqc@_O{ zv-Z|p**P|*K?N_4J^c3MAahcb?yDb~ODmT-bvqxHiQBL;l<)CL){Sc?TyVc)Bdy{W z-omMJga2eWSI2U<ozlA8F-c5UME;erKUZDr@65w&t}PL=mcxGP3rp>fiJuo;d7vY- z;;yIa%g1uJubq9n%$et4NR;xY?01X5OpFXp{hV3)HvQ~Gi<`%-3w9cu+!Rq*{W3l| zc*#9wlLWVwPJ!oz-IG41avFaX`<q^ER&V2|ut`|xTITZ=TYK}&*qi5`{B?f8=~Owv zvkE6K>YS54R@q!}f+tUa|LjAX*`B8NKNRjWFMO^qIwhb-d3JG;sCDYh9hYr{*Uyww zkTaU2w5H7?IL|#MWJ`zn(r@mEC8J+Qa4m?~R(g(Une_wzYs;(T?p(i=vHnT8*O~YH zYTQjHzd4%!*uOU6$Mm^7XFu?i+<8j8d_UhR%>+$j9*<v1e^2TgZIqWQa2NajyY_lc zRlw40j;$<5xmOuCE|#9v>bQ)p-qKt*+L=$}N$qm3yTTT;4;el;Uw<O(l!3_d8K>Lh ze@|Pq+smdUEK*^Pt<mqQ9seHt`uY4iu`Hnbitg=+8$O#yxwL&>+ZnQA>fh^=o$N$U zr`Q*NVEV2UdR-;f<?m7F6&bp9%EFB2H|*)1XgYD%_x`gtL?u>FYdR^JcI>d(#y{V< z#h)$GR@hv%$>h<h40AJk&f@3&JJ;=-A5`OeR^5EYjDNbT3XfIAZqZz$a67Zte$!Q^ zL#<O7BttDLALW#&Rrf9ozISo^?#mZeY@4ul_30}*lXjl=l2yC3cZx~%%hf)%VM4Cj zli9?dC~Xf3dd?L#OPix^cJ2Kd^LqCAnsbZ`9NZR|UEg%&ox7VHcWl*4kA_)4&+zP( zX?iHXjq^;vF|~EdA&>mJ&zw@6R?+ac^1sHxD`))z8?B=XPbKY`qvKq?Q$+i!^4{>v z-8WBuO}N!5v^VV1MaIlEm5&Y2th{*5$n^gV*+XA`cHDoNfBakI1K0n4Q#_r{W#%t< zSg@Aym$sS4>yLRG?&h%P#y^;+9_gDKqj|@#Q0Th2xE!Nug=y}C-d%^;oNl$}Jn?vb z;8gmScV;D(2~BzpSEeXD<Kfa}3l@G8x|_4}l*!@RZT>ZlpI%<EF>zjfq&>j0=*F#W z0YWqPe0db=81-1j*r_Pr`FC^N&4qQlf6U?jQXOiuG3ao=K%>ms^)-1-3;Y)voL2h& zEulQ)knuXzDZd1KP10DcgT>OPf9F1a<5pyVPQAp$c4@=%tJPi>vH6$HinHG>$PqA= zu!*nCnL0(3+koS-&cX_}*^PnwtJ=3J*#3^w?RarmB<|+1mpdNu?eM<w?c3Ean=<|W zHplE1O>eKUQ2!cUWR*3Yzw4Q$M&XW27aAE-Lrz?tSuAib&-HD-xpe09$C?xOD!sAw zFPOx|CGT|0GShp>{<AAz>BpbDquOw2N$~F-8Jw}lcGYV3TKLQ7<ud!;du{Ra&!bE4 zSIkvhWGcD*gx`)UHa}e+@;#63ch*aEW$Vv;dg#MykEwIzYR_+WD~r;7=bI30m*Um( zR*Sntp7+Ee$&1WodG@E>HP0!VL~Q6)R^vI`Im7vnsOHkEC)PhVzR0}${Q<B2=jJ4x z@zj6!OhoUcaq9ZKOcCQr(`T?*RbDW!`Lc!k@2d01S>qn5=Du6dFjx6d?Z5pcPMZ%d zoE)up*nv|jK&D+IBg?z!Rrp4MU01(rd)*f|6y3CKA~*BPzU@!WaPX}^`Tt{{;>iu$ z>sR=+{bTdztg2X|%i4DBVY6p&_c?db8=F!ecHernX7drRRS$#LiS>k*H~P(r{&x6a zV*IKHrdyY#-QO;lweGG?(v8A;^~>v@E_iReaf|RRm8DzfUUJ<c(krU^RN?xL*s61z zq8X0}GRv;1{=`!7Uh=Tu$`;-I8H#TI{xbA3Jmy<15ZbnU=3ln0F?o7VLMA*c=MFq^ z_t|Vi;oyrC^J8^dwJfq-_WWe}wc3oC<=5#5r}Ymr7e1T0FLu?c`CH>^;umhM+EK2Q z634lEzS#9(KUYRx$rFnT4ln&-+U4EBy|XLS;>5fBD8>sO)>Ah5PIt;qZGSxX+vF4e z@g|*)Do@fn%}$FhII{h8O;&T$1M$<l*Rf9NTG!5@du#e!Imfyi@^#Nmcw@hMo_qhz zZprHP_paYAt(56I(BZeSQq)wr?Fg5t=zG8Ye>VBo?w_Re+2NkK_oT!3-j@ffuDkM~ z%b>*NP0E=gGgarEbalLvSZ8=Ce!biAGwXaCd3oH8OQpU@tjU%5q;<;p(5i(VN(u%Q z9Gyp8!q;*-Txg3m)@`ruRLTD(x_|eM2g~XXJ>+ZbTQ9<`dzgEA*otX>$IhLdk?GvZ zp;REjvXpaINZysy+T{zbJt{W6)^8)ISQA#my(l*Rg`&;>qc<7sglZ+LK9s+yI$$$n z>Fdv8(Ft-oCr)bLk(5uGa*y|N#|*nUYrd>$m~$a=#>&<=>TBi{dVOQucX?G|@_UgD z=4XZGrSB0xT(P-!n$+D4?Mt^KDuS!JlXCSPMOvmD6?9eC&z=)8?aSmjR&uOUzCV4$ zQK21BWOgenTx5|I+c#@Z?dGx+w<ohA?pG++1%7#zaC<@j$(^4q^PgP4^Jk8BbF1yE z<8jZ`+RQnxSn*8cR`}CyJS}T0qgL1XZnvPD=a+u<pRb%1E4knQvSPD^hsVOJT2CYd ztS^3dwYtWly;DI`;LtNyo6>y$@}M0?>Uqna*nG$?C=O4$exJi$^4_N81gp>ojgM=j zSJz+2VXtOq@J@MbX_TY+P`2I2I6CG)<OMcHrZokzzMt}c6+G3*tasb0GO^%6j<+4Z zo5xBf6<wqHQneqI$%T(OU+%hcVN%xCGPC^KhHp)aR4zMt#ZO6p{k!H})N`$eLT39v zEx5gQRmcmYX^KKJF*ck$`%?Qh?@nEF$y(N4E?KO?SWLrDiE};6o3@WG{GT4{NZcv# zzWbozM7;&?iTuY-Hv>2QeYi-H<5<#%W$!FMXc~VO@MGfRC_cYPQ|?OjjSt3pCc)xr z*$*#m3G=tw@wD#kgpVrsmfc)>-FZRTBJC2F<giqGzmvW83wM7060LetNbq{?Bqi5B z7g+B%?2Rw*@{XFcc$LV_<}FQ&-_0*eUh_OmFZp$;Uc&kN#kZfw_D@W>>9$0)^pm;3 z<z0Oi54S2lnXtw%Ph##VF8R*?Pw)R>THX5Z^z|e!*B=$0oyttjx_gpjm9##;+q3?G z-h=3(sKdUOJ7=D~7wTlxu9>F7XdRlEy?{?tVBv#Z3q9%$INba9=>9*p^pUlio+-zT zZOgh_Pr5LcX)OKD*A~2A;7drs(m?GU+E*2RCX39t*uUUN^^w&=M?^2Luikv{{>$t` zF;{}ZBut_Mv-+k>M?EoanxDTQK0V*~Y+Z>-#vA?QvkzXj2gG|XvohIkel>rkjr=50 zrU!zo{r}#7?LOc3DD<&>#uA&!&kxtl&D}8D<G9ECFY&)#hMjuoJVn5QC!AYHPB%5@ zT7r`84FS*hM;N!wwrLbiv5<fIVvb63Uwx6kxAFR=3O;eSv#WM&t1u8>V#M89w4m+e zhPVGRBE05ov0>$ms_b9(zVy_IE!WQO4KuwM9CcxNOmo;@m&3g+vD>YqHd|Z>O~3HZ zm+k6}_eWZEgZ}3Ee_5!oR`$2_X|ZsbTJ@K?84@wm<ZmB5yg+YTOkLk8HI3?DYmH}_ zt`7^-@HuRqwJtIseebV=E$z|E+}B(Qf6j3&vwQ*H`7e)4YJY4k40~|1<#oo|HNMwF zkMZ%ds@0ct+}+{4>_^ABl^S|ebNnB)ecL4ZQ9LSOZ~5)LiHXiXou(yAHtsMvw))fQ z`I0);yw4bI70x_2)j6Cv%^+_2%?Y|Ydl=T0hsYkESIGQx#e{{7`N>;XZ{6;m{i^R< zQzPG+rxL%qH%^G@Z(VdrbZ;?xYVU$9-<X4e-D`H<o!$8L@dw=_-cz_z{yD~dyyM@Y za^cQ2;dPhywh4+q$<t#uD=nI8`{|JQG(SbVd2J5g6`Ks?dp;LjTBxYH{qcsKVF`7m z+dpm0a^KD@c4@=)a@+4WA8_;cYtG1Aaj5dsljh9~Av<H;Q^TB6K3rNmmAmwkVhgkG z!4$WDI^T{8tx36X-RavGcGs&+c|WJb7o}XfulRWSC;sHg&x=+cy(ZipsCl6ATG!DR zpNob1LTj})?~s*rUQ+Rh)$PXDkEdczu{h+sd{_BLYnr{utgZ7*X1-b5y)bCzlT%_x z-t#|JU%F=TBJ~S8eM=N)9(g@Ur^7W%W0rA9#genj_9Ub{x$AIfa^~#VcXMrnE-PIz zjQpw=!`Z=o*S$v1rcFFBxi0ggeZF+Bo#~lxv6orI#hdT{?XGKX6wtb5Bj5b?`#a?u z2cr{07%!Z^n)leknfbd^JKz1&(t5ntgSmIFejsz%WcjTr8)rTj3fJm9S-IETR;gC* zo96z<O}e-1=7i?BT|5|Son-e@Ygc>3y4iIOqTJG7>O6gn&Rojf+wwffiDQoMv6V}& zX>av=<~^nN)G?Fg^`b{=oK+fgMbvLeA8bf&DB)CJv*o8t$CmHDH{R`udmK4)+7dlp zFK%1y)QN1HWjlY~F!ANi{g!!R+L^`r4mvXr9JsZwblJ<3SH5lg_xBsS*O?g)cE8aq zm#-FM;#wLp+dYfnZD+%~1H~T94&7g$d`i?ywc*$PccD$T|Jv!`-`llIGNQiDZnR%= zaQ?6PYgU<--TwJ`RpzI(r_NVaR4@B<X7>Wl{Hx#j-dvj!7|&r8ZZoSc*ire5=AqY> zH-lR|yss?DU(_{w>F(uIm`Xd?{>+&kSAEH8wbSnXMe^1g_wz>m$%^2AW)jI&$h9YH zTS%2+rOE^2S<PR1+)6DyHeRURCnEBCUd=A$9dqJ~%Ig#oy^b;bx9KR`nK|wAsV%P` zq|d1HF5BIBJdWl5>W}<pA=84Uc;3i*o*lPmvf9O>)khYv?sGn#AHP1w(>DFV>!u|_ zy0fm!89DiK?_d94(s@U|nThzLWq+&;>nnb3`W_~te&eQ(E8mWXug`RJitP##&v>ja zwy1UYj*Xn>d`s@{w^n4X>2nTk-Ng0%mDZah4hR2y^Sj<?QCATxA^Po$n}4v4D|7m8 zznH49UnLihZMvi?eD}~|`=7t&F5qwa{^sA2eQ_u4Wd2WF=DFTS|544s?YDQ^e9C#` zc<t$PqiG9Pt*d{`a$~V~*0aeG7ftSX^Oe2d71R1PB1|o&kF#X8<Bz!IVq5p7?4BkU zE3lxy^VO#%i;cDk&y`v+UrBd$`!&s=3xUjcre_PhJ>>fMwTb-!f0bqKy}5aNR>W^` ze!(YTcRg-jW>Tih)h)L3-v9mA>U(Zkv{b?wKT~m`3!l^8$$wt@@v`*1))%|~S4%E; zcz8bFvdGd>byd5_sx9$vud?_}_%+X|r)_!RVT0hPoyonu6OJ;P#5uJ^8tjl*8^fJe zZM|tx*qcJl9dlO{tlN0vQTfL8FU9V%_wH=Z3MkUx{^0%oj_NgqldGi`ikY+hc>mzW z2f?TB_gHi+*U&SGW&hz~8=h%jB>vsF@c4nlKP(>Z?_7EGsN()a?uZu8)#k|$&g@W% zH*B~qp3!C1()aGc;^cYXUPUU!uW7q-+l_7ZsSE3umR&2$xm&;5S@F-D@~NE$^AA4> zI&toUY}XQ%V-Jq{n<#kn+<Q^5{_L~oUkXH%D@+&b)&0_1zhdpvD<-!D?N9mKXv_Qa zJNfJaHHqXJr;m?H>z_(?tf}n3y72MRNaJ}YH5NZszcb6FqN-!}9NQO%FQ>Se=fu~f z@C4S~c^5ffMD&5@hf0m(8wzz|_G(_e6wt^Wu(fK<{l;0GwtZ)2q-{QNGC*$S#M#F* zeR(eLH4HrJs=xHXt;G*!pYKonGc)<W0sm`m9iL|1TYp{_KdZgCv3|<UIabzu!M6`T zU;SD{p?;Uh@oV{dTP0>CGO78#vWjo4@cDlv_?D;EzsvVRJIjOYqu#%qC?dAF=%CL2 zd*6z#9!ZX3@BiMvm1#i%^WOFG30sz)e;*Ne<NZ3P-*(kb8ap;9K9iDss?uH7xL0^x z?bl}Ki#{I@WSv=;<12Tn$~K5=y4IXS>1#U0XErwUy}fztlXQ69tisfT&Fw)`dbvOS zD+xHZe&TF<gG9X>TKn${?bK}88x(#${rTUj=99d4Hs*IH6o&oylhr=wx2J_bqDk@m z8s^N+N%>m;F1}HDeV)a$`JIAn-*-!k&z54ZFBX??s?<=uyX--~r^oEYeMefB9<>WK zzN)?8rm6f2LHqU$!$3|MH9oUSv-|T6SBkrwEOgwOkrCCr@rxD5YIlok9@a0m9dh*U zxyr>S$5CMUN^@$(!p#dV?_6EJ^1#Ha2E2xso9ebVmKwa<XYAVGYAA8z`n-p|*L;pf z9r>WXRzRT4O5E#f+cAZ*ZPxSN{j2jn9_8Fz8FFIo$}7PODvt2(jJ=f;-=J{q{@<e) zXY?itIWg}I+v*{yxLaY{=gU*v{0(Pscl>g?Sak6XrPNzn{C+L2Smga6M7-}t$HS+y z_nryqjNkVpXzFY|%`H1Z+Y`3UT4&5x5-;!4@mQ?pWv`3CgviHH7sC!_l&1>mI~MSI zIxpBMWcImqW<XLxAcqmJi686I{lD^<1*au_y&n66e;1e6{c^2zhdX(C?)nycIJXvO zeDH7Kf1KTSD6l=bLE4S+*xQ$qkq#bvReyNi7rgV^cclY&gzrqg_U(sKW8NMU-0x~s z;WS@-!7RR+Re9|tl14XWXG-2UDY1Cz#0&1F7JiDJCpesQ^rnP+om79TQWlx|EI7x= z!M1i)?eDee%sbN8rC+>~y=6ySn8oj+d9CmN9)2f#$>Nx9`b+0;--Q>RsoDPhP3Ol) zW+97}_)e^q`@TAPgS8aH)k7jm6DL3SWIr?iw~hkOEt#?%3u?-~-m~;=;kVu6UFNvs zv!R~sri$u9x82p-oIK{oOtw{&-?neh<u1PSQ*Y_AR1{Y&Jm-Jrx@j@TjoljDd%ZfE z4l%`czs|X>C-L#QabuOrEumAcHB(aT#6*8f%zN^C2eYn=O>F+(XW?H2Ce0H2HhH17 zf?pWhH1S8QKQ{f>z80QoG{1)F!_o)3uPQ_v)^fj*4OybUx_hQ;pkUiJC)RmC*YkXv zSk(SQXI0Gu8yQdLz3IPlV<qR^I#6o9`M-|R@--$V&&*3!Upd|{Uei{6X$z0ougP2Q zOYL-hE*+rRW%u>2)X{(?_PXq`QU7_8m+jNciCv(u?rD-v<R;_W-3^xY9+Tu3ZrSyg zFH%gneTucD(8l9$uHM_Jmh$k7!l{mi#1y9s^<3u`#-C|<_@S~tvE$b6y%Dp2tF8E) z86Lka-ATK7neOEWf0Fk!W{b_P-de4d(tg|YW^mbwPTyXStOc1BIZm!;{@3nHty*w2 z;&H;S@9Ve!<ST!Xo2hJcD)AYoO_AN_wi`Db?CNA+rZ``(Drq-bVq-Y{g~?oTZs&r} z<=>XBzM--8U7K&T99!|J#?PKbTjuXFOI6@{xnkOh*@hp~pWgiJ9R1lZ!gcYZuxM-c z-FyDNc{!_mnat@`nz!OY<0jpGKj}eT+RxNn-x+%KC7Z5YdGF13rlfs`oA!FX-+{Z! ze)+lBe!WqXyLrBN`s~Tm3$wN?T2*XxO!H3Mu8)RR&hhy%R|EY{o3ftQ^LU|OYyDHw z+*r0;tw-RuR+zX|=Q{n(*ZOb$sFSQ=JG1n#hs2&k#oJA-r_Ad0+VRpkA@c4_3E}Pj zm+PIb9(E1t)$LT<9~tpeQ+|bKXRN6BO=~x)w=Z91%&;jmbdgDQvK3!b!27tu%3?)* zzSWCw`$Q%7K3Teb@}G6*Pj^4F|1kT|^!<mwM5#wTyxXMXBa$y^xV_r#^`3a^2R}9y z3!QGZj97i@={awneZmZ%S{YU<9ppbFoiFOE#gr!RpSw25<7nxU_6f?pJ06_K{dr*f zMg21Nz22*S1wJ%8nHS4;Q0lUDr(|wZ(vov$1@og$U0A<h4NvWjjaJF~#Pu{MO1s`$ zl(%uMy!i6>F&oP@E;Of4{&uh=p6%F+x`%OnAs;4PtbP1?=IIZ0Zo6;X<h|>?I5B^! z*oW^g&;FcwA<Jj)Ql>REJAG8R<R(3So3ueO@?N~$sZSZstdHBQP8n=|t~ezy;9$+{ z#pR7YzjwZU!JD|zehRm??t+F*BC6d>6ut|uQ@$l{qx37|GxrQBYuztlnsGna-}B!L z{~4&KuebT6-Sjz8(@w2EUnDp`Puj1gkLgo+cpT66^{b^q=U%s7JVnFnXU6~R#orBb zOe*6hELeG9_seIqGsO<iSn|O8;)VBik6Za){>b0_m)AI2+;|=Lubj><%Z+|FC3_cK zG+Xq=scV+zccVp{jUrEc*uUsQ>5a4%zt<Ve-Po1I$82FI^Xc`E!n80}&6oGtGC9{p znQAH;3E$nj;{Tf29WGz_0=RTD%q~YQzag}K+hs=8Q2jH-kGGXF=v`Rf6Ir<8ah&X) zTps_8ohvrW2l0Kaba)~8Oz?o`jXH(WiQOkR<?>D4>Rt8y)R(;6s@B;q%;D>0a?3AV z*Zj6uT|d*W@sBcNU0AciwG_S9&dCM`dz-3M%d$^BaCnf>amM{gvUGlI^*e)0dQFwz z>s|;5{!4grw#qU31ncFCk!eD^_a3b(RM-)B@JF|Xv-~;F^}Sx@FK5;JZC>Q@?~dRm z`;eHI@8|#Rvk}#}lA*ozR8(W~+OL1U*yYN{ZeJ$za>8rVlW7}X%l(^C!@Q&>LnTDs zhAqK$7tbxR`%@J@h)!EMmu0ni{erjF&aWCT&e+7G^8DlZ2gd^2>$!?pS=!3-XOw%z zezx4|^lW*v>@xPOkG;Me9Nu9co@H!)Hp%jXtmu+2k?!0(_so@C$5FWB)ror+d(%pf zR9)fOqpD{bDA>hwCwlL+<2u4q0?f|O6pdB!KV8T#;QF3Z&}=T}e-VYHmqkv0^t&B; zOKJV(3pf0-SDpQL_sz5w?u9lryB3HXNlo8o<@ST)P{_<C?ZpBO5wg{lLYsg6y?$ff zxei&j-eY%{Fz>Irqh8y&_ng@3Z0WnNj$iTJWF~1Y_P{GWw^fa?rRkF4{*<26n%b*{ zxh@+CaaUeiH6_d`cggM;0l)GM=HF9uIz)E6FmK#e{-1Ge^sZNNSzV=xakoCROm&Z} zJiz^y|K-YM=fkua_ctW%|1PFiCwaHYYw_o;M`izPEIOR;%wHfkNh?*vX+yJN_2+*j zyTy6GDTeK4YWq|?S0K8kSz_xv|0~RLZx(&JEWd4jrv~eSC9C_dMg{(i`?+K4yycRO zGitMsT--h5$45_&?IjUUqK&V*XH|9@%%ABXvg-2;$zPwU{Wd(Fv-bL(o}8=|Wwmdg zs=r>gs9ee9W7-FU-u&|2*3pOcS+7h<daRxz-z&k;`f=OUl~osHLQaS?vkBEbZs_^# zz5ULz^pYb{Khh>@i%s3;=cHnl!W8{bnEAt%-kB=00o=cGxH|k6F1ER6vOZj)?bs^I zekZB-by*>^vYmWS9p9+k{PTOt5s5uL+=o_(UiZ4UpkdF9-9Ox;%ea0fC}=x<td;Dl zzuqmXzxjXCs>&-b9&HQx5w@};_FXE+Z_dTD6JN@Bylr*A9KEUi(#=!rSUGjJ3-oG# z&gWwF`Fh~h3a*85;ahy&@(e>(J-K-MY<#J(Qcm=T-_vUw4$PmlxyfCF`|6{8mVCGQ zr1P@n+E_b<g!Jxj4ZCYw%kLcdBPQI(Q={zNgF8pR$Q`^m<55_@;lX;_bkpXhbL#S0 zrp$J^p}#+*aw~7^$h`2U$Jgw2zsvq+-dR0yoO-LP1xoJQeG9wwUs0fY&)+8b=g-Vq zHQjXIhS?_zt6Ocmyyw))w(@-)&inu6rC*s9GX2#zFV2v(ZBOpa<<``76)L`*HB0oL z;W7p3_!aCyOB~$w4>c~hb0?0~<mmLtMu%@$FsCoDuPX0%?C)R_-j_Sa=F>Wn(=CGc zLsR}I%zibEYiHQwwcg^H{J#=cCOHM0U;KF?dDn)3x5BTzHU%8+%R94_O?ElY$=Dp1 zBpI2$uN#b<IyhdxY|EJ$5f#yX>fg!_ha$QzWWU~cWF<?<pRSW40zUtQbN?OR!`Xas ztL^rux00r~cr{gT%S*^C==Zs4_cLpu@3!aP`%jj?s3~#Qnvwfq8NX?2EnnmFl@?nQ z`X^2Px}f=lOb~B&->cpUD%@Y9xzoycjVE00lJ##9TYrq@wr<EuM)uB&d6x}a%Dh%D z4?0j|UVYWa)<|CScX^&u*O&P71rOR8pYD{pTj#fDYShX7OWtU&aI8G9Y`!lmD*1+P zSlMYuP4#6PefghCbRM;^D_`Wt(epfQx13o#!w%1Uk>=`&lFYj^wdMr>{3sFTT<0?P z^(Th;QuCynkG)%2>vgVcZGWCFCll}a=Viz8j|<fH_#cYQ;B;=@%lA}Wz{tPv$jwh5 z^gO0&pS?6a{k?#Wz?Pc0;O=h!{3YoVWWtS3=DW|+UD&i};+24P!PzevSJXX?oFM0+ zB`;zn{3_|dMxkd<-mnz@oSp8x=ve&mO%wecCr4-8C|g&%^=9naCu^?<_xecOo)_2b z^uf{d@UKmRhja9<yj?l>T1@S^N~fm^;a0o;SzbMLz^eC4c$ie4R^U3-qD47wTl%z% zCKUN^?CUlX3%%hd5a9XE-uY%+8k6+vkG+8bVWmR5%w=^;4xhUC_1|j#B-da1KbEP! z<m;Vf%6`f@si1yO&!O|{=H~L7XtS!`D&Ox~uuys@i)QNfDNMiWFLHYRS}yJR`qeV) zGL7q{@0ME0)jn*~d^?BpjMa~)&wB;uv6O#k>T_bW;8Em!v?!>@OE6j5)gnpCerG{r zpTDRnqeSmhW1cvBbM1v0S=TJvUpRbVpW*o|?Cgf4VeGNjwAj3zH}|-0JGnjjS@^!o zE<)8B7mcg9w2vk~-up-GNVV=F1CE{T&nCog5K-{!n`b^xZR6=V4v#8!T@U3n)AO0j zA@O4G^=!A3YqFLGYu{pgqpqdDc|W^RVx3uS`uzBB51rR;(p?fI9pdrcW75Vu4Q16; zUmwnjIA&h=W}5gW8}~~KqYY2Z_B^*Ep<FQHxJ|{{Wf8Y;xP1RSd-dwAx&M<co;>;H z)W?${n<GDD91|C?pLar3d85*o;M4;S9@F+8owZQ3zVP->yFGigrgKbuQnIgQ`_;V* zC(pK@{QdCsMfb1GO<J&kyHQp{@QCeJjlNFb+X7`W%zYMh;toz0+upJMzP+aF-lOJd zr?o5Ht1k$CJa)5y>-KuCp7%GCInHf$@5`IwaJ0VRP4LVw##yd~lOKLKqY;suY*`wU z`_a9Eb+N;$qv}1Ab3+o@1-(P_9rIpvJmpVU|El`WbA{?bhYjW%=bxW&a!HT9faSNn zPx}kbbIA5MC@FBXGfkUQFS*M`wxopb`Go$Q=3`3_$UEj8Y*3ZUdAzaPAyTgUY@PH2 z-Z{2udbf|p-zxHCn;zkF>~qLn=QmaJPIk0v@Z@g!`1!WX{5Edx75^>MWwt!mwo_)> zl7H{Zq_)Vnw=-_ekhvf8&ec6`wX2G)&bEuWD<54;s8@7YyM)o}*qN)==fs<eG~*uF zMVwxEjPr@|)&|d)6;jXF6?HK6oxRmK_w({~>jNg;y7q3?Qohq~&T7pM%=*Z&CgGj# zj<_R6Z>mBi`Y-OepH@C&%iCRBZ`#gFY++YcE@avjow7>!aF)rtpR>H)A1vPI>38y$ z?eAYKi@CRd{=jsQzsQsMWCfe&!~8Ss8=vSbwcI28vF)vc!J-}WHBYZ{jO3azxt(vq zgM!k!GD)vVI;l$i+S39xPX#pkuI1<}-(4{0Q!n$5dquOZosUmn<?Q;%iE&e?@TYs9 zKFp1k<}}tjueo-@T+N+-ZZ&p9Hhu8R(?9jVxYVfOmIL$TY6EfG<+Y}|Tc=r0JRB4` zKaN*U#`O95jn<34Jw280xZSU9sz}wmC*N%|BAl2aJC+7=`|xHxG59)tv#9#?s)#ey zR+gW9js@+?jEa$TKKrrq{l?fjzgaI{@b8INt-QNbwCSV7k43w(uOC@vD>0*)t8{6o zTfDNGP{Q|~f1<Z7OxHcRyLE$8gEtHFQ;n;!-wG`iwFFJ~IUV-ySoCA&^=<3yRtU*o zReUJ@``+yA?QZc-);AyaGS~B)+64v%ue<fvXQhzt?bQcfJzu!peC`Kl)d_YxdR6Zp zcpLan-k{k^dEZJ^&#+Y+n}zmnUe_Ug%9!ttxArY<hnO9Omu@aR+0FmXwwmkdTJ`O> z7T$Q@nRfkn>iKuE-B~w$t~2lPcmMJIwaNNb{z865$pYoN%o6igK4;tLbEPJ(HbdfG z*HT7{@^e1t=A1s`zJB9@9lJ%_Zk>M0ka5iQQFx<~8gtK{3nf?B_ieK%PkXDY*AZ~+ z;kq@+JGNR!Sv~SdoBHr`ywTy1C#lVae~qe_3#~pe@l4{5z&}Ni225OgBHPt_(jKMz zE_|=Wb>p0;i_E-G;iwHR6P`Ze{HDJ^uWTi6jo8syb8Y&W7^iN(d2ge@*O%6XuD3px zJ-Hk|*Z9i6kX4zF&u+{-_eFP2Xtk`azFyYeiET=?6D9<f<Q4{q8StmEb~7>YpF2B$ z{Z;<gwU52F?&sn-;J_NT;%d?NjbF1`!*=I%-e~uEWL+0z@;}0LL-Wh2>2)?U(zqws z@5o85dG+&z+RGnuljW7749eN|=scNS#uLreSU<aZp5%%Ij;or#SWj{7>r8rdRpgQy zL-$dUrv=Vi?A|)eWj|Kemi_vP&GN0w6z`g^|EeN)XZeLKbG#;69{QX(`E>l{l_x7} zPHb5(+{m)}Hy^KeUrT7yB!x{&{p~uvEFK*B$DV1qPsP4c%%S1c*4KG`pDQX7=RY@c zJ+tMarNG>|U%M+RR!`AtjejT|y{_$Tnez3B@V_0UMVYsh{^dXU*I-%o@9!JCgHH3D zcJE#xztigMWKG}cnn8D+_V6X&l`!k&y8oT6E3krhshWCfbDs8=$ka32<ZoAtG8A6& z?_pzMyi{{`!SoBv0q)1w74a5DzYO8J+COnu?rHvef(rR-UU_b2ZfyT_@%dGcp2I2D z7dG8Gs>-tM_OW-eTOTbvBv^0ncYXPiRr4av-(*bS;{EpG{WF7#{O4b$#aF9XED;Hi zJ)Gu!%Cojs;zjY7U6G<yoJAUIFJ;wMgn0DLoxh|lskd5Lg(H9MHml`25uTS#b@niQ zt-WnNGmLc(ThYZ+KYp^Y&(pVX)@#qZvh-7KbL<qE+QoM~mMI)G-Z!sEVZYv<YC(SG z4R%-Z?xtHznEzXtchw=AX`7#>O8LE(^136jdW&P&A+7n(F0gQxiG4nJqD^71-Mu5` zs(+%2R3CO<W$rwEPN~n2YxhczFY=rp671@WrtnYg3{wA>b-tn1ENV&dv7i;I!Sk!V zgaQ{tD|sEaE6mk5F3WnguQBr>|NXy(H*3X|Us)YBe<I{@x_@f^1_^C5`@)?$@ge#T z9~m*e+$vzo^|Gt~>}of!H<J>X`U@B@T+OK4%^p{9RB}#8hn4ghp;LRS3#ZMzI^V>j zYfJXl#f~CVquqTuw(YpySGut4kVDQ}uL6O-)3vXY<3!TltZwW`<|sT;s&!nqc>1h^ zLA~1o?%qzlbGiJoM5_1wqYWoJSK6O?|1H%>+^u@or!8$xe;)r^c+UNqMI*;TFY&q_ z7rR|r+Qrvha<AT+p&6~nx6eW2XqnTcW`}dqJG$G7k7vwe3NcZWI;tNe+h4R^me-l@ z#-awsKLQgra^_SehL#+(xh}3Z>0-hQebZgFZ1LLR`(y)?OrPqW+Ew-V=7hLJrC(JE z-;UYUB!1R#&@tX=zDMEGv80IO>5JS0rp+m?s{AIOe(7HQ_O{87Rs2~bH*!~8o?lhm zno;UA?cwnY3p|!xk}>@k;}fyfac|8fTei7zO=U{kJQ&`2?F<brQCeHe71a5`L$C0K zS{rZYc~#%KAM0neS)A=s{h-&Maom2vrK9hz=h}%KD0_b3y8qV1HCfl~eBJo2T%R3s z%1V5#?5*QW;i-4pcD^(4p6d5kgY*4Emk+1Y7D#2U4SumYZP(Y8xrPm#yS&Bv&pG~K zS@dj{)uXk_4NKllIud-~)|10pLXAd>SCYCu`QN!HS`wkH&G%|$f|Q5hUaQXIyvjSX ze#PXAvHo}OW7@l8b=EWSQ_b^D*86qt{}?Y`J7azHrzafBd%~GD&F<V4H*r2KfBItF z-z87da&A03yJ%03-S2MA+MJ#87nwTP?%pole=*ONhs8ThqsG@P<YE5g8=YM2=H{UR z?3O;!3%Z;CS2Rs?^Goi!sd-DR_|41U@;beJ1-}!V>z+PU{uI))$=j-}H|E@%-*TGH z;TMd;)Km^VH@<P|gsNTx-#Xptx@py4c$4aHI&g-)`aW%*>Ykm!3y!+86s*^?b^dfL zerkZBF#m*2c{}I*{IvV)r=KsMx9ZCn$8DP75#7KOnDHc9XXET0qSuee?mwgVQ!4w= zuDELtUN1Cf)~nvQxc{x^>=W<SFU~)d`f$dyB$s*0cU42bU(76=)Am5LZ%($m)cTGO z&Eky*|CtDMxKG;k^Vmycp-}0dWxwX%-S#G~L3F0V#f0nC20B+gg#(ROoorv$+Ini$ zitJynG!);jJ(X;;Z1tk1>mLLDx2_BMf60aWl%%KV&P`JPESF5G>^|gv{)0UKi!-xV z<XgzBe}346<N31O`Es7;CweA5(`SwHdUZ~B#-F9hS}#obiUPO(TgEn%dC}^<H-Dz3 zOkMe5HwV|-Uw6Y+q{hp~cH|y;kj2II=r`BWznjn9dMc-R;#iP+!sRn*qEk9OO6p@y zE=tQjC9%fYr0<r~m#y}d+0Fk%ngkyoG%(qd6I@;y{b57x^5FbEnpbOiqAm+=oz0Sd z)LCcZOB>nCLCur6V*lH(U*ucPm713Vy?!S(FC{-Ii_6Hs6ziTkb92O=I#XjqQy33< zOP!g4g$Z~^odV&zesYUTW2QuZx7EC)+VsTZxq-8XclmW!FNriZ3CXmAG=T|vFZCQ> zP7|7-H!)ApCBTc5^QBP0k4InkzW=-Td%692`SX_9Z}*;$`@QCH@$C~KE|P6!4cQ9< zEd&h&RJaWsc3AC5_Eprd6%^hvdAAu~6HAQXBmpBiIb#++&i~gZXa|Whw?7cbm?Fhe zE}H!84c~?K1coF91_>4JNz<k>#IALGRL{D|a1(<v&mqyj5(zBF4;p%~yy^;acD@_? zP-D)@-Ls{I7~5wa*qBkyBhojO)grF+$9r|=kc)Y75-pRB`3~ggB`GSXsQfW!nl^DF zqeaEvqYPIbM6?KV9jM+~!Q#H?Zr$9nP$%KOrsQ=}?SH#Wi&|D37T6KLiSf@li#fB` ztXMHynWe6kabur@h>W^c!PPZZT+6!3{)RGmf6K1R;^2{~Qa$7S<$l_WCa3BJd;U)? za#@g2f2w)s?#@|@1^Dkiyp{Feb4SyOf5+xLuxL>6;89_o#CAZQ>A}2!^o#NCvnzKV z{I7Cwe*y>Bv)6Ci%9t&jCPeJeKO|W9Rr&KVC%J=+7CqK?uK)h8`mfxbjg2{hLxb-D zL;0><llHHUKUi@5eswJeU-Ji+h~@?b0SSg*U;mb;R+sKHFyVUnwR{KT5m7z?(=A&} zwr&vlW&ZbnZ%CkH{8Uj!Z%<~IBTG~n5<X1zll1&pA7<L5@b9wdi}xwHQ<S9?KJWgy zdgWi$2ZA!qdy7;X{`(7aGyK~=iBYP(;Sl4Wdg)_qDxAAMow~~ZXT94m`G4_mznnKV zxij&Eefoj_(KZjfY{eF^|5z$t`PHTFECb`;|C<!naV)vM|H)tD3rzoR|N5`_-Tzm4 zY3dYVAwB`d?!Rn;5xgzxGHERb9Ou^Weqx^2*Yx+N$V0abok!P`_jyfZ`QL0@?B);~ zP@wbeR9Agafyf*A_En1)WJoYQWidD!J5#W!@vry~SLeHiGge#vtqcy|S^rj6FkJW0 z!+8Z7H_wPjX^DSYptj`eZ|_tw{)tlqKd!TWc6|Cf8KD$Ik3Xsk2c?<SrU!|2-cf!z z#m989;`7~8ueJPY`QiU4@=Ed&o0yc4TMa5DUlx|IL<yd`->~%)+a{6S*MHuB*SKqj z@S>TQHeC<hTeY<;Z@O&sr#qpt3yo`=(mtgB&ih*WcHu))v2UCHa0MOSs>wKWcDm#3 zwkQw#<eS-(ncrqDV0TQ+d}1a0_3`o=tFR|u@B6*bzV+hGegD$c0balS?JlYuzWT;$ zL&P+%liT`BI_6q#f2p<g@qRJAo-+@BS1DNe)NQm-u<$JG)zoav?Q81l%+v`8Iv<+H zRy9}kacx}rZHxa5tzWiu7@exSyzo@BanZlR%rHLj$-Ct`pFNuHe_y)&Xq(*@-^H^0 zb8;3t|H=!AKCG6$=E5qSmaX?YEUp%Zp1U6^S#*W*y~Gu#@0vXmja1Y=>y`cCpJ^}p z^h4=|*N5dT((kbU`SOKB$n8c;p_ZE3h7;<-yLY%01kKuLIJtk*?DPjK^ACjb3VL#j zCh+{e9-P>BWwXIjh3|2ZM?0P~8J$YiiMqb2tz^%9q3cszPS0`KG$C8_1n(YcWx-Nw zxeZfRWuG{y#@KVk)Yj$7mu1>4s-1P~pZ__RI{DVVW479hr*?BDPS%X`KmNh3^+?@O zakq(m$2le#AKiE*c#>SeyQwld8NE}dcE?JExW4_JcWZlHV+Hqm<8PAJXBPS&5Dz-| zOFT47F>Z?H8jFdST3=4uy=;19>Jx@La*gJxi`#!~IwW%I;q1c+4T^!SZ=ZYLci409 zd6e3DiEBwJlRMrh@bw7D{oK4;aPDEjUE7oHnQ?yAF|wNX?NOUZhHZ6sw!725$tsTb zzT981kt@`@_xGC8k3zFqcPVfO@&|l5Sv%+L9?4nXe$4py*_i9zF^9T@r!G9qy-kYN zhr`2my;55gzPZw9$;XbxRa;V<3m%1M&GO4%v|Z;>d0D+zuKA1owKIL1Quj_<vmiqG zmEB#ZK(^^m@10|jd-bFymxCkWw)gzxH3?pcN6vq)O7Z-1W6GrnhfSBGo~vGX(OUPX zJzC<|j?n%YzjY!NCoX$$l6tZ`h)tBasm*xnrG1b1W*>dyrS$2J<wq9b72Q8~)t|9p zbuJh7Q@R?dGo7n?*N^yrcP^I7)vl3G&s{Qcbx7*0DT&YeLo2GI%>|2?-!A=>rP2Ot z)-A?%=kWTrx@$ez7FFvb7cP^l|8CX#aj}4$=^vh>$=hBoJ(>Tno9}p&%*kWl<GGry zJ~XpiTzFmgcFNhOcRfwq-Tl6&#w+E|nm?n-Dq1S~*k;Z?-;RF|F3e5#KDw@WitCEf zNn2}I#$?az*5@|kz94sa;u77cNqr{_!%v&kow@evzt7zb<-0ys<W4#HLHfGZBhClE zR?AGx3cg;FWUpDhtnBm&nRWT6cfIQLeHK4iZpD3{PjBB}t?AG?l3gQJD<hL<yD3MY zT+?LI-=h*gbWZiLzIncH(<1-9oO<Uf=d|DdK6R(tQoX))`h`=fYkc*qKE7D=DcR27 z_ks7VdADAF-o<k^^P;@+;cqW>+pj#&InT1-CBH-P=3c`e>k@^pCQMqambd$nq2c_@ zO_u~7&;IV+Yi8&l$GPZI+4B5z5%ntbPrmYF+O)4`m6Swxzkf@`q#&7{Unab-oWH-u zrSguiUtC19<r%ZI*ZUX?m+d^V>!a`MtBO_2GH%|Bb^72l&+e@2<KM?i#Fb}HxmjVn zC?wZ;ual*IMdr-6r}(R+7qjI*h}dvi%g6QRsn)Vjjw>G@=*nbhbFO|B=Dcr~rR402 zpUagsLXr*Fck~4LTTNWeqP%X#<f$E+?iaVTy1D47*VyTWKl9nOP4ViMhOV0_u3TsN z*W{g9YZEYiPN7e1sK@Cpg{l{qEUpC0e?IuPG{Wflgy!DNyZiny8XsA;)g<Rohsmv9 zuNPge{Vt#K__?jx8B^g6S2g$CWcaAhRI`O;%O3OH(^~gDDR{MOwuIEY53?gDM2I`C zOI1joGij^mca!?nZ4HZMwSUamyn=gjtLC16uByky?rS;gD15fPz4FGLYsrCaui9?2 z6jw2L82zu|oqQrWd#~WpS+l=S$@Sw<S#bRtlYnKHsrfdCeXox_DZbaHb=)Rsm1gPH zyuISbblWPq%q{f)Op*I`%bNS;{&2Cqt5@j1|L|_zI*T8o3*SuUyYW!jwLeIH!kL6u z!K>ZB=6vd5T>m#|dU=g&zU^keUF`-B6zVsWek*wJ>r;q%<OGQ_ch6U|_O>*qcKF>o zbeu_cDl@yyisdIcnAXd_{%bbn^UwBu;iV~0E>5<T`FEC4Qs}qNHsv+XCs&1Dau;ar z7x9|qe|5Fk?Yp*{g`S7)HT}SSn2EiG@g&<y{f~DxrLMM+Ik|?3{X@~s;KJC>vzrvx zTq-$l75V7e&(E*FWp1%-&)<G@`_ZY~k_Xgo*p#g@nq#tJZME=|32votAG`HWy3s1M z;h*XxYqnE2v!2b%PPMaHYg||*&#=bJa<%B}@`+EU|5Z2_=_Ok?>z}^nUE8m9sngD` zcRd|d#+)CrYo@tM&l^ekHn*d@zSRnz-FT_$-M_r+6E}5QK4`tM`{L7U=6!Fj^}28W z(0^si=?#suj6?5M_g-K2LB&z|yw!W3r$<!ylk=@PqdYGz6A{uiU2eBOc1pf^`+X6? z#O>1;B}ZB>UNPs-+fr+*16-^o`A?P{5`GjdRKx43_xJF&KYLlt7PyIIuDX&~cKLsT zZA4jYdZd>3VV1gg8&2L>Un;p|;;}?=pI^ruUrnxOkMjDF`_BD{b)8YT(vny6_ARvc zTpeF^_|}aYZsE|AtG9~e7jN2a&&NGo?`WXtk-A4LY}E@cZ}5K@WOV-1QtRl$UpbBT z#LWEanYy=dX(#Kfs+x$yrR*0)JRJLTcV2t?+TTq~Kce;L8UE*YWcl|^NR6M=ljHmL zo%){GP4nh`Ex)ixHn{b9U8d@@qs>7XT5qp^d|qX3(#BM6Uv=)A>xKUu{vU#0IqkEs zQqJBzcd<v-o!qefe_!b?6o`*p^X`*5&xfjKvE?NVc7>|lKdSj>o<1uhcT!5#HEZKD z?&oqripOiuMlbg}a&(gLOV`bfdRG^(u5`$azSC%W^85{%o#q$&UvJO7r}MnEyL?5P z>aJqmnwyGO7bLgr+oE2Tmy|Dh`LuM&w^S=H>HG(Zie)Q{_lQ2?YOYI&l3U_w_*$8v zt!+=A?f*+N3SPIV&0U;TTReGo?}whFv-;kZN`0tt<A1KXFof+l--V@2r=KSUr?WJ1 zhS=Y?;qlz4x$s+^!{6E-wIjMw;nHb6*(dF4uX^79|L$+w61&2-+Wgzk&NoB}$lhGO zVg3vC^h=f*m#(MqY`h(L=5g!XOW(M&vve;-ynV8v$kD1URkUPdNYm7o5QX%Y4<^-~ zW{`V)Ox3`x+-qre!;<onMGCL~+{_3$rq^s;9(t`R`mJ46Qh!eN*-EbiiQH3GXWiX4 zop=5Y@2vQjn$uU`I6bL7ey<Yel!(VW?|c27xadn{%a+m?#>=+85|{G(bSY9M-DLH# zlafO2MK67SIJ@NT&A&C}+4toN74ywXJt{(KD$<Qooa<k8NZn&EdUJi1*8PXSn2j53 zEF?1~-P&dUZjQ*UjsIH;kMc35Ecn5}mavycLu`)j%B9y<wFjRI&&ZBHGc8YYZq!rN znzTr%t)V}vX5UbHced;N@37W8bJfzdjs*0V`6bk~A1Z&ag>R-)Se~=?{38i_oUd95 z9^I&K`gHBHSJjo*rr*B(a8=_MolCxq=@$#VE^A#AURM6f+$!`<^z-@CTvzYCeD9vh z%Il%O?WSFw5vMuBVMcVH|E6slU%q+nXd=3F?W04%r~kD+`l{7<XhN$&_>XOir%idJ zxwij6&a2G(GfG%L*NOM9HJbVT&EIVY6;1p@zy8>`S6Vc%c?FyB)W%2ht8aGp?UB^k zz*({7wd=F<k68PEJGMQWx#)RfY2C(2w;#UbKQrCk^1LQT+pf&C+BW5fOt;@iDyy$- z@_r}2>gv+j)7zhRy}T;VlJV5<-tEv|2c6dJIrrE3s#I{}owwe$Zt<einYBt@g{pc# z5_WbewUb`wR(aKy>(s<~<&rD7z2BDG-d@jNcgf`WW0#*fTp51L{F7%_6mwm<`gDt2 zN!(KTx-N~w=SvRn{`<_dWXqM=ndkZbU7cz^;cd{G_KdeBow;k?&d|(xwsm7~Q$yBL ztH+-XO{iP8{AE`wlSk9mBTIj$&uh(BteWZFGbyy<wY&DhKT(U`Z;GBTa4vj3-*qPs zt)&%@_s+3SR5vVS+i8}zuOlS%hx54)MSgK}uPqR*SNvGB_S&iPt$%ucBt_Tc8ZmP@ zbF(_}85}X4*LyQ^@te=Tmh4>m-r7L4x_d*|^gkSjpC010xNkXc{q<RamU=a>W}a(0 z<W#-udH6!<=%1o@+@_uH$Uc8!!VCX96LxM0dgK#npjOhw<XI}_(>>$M+Q{xZb(~dx z66dSSw8LvRX9ljD^5Xa2iSM{N*N855H2Qj8(&D+gl$E~q3CW-;p0eZur$1_m{-J+g zT&~qob2VCeIq%5fiGTB+Sw-%CvcBSdNQUjPtR26yg0!yPQk&XZ8oH=w$Gxzh6Jx^v zK4W}UpvClir3|;?k@V!%lel+((bj$QHYr~%uk_y6!kHE&4xaP+>i=bZ%yIoDo5_2+ ze^uY1v?yO8yCQ*<jTe@4O<yvlZg29&`<bVj?b1Y~YF236tyH`#_t9d~q1-h&DjWJ& z{!7q4`e~m+Pp_Q(7vAvghr}MJ{mRU1J*_imm2#1c{@od|JA6KOit}DNynNvoz2B_Y z=e`Y4pWq+3WNmBuuGnpC3z`q?uRdY=arUAQZEHThC|#Hr&ib?_ux>`+<7vi>i&^9L z%t@GW`rX%@r5!rI)3zr%Wo{F^(#svSa;4RR8)Cjos%v&W@1Czc$*t<n>zR_}M%kNg zvHY-*4LA99uI1T^?De5%_EpBQ#H*S&m8V`|c-DUA70Zr5hl{DpABV@t=LWg5H+(r< z#cw2}{ZqTv`dOQv3D-6D)5{MnoE~YkW~tIMQAu_0m3=vRpK`y*oIS5^zo#uN)I#LN z<(V6M*o@Oz>!X#<nt3^gr0#9he0W@KR_L3%+8S*V*|OpRg)UKVox)9S7O(WVsw^^% z=cwhqO>3XdekG~;-C2ECci0U9MjdNmljVO-NAs!jYESj#za`bqaendY;xgk@Z%#kU z?!8MdFXXe{D5|z)epSKN7azLToPYV3i|=LSG_Q|c>+AJ?cNc%TaAU65pNs&LKHo() zH4~Ta{vNbNYr^zjbJwpjxN@-Gedpc>ar-VjG@2HlwDn6)sDakA+B-5FZFj38jE+iN zJ^ic5hxOTtT;mg5i3`|w$8vCd+Arvl%yzV>&9~VxOQK(P+M+3ozcD4)JM6#gbbZP4 zyV-B^&bwrXbsnl}RCz!9cK@!bZsz?OA5X1OdAsiDqS=q_e{!x-(42jJnbKsrnS4tm zo=e|9{JiM-o|Nm4@ARiwEUT?dTD2uNMtIeY>UQn(I&+(>HXe>GZ%)@MnctZI&G@UO z<fJCyq~3k@m1<|YkMG_enCQH?VxRtv&!>9kJM2~N|CTDuzy0RRR^NRkEnNvwZ^J)l zRme_%;!?Ts+`@`*pErK*J~d2L|GvxSzQJYT#CL6?(Ld`-PM;V0w^iNz-O3C8??f3k zc(%=URV|*X^YiZ8d+SB>GmG{I=zI9Q+nck;_|`(hlUmnwa_bzPX6!z=ILG?>C#D@A zV(0&U^zQpclUZWx&V7`s+?$}*_-dh@imtfF?;!VhajR~n=MSzqrr$r1p;3AB2J07_ zu%;^=rNUD~?0Wp~o!ug2qujqa{@;za0R=gKR>jBmo-LSs*(&0z=GOBq{^xyX-MnkG z+UACNvz)S3v#rg{A0K<tm?b9iCC64&=v-d*&}(z7&#qt3r&>I2Zi&<1>b(2iiL{D> z_5}j5E|Ky%w|~oN9B#O*elg|Y+|wsG-mb|><7m>~m~OG^y=YzgEq7A^eFck4bH1kh z&e*i-{p9(Em%r+4z53?q=XZOB8P}fQUdxvnbK%pKb1FZ%?n=#jSa>+Z<a(No;3uO4 z<_`tC((m?vdbfim-{8AnUB8Xv8^_k7-jsVEjnz-yw!iMhe|b%<f7Rz--*y+Vx19eK z>vcio(V9PEjWTnZwyl2C?z!by+-&oY7CSdzW3OoK@@iPt%;FI9_2(wx)JdvyD=fqM z4U*Lt-dx7mANlyqA)^2hOXaE6@hz;M-Z;%k-WvWQuE_BGgUexyd=4>8o6pBq6JY0< z&&)8j@3Hw?7wHls+k-3iH$N_!Z&AL&uJYpJ6Sbe47x(u^1z7P;|9yCmxa2y=eJX;& zcSCvJZE+BKqvM=pyu9?&4!JbD?q%<8eKt<~T74`gV4s@R$-RF|FW+VPbp7`8X{!^9 z7ESUiQmGRAoxW<?)+mw9!k)Wy4I<c{WFB;M)<4+ze%}+L85a^#J}1=a9#;2#b5%yc z$YS3iuNkUaZ8hxP2YB1|zEt^Av~^jTsn*kFCtlj5+r3?U+Au)QeZNy+w<qKA4LR=; z!m^Iba^>BdbX(eDy0l$M@VQl{&+8hx-tisHU)Sm$cH(z%?D=ndvUVI?#dQDh4#__s zL>IlkC&m*flEkK$sHPO*TCM2$_I6>gV0z!wA6(y=X3Z9u*%T-9{opnqp^Nt1^%>!M z6)z{I>U~}OPeE_%n@t|2GA})TTUyFqd>VEx^{~^cg>Gx7|0p)>==>^BasEwPQ04mM z{AY_B<^7H&1)2%%Zr`{o)hObR#Dx5${>F2Sxu<M7qiv79WV^L}{-Slgtr0SjGPZkF zxb?4T@%2Stm#({UR({#n;)`)wfz{uS95$Ic>0oh2*pDK`?R}qn=Gq>8@B6_`cJiW4 z$8Imx=enc!R8{=`x8f@YY_?a;@2;^@`<0x$Th#NtO1B!<)jQVu@+txTPra}7o-ot< zxVX}I<HIS>*M8gQsj+iy{LaFQmeoh5TloE%%lMUlqGw28)a>(VwiDNc<n4_S5i^Rs zA$~1n$*i(3Eq5xDr5@Gx{QHyh?%<ZXGw1dt?GEw%Hfv&GMrZrH@F_V?hs9D-a&A}! z<?DW2@+9|a=frpJ_xD~h_^E!~<;f(8nP)}!8h!HLbCaj4eZ>T^z*C<bRrv!QqwVhr zA2!xmp}*X&g5~>0?LG1$wgPDvCcW-obWv{4y?xDsXH>u6pYugoXU0d%$IHE*h0eD( zTEUR2^Uh83uAHb<j7(MT`NSF7fr-~2{Hb5Va-a@#?!eH@5NYlpq_QAYLEk?qE4U<= zOW#ky(7*sREl^ZkqF`YLKcP>-*wDm60SrL0IVGt@3i@t2i6yBnsmb{%sa$q;T+kVc zid%1^qJ!@o6RLY2{=zVX>+IjMQ&Y8?o8Pji8~*V7xIriB=Ht}q9#OYXuD6fx*W*|_ zjpO)KD}K$a30E#({#)u_e!gdmQ%j4w(<c}07?(%9dO~LxH$GVrt{xPy-E+ypy4fcj z{^|urxx_vF+BZS*;sQ?AOcTG(BNr@Gg_CvGX&EX$SS7rAq4Ufmlk8H3-G5E-p3`je zR9IiZpY=ea&DqHZ6!~{C9XxX5fnxtV%PCxI3m+>4I?odLvHYSgPfC{iHOCcd2c&{Z z6^<xKH*u^vG{KKOvCZW|fpb*Gj*Ca!ZCq4aQ#ur{w44#jd9>N@4F~hdKAvq74-AwN zws0R||EKV{!KFwjF;r=(sEN_UTTK_MDyC0f<B&J);`d7|yO|euZh4Y<Lqm5a-<C_7 zixTqYD08VD_g<7xwnvpqh22ragKx=|R+qw}Ht`)7C-5BYs(#=%<;WM0T?uA|iqW=r zD;}}WW(;CHJhf4aQQ%a?BS(Q74kA6pB5VT7O_jV@=1I67ZuZIP5wSQT)zZviwz2Pm zQeV!44HAB3O#fA;cd%Lb7R|Mg%@>fL_UFMx(FXaZy~k{v^q7vQI;!4llx=)v%i6;3 z+)+H8#nFzHzfyWdlUTwQPXoVq9({b-9;@AbT)zrP3z!BSU^=(ZX%c^BNk2o$x`Wc6 z8>7E?I39e?dQs!o4i%|Zd7GV|UtHv?o;2r>y^W>cjoshn8C0fr1SgxWGmBg&-o1IQ zeBF-zs}H2y3bW>EEx9TY_A=P#tAt--u<mirr&g`+-3qc|dL>jts^>`=pQ_8P%@X8D zj_CDWE2kd%`bt}2&{UtfQtF|fM1C4|P5pi4bl~KrO}@6P4oifszpQY~v($*UY)*)F z(7EHDR~4V8%?WuLB<JQjZIaqj)g+$P0h*#44A;ag3F@7sRqGKr*?ptcbS+E2Ri-O9 zEq>K%qIFfnH#uUf$3)J>5vd-$^6H^GuJo+Vjo=LycJmZ<Tv`@Wc$jJWtw6($t7fH- zyQIVZl-${p^nSvx!lS&_6Rz}s5-Cg1lnB4g!Ve;wybtfV^ep$(@ldnn!S}RtIISae z!+xGTn=&i0TG0KEndWJo_@v8%^7Vg$>})mFQ`^pR2$tP=m=&qkFQ@uu!nUlf^A7JY zUiIEJ=JQLrtQ+}1v#KUdJ*k;uZ|QSm^&9V*TO#8B7EYdcDRLXL!D*xDX{^icU-}?h zHb-=IsomL*CEAy|-z3@HjIZ_dv*b{dNZESynDY|5IgYng+Bt4{xx71m`Y9Ka|6{p+ zfs11O>ueb&=C{9H|EXK2f6`CM>SOaZGutFAE_91nX5iE^At}0ZE&rabTCQ&`D@3=r zhON9TRipm;vyjovi#0zd+SYy1$V%v6{<LOmiu#+cAB(f@$4-6f`%(T_+UFueOaJBb z*L~~K`9J09OV?w0X_5ab_vzT3yLpxOwEBEWvxHB@j^bBr<Zh(YTF#!6UTrn^-JwbA zP1poGz1H(iD{{3?nOY=cYm)Q$oxE}C##3Eii>?{7I{HX|G3yf5YFc<!^-#rvNB19o zogw|k%XZZafijWx&c|Li8kMz+-##(r+Y-NpHvdFBrbVv0!V|J0F|AQZ)7@*ENcXkA zly560GoL<hu-W*-w}_J*(&vwRnR$fRh8d~dZQnRawd+~@*#z6$Ru`ClpTFjG=kmuR zp980U{1!h+p<OTk)6L4FTS`g(oBTg#mi;OD-{UejN@mi(+~&7A&#xppKQA=ZTcUAs zxzx*yIlhG(jwv!(SEkH8ezSY|M_I2fW^KRc65M>fe=T-cep_Nu^x#Zuk!DAqb8r9e zEXK%5OI-ZaeWV-&T{ta%nEraaO-NGi|K;1=|L)HCZ}Iz+#SxdoI)4BCPThDhuW#SE zpFebBRp-3;vgr8YL+)`#y~nQByxsB3E+h70metA3S=$s(P1;mdDI&da<@?3wp3O55 zke_?MQ1$QI8M`zW1=bt)%?a$!oE7vXZNV-n|D7)NyiAh<ESD-9331f_zVKH$DQB6K zsAS&LEBsH`9;q3MF6E!+U@A4Y$tZmBg6~GWyy3n<*-@93<bR#~FfGs5HgH$23FF(8 zFHtSG&m}A`P4~IB`OcY|{elM9pT2YpmSwCxd{JX&R(j{H^JnLnKfB`BZ7jC*N}sAr z&FT0#tp(D>r)Gq${=RV2y2Z|oZc<X_W{=qf__s~F|N6F=Gt<#Mg$MU@e#>wA`<U}u zTTS`5--*^*clOF%a_nZGspm5LfUnNKyDZDfulCBk{UVz^YtPRx&O3hP>W!S)1!*@P z|NUdS?G^Li?9bZ|-hK4qN#^69&u;zLIr}?ry-q=C{N+XUR*#kLt*g)QJD_ZvUmN*6 zU;VNCjQzQZ66fwm9qah>HGcm7-i^thw%cFy{r&&M{px9Rmwip&dwW*LyRDngRnGTQ z^xu>;>wNyH(73r?bu(iYKfgXbzu*5}ZT*KwM~e?$+&JS*mrJ<J?~kgd<oY&NPx8}` zIqcCKt6Cl7^HR2p_kqofJ2t1EZPvD_YW*A%_Vq32tC~1JvCl6bKh2rg$aKhaX6*jP z>arWVtEPl43M#i?7he1JOWd<_ue;uUh_AD#`257;Q2F5(uDtW?j@3$kh|6JLFURz6 zdHVbKxi+jn9_OyRzNgTZzn<MTf5Yt!vb!rezD=I)Uw^Bf?Tz~T?TynFZ*qU}oO*AA zMS9-B!;{t*?|pXr;qLYW^}k=8z4-Cs_x)$qpTB;z`|78R_ZG9)Zg&wlYR@HDoBw4> z_*)r|%ch4VuA4gV)-7JJ`=jz(S>;2{Jr#ey-2Jy(e5;_ku*AmwQ877&hgPQef83F} z@RW?zX2sO&JwI;DQaoyA>~fuNamsPNUj_detnJ>&%gF9~eXH<%O2Y09>MyPBY6bY+ zO5X^SzZEEd8xZ~G!?NVIkn%GX0apKi{rh|J_V-$2kLPB=HZvE!e7yO;^|CjC<+(lg z^UgTb{ogTXo!+z4l1t9(>u<J+zBKzw@JYSrZ;B>roUMyrf9lPnnuF6`zy7SF|7^2r zSZ3Merz~y0>k7ktriqIt`*q#q-J2MnGW~08+;Z*Rk!!fkVq@d|Z(Nl(55GC-$eD2Q zH4#2t+TYTrt-p~qbK|GaT~os=r)@la)rx(ZzohoF_=t(Mhh}8RM4vlo5vv>KJz@Rx zt9O;Oxu*TyH&5q=&Uv*1%n^}}`im#-ePeh#o&62x?}@UTmVYe$?*Ase>`2^(_#5lr zn17ojyIJ^K*WR@J8@E*ozBSH$KKbSGH9g1XJl^IM6|8-@De?7F);$KXPbIfa%{g@L z=9E~21L?+PN1wgf|3*1_L-w{5?Xtsl>6Y3NC$GH`{(WZO2KyWH1C!jMUR<}j8mt<t zar4~4pG!`>m~N=MP%6RV^fd7Ut-_M&>-C?_IGz;uz;k2dwD{z*bK+lK+<dYvIC|Tz zTBAv8XD{D;wjn?Mi~7WlBlp>-{m3g$W-nB?f0Xa>sC?St%D5@);ldLv9(~HVWaH^k zZM|P(eb<lIQx3N5_OH+9z7W3N{L17*y06Y2zWQD4<G!lf;rY97<%aL9+wtk2)}8C` ze&4FRUUE6`o!q*b*HTsDtv%`O)*4&h9unBrym-})+(fSz+nxE{wv{HnQNG>bdy}zk z$qrVrAKMwWl`ehFe0g!>&kwo{cXyY4J(zo}q}(nr-Ri|3iIOjc+ZU|goqa3x?S}c! z#Uol5&2kBi5AyjMsIo7@!tYi8^{?%-w<TP(>S?@h8|nMq@04fUyG3<w=ibjtuJmD@ zSNnbD`=sZWR2vSz&~t1`*u}!yw06s;#XrC9d83(g(<~rVR_bwV_yWd<d>Y(NFNE&o zB~?y;P(JxoFRx<5f?o@wYIQFgsLasV^-E>XquqWJK6Jgea!l%YFQxcU^uDQ+Q?BSt z>5eDwbkB=96nK{Mtg%##Et{_xQ?{J<&!%pExht`C76GRd4brwhm1JX%f4xp`N7VIQ zVy-)9B$scTv$VQkqLjkn2yL^I1{yznjovJZpUB6^+9UUxEv6)Vw#kBp0pZ)O7I?EO zJY{>~u;dSe?1T`B1&8xz<zG;Jxm9}IJLT8>JI{+qZobl~7%TAfNdWtrlB@;I%aS|z zUayr~aQN4<BRo;Tjj#K6-j}I3cZ)HWBkDEViz$EW8u~gmBsTOhl+HF@eB!<0o$T(L zcO{DEYiddPr%z{04ausMc(t%dnT=8Fm7ufj6bUE3uM)2Uzt31|woIe%7x!VE&a2K` zvR`K`l=HVOTcIA%Fa1I>{)1wC0I%59sI7PPcJH>-y7krm`Pa$wF*`3t#uiAO7st|) zjQk=EP5qF}lAKfxP5t1~q^#8B5)Dm#=c3falKdhKpTv;V2!-;@k_?56%7WCQqSQ1^ z{eYtUl+xtXB8`HSw2;&YT|+$+13g1aO?~gw%JTf8lwu7{E{F-4`FSphC8-J;E>=bc zM#ct)1{Ow!#+F8A+6IQ|1_tVyT>8HGDTI`S6eSiEq^2n7yCvonr*i2Bgt$iNxs~SR zBqiqMr4}h@gk)qED`XZcK-{CF5SCh0oSC1eV610oVrXh<WM-;sq-O?mr-BB^Pd=Gt zsR~90hL-v%sb%^usY#iMd728@1&JjY#i@x3Wl$r`^o;ckK}s}1oiy0`F+=2FMDGI{ z!MlKl=EkrkWD4e%X5bE>0uk%RriS_YOB)L8eIEYfMo80*&xzHlEg@5*?N|INTxGFj zgVRI>M-`c0?_Y1PSUf?tr>bMmH|g8&&q`}MD_XwSD0w<vW@7oFm}3tXO)FKJo~)z1 z`++e-VdE|#-&aj+4i{TpcGjqfTb(mLq+(E}tT$CsO)2%*!HHZ``#*ID@g2$aJZ;py zcnwFG`&=b8t8WJ^r}9s|dGlt@$I{CC`FG!!m*2ko>*YWH{}ok-mWw>o6XCsATkg&w zx@3is0Gp7GOT&a#4S{VFI9wWH&Wg<s|Gs+e$)ZiKv&!o32}~<k6D6LeaM8(1;iSWY z8_``ilfAbIq)gkjZJo*dcUiBKZXBAX%QGowQj2cR%|jbnb)zM=ZHVA7I(<uoZQA76 ze2!+A_=3~XyI8huNbNo#wv8)pLgdHX*h;&*SFfpVaMg)s`Eqm#fAo<}t_j@{+c<Ir zS3h8#IrRqIh@_iL-|i)?2dNa<){)wMNNg)t+{8%U+}OJ{yH>CDPVA1_rqQxelV{rs zuw+i)jYVMxwT)J<)a21o-+k-Qfs4^H$~l3jr*TAI*`#`CTE<PLgZG4Z_U?;qE3~_L z`C5z5&rIG^njPx-i~_T*m>U;~@Gz84JHZg3**Uwb?-hS_R98xcjc3p4g!mw4heN?8 z3@SE}CmpW^ef^zSd7J;{qPD)qYZ6uu?bl3y(_61{c#leMjmzOZPqcnFS6XiHW-mU` zU7C11{(ac&ufH3wFEN!^Z_P8i;8wEpTshh39lf!q>ehac{{QY<cI#r9^`i4EW!8$a ze_FDEUs9%RpPy*m(V7yoJ*OUCJ^cBP>zjWc{8!Hwa{rn;;e2V0UJcj2zJ-0l-}TL| ztJ{~IK7RK!)3U=U*S(ppJ1^;rIv#P{OKHn4MX9)FukQxzU0t>$<hTDSyP&taom%X_ z?z5@-uV3{g+udX9S>;uhDgU3H&bJ7*HeFRKdG)xnj;{I|X8m8eor|AO%Zd5(^ZUZ` z?*7wvKjjr$N7rcQFFV51b?lV#y5NR*GxNWXu5a64bL;NfYk$kO?WlQiUB2!1oF4W6 z%$|Bhtk{Y)OQa$Vk{2U_Qq#EfJ@ZmhD-@y)6pTy^V!8B#GpkZTOfLO!g=j+sV+F%l zF8!eV{1OEtV{-)qg&>fQw0s3f842RKC`8*h8=ASgIa^vfo4YtVyO_J0yBZicTACUe znY$Rc8e6*ADG*i?3oisrO$~`I1Y|FHhxamy9Q(NU^6N>bEkzYwR!*60{j}(UYw4>J z;Z~2tlmKRCV`pdP`v;7-`sjRivui#mCpjak+uz~8?a#G$-|kud`On!i|4e7RG`rKd z`?kolu)hg0e7qZ&r4~L(Tly!H(K=DQe)pNJvtJ8dm&<r``glxrqWqiZ)%-j83Tz){ zwTWf4`f2Q*+Wy&*{h`2?gNYVQ?h9r64i;K4$`%Ou9n5^e_V4N=v67voH7BRPZ;Z2G zuD!sYzL1HzfbZO4)*T$v9~i|nt}ftZOXOI0n0E(f%{kY)bB7I>L${wgUZbyUz?EFU ze=LznZ6RB*!P)2K^H-nS%E7O2|Hqo!7jD;Fw4Bk-dSd^B>D+ZYPiRh45I^&=Xj4oY z>%2q85v|WRu)Y4k6n98l?wqo#<szBDJ`MLTN>zd1CanzU+$6*#*r>sL(#$J>jY+Vv z!@)&x5l3K)hLeb5mw;=B5`xPWEPkOa!?{GkN<g-Q@5=jq|E&Kj3kh(p;1b=wG5;qs znsPYz<IQfhqc%$17aLzVKsB4Z4EsNofBnwA|0Z6aa{Kq%J<IOe{XMz*-L|VUulL+O z|Gx6<F7x%zOrOX7o+X~!vGnMrq|A+5BBFG3r-^xYFFkrG@!jnD%Ep9ugkeVM{U3Y& nE--)p#(tK0pC@L1C@x7XDyb++P2;jOu`n^^QdM>JcjE#8`sue4 literal 0 HcmV?d00001 diff --git a/20230109/hp-musterloesung-20230109.tex b/20230109/hp-musterloesung-20230109.tex new file mode 100644 index 0000000..a10d64c --- /dev/null +++ b/20230109/hp-musterloesung-20230109.tex @@ -0,0 +1,636 @@ +% hp-musterloesung-20230109.pdf - Solutions to the Exercises on Low-Level Programming / Applied Computer Sciences +% Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Peter Gerwinski +% +% This document is free software: you can redistribute it and/or +% modify it either under the terms of the Creative Commons +% Attribution-ShareAlike 3.0 License, or under the terms of the +% GNU General Public License as published by the Free Software +% Foundation, either version 3 of the License, or (at your option) +% any later version. +% +% This document is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this document. If not, see <http://www.gnu.org/licenses/>. +% +% You should have received a copy of the Creative Commons +% Attribution-ShareAlike 3.0 Unported License along with this +% document. If not, see <http://creativecommons.org/licenses/>. + +% README: Einfach und doppelt verkettete Listen, ternärer Baum, hüpfender Ball, Hexdumps + +% ! Hüpfender Ball (20211206-3) +% ! Hexdumps (20220110-3) +% ! einfach und doppelt verkettete Listen (20220117-2) +% ! ternärer Baum (20220117-3) + +\documentclass[a4paper]{article} + +\usepackage{pgscript} +\usepackage{tikz} + +\begin{document} + + \section*{Hardwarenahe Programmierung\\ + Musterlösung zu den Übungsaufgaben -- 9.\ Januar 2023} + + \exercise{Einfach und doppelt verkettete Listen} + + Das Beispiel-Programm \gitfile{hp}{2022ws/20230109}{aufgabe-1.c} + demonstriert zwei Funktionen zur Verwaltung einfach verketteter Listen: + \lstinline{output_list()} zum Ausgeben der Liste auf den Bildschirm und + \lstinline{insert_into_list()} zum Einfügen in die Liste. + + \begin{enumerate}[\quad(a)] + \item + Ergänzen Sie eine Funktion \lstinline{delete_from_list()} + zum Löschen eines Elements aus der Liste + mit Freigabe des Speicherplatzes. + \points{5} + \item + Ergänzen Sie eine Funktion \lstinline{reverse_list()} + die die Reihenfolge der Elemente in der Liste umdreht.\\ + \points{3} + \end{enumerate} + + Eine doppelt verkettete Liste hat in jedem Knotenpunkt (\lstinline{node}) + \emph{zwei\/} Zeiger -- einen auf das nächste Element (\lstinline{next}) + und einen auf das vorherige Element (z.\,B.\ \lstinline{prev} für "`previous"'). + Dadurch ist es leichter als bei einer einfach verketteten Liste, + die Liste in umgekehrter Reihenfolge durchzugehen. + + \begin{quote} + \begin{tikzpicture} + \color{blendedblue} + \node(first) at (0,3.5) {first}; + \node(NULL1) at (-1,1.25) {NULL}; + \node[shape=rectangle,draw,line width=1pt](3) at (1,2) {3}; + \node[shape=rectangle,draw,line width=1pt](7) at (3,2) {7}; + \node[shape=rectangle,draw,line width=1pt](137) at (5,2) {137}; + \node(NULL2) at (7,2.75) {NULL}; + \draw[-latex](first)--(3); + \draw[-latex](3) to[out=45,in=135] (7); + \draw[-latex](3) to[out=-135,in=0] (NULL1); + \draw[-latex](7) to[out=-135,in=-45] (3); + \draw[-latex](7) to[out=45,in=135] (137); + \draw[-latex](137) to[out=-135,in=-45] (7); + \draw[-latex](137) to[out=45,in=180] (NULL2); + \end{tikzpicture} + \end{quote} + + Der Rückwärts-Zeiger (\lstinline{prev}) des ersten Elements zeigt, + genau wie der Vorwärts-Zeiger (\lstinline{next}) des letzten Elements, + auf \emph{nichts}, hat also den Wert \lstinline{NULL}. + + \begin{enumerate}[\quad(a)]\setcounter{enumi}{2} + \item + Schreiben Sie das Programm um für doppelt verkettete Listen. + \points{5} + \end{enumerate} + + \solution + + \begin{enumerate}[\quad(a)] + \item + \textbf{Ergänzen Sie eine Funktion \lstinline{delete_from_list()} + zum Löschen eines Elements aus der Liste + mit Freigabe des Speicherplatzes.} + + Siehe: \gitfile{hp}{2022ws/20230109}{loesung-1a.c} + + Um ein Element aus einer verketteten Liste zu löschen, + müssen zuerst die Zeiger umgestellt werden, + um das Element von der Liste auszuschließen. + Erst danach darf der Speicherplatz für das Element freigegeben werden. + +% Da das Beispielprogramm (\gitfile{hp}{2021ws/20220117}{lists-5.c}) +% nicht mit dynamischem Speicher arbeitet, +% stellen wir dieses zunächst auf dynamischen Speicher um, z.\,B.: +% \begin{lstlisting}[gobble=8] +% node *element5 = malloc (sizeof (node)); +% \end{lstlisting} +% Danach bezeichnet \lstinline{element5} +% die Adresse der \lstinline{struct}-Variablen; +% es wird also \lstinline{element5} an die Funktionen übergeben +% und nicht \lstinline{&element5} (die Adresse des Zeigers). + +% Um nun ein Element aus der Liste zu entfernen, +% benötigt man + Man benötigt also + \emph{das vorherige Element}, + dessen \lstinline{next}-Zeiger man dann auf + das übernächste Element \lstinline{next->next} weitersetzt. + + Bei jedem Zeiger muß man vor dem Zugriff prüfen, + daß dieser nicht auf \lstinline{NULL} zeigt. + (Die Musterlösung ist in dieser Hinsicht nicht konsequent. + Für den Produktiveinsatz müßte z.\,B.\ \lstinline{delete_from_list()} + auch den übergebenen Zeiger \lstinline{what} auf \lstinline{NULL} prüfen.) + + Ein Spezialfall tritt ein, wenn das erste Element einer Liste + entfernt werden soll. In diesem Fall tritt \lstinline{first} + an die Stelle des \lstinline{next}-Zeigers + des (nicht vorhandenen) vorherigen Elements. + Da \lstinline{delete_from_list()} \emph{schreibend\/} auf \lstinline{first} + zugreift, muß \lstinline{first} \emph{als Zeiger\/} übergeben werden + (\lstinline{node **first}). + + Um alle Spezialfälle zu testen (am Anfang, am Ende und in der Mitte der Liste), + wurden die Testfälle im Hauptprogramm erweitert. + + \item + \textbf{Schreiben Sie das Programm um für doppelt verkettete Listen.} + + Siehe: \gitfile{hp}{2022ws/20230109}{loesung-1b.c} + + Bei allen Einfüge- und Löschaktionen müssen \emph{jeweils zwei\/} + \lstinline{next}- und \lstinline{prev}-Zeiger neu gesetzt werden. + + Zum Debuggen empfiehlt es sich sehr, + eine Funktion zu schreiben, die die Liste auf Konsistenz prüft + (hier: \lstinline{check_list()}). + + Das Testprogramm macht von der Eigenschaft der doppelt verketteten Liste, + daß man sie auch rückwärts effizient durchgehen kann, keinen Gebrauch. + Um diese Eigenschaft als Vorteil nutzen zu können, empfiehlt es sich, + zusätzlich zu \lstinline{first} + auch einen Zeiger auf das letzte Element (z.\,B.\ \lstinline{last}) + einzuführen. Dieser muß dann natürlich bei allen Operationen + (Einfügen, Löschen, \dots) auf dem aktuellen Stand gehalten werden. + + \end{enumerate} + + \exercise{Ternärer Baum} + + Der in der Vorlesung vorgestellte \newterm{binäre Baum\/} + ist nur ein Spezialfall; + im allgemeinen können Bäume auch mehr als zwei Verzweigungen + pro Knotenpunkt haben. + Dies ist nützlich bei der Konstruktion \emph{balancierter Bäume}, + also solcher, die auch im \emph{Worst Case\/} + nicht zu einer linearen Liste entarten, + sondern stets eine -- möglichst flache -- Baumstruktur behalten. + + Wir betrachten einen Baum mit bis zu drei Verzweigungen pro Knotenpunkt, + einen sog.\ \newterm{ternären Baum}. + Jeder Knoten enthält dann nicht nur einen, + sondern \emph{zwei\/} Werte als Inhalt: + \begin{lstlisting} + typedef struct node + { + int content_left, content_right; + struct node *left, *middle, *right; + } node; + \end{lstlisting} + + Wir konstruieren nun einen Baum nach folgenden Regeln: + \vspace{-\medskipamount} + \begin{itemize}\itemsep0pt + \item + Innerhalb eines Knotens sind die Werte sortiert: + \lstinline{content_left} muß stets kleiner sein als \lstinline{content_right}. + \item + Der Zeiger \lstinline{left} zeigt auf Knoten, + deren enthaltene Werte durchweg kleiner sind als \lstinline{content_left}. + \item + Der Zeiger \lstinline{right} zeigt auf Knoten, + deren enthaltene Werte durchweg größer sind als \lstinline{content_right}. + \item + Der Zeiger \lstinline{middle} zeigt auf Knoten, + deren enthaltene Werte durchweg größer sind als \lstinline{content_left}, + aber kleiner als \lstinline{content_right}. + \item + Ein Knoten muß nicht immer mit zwei Werten voll besetzt sein; + er darf auch \emph{nur einen\/} gültigen Wert enthalten. + + Der Einfachheit halber lassen wir in diesem Beispiel + nur positive Zahlen als Werte zu. + Wenn ein Knoten nur einen Wert enthält, + setzen wir \lstinline{content_right = -1}, + und der Zeiger \lstinline{middle} wird nicht verwendet. + \item + Wenn wir neue Werte in den Baum einfügen, + werden \emph{zuerst\/} die nicht voll besetzten Knoten aufgefüllt + und \emph{danach erst\/} neue Knoten angelegt und Zeiger gesetzt. + \item + Beim Auffüllen eines Knotens darf nötigenfalls \lstinline{content_left} + nach \lstinline{content_right} verschoben werden. + Ansonsten werden einmal angelegte Knoten nicht mehr verändert. + \end{itemize} + \vspace*{-\medskipamount} + (In der Praxis dürfen Knoten gemäß speziellen Regeln + nachträglich verändert werden, + um Entartungen gar nicht erst entstehen zu lassen -- + siehe z.\,B.\ \url{https://en.wikipedia.org/wiki/2-3_tree}.) + \begin{enumerate}[\quad(a)] + \item + Zeichnen Sie ein Schaubild, das veranschaulicht, + wie die Zahlen 7, 137, 3, 5, 6, 42, 1, 2 und 12 + nacheinander und in dieser Reihenfolge + in den oben beschriebenen Baum eingefügt werden + -- analog zu den Vortragsfolien (\gitfile{hp}{2022ws/20221219}{hp-20221219.pdf}), + Seite 33. + \points{3} + % + % Lösung: + % + % 7 137 + % / | + % 3 5 12 42 + % / \ + % 1 2 6 + % + % (NULL-Zeiger sind hier nicht dargestellt, + % gehören aber dazu.) + % + \item + Dasselbe, aber in der Reihenfolge + 2, 7, 42, 12, 1, 137, 5, 6, 3. + \points{3} + % + % Lösung: + % + % 2 7 + % / | \ + % 1 5 6 12 42 + % / \ + % 3 137 + % + % (NULL-Zeiger sind hier wieder nicht dargestellt, + % gehören aber dazu.) + % + \item + Beschreiben Sie in Worten und/oder als C-Quelltext-Fragment, + wie eine Funktion aussehen müßte, um den auf diese Weise entstandenen Baum + sortiert auszugeben. + \points{4} + \end{enumerate} + + \solution + + \begin{enumerate}[\quad(a)] + \item + \textbf{Zeichnen Sie ein Schaubild, das veranschaulicht, + wie die Zahlen 7, 137, 3, 5, 6, 42, 1, 2 und 12 + nacheinander und in dieser Reihenfolge + in den oben beschriebenen Baum eingefügt werden + -- analog zu den Vortragsfolien (\gitfile{hp}{2022ws/20221219}{hp-20221219.pdf}), + Seite 21.} + % + % Lösung: + % + % 7 137 + % / | + % 3 5 12 42 + % / \ + % 1 2 6 + % + % (NULL-Zeiger sind hier nicht dargestellt, + % gehören aber dazu.) + % + \begin{center} + \newcommand{\x}{~\makebox(0,0){\raisebox{0.7em}{\rule{1pt}{1.4em}}}~} + \begin{tikzpicture} + \color{blendedblue} + \node(root) at (0,0) {\lstinline{node *root;}}; + \node[shape=rectangle,draw,line width=1pt](7-137) at (0,-1.5) {7\x 137}; + \draw[-latex](root)--(7-137); + \node[shape=rectangle,draw,line width=1pt](3-5) at (-2,-3) {3\x 5}; + \draw[-latex](7-137)--(3-5); + \node[shape=rectangle,draw,line width=1pt](12-42) at (0,-3) {12\x 42}; + \draw[-latex](7-137)--(12-42); + \node[shape=rectangle,draw,line width=1pt](1-2) at (-4,-4.5) {1\x 2}; + \draw[-latex](3-5)--(1-2); + \node[shape=rectangle,draw,line width=1pt](6) at (0,-4.5) {6}; + \draw[-latex](3-5)--(6); + \end{tikzpicture} + \end{center} + Bemerkungen: + \begin{itemize} + \item + Zeiger mit dem Wert \lstinline{NULL} sind nicht dargestellt: + \lstinline{right}-Zeiger von 7/137, + \lstinline{middle}-Zeiger von 3/5, + sämtliche Zeiger von 1/2, 12/42 und 6. + \item + Beim Einfügen der 12 wird die sich bereits vorher in diesem + \lstinline{node} befindliche 42 zu \lstinline{content_right}, + und die 12 wird das neue \lstinline{content_left}. + \item + Dieser Baum hat sehr einfache Regeln und ist daher \emph{nicht\/} + balanciert. Insbesondere unsere Regel, daß einmal angelegte Knoten + nicht mehr verändert werden dürfen, steht dem im Wege. + Ein einfaches Beispiel für einen \emph{balancierten\/} ternären + Baum ist der 2-3-Baum -- siehe z.\,B.\ \url{https://en.wikipedia.org/wiki/2-3_tree}. + \end{itemize} + \goodbreak + \item + \textbf{Dasselbe, aber in der Reihenfolge + 2, 7, 42, 12, 1, 137, 5, 6, 3.} + % + % Lösung: + % + % 2 7 + % / | \ + % 1 5 6 12 42 + % / \ + % 3 137 + % + % (NULL-Zeiger sind hier wieder nicht dargestellt, + % gehören aber dazu.) + % + \begin{center} + \newcommand{\x}{~\makebox(0,0){\raisebox{0.7em}{\rule{1pt}{1.4em}}}~} + \begin{tikzpicture} + \color{blendedblue} + \node(root) at (0,0) {\lstinline{node *root;}}; + \node[shape=rectangle,draw,line width=1pt](2-7) at (0,-1.5) {2\x 7}; + \draw[-latex](root)--(7-137); + \node[shape=rectangle,draw,line width=1pt](1) at (-2,-3) {1}; + \draw[-latex](2-7)--(1); + \node[shape=rectangle,draw,line width=1pt](5-6) at (0,-3) {5\x 6}; + \draw[-latex](2-7)--(5-6); + \node[shape=rectangle,draw,line width=1pt](3) at (-2,-4.5) {3}; + \draw[-latex](5-6)--(3); + \node[shape=rectangle,draw,line width=1pt](12-42) at (2,-3) {12\x 42}; + \draw[-latex](2-7)--(12-42); + \node[shape=rectangle,draw,line width=1pt](137) at (4,-4.5) {137}; + \draw[-latex](12-42)--(137); + \end{tikzpicture} + \end{center} + Bemerkungen: + \begin{itemize} + \item + Wieder sind Zeiger mit dem Wert \lstinline{NULL} nicht dargestellt: + \lstinline{middle}- und \lstinline{right}-Zeiger von 5/6, + \lstinline{left}- und \lstinline{middle}-Zeiger von 12/42, + sämtliche Zeiger von 1, 3 und 137. + \item + Beim Einfügen der 12 wird wieder die sich bereits vorher in diesem + \lstinline{node} befindliche 42 zu \lstinline{content_right}, + und die 12 wird das neue \lstinline{content_left}. + \end{itemize} + \item + \textbf{Beschreiben Sie in Worten und/oder als C-Quelltext-Fragment, + wie eine Funktion aussehen müßte, um den auf diese Weise entstandenen Baum + sortiert auszugeben.} + + Die entscheidende Idee ist \textbf{Rekursion}. + + Eine Funktion, die den gesamten Baum ausgibt, + müßte einmalig für den Zeiger \lstinline{root} aufgerufen werden + und folgendes tun: + \begin{enumerate}[\quad 1.] + \item + falls der übergebene Zeiger den Wert \lstinline{NULL} hat, + nichts ausgeben, sondern die Funktion direkt beenden, + \item + sich selbst für den \lstinline{left}-Zeiger aufrufen, + \item + den Wert von \lstinline{content_left} ausgeben, + \item + sich selbst für den \lstinline{middle}-Zeiger aufrufen, + \item + sofern vorhanden (also ungleich \lstinline{-1}), + den Wert von \lstinline{content_right} ausgeben, + \item + sich selbst für den \lstinline{right}-Zeiger aufrufen. + \end{enumerate} + Als C-Fragment: + \begin{lstlisting}[gobble=8] + void output_tree (node *root) + { + if (root) + { + output_tree (root->left); + printf ("%d\n", root->content_left); + output_tree (root->middle); + if (root->content_right >= 0) + printf ("%d\n", root->content_right); + output_tree (root->right); + } + } + \end{lstlisting} + Die Datei \gitfile{hp}{2022ws/20230109}{loesung-2c.c} erweitert dieses Fragment + zu einem vollständigen C-Programm zum Erstellen und sortierten Ausgeben + eines ternären Baums mit den Zahlenwerten von Aufgabenteil (a). + \end{enumerate} + + \exercise{Fehlerhaftes Programm: Hüpfender Ball} + + Das auf der nächsten Seite abgedruckte GTK+-Programm + (Datei: \gitfile{hp}{2022ws/20230109}{aufgabe-3.c}) soll einen + hüpfenden Ball darstellen, ist jedoch fehlerhaft. + + \begin{enumerate}[\quad(a)] + \item + Warum sieht man lediglich ein leeres Fenster? + Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben? + \points{3} + \item + Nach der Fehlerbehebung in Aufgabenteil (a) + zeigt das Programm einen unbeweglichen Ball. + Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben, und warum? + \points{2} + \item + Erklären Sie das merkwürdige Hüpfverhalten des Balls. + Wie kommt es zustande? + Was an diesem Verhalten ist korrekt, und was ist fehlerhaft? \points{5} + \item + Welche Befehle muß man in welcher Weise ändern, + um ein realistischeres Hüpf-Verhalten zu bekommen? \points{2} + \end{enumerate} + + Hinweis: Das Hinzuziehen von Beispiel-Programmen aus der Vorlesung + ist ausdrücklich erlaubt -- auch in der Klausur. + + Allgemeiner Hinweis: + Wenn Sie die Übungsaufgaben zu dieser Lehrveranstaltung + als PDF-Datei betrachten und darin auf die Dateinamen klicken, + können Sie die Beispiel-Programme direkt herunterladen. + Dadurch vermeiden Sie Übertragungsfehler. + + \solution + + \begin{enumerate}[\quad(a)] + \item + \textbf{Warum sieht man lediglich ein leeres Fenster? + Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben?} + + Die für das Zeichnen zuständige Callback-Funktion wurde zwar geschrieben, + aber nicht installiert. + Um dies zu beheben, ergänze man den folgenden Befehl im Hauptprogramm: + + \lstinline{g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);} + + Dies erkennt man sehr schnell durch Vergleich mit dem Beispiel-Programm + \gitfile{hp}{2022ws/20221114}{gtk-13.c}. + + \item + \textbf{Nach der Fehlerbehebung in Aufgabenteil (a) + zeigt das Programm einen unbeweglichen Ball. + Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben, und warum?} + + Die Timer-Callback-Funktion wurde zwar geschrieben, aber nicht installiert. + Um dies zu beheben, ergänze man den folgenden Befehl im Hauptprogramm: + + \lstinline{g_timeout_add (50, (GSourceFunc) timer, drawing_area);} + + Auch dies erkennt man sehr schnell durch Vergleich mit dem Beispiel-Programm + \gitfile{hp}{2022ws/20221114}{gtk-13.c}. + + \item + \textbf{Erklären Sie das merkwürdige Hüpfverhalten des Balls. + Wie kommt es zustande? + Was an diesem Verhalten ist korrekt, und was ist fehlerhaft?} + + Die Geschwindigkeit in $y$-Richtung wächst immer weiter. + Der Grund dafür ist, daß die $y$-Komponente der Geschwindigkeit + nicht auf physikalisch sinnvolle Weise berechnet wird. + In der dafür zuständigen Zeile + \lstinline{vy = 0.5 * g * (t * t);} + wird stattdessen der Weg in $y$-Richtung bei einer gleichmäßig + beschleunigten Bewegung berechnet und als Geschwindigkeit verwendet. + + \item + \textbf{Welche Befehle muß man in welcher Weise ändern, + um ein realistischeres Hüpf-Verhalten zu bekommen?} + + Da der Ball am Boden abprallen soll, ist es \emph{nicht\/} sinnvoll, + die $y$-Komponente der Geschwindigkeit über die bekannte physikalische + Formel $v_y = -g\cdot t$ für die Geschwindigkeit in einer + gleichmäßig beschleunigten Bewegung zu berechnen. + + Stattdessen ist es sinnvoll, die \emph{Geschwindigkeitsänderung\/} + innerhalb des Zeitintervalls \lstinline{dt} + zur Geschwindigkeitskomponente zu addieren: + \lstinline{vy += g * dt;} + + Auch dies erkennt man sehr schnell durch Vergleich mit dem Beispiel-Programm + \gitfile{hp}{2022ws/20221114}{gtk-13.c}. + \end{enumerate} + + \clearpage + + \vbox to \textheight{\vspace*{-0.5cm}\begin{lstlisting} + #include <gtk/gtk.h> + + #define WIDTH 320 + #define HEIGHT 240 + + double t = 0.0; + double dt = 0.2; + + int r = 5; + + double x = 10; + double y = 200; + double vx = 20; + double vy = -60; + double g = 9.81; + + gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data) + { + GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 }; + + gdk_cairo_set_source_rgba (c, &blue); + cairo_arc (c, x, y, r, 0, 2 * G_PI); + cairo_fill (c); + + return FALSE; + } + + gboolean timer (GtkWidget *widget) + { + t += dt; + x += vx * dt; + y += vy * dt; + vx = vx; + vy = 0.5 * g * (t * t); + if (y + r >= HEIGHT) + vy = -vy * 0.9; + if (x + r >= WIDTH) + vx = -vx * 0.9; + if (x - r <= 0) + vx = -vx * 0.9; + gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT); + g_timeout_add (50, (GSourceFunc) timer, widget); + return FALSE; + } + + int main (int argc, char **argv) + { + gtk_init (&argc, &argv); + + GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_show (window); + gtk_window_set_title (GTK_WINDOW (window), "Hello"); + g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); + + GtkWidget *drawing_area = gtk_drawing_area_new (); + gtk_widget_show (drawing_area); + gtk_container_add (GTK_CONTAINER (window), drawing_area); + gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT); + + gtk_main (); + return 0; + } + \end{lstlisting}\vss} + + \clearpage + + \exercise{Hexdumps} + + Das folgende Programm (\gitfile{hp}{2022ws/20230109}{aufgabe-4.c}) liest + einen String ein und gibt die ASCII-Werte der Buchstaben hexadezimal aus. + (Anders als z.\,B.\ \lstinline{scanf()} + akzeptiert die Funktion \lstinline{fgets()} zum Lesen von Strings auch Leerzeichen, + und sie vermeidet Pufferüberläufe.) + \begin{lstlisting}[style=numbered] + #include <stdio.h> + + int main (void) + { + char buffer[100]; + fgets (buffer, 100, stdin); + for (char *p = buffer; *p; p++) + printf ("%02x", *p); + printf ("\n"); + } + \end{lstlisting} + Beispiel: Bei der Eingabe von \lstinline[style=cmd]{Dies ist ein Test.} + erscheint die Ausgabe\\ + \lstinline[style=terminal]{44696573206973742065696e20546573742e0a}. + + Schreiben Sie ein Programm, das diese Umwandlung in umgekehrter Richtung vornimmt, + also z.\,B.\ bei Eingabe von \lstinline[style=cmd]{44696573206973742065696e20546573742e0a} + wieder \lstinline[style=terminal]{Dies ist ein Test.} ausgibt. + + \points{6} + + Hinweis für die Klausur: + Abgabe in digitaler Form ist erwünscht, aber nicht zwingend. + + \solution + + Siehe \gitfile{hp}{2022ws/20230109}{loesung-4.c}. + + Das Programm macht mehrfach davon Gebrauch, + daß in C Zeichen und Zahlen äquivalent sind. + Wenn z.\,B.\ die \lstinline{char}-Variable \lstinline{c} + den Wert \lstinline{'3'} (Ziffer 3) enthält, + dann hat der Ausdruck \lstinline{c - '0'} den Wert \lstinline{3} (Zahlenwert 3). + Hierfür ist es insbesondere nicht nötig, vorauszusetzen, + daß wir den ASCII-Zeichensatz verwenden und \lstinline{'0'} + den Wert \lstinline{48} hat. + + Bei Eingabe von \lstinline[style=cmd]{44696573206973742065696e20546573742e0a} + gibt das Programm zusätzlich eine Leerzeile aus. + Die liegt daran, daß das \lstinline[style=cmd]{0a} am Ende + bereits eine Zeilenschaltung enthält und das Programm mit + \lstinline{printf ("\n")} eine zusätzliche Zeilenschaltung ausgibt. + +\end{document} diff --git a/20230109/hp-uebung-20230109.pdf b/20230109/hp-uebung-20230109.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fa3d56e5adb15c9eca45f503587d85415b4cd073 GIT binary patch literal 61041 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 literal 0 HcmV?d00001 diff --git a/20230109/hp-uebung-20230109.tex b/20230109/hp-uebung-20230109.tex new file mode 100644 index 0000000..e74dbe9 --- /dev/null +++ b/20230109/hp-uebung-20230109.tex @@ -0,0 +1,350 @@ +% hp-uebung-20230109.pdf - Exercises on Low-Level Programming / Applied Computer Sciences +% Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Peter Gerwinski +% +% This document is free software: you can redistribute it and/or +% modify it either under the terms of the Creative Commons +% Attribution-ShareAlike 3.0 License, or under the terms of the +% GNU General Public License as published by the Free Software +% Foundation, either version 3 of the License, or (at your option) +% any later version. +% +% This document is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this document. If not, see <http://www.gnu.org/licenses/>. +% +% You should have received a copy of the Creative Commons +% Attribution-ShareAlike 3.0 Unported License along with this +% document. If not, see <http://creativecommons.org/licenses/>. + +% README: Einfach und doppelt verkettete Listen, ternärer Baum, hüpfender Ball, Hexdumps + +% ! Hüpfender Ball (20211206-3) +% ! Hexdumps (20220110-3) +% ! einfach und doppelt verkettete Listen (20220117-2) +% ! ternärer Baum (20220117-3) + +\documentclass[a4paper]{article} + +\usepackage{pgscript} +\usepackage{tikz} + +\begin{document} + + \section*{Hardwarenahe Programmierung\\ + Übungsaufgaben -- 9.\ Januar 2023} + + Diese Übung enthält Punkteangaben wie in einer Klausur. + Um zu "`bestehen"', müssen Sie innerhalb von 120 Minuten + unter Verwendung ausschließlich zugelassener Hilfsmittel + 20 Punkte (von insgesamt \totalpoints) erreichen. + + \exercise{Einfach und doppelt verkettete Listen} + + Das Beispiel-Programm \gitfile{hp}{2022ws/20230109}{aufgabe-1.c} + demonstriert zwei Funktionen zur Verwaltung einfach verketteter Listen: + \lstinline{output_list()} zum Ausgeben der Liste auf den Bildschirm und + \lstinline{insert_into_list()} zum Einfügen in die Liste. + + \begin{enumerate}[\quad(a)] + \item + Ergänzen Sie eine Funktion \lstinline{delete_from_list()} + zum Löschen eines Elements aus der Liste + mit Freigabe des Speicherplatzes. + \points{5} + \item + Ergänzen Sie eine Funktion \lstinline{reverse_list()} + die die Reihenfolge der Elemente in der Liste umdreht.\\ + \points{3} + \end{enumerate} + + Eine doppelt verkettete Liste hat in jedem Knotenpunkt (\lstinline{node}) + \emph{zwei\/} Zeiger -- einen auf das nächste Element (\lstinline{next}) + und einen auf das vorherige Element (z.\,B.\ \lstinline{prev} für "`previous"'). + Dadurch ist es leichter als bei einer einfach verketteten Liste, + die Liste in umgekehrter Reihenfolge durchzugehen. + + \begin{quote} + \begin{tikzpicture} + \color{blendedblue} + \node(first) at (0,3.5) {first}; + \node(NULL1) at (-1,1.25) {NULL}; + \node[shape=rectangle,draw,line width=1pt](3) at (1,2) {3}; + \node[shape=rectangle,draw,line width=1pt](7) at (3,2) {7}; + \node[shape=rectangle,draw,line width=1pt](137) at (5,2) {137}; + \node(NULL2) at (7,2.75) {NULL}; + \draw[-latex](first)--(3); + \draw[-latex](3) to[out=45,in=135] (7); + \draw[-latex](3) to[out=-135,in=0] (NULL1); + \draw[-latex](7) to[out=-135,in=-45] (3); + \draw[-latex](7) to[out=45,in=135] (137); + \draw[-latex](137) to[out=-135,in=-45] (7); + \draw[-latex](137) to[out=45,in=180] (NULL2); + \end{tikzpicture} + \end{quote} + + Der Rückwärts-Zeiger (\lstinline{prev}) des ersten Elements zeigt, + genau wie der Vorwärts-Zeiger (\lstinline{next}) des letzten Elements, + auf \emph{nichts}, hat also den Wert \lstinline{NULL}. + + \begin{enumerate}[\quad(a)]\setcounter{enumi}{2} + \item + Schreiben Sie das Programm um für doppelt verkettete Listen. + \points{5} + \end{enumerate} + + \vspace{3cm} + + \exercise{Ternärer Baum} + + Der in der Vorlesung vorgestellte \newterm{binäre Baum\/} + ist nur ein Spezialfall; + im allgemeinen können Bäume auch mehr als zwei Verzweigungen + pro Knotenpunkt haben. + Dies ist nützlich bei der Konstruktion \emph{balancierter Bäume}, + also solcher, die auch im \emph{Worst Case\/} + nicht zu einer linearen Liste entarten, + sondern stets eine -- möglichst flache -- Baumstruktur behalten. + + Wir betrachten einen Baum mit bis zu drei Verzweigungen pro Knotenpunkt, + einen sog.\ \newterm{ternären Baum}. + Jeder Knoten enthält dann nicht nur einen, + sondern \emph{zwei\/} Werte als Inhalt: + \begin{lstlisting} + typedef struct node + { + int content_left, content_right; + struct node *left, *middle, *right; + } node; + \end{lstlisting} + + Wir konstruieren nun einen Baum nach folgenden Regeln: + \vspace{-\medskipamount} + \begin{itemize}\itemsep0pt + \item + Innerhalb eines Knotens sind die Werte sortiert: + \lstinline{content_left} muß stets kleiner sein als \lstinline{content_right}. + \item + Der Zeiger \lstinline{left} zeigt auf Knoten, + deren enthaltene Werte durchweg kleiner sind als \lstinline{content_left}. + \item + Der Zeiger \lstinline{right} zeigt auf Knoten, + deren enthaltene Werte durchweg größer sind als \lstinline{content_right}. + \item + Der Zeiger \lstinline{middle} zeigt auf Knoten, + deren enthaltene Werte durchweg größer sind als \lstinline{content_left}, + aber kleiner als \lstinline{content_right}. + \item + Ein Knoten muß nicht immer mit zwei Werten voll besetzt sein; + er darf auch \emph{nur einen\/} gültigen Wert enthalten. + + Der Einfachheit halber lassen wir in diesem Beispiel + nur positive Zahlen als Werte zu. + Wenn ein Knoten nur einen Wert enthält, + setzen wir \lstinline{content_right = -1}, + und der Zeiger \lstinline{middle} wird nicht verwendet. + \item + Wenn wir neue Werte in den Baum einfügen, + werden \emph{zuerst\/} die nicht voll besetzten Knoten aufgefüllt + und \emph{danach erst\/} neue Knoten angelegt und Zeiger gesetzt. + \item + Beim Auffüllen eines Knotens darf nötigenfalls \lstinline{content_left} + nach \lstinline{content_right} verschoben werden. + Ansonsten werden einmal angelegte Knoten nicht mehr verändert. + \end{itemize} + \vspace*{-\medskipamount} + (In der Praxis dürfen Knoten gemäß speziellen Regeln + nachträglich verändert werden, + um Entartungen gar nicht erst entstehen zu lassen -- + siehe z.\,B.\ \url{https://en.wikipedia.org/wiki/2-3_tree}.) + \begin{enumerate}[\quad(a)] + \item + Zeichnen Sie ein Schaubild, das veranschaulicht, + wie die Zahlen 7, 137, 3, 5, 6, 42, 1, 2 und 12 + nacheinander und in dieser Reihenfolge + in den oben beschriebenen Baum eingefügt werden + -- analog zu den Vortragsfolien (\gitfile{hp}{2022ws/20221219}{hp-20221219.pdf}), + Seite 33. + \points{3} + % + % Lösung: + % + % 7 137 + % / | + % 3 5 12 42 + % / \ + % 1 2 6 + % + % (NULL-Zeiger sind hier nicht dargestellt, + % gehören aber dazu.) + % + \item + Dasselbe, aber in der Reihenfolge + 2, 7, 42, 12, 1, 137, 5, 6, 3. + \points{3} + % + % Lösung: + % + % 2 7 + % / | \ + % 1 5 6 12 42 + % / \ + % 3 137 + % + % (NULL-Zeiger sind hier wieder nicht dargestellt, + % gehören aber dazu.) + % + \item + Beschreiben Sie in Worten und/oder als C-Quelltext-Fragment, + wie eine Funktion aussehen müßte, um den auf diese Weise entstandenen Baum + sortiert auszugeben. + \points{4} + \end{enumerate} + + \vspace{3cm} + + \exercise{Fehlerhaftes Programm: Hüpfender Ball} + + Das auf der nächsten Seite abgedruckte GTK+-Programm + (Datei: \gitfile{hp}{2022ws/20230109}{aufgabe-3.c}) soll einen + hüpfenden Ball darstellen, ist jedoch fehlerhaft. + + \begin{enumerate}[\quad(a)] + \item + Warum sieht man lediglich ein leeres Fenster? + Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben? + \points{3} + \item + Nach der Fehlerbehebung in Aufgabenteil (a) + zeigt das Programm einen unbeweglichen Ball. + Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben, und warum? + \points{2} + \item + Erklären Sie das merkwürdige Hüpfverhalten des Balls. + Wie kommt es zustande? + Was an diesem Verhalten ist korrekt, und was ist fehlerhaft? \points{5} + \item + Welche Befehle muß man in welcher Weise ändern, + um ein realistischeres Hüpf-Verhalten zu bekommen? \points{2} + \end{enumerate} + + Hinweis: Das Hinzuziehen von Beispiel-Programmen aus der Vorlesung + ist ausdrücklich erlaubt -- auch in der Klausur. + + Allgemeiner Hinweis: + Wenn Sie die Übungsaufgaben zu dieser Lehrveranstaltung + als PDF-Datei betrachten und darin auf die Dateinamen klicken, + können Sie die Beispiel-Programme direkt herunterladen. + Dadurch vermeiden Sie Übertragungsfehler. + + \clearpage + + \vbox to \textheight{\vspace*{-0.5cm}\begin{lstlisting} + #include <gtk/gtk.h> + + #define WIDTH 320 + #define HEIGHT 240 + + double t = 0.0; + double dt = 0.2; + + int r = 5; + + double x = 10; + double y = 200; + double vx = 20; + double vy = -60; + double g = 9.81; + + gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data) + { + GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 }; + + gdk_cairo_set_source_rgba (c, &blue); + cairo_arc (c, x, y, r, 0, 2 * G_PI); + cairo_fill (c); + + return FALSE; + } + + gboolean timer (GtkWidget *widget) + { + t += dt; + x += vx * dt; + y += vy * dt; + vx = vx; + vy = 0.5 * g * (t * t); + if (y + r >= HEIGHT) + vy = -vy * 0.9; + if (x + r >= WIDTH) + vx = -vx * 0.9; + if (x - r <= 0) + vx = -vx * 0.9; + gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT); + g_timeout_add (50, (GSourceFunc) timer, widget); + return FALSE; + } + + int main (int argc, char **argv) + { + gtk_init (&argc, &argv); + + GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_show (window); + gtk_window_set_title (GTK_WINDOW (window), "Hello"); + g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); + + GtkWidget *drawing_area = gtk_drawing_area_new (); + gtk_widget_show (drawing_area); + gtk_container_add (GTK_CONTAINER (window), drawing_area); + gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT); + + gtk_main (); + return 0; + } + \end{lstlisting}\vss} + + \exercise{Hexdumps} + + Das folgende Programm (\gitfile{hp}{2022ws/20230109}{aufgabe-4.c}) liest + einen String ein und gibt die ASCII-Werte der Buchstaben hexadezimal aus. + (Anders als z.\,B.\ \lstinline{scanf()} + akzeptiert die Funktion \lstinline{fgets()} zum Lesen von Strings auch Leerzeichen, + und sie vermeidet Pufferüberläufe.) + \begin{lstlisting}[style=numbered] + #include <stdio.h> + + int main (void) + { + char buffer[100]; + fgets (buffer, 100, stdin); + for (char *p = buffer; *p; p++) + printf ("%02x", *p); + printf ("\n"); + } + \end{lstlisting} + Beispiel: Bei der Eingabe von \lstinline[style=cmd]{Dies ist ein Test.} + erscheint die Ausgabe\\ + \lstinline[style=terminal]{44696573206973742065696e20546573742e0a}. + + Schreiben Sie ein Programm, das diese Umwandlung in umgekehrter Richtung vornimmt, + also z.\,B.\ bei Eingabe von \lstinline[style=cmd]{44696573206973742065696e20546573742e0a} + wieder \lstinline[style=terminal]{Dies ist ein Test.} ausgibt. + + \points{6} + + Hinweis für die Klausur: + Abgabe in digitaler Form ist erwünscht, aber nicht zwingend. + + \begin{flushright} + \textit{Viel Erfolg -- auch in den Prüfungen!} + \end{flushright} + + \makeatletter + \immediate\write\@mainaux{\string\gdef\string\totalpoints{\arabic{points}}} + \makeatother + +\end{document} diff --git a/20230109/loesung-1a.c b/20230109/loesung-1a.c new file mode 100644 index 0000000..93f5e56 --- /dev/null +++ b/20230109/loesung-1a.c @@ -0,0 +1,69 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *next; +} node; + +void output_list (node *first) +{ + for (node *p = first; p; p = p->next) + printf ("%d ", p->content); + printf ("\n"); +} + +void insert_into_list (node *what, node *where) +{ + what->next = where->next; + where->next = what; +} + +void delete_from_list (node *what, node **first) +{ + if (what == *first) + *first = what->next; + else + { + node *p = *first; + while (p && p->next != what) + p = p->next; + if (p) + p->next = what->next; + } + free (what); +} + +int main (void) +{ + node *element3 = malloc (sizeof (node)); + node *element7 = malloc (sizeof (node)); + node *element137 = malloc (sizeof (node)); + + element3->content = 3; + element7->content = 7; + element137->content = 137; + + node *first = element3; + element3->next = element7; + element7->next = element137; + element137->next = NULL; + + output_list (first); + + node *element5 = malloc (sizeof (node)); + element5->content = 5; + insert_into_list (element5, element3); + + output_list (first); + + delete_from_list (element5, &first); + output_list (first); + delete_from_list (element3, &first); + output_list (first); + delete_from_list (element137, &first); + output_list (first); + + return 0; +} diff --git a/20230109/loesung-1b.c b/20230109/loesung-1b.c new file mode 100644 index 0000000..811b99b --- /dev/null +++ b/20230109/loesung-1b.c @@ -0,0 +1,97 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content; + struct node *next, *prev; +} node; + +void check_list (node *first) +{ + for (node *p = first; p; p = p->next) + { + if (p->next && p->next->prev != p) + fprintf (stderr, "List inconsistency!\n"); + if (p->prev && p->prev->next != p) + fprintf (stderr, "List inconsistency!\n"); + } +} + +void output_list (node *first) +{ + for (node *p = first; p; p = p->next) + printf ("%d ", p->content); + printf ("\n"); +} + +void insert_into_list (node *what, node *where) +{ + what->next = where->next; + if (where->next) + where->next->prev = what; + what->prev = where; + where->next = what; +} + +void delete_from_list (node *what, node **first) +{ + if (what == *first) + { + *first = what->next; + if (*first) + (*first)->prev = NULL; + } + else + { + node *p = *first; + while (p && p->next != what) + p = p->next; + if (p) + p->next = what->next; + if (what->next) + what->next->prev = p; + } + free (what); +} + +int main (void) +{ + node *element3 = malloc (sizeof (node)); + node *element7 = malloc (sizeof (node)); + node *element137 = malloc (sizeof (node)); + + element3->content = 3; + element7->content = 7; + element137->content = 137; + + node *first = element3; + element3->prev = NULL; + element3->next = element7; + element7->prev = element3; + element7->next = element137; + element137->prev = element7; + element137->next = NULL; + + output_list (first); + check_list (first); + + node *element5 = malloc (sizeof (node)); + element5->content = 5; + insert_into_list (element5, element3); + + output_list (first); + check_list (first); + + delete_from_list (element5, &first); + output_list (first); + check_list (first); + delete_from_list (element3, &first); + output_list (first); + check_list (first); + delete_from_list (element137, &first); + output_list (first); + check_list (first); + + return 0; +} diff --git a/20230109/loesung-2c.c b/20230109/loesung-2c.c new file mode 100644 index 0000000..a6dea99 --- /dev/null +++ b/20230109/loesung-2c.c @@ -0,0 +1,68 @@ +#include <stdio.h> +#include <stdlib.h> + +typedef struct node +{ + int content_left, content_right; + struct node *left, *middle, *right; +} node; + +void insert_into_tree (node **root, int value) +{ + if (*root) + { + if ((*root)->content_right >= 0) + if (value < (*root)->content_left) + insert_into_tree (&(*root)->left, value); + else if (value < (*root)->content_right) + insert_into_tree (&(*root)->middle, value); + else + insert_into_tree (&(*root)->right, value); + else + if (value < (*root)->content_left) + { + (*root)->content_right = (*root)->content_left; + (*root)->content_left = value; + } + else + (*root)->content_right = value; + } + else + { + *root = malloc (sizeof (node)); + (*root)->left = NULL; + (*root)->content_left = value; + (*root)->middle = NULL; + (*root)->content_right = -1; + (*root)->right = NULL; + } +} + +void output_tree (node *root) +{ + if (root) + { + output_tree (root->left); + printf ("%d\n", root->content_left); + output_tree (root->middle); + if (root->content_right >= 0) + printf ("%d\n", root->content_right); + output_tree (root->right); + } +} + +int main (void) +{ + node *root = NULL; + insert_into_tree (&root, 7); + insert_into_tree (&root, 137); + insert_into_tree (&root, 3); + insert_into_tree (&root, 5); + insert_into_tree (&root, 6); + insert_into_tree (&root, 42); + insert_into_tree (&root, 1); + insert_into_tree (&root, 2); + insert_into_tree (&root, 12); + output_tree (root); + return 0; +} diff --git a/20230109/loesung-4.c b/20230109/loesung-4.c new file mode 100644 index 0000000..872058a --- /dev/null +++ b/20230109/loesung-4.c @@ -0,0 +1,28 @@ +#include <stdio.h> + +int read_hex (char c) +{ + if (c >= '0' && c <= '9') + return c - '0'; + else if (c >= 'A' && c <= 'F') + return c - 'A' + 10; + else if (c >= 'a' && c <= 'f') + return c - 'a' + 10; + else + { + fprintf (stderr, "invalid hex digit '%c'\n", c); + return 0; + } +} + +int main (void) +{ + char buffer[100]; + fgets (buffer, 100, stdin); + for (char *p = buffer; p[0] && p[1]; p += 2) + { + char c = 16 * read_hex (p[0]) + read_hex (p[1]); + printf ("%c", c); + } + printf ("\n"); +} diff --git a/20230109/logo-hochschule-bochum-cvh-text-v2.pdf b/20230109/logo-hochschule-bochum-cvh-text-v2.pdf new file mode 120000 index 0000000..4aa99b8 --- /dev/null +++ b/20230109/logo-hochschule-bochum-cvh-text-v2.pdf @@ -0,0 +1 @@ +../common/logo-hochschule-bochum-cvh-text-v2.pdf \ No newline at end of file diff --git a/20230109/logo-hochschule-bochum.pdf b/20230109/logo-hochschule-bochum.pdf new file mode 120000 index 0000000..b6b9491 --- /dev/null +++ b/20230109/logo-hochschule-bochum.pdf @@ -0,0 +1 @@ +../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20230109/pgscript.sty b/20230109/pgscript.sty new file mode 120000 index 0000000..95c8884 --- /dev/null +++ b/20230109/pgscript.sty @@ -0,0 +1 @@ +../common/pgscript.sty \ No newline at end of file diff --git a/README.md b/README.md index 3ddb14b..583ac08 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Vortragsfolien und Beispiele: * [21.11.2022: Aufwandsabschätzungen, Objektorientierte Programmierung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221121/hp-20221121.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2022ws/20221121/) * [28.11.2022: Objektorientierte Programmierung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221128/hp-20221128.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2022ws/20221128/) * [05.12.2022: Objektorientierte Programmierung, Datenstrukturen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221205/hp-20221205.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2022ws/20221205/) - * [12.12.2022: Objektorientierte Programmierung, Datenstrukturen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221212/hp-20221212.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2022ws/20221212/) + * [19.12.2022: Objektorientierte Programmierung, Datenstrukturen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221219/hp-20221219.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2022ws/20221219/) * [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/hp-slides-2022ws.pdf) Übungsaufgaben: @@ -43,6 +43,7 @@ Vortragsfolien und Beispiele: * [28.11.2022: Einfügen in Strings (Ergänzung), dynamisches Bit-Array, objektorientierte Tier-Datenbank](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221128/hp-uebung-20221128.pdf) * [05.12.2022: Objektorientierte Tier-Datenbank (Ergänzung), Iterationsfunktionen, Stack-Operationen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221205/hp-uebung-20221205.pdf) * [12.12.2022: Länge von Strings (Neuauflage), Text-Grafik-Bibliothek, PBM-Grafik](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221212/hp-uebung-20221212.pdf) + * [09.01.2023: Einfach und doppelt verkettete Listen, ternärer Baum, hüpfender Ball, Hexdumps](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20230109/hp-uebung-20230109.pdf) Musterlösungen: --------------- @@ -56,6 +57,7 @@ Musterlösungen: * [28.11.2022: Einfügen in Strings (Ergänzung), dynamisches Bit-Array, objektorientierte Tier-Datenbank](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221128/hp-musterloesung-20221128.pdf) * [05.12.2022: Objektorientierte Tier-Datenbank (Ergänzung), Iterationsfunktionen, Stack-Operationen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221205/hp-musterloesung-20221205.pdf) * [12.12.2022: Länge von Strings (Neuauflage), Text-Grafik-Bibliothek, PBM-Grafik](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20221212/hp-musterloesung-20221212.pdf) + * [09.01.2023: Einfach und doppelt verkettete Listen, ternärer Baum, hüpfender Ball, Hexdumps](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2022ws/20230109/hp-musterloesung-20230109.pdf) Praktikumsunterlagen: --------------------- -- GitLab