diff --git a/20220317/ad-20220317.pdf b/20220317/ad-20220317.pdf deleted file mode 100644 index 85d818b1c1a051b101ba51721ff904649a419335..0000000000000000000000000000000000000000 Binary files a/20220317/ad-20220317.pdf and /dev/null differ diff --git a/20220317/linked-list.c b/20220317/linked-list.c deleted file mode 100644 index a74268130bd84eccf4fd174a64e423258f92992d..0000000000000000000000000000000000000000 --- a/20220317/linked-list.c +++ /dev/null @@ -1,139 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -typedef struct SingleLinkedNode { - int value; - struct SingleLinkedNode *next; -} SingleLinkedNode; - -typedef struct FullLinkedNode { - int value; - struct FullLinkedNode *prev; - struct FullLinkedNode *next; -} FullLinkedNode; - -typedef struct FullLinkedList { - FullLinkedNode *first; - FullLinkedNode *last; -} FullLinkedList; - -SingleLinkedNode *reverseLinkedList(SingleLinkedNode *head) { - if (head) { - // ... -> cur -> n1 -> n2 -> ... - SingleLinkedNode *cur = head; - SingleLinkedNode *n1 = head->next; - SingleLinkedNode *n2; - cur->next = NULL; - while (n1 != NULL) { - n2 = n1->next; - n1->next = cur; - cur = n1; - n1 = n2; - } - return cur; - } else { - return NULL; - } -} - -void printLinkedList(SingleLinkedNode *head) { - while (head != NULL) { - printf("%d ", head->value); - head = head->next; - } - printf("\n"); -} - -FullLinkedList *singleLinkedListToFullLinkedList(SingleLinkedNode *head) { - FullLinkedList *fullLinkedList = malloc(sizeof(FullLinkedList)); - if (head) { - FullLinkedNode *cur = malloc(sizeof(FullLinkedNode)); - SingleLinkedNode *curSingle = head; - - cur->value = curSingle->value; - cur->prev = NULL; - if (curSingle->next) { - cur->next = malloc(sizeof(FullLinkedNode)); - } else { - cur->next = NULL; - } - - fullLinkedList->first = cur; - - while (curSingle->next) { - cur->next->prev = cur; - cur->next->value = curSingle->next->value; - - curSingle = curSingle->next; - cur = cur -> next; - - if (curSingle->next) { - cur->next = malloc(sizeof(FullLinkedNode)); - } else { - cur->next = NULL; - } - } - - fullLinkedList->last = cur; - } else { - fullLinkedList->first = NULL; - fullLinkedList->last = NULL; - } - return fullLinkedList; -} - -void printFullLinkedList(FullLinkedList *fullLinkedList) { - printf("Forward\n"); - for (FullLinkedNode *cur = fullLinkedList->first; cur; cur = cur->next) { - printf("%d ", cur->value); - } - printf("\n"); - - printf("Backward\n"); - for (FullLinkedNode *cur = fullLinkedList->last; cur; cur = cur->prev) { - printf("%d ", cur->value); - } - printf("\n"); -} - -int main(void) { - // Task: Reverse linked list - SingleLinkedNode n5 = {5, NULL}; - SingleLinkedNode n4 = {4, &n5}; - SingleLinkedNode n3 = {3, &n4}; - SingleLinkedNode n2 = {2, &n3}; - SingleLinkedNode n1 = {1, &n2}; - - printf("Initial\n"); - printLinkedList(&n1); - - // Works with normal linked list - SingleLinkedNode *reversedHead = reverseLinkedList(&n1); - printf("Reversed\n"); - printLinkedList(reversedHead); - - // Works with NULL as input - reverseLinkedList(NULL); - - // Works with linked list that has only one node - SingleLinkedNode foobar = {42, NULL}; - reverseLinkedList(&foobar); - - - // Task: Convert single linked list to full linked list - SingleLinkedNode n10 = {10, NULL}; - SingleLinkedNode n9 = {9, &n10}; - SingleLinkedNode n8 = {8, &n9}; - SingleLinkedNode n7 = {7, &n8}; - SingleLinkedNode n6 = {6, &n7}; - - FullLinkedList *fullLinkedList = singleLinkedListToFullLinkedList(&n6); - - printf("\nBefore conversion\n"); - printLinkedList(&n6); - - printf("After conversion\n"); - printFullLinkedList(fullLinkedList); - - return 0; -} diff --git a/20220317/memory-1.c b/20220317/memory-1.c deleted file mode 100644 index 14a9473c5bcb6dc277a88473eb315e4fb0f96a22..0000000000000000000000000000000000000000 --- a/20220317/memory-1.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdlib.h> - -int a = 0; -int b = 1; -int c = 2; - -int main (void) -{ - int d = 3; - int e = 4; - int *f = malloc (sizeof (int)); - *f = 5; - int *g = malloc (sizeof (int)); - *g = 6; - return 0; -} diff --git a/20220317/memory-1.s b/20220317/memory-1.s deleted file mode 100644 index 5ec3c7cb33abc0b7db196c841bc06275bc6a306d..0000000000000000000000000000000000000000 --- a/20220317/memory-1.s +++ /dev/null @@ -1,34 +0,0 @@ - .file "memory-1.c" - .text - .globl main - .type main, @function -main: -.LFB11: - .cfi_startproc - movl $0, %eax - ret - .cfi_endproc # #include <stdlib.h> -.LFE11: # - .size main, .-main # int a = 0; - .globl c # int b = 1; - .data # int c = 2; - .align 4 # - .type c, @object # int main (void) - .size c, 4 # { -c: # int d = 3; - .long 2 # int e = 4; - .globl b # int *f = malloc (sizeof (int)); - .align 4 # *f = 5; - .type b, @object # int *g = malloc (sizeof (int)); - .size b, 4 # *g = 6; -b: # return 0; - .long 1 # } - .globl a - .bss - .align 4 - .type a, @object - .size a, 4 -a: - .zero 4 - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220317/memory-1.s0 b/20220317/memory-1.s0 deleted file mode 100644 index d68e507cf13d8c6d950f551d4bae06f1ed380389..0000000000000000000000000000000000000000 --- a/20220317/memory-1.s0 +++ /dev/null @@ -1,55 +0,0 @@ - .file "memory-1.c" - .text - .globl a - .bss - .align 4 - .type a, @object - .size a, 4 -a: - .zero 4 - .globl b - .data - .align 4 - .type b, @object - .size b, 4 -b: - .long 1 - .globl c - .align 4 - .type c, @object # #include <stdlib.h> - .size c, 4 # -c: # int a = 0; - .long 2 # int b = 1; - .text # int c = 2; - .globl main # - .type main, @function # int main (void) -main: # { -.LFB6: # int d = 3; - .cfi_startproc # int e = 4; - pushq %rbp # int *f = malloc (sizeof (int)); - .cfi_def_cfa_offset 16 # *f = 5; - .cfi_offset 6, -16 # int *g = malloc (sizeof (int)); - movq %rsp, %rbp # *g = 6; - .cfi_def_cfa_register 6 # return 0; - subq $32, %rsp # } - movl $3, -4(%rbp) - movl $4, -8(%rbp) - movl $4, %edi - call malloc@PLT - movq %rax, -16(%rbp) - movq -16(%rbp), %rax - movl $5, (%rax) - movl $4, %edi - call malloc@PLT - movq %rax, -24(%rbp) - movq -24(%rbp), %rax - movl $6, (%rax) - movl $0, %eax - leave - .cfi_def_cfa 7, 8 - ret - .cfi_endproc -.LFE6: - .size main, .-main - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220324/Zeichen_123.pdf b/20220324/Zeichen_123.pdf deleted file mode 120000 index fdbc897227df059cfda790a16555e6e417682116..0000000000000000000000000000000000000000 --- a/20220324/Zeichen_123.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/Zeichen_123.pdf \ No newline at end of file diff --git a/20220324/ad-20220324.tex b/20220324/ad-20220324.tex deleted file mode 100644 index 4ec2670324f5112f28f881f8c5494c747842e01b..0000000000000000000000000000000000000000 --- a/20220324/ad-20220324.tex +++ /dev/null @@ -1,843 +0,0 @@ -% ad-20220324.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ -% Copyright (C) 2018, 2019, 2020, 2021, 2022 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: C: Arrays und Zeiger für Fortgeschrittene - -\documentclass[10pt,t]{beamer} - -\usepackage{pgslides} -\usepackage{tikz} -\usepackage{rotating} - -\newcommand{\underconstruction}{% - \begin{picture}(0,0) - \color{black} - \put(6,-2.2){\makebox(0,0)[b]{\includegraphics[width=1.5cm]{Zeichen_123.pdf}}} - \put(6,-2.5){\makebox(0,0)[t]{\shortstack{Änderungen\\vorbehalten}}} - \end{picture}} - -\title{Algorithmen und Datenstrukturen in C/C++} -\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski} -\date{24.\ März 2022} - -\begin{document} - -\maketitleframe - -\sectionnonumber{Vorab: Online-Werkzeuge} - -\begin{frame} - - \showsectionnonumber - \begin{itemize} - \item - \textbf{Mumble}: Seminarraum 2\\ - Fragen: Mikrophon einschalten oder über den Chat\\ - Umfragen: über den Chat - \smallskip - \item - \textbf{VNC}: Kanal 6, Passwort: \lstinline[style=cmd]{testcvh}\\ - Eigenen Bildschirm freigeben: per VNC-Server oder Web-Interface\\ - Kamerabild übertragen: Link zu Web-Interface auf Anfrage - \smallskip - \item - Allgemeine Informationen: - \url{https://www.cvh-server.de/online-werkzeuge/} - \smallskip - \item - Notfall-Schnellzugang: \url{https://www.cvh-server.de/virtuelle-raeume/}\\ - Seminarraum 2, VNC-Passwort: \lstinline[style=cmd]{testcvh} - \smallskip - \item - Bei Problemen: bitte notieren:\\ - Art des Problems, genaue Uhrzeit, JavaScript-Fehlermeldungen (F12) - \bigskip - \item - GitLab: \url{https://gitlab.cvh-server.de/pgerwinski/ad}\\ - Links auf die Datei klicken, nicht mittig auf den Kommentar. - \end{itemize} - -\end{frame} - -\nosectionnonumber{Hardwarenahe Programmierung} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/hp.git}}} - \item[\textbf{2}] \textbf{Einführung in C} - \item[\textbf{3}] \textbf{Bibliotheken} - \item[\textbf{4}] \textbf{Hardwarenahe Programmierung} - \item[\textbf{5}] \textbf{\color{black}Algorithmen} - \begin{itemize} - \color{medgreen} - \item[5.1] Differentialgleichungen - \item[5.2] Rekursion - \item[5.3] Aufwandsabschätzungen - \end{itemize} - \item[\textbf{6}] \textbf{Objektorientierte Programmierung} - \item[\textbf{7}] \textbf{\color{black}Datenstrukturen} - \begin{itemize} - \color{medgreen} - \item[7.1] Stack und FIFO - \item[7.2] Verkettete Listen - \item[7.3] Bäume - \end{itemize} - \end{itemize} - \vspace*{-1cm} - -\end{frame} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \color{gray} - \item[\textbf{1}] \textbf{Einführung} - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/hp.git}}} - \item[\textbf{2}] \textbf{Einführung in C} - \item[\textbf{3}] \textbf{Bibliotheken} - \item[\textbf{4}] \textbf{Hardwarenahe Programmierung} - \item[\textbf{5}] \textbf{\color{black}Algorithmen} - \begin{itemize} - \color{medgreen} - \item[5.1] Differentialgleichungen - \item[5.2] Rekursion - \item[5.3] Aufwandsabschätzungen - \end{itemize} - \item[\textbf{6}] \textbf{Objektorientierte Programmierung} - \item[\textbf{7}] \textbf{\color{black}Datenstrukturen} - \begin{itemize} - \color{medgreen} - \item[7.1] Stack und FIFO - \item[7.2] Verkettete Listen - \item[7.3] Bäume - \end{itemize} - \end{itemize} - \vspace*{-1cm} - -\end{frame} - -\nosectionnonumber{Algorithmen} - -\begin{frame} - - \shownosectionnonumber - - {\color{medgreen}\textbf{Differentialgleichungen}} - \begin{itemize} - \item Pendel - \item Basketball - \end{itemize} - - {\color{medgreen}\textbf{Rekursion}} - \begin{itemize} - \item Türme von Hanoi - \end{itemize} - - \smallskip - - \textarrow\ \emph{Wie rechnet man das überhaupt aus?} - - \bigskip - - {\color{medgreen}\textbf{Aufwandsabschätzungen}} - \begin{itemize} - \item Selectionsort - \item Bubblesort - \item Quicksort - \end{itemize} - - \smallskip - - \textarrow\ \emph{Wie rechnet man das möglichst effizient aus?} - \begin{itemize} - \item[\textbf{?}] möglichst schnell - \item[\textbf{?}] mit möglichst wenig Speicherplatzverbrauch - \item[\textbf{?}] unter Berücksichtigung gegebener Randbedingungen - \end{itemize} - -\end{frame} - -\nosectionnonumber{Datenstrukturen} - -\begin{frame} - - \shownosectionnonumber - - \addvspace{-3pt} - - \begin{visibleenv}<2-> - \textbf{Structs und Objekte} - \begin{itemize} - \item zusammengehörige Daten gemeinsam speichern - \end{itemize} - \end{visibleenv} - - {\color{medgreen}\textbf{Stack und FIFO}}\only<2->{\textbf{ -- Arrays}} - \begin{itemize} - \item effizientes Anfügen und Entfernen vorne und hinten - \item effizienter direkter Zugriff auf Elemente in der Mitte - \item ineffizientes Einfügen und Entfernen in der Mitte - \end{itemize} - - {\color{medgreen}\textbf{Verkettete Listen}}\only<2->{\textbf{ -- Structs mit Pointern}} - \begin{itemize} - \item effizientes Einfügen und Entfernen in der Mitte - \item ineffizienter direkter Zugriff auf Elemente in der Mitte - \end{itemize} - - {\color{medgreen}\textbf{Bäume}}\only<2->{\textbf{ -- Structs mit Pointern}} - \begin{itemize} - \item Kompromiß - \end{itemize} - - \smallskip - - \textarrow\ \emph{Wie speichert man das möglichst effizient?} - \begin{itemize} - \item[\textbf{?}] möglichst schnell - \item[\textbf{?}] mit möglichst wenig Speicherplatzverbrauch - \item[\textbf{?}] unter Berücksichtigung gegebener Randbedingungen - \end{itemize} - -\end{frame} - -\nosectionnonumber{Aufwandsabschätzungen} - -\begin{frame}[fragile] - - \newcommand{\w}{\hspace*{0.75pt}} - - \shownosectionnonumber - - \begin{picture}(0,0) - \put(7.6,-0.3){% - \begin{minipage}[t]{5.3cm} -% \vspace*{-1.0cm}\includegraphics{landau-symbols.pdf} - \vspace*{-1.0cm}\alt<3->{\includegraphics{landau-symbols-2.pdf}}% - {\includegraphics{landau-symbols.pdf}} - \small - \begin{description}\itemsep0pt\leftskip-0.5cm - \item[$n$:] Eingabedaten - \item[$g(n)$:] Rechenzeit - \end{description} - \end{minipage}} - \end{picture} - - \vspace*{-1.5\bigskipamount} - - \begin{itemize} - \item - Türme von Hanoi: $\mathcal{O}(2^n)$ - \begin{onlyenv}<1> - \par\medskip - Für jede zusätzliche Scheibe\\verdoppelt sich die Rechenzeit! - % 32.712 * 2^32 / 3600 / 24 / 365.25 = 4452.08032888280477602859 - \begin{itemize} - \arrowitem - $\frac{32,712\,\text{s}\,\cdot\,2^{32}}{3600\,\cdot\,24\,\cdot\,365,25} \approx 4452$ - Jahre\\[\smallskipamount] - für 64 Scheiben - \end{itemize} - \end{onlyenv} -% \end{itemize} -% - \pause -% -% Beispiel: Sortieralgorithmen -% -% \begin{itemize} - \item - Minimum suchen: \alt<1->{$\mathcal{O}(n)$}{$\mathcal{O}(\textbf{\color{red}?})$} -% \pause - \item - \dots\ mit Schummeln: $\mathcal{O}(1)$ -% \pause -% \pause - \begin{picture}(0,0) - \put(-4.742,-4.3){\begin{minipage}[t]{12cm} - Faustregel:\\Schachtelung der Schleifen zählen\\ - $x$ Schleifen \textarrow\ $\mathcal{O}(n\w^x)$ - \vspace{0.5\smallskipamount} - \begin{onlyenv}<3-> - \begin{tabbing} - Verschlüsselung brechen (Primfaktorzerlegung):~\=\kill - \textbf{\color{red}RSA}: Schlüsselerzeugung (Berechnung von $d\/$): - \> \color{red}$\mathcal{O}\bigl((\log n)^2\bigr)$,\\[0.5\smallskipamount] - Ver- und Entschlüsselung (Exponentiation): - \> \color{red}$\mathcal{O}\kern0.5pt(n\log n)$,\\[0.5\smallskipamount] - Verschlüsselung brechen (Primfaktorzerlegung): - \> \color{red}$\mathcal{O}\bigl(2^{\sqrt{\log n\,\cdot\,\log\log n}}\bigr)$ - \end{tabbing} - \end{onlyenv} - \end{minipage}} - \end{picture} -% \pause - \item - Minimum an den Anfang tauschen,\\ - nächstes Minimum suchen:\\ - \textarrow\ Selectionsort: $\mathcal{O}(n\w^2)$ -% \pause - \item - Während Minimumsuche prüfen\\und abbrechen, falls schon sortiert\\ - \textarrow\ Bubblesort: $\mathcal{O}(n)$ bis $\mathcal{O}(n\w^2)$ -% \pause - \item - Rekursiv sortieren\\ - \textarrow\ Quicksort: $\mathcal{O}(n\log n)$ bis $\mathcal{O}(n\w^2)$\hfill - \end{itemize} - -\end{frame} - -\nosectionnonumber{\inserttitle} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{2}] \textbf{\dots} - \end{itemize} - - \begin{picture}(0,0)(-2,-0.5) - \put(0.5,-1.0){\mbox{\Large$\mathcal{O}(n\log n)$}} - \put(0.6,-2.7){\mbox{\large\bf B-Baum}} - \put(-1.3,-3.4){\mbox{\small\it verkettete Liste}} - \put(1.5,-4.0){\mbox{\large Datenbanken}} - \put(-1.0,-1.9){\mbox{\large\tt struct}} - \put(3.0,-2.0){\mbox{\large Wegfindung}} - \put(4.0,-3.0){\mbox{Verschlüsseln}} - \put(5.7,-4.2){\mbox{\it Datenkompression}} - \put(6.0,-1.5){\mbox{CORDIC}} - \put(8.5,-2.0){\mbox{\small\bf FFT}} - \put(7.5,-2.9){\mbox{\small\tt pointer}} - \put(3.5,-0.5){\mbox{\it Rasterung}} - \put(7.7,-0.7){\mbox{\tt array}} - \put(-0.5,-5.0){\mbox{digitale Signatur}} - \put(3.5,-5.2){\mbox{\large Hash-Tabelle}} - \put(0.0,-6.3){\mbox{\small\bf kryptographische Hash-Funktion}} - \put(6.5,-6.0){\mbox{\it Prüfsumme}} - \pause - \put(4.0,-2.7){\begin{rotate}{18} - \makebox(0,0){\LARGE\color{red}\shortstack{% - Online-Werkzeuge für Home Office, Lehre\\ - und Kommunikation mit Unterdrückten}} - \end{rotate}} - \end{picture} - -\end{frame} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} - \underconstruction - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{\color{red}i}] {\color{red}Online-Werkzeuge für Home Office, Lehre\\ - und Kommunikation mit Unterdrückten} - \item[\textbf{2}] \textbf{Datenorganisation} - \item[\textbf{3}] \textbf{Optimierung} - \item[\textbf{4}] \textbf{Hardwarenahe Algorithmen} - \item[\textbf{5}] \textbf{Datenkodierung} - \color{gray} - \item[\textbf{6}] \textbf{Numerik} - \end{itemize} - -\end{frame} - -\nosectionnonumber{\large\bf Übungsaufgabe: Verkettete Listen} - -\begin{frame} - - \shownosectionnonumber - - \begin{enumerate}[\quad(a)] - \item - Schreiben Sie eine Funktion, die eine verkettete Liste\\ - in die umgekehrte Reihenfolge bringt. - \item - Schreiben Sie eine Funktion, die eine verkettete Liste\\ - in eine doppelt verkettete Liste umwandelt. - \item - Wieviel Rechenzeit (Landau-Symbol) benötigen Ihre Funktionen? - \item - Wieviel Speicherplatz (Landau-Symbol) benötigen Ihre Funktionen? - \end{enumerate} - -\end{frame} - -\nosectionnonumber{\inserttitle} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} - \underconstruction - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{i}] \textbf{Gesellschaftliche Auswirkungen\\ - von Algorithmen und Datenstrukturen} - \item[\textbf{2}] \textbf{Datenorganisation} - \item[\textbf{3}] \textbf{Optimierung} - \item[\textbf{4}] \textbf{Hardwarenahe Algorithmen} - \item[\textbf{5}] \textbf{Datenkodierung} - \color{gray} - \item[\textbf{6}] \textbf{Numerik} - \end{itemize} - -\end{frame} - -\section{Einführung in C++} -\addtocounter{subsection}{-1} -\subsection{Was ist C?} - -\begin{frame} - - \showsection - \showsubsection - - Etabliertes Profi-Werkzeug - \begin{itemize} - \item - kleinster gemeinsamer Nenner für viele Plattformen\\ - \begin{picture}(0,1) - \color{red} - \put(7.2,0.6){\tikz{\draw[-latex](0.0,0.0)--(0.0,0.4);}} - \put(7.2,0.5){\makebox(0,0)[t]{\color{black}Hardware und/oder Betriebssystem}} - \end{picture} - \item - Hardware direkt ansprechen und effizient einsetzen - \item - \dots\ bis hin zu komplexen Software-Projekten - \medskip - \arrowitem - Man kann Computer vollständig beherrschen. - \end{itemize} - -\end{frame} - -\begin{frame} - - \showsection - \showsubsection - - \begin{picture}(0,0) - \put(5.3,-2.5){\makebox(0,0)[tl]{\begin{minipage}{7cm} - \emph{C makes it easy to shoot yourself in the foot.} - \begin{flushright} - Bjarne Stroustrup, ca.~1986\\ - \href{http://www.stroustrup.com/bs_faq.html\#really-say-that}% - {\nolinkurl{http://www.stroustrup.com/bs_faq.html}\\ - \nolinkurl{\#really-say-that}} - \end{flushright} - \end{minipage}}} - \end{picture}% - Etabliertes Profi-Werkzeug - \begin{itemize} - \item - kleinster gemeinsamer Nenner für viele Plattformen - \item - Hardware direkt ansprechen und effizient einsetzen - \item - \dots\ bis hin zu komplexen Software-Projekten - \item - leistungsfähig, aber gefährlich - \end{itemize} - - \medskip - "`High-Level-Assembler"' - \begin{itemize} - \item - kein "`Fallschirm"' - \item - kompakte Schreibweise - \end{itemize} - - \medskip - Unix-Hintergrund - \begin{itemize} - \item - Baukastenprinzip - \item - konsequente Regeln - \item - kein "`Fallschirm"' - \end{itemize} - -\end{frame} - -\subsection{Was ist C++?} - -\begin{frame} - - \showsection - \showsubsection - - \begin{picture}(0,0) - \put(6.3,-0.2){\makebox(0,0)[tl]{\begin{minipage}{6cm} - \emph{C++ is a better C.} - \begin{flushright} - Bjarne Stroustrup, Autor von C++\\ - \url{http://www.stroustrup.com/C++.html} - \end{flushright} - \end{minipage}}} - \put(5.3,-2.5){\makebox(0,0)[tl]{\begin{minipage}{7cm} - \emph{C makes it easy to shoot yourself in the foot;\\ - C++ makes it harder, but when you do\\ - it blows your whole leg off.} - \begin{flushright} - Bjarne Stroustrup, Autor von C++, ca.~1986\\ - \href{http://www.stroustrup.com/bs_faq.html\#really-say-that}% - {\nolinkurl{http://www.stroustrup.com/bs_faq.html}\\ - \nolinkurl{\#really-say-that}} - \end{flushright} - \end{minipage}}} - \end{picture}% - Etabliertes Profi-Werkzeug - \begin{itemize} - \item - kompatibel zu C - \end{itemize} - - \medskip - - C++ unterstützt - \begin{itemize} - \item - \newterm{objektorientierte\\ - Programmierung} - \item - \newterm{Datenabstraktion} - \item - \newterm{generische\\ - Programmierung} - \end{itemize} - - \vspace{0cm plus 1 filll} - - \textbf{Motivation:}\\[\smallskipamount] - Vermeidung unsicherer Techniken,\\ - insbesondere von Präprozessor-Konstruktionen und Zeigern,\\ - unter Beibehaltung der Effizienz - -\end{frame} - -\subsection{C: Arrays und Zeiger für Fortgeschrittene} - -\begin{frame}[fragile] - \showsubsection - - \begin{minipage}[t]{6cm} - Array: - \smallskip - \begin{lstlisting}[gobble=6] - char a[] = "Test"; - \end{lstlisting} - \end{minipage}\hfill - \begin{minipage}[t]{6cm} - Zeiger: - \smallskip - \begin{lstlisting}[gobble=6] - char *p = "Test"; - \end{lstlisting} - \end{minipage} - - \bigskip - - \begin{itemize} - \item - In beiden Fällen wird ein Array von ganzen Zahlen\\ - (5 \lstinline{char}-Variable mit den Werten 84, 101, 115, 116 und 0)\\ - im Speicher angelegt. - \medskip - \item - Links heißt das Array \lstinline{a}; - rechts ist es "`anonym"'. - \item - Rechts wird zusätzlich ein Zeiger \lstinline{p} im Speicher angelegt,\\ - der auf das (anonyme) Array zeigt. - \medskip - \item - \lstinline{&a} ist dasselbe wie \lstinline{a}, - nämlich die Adresse des Arrays. - \item - \lstinline{&p} ist die Adresse des Zeigers. - \item - \lstinline{p} ist der Wert des Zeigers,\\ - momentan also die Adresse des (anonymen) Arrays. - \end{itemize} - -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \begin{minipage}[t]{6cm} - Array: - \smallskip - \begin{lstlisting}[gobble=6] - char a[] = "Test"; - \end{lstlisting} - \end{minipage}\hfill - \begin{minipage}[t]{6cm} - Zeiger: - \smallskip - \begin{lstlisting}[gobble=6] - char *p = "Test"; - \end{lstlisting} - \end{minipage} - - \bigskip - - \begin{itemize} - \item - In beiden Fällen wird ein Array von ganzen Zahlen\\ - (5 \lstinline{char}-Variable mit den Werten 84, 101, 115, 116 und 0)\\ - im Speicher angelegt. - \medskip - \item - Links heißt das Array \lstinline{a}; - rechts ist es "`anonym"'. - \item - Rechts wird zusätzlich ein Zeiger \lstinline{p} im Speicher angelegt,\\ - der auf das (anonyme) Array zeigt. - \medskip - \item - \lstinline{&a} ist {\color{red}fast} dasselbe wie \lstinline{a},\\ - nämlich die Adresse des Arrays {\color{red}bzw.\ das Array selbst,\\ - das zuweisungskompatibel zu einem Zeiger auf Elemente des Arrays ist.\\ - \lstinline{&} bewirkt hier eine (nicht explizite!) Typumwandlung.} - \item - \lstinline{&p} ist die Adresse des Zeigers. - \item - \lstinline{p} ist der Wert des Zeigers,\\ - momentan also die Adresse des (anonymen) Arrays. - \end{itemize} - - \vspace*{-1cm} - -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \begin{minipage}[t]{7cm} - Array: - \smallskip - \begin{lstlisting}[gobble=6] - char *a[] = { "Dies", "ist", "ein", "Test" }; - \end{lstlisting} - \end{minipage}\hfill - \begin{minipage}[t]{5cm} - Zeiger: - \smallskip - \begin{lstlisting}[gobble=6] - char **p = a; - \end{lstlisting} - \end{minipage} - - \bigskip - - \begin{itemize} - \item - Array von Zeigern auf \lstinline{char}-Variable - \item - Zeiger auf das Array = Zeiger auf Zeiger auf \lstinline{char}-Variable - \item - Schleife durch äußeres Array mit \lstinline{p++} möglich - \end{itemize} - -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \begin{minipage}[t]{7cm} - Array: - \smallskip - \begin{lstlisting}[gobble=6] - char a[][5] = { "Dies", "ist", "ein", "Test" }; - \end{lstlisting} - \end{minipage}\hfill - \begin{minipage}[t]{5cm} - Zeiger: - \smallskip - \begin{lstlisting}[gobble=6] - char *p = a[0]; - \end{lstlisting} - \end{minipage} - - \bigskip - - \begin{itemize} - \item - zweidimensionales Array von \lstinline{char}-Variablen - \item - Zeiger auf Array-Komponente\\ - = Zeiger auf eindimensionales Array\\ - = Zeiger auf \lstinline{char}-Variable - \item - Schleife durch äußeres Array mit Zeiger-Arithmetik nicht möglich - \end{itemize} - - \begin{picture}(0,0) - \color{red} - \thicklines - \put(8.6,0.7){\line(1,0){0.85}} - \put(9.05,0.4){\makebox(0,0)[t]{$\overbrace{\mbox{nur mit Trick: - \lstinline{p += 5}}}$}} - \end{picture} - -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \begin{lstlisting} - typedef char string5[5]; - string5 a[] = { "Dies", "ist", "ein", "Test" }; - string5 *p = a; - \end{lstlisting} - - \bigskip - - \begin{itemize} - \item - Array von Array von \lstinline{char}-Variablen\\ - = zweidimensionales Array von \lstinline{char}-Variablen - \item - Zeiger auf zweidimensionales Array - \item - Schleife durch äußeres Array mit \lstinline{p++} möglich - \bigskip - \arrowitem - Fazit:\\ - Ein Hoch auf \lstinline{typedef}! - \end{itemize} - -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \begin{lstlisting} - typedef char string5[5]; - string5 *p = { "Dies", "ist", "ein", "Test" }; - \end{lstlisting} - - \bigskip - - \begin{itemize} - \item - anonymes Array von Array von \lstinline{char}-Variablen\\ - = anonymes zweidimensionales Array von \lstinline{char}-Variablen - \item - Zeiger auf zweidimensionales Array - \item - Schleife durch äußeres Array mit \lstinline{p++} möglich - \end{itemize} - -% \pause - - \begin{picture}(0,0)(-2,-0.4) - \color{red} - \thicklines - \put(0,0){\line(2,1){4}} - \put(0,2){\line(2,-1){4}} - \end{picture} - - Das Konstrukt \lstinline|{ "Dies", "ist", "ein", "Test" }|\\ - steht für ein Array von 4 Zeigern auf \lstinline{char}-Variable. - - \smallskip - - \lstinline{string5 *p} hingegen erwartet einen Zeiger auf ein Array - von 5 \lstinline{char}-Variablen. - - \smallskip - - Es bekommt die Adresse von \lstinline{"Dies"} zugewiesen. - - \smallskip - - Durch das Erhöhen von \lstinline{p} (um 5) zeigt es danach - \emph{zufällig\/} auf das \lstinline{"ist"}. - - Bei nochmaligem Erhöhen zeigt es auf das \lstinline{"in"} von \lstinline{"ein"}. - - \smallskip - - (Auch ohne Optimierung werden die Strings \lstinline{"ist"}, \lstinline{"ein"} - und \lstinline{"Test"}\\ - u.\,U.\ wegoptimiert.) - -\end{frame} - -\subsection{Elementare Neuerungen in C++ gegenüber C} - -\begin{frame}[fragile] - \showsubsection - \begin{itemize} - \pause - \item - Kommentare mit \lstinline{//} - \pause - \item - Konstante: -% \begin{onlyenv}<3> -% \begin{lstlisting}[gobble=10] -% const int answer = 42; -% \end{lstlisting} -% \end{onlyenv} - \begin{lstlisting}[gobble=8] - const int n = 5; - int prime[n] = { 2, 3, 5, 7, 11 }; - \end{lstlisting} - \pause - \item - Ab C++11: \lstinline{constexpr}-Funktionen\\ -% \only<1->{{\color{red}\dots\ anscheinend auch ohne "`constexpr"' \dots}\\} - C++11: darf nur aus einem einzigen \lstinline{return}-Statement bestehen\\ - \textarrow\ \lstinline{?:} statt \lstinline{if}, Rekursion statt Schleife\\ - C++-14: auch Verzweigungen und Schleifen erlaubt -% \pause -% \item -% leere Parameterliste: \lstinline{void} optional\\ -% in C: ohne \lstinline{void} = Parameterliste wird nicht geprüft -% \pause -% \item -% Operatoren \lstinline{new} und \lstinline{delete}\\ -% als Alternative zu den Funktionen \lstinline{malloc()} und \lstinline{free()} - \end{itemize} -\end{frame} - -\end{document} diff --git a/20220324/arrays-1.c b/20220324/arrays-1.c deleted file mode 100644 index e7732f9a560548f8bad6d89b073b2e9ba93bf87b..0000000000000000000000000000000000000000 --- a/20220324/arrays-1.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - char *a[] = { "Dies", "ist", "ein", "Test" }; - char **p = a; - return 0; -} diff --git a/20220324/arrays-1.s b/20220324/arrays-1.s deleted file mode 100644 index 42551d6a52dd8d770b2eb41f22af2e5684111fc8..0000000000000000000000000000000000000000 --- a/20220324/arrays-1.s +++ /dev/null @@ -1,14 +0,0 @@ - .file "arrays-1.c" - .text - .globl main - .type main, @function -main: -.LFB11: - .cfi_startproc - movl $0, %eax - ret - .cfi_endproc -.LFE11: - .size main, .-main - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220324/arrays-10.c b/20220324/arrays-10.c deleted file mode 100644 index a7e9cddaf92daaa879354a33aa54568b9b55a925..0000000000000000000000000000000000000000 --- a/20220324/arrays-10.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != &a + 4) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-11.c b/20220324/arrays-11.c deleted file mode 100644 index 43900dce766b5c07b6a8767aaed216e0985e6d10..0000000000000000000000000000000000000000 --- a/20220324/arrays-11.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != &a[0] + 4) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-12.c b/20220324/arrays-12.c deleted file mode 100644 index f891013814a0ae881def2bf8205108f35c5d26e8..0000000000000000000000000000000000000000 --- a/20220324/arrays-12.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != a[0] + 4) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-13.c b/20220324/arrays-13.c deleted file mode 100644 index 65660cbae7dacfd82015f6b5054256579bcf2259..0000000000000000000000000000000000000000 --- a/20220324/arrays-13.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != a[0] + 4) - printf ("%s\n", p++); - return 0; -} diff --git a/20220324/arrays-14.c b/20220324/arrays-14.c deleted file mode 100644 index 377559a2561e2dd8e2e0ebe6b51a12889c9413f5..0000000000000000000000000000000000000000 --- a/20220324/arrays-14.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - for (int i = 0; i < 4; i++) - printf ("%s\n", a[i]); - return 0; -} diff --git a/20220324/arrays-15.c b/20220324/arrays-15.c deleted file mode 100644 index aa4c359128bf6258c148bca4728bff332869e3b0..0000000000000000000000000000000000000000 --- a/20220324/arrays-15.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - int i = 0; - while (p != a[0] + 4) - printf ("%s\n", p[i++]); - return 0; -} diff --git a/20220324/arrays-16.c b/20220324/arrays-16.c deleted file mode 100644 index 8e43646cce1f75bc539cd78125a8c22d008420c3..0000000000000000000000000000000000000000 --- a/20220324/arrays-16.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != a[0] + 4) - { - printf ("%s\n", p); - p += 5; - } - return 0; -} diff --git a/20220324/arrays-17.c b/20220324/arrays-17.c deleted file mode 100644 index 53269a76b9624f8732ec1577730af8a3727e4ffb..0000000000000000000000000000000000000000 --- a/20220324/arrays-17.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != a[][0] + 4) - { - printf ("%s\n", p); - p += 5; - } - return 0; -} diff --git a/20220324/arrays-18.c b/20220324/arrays-18.c deleted file mode 100644 index 53bc35b6a664158e8b2f0e763e446141407db22c..0000000000000000000000000000000000000000 --- a/20220324/arrays-18.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != a[0] + 5) - { - printf ("%s\n", p); - p += 5; - } - return 0; -} diff --git a/20220324/arrays-19.c b/20220324/arrays-19.c deleted file mode 100644 index ed3e6a5d4ea243b5d4a4e12182477bdf3936cb64..0000000000000000000000000000000000000000 --- a/20220324/arrays-19.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != a[4] + 5) - { - printf ("%s\n", p); - p += 5; - } - return 0; -} diff --git a/20220324/arrays-2.c b/20220324/arrays-2.c deleted file mode 100644 index c61505046122fe08188e21a50c7510042bdf8b89..0000000000000000000000000000000000000000 --- a/20220324/arrays-2.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - char *a[] = { "Dies", "ist", "ein", "Test" }; - char **p = a; - for (int i = 0; i < 4; i++) - printf ("%s\n", p[i]); - return 0; -} diff --git a/20220324/arrays-20.c b/20220324/arrays-20.c deleted file mode 100644 index 082c4850415133f2dc2c5b6bc210d74693b13515..0000000000000000000000000000000000000000 --- a/20220324/arrays-20.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != a[3] + 5) - { - printf ("%s\n", p); - p += 5; - } - return 0; -} diff --git a/20220324/arrays-21.c b/20220324/arrays-21.c deleted file mode 100644 index 085311f0c3521bb30e9b5949de9c1242ed4fd46f..0000000000000000000000000000000000000000 --- a/20220324/arrays-21.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != a[4]) - { - printf ("%s\n", p); - p += 5; - } - return 0; -} diff --git a/20220324/arrays-22.c b/20220324/arrays-22.c deleted file mode 100644 index ad22643b9245040930e10a017adb2efce43d8e84..0000000000000000000000000000000000000000 --- a/20220324/arrays-22.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - typedef char string5[5]; - string5 a[] = { "Dies", "ist", "ein", "Test" }; - string5 *p = a; - while (p != a[4]) - printf ("%s\n", p++); - return 0; -} diff --git a/20220324/arrays-23.c b/20220324/arrays-23.c deleted file mode 100644 index af06755742f6212106227a3379d21f44fb84d8f2..0000000000000000000000000000000000000000 --- a/20220324/arrays-23.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - typedef char string5[5]; - string5 a[] = { "Dies", "ist", "ein", "Test", NULL }; - string5 *p = a; - while (p) - printf ("%s\n", p++); - return 0; -} diff --git a/20220324/arrays-24.c b/20220324/arrays-24.c deleted file mode 100644 index 859560e2f9c0a1ead25f019d6b71ed2c7ea1bd8d..0000000000000000000000000000000000000000 --- a/20220324/arrays-24.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - char *a[] = { "Dies", "ist", "ein", "Test", NULL }; - char **p = a; - while (*p) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-25.c b/20220324/arrays-25.c deleted file mode 100644 index b3e0346938cebf03b715a152feb6ec87cc722603..0000000000000000000000000000000000000000 --- a/20220324/arrays-25.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - typedef char string5[5]; - string5 a[] = { "Dies", "ist", "ein", "Test" }; - string5 *p = a; - while (*p) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-26.c b/20220324/arrays-26.c deleted file mode 100644 index e60ac5cf94ec3fc4bd6445b96a1f304a3f6531e4..0000000000000000000000000000000000000000 --- a/20220324/arrays-26.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - typedef char string5[5]; - string5 a[] = { "Dies", "i_st", "ein", "Test" }; - string5 *p = a; - while (*p) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-27.c b/20220324/arrays-27.c deleted file mode 100644 index 6f98f0c9e50972416b92c09b34f714a4a5f3eacd..0000000000000000000000000000000000000000 --- a/20220324/arrays-27.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - typedef char string5[5]; - string5 a[] = { "Dies", "ist", "ein", "Test" }; - char *q = (char *) a; - for (int i = 0; i < 20; i++) - printf ("%02x ", q[i]); - printf ("\n"); - string5 *p = a; - while (*p) - { - printf ("%zx\n", p); - printf ("%s\n", *p++); - printf ("%zx\n", p); - } - return 0; -} diff --git a/20220324/arrays-28.c b/20220324/arrays-28.c deleted file mode 100644 index 5436ab7b6937c189e91e11fddc499f40e732500f..0000000000000000000000000000000000000000 --- a/20220324/arrays-28.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - typedef char string5[5]; - string5 a[] = { "Dies", "ist", "ein", "Test" }; - char *q = (char *) a; - for (int i = 0; i < 20; i++) - printf ("%02x ", q[i]); - printf ("\n"); - for (int i = 0; i < 4; i++) - printf ("%zx\n", &a[i]); - string5 *p = a; - while (*p) - { - printf ("%zx\n", p); - printf ("%s\n", *p++); - printf ("%zx\n", p); - } - return 0; -} diff --git a/20220324/arrays-29.c b/20220324/arrays-29.c deleted file mode 100644 index e8d47eb0cf59df3f55871da48a173769eb093294..0000000000000000000000000000000000000000 --- a/20220324/arrays-29.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - typedef char string5[5]; - string5 a[] = { "Dies", "ist", "ein", "Test" }; - char *q = (char *) a; - for (int i = 0; i < 20; i++) - printf ("%02x ", q[i]); - printf ("\n"); - for (int i = 0; i < 4; i++) - printf ("%zx\n", &a[i]); - string5 *p = a; - while (*p) - { - printf ("%zx %02x\n", p, *p); - printf ("%s\n", *p++); - printf ("%zx %02x\n", p, *p); - } - return 0; -} diff --git a/20220324/arrays-3.c b/20220324/arrays-3.c deleted file mode 100644 index 58ab7633e55d9c34a0a2bcd52502a7b4bf58f2d0..0000000000000000000000000000000000000000 --- a/20220324/arrays-3.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - char *a[] = { "Dies", "ist", "ein", "Test" }; - char **p = a; - for (int i = 0; i < 4; i++) - printf ("%s\n", a[i]); - return 0; -} diff --git a/20220324/arrays-3.s b/20220324/arrays-3.s deleted file mode 100644 index 0881001a21bfea36fdfa2465c46ca16e648be93f..0000000000000000000000000000000000000000 --- a/20220324/arrays-3.s +++ /dev/null @@ -1,54 +0,0 @@ - .file "arrays-3.c" - .text - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "Dies" -.LC1: - .string "ist" -.LC2: - .string "ein" -.LC3: - .string "Test" - .text - .globl main - .type main, @function -main: -.LFB11: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - pushq %rbx - .cfi_def_cfa_offset 24 - .cfi_offset 3, -24 - subq $40, %rsp - .cfi_def_cfa_offset 64 #include <stdio.h> - leaq .LC0(%rip), %rax - movq %rax, (%rsp) int main (void) - leaq .LC1(%rip), %rax { - movq %rax, 8(%rsp) char *a[] = { "Dies", "ist", "ein", "Test" }; - leaq .LC2(%rip), %rax char **p = a; - movq %rax, 16(%rsp) for (int i = 0; i < 4; i++) - leaq .LC3(%rip), %rax printf ("%s\n", a[i]); - movq %rax, 24(%rsp) return 0; - movq %rsp, %rbx } - leaq 32(%rsp), %rbp -.L2: - movq (%rbx), %rdi - call puts@PLT #include <stdio.h> - addq $8, %rbx - cmpq %rbp, %rbx int main (void) - jne .L2 { - movl $0, %eax char *a[] = { "Dies", "ist", "ein", "Test" }; - addq $40, %rsp char **p = a; - .cfi_def_cfa_offset 24 while (p != a + 4) - popq %rbx printf ("%s\n", *p++); - .cfi_def_cfa_offset 16 return 0; - popq %rbp } - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE11: - .size main, .-main - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220324/arrays-30.c b/20220324/arrays-30.c deleted file mode 100644 index 728e57f87451f3e7d4268c0ab85f40c7fa0542b5..0000000000000000000000000000000000000000 --- a/20220324/arrays-30.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - typedef char string5[5]; - string5 a[] = { "Dies", "ist", "ein", "Test" }; - char *q = (char *) a; - for (int i = 0; i < 20; i++) - printf ("%02x ", q[i]); - printf ("\n"); - for (int i = 0; i < 4; i++) - printf ("%zx\n", &a[i]); - string5 *p = a; - while (*p) - { - printf ("%zx %s\n", p, *p); - printf ("%s\n", *p++); - printf ("%zx %s\n", p, *p); - } - return 0; -} diff --git a/20220324/arrays-31.c b/20220324/arrays-31.c deleted file mode 100644 index e5ffbfb2e0cae94563a4067a8d0617b538b63ebe..0000000000000000000000000000000000000000 --- a/20220324/arrays-31.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - typedef char string5[5]; - string5 a[] = { "Dies", "ist", "ein", "Test", "" }; - string5 *p = a; - while (*p[0]) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-31.s b/20220324/arrays-31.s deleted file mode 100644 index 2383f7455ba054bb6e3f3a1cbba51a00281abf4e..0000000000000000000000000000000000000000 --- a/20220324/arrays-31.s +++ /dev/null @@ -1,40 +0,0 @@ - .file "arrays-31.c" - .text - .globl main - .type main, @function -main: -.LFB11: - .cfi_startproc - pushq %rbx - .cfi_def_cfa_offset 16 - .cfi_offset 3, -16 - subq $32, %rsp - .cfi_def_cfa_offset 48 - movl $1936025924, (%rsp) - movb $0, 4(%rsp) - movl $7631721, 5(%rsp) - movb $0, 9(%rsp) - movl $7235941, 10(%rsp) - movb $0, 14(%rsp) - movl $1953719636, 15(%rsp) - movb $0, 19(%rsp) - movl $0, 20(%rsp) - movb $0, 24(%rsp) - movq %rsp, %rdi -.L3: - leaq 5(%rdi), %rbx - call puts@PLT - movq %rbx, %rdi - cmpb $0, (%rbx) - jne .L3 - movl $0, %eax - addq $32, %rsp - .cfi_def_cfa_offset 16 - popq %rbx - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE11: - .size main, .-main - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220324/arrays-32.c b/20220324/arrays-32.c deleted file mode 100644 index 2d0d2cc935bdc6a57ea3cdb48516e2945aa7c184..0000000000000000000000000000000000000000 --- a/20220324/arrays-32.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - typedef char string5[5]; - string5 *p = { "Dies", "ist", "ein", "Test", "" }; - while (*p[0]) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-4.c b/20220324/arrays-4.c deleted file mode 100644 index aa6e043074e94ef5986cbdedfab92c3d7801a3b8..0000000000000000000000000000000000000000 --- a/20220324/arrays-4.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - char *a[] = { "Dies", "ist", "ein", "Test" }; - char **p = a; - for (int i = 0; i < 4; i++) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-5.c b/20220324/arrays-5.c deleted file mode 100644 index 48e315b5dd6174d0bf0d33ae0b7cd8e5c06026eb..0000000000000000000000000000000000000000 --- a/20220324/arrays-5.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - char *a[] = { "Dies", "ist", "ein", "Test" }; - char **p = a; - while (p != a + 4) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-6.c b/20220324/arrays-6.c deleted file mode 100644 index 5f890d86a9f387bfacc9e34f7c03dc8d0561d713..0000000000000000000000000000000000000000 --- a/20220324/arrays-6.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char *a[] = { "Dies", "ist", "ein", "Test" }; - static char **p = a; - while (p != a + 4) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-6.s b/20220324/arrays-6.s deleted file mode 100644 index 9a10238784a7f97eb486e27b587813524a3e8f91..0000000000000000000000000000000000000000 --- a/20220324/arrays-6.s +++ /dev/null @@ -1,59 +0,0 @@ - .file "arrays-6.c" - .text - .globl main - .type main, @function -main: -.LFB11: - .cfi_startproc - movq p.2398(%rip), %rax - leaq 32+a.2397(%rip), %rdx - cmpq %rdx, %rax - je .L6 - pushq %rbx - .cfi_def_cfa_offset 16 #include <stdio.h> - .cfi_offset 3, -16 - movq %rdx, %rbx int main (void) -.L3: { - leaq 8(%rax), %rdx static char *a[] = { "Dies", "ist", "ein", "Test" }; - movq %rdx, p.2398(%rip) static char **p = a; - movq (%rax), %rdi while (p != a + 4) - call puts@PLT printf ("%s\n", *p++); - movq p.2398(%rip), %rax return 0; - cmpq %rbx, %rax } - jne .L3 - movl $0, %eax - popq %rbx - .cfi_def_cfa_offset 8 - ret -.L6: - .cfi_restore 3 - movl $0, %eax - ret - .cfi_endproc -.LFE11: - .size main, .-main - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "Dies" -.LC1: - .string "ist" -.LC2: - .string "ein" -.LC3: - .string "Test" - .section .data.rel.local,"aw" - .align 32 - .type a.2397, @object - .size a.2397, 32 -a.2397: - .quad .LC0 - .quad .LC1 - .quad .LC2 - .quad .LC3 - .align 8 - .type p.2398, @object - .size p.2398, 8 -p.2398: - .quad a.2397 - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220324/arrays-7.c b/20220324/arrays-7.c deleted file mode 100644 index 0f78ecee391e6782ca5c337ded04926f99fecb68..0000000000000000000000000000000000000000 --- a/20220324/arrays-7.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != a + 4) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-8.c b/20220324/arrays-8.c deleted file mode 100644 index 36353909056c026bd38cabf6a499b5caecbbc3a0..0000000000000000000000000000000000000000 --- a/20220324/arrays-8.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[][5] = { { "Dies", "ist", "ein", "Test" } }; - static char *p = a[0]; - while (p != a + 4) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/arrays-9.c b/20220324/arrays-9.c deleted file mode 100644 index fd94463fb65594fad4640fae68f63c0d91701138..0000000000000000000000000000000000000000 --- a/20220324/arrays-9.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - static char a[4][] = { "Dies", "ist", "ein", "Test" }; - static char *p = a[0]; - while (p != a + 4) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220324/constants-1.c b/20220324/constants-1.c deleted file mode 100644 index 3b76f1d909bd438dc086700bca8717a43277a600..0000000000000000000000000000000000000000 --- a/20220324/constants-1.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -int n = 5; - -int prime[n]; - -int main (void) -{ - for (int i = 0; i < 5; i++) - printf ("%d\n", prime[i]); - return 0; -} diff --git a/20220324/constants-1.s b/20220324/constants-1.s deleted file mode 100644 index 8f06de1f90748eb7f2cce7ae5ddb841dde3a1bc3..0000000000000000000000000000000000000000 --- a/20220324/constants-1.s +++ /dev/null @@ -1 +0,0 @@ - .file "constants-1.c" diff --git a/20220324/constants-1a.c b/20220324/constants-1a.c deleted file mode 100644 index bad583cd0900112f0ba2db4d4ea4f0acf721ec84..0000000000000000000000000000000000000000 --- a/20220324/constants-1a.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -#define N 5 - -int prime[N]; - -int main (void) -{ - for (int i = 0; i < 5; i++) - printf ("%d\n", prime[i]); - return 0; -} diff --git a/20220324/constants-1a.s b/20220324/constants-1a.s deleted file mode 100644 index 71af2cd8bb0d8798f5c928062fb06bd7e17a45a3..0000000000000000000000000000000000000000 --- a/20220324/constants-1a.s +++ /dev/null @@ -1,45 +0,0 @@ - .file "constants-1a.c" - .text - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "%d\n" - .text - .globl main - .type main, @function -main: -.LFB11: - .cfi_startproc - pushq %r12 - .cfi_def_cfa_offset 16 - .cfi_offset 12, -16 - pushq %rbp - .cfi_def_cfa_offset 24 - .cfi_offset 6, -24 - pushq %rbx - .cfi_def_cfa_offset 32 - .cfi_offset 3, -32 - leaq prime(%rip), %rbx - leaq 20(%rbx), %r12 - leaq .LC0(%rip), %rbp -.L2: - movl (%rbx), %esi - movq %rbp, %rdi - movl $0, %eax - call printf@PLT - addq $4, %rbx - cmpq %r12, %rbx - jne .L2 - movl $0, %eax - popq %rbx - .cfi_def_cfa_offset 24 - popq %rbp - .cfi_def_cfa_offset 16 - popq %r12 - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE11: - .size main, .-main - .comm prime,20,16 - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220324/constants-2.c b/20220324/constants-2.c deleted file mode 100644 index b33aa61997c5430dd8a4f3e2b506dcd01d09c72c..0000000000000000000000000000000000000000 --- a/20220324/constants-2.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdio.h> - -int n = 5; - -int main (void) -{ - int prime[n]; - prime[0] = 2; - prime[1] = 3; - prime[2] = 5; - prime[3] = 7; - prime[4] = 11; - for (int i = 0; i < 5; i++) - printf ("%d\n", prime[i]); - return 0; -} diff --git a/20220324/constants-2.s b/20220324/constants-2.s deleted file mode 100644 index f0c40e79c1aa73cf602b48b5bd5a7c20a45a0b03..0000000000000000000000000000000000000000 --- a/20220324/constants-2.s +++ /dev/null @@ -1,66 +0,0 @@ - .file "constants-2.c" - .text - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "%d\n" - .text - .globl main - .type main, @function -main: -.LFB11: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - movq %rsp, %rbp - .cfi_def_cfa_register 6 - pushq %r13 - pushq %r12 - pushq %rbx - subq $8, %rsp - .cfi_offset 13, -24 - .cfi_offset 12, -32 - .cfi_offset 3, -40 - movslq n(%rip), %rax - leaq 15(,%rax,4), %rax - andq $-16, %rax - subq %rax, %rsp - leaq 3(%rsp), %rax - shrq $2, %rax - leaq 0(,%rax,4), %r12 - movl $2, 0(,%rax,4) - movl $3, 4(,%rax,4) - movl $5, 8(,%rax,4) - movl $7, 12(,%rax,4) - movl $11, 16(,%rax,4) - movq %r12, %rbx - addq $20, %r12 - leaq .LC0(%rip), %r13 -.L2: - movl (%rbx), %esi - movq %r13, %rdi - movl $0, %eax - call printf@PLT - addq $4, %rbx - cmpq %r12, %rbx - jne .L2 - movl $0, %eax - leaq -24(%rbp), %rsp - popq %rbx - popq %r12 - popq %r13 - popq %rbp - .cfi_def_cfa 7, 8 - ret - .cfi_endproc -.LFE11: - .size main, .-main - .globl n - .data - .align 4 - .type n, @object - .size n, 4 -n: - .long 5 - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220324/constants-3.c b/20220324/constants-3.c deleted file mode 100644 index 6257768bc748959aa0315b56d693530461d72a67..0000000000000000000000000000000000000000 --- a/20220324/constants-3.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdio.h> - -const int n = 5; - -int main (void) -{ - int prime[n]; - prime[0] = 2; - prime[1] = 3; - prime[2] = 5; - prime[3] = 7; - prime[4] = 11; - for (int i = 0; i < 5; i++) - printf ("%d\n", prime[i]); - return 0; -} diff --git a/20220324/constants-3.s b/20220324/constants-3.s deleted file mode 100644 index f73c4a09ed6920d99c0754e6a283e40fb935c1c9..0000000000000000000000000000000000000000 --- a/20220324/constants-3.s +++ /dev/null @@ -1,60 +0,0 @@ - .file "constants-3.c" - .text - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "%d\n" - .text - .globl main - .type main, @function -main: -.LFB11: - .cfi_startproc - pushq %r12 - .cfi_def_cfa_offset 16 - .cfi_offset 12, -16 - pushq %rbp - .cfi_def_cfa_offset 24 - .cfi_offset 6, -24 - pushq %rbx - .cfi_def_cfa_offset 32 - .cfi_offset 3, -32 - subq $32, %rsp - .cfi_def_cfa_offset 64 - movl $2, (%rsp) - movl $3, 4(%rsp) - movl $5, 8(%rsp) - movl $7, 12(%rsp) - movl $11, 16(%rsp) - movq %rsp, %rbx - leaq 20(%rbx), %r12 - leaq .LC0(%rip), %rbp -.L2: - movl (%rbx), %esi - movq %rbp, %rdi - movl $0, %eax - call printf@PLT - addq $4, %rbx - cmpq %r12, %rbx - jne .L2 - movl $0, %eax - addq $32, %rsp - .cfi_def_cfa_offset 32 - popq %rbx - .cfi_def_cfa_offset 24 - popq %rbp - .cfi_def_cfa_offset 16 - popq %r12 - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE11: - .size main, .-main - .globl n - .section .rodata - .align 4 - .type n, @object - .size n, 4 -n: - .long 5 - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220324/constants-4.c b/20220324/constants-4.c deleted file mode 100644 index 3712356321f6ac3c9355ee5c96c764f7935a93f2..0000000000000000000000000000000000000000 --- a/20220324/constants-4.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -const int n = 5; -int prime[n] = { 2, 3, 5, 7, 11 }; - -int main (void) -{ - for (int i = 0; i < 5; i++) - printf ("%d\n", prime[i]); - return 0; -} diff --git a/20220324/constants-5.cpp b/20220324/constants-5.cpp deleted file mode 100644 index 3712356321f6ac3c9355ee5c96c764f7935a93f2..0000000000000000000000000000000000000000 --- a/20220324/constants-5.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -const int n = 5; -int prime[n] = { 2, 3, 5, 7, 11 }; - -int main (void) -{ - for (int i = 0; i < 5; i++) - printf ("%d\n", prime[i]); - return 0; -} diff --git a/20220324/constants-5.s b/20220324/constants-5.s deleted file mode 100644 index 9bee6388181e3443b55f00cbed18e2b694572174..0000000000000000000000000000000000000000 --- a/20220324/constants-5.s +++ /dev/null @@ -1,55 +0,0 @@ - .file "constants-5.cpp" - .text - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "%d\n" - .text - .globl main - .type main, @function -main: -.LFB12: - .cfi_startproc - pushq %r12 - .cfi_def_cfa_offset 16 - .cfi_offset 12, -16 - pushq %rbp - .cfi_def_cfa_offset 24 - .cfi_offset 6, -24 - pushq %rbx - .cfi_def_cfa_offset 32 - .cfi_offset 3, -32 - leaq prime(%rip), %rbx - leaq 20(%rbx), %r12 - leaq .LC0(%rip), %rbp -.L2: - movl (%rbx), %esi - movq %rbp, %rdi - movl $0, %eax - call printf@PLT - addq $4, %rbx - cmpq %r12, %rbx - jne .L2 - movl $0, %eax - popq %rbx - .cfi_def_cfa_offset 24 - popq %rbp - .cfi_def_cfa_offset 16 - popq %r12 - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE12: - .size main, .-main - .globl prime - .data - .align 16 - .type prime, @object - .size prime, 20 -prime: - .long 2 - .long 3 - .long 5 - .long 7 - .long 11 - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220324/constants-6.cpp b/20220324/constants-6.cpp deleted file mode 100644 index ff80041f622a2ffcf8dcc6eedf5e910b1ee9d415..0000000000000000000000000000000000000000 --- a/20220324/constants-6.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <stdio.h> - -int fak (int n) -{ - int result = 1; - for (int i = 1; i <= n; i++) - result *= i; - return result; -} - -const int n = fak (3); -int prime[n] = { 2, 3, 5, 7, 11, 13 }; - -int main (void) -{ - for (int i = 0; i < 5; i++) - printf ("%d\n", prime[i]); - return 0; -} diff --git a/20220324/constants-7.cpp b/20220324/constants-7.cpp deleted file mode 100644 index 5d9ffb929a452283a0cae355e66d73d6f780b7eb..0000000000000000000000000000000000000000 --- a/20220324/constants-7.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <stdio.h> - -constexpr int fak (int n) -{ - int result = 1; - for (int i = 1; i <= n; i++) - result *= i; - return result; -} - -const int n = fak (3); -int prime[n] = { 2, 3, 5, 7, 11, 13 }; - -int main (void) -{ - for (int i = 0; i < 5; i++) - printf ("%d\n", prime[i]); - return 0; -} diff --git a/20220324/constants-7.s b/20220324/constants-7.s deleted file mode 100644 index 825abd5c543b0ab704f6f10c1e3b7b350275195c..0000000000000000000000000000000000000000 --- a/20220324/constants-7.s +++ /dev/null @@ -1 +0,0 @@ - .file "constants-7.cpp" diff --git a/20220324/constants-8.cpp b/20220324/constants-8.cpp deleted file mode 100644 index 66b1f809570bd942644c7b5c51a282051dfaeefa..0000000000000000000000000000000000000000 --- a/20220324/constants-8.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <stdio.h> - -constexpr int fak (int n) -{ - if (n <= 1) - return 1; - else - return n * fak (n - 1); -} - -const int n = fak (3); -int prime[n] = { 2, 3, 5, 7, 11, 13 }; - -int main (void) -{ - for (int i = 0; i < 5; i++) - printf ("%d\n", prime[i]); - return 0; -} diff --git a/20220324/constants-9.cpp b/20220324/constants-9.cpp deleted file mode 100644 index 0c356bbb497981fbdd47d5bc79c5b01ad399c421..0000000000000000000000000000000000000000 --- a/20220324/constants-9.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdio.h> - -constexpr int fak (int n) -{ - return n <= 1 ? 1 : n * fak (n - 1); -} - -const int n = fak (3); -int prime[n] = { 2, 3, 5, 7, 11, 13 }; - -int main (void) -{ - for (int i = 0; i < 5; i++) - printf ("%d\n", prime[i]); - return 0; -} diff --git a/20220324/landau-symbols-2.pdf b/20220324/landau-symbols-2.pdf deleted file mode 120000 index 6b458b6efd8e274824a6dfcaabc4b9c27d196dc4..0000000000000000000000000000000000000000 --- a/20220324/landau-symbols-2.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/landau-symbols-2.pdf \ No newline at end of file diff --git a/20220324/landau-symbols.pdf b/20220324/landau-symbols.pdf deleted file mode 120000 index ca145425bf07439c680632aa0663f84be601a565..0000000000000000000000000000000000000000 --- a/20220324/landau-symbols.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/landau-symbols.pdf \ No newline at end of file diff --git a/20220324/linked-list.c b/20220324/linked-list.c deleted file mode 100644 index a74268130bd84eccf4fd174a64e423258f92992d..0000000000000000000000000000000000000000 --- a/20220324/linked-list.c +++ /dev/null @@ -1,139 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -typedef struct SingleLinkedNode { - int value; - struct SingleLinkedNode *next; -} SingleLinkedNode; - -typedef struct FullLinkedNode { - int value; - struct FullLinkedNode *prev; - struct FullLinkedNode *next; -} FullLinkedNode; - -typedef struct FullLinkedList { - FullLinkedNode *first; - FullLinkedNode *last; -} FullLinkedList; - -SingleLinkedNode *reverseLinkedList(SingleLinkedNode *head) { - if (head) { - // ... -> cur -> n1 -> n2 -> ... - SingleLinkedNode *cur = head; - SingleLinkedNode *n1 = head->next; - SingleLinkedNode *n2; - cur->next = NULL; - while (n1 != NULL) { - n2 = n1->next; - n1->next = cur; - cur = n1; - n1 = n2; - } - return cur; - } else { - return NULL; - } -} - -void printLinkedList(SingleLinkedNode *head) { - while (head != NULL) { - printf("%d ", head->value); - head = head->next; - } - printf("\n"); -} - -FullLinkedList *singleLinkedListToFullLinkedList(SingleLinkedNode *head) { - FullLinkedList *fullLinkedList = malloc(sizeof(FullLinkedList)); - if (head) { - FullLinkedNode *cur = malloc(sizeof(FullLinkedNode)); - SingleLinkedNode *curSingle = head; - - cur->value = curSingle->value; - cur->prev = NULL; - if (curSingle->next) { - cur->next = malloc(sizeof(FullLinkedNode)); - } else { - cur->next = NULL; - } - - fullLinkedList->first = cur; - - while (curSingle->next) { - cur->next->prev = cur; - cur->next->value = curSingle->next->value; - - curSingle = curSingle->next; - cur = cur -> next; - - if (curSingle->next) { - cur->next = malloc(sizeof(FullLinkedNode)); - } else { - cur->next = NULL; - } - } - - fullLinkedList->last = cur; - } else { - fullLinkedList->first = NULL; - fullLinkedList->last = NULL; - } - return fullLinkedList; -} - -void printFullLinkedList(FullLinkedList *fullLinkedList) { - printf("Forward\n"); - for (FullLinkedNode *cur = fullLinkedList->first; cur; cur = cur->next) { - printf("%d ", cur->value); - } - printf("\n"); - - printf("Backward\n"); - for (FullLinkedNode *cur = fullLinkedList->last; cur; cur = cur->prev) { - printf("%d ", cur->value); - } - printf("\n"); -} - -int main(void) { - // Task: Reverse linked list - SingleLinkedNode n5 = {5, NULL}; - SingleLinkedNode n4 = {4, &n5}; - SingleLinkedNode n3 = {3, &n4}; - SingleLinkedNode n2 = {2, &n3}; - SingleLinkedNode n1 = {1, &n2}; - - printf("Initial\n"); - printLinkedList(&n1); - - // Works with normal linked list - SingleLinkedNode *reversedHead = reverseLinkedList(&n1); - printf("Reversed\n"); - printLinkedList(reversedHead); - - // Works with NULL as input - reverseLinkedList(NULL); - - // Works with linked list that has only one node - SingleLinkedNode foobar = {42, NULL}; - reverseLinkedList(&foobar); - - - // Task: Convert single linked list to full linked list - SingleLinkedNode n10 = {10, NULL}; - SingleLinkedNode n9 = {9, &n10}; - SingleLinkedNode n8 = {8, &n9}; - SingleLinkedNode n7 = {7, &n8}; - SingleLinkedNode n6 = {6, &n7}; - - FullLinkedList *fullLinkedList = singleLinkedListToFullLinkedList(&n6); - - printf("\nBefore conversion\n"); - printLinkedList(&n6); - - printf("After conversion\n"); - printFullLinkedList(fullLinkedList); - - return 0; -} diff --git a/20220324/logo-hochschule-bochum-cvh-text.pdf b/20220324/logo-hochschule-bochum-cvh-text.pdf deleted file mode 120000 index a05946126bc0ce6a2818740da2893f59eb0c659c..0000000000000000000000000000000000000000 --- a/20220324/logo-hochschule-bochum-cvh-text.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum-cvh-text.pdf \ No newline at end of file diff --git a/20220324/logo-hochschule-bochum.pdf b/20220324/logo-hochschule-bochum.pdf deleted file mode 120000 index b6b9491e370e499c9276918182cdb82cb311bcd1..0000000000000000000000000000000000000000 --- a/20220324/logo-hochschule-bochum.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20220324/pgslides.sty b/20220324/pgslides.sty deleted file mode 120000 index 5be1416f4216f076aa268901f52a15d775e43f64..0000000000000000000000000000000000000000 --- a/20220324/pgslides.sty +++ /dev/null @@ -1 +0,0 @@ -../common/pgslides.sty \ No newline at end of file diff --git a/20220324/qsort-1.c b/20220324/qsort-1.c deleted file mode 100644 index c5431b853862e62812016f4fd3a031eeb0b5c9df..0000000000000000000000000000000000000000 --- a/20220324/qsort-1.c +++ /dev/null @@ -1,70 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <unistd.h> - -int comparisons = 0; - -void display (char **name, char *pivot, int left, int right) -{ - printf ("\e[H\e[J"); - for (int i = 0; name[i]; i++) - { - printf ("%s", name[i]); - if (name[i] == pivot) - printf (" <=="); - else if (i == left || i == right) - printf (" <--"); - printf ("\n"); - } - printf ("%d\n", comparisons); -} - -int compare (char **name, char *pivot, int left, int right) -{ - int result = strcmp (name[left], pivot); - comparisons++; - display (name, pivot, left, right); - usleep (200000); - return result; -} - -void quicksort (char **name, int left, int right) -{ - int p = (left + right) / 2; - char *pivot = name[p]; - int l = left; - int r = right; - while (l < r) - { - while (l < r && compare (name, pivot, l, r - 1) < 0) - l++; - while (l < r && compare (name, pivot, r - 1, l) > 0) - r--; - if (l < r) - { - char *temp = name[r - 1]; - name[r - 1] = name[l]; - name[l] = temp; - l++; - r--; - } - } -} - -void sort (char **name) -{ - int r = 0; - while (name[r]) - r++; - quicksort (name, 0, r); -} - -int main (void) -{ - char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter", - "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans", - "Thomas", "Ulrich", "Zacharias", NULL }; - sort (name); - display (name, NULL, -1, -1); - return 0; -} diff --git a/20220324/qsort-1a.c b/20220324/qsort-1a.c deleted file mode 100644 index a3d4d0011834aa3d85907c2a0d0e90e3bf80799e..0000000000000000000000000000000000000000 --- a/20220324/qsort-1a.c +++ /dev/null @@ -1,70 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <unistd.h> - -int comparisons = 0; - -void display (char **name, char *pivot, int left, int right) -{ - printf ("\e[H\e[J"); - for (int i = 0; name[i]; i++) - { - printf ("%s", name[i]); - if (name[i] == pivot) - printf (" <=="); - else if (i == left || i == right) - printf (" <--"); - printf ("\n"); - } - printf ("%d\n", comparisons); -} - -int compare (char **name, char *pivot, int left, int right) -{ - int result = strcmp (name[left], pivot); - comparisons++; - display (name, pivot, left, right); - usleep (200000); - return result; -} - -void quicksort (char **name, int left, int right) -{ - int p = (left + right) / 2 - 1; - char *pivot = name[p]; - int l = left; - int r = right; - while (l < r) - { - while (l < r && compare (name, pivot, l, r - 1) < 0) - l++; - while (l < r && compare (name, pivot, r - 1, l) > 0) - r--; - if (l < r) - { - char *temp = name[r - 1]; - name[r - 1] = name[l]; - name[l] = temp; - l++; - r--; - } - } -} - -void sort (char **name) -{ - int r = 0; - while (name[r]) - r++; - quicksort (name, 0, r); -} - -int main (void) -{ - char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter", - "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans", - "Thomas", "Ulrich", "Zacharias", NULL }; - sort (name); - display (name, NULL, -1, -1); - return 0; -} diff --git a/20220324/qsort-2.c b/20220324/qsort-2.c deleted file mode 100644 index cfdc2ec11a92a4292c9443e01453cce818e9e73a..0000000000000000000000000000000000000000 --- a/20220324/qsort-2.c +++ /dev/null @@ -1,72 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <unistd.h> - -int comparisons = 0; - -void display (char **name, char *pivot, int left, int right) -{ - printf ("\e[H\e[J"); - for (int i = 0; name[i]; i++) - { - printf ("%s", name[i]); - if (name[i] == pivot) - printf (" <=="); - else if (i == left || i == right) - printf (" <--"); - printf ("\n"); - } - printf ("%d\n", comparisons); -} - -int compare (char **name, char *pivot, int left, int right) -{ - int result = strcmp (name[left], pivot); - comparisons++; - display (name, pivot, left, right); - usleep (200000); - return result; -} - -void quicksort (char **name, int left, int right) -{ - int p = (left + right) / 2; - char *pivot = name[p]; - int l = left; - int r = right; - while (l < r) - { - while (l < r && compare (name, pivot, l, r - 1) < 0) - l++; - while (l < r && compare (name, pivot, r - 1, l) > 0) - r--; - if (l < r) - { - char *temp = name[r - 1]; - name[r - 1] = name[l]; - name[l] = temp; - l++; - r--; - } - } - if (l < right) - quicksort (name, l, right); -} - -void sort (char **name) -{ - int r = 0; - while (name[r]) - r++; - quicksort (name, 0, r); -} - -int main (void) -{ - char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter", - "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans", - "Thomas", "Ulrich", "Zacharias", NULL }; - sort (name); - display (name, NULL, -1, -1); - return 0; -} diff --git a/20220324/qsort-3.c b/20220324/qsort-3.c deleted file mode 100644 index e6b7d9909473af6d8c13d3745dc6b07e8ea75699..0000000000000000000000000000000000000000 --- a/20220324/qsort-3.c +++ /dev/null @@ -1,74 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <unistd.h> - -int comparisons = 0; - -void display (char **name, char *pivot, int left, int right) -{ - printf ("\e[H\e[J"); - for (int i = 0; name[i]; i++) - { - printf ("%s", name[i]); - if (name[i] == pivot) - printf (" <=="); - else if (i == left || i == right) - printf (" <--"); - printf ("\n"); - } - printf ("%d\n", comparisons); -} - -int compare (char **name, char *pivot, int left, int right) -{ - int result = strcmp (name[left], pivot); - comparisons++; - display (name, pivot, left, right); - usleep (200000); - return result; -} - -void quicksort (char **name, int left, int right) -{ - int p = (left + right) / 2; - char *pivot = name[p]; - int l = left; - int r = right; - while (l < r) - { - while (l < r && compare (name, pivot, l, r - 1) < 0) - l++; - while (l < r && compare (name, pivot, r - 1, l) > 0) - r--; - if (l < r) - { - char *temp = name[r - 1]; - name[r - 1] = name[l]; - name[l] = temp; - l++; - r--; - } - } - if (r > left) - quicksort (name, left, r); - if (l < right) - quicksort (name, l, right); -} - -void sort (char **name) -{ - int r = 0; - while (name[r]) - r++; - quicksort (name, 0, r); -} - -int main (void) -{ - char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter", - "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans", - "Thomas", "Ulrich", "Zacharias", NULL }; - sort (name); - display (name, NULL, -1, -1); - return 0; -} diff --git a/20220331/Zeichen_123.pdf b/20220331/Zeichen_123.pdf deleted file mode 120000 index fdbc897227df059cfda790a16555e6e417682116..0000000000000000000000000000000000000000 --- a/20220331/Zeichen_123.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/Zeichen_123.pdf \ No newline at end of file diff --git a/20220331/ad-20220331.pdf b/20220331/ad-20220331.pdf deleted file mode 100644 index 8ff4147b0b0c226512a7ce576d1b7f892bbf07e9..0000000000000000000000000000000000000000 Binary files a/20220331/ad-20220331.pdf and /dev/null differ diff --git a/20220331/ad-20220331.tex b/20220331/ad-20220331.tex deleted file mode 100644 index 25ef9459960c2a78e48204bd045d56e11fbcdbba..0000000000000000000000000000000000000000 --- a/20220331/ad-20220331.tex +++ /dev/null @@ -1,740 +0,0 @@ -% ad-20220331.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ -% Copyright (C) 2018, 2019, 2020, 2021, 2022 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: C: Einführung in C++ - -\documentclass[10pt,t]{beamer} - -\usepackage{pgslides} -\usepackage{tikz} -\usepackage{rotating} - -\newcommand{\underconstruction}{% - \begin{picture}(0,0) - \color{black} - \put(6,-2.2){\makebox(0,0)[b]{\includegraphics[width=1.5cm]{Zeichen_123.pdf}}} - \put(6,-2.5){\makebox(0,0)[t]{\shortstack{Änderungen\\vorbehalten}}} - \end{picture}} - -\title{Algorithmen und Datenstrukturen in C/C++} -\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski} -\date{31.\ März 2022} - -\begin{document} - -\maketitleframe - -\nosectionnonumber{\inserttitle} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{2}] \textbf{\dots} - \end{itemize} - - \begin{picture}(0,0)(-2,-0.5) - \put(0.5,-1.0){\mbox{\Large$\mathcal{O}(n\log n)$}} - \put(0.6,-2.7){\mbox{\large\bf B-Baum}} - \put(-1.3,-3.4){\mbox{\small\it verkettete Liste}} - \put(1.5,-4.0){\mbox{\large Datenbanken}} - \put(-1.0,-1.9){\mbox{\large\tt struct}} - \put(3.0,-2.0){\mbox{\large Wegfindung}} - \put(4.0,-3.0){\mbox{Verschlüsseln}} - \put(5.7,-4.2){\mbox{\it Datenkompression}} - \put(6.0,-1.5){\mbox{CORDIC}} - \put(8.5,-2.0){\mbox{\small\bf FFT}} - \put(7.5,-2.9){\mbox{\small\tt pointer}} - \put(3.5,-0.5){\mbox{\it Rasterung}} - \put(7.7,-0.7){\mbox{\tt array}} - \put(-0.5,-5.0){\mbox{digitale Signatur}} - \put(3.5,-5.2){\mbox{\large Hash-Tabelle}} - \put(0.0,-6.3){\mbox{\small\bf kryptographische Hash-Funktion}} - \put(6.5,-6.0){\mbox{\it Prüfsumme}} -% \pause - \put(4.0,-2.7){\begin{rotate}{18} - \makebox(0,0){\LARGE\color{red}\shortstack{% - Online-Werkzeuge für Home Office, Lehre\\ - und Kommunikation mit Unterdrückten}} - \end{rotate}} - \end{picture} - -\end{frame} - -\nosectionnonumber{\inserttitle} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} - \underconstruction - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{i}] \textbf{Gesellschaftliche Auswirkungen\\ - von Algorithmen und Datenstrukturen} - \item[\textbf{2}] \textbf{Datenorganisation} - \item[\textbf{3}] \textbf{Optimierung} - \item[\textbf{4}] \textbf{Hardwarenahe Algorithmen} - \item[\textbf{5}] \textbf{Datenkodierung} - \color{gray} - \item[\textbf{6}] \textbf{Numerik} - \end{itemize} - -\end{frame} - -\section{Einführung in C++} -\addtocounter{subsection}{-1} -\subsection{Was ist C?} - -\begin{frame} - - \showsection - \showsubsection - - Etabliertes Profi-Werkzeug - \begin{itemize} - \item - kleinster gemeinsamer Nenner für viele Plattformen\\ - \begin{picture}(0,1) - \color{red} - \put(7.2,0.6){\tikz{\draw[-latex](0.0,0.0)--(0.0,0.4);}} - \put(7.2,0.5){\makebox(0,0)[t]{\color{black}Hardware und/oder Betriebssystem}} - \end{picture} - \item - Hardware direkt ansprechen und effizient einsetzen - \item - \dots\ bis hin zu komplexen Software-Projekten - \medskip - \arrowitem - Man kann Computer vollständig beherrschen. - \end{itemize} - -\end{frame} - -\begin{frame} - - \showsection - \showsubsection - - \begin{picture}(0,0) - \put(5.3,-2.5){\makebox(0,0)[tl]{\begin{minipage}{7cm} - \emph{C makes it easy to shoot yourself in the foot.} - \begin{flushright} - Bjarne Stroustrup, ca.~1986\\ - \href{http://www.stroustrup.com/bs_faq.html\#really-say-that}% - {\nolinkurl{http://www.stroustrup.com/bs_faq.html}\\ - \nolinkurl{\#really-say-that}} - \end{flushright} - \end{minipage}}} - \end{picture}% - Etabliertes Profi-Werkzeug - \begin{itemize} - \item - kleinster gemeinsamer Nenner für viele Plattformen - \item - Hardware direkt ansprechen und effizient einsetzen - \item - \dots\ bis hin zu komplexen Software-Projekten - \item - leistungsfähig, aber gefährlich - \end{itemize} - - \medskip - "`High-Level-Assembler"' - \begin{itemize} - \item - kein "`Fallschirm"' - \item - kompakte Schreibweise - \end{itemize} - - \medskip - Unix-Hintergrund - \begin{itemize} - \item - Baukastenprinzip - \item - konsequente Regeln - \item - kein "`Fallschirm"' - \end{itemize} - -\end{frame} - -\subsection{Was ist C++?} - -\begin{frame} - - \showsection - \showsubsection - - \begin{picture}(0,0) - \put(6.3,-0.2){\makebox(0,0)[tl]{\begin{minipage}{6cm} - \emph{C++ is a better C.} - \begin{flushright} - Bjarne Stroustrup, Autor von C++\\ - \url{http://www.stroustrup.com/C++.html} - \end{flushright} - \end{minipage}}} - \put(5.3,-2.5){\makebox(0,0)[tl]{\begin{minipage}{7cm} - \emph{C makes it easy to shoot yourself in the foot;\\ - C++ makes it harder, but when you do\\ - it blows your whole leg off.} - \begin{flushright} - Bjarne Stroustrup, Autor von C++, ca.~1986\\ - \href{http://www.stroustrup.com/bs_faq.html\#really-say-that}% - {\nolinkurl{http://www.stroustrup.com/bs_faq.html}\\ - \nolinkurl{\#really-say-that}} - \end{flushright} - \end{minipage}}} - \end{picture}% - Etabliertes Profi-Werkzeug - \begin{itemize} - \item - kompatibel zu C - \end{itemize} - - \medskip - - C++ unterstützt - \begin{itemize} - \item - \newterm{objektorientierte\\ - Programmierung} - \item - \newterm{Datenabstraktion} - \item - \newterm{generische\\ - Programmierung} - \end{itemize} - - \vspace{0cm plus 1 filll} - - \textbf{Motivation:}\\[\smallskipamount] - Vermeidung unsicherer Techniken,\\ - insbesondere von Präprozessor-Konstruktionen und Zeigern,\\ - unter Beibehaltung der Effizienz - -\end{frame} - -\subsection{C: Arrays und Zeiger für Fortgeschrittene} - -\begin{frame}[fragile] - \showsubsection - - \begin{minipage}[t]{6cm} - Array: - \smallskip - \begin{lstlisting}[gobble=6] - char a[] = "Test"; - \end{lstlisting} - \end{minipage}\hfill - \begin{minipage}[t]{6cm} - Zeiger: - \smallskip - \begin{lstlisting}[gobble=6] - char *p = "Test"; - \end{lstlisting} - \end{minipage} - - \bigskip - - \begin{itemize} - \item - In beiden Fällen wird ein Array von ganzen Zahlen\\ - (5 \lstinline{char}-Variable mit den Werten 84, 101, 115, 116 und 0)\\ - im Speicher angelegt. - \medskip - \item - Links heißt das Array \lstinline{a}; - rechts ist es "`anonym"'. - \item - Rechts wird zusätzlich ein Zeiger \lstinline{p} im Speicher angelegt,\\ - der auf das (anonyme) Array zeigt. - \medskip - \item - \lstinline{&a} ist dasselbe wie \lstinline{a}, - nämlich die Adresse des Arrays. - \item - \lstinline{&p} ist die Adresse des Zeigers. - \item - \lstinline{p} ist der Wert des Zeigers,\\ - momentan also die Adresse des (anonymen) Arrays. - \end{itemize} - -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \begin{minipage}[t]{6cm} - Array: - \smallskip - \begin{lstlisting}[gobble=6] - char a[] = "Test"; - \end{lstlisting} - \end{minipage}\hfill - \begin{minipage}[t]{6cm} - Zeiger: - \smallskip - \begin{lstlisting}[gobble=6] - char *p = "Test"; - \end{lstlisting} - \end{minipage} - - \bigskip - - \begin{itemize} - \item - In beiden Fällen wird ein Array von ganzen Zahlen\\ - (5 \lstinline{char}-Variable mit den Werten 84, 101, 115, 116 und 0)\\ - im Speicher angelegt. - \medskip - \item - Links heißt das Array \lstinline{a}; - rechts ist es "`anonym"'. - \item - Rechts wird zusätzlich ein Zeiger \lstinline{p} im Speicher angelegt,\\ - der auf das (anonyme) Array zeigt. - \medskip - \item - \lstinline{&a} ist {\color{red}fast} dasselbe wie \lstinline{a},\\ - nämlich die Adresse des Arrays {\color{red}bzw.\ das Array selbst,\\ - das zuweisungskompatibel zu einem Zeiger auf Elemente des Arrays ist.\\ - \lstinline{&} bewirkt hier eine (nicht explizite!) Typumwandlung.} - \item - \lstinline{&p} ist die Adresse des Zeigers. - \item - \lstinline{p} ist der Wert des Zeigers,\\ - momentan also die Adresse des (anonymen) Arrays. - \end{itemize} - - \vspace*{-1cm} - -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \begin{minipage}[t]{7cm} - Array: - \smallskip - \begin{lstlisting}[gobble=6] - char *a[] = { "Dies", "ist", "ein", "Test" }; - \end{lstlisting} - \end{minipage}\hfill - \begin{minipage}[t]{5cm} - Zeiger: - \smallskip - \begin{lstlisting}[gobble=6] - char **p = a; - \end{lstlisting} - \end{minipage} - - \bigskip - - \begin{itemize} - \item - Array von Zeigern auf \lstinline{char}-Variable - \item - Zeiger auf das Array = Zeiger auf Zeiger auf \lstinline{char}-Variable - \item - Schleife durch äußeres Array mit \lstinline{p++} möglich - \end{itemize} - -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \begin{minipage}[t]{7cm} - Array: - \smallskip - \begin{lstlisting}[gobble=6] - char a[][5] = { "Dies", "ist", "ein", "Test" }; - \end{lstlisting} - \end{minipage}\hfill - \begin{minipage}[t]{5cm} - Zeiger: - \smallskip - \begin{lstlisting}[gobble=6] - char *p = a[0]; - \end{lstlisting} - \end{minipage} - - \bigskip - - \begin{itemize} - \item - zweidimensionales Array von \lstinline{char}-Variablen - \item - Zeiger auf Array-Komponente\\ - = Zeiger auf eindimensionales Array\\ - = Zeiger auf \lstinline{char}-Variable - \item - Schleife durch äußeres Array mit Zeiger-Arithmetik nicht möglich - \end{itemize} - - \begin{picture}(0,0) - \color{red} - \thicklines - \put(8.6,0.7){\line(1,0){0.85}} - \put(9.05,0.4){\makebox(0,0)[t]{$\overbrace{\mbox{nur mit Trick: - \lstinline{p += 5}}}$}} - \end{picture} - -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \begin{lstlisting} - typedef char string5[5]; - string5 a[] = { "Dies", "ist", "ein", "Test" }; - string5 *p = a; - \end{lstlisting} - - \bigskip - - \begin{itemize} - \item - Array von Array von \lstinline{char}-Variablen\\ - = zweidimensionales Array von \lstinline{char}-Variablen - \item - Zeiger auf zweidimensionales Array - \item - Schleife durch äußeres Array mit \lstinline{p++} möglich - \bigskip - \arrowitem - Fazit:\\ - Ein Hoch auf \lstinline{typedef}! - \end{itemize} - -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \begin{lstlisting} - typedef char string5[5]; - string5 *p = { "Dies", "ist", "ein", "Test" }; - \end{lstlisting} - - \bigskip - - \begin{itemize} - \item - anonymes Array von Array von \lstinline{char}-Variablen\\ - = anonymes zweidimensionales Array von \lstinline{char}-Variablen - \item - Zeiger auf zweidimensionales Array - \item - Schleife durch äußeres Array mit \lstinline{p++} möglich - \end{itemize} - -% \pause - - \begin{picture}(0,0)(-2,-0.4) - \color{red} - \thicklines - \put(0,0){\line(2,1){4}} - \put(0,2){\line(2,-1){4}} - \end{picture} - - Das Konstrukt \lstinline|{ "Dies", "ist", "ein", "Test" }|\\ - steht für ein Array von 4 Zeigern auf \lstinline{char}-Variable. - - \smallskip - - \lstinline{string5 *p} hingegen erwartet einen Zeiger auf ein Array - von 5 \lstinline{char}-Variablen. - - \smallskip - - Es bekommt die Adresse von \lstinline{"Dies"} zugewiesen. - - \smallskip - - Durch das Erhöhen von \lstinline{p} (um 5) zeigt es danach - \emph{zufällig\/} auf das \lstinline{"ist"}. - - Bei nochmaligem Erhöhen zeigt es auf das \lstinline{"in"} von \lstinline{"ein"}. - - \smallskip - - (Auch ohne Optimierung werden die Strings \lstinline{"ist"}, \lstinline{"ein"} - und \lstinline{"Test"}\\ - u.\,U.\ wegoptimiert.) - -\end{frame} - -\subsection{Elementare Neuerungen in C++ gegenüber C} - -\begin{frame}[fragile] - \showsubsection - \begin{itemize} - \pause - \item - Kommentare mit \lstinline{//} - \pause - \item - Konstante: -% \begin{onlyenv}<3> -% \begin{lstlisting}[gobble=10] -% const int answer = 42; -% \end{lstlisting} -% \end{onlyenv} - \begin{lstlisting}[gobble=8] - const int n = 5; - int prime[n] = { 2, 3, 5, 7, 11 }; - \end{lstlisting} - \pause - \item - Ab C++11: \lstinline{constexpr}-Funktionen\\ -% \only<1->{{\color{red}\dots\ anscheinend auch ohne "`constexpr"' \dots}\\} - C++11: darf nur aus einem einzigen \lstinline{return}-Statement bestehen\\ - \textarrow\ \lstinline{?:} statt \lstinline{if}, Rekursion statt Schleife\\ - C++-14: auch Verzweigungen und Schleifen erlaubt - \pause - \item - leere Parameterliste: \lstinline{void} optional\\ - in C: ohne \lstinline{void} = Parameterliste wird nicht geprüft - \pause - \item - Operatoren \lstinline{new} und \lstinline{delete}\\ - als Alternative zu den Funktionen \lstinline{malloc()} und \lstinline{free()} - \end{itemize} -\end{frame} - -\subsection{Referenz-Typen} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - void calc_answer (int &answer) - { - answer = 42; - } - \end{lstlisting} - \medskip - \dots\ als Alternative zu \dots - \medskip - \begin{lstlisting} - void calc_answer (int *answer) - { - *answer = 42; - } - \end{lstlisting} - \begin{itemize} - \item - Zeiger "`verborgen"', übersichtlicher und sicherer - \item - Es gibt keinen \lstinline{NULL}-Wert.\\ - \textarrow\ Für verkettete Listen u.\,ä.: Tricks erforderlich - \end{itemize} -\end{frame} - -\subsection{Überladbare Operatoren und Funktionen} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - #include <iostream> - - int main () - { - std::cout << "Hello, world!" << std::endl; - return 0; - } - \end{lstlisting} - - \pause - \bigskip - - Bemerkungen: - \begin{itemize} - \item - Compilieren mit \lstinline[style=cmd]{g++} - statt \lstinline[style=cmd]{gcc}:\\ - C++-Bibliotheken mit einbinden - \item - Der Operator \lstinline{<<} hat normalerweise keinen Seiteneffekt, - hier schon. - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - #include <iostream> - - struct vector - { - double x, y, z; - }; - - vector operator + (vector u, vector v) - { - vector w = { u.x + v.x, u.y + v.y, u.z + v.z }; - return w; - } - \end{lstlisting} - - \begin{itemize} - \item - \lstinline{++} wird zum Präfix-Operator. - \item - \lstinline{++} mit zusätzlichem (ungenutzten) \lstinline{int}-Parameter\\ - wird zum Postfix-Operator. - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - void print (const char *s) - { - printf ("%s", s); - } - - void print (int i) - { - printf ("%d", i); - } - \end{lstlisting} - \pause - \bigskip - Optionale Parameter: - \medskip - \begin{lstlisting} - void print (const char *s = "\n") - { - printf ("%s", s); - } - \end{lstlisting} - \pause - \begin{picture}(0,0) - \color{red} - \put(5.50,5.40){\makebox(0,0)[br]{\tikz{\draw[-latex](0.0,0.0)--(-2.0,0.6);}}} - \put(5.50,4.85){\makebox(0,0)[tr]{\tikz{\draw[-latex](0.0,0.0)--(-2.0,-0.2);}}} - \put(5.6,5.0){\begin{minipage}{5cm} - Für den Linker:\\ - veränderte, eindeutige Namen - \end{minipage}} - \put(5.50,1.55){\makebox(0,0)[tr]{\tikz{\draw[-latex](0.0,0.0)--(-0.6,0.4);}}} - \put(5.6,1.0){\begin{minipage}{5cm} - wird vom Compiler erledigt - \end{minipage}} - \pause - \put(7.0,3.6){\makebox(0,0)[b]{\tikz{\draw[-latex](0.0,0.0)--(0.0,0.9);}}} - \put(5.6,3.0){\begin{minipage}{5cm} - Wenn man das nicht will:\\ - extern \char`"C\char`"\ \{ \dots \} - \end{minipage}} - \end{picture} -\end{frame} - -\subsection{Namensräume} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - #include <iostream> - - using namespace std; - - int main () - { - cout << "Hello, world!" << endl; - return 0; - } - \end{lstlisting} - - \pause - \bigskip - - \begin{lstlisting} - namespace my_output - { - ... - } - - using namespace my_output; - \end{lstlisting} -\end{frame} - -\subsection{Objekte} - -\begin{frame}[fragile] - \showsubsection - \begin{center} - \begin{minipage}{5cm} - \begin{lstlisting}[gobble=8] - ¡struct TBase - { - };¿ - \end{lstlisting} - \end{minipage}\\[0.5cm] - \begin{minipage}{6cm} - \begin{lstlisting}[gobble=8] - ¡struct TInteger: public TBase - { - int content; - };¿ - \end{lstlisting} - \end{minipage} - \begin{minipage}{5cm} - \begin{lstlisting}[gobble=8] - ¡struct TString: public TBase - { - char *content; - };¿ - \end{lstlisting} - \end{minipage} - \end{center} -\end{frame} - -\addtocounter{subsection}{-1} -\subsection{Objekte: Zugriffsrechte} - -\begin{frame}[fragile] - \showsubsection - \begin{itemize} - \item - \lstinline{public}, \lstinline{private}, \lstinline{protected}\\[\smallskipamount] - nicht nur Bürokratie, sondern auch Kapselung\\ - (Maßnahme gegen "`Namensraumverschmutzung"') - \medskip - \item - \lstinline{struct}: standardmäßig \lstinline{public}\\[\smallskipamount] - \lstinline{class}: standardmäßig \lstinline{private} - \medskip - \item - \dots - \end{itemize} -\end{frame} - -\end{document} diff --git a/20220331/arrays-33.c b/20220331/arrays-33.c deleted file mode 100644 index 440c26ecaf55008d2b7007ca8c84d861cc81faf0..0000000000000000000000000000000000000000 --- a/20220331/arrays-33.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -char *a[] = { "Dies", "ist", "ein", "Test" }; -char **p = a; - -int main (void) -{ - int n = sizeof (a) / sizeof (a[0]); - for (int i = 0; i < n; i++) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220331/arrays-34.c b/20220331/arrays-34.c deleted file mode 100644 index dc4eb147ccca147fb6e4e6a860cc5c2d24f6a836..0000000000000000000000000000000000000000 --- a/20220331/arrays-34.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -char *a[] = { "Dies", "ist", "ein", "wunderschöner Test" }; -char **p = a; - -int main (void) -{ - int n = sizeof (a) / sizeof (a[0]); - for (int i = 0; i < n; i++) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220331/arrays-35.c b/20220331/arrays-35.c deleted file mode 100644 index 4e2b04edc89225c906057ed2d7d46e4d745cd94d..0000000000000000000000000000000000000000 --- a/20220331/arrays-35.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdio.h> - -char *a[] = { "Dies", "ist", "ein", "wunderschöner Test" }; - -void print_array (char **p) -{ - int n = sizeof (p) / sizeof (p[0]); - for (int i = 0; i < n; i++) - printf ("%s\n", *p++); -} - -int main (void) -{ - print_array (a); - return 0; -} diff --git a/20220331/arrays-36.c b/20220331/arrays-36.c deleted file mode 100644 index cfd599863bce743dcad6b7ea7d9cff8412d13602..0000000000000000000000000000000000000000 --- a/20220331/arrays-36.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -char *a[] = { "Dies", "ist", "ein", "wunderschöner Test" }; -char **p = a; - -int main (void) -{ - int n = sizeof (p) / sizeof (p[0]); - for (int i = 0; i < n; i++) - printf ("%s\n", *p++); - return 0; -} diff --git a/20220331/arrays-37.c b/20220331/arrays-37.c deleted file mode 100644 index 18d897f0732172cad870b24ce0c90e9675b6a90b..0000000000000000000000000000000000000000 --- a/20220331/arrays-37.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdio.h> - -char *a[] = { "Dies", "ist", "ein", "wunderschöner Test" }; - -void print_array (char **p, int n) -{ - for (int i = 0; i < n; i++) - printf ("%s\n", *p++); -} - -int main (void) -{ - print_array (a, sizeof (a) / sizeof (a[0])); - return 0; -} diff --git a/20220331/functions-1.cpp b/20220331/functions-1.cpp deleted file mode 100644 index c47809031d065288999052c2c9bba4612f529e8b..0000000000000000000000000000000000000000 --- a/20220331/functions-1.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <stdio.h> - -void print (const char *s) -{ - printf ("%s\n", s); -} - -void print (int i) -{ - printf ("%d\n", i); -} - -int main () -{ - print ("Hello, world!"); - print (42); -} diff --git a/20220331/functions-10.cpp b/20220331/functions-10.cpp deleted file mode 100644 index 4372976adccc4f70229468793717a80538c1fefd..0000000000000000000000000000000000000000 --- a/20220331/functions-10.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include <stdio.h> - -extern "C" -{ - extern void print_string (const char *s); - extern void print_int (int i); -} - -void print (const char *s = "") -{ - print_string (s); -} - -void print (int i) -{ - print_int (i); -} - -int main () -{ - print ("Hello, world!"); - print (42); - print (); -} diff --git a/20220331/functions-10c.c b/20220331/functions-10c.c deleted file mode 100644 index 78857d06e6a388c7fbad7aa8f4e8f574ef9309ca..0000000000000000000000000000000000000000 --- a/20220331/functions-10c.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -void print_string (char *s) -{ - printf ("%s\n", s); -} - -void print_int (int i) -{ - printf ("%d\n", i); -} diff --git a/20220331/functions-2.cpp b/20220331/functions-2.cpp deleted file mode 100644 index 51cc4194efd7cd89eab1b5c95d392dbea9b15d2c..0000000000000000000000000000000000000000 --- a/20220331/functions-2.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <stdio.h> - -void print (const char *s = "") -{ - printf ("%s\n", s); -} - -void print (int i) -{ - printf ("%d\n", i); -} - -int main () -{ - print ("Hello, world!"); - print (42); - print (); -} diff --git a/20220331/functions-3.cpp b/20220331/functions-3.cpp deleted file mode 100644 index 892cf0675a6d6f8305cc20281c5246dabb03f1d4..0000000000000000000000000000000000000000 --- a/20220331/functions-3.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <stdio.h> - -void print (const char *s = "") -{ - printf ("%s\n", s); -} - -void print (int i = 0) -{ - printf ("%d\n", i); -} - -int main () -{ - print ("Hello, world!"); - print (42); -} diff --git a/20220331/functions-4.cpp b/20220331/functions-4.cpp deleted file mode 100644 index 0ac4b01eded707546fec8b74db0e9735e6df0d78..0000000000000000000000000000000000000000 --- a/20220331/functions-4.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <stdio.h> - -void print (const char *s = "") -{ - printf ("%s\n", s); -} - -void print (int i = 0) -{ - printf ("%d\n", i); -} - -int main () -{ - print ("Hello, world!"); - print (42); - print (); -} diff --git a/20220331/functions-5.cpp b/20220331/functions-5.cpp deleted file mode 100644 index 0b5ed94f9b0b2d4caf178367880fe63c8e65593c..0000000000000000000000000000000000000000 --- a/20220331/functions-5.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdio.h> - -void print (const char *s = "") -{ - printf ("%s\n", s); -} - -extern void print (int i); - -int main () -{ - print ("Hello, world!"); - print (42); - print (); -} diff --git a/20220331/functions-5.s b/20220331/functions-5.s deleted file mode 100644 index 0dd06dbbb1197510c687bb4768776970a00de055..0000000000000000000000000000000000000000 --- a/20220331/functions-5.s +++ /dev/null @@ -1,44 +0,0 @@ - .file "functions-5.cpp" - .text - .globl _Z5printPKc - .type _Z5printPKc, @function -_Z5printPKc: -.LFB12: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - call puts@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE12: - .size _Z5printPKc, .-_Z5printPKc - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "Hello, world!" -.LC1: - .string "" - .text - .globl main - .type main, @function -main: -.LFB13: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - leaq .LC0(%rip), %rdi - call puts@PLT - movl $42, %edi - call _Z5printi@PLT - leaq .LC1(%rip), %rdi - call puts@PLT - movl $0, %eax - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE13: - .size main, .-main - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220331/functions-5c.c b/20220331/functions-5c.c deleted file mode 100644 index 8078eda777efcf19878b3b52ba9669f2d071c64e..0000000000000000000000000000000000000000 --- a/20220331/functions-5c.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <stdio.h> - -void print (int i) -{ - printf ("%d\n", i); -} diff --git a/20220331/functions-5c.s b/20220331/functions-5c.s deleted file mode 100644 index 7d246052d1ee34e7ca6bd56816e90dd1da098c95..0000000000000000000000000000000000000000 --- a/20220331/functions-5c.s +++ /dev/null @@ -1,25 +0,0 @@ - .file "functions-5c.c" - .text - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "%d\n" - .text - .globl print - .type print, @function -print: -.LFB11: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - movl %edi, %esi - leaq .LC0(%rip), %rdi - movl $0, %eax - call printf@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE11: - .size print, .-print - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220331/functions-6.cpp b/20220331/functions-6.cpp deleted file mode 100644 index 0b5ed94f9b0b2d4caf178367880fe63c8e65593c..0000000000000000000000000000000000000000 --- a/20220331/functions-6.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdio.h> - -void print (const char *s = "") -{ - printf ("%s\n", s); -} - -extern void print (int i); - -int main () -{ - print ("Hello, world!"); - print (42); - print (); -} diff --git a/20220331/functions-6c.c b/20220331/functions-6c.c deleted file mode 100644 index 11326627d21d1c15aa1b6540fc2ca97525589a7e..0000000000000000000000000000000000000000 --- a/20220331/functions-6c.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <stdio.h> - -void _Z5printi (int i) -{ - printf ("%d\n", i); -} diff --git a/20220331/functions-7.cpp b/20220331/functions-7.cpp deleted file mode 100644 index fa79781716e2aea1b22fcc0c0855351595475af0..0000000000000000000000000000000000000000 --- a/20220331/functions-7.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -extern void print (const char *s = ""); -extern void print (int i); - -int main () -{ - print ("Hello, world!"); - print (42); - print (); -} diff --git a/20220331/functions-7.s b/20220331/functions-7.s deleted file mode 100644 index 5e5e924fff6923969f40e0a2c8e79f9eb9eb9a3d..0000000000000000000000000000000000000000 --- a/20220331/functions-7.s +++ /dev/null @@ -1,30 +0,0 @@ - .file "functions-7.cpp" - .text - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "Hello, world!" -.LC1: - .string "" - .text - .globl main - .type main, @function -main: -.LFB12: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - leaq .LC0(%rip), %rdi - call _Z5printPKc@PLT - movl $42, %edi - call _Z5printi@PLT - leaq .LC1(%rip), %rdi - call _Z5printPKc@PLT - movl $0, %eax - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE12: - .size main, .-main - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220331/functions-7c.c b/20220331/functions-7c.c deleted file mode 100644 index 88f9737f525c89795f9eb8f5d8db7f897111fdb5..0000000000000000000000000000000000000000 --- a/20220331/functions-7c.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -void _Z5printPKc (char *s) -{ - printf ("%s\n", s); -} - -void _Z5printi (int i) -{ - printf ("%d\n", i); -} diff --git a/20220331/functions-8.cpp b/20220331/functions-8.cpp deleted file mode 100644 index 7da2d3dc77da9ff87193b329c64245f780b7fc56..0000000000000000000000000000000000000000 --- a/20220331/functions-8.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <stdio.h> - -extern "C" -{ - extern void print_string (const char *s = ""); - extern void print_int (int i); -} - -int main () -{ - print_string ("Hello, world!"); - print_int (42); - print_string (); -} diff --git a/20220331/functions-8c.c b/20220331/functions-8c.c deleted file mode 100644 index 78857d06e6a388c7fbad7aa8f4e8f574ef9309ca..0000000000000000000000000000000000000000 --- a/20220331/functions-8c.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -void print_string (char *s) -{ - printf ("%s\n", s); -} - -void print_int (int i) -{ - printf ("%d\n", i); -} diff --git a/20220331/functions-9.cpp b/20220331/functions-9.cpp deleted file mode 100644 index 6e38980baf6d20d2fa18a339e8afd7cfdd5bc711..0000000000000000000000000000000000000000 --- a/20220331/functions-9.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -extern void print_string (const char *s = ""); -extern void print_int (int i); - -int main () -{ - print_string ("Hello, world!"); - print_int (42); - print_string (); -} diff --git a/20220331/functions-9.s b/20220331/functions-9.s deleted file mode 100644 index ee8906fe08001a426cd431797bf2484d0218b7ed..0000000000000000000000000000000000000000 --- a/20220331/functions-9.s +++ /dev/null @@ -1,30 +0,0 @@ - .file "functions-9.cpp" - .text - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "Hello, world!" -.LC1: - .string "" - .text - .globl main - .type main, @function -main: -.LFB12: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - leaq .LC0(%rip), %rdi - call _Z12print_stringPKc@PLT - movl $42, %edi - call _Z9print_inti@PLT - leaq .LC1(%rip), %rdi - call _Z12print_stringPKc@PLT - movl $0, %eax - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE12: - .size main, .-main - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220331/functions-9c.c b/20220331/functions-9c.c deleted file mode 100644 index 78857d06e6a388c7fbad7aa8f4e8f574ef9309ca..0000000000000000000000000000000000000000 --- a/20220331/functions-9c.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -void print_string (char *s) -{ - printf ("%s\n", s); -} - -void print_int (int i) -{ - printf ("%d\n", i); -} diff --git a/20220331/logo-hochschule-bochum-cvh-text.pdf b/20220331/logo-hochschule-bochum-cvh-text.pdf deleted file mode 120000 index a05946126bc0ce6a2818740da2893f59eb0c659c..0000000000000000000000000000000000000000 --- a/20220331/logo-hochschule-bochum-cvh-text.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum-cvh-text.pdf \ No newline at end of file diff --git a/20220331/logo-hochschule-bochum.pdf b/20220331/logo-hochschule-bochum.pdf deleted file mode 120000 index b6b9491e370e499c9276918182cdb82cb311bcd1..0000000000000000000000000000000000000000 --- a/20220331/logo-hochschule-bochum.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20220331/main-1.c b/20220331/main-1.c deleted file mode 100644 index b19d80e9bd0bd7c5ed8f54b20c6a50d9166f03ac..0000000000000000000000000000000000000000 --- a/20220331/main-1.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - printf ("Hello, world!\n"); - return 0; -} diff --git a/20220331/main-10.cpp b/20220331/main-10.cpp deleted file mode 100644 index ef7ae9d35d6af388e512b691432c7c2321aef36d..0000000000000000000000000000000000000000 --- a/20220331/main-10.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -void print (void) -{ - printf ("Hello, world!\n"); -} - -int main () -{ - print ("Привет, мир!"); - return 0; -} diff --git a/20220331/main-2.c b/20220331/main-2.c deleted file mode 100644 index 845c95a7a332c42214f29481ab047cfef2eb8371..0000000000000000000000000000000000000000 --- a/20220331/main-2.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <stdio.h> - -int main () -{ - printf ("Hello, world!\n"); - return 0; -} diff --git a/20220331/main-3.c b/20220331/main-3.c deleted file mode 100644 index c4b638b1d02e7cca5e94e312a34b203f5a19399b..0000000000000000000000000000000000000000 --- a/20220331/main-3.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -void print (s) - char *s; -{ - printf ("%s\n", s); -} - -int main () -{ - print ("Hello, world!"); - return 0; -} diff --git a/20220331/main-4.c b/20220331/main-4.c deleted file mode 100644 index 4cca5673ea7078b00c2f34cad637c41388e2e880..0000000000000000000000000000000000000000 --- a/20220331/main-4.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -void print (s) - char *s; -{ - printf ("%s\n", s); -} - -int main () -{ - print (); - return 0; -} diff --git a/20220331/main-5.cpp b/20220331/main-5.cpp deleted file mode 100644 index 4cca5673ea7078b00c2f34cad637c41388e2e880..0000000000000000000000000000000000000000 --- a/20220331/main-5.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -void print (s) - char *s; -{ - printf ("%s\n", s); -} - -int main () -{ - print (); - return 0; -} diff --git a/20220331/main-6.cpp b/20220331/main-6.cpp deleted file mode 100644 index 0a1efd7eada8f1f93c21eac086d74d9485b1ca45..0000000000000000000000000000000000000000 --- a/20220331/main-6.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -void print (char *s) -{ - printf ("%s\n", s); -} - -int main () -{ - print (); - return 0; -} diff --git a/20220331/main-7.c b/20220331/main-7.c deleted file mode 100644 index c286ca6055c44ea41dd6f33d7f4ef3e0b54fc406..0000000000000000000000000000000000000000 --- a/20220331/main-7.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -void print () -{ - printf ("Hello, world!\n"); -} - -int main () -{ - print ("Привет, мир!"); - return 0; -} diff --git a/20220331/main-8.c b/20220331/main-8.c deleted file mode 100644 index ef7ae9d35d6af388e512b691432c7c2321aef36d..0000000000000000000000000000000000000000 --- a/20220331/main-8.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -void print (void) -{ - printf ("Hello, world!\n"); -} - -int main () -{ - print ("Привет, мир!"); - return 0; -} diff --git a/20220331/main-9.cpp b/20220331/main-9.cpp deleted file mode 100644 index c286ca6055c44ea41dd6f33d7f4ef3e0b54fc406..0000000000000000000000000000000000000000 --- a/20220331/main-9.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -void print () -{ - printf ("Hello, world!\n"); -} - -int main () -{ - print ("Привет, мир!"); - return 0; -} diff --git a/20220331/malloc-1.c b/20220331/malloc-1.c deleted file mode 100644 index 1cf300dd3d9397c22a69307c38461609bb040650..0000000000000000000000000000000000000000 --- a/20220331/malloc-1.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -typedef struct -{ - char day; - char month; - int year; -} date; - -int main (void) -{ - date *d = malloc (6); - d->day = 31; - d->month = 3; - d->year = 2022; - printf ("%d.%d.%d\n", d->day, d->month, d->year); - free (d); - return 0; -} diff --git a/20220331/malloc-2.c b/20220331/malloc-2.c deleted file mode 100644 index c0c2f42ac0448dc35cf5b13d520aac20b39294e8..0000000000000000000000000000000000000000 --- a/20220331/malloc-2.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -typedef struct -{ - char day; - char month; - int year; -} date; - -int main (void) -{ - date *d = malloc (sizeof (date)); - printf ("%d\n", sizeof (date)); - d->day = 31; - d->month = 3; - d->year = 2022; - printf ("%d.%d.%d\n", d->day, d->month, d->year); - free (d); - return 0; -} diff --git a/20220331/malloc-3.c b/20220331/malloc-3.c deleted file mode 100644 index f9e2e5bfcec06e62de2fdb48bf65c3a4549eb923..0000000000000000000000000000000000000000 --- a/20220331/malloc-3.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -typedef struct -{ - char day; - char month; - int year; -} date; - -int main (void) -{ - date *d = malloc (sizeof (date)); - printf ("%x\n", sizeof (date)); - d->day = 31; - d->month = 3; - d->year = 2022; - printf ("%d.%d.%d\n", d->day, d->month, d->year); - free (d); - return 0; -} diff --git a/20220331/malloc-4.c b/20220331/malloc-4.c deleted file mode 100644 index 8207d76dc4c5b15c26f878ca905974eeaca84c2d..0000000000000000000000000000000000000000 --- a/20220331/malloc-4.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -typedef struct -{ - char day; - char month; - int year; -} date; - -int main (void) -{ - date *d = malloc (sizeof (date)); - printf ("%zu\n", sizeof (date)); - d->day = 31; - d->month = 3; - d->year = 2022; - printf ("%d.%d.%d\n", d->day, d->month, d->year); - free (d); - return 0; -} diff --git a/20220331/malloc-4.txt b/20220331/malloc-4.txt deleted file mode 100644 index 13f6e3046a876f106fdb1261ab940f209662ec33..0000000000000000000000000000000000000000 --- a/20220331/malloc-4.txt +++ /dev/null @@ -1,27 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -typedef struct -{ - char day; - char month; - int year; -} date; - -int main (void) -{ - date *d = malloc (sizeof (date)); - printf ("%zu\n", sizeof (date)); - d->day = 31; - d->month = 3; - d->year = 2022; - printf ("%d.%d.%d\n", d->day, d->month, d->year); - free (d); - return 0; -} -cassini/home/peter/bo/2022ss/ad/20220331> gcc -m64 -Wall -O malloc-4.c -o malloc-4 -cassini/home/peter/bo/2022ss/ad/20220331> gcc -m32 -Wall -O malloc-4.c -o malloc-4 -cassini/home/peter/bo/2022ss/ad/20220331> ./malloc-4 -8 -31.3.2022 -cassini/home/peter/bo/2022ss/ad/20220331> diff --git a/20220331/malloc-5.cpp b/20220331/malloc-5.cpp deleted file mode 100644 index c0ce83ba938250f396932492a69c2dd314d1bacb..0000000000000000000000000000000000000000 --- a/20220331/malloc-5.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - char day; - char month; - int year; -} date; - -int main () -{ - date *d = new date; - d->day = 31; - d->month = 3; - d->year = 2022; - printf ("%d.%d.%d\n", d->day, d->month, d->year); - delete d; - return 0; -} diff --git a/20220331/malloc-5.txt b/20220331/malloc-5.txt deleted file mode 100644 index 6f46d829c15fc9052572a9e58f0435217fba0f7a..0000000000000000000000000000000000000000 --- a/20220331/malloc-5.txt +++ /dev/null @@ -1,28 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - char day; - char month; - int year; -} date; - -int main () -{ - date *d = new date; - d->day = 31; - d->month = 3; - d->year = 2022; - printf ("%d.%d.%d\n", d->day, d->month, d->year); - delete d; - return 0; -} -cassini/home/peter/bo/2022ss/ad/20220331> gcc -Wall -O malloc-5.cpp -o malloc-5 -/usr/bin/ld: /tmp/ccwHjUCj.o: in function `main': -malloc-5.cpp:(.text+0x7): undefined reference to `operator new(unsigned long)' -/usr/bin/ld: malloc-5.cpp:(.text+0x45): undefined reference to `operator delete(void*, unsigned long)' -collect2: error: ld returned 1 exit status -cassini/home/peter/bo/2022ss/ad/20220331> gcc -Wall -O malloc-5.cpp -lstdc++ -o malloc-5 -cassini/home/peter/bo/2022ss/ad/20220331> ./malloc-5 -31.3.2022 -cassini/home/peter/bo/2022ss/ad/20220331> diff --git a/20220331/namespaces-1.cpp b/20220331/namespaces-1.cpp deleted file mode 100644 index 04f85e594a6a7ccbfde429021f61e9556f9581e9..0000000000000000000000000000000000000000 --- a/20220331/namespaces-1.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include <iostream> - -int main () -{ - std::cout << "Hello, world!" << std::endl; - return 0; -} diff --git a/20220331/namespaces-2.cpp b/20220331/namespaces-2.cpp deleted file mode 100644 index f9a2dd57bca5acd537a3f7a66368fe0b4a86c1b9..0000000000000000000000000000000000000000 --- a/20220331/namespaces-2.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <iostream> - -using namespace std; - -int main () -{ - cout << "Hello, world!" << endl; - return 0; -} diff --git a/20220331/namespaces-3.cpp b/20220331/namespaces-3.cpp deleted file mode 100644 index b5064afdde2c9572b7c96891bf2ae6bc0abe19d0..0000000000000000000000000000000000000000 --- a/20220331/namespaces-3.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include <iostream> - -using std::cout; -using std::endl; - -int main () -{ - cout << "Hello, world!" << endl; - return 0; -} diff --git a/20220331/namespaces-4.cpp b/20220331/namespaces-4.cpp deleted file mode 100644 index ba3d7284fec443fb2bbe75a0b7beb0a9f3f8a5b0..0000000000000000000000000000000000000000 --- a/20220331/namespaces-4.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <iostream> - -using std::cout, std::endl; - -int main () -{ - cout << "Hello, world!" << endl; - return 0; -} diff --git a/20220331/namespaces-5.cpp b/20220331/namespaces-5.cpp deleted file mode 100644 index a6b2496157ab2986e2dc3504d5a4a18c15c4604f..0000000000000000000000000000000000000000 --- a/20220331/namespaces-5.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include <iostream> - -typedef std::cout cout; -typedef std::endl endl; - -int main () -{ - cout << "Hello, world!" << endl; - return 0; -} diff --git a/20220331/namespaces-6.cpp b/20220331/namespaces-6.cpp deleted file mode 100644 index 35853fde870c1beaf037c01fd0cfdcdac01dbc92..0000000000000000000000000000000000000000 --- a/20220331/namespaces-6.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <iostream> - -using std::cout, std::endl; - -namespace philosophy -{ - const int answer = 42; -} - -int main () -{ - cout << answer << endl; - return 0; -} diff --git a/20220331/namespaces-7.cpp b/20220331/namespaces-7.cpp deleted file mode 100644 index 33b87649c3fd3475f783634115522abcbb37ef3f..0000000000000000000000000000000000000000 --- a/20220331/namespaces-7.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <iostream> - -using std::cout, std::endl; - -namespace philosophy -{ - const int answer = 42; -} - -int main () -{ - cout << philosophy::answer << endl; - return 0; -} diff --git a/20220331/namespaces-8.cpp b/20220331/namespaces-8.cpp deleted file mode 100644 index ec2d7c21926a6ac16076f209e0eb6491c92d0dcf..0000000000000000000000000000000000000000 --- a/20220331/namespaces-8.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <iostream> - -using std::cout, std::endl; - -namespace philosophy -{ - const int answer = 42; -} - -using philosophy::answer; - -int main () -{ - cout << answer << endl; - return 0; -} diff --git a/20220331/namespaces.txt b/20220331/namespaces.txt deleted file mode 100644 index 1cec3fe6c4e0d2ad9dd66d1cd1f55aa63647b10f..0000000000000000000000000000000000000000 --- a/20220331/namespaces.txt +++ /dev/null @@ -1 +0,0 @@ -https://www.geeksforgeeks.org/using-namespace-std-considered-bad-practice/ diff --git a/20220331/objects-1.c b/20220331/objects-1.c deleted file mode 100644 index 1a628668fd7b8fb3a0d9886ac14e8e909bc23793..0000000000000000000000000000000000000000 --- a/20220331/objects-1.c +++ /dev/null @@ -1,28 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -int main (void) -{ - t_integer i = { 1, 42 }; - t_string s = { 2, "Hello, world!" }; - - t_base *object[] = { &i, &s }; - - return 0; -} diff --git a/20220331/objects-10.c b/20220331/objects-10.c deleted file mode 100644 index 84a78f64d188aad8fb70f0098eb1a13b4cc8d43a..0000000000000000000000000000000000000000 --- a/20220331/objects-10.c +++ /dev/null @@ -1,76 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#define T_BASE 0 -#define T_INTEGER 1 -#define T_STRING 2 - -typedef struct -{ - int type; - void (* print) (t_object *this); -} t_base; - -typedef struct -{ - int type; - void (* print) (t_object *this); - int content; -} t_integer; - -typedef struct -{ - int type; - void (* print) (t_object *this); - char *content; -} t_string; - -typedef union -{ - t_base base; - t_integer integer; - t_string string; -} t_object; - -void print_integer (t_object *this) -{ - printf ("Integer: %d\n", this->integer.content); -} - -void print_string (t_object *this) -{ - printf ("String: \"%s\"\n", this->string.content); -} - -t_object *new_integer (int i) -{ - t_object *p = malloc (sizeof (t_integer)); - p->integer.type = T_INTEGER; - p->integer.print = print_integer; - p->integer.content = i; - return p; -} - -t_object *new_string (char *s) -{ - t_object *p = malloc (sizeof (t_string)); - p->string.type = T_STRING; - p->string.print = print_string; - p->string.content = s; - return p; -} - -int main (void) -{ - t_object *object[] = { new_integer (42), - new_string ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->base.print (object[i]); - - for (int i = 0; object[i]; i++) - free (object[i]); - - return 0; -} diff --git a/20220331/objects-11.c b/20220331/objects-11.c deleted file mode 100644 index e8013c6f5911171baa597453ffc32b41aeeb2759..0000000000000000000000000000000000000000 --- a/20220331/objects-11.c +++ /dev/null @@ -1,78 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#define T_BASE 0 -#define T_INTEGER 1 -#define T_STRING 2 - -union t_object; - -typedef struct -{ - int type; - void (* print) (union t_object *this); -} t_base; - -typedef struct -{ - int type; - void (* print) (union t_object *this); - int content; -} t_integer; - -typedef struct -{ - int type; - void (* print) (union t_object *this); - char *content; -} t_string; - -typedef union t_object -{ - t_base base; - t_integer integer; - t_string string; -} t_object; - -void print_integer (t_object *this) -{ - printf ("Integer: %d\n", this->integer.content); -} - -void print_string (t_object *this) -{ - printf ("String: \"%s\"\n", this->string.content); -} - -t_object *new_integer (int i) -{ - t_object *p = malloc (sizeof (t_integer)); - p->integer.type = T_INTEGER; - p->integer.print = print_integer; - p->integer.content = i; - return p; -} - -t_object *new_string (char *s) -{ - t_object *p = malloc (sizeof (t_string)); - p->string.type = T_STRING; - p->string.print = print_string; - p->string.content = s; - return p; -} - -int main (void) -{ - t_object *object[] = { new_integer (42), - new_string ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->base.print (object[i]); - - for (int i = 0; object[i]; i++) - free (object[i]); - - return 0; -} diff --git a/20220331/objects-12.c b/20220331/objects-12.c deleted file mode 100644 index 3b0dddd0b7eda19d8b0545906dabd76bc9c8a378..0000000000000000000000000000000000000000 --- a/20220331/objects-12.c +++ /dev/null @@ -1,69 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -union t_object; - -typedef struct -{ - void (* print) (union t_object *this); -} t_base; - -typedef struct -{ - void (* print) (union t_object *this); - int content; -} t_integer; - -typedef struct -{ - void (* print) (union t_object *this); - char *content; -} t_string; - -typedef union t_object -{ - t_base base; - t_integer integer; - t_string string; -} t_object; - -void print_integer (t_object *this) -{ - printf ("Integer: %d\n", this->integer.content); -} - -void print_string (t_object *this) -{ - printf ("String: \"%s\"\n", this->string.content); -} - -t_object *new_integer (int i) -{ - t_object *p = malloc (sizeof (t_integer)); - p->integer.print = print_integer; - p->integer.content = i; - return p; -} - -t_object *new_string (char *s) -{ - t_object *p = malloc (sizeof (t_string)); - p->string.print = print_string; - p->string.content = s; - return p; -} - -int main (void) -{ - t_object *object[] = { new_integer (42), - new_string ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->base.print (object[i]); - - for (int i = 0; object[i]; i++) - free (object[i]); - - return 0; -} diff --git a/20220331/objects-13.c b/20220331/objects-13.c deleted file mode 100644 index 16da14bbd8c71d752612af76792fd3440fcd88cf..0000000000000000000000000000000000000000 --- a/20220331/objects-13.c +++ /dev/null @@ -1,78 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -union t_object; -struct t_vmt; - -typedef struct -{ - struct t_vmt *vmt; -} t_base; - -typedef struct -{ - struct t_vmt *vmt; - int content; -} t_integer; - -typedef struct -{ - struct t_vmt *vmt; - char *content; -} t_string; - -typedef union t_object -{ - t_base base; - t_integer integer; - t_string string; -} t_object; - -typedef struct t_vmt -{ - void (* print) (union t_object *this); -} t_vmt; - -void print_integer (t_object *this) -{ - printf ("Integer: %d\n", this->integer.content); -} - -void print_string (t_object *this) -{ - printf ("String: \"%s\"\n", this->string.content); -} - -t_vmt vmt_integer = { print_integer }; -t_vmt vmt_string = { print_string }; - -t_object *new_integer (int i) -{ - t_object *p = malloc (sizeof (t_integer)); - p->integer.vmt = &vmt_integer; - p->integer.content = i; - return p; -} - -t_object *new_string (char *s) -{ - t_object *p = malloc (sizeof (t_string)); - p->integer.vmt = &vmt_string; - p->string.content = s; - return p; -} - -int main (void) -{ - t_object *object[] = { new_integer (42), - new_string ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->base.vmt->print (object[i]); - - for (int i = 0; object[i]; i++) - free (object[i]); - - return 0; -} diff --git a/20220331/objects-13a.c b/20220331/objects-13a.c deleted file mode 100644 index b27f513b111b68e0b0b78dcb252e973e0cf466b5..0000000000000000000000000000000000000000 --- a/20220331/objects-13a.c +++ /dev/null @@ -1,97 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -union t_object; -struct t_vmt; - -typedef struct -{ - struct t_vmt *vmt; -} t_base; - -typedef struct -{ - struct t_vmt *vmt; - int content; -} t_integer; - -typedef struct -{ - struct t_vmt *vmt; - char *content; -} t_string; - -typedef union t_object -{ - t_base base; - t_integer integer; - t_string string; -} t_object; - -typedef struct t_vmt -{ - void (* print) (union t_object *this); -} t_vmt; - -void print_integer (t_object *this) -{ - printf ("Integer: %d\n", this->integer.content); -} - -void print_string (t_object *this) -{ - printf ("String: \"%s\"\n", this->string.content); -} - -t_vmt vmt_integer = { print_integer }; -t_vmt vmt_string = { print_string }; - -t_object *new_integer (int i) -{ - t_object *p = malloc (sizeof (t_integer)); - p->integer.vmt = &vmt_integer; - p->integer.content = i; - return p; -} - -t_object *new_string (char *s) -{ - t_object *p = malloc (sizeof (t_string)); - p->integer.vmt = &vmt_string; - p->string.content = s; - return p; -} - -int main (void) -{ - t_object *object[] = { new_integer (42), - new_string ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->base.vmt->print (object[i]); - - /* object[i] = Zeiger auf eine t_object-Variable - object[i]->base = Das, worauf der Zeiger zeigt, ist eine union, ein t_object. - Dieses enthält ein Datenfeld base vom Typ t_base, ein struct. - object[i]->base.vmt = Das struct base enthält ein Datenfeld vmt. - Dieser ist ein Zeiger auf eine Struct vom Typ t_vmt. - Diesen Zeiger hat der Konstruktor des Objekts vorher - initialisiert, so daß er entweder auf die globale Variable - vmt_integer oder auf vmt_string zeigt. - object[i]->base.vmt->print = Die struct, auf die der Zeiger vmt zeigt, - enthält ein Datenfeld print. - Dieses Datenfeld wurde bereits beim Compilieren - initialisiert, so daß es entweder auf die Funktion - print_integer() oder auf print_string() zeigt. - object[i]->base.vmt->print (object[i]); = Das Datenfeld print ist ein Zeiger auf eine - Funktion. Diese rufen wir auf und übergeben - ihr den Parameter object[i], einen Zeiger - auf eine t_object-Variable. - */ - - for (int i = 0; object[i]; i++) - free (object[i]); - - return 0; -} diff --git a/20220331/objects-14.cpp b/20220331/objects-14.cpp deleted file mode 100644 index 90329346afd7d1cfd1caad1d267781b25300b4ca..0000000000000000000000000000000000000000 --- a/20220331/objects-14.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include <stdio.h> - -struct TBase -{ - virtual void print () = 0; -}; - -struct TInteger: TBase -{ - int content; - virtual void print (); - TInteger (int i); -}; - -struct TString: TBase -{ - char *content; - virtual void print (); - TString (char *s); -}; - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (char *s) -{ - content = s; -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220331/objects-15.cpp b/20220331/objects-15.cpp deleted file mode 100644 index aa4b023c263cf149f48e91e47eca8a36c29ab758..0000000000000000000000000000000000000000 --- a/20220331/objects-15.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include <stdio.h> - -struct TBase -{ - virtual void print (); -}; - -struct TInteger: TBase -{ - int content; - virtual void print (); - TInteger (int i); -}; - -struct TString: TBase -{ - char *content; - virtual void print (); - TString (char *s); -}; - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (char *s) -{ - content = s; -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220331/objects-16.cpp b/20220331/objects-16.cpp deleted file mode 100644 index 879b8814dea5a91a8057bbe898eace65187ca1e0..0000000000000000000000000000000000000000 --- a/20220331/objects-16.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include <stdio.h> - -struct TBase -{ - virtual void print () = 0; -}; - -struct TInteger: TBase -{ - int content; - virtual void print (); - TInteger (int i); -}; - -struct TString: TBase -{ - const char *content; - virtual void print (); - TString (const char *s); -}; - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (const char *s) -{ - content = s; -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220331/objects-17.cpp b/20220331/objects-17.cpp deleted file mode 100644 index 30f62d1209ab1b67926e884bab4d6a69fbc507fb..0000000000000000000000000000000000000000 --- a/20220331/objects-17.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include <stdio.h> - -struct TBase -{ - virtual void print () = 0; - virtual ~TBase (); -}; - -TBase::~TBase () -{ -} - -struct TInteger: TBase -{ - int content; - virtual void print (); - TInteger (int i); -}; - -struct TString: TBase -{ - const char *content; - virtual void print (); - TString (const char *s); -}; - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (const char *s) -{ - content = s; -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220331/objects-2.c b/20220331/objects-2.c deleted file mode 100644 index a47cfb4276085399afb86795d04b1f6ae20c95bf..0000000000000000000000000000000000000000 --- a/20220331/objects-2.c +++ /dev/null @@ -1,28 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -int main (void) -{ - t_integer i = { 1, 42 }; - t_string s = { 2, "Hello, world!" }; - - t_base *object[] = { (t_base *) &i, (t_base *) &s }; - - return 0; -} diff --git a/20220331/objects-3.c b/20220331/objects-3.c deleted file mode 100644 index ff9224c0767ccad39f5b1396720ee73b6a0455fb..0000000000000000000000000000000000000000 --- a/20220331/objects-3.c +++ /dev/null @@ -1,34 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -int main (void) -{ - t_integer i = { 1, 42 }; - t_string s = { 2, "Hello, world!" }; - - t_base *object[] = { (t_base *) &i, (t_base *) &s }; - - for (int i = 0; i < 2; i++) - if (object[i]->type == 1) - printf ("Integer: %d\n", object[i]->content); - else if (object[i]->type == 2) - printf ("String: \"%s\"\n", object[i]->content); - - return 0; -} diff --git a/20220331/objects-4.c b/20220331/objects-4.c deleted file mode 100644 index ef7bffe80471d4b014258824421dce0557fc41dd..0000000000000000000000000000000000000000 --- a/20220331/objects-4.c +++ /dev/null @@ -1,34 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -int main (void) -{ - t_integer i = { 1, 42 }; - t_string s = { 2, "Hello, world!" }; - - t_base *object[] = { (t_base *) &i, (t_base *) &s }; - - for (int i = 0; i < 2; i++) - if (object[i]->type == 1) - printf ("Integer: %d\n", (t_integer *) object[i]->content); - else if (object[i]->type == 2) - printf ("String: \"%s\"\n", (t_string *) object[i]->content); - - return 0; -} diff --git a/20220331/objects-5.c b/20220331/objects-5.c deleted file mode 100644 index 820181d87e2a04b81cd2e03aa7980d970cd6c1a6..0000000000000000000000000000000000000000 --- a/20220331/objects-5.c +++ /dev/null @@ -1,34 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -int main (void) -{ - t_integer i = { 1, 42 }; - t_string s = { 2, "Hello, world!" }; - - t_base *object[] = { (t_base *) &i, (t_base *) &s }; - - for (int i = 0; i < 2; i++) - if (object[i]->type == 1) - printf ("Integer: %d\n", ((t_integer *) object[i])->content); - else if (object[i]->type == 2) - printf ("String: \"%s\"\n", ((t_string *) object[i])->content); - - return 0; -} diff --git a/20220331/objects-6.c b/20220331/objects-6.c deleted file mode 100644 index 86847c9085083e2d5093026619550fb272b5f4ec..0000000000000000000000000000000000000000 --- a/20220331/objects-6.c +++ /dev/null @@ -1,39 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -void print_object (t_base *this) -{ - if (this->type == 1) - printf ("Integer: %d\n", ((t_integer *) this)->content); - else if (this->type == 2) - printf ("String: \"%s\"\n", ((t_string *) this)->content); -} - -int main (void) -{ - t_integer i = { 1, 42 }; - t_string s = { 2, "Hello, world!" }; - - t_base *object[] = { (t_base *) &i, (t_base *) &s }; - - for (int i = 0; i < 2; i++) - print_object (object[i]); - - return 0; -} diff --git a/20220331/objects-7.c b/20220331/objects-7.c deleted file mode 100644 index b9b24ad65f650aeda194e4570ae853e1a5ad8f11..0000000000000000000000000000000000000000 --- a/20220331/objects-7.c +++ /dev/null @@ -1,43 +0,0 @@ -#include <stdio.h> - -#define T_BASE 0 -#define T_INTEGER 1 -#define T_STRING 2 - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -void print_object (t_base *this) -{ - if (this->type == T_INTEGER) - printf ("Integer: %d\n", ((t_integer *) this)->content); - else if (this->type == T_STRING) - printf ("String: \"%s\"\n", ((t_string *) this)->content); -} - -int main (void) -{ - t_integer i = { T_INTEGER, 42 }; - t_string s = { T_STRING, "Hello, world!" }; - - t_base *object[] = { (t_base *) &i, (t_base *) &s, NULL }; - - for (int i = 0; object[i]; i++) - print_object (object[i]); - - return 0; -} diff --git a/20220331/objects-8.c b/20220331/objects-8.c deleted file mode 100644 index 0c93e8f6c3c4b5e504c758dfa87b8510e98c0692..0000000000000000000000000000000000000000 --- a/20220331/objects-8.c +++ /dev/null @@ -1,59 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#define T_BASE 0 -#define T_INTEGER 1 -#define T_STRING 2 - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -void print_object (t_base *this) -{ - if (this->type == T_INTEGER) - printf ("Integer: %d\n", ((t_integer *) this)->content); - else if (this->type == T_STRING) - printf ("String: \"%s\"\n", ((t_string *) this)->content); -} - -t_integer *new_integer (int i) -{ - t_integer *p = malloc (sizeof (t_integer)); - p->type = T_INTEGER; - p->content = i; - return p; -} - -t_string *new_string (char *s) -{ - t_string *p = malloc (sizeof (t_string)); - p->type = T_STRING; - p->content = s; - return p; -} - -int main (void) -{ - t_base *object[] = { (t_base *) new_integer (42), - (t_base *) new_string ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - print_object (object[i]); - - return 0; -} diff --git a/20220331/objects-8a.c b/20220331/objects-8a.c deleted file mode 100644 index 4a7da68854246aefba0cd086113a60f931cdea15..0000000000000000000000000000000000000000 --- a/20220331/objects-8a.c +++ /dev/null @@ -1,59 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#define T_BASE 0 -#define T_INTEGER 1 -#define T_STRING 2 - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -void print_object (t_base *this) -{ - if (this->type == T_INTEGER) - printf ("Integer: %d\n", ((t_integer *) this)->content); - else if (this->type == T_STRING) - printf ("String: \"%s\"\n", ((t_string *) this)->content); -} - -t_base *new_integer (int i) -{ - t_integer *p = malloc (sizeof (t_integer)); - p->type = T_INTEGER; - p->content = i; - return (t_base *) p; -} - -t_base *new_string (char *s) -{ - t_string *p = malloc (sizeof (t_string)); - p->type = T_STRING; - p->content = s; - return (t_base *) p; -} - -int main (void) -{ - t_base *object[] = { new_integer (42), - new_string ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - print_object (object[i]); - - return 0; -} diff --git a/20220331/objects-8b.c b/20220331/objects-8b.c deleted file mode 100644 index 56cd0994512353546153cc3dda31b94307d9c466..0000000000000000000000000000000000000000 --- a/20220331/objects-8b.c +++ /dev/null @@ -1,70 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#define T_BASE 0 -#define T_INTEGER 1 -#define T_STRING 2 - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -void print_object (t_base *this) -{ - if (this->type == T_INTEGER) - printf ("Integer: %d\n", ((t_integer *) this)->content); - else if (this->type == T_STRING) - printf ("String: \"%s\"\n", ((t_string *) this)->content); -} - -t_base *new_integer (int i) -{ - t_integer p; - p.type = T_INTEGER; - p.content = i; - return (t_base *) &p; /* FALSCH: Speicher wird mit der "}" direkt wieder freigegeben! */ -} - -// t_base *new_integer (int i) -// { -// t_integer *p = malloc (sizeof (t_integer)); -// p->type = T_INTEGER; /* RICHTIG: Speicher mit malloc() anfordern. */ -// p->content = i; -// return (t_base *) p; -// } - -t_base *new_string (char *s) -{ - t_string *p = malloc (sizeof (t_string)); - p->type = T_STRING; - p->content = s; - return (t_base *) p; -} - -int main (void) -{ - t_base *object[] = { new_integer (42), - new_string ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - print_object (object[i]); - - for (int i = 0; object[i]; i++) - free (object[i]); /* Ansonsten: Betriebssystem gibt bei Programmende sämtlichen */ - /* angeforderten Speicher wieder frei. */ - return 0; -} diff --git a/20220331/objects-8c.c b/20220331/objects-8c.c deleted file mode 100644 index cbee16d5690368f951c7ed1f58cb61b615f372c3..0000000000000000000000000000000000000000 --- a/20220331/objects-8c.c +++ /dev/null @@ -1,106 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#define T_BASE 0 -#define T_INTEGER 1 -#define T_STRING 2 - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -void print_object (t_base *this) -{ - if (this->type == T_INTEGER) - printf ("Integer: %d\n", ((t_integer *) this)->content); - else if (this->type == T_STRING) - printf ("String: \"%s\"\n", ((t_string *) this)->content); -} - -int get_integer (t_base *this) -{ - if (this->type == T_INTEGER) - return ((t_integer *) this)->content; - else - return 0; -} - -char *get_string (t_base *this) -{ - if (this->type == T_STRING) - return ((t_string *) this)->content; - else - return NULL; -} - -void set_integer (t_base *this, int i) -{ - if (this->type == T_INTEGER) - ((t_integer *) this)->content = i; - else - fprintf (stderr, "set_integer() called for something not an integer object\n"); -} - -void set_string (t_base *this, char *s) -{ - if (this->type == T_STRING) - ((t_string *) this)->content = s; - else - fprintf (stderr, "set_string() called for something not a string object\n"); -} - -t_base *new_integer (int i) -{ - t_integer *p = malloc (sizeof (t_integer)); - p->type = T_INTEGER; - p->content = i; - return (t_base *) p; -} - -t_base *new_string (char *s) -{ - t_string *p = malloc (sizeof (t_string)); - p->type = T_STRING; - p->content = s; - return (t_base *) p; -} - -int main (void) -{ - t_base *object[] = { new_integer (42), - new_string ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - print_object (object[i]); - - for (int i = 0; object[i]; i++) - { - set_integer (object[i], 137); - printf ("Integer: %d\n", get_integer (object[i])); - } - - for (int i = 0; object[i]; i++) - { - set_string (object[i], "Bonjour, le monde !"); - printf ("String: %s\n", get_string (object[i])); - } - - for (int i = 0; object[i]; i++) - free (object[i]); - - return 0; -} diff --git a/20220331/objects-9.c b/20220331/objects-9.c deleted file mode 100644 index 3355ce354278e9839db0952c6de0d7acca172157..0000000000000000000000000000000000000000 --- a/20220331/objects-9.c +++ /dev/null @@ -1,69 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#define T_BASE 0 -#define T_INTEGER 1 -#define T_STRING 2 - -typedef struct -{ - int type; -} t_base; - -typedef struct -{ - int type; - int content; -} t_integer; - -typedef struct -{ - int type; - char *content; -} t_string; - -typedef union -{ - t_base base; - t_integer integer; - t_string string; -} t_object; - -void print_object (t_object *this) -{ - if (this->base.type == T_INTEGER) - printf ("Integer: %d\n", this->integer.content); - else if (this->base.type == T_STRING) - printf ("String: \"%s\"\n", this->string.content); -} - -t_object *new_integer (int i) -{ - t_object *p = malloc (sizeof (t_integer)); - p->integer.type = T_INTEGER; - p->integer.content = i; - return p; -} - -t_object *new_string (char *s) -{ - t_object *p = malloc (sizeof (t_string)); - p->string.type = T_STRING; - p->string.content = s; - return p; -} - -int main (void) -{ - t_object *object[] = { new_integer (42), - new_string ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - print_object (object[i]); - - for (int i = 0; object[i]; i++) - free (object[i]); - - return 0; -} diff --git a/20220331/operators-1.cpp b/20220331/operators-1.cpp deleted file mode 100644 index 04f85e594a6a7ccbfde429021f61e9556f9581e9..0000000000000000000000000000000000000000 --- a/20220331/operators-1.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include <iostream> - -int main () -{ - std::cout << "Hello, world!" << std::endl; - return 0; -} diff --git a/20220331/operators-10.cpp b/20220331/operators-10.cpp deleted file mode 100644 index 6ef399755f5f05214a6fc19fe53cacd53a3abe9b..0000000000000000000000000000000000000000 --- a/20220331/operators-10.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int x, y, z; -} vector; - -vector operator $$ (vector u) -{ - ++u.x; - ++u.y; - ++u.z; - return u; -} - -int main () -{ - vector a = { 1, 0, 1 }; - vector b = $$a; - printf ("/ %d \\\n| %d |\n\\ %d /\n", b.x, b.y, b.z); - return 0; -} diff --git a/20220331/operators-11.cpp b/20220331/operators-11.cpp deleted file mode 100644 index 97f19dd6e8aa31fa006fee76ae40a8e0378778bc..0000000000000000000000000000000000000000 --- a/20220331/operators-11.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int x, y, z; -} vector; - -vector operator ++ (vector u, int) -{ - vector w = { u.x++, u.y++, u.z++ }; - return w; -} - -int main () -{ - vector a = { 1, 0, 1 }; - vector b = a++; - printf ("/ %d \\\n| %d |\n\\ %d /\n", a.x, a.y, a.z); - printf ("/ %d \\\n| %d |\n\\ %d /\n", b.x, b.y, b.z); - return 0; -} diff --git a/20220331/operators-12.cpp b/20220331/operators-12.cpp deleted file mode 100644 index 7ad790393d4779ee7652ef7f7c4615cfceabae46..0000000000000000000000000000000000000000 --- a/20220331/operators-12.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int x, y, z; -} vector; - -vector operator ++ (vector &u, int) -{ - vector w = { u.x++, u.y++, u.z++ }; - return w; -} - -int main () -{ - vector a = { 1, 0, 1 }; - vector b = a++; - printf ("/ %d \\\n| %d |\n\\ %d /\n", a.x, a.y, a.z); - printf ("/ %d \\\n| %d |\n\\ %d /\n", b.x, b.y, b.z); - return 0; -} diff --git a/20220331/operators-13.cpp b/20220331/operators-13.cpp deleted file mode 100644 index 95c9d512f3ee9483893492e8a5dd63e490f3c6f2..0000000000000000000000000000000000000000 --- a/20220331/operators-13.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int x, y, z; -} vector; - -vector operator ++ (vector &u, int bla) -{ - vector w = { u.x++, u.y++, u.z++ }; - printf ("bla = %d\n", bla); - return w; -} - -int main () -{ - vector a = { 1, 0, 1 }; - vector b = a++; - printf ("/ %d \\\n| %d |\n\\ %d /\n", a.x, a.y, a.z); - printf ("/ %d \\\n| %d |\n\\ %d /\n", b.x, b.y, b.z); - return 0; -} diff --git a/20220331/operators-14.cpp b/20220331/operators-14.cpp deleted file mode 100644 index 96245ba97f6654e0c583f9823a19fa5f037cf73b..0000000000000000000000000000000000000000 --- a/20220331/operators-14.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int x, y, z; -} vector; - -vector operator ++ (vector &u) -{ - vector w = { ++u.x, ++u.y, ++u.z }; - return w; -} - -vector operator ++ (vector &u, int bla) -{ - vector w = { u.x++, u.y++, u.z++ }; - return w; -} - -int main () -{ - vector a = { 1, 0, 1 }; - vector b = a++; - vector c = ++a; - printf ("/ %d \\\n| %d |\n\\ %d /\n", a.x, a.y, a.z); - printf ("/ %d \\\n| %d |\n\\ %d /\n", b.x, b.y, b.z); - printf ("/ %d \\\n| %d |\n\\ %d /\n", c.x, c.y, c.z); - return 0; -} diff --git a/20220331/operators-2.cpp b/20220331/operators-2.cpp deleted file mode 100644 index 526b9d0ad0d10dd6a0d2ab3e0c496cca94623df2..0000000000000000000000000000000000000000 --- a/20220331/operators-2.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include <iostream> - -int main () -{ - std::cout << (21 << 1) << std::endl; - return 0; -} diff --git a/20220331/operators-3.cpp b/20220331/operators-3.cpp deleted file mode 100644 index 99d441f9117335c0810d713c980473d0c025f617..0000000000000000000000000000000000000000 --- a/20220331/operators-3.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include <iostream> - -int main () -{ - std::cout << "Hello, world!"; - return 0; -} diff --git a/20220331/operators-4.cpp b/20220331/operators-4.cpp deleted file mode 100644 index 3e60ae606ca2503d08a25b0c076a1b998eafc034..0000000000000000000000000000000000000000 --- a/20220331/operators-4.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include <iostream> - -int main () -{ - std::cout << "Hello, world!" << '\n'; - return 0; -} diff --git a/20220331/operators-5.cpp b/20220331/operators-5.cpp deleted file mode 100644 index 9e5e4dd1f822a72eaae205137518ac46bd6e636c..0000000000000000000000000000000000000000 --- a/20220331/operators-5.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include <iostream> - -int main () -{ - std::cout << "Hello, world!\n"; - return 0; -} diff --git a/20220331/operators-6.cpp b/20220331/operators-6.cpp deleted file mode 100644 index 9dac9cba1221b151fda4ead9d007ba856e34d7d9..0000000000000000000000000000000000000000 --- a/20220331/operators-6.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int x, y, z; -} vector; - -vector operator + (vector u, vector v) -{ - vector w = { u.x + v.x, u.y + v.y, u.z + v.z }; - return w; -} - -int main () -{ - vector a = { 1, 0, 1 }; - vector b = { 0, 1, 1 }; - vector c = a + b; - printf ("/ %d \\\n| %d |\n\\ %d /\n", c.x, c.y, c.z); - return 0; -} diff --git a/20220331/operators-7.cpp b/20220331/operators-7.cpp deleted file mode 100644 index 7d5429c597c05dfcb357dc485ce1f2e3666bd95f..0000000000000000000000000000000000000000 --- a/20220331/operators-7.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int x, y, z; -} vector; - -vector operator ++ (vector u) -{ - vector w = { u.x + 1, u.y + 1, u.z + 1 }; - return w; -} - -int main () -{ - vector a = { 1, 0, 1 }; - vector b = a++; - printf ("/ %d \\\n| %d |\n\\ %d /\n", b.x, b.y, b.z); - return 0; -} diff --git a/20220331/operators-8.cpp b/20220331/operators-8.cpp deleted file mode 100644 index cf89e673603963028dec1bdf0bd61f45ef451ae5..0000000000000000000000000000000000000000 --- a/20220331/operators-8.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int x, y, z; -} vector; - -vector operator ++ (vector u) -{ - vector w = { u.x + 1, u.y + 1, u.z + 1 }; - return w; -} - -int main () -{ - vector a = { 1, 0, 1 }; - vector b = ++a; - printf ("/ %d \\\n| %d |\n\\ %d /\n", b.x, b.y, b.z); - return 0; -} diff --git a/20220331/operators-9.cpp b/20220331/operators-9.cpp deleted file mode 100644 index 98cc1ec8951e06287087e9f7439c0453ac5f7349..0000000000000000000000000000000000000000 --- a/20220331/operators-9.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <stdio.h> - -typedef struct -{ - int x, y, z; -} vector; - -vector operator ++ (vector u) -{ - ++u.x; - ++u.y; - ++u.z; - return u; -} - -int main () -{ - vector a = { 1, 0, 1 }; - vector b = ++a; - printf ("/ %d \\\n| %d |\n\\ %d /\n", b.x, b.y, b.z); - return 0; -} diff --git a/20220331/pgslides.sty b/20220331/pgslides.sty deleted file mode 120000 index 5be1416f4216f076aa268901f52a15d775e43f64..0000000000000000000000000000000000000000 --- a/20220331/pgslides.sty +++ /dev/null @@ -1 +0,0 @@ -../common/pgslides.sty \ No newline at end of file diff --git a/20220331/references-1.c b/20220331/references-1.c deleted file mode 100644 index 66f10931b54a98376820c1235adeb17dd930aa46..0000000000000000000000000000000000000000 --- a/20220331/references-1.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <stdio.h> - -void calc_answer (int a) -{ - a = 42; -} - -int main (void) -{ - int a = 137; - calc_answer (a); - printf ("%d\n", a); - return 0; -} diff --git a/20220331/references-10.cpp b/20220331/references-10.cpp deleted file mode 100644 index f415647ed9e9bf3de00792d99ce0fb92eb179c33..0000000000000000000000000000000000000000 --- a/20220331/references-10.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - int a = 23; - int b = 137; - int &c = b; - printf ("%d\n", c); - c = a; - printf ("%d\n", c); - return 0; -} diff --git a/20220331/references-11.cpp b/20220331/references-11.cpp deleted file mode 100644 index 26ea7905b2ecb4bcb8b5ae807abbde6d587e06e2..0000000000000000000000000000000000000000 --- a/20220331/references-11.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - int a = 23; - int b = 137; - int &c = b; - printf ("%d\n", c); - c = a; - printf ("%d\n", c); - printf ("%d\n", b); - return 0; -} diff --git a/20220331/references-12.cpp b/20220331/references-12.cpp deleted file mode 100644 index ae2379ecb069996799986e258c13352567dc12d0..0000000000000000000000000000000000000000 --- a/20220331/references-12.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - int a = 23; - int b = 137; - int &c = b; - printf ("%d\n", c); - &c = a; - printf ("%d\n", c); - printf ("%d\n", b); - return 0; -} diff --git a/20220331/references-13.cpp b/20220331/references-13.cpp deleted file mode 100644 index e115d83868ceb84d6370f0e5970c4f5735fa849a..0000000000000000000000000000000000000000 --- a/20220331/references-13.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - int a = 23; - int b = 137; - int &c = b; - printf ("%d\n", c); - c = &a; - printf ("%d\n", c); - printf ("%d\n", b); - return 0; -} diff --git a/20220331/references-14.cpp b/20220331/references-14.cpp deleted file mode 100644 index a866098c40f3b9c975bed15db708999cf9aa4991..0000000000000000000000000000000000000000 --- a/20220331/references-14.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - int a = 23; - const int &b = a; - b = 137; - printf ("%d\n", a); - return 0; -} diff --git a/20220331/references-15.cpp b/20220331/references-15.cpp deleted file mode 100644 index b4e4c20e1f313b0dd937553773754aae947fa3f1..0000000000000000000000000000000000000000 --- a/20220331/references-15.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - int a = 23; - const int b = a; - b = 137; - printf ("%d\n", a); - return 0; -} diff --git a/20220331/references-2.c b/20220331/references-2.c deleted file mode 100644 index e5d32fc4463d6d9adf19fe47d9057bda3f2d4873..0000000000000000000000000000000000000000 --- a/20220331/references-2.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <stdio.h> - -void calc_answer (int *a) -{ - *a = 42; -} - -int main (void) -{ - int a = 137; - calc_answer (&a); - printf ("%d\n", a); - return 0; -} diff --git a/20220331/references-3.cpp b/20220331/references-3.cpp deleted file mode 100644 index a5d34283e983edb288f298a7558bfa9bfe54b5bf..0000000000000000000000000000000000000000 --- a/20220331/references-3.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <stdio.h> - -void calc_answer (int &a) -{ - a = 42; -} - -int main (void) -{ - int a = 137; - calc_answer (a); - printf ("%d\n", a); - return 0; -} diff --git a/20220331/references-4.cpp b/20220331/references-4.cpp deleted file mode 100644 index a7ca00fee4c0b9112e248f642f00b0e6cd5de711..0000000000000000000000000000000000000000 --- a/20220331/references-4.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdio.h> - -void calc_answer (int &a, int &b) -{ - a = 42; - b = 137; -} - -int main (void) -{ - int a = 137; - int b = 42; - calc_answer (a, b); - printf ("%d, %d\n", a, b); - return 0; -} diff --git a/20220331/references-5.cpp b/20220331/references-5.cpp deleted file mode 100644 index 0817a210b790d06c3e99534c377ad3e4d1bd2368..0000000000000000000000000000000000000000 --- a/20220331/references-5.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdio.h> - -void calc_answer (int &a, int &b) -{ - a = 42; - b = 137; -} - -int main (void) -{ - int a = 23; - calc_answer (a, a); - printf ("%d\n", a); - return 0; -} diff --git a/20220331/references-6.cpp b/20220331/references-6.cpp deleted file mode 100644 index 743d977e61083fdb471bdffb61801e2f6efc19ae..0000000000000000000000000000000000000000 --- a/20220331/references-6.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdio.h> - -void calc_answer (int &a, int &b) -{ - b = 137; - a = 42; -} - -int main (void) -{ - int a = 23; - calc_answer (a, a); - printf ("%d\n", a); - return 0; -} diff --git a/20220331/references-7.cpp b/20220331/references-7.cpp deleted file mode 100644 index 60ff5d3f4339260fba5cbfdd15daa12f3870111a..0000000000000000000000000000000000000000 --- a/20220331/references-7.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - int a = 23; - int &b = a; - a = 15; - printf ("%d\n", b); - b = 42; - printf ("%d\n", a); - return 0; -} diff --git a/20220331/references-8.cpp b/20220331/references-8.cpp deleted file mode 100644 index 47bf6ecfc72e2681daf9816e92a0500c2fa52043..0000000000000000000000000000000000000000 --- a/20220331/references-8.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - int a = 23; - int &b; - b = a; - a = 15; - printf ("%d\n", b); - b = 42; - printf ("%d\n", a); - return 0; -} diff --git a/20220331/references-9.cpp b/20220331/references-9.cpp deleted file mode 100644 index 7c12c33fa38ec211d9ef67d8c83dece37908c383..0000000000000000000000000000000000000000 --- a/20220331/references-9.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - int a = 23; - int &b = a; - int &c = b; - b = 42; - printf ("%d\n", a); - c = 13; - printf ("%d\n", a); - return 0; -} diff --git a/20220407/ad-20220407.pdf b/20220407/ad-20220407.pdf deleted file mode 100644 index ef8a492ddc5e1490ff9155fea5a013c42044109a..0000000000000000000000000000000000000000 Binary files a/20220407/ad-20220407.pdf and /dev/null differ diff --git a/20220407/ad-20220407.tex b/20220407/ad-20220407.tex deleted file mode 100644 index 42536ff3fdcf6c5cfbf6de8835f1ac2986499279..0000000000000000000000000000000000000000 --- a/20220407/ad-20220407.tex +++ /dev/null @@ -1,339 +0,0 @@ -% ad-20220407.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ -% Copyright (C) 2018, 2019, 2020, 2021, 2022 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: Einführung in C++: Objekte - -\documentclass[10pt,t]{beamer} - -\usepackage{pgslides} -\usepackage{tikz} -\usepackage{rotating} - -\newcommand{\underconstruction}{% - \begin{picture}(0,0) - \color{black} - \put(6,-2.2){\makebox(0,0)[b]{\includegraphics[width=1.5cm]{Zeichen_123.pdf}}} - \put(6,-2.5){\makebox(0,0)[t]{\shortstack{Änderungen\\vorbehalten}}} - \end{picture}} - -\title{Algorithmen und Datenstrukturen in C/C++} -\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski} -\date{7.\ April 2022} - -\begin{document} - -\maketitleframe - -\section{Einführung in C++} -\setcounter{subsection}{2} -\subsection{Elementare Neuerungen in C++ gegenüber C} - -\begin{frame}[fragile] - \showsubsection - \begin{itemize} -% \pause - \item - Kommentare mit \lstinline{//} -% \pause - \item - Konstante: -% \begin{onlyenv}<3> -% \begin{lstlisting}[gobble=10] -% const int answer = 42; -% \end{lstlisting} -% \end{onlyenv} - \begin{lstlisting}[gobble=8] - const int n = 5; - int prime[n] = { 2, 3, 5, 7, 11 }; - \end{lstlisting} -% \pause - \item - Ab C++11: \lstinline{constexpr}-Funktionen\\ -% \only<1->{{\color{red}\dots\ anscheinend auch ohne "`constexpr"' \dots}\\} - C++11: darf nur aus einem einzigen \lstinline{return}-Statement bestehen\\ - \textarrow\ \lstinline{?:} statt \lstinline{if}, Rekursion statt Schleife\\ - C++-14: auch Verzweigungen und Schleifen erlaubt -% \pause - \item - leere Parameterliste: \lstinline{void} optional\\ - in C: ohne \lstinline{void} = Parameterliste wird nicht geprüft -% \pause - \item - Operatoren \lstinline{new} und \lstinline{delete}\\ - als Alternative zu den Funktionen \lstinline{malloc()} und \lstinline{free()} - \end{itemize} -\end{frame} - -\subsection{Referenz-Typen} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - void calc_answer (int &answer) - { - answer = 42; - } - \end{lstlisting} - \medskip - \dots\ als Alternative zu \dots - \medskip - \begin{lstlisting} - void calc_answer (int *answer) - { - *answer = 42; - } - \end{lstlisting} - \begin{itemize} - \item - Zeiger "`verborgen"', übersichtlicher und sicherer - \item - Es gibt keinen \lstinline{NULL}-Wert.\\ - \textarrow\ Für verkettete Listen u.\,ä.: Tricks erforderlich - \end{itemize} -\end{frame} - -\subsection{Überladbare Operatoren und Funktionen} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - #include <iostream> - - int main () - { - std::cout << "Hello, world!" << std::endl; - return 0; - } - \end{lstlisting} - -% \pause - \bigskip - - Bemerkungen: - \begin{itemize} - \item - Compilieren mit \lstinline[style=cmd]{g++} - statt \lstinline[style=cmd]{gcc}:\\ - C++-Bibliotheken mit einbinden - \item - Der Operator \lstinline{<<} hat normalerweise keinen Seiteneffekt, - hier schon. - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - #include <iostream> - - struct vector - { - double x, y, z; - }; - - vector operator + (vector u, vector v) - { - vector w = { u.x + v.x, u.y + v.y, u.z + v.z }; - return w; - } - \end{lstlisting} - - \begin{itemize} - \item - \lstinline{++} wird zum Präfix-Operator. - \item - \lstinline{++} mit zusätzlichem (ungenutzten) \lstinline{int}-Parameter\\ - wird zum Postfix-Operator. - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - void print (const char *s) - { - printf ("%s", s); - } - - void print (int i) - { - printf ("%d", i); - } - \end{lstlisting} -% \pause - \bigskip - Optionale Parameter: - \medskip - \begin{lstlisting} - void print (const char *s = "\n") - { - printf ("%s", s); - } - \end{lstlisting} -% \pause - \begin{picture}(0,0) - \color{red} - \put(5.50,5.40){\makebox(0,0)[br]{\tikz{\draw[-latex](0.0,0.0)--(-2.0,0.6);}}} - \put(5.50,4.85){\makebox(0,0)[tr]{\tikz{\draw[-latex](0.0,0.0)--(-2.0,-0.2);}}} - \put(5.6,5.0){\begin{minipage}{5cm} - Für den Linker:\\ - veränderte, eindeutige Namen - \end{minipage}} - \put(5.50,1.55){\makebox(0,0)[tr]{\tikz{\draw[-latex](0.0,0.0)--(-0.6,0.4);}}} - \put(5.6,1.0){\begin{minipage}{5cm} - wird vom Compiler erledigt - \end{minipage}} -% \pause - \put(7.0,3.6){\makebox(0,0)[b]{\tikz{\draw[-latex](0.0,0.0)--(0.0,0.9);}}} - \put(5.6,3.0){\begin{minipage}{5cm} - Wenn man das nicht will:\\ - extern \char`"C\char`"\ \{ \dots \} - \end{minipage}} - \end{picture} -\end{frame} - -\subsection{Namensräume} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - #include <iostream> - - using namespace std; - - int main () - { - cout << "Hello, world!" << endl; - return 0; - } - \end{lstlisting} - -% \pause - \bigskip - - \begin{lstlisting} - namespace my_output - { - ... - } - - using namespace my_output; - \end{lstlisting} -\end{frame} - -\subsection{Objekte} - -\begin{frame}[fragile] - \showsubsection - \begin{center} - \begin{minipage}{5cm} - \begin{lstlisting}[gobble=8] - ¡struct TBase - { - };¿ - \end{lstlisting} - \end{minipage}\\[0.5cm] - \begin{minipage}{6cm} - \begin{lstlisting}[gobble=8] - ¡struct TInteger: public TBase - { - int content; - };¿ - \end{lstlisting} - \end{minipage} - \begin{minipage}{5cm} - \begin{lstlisting}[gobble=8] - ¡struct TString: public TBase - { - char *content; - };¿ - \end{lstlisting} - \end{minipage} - \end{center} -\end{frame} - -\addtocounter{subsection}{-1} -\subsection{Objekte: Zugriffsrechte} - -\begin{frame}[fragile] - \showsubsection - \begin{itemize} - \item - \lstinline{public}, \lstinline{private}, \lstinline{protected}\\[\smallskipamount] - nicht nur Bürokratie, sondern auch Kapselung\\ - (Maßnahme gegen "`Namensraumverschmutzung"') - \medskip - \item - \lstinline{struct}: standardmäßig \lstinline{public}\\[\smallskipamount] - \lstinline{class}: standardmäßig \lstinline{private} - \medskip - \item - \lstinline{friend}-Funktionen und -Klassen - \medskip - \item - Klasse als Namensraum:\\ - \lstinline{static}-"`Member"'-Variable\\ - \lstinline{static}-"`Methoden"'\\ - Deklarationen von z.\,B.\ Konstanten und Typen - \end{itemize} -\end{frame} - -\addtocounter{subsection}{-1} -\subsection{Objekte: Konstruktoren und Destruktoren} - -\begin{frame}[fragile] - \showsubsection - \begin{itemize} - \item - leerer Standard-Konstrutor - \item - \newterm{Copy-Konstruktor} - \item - Konstruktor-Aufruf als "`Initialisierung"' - \item - Konstruktor-Aufruf mit \lstinline{new}\\ - Destruktor-Aufruf mit \lstinline{delete} - \item - automatischer Destruktor-Aufruf\\ - beim Verlassen des Gültigkeitsbereichs - \end{itemize} -\end{frame} - -\subsection{Strings} - -\begin{frame}[fragile] - \showsubsection - \begin{itemize} - \item - \lstinline{#include <string>} - \item - String-Klasse - \item - String-Konstante sind \lstinline{const char *} - \item - C-kompatiblen String extrahieren: \lstinline{c_str ()} - \item - In String schreiben: \lstinline{#include <sstream>}, \lstinline{ostringstream} - \end{itemize} -\end{frame} - -\end{document} diff --git a/20220407/constructors-1.cpp b/20220407/constructors-1.cpp deleted file mode 100644 index 52ad3ece1914db9e1e7285dd9134cbe923e754b6..0000000000000000000000000000000000000000 --- a/20220407/constructors-1.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <stdio.h> - -class TA -{ -public: - int content; -}; - -int main () -{ - TA A; - printf ("%d\n", A.content); - return 0; -} diff --git a/20220407/constructors-10.cpp b/20220407/constructors-10.cpp deleted file mode 100644 index a8d9ede230f319a1ce7f419905a947071c0c4fff..0000000000000000000000000000000000000000 --- a/20220407/constructors-10.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <stdio.h> -#include <string.h> - -class TA -{ -public: - const char *content; - static char hello[100]; - TA () - { - printf ("TA::TA()\n"); - content = hello; - } -}; - -char TA::hello[100] = "Hello, world!"; - -TA A; - -int main () -{ - TA B = A; - printf ("%s\n", A.content); - strncpy (hello, 100, "Hallo, Welt!"); - printf ("%s\n", B.content); - return 0; -} diff --git a/20220407/constructors-11.cpp b/20220407/constructors-11.cpp deleted file mode 100644 index 86d2a29def1c25ddbd5e0c4b92b1db0dc9a8d5e8..0000000000000000000000000000000000000000 --- a/20220407/constructors-11.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <stdio.h> -#include <string.h> - -class TA -{ -public: - const char *content; - static char hello[100]; - TA () - { - printf ("TA::TA()\n"); - content = hello; - } -}; - -char TA::hello[100] = "Hello, world!"; - -TA A; - -int main () -{ - TA B = A; - printf ("%s\n", A.content); - strncpy (TA::hello, "Hallo, Welt!", 100); - printf ("%s\n", B.content); - return 0; -} diff --git a/20220407/constructors-12.cpp b/20220407/constructors-12.cpp deleted file mode 100644 index 608e2998cc5da70f9b5de8487fb435b7ddc2c2f9..0000000000000000000000000000000000000000 --- a/20220407/constructors-12.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include <stdio.h> -#include <string.h> - -class TA -{ -public: - const char *content; - static char hello[100]; - TA () - { - printf ("TA::TA()\n"); - content = hello; - } -}; - -char TA::hello[100] = "Hello, world!"; - -TA A; - -int main () -{ - TA B = A; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - strncpy (TA::hello, "Hallo, Welt!", 100); - printf ("%s\n", A.content); - printf ("%s\n", B.content); - B.content = "Bonjour, le monde !"; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - return 0; -} diff --git a/20220407/constructors-13.cpp b/20220407/constructors-13.cpp deleted file mode 100644 index 2687cf82edd55e7469f15ae4839ebe9c65e49401..0000000000000000000000000000000000000000 --- a/20220407/constructors-13.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - const char *content; - static char hello[100]; - TA () - { - printf ("TA::TA()\n"); - content = hello; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = (char *) malloc (strlen (A.content) + 1); - strcpy (content, A.content); - } -}; - -char TA::hello[100] = "Hello, world!"; - -TA A; - -int main () -{ - TA B = A; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - strncpy (TA::hello, "Hallo, Welt!", 100); - printf ("%s\n", A.content); - printf ("%s\n", B.content); - B.content = "Bonjour, le monde !"; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - return 0; -} diff --git a/20220407/constructors-14.cpp b/20220407/constructors-14.cpp deleted file mode 100644 index 54df7bf793e3fe92c935d5f684d8e823d8cd856a..0000000000000000000000000000000000000000 --- a/20220407/constructors-14.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - char *content; - static char hello[100]; - TA () - { - printf ("TA::TA()\n"); - content = hello; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = (char *) malloc (strlen (A.content) + 1); - strcpy (content, A.content); - } -}; - -char TA::hello[100] = "Hello, world!"; - -TA A; - -int main () -{ - TA B = A; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - strncpy (TA::hello, "Hallo, Welt!", 100); - printf ("%s\n", A.content); - printf ("%s\n", B.content); - B.content = "Bonjour, le monde !"; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - return 0; -} diff --git a/20220407/constructors-15.cpp b/20220407/constructors-15.cpp deleted file mode 100644 index 93099e7df8cd0430e5352efc9edc877a06449e44..0000000000000000000000000000000000000000 --- a/20220407/constructors-15.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - const char *content; - static char hello[100]; - TA () - { - printf ("TA::TA()\n"); - content = hello; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = (const char *) malloc (strlen (A.content) + 1); - strcpy (content, A.content); - } -}; - -char TA::hello[100] = "Hello, world!"; - -TA A; - -int main () -{ - TA B = A; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - strncpy (TA::hello, "Hallo, Welt!", 100); - printf ("%s\n", A.content); - printf ("%s\n", B.content); - B.content = "Bonjour, le monde !"; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - return 0; -} diff --git a/20220407/constructors-16.cpp b/20220407/constructors-16.cpp deleted file mode 100644 index b2fdcc87e09e84661f041329707db118535cd508..0000000000000000000000000000000000000000 --- a/20220407/constructors-16.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - char *content; - static char hello[100]; - TA () - { - printf ("TA::TA()\n"); - content = hello; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = (char *) malloc (strlen (A.content) + 1); - strcpy (content, A.content); - } -}; - -char TA::hello[100] = "Hello, world!"; - -TA A; - -int main () -{ - TA B (A); - printf ("%s\n", A.content); - printf ("%s\n", B.content); - strncpy (TA::hello, "Hallo, Welt!", 100); - printf ("%s\n", A.content); - printf ("%s\n", B.content); - B.content = "Bonjour, le monde !"; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - return 0; -} diff --git a/20220407/constructors-17.cpp b/20220407/constructors-17.cpp deleted file mode 100644 index 5c5bff142b6bf2142ca8b2cbe4297ae847af1529..0000000000000000000000000000000000000000 --- a/20220407/constructors-17.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - char *content; - static char hello[100]; - TA () - { - printf ("TA::TA()\n"); - content = hello; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = (char *) malloc (strlen (A.content) + 1); - strcpy (content, A.content); - } - TA (char *s) - { - printf ("TA::TA(char *s)\n"); - content = s; - } -}; - -char TA::hello[100] = "Hello, world!"; - -TA A; - -int main () -{ - TA B = A; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - strncpy (TA::hello, "Hallo, Welt!", 100); - printf ("%s\n", A.content); - printf ("%s\n", B.content); - TA C = "Bonjour, le monde !"; - printf ("%s\n", C.content); - return 0; -} diff --git a/20220407/constructors-18.cpp b/20220407/constructors-18.cpp deleted file mode 100644 index 0dd8b88ee5cb3cb68bd5065431560863f9dda5b8..0000000000000000000000000000000000000000 --- a/20220407/constructors-18.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = A.content; - } - TA (int i) - { - printf ("TA::TA(int i)\n"); - content = i; - } -}; - -int main () -{ - TA A; - TA B = A; - TA C = 137; - printf ("%d\n", A.content); - printf ("%d\n", B.content); - printf ("%d\n", C.content); - return 0; -} diff --git a/20220407/constructors-19.cpp b/20220407/constructors-19.cpp deleted file mode 100644 index 587e4402bac225c630cf410d486d74c4a4f5232d..0000000000000000000000000000000000000000 --- a/20220407/constructors-19.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = A.content; - } - TA (int i) - { - printf ("TA::TA(int i)\n"); - content = i; - } -}; - -int main () -{ - TA A; - TA B = A; - TA C (137); - printf ("%d\n", A.content); - printf ("%d\n", B.content); - printf ("%d\n", C.content); - return 0; -} diff --git a/20220407/constructors-2.cpp b/20220407/constructors-2.cpp deleted file mode 100644 index c613863520e8caf68fa076ffe1d5510219a6ac59..0000000000000000000000000000000000000000 --- a/20220407/constructors-2.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdio.h> - -class TA -{ -public: - int content; -}; - -TA A; - -int main () -{ - printf ("%d\n", A.content); - return 0; -} diff --git a/20220407/constructors-20.cpp b/20220407/constructors-20.cpp deleted file mode 100644 index e786c72cbf24e52952e26adaa791f2d21ac5b77e..0000000000000000000000000000000000000000 --- a/20220407/constructors-20.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = A.content; - } - TA (int i) - { - printf ("TA::TA(int i)\n"); - content = i; - } -}; - -int main () -{ - TA A; - TA B; - B = A; - printf ("%d\n", A.content); - printf ("%d\n", B.content); - return 0; -} diff --git a/20220407/constructors-21.cpp b/20220407/constructors-21.cpp deleted file mode 100644 index 103b1c572f88a35e3f59dde50344e346ab791ca4..0000000000000000000000000000000000000000 --- a/20220407/constructors-21.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = A.content + 1; - } - TA (int i) - { - printf ("TA::TA(int i)\n"); - content = i; - } -}; - -int main () -{ - TA A; - TA B; - B = A; - TA C = A; - printf ("%d\n", A.content); - printf ("%d\n", B.content); - printf ("%d\n", C.content); - return 0; -} diff --git a/20220407/constructors-22.cpp b/20220407/constructors-22.cpp deleted file mode 100644 index 59bd06ff99c028e8eeaf8909b150f5f7fac6714c..0000000000000000000000000000000000000000 --- a/20220407/constructors-22.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = A.content + 1; - } - TA (int i) - { - printf ("TA::TA(int i)\n"); - content = i; - } - TA &operator = (const TA &A) - { - printf ("TA::operator =\n"); - content = A.content + 2; - return *this; - } -}; - -int main () -{ - TA A; - TA B; - B = A; - TA C = A; - printf ("%d\n", A.content); - printf ("%d\n", B.content); - printf ("%d\n", C.content); - return 0; -} diff --git a/20220407/constructors-23.cpp b/20220407/constructors-23.cpp deleted file mode 100644 index 9cae7f95a1491ff5609af1e0247c8d34be393537..0000000000000000000000000000000000000000 --- a/20220407/constructors-23.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = A.content + 1; - } - TA (int i) - { - printf ("TA::TA(int i)\n"); - content = i; - } - TA &operator = (const TA &A) - { - printf ("TA::operator =\n"); - content = A.content + 2; - return *this; - } - ~TA () - { - printf ("TA::~TA: content = %d\n", content); - } -}; - -int main () -{ - TA A; - TA B; - B = A; - TA C = A; - printf ("%d\n", A.content); - printf ("%d\n", B.content); - printf ("%d\n", C.content); - return 0; -} diff --git a/20220407/constructors-24.cpp b/20220407/constructors-24.cpp deleted file mode 100644 index bad4103fc1e794abcb7699e3d56fa033ea1e357c..0000000000000000000000000000000000000000 --- a/20220407/constructors-24.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = A.content + 1; - } - TA (int i) - { - printf ("TA::TA(int i)\n"); - content = i; - } - TA &operator = (const TA &A) - { - printf ("TA::operator =\n"); - content = A.content + 2; - return *this; - } - ~TA () - { - printf ("TA::~TA: content = %d\n", content); - } -}; - -int main () -{ - TA *A = new TA (42); - printf ("%d\n", A->content); - return 0; -} diff --git a/20220407/constructors-25.cpp b/20220407/constructors-25.cpp deleted file mode 100644 index e9e0b202c1cab99686312d25ceeb458d0c0fc9de..0000000000000000000000000000000000000000 --- a/20220407/constructors-25.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = A.content + 1; - } - TA (int i) - { - printf ("TA::TA(int i)\n"); - content = i; - } - TA &operator = (const TA &A) - { - printf ("TA::operator =\n"); - content = A.content + 2; - return *this; - } - ~TA () - { - printf ("TA::~TA: content = %d\n", content); - } -}; - -int main () -{ - TA *A = new TA (42); - printf ("%d\n", A->content); - delete A; - return 0; -} diff --git a/20220407/constructors-3.cpp b/20220407/constructors-3.cpp deleted file mode 100644 index 23c2df5cd23c81d572d62952d78434992d6ab527..0000000000000000000000000000000000000000 --- a/20220407/constructors-3.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <stdio.h> - -class TA -{ -public: - int content; - TA () - { - content = 42; - } -}; - -TA A; - -int main () -{ - printf ("%d\n", A.content); - return 0; -} diff --git a/20220407/constructors-4.cpp b/20220407/constructors-4.cpp deleted file mode 100644 index 48d2628287fac0fb2a02cd3c4f442b3db9b24072..0000000000000000000000000000000000000000 --- a/20220407/constructors-4.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } -}; - -TA A; - -int main () -{ - printf ("%d\n", A.content); - return 0; -} diff --git a/20220407/constructors-5.cpp b/20220407/constructors-5.cpp deleted file mode 100644 index 647a6ce274724430624a2fb265e07f6c4d780b3d..0000000000000000000000000000000000000000 --- a/20220407/constructors-5.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <stdio.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } -}; - -TA A; - -int main () -{ - TA B; - printf ("%d\n", A.content); - printf ("%d\n", B.content); - return 0; -} diff --git a/20220407/constructors-6.cpp b/20220407/constructors-6.cpp deleted file mode 100644 index eeae6ba0283c7ae0b6cf7d7eca14c0ec9f389d4b..0000000000000000000000000000000000000000 --- a/20220407/constructors-6.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <stdio.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } -}; - -TA A; - -int main () -{ - TA B = A; - printf ("%d\n", A.content); - printf ("%d\n", B.content); - return 0; -} diff --git a/20220407/constructors-7.cpp b/20220407/constructors-7.cpp deleted file mode 100644 index 657d572c4c9720cbef02396b49c617de261f4988..0000000000000000000000000000000000000000 --- a/20220407/constructors-7.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <stdio.h> - -class TA -{ -public: - int content; - TA () - { - printf ("TA::TA()\n"); - content = 42; - } - TA (TA &A) - { - printf ("TA::TA(TA &A)\n"); - content = A.content + 1; - } -}; - -TA A; - -int main () -{ - TA B = A; - printf ("%d\n", A.content); - printf ("%d\n", B.content); - return 0; -} diff --git a/20220407/constructors-8.cpp b/20220407/constructors-8.cpp deleted file mode 100644 index 5f915ae52bab0ed842afa984d18b7db6527c004b..0000000000000000000000000000000000000000 --- a/20220407/constructors-8.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <stdio.h> - -class TA -{ -public: - const char *content; - TA () - { - printf ("TA::TA()\n"); - content = "Hello, world!"; - } -}; - -TA A; - -int main () -{ - TA B = A; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - return 0; -} diff --git a/20220407/constructors-9.cpp b/20220407/constructors-9.cpp deleted file mode 100644 index f76f9cd71e10bff26a4834bca2757e6450ab222e..0000000000000000000000000000000000000000 --- a/20220407/constructors-9.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include <stdio.h> - -class TA -{ -public: - const char *content; - static char hello[100]; - TA () - { - printf ("TA::TA()\n"); - content = hello; - } -}; - -char TA::hello[100] = "Hello, world!"; - -TA A; - -int main () -{ - TA B = A; - printf ("%s\n", A.content); - printf ("%s\n", B.content); - return 0; -} diff --git a/20220407/init-1.cpp b/20220407/init-1.cpp deleted file mode 100644 index 55280c9e7d64b7029def90d8b90b094c3a9aeb2d..0000000000000000000000000000000000000000 --- a/20220407/init-1.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <stdio.h> - -class X -{ -public: - int a; - X (int aa): - a (aa) - { - } -}; - -int main () -{ - X A (42); - printf ("%d\n", A.a); - return 0; -} diff --git a/20220407/init-10.cpp b/20220407/init-10.cpp deleted file mode 100644 index e72b8aa6848f5ea2ece8e96798be963995bc6896..0000000000000000000000000000000000000000 --- a/20220407/init-10.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include <stdio.h> - -class X -{ -public: - int a; - X () - { - a = 13; - } - X (int aa) - { - a = aa; - } -}; - -class Y -{ -private: - int calc_a (int a) - { - return 2 * a; - } -public: - int b; - X A; - Y (int aa, int bb): - A (calc_a (aa)) - { - b = bb; - } -}; - -int main () -{ - Y B (42, 137); - printf ("%d %d\n", B.A.a, B.b); - return 0; -} diff --git a/20220407/init-2.cpp b/20220407/init-2.cpp deleted file mode 100644 index 33582b94c1c83c44e1cf13acd3332662fe457ade..0000000000000000000000000000000000000000 --- a/20220407/init-2.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include <stdio.h> - -class X -{ -public: - int a; - X (int aa): - a (aa) - { - } -}; - -class Y: public X -{ -public: - int b; - Y (int aa, int bb): - X (aa), - b (bb) - { - } -}; - -int main () -{ - Y B (42, 137); - printf ("%d %d\n", B.a, B.b); - return 0; -} diff --git a/20220407/init-3.cpp b/20220407/init-3.cpp deleted file mode 100644 index 7020e3bcff6ac2f9d258870626a824531e1815ec..0000000000000000000000000000000000000000 --- a/20220407/init-3.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include <stdio.h> - -class X -{ -public: - int a; - X (int aa) - { - a = aa; - } -}; - -class Y: public X -{ -public: - int b; - Y (int aa, int bb): - X (aa) - { - b = bb; - } -}; - -int main () -{ - Y B (42, 137); - printf ("%d %d\n", B.a, B.b); - return 0; -} diff --git a/20220407/init-4.cpp b/20220407/init-4.cpp deleted file mode 100644 index b1e1f86264e6c84efb7e2e7ba8eb712afd53022c..0000000000000000000000000000000000000000 --- a/20220407/init-4.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include <stdio.h> - -class X -{ -public: - int a; - X (int aa) - { - a = aa; - } -}; - -class Y -{ -public: - int b; - X A; - Y (int aa, int bb): - A (aa) - { - b = bb; - } -}; - -int main () -{ - Y B (42, 137); - printf ("%d %d\n", B.A.a, B.b); - return 0; -} diff --git a/20220407/init-5.cpp b/20220407/init-5.cpp deleted file mode 100644 index fb253df04f8755ce14941dec5795330e5c5ed06e..0000000000000000000000000000000000000000 --- a/20220407/init-5.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include <stdio.h> - -class X -{ -public: - int a; - X (int aa) - { - a = aa; - } -}; - -class Y -{ -public: - int b; - X A; - Y (int aa, int bb) - { - A (aa); - b = bb; - } -}; - -int main () -{ - Y B (42, 137); - printf ("%d %d\n", B.A.a, B.b); - return 0; -} diff --git a/20220407/init-6.cpp b/20220407/init-6.cpp deleted file mode 100644 index 548a849310b99a153a96912c20220e88c49fd776..0000000000000000000000000000000000000000 --- a/20220407/init-6.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include <stdio.h> - -class X -{ -public: - int a; - X (int aa) - { - a = aa; - } -}; - -class Y -{ -public: - int b; - X A; - Y (int aa, int bb) - { - A = *(new X (aa)); - b = bb; - } -}; - -int main () -{ - Y B (42, 137); - printf ("%d %d\n", B.A.a, B.b); - return 0; -} diff --git a/20220407/init-7.cpp b/20220407/init-7.cpp deleted file mode 100644 index 5a9b2681102853b9b3fc8387830184210290d0f2..0000000000000000000000000000000000000000 --- a/20220407/init-7.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include <stdio.h> - -class X -{ -public: - int a; - X () - { - a = 13; - } - X (int aa) - { - a = aa; - } -}; - -class Y -{ -public: - int b; - X A; - Y (int aa, int bb) - { - A = *(new X (aa)); - b = bb; - } -}; - -int main () -{ - Y B (42, 137); - printf ("%d %d\n", B.A.a, B.b); - return 0; -} diff --git a/20220407/init-8.cpp b/20220407/init-8.cpp deleted file mode 100644 index e5d968e3ee9987e9ec73e9845a781e5aeeabb575..0000000000000000000000000000000000000000 --- a/20220407/init-8.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include <stdio.h> - -class X -{ -public: - int a; - X () - { - a = 13; - } - X (int aa) - { - a = aa; - } -}; - -class Y -{ -public: - int b; - X A; - Y (int aa, int bb) - { - b = bb; - } -}; - -int main () -{ - Y B (42, 137); - printf ("%d %d\n", B.A.a, B.b); - return 0; -} diff --git a/20220407/init-9.cpp b/20220407/init-9.cpp deleted file mode 100644 index 8d269ea8573ebbeba873f2b86b56ac9ca0e99f98..0000000000000000000000000000000000000000 --- a/20220407/init-9.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include <stdio.h> - -class X -{ -public: - int a; - X () - { - a = 13; - } - X (int aa) - { - a = aa; - } -}; - -class Y -{ -public: - int b; - X A; - Y (int aa, int bb): - A (aa) - { - b = bb; - } -}; - -int main () -{ - Y B (42, 137); - printf ("%d %d\n", B.A.a, B.b); - return 0; -} diff --git a/20220407/logo-hochschule-bochum-cvh-text.pdf b/20220407/logo-hochschule-bochum-cvh-text.pdf deleted file mode 120000 index a05946126bc0ce6a2818740da2893f59eb0c659c..0000000000000000000000000000000000000000 --- a/20220407/logo-hochschule-bochum-cvh-text.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum-cvh-text.pdf \ No newline at end of file diff --git a/20220407/logo-hochschule-bochum.pdf b/20220407/logo-hochschule-bochum.pdf deleted file mode 120000 index b6b9491e370e499c9276918182cdb82cb311bcd1..0000000000000000000000000000000000000000 --- a/20220407/logo-hochschule-bochum.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20220407/objects-18.cpp b/20220407/objects-18.cpp deleted file mode 100644 index 858c4e6cec5bdb2afbeb83918388602c43ca0dee..0000000000000000000000000000000000000000 --- a/20220407/objects-18.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include <stdio.h> - -struct TBase -{ - virtual void print () = 0; - virtual ~TBase (); -}; - -TBase::~TBase () -{ -} - -struct TInteger: TBase -{ - int content; - virtual void print (); - TInteger (int i); -}; - -struct TString: TBase -{ - char *content; - virtual void print (); - TString (char *s); -}; - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (char *s) -{ - content = s; -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-19.cpp b/20220407/objects-19.cpp deleted file mode 100644 index 3e40b2f426dd552e1ef8cd9b4e06db338d14d52f..0000000000000000000000000000000000000000 --- a/20220407/objects-19.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -struct TBase -{ - virtual void print () = 0; - virtual ~TBase (); -}; - -TBase::~TBase () -{ -} - -struct TInteger: TBase -{ - int content; - virtual void print (); - TInteger (int i); -}; - -struct TString: TBase -{ - char *content; - virtual void print (); - TString (const char *s); -}; - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (const char *s) -{ - content = malloc (strlen (s) + 1); - strcpy (content, s); -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-20.cpp b/20220407/objects-20.cpp deleted file mode 100644 index c756407b1405ec1bfc138423be3fd0ae5cf95f8b..0000000000000000000000000000000000000000 --- a/20220407/objects-20.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -struct TBase -{ - virtual void print () = 0; - virtual ~TBase (); -}; - -TBase::~TBase () -{ -} - -struct TInteger: TBase -{ - int content; - virtual void print (); - TInteger (int i); -}; - -struct TString: TBase -{ - char *content; - virtual void print (); - TString (const char *s); -}; - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (const char *s) -{ - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-21.cpp b/20220407/objects-21.cpp deleted file mode 100644 index 597001761219a56b48c299aace2c9d871a07244e..0000000000000000000000000000000000000000 --- a/20220407/objects-21.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -struct TBase -{ - void print (); - virtual ~TBase (); -}; - -TBase::~TBase () -{ -} - -struct TInteger: TBase -{ - int content; - void print (); - TInteger (int i); -}; - -struct TString: TBase -{ - char *content; - void print (); - TString (const char *s); -}; - -void TBase::print () -{ - printf ("Base\n"); -} - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (const char *s) -{ - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-22.cpp b/20220407/objects-22.cpp deleted file mode 100644 index 0ec5231663e77b70de5dce8f550f56876c4c918b..0000000000000000000000000000000000000000 --- a/20220407/objects-22.cpp +++ /dev/null @@ -1,74 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -struct TBase -{ - virtual void print (); - virtual ~TBase (); -}; - -TBase::~TBase () -{ -} - -struct TInteger: TBase -{ - int content; - virtual void print (); - TInteger (int i); -}; - -struct TString: TBase -{ - char *content; - virtual void print (); - TString (const char *s); -}; - -void TBase::print () -{ - printf ("Base\n"); -} - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (const char *s) -{ - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - { - object[i]->print (); - if (typeid (*object[i]) == typeid (TInteger)) - printf ("Direct Integer: %d\n", ((TInteger *) object[i])->content); - } - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-23.cpp b/20220407/objects-23.cpp deleted file mode 100644 index 45e17f88792f508af1815d326a42116194827d64..0000000000000000000000000000000000000000 --- a/20220407/objects-23.cpp +++ /dev/null @@ -1,78 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -struct TBase -{ - virtual void print (); - virtual ~TBase (); -}; - -TBase::~TBase () -{ -} - -struct TInteger: TBase -{ -private: - int content; -public: - virtual void print (); - TInteger (int i); -}; - -struct TString: TBase -{ -private: - char *content; -public: - virtual void print (); - TString (const char *s); -}; - -void TBase::print () -{ - printf ("Base\n"); -} - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (const char *s) -{ - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - { - object[i]->print (); - if (typeid (*object[i]) == typeid (TInteger)) - printf ("Direct Integer: %d\n", ((TInteger *) object[i])->content); - } - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-24.cpp b/20220407/objects-24.cpp deleted file mode 100644 index 572009047429446c7dc0b8ac5d476de3f56de5fe..0000000000000000000000000000000000000000 --- a/20220407/objects-24.cpp +++ /dev/null @@ -1,83 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -struct TBase -{ - virtual void print (); - virtual ~TBase (); -}; - -TBase::~TBase () -{ -} - -struct TInteger: TBase -{ -private: - int content; -public: - virtual void print (); - TInteger (int i); -}; - -struct TString: TBase -{ -private: - char *content; -public: - virtual void print (); - TString (const char *s); -}; - -void TBase::print () -{ - printf ("Base\n"); -} - -void TInteger::print () -{ - printf ("Integer: %d\n", content); -} - -void TString::print () -{ - printf ("String: \"%s\"\n", content); -} - -TInteger::TInteger (int i) -{ - content = i; -} - -TString::TString (const char *s) -{ - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); -} - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - { - object[i]->print (); - if (typeid (*object[i]) == typeid (TInteger)) - { - using namespace TInteger - { - printf ("Direct Integer: %d\n", ((TInteger *) object[i])->content); - } - } - } - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-25.cpp b/20220407/objects-25.cpp deleted file mode 100644 index 29a0950e9d49f85815a494d3eb67cbb795cc0ce5..0000000000000000000000000000000000000000 --- a/20220407/objects-25.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -struct TBase -{ - virtual void print (); - virtual ~TBase () - { - } -}; - -struct TInteger: TBase -{ -private: - int content; -public: - virtual void print () - { - printf ("Integer: %d\n", content); - } - TInteger (int i) - { - content = i; - } -}; - -struct TString: TBase -{ -private: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-26.cpp b/20220407/objects-26.cpp deleted file mode 100644 index 8cc85de220808ad89062fa11fa498743ca7971ff..0000000000000000000000000000000000000000 --- a/20220407/objects-26.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -struct TBase -{ - virtual void print () = 0; - virtual ~TBase () - { - } -}; - -struct TInteger: TBase -{ -private: - int content; -public: - virtual void print () - { - printf ("Integer: %d\n", content); - } - TInteger (int i) - { - content = i; - } -}; - -struct TString: TBase -{ -private: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-27.cpp b/20220407/objects-27.cpp deleted file mode 100644 index 45d29fb4fb1bf438073436b4d40854f4facec8a8..0000000000000000000000000000000000000000 --- a/20220407/objects-27.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ - virtual void print () = 0; - virtual ~TBase () - { - } -}; - -class TInteger: TBase -{ -private: - int content; -public: - virtual void print () - { - printf ("Integer: %d\n", content); - } - TInteger (int i) - { - content = i; - } -}; - -class TString: TBase -{ -private: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-28.cpp b/20220407/objects-28.cpp deleted file mode 100644 index 8c2296566c684119b7f6778a9c4095eacb34acba..0000000000000000000000000000000000000000 --- a/20220407/objects-28.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ -public: - virtual void print () = 0; - virtual ~TBase () - { - } -}; - -class TInteger: TBase -{ -private: - int content; -public: - virtual void print () - { - printf ("Integer: %d\n", content); - } - TInteger (int i) - { - content = i; - } -}; - -class TString: TBase -{ -private: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-29.cpp b/20220407/objects-29.cpp deleted file mode 100644 index 1052496797ac4588bf181f8d08e30b5ab894cecb..0000000000000000000000000000000000000000 --- a/20220407/objects-29.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ -public: - virtual void print () = 0; - virtual ~TBase () - { - } -}; - -class TInteger: public TBase -{ -private: - int content; -public: - virtual void print () - { - printf ("Integer: %d\n", content); - } - TInteger (int i) - { - content = i; - } -}; - -class TString: public TBase -{ -private: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-30.cpp b/20220407/objects-30.cpp deleted file mode 100644 index 1391860b7cb9a175432ed8d3870c7be787239a56..0000000000000000000000000000000000000000 --- a/20220407/objects-30.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ -private: - char content; -public: - virtual void print () = 0; - virtual ~TBase () - { - } -}; - -class TInteger: public TBase -{ -private: - int content; -public: - virtual void print () - { - printf ("Integer: %d\n", content); - } - TInteger (int i) - { - content = i; - } -}; - -class TString: public TBase -{ -private: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-31.cpp b/20220407/objects-31.cpp deleted file mode 100644 index a74beca263f7f3e5c3ceedb8cbfdbafc0a2a9528..0000000000000000000000000000000000000000 --- a/20220407/objects-31.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ -protected: - char content; -public: - virtual void print () = 0; - virtual ~TBase () - { - } -}; - -class TInteger: public TBase -{ -private: - int content; -public: - virtual void print () - { - printf ("Integer: %d\n", content); - } - TInteger (int i) - { - content = i; - } -}; - -class TString: public TBase -{ -private: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-32.cpp b/20220407/objects-32.cpp deleted file mode 100644 index 7c3feefd9e62613f8fa2887cb9f89c2bb5ed8c65..0000000000000000000000000000000000000000 --- a/20220407/objects-32.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ -protected: - char content; -public: - virtual void print () = 0; - virtual ~TBase () - { - } -}; - -class TInteger: public TBase -{ -protected: - int content; -public: - virtual void print () - { - printf ("Integer: %d\n", content); - } - TInteger (int i) - { - content = i; - } -}; - -class TString: public TBase -{ -protected: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-33.cpp b/20220407/objects-33.cpp deleted file mode 100644 index d517d9f06eabf3a973c2134fd83c85cc43505851..0000000000000000000000000000000000000000 --- a/20220407/objects-33.cpp +++ /dev/null @@ -1,70 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ -protected: - char content; -public: - virtual void print () - { - printf ("Base (%d)\n", content); - } - TBase () - { - content = 137; - } - virtual ~TBase () - { - } -}; - -class TInteger: public TBase -{ -protected: - int content; -public: - virtual void print () - { - printf ("Integer: %d\n", content); - } - TInteger (int i) - { - content = i; - } -}; - -class TString: public TBase -{ -protected: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TBase (), - new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-34.cpp b/20220407/objects-34.cpp deleted file mode 100644 index 13be42b27b98df37ad2dc4215d12e81624a9e7a9..0000000000000000000000000000000000000000 --- a/20220407/objects-34.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ -protected: - char content; -public: - virtual void print () - { - printf ("Base (%d)\n", content); - } - TBase () - { - content = 137; - } - virtual ~TBase () - { - } -}; - -class TInteger: public TBase -{ -protected: - int content; -public: - virtual void print () - { - printf ("Integer: %d (%d)\n", content, TBase::content); - } - TInteger (int i) - { - content = i; - TBase::content = 13; - } -}; - -class TString: public TBase -{ -protected: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TBase (), - new TInteger (42), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-35.cpp b/20220407/objects-35.cpp deleted file mode 100644 index b7a177bc2f1fccf770805b34ba7cbf32487c593f..0000000000000000000000000000000000000000 --- a/20220407/objects-35.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ -protected: - char content; -public: - virtual void print () - { - printf ("Base (%d)\n", content); - } - TBase () - { - content = 137; - } - virtual ~TBase () - { - } -}; - -class TInteger: public TBase -{ -protected: - int content; -public: - virtual void print () - { - printf ("Integer: %d (%d)\n", content, TBase::content); - } - TInteger (int i) - { - content = i; - TBase::content = 13; - } -}; - -class TString: public TBase -{ -protected: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TBase (), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-36.cpp b/20220407/objects-36.cpp deleted file mode 100644 index 09b923b13f56c98017e1166ec506dc2a30de7938..0000000000000000000000000000000000000000 --- a/20220407/objects-36.cpp +++ /dev/null @@ -1,70 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ -protected: - char content = 23; -public: - virtual void print () - { - printf ("Base (%d)\n", content); - } - TBase () - { - } - virtual ~TBase () - { - } -}; - -class TInteger: public TBase -{ -protected: - int content; -public: - virtual void print () - { - printf ("Integer: %d (%d)\n", content, TBase::content); - } - TInteger (int i) - { - content = i; - TBase::content = 13; - } -}; - -class TString: public TBase -{ -protected: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TBase (), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - for (int i = 0; object[i]; i++) - delete object[i]; - - return 0; -} diff --git a/20220407/objects-36.s b/20220407/objects-36.s deleted file mode 100644 index 5a2ac181ce62b34d276bcc61906657a55a135e5a..0000000000000000000000000000000000000000 --- a/20220407/objects-36.s +++ /dev/null @@ -1,317 +0,0 @@ - .file "objects-36.cpp" - .text - .section .text._ZN5TBaseD2Ev,"axG",@progbits,_ZN5TBaseD5Ev,comdat - .align 2 - .weak _ZN5TBaseD2Ev - .type _ZN5TBaseD2Ev, @function -_ZN5TBaseD2Ev: -.LFB68: - .cfi_startproc - ret - .cfi_endproc -.LFE68: - .size _ZN5TBaseD2Ev, .-_ZN5TBaseD2Ev - .weak _ZN5TBaseD1Ev - .set _ZN5TBaseD1Ev,_ZN5TBaseD2Ev - .section .text._ZN7TStringD2Ev,"axG",@progbits,_ZN7TStringD5Ev,comdat - .align 2 - .weak _ZN7TStringD2Ev - .type _ZN7TStringD2Ev, @function -_ZN7TStringD2Ev: -.LFB81: - .cfi_startproc - ret - .cfi_endproc -.LFE81: - .size _ZN7TStringD2Ev, .-_ZN7TStringD2Ev - .weak _ZN7TStringD1Ev - .set _ZN7TStringD1Ev,_ZN7TStringD2Ev - .section .text._ZN8TIntegerD2Ev,"axG",@progbits,_ZN8TIntegerD5Ev,comdat - .align 2 - .weak _ZN8TIntegerD2Ev - .type _ZN8TIntegerD2Ev, @function -_ZN8TIntegerD2Ev: -.LFB85: - .cfi_startproc - ret - .cfi_endproc -.LFE85: - .size _ZN8TIntegerD2Ev, .-_ZN8TIntegerD2Ev - .weak _ZN8TIntegerD1Ev - .set _ZN8TIntegerD1Ev,_ZN8TIntegerD2Ev - .section .text._ZN8TIntegerD0Ev,"axG",@progbits,_ZN8TIntegerD5Ev,comdat - .align 2 - .weak _ZN8TIntegerD0Ev - .type _ZN8TIntegerD0Ev, @function -_ZN8TIntegerD0Ev: -.LFB87: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - movl $16, %esi - call _ZdlPvm@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE87: - .size _ZN8TIntegerD0Ev, .-_ZN8TIntegerD0Ev - .section .text._ZN5TBaseD0Ev,"axG",@progbits,_ZN5TBaseD5Ev,comdat - .align 2 - .weak _ZN5TBaseD0Ev - .type _ZN5TBaseD0Ev, @function -_ZN5TBaseD0Ev: -.LFB70: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - movl $16, %esi - call _ZdlPvm@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE70: - .size _ZN5TBaseD0Ev, .-_ZN5TBaseD0Ev - .section .text._ZN7TStringD0Ev,"axG",@progbits,_ZN7TStringD5Ev,comdat - .align 2 - .weak _ZN7TStringD0Ev - .type _ZN7TStringD0Ev, @function -_ZN7TStringD0Ev: -.LFB83: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - movl $24, %esi - call _ZdlPvm@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE83: - .size _ZN7TStringD0Ev, .-_ZN7TStringD0Ev - .section .rodata._ZN5TBase5printEv.str1.1,"aMS",@progbits,1 -.LC0: - .string "Base (%d)\n" - .section .text._ZN5TBase5printEv,"axG",@progbits,_ZN5TBase5printEv,comdat - .align 2 - .weak _ZN5TBase5printEv - .type _ZN5TBase5printEv, @function -_ZN5TBase5printEv: -.LFB63: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - movsbl 8(%rdi), %esi - leaq .LC0(%rip), %rdi - movl $0, %eax - call printf@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE63: - .size _ZN5TBase5printEv, .-_ZN5TBase5printEv - .section .rodata._ZN8TInteger5printEv.str1.1,"aMS",@progbits,1 -.LC1: - .string "Integer: %d (%d)\n" - .section .text._ZN8TInteger5printEv,"axG",@progbits,_ZN8TInteger5printEv,comdat - .align 2 - .weak _ZN8TInteger5printEv - .type _ZN8TInteger5printEv, @function -_ZN8TInteger5printEv: -.LFB71: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - movsbl 8(%rdi), %edx - movl 12(%rdi), %esi - leaq .LC1(%rip), %rdi - movl $0, %eax - call printf@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE71: - .size _ZN8TInteger5printEv, .-_ZN8TInteger5printEv - .section .rodata._ZN7TString5printEv.str1.1,"aMS",@progbits,1 -.LC2: - .string "String: \"%s\"\n" - .section .text._ZN7TString5printEv,"axG",@progbits,_ZN7TString5printEv,comdat - .align 2 - .weak _ZN7TString5printEv - .type _ZN7TString5printEv, @function -_ZN7TString5printEv: -.LFB75: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - movq 16(%rdi), %rsi - leaq .LC2(%rip), %rdi - movl $0, %eax - call printf@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE75: - .size _ZN7TString5printEv, .-_ZN7TString5printEv - .text - .globl main - .type main, @function -main: -.LFB79: - .cfi_startproc - pushq %r12 - .cfi_def_cfa_offset 16 - .cfi_offset 12, -16 - pushq %rbp - .cfi_def_cfa_offset 24 - .cfi_offset 6, -24 - pushq %rbx - .cfi_def_cfa_offset 32 - .cfi_offset 3, -32 - subq $32, %rsp - .cfi_def_cfa_offset 64 - movq $0, 24(%rsp) - movl $16, %edi - call _Znwm@PLT - movq %rax, %rbx - leaq 16+_ZTV8TInteger(%rip), %rax - movq %rax, (%rbx) - movl $42, 12(%rbx) - movb $13, 8(%rbx) - movq %rbx, (%rsp) - movl $16, %edi - call _Znwm@PLT - leaq 16+_ZTV5TBase(%rip), %rdx - movq %rdx, (%rax) - movb $23, 8(%rax) - movq %rax, 8(%rsp) - movl $24, %edi - call _Znwm@PLT - movq %rax, %rbp - movb $23, 8(%rax) - leaq 16+_ZTV7TString(%rip), %rax - movq %rax, 0(%rbp) - movl $14, %edi - call malloc@PLT - movq %rax, 16(%rbp) - movabsq $8583909746840200520, %rcx - movq %rcx, (%rax) - movl $1684828783, 8(%rax) - movw $33, 12(%rax) - movq %rbp, 16(%rsp) - movq %rsp, %rbp - movq %rbp, %r12 - movq %rbx, %rdi -.L17: - movq (%rdi), %rax - call *(%rax) - addq $8, %r12 - movq (%r12), %rdi - testq %rdi, %rdi - jne .L17 -.L18: - movq (%rbx), %rax - movq %rbx, %rdi - call *16(%rax) - addq $8, %rbp - movq 0(%rbp), %rbx - testq %rbx, %rbx - jne .L18 - movl $0, %eax - addq $32, %rsp - .cfi_def_cfa_offset 32 - popq %rbx - .cfi_def_cfa_offset 24 - popq %rbp - .cfi_def_cfa_offset 16 - popq %r12 - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE79: - .size main, .-main - .weak _ZTS5TBase - .section .rodata._ZTS5TBase,"aG",@progbits,_ZTS5TBase,comdat - .type _ZTS5TBase, @object - .size _ZTS5TBase, 7 -_ZTS5TBase: - .string "5TBase" - .weak _ZTI5TBase - .section .data.rel.ro._ZTI5TBase,"awG",@progbits,_ZTI5TBase,comdat - .align 8 - .type _ZTI5TBase, @object - .size _ZTI5TBase, 16 -_ZTI5TBase: - .quad _ZTVN10__cxxabiv117__class_type_infoE+16 - .quad _ZTS5TBase - .weak _ZTS8TInteger - .section .rodata._ZTS8TInteger,"aG",@progbits,_ZTS8TInteger,comdat - .align 8 - .type _ZTS8TInteger, @object - .size _ZTS8TInteger, 10 -_ZTS8TInteger: - .string "8TInteger" - .weak _ZTI8TInteger - .section .data.rel.ro._ZTI8TInteger,"awG",@progbits,_ZTI8TInteger,comdat - .align 8 - .type _ZTI8TInteger, @object - .size _ZTI8TInteger, 24 -_ZTI8TInteger: - .quad _ZTVN10__cxxabiv120__si_class_type_infoE+16 - .quad _ZTS8TInteger - .quad _ZTI5TBase - .weak _ZTS7TString - .section .rodata._ZTS7TString,"aG",@progbits,_ZTS7TString,comdat - .align 8 - .type _ZTS7TString, @object - .size _ZTS7TString, 9 -_ZTS7TString: - .string "7TString" - .weak _ZTI7TString - .section .data.rel.ro._ZTI7TString,"awG",@progbits,_ZTI7TString,comdat - .align 8 - .type _ZTI7TString, @object - .size _ZTI7TString, 24 -_ZTI7TString: - .quad _ZTVN10__cxxabiv120__si_class_type_infoE+16 - .quad _ZTS7TString - .quad _ZTI5TBase - .weak _ZTV5TBase - .section .data.rel.ro.local._ZTV5TBase,"awG",@progbits,_ZTV5TBase,comdat - .align 8 - .type _ZTV5TBase, @object - .size _ZTV5TBase, 40 -_ZTV5TBase: - .quad 0 - .quad _ZTI5TBase - .quad _ZN5TBase5printEv - .quad _ZN5TBaseD1Ev - .quad _ZN5TBaseD0Ev - .weak _ZTV8TInteger - .section .data.rel.ro.local._ZTV8TInteger,"awG",@progbits,_ZTV8TInteger,comdat - .align 8 - .type _ZTV8TInteger, @object - .size _ZTV8TInteger, 40 -_ZTV8TInteger: - .quad 0 - .quad _ZTI8TInteger - .quad _ZN8TInteger5printEv - .quad _ZN8TIntegerD1Ev - .quad _ZN8TIntegerD0Ev - .weak _ZTV7TString - .section .data.rel.ro.local._ZTV7TString,"awG",@progbits,_ZTV7TString,comdat - .align 8 - .type _ZTV7TString, @object - .size _ZTV7TString, 40 -_ZTV7TString: - .quad 0 - .quad _ZTI7TString - .quad _ZN7TString5printEv - .quad _ZN7TStringD1Ev - .quad _ZN7TStringD0Ev - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220407/objects-37.cpp b/20220407/objects-37.cpp deleted file mode 100644 index b862b2d48ab3a72a1448157af6487367a3985dbd..0000000000000000000000000000000000000000 --- a/20220407/objects-37.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include <typeinfo> - -class TBase -{ -protected: - char content = 23; -public: - virtual void print () - { - printf ("Base (%d)\n", content); - } - TBase () - { - } -}; - -class TInteger: public TBase -{ -protected: - int content; -public: - virtual void print () - { - printf ("Integer: %d (%d)\n", content, TBase::content); - } - TInteger (int i) - { - content = i; - TBase::content = 13; - } -}; - -class TString: public TBase -{ -protected: - char *content; -public: - virtual void print () - { - printf ("String: \"%s\"\n", content); - } - TString (const char *s) - { - content = (char *) malloc (strlen (s) + 1); - strcpy (content, s); - } -}; - -int main (void) -{ - TBase *object[] = { new TInteger (42), - new TBase (), - new TString ("Hello, world!"), - NULL }; - - for (int i = 0; object[i]; i++) - object[i]->print (); - - return 0; -} diff --git a/20220407/objects-37.s b/20220407/objects-37.s deleted file mode 100644 index 46f90190d74a79806fba121623ece33869a2f4ff..0000000000000000000000000000000000000000 --- a/20220407/objects-37.s +++ /dev/null @@ -1,207 +0,0 @@ - .file "objects-37.cpp" - .text - .section .rodata._ZN8TInteger5printEv.str1.1,"aMS",@progbits,1 -.LC0: - .string "Integer: %d (%d)\n" - .section .text._ZN8TInteger5printEv,"axG",@progbits,_ZN8TInteger5printEv,comdat - .align 2 - .weak _ZN8TInteger5printEv - .type _ZN8TInteger5printEv, @function -_ZN8TInteger5printEv: -.LFB67: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - movsbl 8(%rdi), %edx - movl 12(%rdi), %esi - leaq .LC0(%rip), %rdi - movl $0, %eax - call printf@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE67: - .size _ZN8TInteger5printEv, .-_ZN8TInteger5printEv - .section .rodata._ZN5TBase5printEv.str1.1,"aMS",@progbits,1 -.LC1: - .string "Base (%d)\n" - .section .text._ZN5TBase5printEv,"axG",@progbits,_ZN5TBase5printEv,comdat - .align 2 - .weak _ZN5TBase5printEv - .type _ZN5TBase5printEv, @function -_ZN5TBase5printEv: -.LFB63: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - movsbl 8(%rdi), %esi - leaq .LC1(%rip), %rdi - movl $0, %eax - call printf@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE63: - .size _ZN5TBase5printEv, .-_ZN5TBase5printEv - .section .rodata._ZN7TString5printEv.str1.1,"aMS",@progbits,1 -.LC2: - .string "String: \"%s\"\n" - .section .text._ZN7TString5printEv,"axG",@progbits,_ZN7TString5printEv,comdat - .align 2 - .weak _ZN7TString5printEv - .type _ZN7TString5printEv, @function -_ZN7TString5printEv: -.LFB71: - .cfi_startproc - subq $8, %rsp - .cfi_def_cfa_offset 16 - movq 16(%rdi), %rsi - leaq .LC2(%rip), %rdi - movl $0, %eax - call printf@PLT - addq $8, %rsp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE71: - .size _ZN7TString5printEv, .-_ZN7TString5printEv - .text - .globl main - .type main, @function -main: -.LFB75: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - pushq %rbx - .cfi_def_cfa_offset 24 - .cfi_offset 3, -24 - subq $40, %rsp - .cfi_def_cfa_offset 64 - movq $0, 24(%rsp) - movl $16, %edi - call _Znwm@PLT - movq %rax, %rbx - leaq 16+_ZTV8TInteger(%rip), %rax - movq %rax, (%rbx) - movl $42, 12(%rbx) - movb $13, 8(%rbx) - movq %rbx, (%rsp) - movl $16, %edi - call _Znwm@PLT - leaq 16+_ZTV5TBase(%rip), %rdx - movq %rdx, (%rax) - movb $23, 8(%rax) - movq %rax, 8(%rsp) - movl $24, %edi - call _Znwm@PLT - movq %rax, %rbp - movb $23, 8(%rax) - leaq 16+_ZTV7TString(%rip), %rax - movq %rax, 0(%rbp) - movl $14, %edi - call malloc@PLT - movq %rax, 16(%rbp) - movabsq $8583909746840200520, %rcx - movq %rcx, (%rax) - movl $1684828783, 8(%rax) - movw $33, 12(%rax) - movq %rbp, 16(%rsp) - movq %rsp, %rbp -.L8: - movq (%rbx), %rax - movq %rbx, %rdi - call *(%rax) - addq $8, %rbp - movq 0(%rbp), %rbx - testq %rbx, %rbx - jne .L8 - movl $0, %eax - addq $40, %rsp - .cfi_def_cfa_offset 24 - popq %rbx - .cfi_def_cfa_offset 16 - popq %rbp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE75: - .size main, .-main - .weak _ZTS5TBase - .section .rodata._ZTS5TBase,"aG",@progbits,_ZTS5TBase,comdat - .type _ZTS5TBase, @object - .size _ZTS5TBase, 7 -_ZTS5TBase: - .string "5TBase" - .weak _ZTI5TBase - .section .data.rel.ro._ZTI5TBase,"awG",@progbits,_ZTI5TBase,comdat - .align 8 - .type _ZTI5TBase, @object - .size _ZTI5TBase, 16 -_ZTI5TBase: - .quad _ZTVN10__cxxabiv117__class_type_infoE+16 - .quad _ZTS5TBase - .weak _ZTS8TInteger - .section .rodata._ZTS8TInteger,"aG",@progbits,_ZTS8TInteger,comdat - .align 8 - .type _ZTS8TInteger, @object - .size _ZTS8TInteger, 10 -_ZTS8TInteger: - .string "8TInteger" - .weak _ZTI8TInteger - .section .data.rel.ro._ZTI8TInteger,"awG",@progbits,_ZTI8TInteger,comdat - .align 8 - .type _ZTI8TInteger, @object - .size _ZTI8TInteger, 24 -_ZTI8TInteger: - .quad _ZTVN10__cxxabiv120__si_class_type_infoE+16 - .quad _ZTS8TInteger - .quad _ZTI5TBase - .weak _ZTS7TString - .section .rodata._ZTS7TString,"aG",@progbits,_ZTS7TString,comdat - .align 8 - .type _ZTS7TString, @object - .size _ZTS7TString, 9 -_ZTS7TString: - .string "7TString" - .weak _ZTI7TString - .section .data.rel.ro._ZTI7TString,"awG",@progbits,_ZTI7TString,comdat - .align 8 - .type _ZTI7TString, @object - .size _ZTI7TString, 24 -_ZTI7TString: - .quad _ZTVN10__cxxabiv120__si_class_type_infoE+16 - .quad _ZTS7TString - .quad _ZTI5TBase - .weak _ZTV5TBase - .section .data.rel.ro.local._ZTV5TBase,"awG",@progbits,_ZTV5TBase,comdat - .align 8 - .type _ZTV5TBase, @object - .size _ZTV5TBase, 24 -_ZTV5TBase: - .quad 0 - .quad _ZTI5TBase - .quad _ZN5TBase5printEv - .weak _ZTV8TInteger - .section .data.rel.ro.local._ZTV8TInteger,"awG",@progbits,_ZTV8TInteger,comdat - .align 8 - .type _ZTV8TInteger, @object - .size _ZTV8TInteger, 24 -_ZTV8TInteger: - .quad 0 - .quad _ZTI8TInteger - .quad _ZN8TInteger5printEv - .weak _ZTV7TString - .section .data.rel.ro.local._ZTV7TString,"awG",@progbits,_ZTV7TString,comdat - .align 8 - .type _ZTV7TString, @object - .size _ZTV7TString, 24 -_ZTV7TString: - .quad 0 - .quad _ZTI7TString - .quad _ZN7TString5printEv - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220407/objects-37.s0 b/20220407/objects-37.s0 deleted file mode 100644 index 51b2bd66aa862ca245fbfe24dc93c6d20f72ee8c..0000000000000000000000000000000000000000 --- a/20220407/objects-37.s0 +++ /dev/null @@ -1,348 +0,0 @@ - .file "objects-37.cpp" - .text - .section .rodata -.LC0: - .string "Base (%d)\n" - .section .text._ZN5TBase5printEv,"axG",@progbits,_ZN5TBase5printEv,comdat - .align 2 - .weak _ZN5TBase5printEv - .type _ZN5TBase5printEv, @function -_ZN5TBase5printEv: -.LFB32: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - movq %rsp, %rbp - .cfi_def_cfa_register 6 - subq $16, %rsp - movq %rdi, -8(%rbp) - movq -8(%rbp), %rax - movzbl 8(%rax), %eax - movsbl %al, %eax - movl %eax, %esi - leaq .LC0(%rip), %rdi - movl $0, %eax - call printf@PLT - nop - leave - .cfi_def_cfa 7, 8 - ret - .cfi_endproc -.LFE32: - .size _ZN5TBase5printEv, .-_ZN5TBase5printEv - .section .text._ZN5TBaseC2Ev,"axG",@progbits,_ZN5TBaseC5Ev,comdat - .align 2 - .weak _ZN5TBaseC2Ev - .type _ZN5TBaseC2Ev, @function -_ZN5TBaseC2Ev: -.LFB34: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - movq %rsp, %rbp - .cfi_def_cfa_register 6 - movq %rdi, -8(%rbp) - leaq 16+_ZTV5TBase(%rip), %rdx - movq -8(%rbp), %rax - movq %rdx, (%rax) - movq -8(%rbp), %rax - movb $23, 8(%rax) - nop - popq %rbp - .cfi_def_cfa 7, 8 - ret - .cfi_endproc -.LFE34: - .size _ZN5TBaseC2Ev, .-_ZN5TBaseC2Ev - .weak _ZN5TBaseC1Ev - .set _ZN5TBaseC1Ev,_ZN5TBaseC2Ev - .section .rodata -.LC1: - .string "Integer: %d (%d)\n" - .section .text._ZN8TInteger5printEv,"axG",@progbits,_ZN8TInteger5printEv,comdat - .align 2 - .weak _ZN8TInteger5printEv - .type _ZN8TInteger5printEv, @function -_ZN8TInteger5printEv: -.LFB36: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - movq %rsp, %rbp - .cfi_def_cfa_register 6 - subq $16, %rsp - movq %rdi, -8(%rbp) - movq -8(%rbp), %rax - movzbl 8(%rax), %eax - movsbl %al, %edx - movq -8(%rbp), %rax - movl 12(%rax), %eax - movl %eax, %esi - leaq .LC1(%rip), %rdi - movl $0, %eax - call printf@PLT - nop - leave - .cfi_def_cfa 7, 8 - ret - .cfi_endproc -.LFE36: - .size _ZN8TInteger5printEv, .-_ZN8TInteger5printEv - .section .text._ZN8TIntegerC2Ei,"axG",@progbits,_ZN8TIntegerC5Ei,comdat - .align 2 - .weak _ZN8TIntegerC2Ei - .type _ZN8TIntegerC2Ei, @function -_ZN8TIntegerC2Ei: -.LFB38: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - movq %rsp, %rbp - .cfi_def_cfa_register 6 - subq $16, %rsp - movq %rdi, -8(%rbp) - movl %esi, -12(%rbp) - movq -8(%rbp), %rax - movq %rax, %rdi - call _ZN5TBaseC2Ev - leaq 16+_ZTV8TInteger(%rip), %rdx - movq -8(%rbp), %rax - movq %rdx, (%rax) - movq -8(%rbp), %rax - movl -12(%rbp), %edx - movl %edx, 12(%rax) - movq -8(%rbp), %rax - movb $13, 8(%rax) - nop - leave - .cfi_def_cfa 7, 8 - ret - .cfi_endproc -.LFE38: - .size _ZN8TIntegerC2Ei, .-_ZN8TIntegerC2Ei - .weak _ZN8TIntegerC1Ei - .set _ZN8TIntegerC1Ei,_ZN8TIntegerC2Ei - .section .rodata -.LC2: - .string "String: \"%s\"\n" - .section .text._ZN7TString5printEv,"axG",@progbits,_ZN7TString5printEv,comdat - .align 2 - .weak _ZN7TString5printEv - .type _ZN7TString5printEv, @function -_ZN7TString5printEv: -.LFB40: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - movq %rsp, %rbp - .cfi_def_cfa_register 6 - subq $16, %rsp - movq %rdi, -8(%rbp) - movq -8(%rbp), %rax - movq 16(%rax), %rax - movq %rax, %rsi - leaq .LC2(%rip), %rdi - movl $0, %eax - call printf@PLT - nop - leave - .cfi_def_cfa 7, 8 - ret - .cfi_endproc -.LFE40: - .size _ZN7TString5printEv, .-_ZN7TString5printEv - .section .text._ZN7TStringC2EPKc,"axG",@progbits,_ZN7TStringC5EPKc,comdat - .align 2 - .weak _ZN7TStringC2EPKc - .type _ZN7TStringC2EPKc, @function -_ZN7TStringC2EPKc: -.LFB42: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - movq %rsp, %rbp - .cfi_def_cfa_register 6 - subq $16, %rsp - movq %rdi, -8(%rbp) - movq %rsi, -16(%rbp) - movq -8(%rbp), %rax - movq %rax, %rdi - call _ZN5TBaseC2Ev - leaq 16+_ZTV7TString(%rip), %rdx - movq -8(%rbp), %rax - movq %rdx, (%rax) - movq -16(%rbp), %rax - movq %rax, %rdi - call strlen@PLT - addq $1, %rax - movq %rax, %rdi - call malloc@PLT - movq %rax, %rdx - movq -8(%rbp), %rax - movq %rdx, 16(%rax) - movq -8(%rbp), %rax - movq 16(%rax), %rax - movq -16(%rbp), %rdx - movq %rdx, %rsi - movq %rax, %rdi - call strcpy@PLT - nop - leave - .cfi_def_cfa 7, 8 - ret - .cfi_endproc -.LFE42: - .size _ZN7TStringC2EPKc, .-_ZN7TStringC2EPKc - .weak _ZN7TStringC1EPKc - .set _ZN7TStringC1EPKc,_ZN7TStringC2EPKc - .section .rodata -.LC3: - .string "Hello, world!" - .text - .globl main - .type main, @function -main: -.LFB44: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - movq %rsp, %rbp - .cfi_def_cfa_register 6 - pushq %rbx - subq $56, %rsp - .cfi_offset 3, -24 - movq $0, -64(%rbp) - movq $0, -56(%rbp) - movq $0, -48(%rbp) - movq $0, -40(%rbp) - movl $16, %edi - call _Znwm@PLT - movq %rax, %rbx - movl $42, %esi - movq %rbx, %rdi - call _ZN8TIntegerC1Ei - movq %rbx, -64(%rbp) - movl $16, %edi - call _Znwm@PLT - movq %rax, %rbx - movq %rbx, %rdi - call _ZN5TBaseC1Ev - movq %rbx, -56(%rbp) - movl $24, %edi - call _Znwm@PLT - movq %rax, %rbx - leaq .LC3(%rip), %rsi - movq %rbx, %rdi - call _ZN7TStringC1EPKc - movq %rbx, -48(%rbp) - movl $0, -20(%rbp) -.L9: - movl -20(%rbp), %eax - cltq - movq -64(%rbp,%rax,8), %rax - testq %rax, %rax - je .L8 - movl -20(%rbp), %eax - cltq - movq -64(%rbp,%rax,8), %rdx - movl -20(%rbp), %eax - cltq - movq -64(%rbp,%rax,8), %rax - movq (%rax), %rax - movq (%rax), %rax - movq %rdx, %rdi - call *%rax - addl $1, -20(%rbp) - jmp .L9 -.L8: - movl $0, %eax - addq $56, %rsp - popq %rbx - popq %rbp - .cfi_def_cfa 7, 8 - ret - .cfi_endproc -.LFE44: - .size main, .-main - .weak _ZTV7TString - .section .data.rel.ro.local._ZTV7TString,"awG",@progbits,_ZTV7TString,comdat - .align 8 - .type _ZTV7TString, @object - .size _ZTV7TString, 24 -_ZTV7TString: - .quad 0 - .quad _ZTI7TString - .quad _ZN7TString5printEv - .weak _ZTV8TInteger - .section .data.rel.ro.local._ZTV8TInteger,"awG",@progbits,_ZTV8TInteger,comdat - .align 8 - .type _ZTV8TInteger, @object - .size _ZTV8TInteger, 24 -_ZTV8TInteger: - .quad 0 - .quad _ZTI8TInteger - .quad _ZN8TInteger5printEv - .weak _ZTV5TBase - .section .data.rel.ro.local._ZTV5TBase,"awG",@progbits,_ZTV5TBase,comdat - .align 8 - .type _ZTV5TBase, @object - .size _ZTV5TBase, 24 -_ZTV5TBase: - .quad 0 - .quad _ZTI5TBase - .quad _ZN5TBase5printEv - .weak _ZTI7TString - .section .data.rel.ro._ZTI7TString,"awG",@progbits,_ZTI7TString,comdat - .align 8 - .type _ZTI7TString, @object - .size _ZTI7TString, 24 -_ZTI7TString: - .quad _ZTVN10__cxxabiv120__si_class_type_infoE+16 - .quad _ZTS7TString - .quad _ZTI5TBase - .weak _ZTS7TString - .section .rodata._ZTS7TString,"aG",@progbits,_ZTS7TString,comdat - .align 8 - .type _ZTS7TString, @object - .size _ZTS7TString, 9 -_ZTS7TString: - .string "7TString" - .weak _ZTI8TInteger - .section .data.rel.ro._ZTI8TInteger,"awG",@progbits,_ZTI8TInteger,comdat - .align 8 - .type _ZTI8TInteger, @object - .size _ZTI8TInteger, 24 -_ZTI8TInteger: - .quad _ZTVN10__cxxabiv120__si_class_type_infoE+16 - .quad _ZTS8TInteger - .quad _ZTI5TBase - .weak _ZTS8TInteger - .section .rodata._ZTS8TInteger,"aG",@progbits,_ZTS8TInteger,comdat - .align 8 - .type _ZTS8TInteger, @object - .size _ZTS8TInteger, 10 -_ZTS8TInteger: - .string "8TInteger" - .weak _ZTI5TBase - .section .data.rel.ro._ZTI5TBase,"awG",@progbits,_ZTI5TBase,comdat - .align 8 - .type _ZTI5TBase, @object - .size _ZTI5TBase, 16 -_ZTI5TBase: - .quad _ZTVN10__cxxabiv117__class_type_infoE+16 - .quad _ZTS5TBase - .weak _ZTS5TBase - .section .rodata._ZTS5TBase,"aG",@progbits,_ZTS5TBase,comdat - .type _ZTS5TBase, @object - .size _ZTS5TBase, 7 -_ZTS5TBase: - .string "5TBase" - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220407/pgslides.sty b/20220407/pgslides.sty deleted file mode 120000 index 5be1416f4216f076aa268901f52a15d775e43f64..0000000000000000000000000000000000000000 --- a/20220407/pgslides.sty +++ /dev/null @@ -1 +0,0 @@ -../common/pgslides.sty \ No newline at end of file diff --git a/20220407/static-1.cpp b/20220407/static-1.cpp deleted file mode 100644 index ddef0504c03f226108afcb87e65fe6b4af6639be..0000000000000000000000000000000000000000 --- a/20220407/static-1.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> - -class TBase -{ - int content; - void print () - { - printf ("%d\n", content); - } -}; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - B1.print (); - B2.print (); - return 0; -} diff --git a/20220407/static-10.cpp b/20220407/static-10.cpp deleted file mode 100644 index 7fd6fd0cabf7e4503b28b8c74eeb989c1b4c3685..0000000000000000000000000000000000000000 --- a/20220407/static-10.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - int content; - static void print () - { - printf ("%d\n", content); - } -}; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - B1.print (); - B2.print (); - return 0; -} diff --git a/20220407/static-11.cpp b/20220407/static-11.cpp deleted file mode 100644 index 059c987f350b7f79980a498eb8e16823bf92d0d0..0000000000000000000000000000000000000000 --- a/20220407/static-11.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - int content; - static void print () - { - printf ("%d\n", content); - } -}; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - TBase::print (); - return 0; -} diff --git a/20220407/static-12.cpp b/20220407/static-12.cpp deleted file mode 100644 index bd60b5f947e93759fb883b643e69bcf4463dfb3f..0000000000000000000000000000000000000000 --- a/20220407/static-12.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content; - static void print () - { - printf ("%d\n", content); - } -}; - -int TBase::content = 3; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - TBase::print (); - return 0; -} diff --git a/20220407/static-13.cpp b/20220407/static-13.cpp deleted file mode 100644 index e40c48ca3794a782359713945c833f3c63f98fd0..0000000000000000000000000000000000000000 --- a/20220407/static-13.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content; - const int alpha = 137; - static void print () - { - printf ("%d\n", content); - } -}; - -int TBase::content = 3; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = TBase::alpha; - TBase::print (); - return 0; -} diff --git a/20220407/static-14.cpp b/20220407/static-14.cpp deleted file mode 100644 index 80a9c593da68c713117e5aa95f787ecff8f8cf61..0000000000000000000000000000000000000000 --- a/20220407/static-14.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content; - static const int alpha = 137; - static void print () - { - printf ("%d\n", content); - } -}; - -int TBase::content = 3; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = TBase::alpha; - TBase::print (); - return 0; -} diff --git a/20220407/static-15.cpp b/20220407/static-15.cpp deleted file mode 100644 index 93bf88c22574213fe06c02bac90f69202ccb9108..0000000000000000000000000000000000000000 --- a/20220407/static-15.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content; - static const int alpha = 137; - static void print () - { - printf ("%d\n", content); - } - - class TInner - { - static int content; - }; - -}; - -int TBase::content = 3; -int TBase::TInner::content = 4; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = TBase::alpha; - TBase::print (); - - TBase::TInner i; - i.content = 13; - printf ("%d\n", i.content); - - return 0; -} diff --git a/20220407/static-16.cpp b/20220407/static-16.cpp deleted file mode 100644 index 540b69a7321913a772611c9d3b99ae192ff032c0..0000000000000000000000000000000000000000 --- a/20220407/static-16.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content; - static const int alpha = 137; - static void print () - { - printf ("%d\n", content); - } - - class TInner - { - public: - static int content; - }; - -}; - -int TBase::content = 3; -int TBase::TInner::content = 4; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = TBase::alpha; - TBase::print (); - - TBase::TInner i; - i.content = 13; - printf ("%d\n", i.content); - - return 0; -} diff --git a/20220407/static-17.cpp b/20220407/static-17.cpp deleted file mode 100644 index e4afb96e22c07424a885c76f7904cd6c2c8bcb61..0000000000000000000000000000000000000000 --- a/20220407/static-17.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content; - static const int alpha = 137; - static void print () - { - printf ("%d\n", content); - } - - class TInner: public TBase - { - public: - static int content; - }; - -}; - -int TBase::content = 3; -int TBase::TInner::content = 4; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = TBase::alpha; - TBase::print (); - - TBase::TInner i; - i.content = 13; - printf ("%d\n", i.content); - - return 0; -} diff --git a/20220407/static-2.cpp b/20220407/static-2.cpp deleted file mode 100644 index 630c265889c5326e1a6bcdb3ed51ec2f14199c96..0000000000000000000000000000000000000000 --- a/20220407/static-2.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - int content; - void print () - { - printf ("%d\n", content); - } -}; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - B1.print (); - B2.print (); - return 0; -} diff --git a/20220407/static-3.cpp b/20220407/static-3.cpp deleted file mode 100644 index cc556fcdc94f838d2fc7edd59c4517fee0d8321d..0000000000000000000000000000000000000000 --- a/20220407/static-3.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <stdio.h> - -class TBase -{ -private: - int content; - void print () - { - printf ("%d\n", content); - } - friend int main (); -}; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - B1.print (); - B2.print (); - return 0; -} diff --git a/20220407/static-4.cpp b/20220407/static-4.cpp deleted file mode 100644 index e8733a2ed2c0e38fae079e7c5d589306fd00a593..0000000000000000000000000000000000000000 --- a/20220407/static-4.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content; - void print () - { - printf ("%d\n", content); - } -}; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - B1.print (); - B2.print (); - return 0; -} diff --git a/20220407/static-5.cpp b/20220407/static-5.cpp deleted file mode 100644 index fe18e52afeca9868685355044a709aac558f25b3..0000000000000000000000000000000000000000 --- a/20220407/static-5.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content; - void print () - { - printf ("%d\n", content); - } -}; - -int TBase::content = 3; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - B1.print (); - B2.print (); - return 0; -} diff --git a/20220407/static-6.cpp b/20220407/static-6.cpp deleted file mode 100644 index dc0e956d9f426284fa8dc1eee40e131d57560cfd..0000000000000000000000000000000000000000 --- a/20220407/static-6.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content = 3; - void print () - { - printf ("%d\n", content); - } -}; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - B1.print (); - B2.print (); - return 0; -} diff --git a/20220407/static-7.cpp b/20220407/static-7.cpp deleted file mode 100644 index 3fb1764b6637a354a5d695c7e2e76378f595d68b..0000000000000000000000000000000000000000 --- a/20220407/static-7.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - const static int content = 3; - void print () - { - printf ("%d\n", content); - } -}; - -int main () -{ - TBase B1, B2; - B1.print (); - B2.print (); - return 0; -} diff --git a/20220407/static-8.cpp b/20220407/static-8.cpp deleted file mode 100644 index 4ab7dc6f60596a1a0fde4046e900add2a959d37a..0000000000000000000000000000000000000000 --- a/20220407/static-8.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content; - void print () - { - printf ("%d\n", content); - } -}; - -static int TBase::content = 3; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - B1.print (); - B2.print (); - return 0; -} diff --git a/20220407/static-9.cpp b/20220407/static-9.cpp deleted file mode 100644 index 9aded81001c3c5684bf11065837ce2239d794357..0000000000000000000000000000000000000000 --- a/20220407/static-9.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include <stdio.h> - -class TBase -{ -public: - static int content; - static void print () - { - printf ("%d\n", content); - } -}; - -int TBase::content = 3; - -int main () -{ - TBase B1, B2; - B1.content = 42; - B2.content = 137; - B1.print (); - B2.print (); - return 0; -} diff --git a/20220407/strings-1.C b/20220407/strings-1.C deleted file mode 120000 index ac6ec615b2f6be9a9323d3c1d24d55d33a7da612..0000000000000000000000000000000000000000 --- a/20220407/strings-1.C +++ /dev/null @@ -1 +0,0 @@ -strings-1.c \ No newline at end of file diff --git a/20220407/strings-1.c b/20220407/strings-1.c deleted file mode 100644 index d0624e4fecf5362f51a76f3b007187b6890adfa7..0000000000000000000000000000000000000000 --- a/20220407/strings-1.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <iostream> -#include <string> - -int main () -{ - std::string hello = "Hello, world!"; - std::cout << hello << std::endl; - return 0; -} diff --git a/20220407/strings-1.c++ b/20220407/strings-1.c++ deleted file mode 120000 index ac6ec615b2f6be9a9323d3c1d24d55d33a7da612..0000000000000000000000000000000000000000 --- a/20220407/strings-1.c++ +++ /dev/null @@ -1 +0,0 @@ -strings-1.c \ No newline at end of file diff --git a/20220407/strings-1.cpp b/20220407/strings-1.cpp deleted file mode 120000 index ac6ec615b2f6be9a9323d3c1d24d55d33a7da612..0000000000000000000000000000000000000000 --- a/20220407/strings-1.cpp +++ /dev/null @@ -1 +0,0 @@ -strings-1.c \ No newline at end of file diff --git a/20220407/strings-1.cxx b/20220407/strings-1.cxx deleted file mode 120000 index ac6ec615b2f6be9a9323d3c1d24d55d33a7da612..0000000000000000000000000000000000000000 --- a/20220407/strings-1.cxx +++ /dev/null @@ -1 +0,0 @@ -strings-1.c \ No newline at end of file diff --git a/20220407/strings-2.cpp b/20220407/strings-2.cpp deleted file mode 100644 index 554155b7bfa609fe3643779765a823841cf0233c..0000000000000000000000000000000000000000 --- a/20220407/strings-2.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -#include <string> - -int main () -{ - std::string hello = "Hello, world!"; - printf ("%s\n", hello); - return 0; -} diff --git a/20220407/strings-3.cpp b/20220407/strings-3.cpp deleted file mode 100644 index 7b359d0410e81d73b595e28ba833484c682ae72b..0000000000000000000000000000000000000000 --- a/20220407/strings-3.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -#include <string> - -int main () -{ - std::string hello = "Hello, world!"; - printf ("%s\n", hello.c_str ()); - return 0; -} diff --git a/20220407/strings-4.cpp b/20220407/strings-4.cpp deleted file mode 100644 index f29b1d0583f5caad01b8acc8572eea472152729c..0000000000000000000000000000000000000000 --- a/20220407/strings-4.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include <iostream> -#include <string> -#include <sstream> - -int main () -{ - std::string hello = "Hello, world!"; - std::cout << hello << " " << 42 << std::endl; - return 0; -} diff --git a/20220407/strings-5.cpp b/20220407/strings-5.cpp deleted file mode 100644 index 46a8200e2f4dc4e553997a3de9683812f74f6765..0000000000000000000000000000000000000000 --- a/20220407/strings-5.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <iostream> -#include <string> -#include <sstream> - -int main () -{ - std::string hello = "Hello, world!"; - std::stringstream s; - s << hello << " " << 42; - std::cout << s << std::endl; - return 0; -} diff --git a/20220407/strings-6.cpp b/20220407/strings-6.cpp deleted file mode 100644 index dd4944511692522c47b08424b2575ca7b4863a8a..0000000000000000000000000000000000000000 --- a/20220407/strings-6.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <iostream> -#include <string> -#include <sstream> - -int main () -{ - std::string hello = "Hello, world!"; - std::stringstream s; - s << hello << " " << 42; - std::cout << s.str () << std::endl; - return 0; -} diff --git a/20220407/strings-7.cpp b/20220407/strings-7.cpp deleted file mode 100644 index a4f17ac46549042119e0d62bd9cf63de5d3c1817..0000000000000000000000000000000000000000 --- a/20220407/strings-7.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -#include <string> -#include <sstream> - -int main () -{ - std::string hello = "Hello, world!"; - std::stringstream s; - s << hello << " " << 42; - printf ("%s\n", s.str ().c_str ()); - return 0; -} diff --git a/20220407/strings-8.cpp b/20220407/strings-8.cpp deleted file mode 100644 index 3dde9c72e309ccedebd9cf452c2127c0f0b27c11..0000000000000000000000000000000000000000 --- a/20220407/strings-8.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <stdio.h> - -#include <string> - -int main () -{ - printf ("%s\n", std::to_string (42)); - return 0; -} diff --git a/20220407/strings-9.cpp b/20220407/strings-9.cpp deleted file mode 100644 index fd101561acca5e291d0d4611370947e301cbc6c4..0000000000000000000000000000000000000000 --- a/20220407/strings-9.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <stdio.h> - -#include <string> - -int main () -{ - printf ("%s\n", std::to_string (42).c_str ()); - return 0; -} diff --git a/20220414/ad-20220414.pdf b/20220414/ad-20220414.pdf deleted file mode 100644 index 6f15ed8bcdd2dcb84de7eab2aac5676fdb84348e..0000000000000000000000000000000000000000 Binary files a/20220414/ad-20220414.pdf and /dev/null differ diff --git a/20220414/ad-20220414.tex b/20220414/ad-20220414.tex deleted file mode 100644 index 8da89c90843f61c4dd9d812d11646bc80a12cab8..0000000000000000000000000000000000000000 --- a/20220414/ad-20220414.tex +++ /dev/null @@ -1,403 +0,0 @@ -% ad-20220414.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ -% Copyright (C) 2018, 2019, 2020, 2021, 2022 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: Templates - -\documentclass[10pt,t]{beamer} - -\usepackage{pgslides} -\usepackage{tikz} -\usepackage{rotating} - -\newcommand{\underconstruction}{% - \begin{picture}(0,0) - \color{black} - \put(7.5,-2.2){\makebox(0,0)[b]{\includegraphics[width=1.5cm]{Zeichen_123.pdf}}} - \put(7.5,-2.5){\makebox(0,0)[t]{\shortstack{Änderungen\\vorbehalten}}} - \end{picture}} - -\title{Algorithmen und Datenstrukturen in C/C++} -\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski} -\date{14.\ April 2022} - -\begin{document} - -\maketitleframe - -\nosectionnonumber{\inserttitle} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} -% \underconstruction - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{2}] \textbf{Einführung in C++} - \begin{itemize} - \vspace*{-\smallskipamount} - \item[\dots] - \item[2.6] Namensräume - \color{medgreen} - \item[2.7] Objekte - \item[2.8] Strings - \color{red} - \item[2.9] Templates - \item[2.10] Container-Templates - \item[2.11] Iteratoren - \color{black} - \item[2.12] Exceptions - \item[2.13] Typ-Konversionen - \end{itemize} - \item[\textbf{3}] \textbf{Datenorganisation} -% \begin{itemize} -% \item Listen, Bäume, Hash-Tabellen, \dots -% \end{itemize} - \item[\textbf{4}] \textbf{Datenkodierung} -% \begin{itemize} -% \item Fehlererkennung und -korrektur -% \item Kompression -% \item Kryptographie -% \end{itemize} - \item[\textbf{5}] \textbf{Hardwarenahe Algorithmen} -% \begin{itemize} -% \item FFT, CORDIC, \dots -% \end{itemize} - \item[\textbf{6}] \textbf{Optimierung} -% \begin{itemize} -% \item Wegfindung, \dots -% \end{itemize} - \color{gray} - \item[\textbf{7}] \textbf{Numerik} - \end{itemize} - -\end{frame} - -\setcounter{section}{1} -\section{Einführung in C++} -\addtocounter{subsection}{6} -\subsection{Objekte: Konstruktoren und Destruktoren} - -\begin{frame}[fragile] - \showsubsection - \begin{itemize} - \item - leerer Standard-Konstrutor - \item - \newterm{Copy-Konstruktor} - \item - Konstruktor-Aufruf als "`Initialisierung"' - \item - Konstruktor-Aufruf mit \lstinline{new}\\ - Destruktor-Aufruf mit \lstinline{delete} - \item - automatischer Destruktor-Aufruf\\ - beim Verlassen des Gültigkeitsbereichs - \pause - \bigskip - \item - \newterm{Constructor Chain\/}:\\ - Konstruktoren der Vorfahren aufrufen - \end{itemize} -\end{frame} - -\subsection{Strings} - -\begin{frame}[fragile] - \showsubsection - \begin{itemize} - \item - \lstinline{#include <string>} - \item - String-Klasse - \item - String-Konstante sind \lstinline{const char *} - \item - C-kompatiblen String extrahieren: \lstinline{c_str ()} - \item - In String schreiben: \lstinline{#include <sstream>}, \lstinline{ostringstream} - \end{itemize} -\end{frame} - -\subsection{Templates} - -\begin{frame}[fragile] - \showsubsection - Anwendung desselben Quelltextes auf verschiedene Datentypen - \begin{itemize} - \item - \lstinline{template <typename x> ...} - \item - \lstinline{template <class x> ...} - \end{itemize} -% \pause - Vorsicht: Fehler werden erst bei Instantiierung erkannt! -% \pause - \begin{itemize} - \item - Template-Spezialisierung:\\ - \lstinline{template <> foo <int> ...} - \end{itemize} -\end{frame} - -\subsection{Container-Templates} - -\begin{frame} - \showsection - \showsubsection - \vspace*{-0.25cm} - \begin{tabular}{ll} - \lstinline|array| & Array mit fester Größe \\ - \lstinline|bitset| & festes Array von Bits (Booleans) \\ - \lstinline|vector| & dynamisches Array \\ - \lstinline|vector <bool>| & dynamisches Bit-Array \\ - \lstinline|forward_list| & einfach-verkettete Liste \\ - \lstinline|list| & doppelt-verkettete Liste \\ - \lstinline|set| & binärer Baum \\ - \lstinline|multiset| & mehrfache Elemente zulässig \\ - \lstinline|unordered_set| & Hash-Tabelle \\ - \lstinline|unordered_multiset| & mehrfache Elemente zulässig \\ - \lstinline|map| & binärer Baum mit separaten Schlüsselwerten \\ - \lstinline|multimap| & mehrere Elemente pro Schlüssel \\ - \lstinline|unordered_map| & Hash-Tabelle mit separaten Schlüsselwerten \\ - \lstinline|unordered_multimap| & mehrere Elemente pro Schlüssel \\ - \lstinline|stack| & Stack \\ - \lstinline|queue| & FIFO \\ - \lstinline|deque| & \emph{\textbf{d}ouble-\textbf{e}nded \textbf{que}ue} \\ - \lstinline|priority_queue| & geordneter Push-Pop-Container - \end{tabular} - \vspace*{-1cm} -\end{frame} - -\subsection{Iteratoren} - -\begin{frame}[fragile] - \showsection - \showsubsection - - Pointer-Arithmetik: - \medskip - \begin{lstlisting} - int prime[5] = { 2, 3, 5, 7, 11 }; - for (int *p = prime; p != prime + 5; p++) - std::cout << *p << std::endl; - \end{lstlisting} - - \bigskip - Iterator als Verallgemeinerung: - \medskip - \begin{lstlisting} - std::array <int, 5> prime = { { 2, 3, 5, 7, 11 } }; - for (std::array <int, 5>::iterator p = prime.begin (); p != prime.end (); p++) - std::cout << *p << std::endl; - \end{lstlisting} -\end{frame} - -\iffalse - -\subsection{Exceptions} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - try - { - ... - throw <value>; - ... - } - catch (<type> <variable>) - { - ... - } - catch ... - \end{lstlisting} - \vspace*{-4.6cm}\hspace*{5cm} - \begin{minipage}{7cm} - \begin{itemize} - \item - Nach den \lstinline{catch()}-Statements wird, - soweit nicht anders programmiert, das Programm fortgesetzt. - \medskip - \item - \lstinline{throw;} (ohne Wert):\\ - an übergeordneten Exception-Handler weiterreichen - \medskip - \item - C-Äquivalent:\\ - \lstinline{setjmp()}, \lstinline{longjmp()} - \medskip - \item - speziell für \lstinline{<type>}:\\ - Nachfahren von \lstinline{class exception} - \medskip - \item - veraltet:\\ - \newterm{dynamic exception specifications} - \end{itemize} - \end{minipage} -\end{frame} - -\nosectionnonumber{\inserttitle} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} - \underconstruction - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{2}] \textbf{Einführung in C++} - \begin{itemize} - \vspace*{-\smallskipamount} - \item[\dots] - \item[2.6] Namensräume - \color{medgreen} - \item[2.7] Objekte - \item[2.8] Strings - \item[2.9] Templates - \item[2.10] Exceptions - \color{red} - \item[2.11] Typ-Konversionen - \item[2.12] Container-Templates - \item[2.13] Iteratoren - \end{itemize} - \item[\textbf{3}] \textbf{Datenorganisation} -% \begin{itemize} -% \item Listen, Bäume, Hash-Tabellen, \dots -% \end{itemize} - \item[\textbf{4}] \textbf{Datenkodierung} -% \begin{itemize} -% \item Fehlererkennung und -korrektur -% \item Kompression -% \item Kryptographie -% \end{itemize} - \item[\textbf{5}] \textbf{Hardwarenahe Algorithmen} -% \begin{itemize} -% \item FFT, CORDIC, \dots -% \end{itemize} - \item[\textbf{6}] \textbf{Optimierung} -% \begin{itemize} -% \item Wegfindung, \dots -% \end{itemize} - \color{gray} - \item[\textbf{7}] \textbf{Numerik} - \end{itemize} - -\end{frame} - -\subsection{Typ-Konversionen} - -\begin{frame}[fragile] - \showsubsection - - \begin{itemize} - \item - In C: - \begin{lstlisting}[gobble=8] - char *hello = "Hello, world!"; - uint64_t address = (uint64_t) hello; - printf ("%" PRIu64 "\n", address); - \end{lstlisting} - \smallskip - \item - alternative Syntax in C++: - \begin{lstlisting}[gobble=8] - char *hello = "Hello, world!"; - uint64_t address = uint64_t (hello); - cout << address << endl; - \end{lstlisting} - \smallskip - \item - zusätzlich in C++:\\ - implizite und explizite Typumwandlung zwischen Zeigern auf Klassen\\ - \lstinline{dynamic_cast<>()}\\ - \lstinline{static_cast<>()}\\ - \lstinline{reinterpret_cast<>()}\\ - \lstinline{const_cast<>()} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \url{http://www.cplusplus.com/doc/tutorial/typecasting/} - - \begin{itemize} - \item - Zuweisung: Zeiger auf abgeleitete Klasse an Zeiger auf Basisklasse\\ - \textarrow\ implizite Typumwandlung möglich - \smallskip - \item - Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\ - \textarrow\ nur explizite Typumwandlung möglich:\\ - \hspace*{0.76cm}\lstinline{dynamic_cast<>()}, \lstinline{static_cast<>()} - \smallskip - \item - implizite Typumwandlungen in der Klasse definieren: - \begin{itemize} - \item - Initialisierung durch Konstruktor - \item - Zuweisungs-Operator - \item - Typumwandlungsoperator - \end{itemize} - \smallskip - \item - implizite Typumwandlungen ausschalten:\\ - Schlüsselwort \lstinline{explicit} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \url{http://www.cplusplus.com/doc/tutorial/typecasting/} - - \begin{itemize} - \item - \lstinline{dynamic_cast<>()}\\ - Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\ - explizite Typumwandlung mit Prüfung, ggf.\ Exception - \smallskip - \item - \lstinline{static_cast<>()}\\ - Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\ - explizite Typumwandlung ohne Prüfung - \smallskip - \item - \lstinline{reinterpret_cast<>()}\\ - Typumwandlung ohne Prüfung zwischen Zeigern untereinander\\ - und zwischen Zeigern und Integer-Typen - \smallskip - \item - \lstinline{const_cast<>()}\\ - "`\lstinline{const}"' ein- bzw.\ ausschalten - \end{itemize} -\end{frame} - -\fi - -\end{document} diff --git a/20220414/links.txt b/20220414/links.txt deleted file mode 100644 index e04cce8a77d70b16cf676ccde7ce16d846a0bb0d..0000000000000000000000000000000000000000 --- a/20220414/links.txt +++ /dev/null @@ -1,15 +0,0 @@ -C++: -https://www.cplusplus.com/ - -Projekte: -https://gitlab.cvh-server.de/hardwarenahe-it/projekte - -Pinephone: -https://www.pine64.org/pinephone/ - -Navigation: -https://osmand.net/ -https://wiki.openstreetmap.org/wiki/Navit - -Steganographie: -https://stegano.readthedocs.io/en/latest/ diff --git a/20220414/logo-hochschule-bochum-cvh-text.pdf b/20220414/logo-hochschule-bochum-cvh-text.pdf deleted file mode 120000 index a05946126bc0ce6a2818740da2893f59eb0c659c..0000000000000000000000000000000000000000 --- a/20220414/logo-hochschule-bochum-cvh-text.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum-cvh-text.pdf \ No newline at end of file diff --git a/20220414/logo-hochschule-bochum.pdf b/20220414/logo-hochschule-bochum.pdf deleted file mode 120000 index b6b9491e370e499c9276918182cdb82cb311bcd1..0000000000000000000000000000000000000000 --- a/20220414/logo-hochschule-bochum.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20220414/pgslides.sty b/20220414/pgslides.sty deleted file mode 120000 index 5be1416f4216f076aa268901f52a15d775e43f64..0000000000000000000000000000000000000000 --- a/20220414/pgslides.sty +++ /dev/null @@ -1 +0,0 @@ -../common/pgslides.sty \ No newline at end of file diff --git a/20220414/stl-0.c b/20220414/stl-0.c deleted file mode 100644 index 88beaf5d4f0e0f3c54eb0f2a896eb649119f7c13..0000000000000000000000000000000000000000 --- a/20220414/stl-0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int prime[] = { 2, 3, 5, 7, 11 }; - -int main (void) -{ - for (int i = 0; i < 5; i++) - printf ("%d ", prime[i]); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-1.c b/20220414/stl-1.c deleted file mode 100644 index fcac3a99912ef1c65faf0bc131d0c00aca9f08eb..0000000000000000000000000000000000000000 --- a/20220414/stl-1.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int prime[] = { 2, 3, 5, 7, 11 }; - -int main (void) -{ - for (int *p = prime; p < prime + 5; p++) - printf ("%d ", *p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-10.cpp b/20220414/stl-10.cpp deleted file mode 100644 index 19b3fff61f6ffabc5f9bc17196c7fccc60cc335e..0000000000000000000000000000000000000000 --- a/20220414/stl-10.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (int p : prime) - printf ("%d ", p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-11.cpp b/20220414/stl-11.cpp deleted file mode 100644 index f268fa30c19ed9fd60397b592c353f8a16112250..0000000000000000000000000000000000000000 --- a/20220414/stl-11.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <short int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (int p : prime) - printf ("%d ", p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-12.cpp b/20220414/stl-12.cpp deleted file mode 100644 index 6fab8d59844440b21be6aa6a2dd45b3a58363aed..0000000000000000000000000000000000000000 --- a/20220414/stl-12.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <long int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (int p : prime) - printf ("%d ", p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-13.c b/20220414/stl-13.c deleted file mode 100644 index e34d816eb7815207b070b061c5327cd01ada8c0c..0000000000000000000000000000000000000000 --- a/20220414/stl-13.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - auto int answer = 42; - printf ("%d\n", answer); - return 0; -} diff --git a/20220414/stl-13.txt b/20220414/stl-13.txt deleted file mode 100644 index 4be56025823ae3fc4d7889fd5c85a49060a14608..0000000000000000000000000000000000000000 --- a/20220414/stl-13.txt +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - auto int answer = 42; - printf ("%d\n", answer); - return 0; -} -cassini/home/peter/bo/2022ss/ad/20220414> gcc -Wall -O stl-13.c -o stl-13 -cassini/home/peter/bo/2022ss/ad/20220414> ./stl-13 -42 -cassini/home/peter/bo/2022ss/ad/20220414> g++ -Wall -O stl-13.c -o stl-13 -stl-13.c: In function ‘int main()’: -stl-13.c:5:12: error: two or more data types in declaration of ‘answer’ - auto int answer = 42; - ^~~~~~ -stl-13.c:6:19: error: ‘answer’ was not declared in this scope - printf ("%d\n", answer); - ^~~~~~ -cassini/home/peter/bo/2022ss/ad/20220414> diff --git a/20220414/stl-14.cpp b/20220414/stl-14.cpp deleted file mode 100644 index 9c855ef4d0b8b0a1d92298f736919d2337d9f8c1..0000000000000000000000000000000000000000 --- a/20220414/stl-14.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <long long int> prime = { { 2, 3, 5, 7, 11, 16777217 } }; - -int main (void) -{ - for (short int p : prime) - printf ("%d ", p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-15.cpp b/20220414/stl-15.cpp deleted file mode 100644 index 95f30677cbfb0f88eade8fa273fe0449063eb1ab..0000000000000000000000000000000000000000 --- a/20220414/stl-15.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -int answer () -{ - return 42; -} - -int main (void) -{ - auto a = answer (); - printf ("%d\n", a); - return 0; -} diff --git a/20220414/stl-16.cpp b/20220414/stl-16.cpp deleted file mode 100644 index 454436c6f94e049503bb9d94878c3fdb17c40210..0000000000000000000000000000000000000000 --- a/20220414/stl-16.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - auto a = 42; - printf ("%d\n", a); - printf ("%zd\n", sizeof (a)); - return 0; -} diff --git a/20220414/stl-17.cpp b/20220414/stl-17.cpp deleted file mode 100644 index 46afbfdeac44035eb510d48d539b02fe3096e2a0..0000000000000000000000000000000000000000 --- a/20220414/stl-17.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <stdio.h> - -int main (void) -{ - auto a = 1000000000000; - printf ("%d\n", a); - printf ("%zd\n", sizeof (a)); - return 0; -} diff --git a/20220414/stl-18.cpp b/20220414/stl-18.cpp deleted file mode 100644 index 85ea719f25c65981b865a54443162c9e3b332295..0000000000000000000000000000000000000000 --- a/20220414/stl-18.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <iostream> - -int main (void) -{ - auto a = 1000000000000; - std::cout << a << std::endl - << sizeof (a) << std::endl; - return 0; -} diff --git a/20220414/stl-19.cpp b/20220414/stl-19.cpp deleted file mode 100644 index be17995391bf059ab5b5d95c9f0fe0e80b7dadb2..0000000000000000000000000000000000000000 --- a/20220414/stl-19.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <iostream> -#include <typeinfo> - -int main (void) -{ - auto a = 1000000000000; - std::cout << typeid (a).name () << std::endl; - return 0; -} diff --git a/20220414/stl-2.c b/20220414/stl-2.c deleted file mode 100644 index b53870187942e8ae77799a0b327daedd7af8c99a..0000000000000000000000000000000000000000 --- a/20220414/stl-2.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int prime[] = { 2, 3, 5, 7, 11 }; - -int main (void) -{ - for (int *p = prime; p != prime + 5; p++) - printf ("%d ", *p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-2.s b/20220414/stl-2.s deleted file mode 100644 index 033b96540b84af80f86a1d3c7a71a5ae962758c6..0000000000000000000000000000000000000000 --- a/20220414/stl-2.s +++ /dev/null @@ -1,55 +0,0 @@ - .file "stl-2.c" - .text - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "%d " - .text - .globl main - .type main, @function -main: -.LFB11: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - pushq %rbx - .cfi_def_cfa_offset 24 - .cfi_offset 3, -24 - subq $8, %rsp - .cfi_def_cfa_offset 32 - leaq prime(%rip), %rbx - leaq 20(%rbx), %rbp -.L2: - movl (%rbx), %esi - leaq .LC0(%rip), %rdi - movl $0, %eax - call printf@PLT - addq $4, %rbx - cmpq %rbp, %rbx - jne .L2 - movl $10, %edi - call putchar@PLT - movl $0, %eax - addq $8, %rsp - .cfi_def_cfa_offset 24 - popq %rbx - .cfi_def_cfa_offset 16 - popq %rbp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE11: - .size main, .-main - .globl prime - .data - .align 16 - .type prime, @object - .size prime, 20 -prime: - .long 2 - .long 3 - .long 5 - .long 7 - .long 11 - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220414/stl-20.cpp b/20220414/stl-20.cpp deleted file mode 100644 index 8ac15deebcb1bd4f3545557108c16670ccaf6cf1..0000000000000000000000000000000000000000 --- a/20220414/stl-20.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (auto p : prime) - printf ("%d ", p); - printf ("\n"); - for (auto p : prime) - p = 42; - for (auto p : prime) - printf ("%d ", p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-21.cpp b/20220414/stl-21.cpp deleted file mode 100644 index 9ee2e3a69712bb3c7144207e7e17623547894bd5..0000000000000000000000000000000000000000 --- a/20220414/stl-21.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (auto p : prime) - printf ("%d ", p); - printf ("\n"); - for (auto &p : prime) - p = 42; - for (auto p : prime) - printf ("%d ", p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-22.cpp b/20220414/stl-22.cpp deleted file mode 100644 index ed5b84bdcc2b0398af4f27c2001b7ac10d4c32fa..0000000000000000000000000000000000000000 --- a/20220414/stl-22.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdio.h> - -int a = 42; - -int &answer (void) -{ - int &result = a; - return result; -} - -int main (void) -{ - int &b = answer (); - printf ("%d\n", b); - return 0; -} diff --git a/20220414/stl-23.cpp b/20220414/stl-23.cpp deleted file mode 100644 index 1a943153cb012eeef544442cb27b386c5243dc8d..0000000000000000000000000000000000000000 --- a/20220414/stl-23.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdio.h> - -int a = 42; - -int &answer (void) -{ - int &result = a; - return result; -} - -int main (void) -{ - auto b = answer (); - printf ("%d\n", b); - return 0; -} diff --git a/20220414/stl-24.cpp b/20220414/stl-24.cpp deleted file mode 100644 index 8c06679f9ac15acb6f3780666128bc3865898a00..0000000000000000000000000000000000000000 --- a/20220414/stl-24.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <stdio.h> - -int a = 42; - -int &answer (void) -{ - int &result = a; - return result; -} - -int main (void) -{ - auto b = answer (); - a = 137; - printf ("%d\n", b); - return 0; -} diff --git a/20220414/stl-25.cpp b/20220414/stl-25.cpp deleted file mode 100644 index 2e81c41b5b60b396aeb144571dfac9c4a9c9cbba..0000000000000000000000000000000000000000 --- a/20220414/stl-25.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <stdio.h> - -int a = 42; - -int &answer (void) -{ - int &result = a; - return result; -} - -int main (void) -{ - int &b = answer (); - a = 137; - printf ("%d\n", b); - return 0; -} diff --git a/20220414/stl-26.cpp b/20220414/stl-26.cpp deleted file mode 100644 index c9fa43422ef3f52872236acbdb3d694882c6a49f..0000000000000000000000000000000000000000 --- a/20220414/stl-26.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <stdio.h> - -int a = 42; - -int &answer (void) -{ - int &result = a; - return result; -} - -int main (void) -{ - auto &b = answer (); - a = 137; - printf ("%d\n", b); - return 0; -} diff --git a/20220414/stl-27.cpp b/20220414/stl-27.cpp deleted file mode 100644 index ee75827afd37a8794eeea9d5cf53ecd87a8654bc..0000000000000000000000000000000000000000 --- a/20220414/stl-27.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdio.h> -#include <list> - -std::list <int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (auto p : prime) - printf ("%d ", p); - printf ("\n"); - prime.push_back (13); - for (auto p : prime) - printf ("%d ", p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-3.cpp b/20220414/stl-3.cpp deleted file mode 100644 index b53870187942e8ae77799a0b327daedd7af8c99a..0000000000000000000000000000000000000000 --- a/20220414/stl-3.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int prime[] = { 2, 3, 5, 7, 11 }; - -int main (void) -{ - for (int *p = prime; p != prime + 5; p++) - printf ("%d ", *p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-4.cpp b/20220414/stl-4.cpp deleted file mode 100644 index a41bb9a58fddba0adf4a2b1dbc67e8c1ad0487e3..0000000000000000000000000000000000000000 --- a/20220414/stl-4.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <array> - -std::array <int, 5> prime = { 2, 3, 5, 7, 11 }; - -int main (void) -{ - for (int *p = prime.begin (); p != prime.end (); p++) - printf ("%d ", *p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-4.s b/20220414/stl-4.s deleted file mode 100644 index 9f42fce4b08d19295879f4b4b1c3c389627e995b..0000000000000000000000000000000000000000 --- a/20220414/stl-4.s +++ /dev/null @@ -1,55 +0,0 @@ - .file "stl-4.cpp" - .text - .section .rodata.str1.1,"aMS",@progbits,1 -.LC0: - .string "%d " - .text - .globl main - .type main, @function -main: -.LFB1096: - .cfi_startproc - pushq %rbp - .cfi_def_cfa_offset 16 - .cfi_offset 6, -16 - pushq %rbx - .cfi_def_cfa_offset 24 - .cfi_offset 3, -24 - subq $8, %rsp - .cfi_def_cfa_offset 32 - leaq prime(%rip), %rbx - leaq 20(%rbx), %rbp -.L2: - movl (%rbx), %esi - leaq .LC0(%rip), %rdi - movl $0, %eax - call printf@PLT - addq $4, %rbx - cmpq %rbp, %rbx - jne .L2 - movl $10, %edi - call putchar@PLT - movl $0, %eax - addq $8, %rsp - .cfi_def_cfa_offset 24 - popq %rbx - .cfi_def_cfa_offset 16 - popq %rbp - .cfi_def_cfa_offset 8 - ret - .cfi_endproc -.LFE1096: - .size main, .-main - .globl prime - .data - .align 16 - .type prime, @object - .size prime, 20 -prime: - .long 2 - .long 3 - .long 5 - .long 7 - .long 11 - .ident "GCC: (Debian 8.3.0-6) 8.3.0" - .section .note.GNU-stack,"",@progbits diff --git a/20220414/stl-5.cpp b/20220414/stl-5.cpp deleted file mode 100644 index c63e21d9ddf67e7f773fe2f9d7009cfe614625f5..0000000000000000000000000000000000000000 --- a/20220414/stl-5.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (int *p = prime.begin (); p != prime.end (); p++) - printf ("%d ", *p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-6.cpp b/20220414/stl-6.cpp deleted file mode 100644 index fd45eeb33a52f11bfc88ccce724595eb07d7e818..0000000000000000000000000000000000000000 --- a/20220414/stl-6.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (std::vector <int>::iterator p = prime.begin (); p != prime.end (); p++) - printf ("%d ", *p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-7.cpp b/20220414/stl-7.cpp deleted file mode 100644 index 8096911a4a765e549cd132d4fb56cf8a3cd622d8..0000000000000000000000000000000000000000 --- a/20220414/stl-7.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (auto p = prime.begin (); p != prime.end (); p++) - printf ("%d ", *p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-8.cpp b/20220414/stl-8.cpp deleted file mode 100644 index d4018ec0c676f9dcf8ce57db63937130492286a2..0000000000000000000000000000000000000000 --- a/20220414/stl-8.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (auto p : prime) - printf ("%d ", p); - printf ("\n"); - return 0; -} diff --git a/20220414/stl-9.cpp b/20220414/stl-9.cpp deleted file mode 100644 index 220cbd1e715814256159d4cbaab448431bdd3dca..0000000000000000000000000000000000000000 --- a/20220414/stl-9.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdio.h> -#include <vector> - -std::vector <int> prime = { { 2, 3, 5, 7, 11 } }; - -int main (void) -{ - for (auto p : prime) - printf ("%d ", p); - printf ("\n"); - prime.push_back (13); - for (auto p : prime) - printf ("%d ", p); - printf ("\n"); - return 0; -} diff --git a/20220414/strings-10.cpp b/20220414/strings-10.cpp deleted file mode 100644 index 185c186d0d367ca50de40f9a2cf4d666532fcab2..0000000000000000000000000000000000000000 --- a/20220414/strings-10.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -#include <string> -#include <sstream> - -int main () -{ - std::string hello = "Hello, world!"; - std::ostringstream s; - s << hello << " " << 42; - printf ("%s\n", s.str ().c_str ()); - return 0; -} diff --git a/20220414/strings-11.cpp b/20220414/strings-11.cpp deleted file mode 100644 index c5e5a0424e3f70e0ba419a6fad41f4bb1b193fea..0000000000000000000000000000000000000000 --- a/20220414/strings-11.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdio.h> - -#include <string> -#include <sstream> - -int main () -{ - std::string hello = "Hello, world!"; - std::istringstream s; - s << hello << " " << 42; - printf ("%s\n", s.str ().c_str ()); - return 0; -} diff --git a/20220414/strings-12.cpp b/20220414/strings-12.cpp deleted file mode 100644 index b397301cd327c368b3d6dd861aa6424ea4bc12a6..0000000000000000000000000000000000000000 --- a/20220414/strings-12.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// istringstream constructors. -#include <iostream> // std::cout -#include <sstream> // std::istringstream -#include <string> // std::string - -int main () { - - std::string stringvalues = "125 320 512 750 333"; - std::istringstream iss (stringvalues); - - for (int n=0; n<5; n++) - { - int val; - iss >> val; - std::cout << val*2 << '\n'; - } - - return 0; -} \ No newline at end of file diff --git a/20220414/strings-13.cpp b/20220414/strings-13.cpp deleted file mode 100644 index 908ddfc2bb1d61f4c61cf43b34952994e1c4ada8..0000000000000000000000000000000000000000 --- a/20220414/strings-13.cpp +++ /dev/null @@ -1,18 +0,0 @@ -// istringstream constructors. -#include <iostream> // std::cout -#include <sstream> // std::istringstream -#include <string> // std::string - -int main () { - - std::string stringvalues = "125 320 512 750 333"; - std::istringstream iss (stringvalues); - - for (int n=0; n<5; n++) - { - iss >> 42; - std::cout << val*2 << '\n'; - } - - return 0; -} diff --git a/20220414/strings-14.cpp b/20220414/strings-14.cpp deleted file mode 100644 index acceb6c3fababd01eb8d9749a8a0b518c99330e2..0000000000000000000000000000000000000000 --- a/20220414/strings-14.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// istringstream constructors. -#include <iostream> // std::cout -#include <sstream> // std::istringstream -#include <string> // std::string - -int main () { - - std::string stringvalues = "125 320 512 750 333"; - std::istringstream iss (stringvalues); - - for (int n=0; n<5; n++) - { - const int val = 42; - iss >> val; - std::cout << val*2 << '\n'; - } - - return 0; -} diff --git a/20220414/templates-1.cpp b/20220414/templates-1.cpp deleted file mode 100644 index b6d013e09364e0d8cf5569215fe4f4d935c69d74..0000000000000000000000000000000000000000 --- a/20220414/templates-1.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include <iostream> -#include <string> - -using std::cout; -using std::endl; -using std::string; - -void print (int x) -{ - cout << x << endl; -} - -void print (string x) -{ - cout << x << endl; -} - -int main () -{ - print (42); - print ("Hello, world!"); - return 0; -} diff --git a/20220414/templates-10.cpp b/20220414/templates-10.cpp deleted file mode 100644 index 88fc5a10f5491f7a033885d619d904c93cb98cea..0000000000000000000000000000000000000000 --- a/20220414/templates-10.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#include <iostream> -#include <string> - -using namespace std; - -template <typename argtype> -class list -{ - struct node - { - argtype content; - node *next; - }; - node *root; -public: - list (); - void insert (argtype x); - void output (); -}; - -template <typename argtype> -list <argtype>::list () -{ - root = NULL; -} - -template <typename argtype> -void list <argtype>::insert (argtype x) -{ - node *n = new node; - n->content = x; - n->next = root; - root = n; -} - -template <typename argtype> -void list <argtype>::output () -{ - for (list *p = root; p; p = p->next) - cout << p->content << endl; -} - -int main () -{ - list <string> s; - s.insert ("one"); - s.insert ("two"); - s.insert ("three"); - list <int> i; - i.insert (1); - i.insert (2); - i.insert (3); - return 0; -} diff --git a/20220414/templates-11.cpp b/20220414/templates-11.cpp deleted file mode 100644 index 57aec679a2d56a4f3c9e8e84e3460309ec7d2720..0000000000000000000000000000000000000000 --- a/20220414/templates-11.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include <iostream> -#include <string> - -using namespace std; - -template <typename argtype> -class list -{ - struct node - { - argtype content; - node *next; - }; - node *root; -public: - list (); - void insert (argtype x); - void output (); -}; - -template <typename argtype> -list <argtype>::list () -{ - root = NULL; -} - -template <typename argtype> -void list <argtype>::insert (argtype x) -{ - node *n = new node; - n->content = x; - n->next = root; - root = n; -} - -template <typename argtype> -void list <argtype>::output () -{ - for (list *p = root; p; p = p->next) - cout << p->content << endl; -} - -int main () -{ - list <string> s; - s.insert ("one"); - s.insert ("two"); - s.insert ("three"); - s.output (); - list <int> i; - i.insert (1); - i.insert (2); - i.insert (3); - i.output (); - return 0; -} diff --git a/20220414/templates-12.cpp b/20220414/templates-12.cpp deleted file mode 100644 index e5d654753a19253f9d2d478071d3ba985d8ef1ea..0000000000000000000000000000000000000000 --- a/20220414/templates-12.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include <iostream> -#include <string> - -using namespace std; - -template <typename argtype> -class list -{ - struct node - { - argtype content; - node *next; - }; - node *root; -public: - list (); - void insert (argtype x); - void output (); -}; - -template <typename argtype> -list <argtype>::list () -{ - root = NULL; -} - -template <typename argtype> -void list <argtype>::insert (argtype x) -{ - node *n = new node; - n->content = x; - n->next = root; - root = n; -} - -template <typename argtype> -void list <argtype>::output () -{ - for (node *p = root; p; p = p->next) - cout << p->content << endl; -} - -int main () -{ - list <string> s; - s.insert ("one"); - s.insert ("two"); - s.insert ("three"); - s.output (); - list <int> i; - i.insert (1); - i.insert (2); - i.insert (3); - i.output (); - return 0; -} diff --git a/20220414/templates-13.cpp b/20220414/templates-13.cpp deleted file mode 100644 index 3577e9f853a2d50197193b20ad40d734f314f283..0000000000000000000000000000000000000000 --- a/20220414/templates-13.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include <iostream> -#include <string> - -using namespace std; - -template <typename argtype> -class list -{ - struct node - { - argtype content; - node *next; - }; - node *root; -public: - list (); - void insert (argtype x); - void output (); -}; - -template <typename argtype> -list <argtype>::list () -{ - root = NULL; -} - -template <typename argtype> -void list <argtype>::insert (argtype x) -{ - node *n = new node; - n->content = x; - n->next = root; - root = n; -} - -template <typename argtype> -void list <argtype>::output () -{ - for (node *p = root; p; p = p->next) - cout << p->content << endl; -} - -void blabla (int x) -{ - huddeldibuddel (wuppdich); -} - -int main () -{ - list <string> s; - s.insert ("one"); - s.insert ("two"); - s.insert ("three"); - s.output (); - list <int> i; - i.insert (1); - i.insert (2); - i.insert (3); - i.output (); - return 0; -} diff --git a/20220414/templates-14.cpp b/20220414/templates-14.cpp deleted file mode 100644 index b42e532f0a066ae1cd9991686967670c08c7e796..0000000000000000000000000000000000000000 --- a/20220414/templates-14.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#include <iostream> -#include <string> - -using namespace std; - -template <typename argtype> -class list -{ - struct node - { - argtype content; - node *next; - }; - node *root; -public: - list (); - void insert (argtype x); - void output (); -}; - -template <typename argtype> -list <argtype>::list () -{ - root = NULL; -} - -template <typename argtype> -void list <argtype>::insert (argtype x) -{ - node *n = new node; - n->content = x; - n->next = root; - root = n; -} - -template <typename argtype> -void list <argtype>::output () -{ - for (huddeldibuddel *p = root; p; p = p->next) - cout << p->content << endl; -} - -int main () -{ - list <string> s; - s.insert ("one"); - s.insert ("two"); - s.insert ("three"); - list <int> i; - i.insert (1); - i.insert (2); - i.insert (3); - return 0; -} diff --git a/20220414/templates-15.cpp b/20220414/templates-15.cpp deleted file mode 100644 index e8296e01cb5a66017ad9c4382e575bdd84989b43..0000000000000000000000000000000000000000 --- a/20220414/templates-15.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#include <iostream> -#include <string> - -using namespace std; - -template <typename argtype> -class list -{ - struct node - { - argtype content; - node *next; - }; - node *root; -public: - list (); - void insert (argtype x); - void output (); -}; - -template <typename argtype> -list <argtype>::list () -{ - root = NULL; -} - -template <typename argtype> -void list <argtype>::insert (argtype x) -{ - node *n = new node; - n->content = x; - n->next = root; - root = n; -} - -template <typename argtype> -void list <argtype>::output () -{ - for (char *p = root; p; p = p->next) - cout << p->content << endl; -} - -int main () -{ - list <string> s; - s.insert ("one"); - s.insert ("two"); - s.insert ("three"); - list <int> i; - i.insert (1); - i.insert (2); - i.insert (3); - return 0; -} diff --git a/20220414/templates-16.cpp b/20220414/templates-16.cpp deleted file mode 100644 index d023eeeb690ef2ba6032903f8564422a4a20a469..0000000000000000000000000000000000000000 --- a/20220414/templates-16.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include <iostream> -#include <string> - -using namespace std; - -template <typename argtype> -class list -{ - struct node - { - argtype content; - node *next; - }; - node *root; -public: - list (); - void insert (argtype x); - void output (); -}; - -template <typename argtype> -list <argtype>::list () -{ - root = NULL; -} - -template <typename argtype> -void list <argtype>::insert (argtype x) -{ - node *n = new node; - n->content = x; - n->next = root; - root = n; -} - -template <typename argtype> -void list <argtype>::output () -{ - for (node *p = root; p; p = p->next) - cout << p->content << endl; -} - -template <> -void list <int>::output () -{ - for (node *p = root; p; p = p->next) - cout << p->content << " "; - cout << endl; -} - -int main () -{ - list <string> s; - s.insert ("one"); - s.insert ("two"); - s.insert ("three"); - s.output (); - list <int> i; - i.insert (1); - i.insert (2); - i.insert (3); - i.output (); - return 0; -} diff --git a/20220414/templates-2.cpp b/20220414/templates-2.cpp deleted file mode 100644 index 191e3000629fc94071fcecc3be94077e9c7db360..0000000000000000000000000000000000000000 --- a/20220414/templates-2.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <iostream> -#include <string> - -using std::cout; -using std::endl; -using std::string; - -template <typename t> -void print (t x) -{ - cout << x << endl; -} - -int main () -{ - print (42); - print ("Hello, world!"); - return 0; -} diff --git a/20220414/templates-3.cpp b/20220414/templates-3.cpp deleted file mode 100644 index 6166f19ccac0771319f0c933de6f4d40b7160bbb..0000000000000000000000000000000000000000 --- a/20220414/templates-3.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <iostream> - -using std::cout; -using std::endl; - -template <typename t> -void print (t x) -{ - cout << x << endl; -} - -int main () -{ - print (42); - print ("Hello, world!"); - return 0; -} diff --git a/20220414/templates-4.cpp b/20220414/templates-4.cpp deleted file mode 100644 index 4fca6712426ce894917c93bacfaadccd1fdab88f..0000000000000000000000000000000000000000 --- a/20220414/templates-4.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include <iostream> - -using std::cout; -using std::endl; - -class bla -{ - int content; -}; - -template <typename t> -void print (t x) -{ - cout << x << endl; -} - -int main () -{ - print (42); - print ("Hello, world!"); - bla blubb; - print (blubb); - return 0; -} diff --git a/20220414/templates-5.cpp b/20220414/templates-5.cpp deleted file mode 100644 index bae372f4b327b1328b30f788e48b7b123308659b..0000000000000000000000000000000000000000 --- a/20220414/templates-5.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include <iostream> - -using std::cout; -using std::endl; - -class bla -{ -public: - int content; -}; - -template <typename t> -void print (t x) -{ - cout << x << endl; -} - -int main () -{ - print (42); - print ("Hello, world!"); - bla blubb; - print (blubb); - return 0; -} diff --git a/20220414/templates-6.cpp b/20220414/templates-6.cpp deleted file mode 100644 index 47ff2fe13a1bcc64a1743d98fe4068e61e266952..0000000000000000000000000000000000000000 --- a/20220414/templates-6.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include <iostream> - -using std::cout; -using std::endl; - -class bla -{ -public: - int content; - bla (int x): - content (x) - { - } -}; - -template <typename t> -void print (t x) -{ - cout << x << endl; -} - -int main () -{ - print (42); - print ("Hello, world!"); - bla blubb (137); - print (blubb); - return 0; -} diff --git a/20220414/templates-7.cpp b/20220414/templates-7.cpp deleted file mode 100644 index 4279b334c08faebaacd2759bbb48e89389525d1a..0000000000000000000000000000000000000000 --- a/20220414/templates-7.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include <iostream> - -using std::cout; -using std::endl; - -class bla -{ -public: - int content; - bla (int x): - content (x) - { - } -}; - -template <typename t> -void print (t x) -{ - cout << x << endl; -} - -template <> -void print (bla x) -{ - cout << x.content << endl; -} - -int main () -{ - print (42); - print ("Hello, world!"); - bla blubb (137); - print (blubb); - return 0; -} diff --git a/20220414/templates-8.cpp b/20220414/templates-8.cpp deleted file mode 100644 index f5666396dbb9e92ef29c366e1d413e4dcdb453af..0000000000000000000000000000000000000000 --- a/20220414/templates-8.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include <iostream> -#include <string> - -using std::cout; -using std::endl; -using std::string; - -class bla -{ -public: - int content; - bla (int x): - content (x) - { - } -}; - -template <typename t> -void print (t x) -{ - cout << x << endl; -} - -template <> -void print (bla x) -{ - cout << x.content << endl; -} - -int main () -{ - print (42); - string hello = "Hello, world!"; - print (hello); - bla blubb (137); - print (blubb); - return 0; -} diff --git a/20220414/templates-9.cpp b/20220414/templates-9.cpp deleted file mode 100644 index 5c001b614748c329d419c095943b6c2e4bce4918..0000000000000000000000000000000000000000 --- a/20220414/templates-9.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include <iostream> -#include <string> - -using std::cout; -using std::endl; -using std::string; - -class bla -{ -public: - int content; - bla (int x): - content (x) - { - } -}; - -template <typename t> -void print (t x) -{ - cout << x << endl; -} - -template <> -void print (bla x) -{ - cout << x.content << endl; -} - -template <> -void print (const char *x) -{ - cout << x << " :-)" << endl; -} - -int main () -{ - print (42); - string hello = "Hello, world!"; - print (hello); - print ("Hello, world!"); - bla blubb (137); - print (blubb); - return 0; -} diff --git a/20220421/ad-20220421.pdf b/20220421/ad-20220421.pdf deleted file mode 100644 index 6bbb30cd1be57c9186477f98f24da3fb9b60d3f0..0000000000000000000000000000000000000000 Binary files a/20220421/ad-20220421.pdf and /dev/null differ diff --git a/20220421/ad-20220421.tex b/20220421/ad-20220421.tex deleted file mode 100644 index 497c6de17c04a417f0081efbc86abd20112a150b..0000000000000000000000000000000000000000 --- a/20220421/ad-20220421.tex +++ /dev/null @@ -1,329 +0,0 @@ -% ad-20220421.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ -% Copyright (C) 2018, 2019, 2020, 2021, 2022 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: Exceptions, Typ-Konversionen - -\documentclass[10pt,t]{beamer} - -\usepackage{pgslides} -\usepackage{tikz} -\usepackage{rotating} - -\newcommand{\underconstruction}{% - \begin{picture}(0,0) - \color{black} - \put(7.5,-2.2){\makebox(0,0)[b]{\includegraphics[width=1.5cm]{Zeichen_123.pdf}}} - \put(7.5,-2.5){\makebox(0,0)[t]{\shortstack{Änderungen\\vorbehalten}}} - \end{picture}} - -\title{Algorithmen und Datenstrukturen in C/C++} -\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski} -\date{21.\ April 2022} - -\begin{document} - -\maketitleframe - -\nosectionnonumber{\inserttitle} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} -% \underconstruction - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{2}] \textbf{Einführung in C++} - \begin{itemize} - \vspace*{-\smallskipamount} - \item[\dots] - \item[2.6] Namensräume - \item[2.7] Objekte - \item[2.8] Strings - \color{medgreen} - \item[2.9] Templates - \item[2.10] Container-Templates - \item[2.11] Iteratoren - \color{red} - \item[2.12] Exceptions - \item[2.13] Typ-Konversionen - \end{itemize} - \item[\textbf{3}] \textbf{Datenorganisation} -% \begin{itemize} -% \item Listen, Bäume, Hash-Tabellen, \dots -% \end{itemize} - \item[\textbf{4}] \textbf{Datenkodierung} -% \begin{itemize} -% \item Fehlererkennung und -korrektur -% \item Kompression -% \item Kryptographie -% \end{itemize} - \item[\textbf{5}] \textbf{Hardwarenahe Algorithmen} -% \begin{itemize} -% \item FFT, CORDIC, \dots -% \end{itemize} - \item[\textbf{6}] \textbf{Optimierung} -% \begin{itemize} -% \item Wegfindung, \dots -% \end{itemize} - \color{gray} - \item[\textbf{7}] \textbf{Numerik} - \end{itemize} - -\end{frame} - -\setcounter{section}{1} -\section{Einführung in C++} -\addtocounter{subsection}{8} -\subsection{Templates} - -\begin{frame}[fragile] - \showsubsection - Anwendung desselben Quelltextes auf verschiedene Datentypen - \begin{itemize} - \item - \lstinline{template <typename x> ...} - \item - \lstinline{template <class x> ...} - \end{itemize} -% \pause - Vorsicht: Fehler werden erst bei Instantiierung erkannt! -% \pause - \begin{itemize} - \item - Template-Spezialisierung:\\ - \lstinline{template <> foo <int> ...} - \end{itemize} -\end{frame} - -\subsection{Container-Templates} - -\begin{frame} - \showsection - \showsubsection - \vspace*{-0.25cm} - \begin{tabular}{ll} - \lstinline|array| & Array mit fester Größe \\ - \lstinline|bitset| & festes Array von Bits (Booleans) \\ - \lstinline|vector| & dynamisches Array \\ - \lstinline|vector <bool>| & dynamisches Bit-Array \\ - \lstinline|forward_list| & einfach-verkettete Liste \\ - \lstinline|list| & doppelt-verkettete Liste \\ - \lstinline|set| & binärer Baum \\ - \lstinline|multiset| & mehrfache Elemente zulässig \\ - \lstinline|unordered_set| & Hash-Tabelle \\ - \lstinline|unordered_multiset| & mehrfache Elemente zulässig \\ - \lstinline|map| & binärer Baum mit separaten Schlüsselwerten \\ - \lstinline|multimap| & mehrere Elemente pro Schlüssel \\ - \lstinline|unordered_map| & Hash-Tabelle mit separaten Schlüsselwerten \\ - \lstinline|unordered_multimap| & mehrere Elemente pro Schlüssel \\ - \lstinline|stack| & Stack \\ - \lstinline|queue| & FIFO \\ - \lstinline|deque| & \emph{\textbf{d}ouble-\textbf{e}nded \textbf{que}ue} \\ - \lstinline|priority_queue| & geordneter Push-Pop-Container - \end{tabular} - \vspace*{-1cm} -\end{frame} - -\subsection{Iteratoren} - -\begin{frame}[fragile] - \showsection - \showsubsection - - \begin{onlyenv}<1> - Pointer-Arithmetik: - \medskip - \begin{lstlisting}[gobble=6] - int prime[5] = { 2, 3, 5, 7, 11 }; - for (int *p = prime; p != prime + 5; p++) - std::cout << *p << std::endl; - \end{lstlisting} - - \bigskip - \end{onlyenv} - - Iterator als Verallgemeinerung: - \medskip - \begin{lstlisting} - std::array <int, 5> prime = { { 2, 3, 5, 7, 11 } }; - for (std::array <int, 5>::iterator p = prime.begin (); p != prime.end (); p++) - std::cout << *p << std::endl; - \end{lstlisting} - - \bigskip - Mit \lstinline{auto}-Datentyp: - \medskip - \begin{lstlisting} - std::array <int, 5> prime = { { 2, 3, 5, 7, 11 } }; - for (auto p = prime.begin (); p != prime.end (); p++) - std::cout << *p << std::endl; - \end{lstlisting} - - \begin{onlyenv}<2-> - \bigskip - Mit Doppelpunkt-Syntax: - \medskip - \begin{lstlisting}[gobble=6] - std::array <int, 5> prime = { { 2, 3, 5, 7, 11 } }; - for (auto p : prime) - std::cout << p << std::endl; - \end{lstlisting} - \end{onlyenv} -\end{frame} - -\subsection{Exceptions} - -\begin{frame}[fragile] - \showsubsection - \begin{lstlisting} - try - { - ... - throw <value>; - ... - } - catch (<type> <variable>) - { - ... - } - catch ... - \end{lstlisting} - \vspace*{-4.6cm}\hspace*{5cm} - \begin{minipage}{7cm} - \begin{itemize} - \item - Nach den \lstinline{catch()}-Statements wird, - soweit nicht anders programmiert, das Programm fortgesetzt. - \medskip - \item - \lstinline{throw;} (ohne Wert):\\ - an übergeordneten Exception-Handler weiterreichen - \medskip - \item - C-Äquivalent:\\ - \lstinline{setjmp()}, \lstinline{longjmp()} - \medskip - \item - speziell für \lstinline{<type>}:\\ - Nachfahren von \lstinline{class exception} - \medskip - \item - veraltet:\\ - \newterm{dynamic exception specifications} - \end{itemize} - \end{minipage} -\end{frame} - -\subsection{Typ-Konversionen} - -\begin{frame}[fragile] - \showsubsection - - \begin{itemize} - \item - In C: - \begin{lstlisting}[gobble=8] - char *hello = "Hello, world!"; - uint64_t address = (uint64_t) hello; - printf ("%" PRIu64 "\n", address); - \end{lstlisting} - \smallskip - \item - alternative Syntax in C++: - \begin{lstlisting}[gobble=8] - char *hello = "Hello, world!"; - uint64_t address = uint64_t (hello); - cout << address << endl; - \end{lstlisting} - \smallskip - \item - zusätzlich in C++:\\ - implizite und explizite Typumwandlung zwischen Zeigern auf Klassen\\ - \lstinline{dynamic_cast<>()}\\ - \lstinline{static_cast<>()}\\ - \lstinline{reinterpret_cast<>()}\\ - \lstinline{const_cast<>()} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \url{http://www.cplusplus.com/doc/tutorial/typecasting/} - - \begin{itemize} - \item - Zuweisung: Zeiger auf abgeleitete Klasse an Zeiger auf Basisklasse\\ - \textarrow\ implizite Typumwandlung möglich - \smallskip - \item - Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\ - \textarrow\ nur explizite Typumwandlung möglich:\\ - \hspace*{0.76cm}\lstinline{dynamic_cast<>()}, \lstinline{static_cast<>()} - \smallskip - \item - implizite Typumwandlungen in der Klasse definieren: - \begin{itemize} - \item - Initialisierung durch Konstruktor - \item - Zuweisungs-Operator - \item - Typumwandlungsoperator - \end{itemize} - \smallskip - \item - implizite Typumwandlungen ausschalten:\\ - Schlüsselwort \lstinline{explicit} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \showsubsection - - \url{http://www.cplusplus.com/doc/tutorial/typecasting/} - - \begin{itemize} - \item - \lstinline{dynamic_cast<>()}\\ - Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\ - explizite Typumwandlung mit Prüfung, ggf.\ Exception - \smallskip - \item - \lstinline{static_cast<>()}\\ - Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\ - explizite Typumwandlung ohne Prüfung - \smallskip - \item - \lstinline{reinterpret_cast<>()}\\ - Typumwandlung ohne Prüfung zwischen Zeigern untereinander\\ - und zwischen Zeigern und Integer-Typen - \smallskip - \item - \lstinline{const_cast<>()}\\ - "`\lstinline{const}"' ein- bzw.\ ausschalten - \end{itemize} -\end{frame} - -\end{document} diff --git a/20220421/hash-1.cpp b/20220421/hash-1.cpp deleted file mode 100644 index 25ebdb1c261382e58f3b0a1f6727e77246fb14ee..0000000000000000000000000000000000000000 --- a/20220421/hash-1.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// C++ program to demonstrate various function of unordered_set -#include <bits/stdc++.h> -using namespace std; - -int main() -{ - // declaring set for storing string data-type - unordered_set <string> stringSet ; - - // inserting various string, same string will be stored - // once in set - - stringSet.insert("code") ; - stringSet.insert("in") ; - stringSet.insert("c++") ; - stringSet.insert("is") ; - stringSet.insert("fast") ; - - string key = "slow" ; - - // find returns end iterator if key is not found, - // else it returns iterator to that key - - if (stringSet.find(key) == stringSet.end()) - cout << key << " not found" << endl << endl ; - else - cout << "Found " << key << endl << endl ; - - key = "c++"; - if (stringSet.find(key) == stringSet.end()) - cout << key << " not found\n" ; - else - cout << "Found " << key << endl ; - - // now iterating over whole set and printing its - // content - cout << "\nAll elements : "; - unordered_set<string> :: iterator itr; - for (itr = stringSet.begin(); itr != stringSet.end(); itr++) - cout << (*itr) << endl; -} diff --git a/20220421/logo-hochschule-bochum-cvh-text.pdf b/20220421/logo-hochschule-bochum-cvh-text.pdf deleted file mode 120000 index a05946126bc0ce6a2818740da2893f59eb0c659c..0000000000000000000000000000000000000000 --- a/20220421/logo-hochschule-bochum-cvh-text.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum-cvh-text.pdf \ No newline at end of file diff --git a/20220421/logo-hochschule-bochum.pdf b/20220421/logo-hochschule-bochum.pdf deleted file mode 120000 index b6b9491e370e499c9276918182cdb82cb311bcd1..0000000000000000000000000000000000000000 --- a/20220421/logo-hochschule-bochum.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20220421/pgslides.sty b/20220421/pgslides.sty deleted file mode 120000 index 5be1416f4216f076aa268901f52a15d775e43f64..0000000000000000000000000000000000000000 --- a/20220421/pgslides.sty +++ /dev/null @@ -1 +0,0 @@ -../common/pgslides.sty \ No newline at end of file diff --git a/20220421/sets-1.cpp b/20220421/sets-1.cpp deleted file mode 100644 index 27278fa2c25ba084bcd10923f2ff95c92dc54cd2..0000000000000000000000000000000000000000 --- a/20220421/sets-1.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - std::set <int> prime = { { 2, 3, 5, 7, 11 }}; - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-10.cpp b/20220421/sets-10.cpp deleted file mode 100644 index 49cbf5fb5941e22fa92c07f85fb921384874facd..0000000000000000000000000000000000000000 --- a/20220421/sets-10.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include <iostream> -#include <set> - -bool less (int a, int b) -{ - return a > b; -} - -int main () -{ - std::set <int, bool (*) (int, int)> prime (less); - - // "bool (*less) (int a, int b)" - // wäre eine Variable "less" vom Typ "Zeiger auf eine Funktion, - // die 2 ints erwartet und ein bool zurückgibt". - // Um nur den Typen dieses Zeigers zu bekommen, lassen wir den - // Bezeichner "less" für die Variable weg. - - // Nur "bool *less (int a, int b)" - // wäre eine Funktion "less", die einen Zeiger auf bool zurückgibt - // und 2 ints als Parameter erwartet. - - prime.insert (2); - prime.insert (3); - prime.insert (7); - prime.insert (11); - prime.insert (13); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-11.cpp b/20220421/sets-11.cpp deleted file mode 100644 index 0e734833ed98fc743a943e413b06aa8b522933e7..0000000000000000000000000000000000000000 --- a/20220421/sets-11.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <iostream> -#include <set> - -bool less (int a, int b) -{ - return a > b; -} - -int main () -{ - std::set <int, bool (*) (int, int)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-12.cpp b/20220421/sets-12.cpp deleted file mode 100644 index dbd9d09ecaf7fce98534f14e8a7e87abbe9cbbbe..0000000000000000000000000000000000000000 --- a/20220421/sets-12.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - auto less = [] (int a, int b) { return a > b; }; - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-13.cpp b/20220421/sets-13.cpp deleted file mode 100644 index fe60b8be43cfb34a8c7796b52cec1ed6caf69c40..0000000000000000000000000000000000000000 --- a/20220421/sets-13.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [] (int a, int b) - { - if (fwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-14.cpp b/20220421/sets-14.cpp deleted file mode 100644 index ce6e128cb9f160aa6672d79a092f4d562d60ed9c..0000000000000000000000000000000000000000 --- a/20220421/sets-14.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [fwd] (int a, int b) - { - if (fwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-15.cpp b/20220421/sets-15.cpp deleted file mode 100644 index 26233018b86c7a67230b18f24f211422cbd48bd3..0000000000000000000000000000000000000000 --- a/20220421/sets-15.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [fwd] (int a, int b) - { - fwd = !fwd; - if (fwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-16.cpp b/20220421/sets-16.cpp deleted file mode 100644 index ab86f9cf4aeb6e06620dc10916d5ffda2d2a6958..0000000000000000000000000000000000000000 --- a/20220421/sets-16.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [&fwd] (int a, int b) - { - fwd = !fwd; - if (fwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-17.cpp b/20220421/sets-17.cpp deleted file mode 100644 index 06fd778e71c8eb135a88cff16f3a109ad08839ae..0000000000000000000000000000000000000000 --- a/20220421/sets-17.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [fwd] (int a, int b) - { - if (fwd) - return a < b; - else - return a > b; - }; - - fwd = 0; - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-18.cpp b/20220421/sets-18.cpp deleted file mode 100644 index 92537b799f6f5259622aae566650ffa15fc5e414..0000000000000000000000000000000000000000 --- a/20220421/sets-18.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [fwd] (int a, int b) - { - if (fwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-19.cpp b/20220421/sets-19.cpp deleted file mode 100644 index fb81394c27ef553251f802c2cc6e84426e9b640a..0000000000000000000000000000000000000000 --- a/20220421/sets-19.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [&fwd] (int a, int b) - { - if (fwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-2.cpp b/20220421/sets-2.cpp deleted file mode 100644 index 330227bfbfea1920f2100098cac8899c49817f73..0000000000000000000000000000000000000000 --- a/20220421/sets-2.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - std::set <int> prime = { { 2, 3, 7, 11, 13, 17, 19 }}; - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-20.cpp b/20220421/sets-20.cpp deleted file mode 100644 index 08a1324d6fa13e8a642649ae181601316fd93eaf..0000000000000000000000000000000000000000 --- a/20220421/sets-20.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [const &fwd] (int a, int b) - { - if (fwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-21.cpp b/20220421/sets-21.cpp deleted file mode 100644 index 7923867a04f2972064e65ee64d9156b61201a40d..0000000000000000000000000000000000000000 --- a/20220421/sets-21.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [&const fwd] (int a, int b) - { - if (fwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-22.cpp b/20220421/sets-22.cpp deleted file mode 100644 index c00ba7cae5c587830318eb682870a0c0589468ba..0000000000000000000000000000000000000000 --- a/20220421/sets-22.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - const bool &cfwd = fwd; - - auto less = [&cfwd] (int a, int b) - { - if (cfwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-23.cpp b/20220421/sets-23.cpp deleted file mode 100644 index dc7a86b5363d40a347e65e5ed0ae286acb7d4925..0000000000000000000000000000000000000000 --- a/20220421/sets-23.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - const bool &cfwd = fwd; - - auto less = [&cfwd] (int a, int b) - { - cfwd = !cfwd; - if (cfwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-24.cpp b/20220421/sets-24.cpp deleted file mode 100644 index 27cd796763a8d6056c03bf175fa446c2deb8d416..0000000000000000000000000000000000000000 --- a/20220421/sets-24.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <set> - -bool fwd = 1; - -bool less (int a, int b) -{ - if (fwd) - return a < b; - else - return a > b; -} - -int main () -{ - std::set <int, decltype (less)*> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-25.cpp b/20220421/sets-25.cpp deleted file mode 100644 index 69bf90020efdcadd104484c4118fab471332c227..0000000000000000000000000000000000000000 --- a/20220421/sets-25.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <iostream> -#include <set> -#include <functional> - -bool less (int fwd, int a, int b) -{ - if (fwd) - return a < b; - else - return a > b; -} - -int main () -{ - int fwd = 1; - auto less2 = std::bind (less, fwd, std::placeholders::_1, std::placeholders::_2); - std::set <int, decltype (less2)*> prime ({ 2, 3, 7, 11, 13 }, &less2); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-26.cpp b/20220421/sets-26.cpp deleted file mode 100644 index 2147e4b47b6809ce3361418d50a3770b63f1520f..0000000000000000000000000000000000000000 --- a/20220421/sets-26.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <iostream> -#include <set> -#include <functional> - -bool less (int fwd, int a, int b) -{ - if (fwd) - return a < b; - else - return a > b; -} - -int main () -{ - int fwd = 1; - auto less2 = std::bind (less, fwd, std::placeholders::_1, std::placeholders::_2); - std::cout << less2 (2, 4) << std::endl; - fwd = 0; - std::cout << less2 (2, 4) << std::endl; - return 0; -} diff --git a/20220421/sets-27.cpp b/20220421/sets-27.cpp deleted file mode 100644 index bab050767ad8131d662fef0636e4c13d12143529..0000000000000000000000000000000000000000 --- a/20220421/sets-27.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <iostream> -#include <set> -#include <functional> - -bool less (int *fwd, int a, int b) -{ - if (*fwd) - return a < b; - else - return a > b; -} - -int main () -{ - int fwd = 1; - auto less2 = std::bind (less, &fwd, std::placeholders::_1, std::placeholders::_2); - std::cout << less2 (2, 4) << std::endl; - fwd = 0; - std::cout << less2 (2, 4) << std::endl; - return 0; -} diff --git a/20220421/sets-28.cpp b/20220421/sets-28.cpp deleted file mode 100644 index bb78147b94fd19826d85215b64632611ad01c564..0000000000000000000000000000000000000000 --- a/20220421/sets-28.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <iostream> -#include <set> -#include <functional> - -bool less (int fwd, int a, int b) -{ - if (fwd) - return a < b; - else - return a > b; -} - -int main () -{ - int fwd = 1; - auto less2 = std::bind (less, fwd, std::placeholders::_1, std::placeholders::_2); - std::set <int, std::function <bool (int, int)>> prime ({ 2, 3, 7, 11, 13 }, less2); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-29.cpp b/20220421/sets-29.cpp deleted file mode 100644 index d0bcefa7f6687dfdc4acf610d9e4d591770f45f4..0000000000000000000000000000000000000000 --- a/20220421/sets-29.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include <iostream> -#include <set> -#include <functional> -#include <typeinfo> - -bool less (int fwd, int a, int b) -{ - if (fwd) - return a < b; - else - return a > b; -} - -int main () -{ - int fwd = 1; - auto less2 = std::bind (less, fwd, std::placeholders::_1, std::placeholders::_2); - std::cout << typeid (less2).name () << std::endl; - std::set <int, std::function <bool (int, int)>> prime ({ 2, 3, 7, 11, 13 }, less2); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-3.cpp b/20220421/sets-3.cpp deleted file mode 100644 index ea8ca648d457c26cb820d7f8e71269d0c1c457b4..0000000000000000000000000000000000000000 --- a/20220421/sets-3.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - auto less = [] (int a, int b) { return a > b; }; - std::set <int, decltype (less)> prime (less); - prime.insert (2); - prime.insert (3); - prime.insert (7); - prime.insert (11); - prime.insert (13); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-30.cpp b/20220421/sets-30.cpp deleted file mode 100644 index 87bcbcadf2e3d3ef1c1a5df1e1a7a0b633861f65..0000000000000000000000000000000000000000 --- a/20220421/sets-30.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <iostream> -#include <set> -#include <functional> - -bool less (int *fwd, int a, int b) -{ - if (*fwd) - return a < b; - else - return a > b; -} - -int main () -{ - int fwd = 1; - auto less2 = std::bind (less, &fwd, std::placeholders::_1, std::placeholders::_2); - std::set <int, std::function <bool (int, int)>> prime ({ 2, 3, 7, 11, 13 }, less2); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-31.cpp b/20220421/sets-31.cpp deleted file mode 100644 index e81053c78b8a3687a764550b3f379438e0cf7b9c..0000000000000000000000000000000000000000 --- a/20220421/sets-31.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <iostream> -#include <set> -#include <functional> - -bool less (int &fwd, int a, int b) -{ - if (fwd) - return a < b; - else - return a > b; -} - -int main () -{ - int fwd = 1; - auto less2 = std::bind (less, fwd, std::placeholders::_1, std::placeholders::_2); - std::set <int, std::function <bool (int, int)>> prime ({ 2, 3, 7, 11, 13 }, less2); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-32.cpp b/20220421/sets-32.cpp deleted file mode 100644 index f3f70cc82d187bf1cede45c17e11cb242c26dd80..0000000000000000000000000000000000000000 --- a/20220421/sets-32.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include <iostream> -#include <set> -#include <functional> - -bool less (int &fwd, int a, int b) -{ - if (fwd) - return a < b; - else - return a > b; -} - -int main () -{ - int fwd = 1; - auto less2 = std::bind (less, std::reference_wrapper <int> (fwd), - std::placeholders::_1, std::placeholders::_2); - std::set <int, std::function <bool (int, int)>> prime ({ 2, 3, 7, 11, 13 }, less2); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-33.cpp b/20220421/sets-33.cpp deleted file mode 100644 index 342b96a9d5704c2a97838aa7d6add685f544f36a..0000000000000000000000000000000000000000 --- a/20220421/sets-33.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include <iostream> -#include <set> -#include <functional> - -bool less (int &fwd, int a, int b) -{ - if (fwd) - return a < b; - else - return a > b; -} - -int main () -{ - int fwd = 1; - auto less2 = std::bind (less, std::ref (fwd), - std::placeholders::_1, std::placeholders::_2); - std::set <int, std::function <bool (int, int)>> prime ({ 2, 3, 7, 11, 13 }, less2); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-34.pas b/20220421/sets-34.pas deleted file mode 100644 index 23506b5fccc2e57689904db259802a9d59100b11..0000000000000000000000000000000000000000 --- a/20220421/sets-34.pas +++ /dev/null @@ -1,27 +0,0 @@ -program Sets; - -procedure Sort (a, b: Integer; function less (a, b: Integer): Boolean); -begin - if less (a, b) then - WriteLn (a, ' < ', b) - else - WriteLn (a, ' > ', b) -end; - -procedure DoSomething; - - function less (a, b: Integer): Boolean; - begin - if a < b then - less := true - else - less := false - end; - -begin - Sort (2, 4, less) -end; - -begin - DoSomething -end. diff --git a/20220421/sets-35.pas b/20220421/sets-35.pas deleted file mode 100644 index 015a047d7f3f526aeb634c05f3693e69132ff88c..0000000000000000000000000000000000000000 --- a/20220421/sets-35.pas +++ /dev/null @@ -1,24 +0,0 @@ -program Sets; - -procedure Sort (a, b: Integer; function less (a, b: Integer): Boolean); -begin - if less (a, b) then - WriteLn (a, ' < ', b) - else - WriteLn (a, ' > ', b) -end; - -procedure DoSomething; - - function less (a, b: Integer): Boolean; - begin - less := a < b - end; - -begin - Sort (2, 4, less) -end; - -begin - DoSomething -end. diff --git a/20220421/sets-36.pas b/20220421/sets-36.pas deleted file mode 100644 index 6524fc810be0b787d37d8db535896af48c16eb1f..0000000000000000000000000000000000000000 --- a/20220421/sets-36.pas +++ /dev/null @@ -1,32 +0,0 @@ -program Sets; - -procedure Sort (a, b: Integer; function less (a, b: Integer): Boolean); -begin - if less (a, b) then - WriteLn (a, ' < ', b) - else - WriteLn (a, ' > ', b) -end; - -procedure DoSomething; - -var - fwd: Boolean = true; - - function less (a, b: Integer): Boolean; - begin - if fwd then - less := a < b - else - less := a > b - end; - -begin - Sort (2, 4, less); - fwd := false; - Sort (2, 4, less) -end; - -begin - DoSomething -end. diff --git a/20220421/sets-37.cpp b/20220421/sets-37.cpp deleted file mode 100644 index 645c0dc954ff57c59c9267082216393fd4418d48..0000000000000000000000000000000000000000 --- a/20220421/sets-37.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [&] (int a, int b) - { - if (fwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-38.cpp b/20220421/sets-38.cpp deleted file mode 100644 index 5945f9399059de2fee5f3fab3df4be56a8fc5749..0000000000000000000000000000000000000000 --- a/20220421/sets-38.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <set> - -int main () -{ - bool fwd = 1; - - auto less = [=] (int a, int b) - { - if (fwd) - return a < b; - else - return a > b; - }; - - std::set <int, decltype (less)> prime ({ 2, 3, 7, 11, 13 }, less); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - fwd = 0; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-4.cpp b/20220421/sets-4.cpp deleted file mode 100644 index 5a570fd45863c48f8161b6f4f8539699687947e3..0000000000000000000000000000000000000000 --- a/20220421/sets-4.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include <iostream> -#include <set> - -bool less (int a, int b) -{ - return a > b; -} - -int main () -{ - std::set <int, decltype (less)*> prime (less); - prime.insert (2); - prime.insert (3); - prime.insert (7); - prime.insert (11); - prime.insert (13); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-5.cpp b/20220421/sets-5.cpp deleted file mode 100644 index df0e25fd02c1d76e3eb043c1471a278d31f6d31a..0000000000000000000000000000000000000000 --- a/20220421/sets-5.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include <iostream> -#include <set> - -bool less (int a, int b) -{ - return a > b; -} - -int main () -{ - std::set <int, decltype (&less)> prime (&less); - prime.insert (2); - prime.insert (3); - prime.insert (7); - prime.insert (11); - prime.insert (13); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-6.cpp b/20220421/sets-6.cpp deleted file mode 100644 index d7b788325e0afc13a78bdc9a27b7a513463d57b6..0000000000000000000000000000000000000000 --- a/20220421/sets-6.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include <iostream> -#include <set> - -bool less (int a, int b) -{ - return a > b; -} - -int main () -{ - std::set <int, &less> prime (&less); - prime.insert (2); - prime.insert (3); - prime.insert (7); - prime.insert (11); - prime.insert (13); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-7.cpp b/20220421/sets-7.cpp deleted file mode 100644 index bbae6b37e19436c4bf2e677e01ad2cc94402d146..0000000000000000000000000000000000000000 --- a/20220421/sets-7.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include <iostream> -#include <set> - -bool less (int a, int b) -{ - return a > b; -} - -int main () -{ - std::set <int, decltype (&less)> prime (less); - prime.insert (2); - prime.insert (3); - prime.insert (7); - prime.insert (11); - prime.insert (13); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-8.cpp b/20220421/sets-8.cpp deleted file mode 100644 index fe5819174bfac778efcf1f8ac2d21a49c4b8c656..0000000000000000000000000000000000000000 --- a/20220421/sets-8.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include <iostream> -#include <set> - -bool less (int a, int b) -{ - return a > b; -} - -int main () -{ - std::set <int, bool (*) (int a, int b)> prime (less); - - // "bool (*less) (int a, int b)" - // wäre eine Variable "less" vom Typ "Zeiger auf eine Funktion, - // die 2 ints erwartet und ein bool zurückgibt". - // Um nur den Typen dieses Zeigers zu bekommen, lassen wir den - // Bezeichner "less" für die Variable weg. - - // Nur "bool *less (int a, int b)" - // wäre eine Funktion "less", die einen Zeiger auf bool zurückgibt - // und 2 ints als Parameter erwartet. - - prime.insert (2); - prime.insert (3); - prime.insert (7); - prime.insert (11); - prime.insert (13); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220421/sets-9.cpp b/20220421/sets-9.cpp deleted file mode 100644 index 6ccabde6a7b2c306012d7e679195e172bd46b1ab..0000000000000000000000000000000000000000 --- a/20220421/sets-9.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include <iostream> -#include <set> - -bool less (int a, int b) -{ - return a > b; -} - -int main () -{ - std::set <int, bool * (int a, int b)> prime (less); - - // Falsch - - prime.insert (2); - prime.insert (3); - prime.insert (7); - prime.insert (11); - prime.insert (13); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - prime.insert (5); - for (auto p : prime) - std::cout << p << " "; - std::cout << std::endl; - return 0; -} diff --git a/20220428/ad-20220428.txt b/20220428/ad-20220428.txt deleted file mode 100644 index b60ebc8a178d5eff8a2d4407e0b93c862333577c..0000000000000000000000000000000000000000 --- a/20220428/ad-20220428.txt +++ /dev/null @@ -1,16 +0,0 @@ -Wie lösen wir das Problem der Speicherineffizienz? - - - "zu große" Hash-Funktion wählen, danach modulo einer "krummen" Zahl rechnen, - typischerweise eine Primzahl - - - Programm "gperf": - Die Wörter sind vorher bekannt. (Sonst nicht einsetzbar.) - Das Programm erzeugt eine "perfekte" Hash-Tabelle (d.h. ohne Kollisionen). - Einsatz in gcc und verwandten Compilern zur Erkennung von Schlüsselwörtern - - - Ansonsten: Kollisionsbehandlung - - z.B.: wenn Stelle bereits besetzt, weiterwnadern, freie Stelle finden - (z.B.: "sieben" bei 't' statt bei 's' speichern) - - oder: an jeder Stelle eine verkettete Liste von Möglichkeiten (dort: O(n)) - - oder: an jeder Stelle eine weitere Hash-Tabelle - siehe: https://de.wikipedia.org/wiki/Hashtabelle diff --git a/20220428/hash-map-1.c b/20220428/hash-map-1.c deleted file mode 100644 index ac4e69a997c9bb334c51726867d81972363b5ac6..0000000000000000000000000000000000000000 --- a/20220428/hash-map-1.c +++ /dev/null @@ -1,23 +0,0 @@ -#include <stdio.h> -#include <string.h> - -int get_number (const char *name) /* geschummelt, aber trotzdem schlechter als die */ -{ /* richtige Lösung: O(n) statt O(1) */ - if (!strcmp (name, "eins")) - return 1; - else if (!strcmp (name, "zwei")) - return 2; - else if (!strcmp (name, "drei")) - return 3; - else - return 0; -} - -int main (void) -{ - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - printf ("%d %d %d\n", eins, zwei, drei); - return 0; -} diff --git a/20220428/hash-map-2.c b/20220428/hash-map-2.c deleted file mode 100644 index ad282b0476fc916d70459f9884f1e99e41edbf0a..0000000000000000000000000000000000000000 --- a/20220428/hash-map-2.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> -#include <string.h> - -int get_number (const char *name) /* geschummelt, aber trotzdem schlechter als die */ -{ /* richtige Lösung: O(n) statt O(1) */ - static const char *n[] = { "null", "eins", "zwei", "drei", "vier", NULL }; - for (int i = 0; n[i]; i++) - if (!strcmp (name, n[i])) - return i; - return -1; -} - -int main (void) -{ - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - printf ("%d %d %d\n", eins, zwei, drei); - return 0; -} diff --git a/20220428/hash-map-3.c b/20220428/hash-map-3.c deleted file mode 100644 index bf0c603a0170e45aa422e5c2b1594da94de4b248..0000000000000000000000000000000000000000 --- a/20220428/hash-map-3.c +++ /dev/null @@ -1,49 +0,0 @@ -#include <stdio.h> -#include <string.h> - -int get_number (const char *name) /* nicht mehr geschummelt, O(1), aber: */ -{ /* - Speicher-ineffizient */ - static const int n[26] = /* - unvollständig: "sechs", "sieben" */ - { /* - unzuverlässig: "egon" = "eins" */ - 8, /* a */ - -1, /* b */ - -1, /* c */ - 3, /* d */ - 1, /* e */ - 5, /* f */ - -1, /* g */ - -1, /* h */ - -1, /* i */ - -1, /* j */ - -1, /* k */ - -1, /* l */ - -1, /* m */ - 0, /* n */ - -1, /* o */ - -1, /* p */ - -1, /* q */ - -1, /* r */ - 6, /* s */ - -1, /* t */ - -1, /* u */ - 4, /* v */ - -1, /* w */ - -1, /* x */ - -1, /* y */ - 2 /* z */ - }; - int value = -1; - if (name && name[0] >= 'a' && name[0] <= 'z') - value = n[name[0] - 'a']; - return value; -} - -int main (void) -{ - int eins = get_number ("egon"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - printf ("%d %d %d %d\n", eins, zwei, drei, vier); - return 0; -} diff --git a/20220428/hash-map-4.c b/20220428/hash-map-4.c deleted file mode 100644 index f2f4ac79bc8b65ecb78314afd69dcd7a0be1dce6..0000000000000000000000000000000000000000 --- a/20220428/hash-map-4.c +++ /dev/null @@ -1,82 +0,0 @@ -#include <stdio.h> -#include <string.h> - -int get_number (const char *name) /* nicht mehr geschummelt, O(1), aber: */ -{ /* - Speicher-ineffizient */ - static const int n[26] = /* - unvollständig: "sechs", "sieben" */ - { /* :) zuverlässig: "egon" != "eins" */ - 8, /* a */ - -1, /* b */ - -1, /* c */ - 3, /* d */ - 1, /* e */ - 5, /* f */ - -1, /* g */ - -1, /* h */ - -1, /* i */ - -1, /* j */ - -1, /* k */ - -1, /* l */ - -1, /* m */ - 0, /* n */ - -1, /* o */ - -1, /* p */ - -1, /* q */ - -1, /* r */ - 6, /* s */ - -1, /* t */ - -1, /* u */ - 4, /* v */ - -1, /* w */ - -1, /* x */ - -1, /* y */ - 2 /* z */ - }; - static const char *check[26] = - { - "acht", - NULL, /* b */ - NULL, /* c */ - "drei", - "eins", - "fünf", - NULL, /* g */ - NULL, /* h */ - NULL, /* i */ - NULL, /* j */ - NULL, /* k */ - NULL, /* l */ - NULL, /* m */ - "null", - NULL, /* o */ - NULL, /* p */ - NULL, /* q */ - NULL, /* r */ - "sechs", - NULL, /* t */ - NULL, /* u */ - "vier", - NULL, /* w */ - NULL, /* x */ - NULL, /* y */ - "zwei" - }; - int value = -1; - if (name && name[0] >= 'a' && name[0] <= 'z') - { - int i = name[0] - 'a'; - if (!strcmp (name, check[i])) - value = n[i]; - } - return value; -} - -int main (void) -{ - int eins = get_number ("egon"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - printf ("%d %d %d %d\n", eins, zwei, drei, vier); - return 0; -} diff --git a/20220428/hash-map-5.c b/20220428/hash-map-5.c deleted file mode 100644 index cc67f01626db2f109677f56a16c721be3ecb1653..0000000000000000000000000000000000000000 --- a/20220428/hash-map-5.c +++ /dev/null @@ -1,90 +0,0 @@ -#include <stdio.h> -#include <string.h> - -int get_number (const char *name) /* nicht mehr geschummelt, O(1), aber: */ -{ /* - Speicher-ineffizient */ - static const int n[26] = /* :] vollständig: "sechs" != "sieben", aber unschön */ - { /* :) zuverlässig: "egon" != "eins" */ - 8, /* a */ - -1, /* b */ - -1, /* c */ - 3, /* d */ - 1, /* e */ - 5, /* f */ - -1, /* g */ - -1, /* h */ - -1, /* i */ - -1, /* j */ - -1, /* k */ - -1, /* l */ - -1, /* m */ - 0, /* n */ - -1, /* o */ - -1, /* p */ - -1, /* q */ - -1, /* r */ - 6, /* s */ - -1, /* t */ - -1, /* u */ - 4, /* v */ - -1, /* w */ - -1, /* x */ - -1, /* y */ - 2 /* z */ - }; - static const char *check[26] = - { - "acht", - NULL, /* b */ - NULL, /* c */ - "drei", - "eins", - "fünf", - NULL, /* g */ - NULL, /* h */ - NULL, /* i */ - NULL, /* j */ - NULL, /* k */ - NULL, /* l */ - NULL, /* m */ - "null", - NULL, /* o */ - NULL, /* p */ - NULL, /* q */ - NULL, /* r */ - "sechs", - NULL, /* t */ - NULL, /* u */ - "vier", - NULL, /* w */ - NULL, /* x */ - NULL, /* y */ - "zwei" - }; - int value = -1; - if (name && name[0] >= 'a' && name[0] <= 'z') - { - if (name[0] == 's' && !strcmp (name, "sieben")) - value = 7; - else - { - int i = name[0] - 'a'; - if (!strcmp (name, check[i])) - value = n[i]; - } - } - return value; -} - -int main (void) -{ - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - printf ("%d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben); - return 0; -} diff --git a/20220428/hash-map-6.c b/20220428/hash-map-6.c deleted file mode 100644 index 64a725c75ad13dad5c516657dbe5e1c77a1d0099..0000000000000000000000000000000000000000 --- a/20220428/hash-map-6.c +++ /dev/null @@ -1,46 +0,0 @@ -#include <stdio.h> -#include <string.h> - -int n[65536]; /* zunächst: alle 0 */ -const char *check[65536]; /* zunächst: alle NULL */ - -void put_number (const char *name, int value) -{ - /* Nimm die ersten 2 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 65535. - * Dort hinterlege die Zahl "value" im Array. - */ -} - -int get_number (const char *name) /* nicht mehr geschummelt, O(1), aber: */ -{ /* - Speicher-ineffizient */ - int value = -1; - /* Nimm die ersten 2 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 65535. - * Dort entnimm die Zahl "value". - */ - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - printf ("%d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben); - return 0; -} diff --git a/20220428/hash-map-7.c b/20220428/hash-map-7.c deleted file mode 100644 index e3161f56ab10ebd23e380e32bd8a4546f1a29121..0000000000000000000000000000000000000000 --- a/20220428/hash-map-7.c +++ /dev/null @@ -1,73 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -int n[65536]; /* zunächst: alle 0 */ -const char *check[65536]; /* zunächst: alle NULL */ - -uint16_t hash (const char *name) -{ - if (name && name[0]) - { - uint8_t first_char = name[0]; - uint8_t second_char = name[1]; - return first_char + 256 * second_char; - } - else - return 0; -} - -void put_number (const char *name, int value) -{ - /* Nimm die ersten 2 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 65535. - * Dort hinterlege die Zahl "value" im Array. - */ - int i = hash (name); - n[i] = value; - check[i] = name; /* Funktioniert so bei String-Konstanten. Ansonsten: String kopieren. */ -} - -int get_number (const char *name) /* nicht mehr geschummelt, O(1), aber: */ -{ /* - Speicher-ineffizient */ - int value = -1; - /* Nimm die ersten 2 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 65535. - * Dort entnimm die Zahl "value". - */ - int i = hash (name); - if (!strcmp (name, check[i])) - value = n[i]; - return value; -} - -void debug_hash_table () -{ - for (int i = 0; i < 65536; i++) - if (n[i]) - printf ("%04x %2d %s\n", i, n[i], check[i]); -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - debug_hash_table (); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - printf ("%d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben); - return 0; -} diff --git a/20220505/gen-hash-test-dat.sh b/20220505/gen-hash-test-dat.sh deleted file mode 100755 index 453c2e10d9fa282bfc01784d0ec201d0b8b71a91..0000000000000000000000000000000000000000 --- a/20220505/gen-hash-test-dat.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -counter=$(wc -l hash-test.dat | cut -d " " -f 1) -n=$((10000 - counter)) - -pwgen -N $n 32 \ - | while read s; do - counter=$((counter + 1)) - echo $counter $s - done diff --git a/20220505/hash-map-cantor-01.c b/20220505/hash-map-cantor-01.c deleted file mode 100644 index 923829ee9840248cdd0f1dacdcdc3ac8b40acd5a..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-01.c +++ /dev/null @@ -1,61 +0,0 @@ -#include <stdio.h> -#include <string.h> - -int n[65536]; /* zunächst: alle 0 */ -const char *check[65536]; /* zunächst: alle NULL */ - -void put_number (const char *name, int value) -{ - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 130559. - * Dort hinterlege die Zahl "value" im Array. - */ - // mehrfach Kombination möglich z+e und v+i - //int idx = name[0]+name[1]; - - // Cantor pairing function - int idx = 0.5*(name[0]+name[1])*(name[0]+name[1]+1)+name[2]; - - check[idx] = name; - n[idx] = value; - -} - -int get_number (const char *name) /* nicht mehr geschummelt, O(1), aber: */ -{ /* - Speicher-ineffizient */ - int value = -1; - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 130559. - * Dort entnimm die Zahl "value". - */ - - // Cantor pairing function - int idx = 0.5*(name[0]+name[1])*(name[0]+name[1]+1)+name[2]; - - - value = n[idx]; - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - printf ("%d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben); - return 0; -} diff --git a/20220505/hash-map-cantor-02.c b/20220505/hash-map-cantor-02.c deleted file mode 100644 index bec75d681582ba633c4e6735ee5c7aca422a6c38..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-02.c +++ /dev/null @@ -1,61 +0,0 @@ -#include <stdio.h> -#include <string.h> - -int n[65536]; /* zunächst: alle 0 */ -const char *check[65536]; /* zunächst: alle NULL */ - -void put_number (const char *name, int value) -{ - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 130559. - * Dort hinterlege die Zahl "value" im Array. - */ - // mehrfach Kombination möglich z+e und v+i - //int idx = name[0]+name[1]; - - // Cantor pairing function - int idx = (name[0]+name[1])/2*(name[0]+name[1]+1)+name[2]; - - check[idx] = name; - n[idx] = value; - -} - -int get_number (const char *name) /* nicht mehr geschummelt, O(1), aber: */ -{ /* - Speicher-ineffizient */ - int value = -1; - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 130559. - * Dort entnimm die Zahl "value". - */ - - // Cantor pairing function - int idx = (name[0]+name[1])/2*(name[0]+name[1]+1)+name[2]; - - - value = n[idx]; - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - printf ("%d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben); - return 0; -} diff --git a/20220505/hash-map-cantor-03.c b/20220505/hash-map-cantor-03.c deleted file mode 100644 index 5d3518e93d20454f663f246c5034fc66736a7bce..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-03.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <stdio.h> -#include <string.h> - -constexpr int hash (const char *name) -{ - return (name[0]+name[1])/2*(name[0]+name[1]+1)+name[2]; -} - -const int size = hash ("\xff\xff\xff"); - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -void put_number (const char *name, int value) -{ - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 130559. - * Dort hinterlege die Zahl "value" im Array. - */ - // mehrfach Kombination möglich z+e und v+i - //int idx = name[0]+name[1]; - - // Cantor pairing function - int idx = hash (name); - - check[idx] = name; - n[idx] = value; - -} - -int get_number (const char *name) /* nicht mehr geschummelt, O(1), aber: */ -{ /* - Speicher-ineffizient */ - int value = -1; - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 130559. - * Dort entnimm die Zahl "value". - */ - - // Cantor pairing function - int idx = hash (name); - - value = n[idx]; - return value; -} - -int main (void) -{ - printf ("size = %d\n", size); - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - printf ("%d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben); - return 0; -} diff --git a/20220505/hash-map-cantor-04.c b/20220505/hash-map-cantor-04.c deleted file mode 100644 index 3e5db8aef4d52c449ac413a0fbe275b7a0efde1b..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-04.c +++ /dev/null @@ -1,71 +0,0 @@ -#include <stdio.h> -#include <string.h> - -constexpr int hash (const char *name) -{ - return (name[0]+name[1])/2*(name[0]+name[1]+1)+name[2]; -} - -#define max_str "\xff\xff\xff" - -const int size = hash (max_str); - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -void put_number (const char *name, int value) -{ - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 130559. - * Dort hinterlege die Zahl "value" im Array. - */ - // mehrfach Kombination möglich z+e und v+i - //int idx = name[0]+name[1]; - - // Cantor pairing function - int idx = hash (name); - - check[idx] = name; - n[idx] = value; - -} - -int get_number (const char *name) /* nicht mehr geschummelt, O(1), aber: */ -{ /* - Speicher-ineffizient */ - int value = -1; - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 130559. - * Dort entnimm die Zahl "value". - */ - - // Cantor pairing function - int idx = hash (name); - - value = n[idx]; - return value; -} - -int main (void) -{ - printf ("max_str = %d %d %d\n", max_str[0], max_str[1], max_str[2]); - printf ("size = %d\n", size); - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - printf ("%d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben); - return 0; -} diff --git a/20220505/hash-map-cantor-05.c b/20220505/hash-map-cantor-05.c deleted file mode 100644 index 2e6eb2265fc60548851f183539bea8fc77d11071..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-05.c +++ /dev/null @@ -1,75 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -constexpr int hash (const char *name) -{ - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return (n0+n1)/2*(n0+n1+1)+n2; -} - -#define max_str "\xff\xff\xff" - -const int size = hash (max_str); - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -void put_number (const char *name, int value) -{ - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 130559. - * Dort hinterlege die Zahl "value" im Array. - */ - // mehrfach Kombination möglich z+e und v+i - //int idx = name[0]+name[1]; - - // Cantor pairing function - int idx = hash (name); - - check[idx] = name; - n[idx] = value; - -} - -int get_number (const char *name) /* nicht mehr geschummelt, O(1), aber: */ -{ /* - Speicher-ineffizient */ - int value = -1; - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis 130559. - * Dort entnimm die Zahl "value". - */ - - // Cantor pairing function - int idx = hash (name); - - value = n[idx]; - return value; -} - -int main (void) -{ - printf ("max_str = %d %d %d\n", max_str[0], max_str[1], max_str[2]); - printf ("size = %d\n", size); - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - printf ("%d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben); - return 0; -} diff --git a/20220505/hash-map-cantor-06.c b/20220505/hash-map-cantor-06.c deleted file mode 100644 index 3bbfdfe480d46ca0026d8e872280cc5595906da5..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-06.c +++ /dev/null @@ -1,71 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis size - 1. - * Dort hinterlege die Zahl "value" im Array. - */ - // mehrfach Kombination möglich z+e und v+i - //int idx = name[0]+name[1]; - - // Cantor pairing function - int idx = hash (name); - - check[idx] = name; - n[idx] = value; - -} - -int get_number (const char *name) // nicht mehr geschummelt, O(1), nicht mehr -{ // Speicher-ineffizient, aber: Kollisionen! - int value = -1; - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis size - 1. - * Dort entnimm die Zahl "value". - */ - - // Cantor pairing function - int idx = hash (name); - - value = n[idx]; - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - printf ("%d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben); - return 0; -} diff --git a/20220505/hash-map-cantor-07.c b/20220505/hash-map-cantor-07.c deleted file mode 100644 index 03bf3dad336eaeb1a827ebfe5383b239aa57fed6..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-07.c +++ /dev/null @@ -1,73 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis size - 1. - * Dort hinterlege die Zahl "value" im Array. - */ - // mehrfach Kombination möglich z+e und v+i - //int idx = name[0]+name[1]; - - // Cantor pairing function - int idx = hash (name); - - check[idx] = name; - n[idx] = value; - -} - -int get_number (const char *name) -{ - int value = -1; - /* Nimm die ersten 3 Zeichen des Strings, - * berechne daraus einen Array-Index von 0 bis size - 1. - * Dort entnimm die Zahl "value". - */ - - // Cantor pairing function - int idx = hash (name); - - value = n[idx]; - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - put_number ("vierundzwanzig", 24); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - int vierundzwanzig = get_number ("vierundzwanzig"); - printf ("%d %d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben, vierundzwanzig); - return 0; -} diff --git a/20220505/hash-map-cantor-08.c b/20220505/hash-map-cantor-08.c deleted file mode 100644 index 0f9582f06b113c87c3e2232dc2499147f1b7e579..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-08.c +++ /dev/null @@ -1,58 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - check[idx] = name; - n[idx] = value; -} - -int get_number (const char *name) -{ - int value = -1; // Fehler-Code - int idx = hash (name); - if (strcmp (check[idx], name) == 0) - value = n[idx]; - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - put_number ("vierundzwanzig", 24); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - int vierundzwanzig = get_number ("vierundzwanzig"); - printf ("%d %d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben, vierundzwanzig); - return 0; -} diff --git a/20220505/hash-map-cantor-09.c b/20220505/hash-map-cantor-09.c deleted file mode 100644 index 162620a3e909af8820fb92caca1c88a24d48e29f..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-09.c +++ /dev/null @@ -1,63 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx]) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = -1; // Fehler-Code - int idx = hash (name); - if (strcmp (check[idx], name) == 0) - value = n[idx]; - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - put_number ("vierundzwanzig", 24); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - int vierundzwanzig = get_number ("vierundzwanzig"); - printf ("%d %d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben, vierundzwanzig); - return 0; -} diff --git a/20220505/hash-map-cantor-10.c b/20220505/hash-map-cantor-10.c deleted file mode 100644 index 894965cef08a420e2879f020771990e02e0ae0f3..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-10.c +++ /dev/null @@ -1,66 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) != 0) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = -1; // Fehler-Code - int idx = hash (name); - if (strcmp (check[idx], name) == 0) - value = n[idx]; - else - fprintf (stderr, "not found: %s\n", name); - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - put_number ("vierundzwanzig", 24); - put_number ("sieben", 7); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - int vierundzwanzig = get_number ("vierundzwanzig"); - printf ("%d %d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben, vierundzwanzig); - return 0; -} diff --git a/20220505/hash-map-cantor-11.c b/20220505/hash-map-cantor-11.c deleted file mode 100644 index 0c52f2e3da9d8d05ff79602bd3e28fbcb84864f3..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-11.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) != 0) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = -1; // Fehler-Code - int idx = hash (name); - if (strcmp (check[idx], name) == 0) - value = n[idx]; - else - fprintf (stderr, "not found: %s\n", name); - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - put_number ("vierundzwanzig", 24); - put_number ("sieben", 7); - put_number ("x", 42); - put_number (NULL, 0); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - int vierundzwanzig = get_number ("vierundzwanzig"); - printf ("%d %d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben, vierundzwanzig); - return 0; -} diff --git a/20220505/hash-map-cantor-12.c b/20220505/hash-map-cantor-12.c deleted file mode 100644 index b35bb86c720d9a6534707eaa59004978d0315ba1..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-12.c +++ /dev/null @@ -1,67 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) != 0) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = -1; // Fehler-Code - int idx = hash (name); - if (strcmp (check[idx], name) == 0) - value = n[idx]; - else - fprintf (stderr, "not found: %s\n", name); - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - put_number ("vierundzwanzig", 24); - put_number ("sieben", 7); - put_number ("x", 42); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - int x = get_number ("x"); - printf ("%d %d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben, x); - return 0; -} diff --git a/20220505/hash-map-cantor-13.c b/20220505/hash-map-cantor-13.c deleted file mode 100644 index a2a79ba409484db06ef45b3df09a2562dac49578..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-13.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) != 0) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = -1; // Fehler-Code - int idx = hash (name); - if (strcmp (check[idx], name) == 0) - value = n[idx]; - else - fprintf (stderr, "not found: %s\n", name); - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - put_number ("vierundzwanzig", 24); - put_number ("sieben", 7); - put_number ("x", 42); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - char x_str[2] = "x"; - int x = get_number (x_str); - printf ("%d %d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben, x); - return 0; -} diff --git a/20220505/hash-map-cantor-14.c b/20220505/hash-map-cantor-14.c deleted file mode 100644 index 3075caa659fc4ea480ae2c329a46436ca77897b4..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-14.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) != 0) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = -1; // Fehler-Code - int idx = hash (name); - if (check[idx], strcmp (check[idx], name) == 0) - value = n[idx]; - else - fprintf (stderr, "not found: %s\n", name); - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - put_number ("vierundzwanzig", 24); - put_number ("sieben", 7); - put_number ("x", 42); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - char x_str[2] = "x"; - int x = get_number (x_str); - printf ("%d %d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben, x); - return 0; -} diff --git a/20220505/hash-map-cantor-15.c b/20220505/hash-map-cantor-15.c deleted file mode 100644 index 09a6332d823c51cce756509667c8ef9fea3a6707..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-15.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name[0]; - uint8_t n1 = name[1]; - uint8_t n2 = name[2]; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) != 0) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = -1; // Fehler-Code - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) == 0) - value = n[idx]; - else - fprintf (stderr, "not found: %s\n", name); - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - put_number ("vierundzwanzig", 24); - put_number ("sieben", 7); - put_number ("x", 42); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - char x_str[2] = "x"; - int x = get_number (x_str); - printf ("%d %d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben, x); - return 0; -} diff --git a/20220505/hash-map-cantor-16.c b/20220505/hash-map-cantor-16.c deleted file mode 100644 index 5bbab2440717b418ef96fd9521da7ac655e53894..0000000000000000000000000000000000000000 --- a/20220505/hash-map-cantor-16.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdint.h> - -const int size = 1117; - -int n[size]; /* zunächst: alle 0 */ -const char *check[size]; /* zunächst: alle NULL */ - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name ? name[0] : 0; - uint8_t n1 = n0 ? name[1] : 0; - uint8_t n2 = n1 ? name[2] : 0; - return ((n0+n1)/2*(n0+n1+1)+n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) != 0) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = -1; // Fehler-Code - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) == 0) - value = n[idx]; - else - fprintf (stderr, "not found: %s\n", name); - return value; -} - -int main (void) -{ - put_number ("eins", 1); - put_number ("zwei", 2); - put_number ("drei", 3); - put_number ("vier", 4); - put_number ("fünf", 5); - put_number ("sechs", 6); - put_number ("sieben", 7); - put_number ("acht", 8); - put_number ("neun", 9); - put_number ("zehn", 10); - put_number ("vierundzwanzig", 24); - put_number ("sieben", 7); - put_number ("x", 42); - int eins = get_number ("eins"); - int zwei = get_number ("zwei"); - int drei = get_number ("drei"); - int vier = get_number ("vier"); - int fuenf = get_number ("fünf"); - int sechs = get_number ("sechs"); - int sieben = get_number ("sieben"); - char x_str[2] = "x"; - int x = get_number (x_str); - printf ("%d %d %d %d %d %d %d %d\n", eins, zwei, drei, vier, fuenf, sechs, sieben, x); - return 0; -} diff --git a/20220505/hash-map-test-01.c b/20220505/hash-map-test-01.c deleted file mode 100644 index 79b427a26de1e5fa567ad930a00763fd6d0a5029..0000000000000000000000000000000000000000 --- a/20220505/hash-map-test-01.c +++ /dev/null @@ -1,94 +0,0 @@ -#include <stdio.h> -#include <errno.h> -#include <error.h> -#include <string.h> -#include <stdint.h> -#include <stdlib.h> - -const int ERROR = -1; -const int size = 1117; -const int bufsize = 100; - -int n[size]; // zunächst: alle 0 -const char *check[size]; // zunächst: alle NULL - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name ? name[0] : 0; - uint8_t n1 = n0 ? name[1] : 0; - uint8_t n2 = n1 ? name[2] : 0; - return ((n0 + n1) / 2 * (n0 + n1 + 1) + n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) != 0) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = ERROR; - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) == 0) - value = n[idx]; - else - fprintf (stderr, "not found: %s\n", name); - return value; -} - -static void read_data (FILE *f, char **name, int *value) -{ - int v; - char buffer[bufsize]; - fscanf (f, "%d", &v); - fgets (buffer, bufsize - 1, f); - int l = strlen (buffer); - if (l > 0 && buffer[l - 1] == '\n') - buffer[l - 1] = 0; - const char *n = buffer; - while (n[0] == ' ') - n++; - l = strlen (n); - if (*name == NULL) - *name = (char *) malloc (l); - strncpy (*name, n, l + 1); - *value = v; -} - -int main (int argc, char **argv) -{ - const char *filename = "hash-test.dat"; - if (argc > 1) - filename = argv[1]; - FILE *f = fopen (filename, "r"); - if (!f) - error (errno, errno, "cannot open file \"%s\"", filename); - while (!feof (f)) - { - int value; - char *name = NULL; - read_data (f, &name, &value); - put_number (name, value); - } - rewind (f); - while (!feof (f)) - { - int value; - char name[bufsize]; - char *p = name; - read_data (f, &p, &value); - int v = get_number (name); - if (v != value) - printf ("%s: %d instead of %d\n", name, v, value); - } - fclose (f); - return 0; -} diff --git a/20220505/hash-map-test-02.c b/20220505/hash-map-test-02.c deleted file mode 100644 index 7a69934d9c4e4766d6f859af404a2d461d34231d..0000000000000000000000000000000000000000 --- a/20220505/hash-map-test-02.c +++ /dev/null @@ -1,97 +0,0 @@ -#include <stdio.h> -#include <errno.h> -#include <error.h> -#include <string.h> -#include <stdint.h> -#include <stdlib.h> - -const int ERROR = -1; -const int size = 1117; -const int bufsize = 100; - -int n[size]; // zunächst: alle 0 -const char *check[size]; // zunächst: alle NULL - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name ? name[0] : 0; - uint8_t n1 = n0 ? name[1] : 0; - uint8_t n2 = n1 ? name[2] : 0; - return ((n0 + n1) / 2 * (n0 + n1 + 1) + n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) != 0) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = ERROR; - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) == 0) - value = n[idx]; - else - fprintf (stderr, "not found: %s\n", name); - return value; -} - -static void read_data (FILE *f, char **name, int *value) -{ - int v; - char buffer[bufsize]; - int bytes_read_1 = fscanf (f, "%d", &v); - char *bytes_read_2 = fgets (buffer, bufsize - 1, f); - int l = strlen (buffer); - if (l > 0 && buffer[l - 1] == '\n') - buffer[l - 1] = 0; - const char *n = buffer; - while (n[0] == ' ') - n++; - l = strlen (n); - if (l < 30) - printf ("l = %d, buffer = \"%s\", bytes_read_1 = %d, bytes_read_2 = %zx, errno = %d\n", - l, buffer, bytes_read_1, (size_t) bytes_read_2, errno); - if (*name == NULL) - *name = (char *) malloc (l); - strncpy (*name, n, l + 1); - *value = v; -} - -int main (int argc, char **argv) -{ - const char *filename = "hash-test.dat"; - if (argc > 1) - filename = argv[1]; - FILE *f = fopen (filename, "r"); - if (!f) - error (errno, errno, "cannot open file \"%s\"", filename); - while (!feof (f)) - { - int value; - char *name = NULL; - read_data (f, &name, &value); - put_number (name, value); - } - rewind (f); - while (!feof (f)) - { - int value; - char name[bufsize]; - char *p = name; - read_data (f, &p, &value); - int v = get_number (name); - if (v != value) - printf ("%s: %d instead of %d\n", name, v, value); - } - fclose (f); - return 0; -} diff --git a/20220505/hash-map-test-03.c b/20220505/hash-map-test-03.c deleted file mode 100644 index 06200c57309c6659637184804965ca6454902802..0000000000000000000000000000000000000000 --- a/20220505/hash-map-test-03.c +++ /dev/null @@ -1,106 +0,0 @@ -#include <stdio.h> -#include <errno.h> -#include <error.h> -#include <string.h> -#include <stdint.h> -#include <stdlib.h> - -const int ERROR = -1; -const int size = 1117; -const int bufsize = 100; - -int n[size]; // zunächst: alle 0 -const char *check[size]; // zunächst: alle NULL - -constexpr int hash (const char *name) -{ - // Cantor pairing function - uint8_t n0 = name ? name[0] : 0; - uint8_t n1 = n0 ? name[1] : 0; - uint8_t n2 = n1 ? name[2] : 0; - return ((n0 + n1) / 2 * (n0 + n1 + 1) + n2) % size; -} - -void put_number (const char *name, int value) -{ - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) != 0) - fprintf (stderr, "occupied: %s = %d\n", name, value); - else - { - check[idx] = name; - n[idx] = value; - } -} - -int get_number (const char *name) -{ - int value = ERROR; - int idx = hash (name); - if (check[idx] && strcmp (check[idx], name) == 0) - value = n[idx]; - else - fprintf (stderr, "not found: %s\n", name); - return value; -} - -static void read_data (FILE *f, char **name, int *value) -{ - int v; - char buffer[bufsize]; - int bytes_read_1 = fscanf (f, "%d", &v); - char *bytes_read_2 = fgets (buffer, bufsize - 1, f); - if (bytes_read_1 <= 0 || bytes_read_2 == NULL) - { - *name = NULL; - *value = -1; - } - else - { - int l = strlen (buffer); - if (l > 0 && buffer[l - 1] == '\n') - buffer[l - 1] = 0; - const char *n = buffer; - while (n[0] == ' ') - n++; - l = strlen (n); - if (*name == NULL) - *name = (char *) malloc (l); - strncpy (*name, n, l + 1); - *value = v; - } -} - -int main (int argc, char **argv) -{ - const char *filename = "hash-test.dat"; - if (argc > 1) - filename = argv[1]; - FILE *f = fopen (filename, "r"); - if (!f) - error (errno, errno, "cannot open file \"%s\"", filename); - while (!feof (f)) - { - int value; - char *name = NULL; - read_data (f, &name, &value); - if (value >= 0 && name) - put_number (name, value); - } - rewind (f); - while (!feof (f)) - { - int value; - char name[bufsize]; - char *p = name; - read_data (f, &p, &value); - if (value >= 0 && name) - { - int v = get_number (name); - if (v != value) - printf ("%s: %d instead of %d\n", name, v, value); - } - } - fclose (f); - return 0; -} diff --git a/20220505/hash-test-100.dat b/20220505/hash-test-100.dat deleted file mode 100644 index a31b39ed3e21ec3eef6d7ba7d83fa5a8c6b26851..0000000000000000000000000000000000000000 --- a/20220505/hash-test-100.dat +++ /dev/null @@ -1,100 +0,0 @@ -1 Weifae2oolejez5johNgah9eiphie8su -2 aex3Ceefosha6ooviu6theeFahk1ohpa -3 Quiquurohcah2ahpheiMeciQui2uihoo -4 ailiesoama6AhGhohweefae8ZauK3Zoo -5 shahghi8shaetahnap3IiTheep4eewii -6 eigiemota6Phoothohp0Aethai2oow7p -7 deigho4Eapia1hutoh2Ith5kaxie1ahz -8 lis0aeNgoang7heiPhemoo5Phoo4eigu -9 ruFeoc0aixiphahYoTagh1ohNgoh7koo -10 Wahqu0icee4iexooh6lu4ul2mahseaxa -11 aite4aik3Xijusanguzaech6ahdo4coF -12 Ne6iepaegh3coh7ohsh7phu3eevai7da -13 kei7oe1WeeCeicifi9ie1Faes7poa4eu -14 uud9vawies3AeK3ein7uezohD4dai3ow -15 wuujeP6sooBij0aeniemohsheiZ9olon -16 FaDiuVaa9quoh2veepho5jei0ush9vah -17 Aht0sheenu3aghohZ2ChahquieTee4Fa -18 hieFieph5Ohmaesee1ohdeiweizuoca8 -19 AiquuPae4roshochuoS5ieree0ada0Ae -20 ahNeiChooghe6shies5ateiM4thu7Ivi -21 umieciegei5ohsiakei2fo4Eiy5ahn2e -22 yipheif3weB3eeshup5thai5seiseele -23 waeghaidiSahwio8pu2kahf0vijong1S -24 zuu0laiX9phohyah9Zosh5aek2quiBuw -25 oja1aes5daeyah6ieph9EeGuoj2caimo -26 hooth9aiGa1Cii1Ea3vahgaN8eeh7iew -27 chas5luth2oodonahroh9eek2cieBaiM -28 vooj0zae3yeebe1lei7Thuaph1eikiha -29 pheiWohpoTah6zifoQueiph5Mooy2Ahr -30 Ohvi4aucei7ahx5neereeg6se2Ath3ce -31 eh2ohGh0aipu2jioxiethaiSuoxoogae -32 ohjooDiet5ohpheshi1rieMut4queira -33 Mah9Quah4NaeDoe7achie7ohy6uo1Zoh -34 soos7giS3hohsuthooph9fazaeKaNguw -35 laiNesh6miesahmohMooshoofaiphu5J -36 iegh8pe6eethee5ahtaej1jiCh0iQuou -37 Quabaesh1Si0iek5ahtoo5gee0thaebi -38 oolaenosoxaKaov4xohTh3ohNgaisi0p -39 aingee5moo7neesho2deiquooj1Ahtoh -40 naVei0OngaeMu7oingaishaenai9jooz -41 eej2OoseebaedeiShoob1jookoo2Shoh -42 cie2thiushae2quu3shib3Uheer2Aesh -43 ooSheehait2ohthiebeikagh5eeJiedi -44 goopu2es3oophaegh7Aekeebohxie2az -45 queiLeelu2fahk1oc7tiexiuSuoph2ie -46 eiYeefooleefah7EiW6theoghaeZii4i -47 aesedaelohshomeiy6Naemah8peQu6Ei -48 naebaiphueNgoo1aeWu3aiGh3goo9eet -49 feiju3DudievaogiYeeC9Ceiphouv1ko -50 ushi0aip3uuNgoh0aeS6thei7oo1chai -51 ahw6voongoj9eehae4VieChu5eephoop -52 coovahu4oozuud5ceeb4Fai9eev0uguu -53 eThai2ohGoht5ahpae5Rio4uT1sieShe -54 ohVeg8mie3oeNaeCucae2uyaiKaepah7 -55 laiBae2iebabee7eeciez2ohngieJej8 -56 of2eec9ahg6daecheeshahPeibea1eib -57 oosheikaiMaejieho7Ahr6lohgheer8U -58 Autaepuu8Enei0ohtool2UbuRa0oobig -59 Xeejei7ahw1ohSae2quai8wieGhahdoh -60 ieCh1OhfooKei8Juxohng8Yahla7naed -61 cae4shaid1Iehaquaeshu2xooK4fai1o -62 iGh2ahphai8ohphoshuo5maiphi7thuf -63 QuoeshungaesohbieFuz0mie3aPhiex5 -64 ob4Kephootheeph6daelohlope5nuada -65 ohfailophu2pei8FailosaiY9Cange7r -66 queHaip5foh1oozix5oopo9uyuiD2kei -67 zei5sah2eep8ooN3ieshu0au6eiTe9ke -68 Awita5upe1Eiciephiew1eiri6uKieke -69 pai0weiCh7chugooz2aingieviechoo6 -70 joaPhohceez1eingae2saesh6aehaen3 -71 aey6kohveuphiethooki6chaigahChoh -72 ueseex8osheiweeXe8chiesh3ti8keeb -73 vieKie9eo2Ro1aingoobohwos5Xeeluu -74 ahshu3phaiBoo6uquoov1Zi7xa9yoh9c -75 Su6booWevaekonone6uedaeShee9Thee -76 AhCheebaecoh5ahshaigeepeiN1borih -77 uv3cu8ohmuilo2ool3fecie3naef6Am8 -78 feiTechei5AhGhah3ubuM0saesh6eeg4 -79 at2Ihe0de7eikoo0pei8Aingipe5deti -80 cohpeu2eiGhai3eiNgu2aelooteesagh -81 zahsee4ooyeik0aesh2pohm7AeJu8aej -82 ohDae9vaibi6quie7ue8bienootheipo -83 Ego3so5ahs2eree0ahlait7eu4aazeey -84 aibeithafe8Quaghu2xah5aew0Ier9ah -85 oebe2geezohgeo0AVuGh1uth6iv1keik -86 ieS2beiyahthei9ohJ6lok9XohKohbae -87 leepeigheeGa5eiThoadee8soh0ohPhe -88 sohxae9cethoh2aeW5Shaeth1Ohthoh5 -89 Nu5aemiNgu6Iev5pohYooshai2ci7ier -90 dei5eechaVeim7dethaz0ha2neipoo3n -91 eoxoJaaxah3naeZ6Cieghiobeip8aing -92 uuneek9aef2yaifa9eShaethaexi6yae -93 uereeloh5ozu9etahCha4oe4joonai2e -94 sooqu8pahDeinaidaingohghaeDichei -95 Aiquaed5aiNeyaek8heiyoh4chah3ao5 -96 eemoh7noo0eijaGhohReewaej3say4bi -97 fai9eixai7Moko6okoh7oogeeCha5Ooy -98 thoo7Eic2quahwagoaXeeha0aitholoo -99 Oofoh1ohjexu9axaex0iebua5ohdahCh -100 ne7ee0aev1oopha3eem7xee9mee6quuG diff --git a/20220505/hash-test-10000.dat b/20220505/hash-test-10000.dat deleted file mode 100644 index 935c96da7caed98e596b354b2a0f61c5d5179a9e..0000000000000000000000000000000000000000 --- a/20220505/hash-test-10000.dat +++ /dev/null @@ -1,10000 +0,0 @@ -1 Weifae2oolejez5johNgah9eiphie8su -2 aex3Ceefosha6ooviu6theeFahk1ohpa -3 Quiquurohcah2ahpheiMeciQui2uihoo -4 ailiesoama6AhGhohweefae8ZauK3Zoo -5 shahghi8shaetahnap3IiTheep4eewii -6 eigiemota6Phoothohp0Aethai2oow7p -7 deigho4Eapia1hutoh2Ith5kaxie1ahz -8 lis0aeNgoang7heiPhemoo5Phoo4eigu -9 ruFeoc0aixiphahYoTagh1ohNgoh7koo -10 Wahqu0icee4iexooh6lu4ul2mahseaxa -11 aite4aik3Xijusanguzaech6ahdo4coF -12 Ne6iepaegh3coh7ohsh7phu3eevai7da -13 kei7oe1WeeCeicifi9ie1Faes7poa4eu -14 uud9vawies3AeK3ein7uezohD4dai3ow -15 wuujeP6sooBij0aeniemohsheiZ9olon -16 FaDiuVaa9quoh2veepho5jei0ush9vah -17 Aht0sheenu3aghohZ2ChahquieTee4Fa -18 hieFieph5Ohmaesee1ohdeiweizuoca8 -19 AiquuPae4roshochuoS5ieree0ada0Ae -20 ahNeiChooghe6shies5ateiM4thu7Ivi -21 umieciegei5ohsiakei2fo4Eiy5ahn2e -22 yipheif3weB3eeshup5thai5seiseele -23 waeghaidiSahwio8pu2kahf0vijong1S -24 zuu0laiX9phohyah9Zosh5aek2quiBuw -25 oja1aes5daeyah6ieph9EeGuoj2caimo -26 hooth9aiGa1Cii1Ea3vahgaN8eeh7iew -27 chas5luth2oodonahroh9eek2cieBaiM -28 vooj0zae3yeebe1lei7Thuaph1eikiha -29 pheiWohpoTah6zifoQueiph5Mooy2Ahr -30 Ohvi4aucei7ahx5neereeg6se2Ath3ce -31 eh2ohGh0aipu2jioxiethaiSuoxoogae -32 ohjooDiet5ohpheshi1rieMut4queira -33 Mah9Quah4NaeDoe7achie7ohy6uo1Zoh -34 soos7giS3hohsuthooph9fazaeKaNguw -35 laiNesh6miesahmohMooshoofaiphu5J -36 iegh8pe6eethee5ahtaej1jiCh0iQuou -37 Quabaesh1Si0iek5ahtoo5gee0thaebi -38 oolaenosoxaKaov4xohTh3ohNgaisi0p -39 aingee5moo7neesho2deiquooj1Ahtoh -40 naVei0OngaeMu7oingaishaenai9jooz -41 eej2OoseebaedeiShoob1jookoo2Shoh -42 cie2thiushae2quu3shib3Uheer2Aesh -43 ooSheehait2ohthiebeikagh5eeJiedi -44 goopu2es3oophaegh7Aekeebohxie2az -45 queiLeelu2fahk1oc7tiexiuSuoph2ie -46 eiYeefooleefah7EiW6theoghaeZii4i -47 aesedaelohshomeiy6Naemah8peQu6Ei -48 naebaiphueNgoo1aeWu3aiGh3goo9eet -49 feiju3DudievaogiYeeC9Ceiphouv1ko -50 ushi0aip3uuNgoh0aeS6thei7oo1chai -51 ahw6voongoj9eehae4VieChu5eephoop -52 coovahu4oozuud5ceeb4Fai9eev0uguu -53 eThai2ohGoht5ahpae5Rio4uT1sieShe -54 ohVeg8mie3oeNaeCucae2uyaiKaepah7 -55 laiBae2iebabee7eeciez2ohngieJej8 -56 of2eec9ahg6daecheeshahPeibea1eib -57 oosheikaiMaejieho7Ahr6lohgheer8U -58 Autaepuu8Enei0ohtool2UbuRa0oobig -59 Xeejei7ahw1ohSae2quai8wieGhahdoh -60 ieCh1OhfooKei8Juxohng8Yahla7naed -61 cae4shaid1Iehaquaeshu2xooK4fai1o -62 iGh2ahphai8ohphoshuo5maiphi7thuf -63 QuoeshungaesohbieFuz0mie3aPhiex5 -64 ob4Kephootheeph6daelohlope5nuada -65 ohfailophu2pei8FailosaiY9Cange7r -66 queHaip5foh1oozix5oopo9uyuiD2kei -67 zei5sah2eep8ooN3ieshu0au6eiTe9ke -68 Awita5upe1Eiciephiew1eiri6uKieke -69 pai0weiCh7chugooz2aingieviechoo6 -70 joaPhohceez1eingae2saesh6aehaen3 -71 aey6kohveuphiethooki6chaigahChoh -72 ueseex8osheiweeXe8chiesh3ti8keeb -73 vieKie9eo2Ro1aingoobohwos5Xeeluu -74 ahshu3phaiBoo6uquoov1Zi7xa9yoh9c -75 Su6booWevaekonone6uedaeShee9Thee -76 AhCheebaecoh5ahshaigeepeiN1borih -77 uv3cu8ohmuilo2ool3fecie3naef6Am8 -78 feiTechei5AhGhah3ubuM0saesh6eeg4 -79 at2Ihe0de7eikoo0pei8Aingipe5deti -80 cohpeu2eiGhai3eiNgu2aelooteesagh -81 zahsee4ooyeik0aesh2pohm7AeJu8aej -82 ohDae9vaibi6quie7ue8bienootheipo -83 Ego3so5ahs2eree0ahlait7eu4aazeey -84 aibeithafe8Quaghu2xah5aew0Ier9ah -85 oebe2geezohgeo0AVuGh1uth6iv1keik -86 ieS2beiyahthei9ohJ6lok9XohKohbae -87 leepeigheeGa5eiThoadee8soh0ohPhe -88 sohxae9cethoh2aeW5Shaeth1Ohthoh5 -89 Nu5aemiNgu6Iev5pohYooshai2ci7ier -90 dei5eechaVeim7dethaz0ha2neipoo3n -91 eoxoJaaxah3naeZ6Cieghiobeip8aing -92 uuneek9aef2yaifa9eShaethaexi6yae -93 uereeloh5ozu9etahCha4oe4joonai2e -94 sooqu8pahDeinaidaingohghaeDichei -95 Aiquaed5aiNeyaek8heiyoh4chah3ao5 -96 eemoh7noo0eijaGhohReewaej3say4bi -97 fai9eixai7Moko6okoh7oogeeCha5Ooy -98 thoo7Eic2quahwagoaXeeha0aitholoo -99 Oofoh1ohjexu9axaex0iebua5ohdahCh -100 ne7ee0aev1oopha3eem7xee9mee6quuG -101 dez9eimie4EiceesheicahroogieQuoh -102 phaicoochu8uuweix7aoThaedoo2ee3y -103 eeheeJooGhah7Li9isahpey8leo0Ivax -104 eiji8AhJae3ahBieboo5AiG6PhohChei -105 eey5hoo9laigh7aev2Iel5ieNgieV4Ok -106 looy7Oohee9oabohfieZae8eej7eechi -107 Kiumeeg6ecu6muquahjij0aer9eozahY -108 Oz4hi8eoqu3phie4eeFah5Aebingeepu -109 Phahz4OonguSael6iif8thei2uoson2y -110 chaidohwooc4aeshiek2amoofoo1haeZ -111 dei0ohph0ohmeatiqu5ZaiK3oXogie8s -112 autaig6wieLaij0thiereisooka1shae -113 eeghaifoh1Aedio3ohjaeghahthah2sh -114 hiechu3taephai4sabeeguih4Qui9ohk -115 Ier3leig1yooshushu8xinieleedaiqu -116 rol3ahkeethiNaingiegah1pie1raeyo -117 tae8iiqu3ahfueshei9eoCaegaezash9 -118 aezok3eiSooR4aequohgh5osiethahch -119 gaiYesahbielaiGhoo9aiGhoazoh8eeY -120 Ohciexaequohracoo8OoGhamaing1cai -121 Xuipho1eu8Eedahg7Oe0veeChe3eiG0f -122 tiocheiXoh0Fejoh5aiboighahgoohae -123 joo0Pheiz0aeyoothusahxuc0laew4ch -124 aimaisheib0chai0booL8es2Iepoa3Ho -125 uVuuv3vochaive4faeT8ooJooThiD0ai -126 ainuWar0ooGhohqu2gae2CohGahta2ah -127 geChiegh1eich4gifaivaizaif1ooNg5 -128 ohn6evaunahmai9reeZeicoh4uuv8quo -129 kilu7pai1unee7lilahCielo4io3Aini -130 aivi4Saicoo9iepheing8XeiFie4rae0 -131 ohchi5aehahzuashue7jaeXu5Emeigh6 -132 vahzeva4iChiec3iequu8cax0Go8ooW3 -133 xa4ceiWi1xuquuMai9bi5Ineedaihooj -134 ohch1Eejo6Tahc9kalaphoh3Iach7le0 -135 nahmei3ohph5Auzaizahch9wie9yeiqu -136 omed7thaefeeGhieNg0eixeesah7ahch -137 teDae9liekahne8aH9cee4lahzoo2Yoh -138 vaug7ughoixeiW5ohk0EeWee9gu6ke5L -139 vei0ahm2iadeiSh5Na4ui6Ge1aaKaevo -140 ein9niK4eex5Aizae0Quoosub7reege9 -141 Ahphu4Wai4eze0ijo2ahJ1aede5mo9ji -142 Eith0eimoo2shiceichoongae2shaxei -143 eeth5doosoh3poqueiwoo4rahhoquohS -144 aunahH8iBol3Kai2eih4Phiesheithii -145 Ai6uongiobaeFiuwiQu1chu2iut7hohr -146 qua7kie7phoo8Xaa2ooy1zeiQuai7ahg -147 ae9Kes4eeyaem7ohveijaid7Tei0aozo -148 Xaighohthiekaimeequ6jeicheepeija -149 sho5ooJeetaesu6sio4thohNgai5och3 -150 IeN5Gos0Eechohngi3wie7LaiGeiraif -151 eosev5Uwoim6oe3eeyei1Ojahw0ug6va -152 omeinohy6fahjix9teF6ahmeilah4cho -153 Saegae2iethiechohl1Wooph7phaiqua -154 iey9ieph7Ee7unah6Noh9chooK3chohc -155 puXeequ3eej7ohSahYahquie1ahmoMei -156 viethoochaizaefaeloNe0aidieshaer -157 ieTho3jiequ7eigh5oohu3ce3cuDohl5 -158 wiebaifooM9gere9shaishoo9ohRa8bo -159 ooGhohp3Ui4Quetaafohy2eexah1Jae7 -160 quec2gooN8po6eibiexain4au7thooth -161 ULaegee7thaiX1ziqueecoobiVegeiyi -162 zo7Eithibuf8Gib4au1Boh9eiwoh0zee -163 edaePeit9boo2Aguwie8okieNequ9aer -164 noy7uipohp5zierae5cahR7iuWouthai -165 ahyiecuu9aiZ4tetheeLohphaeNaighi -166 oV1eeth9ohpuojieghou5bee3eic0iph -167 EiyeR6iah0ohThaesi9eichahd0zosei -168 ohy2quohKo9eTh0wiaD9lohsaix1chae -169 Muquooguw0sae2ifai7aciaChunooVo7 -170 thohzaaZahng7oofieni0OoQueini9ni -171 aiw8Uel5oopahphe6niW4eipahtheeph -172 ohChaseihi9Thohngahquiev4uaghoog -173 bei9fee6MahngaeChiqueico5leitho8 -174 Voh8thaengoogieNoe2daichi7fei2He -175 ya6epeexi7Sootu5Xaanohweeb2raitu -176 Thui4oy3eixahngain1Quoh3KahQuaeh -177 thoh6aushaigha7le8Aid4ipighahsoh -178 oaghae3othee5EeChohx4yo6kaequooh -179 Iel6quair5oep0aeshieng7oL2ieP8ob -180 idah4ahl0ieJooL1eedai4ze9Sa5dae1 -181 ajieraichiemu4oof6veth1ahgh1Ruhi -182 aedeengi9phooLooy9aiGa3EiV5OoF2g -183 ixi3pheeveengeemeesis1een2Yeek3n -184 sie6cohvezahQu1uch9ahca1eeK8quoo -185 chaiphae6HariejeebeefooGaehiagho -186 iec1ee5eecie9ahkah4theili7paMa6h -187 noofu2voqu2eej2uowai1miepeiGhah8 -188 uhi9xaid7kee9UReiph3BeefiN8aeng0 -189 bahtap7theerequahviephai7Bien9ob -190 uyohl1hahTieb2weeboxahveg2Ohzo7h -191 cah3eizoo3ho3Bah2Michaif9yaexeip -192 Doof4Moh6sai4ahmugiuyaTh9aeg3age -193 youvaaRaepahQu2ies3su4OhF0tei0oo -194 aiyae7oThe5iet6faecaizae0ooghu7a -195 eeyabe8oMohQu2XaeNgi9hoQuagahZoh -196 veereev1ieG4ohpieLuch4zoh0UomohL -197 ouX6aif7juiK4chaethiZohn7pohn5im -198 ekiekeiSi1da5ni2ohngu0Nauphu8Ooc -199 hu3voo0ooc4ao6sie9Chaiphoj3iegha -200 airi6mib2uchoco1Ot2be1TaeHohx9Ii -201 tae0Och5eighaeph2seithiishah0ohl -202 haKaiRooh1aikoCo7Cahthee1aitaeng -203 eemiem5ahph5OhDieKaith4kooV3noh5 -204 aengaiZ4quiemu6quahkaipipeitoo8e -205 ahxa7ohhai0aeHeijofadae4quee6foi -206 ul2jo0aik2ziehaech4izie3Caisahha -207 leiKeici8goh7quuTae8hesaiphachee -208 Zo0uuf9gia6ej8phohyooph8Caichouh -209 keoshahni2dureiPaighikaiMe0Phuj5 -210 ooLe5Ma3DahNae9aeciSaemeezoChah3 -211 ailah9eeS8Echuhaitied4uuj7nudae1 -212 xaZahlooveadai3Gubingo7ieYeif6oh -213 aeg0iesh7ohJ6dohsooquuzaPhaiceix -214 veshah3Peiqu6dithauthaeng5lohr0T -215 JohNiengeingope7iiweiqueepieha6n -216 aak7ohthihuwou8Ooquoh2eeng0aekoh -217 yo2Aim8ohphielaow5naiV7EeThaequ4 -218 ahzeib3igaighee1shir3Coghai7ooth -219 eeneequooGhoor4ODeeH4QuooThereiR -220 Oofohg0Xuk7ojaeCha9EiXeighe2IeP4 -221 Giitoumiawae0Aimig1phieG8dah6shi -222 Queilo1oa9Aich7waiy8quaeheengoo2 -223 ce3Oo9ci3Exu7xohF6Aengojungeigae -224 zu6ootopeeWeiThaaphee9xahr3ohsh2 -225 ingahz7phei9inga0bahruethainaiGa -226 iPh8eis4aeph1urohp3sohz2chodaiY5 -227 eev4qua6aicheehoutaenoh9UijaWaht -228 UoziuRaiQuueVei2Ahf7ieXaimugohbu -229 ea5chieQueighae8hoh7avo0Ieng8Oir -230 ahB4xah3bahj7iif2piebei4zie9aich -231 bith9WiebaP3oyoh2oxaekagheix7aiW -232 iet3uNe1niengoodeekahK3teej0xeik -233 aith0aeCheigeingahcaiph1taeThiri -234 soh4Juoy6cohGahsh3Esahx1leeso3pu -235 roo4wei5yeeweaph8Shaz8reethuiju0 -236 uadieKahco0eaphae1ik1aeghies0aev -237 oiweg5aiXa9aesheecei9oob1aeN0aik -238 shad3Wou5maixe4ukohn6zuone9Ith7E -239 Ug6mob9Quiesati1phec0nee1ahwuf4o -240 feudaechei5Ieph1Eec8afahsur4xamu -241 Bee1MoNgeoC1quithah5Zoh0aexah7eW -242 quaiw0wuShei1igeivaithahyohThoo4 -243 quooxai2ooT3EheeTei3uoJeepaeM9bi -244 ohpieghieyisaeb0ab6uu1AhQuayiezi -245 naesh5ohgheGheG4paeyieK5Ohgh0uu5 -246 teiLoh6oolierahzaiyeegohHee4eiwo -247 Nael4Xoomu7Och2ahChaeGamah7ee2wu -248 bua0loDefibe1naikeir3noo3lei1toh -249 ohchaibe9iy3cahZ1yaph7douteiquae -250 eK4che2daiphoo5kae9obungahvay0ve -251 theeng5Ung4ahch4fai8ruMiengaQu8a -252 eeheiv6Yiu6vietae5haRer0yei8chei -253 oru6voh4di3cieg8lootheikoo6Icah8 -254 sohSh7Diboj7ageil1yiejaisheeThoo -255 yoa4aidohch4quach6sheiwohWop2shi -256 oofe9eeNeighahng6Dah4iegh6ahthua -257 emaul2oodeeh9veiph4aeV6zaeL4quee -258 eo3ow5koa0chaeW6ieTaig8eejathaeG -259 viekiu7Voo4pheinichohd9Oothohlie -260 ung1ahvoM8Gu7aishei6ushuNahj6aix -261 nah4Quahd1gei2shoaf8Aehai4viex4A -262 Ahhooneinu7ki2yoodahToowugh5iuYe -263 zabe5kee7olaev7tahk5Baen1ahdeg1i -264 ulai3Woth2moogheiwae1eR2Youziequ -265 eapo1thiShuiCh5eowio9revai6ookah -266 oth6wied2oop9chahx6HaibeiCheetei -267 lieboh4hi9Yuhut5eeleWee9ohshu3Ew -268 uiwupiTh6Eewiequ4doaquiPh2eixah5 -269 ichielae8xaimoz9zahphen3Gae8vooR -270 iethioxoo5xa2AequaocaGhei2iJeeFi -271 chahngu7sahcaitaiCh9Mah7kiexohqu -272 chaecheiDoh3chiethi1ith2Hui0ario -273 eedae8aethaiph7teife2ohX0yula2op -274 othuuL1auth1deexae7iegheedah4Ohn -275 yae3aidohjaikacier6Ailaib1ai4kae -276 oogaixieyei1Feez4xieD3lae9ahb7ba -277 ohchei8aech0ahpahxuu7qua6Ucheiwu -278 zei9OoLuveiphaithaila2taht7ox6ph -279 tah0phahKae0Aeghieph8viL2Ohk5coh -280 ohth1jaeNei8ohXohtaivieyie5quaor -281 wu6ho6Choogaoxeceo7cai9wucheeyoh -282 eeP3eixae2laithegie2aesaivoh1aeb -283 ighi2yiebaiy0reed9isheingeez7Sho -284 aW7cho3ohpahfae1uud5oyakae2wurai -285 eikai9aghahfiequo4thieFiefaiDie6 -286 ieboox1ohg1quiengah5echooruVeizo -287 aoy5IimohnoXet4Phue6Airu9Een0ahh -288 iuJ6thoshu3aer9aekohkohgiex0Phau -289 anoh3nahthoothae0wekeez4Eif3choh -290 iu0aecahpeeGhoo8aiphoo0MeeWeehah -291 Aithobil2ur3toh6Aethah7aeW7Nee6u -292 Ze8meebiwu6eem5eehup1feizaeseewa -293 ohsahp7aichae2eiyeech0mohceeNg8y -294 Taith7VueghiegameeTh5aenei8shie6 -295 fah3eNoovae3Fae3phei2ThaizeJ8jee -296 yie2oodeek2ohlai5haShongei8weevu -297 waisaev0eiga1zaekei0ochainieShah -298 chooHah6euQu1ovahvohheixo1Ohbohz -299 waecheiGhohyaeshie6xaibaequ7aech -300 Eip2ahpae7Ix5maedoo3eeleifaib7lo -301 iTie7xoojieZahf5ohQuagh1aij3koh2 -302 Nei0Chootailigeoqu7quohGh3MaeJ9a -303 we2veimah8feekoiTh6wee7pahf8faeb -304 GieWai3iphaucahc2iiL5Uphu6kukaiP -305 Ibahpha0Ootieh5ua7yoo2UaLurohyei -306 jeithahre2Cai5aechohvae5Ae4Ca1Ah -307 Uove6eyei7ieh9ohtheev7koojoolii0 -308 noowu7zeix2Aiz1aa9thaoda4ohngaiv -309 ushohShun8eS6aich9gu9aeng6eseeng -310 ahxeesh1ooxah4ZeeSe5ahchaec7ooph -311 ahgohg7Oophou2giyadou9pu8thoocha -312 bieNakaebooSeYeeghe6hah3zew6rove -313 gahd0phiephisee4eishoy7aiHach8ai -314 Daiphaiph9eeCh1Wahz7Songaewu4hei -315 aipiemoe4Pietheitaz2apheepaeSabo -316 seitai4ovae6sa4poor5Veeghoonaeph -317 uayuveithughie8aeD9shaeng6ughe6e -318 eleengeenaemeepai1pu0iewohNa3Yai -319 reitaiWeiV5Aileichae1shohPhoh4aa -320 eGaek7thiil0puech7uoB3sakaaXeij0 -321 aiR0bobeis5eeth7shei3Pait8ohngae -322 ne9Gah9eivooph6Iesh6ouseeGiep0xi -323 eihie7faip7gei9ze5MesiGaiDeitie4 -324 mohs0googighu1ef9tohcooxaegheNg5 -325 eeLaichee4OhPifeithaeg4OTh0ohh8z -326 Iojith3lohgovaid4iexee6sheehe6oo -327 cae5shieThibe3xeishohReideo5vohc -328 Xivaexoh9iefu3ira3hee2aiG2woo7ru -329 poh9aingai0uYuqu8queedooreiweiG4 -330 Shoh0uXeikohyee7ahk7PoopedooW7ai -331 phohn0Wohxaex7Aith6Hoh7pa4eeleiw -332 loo5Neu6Cu2yahvah8AilaiMe5aih2gi -333 Ierae5fewahf0Shohlev7HiasaeMieha -334 ohzeel0aifaimooZaic1yevukighie7U -335 ooj9bezahd3jah7itaiF9Iixiele3ew0 -336 iiG0Seex9ooZoo3aisuagaica8hei3oh -337 AiCothesaShohb6naetiex6IeXaer1ap -338 gie8oojong4AhquahR7Noh9iXeihee4e -339 ahrohd1EeShu7deequeeghee9Xati9xo -340 jaegeokaem5eec0Geil2ohwood6guo2o -341 esh2ahn3oamahh1HooT6jiemoh6tievu -342 uZiyec0ohngee2voh5aim7roh9IeToco -343 Bi7phohzah9Roo3YeaphootooCayahgh -344 soo4cho0aitheechoo7EichaeNai1ooy -345 Ukiep0oHootohShee0maizieC3iethah -346 oophieph3zahXuw4riesinogh1Vi7zuZ -347 oM2biepuuk1Meu2hahshei8engoo6kee -348 iw2phaeK0UeNae2neeLohxahch8paegu -349 ohthe6jukoovagh7cheiPhai8joabeix -350 ohHushoo2ahshae7ahcicaiJ3Yai8caa -351 aoloo5ahku2eisai7thahbeel3ies8Ie -352 eefae3zi0eipaengeeThohcaeYaef8ah -353 Xi7pop1yoreYaiQu2ahcieng6aluph2A -354 yaejieja3eij1iefoozae7oilohY2aih -355 aeGu7thu0oopioteiNuw4xahgaet2phi -356 WeeSaeghayieWah4ajiej0ievieyaiti -357 ieg6vio4qua5Shaochai6DaiYoom6Due -358 ahxaa9ohdeixaYaeghaep0eech7tae0E -359 siush6aiToh7paeg0gohC6aepaegee6e -360 iad4VeeShigaphuuzaiv6Geic3dooch1 -361 bei6ceT0aeniiGoht7teethoo5thoo1u -362 miZaihaesu0pooW2chei2Rohkoo8Riyo -363 fo7ethahgubeegh0nahfooW6aiMaiZoc -364 phongahphiegh1eeGhie1uthohshohze -365 Ee7pee9haiwahxur7Cei0Eegh1ooPhei -366 IoPh0aiNgei4OhX5shei9eeNe9thahk8 -367 Oon3hooxaeTh1OQuai0equ9waoHo3Suv -368 iengiariJai7iezaeriayeiGheeBeesh -369 Mee4phee2keixi6aichoyahl7Aiqu2io -370 xea7hee0zaik3qui1Oijie5sheem6Pao -371 reeSahPahLaig1ievo5eraY9ish1roog -372 eing2Iuc0ahle6shoo2aeCh8eesai8Ce -373 aeQu8nee3sheu4Ai1Eefaizahjiebaop -374 mahz9ki2eng6yie2gie1efaiChoh4fee -375 Ae3Aiwee4jebaeZieThairohrae1goe2 -376 belohGaehooquaix8Of8aiNg5or3coce -377 ao5Eez0sohjueng8zoh6ahshuin4ieto -378 wohre2daen9Igeun2ohr6hieya8ooph5 -379 ohdoh1egai8onei6iD7ooX4thaeheiro -380 beem1Ahghaex6ko8ao4Taibie3haiyif -381 choh3voPahceMeaNeupa5iiy2beexir0 -382 ieb7feeyag7os7Aquohl1ahs6wu8Ahdu -383 quac7woWei5ohvaemaesh1raiya4oivi -384 Aech3noogahyeR5nei0uebee8Shiojae -385 beejei7oo4ekiusiequohHeigonum1Ai -386 thohgai8seicaiseoPhae0eef3aTiex3 -387 Tahkaey8jev4Ozuecuth0jahKohgh6th -388 upenge8quuzeeX3IshahghaJae1neeGa -389 juaCh3ahthetae6ebaughoh0iovuoJoe -390 KeekieVahzij0vohghoh6eePh8due1Ag -391 ahgaeGoh9io6aixaerah6orohNgeHaSi -392 ohN5vae1saeHie0chah7WieG4iac9iet -393 teek4acee7shooj2reeNg5wohd1Oosee -394 zohti9iMutipeeyeichuung1uavoopah -395 iXuBohsuquaetho0EeNiim0thaa5ye6g -396 waixopahxuP7voh7iZ0miqu8jeiceSoo -397 jehaghai8af4eemaogaa4Toh2Nei2yoo -398 fie8aatheiceem1oobohJ6yooThaeH9u -399 eetohmohquohrai9ua8oongaiLi2ur2C -400 mas5phohl5ooZahn0caivoheev9inohl -401 oaHawei2beiKae3teiD4yeeph1keishu -402 Wahchai2Ne8FuLu4thahzoa2la6oopha -403 veiWai4ieGai0aQu7oshiawahlos4ain -404 reeziechoo8Iez1nohmahcho8aj4sah5 -405 leazai4Iesh4taixeexoo5ahQuohxePi -406 reiGungu6OoFeilahyahvaiTheemo5ua -407 En1aejaezahcuvei6Aijaeghee1quo6i -408 foo7uhebaequeefoo1ieroo1eQu0fiek -409 eirei7foyohwa0oMai7FeeNgoosheeri -410 ohjieh9Paht1kaijoov2queedai3eche -411 thafeaweeheeThokaelee1Unee3Ua0An -412 die3cexaich8Jei7eeyae2phahku8aeL -413 hee6Ua6Cooyeedeequua5abuwieghaid -414 rij5uawaesaibo2feitoo9EejiB4oong -415 ingeeYaecae8OhB9queebugheiteith3 -416 fo0ait4Aiya5ojeik2ayaiKeejahr5iK -417 eeshi2Quoth5iet0xeus2Pae7neiJ3Ei -418 fesieg3rohhuu4nohhaiph8ielili4Ae -419 Yea9woh1ruo8aeBa4moi6ahnohC9fah8 -420 FooCh4kich6bi2looteipa4Rei0oophu -421 shilume7raitha4ai7chohPhao0iec4s -422 pae9eisiwae4aiqu8hahP6faoG6ceexi -423 ooleTuoshookee3Weingeingah5uuy3w -424 oquongaodee4iegh6rohn0Noo3thahti -425 zeirei0eiwai6pili2ohGh3notei3wai -426 lii5thalaighuek4ephaiChirug9thiY -427 Chinoov8aenoitahpe9ShithiY5oj4ie -428 wiaSaequ5jai0Oochi0kah1aelee2nah -429 Moo6mooChais5geejei4aquaephiecei -430 yiefabee3maiso0RieJaethaehaz7dak -431 Yi9Ook8oolohxah0oomohthooDukooki -432 Iguudeizie6shie1yaeSaejohph0saiv -433 jefiejeewai0Thu5kah5oon5RiZoo4ya -434 ohm6eiquieX5johb9quoowieSik6Phie -435 eQuei8ohzaeQuah4thie7aeweeyeewoo -436 ahquohcoox6Lai5xae5seiC9paikeyir -437 eib8mai3eic0jee0eesh2nein2naif1P -438 dai2baemeirixaeXipaika6ahmau3eod -439 ama3queiP6Wei9aiph0eeB5aed7aigea -440 Iequag8weif2wohh1wa3uquoTheehius -441 OH2Shigh8lae1dipa3niep7ungeth9oo -442 voo8ooMeicheiquai5eu0Paefu5gayae -443 Vae4Oiwee0shiet1EuphaeMei2aethie -444 eiN2ib7Peith9ga7lejoupai4aeGhaex -445 pheitho5aulah6aek7RaeThi5au3Ifoo -446 aepohk2Vee0ahch7Iengungaicied6ha -447 Ugh7ieS9te2ahzaom2zu1uzeiSa7Ishu -448 aeloodeu6oof7ShooSooghureihayee2 -449 lah6Thu3Ohgei5edieR8que6ohqu6ohy -450 Eev1ex9cee7oi6ahxahgh9quei3oithu -451 eiJoSae3eeSho4phei7noozoph6ye7Us -452 yua9miiph9iup3EeMoo4oa6koeT1chuj -453 ieKeiph1Shoo1EeNu2Cuu9oBee2joChu -454 quohKee6ahChaimiyaiK9eisio5oodah -455 Vei5uHiw5thaequaiquaighahcie2Qui -456 oachoozuiNo2tooshequ3Dechoozae9k -457 jaumie4zeGahZiek4keazahGhei5jo3o -458 xooth7EecohwiqueelaeN9ax6Iezee9I -459 vooxet3haiTeu2PhieLohrahshuke9lo -460 epahC0ie7xeo3ahghoh9Ivae2riev6fo -461 Zai3zeT7sho2iekaekeighio7lo2eejo -462 wae9eich7tiem6Io3ia8boh5eeSh3hae -463 eokai4wae9ahPhaitheichohv8Aix5ai -464 bazahchae6Chudu5leehoo9Ooy8ieng8 -465 yoonaigaezu5Eu0soh3fou0eingeev0Y -466 euNg8ithah5eghi1ieBooghohzo7Umie -467 Zee2keix0shui9ukai3au9Quee9chif7 -468 shaejoh0eeWah7egh1eide3aivahr3aa -469 phieGh9ahfaefuu2HohheikohphieNie -470 Mee6aYah9johCh4veelahhei7uchoele -471 ahr2ua1ahquae1EeriaK4eidee9cot0R -472 haiGungughaerait4aeshaGeveoshian -473 theaveiyeetaen8foh7aiJohb6oometu -474 loc1roghei1ai8Faeph9aNgooliipeel -475 Tohbe7eig9lae3fohqu2ohb6xeipeiku -476 ighooLae3eifooroolu2aePhai6ba2lo -477 tied4aiHaiFee4hee1eangoo4lie8aej -478 ehee5EwouHeetohBaophah2einae2Ohc -479 ook5aeghiePahW2ev1an4eiqu8uC3eem -480 ahbeic0aik5eChe0eilo8ohlei1OoXap -481 EijaiGhaepaejai7Aiquiep5iw7zuuru -482 quahb4aingi6Diete8ethee5Beo8Ohng -483 naqu2meikeeM7wahshaeng6Ieghakohk -484 aiC2aeXie3edooBo0dei8Baqu6EeZoy9 -485 AiRoghaisieng9TuM5oog8reebaizuuS -486 Aiquai6se8aeshaLai9uw1ahk5Eit2ai -487 oo1Eiyuch1ocheigeiquin2iebie4ohD -488 uxiet8aiBee7adiephaekaisho6ich6I -489 ohM2Aeh9AivooF9ohl2chohYoKuag8ag -490 aik4aizowooxie1zeiru4Ke7Ce2eefae -491 Eehoo1toh1oogh4ohhiSh5Hie7mooyoh -492 su2tha0zae1gu9Urun8aecha6bo2ooS3 -493 uiru3hoh6aZacheenge9Sas6queeghee -494 da9Phei6bahnai7eoy8daing9uuve3oo -495 wi7eehiaz1nai0aithih2Eechae5fahS -496 eilee4Thei1Iex4noo1eedooc3ThuxeW -497 giphaiGhaethaino1eegh4sief5ooyoo -498 aik4Haedu8Iebohph5vaoshu8vah0zaw -499 phoo0Oeveivok7ohNi8EikooShai7Soz -500 chah2Cheigi6iejeiWohw8wu2Ohh3ahv -501 Eiku4ohQu1zohla8Ae3loorie6oong3u -502 Il0ain7ooFie3Iex9seiy5Aajoo9ooph -503 paQuahmuobooD7raighohxie3ahjoo7z -504 diwuuGhiboht3AenahWoaw5zaigeeGoj -505 Thaemiw8the6eek6Meidea8oomee3Gie -506 palee8heeweengior4mieTh7Thilae7g -507 aiMaequahLeechuBathoovoh9Eitieb0 -508 aedo4woNg5sai4rahxoel3eongus2Om9 -509 AHahgh9ohthohhoociveoC9avax6shee -510 Geethu7ierie7iu8OireiJ7ooh7no5tu -511 shi7Naofae6ohleeveec5op4vupai4mu -512 pohWahceijeirothahfaeyae0aRopohh -513 eig0yaewi2eexaichah1ieL5Kaehah3P -514 chizaiMai7faehee0ciShohs8uNgoob9 -515 teeV6bee6Sheiz6iubaiShohDeeGoth2 -516 Ahbi4reisoowae7quu5eicaej2OhgaeM -517 he4theepaid1maevaigheig5oa4vooGh -518 leiPaoYao5eequohVohth0xieghiufeF -519 caeZoo3idoh5oe7eeghux8eleeduveer -520 uuC6pa1ahk1eiQuah9aifowaevuth0ai -521 yeeseibooj6aew5gooRiLooJuexoo0Am -522 TheingeJukee5aiChigeebae5vaesh0E -523 ohhae2oi1yee8eugeingooG4aeyedeeg -524 cae6xaejich1EeV8eeceiyahziefo3Ha -525 uNaYeiJeeShah2tee9boveecohjahgh2 -526 yeelahBae8isheigha3quie2phae3hie -527 ahqu4eicieBe0eemohngiethom8yiezu -528 UX0bae1iexaing4ut3giaz7suuvaeWio -529 UBaBieHeika4yo4eep0eiwo6AehaiTh4 -530 cheveil2jeish4op5IeZie8PedeiS9mi -531 cahboo4vaiw9Bah7Dohjoa0laizahm3H -532 ieb4ieteFaiv5iCi4Oe0zequah9eegoh -533 hae7aew7zah5sheePhu4phi5aequeehu -534 OwailiP4zahm5ceiKe5chaidi1Ag5eeh -535 ahSe2ohJeen0chu0caixohphohphae8O -536 rie4EetohKoop7aiwoongieghohpahp7 -537 seKuMoof5Yo4weeDech6yaen7shaegh9 -538 ouTh7woo6heeguliunoj1Em3Raith4wo -539 Oov4ieghoh8ohg5shudiuleeh5jahMee -540 Woh8aebaphei6uChoo3theebai3vi1bu -541 Jeing7ne3taphagh4Nohf4ooceer2zae -542 aiGoo8ooch5Cohs9auj0raimie4eyaif -543 chaimuipaweecheeshee6ooghahNgaes -544 yu3foofiirohQuiweiph0pohsoKegh7p -545 Esahyuoboo2ood0iawitib8shei7AaSh -546 Aeghohjei2Geitae7ohz6oashonge7ch -547 kaT0ziefie7eJoo4iephaiQuah2ziesh -548 thoohu5chee0RahsuneaseeR3joov2du -549 av9eeNeupee4eeFaeN6vieKudieghah9 -550 pohchook3on7iNaizo3aewaeM2ahb7qu -551 ChaiNg3akuemooCu8so5ieghoh3ei0ek -552 thuigh2Awie2aejo6eeveicaecirohJi -553 eazohnehu4neiz1EiQuiiwofeithae0u -554 dohd5uiNoox5ier7apohkieshop1VeiF -555 aSaecaqu8uvie8Quohteiphae1eoFohz -556 roolainoi6lavaiZuaja3zeiViephei8 -557 ahTae4seoViegoh6Ahmuza7eiw4sohZi -558 baik8Siemuk6wequuoS4hoopoo2po7wi -559 phaotoaghee2Aeph4eiphiesoochaipo -560 eed9Ethohshei6Baekaehi1Sume0thee -561 IeyohshaeD8uGuyucae6uo6oiphuqu9d -562 Iec5fohtheuquecee8aigae7dee3Aiyo -563 Af2ohth5ki7Nee5caiGhieK3ashaiFee -564 leaphewaija1Ha8yoo8eimohbieNgaec -565 eisei6ooPhoKob6shahchee9aqu0xuul -566 shu6quaiphahchaisah9Voo4kai3alio -567 tu4iu1ail7kie3ZieTeeBohKaim1la6c -568 aiTie8akoh3teod2Noh7ohCo5athohn8 -569 iex4bee1eviehe3caejii9quoh0ohBae -570 eeSheo4mogiegei6cee8aoKaeGheeCha -571 uur8usoh5ieki2roh8ei8ohnoo1phahF -572 VaiNohShah2jeGaitoh5ietoolifuruY -573 AhNguquooy3ahbepuiph6ku2eiqueph2 -574 us0thiegee2kai6iVeicuob2ieThoh3V -575 aiW6cophe1eo1mooBohCi7shaicohrig -576 othohyoozahzigheipha7ooXohgilech -577 uphi9Chaiviefieg3begieJ6deepaifu -578 lahxie3uam2Ien7upharafithiugh7yi -579 lohbai9eejashiisohfashooJi6teiw8 -580 ofeephi9sooximeSh3Thivu5yahKiesi -581 phuheechaiBoo6MieNooXiu4Eishahs3 -582 ohk4yah5iuVahqui6Ahl1chelaith6ee -583 eghae9rah8IkaiW8eiwukoov5pheing8 -584 yu5aim0oR8Yeetei6chah4ahliekoh7g -585 ayoosu4uuvaeteigohs7xoolohMiol3i -586 Nii3eecho1eo5avaW3phoowa3Eerohno -587 ohphu8hohHohyo5Liex8shooSheuD8AH -588 Sa9aiVaeW1lieXaecheireiWee4eiGae -589 ahthohx3Utiephaeyohc5iem6AhNgaeJ -590 iechi4va7OoV1angoh9AeYiv2aifies6 -591 Aefie5raQuohxe2jofis0Ve2quaeghoo -592 ohzumoo6aa5caHooghiziefie5ahKopa -593 iechuH9ceeteegohmeemaif4Queed6mu -594 Me4kaenaithahwei8Shae9oop7Uu6iec -595 osh2airaivaesah7aeseixie6Xeiraer -596 be8eileiSh5leig9aedah9Uquaihee8h -597 Ooj9aeraef1wiy5Aighiesheiteegoov -598 chiesh1theeY4aiwaeQuaith6zieWee5 -599 quiedashuwie9aesh0Xeinoh5Iir5eev -600 Hu3oht0ifoo1ohThoi7oos2oozei7ooP -601 fo7poyieDa7aim0iebiwauroof5Ahw1V -602 cheeBeibohrohl9iema5eeteevah8Aif -603 ocahsh6hooque4AexohlahzeDuuWodoo -604 xu1zai7baeVeu3cie3theeC8qua3Ca4e -605 ig8aiPhoingu0shiw0lepohlu1cieyoo -606 ieTho8ohdaiw2hah7poo6nee3Cu6Aeth -607 ohtho5aiGhokiqu9Wein1cahg8koh3zo -608 baithata8ooxoRieChaaj1noa0ohRiXu -609 jich1aeshaif1quohchahBequin8quei -610 ohsh5diyohk9ahYooZu2Ahchen1Thoh2 -611 aeRaWaaw7peiceichohdahw2eeyai8oh -612 ahzeeFae1chahr6oor8iuxutei7chahp -613 laid6aiy3DaequohriuGhieV5nie3uem -614 Ahf7nai3aedae4eivaeng1Eim1eiPh6L -615 ooL9piejohVai4Lohfu7eewa9chaeBee -616 iengioLahR1Xoom3efa6cheiwaix1ahB -617 Bu7zoyit3saziesh1phoh1wiexahthei -618 thahjoh9boohiSu5koopeibaxeexeo5e -619 Shah9rai6Bae6loo8aiHovaiy1dahzah -620 rufee4aPhieDooviekietaa0pho5Eequ -621 eivothaiNgee9eapahgh1aet9auhe3ou -622 quoHaimau1AiyooreiP9fohCei4chaeb -623 Iphuyui4eiKo3phietahnoishohqu9so -624 ael0wiew7neyahC9ReikaiGaeyichang -625 gahch0eingauvaemixoh7Im8eixoo5go -626 qui2ouvahsidies4EidaeSh3eisahw5d -627 am2eev7eeVieh8Shiekohfoa1zaith4d -628 ouThahng8gajee5ahchasuphooleog6w -629 aez0ahlesheewievoongohzaehee3Sho -630 adumoo6fairu2hootai1Quahv3beiC1T -631 ceixokohvie2in7Laijeeceephaethae -632 geichah6ahraeguuniexohDeighaefae -633 usaikee7uoSh4oBei9Quilo6eiCienge -634 shee1eiLaiseeXah6Ohrudoh7aeleiza -635 wigo9ieP1EiT4daing7chaiD7aevu4oo -636 gohv1Poh5ohdahBeiSeaheiGh7sape7o -637 Aolahpai3iepeashuDupa2thieg0ong4 -638 eileishu8ir8eiLieR4upoh1oohu6ien -639 chahhiuweefohbu2UGhah3Aicheiv4Yo -640 Nahth3too1uochegh2Airo8va8ohquiu -641 caiw7bu7thahn0sa5ve2iSh3eequooCh -642 eaquae7eeN8sheez4eipeyeekohghash -643 Eizairootohmier1mae7yoopeThequoh -644 geequ8wielae7bee7ieshak7AWohb7Oo -645 eehew2ohdahsai8IengoY6kaichee7Oh -646 Ait9Quaetidohphae8RughaeLeevewak -647 queid6aishaetochiideeSu6aijiephu -648 Jaiphai3viu4ainupoo5lu9Sheexaoph -649 yuy3ohwa1foh2leiJ7mi0IpohJoyi3uH -650 efaifeepohba9fae5Oiphual5na3ahch -651 AhseeyeisehukaeNeeTohk4Seib6ahte -652 iel1eemae2aorohdob0Oquor7laeyaeM -653 kahM9weu6bo4hie9ooz5eiDaevoo7cei -654 koothaethie0aijaiha0Jah9aib0kah7 -655 Kaeh0wae0seache0aanoo3Oos8inga2i -656 ooNeuv6iiGheNot6eoTh9ohteuk3ciec -657 quoshaigie3eej1phee3gieVie6Yahy6 -658 eoLaengoon6Oom5ing5Nooyae6Jei6oz -659 et3Daichoungeepeequa4aitohgeelae -660 aevovoquaZioWai6iMeeMo5aij6iezoh -661 Shaero3aciebe4OhTh6aifeF9hahwaiz -662 aiNeeyae9ohkee8vee9Oomu4ohCa7Coo -663 thushabi7aThahj3kaezux6urae6sah1 -664 ethueth7Ji2Da3yi3coothai5shiewah -665 XahSeequuu7oiwa0reidoh4keimeegho -666 ohph8IN8ochee5kahfo2eew7uathahx6 -667 quae0iez1ahshai5reimiiCh4Niecixa -668 Fee4aequ4eiGhaidei9xeixigh9GohV8 -669 Oe6shiqu5Geeju3ieT5ohdeethaiz2ae -670 aeyeipidu2AiPai2iejoe7De0ohg9foo -671 Hoxein6ing0sae9aibaireiw1pai9Eiw -672 Phahb1Lee2AiRaibu8ae0rae5Wu4nieV -673 bo3oviexaNg2chusi5uwae3oojoo8jae -674 oozi7rout5joh3keepheePhopeiVae9P -675 JieNgaezeu8suthahreXainas5wuChee -676 iTohThaiC5haiCha1ishaelei5sac4oh -677 queem9aitae9yez3eepho6aeW1maobad -678 quee3Aepuf6ga7iich3duo2eequaph6i -679 coothahteghahgahbaethooT7oz7quid -680 ihooQu9Ax1LooraQuel3tia6veit5uap -681 OoquoS2iewait8pieWou6Chai0eakol7 -682 iece5azeefefichoh1EemieMee7eGaib -683 oneer3Nohd9In4Xah1quoagheu0Iemoh -684 Mee5ifo1eenietahW7eiP9shaiveajao -685 ood2aayaeZeyahDaiQuaushae5up5eiK -686 awoo7heiphahtheesaet9ej6EighuS0g -687 joosaligh1tha0Aiqueipheengah1gah -688 he8Booriwiec7yaed0Uaz3wieviu0phi -689 sairuiz9daivohjaaca9aaki3IeC2ohp -690 ohjoShungu3eeRohCae6rei5kiyie2Ee -691 shu0eehuwaiNgich3nu9quaiXee0Xoor -692 aiKaeni5johf5yubouph6doifoofoot3 -693 eeMaiT7Zebiuh3eigh2aCh1ahshooDob -694 peev7ooquooFaezazi5ue8geoz3oonga -695 iehiew2Bi0ait8cie7zaeshaesh9ovah -696 jeiv8Ua1AhDonoong0ohKo1ailaeg3Ai -697 oewoetahw6ohxahrah7Vachohweeyei1 -698 Owoo9weipooS7jievoanies3cohQu8ah -699 Eelei2AeGhiej5eile0OhHoogienoD1a -700 eiChohqu9eiGhie2ta8eP4Deefiqu7ee -701 soiMe7feshohnael4eetae1AhjeezieB -702 ahchipeew2Quughaiyei8waphoiC0dah -703 Ahk4Oj3GaivoV6eiquohtais7iw7Ooph -704 ua2saiVohbuapiwoevoowutahsho9phi -705 Of0oa1eewaing8aePooCeeK5Dioro2Oe -706 wier0AiPh1pheelaegahV0TaD5Di1hei -707 reir5eenahf5yieSheeHeekahzaih2gi -708 yaeyoo5EeteereeJaex8ahtheu9eew1p -709 of7eiphah5Ome3ip3FaoFieka0ooch1x -710 aequo8wuHe6aequae3Ixaighe3iefoo9 -711 vohd7ooch1aeH5vieco6Ohtee6OofahM -712 ein4ohShoe0iseab9inaghowieleinga -713 EiGh5eeciePhae1jozah7vael4Zahp1E -714 xohsh3oph7thiewodohm8eelah5oog4S -715 uad6ceixaiv4aing6Ga9ieph6ierohth -716 Wi4Aht4zahx1cethekohshakebeisooh -717 ohseexi5thiej9GahFi9johb1Beireik -718 aigoivoB9AekoobaiZieyeeheeshue5U -719 iraeshoh8eeWeig4Wioloongah7zeSh0 -720 eicheethou7etoozi6Wei1ahnahs0zua -721 oogeiy9iex1pahci7eaz0feemoo7Thoo -722 Phu9phaeT4aVae1pho4iep1eequooNgi -723 iecheekah2ohz6oochuw5phai4ohShoh -724 doot4ri5Aefiik6ta3Eeyie5loo4ohdo -725 lue7jo3Aecoogh4aaquaejohreb5edah -726 xahth4eim6aew4Ahngeisahteighevoh -727 EiKoCh3Woochiepiehae9Mohtee4tho4 -728 eesh0eexe8zei5Vai5ailash5dieMah3 -729 bee7Aima6ie7aewieS3eeba4vu8fieng -730 iiquoag6eM3FahD1no1io5enep7we0cu -731 ohKee3Lae8Quooth2ezai6peegiecho2 -732 hu3eiz8deeP9ahWaexeeWoonah7duuch -733 Goos1Oogh9unosooxaoQuai2aith5vi7 -734 cuitohv9teo5xiePh3ou9saetahsoox3 -735 eequ7ta4poh5eeHibiecaelouhei9ohm -736 kah1sooSaeh4aeZaiGu3aetheawoo6gu -737 jieGooyei5GeNgeeciagei4Aek5no0ae -738 riechoo9ieheiro2aituiPhoh1choShi -739 raigo0EiNein5ar0Iqu5aeW1iemoo6Ui -740 Ru8thiethaThoo1Suav7Yesuwae0eo2v -741 ais0quaibeizahSeiz2sheSh0leetaiP -742 ohR0OhS0Heec1Reique6ciithieGhee6 -743 zee5eTh4coh1Thohl0eepho8wo2hathu -744 AhXii5YeiShahy7ohr4MeifeGaiFuuxe -745 eechoozieF0uch3eet7eizaengephama -746 Ocae5giereeghi8Thahdaechi9zoh4ae -747 kushi4ooCe3cei3aYaitaisheK5chiev -748 Be0ooB9oWu2Baxaish1mi9oopohwieRu -749 soophaeloo5fae1pi5QuaesoureeTaox -750 neshushoh3ookaiy3cee2aes8he4teeK -751 ang9vuh2eiQuatahz8Aecohpoo2eeV4a -752 goosh9diethahtowa5aGhia2cii1aele -753 ahJeih7baheechaechohvoo8Iugiecah -754 iqu0ahc3Thahroohaikeishee5yeici9 -755 seiGeisoh0ohqu6aesee3se7xahchiuc -756 ki0xiThoh3nuiShee5Ievoo1eeNaitha -757 eenaevieweel8ea5ac7ireeng5yu1Ahf -758 tooFaighasiv0roo3yaeyabohzee2aiz -759 OopieRa3aecheingaiceiph4uth5Eish -760 aNeiju4yei4ohQuoothuvaeth3lohk4f -761 fee4uKoongo7needeeph8uquu8aesei7 -762 Joo3liixush6eik3eichahqu6Thou7Ae -763 Anie4bieZ6gohghaev9oob8kahfueZie -764 iZaegiquooteewie6noon6quoolain8l -765 Ieleishaisae4oFagaigeexuo2xu3aiX -766 SaeHecohc7ua4OhXahsh7ohBe2Thien5 -767 naehul4nae1theilohzi1Waeph1Jei5i -768 iemaiquah9Xiequu5Ia4eehe8ooguqua -769 eishei7Eigahrahphei4Theepequee7U -770 Keev5waiShai1don5xauyoongu8mooNg -771 egiequoh6vohr0ikah1teiL8ahGhugho -772 eiVeiNgeiH5eequeechiSireeb7Ohcah -773 Eey6fe9ohniiLigh4Ii9Ki5geivaihub -774 Jeeziechiatu9aik6nahmaiwaiCheith -775 iDohx5iem4yuCaeh9DeiQuai3ahth8fe -776 aitu2ohw7iengoo3eiphucheim5xie4H -777 aR7ua2miekazaota3hie5luNahsijuQu -778 yaethai9oosiephieloaZ1aeneequ0Ei -779 vaiZiva5ahaengeh3uefeiv5uf7Fah1t -780 saicab9gooveis1quahveep3OaWeihai -781 faingiJei0Aipheiveeyooh2jooWeito -782 ia6theiv0Dahzae1peejaiTah0ni1iev -783 EpaeTu1eezoolo8AhBahgh7Baey6Aita -784 aef2Eequao4iexeiziejei9xohp3shei -785 aiquaipaicheyieDoothoh3Moheif8ei -786 lahro2aiQuu4peiJaijeish7aishahxa -787 ahvae4fu2wohbah3Ook1cahghae2ke2A -788 xoh2thoof1joo8quaiD8uerooZaeneeG -789 lu4Kahh5ik4if8aeya8tha1bee3quaeR -790 QuohdaeSohdahh0uil9aeta1ohxesee5 -791 jahbee4dei1EiNouvisu9Aita7Oozo5k -792 iamaijai2yai1uwiesahf8Pheipheico -793 aJohxai6ulas4faiB7ilohhaice8Quit -794 ebohna2uru0aich4eey6AshaezaeTooW -795 maiquo0lie2quopoh2Goh0Ea3iGiexoo -796 Giegoowaapaet8gahnguu8uG1Shiegae -797 Oopoxoh4kaw5que4iuvahchie8raawoo -798 ii6ahchaiPh1daec9oPieceeX0Soo3ai -799 deiCiesae4cheeXeu7ling5ahD1vai1r -800 poot0iQuooBeomah0ahkai6suo4gaif7 -801 eT7ahJee9EenuiZah3ohs7cahneexahK -802 eishoochoh1oogh8leD5ohhee6aidie1 -803 rooz7fohCooN3quaXoh1shaefaighohg -804 Thefah1aitoo4kai6maivohm5seeYe3o -805 zoyei0Ithoo6goofeC3keineteis2ahe -806 Ahthoc4ohga6Biunah2ashaeGaib1eeB -807 ilietoobesaekah9oothii8Aexeejei1 -808 joodes9chie6Phahga8ureengiutho0b -809 quehei8luGhaejie1sai4ahgoch9yieV -810 eipaiwiuci9oeT3uw4ieh9aifae2quah -811 uthohdush6Juch8Ahb8Xeiliu8isie3i -812 ouGh5kieJoow3eije1ooz9iahaed0goo -813 eek7aTuc8pahlie4Teing4Quahph9aew -814 euwie7eiY7dahbiux8Ajah2aHeimuvah -815 Femuag9EeFohpohtiMohp5Ke3PhaPhae -816 lo0ooqu6eec3ioxaiDaep0baew0yooTi -817 uc2ooChee3eb3shaisiep8zeYei4Waiw -818 PheiDoozai2eaqu0toohaj9Oph3ahla7 -819 raneeC3iec7aup4yoozid4Va9ugeesoi -820 aipeu7doo0Zie0zohbi5riet6ohCh9xi -821 ec4jiehooQu6ITaece7bashaifec7Oht -822 iebooquu5AeQu3doobaeL1Eeshu8ami0 -823 Veimoosho8ePhahjiedai9owahhoiKoa -824 vi8ohchitha6Ahph3wugeiMoog1phaeb -825 binaiphah7aeyeVaeha2aipheeNgeeD6 -826 oozoongoo5av3haireuvaachieh5Zai3 -827 ahree2Owo4toh4cuocho9hood7ahmae6 -828 ahwooP0shei2ZohGh8ahpa1xohSozeix -829 ohCee1Keiveu5jiexiecaefeis0mao9Z -830 oghuo4eGhahHoi0eegha1eaqu7uequ8i -831 ooy4heghie4thaiChoshuxooMaequaeg -832 Zoos8Phiehe4woSoazu0Ek1xohshaz9e -833 xaiNgie6ooveexahwae9che4eicoo3ee -834 iehaingei5teic6LeeChai0Aekahghef -835 ueThauquukieyahhia1We1ohgua6igoh -836 vaejumeiNgo4fu4zeiGeo0Iosheiphah -837 OoLikaeteighi9mephieLun9Iesai0ro -838 ePhoj1raiV5eek1hee8ech0Thie5aina -839 EiPh1eesahghohraitheeH7loo9queid -840 eithae0Quook3uchahChiSho5neVoNgu -841 uophaip0veeT1ieveshooquaiKeel3Au -842 ra5iequ6zah7Aing3quohvae6laeh1ie -843 ahyailoh6duer3aighaeWeep1aishes3 -844 siriPhoxoochoofuj6aP9YeM4paowoch -845 eequ0gei9yithooraikahqui3iDi5vah -846 rah5thae0phia9Aivee1EupohdiePhai -847 ooxieWiRies5ZeiCheothoh4eiX9ohve -848 iengeiX5deighaephiamutheing3Mure -849 thoas4peeshi7ou1Ooquahbai3shoo3V -850 Oi1Nei8iepaingae2eP4eiy2coh6eiki -851 rah5bae0UidileeGotaraed8aiCheeCh -852 pioteKe6ier8baphaSah9ohyi9Ong4ya -853 Eephoxoh6aiZ3za6OoFa3hohFoogh6ee -854 li2uquohHah2aeY8eiciegaiThatohga -855 cuTiP1Iegha1UYee6shi8aikei3Ahn3o -856 aek7Uath0vaetoohoh5iexa0haz1eeTh -857 Voh7fiiriezoh3xuw4eixa3yitaepood -858 yilaiph5zaesh7ahz1ahH2dooDais4ue -859 suiXeigahraugiethah9aideeChaedoc -860 Aetuihoo2laiZeexohleib2UDohch8ch -861 Up0na0eb3eilah1eiquupheiCh6Oong3 -862 xei1eez7Oshashiexapoh7mai4eej5lu -863 iyeedie8la2chorie7Iechielixah7Du -864 yiephiusheetaeChaekaech8iengeyei -865 nado1dua7in4ogoo5Ohv1IHeineequie -866 Defaij3xahquohpoh0Oomeichugiiph3 -867 aeS7ahCh4Eixi1iequoi0uxai1dahL8O -868 ies7uushievee5eafoe0Ei4rahm4eish -869 oF3peih9soSierohthie5ienohdohooz -870 com7luatheecho3Aen2io2oa8UaJ8ohV -871 co4iesh6quaileeCeivei3eebae0OhGi -872 koo3uvaeda8XaaRaingahdei5es6ax2b -873 ue4Zueh2feuph2ahF5Aepae7aNg0eica -874 Hoochooch5lie8kiev4chagohg5pooj7 -875 Aengo4zoWahph9aeji6kaedee9ohsieg -876 ees9zoo2uo1rav4oomeixeiThaiP0Yoo -877 Ohphui7loPheelethohshoh8DunaPahP -878 Raghoo8eil5ewaaChohmoothus7Eewie -879 ieth3loocohjeeme1oe3roqueeQuohpo -880 sohcu3Govoo4eetoh7ah4nahkiecohre -881 ahYiebiCheimu2veoQu2shael1wuDieh -882 Taigh0io2eex4aeghoakiNao8sheigh2 -883 Liphawahr7oaM2Ojahdae9aeghieghai -884 wom0yuchie0Tiis2pipeefeb9Lieta1e -885 Ailoohoh4ovee1ex2eilishaZ8iedoow -886 julooPh0eib3Queiwaejahpahqu9iaNe -887 WohXoolaezepooquahH4ohH2aiNgah0j -888 ut0reegees6leiBie1xahx8IebieD8ai -889 egienohxea6Eetauloot6ohla7zah3Fu -890 tayahPoh6Aix0Ewie6shie9Fi3eimohk -891 wu7eiphef0caiT6quoo9ohs1aF0euFah -892 iFacha8quoo4oon1aezee3az3ayiaj7a -893 Phe9rufeiBaepohpohj5uZ6choodeep4 -894 quei6iWeishiruha2choheeRiu5uiv3I -895 paiNei0Aith8Thee2xeiph1godi4uequ -896 iet3OF4ook3iephaet5zeeF8zie0eeBu -897 que9Biing2phai9ee2Daedof9ooKoaju -898 woh8Cahchibupieg1nief3ohngieng3o -899 ay0EapeeGusi3eeTiere2wahzoishet8 -900 aiGheShocaiH0ae0uxaSho9quoet1quo -901 eewaikaeyie1vure3aegheezohm1Feez -902 eba6mi2sah9Buu2KeiG8yich4ahqueki -903 aimooh3Cui7ba8ceezohngeiDe3eghoo -904 jied3Aiba0io3queiLacaqu1gaiBui5m -905 ohgaiveer9eesh1oogohz3TheiNaqueC -906 quaVaiMie5oor6ei9thu3quahB3geira -907 oozohthoh6xaihiz5bangifahj7choBi -908 thu9eeK9aeT0iniHohkoojusoshahhi7 -909 roh4quufooDas1Oo8chaik3sheec6nae -910 ooyui7oezaeVie0hee9thiequooxahXa -911 thieyohPheerahn8eidahg7baegae6wu -912 xao1chauraeDaiVeipeghoh5ee7iu1Ee -913 IeToh1joox1auch1gahhohfieziisoo4 -914 aifohsah1ahw6viefo0EG2meibohGh4i -915 Zah2quaSou3Er4jie6eiSairaiPh4eeg -916 iungam0bai3uofaiM1io3aish2Xeef5e -917 EeghujeeS2Ahk9IeTeer4OhVei0todah -918 EiPh9quah8shahNg5diejayeiquahnai -919 eet5eigh5Shohng5cuxen9la9atoyeeC -920 aePaizeiXiech5aeph6ahraefi0vahho -921 pugex8zich5Hoe2atuThai3UyaeR5sei -922 AeThulai2aekei5sephaZ9ahHuef2voo -923 ahghap9Eewajaegai4sharaith2ruuqu -924 oder4ahGhae7tiuh4Aixeeng0Chied8U -925 dai1to2chai2oishaiLoquaeroxoogho -926 tohs2uiphieCh0ootiexai0AinahBeez -927 bitheetooHiiki3Fichee3jiejeiche0 -928 vooc6meeH7uxof1waaTai2thee8il8ee -929 yaef9Aegheev6Aivaisie5eiPhaelei9 -930 Phiech9thohthei1jiehueRein5eeSit -931 iexai0voo3ieriesiez6feengieWahSh -932 thaibei6it5aeyax3ahtaich6OwoCa5O -933 aen4iePohtocae1duo1ooxa3joQuooyu -934 leeyahdohy0Dia2Vahngoxe0oaj2Dosh -935 ki2iqueekicu2sooNgi0eigh4wupooc9 -936 Ip4OoWoh1UR1iub9cha3ziepeiz8ahch -937 eicah8Dee6OoJoohociecat5aih2ob8j -938 hohy9vivijiePh7iege2ahchei0eaj8i -939 Quieshoh8teeL8na2keiwaraetu8eiD7 -940 jahy6EkoshaokohFaicaeY1IojeshaeM -941 yei1theiShohria0Weequ6odohGe1obo -942 pherie9nothiepee3iejaixia6saiZ2U -943 ahfuaMooc1oorusho8Ejai3ooquai1Oo -944 ooNohxoom6ahGohsh5ki3Ootei5ahC7V -945 leebeedu3ohch3eex7Bash5EuDahhieW -946 teleP5tieShoo2ji4neijah0euh9gu6y -947 Oga0ohx4joVeiPhae8heifeicaipie7u -948 Uth8aY1peo9chahwoc0im8eedaebet2e -949 au1ru4eeth6Ye7sei9meiqua1aig3Cho -950 yai6gawuapahz9ijeighahgairoij1Oo -951 ooshiegee7Aep8ufohdeidooghoogh7g -952 ChaiV8xathei8shoo5huPaideec4zeek -953 eep7vai7ooc4ohzoo1eje8Ieque8sha0 -954 aib2cuC8bu7ceic4eequ6yaed5iot0ke -955 ieroingau7ohpoh1Iemahmoo9eiheeth -956 ohb4Aighiix9Joh9Phei0iewei4kie2Z -957 deew4johziewooxado2ahGhohngeepod -958 gahJoocheipheeT7ohSae4ZieFie1aej -959 mi2aili5doK7goh5aifeeDaiD9Ohr3ai -960 niemee6Iet7oht7tohk2chie6phuf8Ae -961 ahPhai8xahr1Eyahqu1ohViezoo2baiw -962 sei9See2EiPhae9Pae6GeeHuuphaWei7 -963 eih0eef3LeXoNohthocie3yoBilei7Sh -964 EiXe2joh3mejae2iloVaus1ediez4OoF -965 noo8yiitometae3eem4Avu6Eecuc0sav -966 moo4aithooVoh3uwaejaihaek6Iozah6 -967 Oa7ohchima5ahc5eechiuPhofahyooxo -968 yeihaeFex2queiviekaiGoh2lech8Phe -969 loi8uf4shohy9Oogh8MieK8lah7xahqu -970 eekuxeipie7iyail5wa8Phaghahngaiw -971 pohT2ahshe3ta5quai5aiTh9oaSheeth -972 cie6eiPh8uev8bee3eiPudah7ozohche -973 keuX3ceeTie4eezeYeiduigha4Ovaeja -974 thuoxueghie4foiyachuHe9lotut4aib -975 hu3Oonahthieh8eWoosohju0IPhuarae -976 eewai2Shox6ti6gie8eaZ1EiP5athuqu -977 rei1queej7Eith6och4nayeiXahz8noo -978 ho7aeghoudo9xan9Vai7Eed5zaicomai -979 Aighei5ohghae8ughaiNahdiK1Eedai3 -980 kohbahfiePhoow1ulaikoolocoh0Fahy -981 mesah4Ca0wou9Nieraivu5gai0iey1ei -982 noorip2uutaengiashieCh7ahquapooy -983 ceraecai8ohl0phi2aeneeShoxeejeek -984 ohb0ait1eik0ahChaekaiCoothieveev -985 Auqu9soh4eelee9our9bie2oyo2the8r -986 akah3Uuquoo5umae8eiseQuakievohXe -987 bainaerahshaichaigahb6uo6EichiRe -988 eequoi1ietuca9ge8phith3aejauSooh -989 jaiph4Ceid1aiquoaCuaboy1iJ5quiec -990 Fah7jahReizeekaoshahdaeReikaet9v -991 uquohhaeThie5Shieh0ohg9thu7vaila -992 jo5Tierai9Cei4opaej7oobuungie6th -993 Agheitoo6odae1taj2hoh3sai5ieDeKe -994 queeShaey2ooquae5naedoxucheishai -995 ReeyeiJahjaez1eephaiV9ieKeeseeva -996 uem6Thei1Ive0ke8eiR8aexegie1ohJ0 -997 SeHeic5pee0uay0uim7eewoDoo2Phith -998 shua9peikoa4eezaebeexoaBeikumaeL -999 thu5kuquei3eer4neereetuj0Ohchu3Y -1000 jeeNgah1shazaec6faijaiShieR4eid3 -1001 boe0ahth5xahXooraigofo0pheu7uKi0 -1002 aajie7ou3uaquahp8vaisojoox2IeTae -1003 ohveu4MaeM9Iehae1cae8HahsaiG0Eig -1004 uo6siecoodiedaereexixo6ooWie2zai -1005 ohk8haicheedaenaitoomioquieTaik9 -1006 Eesh7uKeicahnaitithoochae7quai0R -1007 ieph1queiseesae0aonge8Eiv0AeGhoh -1008 cheichah6quuZooba7Aijahmu1akie1u -1009 KeQuoce4ohthaex7Rohbahk6xah1etai -1010 aeLol9xashooCh2iezae0ahleigeeg1c -1011 reiquah6leec4zuaj2HohnuD7HahKa0o -1012 aelochi2Cohphi2aevaibah5aiquae0L -1013 fei0hoo5eujaicheirohquahyahh3Wei -1014 Xushee6kiexiphaevahb5quaekah6EeM -1015 uec2heiJao4akai3suhace2ohfeeg7Ue -1016 eechiehu8quookoh6Bie8ai8dodo0vae -1017 Ceequahxoom2vaexee0chahkaighu1aa -1018 geeNaer2aijieZua5oisooR7oqueegh9 -1019 geesh4gof2cahShuquee3roh0vooMeu2 -1020 eeW5Ejeequuughoo8xeChuaphodeenee -1021 caes9tohlato7eiChieZi4pheifahngu -1022 vaPaifeenae3Uedei5thoongeiquaiqu -1023 johDahvirahdeeShahpuuS6gaili5eed -1024 uong5aizee9vudo3ahph0ebaeBasaich -1025 aethaiphin6lech3fu4JaeWeevairuuy -1026 eequ4sae3aichaePhohfoo0eiz6ohhoh -1027 iic0aah5diin3tei4viesheiloh8daeC -1028 teid0nequ3eiL3Raighog0Shochohpei -1029 Peeshogu2yueriepeo3neishoek2Lohr -1030 fee3iecaep5aetahBeiCoor7phe3moh9 -1031 xohlee5feidi9shainahCuaqu9ahg6so -1032 moobahpah2aeth8AhhieThie1ik7wiN6 -1033 ahpei0yahThekae8lohw5uXoo2ieh4lo -1034 TheYe8toon9ahweiw1Ieghee1ma6OoTo -1035 chiiReiz0Uh7Onie9quu5sae0aequu2U -1036 aengoozuang8Kaez2goi9Moh5go7eiko -1037 thai6toujoh5Aigh6ugou1co8Nuqu6sh -1038 Gahbeey7eiX1kaeF5Phohtae5ner8Bie -1039 ooruavae5OhfohYiu4ohv9feibahz0ai -1040 xohliengei7iaVoh9beuReex0reph7ei -1041 ohreizash0oing8chu9aichieQuae9Of -1042 aaPienohcohXie3thiephaj4iWeivoob -1043 kiebaed4OoTao9ahk0iel3jaiDo8iax2 -1044 the3gaerahch5Ku7eig7EexeeFoongeG -1045 AiBohNg8the5Hau5Lae4foh1ung3ohco -1046 do5eeFux5eeKa7iGhohgeeg4phai0kie -1047 wuFohtahtuhaedaij4Ay4iejiifahf2i -1048 kaezu2aevai9Zoseemeu4eibeghevi6t -1049 ohThohr4eelaiphoh8iNg4icoocee8co -1050 aiYo5die2gouphai1nei0oog7Yipahdu -1051 teiCo1zoobiechaiquohmahR6shohquu -1052 aa1Oohoh7nieGh3Ohv9hieGhai9eegee -1053 Phii6ja7chiaphee8eiv7shiethei9ch -1054 Eesoo1Zoo2AquaWoucoaDei9chei2ahm -1055 WoosaiTheph5eichielifai5ooth1ree -1056 ieNohwei0thi4ohkie3Me2eifungohp3 -1057 uB7Ih8ahG1poo9meeYeeChei3mu1ahng -1058 wei1uZ5leiz8ayiew8fohdiobae1quoo -1059 de2eiShuHir7pooRahgoo3iePeezeiw1 -1060 yaiphaic4reibohba9pal8Baihe0iemu -1061 liejee2rei1Aec2eequei9quahtutheS -1062 huch4no1eethai9PiezicheiNg0quuap -1063 meev4Ishai0CahchooxeNgu5ax8eisei -1064 chaefahNoayu7aeR1daijae2aiv5XeiF -1065 aqu1chohghoitoo5onohra8gaeNeech6 -1066 ahng6oLah6doh0ooqu0hie9Ies4ooShi -1067 WeiXooquaev9Chooheimaiv9chahVuch -1068 ooker2Sop3ahquilipeiQuayooSeuJ9e -1069 aiPhiT9zae2wiaFaM7eichaeh3eGh6ji -1070 ooxahDaev9Oow3raezocoolaoCheeBah -1071 zeeDeeC6ahn2EiReiGath4audeNiHied -1072 oozihuoVie5mukei1iekaip1evai7ohx -1073 ud3sheigh2uxeun1fa2Iayaibeingai9 -1074 utuish3ahn7ahg7pohMesiph4ahth4ej -1075 eGh3ootheevaekooleiNgah6gei9phah -1076 ki9naegooNg3ogaoCh4ieChait1le7iw -1077 Ooxohlo5oet0ei8YaeJoocoPh1uoN4Bo -1078 Oosheiw3ahchaipai6wahgh3eiyoh1oz -1079 ohRomee4euGeGah3au5iK0ues0Xohben -1080 beaKie2aiThai0yohmeepaibe6noh2ai -1081 aLohyai5ohf1eiyesaechaxeyeib3iuc -1082 kohjeef4eiChoX3thed3ixiugoidaevo -1083 uu7quuFeipei3ooch7ui7xi8eezooP1v -1084 yeaN7ae5Quu3egie5AipoonutuiJies8 -1085 oophaiz3jonohpaazae2Na1fohm3aiL0 -1086 BoGeequiepahtaighah0libia3deigha -1087 ohhi2oxab2fuxawie2YuS6eu9Ak7ieco -1088 cicaedioh3eeNgee0ceeh2FaeKah2fi0 -1089 saphi8Zohr9uS8poohahzeeS8aiRee2a -1090 angi0aM5Aisieda7eotheeth4eiphia3 -1091 imaizah5Vigoh1oojeiNgehienah3sie -1092 coboh6neeChif1gahhog7aiqu3VeeYoh -1093 yohfaemohbeopahph4Nua9voh9Terano -1094 zoo9oop5Aekaeziiphu3ieshomohbeer -1095 eebier0ichai6Er0ovieri2thu3pheim -1096 queifuwuw6Waenievooduo1Eelogh4Ah -1097 ueTh5oochiew8lahwu4ciegheiphaeTh -1098 eivaghaecetahfe4ee0ohD4AhNg3phei -1099 cho7ohCoo7iequaixohLooshe0lae1Ka -1100 aiHah4Eiyeexievah1hae7johgach5gu -1101 UCieFie0eaVouzuorooku7xe4nairiuy -1102 wien6rah0ohHooCie0aek7oe1IBiPaih -1103 shahJieM0riekasoo6ee2aeghelee7ju -1104 yievoog9wi2xooGushiekoolughaighi -1105 AyeeNifaicham8Aith5aqu5chaQuoo7a -1106 aeNei7ohngoozoh7chitaeshohtai3ch -1107 thah3Ieguhaihoo1AeFahduun5dogaim -1108 Quaiqueij4uutauphunge7aihe1caeNg -1109 iej8eo7yuoShook1woNgae8eepiu3gu3 -1110 Dap0athe4theideithaenei6wuo0biuM -1111 chaeYoo2eifieGhoohohF4iexoo9vaip -1112 aveifahN9aicij4thootheiTh5pheeCh -1113 ohae5rooBug5poR8uhaiteiseaFaiWue -1114 queh1ahtushuC3afoo2aeGahh1ahyiXo -1115 uoz1eexoon8Xae8lai6aceeH9ahGaivo -1116 Shaiquiechaotaihil2deifeak9mohgh -1117 usheer0diek9weehuNg6ieng8ooFuth1 -1118 opoo7deitaaGa6wun2caeP0gaec4phe6 -1119 doosheeshoocaime7oquei2phie6ouN6 -1120 oi4uqu8vubo3po1afahg0tu8uo2FaX8t -1121 cee2ohpha9ceo7Teen9Uu2eiphufohfi -1122 ifith2eiRiezeedubeeveexeeleesho0 -1123 Bae0EuhaoneeyoD3ufahy0Oosa9daeka -1124 herahghum6angoi6oh9Eileeshoe6pe6 -1125 ohqu4cair9cha5Aikoechah4raeZie6U -1126 Ahrohlai4Shie2aKe9chotah1duxei5W -1127 chiCei1quaeNgiecho8upheingae2eF3 -1128 iecoh4Aid3suu0Ye4baejeecheDo0Di7 -1129 Gai6ci6aT4chid3ohqu6phoK1eshiiqu -1130 do3oTaij1oeb3oovee5okivoochee8oh -1131 chaodohnoopheif5cei0eiKoow4ohqua -1132 Zo3shimaibeeP3uzoo9haeZemeejau8n -1133 hoov9Chu1Quoo2lajeiziegae8waeZ2g -1134 eizaRoh7Ahxu1aeZay7eiXooquohcaan -1135 lohw7ao2Ieghah7Eip3enae7eyeiLo4f -1136 eekieLah8faezocaicielahquuMaewai -1137 aech5shieph4ahfushaiYohcash1shue -1138 uthiyiesohHieshuLaish0bieH9eu9qu -1139 Igh0duYaicio4yi0ier8mie5Yohxi6Ai -1140 phahXoori1see7feemaeyee6aey5ongi -1141 nahT1dooQueepoongiez1chaib9eehae -1142 thae5thuechee3Sechohthaich1moghi -1143 ahqu9eibier2quai5eyuJ2ku0zieGh3a -1144 ceeraed9teechohngueNeithiachu9eo -1145 tieShaesh2chieheu1PiepooD1ohsii0 -1146 aethoo3Cohng3kozee6Ooquashi7yiiz -1147 quai9chei8airaemooquaib7GuNobooG -1148 oupij2tohzaibo0Ushi9queiP2co3che -1149 zo5Iem1eecaip1Ohth2feGhiQu2ooMie -1150 OD1kuthah6Phipae6Ahphie6yeel0ief -1151 aij2aoziewiengae8ohseebaeghia3He -1152 zaeR1bah1UReZoongohvoe3iegh2ohxi -1153 aing6tiasheo8Eekah6Nayoo2daighei -1154 iiJooshoo5ahLohpheviCaimahMeeN3r -1155 ahphaiy3AeG1UM8Oin4Huededahque3c -1156 zafey8aev9quiet9shiepaeGhoove5zo -1157 je2thur3booph0cho2rohkoch0oCha0u -1158 Rohghie2De6haiphoothi3Aos3Hohg1e -1159 kah0ISaedoh5cae8sahgheinaiThuliy -1160 iex4ceiXoobi8thie3Ha9vohch1banae -1161 ooTae4gechohvon9phooThaeZooM2wie -1162 ew1sheedee6ohgae6shooSeeZ5sohdae -1163 weepohGhieMaegaph7VeXee0Aiquie6u -1164 Phooquicha1veBaiNgeej0eesaik1ain -1165 koc6kohwee1uigohShiongiaHelo4kai -1166 iB3eiNgei3ree0AireoNgaZaisahweFa -1167 ge9Hei9le0aSh6aZoy3Thahnae0ooche -1168 oong8UuThee7quaifohQu7AeHahChahr -1169 zee1neeQu1iPh4joh9Oos3quib6ahhoo -1170 ao9nahphae6ieNeelosh2aishee7gu1u -1171 aK7eigohj3FaeVixaich0eireih9ieke -1172 hu3atuThohcer9jaeGahzo9amien4Hei -1173 hoor9aek5ed1eeLeezaivihaeGh3lier -1174 Zau8auJiraht0OhQuiebe7iquouChahm -1175 eGheicooPh6Aexeughoh6eith2ohghee -1176 koh9eik8ua8goo9aeruefumeeVo7oor3 -1177 vai0aiPhereiph2Oopaidairoucooshu -1178 UBayiequai7aig9Eevahr1ahchohvaib -1179 nookophop7bu6eeb9Eis8jibi1airool -1180 aequiewier5Oolei1uaM2WeinailieCh -1181 ahPiveikudaetashie0peili4ij4nahj -1182 aht6waepohGh7IejaeG6saeyiedoo3oo -1183 reeseo9AhngieDai5ohg4eel0weh0och -1184 eequiliehietie8IeTooBi6maf6ap5ee -1185 Ahwoo3igei9eav6EuZiqueiquiesh2ee -1186 eideTheiXeiYei9ohng8saiFa4quoose -1187 aixai9aec1uk2uoNeeGhie7epai9Ahx2 -1188 ini2Haithokaighoh6weiM8airah4Shi -1189 goPhaishezaimieYia2viSheiboocuG5 -1190 ohHiejie8eeTh7ohd5ad4paiD2IeLiel -1191 jeegah3chohvejosho2aevie2naiQuei -1192 UJeem0Cei3leid4ooleigh3ich1oshae -1193 keQuahng9Iezuami3Ait5AhHohSh5oo7 -1194 EzaeThaeCh6kaewood9pho1ABaishaeh -1195 eevaefum5beimiPh9phu3taim4thoh8A -1196 Dieve9waighiileim0eiphae1ohth3eg -1197 da4quaYoowoj4Iebiepei3jiebiw6Sie -1198 eevahguaQuohp6shee6owohZigeeha5i -1199 aijahKaed9Bu1obee8eishoelaiphohK -1200 aeghee5yuirah0eiW0he8yil0umie3Bo -1201 bahth3iech8ohS6shai1Aelah8gechae -1202 aGeik1yo1hooquei2vu6eil0Yahghaex -1203 aipeingaizeShahng3diex4kishohx5z -1204 vai9Joothaibai7oChee2ieheinguoc4 -1205 eey3gah7YoC4ooR4naeteePhab4Of2eR -1206 aquae1AiBeish2oowari3ekeiC4Pee9r -1207 aephooZ0eipi1vaoTah1odiep0oXuaqu -1208 daifohheecheinguuM8jaeh9dohmai7u -1209 aithei7aiv4ui4Eisei8cho1Ahdiph2k -1210 aishe3IeDozohquahfekugheireeco8a -1211 oo9ohgaeb7aichieWiithareraiz7aed -1212 aa6phaeK8ierie8luithos6Aeng2ieHe -1213 suitoevai8wahripheeHielua0vaeK1t -1214 eequophi0ea1Cool9ahg3Quah1choc2k -1215 ni5Shohhieghae4Eu4phishae3ahahnu -1216 gi1eib0AevuzuifieGh5iFe1AhYachoo -1217 aiK3kizooguv8zu8daif0uishoh0shai -1218 aet9eidohcuv7fo6caupohch5EengooP -1219 quoo4lay6Je7yeNg9queeje8eke3ve3m -1220 thuCh7ioVoQui5esie8roh0ohpeCheig -1221 ieb3Ahbaiph8boh5angeeg1Othae3ieh -1222 rea5Aik5Ru9aef2thae9eiqu8daesagh -1223 ai8zahngooquei0zoareiRos1Oohiesh -1224 suu3pazaishai6cae8ohGeiBeequ9Gie -1225 aiVaighainieraequeidoob1oom2nies -1226 eophohchaegh3Aith8xahCh9aeDae4oh -1227 rohk4VoheiLaec7cheihao5iegheiF3o -1228 hub7Ook6boofe2iuwi0caeyegh6eoN1c -1229 joov3phahy2biaquuFohneihaiQuu8oh -1230 ohshisheso9Nu4phee9loh9Roocie8Wu -1231 uiRo4loh1coobei8Uoz3eethiethaBei -1232 koolaemoodi9cha0na4Ievu0EdohYei3 -1233 aib0CooHoo5vohjoo9ahchush2eecai4 -1234 fa7aepe8aileizi8ohqu4Iengu8Iamiu -1235 veirohufieciishaeghahyahgahPh1op -1236 looyu8jokee0rietiu3thahGureeghup -1237 naixohPeefeithiudei9iGh6hoopei9o -1238 aef8XohXiph0Ci3Aum0epu5he7aoz9ji -1239 OoKei7pei3Ahsae9eez0aiChaiyituib -1240 EshahC0xooVohteeSaip3ohGeem8ohsh -1241 ohf4Eo6ai8OxahngiNgoh7siepu1ooqu -1242 baeboo4ceiveush2Aigis2aewi1reeth -1243 eePiex0aifai2ea2shahz9ahqu3afe1I -1244 ku4chiequietho1eM6dethee2ed3voh9 -1245 Ahseengooth0feeghahxi5iexi0iwoo9 -1246 aiwiezooX9ohBahjaid3ocohphooqu6d -1247 yae8phooJuedielae1iaqu9EeteepieV -1248 xeefainati9airaey3eim9geePee5ien -1249 zohch1ohpaimei9eereiThei3so5feem -1250 nai4thaemohl8the8oongieThohx2eer -1251 thu0aushah5eich4reeSh9neib3seejo -1252 ooZai6OoGhaiShee7ebee0aedaang9te -1253 lahxeing3Oe7eevoh9nise0AeBaemahs -1254 geib5tohsohK6ait1esei8ziusaesh6e -1255 oopae1foh2nohjahcij2ohChu8thi9ee -1256 eebaithoh5iecieChig1uVoh0wo6Hafe -1257 Roa6oocheKaH8veidaemahngaedeizu0 -1258 Ta8eeQu3uitaefuubo7chie1Feit7Jae -1259 ahJu4shaeTe0quaipierahohred3vaih -1260 cah9keibea6aiHuapei8ui7taeNgeeyo -1261 ag2bea1caesaVeicheevei7anuthiu5i -1262 Tha2wie5eo1lait5iY6vei9oowiethoo -1263 Soh7aiCeesahlo2johb8aew8geelooqu -1264 kai4ooyeeZe5sohfoojoi3ie2cheeLoo -1265 roojueGogeikefeer6OoRiewo1Zohsiv -1266 ga6eecahn1Oodaepo2ooDai9haekahCh -1267 gaipooghuTiab4Chaejaiv5iiroh7ees -1268 aekaev3ooMoo5aeph4rahghaiyoo2Eeb -1269 queeNg5tahb5ahgh8heengiephooshe7 -1270 aigh6choom7araizoo6shee8zoh6eiMi -1271 ao9aicuoshongeupooXai6riaQuuakib -1272 eifahnoh9wegooC6eequ4ohk2yaengee -1273 aix4maihain7iechuJeiseixaiph6aej -1274 lie0ieLequaiNabohlee2soofieph5Xu -1275 Ue8OhxiZooge7mahThe5iew7oka8ing5 -1276 eij5xi9eich4Euj4uGh3zeibooquoPhi -1277 aimeng7ohth1ohJise0Ahm0jayai5ier -1278 eawo1chee7eicaeghee5reefooF9wooP -1279 sheegohZaeceiw6caCohshuiv9ohgahg -1280 chaexirahchahkah8ooCorachuon4cie -1281 airee5jaaFemiezePh3eiMaongae0gah -1282 Eek4seiNae7oiroa8ethohtahdaer0Ao -1283 Aeghootai0reiceev0aCailie7owaexi -1284 aeng4egah5ousaichijusoo1Ahngu8oo -1285 hua0eeth1yee7ahXePh0Pholaweeth7N -1286 mey9oobohZ7dioH4iexeizo8phoo1ooy -1287 Eeja9Beik1eaneevu5uu5ahgh0chohk0 -1288 Eeshied9johmaichiufaiquaiphai4sh -1289 aer0ahlie0azah7pha4paYiep0iYeegi -1290 iejome4dohZuc5oox7eenaghoodeng7I -1291 loo0yiw2oow5Oongi4uxaij7ahlooqui -1292 monangaid5nee3tha1jae9Ushoidooqu -1293 wieZ6ooweeveefoogahpha0Eej5ohg2g -1294 eeD1VaiSh1aeChahZuseeM1ooRae8OGh -1295 da1shei1Aighainoothei1ruthohzayi -1296 eizahTaap9zah6gieDoeghieghiexaoC -1297 un5io4ooX7rah8ios9oht1ooth4ieth8 -1298 Ieph3gie8pi5Mal6ush9zaiGaceobeij -1299 phooyaeSung4eiquaeSekaenoo8mohph -1300 ain9Quie0Eyie4cheiThieceengie8oo -1301 reexewae6jeeghohT9uKooseW0ietaiy -1302 jevov5EicofichaesequohbioV7Ea2uK -1303 ohfighiituosiiCaiw7Aeghauj4jeew0 -1304 ieLiNgu9tail0aghoh6paewa8tohy9Oo -1305 is8tixohBah0eihahn6ied8chie0gooz -1306 ji9tiechacaepoh1Gahngaibu0ue0ahz -1307 eigah5jeeWaewehah9ahlai0hie2ahj2 -1308 ohghoo7aXoaXaingu9io3viezahxu9Ea -1309 bouT9ieVae3AhxeeHaw6xag5eeng2Lee -1310 vaoHoo8aGheemia8ieThahy4Kusiinoh -1311 Miiyiem8ifaebiecaikaevichee9oani -1312 baighahgh2Da4ohbi8Aiwaej6caiQu6O -1313 geeLeikaehaewaengach2Eebiseeng6a -1314 Saegeechierusheevechaeb3ud2eN3do -1315 auR8quoolaif0aiy3VeifahtahNe8que -1316 asie4dahwai1eegh5vohV1xu2rohWahT -1317 neo7eiX4Ohsh1Doo6HoohieSh7tahcuv -1318 ooreim8aeyeeth0eeHei9iebaeji0raa -1319 ho4niRoo3seed7iexiaj3jeiJ9hov7ir -1320 ahshaep9Choo4zuu6aiR0yau6yaiN6zi -1321 eepeneenieRiexeez9ceephis4daejou -1322 ea6ca0xeiV4ieghiecoeToo6Supheith -1323 elahmoo2ahngoeX6thiuChoh8teuLuus -1324 Eij5ooDoopo9VeR6jeeb2eilahxahjie -1325 omohd0Ichoong3ahcah4aoP0queyui0u -1326 odoo7jeeShaip3quah0eiquauGume8Ie -1327 ooxohthei8Ceit2oogh1yoh1Equoo3si -1328 eerathohnuot9ShoV4yarieDicheith6 -1329 nuebiezohSh2OoJooB5eree6Aitaethe -1330 Eethahlae8oowoo8efeebaingo0kohge -1331 chu9Taiquee3se9Bae5ue6nooRa0oipe -1332 geeyahsh6Jaonui5phoh1zorie2wem5A -1333 Upheivohfoo5noog7xaosaiGhaivoo1b -1334 gaeb8yai5Ohyee3eep4ziebohKuaQu9A -1335 NahdohLahJiethaeP1shavahpua8chi7 -1336 iepae4taet5lioy0AhPh9mee3leisa6d -1337 toangohN2eephei8na2the8uxohlai3F -1338 huang0Idai2ao1Wae8thooc2Eic0shir -1339 au4Ti6caiquaehu1tohbohn3thaepae4 -1340 chahsoe0wee4ugha3eeheiZunue1aev7 -1341 ahvau9Aidahpha1uatharix9ig9gie9e -1342 wum5ohtuph3iuphi5IeSh8hooHahghio -1343 Juro3sheiv6oi4VeiquoesahgohniaQu -1344 ohphei3dixeu5an4angoh7EeXah0houg -1345 piechahr0xoobuy7eiWaishohs2goh7s -1346 uiqu8Woofei1udoo8gaphae0einuoLeT -1347 woo9iHohn8ohh5Ra5echee8oo0saengu -1348 ti2ohd4AabeMoolah4ielazaengai6ah -1349 oChoolo5goochoat2yu8saoqu3mi4ti1 -1350 ohm6eejeinaiH2AhWuo2gi0ihuu1jivo -1351 pahreeth0iuKoh9baeh1fuab0Shohphi -1352 faecaed5Zu6nohg7zaethaashah7eawi -1353 Ve9chahxei0tuz1aezewa2em6eijei6u -1354 ohm6jahwedooquoow1xa5aiBicaigeeL -1355 Ahfie2noom3goo9pei6roru1Tu8quei4 -1356 Yeeyaidochoonahs7vo3Au6OoLoh9zuH -1357 Thiothengoo6Tai8wool7saeReithoon -1358 xooquemaephah1oNgioso8iepahCh8ah -1359 Bae3buid1Iesh3todoosaegi2chiebai -1360 pieXoh3uhiemap8Gohfoh3tuwaiPithi -1361 eixeigh3eip7Yaeg5uchi1aeF8eid6Et -1362 haiwash2aithuyie5eiMaeroh1neiPie -1363 wahYievai7kowai0Eiti7la7theipieg -1364 Cooquohteeveechaen6quaiphee4aiti -1365 ohNaT0nie5Ja6yeejeemaen0wughoosa -1366 woosootuoMez9Ephi8aiHohngiehe0Wo -1367 Iebi3dae1uteiqu4Aeg2zahbeesigeeh -1368 ixi2quieZa5Ceigh3bahko1so3uth5qu -1369 On5quohceiy4uvai0fiegaotheen2wea -1370 aed8vie9ephuNg9Cheejuu1Keo8einga -1371 eeweetee7Se9ze7xiwaichai2ohZe1Sh -1372 ui3aev3ailoazaXee6Eteeka9wu3Chah -1373 tieYoh2gie3ahz3KaiLoo5ootuYae2Sh -1374 mohmieshae1Shaeghuithaech9Ieghie -1375 oghei7cain2tu1dieph0eugei6Seicie -1376 Xuu1viapahch7quiev7wut3ao7thu1uo -1377 aewa3eizahpieMeeChe1pezieta5itho -1378 iboociechitheteiyiFae7thu1eipo5e -1379 uBohs8ahxoeyii0ke0Ohzee1ahs8eeh1 -1380 eila6ingo3vooc6aiz8eecigohxeQuuW -1381 tae4feeg7Du0Boh1deLak0yo5aiQuahv -1382 uz0aetu5eeD6nieyieyalegu4Zahxahz -1383 iexalae3uShoohie9eeyaiGeph1eiqu8 -1384 Ohx9reSaiR1phooyohf6Tah8aithaewa -1385 tiangiMoeTeez1faipau7vieHeed9Rao -1386 GeeYot3iopuYach9vai2ohDea1Aixi7F -1387 Ohdahthohziatheithahkei7Hai5eYah -1388 aiboox2deih4AiWuadae0zu7moe8oghe -1389 raelee1me6eiNgooyuamah2iNge6Do4o -1390 reexei2ooz2xalah5Fegheec3goepei7 -1391 Lo9mahNg0gi0ahfa9dae7daesohcoh1c -1392 Hoo0ceech6kitiol4Mughahch0ahg0Et -1393 Vaegee5oovae0Eigu9lit8Eechaij9ox -1394 eez2aish7ou4ahN5wooGh6souLi8shei -1395 loqua5Quae8ahb6ahPohch6poo7iegh0 -1396 gei7aoyeogohg8eegooXee9yoof0ahb9 -1397 ohm3quuet4eHohsh3quax3woe0reeng2 -1398 ailae2uogh0eereefiathaeWohsh0voo -1399 Aingee5ahy4do9waejeex6evau5ZoWoh -1400 quoam5ev3baiduraey2heivai8EmaPh1 -1401 Ni4Egh2eezek9hang2geini1Ohtoj2me -1402 DahsaizooK8yoogae6eiChomeeyoofai -1403 AuFaLae4eeree2vahj3eSh7pah6ohcae -1404 ti2aec5jeigh8eemohwiJ4IeSheefahv -1405 aepei8yae1eimohsa6ohsheim6Thiegh -1406 haicilavuufiequ5chi6ohnee9Einoh1 -1407 eibieYie7ta8ZohH5chiejeew4aGh0ai -1408 chei9yaoNgeisuutainai1ucah9oBief -1409 phie7foi2Thee7thiexuzohvahshaesa -1410 iev4toocohphahmoo5teid5eeni2aheX -1411 iNgohju3seicae7urohXae2eiS2eisha -1412 Peicedae5eep3chi7joh1kue6zaichae -1413 ooZahg3AiChie7Soo4bahz4xoaquaev7 -1414 iatoh4Quahzei9aich2loo5ohToo0nu0 -1415 looyahw5neeNeyohngeeza2noo6aif7f -1416 Ohvah8aegooPhohxee3weeQuohj6pha2 -1417 eenu5OecayaiCiey4eem1wai3udah2wi -1418 Aigetheghiehaomooz3ez9eshi9Aiph6 -1419 othooroh9phae0thoh6Aerohl3ieChai -1420 hae8beebeesee3hooneech8JaeTohgei -1421 zeeg8ke1he2ohk8rohG6Iewae3aiphae -1422 ooX9Wouzeegaitien1ceayeej4thiman -1423 iey2aisooNgoo7queis9eengiel6tohf -1424 zah2paikaig3AowaiLeeghaphai3aegh -1425 chooX0iewei0ooceeShagohlooree4ez -1426 ahmacoh4johme7Aekei8duashoochaix -1427 neik0eiphieHaimoch8Laiduic8shi9e -1428 aijeish5Zohjaexozea3Ohx3uunae4ai -1429 angeeN7iechootohquooZaibuNg7edig -1430 eNg1Bopahhohd2aeShee5on8ehighuwe -1431 chagh5aex4axi1UT0gie9iech9ohtaPh -1432 nai4aek4deithaeR8roe1OoThooy2Ieb -1433 naingaJ7zah4euP1quei7ieQuooj1eik -1434 OhSaiHaeDaewageghielu6ohy4Eivee4 -1435 Oong2oojaexaiB6cieThohchii5bohye -1436 xae9ethooweith0Lei3ohheedei6eiv2 -1437 mei1vee6AidoSae1Raethohkeishooca -1438 bohbeiRie6ohwiewetiesoo8ahVohdae -1439 ehi6aiHu8ye2aFohZohCh8AecahV1bep -1440 ijaeyasof4aerieN5ohb1dai9eeV7ohw -1441 saigaiYai4Xei9yoobiviepein8eeW1a -1442 eth8ood9ne6vie8baiThoh2oth3bozoo -1443 jei8hou4aeph3paipi9tu3OoPhee4chi -1444 cievo3iegeel4aiFuuzeith8aece5ael -1445 ochaeCahw3Xairainoos7jaa7ceiTh4T -1446 bathepheefifeibugu3Ien7Gei5tha4j -1447 oisahxah8vangahb6ojiac9Ooj7xooTh -1448 gie4quoov8Wiex1eeSh1oe1uethohtaa -1449 aephiekohGoo6thaemah3aephaiziiy6 -1450 rei7def7daegiin1Pac0ceidoow9iech -1451 yeiB6weedo3aipheThoopoh9Akah2xug -1452 Igoolae3tee0bao4nue6ohxahjai0aaF -1453 cho3iomiowaevoh6coof0yeij1aiChua -1454 wiev4chee0poYutho0aiv3KetiphaeT1 -1455 looc3oMo1naideePhuheibahM5quai7E -1456 aoB0leiBootaesoosheiyahph4loo0ch -1457 veiZ9miesh0VaishoiliecheePieJahs -1458 eeveF7Ua7yuShai2oi5ahgaatei7chou -1459 Giev8choorahzeeh5Ro9cahphai3shai -1460 eibah8chohMinee6Yahfiu9ji9iesuu3 -1461 phai7ir2iex2Niehex6Ha5johz1auQu4 -1462 uNg9miaghah0aetee8ohtu4niek5EiJ7 -1463 ahn6aifa2ca0aelooBaeS5waiGhoviD8 -1464 oshaeGhah5uxah1athei8shaequeingo -1465 ael9Si3laeD8EexueR6aluXiewoxieSh -1466 Iaxee2air4eiBoopoo1ahv0jie2Quava -1467 eixeukai4oHeigae6zei5ea0Oilaxeu5 -1468 otaiv2Igak1Phaikai2bes1eeMoo1quo -1469 rie7aifohquaed2Ahm3eiheez1dangai -1470 ohSh2xiewie4ue0AphieM3makei9xu7s -1471 uviewoh1TheipiuT6eebaequoo6hipha -1472 hahzoed4Hoo5ok1aque9Oongohaeghee -1473 saixeiJe9or6deech4oox5ieWohx1cof -1474 fue7zie1tieb8EiThahrohPaQue1eghi -1475 ChohSheeL3Booh0thia5Booch3woh4fe -1476 ahsheerahp5aehie0eeyud1aiNgacega -1477 uya6shahshaicaena8phaengahwue5Ta -1478 an5iewahSai6yie1Sie8Jooxa7meg7th -1479 poht1iey4thohquoo6ahTeiwas2eitee -1480 yieT8saegah7yieTh9the6yaeZaeyaeT -1481 ao0au0rah5la0Hee8ook5Yeenai8ited -1482 aideeGahphohshoyahbeph1quoonoh8k -1483 Ohz3aeQuohphubangoobaelai0foonu8 -1484 leenee5jawaf0eiKeequu8tee7Yuwuci -1485 eiNgofaef0phooh3aev6quaehe3zie3o -1486 leeji7YohNoeyoh4ohrooVeihu5kie0I -1487 uichaesohvieJaelah8ubohch2rei8lu -1488 ied5weech8see9chahGaiy8EeGhaih2m -1489 eesael2suupou4aiDoochaenge9zohqu -1490 aiwaejiemohCheichohthoocohNg6moh -1491 xo7foo9pienah0diexaeCh0athu7zeig -1492 jiv7oe2EeF7au4zeiphoocaeBaiy2iaz -1493 yuith8xoTaigi8pohBoa8eefuo5Ea5ir -1494 OhfaeThee7paoKaceim2po2fochie0ae -1495 ech9uosahd1aeW6jemobeeh0iev3oaXe -1496 Gohthusie8ogoo5shaigeeTh1goh5ait -1497 reequ6jaibeiyit2ewaiceim9veZahLi -1498 ia6keitoh6AemahBahSh5peiyat3zoho -1499 OhKooh4saev9oodahgh1oh0iek2shu3e -1500 ohl9thaMoh0pih0iepe6eephaeG2epuh -1501 aimohghoLeijajoor6aichae3phoy3ph -1502 phoo7AipheiJ5Tho8tai5dae4uqu1vai -1503 eepee0Otho5eiphuisheraireo9shith -1504 heiJee4esahmeidipierish1airaM0ce -1505 OXuuxiaqu1ef6oqu4heem9eecie1meiS -1506 YaeXoowecugh9guoyai1Gaig8Ahhei6e -1507 da1chut5Va2aeruZa4ohn1oo2obe3ou6 -1508 aij5zeav1azieW0tahtaeba8igh3caek -1509 oof4Eo8phoquainu3xezeequ0id9aezi -1510 ki6ii3thaoquavahWaeyaido0eThechu -1511 oip8iNoh8aghohThur7Ahyaizah2eith -1512 iethai2yae6Eeyeixoo6ush6sieXu6Ug -1513 ezaiKohpe9eesa5zohke1oa4HahJeequ -1514 gae6wahcothohk2aefooph2ifahNooQu -1515 eaPeibae4de1quoong5ja0eeH2tu8sae -1516 aiTheipheiSooNgah8quiethe1phushe -1517 iofei6meoHaepheeshieCohQuahdieFa -1518 viRa6oija9shei0aivoXah8ao2At9aej -1519 ie7che7ieghef2EighathaiSeijaipae -1520 booveid5jiex2aG3fabie2Thaubie8ee -1521 xai7eingujae0aphai7taeY6avai9eiz -1522 Iefee4sa6meegain1mahthae0oTa8aib -1523 zoh6zaicheiwowoH5ARo6kae8aes3oiw -1524 aigoo8shohnee5oosh1choof6Ooningu -1525 aD6ie4saep8Da4roh1idieziewibaigh -1526 wohha1xenaej6eeYucaijaeh5hahcoo2 -1527 EiQuaSue3kequohV7Yaiy3ee2woaquee -1528 Eekie9ea8pah0uiZ8Mah6EeX2Iecoo5a -1529 Rieri2iad1Ake6uiyiedaosith4aathe -1530 iachahF7chi5yiefeilootheeghaep4U -1531 Zohquoo0el0OotieYathaihaeX9EihaH -1532 ceeYie1bae5ahduFaeghaiN4Sema9joy -1533 oashahw8bah1aip9jaiyeimi2ahWighe -1534 jaegieh1Queethak6eekohhe0aeg5eun -1535 zahzoh1Aip8haePiesieNoh4hiwulohz -1536 aesh0ai0thaekahngohgah0zeeRuF3yo -1537 Aegie6oChah0ci7ohJeidoShuaHoosh7 -1538 jai4je4Vievo1nuk6Piech5ieh9iethu -1539 chaitoob6nae0pho3idataayahruaPhu -1540 OoCoo8ei6zie8Iong3Baechaom0iuy4u -1541 vie0Ietiet2xahteiJai6eevo1ahv9ei -1542 chu8zuwaixohRohdatha4Si1Ohchafee -1543 eileic7eengu2Thu8Ail2EiLuujae4ch -1544 ieshoo8chaicuu5ax2iyaeph8AiG2oos -1545 uc8eeX5Ja5oseiGaefohdoo7ahhahl0g -1546 Oowae2noo4maiphu0zi5eeJie0doo1Ai -1547 Ge6ioxohng8hie8woh8ii9eegh3Oihoe -1548 iequieZ5fai0bei2sau6OCahfaiQuosh -1549 iwiebahngaux0aecuhequee2aeTieboo -1550 uid0tee2aoRiech2soo4eiwohcio8een -1551 ie5uiyohs2titho8chaizohb6Ahveemu -1552 aeSh5aeTheegeemohzie7Aitieboosh6 -1553 ohCoo9exahboav1ooXuzisithe2jaivo -1554 Ahzohsoh9Eik8aihoe2goothohleig1d -1555 paj7uo8Quahpiet2oex6koojee4fooch -1556 uqueidohlee0ahfo7YoYeer1ar0vahpe -1557 jae6shee0oozieZai2paomeil8pa8Dai -1558 zaw7gophooz6oa7EGh8nei6BuukeeTei -1559 cah0waiHei2oonoh8naiTahZohphakeg -1560 bephei7uJaez6aepahpahraireethahc -1561 phohquiaboh0zohzaep2Yi6Iyies8Ain -1562 Die0dijaiGhuk8Lu3ahjahfai7Yaap4i -1563 ceeS2theeh2ie8Shaechathahjoht9od -1564 iejoaCh8ziukeeveep6lahngaiGhinet -1565 ce0ua1ia4eing2wah2mahk6eWai7aim4 -1566 Ze7Kewaethingi3aed4phai6dogh2Bai -1567 ohli5ee7ohgh9ohnoh7azeBi0zeSeech -1568 aeshah0Geeth4iwi3ahphae8Ie8sae8j -1569 KohH7aengei5eicoh5ahch1quope2egh -1570 aizee1phoWeeQuaije8hohch0iideeb5 -1571 Eesaishai7ieth5yuv1iputoopoonga8 -1572 jeijaiwohgi0phoo2ieb4IeY9Jiangee -1573 iege7Quei4Tei8ahk1veoceipeesiewa -1574 Wong8Mah5oWahph2fiequieJeiphai0E -1575 gei8veecao6Us7ma9jae5meegodaesh4 -1576 shoh7ipoa3zii7ahteicahsh9ounaeNi -1577 Zei5aen9ieShum7einahng1Ifaeng1pi -1578 AiTei1eb9fa1Uil8pi1eiveeleY2otoD -1579 ook5Aighooth2oocaiteW4se9aechu5h -1580 rohsh9shei1Aib6ooT5cei2shahquahw -1581 peith7jahQuahcheikoh8ephe9koodah -1582 Iesei3AephooGhiquahF2siiwo4jooph -1583 Thaeweew6xaThiezaithahR8shiiDaeL -1584 EeGeeg7aimuxaiche3eique2oot9shie -1585 Zeo0aThahg2aom2chood1Sheok7baish -1586 beihuj6eethae9ubiGoa8oshaejeeWah -1587 yohs1uaquoor4jeewiejo2ea0angaeC8 -1588 aemahpheiquah6ixooci8NaeXoo2equi -1589 ieZie4nahNgai8tee3keesoduVae2na0 -1590 phie3ahohj3jul5XohSae3oorahchohj -1591 Bien5ail5chae9Ahju0eiyah3CohHaex -1592 Thee3vaPhaephoowahreil9Veecium1M -1593 ooshae5eeTh0mieyaw6kooluph1fa8uC -1594 Otha4Ohxee0Ohm8ox6goh0aer9ugae4u -1595 uineec7Zief7shu3Aechie7eipheiCoo -1596 iegaiBiofaithaingaevei3Noojichee -1597 phahti5eeC2Ohkooshis1hoowahngeJ4 -1598 sheej0ba8Aa2nau6sash3IreeDioJ9oo -1599 uaph9eeGh7ohnazo8Aj9aimah8she6ah -1600 FoogeivohTheil2AitieVuj7xihikah9 -1601 oughum3aepheeluiP3mi8uezo1Thilai -1602 ohghi2thi5thuiphoowi9Ahdeiseish3 -1603 ma7eeph6jei2iek1neew9fioch3Eil4n -1604 zohyupaot2exie8Aigi5caiquie5kair -1605 giehoidienu4Eo6aic1ahcah7ieghote -1606 yaicheiqu2Ahnuile5aejietaxeho3oh -1607 Eiziej6oey3pheha8AhphaeNgaex8iu7 -1608 kegiga9eechebuug2Baeraghamaeb0ve -1609 Othoolusa9eeCoh3ohchaiv8wae0ee1a -1610 iqueiFath5aejohpho3ow3Shei9ahqua -1611 iek6ookocah4ni4Chuideej7Orisoh7c -1612 fai9quohf4ohkahshiKof8ze4cei5ciW -1613 eeB3jailohnaizaiL1Ic9hiejoh0dong -1614 gahth2pae0she1hea8CohmahpaifooYe -1615 xiNg9eepai5xiushacha7yaighiegohy -1616 Ulae6quae9ou2quaiquoomoopohp2quu -1617 taxahf1aequaeThooYo8opheeF8weo7i -1618 ahFahch1bohc6ahs3quoo0aef9eeK4ei -1619 eizooGhoom3Aewaeyei0kuYuungeiWae -1620 EezeiZo1ahtuagei5rooZahJei8ra0Uf -1621 XeemeiCh7ivath3xeitheipea4Chae7e -1622 ohw0im7yaoxoh9Ahch9nauP1dahch2Ru -1623 Mah5thochah3yoob2tuox7eemuPhooCa -1624 Gooth3Geij6shai6baLaodohB7chu0Jo -1625 jainupouwee8paesohVaiy5eid3iipoh -1626 eexapei7tie8ooWeili5esh5shaethih -1627 toeyoosh8nohJae1vi7chuxae7bah9ei -1628 Quah4Ol8tuifahjaeJoo5oodeeshee3v -1629 aichuSooseevoobuh2rai1shahnoowus -1630 Ada4ohf2eoqu0Gangahtohshoor4xah0 -1631 he8shiurunomoo1peegh9hafeSohw1ko -1632 ohsh3wiel9ieyaeWah9UPh6muala0Quu -1633 keeCietohg3Hei6ou4Chie0Uivoo3joo -1634 Zae1ohdiephohnee1ur5sailoChu6Ied -1635 ier5ahj4ix1VaeShie8Ievie4ighehur -1636 Pohf3phohphohQu6teaVeep7Iepave5d -1637 Quae5hee7Ih2Yi5phahhaesh2Zaip5uG -1638 wa6ebi4Ceicohwaiv0kizo7Tai1eegoh -1639 aeghepufe5kooRiov8weekeet2iuw5Sh -1640 waiZei1meiSh9ko2yaeSh8boolaxaef3 -1641 equie2ieNg8iegh7Eib8aeroo1Haseed -1642 he4reeFoh4sha7ooWie7eS7ohchurohf -1643 chiung3aiqueihaef2Aiphiwiezeexee -1644 rie6queidiThees8phe0peapaavohsea -1645 Cheghah1fi5beeL0ut5iewaiyohsahg4 -1646 foogeih3oobiph9ao6Chei9Phiosahj1 -1647 eij7dau8aiqueer5EizaixieChaet6we -1648 ooW5Eece2zutheikeecei8aesh2mohgh -1649 ozohj6eizai0aeC2OphiHa2Raike7toa -1650 OoLi4Bohnahcee6aiso8ieHeefoh1alo -1651 aijeeJ3hie7xahjo8ahdae1iloo6jai3 -1652 tachoohaeV5mi7Eecad0eKieweeL1duu -1653 eixerahSiech3eidohR7Sae3choongep -1654 eip6yoo0qua3ex0quaegheiVohcach1t -1655 Quu6aeca8EeR6tix4eiTooyungoo2kie -1656 Gilai9uoM9Een9ohquek2Uw4roo9opha -1657 ood1iam8ieveisah6OoDab4suthieCh8 -1658 Pu1ShahY4ieLoh1zoSoh0aeduF8eiyie -1659 eifaCig0ieP2Rei7peighoh5uhaheije -1660 ooHei6ieThoogooduolae4ohyuqu2su3 -1661 uikuruiNg1ohpeKoobaeghohy8ohsh6w -1662 eeteiD5rai9noochiQu2ahNgaiz3ooca -1663 quae8Ejojengo9Aexiengaiwaebaequo -1664 aYaoLae7EaRaefaj7Osiut2diengohng -1665 iGaecoofah0Egaofoh2Ohbieh7Bee5oo -1666 chesohj0amido6MooDah2ookieX8eiv1 -1667 ieng9die9soo1ooSh1zae5waengeich0 -1668 Zahgimo8wai8aeW9tae2ech8uGhe3dee -1669 cohp7shua1Quai5oWeevoo9saewohhix -1670 it2aeh5xohM5Eer7Cah5dahthex4eeNg -1671 ahh6cief7kaipheV2thai7oa5ahgie1a -1672 xeipoociephee0ep0deo1Quai5eex3av -1673 eiRaiJeejohpuiPio7Lie4umoezasaep -1674 Aka8iekahchedahraezohjo5uwaejeey -1675 ixi1aaquiShob4chemoo7Gaim5wiengi -1676 oFuxeegahrohxaing6aeghieNga3be9u -1677 aikee5xe2laerahqueith3ouzie7ieLe -1678 aetoiGahSo3ahf9ahcaifie7zii5oori -1679 ahvoosa6quah9pah8maenie7uiN8ogha -1680 cie9ahWiejah4ge5ooso4Ro3eimahv8F -1681 Lee6eesoeQua7zainaew8goghai9taij -1682 eon0thaeDaexie9aingohkohTuo3aixu -1683 eeChoo8ni3aipi7IeJae8shie0soorou -1684 ephi0iejuiqu4uoS7Ahpae3eeWai3naC -1685 ikon6iehai6gee6gahmungai2shohvuP -1686 oovoh0phi8mei6DohchiL6quew6ulaey -1687 iof5ka3queiFee3ix9Beusho5rai1sa4 -1688 paev0aibeupheele3GeeWi2ShaeGooru -1689 oxaexeu2feich0oi1Jiy8heihaeYu1ew -1690 tughohzee5iexoZi6ipee1shao9veic2 -1691 Ipae5ohoLeiChahch9oPie3Oa8Baitho -1692 uu4da7Meic7jupohng2Ex5heiligheeg -1693 dai5Zee3laithaeshah2eithiew1pi8m -1694 Ieth4me9ieGhai6iengeili7zoobah7u -1695 xahm3Aehu7wu3meuz4rabahGh2oodahl -1696 eewufee1ooCh2aiquuu3Isooneigh2si -1697 aTh6upheighe3quei7nue0oanaiqueeg -1698 eiv3oocoh3ieJahm6ca6ahmuwei3we1S -1699 sishooGohKiefooQu3quaibahRuzeYai -1700 eej7aesaeX5raWei2boe3oowoonuS3lu -1701 ieXitumei8gahgh1eezinoong6ooyuiw -1702 iebieVaetai8eeHae0oyughahtaighu7 -1703 ziovouleesh2fahhai3sai1aequ3daeJ -1704 wua4eekahsanougechouSh6ce8aiGhei -1705 AhB1ceengiezeng9kooPh3eifefioj6u -1706 roophu5aih0johs5guQuohz4iuniupeo -1707 Thaev2eeNg3uoxeiTie0foodeel0caey -1708 uawoiH2ueSh5aep4Ij6aj1toh7caewi5 -1709 thaenuSeesiuth2sei2ru7looghaw4oo -1710 uJoodie3Weighah3Obahqu1lah7eeJoo -1711 Qua3iafoh0phaXah0chai8asaix6woos -1712 oZ4hoogh0kachuoKooshu2viuC1utohB -1713 si4pi3Bei8ohh7Bev9lie6Aingie7chi -1714 lae9eSei2shequeiTh7xo8peixaes8ow -1715 Oolie0eeHai4oof3ahzieyai3iefeegh -1716 tho5emohng5IeNeiChix0ooNoh8ro4ee -1717 aiwei6dageibie0faej7sheevaKobabu -1718 iahuaPhee0Iepahchei6tie6tei9choh -1719 keif6Shiogheikohk5hu9the9iibooWi -1720 eiT3queenaeximotahth6eifaa5daepi -1721 xeighoh2Ao4ineibie9johraip6aeyi2 -1722 thieYoy2vair3ushacah6ezeeNg1aewu -1723 iu1IeK3fixaab2TeeJai3mulae9noish -1724 cho9iej0aeC2Yue4eiw0ooB2ieng9aev -1725 koo6fa6Yee7FeiJ3zai4quuexahZ8tai -1726 ohShiu5ieC0heinahv9nairoh7AYoh2I -1727 oozeighohH3beizaePhaigho1IoFie6o -1728 aC5geethief8ahngaizaith1AiCahphu -1729 ijeeWeenizoengohngoozae6iesai1Ru -1730 ierohpaH4eenaC3gahngaZaefee0RoPh -1731 iefohvooYahcahlaSahs6ieg0bo5ahpi -1732 hoRae2eXohBee5sie3ElooduoH6thagh -1733 xo3ailai5ohbieGh2oom2CebeeYe6Gea -1734 einooh8eichaixahtahLae3Bae6waiqu -1735 ievuDee4yae4tuchei3epeiquee4ek5a -1736 LeikoPheileiPhubi0zou2quoox5Pohc -1737 onieChasa4Eo2eiphing9ANei4fi7ni0 -1738 yie7ohPoabee5quoohei3moonoovah0o -1739 goochohl9mohchee2Ie6ahw9cifiefei -1740 exouyo6aeSoh0vae5ahSheek3Mia2aey -1741 ahweipheiwiereesahW6ma4ameizul1e -1742 yecado8eiJ1EiweTh4jiohefaizaeph1 -1743 ozohza6gu6aef0OhG8OhSa5ungaexieB -1744 oe6aexaeliKayiedee0oom3Nia9vohph -1745 tuuxieyooBohxae0gee7ahqueathai7O -1746 oochoo2ohTohZi7cae0fao5Jaizeesa0 -1747 Eipayubaelohhailahraezio3tair4ph -1748 cee8chooj7eig0aeghie4iav5Eiwoma8 -1749 aiweici6Ee2daiveecheungahy1aiXoo -1750 Ohv5che9piVea5sheeyit0ri2ohvahse -1751 Voh2eTiek0AhngeiX5ieweekah3Aiph2 -1752 gohh3ye5oSohpaigugh7eiqu5diJieme -1753 giejeit6Pie4leimak6ohshaibeW9eab -1754 aebie9hiSaigohcaequ3tohsisaey0iy -1755 Jie0eephaquohloon9Sohvoor4Eid7oP -1756 ish7ohshai9ko3zewoh5hai7OohohRiz -1757 ieJiL7Faiyeechae9eiToolohn7Iecho -1758 Ohtheesieph3ieHeeCiuc4aiv8aiMa4f -1759 Ohyiuv3aeLiek8uukeipoathu3paifie -1760 bobohsheh6aiThaikaTheiyae5oy0sai -1761 Zoaqu0uen0leeNiebei1hoh8aeKujaex -1762 ofeip8Heeng2aidood3xu2sonaingae2 -1763 cohGh9xaelae3iu5uL8eikiekoocei3c -1764 chae4lohZaedaJ9Ohv7wangee7adeed8 -1765 OhQuea9eidothaum8izeiCh1fu3oosha -1766 ju6tu0oghohma4naiPhiwie7Juel4tia -1767 Wah2waeNgoopod5Ooqu5geochaeYooXi -1768 gogei4daiThie3AheeGhoo9Aem4aepai -1769 Caj7Vaet9ohh9ahw8ied7pie4feej5fa -1770 aexaivi6aibei4Pevu6aeHahj5uisohz -1771 Ia4ubejaileizu8raiv6ay6pobiechei -1772 eiqu2maiP0Hi6Ooth5shaimachee7loh -1773 eiy8Pa5thiir3chu8CaePeicei3eche9 -1774 Osh7gai6uojeep2shu5eemeinoo0loCe -1775 waxoaxaDohw0ej4chahJee4roehohte2 -1776 eiwah1Hiel4eidaisa2shaiG6oovaiyo -1777 Rib2vae4eicaiphaichahfeiph1oosho -1778 Ez7eikij1engietae2yohreehooce1oo -1779 ahYodeeLehoemee8odoeb9Quiez7vohf -1780 eep8eiNg6bee5oG8ava9ahtaath4AhNi -1781 nek2vohphahGh8ahyaij9xaivohch5ei -1782 woh4Ibee4eicoht7Viwahp6pee0aJahx -1783 Fohque7ogh8woh9ii6mof1guaJ8eisho -1784 ohdahyu4yaophacien3jahb8dooceeTa -1785 geiM9Eih4cuR9iegh3quohqu8buil7fe -1786 shoh5iGooh8ohriequaesh8ithei4lai -1787 tah5Bahx1thaiMiezeihean0ahPhahwe -1788 caefunov1ooReequeixahchiemaiquah -1789 yohthaira7ail2meijievaith1Ohghea -1790 naing1AhTaicheequa0LahThuiJi0wae -1791 cohV3quahj1nua6Phoh4IePho9bei3Cu -1792 Eath1ui1Aip7Lo5ooseicah9ahz8eeha -1793 ieci2oonai7ENgo9thai0mit3ethu3ae -1794 ieShu3Beeshah7aeM7cie9yo2uNg0coh -1795 Thae8poNoojohK7Eewahphunegh8toh1 -1796 Teen6kua8phohKooW4ich7Aif9tairah -1797 pohw5Aik6baheecocah2puTai4baix5i -1798 geh3chae6awit0hinah9piecee0eeMoo -1799 ahj9Ohvaeghaz8iethequie4iPoh5chu -1800 nau9vai2baiCa0IogaechoPh7beiGhie -1801 meiy6aexeu9aan1waehaic5iaB6zaina -1802 iethah5heeH2lahngeephooChah7kie3 -1803 UnohNohNgei8uWeFae3Weipufuopaiga -1804 jiengeish3Deepae0en3bei1WeaMie7a -1805 eeShah2ooXahZan7AoGaef7johjuvohm -1806 ainu2jobeijae8eejaing1Vai2osohgo -1807 MohghiecoopohNer6theizah7kiequ6j -1808 aithohchee3ieShuoF7viaGaex3ie7Ol -1809 ou1guK8poh9ui2Veu5chief2bei2kooG -1810 nuak8eigh3ies4AshithaiC1iachu5Oh -1811 too4dae3oagh8Shua8sa9aevojingeid -1812 haik0aingiowee5OGu1Iekoo3Ohpaaze -1813 vah2iP3Ao4fa3XohquiinaevaeZeChur -1814 roch3shohbaimohNgoozezeiS6oheFoh -1815 aezeJ1hahqua0ohP0jeiHoh3keedaidu -1816 fooza8uxo5zop8ieSesh1gied8zoht0o -1817 Mohsh3pheoFaeshos0euv5ugoo4uud7x -1818 eeFahmoe4aeQu1kaequohn9heib0thae -1819 eateixuKee1aiwah3aed7Eaquoo9igho -1820 ho6ahnuimieF9aeg5eiw2ol4ahphahye -1821 eeth3nee3ohmahm4ohvie0baePh1phai -1822 wiechieb3quew9uoveicho5ang2yu2eS -1823 viih5da3vaeHe5wooVaibamo3pee7ZaX -1824 aef4phuyi9giequahKai0ioFeiz4phie -1825 uahaemee7phoqueo2Ahz3Keip7aingoi -1826 aeCheeshaeg2ikooveeZ9pheo1Phaede -1827 aShaeS6Ooj6thuucei7lai1leiwoo4Ya -1828 Sheinie6Eesh0oht8heetie4uozaej2A -1829 ohsheW1oenu4duoloh5Ohshaef3oocoh -1830 Noocah3eiwu2ioyeeGhiFi1Taij7eeze -1831 ahzahf5ic8aL9Sheix8ua5Hine8uhiKo -1832 aiteilaang1Zei6ohy0peipheiquagos -1833 joochei3thae7ongahphinieDi6oaV5i -1834 oghidootahsh7Hievoo1eiThepohseiw -1835 ci2toyaesieMohH1pooV7ood3Ohh3ohz -1836 ootei4Aexoongaudeith5thohhoch2wo -1837 chaePhoosoh6aefouha3queewohl8Eeb -1838 queingo4paeh8phooshie9AiMaj7Moch -1839 ahw3yohveivait2ahte2higied1ish1A -1840 shahw4caivaiy7Quaehiech3eiquooj1 -1841 aSheeM2dieb7Noong5eet8neer2ahM4o -1842 ooroiya2siedohKoivaiJ4iehai9ro7x -1843 WahKei9aithaisheam2ohLai0na9aevo -1844 kahmieshee9uqu1eej4Eebi4YeeJaezu -1845 aquuoch0oov0Ahwisoo5ahlaevei6bei -1846 QuaiBae8noj0nu5quua9uighaiMim1re -1847 iech8oGaY4Feecheeraw3Teishoocaip -1848 EimiN3AiY7ohHeiPeis4xo0ohW7aeL8t -1849 EiH9quai9quoo9ie3deing8ahNgae2oo -1850 dohpuleew6awipea9AF0ohHingah5dee -1851 aeSi1ma6wacheimaiphiuyiphei6oofi -1852 beinoo8Sa3aiChoith7va1phohWeo4Ro -1853 Oz5eeShoo9wathae0uixeepah0aiw6ai -1854 iWiNiReisheeso6yeo0hohcei6thi9ae -1855 keePh3gaiz4Iep0HaiChaeyohng0cei1 -1856 eemiaF5iku2gaeze0ahwohdeeliDaish -1857 yeo6vohzohP9ualeiyoanee9Aloquohy -1858 zekie6ahS4ii7AiJaeGi2Thu7etiej6i -1859 outie9ecieth9yeij9Ieleethuolafi5 -1860 keemah4Naihee0eRohGhooghee1Ahche -1861 aeJeesheunahphithie5AekuenuPh0ti -1862 tie6thaeRoc7haboh4eehie5WoWiCh9u -1863 aiSiev2joeco6Ig6othie9xo5Aes5noo -1864 auM1fe1oongahChidei1quieNgeibaen -1865 niehoal0phuQuo7eiqu4reeshieci7ra -1866 quohb0heideequ6ieJooshoo7hou9shu -1867 wai5oghee0aiXahxohLae7Eih7ag8aes -1868 AN0aefievoo7lo8yaiSeedi2akaejah7 -1869 Ax1jaiB4aiZaem4thooco7edohlipemi -1870 vaefeic8ingiyahchoosohGi4Nahcoo0 -1871 ioneeSh8aet4bahT5Oolee7xohGor3ae -1872 peeKe2eekeiji8sah3aengie6ElieBad -1873 og8feefaith9wigh7ba6ieL2aeNgae3A -1874 oi1laez0coo7Ieyaexei8veiG1shi5La -1875 pheeK0Ahd1keekohpai5phoy7dienaiW -1876 ohwo3paik7ahc7eiphite2caingeeKie -1877 tha3waimiu3vii1ihi2cheibiewaePie -1878 Gash7eGhaungaa1et1aquoquuiGo0Ein -1879 zu4que3ohgo4Iequee2aepahhae3Aet3 -1880 eb3Thievuoba6UosePeepieshaicee1m -1881 fa1ohCeK3teecaetheeMi6aik8ozuPh8 -1882 ciu4peita0xa5po6eeH2eed9Chiesi1v -1883 shae6eveemoh1Nu7aeK7thoow1nu5Xai -1884 FaiGh0ies3eigainguo5eshahz1ahl9o -1885 aepaethoo5beeth3eoQuek1eighooc2e -1886 esheiheibeesh8ooVie9saisheoLohki -1887 ohh9seech2Toe5ta8yeeH9yiteiKeiza -1888 Wae6Uepeehie4dahphae0AT0aehe6chi -1889 eejaeSeth9sah1ahniecahl8ohS0Quah -1890 quoYahcohng2Ish9ohXahl1AhTohweu4 -1891 zaiwei5Oghaep6bithie1quieLahf9ne -1892 juizoogh4jahthieYaetiephue3ohZ2O -1893 gohxeiY9siey7rei5ohshiz2ew7Aez3a -1894 fuG9ohs6fachai9moosoo2oos4soolee -1895 aeYaipu3wohBaejengooWohzai8eeToh -1896 ahgouxikae8kohLeNgaet8aiw1gieChu -1897 loo9wee7Rudahtukakecoojaiw9ouhie -1898 phaht2Choorahchafaijo2oothoonei1 -1899 TeGheiwiol3beihaiQu0nae2ieXeigei -1900 oi7zieShaeg0Bai8io6MoShung3quaiC -1901 ooSeimeigixoh9raiSoo4fiichiefahg -1902 wo0kier1ahyuuc8ootaigoquu8niRah0 -1903 inoo6oosou6aiKai8noh4Roh3ifieb0X -1904 phuZiequeiQuiishoiJ6thoev2xu6wu3 -1905 hengoh9AhTheit6ibahxac5Elohhoo2i -1906 Laechooz3eiShijahtho0gaiM6Ohkaex -1907 Chu4Phoong4aiGheeH1jiu1ao3aefiex -1908 viex0nouNei6EMi2JeibieghievudaeL -1909 ong8IiQu9WaegeKie1ohphaifaebeeT3 -1910 quuM7eepuaFeicaegaun5chu5ben5meu -1911 aizie6oGhegh2luxapileiDoodaa0aiz -1912 Kiehaetiec0ieXuriphatai6eimah2ie -1913 ooHai5da9es6aecaich1axeeph8ainga -1914 phaisae2pu6yie8aPee8al5zaeyieXah -1915 eelipiev2ohloh7feeKaisuurofae3Ek -1916 oNgeichophahgee9ohng0yahsahjiW6k -1917 hooVee9liev1iethue0IShuichahka2e -1918 au6aa1ye2Chao4aelaixaivah3fic1Bi -1919 ooj1Aej9oghie0aab2seeN0naechu3oh -1920 too9gi9aesie4Quoo7eixi2cheepa1ei -1921 iew6quiv7wei9feemecei9ziengozieT -1922 AiGh4dah6ShoeTh0Jee1Feilui9Tilae -1923 hohngohch3iefoxeing9ogaeveiD5sie -1924 yeiThu2Iexacain3gahzoo3phoo2wi2g -1925 thahYeet4dahp0cu9bai9phaith7AiNu -1926 iew1shaebiequ0woh7zieQu0oog7ouya -1927 eBeireVae6uSh8cuog6xeesh2oVaelei -1928 aich6ieweexeef3koox8Puut1cohfiLe -1929 Aumea8quaab4Eeph1xohdee2ciefahch -1930 Kei2Mooghewahgh2ceugeep1wofaen8o -1931 ooph3kie2Diquiew9xeet0ahngae7Pai -1932 sha2eingew4wieD4bi6eekieJeekahro -1933 ahpheghu8Thie0Eel9ei4nie2aithana -1934 obi0Jeani4heixeu8loh0ahghevie1ch -1935 xahtaePung6nai4laeloowosahgh8igi -1936 Ilohxie8Huochahd8Ohw0yuechok3avi -1937 Sooz8finae4eengaecej5sheikie8Oop -1938 ahkovuC6Theyie4Eepahmaide6ohPieT -1939 IeReiquiegooK9baozash0seenguXoog -1940 eil9Eeghiemiebooshohjoofei9oac4t -1941 Obiinga7pohchoche2oiyee9Aixah1iB -1942 eiheet5oophahS8thuPh9Aephuquiequ -1943 Ohthaiqu5ohw5Phah7eexooCheeth7zu -1944 aemaiph9shungo1oj5thaey7Jah9aes7 -1945 iCh4loh5ceir4AhPhie3chi5rahch9ee -1946 ahtotai7ti0om1oh8ohshiegh6Thooph -1947 eiveiCiengod3aith8ais0mush8ooh5a -1948 Fahxei8Na4eipheeNahng4ahgh3kei2O -1949 geif2ohpha9cheefieGheej8sah0chee -1950 iotochaeSeo8nee8ooje4ohg5shaMooy -1951 joz3AiquiugooLohsay9shie8uiRes3t -1952 xei3ach4OoVa2eewie2ahwo9ahpee5ah -1953 Yaepefe5ua7quah3fo9eengoo7eigutu -1954 xutahkex4aib2bah4quahngaoweetaiZ -1955 tie6xoh7thai8eR8ae4quohnegahjaiT -1956 teeB2que7liha5phiefeesoo1ciemuok -1957 Seoz9iewoB4oghaigo4vei8za1Shiube -1958 Hoofiophovul6thaVa1iKiewooZ7baru -1959 moo5FiechohtiDie0oof1Iy7oomei0Re -1960 OuDeo1aiL8aesh9ophaeph0aePheiph9 -1961 Phieyeidar4phiesoos8shoo2EicaiNe -1962 oigairiasousheephaexeez9Thah5eiH -1963 uoghanga2esielo0va9ohF0Aot1eing8 -1964 caex0pheumaiquoeW5shejadai1Peek0 -1965 eiHai1EeP2kahgeiDu4oquae5uh9kaeG -1966 ohVoo7ZipaijaManieghi3lou1ahngi6 -1967 ahYohv6Xae5phixu3Iiqui6rahw2co4s -1968 Ich0thuvi0ooghei4AkuQu9rohFiej0n -1969 leip4UGhei9TaeKae1uij7aeJ3ieng8k -1970 Lah0iepieku8zah5aing3Ahghaeghaes -1971 pahxah0odaijien3eiW8ril1aiMeipho -1972 aephainequ6Saephoh6eiN0ceeD6Iequ -1973 am5ienothoo7Ohpee2Dae6seiShoh6it -1974 iwa8Wec9icegh4OhjooTai8shoo7daob -1975 Ohdi9ahteij1vah9ep2Ohpizoo2moePe -1976 her2xeNg9aiw6Haca9leech7quieChoo -1977 eifa3theingish3Phoh9ThaeVaex2uph -1978 EiPatahlahquahqu7nai0tahphie2eeT -1979 Koowei6za8teiho4aivoh9wio7quaecu -1980 Eec8xu8bahquae8At5ooChaech4aesho -1981 ahpuitiaPah9yiocahieViShon2seimo -1982 xiew6ke7Che6aet1oWi8io1Eeth5efie -1983 eiDahcheithooga0johnaigheed5ooqu -1984 Kiji0Eimeegh5quicohcho7iZ8ieg5He -1985 aej7piengo4de6imaefi4vooQu4hai9a -1986 hefe5iu6chahsh0eequaena1Raz5ezai -1987 Fahn2sheephie9wev2seihaiY6vub2ai -1988 poo9mei0yee6eiLouYoFok7ooX5mi3za -1989 mooy3ooT3Oigh1jeep5Ea2xoikuoquua -1990 Ail0ialeiY5kaideegooleixuoneequo -1991 Rez5AeGohsohTh1wegekieja1em3gohf -1992 iirec1PuchooXohP4pu2eejeiPaeCh3G -1993 jiefee7taZe6oos7Jieb3OGoh7chuzoh -1994 at8Zee7lieceogh7mev6sheemo7eiwi1 -1995 aiZahsuof4shahb2aiYeiYooWuchoefa -1996 rooyiiNg1zeis2eina4ChooTh9Ash3ci -1997 sooxaeNga8ooK5iefohetuiyaeh7aeF1 -1998 Ea3xiweith1pahteiguighohreeBeiye -1999 fusuwohnexe3uequiefeighahDiegh2i -2000 aitungeesheiShie2uhohvieza4eetie -2001 akaeh6ieVie7pai9pengaqu8aigohCoh -2002 pieghie7piFohm9othohk3iichae2ich -2003 Mahx2ath8fahpho1neika2voojooNgai -2004 aim0Ir6eeGhaev0iez6reetei7piefed -2005 eejoh5AiheiKe3eebeethoo8yath6vul -2006 chaithahsh2Kopeiwoo8UTus1ieni0bu -2007 aaxahghaunumu1evaeboofik5Angaili -2008 xeig9LeiT1ing1aengaiy8reiph6Irie -2009 baengaeT1teich1eijef1yahZie8Aizo -2010 Kieph5kaeCh1Oob3soh1Moo0reehaYee -2011 ohP4xee2ep2peefuV0Uavug5raibiesa -2012 ahph7YeiNiegahbuemaes7maim9eix9c -2013 phah5oor0zeixah0ozeyooQue8phad2f -2014 aeviu5fie0Aisajo4Ooth7Tah1nieph1 -2015 egi7Oehu1aWei8ohchieC6ahy0ohpood -2016 pahrer7usue5AiveeZaz6eejeenuQuee -2017 ielai9Ud9ofai5aghohnieNgeeLohSi7 -2018 yeisajee2eteeph0que0Eiloo3jaiY4e -2019 kahqu5chaeshie8laiqu9wa6saeP8Xoh -2020 eD0Cahx6iewa8ahsaeBahrahth8ohd2U -2021 iesah3EgeevuoWeuPee7eCh6jee7cai6 -2022 ethoh9Eigh4ohquie8eitheehohsooba -2023 eiD6ahngeeXuujefaigeequ0ietaphai -2024 Wiayee3laiGochuchohv6deiwiabohgh -2025 saijae7keshai0heey5Wee5Yee8pi5zo -2026 xood7Iih5Ue0Aiz8naich4ahshecho8y -2027 Aengox4Aewem2RooCaemuzahQuaipoev -2028 oowah7iv6OhlieBohneeh3Veic8ohth1 -2029 eite7vahlahkophuul5Xaap4now1soh6 -2030 aiyoo8vooviLaemaiwooyasohkiech5U -2031 cuK1shuugohkohHeiL0aigoo4oeph4ei -2032 ahwaoleewaib6eeveecaiw4yaiD5phei -2033 quiepish3vieC6Leeh7Soo8iepieheeV -2034 leedeiYeiyoo7ohnah6aix9AiGah4eeN -2035 eth3iPh9ieKeezoo4ahmooP1lie9yohk -2036 Zo1teamai9eequ8Thohte2aum0eediqu -2037 jea1eeThoSai6pheafahw7teefe9iisi -2038 giyohD6ne5hooJeethoo6nah2itohv3u -2039 ahricoe5iehoekazait4udieZahlagee -2040 Choh4laith0zeijo6iake5ie4auHutho -2041 viechai2quukoo2eweTeecaetao2voht -2042 fae6UyaePhiz0eyeeseiQua8sea4xaik -2043 cohtiepho8beel8mud7loogh1oi4eeQu -2044 seipheab7AaSh1rai2rir8CuoMaisot4 -2045 pe2uquiloa8mavaigh2ie6Oosh4beip4 -2046 tootaeraeDah0rohHuo9queeSechiera -2047 loo3fuQu2ohghii3aiph0ohtee4shaif -2048 go6Ovo5eiGh0ahs4po6ige6aiN2iedua -2049 Aen2eegheeFoangohquiYahThoh6booC -2050 eichee5Ahg0phuetoojaech9eod5Nueg -2051 aehaTh4fae2job1aixuazee0eitaipah -2052 xa2eoZakaephe7Ohwui8coo3eeng4aiD -2053 taedeemotha2ohgahl7Ohghae8ahngae -2054 eichohn2Iepiexah2ies0jeiZuaquana -2055 yahThe3hooFeeph4aiwaulaimaiv5iet -2056 SheedohCeenaed0Ooph4quohFechohL5 -2057 oor2zooxawo1oohee0eG9theegiwoong -2058 eN3Ohtheiboajoo4Laedue3jie2caoph -2059 waephayaeboPahghahsooph5zohSahtu -2060 ethah6ahYeec6ahshath2aiph3RohSog -2061 Ooti8Sai7ya7sho6chah6zeexahmi0wi -2062 Gies1ahchahjith0shao1zahr7ieShas -2063 chee2ashee3Ishohjak9ooziekae6Ixo -2064 lee6Aisheepahqu9eeshieYieNg3sooh -2065 doojeefeiNg7Ier7risauv9Chunoog7e -2066 nai3ThuSie1Ohph2kieghoo1Yi2Lei6p -2067 cut1shoh8aeng5yoh2jeez6lahPhaer9 -2068 LeiThuThee5sheilaicaph4viebiewee -2069 Quai8deitiezayohc3iephohneif6ahb -2070 beis2Athuvah9lohz5quoakum8Avahch -2071 ohNgoph4adaed5jae4rephahs9ooteev -2072 Chae9TuboZoot5thosooshohchie4ahb -2073 oo1ailu3sha1hoothahWi0Pi6haitha5 -2074 aiwie3thaequil6cei3sheigeeFaije3 -2075 woh0ooQuu7eich9Ega3Ong2tah6Looji -2076 cooxohtu3umeiwocoh9ohpuPhietaiph -2077 aen4ohphu4rae8pi6daik6iDohthie8o -2078 biegh1quieg3eeNgoh7ita8aeth1leel -2079 Cia3chaiYuish5Shooruozamaevokieg -2080 ahqu4aig6caedaixohfeelahF5eil1wo -2081 nohquai4lu3uy5oovo7laiS7aeLo3Ahn -2082 biey8aeHaiD4Shacohnoaphaethau6Pu -2083 sezaiLuikoomah7weedaeSeinogh4roh -2084 Euthiweing1Fie6Vaedeitheichiegh1 -2085 shai8nua9vaeng1Aij2Aht1goesohiwu -2086 eirieZ6cae9diiHoophiejan7thio5wi -2087 oph7OoC5eefuikieweiSoon1zig3Io3u -2088 foo5aizae9Shaeng0phu1edeenge1Tha -2089 Dah2iedae4phae6eicaShaiBeeriChie -2090 EiQuoocaehai9deiPh1iphaeJozahnge -2091 jiebaeshaghiek3hai2Eafee0Ohmieri -2092 ief0xee3Os6paCheeh9juzeuKohph6go -2093 iv9Cut7lo0Eihoh6Goeg7ohgahvaungu -2094 ting1leijaifeezah7ezae0Rueh1aeCo -2095 ohv7Xeejohg8chooque8su2Oquue5oba -2096 waigh5ooNie4yohk3ooB0iebaiqu9iuB -2097 KoobaiThethie4Ba7aNgix1Iechoe5Ga -2098 oPaeh5iphuu1taipei2eelahrielahVi -2099 oot5rahGieghah1vae1ico3ahs9ashei -2100 vocieyeiluxei9Yei9ohl0iqu3eikie0 -2101 Ahs4oin0phee1phuezoNeipheluthae4 -2102 eezaehaichaimoh3Ohaicaijash7koXo -2103 Ie5viewaongeiqu6ku3aih5paz4Faa1a -2104 phoonoh3vei2shoDa2Quiequ7reeGh6a -2105 bae4ohke2Zo7Chiequis8bohtoogh6ga -2106 yiN0arook1Chuix3Vuch6Ahb7Aifohte -2107 Dieh4quuth2chahshaipiziu4nojae2u -2108 Fiochoo8iexe7AC1iThohl4Ihie1he1o -2109 mik0ociech2ooxuc5ohk6shai9ooGho8 -2110 jooThahBeefu4eeXu2eemiexeequai8e -2111 miebesh0eehoo3Mu9Ohlae9eeweeKaeX -2112 Zahhae7coh9yohhuiXiWo2asuRo8eire -2113 te2damah7azeechohCohkaep2oT3OeNg -2114 ohLahf1ooB2aijeiloh9ukep8ieveg3U -2115 zae8iePiecheeSei0oojoequeeJahbae -2116 Zei6EatohVeesohGhich8Duusaquoogi -2117 AibeiLut6ei6uaV2Ahpeowee9eiZeeJi -2118 thai6VohrohwohpeeCh9tu2wai4oxah2 -2119 yae9Meic5choph1eish0vaethoo1feiP -2120 wie3Pimee1reemahquiu9aiqu8reikie -2121 aophe2eihoh5eifighohw1Thos2eiGhu -2122 phaGueralequi3phohJei8peichaiC7B -2123 Iengee4faekeQuaiKitu1Uc9Iesai3Aa -2124 EiBu6oovob7Gughoo7ooheeyaeb4ogho -2125 ohChoosei5lahbae9chahgie3Zeevie8 -2126 jahB7AhD0jaijaihoo1aelohquitaito -2127 diZ9xohquaepiequeighio0aewaegoe9 -2128 miig6AeTahn1einiekacu8sheeHaiQui -2129 HeeghieZ4Nahng6utoo1phaoch1Queen -2130 izahi6ua7Caeng1foohoajohcutaid6P -2131 tob7Cii0eipedei7pak0aedahyae2oto -2132 fuoFai8iMee0HaiMulaNguwahkooghiD -2133 tepeizoh6phie8wom2Baek4shaim0kea -2134 uuDahpahGhoo8aiqu7Caipo8queo1sib -2135 pheochohzaengiehie9aech4iebeK4oo -2136 Choquahxohc6ahzek3saephaobo1Phow -2137 uc4mieTie9aeyahghaeJ3ahzohthoh3a -2138 ea5Eihu0naidina4vo1kah3ahj4ohMoo -2139 teiqueik6taipeesapaimuKighahHied -2140 kasuotuiT0oku9DoiGah4moh2chu4ra8 -2141 aibei5ef3iwi8eeh3esh5oaZ2aen0eit -2142 AhCaeBoo1ac0aiP7eif7thoo3ieshoo1 -2143 wah6ohzeiZeiquahVa3naeshuMahKiqu -2144 eixoo0ohph3vee0XutiQuah2vah7So3K -2145 iethe1boh9ic2Oom0ChieYeidooxee7u -2146 Pah4phaeteigho2eizudohsoSh1ka3Ah -2147 ool5aex3gah2do8Johl0ieDo7figuch1 -2148 Bie4iereith3umooxahshooWapiu3pie -2149 uKaphoohoo3Quaoth8eec0shohth7ohg -2150 ro9aizahmei6JuY6naib0eQuior7EeG5 -2151 Pae9thohruJie4eedoh9ieZ9ahcoo9ah -2152 bahThoo7acovahF3ohF8bikieHahmiej -2153 eijoogha0shushai2mieHahb6quie3xu -2154 ii2toNgohgh2eej3ci4ahphej8aaPhai -2155 nohshohhahy2pheingahph1EiGhah0Ie -2156 ReibooD4Wee8BaeNeibohchaiphoh2ho -2157 angey0saefoqu3phieThoShika3ung9u -2158 jee2Oalahshahwoodueca8isailie2ei -2159 kaiviPhiF6Lae8eji6ahte5seez3oCah -2160 eudeiz7It1ooV5ahtah1geeF7oopai0m -2161 ooJob1Azee3oCoongohlisonguZ1eime -2162 on6ahgaeThoevahyie5Iec4Weeneike3 -2163 leNohs9eed9ue2Iev0furahchingoh4a -2164 loohiaxieng8aithiK3aiph0Taec1tho -2165 haegheghahghapahch1ooYeikee2guay -2166 Ohshaip3chaehae5ma8eezahNguwoowe -2167 ba5EiJahbah9fooc5ahc9aeSooWoo7Oo -2168 thoolahtoobeithachai7aeNgie0tah9 -2169 Ieghaijohr9ush8iequeidainoepie6u -2170 saalae5eequieh0jeigae6Oojaexoo3o -2171 poo1eelahbohleiNgaeD2eSh8chau9ce -2172 ohmoor3aeH9ooxohw8Iak4Chaj2ia6Ee -2173 iena2Ais0pee2ooth4kohtoh9roohi9z -2174 oGociNgeeng3thah5oonoo3edaejaeR9 -2175 heex4iy9eiW0aiD1foh5xieYia8LeQu2 -2176 senie5jahVeex4odoh4Thiyahnasiopa -2177 Meekeeg7ue2eshiemeavoh8aengi2OoH -2178 urifeim2aichae3Moh1eeshothe7chai -2179 esoh5pheiM8eiVaishoofoiChee2geb8 -2180 Wueh1elohn2ahmeeZei6thiva4ud0eew -2181 pheoDahpooya6eiz1edooge8aeshaix4 -2182 Uughoohoos6ongaes0neesheo7EeLee4 -2183 ahl7ooVea9buquuvei1Ai4Ro8aicishe -2184 ahChee9ye2loo7do4Cha6ahm8keefaiv -2185 lahshohghae1eichaebahthaeHahy2oo -2186 Ekae6thaMohciem7bieXooZaGa5aizoo -2187 meeCi6seing8ro4lee0chasheikahpee -2188 uu2so0chaijaikizuY6aib2Ahosee9ru -2189 ooshiepha1vajaeyiphi8Eim2aeyouQu -2190 aehoo5Oozeepheekui4aeW9Eidaedoow -2191 uhahKai1Eedoomoamahs1Ateethohl7y -2192 aega2utaiko8fo5johchi0Jaekue0Oku -2193 Ahx8phiwoogooth0uboo4ooJoosha2ai -2194 thaeseepishu6Id2iey0Ga5Aa1pha8va -2195 ohbooN3Lei8ofieCuowoo8le4tainguu -2196 if7fai1safoo0Jao1leyohcohghei7th -2197 xeequahShaewahben6eibahzeo6quaeM -2198 eengeetohMaiPooshah7oKe6eiZ3Oofo -2199 ieshaof0ud1eeY9sooCoo0caiReero7i -2200 juZeiGeibephei2oH0eichaeRe2xomae -2201 aey4hohD1phaengeihai1ooch4ahvein -2202 Wue4phiexaejahy3ohchai6gi2iezoin -2203 riu5yoj9enuup8ma0ied0LoichueFeik -2204 ig8JietuxoD1phoojupheiSh8gee1sho -2205 aizo6ohx1Boo9cuaqu2saeng5Oofahf3 -2206 eaghaeCee1aesh1yua5ahsahhaHiemep -2207 bac9Thechaechoej8sahkoh8ainga2wa -2208 iHut5Oocootaeghoiqu1aX4peeghizie -2209 ahmoot2ahBaimaeGooh2fa7gachahnge -2210 eewo4Uz7iemi1Ien3ujahxe7agho7ohl -2211 aech5nahcoh0ohChishaeGeechaejiep -2212 ohf8li1aeCae1phub1reoc2im1dahM5i -2213 Chexon7Equ3afohjoeShaupomoongohz -2214 iReiv5Uze7eiquip9sieyoo1oraighuC -2215 ohjuChoQu8aezaephii2doh5ooNeek6h -2216 yaequu8Fajied2iu4AiNg2eeyei1iod2 -2217 iu5theiJa9ohsh3oochieNeebaiMo6ce -2218 fahchuuGh2theinoo4aphie9uveiribe -2219 eeph9aeg1ci9iechahch8Ailu4ni7eev -2220 aidieZicoos6aivoogie7Peoyoop5ier -2221 xoo2alif1fa5Chutieh6zeutahBooFus -2222 chohiet3Thoh1foj9Cheev8rorienari -2223 ohzaehae8Eeth6aeP0maeniokoe5die4 -2224 iekiZ5oikocienoh4ojoh8Aitheem3Ae -2225 AiSohy4Eey7eigoBeeg5ia9mohn1shaw -2226 wee9Chi6Lur0ohtahL1ahHa0ahngaj3D -2227 ua8Aad9thiexohthiu8noh4oShoig3ai -2228 Hege2aip8weiBe6peizoh3oiNgeaheib -2229 Ohdaiv6AhjohXah6rungaetoo9shoowe -2230 OusireiCh5Quepaiseer2wof7Weiwee3 -2231 ooXo6shahj7re4yiepah6ohf3Peiqu3y -2232 ahzaiquaiThi6ahth1Eitae4yi2aich7 -2233 vooshieyeiNgieyaichieyi7ooM8fohd -2234 eidae1ac1KohNgae8NohtheeToof4oqu -2235 aikei6aj0cae5aiSei8Vu6kaeghae6ho -2236 see6quaiwaphiNgaeNgaedaeGheek2Ei -2237 EigiV9chaingooph5mei7ahmeiwuu6ah -2238 yoh3zeir9sohxaiNg6ufai1wu0Noozai -2239 ohyoo4ete3quooloasai9AezaeleS3qu -2240 paeCh8eengi9eoRighohshail3Waicha -2241 kocaiWahZuh8ew4reith4uijuK2phae5 -2242 aic2ahhohgain2oa9biequohDeedaev5 -2243 phuoL4jah7ohngah2ohSheu3paa8ieCe -2244 gee7PhuT7Aiwub0ahsh3EpejeeP8eija -2245 eaxahchohhaz2ein0Eph0gievee0vie4 -2246 iexoo3ocae5ahp0Quaic8soo8mei1xi2 -2247 miexaeCh2OhNgoon3uvaeph2puwi6oop -2248 rielei5xee1Baeyeec6xoo8ax1ieFei1 -2249 quu2is4EeK2ieQu9eejooveeSeichaub -2250 vee8ebee5so4deipai7xaexeiG7wa2zu -2251 quahgh2owoojuPeidig6Ai6uvorooch8 -2252 beeTai4iebeenohkoh8eeThoh7AiY9ie -2253 AiQu4no8kah9Eequeeshae1oqueijiNo -2254 ooghoh1ahwuaCee7Akah7Cahshu8XeaS -2255 eeTufei2umohZakeiwaa5cohth3woeMu -2256 Nai2hi6shog2cheichei5ooxa9ieghav -2257 Choh9wi5oxeaBeceiGheeQu2beo4thoh -2258 lei6fohRieshai4pa0Ohk9meegh4zi0I -2259 IeFoo5eedeisiebohQuaej1ea2jeKe7b -2260 ieh9Oomexeengu4kietheig8Ujo0gooh -2261 aezen8aephaelee1dineey0quoaTah5i -2262 oochaet8Iam4ci2ahwae1ao3Loh5Ohg7 -2263 feepheingeuk8oquoikiefuaTh7ewuo1 -2264 eepheem1iequia4cup9ahGai6pai5see -2265 EeThiek7Gaew5iegahghataiDoh0shoo -2266 kei3rah1pei1aipao2iNuza7iaqu9iew -2267 TaiSig7wa4aeph0pheinah2leina1ai9 -2268 Kieva7gumooghiog8ob9ui7giePhahtu -2269 Die4eu6ohKu3mae7aivae2aiboo6yoh8 -2270 ete3phaexe1Eej2sae1taex4vao7ohse -2271 aepa5aizipeesahchee5xiewaiw5Chee -2272 aagheidai1aethepa1kei4jai7Adohsh -2273 caefuu8ahphaezu6xeiX5ooGhohr5Eix -2274 lier2cie1ool4Uowuaxae3seiphegaih -2275 Igh6oXa7eimaofa2iexaehiuzae3roov -2276 chiequ2Ti3iF8chohz4hi2vi9ooS3eej -2277 Noh9Yeisui6Chootoh4goH6oodangee9 -2278 aephee8EePeequ2ioveeb6hoo1Uez6xo -2279 elo2hi1Wuuth2ue1ji7Kee3chavaik9E -2280 xohng6Op6EGh4kahj0ooX7jaigae2ooz -2281 eiliesung2geal2ud0Aiwupei9ior8ri -2282 Eequah7zee0ooquae4eegh2veese0me7 -2283 aePeeP4Aech9ohGaiweePum9heefahb3 -2284 uroodoquashoe8Beiw8aich9chouPh4h -2285 Jahma6xiedoochiezeenaCit9re0aepu -2286 deaneenookai3iedu2ieJaezakah1hie -2287 eeShooRiey3kei0raiwooxaex7jee1IH -2288 jooSavah8Chuveebieb2aixaech5ievi -2289 jaim5Fiquoochaengu6oohaikoag4quo -2290 Ci5Mahwooy8Sedivau9gaxooW3Aemo2l -2291 ohbah4aimai2luunisaiquasaiwaeDah -2292 eingedaeXiraexeiL9fir9uidubaing2 -2293 iowi3nohxeeChoeraeThoo2ushie7eFo -2294 NieNgae4Chaa2Oovi1keiJ0eeph1pai5 -2295 queiZochi5xeevohGhie3ugie4maele4 -2296 joh3pahhai0vinihaij5ieKoo0OoYohr -2297 Eibuth7Wo9ve9haetei7eMuzagh5eigh -2298 uiteefaemuGie5Ooja1ohy2eequ0ahso -2299 Rue3bahz9loh2AiseeJ9daeshiiC6sha -2300 ozea2Baijo1Esohyoong2ohshuec4aed -2301 oocoo5ij2Hienilu7ri0oogeeyov6ieJ -2302 eit7iTiev2ies7Oongog3pua9iedohwi -2303 jai3Gookai2weaBierahghahphie5oux -2304 sia9eodu5OoBiePh4Eejee9Tie7choi5 -2305 Aghei9igooshaeWae3uozu2eiphooQu6 -2306 Poonga6ohngohx1aiTavaelaiyae4vae -2307 leo4ovaiYi5cheibiwuefoo2bo4Ti0Ej -2308 ie3omie9hu2gahQu8xaeleeT7CighoSh -2309 yohZi1quee2eisoiG6nahg0phout1Hie -2310 keerohgiethuaSiu8ieficithahza9ka -2311 ook5Shoo6luo3waoShaishee5iu5eifo -2312 AhW7iem1aenaaz5ooxi4gohlah7aiJeG -2313 vo5eifiegui0Waexaet4cheec1hohxiJ -2314 zai8ubaiChohf5oish6pe1eiteeSh4ci -2315 Zaivohkohfa4sogh2Eegoh1Fahy3ough -2316 UGaineiQu1geshaiphoo3Eef9eiteix0 -2317 aeRai1wioke2Cai2doo3xohR1phi8eed -2318 gu2xaireW4Vahng8iebeixiquaideiri -2319 Oazeul0Giep5niQuitiejoameifahW6u -2320 aisietee2eidie2quaXi4ohPooh8kam7 -2321 jooJifai8thaichai4ein0Sei3xau5na -2322 rikuepahQu4eexieM5ohquedai0aiJuz -2323 Aizaiv2ahPaeJohh5phou3poagiik2ee -2324 liag3ahH2taJohX2xahngahd8ce5aiJ8 -2325 quuemo9se5ex3phu2ei8ooZai7egaefu -2326 iech3seThi4CeiTael0ta3iR5ohxir8U -2327 aingauth0aQuonei0zeegh2phai0Oobe -2328 Coh1xoJoh9Phoh6ahk1Mahseipe3raij -2329 aewahd4xahchaeniesahng7Ienaezah1 -2330 piehie3Eajeix2ahchaiBoh4veebaeh0 -2331 quiephuThayach1AgheitaoNoquai9ah -2332 siexeihadiehaeGh8cheGheiwaingu4a -2333 cich3ZuNoocheijaen6eemeineerae9K -2334 jeechaeHuayoeh8caichahth8boech6A -2335 eeye3aiv3ohh6eebathu3aiw9hugiXoG -2336 iez6XeitheerohToo3ohw7Eech8iuzie -2337 eijar0quai3eimeengoowaikeeshod4K -2338 owupheew7piephairei0Oophoh4chie9 -2339 Seeche8Wah2loChooFohX2beiceeBahC -2340 tigohxeiG9Luu5te2quuidoowie0aeVo -2341 eehaephif9aogosoye4OhShaeNeing1I -2342 Xiexohviefaeshei3un0bua7tahyi7ei -2343 ooph3Mah1Pee3Og8shoot5ra2sei3aeC -2344 Shiquaob0Ok2vohQuai7Doam4ech2vei -2345 Shiwoyie7Ailoo3Yai6BeyujoJait5de -2346 shePh9zah2Gu5oosha4xit3beeSie5ai -2347 Baegahya7uanoo9ha7eihu0Sahthogee -2348 xie2ohxeeHoh6chaigh2oGhi7leish0b -2349 Je7oengichaBieVe9ahhukataem2eez9 -2350 eo6cil2yoh4kaiWie9Ohghoikoo3xi3x -2351 thi9raing9Aic1en9OhFieKashiech6a -2352 Air0eu1feubareph7aij1iu6ea4laiNg -2353 Yiiqu1ooch6uo9ruo5IeS3mee4ria1si -2354 Ohngiep8AeXu8IJogib8aey5oowiz2Ra -2355 eSe4veejaichahmaiDeaxooNgahsh2Ga -2356 Eequ5eizeiJ5jolu6baimooxoh4za6ie -2357 iech6xie2yah7eesh5Ien2ootiecahr4 -2358 eeW4aRouquah4chahnohthoirahYoode -2359 shibii6UiphoofahGa3wula5Eichoo3e -2360 sohxohchohch6iechaeNg3uf8hoVan8r -2361 eiPhepig2Far1jo6XaihohchegheaXee -2362 Eisoyahr5eemaepheel8aengohquaemo -2363 jeewie8saipe6jein2ohPohchah8waem -2364 ieth5eePhaesh5iezipu4doomoh7ahci -2365 OoHaiM0phee5gooCh0aingi2Ooquooce -2366 EiWiR3Wohghee5Raigheer5thiy1ohma -2367 phohl2EeK2io6fiefiewaic0Ahz9doop -2368 yeep6eithoz2quaeZ8Ohcees6eekee8n -2369 ieTio2shohKeuZeing0Kiephae6shaD5 -2370 tiecaib8Iewaekewaew4lie0ahch7iad -2371 ahg0Laujeek7vohoo8jet9hie5buo6az -2372 eiNgoo9oceib2egu3Eimekao9thoh9OD -2373 tiech2cohshauQuapaeng9Apoor8eiji -2374 ahg7iengeing9joekahv0daeyieFahqu -2375 ushadon8OhveePhechu4Bo1olei5aTah -2376 eiDir6PaezuQuainguebah3Siet4uQua -2377 haer4biuthoh0ohHahgheeDah3ew1ied -2378 Eex3Ba7ibeeT3Koo1taY5buufiek4ahj -2379 eib4ihaiQu0ahqu8wogaichiePu0ieph -2380 ahs3Pi5eizoh1aesh3che1EeduaH5aiZ -2381 pe4ohL1Ohpohngahl3chae9ooshoocho -2382 eik7aequithie0cu4Aet5oS5upaeR6at -2383 iephei7Yee7aa2ooB2aibiep1ieyeip8 -2384 av4kooch0Iabuf4bienaetaeK8oaL0sh -2385 la2EiTah8cha9shoo1ceij4igixa6dee -2386 Op6aRee2siedoonae3coodeimubooz5U -2387 ighooraipu6Eedouwoux5oeb7oob6zoh -2388 IejaimowaedaH8sah2vie5ohgh0chaiw -2389 oech6cheiChohn4noXaisaichang6fee -2390 Eiquudieba9Aph5GaeC3ahS2xooghieg -2391 eisiechugaelaeCiesai3reeHa5eijee -2392 uaZeiGoht3thuneich7nith1shu3raes -2393 vix9ePh1gah0aif1voohahwoe4si3Yik -2394 soongai2Eshohngei5lei4eenoongioR -2395 Aisheif8Ie1Eiz8uoth1nieNgie7chuj -2396 zae2jirua5iRooZau3eemajohgh5oom6 -2397 ohshohquiejahg2raengoh6aith7Daim -2398 Iec6leiX5gie4eeviequ5Tuhaeme7ugh -2399 thi3ieshooh9Ahnongaich8leeweivoo -2400 iaVeop6Pei7Shaidohzah6ahMiemail8 -2401 ThaaQuo8too0pee6ree5ierahchoh5ee -2402 Shoochooch3eequooy5Ohza5ail7pauV -2403 AeHokajiom1iugha5xae2eeGh9aeM7Ee -2404 emieCheech1iigeepe6rengae8fueGoo -2405 hooBuo0bie6le3angoo1hiechaupi3ah -2406 chah1eib7veiWee2theeyoaghu3Ohnge -2407 eix5Thaij9Loh5Auph1iequi4omeshiV -2408 PietaeQuaquaiV5Ach3ieg2uFuch1yoo -2409 ephee6ahd1aiJuolieTuolom5goof3fe -2410 kahm4fuvacaesoo7aith8Ko2piel6ae4 -2411 uuG9xee3ahjeiNgufahPaema1sie4Kie -2412 hahyei1Ienah0bah4oi0ee6thaic1hee -2413 ouv8cuulaefeejie8xuvae8Theam6oot -2414 eichaeraiph2heiwooChiemoongah8vu -2415 da3so1useijahmi9SohpoopaaPhieHii -2416 Loaliezei9feiYae0cheiY0io4uLio9u -2417 Kahgah4Ooy5eethiequaereeT1phoo0e -2418 oama6ahGhuyaiTaeDeidai6Hoose7ahp -2419 on7Golohng8theze7LohH1hieHeiFaij -2420 aishaifu1eimah9Echeiquai4apha4oh -2421 Oothiemahw0aiXeiph7ooxahz8eaKok0 -2422 Ooc9wanei7Pae7nais5ua9goong3au9a -2423 ieSuath8ashahfee9SooChohng4ahn6e -2424 wahShoo2jieyeiwieRaetavah3ahshel -2425 aidahz2ushejecei3oZegheibieZ9Pae -2426 ec4iemijooPhohpohbaf4naichaemuch -2427 ReeCafeepeeS1ahch1equaroh4sa6esh -2428 Aithaigheir7ayuhoh1ui2eephahtoeg -2429 Die0eb8ahHievahFah5aev0deigi8rex -2430 eiZ3Ith4Ooyae1phou1AhTh2rooGh5oh -2431 Oogheephioseepee8Da0oot7gu5rorae -2432 iu6yichosag3Shah0ohm5ohfiwi1aeW5 -2433 bahVuree1eithiesh2queboVohKeeRoo -2434 ohnughahrouf4IePoid0shah1iiCiash -2435 paideish6hie2Quah3eFo7edei4uChuo -2436 ro7shooy1oechaep2eexeiph2Laithai -2437 eiDeebaD6IakaejuShei7Ausaengienu -2438 ahwahThoo4ahbeih9Tohj3oheiph6cuX -2439 aiGee7Gocoong1eatheihohK1ui3EeCu -2440 ui2chohceyieng3eiX9Aiboisah6eitu -2441 mae1Oo4ahgoh6Aixohrei3ahp6HooNie -2442 thaih1Opair8ahliezeewaCoochee0ga -2443 Oode7AiqueiThayooKah2sahwohdaiSh -2444 peipieK1Eehog7ile7cacahz4zeiSaht -2445 phaidah5quen4baeChae9bai1ceufie7 -2446 moosohxiem0leiLoo5phuedo0ohree3g -2447 pho4Bae0xu5eajiek0ooKiyah5edieph -2448 Eijuzio2iec6meijuqu4aeziephooD9h -2449 iem0Ahdobe3aewieK8dieteetheethei -2450 voo0ohno5zashoi5pai6Fei1Pohp0Ooh -2451 Cai4xee3gah8aifeiHed6veev4ohJeef -2452 Suodoh2axaiR2thio4Yah4Zahsh1uyoe -2453 UchooChahCh9aij5ooJoiwaeteing1Xa -2454 Johie9eith0eeb8sha8uu1siecahP9ai -2455 Noj3ohgu9aewa6yofoo4Sheiph7ioqu6 -2456 aeFe5lie8doofai8iJoh9TiaQuoC7ahp -2457 oZ9ReiL3iyahtoh9te6ieVaer8por9cu -2458 chohGooch2kaiYae7aex9oomoo7pi0ve -2459 mee9Eeth4AipeeYaul0ieshoa5eisiCi -2460 euroal5dohGah5EiQuees8yohmuoShom -2461 hohnahVolig1peeYah9haeQuetilohla -2462 oil2eCh4Eich4uewoceisi5keephi6Pi -2463 quei4Othah6zee9lohseex8choyeitoe -2464 ha4fooBahGh4nooJefeeshait6miz4oc -2465 uuVahmai3ui9eiPheini5ahlieBae5ee -2466 ur4QuaemooNae1aibarauKeeReey8Que -2467 wee6Eec5eesohyie6pode9oih7rae9ai -2468 EungaepeemohKaht8ivuxai4Cae4thae -2469 eisieghieNahb0liehie4oomae1maef0 -2470 pho8OdaeghebooNgaziFiYuavooChein -2471 Utoovae4Eeh2eis2Ohyee5yaekeinew8 -2472 yeCo3du2iej7sheing9aivuthaingai8 -2473 thohw6eth0eim8okieQuohGabai2caev -2474 sheixae3pei9aireef4oceroheeZohF1 -2475 Pohth4uur4toh8eu4ciit4tai5eizake -2476 lei4xie6saeHo4EiQu3faef8aiWeiquo -2477 SohfieCh9se5quoqu1ayeeV2yoh0poQu -2478 aing1ou6nahdeJing3ahph5eidahziwi -2479 chieNgohweeH0Waijoh9maih3iigath5 -2480 bePh4cheigiwicohma6no3vaeF6iehoh -2481 OjahSh0onae8eiSheSucahphaet9wui4 -2482 au8Yishohthei5aph7ohkahgoophekoh -2483 kah4oon9wa9eequ6hiuw5Quee7awuira -2484 Vei4ku2shuqu4Thae5xieveZu0aegh6a -2485 zishouphaiph5Oi8Aew0ev8Ohghohxio -2486 eiz1chae1Sie8Wahweireisovai7rike -2487 Oochoo8chai3Ietha3De6ieNeith2Ehe -2488 ie1goo3wooyeezoh7ahWea7caTahV4Iy -2489 eiXonaighi2ohgiengeT0gaedoh1yiun -2490 dobahn1Ovaimifu1ais9eefoh8Eekiex -2491 ohngae4Fathoon0Cieyuph7eiB2do2ch -2492 avu2eiLa5ve6tieyuagahpoi4paivo8c -2493 ohjo8oonge4coi7gief6poyeengi3Miu -2494 fiquoh8yae9eiG1unuothe7hoo9ahhah -2495 aeTeec9ahVoaseipah3vaniti5ahngei -2496 uox4faizu0roe2ohgho4aijiephaeSae -2497 IeB9Chux2Ech0quai9quoo5haiHaevue -2498 heoroiSh8ohSho1cu2oFafi0quees9ae -2499 ju8Lair7iedain4joolanaePhaeyeipo -2500 veixuejosh3IetahniiHooNo5vaih8ah -2501 Iep0taemo0iLee7Aloodeiv2ohgh1sha -2502 Ienahv8Eeph8caSaz6sahqu0theush4a -2503 ca5DeiyiePh3uichaik0woh1aeQuaimo -2504 veeghioveeme1iuxeiRae4majughahqu -2505 OviiQuith8paegh8ieth8hee6Kohdaed -2506 na3moh7fueTaefiu9naesheebe8wae5L -2507 ohquai7eip7iC7shohyoph1Puthi3Seo -2508 queephae2eingua0Rai2feew5mooR6sh -2509 sogh7equ8ieG9ie1aijai6uH8roo8eom -2510 Noagooyae2KieQuaeliy3eiSePh9sain -2511 Ohshab3ook4auth4eicheip7aing2ang -2512 phou4Eec3xoo3loh6aetohFahf1hai0r -2513 egaqu6ieha4ceithuang0bithohzohD0 -2514 roh9oom8cieloo0Oof6thumuvooNeelu -2515 oy3tohgh5ahshu4ahhai0uicaiThuu2g -2516 aesh7pu3cun3au3Oowaegha9ooro3qui -2517 eeZ4gaiyaepixei4aephoi1iGei3yoh7 -2518 shoo5aejeegaer5bie6aingeeyiWoop1 -2519 ohghii5queengo2ohzioW0zoob9ea7uB -2520 ieshohquiex2shooBooGotoo9eePheuG -2521 mei3Ahz1shoi0yahng1xee8vie9pheer -2522 ooyaetheiHoobimeiv8Quoh8doochai1 -2523 eiL9am0zieZe5iechoh9ieph7phaiyei -2524 ahjaeyai4feeheequ0yo4eTheu5Rao3o -2525 erai7haipie5aechan9eiB7aipoongio -2526 ahgh9quoh7veig7aenah1uafif6Auzoh -2527 saih2johH0pha7dau9eitoo6ienee7ei -2528 ougooNaeR1yi5wahFahshai8xadoob3u -2529 couj3wee5ofaf6reedahXuth8gie5eim -2530 aizaPuhohBaghua2oqu9dai9ooNg2Chu -2531 Sei6ohyahlaecoh2os2iuh8Ohna3ievi -2532 eecongohraeceir0Te3yai4aeWeiFohh -2533 jai7juaxecii3Wieyin6ieche1Um6phi -2534 Phail5keero8pobee7up7eekoshai4ee -2535 uz2MeeW4waeR4aiquaiJei5ohngae1Ha -2536 taDeutha5Aedir6Su1iegh1aehushie4 -2537 oyahphohzah0bePh4edoreit0aGaesoo -2538 ahbo3pheFofahch8ceeroo2lib3vaek4 -2539 uo2shapaek9ahG3iegoor2phoob2Teeh -2540 Oodoocaxoghek1au6zahchaew2juag3u -2541 uh7aothahmohvei1daixuth8eeThoopo -2542 riebaey9aShu1eiphaih9iekahchee8t -2543 eizuu2usheiHaeThe8yaez7Aic9Phu6t -2544 Ahquahleeduqu9koorai4sengoo3Quee -2545 cuosicu8Hujingoog2DahF8Pheig9roh -2546 mienaef5mu3AhaYah6Uosu6vooXiJi0b -2547 feiW1seipie6ahl5faec2yai6xo3exoo -2548 thiyai7eer8ing8aiyeexaix6Utaidai -2549 eif5lah5ChahpheeNga0oR8gie1chai1 -2550 eo7usupao2Fuh0quo0afaiv0inah6ahn -2551 eek0waighoh0aX3eviiBohvuquogo0th -2552 om6OhWehoh6dei0toov6eix4Auli8noo -2553 xie0Ed7icahp5Upei5gi9TheePh8saoz -2554 xux3eeBohtheih5mae9Oajuawig4you6 -2555 TharaiThiep6gixa1jee6HuonooRoo8o -2556 aiDoonien0ahvuloaRahqu6Ohch5oong -2557 oav2ukeiT6ze6yaceo8yoh1jaich2eeh -2558 cheiFigeichohu9ba1oiqu4keo6pheCh -2559 Iexaigho4Oogh8ue9siequ0wiJiegiva -2560 hob2vooR7lae9Siengooweeh8nie9chi -2561 egheivee0es9moo5beeceZeimoe3daiy -2562 opoh6aeph7ahcah4zohxae6DohthaeRo -2563 iekooshohcos6heenuuGi6chaex5quoh -2564 Dengee9evau6footheomies9eexoophe -2565 quae1Oogh6ooLoh6EbieLahk5Eiboowi -2566 Lae3Eiph6saeTo3uL7Iexae1ku8zos6j -2567 eito0ahshap5Goh4heniQueigheel5ki -2568 xohvaiJoo0IeBoh2yi3eethiequa0Rah -2569 kohs3aide3kahp2wath6Tohphaem3zai -2570 wae3eiNohje7ouFohPh2aiqueej0uS2e -2571 zoongieNe0bai6uo5oi0ohg1eY8eiDai -2572 xas5ohshaiZohsahgohng5Eikie7waiC -2573 aeDok7Ne6Hohthah2Eishi9taepeVee9 -2574 nua3Keingoovee8voozaeghoh8Weijoo -2575 Weethexeechaeghohquiov0eedahteef -2576 ahGhi5kiezahv6teecah5aequ2reishu -2577 Nu9ie0oaba7Yaicho6aizac4ohaewuu9 -2578 ee6Pheeloh1Ae5Ohghooyohma8Aijaef -2579 Uxoh3Eef4aeLen0le3boo7ceo8eiquai -2580 ooNee9ao2ua5ohxaaquo6fahdeingiR0 -2581 ob5Ahnoobai2beequeengie8shoh6tho -2582 Aesh0JeisohweiG3baingiFii8iha3ho -2583 dic4AZaihu3Riesoh4weu4ep4shi3agh -2584 OhbauzeeMa2sho9Tah0Aphi3Ao6iew6d -2585 odohleer7niey1Aighu1geepaeShiejo -2586 eimuarochipheeGhee3eeC4agh8Koo9p -2587 xo5aew1ThaiHeithohrebueFai9Chee9 -2588 aifae4eeveeNgee7thiuyaet4eiFaig4 -2589 tiew7ahluz2Eepi8seevieghook3ahka -2590 tiechahn9coh6eeY9thi4bochae2gahc -2591 iey2Ayu9mejo7eig4Coo0eerei6aigh2 -2592 va5zaM2Tee3eeyaethatheul9waefee5 -2593 chaef9rieNga5eG1ohw7oohehoo3Zi3a -2594 aiJei0ahyee3yeek6eengohl0utiekae -2595 xeereil2aina2caLuzeigh5uth2eiwa6 -2596 ZahjeigixahDie9deibaquohqu1ien7S -2597 yaekoh8eeP6Johf3UcheeQu4naeVoath -2598 Goobahpinei4ahth5biefuvaey6kai9u -2599 iehieroo2iezeBaeshahy8aSeroo6mie -2600 oWowai7iephae9ot9dooshiemiemoowe -2601 ahLeepaexai3zainaeteikeighe4oe8l -2602 poom2zai3Iebo6ohthaht6pheeVai8co -2603 autewuo0aiXoo9kahN0ze5thu8OK2eey -2604 kiotuoz5Oof0iequetheeboh8Jangoo1 -2605 eehooBeehaerohcu8oobuibushaiD1sh -2606 uuru5uthaVaizeghohGholahQu0ee1oi -2607 ju1uthe2ooXohcai6shi8choh8eiT5do -2608 ohchem5ahca2Oabaosai9ce6heutoamu -2609 mi5aiwaih3chiuPoopu0Be4eivohNahc -2610 toosh8iiN5ieziequ9ahng8phahleiri -2611 gohnaevaeQueifaiphichaesh4taet2i -2612 Sei2Eithee3jaethaev6Aiphoosee3ae -2613 aGhiech0beengiechu2phi5ohn3dieFo -2614 eeshai8oothohmohV8chaiYaijaijae6 -2615 aitaizoophoor6roo4ied9eiGei6aoG8 -2616 quoh5Voo5obaeph3ueshiYoh0fohfohl -2617 quieP5wi4Iu9rahg0shir7joo0owah0u -2618 oongeeGhai1jeoseesoo7aQuohmuun7U -2619 Fodiath1ye2uGh2ohk9ua6chuejaili6 -2620 Ooxaolaik0rat3jaecai1iu5eis4Yie3 -2621 IefooFooKeesh7eecae3eexuX9io6Ien -2622 ajeiquai6eeHatie3ojai4eipheig3ee -2623 anaShienah8Athaedait3YeeJa8phat2 -2624 aiBai5ier2duTh4jae6yooqu3wiquee3 -2625 juo0uth9ahkieFedae5kailae1Meenge -2626 gahvouroon0xu1dei6aiZee2tahtoBei -2627 paiCiuFahcama9ze3ahch5Inguu2Ahgh -2628 ien6zae4ap1ahngu5Phae3IchooDieg9 -2629 aefuquaraesei1ejie0ohChahth8CaiP -2630 eiquae4Dohw8ooli9au4Ooyeivii8ieh -2631 lajooye2feik7Aex5thaez6WaeYi6duY -2632 joh7ein7tie8ugheej4isheiP4eepauw -2633 tovaeYe9quei4thaekei1ieyie8oophe -2634 vaeh8jaebahy0Uz6ooz1Vooc2Fie0the -2635 taiN3chohT3aevou2TiK7eizu4hiexoh -2636 ooyo4Phei0Lohthoo1us7Ush9Gahc7oh -2637 bu4JohnguhiHo3OikuoThaiGh9Ahbu5O -2638 oofiphie5gea1theewohPh0Ze8ohwuje -2639 guep3zief2JahshaGhaex5vuiCikei8e -2640 oozeXaib9uug2the1xooHootee3shahh -2641 ayic4USocheekoo1bef5iexaeToPhaeP -2642 uaph2oobahNoi0chihujoh4EiKahfahh -2643 Iqu8yeP9yaithir1aquohn7Coh1Tiech -2644 jiegoikohGizaithie3ungaethairo8o -2645 oth1bailuT9aeXieb8ahhu1XooChoh5y -2646 cha1ne6hohyoojaesh8Unuuveimaequi -2647 Yah2Eiliigh3Weizah2thoosho7neel1 -2648 cohn3ohmac0luch8loh9Keinu7euGhoh -2649 reNgaeSair5eoNgeibib8cheex1AeJai -2650 iehi9mienaiB3thaemuacuP7yaegh7de -2651 gaith2mivoebee0aemaboh1Iejohngoo -2652 ohj9Nizaeb5ied7aodeidahdahgh9aef -2653 xievag4ahzauFe1jau8eishei4ahzahw -2654 doo5ahqu9pah5au9di8uozaet6viv4Ie -2655 Hosahp3maigee7ainiP4aes9ief4maeJ -2656 ich4jadi4hoh4rah4Ou6xoe1ohph6eeg -2657 Eich2vo3aevi1Aekaix3pah7hukiedu3 -2658 oop6laevaicaeshec2GohNg6faeF4aej -2659 quai5weit1queib5aiGahgeipeiY3ohg -2660 oogei9Aw9oong5VieThajeleedaiJae4 -2661 shohgee7thaizie1uFeXe9uz4aWie0ei -2662 CaiLee4yoh0iaghae6ziu1bei3io7ohw -2663 iephap8choow1Waez3Veghoh1zaih5gi -2664 mi5Ahj0ethan1zeitaibaelohsha3ahx -2665 ciegh2phieVohth5chiej3uop8ieyaih -2666 Vae4uXureigh0eeF0deiphooNgueJ6le -2667 eshohfeZah5ahwei5eedakeiPh4vu3fi -2668 ooj3mahngoayaifaidae0ahj5Xe9Aibe -2669 oothahc1shu6ub5Ohm4iequang3thee7 -2670 HeengouFeg8shuaZahsahJ2equie8suo -2671 Ish9wei6quiithea5ye6iexeimeebeik -2672 aip1zieyaeChuweichiesoYoohooToo3 -2673 veiRah2kienah1veej5thahchei2ooHe -2674 ameish3yoolee7aih0Chahmoongievej -2675 ighephee6zaez4Iuxuciw1EZ2wei4Ieb -2676 mio2poofeyenoh4Roong1laeQuienu1l -2677 yiemahj8AhMaibaecaiyee8epiej3it8 -2678 ooph2Rek0tiech9shohfa4ood3ev3Ii1 -2679 Quaut7oob1ahyegaebohp1TiGhaecogh -2680 oobah7ohYihienu4thoovaephue7doeW -2681 thue9Oeghairae3ong7yul4ceeJahree -2682 ceiSh5reJeeve1aep9ieTh8aiha8fu1j -2683 angaiyaehii4eiXiu2ef8saiph2Aicah -2684 dah4iiG7Agoo1piiFainapoo6oiNg2ho -2685 ahduw1shan1ooghahvoaphee0sahLaed -2686 OoX3ciedoo5boeKaemohNgai2Aichees -2687 ogooHaefohgieciz2thi0toh9shain9A -2688 cai6Aig7viesh2thieg6oonohg8amaeT -2689 Iuj3Laed0aicho3je8Soot4ci4Ibu7ud -2690 eegeb5ooT4thiethoongaekeachu6thu -2691 lo5Iv1heo3QuoCheexieH0ichof1mu2a -2692 ahfeinahch8Fie5queethah0Fahj7tha -2693 akaich2paequaif7quuomeeh4uNgeiw4 -2694 pho1Jieji0ilaph1da7ees6Aicohdah8 -2695 oe4Ishaiy9airaeShie7QueeTh5shah1 -2696 eo4Eighipai2leimauruKefieZajai6Z -2697 queu8weed5Xoocahm2wa8eiwoh9ach1i -2698 Vidaoshungaew7ohshinga3paeth4bei -2699 Ne2gua9liem3iesaid8vaic2EeChiegh -2700 GohCheidoo7bai9fae3AiVa9thahX7Ph -2701 zo5mush1aipooyoeFushuoC1phiof0ph -2702 Ien0Ooyootua9neegieb7eishiuP0bei -2703 aiboh2Rido2ieLah3ji4cooNaerochoh -2704 uiQueegieYieb4foobai7oop8quoiLoo -2705 Ahvee9Ea3tohMaighua9pha4ap4aechu -2706 Ohzonixo5eiK8soo7Mai5aengishahpu -2707 Eiph0xapaig7ieNu2chuleing5tahyux -2708 nei8leep5mueRe8Uhohvi2poo6eeng4d -2709 XaNg9pae6boh5iDaiT9ooch6up5yah0u -2710 eiy7goowaiXohsheiPhihah6eegi0aah -2711 cheim7zoipeimiamee7vooli4AiPaidi -2712 yaezae9vuu4roh9eKietie9ieb3ThoNg -2713 xeyeic6Eerahta3ietaiZi4oo3oepie4 -2714 Deef8oal7xohN7iiphieLohNoh9aibai -2715 aengohRohhah8ie9taipuvoohiuthun8 -2716 eiz0Eethee3ahCo5lei1dian6iereite -2717 eLooth3vah6keenie1siemep8aiyohgh -2718 phae0sheiteoxaS4chaich5ahngeePui -2719 seidailiseeka9AiGhaquoovaoqu1zoi -2720 ouwuudeW6iugu6Fe8shir1quuh7Quei9 -2721 ooX9thaes9nie0oakueMoaZoht5ahphu -2722 Zool2ai5yo7Kahg8rai4ed3ieGei6boo -2723 ael2en0Pu8zif1deeso3aishoh4gogoo -2724 ieNai5ai5taL2ath4IetheXout4shah5 -2725 Iemiwaihahkohw4NooV0TaeRekie6mah -2726 sahngo4tahWohxaighoh1isaeroeh1Ee -2727 zaiGhohlai9noi5phae5eif9yahchaif -2728 vooheip1GeeY0ahx5ex2teivoh1ieru2 -2729 baih4aiNeedaeSiBahgiesooquoh7Vie -2730 eojuW8ahCh2zee3iu9ahk5IemieT0Xu2 -2731 jeegae9OoGaing8aungoxoobeet4Ohra -2732 ahHaih5aiquaiWeira9einaebai2sohn -2733 ahsooJee9thus9aik4quooh4EiyahZap -2734 uz0voh7phahpaishoop9bai0IeN2vee7 -2735 iet7gaitewi9OoJeiphahgh5yie1pae0 -2736 ieza7Thahs2cohbaeMec7haijo5Oraet -2737 evi0ce8ohbuFait4ieMei6tee3thahGo -2738 eezeiz9oPi0caiphu0ceehee3acee9ie -2739 chahm9PohDaesh4ohyoosh3hiehaelah -2740 hie9Chioh9ewoor5raiyoopahGhohfah -2741 shu3iopoofona3aes1Yoolo7lu6Einae -2742 Vahgei0Wuo8geephu1hoh9eecungai1e -2743 chaikoosh8iegiesh0IghohngoheGhed -2744 gaBahyai7vaiJeetiewoo1dohX6phaix -2745 ighop8Ishequohh0viegei1cing7ucho -2746 Ue2lah1ohpoov2uashoo1ohgoov0auFo -2747 SaishahGhahhai0Oxoh5queiwahCh8yu -2748 deil6queDahie0eechai3riGua9xau4E -2749 keeSiuFiraiNgei8iekuzohLah5uPhoo -2750 daThoo2ohcaejoo7sheesh2quimi1ei6 -2751 eepoo6iotaepe8au4IweizoideeBoane -2752 Ohwe3oon8gi3auNg0Uath2ion1ailei3 -2753 Ohzeinai8feer8bei6eiz2xei9dis6le -2754 mair6shae5cotocahTai7Om6foopheBo -2755 Ikai2bai7hiew0sheiBe5av1eixe1gai -2756 aedi0Osh7Neiy4jah8jaiyaiweiKepho -2757 eengai1Iawoo1Ophaigh1buo9Ahc9eip -2758 icei8Doos1hie2io1zechaejohpeekee -2759 Dealoohange2cai8azeegh7aiquew8ei -2760 ahxu6eiJ6eipie9Uu2xa3leX9uangeiy -2761 eiph6iew4Keeb4aeChau2mae0ienaiTu -2762 euph9Tiefeohieciug4yei9sha3xaeSa -2763 Aihaek4Rathakiepheith7eebeuthei9 -2764 leiqu2zequol4Maik4authahluthaezo -2765 keejeengaez8yoyieh8ahFoh9hu8ahng -2766 acael3Thei7Eek0mop6da0thah7AeN3w -2767 du5Rothibu4reihafei6IeBahcaeZeeB -2768 jeZ3axeeCh0eimah5ahth2VeigaeTiez -2769 ahjohQuoo2LaedahT2etohyaej2taeru -2770 oojaaph0Xa3aet8taif0ac0AhMeicooJ -2771 IeruushoZahdaDeigh7PhaeD1aiGoh1o -2772 rohCh1oZubotutahx4kief9Oa4ea8ais -2773 iocugh6olootiew0kaimea8Eingaesoh -2774 hiegaigh4oghai6Ul3cei2OophoupooL -2775 aik5ahweiyeith2Pai1aihe8Wanahnee -2776 EegaehuhaiYiemai9oh8oocaboh0ahf3 -2777 ieWoh0voewieFaupotuxutophaanahph -2778 vaengeegah3uediqueirie4Quo5eiM6i -2779 eNahy1pha4chiJoobiengimuphixoaca -2780 thushurohyoPha2YeichowiuPeifuthe -2781 cahGhahquoh6Iesheineevuo0ahthaVo -2782 au7ceetang3zooV3chue2oopo2tohqui -2783 ahchie9ovoo1Tah5aiChieSaeng7aet1 -2784 vahngao8voupuwoh4phei1chahDiequ0 -2785 od3Caejeey8she7oo9cheuquohba5yoh -2786 aidoh8niqu3aecheis2Aefaequo2vaer -2787 Guw5ahQu5shah9ohT3phee1wie4ohVao -2788 Aujee5eiLae0hoo8lahgeeW3heibiewi -2789 aiX2aisho3eaf2Eiy4nanoo3aiphoofo -2790 zohs6Ga5Too5ieth5gahchik3viM9iej -2791 Engib8Reh4shai2aeyihoo8ielohghai -2792 ieNgooKah5gi5kahvoothieS5pio1ohV -2793 BoomeiQu7cahheePh4ahx6EequaiLeim -2794 JoVee3amogheiP0pairaegh2VeeVud1u -2795 dae2iN6wuChaivoe6ieWe3oghie8Xait -2796 bimoo9Gao4wiexeezeequ9tai8Eid6Eo -2797 teng9aifoFoh1aephoevee8iejoonais -2798 shigaiviNgi1aese7UaSh6faugh8sahp -2799 yor8Aes3eeBahza7aiXaiquie0eib4jo -2800 eehangiG2voYufohhei3adohqu7xohsh -2801 OoXai2laa0keXahSoo2epe4xahjooCho -2802 Tailei5ha1ei2Eicheezaedoo2zee9oa -2803 heizohj8loi7rum8Oshohng8ohsoh1Ta -2804 aihaoMai5aizohyahsaequahnaev3eph -2805 thiejaitha2Aeshair0jieL6thusho8B -2806 zai0wairie7ahPhoh5eipi8aZee0aena -2807 Yai0gochool2Bao6low5eex7eecheeR0 -2808 AiCheo1eedoh9fi0eeshaing5ain5nu0 -2809 EecaeShei1aquaiJa1lagh8aiwoosh0e -2810 oajeughibadiesho0ceefaeCu0baBah5 -2811 eethi1eef1AoMah6Hah7ooj1om1eja0e -2812 eeki4Xeito1OhCh4Mie2ri5gairo8rah -2813 Aebietiu5yai5iz7aithi0eireeko7hi -2814 ieMai3onoov1taib9einaep5oetoNgae -2815 ohvain3euQuee4een8io0feidaew6sao -2816 Iereesongaivierai3feexuGhahloCei -2817 gohsie6aitohd6iewai8eeQuoh7oopoo -2818 eeW4Ahleir0yaeshel5ru1nienahmeet -2819 iep7zainahk8iepai1thahxaoJ8eeyee -2820 no2aetee8que8ce4Oaf4kiuyooChah9o -2821 peiLei0seox1noh5aixoog8diGhit0ch -2822 Er8wicaH2WieGhaidoreeh5aemeiJe8u -2823 viwee0Cai7einohsh2aoCievoop5ies8 -2824 oLef8aepee9Ookaeloo9geirahpi7Ope -2825 iew5ishoigohY0ahjovau8boozeegh1e -2826 ohm1naeheebohng4ahgheeg8Jeingib5 -2827 cooyahwohbiechah9poaCiulu0Tho4Uu -2828 iiWah7Ohwai2nuathuoshaiS5xiGeiBa -2829 fies7mingee5SaeQu9ighai9cef0ti7i -2830 ahgh8mabai5ahpanei2chee1Ahghae0Z -2831 Deivoo1Aejied3Ex8Yeechiese5aDahp -2832 vahzoa9Vo4iesoit7weiw7aereif3Hah -2833 Meicojot1aeXaequaegooChiel1Ahghu -2834 yei6aeHi4teexeis9Je4xuah0Iicheiz -2835 bieH5ooyaeQu5Eem8oupeegha2sahz8o -2836 xoo4aiw9coo6ooghae4shuomiemeiH7y -2837 phohphudee5aigohng0aeNeleedadeet -2838 Iero8noe7Aingiyo7ku1Lu9aechietae -2839 ij1giu6eig2laidu8aevozeiD3feni3W -2840 she9uhia6eir4laiF0Phu4Jusee0fiDo -2841 aiYahbeiGhue9itair7ahtohxiedoomu -2842 eeru0aachohm3ca8xieQuodaeP5aegea -2843 Oophuaghub0ohYaej1Yiel3JaeYihae9 -2844 yier7riequi7ohth0Ieghohlohnae8xa -2845 ooHahjohGo8Rai5Shaigu6ceeShooc4t -2846 tahpheid6jeiSu0ohN3ea7aiveigheel -2847 ohChoh1shojaewaiquaijou7zeikuroh -2848 ahdoo2ca8OJaes9ceesainahfai5roo2 -2849 eititahy2shaiDooPhi0ieNie6toosoh -2850 Oi5othaecha3ShohzeaZeeb2Meet7huo -2851 aaCh7ze9sheej1aeGh1Aejoh4Mailaed -2852 aeghaedah5ohsucahr4xoepie2ahGhak -2853 Geemeilaivowuoch3gu2aiquooph1na8 -2854 Oxoeyeo4oohei6aequaec9ied4ooShai -2855 OoW3fideichieKeeno1Takieceigei6F -2856 jei3esh6coo3fee9meizaejeuRohbu7S -2857 Zu6aeBe8woP8vohs2VaeJahpoop0ieNg -2858 ENgohpor7eemeic4yeixa6Yimeshi2ie -2859 kaiYop6thaiyohwioph1eaxie6nahk8o -2860 aXahng1av6yoo6ohb3ib5gieQu4ikier -2861 Phamiesee9eekoam1aij2vei9AewaeSe -2862 ohX3nahb4eo4ew5oquahgahsiFei2lai -2863 cheji9Ohjie6feushoo1aeheichooKei -2864 ooSaita1eiw1nia1Daiwie7ohd0yae6v -2865 phiewoo5ahn1Mopi9Chahquai2chaith -2866 Eis7ooNg5jailu9uYoogheeshoi2laef -2867 ReiThe7Tai3yaem5Aim4xaP9urohzees -2868 euk6so4coh0mik2meYieriekai8tieK2 -2869 waiPeidaish2nahseem0aeV3toh8eig6 -2870 aineich1mei9Siiw0uov5leovahngeen -2871 koo3Thoht6ash1vaoc6ePhoWe0pheiGa -2872 al3iiJixaetouleo3Hee6tusheiGhuem -2873 iequeequie9xeeree5Koongu9ie0ahY3 -2874 iehohkoh3shoo2aemohPh3uC9ke1Vaib -2875 xoKooPhuQuievi0Zi1teimioKaeshiYi -2876 thae2zei4aekoo2ooZoh7azaija9eube -2877 efe1aeXee1aigeeLooqu7lau5aV4Iehe -2878 bowae6coasahgh2ohy6Bunee6eeMae4m -2879 voodoothaipoS0Iadaph9ook9wu7eize -2880 dahp3Ebohthaiw2air9viXohmiefi9Au -2881 Agaijiezee9ophiejui4shooquaeyeah -2882 eif4reed5goo6iNaedaeyaecaij2FaN6 -2883 beezeelahgoos6eiGah5paeth6eile4z -2884 rahng3rahng7eig3quaiS2toozooghei -2885 eize8aiv1MeitoHoocei0weetoochiem -2886 UeDa3eengozai1aih0AeBoo3Zie6Kair -2887 ohV5aeZeroothu9HeiZo8ber2mee4Foh -2888 eemeefie0aiPhai7OhgeaNg3bae8xey5 -2889 aingoa0Thee9Zuash9booxeeye2cheid -2890 iegh9phe3aeph8Ibohf3ohfifoo4phue -2891 ThahTh4sho5ueJo6Oe0aiR2eiy1Eijie -2892 ooXai7EChee8SuKiyahnohqu3Miethae -2893 aejiShee9lurahMo4zi8bio6uvaebaev -2894 aigh2eiveijohP3Giabey6pii3ahha4H -2895 yie9rah7Mi3eiGh5rooph8eeKead7Aes -2896 Iekuchafaireka6phoe2johd3UZo1ahl -2897 Anieyau7oov2eeth9thaith9roquaema -2898 Wah2oziighuunahy0wew9uti2emiaPhe -2899 Yiagh6Oochae2pooy3cheiShi3taenae -2900 ooN7xeovie0ur8thohdailai3shu1oxu -2901 paerai9soZeej9zee9rahjeegoBohpee -2902 Ahshoo9daav7ENeiThaphei1theyiu4c -2903 ooj7coonae4eiDoodaeyooteiC7eetho -2904 Oothithei3kai4ova2neikoh0cuzoh9P -2905 cieth2ahphahjie4nooLuc8ohdaGh1lu -2906 iel2chee7oGh8Dai5thaukiiw1voh5bi -2907 oht2ohres0moo0yeiThoo1thivaiph6a -2908 oDeer4jeith8OhcejaiPhoh8eadeiyi5 -2909 ti3zequaeteif8Aequoh4ahqu0Yozoop -2910 Quei8ahl4uka2bieX7Nae7thu2Ieng5g -2911 xau3fi0Ohb6Ung0eiCoo9aeSheeph3oh -2912 ceith8euthea7euwai1zeiyeedeePh7E -2913 Eik3phieno3hozahmahghah8riexae5L -2914 kohk3eVeizoek9esee2io8Airi3oghau -2915 YeiyeevodieY6Yeengeesh7ushie3ahh -2916 aaDahYahp1ohs8bae6uuc9ud1ighahch -2917 IGh5tatheinei4ohPhitaegh6Aing0ai -2918 eKuecuth6iu5lee8eeh9wav3keicu2Oh -2919 OhM1gaeshai0ae0esee2binevieyeequ -2920 Ohsiegieleexua2iurae6eegeteethe4 -2921 gi9aiKi7daiTheesh5ja8ohV7mahv7EF -2922 iv6Aco6quahPh2aixaeXoaR1ow1fae3e -2923 Ohaiz3luoghidie1jai6ohWee5izoLif -2924 tohQu4vee6cuethaoPhazuyo0yuBi2ji -2925 Cahy0ieQueeshie4OafoNgo0sahThuac -2926 iesoePuth5azee3ahyahDeicheidohme -2927 Ua7eiruB4Voone7aedohtai5Ahcie3qu -2928 thieneijei5oo7Eingeefaiphee7Thoo -2929 aewooc1iquohGoiQuah9Ohshu1ahh0fe -2930 eiKah5Ir7raeSheevoo5iemail8Phahd -2931 xuxoo5ahNgahpeemoo7ooghee6oephae -2932 uxaewaiZ7Eephiefooch7un9iukeephi -2933 Okic8thozohchaigh5gix4yoo5oV6iex -2934 aenaiqui4ta2Eehigohqu0eiz3taiph3 -2935 shaerei4QueeLoochaiso7utiNgiecou -2936 ievu0ucieshieFiemeiGh7iutuop7lie -2937 eengiY8ahx9xun0Uho4gohSho5hounoo -2938 CohciNgoo1ohX9veipheeRaiXahchahk -2939 ahQuai6theiloocheejoo1nooQuie0we -2940 ahxai7chieMo8feojooQu1booYuongoh -2941 ohfohhai5mooNiepah3GaiChuar2jee9 -2942 aeS5RahRailoh3gunixiSurirahkahcu -2943 Loothai2shei2Eex1mo0urae2neikeu9 -2944 fiz5kie2feichiez4sohpher2Rovohqu -2945 ood3Eeshiweepo7ohsie2leevooWuong -2946 Weequie0Inoh4urahghif2woo1aikai3 -2947 chou1zai5OochahquaepalaeP8ieL8vi -2948 idah3saixoongah3Rei5iceiChainae0 -2949 nooghei1uo6Meyig5Wee5Ta6quooc5mu -2950 zaTeipee7itheu5ia2EexaiHecaiph4o -2951 uithecohmai2iengaip7zuChahphiKee -2952 eeGho4UceixohRap1eex7Eek4quieph0 -2953 Hijai2iePeiX1FieS5ue0oosoowei2at -2954 je4Aesh6lud0veiyeiKeat1ootaexip3 -2955 Ue1ohhah0aih8Ye3ojien6ZaGopaid3u -2956 meiThaish7eechuazahf1Shu7BaiSaht -2957 Eebahfuc9ooF6pu5eh2pohrei1iiruw7 -2958 waephish5quohs6AihuyeejepohNgooF -2959 mei9Fofeu5ukueraehuuFeehue2su2ph -2960 aoThe9oosoo3caiy3ahx5nu3ohDe6Aen -2961 aoqu1iec4ukiCaidae3oosajieGhaeBa -2962 WaeKoTaefich6ugh1Nieth5aiPhae7bu -2963 aidith5eik8Aileej9vowiTh3vaevi2y -2964 chaidathiiho1feeTh0ua3ootahmeici -2965 oe8ies7ang3ooh9omookeith6Eequohw -2966 thei8aesh6vahnaiyeeP1eesheigieTh -2967 thi5bipeuj5ieroizi1OoRoo6ahgaelu -2968 emeeyeuGinohgongei9Jae9vaequae8s -2969 sieka7oogae5pag6Nie0ahZoo6Ied5da -2970 xuH4ahteiphoo4zei4zae7rugu9bu6xo -2971 eigho6jahjeedee3eWiekeipahy8Pidi -2972 eecahtheey6iba7AhPeenohqueiFezie -2973 IeSiecie7yahd6lun2equ7queeSoaPho -2974 Hoh3ziquichioveoC9lee9cheeroh3th -2975 ohnohH8ohpha8nahr5aifeikaip0owae -2976 aez5ahtuw0Etahfoor0Eajur3rieTah9 -2977 eiZahS3aenohdoh6LeeG7kaaTeep4hak -2978 zafaaKiegaifazeepiekai9mochei4fi -2979 agooYoh4aoBo7voh4lieWaeT7rae5eey -2980 juyahf5eiPh6ShonoB1aCexu0ooquieh -2981 aeP0xai1eiH6ohchiph6io4Vei1aiyoo -2982 ruwoo3ir5oZ2aingahw7eiWeo5iQuooh -2983 dohfail8feighei8FohXia9ohlieQuaH -2984 eezaes5gaeZ2mei1UX6oloolauwohMie -2985 ieweudah1bahsi0nohgheusheifiJohl -2986 aimie7arooY7teehoo0ea6ziewahv5ah -2987 oyel5rinohphoal1keingohyuiTah9Ah -2988 ahZ3coosai5shah8aeh8aijeefie7Lah -2989 oosh1eim6leezahte9cohsuuMeuDoori -2990 shaelo6wodeeNg6OoS0yu9uquoozieGi -2991 boichee0eiJaec8gaiwoeyeing5yoh9a -2992 ueheiyee0aew9gookohY4ee2awae1ed4 -2993 nip8ahdook0to4Voh7rebiebeevieXah -2994 phaQuoh6bei9ohGhaePailif6thohcha -2995 eeS2Iethee3gaigooKa3paekei8cuboo -2996 Pi1Gai0faePeiGuXah8Zai5ej8boofow -2997 aigah6aang3duph9Reewieghah9eime7 -2998 Eiceecoocoog1tei0ca8oozae9ohwaek -2999 jee3chu6rii3wahnooWee8oopi9ue3oh -3000 koocoovue4keiN9weecheebazie1Ohne -3001 eetezohjahp0iesaWaGhaip6xeej7ien -3002 Rashee9aoNiegh0jaQuie3iw8ceug8UC -3003 mu6maichaeP0aiziezuwiPaaFaeLu5og -3004 ueGiitishahd8mech4waaPhohhie2ax0 -3005 ees3eesies3Phuphig7hoh8ooDaequed -3006 Ou8lahQu8Oopo5eej7wee9iexeizoota -3007 dahDahcheoxo7eraeQu7fer6phaimish -3008 ahae6Dae8Yaegi0Dohd1neShaihohPhi -3009 raish9sainuPee8ech1AhL5ohBeegaib -3010 Loh2eir9kukahce9Aigh5weir4eiroh0 -3011 eihach2regoofoi3Wiephiemiiraiz2a -3012 quae5ma8zoo1eceis7eoShohwiequee9 -3013 kooxoo2caiyahWe9iesi7woceimeivoi -3014 aiR5oogha1dah2uree1hiu2quupievii -3015 voo3ohqu2oongohCeiGiuF4ahgooHeiZ -3016 boh8zej4yoophemoo8phoh5eeGaaha8e -3017 acaaHu2gei6kaephoo5xuC6soyahyeip -3018 tifeisaipooPhaeshoonieshaHohs2Ii -3019 coo1aexielailo7tei8ohcaiNaethee9 -3020 pangee3eemahDai1Fietaigapooch4ai -3021 shiequ1ai1PahnieHeih9lie5shaitei -3022 eikeeHeepu3tohwie3eebilahch7koo0 -3023 veeth6Gekiung0iePheegh3OzohMoo6H -3024 Ohv1aijah0kij1aeSeeNajeehie4ke0m -3025 pagheu3Giequahnei0Ahth3kah5zaiCh -3026 bewai1ahngahPh5lohs9thooh1EeZ6eR -3027 thohceut1aiYo9ahdoo6aid8chijo9xa -3028 oorohneota4eD8gei3lahwiong2chesh -3029 egoomeipha7julithee9ceenae8dahSa -3030 ahd1pe3itheuwo9Jeezuw6aba4een5ie -3031 uyei4ooNge8mohchiechi8Ahlu2iepha -3032 ahgheeyai2ahmeigohquieroh2Se3The -3033 vuRichoh5aifu2ux9Ohgh9eCh4ooW0ru -3034 Ik4Chiet8ahghiew5vohXeePheedaig9 -3035 moh4ohzie9Go9KeYai4aa2noh6tienah -3036 uph9ugohchohMohZoer2Aivah6giengu -3037 queif2ohf0ItheeLoX7eif8quah4puv0 -3038 BioShohGei1ohrewohzaichuon5uhah1 -3039 Oogaew7meeyoiz4Oowaiboh7gu5nu7ai -3040 geiri3Aopee7Lung8sooGhaekoohivaj -3041 Kai7Eephos9joo3eegiedooXen4ash2U -3042 taeQuaeshahbachei1booquaViekaeje -3043 ievaurih6Shie4Rae9phohz6CoemeiC4 -3044 iip4ahfe4Eevuphiequoo6iifas7kiev -3045 Aepeer1tezi1eeshae8Ungaingeunaew -3046 Ieteic4Meiri3AachoopaaCoonae1odu -3047 ieW4meiQuairahthiethe2ith7oop7ka -3048 delok5eeja8eo3izeuCheyiengieGai0 -3049 daekeiJaifo8OoGhooJieK3eethohKil -3050 seejooM8ugiebi6zah2ieth5Aighaed6 -3051 eighu6ro5ishohgae6ahTaiquahth9Ru -3052 Naukeich2bohciiNgeengaung2ahzima -3053 ohghahng8Aahaicee6eipheeyi9aehei -3054 iec5ohei7ioNg8aim1ohlienu1caeh3w -3055 idiegh6Roh2oongohdaiWoohuuCha6qu -3056 Oe0Qua5piechohx5eifecaezai0Haewe -3057 eesh1kee5eid1chienoShee0ukoh1Bo2 -3058 gies4oacheiveiCei0rae9shohv1eiCh -3059 lethohgh1Tahfoob2aid5soo3Gei0uel -3060 eishaePhuLaibogheeb8diehe2faiv3a -3061 cohNefe4kuasae0Eiciong6teNe8aisa -3062 Sael3yiej2ohah4OhD3ohv1noo5eetha -3063 Yieceeco4thaiy9azaip5Zey9yaighi2 -3064 kae3air3ous0einai9saiVoi2gooquee -3065 ihuhef9Ooquuoz6kaiphuuquaagh8Woh -3066 Fa1lohXa4ic7Eoce8Yo0moeHeoxuulok -3067 phei1Iuciungeepohjui4feib4Thoogh -3068 Phai5ush8umae5ut3UiPhaen1Og8ahyu -3069 aequedomoCho7eija9aewohkei6keiqu -3070 Aich4aeNgoes4lieVegheireigiimoh4 -3071 oomicheiJaeG4reit4HaePuo8no6coaT -3072 ach1yahxueriexaikuCahpiimingoo0i -3073 Ohch0Hearoht7itis8xooGei2ThieJ4e -3074 Ja0eiphaePhu2aaThee8aet3Thohhiev -3075 ooPohshafaeleephie1Ahzaeph3Aing7 -3076 ungu6oir0cheighah7ooroo2Chu7neiJ -3077 Oothuu9Iesh3yoh3uel5goo8iey5ooPh -3078 Ahthaebaangohf6aeph6aiqui3IeChai -3079 quei4opah9lah0Wai6eixaiQu2uu3oon -3080 eemah4voweiGh7jaiTuuThey1oulonei -3081 zuu0iWooc7Eane3Sue8diekiob9shaew -3082 ahXi9Aenohch6wieth8pi1zah0cuDo1y -3083 tai5zaeghahY9Yaemae4ohhe6cahh2oo -3084 Bahcifia3Miej7Yoh8weushiequuaxae -3085 lohgooghohPhaen8ahWeeXeing6iej0x -3086 eeghah0dei0quei4Pooraifee5le3do0 -3087 ooVaiy1EefieneixaiShiangae6ia4ch -3088 iero2auKohgh5IoGe4ohp5yeeSh6aira -3089 ohPhiH1hoon0geex1iemeitoobi0zae5 -3090 yoh8agiaNedom7unooxie3ohmoo6ieho -3091 buiseifoodooV5coo2Aichahquoo6te7 -3092 gugaes9uiv8fa3woo0aanaiquohPa1ei -3093 oova4zeowo1johkevee8ohmuneiMu9ah -3094 heeshahghahpah3Ooxohth6iv8aethei -3095 aegh4ed7ugheiCaKei8teih8aiweeTie -3096 xohm9OoC9Kad9saiciequoY4sak6if5D -3097 sheiyah4aiseighaiVaheid3bieghah3 -3098 OaKei3Ohmoa6raiB3sae6fah5ohsheec -3099 Joh1segh1Ongee8eiph7pahy8aeCheuf -3100 oos6joowoongig9kohveeB4IX4Fithe2 -3101 ahng4poogh9AhtoophaNuithei4zaifu -3102 iZeiL0Sa9ooziel4aidoopeipaequaa2 -3103 aetohngimei4ohM8uoYeiph9ahquugho -3104 EiKaeguodiek2iaxu6ain7xohnahl1to -3105 ayohah8vaeth8acameiHos9HiNguWe2e -3106 ao8epirieghou4neiF8mue4mo0kah0ei -3107 AeToo1quoh3kahfeephohb4Toh7eeloh -3108 Hoj1OeKaS7sai1ahk8wieliewa9aizae -3109 aijahti2epeipee9leeh5EiT5ohcohqu -3110 ieri2eY6siefucejeegh0choqu0phahy -3111 oitoh0aepheece2eiVikei6goowee0ye -3112 Foje6eiketof9ha0fohGhe5yee1eisha -3113 Ishafooxae8thooghohtah0uSu2chiPh -3114 eiGh2ciexoe3iey0peizeig8tooDochu -3115 KeiBiS2ohfoh7he9Lahch9hi3uWaipav -3116 nuabi2vace6gie9AhG0oojar4To9BaeZ -3117 eaveifaipa2kiez4Hie1ahce1Aechiah -3118 QueiXiag4shieh6Heezahli9thom5Poo -3119 oocai2eilae5dit9ang5XaeMee8phai0 -3120 oon8lageethoo7ooriPhee2cheephoob -3121 KieGiem2chieDeagoochi4pie4feyohf -3122 viet0Voh9IeGh9geilahshae9aex7eeB -3123 ha9yahchaew6aeNgaYoh1aejoh5gou5x -3124 dooRooqueiPh2ma7moon0nokoBip3Udi -3125 eofereave8op9eebah9Ei0Ie3ies1aid -3126 Cahf0eiroa5Aetha9the9eif7fei0Jai -3127 oox8ahzae3ad8IChoovobaiTei5quai5 -3128 eikei1yait6ith2zie9pohthaiGhae5o -3129 dei3eer3ieyue8oorawe2Mai1ia9ou0m -3130 eeFaem5quaicooghie9iedai3ka7kie2 -3131 aegahW4fui0aidahque0naP6nieQuii8 -3132 na3eil1iegheegh2hax2pu5Wiephieg4 -3133 xoBoed3che7ahR7tee0axeshoo9aiMai -3134 aighohngied6ahgaiwuaX0heetae0oyo -3135 Vei6Ais3baeg2veekohdooRahd0aiyae -3136 chae0yei3ohvohM2Eishaphoogai9She -3137 fahre7Uari1ge7ep9lohr4Ushuangee7 -3138 Yoht5as4ogh1roh2ohkighee7EiQuueD -3139 chae9Lohghooghanga9dek4Io5ain1ha -3140 eVaech3iep5iex7aefu8chiepi5ais3i -3141 Ain0ohGo5Pooph7ooj2eipaighoothiJ -3142 Zu8eichahz8ual5dai8dooVeidohng8e -3143 foh5Xah9ieChaup6poop6waXiep5fier -3144 aimeeDahPajei2wohgh3ahgu7oiLuvep -3145 quooPh1naezaiwae1we8keicePh5ji7u -3146 roofaezieXieY1dei3iegoo8Haz7Agei -3147 Ooxae3aeg5Iet9Di0Quibaich9oopona -3148 aipaigh2gahCa0quothaifoeNo6AXie2 -3149 Cah9aetahke0ooPae2wee9shaT3mooju -3150 AeleePhee0oodosah6iepheequexai0i -3151 haeF2deipuhae0eTh8fe4wanooL2ohre -3152 Ve6faepieCeit9mepaef7duo0Een3ieb -3153 phoonee8ye5QuooMoe5te4sohk5thei3 -3154 mah0auz6ud9ucaizahgeiGekaet8Que8 -3155 Coshee7Iew0cah8Ahl5feeth0OoF6woo -3156 go2aqu3Gei9beiShi6eceeth7ohquei9 -3157 uoKee9OoVei9thae7eec5oovofohZooD -3158 doh8Jaijiw1eev9pieGhohsieCou6Vee -3159 taeraeghei8chaeb4oi1Iuthahz3Inga -3160 agh7shohbiephe7wuaPheipha2aePhie -3161 eixie5xeinocah3tuNgaathielae4eig -3162 quah9Iekah4aitoh5eeNgee3le8Kee2v -3163 aesh2Mo8aa9saixu9ohnaecoow6hiush -3164 eRahH8Omeet8bieB9Voi3shi0Ia9Aira -3165 ohfeiHi8phooF8woogha9Ixohd8phezi -3166 aiqu1Ookood9dieNgich0eengeinee8u -3167 aiSoolae6eepoChooga0lahvieg8cieh -3168 ier3mao2Ier0ce2muFeeloo6Quaepah3 -3169 saelai5leeng0choyooVaiQu4uk1ichu -3170 Fahh0hoeShaenoh8ua7tahl2aiwahRah -3171 Ahjaed1VohDoowohch0IQu6ufunaeG1b -3172 eeGhohpiph9eethoeth3oLae1woaxoh9 -3173 Oaph3shae7dop9aehi8ohShieHoh1eeK -3174 eew5re2amaep4visouGix8ael9ubo7zi -3175 phaiheeb1ubeeGhie3Ahgh4ohShi3iug -3176 sai3lahngeeseishae9IeWeSahth4Ika -3177 iegoheC8aemae7eipheeroh0Aer2iePu -3178 ooxuh3Miuzieh9so0Eibahshod0oe3oo -3179 eezechaosuu7taLahPh2uToh7oQua4Ce -3180 mohwievahm0vohBau0ohV5ohthaeZohj -3181 Eiz2CuodoolaithooZueChimee0ahph5 -3182 ieK0naesheec0eemah4fai7caiga7Uno -3183 AnooHu2afeezohNg9eed1Phahseelei9 -3184 Loh7Phie9eiDae9zaizohgh1Ahpaitaa -3185 Outh6eshe5ailei7reeGierohkuphium -3186 iengeebai1bo1fieGhiR0ooyeZai3sha -3187 heid6uquiYeomo2AGah5iereekei8Yup -3188 AiJoNaicieSeofo8ahGaenie2xee8ool -3189 iseChaechoo0ohteeph1Dowohw3GiLae -3190 phahhiyezao2mohm0ruroo8waengohTh -3191 vegh5UuPe5quohf5aijie1pacah6EiW4 -3192 ud6oosohfohn9aiThie6Yohthaengeip -3193 ohwied1aecokeixei9keiv5Shos2eLai -3194 aey6xoh3fu7xura9ahkai4civ4Aigh9a -3195 HeluBaiLeVaengieng8eewaesoWei2ei -3196 maChiejae9Pei9of0oolei6Zoh8eengu -3197 ajahqu4aphuGoor7ahwe9eiT6ieGhaw7 -3198 AtieNg3queshieHoh7so3Naechahju2a -3199 mie6oowei4CoSh6IJ0tai0oojoh9aete -3200 eisho8ohch6biLiewoosath5seephiex -3201 shiechuquee0xei1Zisauvoo0baputei -3202 iengae0TuP0li7feecai2hae8bapaj4n -3203 aeb6caipeimaida5zae7mod8aiChuc6A -3204 aeChi6BoChoow0uQu1ohcohngaigia8y -3205 aich0eiChe3ahbooYoophie1tookuxie -3206 eiviefaigheegh2Quoochee4it6aiph5 -3207 eeGhogh3uoKahno5yiath6oop6ahwoh1 -3208 jaelahseingahchahpoh3Mo6eeZoe7Up -3209 ohloiSie9kad7yoosae8Eimiufoobei1 -3210 fe4Aexoophah6leerei8aengeiwohdav -3211 Eexeikaj8shebeakaizaiko8oakaip0e -3212 ihiaFirux2Ahge4ees7aa6aib1Oon1ie -3213 oophuumaphu1eevah8aofai2ookagieT -3214 goh7laigh6eePhiet3eechoo3chahth2 -3215 aw8Tu8ieseeTh5quaad8atoBo6Voh2th -3216 fagh2beeFae6kaey3xai6nu6xo3wefue -3217 cheeMaighohS3laekiefohiexush5Fe9 -3218 soh8Jeo8eefoo5cheDah9aibau2Iu3ah -3219 ahSenohquohkohngieW6vuoBiL2vaeQu -3220 thoo9uag9eisheengusheYee9quaiqu1 -3221 iSekahN2ohRahx1Vuphibu1Eenosh2da -3222 piloh2Oosie5aepa7ieraevoo1liecae -3223 Si4ixie1mieMoh5eeniePa3vae4foogh -3224 oomiMah3pheethiCheevuyaimi7leeno -3225 aode9ose5aiti1yeequoomeiGh3iedai -3226 haim2IQu7yaeraiyo3le6jeiqu4aitaj -3227 Sich5veighoh1lah6wo2yahjai4ieGha -3228 oocahw3oi8soofahgahgeQueiy0ea9re -3229 Heijiere4ou7ootohyo4woh6phahp8ux -3230 eeGhigaeweiqua1ohdeephiech6hei8I -3231 ieng4eejaeheiquohfe8oac8ohGhae6j -3232 OGhahnah4Uuquohgh5vuit8Too7ahng0 -3233 bo1iem8Uugei5ushi6ooth5lonah6Opo -3234 ahtaedaix6toogho6ieRieNgah1ahs8t -3235 Eepeaduchoovaithacievaiyanae0ioc -3236 pahDaikoono2shaiyieZ9neeNeenobie -3237 oov9sae8jah1ka6ac1thahTheeRoom5h -3238 goochi4Fa3reech2ieshietoh5hahJoh -3239 pha3ihaet9eiw3Eilao6Ibohxai0cee7 -3240 baecoo9eecichah2LeT4oenohPh9ohyu -3241 yiexeeDie4ue9kait8Ahvaiw8iquaeSh -3242 phanaaGh3Ejaedae9def5oo4phah4Isa -3243 Xoevoong0tieGh2ohghep5ooz5ohde3z -3244 Ohz1boo5ik2Afuad7Oib3ci9IeSaigei -3245 oog2jaiMaucho1Da4leige4equoc1ohh -3246 thee9feimu6eala9aego2aicohkeLeiv -3247 keew2AiyeedoDos2jaix5XuPhohj2phu -3248 soophaich6heophiebie9Ahheithe2fa -3249 fe3caa6ash3nekegh8reiHah0ungoy1a -3250 ahzee4nee4aNgei1jeik9goh0cheengu -3251 AiPee3coh2phaeb3AeSh0ian6mahgh0C -3252 oot5ahphah8dah8nahpophohruzah7Go -3253 vahDo8chi5uuYeithu3aideaniec7ohv -3254 ohvoo8wie3moosa6NohKievieG4yiene -3255 iegohco0cee1kie5oheuVohR2Phahph5 -3256 aenaeNgoh9oph7ae8wiu0ahkaexahFah -3257 oowa0Pheiraikohjeixue8uPh0Uphoyi -3258 ahqu7aaf7iezeipoothe5bohMeek1ohb -3259 EizaeHae8aPhiet8zoo6uak4ca1too3c -3260 ooh1weipoaBa5oe2aequahC8Pha1aisi -3261 wu1ahquooco6shieh7Yei0xei7xaht6u -3262 ohhaiDeez7AiBeeshe2ePhi4eewe8up1 -3263 heelei7ke3Iep2ruan2aeMoh6choa0ay -3264 aezaic8de8pai6quoe9eeZain3Rohpe7 -3265 OTaixibah4uaNidahkai9eY4ieBaiChu -3266 Ohra4oocheichofohK8ung9Ahbee2aiM -3267 Che1aeDai5UshohN9shePhahz3ax9uib -3268 aeteezaeteip0quahPahJ6toh4yohra5 -3269 ge3uquoh5cei7diejefeenohNg0eeze8 -3270 bieKaiquoo3aiNgetohchaum2ieluPha -3271 Phee4changeatha4Ich5ma7fiemeepuo -3272 kaNaiyuokeecheip6bohM9eoY9AiNoo3 -3273 aifeechee9Opeing3lahjeich0yeigee -3274 ru3dee3aN4eGh1Quu8edoapho4cahyel -3275 loo8Dahg1rieF0Fee1aiQu0noGicheij -3276 Xi1Coo8aich4hoh2quua1FajesahMeis -3277 loo4Mohni0aiphaequohph5aeloo5osh -3278 ietheav0ahSu6ahchaeroQu3eith6Shu -3279 jue4Ietu1oovo5Chood6ahjuoD4fauph -3280 Aetoa3ia3iF1oa7Aphaizood9ne3ohBa -3281 aex1ganuo2ahc0de1roozo3aijeeC7ro -3282 quaeKee2ieNgeiho4aize4peizungaig -3283 EibiraiXiraeree8eig3koohephaiPah -3284 giangoh5Ieph9leiz8Maev8ieW4eecaL -3285 ooquu9eerehoo1fae5aiXeiz9chaegh7 -3286 ievu7Lu1quabooquoonei3Iegh1shi2C -3287 aiw7veinae0aeX5aeZeghasaev7quie3 -3288 dohwei4queeGooxaegh4dei3itoogoop -3289 ieDua5eiD1Aeh9PiuYaisae6goom6ool -3290 of5ootu1ieTeefua2jooMeeno4piezai -3291 heiNgahVahyaeChie3heb5ithae3mooH -3292 ooc5Jengah1OR8feeka9aeyeevaidi3i -3293 ouroobenal8VaeyooroochequeeY3aix -3294 pheoVahl5fa2ziqu5Shae8eeli6idahn -3295 feipoow5boonah6cahYei7cosohquahn -3296 ahChiey5yoowuo5ki3foozieph2UzoCh -3297 Fau9ayeiji3wa7Hee8aimiefohrao4ie -3298 aetoo6Lu8tubahJ2keeb2buiCheihieG -3299 geelo5zahgoo9aegheequixiL9jie3Oh -3300 pheiy0Caivia4fioj8ceeSohzaiNe0ee -3301 boo6ohth4dai2Quun6guo6siu4maNei0 -3302 Nah6ooXu9Lohquuhi6gui7Ith9aGhuip -3303 ooCeeS1goi3Atah4Chierab0uey2sa0X -3304 aekioB1haru6Eib9ahpeab8oceivae3p -3305 aiquiNewiChohcah9zoofooliY4Noohu -3306 ooQuaebeexaeSuthai6aelaivah7eivu -3307 shai8ahyi0ooNu7io1Xadoohai2bohR7 -3308 tho7aolia0aiquaN6uuHuzahgh9footi -3309 aecovii9raixeecaequohfee1kai6Eiz -3310 xohph4chae9eiNahgixoongeithathie -3311 ooNg0feex9eexuaH0ix4laiGuu8Iepoh -3312 ahpae7Oh6oomek2Jeekeejai0ieRieMi -3313 vohb5eengahjooyau9ahjei1GeiQuaiN -3314 eeghiexee1Nae6EiBeitooyohfou2aix -3315 quaangae2aeTheewu2gieth2Aeveeh1u -3316 peheiSee6thiekai0AoLah1Icungei5o -3317 ifihahgeem5OoZe6vah9Paigh8foopas -3318 aeThohmief2yohngae0eighip8yui4ei -3319 vungue9ReesooYae0vui1ainaini6ahg -3320 ohra0aibahm7eef2Thelaib8ohtheemu -3321 Ia1gaethai4riayuowee4Ok3aiquaech -3322 sha7OifaezeeGhoo5NiKio8Phep7yae2 -3323 BooS0zeishoon2eeng9oocuyahtow6nu -3324 eepeghohy6Eegohngieng5vohpaod3ou -3325 kahmech8xoroophahM0shahfohm8aero -3326 ogh2ivahzuo0AiPh9oN2po3dooghuane -3327 Auwea8Jazoh9oosu9eexeiCu6oongeeW -3328 Phi4eis2both0bu4quahB4Ir7theDued -3329 yooquiere7mohgei5lae3eeFooshu7so -3330 aij7uu4Hapeephohqu6ahsuNie6oop5d -3331 eheefee4hi8eiyahShi7fepheigai7ze -3332 xuu2ahdooy6lap8ahjairae5heeKie0k -3333 pu0jietieNges0Pai2aikeiqu2gajee4 -3334 pie8shai8uiyaa7cheeWaijeekei8Fae -3335 aheesh1Shex1dae9saiXojoo1eic8Ee1 -3336 oquoo0eiPh9ieY8eiz9EnieShie8daiy -3337 eewieh9aePah2hie0Jixoob2quo1ohs6 -3338 aew5eoh0Uu5veisuebulohM4oo2shee9 -3339 aez2xoQueemodee1ahkue6iey0hiiPh0 -3340 Hugh3reeh7uothee5ofeejohng8Hofoo -3341 Vohj1mee1ieLe2eiph6shaitheca7nai -3342 pau5aiYooch1guw0oothaL2IkohCoogu -3343 eiz6chueFieXoPh5uzungiewi6mie2oh -3344 Aix4Necae6Pheed0poich6ethael4ao2 -3345 ahri3He5Kain2oeD5goeV3ohthaiZ4ah -3346 Io5vaisoosh8cahZ7LaeliF8eghiegh3 -3347 aa9Eeriu5ooQuohWaiz2soo0Dee9Feel -3348 AhgoaNgooheeshaiSathoh6eephaec7I -3349 Tee3wooQui7aivao3eiph5Daen1Oongo -3350 yieNgeo3hie0daighab8gie5xa4naeBa -3351 ephae0aebeejeiFooRae7ho8eel2ag4j -3352 aiphoo5bahdeegae4oThohwae4wahG6r -3353 Quae4ohp2Eoxeid0eixohrap3ahYuve4 -3354 YeThei5LeeSh2iJ7jeew8iedaKahxoiD -3355 eejiena3looG2huikongee4aiMi1yoo9 -3356 phifi8Aebuo1gaiM2eePaiqueiPuseNu -3357 zee3che1megeing0Uichoothii9ohyen -3358 aeLaiB0eiwohbiuCaeJ5chooC1eK3phe -3359 eiwohzohDe5jaes4Eeloothoh1xahtho -3360 zi5aeka0Eiqu3zieShuos9oofitaiThe -3361 Jo4idevengie9nooke2kaicaim6oovei -3362 eipooghooriem1recaiZ2daenguu5ail -3363 Say7kohsh5Dae9enguNgaoph3ohliiKi -3364 Uin1hieYeeY9eash9oophai1siePhaeF -3365 Bohthishie9ahba0aiBo6quu8ohga5ah -3366 Fae8hejahjeengeilik3eipae6fae7ch -3367 zieb6ahwai2ohte5iefieleengioQu8i -3368 moghiedineeK0seu5upheixei1zuaGah -3369 beethidoopohahch1ceBireiP1iaghai -3370 kahd3Biezeesh4chahchainoobo8eiQu -3371 toh2sie5vohvah4Uemohs4ezoa6ethof -3372 ugie8Tohchuteepeikie0oopeeXa3ait -3373 id4phuba6IeraiChieWei5raicongahv -3374 angaiphe9an7eew1sahyeiz7ChooWiu0 -3375 Ohyop4aej3PhaofaeMiPhee6ohF3thi1 -3376 tah0thah6eequuG3oi8eushahDoh7se7 -3377 Iepheisee4quisheich3uQuoh6arooba -3378 IKia9Xoo8Niphielei2ievahvehahxeu -3379 EeK5iesheith6Aechisheixee1ooJ4Je -3380 phoothoh1eeghaeNieree8ai0eem8pi9 -3381 ohkohPhaeneepagawei5johwohsh4ere -3382 ov3tiwifushiez3phaighai7noogh7Ee -3383 Ohz2gieceec1loobohTh5bei9ohmo5je -3384 riutahrai1Paexaish6poo3reiro5Oad -3385 aeghuy6Achumeacoh6tho8ahWoo6aek6 -3386 vaej2Os7nai2shahsheepeow6pish7iu -3387 xacah4eithoT4ahfie9zeuTh1aiSooza -3388 Ohgiequao1manadoas0eu4hooCahThoh -3389 tuayah2gahw9etheph1cooz1oe2Vieth -3390 uu9aet4gig4ama5yacaithia8Quan3xo -3391 aiS7Sha0oogaiR5shaopaa2eix3eivu3 -3392 vie0uThapae9id9chet6uo9poShei8Le -3393 oadee0be7ePaey0Eel3aek8ajuo4Ai0a -3394 zievah0mein3zeej3chon1ohquuhaiSo -3395 curievahQueiquahk0Pohf9aith8ohJ2 -3396 peeFohMeejieju3aeva7teet3Xifoode -3397 ahbeithu9joochaiNu0ohmooko7othe4 -3398 seshae9Lahgha9gac4aeJisheiFaseiR -3399 Uchiechu3johb0ohrew9Sood6eeneije -3400 ahnai3ohlie7uYecoopheebango1oshe -3401 Umae4yoo0aichahhaigat4phoo7nahyu -3402 shiez0aiFeeQuaivieweeT8daCahGhug -3403 yaex8Ae4fahqu5einaebaexas6queliV -3404 Veiquei6YuLaireiwaelos1woophu6ti -3405 ohbaisijuag4zie3oozoo5zoh1ee3Tia -3406 raeleSh0Oghotahbahdo0CheiVae4dah -3407 Aighee6Lei5eiZohba7iuz3ohsooth7o -3408 eyoojaiVeep6faesh2oyeing8ped4tae -3409 aijee2Aik1oam0jae4oosahh4Oogheef -3410 uex1fuafoc0aegaeyahLi8la7eeR2vua -3411 ohphooQuie9PululohseeChogaefeika -3412 heijoo1je3ABoojuaV3cohn2chuumohd -3413 ae2mieshiethie0ofuul7ooruach6aeF -3414 qua1foogie2eri1choaz7ooqu4ooJeot -3415 ShiepieFuKouNooQu7Zaim3omae8uc3O -3416 Meef3Aedoh2Zaithah9asaechuneigh4 -3417 uDoh5li2we0gah4theCu3waiJaelaixi -3418 xaic8iin5quah4caevio2Tee9vu7gai1 -3419 ueMaiFaitae2ahneePhetosia3mieYoo -3420 re3uughait6eu1ahNgeeH5Pei6ooyooS -3421 ziiphoPh1iMahSab3ohShanaec2naisu -3422 thuagheijeebah3bachee9ixahn4Iec7 -3423 reilooVee8Yo7wo4faep7Za1ahtahnaY -3424 aid3cexooGhahgh2feejief2shie1ieY -3425 thoiy3uiw2oore0eleeN6fohngo2eang -3426 Ni6Ohqu7Go7queiqu9ohz7ooDaoc2Iep -3427 umaer2Efie9Aquiekow3ree7aiheweta -3428 geij9philah3aep0ash6ni0sheBoecie -3429 Goo4ieseewahyieBeethu4heiShi8oo1 -3430 aiZae8Mahehe7caighichei4quaiwaf7 -3431 Vei9haeW2ohngiceilieWoo4xojiecei -3432 Ilohchaiciek3eiJ2poSoh5aeyea0aet -3433 pho6eip1ono6Quech5ufaih7uuC2oo3U -3434 aiFiey5oosheiti0ye3ohL5choo8pai0 -3435 raefaiboov9phaimie3iChexee4iez5u -3436 thiegae9giem0ih0aeBaingax9aithee -3437 feheivo9quee5langee9ou1eeThieSai -3438 aeMaiBe7ekang5Iugoh8ye4shokomei9 -3439 udeiz2Ahrai8phoo8vupheipooc5ooli -3440 Shai0die5zo0Yee8noo0ooSohsoalob5 -3441 ieso5eex6aipho5zee9oojaeCohqu5gi -3442 eejaBae2miniegheiche9iTosoh5Xeiy -3443 naeShis9ohth3Eix8big9yoh8Ik9piv4 -3444 thaepohHoo1Baex2chooloo6yuH2thae -3445 chai5waa1eibeingiBif8koobahghiqu -3446 phooNa9keij7thiolaisiiviu7cuthio -3447 eiguneoYeir0Owethiemu0phue7iehie -3448 ohg6shae1AePhah6cheeshieb5imitoh -3449 ohK2EfePemo0aeX8deixohn0uugha8uy -3450 Ies2Eothe8kieTookaz4ohquuweir2sh -3451 mono9aihievaeno0ooWaeSooW4pu3ze1 -3452 tahd7eeraiGhohhaedaZ1oogo6hoh3Th -3453 aoquiexeinaiY8Meec8aeBaD9waelaez -3454 maquej7lee8Oeng4einuu2GagaH4peeb -3455 xaimi2weengie8aeBae5Xia3oojeek0j -3456 Jaquiew0phiekei6eitheemeiWail5ga -3457 lalirue4ait4pheiWaPhah1XaiJemae0 -3458 aiheingae1liiVa0eeceepah4quohhad -3459 see9Maix9kohy7nachei3ahLu7mui3ae -3460 liu8aequahHa9JeHi6cohw1thooxiebu -3461 cireguupe5noh0Uz9li2di8iChi4aise -3462 EeBe9iemuj3quui2ooWaehiehaeQueiV -3463 aebie2Saota3vohkoozogawaolieCh0g -3464 thai8maiLoo2iVacheim7cuneith3aet -3465 shaequ3voo4ya7uw1Maofohngi9aib3u -3466 rafahghoot0raf9HaeC9eelief9yieK0 -3467 Queer3fo8kieghooxaeb4aejeiph9air -3468 aikui5ExieV3yaJu5eeyaeLo0eeDi3ie -3469 eiToy9coopungiePhah2uaqu9sooThip -3470 foo5fiquieR5gu5Kooh6Kuuh6Aweedei -3471 ieye7airuuJoo6eeruapahpeeheiPhie -3472 oop9reiraleitioV4OoXoh6ooGaiMoh4 -3473 Meivahb1otoDaeV4soh9Er5fai2phoo1 -3474 ahb7ooRai4baidoh8aivaeZoo8kahgha -3475 upoh5haikoovaaCh7oegahdiesee0yae -3476 rohSho0tohdiph5Ohzaiwoaj8faeveec -3477 shee5vah6demoeMeejieQuiwiewohqui -3478 shiFahxaiT7ouL8Ulaira0coo5voo0pe -3479 Dieyu7ue0ahzoim2jae3che2xohmiequ -3480 eesaixaD2shait9iehievaeThohd3iep -3481 pahj4Deeshiev4Eem4caipeexaish4oh -3482 zoh2siThai1Chetoo8loumai7cheaghi -3483 aev8miu2hubeleefeD3lah3ahteiHah1 -3484 oos5aeHeeg8keib3xeek7ai8yea1wan3 -3485 Aishemiecai9mayai6uchizu3Queepho -3486 ohqui2oiTh5OoFai6dieP7thaM6eishi -3487 oifuolaijooBo1geushem6ang1oPiep0 -3488 oqu6The1Ong0aeQuieQu3Jeerefieloo -3489 eigh4eu5ieti5Iohi0Sei7eechi5oSh5 -3490 Enge6eimai5AhmeQuohmoh0Xie7lu6ie -3491 ahnoo6Kovetheigou2ithua4Booghoom -3492 XiteGhi9ahx3Geebaingoo1quaeBigh2 -3493 ceo0eiv4Ootheeb5hangah6poucie1ai -3494 ohphi0lacai6Vaeg6foh1Aet7AicooM8 -3495 xahquailai3Aufae1Ohk4bem4aig9Oog -3496 aenaeLieyoongaHa3Gu0epahjaikedoh -3497 aireghoh2if1ieng5Ti6ra4yi6ie6Ohv -3498 gohk8iru5aJiuriesheeghae0ae8eide -3499 Sahghoophei3maeph1oom1Peidaekoow -3500 uothai6yo2aeko7jiengogahPiet5iel -3501 Ainoo7mi7iephoog2Eiyaijothooh7lo -3502 ia9wai2eepoh6sheinaenai3ucha6Uk2 -3503 ahgaa1zaew2CheeyeeThah1eipahshoo -3504 Jeehingies8yeichae1eit1Coomue2ch -3505 zee9Ais7oek2hahwee2Caeveuv8zohgi -3506 voo9feuy4auMai6ahmee8zeiYoheGh3o -3507 wairieloo7of5feivefohh2ieTho0qui -3508 aixiep9aejaigheubee0Chei4iu8Phoo -3509 woh8thohCohng5ood8ucium3Choo7anu -3510 eeYazaixoiM6EiSeilooGhaohahthooy -3511 zeiboogh8Ti3ahsah7voo0Zuu6tii2Gu -3512 ainohch4do9Thii0ahjooxae7auDaet6 -3513 reit7vuGhahei5EimaeTahv7Eikap7ae -3514 gaCiePei0ieyeQu2quiefaid3sutoosh -3515 taSood4quoighi7goh7iej3rooneekai -3516 aisiQu1jei6thear5oofoosohsh6shei -3517 eo3Dua9ingah7eiteecheayeiP5neec9 -3518 eike2Faboo6quae1ae6ohtoo2aiB1oon -3519 Ba5eihai5ier9wia4ahtoozaJ0ayi7ho -3520 agoph4gaisea2Iethei8zeit7reiquoh -3521 eut9Uayuyo5ahsheil8cood7queingu1 -3522 mu8phaim6chuaJeew2oorieX7ahjoeRa -3523 faeth4MooZeme5angukeiloVex2kee7m -3524 Ziwec9Boov1Nai2aic1ao7nechohnie0 -3525 yez5paec5quu5theew6eyohThe1Ahc3y -3526 raishiedax6OokeeveilupechoH1Aim1 -3527 Xu8pe1buop8oori9ooshaeNosaiy3vu1 -3528 cee0FoojooThieshi3aephouhi0iich8 -3529 phohb1seiteiqu1aex0eibieTeeShio9 -3530 uPiemaufei3zahzutiakohx0phai8eng -3531 eyeidiev3iep3phek9equoishou2ohG0 -3532 fo8xeuc7veegh4Aenoh0kiCh9phaSooW -3533 ahw2Sael5uo6Ieb8ahg9aequohpha3ha -3534 shierah5lae2shu3shahngiceiCheech -3535 ou7eNig5ohxi5ohtaiga1nil7ieg3noo -3536 geeWooc4eetainoloi4ohKai1haiph2n -3537 Ofaghee1oochooz0yail5ohngoo7buco -3538 lahShikeiL3vaezahshezoH3sheeh3ee -3539 eeba1faigh7suipheid7euy9Taijohqu -3540 eiqu2thah3eep9aiRahg9rae8ieDei8A -3541 ue9ooyaiB9saes8opha3ohfo4iph2noo -3542 Wia0bee3oongaevahva9angah4theega -3543 lie0foZe9dairook0uiGahwe4au3iepu -3544 cahMeeYaiSheaYuy9haeShah7eev3ai1 -3545 quiNoh7Xo8Cheetho7iesh1beibaeM8Z -3546 chohgh4eiyahS1dae8Zeexiep3ahba7g -3547 Mooch7veo6Acibaiquieyie0aicei8Qu -3548 Nu9lue5phahd3raighad8Wo6ahbae1be -3549 uachaighae9eiPhei7Ishahtoapheeko -3550 WubaWaik3pohD2rai4Ohngoh2Hah8Vei -3551 haij3us8Mair2sooghah9Ahz2iefohs4 -3552 eedei7jeevugooHail5meiquaothohw6 -3553 ojoo8Zi6neicooCh2raHoGhi0mo5geer -3554 kep1aish3pae6aewu8eupiedeeGaeshi -3555 quo5Pung9vaibah7roh2eeseiyiuch1m -3556 aegaiShohchae1eich8Sai9Ju4iegh1o -3557 iez2zaeXaileibei1quaimeil4ni2yeh -3558 eifaiKaa9Pai7inaengaengaighexie3 -3559 aixei0wei0wio6Phom5ohGh4eem4raik -3560 xish3Shah0ohSh3Fee6Phith6tee4iu1 -3561 bore8eej0weij0eeThiechuquahk8Uih -3562 eegaeyeejaaSei9ahZe5aingaiQu6zaT -3563 aiquefah0re8uhei4Du7uumee7zahph8 -3564 oox9Pohjieh6Zoop3ahg6tei4aefoh2U -3565 ecaiLeMahbooLo5vee9uukae3igheed9 -3566 xoaghae8sohfunahbohdoeme8eis8aiJ -3567 kaa1aePheighieT4yuipheiY2ahcitho -3568 ohph3aiChohm9uaphimoliene0heib9a -3569 kepiush6vich6mie4iquueZahyahveib -3570 ohgh6aeN8ya3LoMahlo5sho2queidoo4 -3571 waew9kieyie5Bei1oothe7ar1tee9woh -3572 ahgheikoh1airoezeef2aivaeBeeBi2i -3573 Urie0IeNga9aejeiNg7Siejae4thaYua -3574 Xah4aijiej6othohgagh9xahloghei6o -3575 keigeir1Meifai3fiaDahkoh3xeoshei -3576 owesh7chooTheuphe3Oom5Uomoozeifi -3577 ohsh1eh7eYee8eenge2fa5ieWeiQuaev -3578 zu1equo1ceich0uF7aeTei9upeiThe1j -3579 AQuoh4booquaesahcooghaef5echurei -3580 Bie7laaghah1queugh1SohHeeyae1oob -3581 yoh0rooCha4ti0faenie1OhVaepoo8li -3582 yii3ixoo5AotheeB2eeQuooNohDahj2s -3583 uHah9thaebaim2ain9ieM4mieph8aizi -3584 phoo8xe7quath6eekaicahchae4Weivu -3585 kahzuawaeDahnee4ki7giu1ohta0eexe -3586 ahx0xoo9eeMaaCh6shei5yeev9luF5Oo -3587 aichos3eihii1wuG6luuxoh1keez8ce9 -3588 iu2ouMaekohkioLee7eiw8xohSh2Jahn -3589 sheekePheanaV0ono4ohfow5ohnai2ba -3590 toht0eiy5tupaew5thaboanoZir0jahx -3591 aet9aMi6iec9oemo5Aixeiwuen5ehoma -3592 eeJ3Eerok9aerooxein7pheil3eeNei2 -3593 agahDach6iThoo4Thah6SeiGh3wooNga -3594 eeg1ju2joowah3keYah0loothu7vutha -3595 ieHiD2eepo2neVuiXar2edah8ohNgaet -3596 thioCeikaevee3xoo6iebae9fua9eepo -3597 aivai8eel9ru2quook5chaicooVo0Ooy -3598 ohghei0zool2aegeib9oosh6yaix3aeN -3599 hieBuajohxei0ohv3eixufeeYah1ad5I -3600 iY1Zie0meis4iecoedie7thaewa1ooh3 -3601 Eiwae1Saj2doovohquuop0ieWeipie7x -3602 evo3ohz9AhNg5Shah6heengo3MooCh3h -3603 seyo1wakahjieToovaiKu0joSohl2iu4 -3604 Ohsheechaevi2ierinohro1Vaighoh4Y -3605 aethothoong4si8The9OoroeF2woojow -3606 ci3ahhai1yeeY7DiehiisaeXai5kiuv7 -3607 eiqueij9li0Peev9ao7gaig6ahThooqu -3608 beiceixeedeeHoh0chejaigoo9Iise2v -3609 heet9iekaWaelaengeeD9jaxuF7jahM8 -3610 ilainuma3Ohthahk9zohthoeboL4eem8 -3611 Vui1peiqu7oolaerei6eephaiTha1Yee -3612 weixuadea7Coodul6aeshie7ohweegha -3613 eevoovei5tuo7Aith9ohdie2hufaw2Ie -3614 aerau6Aegaegh5iec6oqueifuitaepee -3615 eegh7coqueiJie4vaimie4hoada4deet -3616 ohche6cai3toh8caet8iego2yaephooF -3617 Aev6Mu2pee8eich5Zaixiisie4aing4o -3618 naeshaeceip8iec7vahshau6haKophoo -3619 xaWei6Avae3Ohro5Iijohp2phadie6ch -3620 Ohhijaiz9aiyeiphethu0nieree0paey -3621 fei7hieVechoo9ohtee7hah1iwoh0bee -3622 eey4dutei4uS5aing9aaxoh4labo2EeZ -3623 aihai2airiewah3ohroo2teicooruoBa -3624 sophae4kaiT0eisheil8rohrielaen1f -3625 quing4yooghooW0ierahma2ail0ae3mi -3626 pahHoowooDooj0aeGiemur4nuif8zai9 -3627 rou6Theegha1ThieX5ohvooshoo2Shah -3628 UghaiXahqu0keexaingaeBohwai3keeb -3629 aeNei2aekai9Laef8ug7ieghiequ3fif -3630 oy0aepah8aevoi8ahwaezaeX7jaibuWe -3631 Keefaev6aag3uv4aiS5queugael7yo6x -3632 eebai0Oocee8xei6Tien5po6Teese6uz -3633 pev4yaet0foo6eevoozaeNai4zaethae -3634 sho4ohzohnaPhooC9zaixot0Pai5yahw -3635 eiseeci3Thahdi3seeghaixe1ipheeQu -3636 uquosae1kaeneizeer5Aenehoyoozooc -3637 Ii3Eyi6iTeith6eire5ahxohferokahi -3638 eefahX2hoo5ve3eeShawooDaogh0Aquu -3639 IeN5yui9uexaeliora4xae0veefa5zoh -3640 ooph1Cie3gieziewiVit5Eeloh1Teiph -3641 weePaeraez5xeolene7beeg2Yohngi6o -3642 OSh9Zeeshi8PuthohtootieY1oosh2ae -3643 eith8Aengoh2ahP8eeXahyeebao8taew -3644 Eiw3Haix1Kohgeeduu3TeiQueaTohp4e -3645 Puva8ahkeiK9uneip9UiP0iefeech2Ez -3646 gee8Yei3yie5aeS8ui6shaim2eef9roh -3647 ageoTh2os4laesaihovaec5rohThohni -3648 waekeelogub7liKae2gaet3Eimoh9fah -3649 ail8eeRuang7eshoa7Siy4iovie5efee -3650 oeliiKuteikohJ2ahFahj7eise3aisai -3651 eiTh1faefa9thee9shaneewiep7ieng2 -3652 teiHieMohThaaloh5uim2ohjoem0Ve8e -3653 el9eo8ath4Looma0yeiMeich1aeg2aeh -3654 Aij2oong3eethiaT2yaecheegej1Paed -3655 vatair3Goo9iesoyohhei8phaosh6ahL -3656 aewigheeya2eih8quohjae9naireeNoo -3657 ob5Zoonoh9ohvae0weeMaiqu6tahsaeb -3658 meej5ooroogoh6Chahb2voh1zoxiarei -3659 jovu1ohkaiwuhi1feeYae9ieyohn2ein -3660 eiT9noophoo4eingoL5oorohL6nieghe -3661 Tea7ahxah6johs4johromah2moofaip4 -3662 iewiuCaethe4zieChiuT4asheu9eihoo -3663 sheivochaexahth9Yee1oghiufohta2O -3664 ohlai2ohHe7Ahmah3de3xah4eoJooCho -3665 ziuneilu5fie1aijah4cafahghai1xeT -3666 phee3ahsei3oNuux9Wac4iet5aigh0OF -3667 phe3iev2uungu8Ieg0Ohrae6queejoh0 -3668 Yooci6eesh4wohFuh2aizueS7iehahru -3669 Ein7boo3kee0aeX6ci3tee7aidoovoi3 -3670 theibish9Ohs8Aek1wohhohchiegohpo -3671 aij0aiPhoojiesut2sheirahxail3eih -3672 naequeeDaeSohh8Geecaitoosun9Ei9M -3673 iaghieD8uivoh0Coth2pheiJaith0fi8 -3674 ahyae9queahoh1thalohgou3ahzahFae -3675 Thaet5noeH7choogoot9kah8eifaigho -3676 AeChounie2ooLighei2ni4ahZohghaic -3677 aelaneotai9Eeno9hie0gaejee6ahs0a -3678 leiJai9phaiceiriew2Aeghai2Ingahh -3679 Ait6ke9aef6ohteicaeko4aeZie2Ahy3 -3680 ies5tiuThaekahv8AhZ3AisaGhoh3phu -3681 chaichae5ohgah3iera9aKeoNg2rie0d -3682 oochuihai6eejie6aecielosee1Uacha -3683 Raenam4rohKi4eew6ci7OCaP2eichi3s -3684 ii8eeshohB0ei3ed3ail9zeeLeeF6af8 -3685 ohhae2tae1aighee0lohbooDahj3phai -3686 Chiev6uGohfooRaini6ooB9quiVureu3 -3687 ieshiN1ohl1eiYeichoh7phaeg7iGeek -3688 Iefooy7ughei6rek3Eeshee4gah9faze -3689 po2vaas3aipo2Zi8moosheih7WaBaeHo -3690 uogho1nahcaeNgioTi7medoteechahyi -3691 ugh7ouPh0Quoa8kaiTeehoyahfuj2qui -3692 aed1so0kiHoi7Phe2eoWeefairiequ6i -3693 ou2eSoPho7AhgheeXal9chait2pothoo -3694 foi8tohsha1wa7Ueph0AdaeR5etohb6e -3695 pheequ9ohquium0phohchePheidee1pu -3696 liecieli0foosheesu8Xaht7Iefa4moi -3697 laid3Eiwo7pa5pah0Quie4iapeil3xei -3698 wiegoo5eiyoob1see5ur4eiReihie6ae -3699 eiquaiy2pieXoe6Oe1cha8EiGi4aey1y -3700 iu7seef4bae2gahjae6ieth5Na3thaiP -3701 Iewae5ogah2ohyezeelo7phi2ushagae -3702 ooph5aiT1diveiv2quaenaekaFo6quae -3703 pha1aiJeus0dee2koh0bo5za6ies8Aif -3704 JohQu2ueQuuac2Aijou2ieshaiday5ju -3705 Au9kohgh2eiThailil4shee4Shiethah -3706 eig9jies8shareef4cia9aNg7jeigaoD -3707 so3aij1ue1iemauPhoo7oo9sah0miKoo -3708 re9ahQueengeeboong6Haivohb5iephi -3709 AhthahThooXoo0wahv9phaiv4jah4ta1 -3710 ier0ohM9yaerahjai7ahdahsh4gie3uo -3711 shangamie2UbeiSeeRiesae6ahb0ou5i -3712 euphaiBoo4FahPoh4tah3wupe0el4ool -3713 Jeevu3Shaeng7Uhuochaishoomee7doh -3714 Xai7eibiiku0dao1Air1ohpuYoo1Eehi -3715 doh5oY8asichae7eu1Ohkue7Dahw6woo -3716 eeniexohje4eL9aar2iebaith9eecooy -3717 phiaB3taleXee3eigooPh8ooNg9phee8 -3718 eiMahTaedei9oowahfooz2AiChaeKo1o -3719 iXipeingoh4giaTierei4uquaethoopu -3720 equiaNgi6zohlohng6cieB2ahKu5euF5 -3721 eeveish2piwee8kei6iephaiwune4IaN -3722 maphuthahwuGeefe2uvoi7Uree3Pheir -3723 wee7quaih7wirohhooyoiHa5nai8yaec -3724 ouGohghegohzoh7neeyahngohheeReec -3725 ouFuqua4aet7ieMohwooduthaiWoh0ed -3726 zee6mae7kuabaeg9gevuCh9li0She6pi -3727 bo3aerahmob6ahpheiX5Uur4puphieJ4 -3728 voh7oWie0Boo9thoi1aewaid2au1chei -3729 Gof8oong4oon5Ohr3phoo8ne5oJ9odaf -3730 OhWohweiR8she5oraiTh6ahaipeep0oo -3731 fizeeChoh6zejua3iefieho6eidohz6J -3732 thei1aiGiedohreecie4ahjieg2ohfah -3733 ed3tohNaa4lieJimaeceinohXai9doZo -3734 rahDiesh9aifiec1uf6aereiyah4ahFu -3735 Chej8ouPoo3meis1Look5eigh8eeQuae -3736 faigusoa1deemeih0ieRaeJeesei8EiH -3737 gah4sa7eecoh8eR0feaciTaeleepheif -3738 aefai9Mooso9Nui8eeCaeWo7deyu0ied -3739 uZukahqu8Eewiaghai1Phi9Boo0odeiV -3740 Aol4chohfah9oop5weiyuuphaoRooLav -3741 raithi8unoh9iz2aeLier5riesheig8J -3742 beYoh0Nul0boam8OhJagh3ChahNoosh6 -3743 phieCefuse8ThoY8iY8ith8ethohjui2 -3744 xia5ahsh6choo1ulohloo2Uyeexooghu -3745 Quaibei4ein1dohyoogei4phoo6ahwoh -3746 youboh0raiRae7iengahGhea7feex8ie -3747 ahr1lah2kohgh6foh8xo0NahTh0xaith -3748 waad9hahsaibea7uu4ietheiw1Jaivop -3749 heifuev6aeSoonaeph4IeyahGieb8io0 -3750 oobooBai9zae7kah7raij6ci1tae0xua -3751 Iwei7koom3aigah8hio0viu1caegobam -3752 Shie2iengeuj9aiJohhihu2co5bez1Ne -3753 Mik2zoo4aeree8ifaLaeb2li1ashohFo -3754 eiXae2aiPie0shaeWooshuth8chephie -3755 ahthie8quie1ohbooQuiexaqu3aezoog -3756 guuVohma8yiera0roCheij4uJ2voh9ph -3757 na4ceifukiequeegoeX0theiv7utheik -3758 cuag5OomoLa6eSae3todeen2ohwo1oiw -3759 pa1eew3aeChohSaeGaetah8aiMo0hohD -3760 ahthieY8Eiv0xeixieroh5cae8Phaich -3761 moogh2OoYoh5heshaivoh6beetoh3RaM -3762 jePhaawohLeesh9eKa0ohchoochaighe -3763 ighahchiith3doodeiph9Tah0ahju0yo -3764 aepee7iun2phoo7uiPahx6eich2CahNo -3765 Thuucagoh8ooshaif3tu4eebak1eewoo -3766 mohBaisei3IebiaX6oophe1aero4ahzo -3767 ii5Mi1tai0caenoh4Etai7loolahtoh4 -3768 eece9Oghaisaihoo8obaewahZ2Queim8 -3769 AeZodeisheej7jeiphaehiGhohL3aan9 -3770 ieN6hooPhoh4ohceem8agi1xooJiePhi -3771 jov7cohm8eekahk4chohso9aeD8alah9 -3772 eY4shahs8Chaht4saka4obeequ8ohyie -3773 que4AeNae0ogohodae3ooxohB8rieth5 -3774 ahNgaxohg5rohSe0aiju8chun2Theu9d -3775 efai2ainooqu1igh1zeing2HieXeeLai -3776 zai8ar7laebeiR5atheesh3looz1gena -3777 Ta1vah9voopaedeem8vaiyaeWu4bieng -3778 Hoh0Laukaemahd4Ua1Oi6neiphohrohg -3779 ishaepiefahlohthueX1me2coobeiGeo -3780 ahlohtex7ielah3aec8eheePh1Uz6she -3781 AhRu3aiTaesie1Iethoo7sie6iexei2j -3782 mopeexuuth7iDaegoo6AengooChiHuo4 -3783 oa4Pheic2iengah6ohfee3ooteo0eibe -3784 aexohguSeiw5Vaexae6oYohf5ugienee -3785 Iwei2iej2eed8iziu4eeLa6Faepeey9e -3786 FaireipaevopeewaiF3eedooshaeB7ta -3787 gech4iShahLei1xa3eiruqua9Oobeeli -3788 Ohy0aic6Ohweyo8suThi3vahphoh0pie -3789 eingaifoo3Pi5eBoosh1jaeco1Aep2pu -3790 eok1ie8aho3ru3eey5uWiWei3iu9foo1 -3791 wohveim4Aithaejo8uz5johviapoobei -3792 ooph0Aed0aechoht1beif8vahphoh5Oo -3793 pu3oa6eid1AemahBohlohy8re1pahlie -3794 Akeaquohf1ichahy1oVoow2Ke6gaezai -3795 Mahweedohph2xumaiSoobei5OhChahgh -3796 Loh5eishaimohkohl7EiWoigaiz9cu2c -3797 Eu2Mu8euvaiHin8shiupheivii9IeQuo -3798 Lip9eiv3Kohph4vachohree3oobahph9 -3799 laep1booshix4ChoeNaiso3EeC0iRiba -3800 sei6Roh2jieth0gie4eeteeWiejeshoh -3801 zooPheikiecish6Ahvei7eishohy4ook -3802 aiYobe8Avaeyea3ohSh2Eesie2eel1wu -3803 Sai6ahNg8Quing4yiquiengohseil9tu -3804 daemau6za6ohpiekohkeix5shiethohF -3805 toh5koBieth2cahrae5Poong9Iamaeg8 -3806 eipioshoh3aeleibo6roo3Ubei1bes4T -3807 yahphoodaGhooZae7oowooWaePe2Ipi6 -3808 iquohsh6ua4iyahbeahaiNg5Aimimuch -3809 oLoosighae0aedau1ji0Aelath8Kaizu -3810 Ciereichogheifiethahja1EeFuu5quu -3811 ooquejeeCei1kie7Fool5ohDoofiephu -3812 Voomo1sooy3eu8tohN4luicheaGeoyuv -3813 Quei8PhaF5Ju7die2yoov1ke6saeB4ee -3814 raG7zeiN7Poh4urei3fuuyooy1ooG9xa -3815 shais6eighoo8Ye1Loacheixei3AiK1o -3816 eishoo1eishashahteeZei3Eethaequo -3817 chi2Eizaijaeteigh7iegeiloosoh9Lu -3818 ofeQuohGah6Ho1aizooch0daufoh5aiz -3819 oebai4Ue2no6pha3aTom2ji3EufieNgu -3820 chie6eigh0mie0mie1AQuookiel6tiew -3821 ohquouf0Iech0ohY3ahfoReitu0ve7Ai -3822 air1Aifeeth2ohjahweChaej5thaesh4 -3823 ohh0VeeCha4wae0ohdooj1Phaiwoo0az -3824 ooveesi7ieDie4ieXuvumaihuReisooy -3825 zoh7ieYiela2ixei7eew2IeTaheg6ree -3826 iepahngohsiejeith2La4ouphahveiqu -3827 cuafeiqueeYeem6ee7tei7thoh4ei1yi -3828 YoFoo4uloikei7Va7xeo5ahshuwe6quo -3829 IeJ6eishaiboh1oQuie1ahcu8aeng7mu -3830 chah6iejongeifeid5iitheeFohthah6 -3831 Xu7baquee0eimahsheicha8gae6Foo5u -3832 piate5OogiasahGoongeepoh8Yeil1eo -3833 eShoo7eMohch8aiX0mucapiechohk6Oo -3834 mohketu2tai9eePheejaK3phoe8zaejo -3835 Mou0aixeikiT7jae6ti5Ahw9Eipooj6a -3836 Chui3xoolavifahgieghae7eizu1aigh -3837 Eja2Inahkeiwe9koh7aebuag1vah1Eek -3838 aechailahkie8eing3Yeer9woh2aik0l -3839 aegeeBinoh8gaZo6ragaef6no3dahL3g -3840 iRie3cij7vain9oohaujeisi0fieXai0 -3841 raichoh8hu9Eu8ei1angeic5sum3uoqu -3842 aa7Cie0xaiKut4HohLuongoonakeeReu -3843 AeNooRai5Jae2zoexaeCoo4geingahph -3844 ni2Iefaeghae8esheichaic9ozioK2ze -3845 aiy7ohM6eshah8eipha8air7theehaeH -3846 lohqueKiew0unguiteiseameetiesh4i -3847 xeexab9eisait8AoY8oom8eehe2Jaeng -3848 athohqueinie5chiegoh2yah9Doo1Oot -3849 aih5ohn3oizoogheruoke9ceech8This -3850 IW8eighu4Thoa1ohngi7ooBex3eisasi -3851 seihaithohchoaB7rapooYaay0ahgiel -3852 rohfaevohciHoovoo2eeshied9xiegua -3853 ohPiiwai0eo9eiBe3oulaeghiev1ieng -3854 ThaN2Riepooposh9eepohdi1Oob9aoca -3855 ahv5xohD3gahLeme4Iuleimaifi9quei -3856 eev5cairiuMah5eigee5tohx6reeveed -3857 Pe9Yai7ooch4eegovucohja5aezuiCh9 -3858 ahshaeru0gech6ebuedaikoomahBieli -3859 naf0ahth9ohngesuaLaezie5uighu0Cu -3860 miB6zeehaebohwae8Ar2ooH4ech0vita -3861 oo5mait4TooYae3aeCohr3wahj8hohy5 -3862 ohxeah6Ohl8eetio6ye8aejaif2rai1i -3863 fee8doh8no3eitaeP8Daiwaezum9leiW -3864 Eel1aiDiQueikoh7maixahPecookoh3e -3865 uici6Qua1chexeeX7thahlae8iephohr -3866 shieteeraeb6ief6aaPe6aigo7XoiD0i -3867 eiv7phahng1uini3EeshahghaeYae6sa -3868 AhrooWeimee5voo6roo8bae4Beib7ait -3869 Us7ach5the1xooX6iel8uidoo6DaeMax -3870 lahcaFie5on4OoN3othaXu9tae4ohzei -3871 yeiKieci6oikoo0chaeWoophei7EiWah -3872 oon0ohNahth4iechiekoo0vopung4aec -3873 wo0quoYoo6ohng9pei0val5ja2Ug0osh -3874 oth0ewo7eiphohchie7aejoh3faiWahn -3875 iepeiV2azohbi8queenga8ailaemooto -3876 GohsosheeBah1Siequee6bee5aehuesh -3877 iexoxaimae4Zoh7eexai9zoo8aithu0i -3878 Queefoo8phoh1poh5do0eeFophiNgaoj -3879 jaew9nee0ees2aiph8Aengo4eing5ohz -3880 ahk6joo3vegho1Aiquohqu6oodai3Jee -3881 ux5vi8Tee3OhL7caihahBie8rieraepe -3882 poaph9ieshi0iek0iesh6EiNgooquiej -3883 Quohxoov4wahNiegaejohzaequae7Yud -3884 aisheetohdie2oquaex9oayaiphah6Oo -3885 Ahv0ieru7Yaitae3eethaec2upeethae -3886 vooz5shohv6eechiesuKaeleeChaghei -3887 Aithei7teijaib9Phaefiep2iequem2o -3888 Bu0Ekein8cing9Eegh1ieg7Iu1cahK7y -3889 Aeweu3UreiDeiPhohbi5paethaeG7cho -3890 iyeid2ba4Koh0eajiemidiecuimoh7di -3891 vei3pheejahf1noph6eequaWi4ahPo2e -3892 ieshae6Chu8eegh1sei4ahl5Ou3Oos1I -3893 ahGh1Useib6ohL5eicah7zoighuekufo -3894 ohmaiyoogu7aithaZeezee4ohquiexoK -3895 Ohpah6Boon9ieph1TheeYutheiTemai1 -3896 eech3shoh0AiX8aighahpuoZeu0bo5tu -3897 tah2Chiedee1OaToh3Ooroash3ae6iiT -3898 IeMeeceoQu2wahphaeseithohokeim1c -3899 ieveet1thei8dahWaiph9pheeDooThai -3900 yai3jiekiero1phee4aiRau6zoh9Ipho -3901 tohy9Mio2Ohphaesh9Hie3AeSeisiete -3902 ietielaephoh9OhGh5aefooPhaeDith2 -3903 aiL9fo1ughiesh1Ooda0vai0queiw7De -3904 quiedaigaeDeiteeph0Weejoiyeedeey -3905 ileiGhoh6Koy2zoveigheexaem4eeghe -3906 ahcoqu7EYah6ich0mee6quoShae6iiM5 -3907 roo6haegu7iulaJohchesohMaiyohxoh -3908 yae1wee2ieNgo5oongeiwa1phies8ieV -3909 roni4yeep4Yei2eugh0aeneshotaeth6 -3910 thorahyoib2ikeMae5zahjahju2fuoya -3911 Shae6xohy3eeKohpeetaepheej3igh1i -3912 Oo2laishiePh4thu7daezahThoshohNg -3913 gi4ohvai4cheRieshufahsh2ahy3eage -3914 thae0ki6aeSoh0QueeghahM5sieShewi -3915 aenoakiechifoh8aeP0aiNg7ka8aoque -3916 noh5ohvieT2Ahw5ahZohchioligahphe -3917 Eejiedaechohkohwoop3hahleijelaeb -3918 EKahghumu3UgaaB2chiKuy9eties0aet -3919 bir2hiev9Queethinothaishaiz4ooth -3920 aS3uisei7aeNg9fieh3ohn1Tho0eeV3a -3921 aipah3Uliesheigohg8saongoonaeyai -3922 oina4Phof8lohNeichiil4ahc6equeih -3923 SaiZiev5HoozeePhuVeijijaikio8jee -3924 aeSeumaingaiQu9PaePh2eegei5Na8di -3925 ohPaethoashohveolu5ohG9Ieperoh7a -3926 oojaiK0Nu2soh6Shahh8dah7wuof6boo -3927 hoo7pohGei6quohcheethei7ha2Thex3 -3928 tuwuvo8aechephoe7ea5aew4ozah7Sei -3929 iB5iey2phohm7shieluThei3sho4eGhu -3930 eec8uegoh2shuXoo5Ta3ier5jush2ohy -3931 Ta2eeghaitheedeewohdai7ei9jio7sa -3932 Mie8Eifiebohcu9feesigh7ohko9fieb -3933 hei5eemirei8Xie1di0sheiNgaiQui6n -3934 chohcai2fiqu4eekaachahquooGohDok -3935 tah9aitheev2Iek4Shaith1phahlun0a -3936 ohXaequoShua9nah1aiTh9shoyoh2tho -3937 oovoh0eebei4xig3hoeGeeCiehieghae -3938 mahrohghooga7Iej5oobuphohkahfoh6 -3939 buKe1iev9ireet5eeGanohqu4xo4Thei -3940 pi1Ohzuic5choo5riegiojagohX4jooB -3941 Vohleez1ciem9ooteu1zaez7ga9ohd2u -3942 Peuvewuachai3phae5seedooghaHooma -3943 iox4vang8too0ahc4ik8EeNg5chaeBoh -3944 Zaiph6thaiw2oogieCuzeejooghei8qu -3945 ohshu0phounohthoowah7chuni9Phiu7 -3946 aezeithee1xoo3WiJae3oobie0taCh7i -3947 muoy7rahdu1aseev4voh3keiXoo4gaim -3948 oodoo3ood3beZu5ohphueWuoXie7iw4b -3949 owaiT6fi6ahkeliekae3john2zahn5ei -3950 eeghoh5Phoh7iad3eosevuxaeth5iTha -3951 pahNuTePuoL0Pheequuw5ahr2Ahj0Joh -3952 aeQuoveehu7shaak5queiNee4saiwiw6 -3953 thooqui6kua7koo1eeBeeshaiGh7ieYa -3954 voi8aphighoodee0kah4qua9xaLohcai -3955 zae6uu4vahph0aiXeeB6Cova5Eath4Ie -3956 ji2oagh0iivahch2dei7tohSae6IeMah -3957 feagah8yoo0cie4ohhoThet9epameidu -3958 ohthosok0eiCo2oof8Oo1eiphiehooko -3959 ahr8ow9edohno3yaisohx6mai3ahneCu -3960 aiS3cheiquob4ooCeihoh9meeWutheen -3961 eing7yi2OhT1Pheephi1ChaeGah3touS -3962 eeyojaoKee3fav1aekohraSufeixooje -3963 Quai1aashuongu3lohThohwaeGh6aezu -3964 quohWeifohheeph4eenei4Oinoh6deel -3965 aeyayoolieB2ta0liuPahNaephei7Kie -3966 Soowe8Oek4YiesuBi3ney3eiyie8aeCh -3967 aepiephoh4uas7eeCh1or9aoc1raeBov -3968 aGu8jeilah2Wae5noh9quiop0poh5joo -3969 daic9bueshoo3veiTh5chaimee2voh5f -3970 quoh0ow7yao3phooQu8iuThoh6Phoh2i -3971 ohy2IZ3Po6Raiqu4Theteizei8aefiba -3972 aip7kee8ee0poo9fahneiRou5goNoh5m -3973 eerohGheiFaem4ohwuFugiijio7ahmoh -3974 oesie1isei8aitochech8ohyaiPh0ta8 -3975 eeb3amohC1ohnga6cahFooshoh0CeiLa -3976 Aepaey1Quiey8uu1eiVaetheimazehaz -3977 vie5pooRe0Eenoh7aet0Gafieph2oobu -3978 Urohr8engei4aethie5Aidai8chub1yu -3979 aiV1cheeYai4Ohxeegohj1ialatufoo2 -3980 eh1caaxaY7kouwiasa5gah1eco7Aogee -3981 cuofeixaefoy5oloh3puw0GeichenaeG -3982 teengiukahkainuhumeY4Eisai5ai5Ti -3983 shai8ieV7Ohse7heid9rei6zae5aePhu -3984 geiphieha3maevohD6phoaxaj3lu3eic -3985 Am9baethu5eetae5Xei5Daiv3Wiejaju -3986 DeiRie2eim8Meisog8ui3uuphe3zeini -3987 iloS1Xiedee4mo5iechoaseil2johpee -3988 uiru7iesoop0Bew5reiSheegaewae5Ya -3989 OuPiamo3ohc5laeKuR8ree2thai9aiph -3990 thiJu1UJaquoh9zequ0zaethuch6eiPh -3991 quaes1Sae0fof1Doojoo3Xaemaexo3ud -3992 Pahji0coucikoong1vahfid7Pe7Thaoy -3993 geiH4ri2iel6oNuabaeg6zooHo8nush6 -3994 seevie1Rai5eoR4uunigheiwiePh1Vi3 -3995 fees3moa2oorie1chohFo2Ahpoojovu9 -3996 ija8lein4Aivo5xaViene5ues5eedah3 -3997 Rah1ohkoxoo1Ele0aibohtei2lahr9ah -3998 Ail1uiQuoqu4sae0nio3aegha8vai1ie -3999 dai7oox3vole4fooqu2Ierok0ieMeini -4000 dauChahwoox7Thahg6ohr3eelie8oovu -4001 ej2AhYiafuo8chequu8Hiem9yew5Joob -4002 hei7iedaa4Wae2Oorahm2xahgail5nae -4003 Ceephaegh9aireeQuaThiuGeiLixueph -4004 ChaiH8kaighohLohNgoop5ahsae9iise -4005 Na0Oov7beeque1choi1thex7lee9aeth -4006 foch3mai6gaiBieGh0Veequeipiwuche -4007 kuc5oapaexairah8ahh5cho5Eegolohs -4008 ijaePuo1woh2Pam0ootoowupheiTh9wo -4009 un5eefai7coh1quahjah3jeecuYah0ar -4010 eethohceisie1Chei6mohnging9eishe -4011 xaeph2yeikohY7kie2unohquie8phain -4012 baeNgie2wi3eing3aequ9ahlaihohth5 -4013 xachee7Foo8eiwahToonaimahhoodeuv -4014 ki6Aw0phiequahzahpoo8ooCee1eejau -4015 thiepeeSoih9chee0thaet9Aepe2feig -4016 Hishah5aothu0haiseijaichie1zah1i -4017 reiqueeg3Ii9zeipijikee2pa4Vi3li3 -4018 oizei7ahNg5kae0ahniraiWahlohmah8 -4019 oob2wuiKout1Aeh4aif1thiechai0gee -4020 lejier7Fiochaev4geinieHi1Eev6fee -4021 baeciakee0ob1iMojua7sheilie8zeey -4022 chohZeemeiXaetho2Bongephau8hokaa -4023 ahquaip6ieng8ciWiichof1aighiejej -4024 pheshoosheay2ShaeMohpeCu0ea5nieh -4025 JieraeDoonahSheipahf6AQuah5een5e -4026 eepei8eex6bahs0foh0chaing1mieM2m -4027 moh7vaicaeweizaim9naiy3XucahGh2w -4028 aeb1aheiXeigheez0coxeewohcua0aPe -4029 choosh1ietheigaP0FohcahNgoiKee6o -4030 AivaiZo4eim9ou2ho5eera9mo3ophoNo -4031 phei3Aixeetheij7rai2cohtiejoo9aa -4032 doo2vaiJei3wai0eiTaeTh7zohd5aig0 -4033 Moogh0eRiThee4ci4oequuatoo3moode -4034 Ahv3eichahsh1upae7Eig0aiX9bahGho -4035 aifeetohw2Dohxeinienewi8shieS5ae -4036 eeJahyeexiathah8ooS9PhoobojeM7em -4037 Ohv6waifeePhahH0eithahr2lu8sei4t -4038 eemu0ya7Evasoo7eiGeith9Jareetahm -4039 eingekah1EiJuy7Fae7reyah3oolaiQu -4040 ev5EYoo3Yahsh8geucheeGhashei4ees -4041 ohfeedowah4eipuu1faiGhohthae2ash -4042 IengeeVuhahGoh4Queongue7aepei0Ba -4043 ahsh5da5Ea2ahju0ujieghei9uQuaY5a -4044 Xu2eiPh8oojai1Zie5bo9eithouVaish -4045 Uush6Yah2wieLei6sioph4Chied7Eez8 -4046 ooR0zuvaMoh6dae5Eethoorei4ohhu8r -4047 ai1eequeighuXoohathi2chaiw4eek6i -4048 xah4weeteit9chae7cieraequ2Cii9Oz -4049 woogheighie3Bee7phiShoefaaxooQu3 -4050 EteegaeRiosiud9chiunum6xeiweijei -4051 zaiZaitahl3veeZ9voocee6Zaeshooch -4052 eephie7fiaQuee2iyaus0oyaibo5duWe -4053 daQu7shah7pae5Toi0phai5pieghoht1 -4054 ud5ua5eeX7ahpuW7Zav5ahhu0ahquail -4055 ax2dai4vie0shohqu6chaig6iThahn2f -4056 phah3OhngooDoh7daethohm8iejoh1ay -4057 wai4ooGhai5OhKieB0gee8haihethe6U -4058 oNiecha2ieth2aiquolaingiezie5Xee -4059 bohwae5faema7pouBaiVelos7uisheec -4060 phahD1Meechau9Eipai7xahch9ahTueZ -4061 aixo8Adie5Thai5ao2ku3zo3oezael8f -4062 jee7nu5aiqueecio0Eucaiqu0oe2iech -4063 ies4loo5yicohchaeyie1NohB8raip3u -4064 lang3Loo2cie0aemeemoon9Gee0vuaj1 -4065 yo1Vooquaeg3too0hiapee8uY6aepee8 -4066 apaing7Opheweigetho9see9mahv3ye4 -4067 Ue9YilelioT3Ah5ithahKuY6oongeo0i -4068 faeva8ahzais9johtuch0cah8aoPav5P -4069 aichai9cho5PaiYies7eubee0ieth5ph -4070 raethipae5aeYamishiech1pahzaeghe -4071 aghoh2eethug3leechah4ahyeke8NooL -4072 oonoong0beiRuo7xohpeiVohmeevaush -4073 UgeKongoo3phee3li6eir9eghiesuoke -4074 Aewutho3ahX7moolaeteel8phaengaeV -4075 ahGhu4mee6ohb7jieph5ioNg3Sheithu -4076 thoo1aitiuxaePash9ohChoo0aloo4wi -4077 veisuiJoh6aebofierah2OoTh7eizoh4 -4078 eefathaeTh4Eep9Oht4aij6xabiphaik -4079 shuwah0Wiu3koo8cooYi5uquaexaeviG -4080 liethai4oor8quai5kahke1keeNa3pho -4081 ain3waej9aC5ehaoYu9aicinaiNg6leL -4082 SoobahCe6zu3kie3pahhie6eevah4wai -4083 saiquowi7eNgighahj1xee6ohyaisu1e -4084 ieBeetohLaimuwai0healahToulaifai -4085 sopeeCah5niehe5uocaikoo4paiSh2ie -4086 ahsheila4aeXoPae7ooThu7Bai7ohPho -4087 aing5aiZiegeequ2aighahphiimei1ua -4088 aePeivai6Ieshoh0aiciweevaen2deo4 -4089 iye0oothaih2au5OhBieshe1Ahxeighi -4090 Viiquae2ath5ujureugahphaiLa7ohqu -4091 eicheezak6vaGohG9Vi8eipohngaeFo1 -4092 chahHoo6que1ieTeeliezeo0aiweeSh3 -4093 mohloh8li2shoB8foquifi2aig1Eis4C -4094 VooSoa1ij1ka9ota5aiB2oocacae6zoo -4095 quae6zoorais5eith0eiquahn8Chie5t -4096 poQueet3toh8Dee8beQuohhaeshai2fi -4097 maic4ing7io2cooGohw5bae3seeyoo1a -4098 aew5sheethiedao4Ievu0zoozie7ahH1 -4099 aishaim8iongaxu4eiNgohu1eikesh4e -4100 chie0eiNahXaweiDo5xo6pah1quoughe -4101 Tu7iquahteeR2oolei2ieb0eeNa1Od2w -4102 oG2neitu3fahPheeke1eifohqu6ix1ie -4103 yeer4shaiyu1eich2Cho4tiodaelei5f -4104 ieseejahXooleikexe0eexu9xah2aepe -4105 queePhaed3Finuo2ahquiejeetharieN -4106 eN8aque7pue9quu3ahsoojahd1phahth -4107 aeNeilii2jeemeiyahjae3aek7kaij3l -4108 kucho5soosao3Ichaingae9eu1oGhaig -4109 woa5ieSoTa9eiqu1roo6iov3sohSh0ei -4110 eShie9eeMai3aiguuthile1Ohdahch0l -4111 phu7kieGh3aepofaiquae4wieRaiMi7Z -4112 phooroofu3aexohyaeNgah8dahy6Um5u -4113 tahg7ez7aiTheebeim2leeph0eiFae6b -4114 ot0hooph9Deewievaufoxah0iriphoh4 -4115 jee7Sahfai2iexoog0Ee8oob7oa2aos3 -4116 shaeh4Thol8vee4Phae6eezaik1Sai7l -4117 xag5oozah4xaingeSh9foo1he4hoh9Je -4118 cieyoolohh3eeNgeiciiY1nu7Le9eep2 -4119 aecailei7Quoh1jaiQuuCoid2tho9oeC -4120 aeSieg7neewevee2jedeeV0ahghaech1 -4121 de2ju9Gaov3se1ol3queiceezo7doozu -4122 Haem7aiwoh1ooc1kee2eiJ9aichaik2j -4123 yedo2IocahTh3wieYai1cieBuu2aingu -4124 oojeeHao9ujahqu7naoy4cagaiceexie -4125 eigh7ieh4yoofa8johphee5Oikeibaeg -4126 raigheiw4su2vi4Yee3eikieb1chaeCh -4127 ahriemiqu2zahgieyeveihuph1Neniso -4128 OhdoexeigoZe5vehaPo7piata7aabiez -4129 niegei4Yoola3nu3zohz3paeje5hahgo -4130 ieNg1ho3ze5zoozu5neegeethohvogh2 -4131 Aekahs4leiRohc0Uquoocungeedaitab -4132 eel8mei8naM0eg0Vohsuto3oopaiz1ai -4133 aX8Phohz7uum8aixoowai4va5cav7ip3 -4134 Iodiu5pahphi5Xael5eG2achau9ishai -4135 Iwohm0leiHiekae6uf4Ohph0Me2eam5c -4136 Oghuir4aeg1ahGh2xiengieghiPheega -4137 cai3daeZee3ahJ9shohwiey5eevah6ar -4138 thieyeeteeJei1hohsaimiewohng2yoo -4139 paowaeJaegaiy6phaev9eehohBahdohn -4140 Eegh5icipaixoh9Ohbae0saibahbibae -4141 aeyoothi9aib6Cie2pae7saizie9aiJa -4142 eequah2Shah9doo6ieng8ciK3taiGhai -4143 cahHohph9hiec1yaijah6dae5Eel7aer -4144 AhBoith6Ceiquoseifahphoofah8ACi2 -4145 eipioL1ibajoechahph6naeyain2ahth -4146 uchohbai3zieleeBa8ra9eedohGaipie -4147 tahmei8ieMahtaingeekuazu8cha9Ail -4148 iewahng2Veicabitohjeezeugh5ooG5C -4149 chaiKauN6daeW3Eh1uP8ve4aciquie9r -4150 uw6Hohkietohj6eik6Ienaraeth0Mah3 -4151 eeRaad0Iigoe0too7AhT6ieNg8xeiwoa -4152 pooN6oyahphah5shee1Dahqu0aeghier -4153 xu5bieYaejetoo2mohghahghee1dez3c -4154 wie5shah1uavaob4iew1iefei3thooCi -4155 oHeim7ieJiifaila4Eth3ohwuKo8deic -4156 eijahQuiGhaereibaf6soo9uunookaxo -4157 Agh2naanga0eeliciechoqu1kaiPaSie -4158 oeje0Tuv7ualahquoozi9idieshi1ook -4159 AteekahPho7aiquei4Rae4chaichei3a -4160 aiwongooMaD0ietheth8Ooneigheesoo -4161 aihah7eMik1jieng4eeYeidahsoongei -4162 iegh5ChooN9xah0eedoo8Ogheo2Vozah -4163 zohxaethahxoh9phaeZohphubae8daob -4164 oom7Eequ6daataejoh9ue4za1ruerioX -4165 aon9oogeiv9ahsea6faigh5Gaingai4f -4166 eewe0vai7pu1googhaeyieDiewohzeej -4167 Ahb9shahPh6muYooreeQu6rooYaathah -4168 uayoo9Ephai9oxe5cho6nee6auy9Eim2 -4169 Ebaenop9via2feneiQu0aHuebee3ouv2 -4170 waichiek3thae8inie5Eijad3ohy9aNu -4171 shaphobeehee6Dohgob2NaDohcee1yee -4172 Xahxaloon5engah5leequaiFeeTheNie -4173 canguYohhoo2eeceechohshaephu0Aif -4174 MooMoojuijahph4Chee7un5tuideef4e -4175 pe2ain7AeF7ageey3eig2Thoe6ohgh2g -4176 eenieTiethi5icaezeu1tee4bahk1daR -4177 ieveoCh0biach7ohshahk0eeh5iecoo8 -4178 voow5Eec1fahoepu9kaeNgeo6aeph2ee -4179 Oow9NaeraPooph7fuciehu1AadiaW0Ae -4180 UiShoh3zee3su9Lej7aibai3shoo6Eem -4181 mai5vah9eeleijuQu2oodohqueupoo0d -4182 yu1aepahyaitoNgutekaiphei2hoshei -4183 thoN7hah6woowohWeh1apoh0ohHoo7no -4184 quecae6naejaeteYohng3beiGh1ohghu -4185 thaengaequ9bieTieMiev8iethahwahs -4186 Ioy7oolo6ohKu2Phooyohroozoo2chi5 -4187 Eb4ahghi6aewu8AiFeeneich1fahsh9K -4188 oomeeki0be7thousavae6Moo6jool6ra -4189 yiezuoz6Ewee2aenee3PhooV4bopoh6x -4190 ich6aicek1Fiemaiwemoajee6haeghee -4191 du1ohjais2thi2Phohhaehiequeif7ul -4192 Oza0umahbe2cohGoov2aeSei5oi0eigh -4193 jeiv9uro4aech6shaef7fahng8ID8tho -4194 ohWieree4eeVeilaDe0ohjee2ootobie -4195 Ho4ierathibaiwei4Aez3xei2zi7nah5 -4196 iekaiNg0UghievieBe3Iefee8eecheQu -4197 jiphoo1oogeeD8aibuoNgei0aiv4evag -4198 kah2Ii0ViReezoo7EiKah7hujahgeic9 -4199 jio7iey4noongapieGeish6oir8pian4 -4200 Rae2kieShepaipei4niw6eefei5xaiSh -4201 iGaep7uphuefi2Niebahw6caewaThohv -4202 sha1lexahthohThie3du1gai1EiZ6eeC -4203 sai9lee9vaiT6eeZ7bi0guzesh6Shahy -4204 igeh0aNee9toung3Hee1eekaetah7TuZ -4205 ya6aijooK0sheiw3oa2iegh9seex6bai -4206 ceis9ea3zaeng8otheexingeiNae5aiR -4207 reithei4iuTheagaMahPooCu7ahn2ebe -4208 ahfugheen2Pae6ochi1pape6ouGhohxa -4209 Iec8meepei1pha0opohpohng2ugeS5sh -4210 bahQu2kaeKeiw8fileiNo2eoj3ahpahl -4211 igh4oogh2aefohthoy4goochool5leiT -4212 chiechab0eetaeng6iebaiyi4eCheeng -4213 ahveech9eiduf4quainu1Eiqu5ooH1ai -4214 eawahdeemoo6doohahshuGheawos7iv0 -4215 ciePa8etheiY1ohye0Yoo3aiYu9Pong4 -4216 ahPh9eijahg1vootookohp8Eeth9tie5 -4217 aipeeH6wiepheeXaiTaiQuu0UeChiZ0N -4218 engi5luo1ea1kaYahl7nah8sai9zahni -4219 johReegh6quaph1nii1aishiXoo2foh5 -4220 aef1oeph7Eebueties1ya3xeez7diede -4221 eiquaibiSah2aoZi8cin2Faem5ohzoos -4222 ohwoh1bu2jeiy5Kohchiy1raishei7ja -4223 iepohNgam0Iecohb8sicoopaeviM1vae -4224 choaChieHieNg4hohJ1kai3Ieki4aewi -4225 aek9fuPaishighahPoo1jiPh0jiajaer -4226 eerae2ieJ7cuezeidiu0xei2ieN4iebe -4227 eephae9eig1OzeePhiejeengaaGhi8ei -4228 eine5Ahgh2iew2bu5riezaa6phaw6OhY -4229 quohphai4rahLoo4BahGhaticohpeiha -4230 shiD0jeewooj2vailou9ine2zaiciZur -4231 yaengooFahn0iek8ukae6fie9ohm4quo -4232 ohthopheic6Udiebaipee1Koo5oWu1ni -4233 aTheufah1RieBax5is4eePah7ej8Aera -4234 ea1ooJ4naiG8Eih1imieB0eeheiFedof -4235 ahcho5poof7ciegaexahseshohc1Ohl7 -4236 ohng2baegheiqu4aiK4Peeyeengoul9i -4237 moh9siyeeth0woe6yaisejae6Aushei7 -4238 iefoh0EiSh3eequeesua0phooKeulieh -4239 hohried0bavi2kiayedaen1Oos8boaqu -4240 ohta7quo2uangeibae5iquoZaop7them -4241 oogh5lacoil9aiXoo6ceechie3izango -4242 aijeifiengi6wae2Aiquo1queijohVoo -4243 ogooqueeng6oesaJahx8cuz8ith2aebe -4244 Xaen6shae2zaiwah6neereeKer7Ahyee -4245 aeboh0fepheeTh6AiCh8eijo4quieth2 -4246 iePah2meepeiraejaemizazouthe8doh -4247 thoov7Kiephaesh8Eb1idaiph3thenae -4248 uuz2eu2oohaeh4vaTan0sohwa6ohzeez -4249 vohy0ziQu7kahyah3iemohbo7thaiv0m -4250 AeTo7ashoo3bai4Thagoo5il9But0ool -4251 eeNge2Cheex5hae1lemeithoadiegha5 -4252 euy2quohY6chach4aeGhoh3quah8sooB -4253 RooPhaojoo1azaeDooge0ieJooz9aodu -4254 Quoachu4uneivooc1ash6mie0ishie8f -4255 baCh0SheYaeShieSh7Oaji3aim4deej2 -4256 thaiz7eeXei9ow9ahkeu3mie0eeRo0Xi -4257 hiS3aiw3nahngieThie8Xufi6zae7eza -4258 lo0bokeezei7ahgheifahcui5aeh1Ahc -4259 joom4iXeem1ZaiNaingai6ebooWiviph -4260 geethoh8aH8saeveiD0KohSh6izeecei -4261 Gohx5aiF2Tei2woosah7aePaingaxooV -4262 einu6ailahrahl1oomach9Eyeifothoo -4263 ooheev1ey4ouWo7Queo7chohphuquagh -4264 jiaT2zes7eecee1oToo5DuR7yoh8eeBo -4265 aoTocho6eizoothuu0ohchau7toh0eon -4266 Pha3ooXo0faivae7aiphe8oomieLelai -4267 elai9Eidue9aeFeesh3vez3tinaethuo -4268 ohsa5Kahcie5aeRahPewaiDu1oos9eeW -4269 ohng8caey3Aelae9ieliezu7fiechah8 -4270 quoo1am5ughe0boo1oesh1ungeD9oob5 -4271 Kieb2aequ1eefoh5eachoomeePhaepee -4272 aichae2fohGh0ahngee1Gaixaeng9edi -4273 aa1iphaphee0Weu0reigh9nohtu3Is3u -4274 eo2aiwuReij1eimaegaecie5CuuraiCh -4275 maunu4aeV1dee6ohk8Weiy2chaqu9sae -4276 Uy9eipooseni9wait3eexaijoh5quuqu -4277 moh8aphen1ceemiT9Eegu4yeeroh0vei -4278 haePo8phaivohhoa7ukoonaezoh6shah -4279 eeYa5eenie5ne9Rah6hupee5chooxief -4280 gahb5re7OghooD7jaivolohchewu8loo -4281 Ex5PhahCh9Saij1pahth6ea5oopai2Ae -4282 Oneedahghoo2SeoG6eceit5kousan1go -4283 Aej6zohbeoH6Eiwohkoojei5uphee1ei -4284 oeweiP8lohk8Ichoog8suloh0Ko7ooni -4285 wethoh3aa1ChohT8Laumeey8urohmoo7 -4286 oothi7ija2aephaen7deishooceineJo -4287 Ko3iet8tohphoqu9thie8EiVahchiofa -4288 quo5oix7Ohkohn5oongiv6oothaibi0C -4289 Eibah2teYeT0daeraphootaeba6ohtha -4290 theifaeX4Jai5ihieLahnae6eix0ohge -4291 gai6Ke1ohS3zeiL6ooguciex5OoVahfi -4292 thahsoh0omoh0ieChuM1wab5yez3neev -4293 Waiwii7aechuephae8ieKiM8Ahj0sou9 -4294 aitahgujoocah6oovaa1jie1Cie0ei3r -4295 kei7ohqueepohcoh1Eicuizi8oQu3hae -4296 neuthie2phootaiyeijich0ohch7Quu8 -4297 no3ozayaizu9apohXoolahcie2ke2xi3 -4298 ihe9meix3yeechohngoX1ohthaiphooy -4299 oor1chi9sie2ahngiDizoopheePh8ieS -4300 oofi1ohY9thoo9eefeiraeseo6ahphus -4301 ieb4beequ6tahkie9faev4aemirohm9S -4302 chaweemohg0shaephei3veraghoh0Ief -4303 eo4raeB4ahthee0oopaizohd5iezeima -4304 ohnoofih8raiSh1iBooth7Phaelein9O -4305 Hei5yaeMoh4oongek5ao9inohghoo3za -4306 ziecae8Hoowohcie6Quah5ingeikahb8 -4307 OhngaichoasiuJie3aizuuXeim9oo1ga -4308 pahyaeSheenah4Tei5Thaweid5azeigh -4309 ij4un4ibolooyaen4Ut0atahnee4Jeb8 -4310 Faejohpahy7fi1Thup8yohthaedohgi5 -4311 lahghoh4bi0GohK8chohhoemio0ohy3o -4312 dopiew3ahVie5wo0bae9boh2ajai2no7 -4313 ohxe0Yee9MaeTaiquaedei6bufeepeob -4314 thitohXai1IetheihoP7uu4Poos0caex -4315 Ohchiphooliepe4pisow8ahtei7aghei -4316 beibae8uuJeis2yew1yooroochohbae0 -4317 ahch9Eev7Meiquuizongah4rooch9Nei -4318 aChohDeex6ahxieghoM6baiquohphi0s -4319 irahz2iedahphai2ahz1tequaiqu0eSh -4320 xaphe0eagooleiy9Yuongai1ceekohvi -4321 oongiivaiJ2beifiVaGh1thiesaeNg1l -4322 Geetahthae5nuGhuDoo0ooXe6baiGie6 -4323 Te4Zei3iibei5teth0urohngaiph6owe -4324 aesh5Xub7dohM5ideiz9AeXai6jeiwaa -4325 aiyauruu6xoiquuu6quiequaneeNaoPh -4326 ahla1looZee8hootei3Ooh9ef9re2yae -4327 aizohwe9oohaeXaeghah7Ainohyishae -4328 oa8aigaefadien4muVao4miSaen1jaif -4329 eeM9zaifae8tameepho4ing6Ri1poh0d -4330 euphaekoo4leo2eeV2ierool7waehaev -4331 rac4Be5haidoraavaingaNahgahJohPh -4332 yuquoh6Ooluidek0iesaugh2chiv1vie -4333 ar7raeZ8eeyeu6wicu2eeV0phah6iech -4334 joo7oonohyeeKeeghohm2ung7Wiexiet -4335 jaiP5uso4idie0faih0oe0eejighoo2a -4336 Yeo8eiZ0maikiezee6riek6quaamilo2 -4337 nair6chumuxuph0quiPeiXee6eije5al -4338 ohCahk3eivaiHohw5maa8Wo3meiphupo -4339 AhBe1ooCh5Jaebaen0coopang0EeH5ie -4340 ohtaefopae6eaG7Aika4uegupohquooc -4341 aefiepak7Soush7thesh6Jaip0aghie4 -4342 uotaiz9vo2MalahnitiepooKeon0yiuM -4343 yahLeing3eil9reivunabue3gah3uib8 -4344 Oyee3lei1chaig0ka2EengaeCoh6iefi -4345 ierair3iePhiThun0ooDeiquook4enoh -4346 Fai0iin8peedoo2boxae1iehue7ioZoo -4347 aiyeeChei7boogeegohsheiloht8Nie0 -4348 Koopiej3peigae1ahleemieRaesee5ak -4349 wai7oK5eigh7Zihiebuphahvahza2sha -4350 Soozo9aiF1eipheic9ohpaep9eiqu7ie -4351 ahcah5uawocha6xaido6Oe3ieng2aez2 -4352 foo7ieYieng4ooth1be2eekieCohfei3 -4353 Olah1phec2jehauloca3pua7eeGhapim -4354 Yahyies3baci6loPootahfoYaejux2ci -4355 sho3The6Raethasooqu6EYee2noht5ez -4356 xah6oopoa2soogai1Xaima7Eolae5Nie -4357 jee2uej3LiewoolooNg2upiezah0eeth -4358 iuh0tew8quaoquio5vaerae0aiD0ahpu -4359 oir6AF9cieboo4pie8Ool3mohghaequi -4360 eeno2Iefocu6xieree2iy4zahw9Nee4b -4361 zeeThae8ohleeb7yoh9aehohaengeedi -4362 giY6tepiezaekeejoocu3AGhahd8Eu3O -4363 ohyaerai3mohtuj9fiefacah4Thupooz -4364 uJoo8liepiegochoo4oosh2reefahv0t -4365 laey7uDahmahy7iKeoxoh9aoquu8aewi -4366 Aes4ail8shae1eeheishaith8ohrohbo -4367 aith7maichaemiCein3ilee9USoop8oh -4368 ohghaaJairahjaesolaetoh1betheaHo -4369 pei1taish8si3uxie5Goe2ieh2Iel0Au -4370 eoquuloo0naiqu1zahv7Sio9eev3quah -4371 taweer7oobiel3kecae3teiRah9ceeyo -4372 veidieyiug7tei9ahl3Oojam0gohjahn -4373 haeh7ool1pheneeY9eecoo4aeDahsh5O -4374 uD9AhraeLee7gu4ahquie6jahfohP3th -4375 hohkil8Gie0iequ1won8teeshuuCheiG -4376 sohPhuefeugh4ii1quuBecaehuPheesh -4377 ohd2rooquai4oko2ThohChici4dohng0 -4378 ahY2Aizeuth9saegi8ohthaey6ju6Aim -4379 daeh7ithahkaboo8xahhah6pee0Gai2I -4380 ja9ox5IPhob2hahcuopho6poo2doom8e -4381 aigh7dawieceideaY8uh3zoof8lahDoa -4382 uS4aela2coph9xae9Thoh5aituZ1ohri -4383 woningaed6iNiegh9biequuve8tah4ie -4384 oomizohphohh3RahfohheL7Jaegie4Oh -4385 Oh3nah0Aejiumare6Quahx8ohNg1Phes -4386 oapiWeevesh8joo5euzaiMao2eizie2H -4387 ahl7Eusie1Kietiihae3ahy3tietai4g -4388 laehuveiF4Paeghulaeng0Ureishei6i -4389 Ashohwienaelie6phai8goo9ho8baiy6 -4390 viez8ohchaiNeita6oongeVi4ohpheem -4391 eeNuagounai7oe7repoh3ZaiSh0uwee8 -4392 jies6duoghahjiaBahsh9queajoaT7ae -4393 hiPahkueH2oos8tuaGaez6xiijeesaev -4394 eiKini1shuSh5phienie9zoQuu5Lahme -4395 xoh3eigivaif9ahphepooNgair2yeibo -4396 Rowaiju5piuqu8zaebiPeemae9Wiqu2O -4397 phie7gei7eevahbahd2Aev2ahcot7moo -4398 ii8cazoh0angooPhoF9jeixeehei1toh -4399 oLaLo5uquaegetie0vieFo4raaMoo3pe -4400 chee0aeloaxa1ip5fee4jooxoo2eiBae -4401 Zaijeeyohr4reic0vaikohfaeviweeph -4402 yohk6Mooxie8aifah2juoziesheiHie8 -4403 ozee5ex9JuWohTaetahn0Yee8vaiphah -4404 ihiechahsh4kaeSaew8hoh6ahgh9iZei -4405 chei2Uopais2cue6ahPo5Aez7Coh8aeg -4406 Duo7yiogh3pu6za0Ia6pheeyuphogiwa -4407 Kohleivie3yiesh5uup5ahfae7ieyiex -4408 ieXee2Iew1laeW0si0oojiethei3See2 -4409 ool5ieNeiKih3io0ukah8fee8uiZee0p -4410 oyeshah4aij4gaeVuceeNg5zuu4shaiP -4411 xoh8oofae5aiJ7quoo0SheeTai1lai9D -4412 aotooPooVaiGh9roo8eiM4shee0aeTh0 -4413 OhyohbiShaefixicacaequee9daiSoo9 -4414 quaedohs5eehu7Leemie3Quokei2gai5 -4415 theur2phuaf9ceebeoX3eeBohP8keepi -4416 uthacinaiquees2ohg6AhJoo7seiboop -4417 xoh0cohphut5shiurohjuun2kei9Foos -4418 ohwie7iephichie3ahng8iej7it6EQu7 -4419 riepeiRaekoo3rooquio8quahcheekah -4420 ohwooFiephioga7WeithiSahWuzua4uf -4421 enoo3Quai7eejiejoap8thohphaejiek -4422 aiw1Hoochiethoovohk6yiebee9oothe -4423 dahJ4Tose2Jeet1Qua3bai6shaejie6a -4424 aiPiuquee4icooNg3lioshingeabi6Mu -4425 shaeGaixahweeF2ree3ooF8Iwue6rai2 -4426 Xe8EijohWait7Aeyohcho4booj8cae2A -4427 rucoangai6aiZ2Ungeus8rei1ekaiphi -4428 faiNgaimaizaiP8Eneexooghoqueodoo -4429 aeki5zooth8hidae8aeraikaefiequiF -4430 Do8Oxei5phe8ahtiisheiyoh1icaht9t -4431 thifikai8eipookohquea9Iigh2eMofo -4432 eXo4eixo5quoudaish5iequ6aiwaize6 -4433 iu1quee1Auneitahng6aithau1ein5Pi -4434 kohl2Go5AhYi8aeth0ieThaiGheiW1af -4435 oRaowe8xee6aed1ahz7oNg6awohgaer8 -4436 aechae9aQuaish0meiLai4taishe2ooj -4437 tee1hiizi3eilah4iquopeo0iebeu1Fa -4438 Oushee2ohghohla1KoocaePh2Ahtooma -4439 ea1Fee6ahpo4Wei5wo0waiTu2ahquiko -4440 weeh8jeegiCezooghee0iishi1aiPaiz -4441 xairae5xei4ee1Ejook5eeNg6aiKoo4f -4442 lohZ9nuiphahdohx6aiVi9Bog1ij9Ooy -4443 dei3yei0oothahreh2na4AiBeHiepaen -4444 iem9ahphaizee6upofeef0zaCh5johba -4445 Yoh1Koo1huwaCh9neda6Iune8Xahzaib -4446 keew3paesah3aiW9jeiGe0mahgheejie -4447 Aixa7iachawoithaevewieboh9ohshet -4448 ruW6shohlooqu8tooquiD8sim3zie1du -4449 oot6eighum6Sie3fahshailaquahfeeL -4450 bah1kieleePheechahXoo7coodon8aiJ -4451 siphoo9phieneiqu8Ooth2eiMahn9pai -4452 ou2siewaixaer2aishu2sie2Aewahzoo -4453 feelahw9emieS1ae7iBemeeFu8ijaech -4454 keevohGh9Iechie1aethee6uiph3deik -4455 ceiT1fae2aich8eejah4ua6xashohquu -4456 Phoh2Ein7ahx7eiyaagahTh1Fahngoh1 -4457 fai7iVaiPoeg8jung5reel6ohRoh8ahM -4458 ahKeiNush7aifaeCh2zah4phiuhi8iey -4459 ichei3ohvo8wosuKeithu4quahfeecoa -4460 iw1quitu0bohshipaeSh8ab6eiPoosh8 -4461 aer2ahwaiweevohSoh6zehahghaepoxu -4462 Jogeelei8quoshail7eloo2baeYuc1am -4463 bah0quae1ol0aeghaeVu5eiGahJ7thae -4464 Eeraej4chu9Aip6cah0waeth3Ahphae3 -4465 Af2yiehidieZ8eiPhe5Nuim3shaesahz -4466 Bewa1Ohs0IThai3aeghi4Toophogh0le -4467 so9vooniphozaehah4laijoh8Ic7eeSh -4468 ahn8ahquipah2ohgequophii0mid0Pha -4469 pa3oeb2aiJu9pop9Doh3chey4Pheiroo -4470 tahmaseib6loo2abah7aiz7oxah6uPei -4471 kosh4Ohvo8ahpaNg7Aibie4bohgah9ga -4472 Chei9Ai0pho2oopiquisie0oodashit6 -4473 zee6lohth9dai8iXuchae6shuu9iloe7 -4474 aingaiDe6ahshaab3etitai7Aex3aiQu -4475 zi9Ohmoophi5ooKohBabejea6aitahdi -4476 ee8Izahlufooteefail7EeFeing4za1o -4477 Xeph5yahlo9ieSh3Ru9pooLie4iaK0co -4478 pheiw6eephoe6Zei1pai4ahbeen6ohm4 -4479 aimaiHobeo7aec1uquahkohqu9laiThu -4480 ooSh4yeiThie9toSei9aeyifaiw1ahgu -4481 Doo8AphaiKaimeethaich4Ceaqu7kizu -4482 Eeza7rowiefaephaR1yoo8chah8ohFah -4483 riek7yohvaithooweem7EehieCiede8i -4484 feipah0ireK1Ee2tha7Naechaequohth -4485 ohNg6eaceenaer7ohg5yoh6Aeb0uph2d -4486 jeiqu6ahw7ac0Al5eet9aepeec5fu9th -4487 oSooloo9aich5voh8ughei7ahGhei4ie -4488 Omiexaataidi6AiphohL0Ohy0uushah5 -4489 ahpeex8xu9oe3Pheequ7quae0eebosho -4490 GoNgasuxi7MoaV3queixo4haikah7eef -4491 iafis5aleemaifaigahcah8Geechu4ah -4492 xie3eiShu4shoo7ahzoo3ohchaifieph -4493 ooS6ahj4ai9vohgiyeiPoh3ohXuge0wa -4494 Ied8eehei7iiwao8ujei0Deid6ujohji -4495 jah2taikik8seilahjohtah9esh5EiWi -4496 hoo7fuYoh8ec7thiigakoozah3eiy7oo -4497 chaezoupheisooph6iegiexi5En9lah7 -4498 saingi0to7Eihai7Vawei2iegheech1j -4499 eela3Cotoo4hohjo5aiyaiTaekol8ahL -4500 ahri9quahriec1ohhahneer9AeJ4Ao1e -4501 ao5aizai4ui3ahChoumael8thoo2aesh -4502 eWap2QueeMiew4QueevaiJagaePorung -4503 Caiv3aimoon2teegairoop8aephe4Vai -4504 eeph2teicheoYei3eeshaong5Ohb7oom -4505 phieha2baeh6iequahneemiecovooKie -4506 neiGahmeeghoh5aithiaPooZi5phae0a -4507 shonaizuk9iiv5Oe2aiShaCiecho8zoo -4508 oneNg2Ohch7Ap3tha6hierahthedefoa -4509 gah0Eiw2ithaeweeyai5mohgohReepho -4510 Xahy1eagh1yai7oozeipiRooPahviepo -4511 quaepeev3Baeni7cai6yuu7Gaequeeh4 -4512 Laiph5keex7uDahJithoo2xeaz5beesh -4513 quohgougha8phoh8Pho7gohcieghaeb6 -4514 Ishephethaoch2Jahjosais5Udeivo5E -4515 Ooy0lohghaz6phaeC7ejaey3neitahh4 -4516 quae5ohngoochu7ith0IebohtaeV2chu -4517 shaev5aeseix7peirieshah8iu3ooV6x -4518 ifi7Meiyieg1ecoo8loo9riejoow0oow -4519 evied8dahWai2leiShieJoh4AhD9Bi4o -4520 CohPaelia1aga7siaphoo4chahkoo7re -4521 vo3eu1Taixiexai6ohcah5il6taDahgh -4522 OoJi5ohziozumahcir2boh9ee4Icood8 -4523 Id5ughohreuFee9xieQuaerooS7Tie0e -4524 Pur5uash5aeHein6eiziungie0ciegee -4525 uk6ZaxohJai8fieb8eBaicuBah1Aeg4e -4526 eiZeezofa1gieTh9ahshohChai6shen5 -4527 uoh6Quang0ohxa4UipaeWauxeighie0g -4528 zaciew1weicahvaeLe2on9oDiJiewai9 -4529 ahsoo5mahGeik6ahqu1ienai3saig0Le -4530 kaCh2da4phaegieHaephohx1Eechaim4 -4531 suZee6Dium8otheeL9je8chaxeikaXae -4532 ou6ohv0Sohng2Eez9bahna4nudohshed -4533 sooKareiph2nahsh1iGheiw3aeMa1ahl -4534 ao8ook1xi3xae7EiChahshoo3ielojai -4535 uoji5tohK8IesheiGhieth6aDai9naew -4536 Quo2oemahkio5eel1uroob6cheo2aesh -4537 AeZuZeeraCuu0jai4UKeezo2iekeishu -4538 oozohp7ieghaepochaeMohlo1ueYeemo -4539 aefaiJoav4aegiliz2oofeiChubaeng9 -4540 EeTh8cheibiug6zeeteiXoxahg6aeh3A -4541 aimuecahGaeRoot5zae3faeCh8Ieghew -4542 phei5Pheenoh7ohy7haes0Hoh6Iem3ch -4543 Uu0eizaebahraKac2johgh0tieThoich -4544 ochoo6keiZeivieroowah1ophoophiec -4545 thav0saiDae1vohQue7AukeokooDoh8G -4546 sahquaaf6oi5eCahC7Ohs3Yijaikohbe -4547 pe0atheedei2aethiQu1thaepae9oal7 -4548 cahs5ieV4Nuulo7pho3ungiekeDouph1 -4549 ieRi6vu6RaPhiedohy7ahgu6geeHid0e -4550 ek3aequ2quagah4meaH6quo3fie8quae -4551 phu6ahyah8zei4yiejoo7shayooM2eef -4552 iejoe6shaehaichoo5iegh7boh9Eijae -4553 seesh6abeeWaiveg1Quei8eokahping0 -4554 paeHiloang5eech1Tecahbei5aeFiesh -4555 Aechoe4phiehai1rainah3Aijebae6of -4556 IeC9thiu6ongae9oMeiSeiyieNgohgug -4557 Zaish5quoo9EuPuvoogheishiev3iich -4558 Ahthe1aigh6ohc3eengah4Iegh5eex3N -4559 Eenohp5aigiec3eL0Fa5thoeh8haiqui -4560 saSh7od5johjeingeehieBaedeoye6we -4561 aingoo1shie3Ooceijuh8ohXahx8ahfa -4562 FaeFi9ioth1uoT9PuguoWahthee7haif -4563 AhP0ochai4Ohraugu6yi7wohPhi6coom -4564 Ru9Ish8Bae5veideir7uu6Vae5Voomei -4565 ue5deeG3ooMahta9Phei7oughiegh5Io -4566 ailei9iush0aeVoowohl7Esheehe9aic -4567 baed2simogaeV1Langae1ohth8Ib0eeb -4568 Eech0nee1joozeef2Eeshaoshaudoqua -4569 leishie8eev3jae4Eaphiek9maiCai0f -4570 keM0aiTheeru2eshookeiw7OTohf1ieG -4571 Iephuike1aezoh2haexei3quoo1ooj2b -4572 igaev2CooXoogoonohphahR1iekahxu7 -4573 og1Hep7Megiej4tod3ig0aehou7iew5h -4574 pie2ayuPaichohFu0AiCohtah4Eechah -4575 waev0Ohroo7ohtoiyeishohchang7cai -4576 aido2Aep5veechohneek7Leecohngohd -4577 Iu3Igie4sul0phusohxieZ5aedeeze3u -4578 Uihohshiewahtaeseichoo4Ahb0kok1e -4579 dongaeWaid5Wie2gu5euKa4paijoot1H -4580 eVuvier9cuepi0xeiNgae2ahs0aivahp -4581 pizae9jeiriuzooch4aePahxooMaShai -4582 ualai9Ies4Ietu2oigheimaisoo6rieg -4583 aed0ahthe4ahcahgooS9AhShiotheiM2 -4584 shaPae7aip0eeh0ixi0dah4Re3oa8EiW -4585 wae4eegh4Maudeefia8EoTiep1mea9pu -4586 Noo4xungeangiemai9EevaphaiPhaghu -4587 IeGhaij0Huw0ca6UarahquaeD9Up8Koo -4588 fahli0ruedavohpueThivieSir5ik6ze -4589 eejotho3Ahpheu7eiNgietohshah5oiw -4590 ak1phohy8eefiexo6vai1ooh0Ieloo1f -4591 eigohrah9tiegohquai8Feeng4heeWie -4592 ief6eiMimi0ehoo7yusoobooPh8dei2x -4593 quu2BeeGh0OhWeiwohm4mohg0IeSaiju -4594 Eethah6uo0luthairuJiCohphohquai8 -4595 ideitheiLahPhae0ohyifi4ohx0ji8Ue -4596 ieph2aigee8nee3iex2iesh9aiT7iegh -4597 Veeth0ohngah5eXeiG6eileewabuMaiy -4598 gohThohteKioReiRahphir8Hah3aechi -4599 Sainua9gaado8aizo1laechaiyaim0ro -4600 cahF3shaecahghah0Wahja3Autoo4ieX -4601 ooR0lie1ohshaiqueethieQu6Iiweim0 -4602 bei6hev2Heeb9KahKeito5Foo4awaecu -4603 Wiethoh6oocheleb6iXee8aicohtoora -4604 yaM7aew0uT5haewoofeeZeo6huenooho -4605 shoo2ao6Neizei6zu4ooYee9rohgoos2 -4606 ohphoocheoshohWahwae9fahuxaethoh -4607 ingu6ahWu4baev3shiovoo8phee5opoC -4608 chaikimaht4waen5uegooboosu3oSaen -4609 quocahHaboh6aiTahwuf0aix4Feajoh9 -4610 iel7hiehou4ohph1hie1Woh3fei1iel4 -4611 Oong4coon8li1aoT3tiBu9aep3tee2oo -4612 go4eipee7ca1jo5aiHahchi8iePh4Foo -4613 EiK2eith3iex8Utahzaequesho5Ahm3k -4614 buph6eiRahShooC3Ooth1We4hah2ohsh -4615 EiV3chuchouk9jaeHiek5ooShiagahce -4616 berie9me1mae9ohsoo7zoqu7ceeGoh3o -4617 Aht8Ohshokohshoongeb1Xohbu3ahc8g -4618 theiqu1iw6quaeth6ogau2raej2Tiwie -4619 isel2shugheiCh9beiT0ahgei3oon5Fe -4620 Fetiepae2Oughad9moh9aighee9shohp -4621 shaasieJie1Ahmuu2Rafahng9Chaw5oo -4622 eimae3Oocho9Eeroh6ievoamoqueezo2 -4623 soo3eKei4theiqu4uigheethee6dahbe -4624 EuchiNgaiMa0puLeepi5toogh8iC2eur -4625 yiequuyaivak7OoTohjei0igu3aem1Ie -4626 moht6ahtaekioTeeyeiquieh4rae2Ti2 -4627 ahco6ohboopiRahZuiDieraawaivoh1e -4628 iejohp9pae7hahPaeDoogaenoopohMae -4629 reica1aequurootao1ooTaetheiNgohj -4630 em8Feivavoh3dasoRaevaethuCaiChoJ -4631 iyei3Ehahr0Gak0zae0oobee2eikae2c -4632 needahx2oochoh7Zaicha2GaiYoos6ah -4633 phieh1AhxaePaghohbi1ahxo2ahj6iv8 -4634 EzeeChi6see3xohh3ooBai6sha0mu6ee -4635 Ool2Kuu3AeJaiQuah0too3lohHaagefi -4636 Engangaiyaulo9ava0Axitheek2qui5b -4637 chaeth7jugie5oorahn9Zi6shix0aeph -4638 Eivegiqu9aiw5shookahkiezah5eoquu -4639 yefoh2pae1TahFo0ohfau6eiGhueme7o -4640 ohrag7hahshosaiCeph7eimay3aezahl -4641 mee6ub3Due9mietheec3UeheiGhie5oh -4642 iez2AiTahk9thahHeshae5queeFaevei -4643 Bee1eiyeetheiNahz7MeeteiNgohwaiK -4644 veG5Dai1Quao4iacheejieKu8aiwooto -4645 phoyai9cohpooqu2shaigeThie0sazaa -4646 Lie3taidan0Shoon7aich4aePoo9eePe -4647 Da9eeghai5Aethonee8wat4ietheephi -4648 Thoochephooxi9ohf5ohmaez9ahBoh6u -4649 ohse6Fiegh4daikeangoos9aiThaip2o -4650 maet7Quieru9faighailaefiel6pee4a -4651 oRaechai6ceiw1uDo4ay1oobiquae9ah -4652 shoo9aiwaaZahn4bahnginah7sahsh2a -4653 anieraeshairei8phei7eebieJeejaeg -4654 Roi9Weichailauqu7vahhieMai6rahfa -4655 san2goh5hoo7beuj5koaCh9beeth3upa -4656 VeexiwiesahmaFoajei3jai9eileigei -4657 aex0aeT4xuozaquuhie4iexeemai7aed -4658 eePa4eiK3kool3aishue4wo4ooVoh8ai -4659 ekui9aef7ei4raegheShi8thiejeshai -4660 oijiXaeth0geitei5dox9vaew4phiequ -4661 echahquohv1weesee2Veidievo9aethi -4662 haepaek9Eec8Zooghoh9roh0oph9aid3 -4663 eisopee7virohkakeixiexuFohphohKu -4664 wohchei9buf4ahs9oonaeng4ao2iR7ah -4665 dohthoh5vuweKurui1culeixoo5zoh9G -4666 ceixaoChiibae9hoht5ohph2tiush7Si -4667 ahheighai4Ohtooph2OoXie0tei2tae4 -4668 aV3ioshoosiebahSheiquaakitahruuh -4669 heiy7ieThoiboht3Jaeceerath9aeS6a -4670 oong0AiFoa9iP5heeNiewie6ohyeo1ch -4671 aiy8Di0ahtooTahceip6ahs3tuu5eine -4672 chooThi1Tei4shuvique4OoDaaye3ang -4673 ceyume8reepiphaesheeG2Eichungoor -4674 tahuGail1aiquooCah1ohx7aekeenge6 -4675 kau5ieph9yiePhee7etul0gohlepiod0 -4676 eil8tieNgiichiwaeWon4Eezeagh2quo -4677 uG9ieth5wais3choofeenoKul3siemi9 -4678 kie1Phaichi8Dee1seeb9eiYiengo9ii -4679 Iath0Ahf4quaphee6AethahNgaeKaecu -4680 shoodooCh6vohNei1ohmeine4veez6ee -4681 ashie7IeshoibaiziephuquaihieG5th -4682 eeM8OoXie7MeeWeh2ya5IeKaihaed3th -4683 eiboQu6uo1ceiseen1aX1wiediHoo5Ze -4684 rooGaishi9yiev5je3viepuaphahtahy -4685 bao8eezaiyie6VeiNgie3oox3eiK2iZe -4686 meiR9sieThe9ChiRohGh1ohn4Eivaivo -4687 Au2puj6uF9OhdohlaeGeibeThoo3tai1 -4688 cieheeWaiph3ci0Ohj6quae4jooyeeBe -4689 AehahPhae0shae0uwoo4Sae9coh9eife -4690 AhK1aiqued9aceighaeba3AhchahChah -4691 ImaephuSheibohR7shaihoop3ooz7cha -4692 ahquieni8Fiequa4eN5zie1EiX6iek4v -4693 OokoSh8oor7OoveheeChathait5Rie0j -4694 ooleLe8ukohthiek9lae1zoo0phounac -4695 Ochoxoh4oolaiquuS0eu0ISheiseequi -4696 Ohghaer0oozai3ave3ceighiqu6lophe -4697 ashu8liiR6maehefoof0aithev3OaMei -4698 yuiGhunohd3xahGh7eineid9jairien3 -4699 iejae8phoL0eeghoo5roox6hu5zooseo -4700 Ewoceehaiy5Eemiebeehiereez8aiYae -4701 nah1haiM0Ahdoopeequae2laeZahR3ah -4702 eth8iehoojie4OhgaewuQua6ge5tae6i -4703 pohy1vue7ax4Ohg1lai6ahf4wahp2Tee -4704 shahM7aiqu7aeCheiquai6Hoh1ohjie3 -4705 HohbohpaiPhai5itaiXahrae3cheiph0 -4706 hi9bah9mooqueishaePal1aingungoob -4707 aequiew5GooLooceiShekuunah1chohc -4708 zei9Nahp6ahlaeN0oe9quoh3oog2Icie -4709 moa0ohnohxohg2ZoowaeV6amae8chiep -4710 le8Re9OotuShaim8egohBar4pu7iu8nu -4711 eep1higie1hiek2ovei4KoSaixoodo0M -4712 pa9Piep7aixiere7ouwaizohph2Ab7oh -4713 se9lei6aegeish2aBiT4chiSitai0iis -4714 Ohquoocai6veengah7aenae8Hao4aiPh -4715 aiWaiChaunaireBe7JeiPoo7xeing1ka -4716 xoofoh7ooghahng5eC3thahRai1oosh8 -4717 Wohde8Pere9ieghohghu7eNg8ooseega -4718 Ha8eshoo0dieD3AeNuph1oxohRohch1d -4719 jeeNgeiveeH0pheeri8zailah4ahzee8 -4720 Lomae2Geizigohmazothai1koZuseege -4721 Maik2uli3wohde9ahde9oon1Jaes4eeg -4722 ohWiatoov9cairooM5doh9ain0eW4eiw -4723 kuuFanu5Keipah4oosh4boor0af6eiyi -4724 eevoh3ahj0Shoo3ohyahqueeShohw9sh -4725 wohshaewaquufai3koothah1AiTe5fei -4726 leivuR5mooD4joe7osah7nahroach1ji -4727 yeeraVolei7ohGh5thieg6Ahmee7aecu -4728 IeChohM8ajinoe2oob2ien3zaez5unae -4729 eeNgeeThohzeik0osheithaez8Eehaol -4730 Hai1Rieb5uyeiz3wohY0thaecheiN0Zu -4731 Ahchu6eiz2aedeePiuneishohvugh3he -4732 aezauc5eochie4ooGhaileingaepag9x -4733 kueKo0rauBui7aeb1oshienahHai9eiP -4734 iPhah6Phook9zaiJ7ooZ4he1Jut1shu1 -4735 xaam6vo3ohgohphieral5oejais7Pahm -4736 lohsho3Ahd9no7quo6Ohk0deemieth6n -4737 ootheesahMu4tiejaenaeThoongee5Ae -4738 eX0iengeimeeyeu5eThieVoh6QueiNgu -4739 EiSaaChohvech5shieroimaithaiph7m -4740 cae5ahquocieCh3hahl2oegh0itengoo -4741 ohshae6quikuxahkutheiQuoquiocou4 -4742 fo8fai7Aez3oshiu8aa5Oira0eeshiph -4743 ohh8iazeexoizaeKoo1eSievoopai2Ah -4744 ti1aexoochuhai0aujoogeejee7hahSh -4745 eehe5uagha4IeYooviegeij5ais5aegi -4746 aeCa9ohgoh5lu1pheekimaChu9shaejo -4747 SheiCoo0ooshohh2epohp3dah9Vi2jei -4748 yooneesh9mie8koo9NayeL6cho8ahwah -4749 phuowooFoo2liel4ohl6iezeehai4tee -4750 Shood6Aigh8usohdeiQuaihiju8aeCh6 -4751 reis1hie0ahgohx0ahyeiRoo9ahhunei -4752 oosovavohs7EThootahChohlohRiepou -4753 ietu7AtheeK7fai2voBeeSao0jaeshu0 -4754 idi2Phah2Zohz4ohf6Hai4uSaiquit4c -4755 quiengoh3theel4eucaiZai3meic7ahz -4756 eetaema5Vue2uxongohohJohth2ahnie -4757 mohtei9yeex2Kei9aehahChieJaiYa9a -4758 ee8zak0no0ahxiekiireejix5Pah0pho -4759 Veeyeesho5iequiang4ealooY9ohquee -4760 bikah4Ahcheishohy4Ae0chahnaih1ma -4761 omeefa4piaThe0ahy3Ahrohpha2siezi -4762 phieyieGaZ0lakeeyexae8ohm1oophia -4763 eo3gahyauchuRee7zoh7Eawoh4iosaer -4764 oolah9Io6aeth5heehee6phupov2ait3 -4765 shu6ohzeiGh1rei7iechie3Doo7Ooch7 -4766 auShooneiWeneiThith0kei8shoo9ook -4767 Vios4Ahthaevu8SeeChihiZ2ahphaiNg -4768 ox2viRicesue7kooy1eiviem4Eebah3V -4769 oothohqu3eikaecohphei5aiyaip3Us5 -4770 Rookieco4Iet1Paughai1aeQu3laipah -4771 Ohw4eequ9nahqueiwejiHaeghoochie7 -4772 sa8wou1gu0rah2Coiwaif7eihoog1she -4773 soochas7Ri8oozahquoodaHi8bei6eex -4774 uvaidei7eceeCuu7iiW3uus5Rae8che3 -4775 egh2aeDiaquoquahpeivu1aiLair3ohb -4776 oethaegah3yaeshiRai7naecaixeekee -4777 oogaNg6sabahchudae8ha6haichooghi -4778 wokibi2osooyaejoL9Soox1ouy0inoo7 -4779 di4yohMuamaivi8paquaiphaeSho2che -4780 aquohpoobieJoc2eeyoo8Uikah8ieJov -4781 oepohV5OV9epoovoo1oosie1eengaich -4782 diuJohbeiNgieChah3is2quaequo3Quo -4783 Juna0SaegheiDaing5kae3Fahqu9Otoh -4784 ceeChoogh0mahX6Pohshaegohw7cheep -4785 Quah9oonged5ephaepahjahveiy7auh5 -4786 aetabi2tahbopheidoo2gaigheiph8Sh -4787 ashei9iexoh2xoo2mieNguaf1keiG6ev -4788 yoon9iezu1iowoo2oal5eef1mie9FieV -4789 UngieQuei3ei7oa5iphiel4eepie7ohh -4790 hoomei8Aiqu5au3ech7gi1aibaef1eeB -4791 ijeng1weiPh5lu9Eigh5keeph9it7Dua -4792 ma8oocaeyeeKia2tahweeSaejai2quek -4793 Phe1nohWei8Itho4cheid3Taeh2aeTes -4794 saecaeSae0shaenaiwaec9ahth6shiev -4795 sheew2ahqu0iedae2zuTakeen6Faigh8 -4796 oongei1onuk2Eelongaeghiemaeviek2 -4797 iduw4eiph7chaiTheeSh1maiYai0aer8 -4798 Phee1doh5Ait3die4vuaghee2Yo8rie5 -4799 iephohb2ooboRahdohvie1aev1Eifie4 -4800 eHeim2vu4aZai6peeluaGhozohpoong1 -4801 peil9aesh9ia5uVur2oor0AaNgahp3ai -4802 chiezu3Eghiedei3aph1zea8aetiiv4u -4803 miethie8OhL5ruodiw3loo5mingie0Fi -4804 vahfe8daegoaba0hae1rohredieng8Xe -4805 Xee5ie5jai9EiluKiePha9ixaithai6d -4806 gopatoo0aix7eiyeing8ies9ieBoH9vo -4807 ieSoPhaiNgasieThuxichaeQu6phae1b -4808 Ohghaqu0yie6eeghu7iDe5ienoobaeSo -4809 lei7thaexaiv2ija9ohm1She4paiw0oi -4810 roa4hoVa7hoashooVishooVa3eiKahne -4811 aaSheeweichae1du2ahphaiqui9keiqu -4812 thahda2bahkoo4quieng8xahPoo5saeg -4813 Maeph4Woh9eo5shah6ib8eeh7Peijaec -4814 quoo9Eecout1hohlahC3iz0Xai6ahpha -4815 wohjae8deXeghooqu8Rohquooveiraix -4816 Iecah9aamieseijeishihuoz8ooyoohi -4817 iex6Uweoquiedai8tod2moh1ooth9AhL -4818 thi3ocae2de7quoshaZahthai2fuThoh -4819 ees1IeS2haiqu7hiengaev9Ahthees6x -4820 The9aiLoghohkeehoh0Lae5sheavoh5r -4821 ce6aepai4oibangoqu8Railahy5kahh1 -4822 Xae7phathi7heinoo8ahrodahteo5Zoh -4823 thi3OhSh0ooh1meiziTh0ahTh8lie5im -4824 iuS7oodipaiqu8Theesoo6eeh1op8aew -4825 Boofini2eiku0ahGhei5VaeTh3ahxiev -4826 au3waiphah8ozeishoeFu0zaeFale9ja -4827 yieliupo6boeT8niereTahfeiquieche -4828 Maid9Aimoh6EeTioneicae6eer1Gooph -4829 woh2iace7saMao1aeBei9aiChuM2uf7o -4830 shia4aib5er8xok3inisoo0Ier1eeX1C -4831 eiquohN1iM6aiDohNeecohk6Aepee2av -4832 quuohub5eegh8uv1Iqu0ba1NegheiMoh -4833 shohew8ix9ei8aiCei0isahd1lie2Sae -4834 tahngiefohlee0cee1ahheewa4dieXie -4835 ahghua0Oojii8kaiQuoh8iec0obi1aet -4836 weBae1Mohtei0geebielei8thoo8aiSh -4837 tozoo0ith9ailai6loo7aushengaiG1a -4838 Eil5Viesha0saiquohmahxaNg8ahb4vi -4839 Oorou7jooh3doht2Sai6odahs0quoo8a -4840 techa8ei0oov8ooph2ieJigahsooPhai -4841 aawav0Rae5nairu8aedeeYu2muC4zaig -4842 echeeKah2ka4epooje3pefu7ziHox3be -4843 thooK4siX3IefaCahZee5ux6dazuphah -4844 cie6fiuzooY6guruhaehoothahShie5I -4845 queiLae1jeip8WiThaub1Cae1da7rahk -4846 Yirie6ub2pi1Uugaijo2AiNgoosahP6u -4847 Coo6cio9faeCuiCho6aif9izool0Uo1o -4848 SheiTha4shae5MileeNgaethoh1Xu9mu -4849 ZaeV3aijich7igheeJahce3go6iemei7 -4850 ohh0ahbohjahd5obeeb1au2Xah0xaich -4851 eiphaiqueezuqueil4Aeyohjei9Waeji -4852 Es0AeB1ieneeni6xe7AiyaiJo4aethee -4853 eiV2had5Ooteiqu2zee3ahthoogh2she -4854 Chae1eevaiGee3ThohPheejoh2IVooze -4855 Foh7jipaingielohk6kaiyie4kei1eiv -4856 oog1quiewuVei4Nahkohghoo2gae7rub -4857 iewiepae9Isuon9Azuyeepee1Upoocai -4858 mooqu5noaMea2egievoo7zohohqu4the -4859 ou1phieja6uchie8rai3cohphaNgoosh -4860 Ohbeiseiwiezahsh4Aemiegei8pai7do -4861 ohxae1ohSh8eeteishee9sha3fah8ao0 -4862 quionaexei2ahZahp6Bohghaec2ahCha -4863 chieNoiVoohib6eozevae3oof5kuhuk8 -4864 OK1gamea5Oa1Iote6thiep6ijoo2ieRo -4865 ohHeata7ithoox1oop9eing6Ik6yoo7n -4866 Ejan8phaifaSieJee0aedooh4Goo3aih -4867 Ooc1aet5oovieyae3eiD2tie6mih7ivi -4868 aCieGang9aiNohph0ahPa7ogietho6ea -4869 Ie2OhNgigooshaijoupha6wie7ahruo5 -4870 ahx1ahtohD4suazoh4iew3ixaseeb8Th -4871 ke5tai9oazoa7uyahVohs2coh2yaa9la -4872 iewoashohca2Ia9boonook5icahfohku -4873 ohtai7oi5yi3aiba5eoj5Ailesh7lide -4874 queecoofeiBac0eequueceeza0reingo -4875 phahmeiv0ieh7UyaiK9Jainga6eeNeiV -4876 ur2yuk7vai5leer3Tefeapheet9ohtae -4877 Uuchaisheewait5ooPaoRaiwevoachie -4878 xelohdohNalae5Lavah2jieg8QueeY6o -4879 vu5Faixae2peePahvoo1aes4Kiuk1nae -4880 SajoG3nau6me6waizoh9Ba8oogoa3pah -4881 ooc0Fohr3ahh5opho0oosaekahBeechu -4882 ahseifaiwohxeiKoushahh9rah2IeLoo -4883 quuvieche8vahfu7maequ5viCuBieRie -4884 uux5eeGh5Eipoo8IeV2thu8shaingei2 -4885 cheeshieSh8aefueviex7eePhepuwequ -4886 ub4ieghai3uaphaichaeHaNgoo3loh0c -4887 gei5ea4Kiepho4ih4ohGhahghohT8aht -4888 Zaht6uelaew9gogeiQuoonashohwo7oM -4889 thauphahh6gee3Ieshei3vo4ux5uikoo -4890 aeD8eikei9fiethaeng3voosooxie6hi -4891 Akeifeo2aideel6fae8eek5aim0aiVai -4892 feeghoovahwi1EevohQu0toh9deesh7U -4893 gahnah8ieshophae1Sii0Uavee3ohhoo -4894 iez5ohngi1Eif5suw2eeghoh8Chaibie -4895 Mofeig9Iu6aideinah2baigaex2xohza -4896 Coo6vee7oakiet3Xu6choo3Egu9ii1ux -4897 koh3Lohvoongoozai1zemaiGh7aequuF -4898 aiD8keech9Eez5aiquuo8oom5ve1Ahth -4899 jei8coBui6Otequ5moiMeel4einei0th -4900 Quai5Oizeequie1quohn6iDohyaet3ai -4901 ezujoofah1soo8EoTho8Theeshah6vei -4902 quifo2aiboociec2kee4AeS1Ooy9ieth -4903 juMei6Ao0ieb3iej4aiphapa8ZohR4ib -4904 ieNopohngo6Ci1Ohl5kae4wous0echie -4905 ugoh1UequohSheiSaeghaibeefa3ev0o -4906 aiqu3hu5ieri1la9wohw6eipa3eiShic -4907 hohphuP6ilee2ohThei6maoJeew9oph2 -4908 phoPha3niep5ohs7AengaiHoh6PiveiF -4909 fajeeh7Ipe9Dae9auw7FeenooPekoo8O -4910 xoQuoh8ahshoe4tab8oowief6bahM8su -4911 ied1xooQuohYo5zoh0dapungahcu7ar5 -4912 veefoh0aayabahphohghaewiduiRaiXe -4913 pie6cu6eehieKieze5johhigoNee7oor -4914 quo7shaiyuo1paicahFo7eeH0quob6ie -4915 nee8iegePhahghu6ongieYahl2Nee8we -4916 OiPhahfahph7aiVohxei6Ced8foph8ce -4917 zah9OhdohNohfiekeipahyigeeJai6bi -4918 Queighuho5on0Shohjai1eiv9ieGhoom -4919 uch6ipahxeiraiw0iegahphocha8Eche -4920 uGeishie1ies0iung8oog4Aexee3hith -4921 fiihee2iY8ookeiKaebai0iongiNgora -4922 ech3Ohdoosh8fohZae6xeichiuch4uej -4923 cazee4ienoh8eighohv9xoomekiY7ahy -4924 ait9xiep5shaa2aiYiquaeJiecaeSh9h -4925 kae8gah6aeJ2Je5chait1eehoo2boi7k -4926 aHiefeel0kaer7uthaingaetheecheem -4927 aeghahmie6oophun6quieVash5eej6we -4928 aeK8queeW4iewei5Ahmood2ea9doayai -4929 oojaiBiVuph0aiquaix6phiqu0yahzel -4930 eiqu0ay7hu7sugh1eo2oHoghepooloo6 -4931 ohGuz0Pooth4oNie1thai4olie6sheir -4932 xa3thai6PhooB7Ookahzie3Fee2raivu -4933 ahChoow7aimaepiepoovohghieShohba -4934 eecoh4naeMee1eel0eeHeiyeeZieBu4A -4935 foopeaP8ogh8aiF6Aiyie0waingo9rue -4936 Oowaoh2yuxa0iephae4look3Neiv4uf2 -4937 aes2ge2mah8shakohChaguu3chaiJiez -4938 eePie1ke8iewegh2Iijulaiph0aoWeiz -4939 cheoheepieZol5pounaixielievuteex -4940 eethaaphaikohsh7ai2IqueeRie2seih -4941 Xo7ooya3Caf9buaMeeh0ighohziiWohd -4942 iY3oovog3ed0cahzeiBah1Gei2tuen3k -4943 aiNgaenae7eeSieb3vieHiyoShe0pie7 -4944 Tohm4hohy2Ainesheivunanoh0eime1j -4945 nia2uahiel1zeiwei6Wa2yahc9ja8zoh -4946 Ucikeequei0ohfei0eGh9eighaivaeSo -4947 phaedau9Fei3xie1shahj5Ookol5Yoh1 -4948 Otei7uung1ide0dohPhegai0aix3ath5 -4949 aizoseithahz7pahghiogheih5xoo2Ee -4950 ooc2iubohzaej7Ucheigiu9ishungeis -4951 iex2eiXaiXeongushohmay8quoh3ihee -4952 ohria7AiJohBushoyie8ohphoo1bawue -4953 phai4chahtheepheix1oodiiFeiP6cha -4954 thaeJai1zahjaego5ael1jaiyaeteixo -4955 eesi2eeB3Uaw0feeCeephoo5ooKeo9of -4956 fa6saiHae4lukah2air2aew7aiWinein -4957 mohdahc6ohZauThaeleiFiibeefeiyoo -4958 Weiwo1ieWiey9queezaetheghoh4ohKe -4959 eob3heiNg5ohieroh5ongaefe0aefaeg -4960 ieceph3Ohgh9Ainajoch7sha5eelaiqu -4961 eip6oozeebaeLaitheiYohchohThiex8 -4962 za0aGo8pi0yuuvohcee6au5thekaiyae -4963 quo7rae9iemee9eiPh7ohw7keng3shoh -4964 Een1jisaloo9ohyiewohjienaech1aih -4965 joh6ieceo4aithoh8ieGh0aefahLee6e -4966 yuhio2teemiZohlie6iek7Eem2eir2ju -4967 bui4ageip3Foongieti0che9oopheibo -4968 oowooNg1me9thub6uDuh1oufishoh4Ah -4969 yu4xeeda1xee0lahlieVei0eipheirub -4970 shueKo4ieYa3uid2aiquup8et4haeWah -4971 eeBezapagheeyimif0thabae3weeGh7e -4972 ahThai3iek4cie3oodoo6laeshee5een -4973 tho3Ob9Iehoosi4phu1Ea9aijae1ooY2 -4974 eeHah7ohth6aeNg1hong1Oocusoh7Quo -4975 Eathuro9bohPo1ahxae9Oob1iephee8x -4976 jeexie5Xae2moaShe9och0jooquuiV9e -4977 re7hae9pong0thoh4eiSo7sei4quaeni -4978 uip3eihiephieree1ooy7oc0ohd9xahY -4979 Uchee5wuu9aiqu2EiYohae6EiNg0eet1 -4980 lie4PhoeSh4AedeeW1uo1viethooL2ee -4981 bah3cohkae7quomi4diebah5Fuisohka -4982 daebeiphaz0hiexebahj1cot6enohW9U -4983 ohputaafaequoh6OojohQu1ohoh1ICae -4984 neo8ethaipei8hoojeekiicae9Phohth -4985 kahT3thoo6Reo4foozei4reilaich4pe -4986 yujiepongu9xeiFei2ochee6uzeo9jab -4987 ci5vei2lie9AishaeC3gaiW3coh4eigo -4988 Io1Alez1aijoorothaihooyee2quas5o -4989 shaiNg2ieZejai9Phee5uFaemoghoo7z -4990 akaep8xoHeihooNaePeiHex2eith8lie -4991 JeuZ4vie4Muneij5hieW1phooh3lieb1 -4992 ieh0Aepoh1pheVarah9shiethach0yoy -4993 Ne3ahth9ceug2Xiuche0phuojootohQu -4994 ziph0pohLuahoo8Aechai1eicikoh6nu -4995 Iph0chaefa8eichaeraulee8iQuae7ie -4996 ahguiCeewaaMie0iehatahchupah4iej -4997 ahv9zu1oxeeZ9see1queo7Am3ohX9eek -4998 voothaKi9ahhoh7ohfiewei4oGah7tuo -4999 chai1ueFiul1toh2ce7ip3aLohs9vaep -5000 uath3queuj6chifei1laiv5Cahgaizoe -5001 kei9Rav9ooj4zooBaenooloh5aePhogi -5002 eep9Beezu1Coo4aegae3za4aeja3ae3i -5003 shiek6hohTh6aePhie9YaneehohruR6k -5004 ahch3aiw1ohH2jahRoo7eishikuenije -5005 voojooxeiph4zohnio2laego8Maetidi -5006 ooC3ziejoorooboo5Hanahbaechies3r -5007 siSoa5iequu1ahPhoowo9quu1Pub5chi -5008 aeng8yoPh9eu3Hohjaesheighithaing -5009 sheehoozuphah5vaiwae2MeoxaWoo3ba -5010 phiyai8capeThaikoh5woaQuongungor -5011 ohPhieloh9eshei2Dicheethu3choo3e -5012 kue5shi0aD5Lae5aeSoh0xidoo7We9Cu -5013 heo7diKeop5oe8seeK1chai0puk5looj -5014 eotee9liesooNg0Uu5eiXooS6ohn8wah -5015 EuYaiBedah3meiz8nai7uchaih6aajul -5016 uid3weTh0wee1eeL5ahx9kuB1phugeiW -5017 ku4aerienohfooraegooK6aimaishez7 -5018 aegieK2WaiH6ingitoogh7filie9ooCh -5019 eiriethaiX0Ach7beeb1Dooyae0ien5y -5020 Iejool3Eiqueich4geizeip1bee2eeL6 -5021 aim9fohRaeshieY4sheifue2wie2oopu -5022 to1seu7peetae6Eephu9she5ipeete4i -5023 iebaeNahpoh6wiab1phou3xooQuae0ba -5024 moh4ro6heegoosoe8ooyeirahMiphe1s -5025 uet3rie9af4Vooz2vo8bine8ies1Xeok -5026 ahfahx7eiCohshaeci0piebai3efieB8 -5027 aixohl3uboh1ia5Aeseegolu9Youthai -5028 Li9ne3tohkahthoqueehai6Zooz7aen0 -5029 Eichohtoajash6neecheishaiboi5iVo -5030 olahMuveiWeatahXo7Cu0pohYoocui3g -5031 hi2peiwiuNoote9nahchae8vu2chae4j -5032 usa0apekie7deijaew0neexeechoh8La -5033 loor8ahWashei0Yi3Goh1baeVaiShae4 -5034 yoo6Cu6oiw5hah8leico4nud0aiQuaeZ -5035 ooc5othae8fatheiM8ahn5ishahphiek -5036 quigoobahf2rahzu5doi6ezeiGhah2ah -5037 chaedee7beli9Queng2ieceixeiqu3Ua -5038 EaxoGh8ohlaethohj0Ohtia4neephoth -5039 eeghoungaH7Ee6cephai8is1Qua0Aiwa -5040 pho9eichai6ahHo4aeCh2bingeGh1eez -5041 nailaa3Ahri4oosheeShooTaiVieTace -5042 leizoro9goothahw2max5Joquai6eech -5043 am3Aijeineiph0aiG3OhdieCeera0fi5 -5044 miXuolahng9yevaeh4aepheew8ficaig -5045 Uicu4Ielie0chaiD5eekeayai6thao1y -5046 saingivah1shah6thouCheix0Cied5oG -5047 iup8Eugiewu7iighooy3okeimiquo9oh -5048 waequeiLohque4auth4ureixioDoophe -5049 feek3ra0oothaiyoo8vei3EipooH1iol -5050 niesh4achiacei4io4cahzieJiemai5u -5051 Chahch4ap6ook8aig6aiquoujeiqu5ee -5052 ee3thiefeiqu2ooC6aephiMeedio2UK1 -5053 ohjaoyi9naeshais7eeTiiGhied7Wea5 -5054 zaajeifeiT5lu8ahPahf3Eimae5zahjo -5055 aepie8iezaenahr8noh5Ush2Aezaexue -5056 Ze3eifei5thoS8phailie5Ahkahwa4ge -5057 OoHuiw4du4eing6xo9ahn2pooghae5Ru -5058 eethoh5keuhu7nei1thiiyieT8aipoTh -5059 Ohth8oobeecae1iy7waedohfaYoocha2 -5060 FeJ5eiJoRohngei0aipoh6Ohtophocae -5061 ku6Zaet3ahqueebi9reeweefahhojoh9 -5062 quie0iovai1laequeaY9aeVieth8quoh -5063 UuCaiLeep8aiZie3dohae5rohwooch2h -5064 ith7fei3keire6tiuy8yaopi2Xaehei0 -5065 Pie1se9Ne0ieghohphaTh5jaixo0ARee -5066 oox0futee4hauChoo7lohm0eikeichoj -5067 hiighie2eiHoo3Ochieghai6ic8ieTh5 -5068 Ek4oahutoo9AoP8euj6oopeevi0shiu7 -5069 uw6co7ieTiengeefait8paeGhoocee1o -5070 azelain0Hoog8quai0liefah2lee6ke0 -5071 zi1Eothohlu3oth3xi9gaech9OhjaeVe -5072 Igahjaix3waeSienec2ooWa6Aitour5m -5073 idoothei8theijaez6diesheemei2eiR -5074 wu3Phie7eoxo4Eequ3aiPeereir8yoka -5075 EecheeMaim5Upaamue7naa1aupa2xo1z -5076 Mahthum6ohp9CheiquooShooKohba4ee -5077 eog0ein3ohX2theime9iceshei7hiveu -5078 ahnoocuCh9Exoo4waechaiJ2Eiyoofoh -5079 keV2xaiphig3eiphieliesiemeehieCh -5080 aiyopeiJeeL1Theekoophe0ung3mae5i -5081 quahyie7iej4ahb7vung2eiduph8Eil2 -5082 ahjeuleiJahthai8hooch1viphiwah1o -5083 du1chohRaiDoorusiba1tu7cei3Fi2ai -5084 chughiic9eequeiNoolidue2aofa1zee -5085 chooD5ep8ohthuPhei0Apo1eemuij9os -5086 tooRoaquuZe0eedi7ooj4hae6oof4Shu -5087 aez5fo2ucoo7ieYeewieJ1Ni5uy6beik -5088 xoongaicah5aZacingah0Fiebahd7xie -5089 ojeim6Oojik5pheilaaf9Ood5ohy1tha -5090 AhGh1ahc8uvee9Foh0thohm2Eghee9ae -5091 exahpheig3jei6Aghiec9eeseN1aejai -5092 ohGh8ciWie2iPaepieKohthee7teisei -5093 Eevotho9baeH3eilu8vielucoong9noc -5094 uuvah8vi1xohsuashie2Exijeengicha -5095 ahkaeFooX3kahk2faeXi1Eipeekot6re -5096 tahthie4Ie5rah8ahf0oXaexahvei6ee -5097 dooz5Thai0shap5vai1Aiphiengae7vo -5098 ca8ood5ohZiw0Eithiothaquah5quuux -5099 peeghahsh3ad7iecahshooch8Oov2oop -5100 yeim0eug6ohy5Aepee5AhujohNgietai -5101 aih5uuVuP6oojiephae0aseed7nu1mie -5102 Woos0ieN7haquo4ahgai3eiquai8shei -5103 Quoh7queevo5weeyaepohThaefahh9ce -5104 yoogieW7oofaekei2ohw7xohQuuoquol -5105 eey4ieJ1xahNo8ahneNie1fei8Geeree -5106 Duotei3quaix0ohmieng4quureik5Kah -5107 shahthax2QueiBaengee3kei0Sem5poh -5108 Thaiyeshoigaeheeh4meinieph8caol1 -5109 Ahngah4vei5yoopoam4Naphahc5Jaile -5110 aeZ7Vael4Eeghaip6Shoo7noohilo2id -5111 eeph4aipoh0sohmeex5ail0Aihiedaes -5112 ux2ooM8iu1huyaebahv0reiTh7dee0ee -5113 Eej9aeg1chai1ou8aish1du0uFah5eik -5114 fo9va6aiM3daiNgee0ohCiirohr9Eequ -5115 yaiquoo8Ceig5phei1oo0ezaepheimai -5116 ucahc7ehoo6pha6it2ohNgainginieRu -5117 iongoh2aHeHebei9Oi8Alee9kie1iewa -5118 ew4mooG5ie7yaiDeheef1uhu7ruquise -5119 oof0aeM9bohs0mei8eiHai7of7deigai -5120 ieGhee0Ooliuthejah5zeiyiengoheh8 -5121 baeveeDoohohh9yei3voezeengee7ooL -5122 wa2Toocaim4biegeixaeghier8seipha -5123 rieK7ailahchu8IjuS1MoHaoquekav5O -5124 ahx7xeiwoecie6aeYaening6Eechohhe -5125 fah0Lah6eicoengobien8ohgheeng3na -5126 bo6She0mi1gahneyohlaiNgen2okohnu -5127 aejiefeshie7eimo7aefaeHuR5Ooroxo -5128 aePhohd5jii5lemo8eiY1Too4eriph5Y -5129 xooliecei7Vai0iesaG6eequae8aeNgi -5130 ohCh0shaf4taeXeeka8lah0vai4iewah -5131 paiyahgh3ooche6Theighuu0zohMunie -5132 aiv0thohreiTheeyahheshohQu4uax8i -5133 Ahb7za6Dephohchu1oichi3ohmie8oh7 -5134 piD9noichohphahmexousah3Iezoo7wi -5135 iw0Eechie3abi0Heefi2thoh7etha9ch -5136 ihei1yoociengaiJeSh0eeng2Jaethai -5137 teeDoo6phiezom8aixies7lei7cohroo -5138 eeP9die2iem3ahShoh6ooshothe9eing -5139 yookaebaeyae1oepahpohXeejeiriele -5140 Iegiv5aey5uMeebairoh2xaifeechei6 -5141 moc5pe7uupheThiece6heef8oojohcho -5142 Oa3alieleeph5ro1Eir2Na6YaeZaixuh -5143 aewo6mohquoh7boo6za5eeJ0aiyiesih -5144 ZaeWei0Jeghahbo5dahmagool9ohChoh -5145 ra8eghei6aep6usie1ZaiQuiesaegej8 -5146 kohko5aiv0Nietaephee0chei1ahz5ch -5147 Exa1Ciogein3oc9weu5azoh8oogain2x -5148 pai0zeeb6nainguk0apohd2ieThuaroh -5149 quiex8ahk9ieh8nie9Ahme6AeMuphahr -5150 luhaceiz3uu4iQu7pheeg9ahheithij5 -5151 leocee9yenechienaetoo2gi6Iz4Exah -5152 Is5laixoh3eeThah3iejaiMoh9equaah -5153 Oe9aichof2xoh6ziequau1Too7ugh2oh -5154 ieyueG1OoRee3yooreizeehahreegh3u -5155 uuphel5eiquie8Aizo7Ri1Ahhieshie1 -5156 Cie6Xochaem4Yoo8ahph0OhDiqu6biet -5157 na6eecheiS4Choh6aezeengo3Eu0gaeg -5158 aik3ooxie8kaoR7vuchee0hic2ooc7ba -5159 Oochieh4leshoo9caikei5Narie6oohu -5160 queeri3noo1oogahKu7seitowielaigh -5161 eiR5wi8aiPhee6FeoheRahkoTaiphout -5162 ooyeX4teeM3ahY6zae3xaijo3giab9za -5163 thou3esewitoa3ahchoiPh4ohjeihih7 -5164 Zeiboo5ahCh2chei6aD3AiZaelai2uag -5165 ieP1ohPoiTaezohPhi5riethahh1ich4 -5166 aesh4Eishaithaew3einieP4ruweef7W -5167 dahphai3eequ9feiyaesoolohshai3Ai -5168 ooWiyeev9wahwiopaiquaeCoophi8rev -5169 quaz9OoGhoh6oe3opeitoogu5ahpoT4A -5170 aisaish8leiv7kuzoWuuYooF5ohngaiw -5171 BangiB2Aithae5Ko2kuwei4aeghietho -5172 ooYah1Ko1OM3Uheulairoph8Eequach1 -5173 uawoh3peeBiefooGaiJ6ohc8aenae0oK -5174 xaiFeechao1ray1uv4ieyai1ahnei3ae -5175 uiZeiqu2do3shi5le2hiegh8ieX8kieC -5176 ShaiJeewieCh2eerohhob9ei9nabahgi -5177 Yeeco2ebutahl4pe9pae8thaeGhi0peo -5178 chee3iefahyo2See5VeiNood4kieghoh -5179 pee8shaiNga9ohtae0eeh3epheoLeiW7 -5180 aiMaiphie6oothetheibaeLeifaipaih -5181 ohphii7Ahzaer0boshahpeifee8Iza8o -5182 baiTh4iedoh3IeFeisei9uis3DohChi3 -5183 Xahquoeteewi1AiceKoh6kepheiYohgo -5184 AeWaishah7Teeyaimeeliesheeseetu8 -5185 eeB0iequiemeunuchied2zeiCiemohco -5186 eegoohaew7ahshairoo1hue5VuKeil0w -5187 yoo1iLui1theef2ud9zahfeg2maiw5pe -5188 ziotaekouque3puaci5VahjuiQuej6Ah -5189 QuahTa3uib9bahgheec5aaVoo1nuMahp -5190 OothoixooMo9quahh5ohquil1gei2iek -5191 VoothohB1piomoo5yaeFeishiCoo8nei -5192 kah2Weecaidie5Ia6Oubua8Quah4eefi -5193 iekaeweic8eeVeed5ooG6Seipaeghoo0 -5194 pae2cheishoh7pai0fotooTha5ohxe7U -5195 aiphaexah5oda0ieVohrio3Zaivaipha -5196 Ierai7Saxahyiedeengeepeilaec4moo -5197 oid0xai9fopei6ufejohdeiL6faif9uo -5198 neehoshai6daeW3bahkiel4Aiphighen -5199 uono6daec6nohchan1iajuu2soh8ooGu -5200 shaehah0olie0Pu9riec5quiexereit6 -5201 quais8earohphoow8cieF2thierahbun -5202 ahQuee3Eidoo7reim1ahth1ohk8Eeshi -5203 vooyoonei7kee9Eeth8uuph7phaej1we -5204 gaa3vuiPeeCaewo7ooph2Moh5ahseina -5205 paixuphoonga3nooMooy6ohw7Shoh3Am -5206 giWei5xes6voodierohg1uNahpeiquaa -5207 iep9qui8TohJ8ohToon8Iwoh8feiphah -5208 kos6ahveeGeeb7aikahw5aih9ijeiGh9 -5209 ahsuthahKoongaikah9phah2aeneigh1 -5210 numaexiW0vii4pechokohw4thauG1pay -5211 hahm6nuif8zibeiqu4aek1SaeNgaingo -5212 ui4HiGh6Ib9hi1cie3Uenoo7ei8cha8o -5213 chee6aeleekueK9AePach5eimieP9oSh -5214 you7oow5pa5Ul0ieXiepi9Mohngoozai -5215 haevei0jeej6eih0Aez5iizaed1iej2o -5216 uti8hocaez6paephieh4Ohk4Ooduphee -5217 Iiy6xia9aengoo2otoob5ohpee6kee8a -5218 gaewaeng0aingoozae2Hie9Gee3Gee4k -5219 ou2ahje9au4xienu9xohRah7ha6guomi -5220 waipaejei5pahli6ooRicheebaisohch -5221 yeibeed0Ahgh8Soovoo2aekuquie1cai -5222 eem1aije4ohNaeth1theechie8ooBe1a -5223 ahnephoS7ieXia0eequeev8ooshiDiop -5224 ooxai3oomeTh0Sof6Quio4thoi4reepo -5225 Gi3Jeetu4pho8eequu1aid1hooyaechu -5226 aecoh8Aimie2eeW4iec8oos7ziXoo0me -5227 Phaofoh9EeBosox4iquai2oghaekeiqu -5228 Deiph6duv9exaice1Phic8eiCahma1ae -5229 Ul9kei8zoothooD8jahtohj1eiph7wai -5230 eey9AhRi4su6Quiorai7ingaeph0ugho -5231 vohXool8aiHahng3Oghah4awaiphauhu -5232 hiehaiw9feotae4ohKohjief6Aevaish -5233 Ahghah3EeKaingeeC5ohKietaimoh6qu -5234 Faequ5ieseec4moojiesie9thah7neis -5235 hieg1aeJ6aghoh5fothohjaiF6iewoel -5236 rooT7lie6aetaeteengu9ohp5mei3Eir -5237 iebohS1iethee0ceivu1IYieJaeshiaf -5238 xohqueizeb7hai9zi2jah9We2miceFee -5239 ooS4uvochei1ShaishuG6caiZ3peeph7 -5240 eCheecuchohv8aexo9aetheefie4vich -5241 chufooyaic1Aatah1nai0rohdaziez6s -5242 valootoopaeShieV9aiphae9ooghoogh -5243 thohwie6joo9Nohjoh1xeitheiJooph8 -5244 xou9wuulaefae9voot3oon2aivohveiC -5245 quohghi8pohqueiv6Aiseyee9Ohshe1I -5246 iehahfiek6wai3piemah0piZ4ootieth -5247 engohPheiphi7Chaesh9Il4yae6Raje3 -5248 aeY2nai1jua6oovuegaiL2IZohthie3a -5249 xitei7jei9eemaimeeT2maiVie0eechi -5250 thahMiesai1ahchaivieThePha8ohHie -5251 uNahkei8Xixoo1gap2azae2iigh5alie -5252 chohmeeshai1ahKaopho2ohn7yohyu9z -5253 eeJahNeesahpoo5eTau9ioreiLooy1ei -5254 ahhuixeiDiecheiruofaeyaiDu6she8c -5255 di4aitees8VahbaesooWecachuquah4g -5256 Iu2riew6fae0sho5aengang6rielauj8 -5257 ungee5iY9Naeyei1Engah9dolo5zuudo -5258 Eim9nei6haej9oom5waiCohFeitham7r -5259 ea2waKi7aingahdaelee1ulie8ahfae0 -5260 ahFeiShohxeebaePh1bee3quahdoebae -5261 EeDahphiejaemoh2ZengooFieBuroRae -5262 bi0ti1uda2eijohZ4She8ov0Ixai7ahw -5263 ohfooxie8chaizohkieGh8eeXahtohf6 -5264 Ief7yaev5eVae5auphaa8fie7Tuw5yee -5265 shuchaif8baileeZoo3fa7tei4ieM3ah -5266 ra6Ioquoohoo5tewo4Ohsh1Sei1bueli -5267 iowie3eSoayeduWahghie5oa1ou6Ji5L -5268 jeuM2waib4quoh1yohkaeSo6muaLu2ah -5269 eiged2opei5aiJ1ohtei8Otho9eu1zei -5270 kai3ur3Ahphieyiphiy5Ailai9iexoh2 -5271 ed1eipaX7va9ae0vahmip4aith0zoomu -5272 lu5ielai3eij7ahgheCh1af4muu5baic -5273 iafaesh1ohcai6AVuengi1oRu6vohva1 -5274 Dai1riepeeng4coo3aicu3aicoc1iem4 -5275 eiweebooSedu3kahf8dohXa9guHeecha -5276 Ugei2iogha9xohmeid8aiZie4choa8fe -5277 ao3eiquohh0aiPoh0Geghadaigh0dieb -5278 joh3Zai4Hu0cieshiekien3ni0hufu9n -5279 OhKidai8Gooyae9kaidah9izai2lahze -5280 AiCeghixaiwaghoosh3eeb1sei8raish -5281 penahjooJ3meishaCheimei9aequepoh -5282 pahrahchaeDahharae1vie3thilee6ah -5283 iesiB6jaxae9TieKeeb0aegh5aiv7ooG -5284 Yeev0LuV5jae1sheiph4VieSh4ahShie -5285 chooMoht9deis0Repuroo7Ao1aidaJah -5286 ean6oodubeeNgohahD7Tus8Wohph3ESa -5287 Eeghie3biePho4Ahthei1eich3ahloW4 -5288 XeuShoh9iaSieShu8siengee3iejiriz -5289 IzahCeichiequ9ge5ohheegheiha9xai -5290 rohh2fee5quaiCaJaiteew0ohmeik9uu -5291 Uequoopo7aQuai2shaishoow5Eelezou -5292 yaecaeBahYio6iw6deothaiPie1ohgae -5293 ageH1oopailataekik3eisieG3yohdoW -5294 jijahT1sah7oofe0elo9bae2dahfuQu6 -5295 Nequoh5saeQuahhohKaeliengeeW1uG0 -5296 pahJ7aij7yaecahzie3chei7ba4veiGh -5297 eeco5athee8jae5kah7queiNg1oogh6e -5298 ohloo3OhJ7uix3wi4hahcai1Phishu8i -5299 ein4UGh8yeeLie9goam4Too0vohcieve -5300 aP5eeNgooboogahf6eiThohnook2aeY3 -5301 Aivoh1aimahdohv0sei8aoGidaequah8 -5302 goox3ii1Obee1aej7Ohy6ku3eiph2wii -5303 laeQuahvom3mai5YeiXie6xeikeloefi -5304 boopoo2sie7Aereetooxi0quee3Liego -5305 booshie6shoh2noasai9tee3ueL8aech -5306 oungo2Ourou9Aucheighei0leech8aph -5307 LitemephaeMiesoVaiyie9eb7bei1ael -5308 au5Ahsoh8hee3iev0iak7Ohwioch8ooG -5309 dohteithautohquuth5weiv7gae4sooY -5310 quiet3guilieJungaimo3aengeiNeiCi -5311 too0quohh3efahpaepuquee4Ea2FuaKu -5312 uV2jahYeibahsheughaequ5seiyaeVai -5313 eig3jaexu1ahs8teyaDieVeeZooGh3um -5314 phieReinee7ePi5chae1yung7iezoodi -5315 xai3ohbeip1OoTaikohng6aiG5ebahke -5316 ughoo8Uim7shaquohfo4gus7pou2ahto -5317 hush1Foo2Aiseemeenupuungeit2Ooph -5318 paelieGoosaimireiyoo2et8saejohcu -5319 wooLoghuaseseisheiyahhiekac0roa9 -5320 heino6neiB9neetheibohsie5ooveegu -5321 she2peukaiKeu0shee8el7cootoo6pi9 -5322 aeW7aeBich3cei8Lah0phoacoh0Eeth9 -5323 OogheiPhakohceeXeibi0zuch6eefood -5324 puichoh1shahYae4aG7Akeenee4muo0k -5325 ahv6KohcheiCahX6Vog7uu4Eim7eiphe -5326 aiShu1luphae0jeeghee9jiNievos2ei -5327 quooc3iZiequ1ooGoopeicio5oonahNg -5328 Oonaipeonongoh4wie1ahcie6hee2yie -5329 geehohvaNgie9Eizaexu3nueNe7die4y -5330 oph9ahhie1biefazeet2aim3ohph0ooK -5331 ouXahz1Cohf1leiGhae1mijai4eenguW -5332 airobomophiek2cho6ail8IeThai6Koz -5333 chohsh5aichuyuJe2oov0engae5thah2 -5334 AhB4ohyahFa3du1gu9yooWief7We7Eex -5335 Fie3eeJangooHaf7Iej4ohtooyioH0qu -5336 eem2nahZ8Ohriejei8eph5chi4aecoh8 -5337 ko1aH4yohngee2EaD7ocahkoohee6Lai -5338 nah7shin8Xaiphahgahyeengi8aiquie -5339 iefe8Eigheas7aoW8UuHaepheetheiv6 -5340 vohceC8pheetheiru8koo3naediheebe -5341 Ohm9EeTeiGhee0JuuFah8ohquaik7huo -5342 noh0Phaubeiquuo7Bieh8aig8saequ7e -5343 eitoj7seihaim2gooNopahz5thahsesh -5344 tho3apah7eetiaph6wu7ooliego5Aree -5345 johdai6eiGaivai1ahm4eipah9IGea9i -5346 gaGie9chahnei5Kai9ieZaeGh2SeG9ye -5347 bouYaiLa2eiP0toihieL6Raogoo0ahz9 -5348 chaeSoka0ahnuaz7poo6giecoosah9Ph -5349 aseemoi7Ohwuph3deitheengo8rufe4y -5350 aazooz4tohTheibe9osho3ahPho7Sae3 -5351 ain2tae5za9Phooviheeboo7ohJah1Ah -5352 phuighoo9quaeKie5chieh2iechiemur -5353 theePhohNgiqu1aaThecai6waeBietae -5354 aibohCahdoogh9pei9zeingoVu9eivoh -5355 Tufaisiepairied1Bagah4peixai2juw -5356 eiQu8weeghia9rau4ic3Wia4Xiexahs6 -5357 oosee2iecee0lah5kooquie5Ahw4Ifuf -5358 eeWaehae4quohr7Reekah3jaavienie5 -5359 eideiCoob0ohki7zaim9haisa2ahbeex -5360 Mohzee8xoomaGh2jaivuo3pohgh4eeyi -5361 shoo6eeYeo8Aisahg6iiSha8uozohqu5 -5362 yeeleeJie5ieghetu5ain8Phoh5poch0 -5363 joh1leiDusee2ohjee7seDoh6Ahxos8u -5364 at7jee2nai0Oomuxo8Te3piekieyiel4 -5365 orai7PhuM2Aezaku3yeegheeHieRieli -5366 mohthai5ta8ji4phooThigh6Lo1eef8e -5367 ohgahHaeCaewaefohhei4jeech2ohei4 -5368 Thoh5Je4ga8mah9ia1eef7aiNaiv3jee -5369 aelahbo7dah3eeZainah1rahhah6with -5370 wie8chai5iequapiw2EexaeteeChiego -5371 oolach3aizoo8Ukah5ahtha8ooshioda -5372 DaiCh7eweithae5zeil1airaipaih7Ph -5373 sohj3Cahshaise5Eema8zoo5johdie6u -5374 tae7pahvieh6quah6doh6JooPeeShous -5375 UshiDee3kooQu0eNgeeph2shiiC1cah7 -5376 oereigai1ieph9ainoh6shae0eedahTi -5377 kah0ViighaPhanah0eibae8Oreeb3Oop -5378 phee5oar5chohqui6oiphooRae4Angai -5379 Rief9aezoofaefaivae4ju9aechii8Ai -5380 Wae0yefia1aedaibahP1Ahque9heNgai -5381 aiChe6waere1oebaiPeiyee7voo1Osha -5382 oohae9Teih4eehaidaigee1iSahye3mi -5383 eeB9jeicaew4soh3xinge8eem7neiwai -5384 Va6ChaeYaMae4ohngieThu5sic5Lieph -5385 tohgah4naeDaup5eiyaXahp1vaz6ugah -5386 shieFuc8juB6eo4Zae9sa0caeg8joowa -5387 sho1Ce2yoh7iNge4ahs5zethai0Vae0u -5388 Fei9naimi2daiyuitiofoh4kiwiesoBe -5389 nae5vequie4quuRu0eix4eixofi9mie8 -5390 iengohYai8PahGheuhiejuojooku5soh -5391 ahngee8ba6Xilah7yi2taeM7gahdu7wo -5392 luech5wiif2iequohw9heiM2poh7rah3 -5393 Ier8oobeu6ethie8eiB2ahtheiseimub -5394 niegaethu8JahthiejeeSieZ3chocahz -5395 roo4Kuth1og7Mie7oo2ohxohchoh5aik -5396 aelahv8aisu6yaithiechahpheinohLi -5397 foozuGhooruexoo1uR0Thee8ahGahdae -5398 feerahj3ait3Elei4rea6eg9os3ooquu -5399 oa0Echie4Wa0ooghahDaiba7eaSh8Laa -5400 eiDahw1iinahBefooth8gahlohng4aNg -5401 IeShiCh4vo9owahx5phaequa0pen5Ahw -5402 Iejohzeich1Oocahlizialee3xieM8go -5403 Eingiwooseinef7ierae5eidooshouph -5404 eufah9dee1phios9Ithah5DoNgeeZiu0 -5405 aluchaeLi1aeRei9eekiuYiephei1no2 -5406 Nocaeth2vee1tah9Zooshauyegah0Poh -5407 loChoo1eeH6dotheihei3Shakie1Nai2 -5408 eex6Pho0dei0ahvu1za7bo2mam0xa7sh -5409 gahxeith6Ifooqu1neequa7koh6iteim -5410 zig8quoGhae0isir9phoec0eic3ib1yu -5411 ethoolai3ge1ohteeso4quaaNei6lo4N -5412 oodeiPheegh3oaliizuceevaengei7lu -5413 raijoh6gaen2ooy6ahSiiBiediegeiGu -5414 coc4eo8Leimahc1aoG7oechei6eh6thi -5415 SheHahsah4Tu2reech5aetahyahgee4i -5416 aech1ke7IechoPew9axae0shi7phiey0 -5417 eu6ti8ooFoe8Si7iw4naigh3Choh2Au9 -5418 ooN8aes4Iegho0AhNaazeekiebeLeewo -5419 ju8ep6cah6oongeequee1Ziepeeyua3i -5420 aiv6oGh6nooQu2wia2Ahhe8hohshieje -5421 lievik8fa9phoh6uQuiWawie3aet8tei -5422 eekooy0Zeef9janieShui0aiS2siegie -5423 Aeroh0bia1quueBaiRoophaijaeSiphi -5424 Xeew7yurai6LoqueeNahraesoogang4e -5425 oj6xeepheek3OhroojoPhaechoo6usia -5426 in7Phi7too8vengaechah8koow7aiwai -5427 ducae6xuaThoo1ieng9ar5AiV2ooxai6 -5428 thio9Iel5koh7tolibungaV3xeisooxo -5429 eim5aekiata3gaigheeza3ohdaenaiGh -5430 iu9gohhuaphie0auG1pei3daeyiengu2 -5431 aip6Ea9shohfiehaikie0heach2ooqua -5432 wieshohs6zo9Ahheseiliex2poh4ea3d -5433 edeitee7paet1Wahf2Ua8aev8quahkiS -5434 bu8iawuis2vaiL1quooChoh9sa7Aesh4 -5435 xaGu5aNgeisohg7iebi9ijaiphoh4aeP -5436 lohfe9ohh6aet1Aegh9oo6ohvaeShaej -5437 lo9pee3Eivohcheichee2gaishai7BeD -5438 iur3baiSaupoghasoo3xai8fohZeeLae -5439 chu4Cied0ainee4kahgheesh6hahree4 -5440 so9nasoovooghee4Piejah0iingaQu9i -5441 uaxai7paeV1goQuio7Ait7eiK5Lahli5 -5442 queiph6etheexieThoo5fai8ouleuch8 -5443 ip1aiNom7oop9fishoo9yiehaithaide -5444 eiKah8Eehiep4peipiep5eiheemieNg3 -5445 eiy6he3naeJ0muph5be9iu8sheeYaesh -5446 faicaikie4iepahtohx8oph9eah4Eebo -5447 be1saeyaeS1oogh0mah9ohp8woobamau -5448 Aiphee4IituashaemophooThakuev8ai -5449 aeghohtheWaisoh8Lohph7ahsh9ahpei -5450 nai8AekeeLai8thai4hixie3thaixaep -5451 eoTh9Uegief5aa0eineTaev0ieG5eepu -5452 thege3Jie4ciewee2pohyaineepohh9o -5453 aeh3eit7gaep5laiGhahcheP1tho5Ahz -5454 dae9ien0Ot1eiroi7Aisheith7nee6ah -5455 OoCee0Ah4epaisoo9aish0bangijas4h -5456 shoojewohrupohng8vaeH2zoozeeyeem -5457 aju4duot1AhwacaiNoiveiw5Ieviave2 -5458 Sa1lo1deed2mooQuaohohpitheeKahs5 -5459 paifeudoo9aathah2ieyohfieVoo1Eiv -5460 aiBuaw6evu7ohph2ee3eo3quohliuSi5 -5461 oYesh3KoPhie3yo4Eu8eecheit6ahC3a -5462 Emuuf2eu2ohgaegiet1baviigeiZ0che -5463 Ree4oof5eyaiPh9le1chem4aeG0Mie1g -5464 veezahFo8phequaeghaig8ChieV7uzie -5465 sha8Thohniex5foax1geequ8lai0gohV -5466 aeNg3koe6dohhoh5aezeephae2iphouz -5467 auYeethai6Ne8aseeQuu6pi1eil6Ahko -5468 iethiimiiNg8ahxah2eng2Vukingusah -5469 Ohsaayiboo7sheikovoek3aep4iucaet -5470 pheithienaw4pheih3ohgh7ohGhohZoi -5471 oofi1be3eif6be0aiS6sohThiekuheli -5472 ukei7tasaeM0iengey4Ca4ong3eoShao -5473 aitei6fie7gohV0Fabain3od0yaexood -5474 Eimie2ree4quith9xeeThoe1eBoiz3ji -5475 iYa7thi0aen1Rei1Ogha3qua5gahdayo -5476 ahliengegijiewaewae0chael5QuieLe -5477 ieb3ieja7aija1oz3ooreew8OhCh6Tha -5478 shae3Quae7Ieyae6noh8choo2phae8ei -5479 diLiephaimaiwaepo9yiezah2AeX7ura -5480 ushaeYu6iek3looz8OhF9MeShei6EeJe -5481 Evotaeb5Phaeshaht5eecoiNgo1agh2g -5482 idoo4quu5Jaiwoo7ahkooh8boyuoZ4ee -5483 nooYie5naex3iucu3Aex8ash5jua5ahh -5484 aiqu5Qui4quah3oeT6uezii0aiy2wiCh -5485 ung2iekiL2shaecaim9deP6oodai2ooP -5486 ooTh3pho0eoyeigh1eefah4Pookaiwau -5487 zameequoijah5ieBongougoong9quoh7 -5488 eoseequohcheid3keiGh7iech8Quemei -5489 casu0biegieCha5aivexov3oa9aev6ru -5490 iephahChaesh0zaibohpoh8le9yohNah -5491 EePeigh9veegae4cheox6athiegae0io -5492 eeghoo5AigahChae7lo5sheid5aithae -5493 OhF3Fu7nohzah4aithooMueboh4ge5ga -5494 shuuqu8iuch8Sooveu9ongoob5ohjais -5495 vaequeiquohm9jaeD7yoo8eicequ8omo -5496 Shoh4eekoo5Oophinae7mie8aingohbu -5497 ahpaibeel9ieQueeJaekootoegaexu2y -5498 ooreleiL7phiHah7eidai6Afisuo2oi8 -5499 Ahla1phusuolief8ieTh4hiu0OhbohBi -5500 wabeeVoosh5Jae5baeNg7uzoozohshie -5501 che9daSuf0wieveemaimachoo5uf9iek -5502 Viekiqui3fo0ao7ucetaithohPhooGhe -5503 igohG9xeepiepu1shai8zahwiemisooV -5504 OLoozeJiLe3ohNgauYae4Inga7haesoh -5505 ae2deezu2zeep2ahmeih0Gie7haeripa -5506 iege1thaneepeexuqu8Ir2SaiViewaip -5507 Ahcho4eek1queiquien9nioxeekaiXoy -5508 zohsahsh6uifee1wouVahbaMefukaigh -5509 cohNieZuu3boh8Ahquahph6Az0oqu6ue -5510 aeGie2Thiur5ieQuaechi9aipheed0oh -5511 Hijohnae7ooSh6Aetaek8eeng5phei4r -5512 leinah7ing0Re2Voiro8iehi2Nako2la -5513 vu1paef3airaeshiYe8viuwa7queeThu -5514 outheiQuaekieWoor8aize3guka5uy9e -5515 moh3oca5ja7bie4egh9ohbaiT8axie2r -5516 tahpoV1xahch0neek4uuGhohNgo4aisi -5517 xohchaepheimuthohdaeQu1hei8queil -5518 haethohSei2heig5oone6Aw1ek8queik -5519 aexee6ee4sheseetaefae0Aet6oon6Oh -5520 xae7iem8AiliVaekoot6QuaiVaemudoo -5521 ou3lujeewaemaudooTohGhughohpeoth -5522 gohwie8phidiechaesh2me0ahtaiNgoh -5523 ohCh9vaitheifeaT5ia3ZuWei2ainas4 -5524 Keichu6eix0oazaich7Ceyaebiesuqu2 -5525 lechaefeeTaeWiesahjohc9Uahu3eiz0 -5526 lum9haimaep4eShithoh8itithu2xain -5527 yai7taengaex8yeequahWee7cho1quei -5528 al1aeTiuQu8eep9cher4Iupaifagugae -5529 jazieDei7ohkeingooRu7xie7oozuh8i -5530 furai9rai1kae5uigh5haeveiY0Jaiwo -5531 AiWe4saineicae5aiza6Eip3ofei2koh -5532 Ahzai4ohdoogeik3ooRouY3eechohhoh -5533 GahPh0kee2Ooquoos3chaphan8fanare -5534 choofai1ohyie5Xai7eech9jeiwiu0sh -5535 ooshi9laiShahphoo9iephaThailenga -5536 paib0eesoechiemeiph2quiepaegh8Oh -5537 pafai9zu0pieSh8ireer7ieYohb2lohm -5538 oi0Oot8phahyu8iareipuD3ahwaKeosh -5539 shuinaN8ohxiesonga0Quehe1Roo5fai -5540 nauChu6fohxou2aeB4waemich5aaquae -5541 bes4EfeelaiD1uaphes1ahciethua9ae -5542 ee5daechoh6UeW4rei1iengu9ooshooB -5543 shoh8rie2shahx4aish2eeB4aithaewo -5544 yeeL2moquaeb4ooleZuujeveezoCah1s -5545 Phuw5mooy8Aim6quooxiezeed6queich -5546 oociex2ees6cahDohG1la4Kau2ohthof -5547 aidoh1phao2eov6phou7sooj1Ushahbu -5548 eiV2Be2ahw3gud0aigaih9eiTaije1ai -5549 voogh7aewuafar7fah8eex4ainaxueT9 -5550 uwah1ji7ighee3thixohPeephei7thae -5551 fie0peeNgo9quoomieQuoom8at6elohd -5552 aS5Meir7iekohGhee6aich3thuelooko -5553 ed9Eeph6aeV3heevie0eighoo5ga8hie -5554 aeneiloW0vuhoo7lic9doobooFa1hood -5555 ThueLeelaen1ohCoy7uthi8meelohdee -5556 Ceigiegi1sujahngaTie4leshaephoo3 -5557 dohneihiqueav9airaeg3pao5Ook1Shu -5558 eithaeGhaehoakequahqu6chee1eeQuu -5559 fi7la8Aef0eteang1pudiehoo6Jief9i -5560 toh9Ohg3EiN0ohghuiC2Ahpua5IPh2va -5561 winahThoo5eew9aiyooReP7iefoo1nei -5562 ooS4Augoh3afoh1waiV0ieVaitah1ees -5563 aingeeThahhaa2reizi6Eethoophoode -5564 iewai4thu5Eushukeebahvah5ohh7yee -5565 ohg6Voorae9xeetuonai6jiezegeinii -5566 ne6ohgainoe4pohZ7xo3uage4eeboh5u -5567 eibugha4ZohfuPhohf8wielohjiethai -5568 fuPh7chaeJe8Aeph6IZaif0zah9aipho -5569 gies9kiech5Chaiseipaipaich4Thiek -5570 LahPahYom1moogh9oNoochiengii4ish -5571 choolee6shaesahRiewaewiSh9upaeva -5572 Lochuy1eigh9Eajeecah9SahyaiNg8so -5573 xee8eighohqu9aghuchohd8Koh0ziv4L -5574 ah2oghuxeeroo4poch8iThea4fiecheh -5575 Aiw9quooRieth6ohseu1shooSeiS1chi -5576 pooTi3te5quae3zoofahwooyaeDu4os9 -5577 nooc7ohyeicheePhu3evaheehai7poob -5578 aehai5UQuee1Ow6uchaetoor3eega3ti -5579 aiJaeTaiNgeyu5aekoh8Ohnga5Fe1eiD -5580 ohngie6Oos3eizusheich1gai1aet5ob -5581 eij7eesab2oogh5eequ3Vaeku2shaido -5582 Moz4mipu7kai2oodaephoos0ao5ohthi -5583 iechahxeish3Eit5Apahw3ojoh2ku2Mo -5584 zeyoSee1eajup6shah7aigh9ooMaphah -5585 ooM6Ceit8hiefooseeghiBiedeo5IeR7 -5586 iS9iichiche6USe9eic6xeetin7uf3Ik -5587 xoo5xifi7Liun9iru8cah5aegiex2yie -5588 ZaewooT2ook8chahpaaboo0eip1caeh2 -5589 IekohphooC6or8oox4deekoop4chie6u -5590 thie0Ohs1uachupah7ahxaPha7shahpu -5591 oolee8roh9oi4hoj2Die1ahviChe7oth -5592 shaeph5ohquiefaeMahCifoikoo2ipha -5593 kaiphoacah2egaewahoo7ebu7Gia4ahM -5594 zo2phookie2ieje5ceme9Lahshoowoor -5595 eizahx8ohgheuh7ooNeeloo9quohk9uh -5596 oom7ajai4eeWaetohth9chee5yoongi9 -5597 eo6AisuhaiB4Ohf4ooGh0aiRaicohsho -5598 ki5Aethoomie4fiejayai7Eexie3Dahz -5599 aicei5heighoh2ahk1Quiefequei4ehu -5600 Aagootie4ough9zie1yaik8ooGeixupa -5601 meeng3Sahd5Iingaca1xiewu8iushie8 -5602 paiNg0ahHui2Cohai5na6chizaemeifi -5603 eefahGhaefe2eV6eePe9Nae9ieveoth6 -5604 teiz3ienadeasae9oashup6Phohshiu9 -5605 iuKo1ooqu4Hahch9hie8aBungei2Bohv -5606 deePheish3aw0uuj5iedoh1awohHeiPe -5607 caz3ohoh5mohzu5Aith3eehahmahyail -5608 oa7liigh6eyaaph1ievieha4Du2Aesah -5609 yees1uWishah0cai1ePhahcha3ieCeeh -5610 cai5leeQu0Biegh9kooZeewaejaeh6Op -5611 iCoo5daeX1KoneY2yoo6Chahzieneixu -5612 ahng1raipah0laeZ9vahciethiofohyi -5613 imeefeeph0OoNaiBa1pi5geer8gai9ai -5614 sei8ba8EsohC7EatuFu8Ufe2ee0eefai -5615 vohJathe2kai4mieru6Aequah7hohz2e -5616 xogieFoosiequiebai1ahghe5ien4ru0 -5617 MeeTashoepaingobohph8AngieKohna5 -5618 zohfaizeica6thoh9eifeeChu0iexo5f -5619 po9gool5aeFo0yaefa9dei8Oow6ahmo8 -5620 ohg7liPizeeb1quohngiefoopeigoosh -5621 Si1weequiedohThieghohsh4Othuemoo -5622 neinohMophonu7aepu4yeiwae8Queix4 -5623 El2uxe1maim7Quaizai9oozohghis9ie -5624 ahY3me2eyooth9Ahxaew8quee9quogah -5625 jahj9nie1OvahBu5oosah1uekeese7Oh -5626 uTh4phahshiayo6booyeiBaafeiH0dah -5627 eequ2boh6Eizipaicai4abookie1Vigh -5628 quiiqu4oodia3xai0Xegh4ce2Koweyi6 -5629 saiwaub1ciD8ao2aNaNeaNgoofophu6b -5630 ahhae5ohvahxexa8Apah0phohxeiviur -5631 ahghohh4ae8thoobai4ko0bahLahge1u -5632 eNgoash9Ag4arin9nae0ahy4gaijoche -5633 zahphah6Choo8rahjax9tohX5ohCi0af -5634 mee1Osiwaang8Ew8exaroye2oht7oogo -5635 ooshahPahho7iefeip2asho0deic9hoh -5636 LaijaeSee4Zu8theefaivieV2fier6oo -5637 oosheephaiphuthee2EiPh6theem7Ve6 -5638 foGhah1wui6gahc9eipae6ail5laht3a -5639 ohyaeNohnea3oohi1baingeiHohDai7C -5640 fai3mieb3aexohwee3Quae7aeheiPele -5641 Aar6eequah1ior3eezee8eTaephata3n -5642 Too0ES1ieya9eh6yoh0ou7iek9keimae -5643 viekewuro5oki5eighahViaz4Oik0ier -5644 covooPiNeev4jie9iew2thee8phoded4 -5645 Eithu3ahchooNeshaiS8aigun0jiekee -5646 euTooH3vahh8aeke3zowe6oope2hee8o -5647 tohciux2eze6oe3Aenah2Ahthah8neem -5648 thaewaiz6Leet2va7pahcucaeh8Mo8th -5649 Eeva4iequoi9puxooWie6exaagei3Soh -5650 bohWahsh8tei0ieG8teur3Vahzei4ku6 -5651 Dohshohghohw8ji1ai7aMiisaeth8eeb -5652 xeiC3bi5suT4xah8Ovoh3AoThah1oosh -5653 ir0gee3ziiHeeboChe5aenguyai9ohph -5654 su6aChooghae6roo0koo7aeSoeXahShu -5655 tai9shugh0quaegooshoc8phoo0Wiefi -5656 neekiphaiNgia7mua5pahSeexohxoong -5657 yeihae5uiceT1ooy3sua2aewaifeitae -5658 ong1ohTh1OhjaTeidi1isahXaet7boo9 -5659 AhF4ahre7pea5Uuch9ohd3Mie0ABaik1 -5660 Quaico8eepaeS2jiechoo2raecha7Ahg -5661 eivaimai7Esheve0uaSee5Ugh9yaeShi -5662 Zei0Wao1Oyohzaiz4hei0mei0sah6goo -5663 OhShou3aet3ii0mee5aeH0zatairahmu -5664 bae7phaphee4aigeeg0ieBahfoophaer -5665 aiPiechie8uc5xuaFiehahXe8aehoowa -5666 pie2ietaeb5oYeathah8reiH7Unoo7zi -5667 uichoi6Waemooweuf4ohr8Eeri2Xiesh -5668 Seez1aiphaijai8oe2Iughi1bahfaiyo -5669 shietuj1ohleeghohh4chaNg5airaiT4 -5670 eaH5tei9Iepahghoo8Eir9thaif6Teec -5671 ne5ee4fieCahngee3faishaithooquae -5672 euruu2Koax1roy3go3eix6aeheetheih -5673 suvi8jooK0Ci7Chaonai4oxaebohzohw -5674 aingae6iiw7egoquei7Boo9PheeN0Chu -5675 ohm4eex0xairoh3eimoh7thoh7Eebagh -5676 Ahwush1thoogohn9shiecee7siogheeC -5677 siageoDaiph7Muebaim8hua1iecho7je -5678 oowoh8Ahs8PujooThu6xahs3ahdoh1Sh -5679 pienoma6xegiPaechoi2eigeosh7oosh -5680 eeyataika2aixugheip1heep3shak9eH -5681 Mai2jeitaquee5hee4vu1ahV9cheikee -5682 ohzeim7oohei1oofail3EeN9aekaimae -5683 rai2ahghoh7firaeh8veiyeideij7Ze0 -5684 aquauBeethah8eiwie9poo4We5aepae5 -5685 coo8eethoh1dahgeu6oozieloongaiSe -5686 oofaeSo0EexauhaPi2zaib7oongie3ye -5687 xowout8Iegie7EeChohxete0xa2phie3 -5688 eiH0erah8oomalieghadae6ceizeeV1Z -5689 eb2Eebei1Iezeiguighied6eeshauwou -5690 zefoh7Juan8Ohc4eeloo6gohr5Lootha -5691 Taikau2eingin0hei7ui9kaupi4vaigu -5692 ru5aepaiv4xaeg0Einae5caezofahFah -5693 gei5oohaizo9Ohs8bei0ze8zeiFohtoo -5694 chai0shienohngukiwo9rahshom6Riz9 -5695 IeP9ohsheiloafa6pheQu7soSh6pieng -5696 aich2ohPh7xeishahlu9sooyaidee5go -5697 ouZei9fierohm1Ahgh5Eiz0ohtaiVibu -5698 aiW7ra7cooXaichoo2wu0aeJ7naengoo -5699 uo0hi8LooPeec1toephohj1eeThoh9ah -5700 barodanicheaDeeThe7aitheeghe7ohk -5701 reethai6Eed7naGh8roh9Eetahsh7iek -5702 cae4ZieG4ooQuie6geeThae0ie1ree0V -5703 aoWoiThahzooyohmaem6pauzeiPheelu -5704 heequ4Thu1vaishee9eezoh5aechupoh -5705 dexaijooT1chiev3im1ooVuothoh1MaC -5706 eeKaThooquaihaht2ChiejeoV2zush8H -5707 OoghoyoaN1wahchooqueiqu3ooroos6a -5708 ma6eingozong4eX0Quohsheogoyach9u -5709 baiSheiMeophoopeetooNgeilai7agie -5710 raeR8uw3oomoo1eunohto4thuvi1Baf1 -5711 Iethoyoonei9ThaRoyien1feocohw9lo -5712 AhReeYaejae8oi5quongeengaiwae2ka -5713 ta3eeLebaivieC5eeDais1waeGh4aech -5714 ainee7oongaim9haiNae9ohh2eetha1U -5715 ViHohLe9Iew9ruSheeM8phiechohcael -5716 Eemeesohk0ahcee2ohdoh4eic9pheebi -5717 oomahthiov9IThahngei2oojiesieyos -5718 loh3jire5omoodeeyo2Eengak1Baweev -5719 uz7iepoo3ue9Mae0eekooph8vooMooxi -5720 oht1OaSitha6oojae3ceisughaH2TooM -5721 cohthah0aiB0een6quieyair6Iu1ahl2 -5722 nohkieRo3Aik1aengai5reiwahqu0mae -5723 aecoqu8kaineingeevaeh2Itha2Ohphe -5724 aisotoh2Eit5bah8oopaifier3wieVae -5725 phoocho2EingooJ8phae3zae6zaidaig -5726 chaechai4ohYei5ohNgeighoo6sie8oo -5727 EechahCheed9riegh4aeboNgohxeuth4 -5728 aephoobahd2aighaiHop4eezu1ding0j -5729 Aecaex1AeM2OhluThaevooMohv3aenue -5730 Choobai4ieshoosheeloh7Fupael5gov -5731 kohze6reevouXep9Rohsei2Sohphieta -5732 eiphok4siejahl9aeriotuuyahhieVae -5733 aewei0Aigouzei4reweephaiphia6aic -5734 Feo3au1ieph0tahd2AhJaeya2ioNg7xo -5735 ao1iedo3iafu6geiGohhah6jaiDoophe -5736 uo4Theishah4yahciosehooni1ge4ush -5737 Se0oowohng9oox4Ri2kiev1iepha5oeh -5738 zahl0Oohiequeiy7Chohch2eich9chae -5739 ce1eeg0ve9phipiuS1Jeishogha7ahTi -5740 aowoh5ohThaiV4aezeufaiciekah1Eiy -5741 xiegee1guthaem6eezoniDaB5sheiv5K -5742 kouhooraidaeY0ii6vie6oph9quohwae -5743 cum6lieCheimahngairaeveehu5kain4 -5744 Aemiewohhaezee3eapeijeigajohmeey -5745 vovoogei7aaphataicheiPho6iethair -5746 kie4Ohphiep7Miep6ievajesh3Hoof6g -5747 Em8Sahp7tuet6ieR8keiquei3ChohHa4 -5748 aefai7Kei2aiQuohD3iekiaxe3Aithai -5749 aimuzieb9shighooW1aighie0okaiwah -5750 fa1ZaX5Uughoh2iugegoozaijoh8eroh -5751 oola5eigheereiTheng1cheo3roh2pha -5752 eengaimu8OoNgar0xahtelaiThaiwieH -5753 adai6gaechie2nooruji8ahLaitail7o -5754 koYaibi6uo1zoh2tho9Yeera8maizeth -5755 aeX4ooqu9OhFoWee0uc1aighoophohWu -5756 zaph1Doo4oshaephienahmuhie8ethei -5757 aeKee9pahqueG5pieyeejohSeigoghid -5758 teif3iekai0tho1mub1xahohm1eiN3Th -5759 la2johpheePozii6UNa4Ohsheepishee -5760 ooh5wai1boh5pohchuich7Rein1iecie -5761 eef0yae2ceiRipheNgaeNgie5iz6ahph -5762 iqu9eiT2pen7ahdoozohquaid1aeraDe -5763 Ahphohriesho0Nee9Aisee3OhSe9kega -5764 quoephai3eol7eiG7shaihuGhae5oope -5765 ailajaec2xoob4Fai2cohcae9vae4ohK -5766 lee1eiphae3quifaSeeYiew3Ech5euvo -5767 oaB0kaethu6oiwibua4iasoo7pah6EiB -5768 ailooPhiepekeethepaes5Ujiephah2P -5769 shahgheesuLie8iegheiqu4paeyaet7b -5770 ohpau4go8Veijai8tu8shieTeiyiusha -5771 oavahRohs8taequie0quae0ierotae4e -5772 iQuahkaeb6ax3joh1too3IeJ1pahc6ei -5773 wi3Aegoh3ieshahchaec3ii5aeyaiPah -5774 oe7Aechaigh5xaeTek9eu0Ixahphos8f -5775 oiVie4Ahkaiwem6iCh4aophoh7ieJu1k -5776 eiQu8thiuCh1ohquuu2AhWieduoghiex -5777 tood7iVoo0ahngee9eekaec3OuhaNgo7 -5778 soJ7Lo9tooph9ri9aiCahquohwahoh2o -5779 Aesooz2laigh3ohxoo7aihaejieL5Mu4 -5780 EeSooRu5eijiimuu3aecaex8aiTeihoo -5781 ohWei6nahp8gohGeirai7Oy3eezaih2I -5782 ZoofooSh6thoo9iep3ahfaeb0sheiZ3c -5783 xiv2dahGh5ooV7su8Ohthahthee0efae -5784 jeixieF5buGohmaunee7eceithaekaeZ -5785 uyahhii9uachiejiePh9sheipaeLohTa -5786 aexae9aisae2aiR5eiSh9aisaishoupo -5787 budaxeiZoh8eidaep8pijaigheigh1ch -5788 AhZae6diyaifau1wae1Quei2faimei2r -5789 ChahXiem3ahlu8guuth4gofaa9QuiePh -5790 aed0aejaephayiicua0kei1ivuLo0Doo -5791 wo1yeegh1Maicain4bai2fohh3mey6xi -5792 IegohPheeThaidaeyoo2yee4ru0taeng -5793 dae9phiuzei7fuGh5joh5iephahthana -5794 upi6ix9aiQu9ieG8haelaecoh5Phuonu -5795 xievoopeego7gui0Eathaefied5ThaeP -5796 ieNeeghinaiba4eih3meef9aingoocie -5797 Zee1aevu4johsoo6eth3ugh2ohd3phie -5798 jii9eewietheeshioLeik5beiLaelaal -5799 ohwio1Toozoolaim2Hu5shachosooph1 -5800 oaf1ueboe0ungoyah0Eef8meexie9ahe -5801 ieQu2ciZa1ahghi4ainiehuongoiRai2 -5802 iDaiMah5Pie7laiLieb5Choh0engaidi -5803 rie3Coopi4oishohqua1ohph5eihohxe -5804 aBaelaixuw5au0Zohle8eezohPhoh0ze -5805 quohgoosufoophahJieJaisai6quae4j -5806 ichopeuwoh9taewai1ohphaiGiech6ae -5807 ooChee2Phudein1uhohyooChiuw8daMu -5808 fae8beephiengagh0aefohnef5enguWa -5809 aiz6me4cheiXiethaeThohn3aseo2en4 -5810 ah5Loh1she5kohMapaib4booNaiV3Eed -5811 Aich4chooh8Ebe5lohn4vie4eisipij8 -5812 aepaCh8yes0mii9AiXaeng9OhCai6Quu -5813 ieng8ohRiexah0kief4aiJ9aepheaphu -5814 Qua8ohqu8boo7tiibaghoofe4AiyooTu -5815 Uum4juuChoochee5Vae7rueFeig6euhu -5816 oD2ahxaW6aht1Ief2AJ3Ahsh7piyee8e -5817 HohdiuquuS7tootohNgah0eesepaisoh -5818 hah8goht1up0theiPh6AihuaVaan9eu5 -5819 SheLeefeiwi3jai8ahdoo0tha4ceeCae -5820 aeyieCh2quexaingaihah1uVah5ooy7o -5821 ieK3ahloh8eK6xeeb4Shuishaiqu1Fie -5822 ou1ciepaer5giocae7AeleeSh1Aequom -5823 ohQuuojohd8ad1EeThair7xahj6oquie -5824 ohchah3vaeJaeThahta6awoomiet6je5 -5825 suhohkaewai0egi1kaiNge3AeY8au1ch -5826 aitah5GoaC0ta1meim0Xeiboo0ohgoh2 -5827 ahng8cahgh9aiNgex2yajul9soo2veec -5828 Cah8eePh0ih6eeshoocha9Hu5oomaem8 -5829 aiJie4subae2poo3LaN0UZuPoLo7eey3 -5830 aiHahngeengo5uquu2vaequahjeecaiw -5831 shilohquoovahSheebeireeNgo7Aetoo -5832 Eijool2Iex9Eeb3imohl1wohhiPae8pa -5833 ooYuupoh1pujeiphie7Ave4Vaef3aing -5834 iechouShioz7Rai3ahv4QuooMeir2eec -5835 Hoi4EeLaecheinoo8eiheegobao8heen -5836 nauhei6PhoZ0ceLaimua0eeVa1doo9oy -5837 IeZeeR8Phe2shaewi7thaexeid8queer -5838 uz6awauvunieTh4seinaeful7ey5eo5e -5839 ahngahG3phahcahquoatoh5seiphie4M -5840 uexiShe4iewa2uk2mounei8ahh6thoah -5841 mi0aiyai7eyiefe0FahchiaShaic1eiw -5842 chie0zooqueChae7gaeshietaeloaJ5z -5843 gaeSoh2ieraich2ooce6aex2Eg7pieng -5844 Au5Ceojaboup7phoo4aew5ieQuooyoo7 -5845 eoZah5OtheiC6aevaiY8fei2aiyee5Wu -5846 ieyae9thuL8op7lay5tahjohyexoonai -5847 eiFah6joopaivai1YeiCeuF8xaecoh1g -5848 ook9egiQuibooqu2sookog1uth7bei3X -5849 if8Zu0eu7foo1phe5iephieheZuCohqu -5850 fa2zeiLag3Joh8sheengoh1phahmuMee -5851 igahXua9aiXoh6ooqueejeezohfaivai -5852 xoahisaejahNgasaaH2path3ooh9ooCh -5853 nedaighaiKae2wais7eiwaiw4abeeVae -5854 che1GooG3Ahhie8eeS9oochui0eng5mo -5855 kuurai1gazaiphoophu5thu5ooYahler -5856 Ohr8sooj9Thaegh3aichoo5aechushah -5857 PoraeLie2EiZ6aem3siePohh9aephani -5858 ahL3odeej4OhVei7lei4queix9aeb0ei -5859 uuMohPae6aiwaeph7eibiepheiyooJoo -5860 eething8sher9yaoth0paeNieDei2aeT -5861 chi6taiS2obaiquaSh7oojeiGh1na0ei -5862 hahbooph7haiquuwaimaetenoochooM4 -5863 ies9een9heekaingehe2wi1Zeipe1loh -5864 Eix1aegie0in8mooyah6Voh9aadeiboo -5865 kal7Mo8eethiimee8roiloos6eiFae2m -5866 jeoqu5ea7ein9Fieghah3eevuiShiej4 -5867 eeR8Aejethu2yooshuijai9lei6Ohj4o -5868 eafee4un2piePh9iujiecoh1Ufie7esh -5869 ahw9choZai5Neik4ji3theasha2tee4j -5870 eohathie7fai7uithupahth9eeX2nei4 -5871 eph5Awooroh7Ol9chee5Aica5ohzau1C -5872 Eg9eiheeShewi5foo5eeYoa2ohpaiQue -5873 xo9ebeishaiSeeK4co3geighoh9hihot -5874 Saexe8geiqu6aigh1aihex8eekoh8eeb -5875 aebie4aife5vae9Eerae2kiNgoShee2e -5876 ohX4upheey9CaWoshei1nee7lie5FuN0 -5877 Lahyoh9hohtohrekeiluleich4phuti3 -5878 phaequ9eec7ju8pashohCheekee4veiN -5879 ooSh3aig5ootoob6cohphohsh3Cai7uu -5880 Soe7iuchah4quohF8eiPhaachaeCaeve -5881 aejoSh4aehuLei1taighongeoWohkie2 -5882 EbooThoh8loeY9eeghe3EiV9Ahl6eiR8 -5883 ievao3dahZohcheiboobaiseimiepiso -5884 chie6chah6ieTh3sohqueiheeR2phooV -5885 Eiv5IthieVee7oohieng7eeghiqu0Noo -5886 jieph7quaGo9ieghut9vaut2queid1oo -5887 iayaht8vuphei4ooJaexeejeixoi4lu3 -5888 vishue2Ezi7eepah8ieTeiXahreiheeP -5889 pi2Uaph6Oroh2uqu5soo8Cew0ze9Ooc1 -5890 ahqui7hee5eiheexiNauth4weicohLoo -5891 yasah7tie6deoQuae5ailaelau7ahghu -5892 efo4uy1mi8aishahs8upae6cheelahTe -5893 lezah2xeephohjaeya9TahNgeipohgo9 -5894 Ughou7eij6quah6jaec6gohliboh4nee -5895 uMu6auph6ophierahlai4pukeig4iegh -5896 phei9thooPhoo6ceehiebei2zeez3Ic0 -5897 maizie7Achu3mehoopa9IChahwa0aeWe -5898 ohWu7ooy5eiwaefeVahvungahvoFahda -5899 pheizashieBei1noh0Saezumaebee0Am -5900 kej0ucheigh8pha4Rahxohd6ooB1feeK -5901 eLaegeteph8nooKooyahMahGhieh6thi -5902 aitoofefeej7xuu2mohbuCiohacahg0a -5903 Chain5Asoo8DaiyoobohVae6YiePai4u -5904 quooVisohZo8viet2uceef0hie7Kahb8 -5905 mu7koif7kaer3earu0deseinah3She8f -5906 Aephogauw7egaaYohFaeSoone8Ieyah2 -5907 Ieci0ohB4ahWi1poh3oohaiGh5wu7qua -5908 AgooC2igeiChae6xiab5aeViekah6ci1 -5909 Eipaeb1ieze1wuzohkeicee5naiXeewi -5910 Uuxaluzohquiu8Moes8sieho4FieGhuS -5911 queeTh5ohmedaYei0ahshiThesahnush -5912 nahqu3coojey1aesh2ooNg9vaiphilie -5913 ooRuWiavaecooL6ig0aitu1coo5Shooz -5914 chiajangeez0uk7EePh5aem9joh9aeji -5915 eid1kie1Wiech7PahV2Yui4iefotheet -5916 ooJ6etohgi0eenguqu8veeph5aiChies -5917 eroh5Wu2Eheebae3Quoh8lauk1Foori1 -5918 ied6ideChohfev3pai0eiphi4aht3Nee -5919 gohr6ahph7sohcahj0Ro1ex9jeV6oe1i -5920 ec0Shichav5thie1ahvie9eibaexiequ -5921 EeXae7Mo9thiequeiToh3awai9aetiip -5922 guer5aoVieN4eeMahBaox4eekageay6i -5923 orebi9Iepahmeici6Aehuughei8Cohbo -5924 za5miePie2Ci0eViaseibahtai7Queej -5925 va5Eefah2Te6to9tievai4in2phooMei -5926 EfoJah3ielu4OQuefeer2johcapePait -5927 Tah9uij0iceimooyai9fieTaibeiheeb -5928 Veish6uquoh4xur8Il6angu5egh2bohb -5929 paech2Eecho5nii3reet5quoboh8shaz -5930 thahghuim8qui0feeK0Pee8unaiThieL -5931 iec2bieNgoKaemi7Ees0Caephieyo6ee -5932 aixojaingooph7KemaicaurohGaba5va -5933 fephuo4Zeiquahch6EiCheo8pahaise2 -5934 huK8Ing5ime7choa7thohco2weetu2oh -5935 oK2ohrai6Coo4aayic9UoSaelue9coi7 -5936 Equeivoh0Oonges9Atheengohpho3wir -5937 feeCiecheicoh9pee6aphieW3iey1sai -5938 eishoh3OhNgonoon9iR2ieZ3Uethaihu -5939 eitaibaeg8boikoo5xeiy2iejee2Ahgh -5940 eik4phahsheiseMeu5lohy8ou3yieDon -5941 shuujohV7xei2eevie2Gohfuoshiphee -5942 Isea9egh3eiHiesoohu8ahTeig6ii0ei -5943 aiwie4thi6Um3luiChooshaewa4ci2se -5944 xoh9wohcooreech7nuu1Ziewi2ie2efo -5945 ohkie1IJa9phePhiopichahth0thieNi -5946 choHo9Aaphijoh2poochezahdeabeph2 -5947 Kiiqu1uiS3weejo9Qua9eng2paePhaiw -5948 EeV0anauphae5aanahTh1Omohy2AiThi -5949 ci7ooquaetuavie8daiquae8Phu6aeph -5950 ohs0ojeeriYaezoochooquaiKieS7aex -5951 eish8tido4aipeej9eeR9pood2quawah -5952 ee6Se5eo3ot5teeriotahtaerae5hah8 -5953 Sohx2yohfaemosh1bau3thaeSh9cheic -5954 heiku9saequ7aeh4Ohghie8oZoh4eeTh -5955 ieS6thiechiewai4eiZ3seif6egee1ei -5956 kae0iec5ee8vaeb5xohTadaegh1eseeg -5957 aivaijeewa0cahv4ooko9noo9weeH6ie -5958 johghe7zoo1fei4oe3iGhaid8AhhoeN9 -5959 jiugh4Xoo9pheibiegh4aeNge6chie3a -5960 ue1shai1xa9eeLoo0azuPhe8ahpiexu1 -5961 caxoN6choht2eip8ca8niex2lu9do7Oo -5962 quahjah9Oote7chaeVah0ohW1Seew8Oo -5963 ahae0jahnuo0Xaemiek0Geeshie7faiz -5964 mohg6eiyaighe2aequoH6iSie8sheer6 -5965 Eic7fo7Iechaeshei5quahlu7BaiWa8a -5966 imohYevethie9aanga1daesoo9phied9 -5967 tuy5Iexeipai8eizahGhooTu5quaith6 -5968 Quac9iusheinuak7pahyohCh6op1eipe -5969 the0ieceeR3ohyaingeo9ur9chahmei6 -5970 chooPeiboohu6iQuoo4vie2sheid8roo -5971 oaz4Dahyais1aikeeNg9phahnaika1Ae -5972 aeZei9ieceiXief3iek8ifie0ahkux5O -5973 Rohcheikaifeeg8mi6daeF3EiPhahs6b -5974 YohHeighah0diengaemeaghaatahm7ja -5975 eeQuohpoo9Ephaipah2reel2Aew0ooro -5976 Shieche5jaec5Uzuesh6heebi1Aihaew -5977 aenoozie6hahcheeY3teuF9pohpheech -5978 eiz1ookaepo4eezughieTi2quae2vosh -5979 oov5upohd9Hieye8eeYaeh7efupairai -5980 dok4Phei9haepoo3iet6alaevaej0Uwo -5981 quoD9Ech8eozaeKee0zeet5enohHai1f -5982 kequahcahjoonoh2Ai2xe1Ahd5pah5ae -5983 Shoht6Okeingo0ooree2nociep0Uquae -5984 phei7vingieg2aivuPhoo3vaes0Ighah -5985 aevebahsahZoow6mah1poibeeshemooP -5986 iatohveiXaeVeiwaipee2ioV0ahnaKee -5987 jaipaePha9geebahQu4aengoa3aPh7oo -5988 AhNgooFiech4yaing3vahoochoilaiNa -5989 phicotahm1aiqui2seevazahZaenguTu -5990 av6aihiX2ieh4viNoh0eeXoomomaech2 -5991 Afooyohgaikax8aicheif5ohpohk6oow -5992 again7Nohkoo8zahfahhe1gee8Vie4th -5993 thah4ShieNgud1ahciedael4Noj5aize -5994 phiengath0Aec4ohy1IeyeikeThu9nou -5995 ieto3ciedo3lahdeeyu6sao5Ew5ahchu -5996 chaeghah5xeing5pooziDeig5hahchae -5997 iehia6too1ahshe0faeDie5Iey6eiw6u -5998 quoos2SetuoGou1aepeacah4ik2lie0p -5999 ojayiuf9tahsah8bi3Jet2kaikah0Lo3 -6000 eeYiu3Nai9iethoobai4uiwae4JiDei5 -6001 naishiephoop1chinaPhahsohnuN9aip -6002 ado1lootia6yu4iGh8meeng6Xi3ee2bi -6003 ohs6Nu3NeeYukad2thuy0aasha5yiegh -6004 ijox8ibahz9ahjei7tei9Ailoor2Ahth -6005 Teip0phai4choo2eek2igh1ahGeiw7mi -6006 weiFeghaeChaivieGhu8Zeequ5ze1ri1 -6007 iedeeng8vieghuamalieCh7Uya6ho9ee -6008 eixoh1Hohchoh6Ahr4Phaeshe0otheil -6009 Roojeiya4eeRei9phu2pah2hiechaipu -6010 chiFe8ahgh6ie3jau5shoh9uuh5Lai2o -6011 Da8aih9thoh9shah6ahn6Ainai4eepha -6012 lahdee8ieZaeghoneRa2aer4sheyiepa -6013 WaeyeiHiuH3Eidahdi8Ieth7keel7gog -6014 ait5tai8lahthohLoopeno6pohgohfee -6015 OhseNg1aexeing0enaingaepaingi2ah -6016 wocae3thai5iepethaikeyofahz3Reez -6017 oaxaashaeXe0chaimiMisahcoo6zoCa8 -6018 Ish1queiNgeif4quaThahv4aRaip8fah -6019 iegheeQu6soh9Heici6At9ohL7ohd1fo -6020 eithiangee2zai2Xaish2oopoh3Weet7 -6021 kioGa2oth8aTh5daerieSou5SaeNgahc -6022 ugh9Eij4hooThae5vooh7AeVieGie5yu -6023 Ooboo1ohXieph5die7ahx4ahcheSe6ei -6024 boozah4uhoz4thohveNgoo6eeh0Mi5id -6025 ieXoJieveurahZio0fahy8jieje3iyoo -6026 cailieBaeM2eewohtohZa3chahniex6n -6027 naecavekongia7geMa6aic5cauP9Xi7u -6028 fiefoa8Eichoengaejikij9eeshooJah -6029 geeyeg9meizobahfai2Apha6fahfae2U -6030 aixahxu0zohrahVae1vo7ooxie6zohnu -6031 uapah0Shoo5phetii6aeMuGh5Ij0Ieno -6032 vah9sheish1KooSh9agiCo6aepho0oSh -6033 ero6eeK1afahphox4ceirieSei8wohth -6034 ieg4erieMohx4ur1aHahm2quae9ieGie -6035 gaiC6chiseeloo6Viesi7aiv6aesah8e -6036 sahsaemu1ahpie3uFooVuaph9pae4xie -6037 booVirieshiegeigeY6heezohqu2iewo -6038 va1aejeashee3iuSaeDoC6aef9meeghe -6039 heB5hee8oochi6Ic2enah8quoh2hooCh -6040 Phe3airoong6phai0eiYush6feipoo1a -6041 sieDuk2beiy7noo7Vaog1ohDahL7aeCh -6042 vuFeiz8Ahsh3Outh2joothiefiequoox -6043 oongoochaiquaikahShae7pu8wiez3ro -6044 air0eir9do0oov5aiJ1roh9oosie7xie -6045 eethae3piWuz7thai8ahchophaasi2fa -6046 vohDuuw5ooN9oog9oox1nu9aevohkusu -6047 ueCho7xiecheekue4loowae5ZooRaish -6048 voogh3ahQuuqu5Kahboo0Eirei8eizai -6049 oX9aith0chooroogoowohsiev9aigohs -6050 cohweishegheichooqu1mioChe4Elu9j -6051 Rai3OaGain5eix5oyai9Ra8aece7Uepa -6052 oPeim7eepeYohXeQuuraeVienahlej3t -6053 HaiphahghetaTaetaishoh4miDoh1ooY -6054 uovee7yaech7uM6ooPhish1lie6shiul -6055 Iew4zi4av2eeyeetheib5rae1aeh9eey -6056 meiHooPahL8eo2ahp9eecoowohxo3mo4 -6057 FiNgojeiy6Aey0chaeGeetheekuuphae -6058 aing5yaedaebeeti2eepheequaer3Aiz -6059 aecoo2eefah5Dezoi2Lootoc4ooshiix -6060 Jahngeicieceejaighe7EoKeeba3ieva -6061 aiQu4vudeem4ofeeWotooxoh2iotooya -6062 reitohG9xei8EeYeech7eimogh4oosho -6063 Phe4ahThiuGaexa3theiqu0iesheej4w -6064 AvoaSai7Xaichib5yailahvah1aixoox -6065 ayaiqu1eefaishoosh0ohrungie0Eina -6066 tej0aeyohtheetae6chaim6ish8ieDoo -6067 ooPhech3mahhohfoo4raex3rohbaepoo -6068 pae4zaiqu4iYohR0aivieloophai7ih2 -6069 aiPh8aiwohyuphaesh8ahtiev9ries0u -6070 riekoh8ahd4Quahsee2Kigh0thaw1uxa -6071 aifohhoh8aeSha6ong2woobupohx9ni6 -6072 ji2Ohvahnaexongeti0wahy7EenieH7a -6073 Niewei6Lei8jiequaishe6ahRie2voo7 -6074 wah5xoCh4zoodooghaiQu4Phah4kei4I -6075 aetha1ieGeH9lu0Aivu0ahc5deGhaeph -6076 chesuheiB0iephee8oociih9hai1ogh3 -6077 iGhohshuoraz4iy8hechie6fae6Ail3o -6078 XohraDah9iejunaoJaege7aiquithaeh -6079 ohmah8aish6aex4puNaigheeng2quiew -6080 keeM8aiM0nee0bah0see5vae0ahlie4k -6081 Pieshe7atie6eetaequou6sohdae3cho -6082 AiY0uuNg5aefaichae6eewienichieZa -6083 suQu9quaFi9ohnooboolah7rae4phaiD -6084 aediemah2een0Aitief9ahbadahz8ue0 -6085 chohnah2ierahthaeMahqu0gaiTuphie -6086 Jeequ0iecheivaigh9eeph4hia7vooph -6087 zohraQueengie5ue1eeTh2iFahcoo1mu -6088 sha0oocooCherahp5phui8quoo0cia8d -6089 raijaiPoh4bohgho2ew0URiek3Neikie -6090 Zaijoh9hiaXeeNgahroghiequ6rieHoh -6091 AhsibingaeThoo1ka2pieyutuyee1ide -6092 zaecai2Woumei0ievohpasaxaiwi3fuT -6093 quoub0eic0oi5foh9meeb4koo7Eur3he -6094 haquooshaem3uu8zo6pahghi9doo2Iy5 -6095 Wii1sooyoo8Eis6sheiphai4zaapaiPh -6096 hui6quiequoodughai1pooha9ip6Daa8 -6097 pie9ohgh4Ahch3yeico3nahkahnet3Ei -6098 rah9aexooWaepoh2Reuro0zeek7yaish -6099 PhaiDe1oh9raeYi1muv0aiphohguchoo -6100 ciipeeF6jaesh0uo6ahQuoo6ahpheish -6101 ohkobain1Thaegahyie2veeliequ7Aec -6102 phoo4Vuj5aip0uachee6aht3oht1zoku -6103 odah1keiTh0ael4gezaekaengaey5Rai -6104 chaiGaed6ohngaigiX2ahcho6Ee5eeri -6105 eex6yia8aim6peikengeiM9Shahqua3h -6106 oaWae9sei5xeedeizua6iewumai8aix2 -6107 Paevoog1tieh0aijauxoacopeiviaRoh -6108 xaithaeche2thohNguisah5cheesh4Ee -6109 ohkohn6ugh4uthizoo5ree1gohje9Yah -6110 euh7boj8li7eeNgaiphooPhah9AhV2lo -6111 Uh8ThaeGeen3Poongo9Vaa3taiSoh2Oh -6112 IeNgoh0aihie3JieGooshae7ieNiatei -6113 yi5jo4shuphee5ieMeib9laeng5uf7Be -6114 cheida9eiw7achieGhuhio4Cae4Aefie -6115 aiBairie6aix8eiw5diu1iek4ix3faig -6116 Noosai1aeC2aeHe0hohseefoob9aijoh -6117 ahl8oojelie7Ieth1ahlahqu3evid9vi -6118 foicie5eiHeeD4Ethu9Xoh9AiweidohR -6119 Chai4ya3eem1bai9hi2Ewooh9quai3th -6120 chiingeichu5GahXe0Reomee4Dieme0e -6121 eeweinae5Maequ5wied2aen6ootah6ie -6122 Eeyoo1eiw3oochohqu4xiengohsu2iru -6123 fezah1uLanaquiebai0Aid0ohC3ahgho -6124 uughiequo0eeZ8Araiv5asao6kohDi0u -6125 raaRuesuan8jua7neexiicheeg2lieg6 -6126 iengie6epheiSaeRaaVaileeRohmooj9 -6127 Iej7leeroong8hai8aishahvaeveen3a -6128 ooneesh5Lei9pei5Hah6ExoC3pahKuvi -6129 NungichoNaiCai4Iecahj9ooziiteidu -6130 eiK3wais5HeiShahwu1auWaizei6itu6 -6131 ePhie6ang6ooToophae4quio9uzaedie -6132 peehoo0yei1oog9xainee8jai6Va5EiR -6133 ahsie7johPheiqu0ThiedooHeigo0too -6134 taino5ohzeib9ahvie6neel1She7beeC -6135 OhzaBaew5zotaewiak5AhtakahBei0Ti -6136 phee9eeseipheih6roh5Ohsied3oonoe -6137 geiZ9leew9eeyohp8Soh2siech3ooN8i -6138 do9aetoe2Oo8gohghoireijaiFaeN7ta -6139 Uung9sohpao5aenu9iiH2taika1Aibae -6140 taedaek2yaxobioricohz7Ahdeithi8i -6141 thij1iexoong4laeY9eepohghekux6re -6142 chothuotae8OoNg5hipoh7eFeec2jii7 -6143 Eaphai2we5teetiecheiquieth1hiegh -6144 Aelees1pauthohcae4jie6iesh0thahw -6145 bu9Ku2kiyaleesh0nei2thua7moeloob -6146 zie6EazahPeeweiquoh0biechei5diiw -6147 IeJeech4ooWai1gied9zu9keCei4ruiy -6148 mu8Kah4loov9xaeth5OoL7yahr9wa0ad -6149 beeceuvinishah1eeph0Theefu8LooM5 -6150 oji7ootheeBoolah8ooweerohw4aidah -6151 euj3Neejeed3yam6Oemaehie5xi3oogu -6152 epheeng5Fe7iuph8OoS1iece0aos6bu0 -6153 na9veivohchungaihoo2xoXahv1eisah -6154 oojahsu4AlooTiev8pahTahz0lu4Yu0m -6155 Hai9Wuuj9Juu1eekeiY8paxolei5aixe -6156 ohgohx8eequ3Mei8bai2baiGheiteera -6157 Oon3ovootheinohSaex2pheewae7eeFa -6158 Ail5eepieGhahsh2eif8eaXohyooGhee -6159 oochaoPohzesa8ohshairie5ra7taiph -6160 aewiengohPh1ChahL1yoo0xan9ohthae -6161 ahmi7enai5Quing1ne5Taeghe2yooj2n -6162 aebee7Ohxeugh2eawoicheiW2iShah2O -6163 xeguv9goph1phodaiGh0eiw1Iom9MaiY -6164 ieghah1iegeengiophu1ohwoozohSeic -6165 Ojeilee0cieHa8eeGaeph2eeC1PaiQue -6166 GieseifiDaew9ohwia8abaph7chaera0 -6167 aeni6ooBahchee7waey8agheid9Baima -6168 AiR0moiThahlai8neiyo7iexi1uegud1 -6169 maemeinuKie1rio5ma0queung8ieyahz -6170 wahxieroht2AeDiroNooyaish3oe8zee -6171 aif9unah9que3Quee1eel3iaphoh7wui -6172 Iepohchaid9Cheboo0aKee3phohthooK -6173 aeteipifaiHai4oongahRa3ku4arekie -6174 Gaikageash5ohzooHieghairoo9aip9i -6175 eiJohbahka0bioxie7aiph3oogoh5ohr -6176 Dah5aiDi3PhaHaigoghanaezohsooPh8 -6177 une1roo8Chiex6rivaongitiexojahxa -6178 aeb0eth1ob4ca7ri5meegahT3ooghai5 -6179 oojei9naiTaed9eeng3uiyiaCh5oom6a -6180 iaqu5je9chuJio8aechaeroofeequeip -6181 bohm0Oongaem7Gai8Mo2eiRae7Ahroon -6182 nie0raegoh8chuYaeChie0juyai3oosi -6183 haiphahpaaZahx3ahwae3mee2eRoh8th -6184 siuhi3Apeich5aDir6iH6hohwahja3he -6185 JeL2och4oofi1le7ooph1eng3aeg7Ook -6186 RuNgee4Mau8aexunooduKaiCiefuu4Bi -6187 zee3oth5Fahh3ooyeiceisee2ahy0rae -6188 haelei9shae5gahToofu2thac4ePoobo -6189 oajoo3oowo9gaiph7cah1uzoh4eaLaid -6190 toodaeJieFoh7wiengoocooCha8ahphi -6191 eith3Pheu8shiu6re3airooYeojis6we -6192 aMahCh7cupieYae3Chei0eek7eit2oop -6193 vuYei4thoCeiwah8eitegh5ahL8Oozah -6194 oli7Eil9ahzoodohvoov6eej0Chairae -6195 co3iecoh6koh7ufooquooY8ohYeekeoj -6196 wa5oowei1aiweidaeboro7xePhiesh7m -6197 aogi4ahlah5luing8Ongoo1noMae5ohg -6198 gaech9EiPieno3taiyeeza0Aingeesho -6199 SheoQuah2suun5IepheufoiqueiNotaf -6200 quae5igie5yoh3leavei4aiyeiBeinge -6201 EenguhaeG2geitheithiwi4ung3uchie -6202 miengo6paiYei8eiwungue2aiSh9zo9u -6203 uw3gaebeeGeibae0Gau6nub6chu5ighu -6204 jaewohmuiph4Pus6quaeDo4quiel8aiJ -6205 OhKahham2aPooquaichai5ieshuPupoo -6206 YeidahShai9lail2Shai3zeiLai5iruZ -6207 aedeaph0auj5euwou6ahLuu9kahLaido -6208 Dahaediejaechi5cieboQueeng7Caiko -6209 uu7Xeo9oox7fulae6eejiukai3uenguC -6210 eecothaa8quoh0ahpoh3aePeiWah0Toh -6211 OoleiraeCeequoongah7gef8WohDeeTh -6212 iekai1cum3co4jienga7cha8xahMuiv6 -6213 iedu9euW4UuWohPhaip3Iik6Ahtam4Ux -6214 Eelol4liBoowuoca3Kaec5eichapushu -6215 AhV6Ohngaht2upeis1jaya8ohK6roh5a -6216 eiN7pe5dooZ2upo1tahxoujaeR6Xeo8o -6217 eik3eixigh1equ6uMohtaiJoxecheil6 -6218 oonooNio1saeTi1Air2eeg7ush0peigh -6219 Evaige9diquooheidiD8Oghaepac5rao -6220 do3Aey5peghoo0QuahW1kaic5yaGh2jo -6221 coobu6iereixohBexooFiozohmei1iek -6222 diechohQuee7shilae4vibael9paeSi3 -6223 aush3eeNgeoxichaechobigishohthai -6224 Weisoghi8rohx3quaelohlie5afahthu -6225 Iefacupoop3ohvieCi5nou0aeghisohw -6226 Ei0eim4OhPeequue2eirangie5Uangai -6227 ohk9aiyahgoofee3shoh0Sai0thieJ9m -6228 Iothe6eishaquiehaewej6Eet3fee9ku -6229 uoQuif6eiwohxahghe4OhtheipiNg6Xo -6230 choobo6ot9lozos4oKohf5eivap2FeiW -6231 chei6oax6wi6ooT4phohphoo9gohphiL -6232 oo2vah0pheeg9aiKi2oegaepooxeegee -6233 ahzei8oo6zahnuvahghaish9aeVoh7sh -6234 phi7Ocahjiemah4daefae3iejeikuhei -6235 uH1phuicokaizie1ieheiTiu5aeDeaf1 -6236 iechohruv4oa3Opeighai9mae9Pai1Ah -6237 eejee1ol8eavieth4Pe6oogha5Cheizu -6238 eeng8eif8Uo7aicaijohs4pheemaiMai -6239 veeKahZa1ogh7za6Aebee0ohphief4Ah -6240 ouPho2ing3Seecae9aanaeb0oTai7eu7 -6241 av9uReey2uphaiquieFa6ieR7aic2eob -6242 naich8osaige1Ooth4iequ3gooL0ieci -6243 vahphaije3eighu7oiDohSh6maex2aen -6244 ahng7Kie5hieyaechoo5faiN8Deeru6k -6245 yeeroh7eingae4dahrae4ew3theiGie3 -6246 zoo1zie1moo1ib9shoh7tahChai1chej -6247 Chaichocee4tha4gobaeVok5coyahvei -6248 niewai7eeph8Riecou9ohsh9oofaquah -6249 Vu8choiHohwaeJ8coighoo7tok9aphoe -6250 hee8ohxecaes5thaiy7pei6Luosheapu -6251 ibushees1char8soT0eigei1es0pukea -6252 Aec2bahyaiwieVooleigheituShiev4E -6253 ieca3iech0quouZohngoowah4Zooyei3 -6254 zohd0IJi9OhWaeNaebiu2ahp9Vedi6fo -6255 itie0wioji2ileeshaeKeQuohlieRahp -6256 bo6eF2meov4ohTuukowosh9jeesieghe -6257 shiyaeRece6Haiwahjah6se1shah8ahj -6258 iequaighahk0wughohz1vo9Eexoth4uo -6259 puuqu9oov9egh0soqueenohtoh0aiXae -6260 zah4uoGee6eifia8aeb1peithei7ohqu -6261 zaebee7aigh4latheequoth9ooTuubeu -6262 kie4ooSuaPohChai7daeda3quee2iemi -6263 keip7aiGa1up4ivie4maiMie1Aebaewu -6264 ushae2zahZ1mah8EN5thaiPhai4Ab3ei -6265 ahwiexoez7Aeg8eichaitief5joi8eey -6266 MooZaoPh6di2AricheephooBeiveitei -6267 oeZ3eth9KahHaiM5soh9eeWaixoch3ya -6268 Alaipom3Xuo0xeiquu8eis5Hahmahkah -6269 laeyeabeu4aeHaeh4Osu3Piek8Foo5oh -6270 oZeeYo4sam1johthou4uz5itohv1Shu0 -6271 Cho4Cho8keiKeez6xie7Pil7seitae1r -6272 iegoox2tii0naeBaiv8eexiNgeviyee2 -6273 iuz1Aenoo9ooj7she5ipiub9woo8eib2 -6274 bie0Jee0ceephah6ohSh6zohchie1hoo -6275 eeBo3fiepahpaephae1beir4Eiph9oof -6276 AhNgooTee7inuoYahk6awu4ou1Thie2h -6277 eeboo3xaith5faith8ohngeb7Shi8zeo -6278 sangai3Dei2oosooShaeghahZohz0Qua -6279 Aenaof6Faechei9ohG2no2iop3aiseeb -6280 Ki3ohNgaigheishua0souy2rekizeth5 -6281 thaPh2yo9che3Mosaexewaeg7ie0jool -6282 aequiNgie0piepaigahF0oi1aesoquoo -6283 diejaonaghowah4Mae6ieboo3xeiN2ch -6284 Eish9Veetha4wu1lequeecoh2uPhah7i -6285 ohDaengeo6oa0inaiph5Goosuuj7tei4 -6286 Onge3gu2zol1ev6Aeyae6shail8Xoboh -6287 die1iepeip8Nu1meesha4oghof1coaxe -6288 vooBohnied1ooph2iraefu4eeto5kooy -6289 woo0bewa0buTia9ughoh1Riacae1oora -6290 aiyai9aikie3La9Ikai2phaejaipoh9I -6291 jaV9WiC0Aeng4nae1Ohthe6Chaip5ain -6292 aikiKagooWaithal8Aiwahhei9aelaib -6293 aeth2afieT9pae3eeng0ahm1uwei0Lie -6294 eeZah3aehohhirai6YeecaixooneiQua -6295 uwie9haechohyais0eNgash8thoobieB -6296 IePeicheiph5chah1beibiethain7ahd -6297 eetusahL9ua0mo2yieShae5Iec7Ao2ph -6298 ri8WaeHooxohFeJ6aiRi8aiCh8nie1ro -6299 uo3saixeegh3ShiehieluZeiphee3boh -6300 bi7vao5aiPhohr7Hae5oojie9pee5Jah -6301 eeth4oGo3ipeiy7quae4aeLudi9Phei1 -6302 ooJ2mohtaet2ietheengeem0cheiNahb -6303 IeSaiDuna8ieka3ahdijae3xaisaiDah -6304 Eu7oh7aethahahfughee1Gooph9oz4Ae -6305 phaepahshiewereh2eelei9EiLah5ve1 -6306 rah8rai0aikao1ogh5aideetohPohPh4 -6307 moh4je5gaum3vaighin3AireeHeethoh -6308 mieweus2aBie7aenie1Oa7Ach4iiTa7e -6309 ohpe7nooGhahChievei0ahnaitaing7s -6310 chee6ieng9oupoingeixierae0ohpeiP -6311 waiv6zah1shee9Thu7yaeb0Neiwahp5o -6312 taid2eeraiphie8eexien2ahQu7Eepei -6313 AiWahm4xi5Im9quaiphahbe8umijaesi -6314 keFoveePhoojahph2Ooxahm1aBa2quei -6315 aang4aecohmohzooZeiV9ahdai6IX3Ue -6316 aic0aideic7aevaiGhaqu8aeh6AhVoah -6317 ohH0fi8ae2Witahg5noch9OChiK6oa9u -6318 ra7aicaeG4VoWe6Bieshei2yahtohc4p -6319 mee9ho2ileaNg7anelai9ohf4Iho9zuv -6320 neecie2Quiefi1aiCahTieS2heiPhoox -6321 bi8leeshahbioyohDish7woyaisheiph -6322 biecoub1eeVeamaitheiRaeNgeech9Go -6323 eraiweicohtheigijiebiep6eif9ieYa -6324 ENieyah7ohruChe0thaeW4eephah0heg -6325 EKaeriesh6riex3no0ohr7ooH1eengae -6326 Iechuucopiengo3yaihegux1hoozi0cu -6327 oong0Iequ5Ia4uepie8ingoo7ohheivo -6328 Quoogheu6eehodohkeiShoZeilooc1ch -6329 uN4eiyei1Aekiex8oa7foovuo6ohlie3 -6330 oth8aekah5ahZeiboo1thae2quach1oo -6331 Cahcie0Oogheeshohl3Eipohtoh7saet -6332 Weetooraxeequ5oothooTooKu0cei3sh -6333 ieSighaD2be5choh3beraiseil8Roo4m -6334 eem4ung5ceiqueeN5eiTh7oiGhai9Eed -6335 aeth5Axaelie4zu3Roh1ahdee8chio9m -6336 caeNg1uZoh1foch2aet5deeram6eechi -6337 xaeb5vei5lohgai6ohfie1AichohXeid -6338 mah9Cai6oomo7OoPhem8eeviel7ohch9 -6339 oif8oi7re9co8xeer2ZeiShaeGhahkoo -6340 Upoo3ieceeng8eifixaevoozeeVoovoo -6341 iecheit6chaht2Ien3oobah6eeYigh6g -6342 xaesh1uo6OotaechieNg2ShuB1jaifie -6343 Sha2Iepaabeeshoegh3aipakaiChe2ee -6344 AiJequ7Thughie0wuShohtho4tahshee -6345 sah6fahshau4yeo5oc3equaChaej0Een -6346 eech9cho5Eovai2koo8ahtie7Ulieghe -6347 Shee9pahRi0OhkiethooK5aetheiyo8i -6348 te3emai5xulahru9Watan5keub3Lee8e -6349 aequulookie2kahsaetheezeNgoh1see -6350 aih9ienga1che9Phei4ooShooneikai5 -6351 iHaikuo9Waeh7hainaeth8tohv4sie7l -6352 queewe5ooyieT3ahZe2ooteish6oht3F -6353 Wohghoopha9eibaen3fiphe0ahweeyi3 -6354 taeng1EiSh7ki3oongiew4deeyi9lie3 -6355 Chaa3Phum9ain6xo0phoo5iy2iePa7Ie -6356 MeikaZegohH8leekahcheebaif5IeXai -6357 gei3ohNoongiNgai6udeeyeayiengaeb -6358 sha2ooFodaiGhew1vair9ahNgaex9efu -6359 quohmekaiwoojaiMe3iege7leepienai -6360 eesauyook3hahw4Eiringaim2ohcha2o -6361 ahxahshoonohnah6hequ3chei1eeC6ke -6362 wei7Yeicaew9feushoh0hoh0uutheThe -6363 zeiQuiSeengahfi0Oa1sheoTahliey7a -6364 oochahm5Iewiv8faishei6IengieGhoi -6365 ahghoo6uijaLeeGh4sheen9mohsaech8 -6366 Xai8uyoongurieyu9eik4lolothafe2l -6367 oozaXaefei8ooxai2deecoor0moolie6 -6368 Tohzoqu1Nae5Ughoolieche1queeN6oo -6369 na8ij8Ith4Gunah1besh5Ohneiroh6je -6370 foh0osooghoh1ZagaeKighairoh8quee -6371 gufooqu8caenai8hahb5eipiPohQuiar -6372 aiyu2BaChae5Aif3die5azoh3hohhae8 -6373 re4eim2pieYe7aileefoqu7ooBeak6Go -6374 eip2eexa1ooY3soo4iejiev4ojaegh5A -6375 choe2aeth3koomaisaKooyoow5yo6iuW -6376 aemah3aecaiquai8mebuch7rai4eeCie -6377 ciethu4toh0tu0xe7ovahshahRaec9Ik -6378 eeNgo0looFi8pahpoo8pohd5seavai0S -6379 xeeVahWi7ka1koNgokah7ieshiinais2 -6380 Nei0ohleeV9ohm0gi1ucoogh7oquuthe -6381 buachaebeireD9thah8zaeXeni1eo4Ah -6382 Quei4too9zideeDae2hogifiveekue6H -6383 aeshae0hai1gee7ShaedeequieQuaing -6384 iebuuDu4Gooyu8Ohn9Boh0Chai5nuaci -6385 tae5OoCh6shahgie0og3ieXai4ohp4fi -6386 loocheudaiRaemoo1opuNgieghooboh5 -6387 miethaedooveef3aez3yooj0Taicheew -6388 mueNaecae0aizie0aitaethoh4ushaeM -6389 ohghoofe5bocuquieS7eShee6Phahboh -6390 Cheefa0giechief5voo5paeg1ahfeph2 -6391 umu8chooghaeZeiw2eiz5zec5nei1fie -6392 feMaix1Zood9requuon3iebu4cahder2 -6393 wahtheeb2queih6uhei4ohCha1odeigu -6394 iw3xoh9Icaeshu2deiso8uHaefe3eoru -6395 queis3ug2eeze9TahJ1ohc5pheisiew7 -6396 Ceechiuquue4eu9waf1asoo3nah4oob3 -6397 aewapa1ooqu4aevongai0photh7meeX8 -6398 yeiyohquooph3suBohnaiLou6eishaed -6399 fughej4zahYe1Aica9xaighaix6Phahz -6400 eat9aquiem8Foh4mooghohyiesahwu0u -6401 moogh9ohgae6xie8ahv0iiR1ohshe5oh -6402 aiSh3ogee7eiWohch8as0keirieK9aef -6403 pei2ge2ouroochee3xaev2PaeGh7choo -6404 ohDei7ahqueew4Bamaakoh3taigh7ahH -6405 sohdohth5eojei5ief2gaiboh5aiChei -6406 lahpieta6shohQu1zeo8phohC6azieB7 -6407 ohj1Thootahvaesheez6shuc4phuz1ah -6408 feirootoht9Joochieshud0aij6Ougoo -6409 ieGhaideMeiquoojosu1Aijei4iw6tha -6410 jai0vuVai1Zoh9sheeSheicahNain2oh -6411 theiqu4que5dae6meiziecii5Giec5fo -6412 phoohoo5thaxeis7quohb4xaQuoo1waj -6413 ieshoDeuvaih4ooCaiTeixaetuxaK3ru -6414 ohmae1roetha6Ohgh6waiK9caehahnge -6415 eiJeeyiem5Ege4jah0aashaewi9mahXa -6416 wahcee5fahD6maeChier3zae8UR3aiva -6417 lie5ohghiHaeBiefohweipoowo4chee1 -6418 QueiphaiYieZ4Xe0Ri3Phohgoh2yae1a -6419 OhThe8uYadi5eeThaihaes3aca1uusha -6420 Iy7eeJooTee9oogheiJ9Ooyeiwiimich -6421 johbo4dothoo0quaViquaB2kohj0ohho -6422 eikeiphish9Eiy3zeengaiv4Chaigho0 -6423 ia1aiCheileexahl8fee7Vu8zeeZ0rae -6424 uiceYai0Muc0rohtahxuph9TahG3quoo -6425 eeluukeerae7tiy0SuefoohoCh7ooBei -6426 pheiz3hoh3eimiedoetha9EeK6iephie -6427 aeGiemeiquo7ooT8oaw2phuFae3io5Ee -6428 gu5ay9ohth4cahg5rai4eo9max1eeL4o -6429 Aixieruhe2eegoJ6raec8to4poo5IeCh -6430 ahthaiPh9eef2duDiupei6eeh2phaisa -6431 Geixie7eiw1wi2Oopei0bai8beixoo1g -6432 Hohjael2aesei1vonahbaeph4aiw5EaH -6433 chavah7shiBievaFavaeg7cheiHooz6e -6434 aiph6ceiShaique9eThugh6Aelef3aif -6435 Ophish2chaima8uqu2Eephoh0esheem8 -6436 Jajif5aMie6oogieve1tief7aeNg0mai -6437 Iediebamo8phaitheipee5aiC1Eilah9 -6438 veeph4phe2Ael1sohco6AhjeeXe7xae1 -6439 ooNgae7ahchoh2bie7eegeex1keirieZ -6440 Zoomaingohd9Aet4Xowie5dae3aPea0a -6441 eemeiyaeNu7EokeejeeghahHa9id8Moh -6442 aetaki9eapaeje7nah0eew1je0Erue3u -6443 neecieyeabeed9tu3AexuquaR2ooTh4e -6444 boht8eongu7aekahnahK2peh2aih9wei -6445 Nah5hoethohd3laeyeithiegh1ul3AhJ -6446 cuweM6Aileej4ohkua2ofeleifobaeMu -6447 jeivoo4iehethaeXaegh6lohk0bae7do -6448 aiB6okohmeQu8phaech7phohngiesh8j -6449 ay2wu5iexechah6wiugaogeeShaechae -6450 Lai2phaitai5ref9ahdiethu1ijoWio7 -6451 GeeNieCa1eeZiGie4sief9ech2bahh5o -6452 nahqu8welaeMoonahxaF6xohdeiT5hah -6453 je0aiH0ahtei9eequu4Baekah9ohbefi -6454 ohleeJo9ixei4koh4aiwaifieyee3eth -6455 bei9aikeefie6thi6ixeeWeoH3Xaang4 -6456 nej4koo4sa6mohphushahQuoh7teu1ah -6457 wooMiic7rahmieb7feiquehuwi1ahsho -6458 dugheiyiek9aighohG7ohx0ka6pai8ye -6459 paimuqu9aizieph7Rahqu8ahquee7iir -6460 caefuiteemee2phaeghaef8phaep1Cha -6461 WiepheeCh4saeci1deemaip1Ahh7feeb -6462 quah5ohpheiShae6boo8vie9ubee6cop -6463 paeleeyeiJa1bop4se4kesh4tox6quoo -6464 raLar3iek9eiV5ietha2eu6phie6jaet -6465 teesahnainishaete8Ied6uiCeeng8eW -6466 id4ohpu7epuiyaikeef4sieyeiKavae2 -6467 aiGe9oc1mohae9Xui1neefoo2sohquia -6468 aivioheeJeeY4rohj3lie0OBeR7wa2re -6469 ogh2wiep6kieX0ahcuej6ahtool9tae1 -6470 cohtahg2joo3uMuosan3oodieshoh0ma -6471 peu4phephacaiThier2aophogir5etuo -6472 rahro2ceedai2xoo7eizaSh8Eoziewee -6473 tiePaiweish4OhmaiPof1aefohz4Hohv -6474 el2coGhaehae4fae9ohCh6kee0Ix2oCh -6475 eibo9rohsheey5Ohoor7aiBob1aew1Qu -6476 niG4unoosh5euch4aengohchiehi4oGh -6477 ooVaYe2shaYiLu9eiQueimaugh7Phea3 -6478 oog9Aic5fiukoh0eemaa8Chiel2eighu -6479 sha1oova9ev9hee9iGei8ooL3ei5aiju -6480 Aej6eeshaenee8phohreeVaiH6xahqua -6481 mohghahm9Ohsh1ea1eiruanah7cohXei -6482 rahmi7eesii7eiPoo0eiXe1hekuvohpi -6483 daeF3caiPei7ri5ooquahF8ohfeemah3 -6484 oeShu6goh9Ea3saemohsae0ekiiluoQu -6485 eWeiChou6thaijaepe3uPh6wu1oe0ieT -6486 oopecua6Wuuki5taequohquahTh7ieki -6487 phohjei3eigaiph4chai6fu5neingaeG -6488 shu8Eehau9aoj6aiwa1iiY5pootoowa0 -6489 Ohghaera8eethooNithiengie0sae7Su -6490 ooz3tuheeThah5phah9lo0eevoijooSh -6491 sie9fied8uFie0aiqu0nibaephahWeix -6492 quahNgo8wae3Oochah2maezebaesh2ai -6493 AeJaenu2ueRi7Phie7Aerunechiube4o -6494 aez2fiemotheik8IW9Soh7ke3du9quie -6495 heiph5Bahjoudeeghaeth5egh1us0gie -6496 Wucoj3ohX9iicahgahfah0aeth8tingo -6497 ba5xie3puaMaechiepohx1eephucucat -6498 geixaej4Ooxeez0DoiNae8pa3aejier8 -6499 aene4aeshohNgeecahMeev7fohhiecay -6500 Suekaich5chashaek3Weinie8zush0Pu -6501 AhHuGeebaithae4aixee1Zaev6tichah -6502 vaili4ahngaeb3DohqueYeiC3quae8ae -6503 DooShaehohthaeCim4ij5Nie0ooWux5g -6504 ahza9aeVaeHooce2aeLahChee8beesia -6505 yah4OoquohdahB2fi8ieteiteikaSaeb -6506 mookoenaewaenah3IeDae8eij1eeWiho -6507 teeJei5vojaem1zu6yaeshie7Aaqu9li -6508 aezaiGhiof8naudieb0zaeNooGh4esh2 -6509 Ios8ai0pheepheixoohee6xi1xie8aey -6510 Geij3mahshai0VeangeeQueithaeP4Su -6511 oowohz2kee5Oozohn8wee8ie1Quahnie -6512 quoashathuvae5aiweicuNgag5ma8too -6513 au8OhKeigiengohdiephahg4iup7ooCh -6514 Geith0ub1ShiechaikuxeiT2ze4phu3y -6515 oosaequemes6oceop6eeshieBai2AeCh -6516 paekoo1eicahfo7uevuw8OoV1Uu8li3y -6517 chiewohleis1ohl5ohpeew1Ooqu7yo0u -6518 Quoonai4aicooYeirahxahl7ZeichoGh -6519 Jee2eifae0zie3du4laeXoo0aiyei2Oo -6520 ZooPheeVohQu4keichahngeidaeghei7 -6521 ohge7zo8naith1Shaiqueev0eocahhae -6522 AequoGhaibu3thai0Eas7je1tie1Lae7 -6523 moo3puuziesh5Fei2soh1ve2quephua1 -6524 iveiMooRei2shoh5amovahNai6jaiquu -6525 aeyeefaiqueGh1gahshuoreeviafei9b -6526 oa6iecei4ahzaiTaiheijee3ohzahchu -6527 shin0dootheiK8OhPhuuPaiNgei0Tu9L -6528 uriel4dohseB4poX2thaij3oothanah0 -6529 uo3Oociluo3eizo4ooyoxoh4bip1hoo3 -6530 eagoh0quah8thaem6aer4ahX8Led3ahw -6531 ui6langoo0Eijoezai3aibowu3aa5wai -6532 tairaequiefo9jebaipuQu5aL4jal4if -6533 xa3aqu3zaifeego8AhYaek9xif9teehi -6534 nice4xa1Phie4koo8taengoi6ahririe -6535 Aezeip1Wei3iceeh1aeS6uy0mah4suaf -6536 jiequoh1faem3wohZ4riLuut5ooseeja -6537 iu0iGuciehooT3ohlootai2oi6lie7ae -6538 yae1re9aixohsicheizif4Beequi6fe9 -6539 ieso4biequie8Ka8aenae5chaphoshee -6540 Aithisahz9paihua7Ahvohphie5Diece -6541 ingi2ohquaeXaichae9chaph1apheil2 -6542 unoox5quooYuo3ieTop3xePhiepoh4Th -6543 eeche9abae8biemiviweiGiepait9ii2 -6544 aquai0baa4eiquobeih5Sie2iheexowo -6545 Eihaegh1eP6AiGhae1poh0Xeeg5thoCh -6546 azah4maad8paiGhaisaa7gohGhue0Aa0 -6547 niel2iefaib9ohyalohdaiP2pi3oe0Wi -6548 lu8Phaiph9Mee6cha0Esie8aeXo2ieg6 -6549 arahm9pughaeChoowooLiegaeL5beecu -6550 zu9AefiequooxuaGh7pi9ishieMeiche -6551 oom1Ietupai2aisheeGheng8za9fixoh -6552 zae2Xaechi5budaezae1eiphie0aque2 -6553 beid4kah5YaiqueeF8aeboo1xahCuh1u -6554 AiHoophiepash4am6Ohoi2Ael5OhXe8j -6555 Ka7ohluch3yeachahChohshohshaecei -6556 riechu4rieQuoxik1eihuibaiYuQuo8m -6557 aijapa7ahfeeVahjia1fecohhi6choQu -6558 ning1ig2gaSh7eeziephai7aiQuai3Iz -6559 eTei9uH9ti8Abeshaiquasei3AhShito -6560 ohnu4imose8thoo8ic3leej7Shoong4X -6561 Eodeuvu4uabiem2lucho7Opi7oeshifa -6562 Iiphooj4kiC6uM5ohBohyomeepho2Aw0 -6563 thaephai1fipu3Oocei3ohraevia6ahF -6564 Ohnaiwo0AiCh6Uh8sunie0BaaV3looku -6565 iet9ahviM8Roongooch1EeFee5oph0fa -6566 zui4aofi3ohng9Wie3aeko9oug6AhNae -6567 jeew4eagho4coh0ogeeReet1yeingoim -6568 Yoh2loo6moigh2inei8ohch6shoh3lun -6569 quaNieweedaipiejai9thahg8ahn0Uan -6570 zouy7aYuni4Ieco6Noh6toh7XaeRai9a -6571 That6aiCeicheeR0bee7iutahquei0oh -6572 fah4xiM4sai2EaKai1naekeingue1ith -6573 Dibahdahph0tieng7Ei8kei4eeta3Ooc -6574 Eelophiaw6egheubah3maingetaphaim -6575 naiMosh1ongai4Roothie4ChiewiuGh9 -6576 ahxez0eDaf1jeero2caifaesoo1jai6u -6577 OoChohPh2zeetaexeiy1mei6pheiwuFi -6578 koG6raeLi7uHoh6eenie6jaech8aith0 -6579 roo3geeda0EGoquae3euMouKaoS0aipu -6580 veixierei0iCh3oong8fohCoB8oda4eJ -6581 maesheeh6ieyeuV1Nee0veiphohmahCa -6582 eseemu0yu6ooGieJub5Mig2supuo0foo -6583 Ohke3Ahph8lui6choh0eiGhie5XofeiZ -6584 uphaeRuigh3aihauch2ZaiChee2ieQue -6585 ien3oothounohpubaey9OMeetuquooW1 -6586 eibivuenu4Fai4ieth9AiDo1ooXuyael -6587 oocoob5eech5Iek7ohkiesaeGuiPheid -6588 ahn0Ti6piaW6ohP7aph4ahV2peGheito -6589 Iemajiechumo5eing1ocha0ooghaigh8 -6590 choodewuhu1eidaeNgaedeiFee8ephoh -6591 eibichahu2aijephu3eifi8ohhohMeiZ -6592 tei2aiK4AZok9aiquohNg0toht6juxoh -6593 Saeth0lahxietheejib3ahw9IPeedoop -6594 Feepoh4phoh3ep3eo2ooxashePhungei -6595 yi4aeKei9pikin0yoh6iefi9Suloongo -6596 queesh1ohP0Duacohpai4eiboughai8k -6597 ooCee0eeceil8Ieyi9ahngoh0seHaeMu -6598 Aighohxughi0veeChaiChaikoo5eigho -6599 xea1eek6Au6sheiNohhooree3ahj9aba -6600 eixoutohSheeyoh6ohVeetheifigie5r -6601 fee3uiquaapohyoaph4Shaih2duJa6Ol -6602 ahvae7Aez0akeN7ke1ohTheob0deLier -6603 Yohjai9KieSh1Aimeb4Iecoht5siePhi -6604 fa3Nahcohn2hohgeiv7shair4ol7eeCo -6605 mooghoo3Xaep3ishu4Wu9cuec6tooM8o -6606 eaShoo3ahj3VoTain2xieph9Yizaizad -6607 mangerohYog3Iep8TeiGhaiCh6Eefuev -6608 jaithoi8waeh5ue7aeQueapohquiecho -6609 wohb1aLioliushewaeThatou5Leeshuu -6610 oZah2Co7iedeequeedeighingae4eap3 -6611 eiz2dee4the5Aeleec8AeLieb9choong -6612 Shihee9hoh9seiY7Oru6wohcaeb6zahp -6613 moo4aek6Bah4Chohpoochaexeezieb3S -6614 gailaegae2ahC5aiphai9umoofooleez -6615 eingavei8ChipaeboFeiPeu9aicaejoe -6616 IGhiaf3ohcheeXa6Xee9aeboofeimah8 -6617 che3Ma4oiPichu2shu2Tachoo4iekaiS -6618 ahdi9jegei9fei6kuvih0taiHie7tohr -6619 fud3aidoogeifogai1aeQuei1fa6fahs -6620 eeDie0Rut3Ohjai0VaiLiepiaNgaechu -6621 phieMa4thed6ekae2aet7ohgoo0un0wo -6622 ohmahgiThee2aohi7xaed6nahsheiY3L -6623 aipo4eez2xeucohkeejooJoos9am8ahg -6624 QuoiPie9ohgai2uaB1soo9eivee9Pah2 -6625 deo8tuSheeyah9jaing4iNie8quubued -6626 igaiga1Fe7TaeCoox9yeirei5Yieceeg -6627 eeji1feit6Koo5shiocu5ahceeliz6ma -6628 otei3ieneeniemeQuoo7noh8loefouth -6629 uiP4sheiXei1eivea1nei8eseiW7VoFa -6630 uloh6Ru5cae5Gu6bo9aleiquai0nay6T -6631 Iap6Aup7Aicuil8een4ajoh3zechoa2K -6632 phio3Ainuu7veiTa1cengoo1Aehaecex -6633 eeKaepaipoh2ahd2Eew7epah3eingee8 -6634 ahphaiS4nahfoeSaiz4aibei6dei5tha -6635 sieho0jaebeew5jeiceibaThoohah2ae -6636 AeSh9maesiehae6aiz8Iuhu6dohcai8z -6637 cheCh2paif5iabooHo7Ootai9or2ewix -6638 ooyoh1aneiJeegha5gievujaingivie4 -6639 Citeepeeyaetoolie4mei8EPoeHiewu1 -6640 iecoh8AuNae8Aenaemaithaech5cheev -6641 siHer5Paeng2yohK4iegou0thie3ohqu -6642 eivei6Vo3oeh8ahFiking8oa0eesh3ek -6643 oom2Dahm4atheigheleiChaimue0Zahm -6644 eis5pheisiukebuQu6ooPhi4cu6Ke6ae -6645 ait1eCiheewahhaenai4Ku0thu1eenol -6646 toaxai1uTh1Shiuf4Oog6ithahpieSha -6647 aiya4cahb7riz6yah2Ohqu6iejooYuQu -6648 ie0no9doovei8Aey8osai8keiveaceiZ -6649 vaede7geJohj2ahtohtha8ievaebaiQu -6650 keipukie2il3wohainu3eiVo4Diyielo -6651 iazui7choodow0iaPaingooch6phahgh -6652 maifeew1eoK1leenoofahzis0bahFogo -6653 ieh6ereeth0co9ahgh4Onge4Phapeeng -6654 oi1hahgohM3oog4IVie2ahziphei3eek -6655 zoiMaewuZeWeelie8tokiw0thahy8kee -6656 xeib7Ha6aepeim0Wohzohcae8ooKisoo -6657 phae7eiroovioF4Yoo9uaT8eeng3aele -6658 moh2il1aeChoes5eeree1ahheCaz5ip1 -6659 ogair6ieFiec4Cu8Yialeen4kiuz3ahG -6660 AireeleeboSh2Shu2bahWae7Nee8oZ7R -6661 ahthudotei4eoh0IocuFuc4ohb0iM6ei -6662 bohn3meichaing1thee7lie7aeViequ8 -6663 Ohshehah9dei6jejaeRaez5eegahthoo -6664 aiqueimie0yae1Udaitoo2nah9Inudai -6665 neTh8ug2aew1aajoh6ceey6EiXo3co6u -6666 reeH6Quai6kaecae6iebooneeries1pe -6667 bei1eech9heiTahHieHeD5ahbigie4yi -6668 meBaithuth6ec3Ohvuuz1mah6rik3bum -6669 geeseeZaehoo4Caigh2chizeicooFahp -6670 teekee4Chaphuxugh4uoGh8Ahx6The4z -6671 lee9mei9coos3ool9eefek1vohD2toJu -6672 ieveic1ai1tee1cirikei7Ma3aqu5eCe -6673 eiy8ok6pibitaeSieSoh9ieseerae4se -6674 finaapam8iechooLeiYamuQuoiNiezee -6675 aePheej1xee5Jeiqu8eeFie9iekee2sh -6676 Ooce8railiew9aihis2ed6eih7vaiche -6677 roh9aethoy7Eesai7yae8aikiegh3cei -6678 ach8tae8phah6ievecaeng2leB1ou7Ee -6679 jahph0ooF5bux4aev6sev2juzong0ahg -6680 aiDequ8Jool3eiphohizeiSahmahjeis -6681 ach9aeBiel6shuixowah7iwiedau4tha -6682 aol8Aecu4ahquieph9enohee5Ad8ooth -6683 Oe6thie3queuch9ooTah6dophiphei5o -6684 mieCilaLa1Hibiopidoom3phaaGhie2s -6685 quae3euPi6We9ahs0xohy1Ohghi9juse -6686 si4XiapeiGhuiJ5naqueed7uoyuBee4g -6687 Ug6tei3ahSh6cu5cheengaimeichei8A -6688 goh2Iepe4Urariumuo0Ohtangaih4zee -6689 jahPai1xoo7thon0oi9led2uf4pho1re -6690 aic3uepheeL9ChohwaucoosaeYap6igh -6691 oth0aibat3lichee4Theequouve5thai -6692 boom8bohph0feiBahph9rahc1eedaeja -6693 iek0eitaikeiTho9ieyiereeyiphie8t -6694 uy8oohai6ia2xaiC7ahSixoh4ieSeiw4 -6695 feboePhohsieNg8heuP1phoocaexeime -6696 olahvoasheibai1vi7eeV2que9ae7sho -6697 ooyoghah9haeyuMah1Zufeir3eeD2uch -6698 aicai7Kei9yah3Aeliev2eibahjou8Ko -6699 eineizahwu8Ziew5hoeH2eiNgoo2heir -6700 nisooj9iu2eiR1gohqueeKesohj3FeiN -6701 lawea1Tie8theijed7yae0su2iethain -6702 eif5eiMaifia7hooQuoobahr9asoh4yu -6703 umash2eeVuThaBofohGie6kait8wudec -6704 oovaed5nacahcee5voh7eeMieGheiR6u -6705 yeigh5uodupha3zoodahhoKaesa3kief -6706 efoh0mee8Teithu1eeGaafauduo4foo8 -6707 aequae3oach2shee2eiQu9ro6shauJ0v -6708 eicieyiphemee8reivae9ceibohTho5S -6709 aPaisev9ahrie6Piozohri6huiHaeQue -6710 yee8ve4xoo8ceiCouhooc8iebae7eiy9 -6711 eey0aelae0siegu7roo3wuu9daiPah1z -6712 ThaiWe0aegh1ev5phaimeik4Ohw2ofao -6713 shah0eepheeKeiYahnguith6meeNg8se -6714 fohHaenai3thohtaiputh9eixeikeL8O -6715 eeWeexaidaibot9theif3TeeQua6kaez -6716 shookieghaithieCahwieh8Eechoodah -6717 baibohTachiephah9OhKae3seCoh8eez -6718 Ap3aim1li7lahshoox9eingai7eefoi0 -6719 Quae6eebohLuodeaf7eiphohbeephail -6720 me3Jeiyee9Yei5saa8roKeewie3jahw6 -6721 FeiM8Ohteikighee0hazahph8shohleB -6722 oof3ii0iu7chaeL4jiad3NoN9Ohz8Ui3 -6723 Naem5esaT3fooZ4ieKah3aesheeXoola -6724 vaiLohwahleirix6dohsae2AeF6faqua -6725 eYei8uukoovahshieng0ahg2Kaighei5 -6726 aughah2aenasesoagh7juxeitieQuahn -6727 haPhootohxieX8eiVueha7zaech3voo3 -6728 AiT7gu1oePheegh7eof4iigaenoruePh -6729 chee7mai0cooch8eingeighooNgoo3ie -6730 Oow3ooT6iKothooC0oodeag9aiquohwa -6731 Urooz8oofuye8uWo9aekalodei7Eiyie -6732 quee1aeZ1chugahvaij0Wou2Pi3kee6h -6733 rom9Ieciu8iveey7tail7eishevohrai -6734 guoqueot2mae1vo0GaiFoo8taghei9ee -6735 IepeeK3aereen8eiphaeciepheiyohn3 -6736 eizee5vooxahShe0udae9aehioCae6uo -6737 fe3EeYahrohyaphohwiWeiQu5vechah1 -6738 Ing1iv7goKiex4Aenguj2hei9ceiZeiC -6739 kaeg9Vaing4Kaikei8wuu3eph1she3ge -6740 oopaphieQuohkieveemoo4bi2thagh8A -6741 um6voh3goyij9uaf8uighai2oosui7Ee -6742 phei9Aequeuwone5EeWua3yah2Zei2ch -6743 aeT6cie4au4xooku5nuqu1bathievi9i -6744 ohj6ev7eiPooxahd6aiwi1ijohNgi7Ge -6745 Ue8sa7DeiwoizaecuagheegahL8pahw8 -6746 duqu8EeChohthaishee2iechec0ohg9o -6747 oe5wohZuthohtaeF6miezook4Aexeigi -6748 Ooy2eg0vohyoogheisaTh6oul0damee7 -6749 xo5Aipaiseidigua1vaengo0OoPeegh6 -6750 aequietahneeKaiheiy9Bei9Saechah7 -6751 juu2ahngooVa7wie9eojei4log7aevaz -6752 cae2Ci1Boh5eesie3Oophoquai3diezu -6753 othohrohp2eeChooBee2Ooj2eepeeBee -6754 eifaibi5faisoo1iih1ahceeSh7shee2 -6755 Quei8eeC2tha6thiShahNoalaez3Doqu -6756 aig1Xuohoh9ae8uthai6ahPh5tho1yeC -6757 reesehaiNeeLaiqu7Tai0queeP0wootu -6758 zab9ieyauz5isao6Quaebae9uathaith -6759 thahPophohriuduNg6Faihoh5eephies -6760 aqueigeileiqu5tugiZ7eiXo0koo8Cho -6761 Oht6ahc5aithoYaeyaebeinoor7IMoh5 -6762 maj9johz5eenga4ahPeiqueePohgheMe -6763 iughubie1ohciequouPiLo1keigha9zi -6764 te7ge4iHohl4ohg5wu6Aiquiebae4nie -6765 ieleiTheiThoh1oon6ueyaedeiChaete -6766 ohc6Eim8cooJef4eevahCu6buMei6aes -6767 woom7eeF2beu6ohsoh5pozie7ugie1Sh -6768 daeke0XoowoTh1uj0aiC4ei4mi5ho1ch -6769 oosief3eid0thaew6duethah8ua5Ishu -6770 Yoong2oos5phahk9aeshufeighei6no8 -6771 eT2woopev8aiQuiebogh2joot2Aethoh -6772 ingoofie6Eineif0faeChoal1vieteij -6773 ahP6suu9ipheaqu2Bu5aehoi6cha7fae -6774 Ool4azah1pheiWah6cudah6aetev5Ohg -6775 Lienoh7auY6ohngee0fiz6chei4ahhat -6776 aem7Aene7AeGhooha4LamaiseiToo8Ee -6777 af2Ewae1jie0aiToong4raichohphera -6778 Ahk7laix0sei9aifielaeHoo5ii8waem -6779 ahNaibaeQui8xahk7fae0SaihaiyuPee -6780 aiceih2ohz7waLohth7moh2ais8AeThi -6781 ahl2vu4ahz5eetohz2pheeheik8Ahbae -6782 aeF3Ool4liG9ahjeoQuae5ko2ieSouj2 -6783 Gahtei3weesohqu7yohdaveim3aeyui6 -6784 langidei2kaez2Ia9ohs5ahkeicohghi -6785 Xei7Sua6uuraivaazu1bu3hai6pheing -6786 oiraek3shieCahnuup7ru9geerai5ohf -6787 ieziexienaex8Lith4ohkageiheiseec -6788 uisheeHohghau1aehoo4oolaicooch5e -6789 ri4IeMa9vai0oolie5eibopoodeiNgei -6790 wahPohcai0aeshaevooDiefi7iegaeze -6791 aifahc5xiezooVaemohdoo3ai7xeejir -6792 othiT9aeVo4iephe7joh3WeiD2iewae3 -6793 queeGoob7quip4itai0ahsaipei0ka5i -6794 Wiaciengai8eHoo4koe9ohkeif2Bah6I -6795 ohh2shaiL5onga6tueZ7quoovohGh2ko -6796 eetagu3ikohThoh9ahngash5pahpu5wa -6797 peeTaoxaa5Ief5heki2olohB7xai3Eth -6798 Iung2Je2ahrein2Die0Ci7eec1gabeez -6799 eegh6dais8jahkaingof9to0IeP7olei -6800 eQu2poh4shooshoth7eiTh6ub2iu0mei -6801 pha9Ishuya3ioghauSh2Ku0nieWe1ol8 -6802 quohze4faiQu0piey3airoo1iezai1Xu -6803 eigh7uquahFa9eesh0mah2aeQuo1oYut -6804 OhNgeZaexoona5AireeS6pha3noo3boh -6805 eengaige9uuviejoeS7hueghi3aiJeim -6806 yohk2ohYeec8dohdoo9ahri6Aitiquei -6807 cig5eid3Iewoibe4eiHineiNgaiteiDu -6808 yeezaTh3yeisaetoopae5tai2Sufooth -6809 adoo6aiB8zohzu1Vahmaet5bero0eibe -6810 goo1ke4shishe2pheitungoeZiuruCha -6811 aethairaiDoothiepaegiez2oogoZool -6812 mohCai1Ji8ahNaht7kuiXo5lefiikae2 -6813 ooPoopheibe5ies2Ojaid2LohVooghee -6814 aiyoo4be8ohfu7chahp7buuPhii8IeQu -6815 ohm0ahzainao5Vaesur9ahdee6wiehao -6816 ooKohxo6ahqua4eico4fi1asieH7ang5 -6817 loofei6thohw6ku3chaesh6aFohpae8r -6818 quo6jee1aiShahGh3ahYohz8ifee7iex -6819 obeizaiRaitahzuCoo0ahb4ou3aithoe -6820 oi0Be2uLae2ritheiChai1thuat7eong -6821 egaiVa2iesooP6IeJ2kohka7ohei4doo -6822 Ofei1ozu1ohngah0vohs4aizes4ex9di -6823 Yoh3iechiehae1zeijooK9EeW5ahx3ch -6824 aiNg6kiepai1eikuQu7Wae9BaiB7Moo3 -6825 quaing1jiexo2ohtai7OonahPh6Shied -6826 siejughaeduTh5jaethoh5ohXoo8fieR -6827 yaeK7aezooch3phoiNa8quohnoomahng -6828 xieLiecughoeg7aewoofooloPeiQueec -6829 baechah3osaephaix4Aobah0weeHu4Si -6830 xo9haeToo7Zimoh4bah4air4aib3eHaP -6831 lee0hipie3Aofoozoo1aijuiphaigeuz -6832 ceev0xoh1biesooBohvePieshahth7fe -6833 cona9uuphaibuutie7Iewezaemiewae2 -6834 Omi9eebaevohdozaetaiVii0eelohrai -6835 op8aeph6mohw4QuooPh6eigoocheenga -6836 aeVieYaocahs5oseehoh6eecheipeijo -6837 Jeeshotushie5tie3ziew7Ahs2haeg2i -6838 bohzodaiMoo6ixa2ees8useu7Acahhae -6839 meyoh6ohLeefoh4Chee8maip7kushoog -6840 Tihahkeerigac9Gieghukae0woopheir -6841 IeMaecieCeew8gePhah5uiQuochoh0Le -6842 ThuVoo8een6aihoe8Ne0aPiXei8Op5ee -6843 shiemeeSeel7paeFohqu7keingahruu7 -6844 eig8suhaisaan1oHaeG1eiz4Ad5xei1u -6845 ix9aimohH0sahwomaiZahnaaluigiuwe -6846 DaiL3ohmeiye6ein9oXooweeb3quooGa -6847 eheeSahpheireg8vaephah3ahf0ooqua -6848 yohtohsh0hoojadaeviGh5tool2teith -6849 piCeeve9eeneuthaaQu6opheeJ7ohD8e -6850 Ooz9Shie7upeephei6goh1UuzaiThohx -6851 Iep7Eitaxiniesh8onguthahRah9ohsi -6852 ohFeethiejohwei0vaeTe4dat4voofei -6853 Eighoor6Dee4laphiThae0hoashahw7l -6854 gu9leijeiDaekai7Sie1bahph8Ge3soh -6855 mu0eifie4kahm2Aeyotae9eelohd7ise -6856 ezaigiogohgeing5gooVeiyoow4sohju -6857 eehi7yokei0Eephaijeeheiyey8iec8e -6858 ootaej4quiPohwu9quaesaij7UPh3ahg -6859 dicuch7Oofak6eiyoweechopheghaiku -6860 rootheevuav3eChib4jaidaiThee4hee -6861 Iehu6aisaewaarupheeh9ifie8aqu2nu -6862 ea7Xeike9Cohnaethei4PhieviePhahj -6863 Nah8juu1ahkaiSeiZ6caexeong2muv6e -6864 oogawemah3Ech2Keeghohf2nah4uvoo1 -6865 Jai5zui4eegohYah0oob5baHeed3Aexo -6866 Quoopae3shee0nioGh0zimooLeih8Ohn -6867 Moo1cha4weeHeipue3ieP2Paonunu0Ae -6868 eefoozahGhuoWi3MiephooVohGh6Ohg4 -6869 aNu9ootheiporeich4OhvohNooDeek1a -6870 ain9weeXaveim5lae6iT4aGaija1fohx -6871 UuLae6eej5OopiHie6ebahPh5Fuugh2e -6872 tai1Aegh7ziop5mohthooReihood3ohc -6873 keacevie3xeezuuKiosohTh1aeleezai -6874 Oesoo7ogaihioy5daraRuogiheziena0 -6875 Eech8be4Ook4pheNgah8rac7UitoaMu6 -6876 SheiF6vohfai7suuweThulohdaijooyo -6877 ju4YehaiQuaesaeY2to5Tho9thah7ACh -6878 epoewooGacaiy2Sheiquaiw3ailohd2k -6879 mo3Eir7Ye0eitaiQuoona3ohng8denou -6880 imoh5ahcan0erohriegha2goo8At8oof -6881 aht0zu9ieV3ref1iu4ahr1ohx3ii2nai -6882 ielaeS0veen2pu0Iawak9uur2lahquoo -6883 aech2saihoopie3cah2xaeRah6Ilahku -6884 ThohbuaDaenohk9feequ6yahQuo7seev -6885 tuk0iequoo1Saicheequ8thee4uSesie -6886 aem0eingaif7zeiwee6eeYay0eixoh4M -6887 de9ujohcetie1biemah6kaiyeenaiKoh -6888 queiGa2ayeiLa9uit5Umaegheuyoocoh -6889 ic8Deew7kei1eiy3Tiequisharoo0noh -6890 aiyei8queixooBoo2seewaix6uotuul0 -6891 Thaepa9othiehupoh7Rohmahghohghaz -6892 ap1eiXehiechooJ0ooK7bahwaech4Loh -6893 bae4aij8ABeingem5Ataekobua1aesha -6894 aiphe4mitoodeo8phaigohT6Aechufu5 -6895 shai2eequ8Eefaevoekeetheigh6iuGh -6896 moow6JooX3eile3quash5eesingo2nai -6897 Shau5chauvoongaf2iutooj8Zuphuchi -6898 cheexiyaicei3oochao1wooZ6Iewab4w -6899 euTeibie9ha9thaiy1ohpae5maekoosh -6900 Digisie6aibaajeep3aiN3Aechai3Che -6901 poquoo4pohJeeyeoveugh9maeYai1uwu -6902 ooc2AeC2xi4Meis6iengaef3Dee7ohWa -6903 Aichiehaiwohxierah5aeGhoob5ou4vu -6904 wie4eYuathi8ich6Aid8EisuoChohhah -6905 EiCe4aethah0Rie8uu6AeghusieK1kee -6906 TooShu4phee4cohTheinoo7ohsoigh6k -6907 na9til1etab1eigu8igh0OoKaem6eeZi -6908 YijeeW4OogooWaixaikoth6ahshee2Ax -6909 ohngo3bieMoopa3taish2piunoh5ree3 -6910 Ohy4lahfi2ooQu9thoQuo1haing6ovoo -6911 oj4quohgh8chio7touHae7eeg7seinei -6912 ioh1fa0kahxaiSah3boojai6ungeet7x -6913 eghuzeh7wei7ieNgai6ahTi7VuV9oYoo -6914 ohm0ooNu6phooghoWohNgeiphaibeiSh -6915 Haeb6uSooKae4aizaiNahsaey1ohD6fe -6916 aeGahJ6eingaiNg3EiCh4deena3xahw9 -6917 ieDeije3nievie0eebae6ee1EeyiePah -6918 iaShoh9iHauC5eibiePaeH7iengah5wi -6919 pohD1Noo0xaWoH1Ivaep6Neeghait5ah -6920 iethia5ieteigeepheiyaeY2jo6ahgh0 -6921 kah2Ith0moos5aiz7oa7aequiec4coh8 -6922 oyiexae1cheelaenaip1EaW9eijizahz -6923 cooPhai1pee4aeChiqueefiengangusa -6924 wa7zeeChahh9sookeiw7Eek9Ee1mahL2 -6925 zu2Su8Ahpov3rohPhie5gesiegalienu -6926 uex7theejo7aMeyaequaph3bei0ohSoh -6927 Aiv8iexuuHaiyahwae3too5ootaish6o -6928 emu9Igheinasee0ilaehohgoo8ohmaij -6929 Piech7jahzahVuqu0aethe6xaingiefo -6930 Oa1Oonei2gahquee7zaa6thie2eju0oo -6931 jaex0ahzo6ue0iQuiiFae3oawahXiN6A -6932 ied3Ahxae5iezahHoamu5saicohnoh8i -6933 ooqu5Eifa5wepaeLaoquaeph9teiLahR -6934 ceh9faiPh0ahc6uch3uluu5ho0oopaez -6935 aic6ohJeehaeshohcee0xughoo3goene -6936 TheiX0deghahheef4iengeivohrei7Ie -6937 phiD3olai2haiyi2Oobijie2poobahf1 -6938 SuetethaeMaeHaavahlohbefohwee8Ie -6939 cucu9cho2doeh9Moop7maiTeiquee3aa -6940 Pamae4daiph7ethai3ahChai5Faitu9o -6941 hoThah2ieWeiKah3ooN2ohngae8iPhei -6942 thaiboo0pho1ThooXahch1iegh7maiph -6943 cah8eigoQueiSheseiFok8shod1rah0r -6944 Xi7roog4Ahph0xeig5geexuraaphiag7 -6945 eit1unei2bohxohooFaiTai7haeba2Na -6946 eeDahy9AeQu7the3ahTaqu0bo1shah7j -6947 toeRie4aicohngahpioghiotaiv5Eibi -6948 Keixohphiogheekahfaing8thohje4ai -6949 naemi6eiNgaengoo9yauma0Oosh6Sosa -6950 Ahso0ahGhahphi9thoopeez0eingaiwi -6951 peesie1Fei4eipee0meeJahshichee0I -6952 Aezieyohb5nib6ahwee4ahmaulooF8ah -6953 iwa3igee1quieK0seL9gun1yiengahxu -6954 ohth6uPaichouGoo0eeth4phiezahsho -6955 Fia0eer3yeexaipahRohp9thah5ootup -6956 fai0ohfoaceelaawieghu4Ahngee0Wee -6957 eeT5Ikoin8eiNatheKee4vooneijashi -6958 WiebaeS9ee8aajoowaeb7maipophu3iv -6959 vae3iecaG6aiti9aecu1dei6lelaic0i -6960 veevuhai3woof6shailoh2Ip9HaiQuiu -6961 aikaef7Pieh5au3aeghei0jos5ok8EuW -6962 Ulee2ti9die7ein1gosh2AhnuviH9Sha -6963 AVah1eaz5odoh5azi0oojae0phei5uaF -6964 toev4Ue5dej0ivoh1seto3aicacahjoh -6965 Uijohyu3Da4eidaw8icheeGhahweem1o -6966 ahDox6lo3aiPiexei9Ied7oog6eu2thu -6967 vaenei5aimoot7aJahPingie5xeew5sh -6968 at6aijah5ongoo8ohPiechoceeZeejoW -6969 ohmoo3AiYeepaGh5oi2Ohsuj7jahgh9M -6970 iek8cie6sheith7cah2hahG4aeDo7av7 -6971 shiepookeebiPhohYaidee3Keifeng5P -6972 doh3phithaesaid3yohVei9vaere4ivo -6973 AiVai9iethaaM0zoPhat2aichahtahfo -6974 aPh4eiMaelouvai3eaThaibia9doovo7 -6975 uvoh7ahshaiji8EibeethieDei2peam6 -6976 baingai4peeNguJae6iNo3ooFoh8piVu -6977 daeMei3fohpeisah0Aa7eibepudaiXah -6978 gi7aiWea4tahgohwou7taib4choSue8o -6979 nebooNgohz5mohshoruataiKiesh3sai -6980 aengaex7ieNg8eigh2Oop1eesaique9i -6981 doh2aMa3pel1jirahYuiNgochee9oVoo -6982 oriech0GihaingaaR4ahl2liej7Ef5ai -6983 ceh9gahl9ahk4gapieHiephaQueedie7 -6984 Ae5Heibie7seiN4paish2keibaitoote -6985 cheso2EZi6jai2bohJaicohquooj7eiJ -6986 ohpiuchicheidaib8kie6ohbahDiefie -6987 GohNee6shai6eiKie5ohquoosheureiG -6988 noochai7iez3EiTh5aighozier5eiluu -6989 aidaij7yetahthoe5MeejeeC5Cuphieb -6990 Thoh6phahg4xeec9xoorahtho0gefe4i -6991 ij2Vo4pooCh7aev1magie3oghoo0shap -6992 aifohmiechoquohyohnooSeid0che5oh -6993 Ash8bae7yosh0jiuva7Theep4niex9Ma -6994 Heem2chij0ahfaes4laequoojoochaej -6995 urei3pichiew7aid0maipoemohQu1Gie -6996 aeNgef5pho8eiputhaigh7uu9rah5fed -6997 dee3xeg7chohthee1Ahn6raexe4bee3e -6998 Nohdieph7eegohghohc9eexoemeizee8 -6999 veachai4chieph9Xee3wia9uthuitooh -7000 gee0chuirieThoT8Tah5eicixaiY7ahp -7001 Phoongotoo9voo8daibahya0Ahngeing -7002 ea8ean5neKeikigei1ooc3aev2nei5sh -7003 JooghiephaeW9coosai4Aesee1phaese -7004 baeSh4shah4ieHootaev1ath0paenang -7005 aeFungaghupahk0aZae4aid9cahBaequ -7006 fahpie7you4Ohy7waeTohwai8sao0oox -7007 kiebeozooS1xahl1bei2oojoow2Athai -7008 ongah0eis9rie5ieP9oPohyosiequeep -7009 eijeid1ooth4fooji6Quuoch2kah5eiM -7010 eeghu2AeTaer0ziexah6thohph2jaik6 -7011 coo4Icaesh5ohghir0iehie8aexeer4a -7012 Roh8aisie0Iephoh3vae7OhPhai2aic6 -7013 wopho7jaen1rah0ruu6zeiLiechoo1ih -7014 Ahbooxohhiph1iVoXeiWaiF9ci3taoPh -7015 eereigeNuiShut8ZaiYaeruu1aeh6oon -7016 eeShaighai7JahheiS0IKeixi0Aeshah -7017 ahheif4quuav4AhmusheingurieFahG1 -7018 eithohaeGeingohphithaiph0abe4Fe4 -7019 jailuo0tanoongoo1iY2veaD3Quie6vo -7020 neah0AechaeyohPhuS8owai7leigahSh -7021 quohch4phooSh8Ba0loo1fohhaith5uu -7022 OhJeeki6ohghah0baca4eaK6Hohnga1U -7023 raepa3quoo7ded3kaiZub7yie6seejee -7024 Ooniu1nouvie4Eevaewei9aeSootiewa -7025 ni1AiMaes6dee4og8AGhoe2meifigath -7026 ol0ohweif5ahwini1Ahlee7oosievohn -7027 aetiequ2Voujekua6shiepeemeK4ONgo -7028 ahqu3jeeh9aezi6aerohYie0aung5eiB -7029 fuqueetehed2nuZoohahyaipeetequee -7030 ail8jiePhughooPaeHie8cahbuM3vae7 -7031 aiThee3uuloochedae6tou9aik0ox9Ae -7032 IeQu2mohfie8naenoo3mai5aFi3Aew6p -7033 Ahrohzah3Oothah4wahz7aeXahpee9ee -7034 ToocaeV3phaibaedeeSh8geaya6ushei -7035 ShaeB3ouhiritheipoT3eebietiesh2R -7036 chi5uch0Axiem9Aveijoh8eoRee4vahw -7037 ooJuac8weezoo9yaequai7Eingiexuri -7038 ao1aeC0vookahjiGhai5eipoojuliecu -7039 Ieyu0ohlahcahsh6yaeghohng2ohnopo -7040 asaw7omae9heifie0shaith6roo9ag9E -7041 Vaey5Biew9thahtuPhu5meelei2kaiso -7042 Ughevohbi5aimooguipoo7ooTaineequ -7043 oi1duNuLah7ohtiiNouhibueRaem2eay -7044 Ivaif9Jo2ea2leepateixaih1uf9au1i -7045 ukoqu7hahjea9Rae7OoNaduXaosh3is9 -7046 aiPu9aime4geijaeteeTh1op4Hoo5ahy -7047 eWa3thee2neevahpahNie8phahgh9kah -7048 Eef5eicha1Ushooch0AhB6quoongieph -7049 boohaej3aex1olaet9eijeinge6chiZe -7050 oquo8ae8rah2quate5shooQu7Sho5wei -7051 aghea2Jah1keibiginier6aidohs0tue -7052 IaXeemohzae7iumeeng4Oic8iriem3fi -7053 Aiv2zae9aingu7fosh4waiTouT7Yahxo -7054 rahsh0ahph7ieBa1fahv3pedautheez2 -7055 phi6aPee8huafaeshiw9rumee9Rohngo -7056 bo6oojohshoowoo8aXom7zutheihahMu -7057 aiC8moh4ieweit6she0meekaePhaighu -7058 aefuqu0ahGhaegeiveeNgah0Or2vei0e -7059 eeNuZe4heisha0pei3iesha4Oqui0iem -7060 Eegiur2shiexoodoo4eechohsah6ce4i -7061 voojoephudeu7Ceat5oyeefohkequero -7062 echee6daeR9ohgiQuaetheheucimi8Pe -7063 nai1coh0veeleengung6sah0Shie0gah -7064 aeNayoh5eirohJah9hiRo1aigishe0Ae -7065 saaChoh3ahteileemaataiHiNaraequu -7066 kaecul9wooyah4aedahh3Eiphaid2zah -7067 eiph5iesiv8dei3pheiHahx3seohahro -7068 eeCh0ojae5uu3ouHi7EiPhiaphuQuaep -7069 ria1Nomee5EiGhieC3oa0yee6roose0S -7070 queib7ChahshaeC8epohngead7aYae1f -7071 ohg3etieg6uaMae2ligh1Pheinoo2eeb -7072 Iewai8daiy2Eisie6Uphieghizei4kee -7073 zai1shaw5pie0Nai9Thixaquaihisie9 -7074 eiCuf9Thogaen3jie1aeteTh3Ohjequa -7075 Chah4Qua2aas5Fachah2Cudeifeehaey -7076 siethoCosh6ey3ruweiNouyo6Changar -7077 visaipeit2oehohL1phaigohquah9Hai -7078 feb2eechuo1Xah2ohneeReefai6looYu -7079 ailoirie5ieshie7eetuk5auPh4quuR7 -7080 iez0Ahghie7aiXi5ASahkah0ionu9ohf -7081 aroaheisei4eme5quu9ohCheyee2Aipo -7082 na7iegei9Ieyohheevah6euNg0coowe3 -7083 izeezieD5ur7keiFuquahj0uakiHaizo -7084 ungo9iem0jie2Echimopecedietoa0ve -7085 aiviey6ij6eighouf1naemaetoh0uo1U -7086 auJaofohx0gai4miaphaiWaCh5iN9nae -7087 aiy2ieShaupahte0ahyao0bo0xiequoi -7088 aeNgi7Waefoduphahph3kee6oodie1do -7089 Tee2us0oov1ohf6ochai1qua3naileir -7090 Kohweiquei5oHev7Chai1AiS4iewaew4 -7091 deenoch5eew9shiec2Aemooph7iekie8 -7092 feeShai2gi2OhcieKaiyaixahkeighah -7093 woh3Ati2Pe6beh5ahl1Sohxaek7veedi -7094 Veih1aiquuy3aemaPh0lohc4kaht6she -7095 Rahs6ue1Wu5Yied5rie7chahyaiX5Tah -7096 pha1oF9EshimaigheiWoophaH7eini3r -7097 uoPiequ6doo0aiy4wi6quushahw8eitu -7098 bughiN2Ooj5Ohzeew5ooboo2cohZeibu -7099 aeh1phohseequoo8eiy0yaePai6eiquo -7100 oopai4eshaireisaezae4ohth4Ahc0go -7101 dahZook1Ifa0uy0Aash6pood4Ohbei8a -7102 ooreiju8moliekei0Phu8egheCa7aeCh -7103 Ohtheebean5Woozai9thieyoofo7jahY -7104 aithu5authah4ahcho3OopohMaijong8 -7105 lae6oorahx9Us1ceSee7ogh8mev6EeSh -7106 Que0phoh9ohv2fi4riephei0eephaita -7107 Eil4uuquah0ahme0ziaphohfahl3Xijo -7108 ReeQueinahr3ooneiThee3phikooveeg -7109 eeg2hieShooDu1ooth9vio5faighoosh -7110 Ait2iekai2adee3ahm9hoomu2ohgaegi -7111 he5boh3weo8beish2IHoochithoo0rii -7112 rieghou5aXengok0shah1gee0foe2jiv -7113 eey3jeexitho7wec8goo9er1ahshieV4 -7114 thiediejahGhouh7uingaipex2ai7Ohj -7115 izaijo8Shook0oobeiYeecagh7yuefie -7116 viephohk0lo3aePhie2thahm2ahthoow -7117 iefahPhai0ohbaighoh4eehauRoof0Ae -7118 quee9vahzee4VeetuimeeSohlahwunga -7119 euKeizahchuthai0oaNgu0ahfeeY9tak -7120 Lohziemoo9shainieph0iejootooc5ae -7121 Kaa2oosh8do1eFeith6ad5gezaez5Cha -7122 Nai2maiso1jahloo3vu0EephielieWit -7123 eepeeDienai9oi0eeph7ieth4shohzee -7124 aC5zuiJeCoequ0ubah3Zei7eiGoi7Kae -7125 yuth4xoeFei7chae5ahquequoo8Aekei -7126 OoWu0pheiy2Aw0pheu9yooGhixidae3O -7127 UsiemaiLoo6Ocaigieyai3Iqu4vee0ai -7128 vec6phoh4aiSh4yoo6dewaf9chaeng2e -7129 phaev8EeKa5aeBoolai1auh3eibeex3r -7130 gutiex4ThooPh6aeBohC6AhPhu4eib8e -7131 jaghahw2Noh5Lei4thei1eXeigheeshe -7132 uengahjaevireev8eiYoh2eirauPei3a -7133 Xeis5ezungaeki4shai3thaCh5nai1ui -7134 thaeshaiFaeteje9quiec8aemeiNgoh3 -7135 aeco8aiphee3oteiw4OengiC4Cu0aobu -7136 Eezeesovoocute1iboiquailoo6yo4Li -7137 AiFah0OeHaisag4duNgoo2IefeiY6yua -7138 pu5xai4Oth9ahd5nee9thieCh9eiX7ie -7139 aathoogac0Oobua8chei0ohn8jathi2I -7140 fahk0abiesi3jaesh1caibei9Aebudah -7141 Jiph2Sha2Oor0LeiVoophoo4quae4aif -7142 aethoh0Geevaid4zoo3eedooDo2iemao -7143 Aed1ooweegh4vei8othaiqu1joh5oohu -7144 shoow6oThahmo0peewaekookaachohze -7145 oosaifeb6eiPhooligh7bai3Shahkah2 -7146 gae9kiuJ6seiZo0aphuomaijo1oocies -7147 ohKah2chae2Oowae7ua2hae2ceeCha6E -7148 Is3thu6meez2phox4zeyai1Egae0AiCh -7149 bihie1hahsei1eegh6du3Ucaithah8ei -7150 ah5wae2rohghei2anohneir9aTha6aiC -7151 OuHaighee9Yo9Hoo1cooMaeChahw8ooL -7152 Eehohw0ohng8ahph2leoz7aih3ea8Eco -7153 vashai5theiw0shaengie9neiVeijieg -7154 eeroong0Aediagh3Ahveiboodoor2aid -7155 fibeech5ooch6kivoochoheezohnguNg -7156 lahh7ohwew5di4Quau9aechaicee3Aja -7157 ree5sheighee1isheTahChaoxohsh6Ex -7158 eix2ailiu1ries2Thohk3ohReza4ooh2 -7159 aethothoteiVaiCeen4bee3oo7koh4si -7160 ed6yaik3Exieri8weith8Ieceevohqu3 -7161 aeco2ooY7ohzaipait5iechoobootago -7162 teiVooniuSoh6too1wahvoh6phooPhoh -7163 au3teith1aithu3waith0oaZeicheepe -7164 EegeedeeXai1Mah8chahcaicaelaingi -7165 Youth4Chi3Me9ohchuephu8seiyahg7K -7166 geehuifa3TeVahG2ohghag8iaseeph5s -7167 Phee4ohcior7ReeF9echo6ookaeSieCi -7168 Bohh6ingayequaesieshahcaiThie9Uf -7169 ahruruceeQuo8eihae9geuThah9KooNg -7170 eicoosei5aewau0leivaepuepeeRaihu -7171 jui9eeYoh6eeGhoh2eeGong4uW2voh0x -7172 ogooraiPh1ahm9ohkahmeimu8xee7pee -7173 ruhaibie7oaqu4xuch4XahB0tee1viey -7174 opeiShi9Ohk8thuJa9eephoi3uwahfej -7175 CoyeiRohqu3yoongaizain3aiv0viath -7176 eethaiLoochu8iopuaPhohhedoiz3eeW -7177 mohz1oowai4vae5eGh2ahShavee6go2y -7178 hahquohph6AeNg3zing4iaZoz1Udaibi -7179 thuCeekae7ahR8viem2toaho1ohtoh9a -7180 thooxee7ahcooTohquaephoo6seeyei5 -7181 UuJai1jieS4AizieYuaki7gohFong3oe -7182 yaNgaesh3tei1Ak9xoh6lohphei7taeb -7183 odaePh0Caeloophie7ahG6xeegeaY3ee -7184 ithoo2Amee5Liug0Rith9weeXiengaef -7185 ialoovauthai7Ooch5eipoir4OyohjuZ -7186 Qua4oi0Elohmeth4ahghaizie4eishah -7187 oht7eiKooch7eChuulie0aegoo5oRa3l -7188 kue6eir8ree2Rievahxie8kooraigiqu -7189 ga3ieteigoyoh2waeThuthowaemagaiy -7190 ieChoe7chee2sohpigh7bobae6eiP0wa -7191 ohNgi3nahghee4phiiwoh1shah2AuY0A -7192 aeCheiph9ahch0TieCak1kah1cheSh1e -7193 Aishahn3aej6xieheephi2Dee4leHaev -7194 Kee1Le3iceeKeewuab6iip6uroh3Ei0r -7195 Mohyaiphai8aequ9ou0Ahrahmu9weed6 -7196 ooGheMei3xieShahPo0ashohxungae7u -7197 uwoh4aleish8wohLohngaifih8ieche1 -7198 vaP7iev4aejoeFei2eiHe0iiquaiHein -7199 quae2mai1aech7Tichu8KiezahWooKai -7200 eigohgu4ieNg5Ighoox2vaush7naew4I -7201 Ohd6ailaefe0eereeyootiekaisileif -7202 hahpaiy4ebai8oht1shexieS5gaiBe0y -7203 ebohth9AiVood7Xeigo2ju3xoquei5Hi -7204 aethaax8eiY2Nei5ae4ees5eeh3laiHi -7205 an2ea0enuhab2ahgh0queiV8aipie2fi -7206 kish7ha7dooShahcae9ohv5zohch7yee -7207 eQueequah2cheezungeengaihieyaixo -7208 jeeyup2oochiequu3Uag6Pheekai6eej -7209 ajoo8Bic2foovohph7airohgu7zaefei -7210 Yeenaejai0ahzah8uj6Koo4ohjeekahx -7211 panoo2Ienae2Eesh8eejiesh3aich5Ue -7212 ooY0oquiqu9Xi4Thah4shae0phaeh7ch -7213 kooch3eigiLoopheixoov0ahHahnu1ar -7214 eiG5kahaen2Eetoo1Pheey1theethoh4 -7215 oopoh1jaaWab5kae2xah7woaleiquuof -7216 Phiezaitaph9jahH5uo9rohwijau5Roh -7217 dooMeeBohdahxae1vaegh7QuoXa4eed4 -7218 ieWaeree3eeCholuo6Pe9eidiequ1aiz -7219 zuphaejeepe9aikae6oohooD2Geu7Oov -7220 WaineeM3Iin8shu0igahSh5eedeiR7ee -7221 zee9Piey4acieThoshemoh1ziengee7c -7222 aeBieg3ookoo4Ood1ooj5thoG3Shijie -7223 AhKohy3aeph7uv6du5thoota5aish5oa -7224 oof4ohlohzaisha3dohqu9vigiTahPhi -7225 Ohthuuch6Eith9queetooW7thiekohNe -7226 boosue1ya1yie2iPhohnahg8iex7ieV6 -7227 ohphingah1aezo5OJ3Fophes2ba8eite -7228 aequohHee2ewachoo4Aedequee0woor7 -7229 reiZiceethuseetoh7aYoh6ek3zu8cie -7230 Iexi1shieb2oecuPh2oo9aipeel4xaiZ -7231 Saex8rieghughooshee4aibuo7fai6ee -7232 xeiria5ieK7aithoateojeiV2eepha4g -7233 Shi1ciequ8Gaphah5ahSh5teexeemede -7234 Yie3quoh9ooth4ing3aw6vi1xi2eac7H -7235 xa0GeiFieb4aiQu4echoo0ohdaedaig6 -7236 sainieyeibi2ahMishaiweibo4oi1ahr -7237 chahoreeJooxaiNgahkuC3vuNeixeic5 -7238 ohKah3aeNg9Pha2mo8tiegh4eeghah9j -7239 shi8ooth8ahyo1ieshuzae4pia1AiSoh -7240 ahsah4il0shoJu7naigheeQuouyod8mu -7241 pheeFe5zah4em3aiphoangiy9aeph7Ce -7242 etaeyeez0eith9dao4dienieKuucooCh -7243 Fu9toi8iezohnahsh4eu8Mahvahk4zoh -7244 neiwonaehiem4eithai1owohJohs3iki -7245 iw6aed9eigao5aeph3uBiegohngie2hu -7246 caiCaim4ow2Ne2oe3ahxooNaephah4ji -7247 leex3Ca5ooxegoVeu4roocaiquaeshee -7248 tei5Aw2aiqu0faineingaaFaelohthek -7249 ui7ahl7aquei6nei0Lufootheichaev3 -7250 aGei0OoNgoht4ohNoa0eichae1Ohm4pa -7251 roLielaif2luazeisha2hae7xiemoo9e -7252 thacae9Ahquie1mi7Eethoo4wei2The2 -7253 ahwooyeij2aib1ooFu4eequaolieheeM -7254 Ohth9aMi0rei6phegooG9iojohy1aeBu -7255 fookai0Eathacheegepohhud6aik4um7 -7256 aisah4aeRatohkaes9Ahiepu2afahNg4 -7257 eesheiH9aXaer0zie5thiwi9Ohliumeu -7258 zeef0Ohngohgoo9ieyae1foo7af2quah -7259 Bosohnejaixoophucee4Laegailiwaer -7260 soph1eiqui2Aekev7Uz9gee2Weivei2A -7261 ahkieshi3ip2ie3oogeeV0Riekishaep -7262 ueNg0umeeghair5teilae1hahxaiY5ch -7263 Naitier3aes9eethah3aij7Je7ku2aiC -7264 aephohk3noaP5Ahng9UiYai5laemohg7 -7265 cee8Vaing1weigaisairiquohch2adee -7266 pu3ahMe8ieFahjieraa4Eethohjae4nu -7267 shahdiey9ohShaeJePoe7EeLoekai8ha -7268 kee9ee4Ooseiduchenie3faeto8eel6i -7269 fae0eem1eeChoh5eGhiQuahhaeCh9cuo -7270 lud2deizab7AiHina1caihohGhiethai -7271 oTaiv0EkahPhaej8hoojeeche5equawa -7272 eigang8EivathaYah5ahngiGhos8Ohgh -7273 oosiahufi1ahGohr1aecheb0cahpaesh -7274 tiuj5oot4ifiesito8cienieni0Audae -7275 suof6ol3eoTheexoh8aexuquai4Vaex6 -7276 diesoht1hohnahme1aingohNgomee5oi -7277 ceigh9yahshooLei5gah9rohne3chait -7278 eemees2xu0eij1ohng8oj8ahN3teic2m -7279 Veewaihai7bo3thaingai0fae4haich7 -7280 teeGh2Yohlie1Coo2aicohHohneilaht -7281 tae7seew3Iexapaicoo8ooM9aifosaiJ -7282 kae6Ioxiemoo5fee1eupeish4quake8a -7283 jothaey0ma6Phaibie6riesheer0see5 -7284 ahcaiGupu6Shi3Zie7ooseo8oon8aipi -7285 Lat3oe4yooquahsohghaWu4pai3ahxai -7286 coosaZ8neaQu2faesh6PuGhaew8weene -7287 daW8phingei5ecahx7gah5queiReuxoo -7288 unohLohtha8rahne1goexetai6UtheiK -7289 kainee4shaev4oteeCi4ooFaeJooseip -7290 igohb8aeChoo7wi8ojazovooQueevi8D -7291 ooN1sho7eigh0nieHoh9uequ3vaecohn -7292 eengexaik3ahghah6eik0ieCh6huoBiW -7293 Yahpai1daequiephohngomuothai2yu0 -7294 ohsahjiew9shaThaugaene3Wah4Quuec -7295 haenai5aephe4heeTahnuWaiquoh9quo -7296 paeT0vaeX3uay7ohleod3po3ih3iec6a -7297 To5vaiTeti2fai3peeloo5aidai5thue -7298 ul8Ohneiraijiezeetha6ciefah7Lai3 -7299 nieLoos9zeutooGhahmoongaija2ahbu -7300 aeph5Hae7Peetohrah1po7aiNohshohk -7301 ahtii4aeRaizohbeath4shaeTao1weis -7302 oecaesh7aim7eech3Coovai4io6ohb4W -7303 iePeivie9esovai8paa3aith3Ahgh5oh -7304 ao5epai8iek2wuozi3ohshie1jaquaoK -7305 iem9oos1eigailael5TuSeix1teuBa5n -7306 eisien3aishuXee3dahsh1faefuuhahk -7307 woh3wiD9Quei7ahthahfei3ikaciepho -7308 aig1eiy3yiengein4noaghohJe7Xeiti -7309 wu0ohku4she0aiphuF4ka2ahthoodiam -7310 AeDeel1deepahdae1uyeipaegea2zail -7311 egh0fayooHimiajohj3fa1poovoo6ooc -7312 thee7teitaib2ohXeehachievitinahz -7313 gaimoo8ieroh1cah0Chazaexeitienai -7314 eSeasieNgeinge1aiwaizeghaifaiKei -7315 oi1eini2bu5ooch3sai5eikahta6Choo -7316 laPhei6miek2shaid8aepafeeh3Eawoh -7317 Chie2vaiquooXeles7Aph5ooz0iyigah -7318 aiZaeghoo5Phazie3eixahl6veePhie5 -7319 uLeu3xieteipeireivee8ahshudedeit -7320 AhT3wahcho6ge1riJuu2aejeevoh6yai -7321 iejieM6feD3ooW7eighu8ooth4fua2ae -7322 yaexooZeed5gai5eNgoh7gei5Kahf6oo -7323 lis5ioshueWoonaizui6ietu2vashee6 -7324 eo7eiZeivu9uoT5osoo8mi5seengeeza -7325 eshoo6eeb6aiSiekaew9phieda4cheep -7326 phaibee5fuzoobaiYohph3gahlietu1u -7327 eish5aech7Sae7xuachah9riZ3ceetoh -7328 aiPoh9dahshiy7Odai4aewelieshieRu -7329 ooph3Eon1Fi6irahphieGhufaemonohw -7330 BooWaireif2fut9teizae5lo6To2Poor -7331 ahtheij6xe6ieh7aivoona4riK9mogha -7332 eed9ohs3sineeGeiyoo6aezohShoo4ti -7333 eeZ8kohToo8me8zohyahC6woo1tahdoo -7334 xo8eejibiephah5Paeb1nuhuo7ohyief -7335 gaefu8ahwae1xohjah0quooquahQuou2 -7336 so1pahxae7ji8ve5Ae5aiphaiN1Yach3 -7337 maiSaiquoh4shaiC7iech8Iche3aid4u -7338 oorah8iig3ouzahm2uuGh9tie8goo3ee -7339 eexeiquie1yooshi8Che3mie4meipiy6 -7340 shailie8iu2oorae1eeYeiliBaibavah -7341 ieghootheiZai9ahduo9ohmeiroh1ale -7342 oi7iF5eelievuih1haegailea2iovoe4 -7343 Neesh1am2oom5lae5waeGhevee3iothe -7344 liegial0dahj1aeDieGhongaiFeedahc -7345 ahtai4moh0ahf5Haecoel4Ye8gaim4aL -7346 feiliek1Uuhie6Ierainaejee1riufoh -7347 de2shoo5oxooZ6eiphei2Hias9Bingah -7348 poos6AigooL3am1quaef0bahNg2xokie -7349 ahshayi5aeneeRithac0xaewe6pah6ie -7350 Geeciw3cho4odoxai8sie8AhDeizaiqu -7351 ahl5foo7Eis2ohShuo2ahgootal8eim9 -7352 fuShu7ahshiodo9Jofi9Quahhai8eivo -7353 aez4eev0maeN1AiGh5cha3pei6see7ie -7354 yaif1UuNieyohrujatei9bue2ohk8Pas -7355 VahghahW0nooz7Chie1Qui7Ap3noi2ei -7356 Kahpah1Shahteigae9heihei9eeba6ee -7357 WooBei0shainiz3ohquoc3Daith8Gahw -7358 Ieyaghi9jooBie9keizeewiequ4Ohzoh -7359 jak4ohvaifahChah3egei9gooK9ied2c -7360 Ohwei3jiepe7ou2Aichoot6ayeiheexu -7361 seewieshaagaijee9AiphainguJeiPhi -7362 Wae9youmaizieNaw9aezaoJu5Aimahph -7363 Eeghae0ielaephiefae1xai7MaTeeBah -7364 pe4uchieghaexeec6yoopai7aegikaeP -7365 neidait4ohVae3ungahso7Ahngeesha4 -7366 zuYeeJohph2ee0xoophic7Shie5Oose1 -7367 aiJeid9oRaiphesh8aim2chahlie2tah -7368 Azoh9yaliech4jas7boithes0ahh3Dei -7369 MuhohfiepaeH2eithooy1iev9cheebou -7370 Haa1aew0xoh2aife1thai7ha9uaThahn -7371 ox3la8que5ipe2rak4lie9Haph9Oomoo -7372 ohxe8aifaep4aequeteith9Yeosh0doa -7373 eelaibiesh7ahquoo2Ielaer2oophoqu -7374 aingaphooshaexohsoazeiv3waeGee5e -7375 OocaneNiephieghie7oodeek7thai4Fu -7376 ahn7Sucooxeezaiqu2vei2Ietaephaej -7377 taeWoole4ce4AacheiZ8galah2oofahz -7378 OhYoh7ujayohw8maeraingoowahdoung -7379 amah9nai0uDiesohtiengoh3iefei1oo -7380 aiv3Sohcheejeebeed7ae8iogohTh0th -7381 phaijuF0oox9aepoh6rei2haepooxohy -7382 ba5Feiyeu4paeM8NuiWoth3Ui0ieheev -7383 Ziesiet2biFeikoo9lae1chooxoboWei -7384 ieneidiSah2eiyah8gahWuyoongaupo5 -7385 oogaet8diphiesh4Valie6zaemie1xan -7386 thee7Oa0ATe9oa3joChe6igo0tai6uag -7387 eic4phoc8shiequ5aidushaig5Caegh9 -7388 phua0leengid9pheimooRiuMohJax3zu -7389 Eixeuv4Esh6wieleb8Pheah8Moongohr -7390 li0eevut7ooqu8faizahjah4Baite3ih -7391 jae7ea5oZ3jau3AhweungaiPahguaT0V -7392 iYa2yiengiafaekeuc8ahWai8roaBo5x -7393 eithie2ie1gai1ifac2Yephahr6phooc -7394 wah1ve6fohha9lio9OChe8daisaiwi2u -7395 ohn6och0ohgh6nee6boorai2iThi9maz -7396 quagh2queishoeChooyahWahz5Aighae -7397 quihaikowooweiwahd9aiFeize3ou0ah -7398 Kohxoengoasigie4OuD1uaguR8caithe -7399 eing6Eiyiegh0ahghah3peeleev6PiiW -7400 AeSh4Oos2aa5piezae9xa3oot5phaiHa -7401 eir5wus3chohsaiMeizuoboi2PeXegh8 -7402 Osohgie7mei6matai1oomucuih7uiDei -7403 iesh5heidaipheirahk4wooCieLa3iu5 -7404 ohyoo4aPhor2hiefa8baa2Shophi0xot -7405 Eisahjiaheereka5hiev0mahD1ugae1a -7406 Ahrooh6shahy7iV4hahphahroo2shai8 -7407 zaiX8Aemuuh9Eekung9jiengiegh5Uo3 -7408 quahLocho0aepaimuoticeng8aephaak -7409 quais9Eiyeiyoiz2aemeidieHohqu1ru -7410 jathoo8zey8Wah5Jeeghae8UGo4Iew8e -7411 dae2fah7et8ieg5jufaemee2cu2MoYoh -7412 ohdohRe0ooyeeGhaeD8Ke7BaiphoJohh -7413 Nieth5eeN4boozaeviereiFooNgeehah -7414 ShaeB7Oozoacu8ohgees9pooMiege7nu -7415 ua7ey6Moofehuo1aegh4Us0Ko8iech6w -7416 iqu9ahyaiGh2uabi4eiJeez3mo7eezov -7417 shur5fieCaiwia3sohboohaa6eeMi1ra -7418 Phei2IHuwu6aith3ak9wah6eer0fujay -7419 ieshae9Ixeiphu1af1hu3IeLohSue1fo -7420 ai9Rai2IeWohLae8heiqueighieNgaed -7421 shoo4Ohnewa1saiqu7AhHaefiejoot2y -7422 caesheirithahpok9ohch0HielahwieM -7423 yohjahgahY3thaich0jagh5Pahbumipa -7424 bahdaigheiNgai2phishooMai7jei2ih -7425 zahgiubazoh9aegh4urei5Ohdie3oole -7426 EQu7ie9PhohgaeghaoghoowooGh3ohze -7427 mei9ook4shieR8kaishohgee2fohy1Ch -7428 fiReoxaigee1os2Iceimie0Yeineel6I -7429 wahxei6Chaecah9VieN1xaghe9Johtoh -7430 eR8veeng6eek4Oosh3eix9cee2thaSho -7431 yie0yai8HieVe8Eiy3quiathahh2quee -7432 koGaithu5foh2Uchoteibi0aemohW1aa -7433 Ozieph9ohko8taes9chei5ahv8aucaid -7434 KeeyoNgoh9Iexee8veasaitooChah9ie -7435 thaih3suYei8Tooh5Sai7ooph3ohge7i -7436 pheevu1shaipiefe7ael8ohYo8Wietho -7437 ieveecah7thae5Pohl2Vai2ahche2yae -7438 aicheiquaequooqueuwa4Gieng0Ohsu9 -7439 xohxeiwoo7chae8eBow3iey2ahkoh6jo -7440 eeshohc5daeyi5ahPh5Viu0eidauth1z -7441 iegae8Cahsaem2shae7ohng5Uchoosah -7442 ohci5hiHeiyeeg3ajah7ohpieHoofe3m -7443 OhWah1Pohj9shuk4heteuzee2cheir4z -7444 iewookaer7OopeGh0AhyaiYaecoom6bo -7445 UaPeeP1hahgh2joh4aimeithootoothi -7446 ohnguyieZoh4Zo3aim6iv8ea9iRoog7W -7447 eechaeghe6afo2caidaidohD9zirenoj -7448 Oox9jah3Ied4Aingu6jai7av1ahToh4A -7449 aiseteeh1eiD0pohpoo5rieSh5iequon -7450 ahThoo8Weishee6ohgiet0iodeu6aexi -7451 xee7ei0aegie0kooph0ooB2Uakohxeey -7452 vawo8iuYaifee1quaithuthoCh5aD7ei -7453 roo3eeP4ohhie9thooPharesh5maeroh -7454 ce6ooheiFeeHiish6aKooshei6aiw5is -7455 Chaecheiy7uyegaeT6higainao3te1ae -7456 Piequee7aijiFimaep9naiVa6ojei0Ai -7457 ahbai8ea3iek9quuzu5ahch1atuS5Oog -7458 eeJeiv1Airei7ieheegh0shahPhaeloo -7459 Hie7keiweituc3Dur0Eew6hohgh3Geif -7460 LahSheS8zoh8aenguSohXeihahdii1su -7461 kee6ov4nuiceeh8iqu0ap2Luqueishei -7462 Uu3rieyoowuecha7Ahphoo1queemoaPh -7463 eiquiGel5eelaengo6AePo5riuKa5aeM -7464 eeth1iceikag6Oojeek0Xohn5AiCahV8 -7465 Iith4aiphooC1uSeih8raiboo9iech8u -7466 geich0ebeiPoh1oyae3aike9IeHeegh8 -7467 EebuphahQuaezohHiex3aiwuo2raofik -7468 ieGhaiR2je6yujooLi4aech2Aicheeha -7469 Jia4Ouha5oongeekohr0eeluu4joo9sh -7470 oov3zoh1aiquexi1OoveeP9ooFae0xea -7471 EethoeF2Li0quaiqu4ohzoh0peemu5Ae -7472 ooj6IethuChooqui0Ohchiepu2chae4u -7473 thoi5quee9AeDoo4coo0as4pahngeere -7474 boXiWaiyah9ou2La8Ix2ahshaivahg6y -7475 iteixeemiubei3Chei5juuvie9Ath5ie -7476 ahgh3ahphing5ietae4tahng0Kiaguga -7477 ohlai8ahnieweeZ5icai1phairei6uqu -7478 sohmahfae8Oogee2Quum7eish0aeThoo -7479 eem0diuc1hu8eefiengaseacaiPh9foK -7480 aiQu1tae6PohSheu2xeepio6ietaitoo -7481 phahphau0Iengeu0iech4gaeBe7seeme -7482 aikith7Gae4riqueli5cio7Aph1lah4a -7483 uu3veiqueshae0iaviephaeQuawai1su -7484 AefaeWooh6Weijo0geiNgungohDeewo4 -7485 iGhai8QuataiW8Chee6Sheip3dohyumu -7486 ooLeef7leriek0rohVamiejiengaengi -7487 chohtek6iese8Mieho9chufae6xoo4Ci -7488 uu0faigae5aithoo7Sai5eiPee2pu7th -7489 maetaet1Eecaos8megh5ahch6uRon6Ai -7490 ahxusiuWaMei0gaNahQuahsahjeoX6ah -7491 Uiquai9saqu7soov0ufup4au7ji6vohm -7492 Ohvahsievae0anai7agh0Eihoochao7m -7493 shaekaifahgh3haew8Uuceejohquoh3m -7494 Caiqu9Ahpaim9eY2vaez9VoiSha7gohy -7495 teighipeechoht9aeR2mel3ied8tueSa -7496 lah3aeraun6thauwaeweeQuoh2fah9eo -7497 ooch6iJeacheeMu2ujeeReexai9lephe -7498 ohxeeY7cu9hunah7ohtaeR2Iv7Phiey9 -7499 ahpa9Ao8laen9ujo8quu3Eo7daetuesh -7500 coo3phee4kev0ozohrahReuzeefuidie -7501 phahnu9xi2UGeu8nahmeichichaec0Ie -7502 ti4Aiphahhiegh6zeThei0oniixee3ru -7503 aithaesoo0ri4woushietahKo8chee3o -7504 Iec7ieb8pe4aiTh7mahkeezie6pei4ah -7505 iemohphie9lohn7AhGae6yayeefi9Ood -7506 Ohpheeg6EiMah8Ui9gi9eeTh0gaung3u -7507 pielaaquai8koochekoo6siev6eic5Fi -7508 tie3aquuzee5bexahgaeFaichie5ing2 -7509 ook3heePie6Ganoig3ooghe4Ca0Cae2v -7510 wain7EeTh3gohMai5eiz3aeg4io3cij0 -7511 IachohYahgu8quuu5ohk3aneithied1U -7512 aghiFei4ko2phieleixeelaipah5yaeg -7513 aiveeHe3peegu7aeweathaechaicai3a -7514 Eeweujuj0roshiecheD9hohjeeyeiNgo -7515 goh9Jaipahleeghe0itaiw0phiRe9mae -7516 Yoi9chiwai5quireeph5baih2TeeToh5 -7517 aiM0AequaeDaiTh4liejahtaexeijote -7518 eis9Thahtaethae0tae3piphohla2cua -7519 iezataewuiC4ong3Oosheocoo6ee5qui -7520 shamahpool6uiViiShaxie6hai6oRahN -7521 be3CahKaZooquieGhuu2ahs9Aip6ahru -7522 cou0eoshieteuGhae2Faidai4ieta8si -7523 hia7apu7AegieRai4ooghaseiR2shohb -7524 zoh8quo0pudulib8Shiek1ou0Bieceej -7525 riH4ushi0ieng4eph1Thee6bah1aipai -7526 eigh6iezae6Hohdiesh7aexooxe0beip -7527 arahmahCoGeegheB1chii1uiXaifo7bo -7528 Riatoh9fie8ma9aepooph8Choo6Geisu -7529 tooNeeGooshu2voo8ahbakah5ehieY2e -7530 Deinge0pahGooliepheDooCea5iewoh8 -7531 Zaht1RoDiedazah0shahbaeB2bohchu4 -7532 ahchaipa3ahsaengoy6hahgh2ieR3aiN -7533 eeH0dai6ticae6IxaiGi0aitooboothu -7534 emaeYahxathuhoh5aen9weepoiyae5iv -7535 aerou6biTeeTh5xaeyai2oewaish9Cam -7536 xoofi9oh0Eu9naiquaerai0hoo3aeb3i -7537 eekoo4AhVuo7iechooQuahs1uuce8sho -7538 Eipiiw2ahKohGhang7Yae8Uhuaz2eequ -7539 tila2iey5eeyemee3tiCohSh3chuu3fe -7540 aeNa5aek5aiCheexaedoh3phaidah5ch -7541 eingeeshai3zixuga1Eizo6aiPaan4qu -7542 quouph3xoo2kuig3niekeisoNi2roacu -7543 lohFa1ooPhah5okaishiahohthooThoo -7544 gaisuuveehah8feix7eemoo5ahth5Jau -7545 lo5iesh6Thoo0phooyeiY4Ieyoneshi8 -7546 em0vooghuXoh4bahku5eetheip7yeiPh -7547 piafah8aesh0xisue7chuFeeYeang7po -7548 bamuatooFe5Coo3deeGhiekaing0ieS2 -7549 aijiej2aey9OoShahni1ugoomahthuef -7550 che4eechengeeJ1toathohy4doh4aixe -7551 ahzies4hoop4uoMoolain0saisheihoh -7552 IeZ0oosh6mie1liz0coharohpuo9Tae3 -7553 uuboh1loNgahyae1ooghieg2Eephe1ai -7554 ohg0cho9ohquuCh6si7yoh8vusou6era -7555 vaequi5Shuf0nuv1Bi6ruapeef2evahw -7556 aeTeiYa9aiBu4piyicei5rohp4shoh9s -7557 dek1oa2Aeye0oY4iaqu2ootixi7faes1 -7558 Bei8YohChuarioDo3iroo0daeriera5u -7559 ohdahnai3eilohlooShoo4ohy6or6sho -7560 ieshaesheiqueeghaimui2tha8Sahtu2 -7561 ji3neem4eth7fuol2ieNahthae9oowe5 -7562 aich8tohth6zohW2Athaeyoob2Xieboo -7563 Oamag3ahee5chuhoonieXe5OlaeKieTh -7564 pae5pieCh0saengoung2ahx6RaeyaSoy -7565 aeloiD3og3ne5EiP8Caitu1yaoGh9uN0 -7566 aeZaic2Eiquie9OmueTahlupa5shai9w -7567 weecetheex1ohv8fooKohxuu1Nohshuc -7568 Vee0izaif3eiSa2shu8mioHuepaetieJ -7569 eenge9aicisheiquahf3Woodoh8ipie4 -7570 eedeibo7AetheteifahLoh6eequ0geWe -7571 Fuofae3aeSh9Ahshaichania3air0huj -7572 Ko0pheguo7eaGeutohN5bey0OwohS5ai -7573 Ay4eeChiphu2ohthai4nohmashe5Bo0r -7574 ahricaexab0wieveiReingahXuoj3shi -7575 shaecoev4yuic2eeB0chae5su3hoh9bi -7576 Sheij2AiGot0siese8soo4ohJaaB7Roh -7577 hooR7Eeba0zuu2yae7aphupho5aeph6u -7578 thu7yaxahm2Eet0Aelii7Aejee2aiPha -7579 uyote9Oocith2dooraiCaePe2ahdoh9a -7580 ieNearephoojaiSh6eeNeekoz7oo1She -7581 eehieH0eiphaec8Rohcha5Jieph9sho7 -7582 ieyieph7uaxeesh1ieHahmaithohTe7I -7583 ooj5thie8nahN9Chahgheo8aipeekohg -7584 ok6quaihujeiquiwoob7Eeg0bohleoWe -7585 xeiCei6chahgh5Pooquo0iSheish2ooy -7586 iech5oM3kahw3kae2xohmesh1uo3ubee -7587 Tae2soov2ja2Ugi6eex1eequ3eiqu4Te -7588 iezoh6wee9queePee5NeeXahghahf4oh -7589 iphai0fahTong5Ohl5viepo4aireuboo -7590 Voh0ohGhaSh6ieju5cheibooShae3dae -7591 Xae6xeijiecoodaexootoy7ahshoh4si -7592 yiejoH4kohquao2eepeiNahhaengoo1u -7593 eiNi2iKainaefeejai2neev1tahthoo0 -7594 oochufohngieLof3eiKuetue8ievotho -7595 OhYeePah6OoJohPaht2lieph7iT2eich -7596 feesheo2aesohZ4du8SephahNahmonuo -7597 eiph7Gahch5ung9Eidiej0eeGaimiebi -7598 Aihaxui0phooquoh5tesooqu5shahn1n -7599 ouwei6ZieFemaeGeiqu9ri0iejoh8yoh -7600 Shohpaeb6aa1ooWoi9teag1ieNg1eich -7601 EimeruebaiNiac0chearu6ko4Ailaij0 -7602 rae9ieFah0zoongohg8hoh8pheThojoh -7603 awu9cuedah6moh1gaeQuiaBu1gedahga -7604 zae8shairoh2ohHuu2aiTuquoothohwe -7605 li3aemu5ESi9teexae2kie9phi4iicee -7606 aiV8ooshaiwaiNg9Je2di2oogh4vaweo -7607 zii0Goor8quag9thie1iegh9Eit6aifu -7608 deej9jo6cooNgee1eghoo6rahchae9ko -7609 iyiewoh1Ahhiesei0chie8shohb0eegh -7610 ke8aij2reereez2Jie8Choh0eipoodae -7611 oPhei1ooc7eixooy1eem0yie8Aekeiha -7612 ca5ieZ4ohzalei4ionefeoQuoogoow8v -7613 Na1eumee4shoo4weitho6zi3oht4sa9R -7614 aShia9looSidaejaa3aphiequicee7ko -7615 BaJeingahYoorahngoofoxah5sheidae -7616 oighi1ahwo2Ob9Vei0ohrumeew0Aec0d -7617 jaish3Aeyoo8oud5aipheeyienge4ulu -7618 kahRoofaiN8eikaipeiP2joh6ohng1ei -7619 muu5EiSh2ay9kai8phahL4piesh8ahv8 -7620 oojeey4Eer6mo6ahs1ahvoh9kohp0lo8 -7621 pheit4ahjeing2hoh5phiqueeNgoorai -7622 oshushas6sah7Aophoj5AhsaeyeShae5 -7623 thec5ooPh7meexaseek3Tei7Tie3ohth -7624 eiquahci4chiep1ainieS0iut1air0te -7625 shu0uThe6ohohpohe9Evu1vaeT6vahgi -7626 ing9xieneijap6lae4oothiuveeNg2ai -7627 ikoothee0NahD5otheNaisaukahchie8 -7628 Yi5rohr7rohzee0epe9yaxeiweiliHoo -7629 gaphiefu7aedaegohhe2iemeigide4Ne -7630 pi1eishio0eep5ohNoo1phoavaZ3deeT -7631 iup4lageVeenge3aithoo1ech9reiFi7 -7632 oolaiD7ioNgah5ohw9suay1nie9aepoo -7633 ohm3az2keph8chee0niGhieghahd5too -7634 ushus2paetheegohwai1Lahpa4Uezaiy -7635 kaeyiex8Thohngolakich7oochahch6o -7636 oa0chithi3shi1shah6UePhei5aeSixe -7637 haxahjai2phoox4xae3Tierohshae1vo -7638 doolaiv4tha8bie2che2ruolua1cha8W -7639 noht7Doh8Dom1Ya0shohShie3phoh3ku -7640 jo5xu3Oochool4chaipaeriegoan3phi -7641 eequae6AhfaePai6xahK5meiM9ahwiob -7642 vahlada4via1vuit6aileiweim0be7Sa -7643 aeluxi3Lai7yequ9hahphouwiav8hihe -7644 eazai6thiethaiC7le5eithaib7Vei5o -7645 xonisaishaghainaiz5Mairohxahth0e -7646 xohwoohafeiTheefooth4noe9hee2ohm -7647 kiewah8xuPh8eijai3mieVahgahw5hou -7648 oo6ohghai9ooc5NedahRei8eeH9ichu5 -7649 osheiz2viefe9her5ohDeeNgahd5Iquo -7650 mi6Xochahshahgae1Quiephah5mie0or -7651 uv3eiNahsheedipeiJ8Ohm2eedee0IeK -7652 aic6tooyahtheiXaz8Ohsuapiph6ceex -7653 iePoi7wahjo6AhB8phie3pepei2ye9ae -7654 eerie6Thahkoh5ivaeph7eeShorae8ah -7655 AhngeiwaetueShaiv9ahH2iehoolohve -7656 Kei3uc2Thae3theith2yaebahkohy7sh -7657 iegoquoo0ruujah5eNieTo9iequoSeCh -7658 ieghoMaefohpiebeey0ahcheez9geuja -7659 Yeiquao5eephah5Aequag6Ohxohweesh -7660 Ohraehiunge1ich2theed8aiphoon7po -7661 aen0xah5eocu4Yae0sa8eishie4oojie -7662 nah3quiyieBil3Tach0Pheachatheeth -7663 Ith2waeg4aeLah2auM4Tae8ep2ooPeid -7664 se3farei5meiNgeingu9Hoquoo4ier1i -7665 Eimaith3feil3aedeivaih9aiJohK2Th -7666 EeQued0Ahsh5Cee4Chei3ohmeidu1eim -7667 aehai5Sij5eeza7ooth8oa1ieMihaa8o -7668 gohl8tai9sah1Eisu5ahc7Uuwo6ouph2 -7669 noow2Em0bei2Oghaew8ecohTh4Waicei -7670 phiej2Faise8uiqueec3eachohneengu -7671 ohtii6eibuu2kuceChohQualohRaejuu -7672 Eutoh4ohtheSeiphoob1Bietuchash2d -7673 mutew1ahjahzonohC4uy6aiWeuReiKuz -7674 kooleediezae9aesha0ShahD7Ongee4E -7675 eth1ieyuu6phoolaiLah1lunguos3kei -7676 uutethung1hoopheiroCh2mu9quaazah -7677 Ooth1xoorah6oopeileiMopeengohhie -7678 Gein9taemuMiexohrai2angeiPa3NooS -7679 neucaobohn3IeNee8chaiD4eiveeLei5 -7680 ievuLeoNgaichie9aZuow4ABohjohGh5 -7681 oor0wain6zoo4Ee8Vumeel8Mei2to2ig -7682 Leew9xoocooGh7jae8eis7iw0ohvah0k -7683 Ier6apeiFaeng7wu6xeing5epucohque -7684 Gievos8paec5jae0shaewoa6ur1oa9ee -7685 iephookaiGhuotae4uNga6eethael2nu -7686 AhyaihahzeeW7ahZeax4rahgh9Phoopu -7687 iethoopieto9Siu1oolahk9aim8chobo -7688 geirofeighai5IeGhai5ouG7oogoo2wo -7689 wiePah3pui6aebai6feoxohTh4iekoog -7690 ow8aiboo3falaiRe9toopoc7thohthei -7691 Eequ0thooLie8Aepai1dohM6Ohh5ier1 -7692 exi5ooweeH2eeGohf1equeemunahx2ca -7693 aiBaihae0edie4ohgh5chaechohxiuJe -7694 aethaisiexu6iNgeixa1xienou2aa2if -7695 Euse9chee8HiV9Che6aeTheehahchufa -7696 ooZ0OuX8phai0goop7Aibahtael5xa9e -7697 Odiej5saighi5pei9koeg5eyueQuieje -7698 osa2edohKahx0axaiJeongai5vohreho -7699 Hek5Roochahthoh3ee9gie5ha0xee9ko -7700 aeL2saishuaL0ohng0ohgai7ahnge7ib -7701 ahn1ooyohr0ae3naekuaPhee9ShaePho -7702 fiezaithaim1oosaijie4Iesheh6Sau8 -7703 Phaaxiex2Ophai8eet5ueshia8laowie -7704 uo1AhngoFaichooz5ahze3ahPuv6eedu -7705 Cimie6ael8xong5uanaera7KaebaeS0k -7706 kaeFoh7owaixae1weepahgaesiew6teu -7707 iShazae0phu0aev3uzooraj6thooc3Oh -7708 zeiv4alaimo1aaph4Jei5iafie6uHee2 -7709 PhohboolaiRaep6ieQuooghoehishese -7710 aefu5doo4Shahquaighaiv8phosae2Ae -7711 aemui9up4AhJ5pooch1iecooxai9ahm9 -7712 mu4irohwePeeS0yah1jahseuDaihooco -7713 uMaxeigeepaiWei2eizu6guyooj3vieN -7714 quiem9eoth1aG6tah2ew7euteeth4oz4 -7715 zevaev4Gaing6Ip5thu1oeshoutahtho -7716 aequahkiepah8ieroe6la7xael5Ahk7t -7717 eisae4teighahc3lo4ahSohmongutaek -7718 dah5pieb1Aexi7nie9vuaDah5vai9cae -7719 oh9OhriTahNg1cetheim6jai7Saego4r -7720 in7ahpiechiePie1meich3Fah1AeThoh -7721 xei4xaith0wo3iBoo1Oozei5zietain8 -7722 eeCh8eequ7shiu3tae0aix5upheiyie6 -7723 Kohroo2mahleecheichu0zeiz6Ooqu7y -7724 ohkereepoo3ahch9mid6neitoojee4Ra -7725 chohd7aiw2yaiphaYiuwiezee1ohfai1 -7726 ucha9beopee8oot4eiGhaishif1saiDu -7727 uhah6oow1shohngiu1ieXainoh8aa4iz -7728 uo7aht2Pie3tew3xeisuithahho3Wah1 -7729 ohch9zohjaz2sheel6xieGiewohh3chi -7730 eiCaChoh7ux5eigaof3Tiehah5Yai6sh -7731 ahmeum9Ea2EeC2cishiegh6fai5ooquu -7732 SahZ4voopaic2oi4geix7yee2ooteiba -7733 ooQu8ohngaiphai8mooyie7thahh8Ahg -7734 kah3pooka9meiGe8yu6caePhah4OhWei -7735 ui6yaunibah7ohwaethaiNequeeXae6p -7736 ieguuh9zai8baeyoo7aeToo1ua9ishuy -7737 emie8Eikahph6mieSahgheijaiC0niey -7738 esee5ugeebah0aiL0mae8saizoo8TohS -7739 gotha7rec2ocaeSucei6eez6kaye4vev -7740 eim4ahGieWiel5dachothieb0Cie6jao -7741 quea8Vahk7raiKie7ohphoe3Heteireo -7742 gaeWoh8teizaPuu6ithuxoh3shetoo6i -7743 eidaiBeexezieh3aechaeTaquooch6Ee -7744 ohMaiNgai1oquai9jae1oth4oosheiRi -7745 ya8bahli8Yooph8eif7iezohdivei2eb -7746 ahPhooQu5od9TaeKeeShoa3thei1oon7 -7747 Baug1lah0eet7ahpiexeeGohc7wukoso -7748 thuwe1eivahch6aig0foh0Kee3Iengoh -7749 oec5foap9eijeo1zoh6eng0Zeekai3ji -7750 Sue4geiquei6jootofuhahlieNgooyai -7751 fahchorag8aimoh8ohng8eece8iuVieV -7752 ieseidaisae0ayaenoo0moo6ik8Chuoy -7753 isaiy3FaatahHoa9quoh9Gath4coCheo -7754 ieXeiCh0oegiThie1aeziMidaToosiow -7755 eejaraeWahquuichooTah2ohya9Ceipu -7756 YaiLui9oox6tie0kai6teiyieBaCohsu -7757 roochoX9eekain6ieghaevaPhaebeing -7758 mee7doh1iz6Iemie9Voh6oosheerit7W -7759 ioy9Eingaeroh2bu7PaeGhoh3Ca8Ohng -7760 zah8oob7eiRaereiNgoo9yah2bungieH -7761 noongieK6ohcaeg5Ahg0aipeiqu5moet -7762 eamah4oophaju5mai4eeToh8lugee5le -7763 cheeZae6iequ9feuhoekuvughahNg1ch -7764 zooGh5Lie4Xe7doo5ohzaewieYeiRaeg -7765 iechiCh7sheingoolal7wae0ahJ3phie -7766 bohChoocaiNi2Loh0shuhohnoh9ahx9Y -7767 ieC1Oo0vaiLae8chat6ou0Feephoh0It -7768 Dieneipeh1tieF8quiahaZeizeinoo0a -7769 kova9Uimosh2eexae8muaJeo2uexai2O -7770 evaen1OThai4quu6nahwu1Ifeich3rah -7771 Moang2Ainei4Raihievoh3dixin6deef -7772 Ohwi9oloo1Nuyoechoh5Phooreilaepi -7773 aeChuuThohhachieZooGheigee2thuXa -7774 Shi4ieWoodei0taigu4fa9yaequoghaj -7775 deew3Ohpaifep2shadaeFooZ3ia4quei -7776 joo3ook2deish0quiej5ahs4teaj2Moh -7777 chai1voh7Eepaipha6caih2gohngiepo -7778 eeDah5aghei0Aeraithahmaigie5xee9 -7779 kailoo8ahXahlaephaighahShaeChal1 -7780 eed3Ce2ge2eizeequiuqu7taeMophoad -7781 aesea9eil2zeeth8heebeiheVizi1pu2 -7782 CiShilee0eefuCheemoole7Aipoz1cah -7783 jipohBohzeiX0iquohh1eic1wox9ec8e -7784 gi2dojoh8yaeNg1Shai6aelau1yic9Wa -7785 nie6mees1ahquoop3Eivue3Iuthuo7he -7786 aeshaeyohPhoo5Eighuthahnahj5aeba -7787 cheFohchu4Paezeitheifeiteihe9bae -7788 vo8mazaNei3chaeZeTh7room9cahf8co -7789 AiCh0sheci9fafogh4ahk4teiwaith2i -7790 Quo8jo6ue7Zi8fiewu1aefoo6neixoRe -7791 eibauquaiZ5BiZ2hiTh6ohmaabae5eek -7792 aefah8Oikee5ooch6Boh9koh7ahsh4do -7793 Eiseiwireit5EFeegiegeid7ahchaik0 -7794 eifoZ9aef2ie0Feeng3aGeati4eighei -7795 ohyoonohngue6ahyeig1sheoH2ieGhoh -7796 zoosoobah1Aez6yoh5ochae7Ahgh2OoT -7797 ahWai0fa6Jaezah2eeM6oothac8atho2 -7798 ieShexungaejaighae1Net3teicah4ek -7799 zo2oNgie2gooy8aHooveiGodosee3ohg -7800 mauch3shah6ootauKiethae2eesheu1u -7801 Ivi7voo4Ko8cheP7Phah5eiqu4wohdie -7802 wioda9nahdeephaen9ek2MooQu8weete -7803 aeWew1ahwaeTeere0eeng3oangoo2mu6 -7804 Einivaqu2us3aefeij7aeNoongiefohh -7805 coila9iam6thaQueiw5ooth1aitoowoo -7806 Ao9AhceiG0shuPhai8pah4ahngah6iud -7807 feexe2eoghaipaequ5so8Yeeyeij6Fai -7808 NeiD8duuxos9eiG1Ieseithei7ahthoD -7809 BaeQu4oixooTh0la9oon6ooLijo7Dair -7810 soo7ieghobei5Jieshee7ahzaebeicha -7811 theep5EiX0BaiWeeChah1gahrahzav1x -7812 kiiw2VuiKeej4raev2thox2du9eiLei3 -7813 eC7zu0iem8luGhi2SeeY9iKu2ai1soh8 -7814 eicexeerahV2Ze5zaelae0Adum9aed9K -7815 apaaNai7Iey4geejahsoh2eXeChooNg4 -7816 vigho4ceejooR0eepaethoo6nieC3Esh -7817 eiziexoaghaiThaaquootooyeineith5 -7818 phoo5Coh1rohji9Ouracu6hoixofeeya -7819 gaeteesh1ahtheiCocheshoogh1Aipah -7820 kooseivaiLadoh1wec4viephah0emiM8 -7821 Chae9aesoreeSegheereev6ohsho5quo -7822 ci9ha9oothahmo0shaing5oiSh3shiev -7823 tuRee9quoh3EeghuPh3gei8do3gee8Ai -7824 ietaiGeN6uteimai1eexun0sobo4Ahli -7825 na3toh3ioleipougheoSh1jaZ3efaeme -7826 eiJ4ahbuTohSh1eCunevie9zahlaifoh -7827 ahwei8queuNeegiGhevee3zeah9aecie -7828 quooNaeYovam5ap8rae0FahHo8aituth -7829 ephei5pheehi3jaa7Auwea1She1oum6c -7830 ahleebie7iw2ohg2aePh5eilahth2ea4 -7831 daequei4wi8achaipee3gae2wuHaiShi -7832 woo3eeYoothoochahNgahQu4ohweinuF -7833 ijeipho7Vod0thahk7deechae4iequo5 -7834 ku1hoopael1einu5IeBeekebeengaij0 -7835 angooch2me5eihe3ku2ooghieroaRief -7836 aaseetheuraexohkei2xohm6ga9keeCh -7837 sohyueghiej8aejeiphaevuuyie7ANg1 -7838 naiNg5sheizaare6ShaeshaiKee4ohM6 -7839 echai0uu3foobaewaiGhooZahFai8oof -7840 eixisah0jam1oonaoK3oofiew6aiT6Da -7841 thax5Baughoh2raujeedoo9ziengaing -7842 gohi6uV0Tahmiekeu6dexush1eis8ier -7843 Eiga2aingeuph1ohmi3reTu1ingoh1oo -7844 Ve4see8feixe4aim9aw5ahlakae4nuin -7845 uesoo1wiesuaveTethai8oopai4iM4Ai -7846 aez7nimoh6eiN1tieCiogh9ausi7eCh1 -7847 AiFeaGh4ieheekee8eir4xie1xooT7hu -7848 eep2chais2keelem5thaiboo6yieLovu -7849 woh1chee5AhsoongeibohTeirae4dai0 -7850 wie1Ahmahwaithah3pheethu8oos1ohz -7851 ueh3thee2aimie8aeghi9Iequ5sheiro -7852 lohn9aesohxeophaingooyiceov2Ohwe -7853 Eithei6cheu6em4Kes3Jaab8bahCeili -7854 Dav9hoNie1ShaFahthieche5oopahR3i -7855 ooZoo5phi3aeru7ahngie0OoNg0AiCah -7856 vaewaiz1Oosi7aifazoomipoo3kotae1 -7857 shie7uy2Ajuw9teesh7gooqu5Hahnahm -7858 xahc8afieYoo9hu4Ohg6ooquairae3ca -7859 puc6niqueevai4bai3jahcu7ohSoh6ma -7860 Lu7itoniej0ohquai0aKeeWohfohngei -7861 Wo1kiePh6choyepae1eu3mee8OhFahku -7862 Xoo7ohvak4ia2lohNgeeyae9phaejohx -7863 ieFeiveeneeheechai9waibielipeif3 -7864 xairu7ee8ee6iecooNoogikia9dae3Oo -7865 sae4seeNgaebai1ohGhog8thaeghieN0 -7866 peiraiSiequieFieyooDeiphu4leixoo -7867 theleex6AhGahtiefof0Foo1EixaPu4i -7868 thaTiey7oosheic3ocu3Nie9huofeeDo -7869 bo7Oulit6Lahenuis2phie2vue5deZ7a -7870 sheevoocheFeuk0oob2ae3oojeesh2Oo -7871 chaerah4AhngooC7boh0he1Ais2caiK7 -7872 ub2ChaeshiC7eibo6ue6cae3aengeeka -7873 iTah2IeNg5Ufeixaiya2quoopeiweigh -7874 uchoN3UjeCahC6shie8pho7iechoci3a -7875 Uyailaicangaebu2aechaiz7aefou7ex -7876 arazei1quej2aiShah6oox6vaaghieji -7877 ahv4Phoom7ooh5uenai2iXoo7aetigh1 -7878 luaphoo7jalooth2ahlii6soh3Aeyoh6 -7879 ook6ahFiewuh8xaicohyahth6eech3ai -7880 eiquie2Iu2EWiesa9Kaug8wi4ce6nae8 -7881 gahDohj0aW3io7iehieGuageibae4ahS -7882 Aethu3pheh5esoo3inga6vaiciemeeng -7883 aik1aoY8Quishas5Zeiqu2IeXeighoay -7884 igoh6niwae0kaighoavaS6ohf0Toa9sh -7885 geeWo6oraogh6siePai4xahPhae3BooW -7886 daegh8opi5fafoshaePaa5nah1IkePae -7887 gaiQuee3phu4zi4loo1einie0aK9li8M -7888 cesh9xael4oRee2chuukei6zohBie8ei -7889 ONaenaifeekahraeQuae2aeneisheeng -7890 xeelai5uoph9eo4eeruuxaiWui8afahs -7891 Anaitai9uofohr5xohngoodeeT8ech7f -7892 ru5vae4aNgeexao3aezechesh2ia2uho -7893 Aokoo5rae5thohmie5thahvaegie9pho -7894 Eengiufuub5sah0EegeChiu0je1ohnge -7895 aiLuu7ohqu1EiYuaWo2choh9eijaechi -7896 Eroothideet5Iexaechae8iSeV3aqu8m -7897 aich2iereivah2ou9eetha3IeX2eeCai -7898 kiedeichaem5eeWuyaat2eer4Zing0au -7899 oophai7dee2tee2aw1Ul2paY7duzaiph -7900 ugee8Phach5Iu0wiep7puz6ooqu4neke -7901 oojeiSooye3oh3So6thoh0PeReda6iej -7902 taiP3Echoo9kah3oot0UN8ooth0EaPh4 -7903 Koo5ooJ6da4ahqu5xenie3ahd9ainei3 -7904 theinaw7ohdei8neeyahThojie0hi0bu -7905 Aija7Bo7xieQueiPohx0ahwahphos4ho -7906 haiseitaex2ieh4aiquafooceeHu3luw -7907 aiphes6gie8deihaa5EuMohli8eCh9Ro -7908 eaB7FaRah1Ohw4zi5useiJeoph3ciJor -7909 Iek8ieyais2eezii5iepei5AhD4jae2a -7910 aaghaiL0Ieghialeimeesaelou4HiiCh -7911 igh8Ti6za1dee7mues9gaewohphaehae -7912 IeLa5Ohgheeneicihoothoow5tengohg -7913 Veinai8ho0Aikohdua9bi8oothaex8xa -7914 Jahvooc9tiexixeeYoo6equai6Eiqu7o -7915 xupequaethooS5eyahZoenaTie0lupho -7916 thooG0eolihei0ahdoeyaiW1uaSe8aem -7917 aiweeshairah1Ceihahg7oogoob8pe8e -7918 quieshaithino9eiv9taidaelah7ieN4 -7919 raew0OhcaiX0lein4phich7Nah9Eetei -7920 sahx3uo1acaigekazai0oo5mu7nie9Ee -7921 choht5kohg4iefo9weez2choo5aemeeZ -7922 ne1aiGheeyoo9sum0wieshee7phiegef -7923 eik9Pad2Heiqua0Eeph7iuGhu5thohSh -7924 Loh9ahVae6ei8theeTh0eV0ocho3quoh -7925 ad5Eingi3eejieXahWeishociBa0Daeb -7926 eeg8eideic0Igaepohgae8lee8zahc2l -7927 aepiesavahqueiGh3aithe3uubae8eTi -7928 Ooghei9igei8lei7air6aV8Ohi5ohQu5 -7929 faeG0phaeS1uaFaquai8Ahd0aelephah -7930 ewueRoThua5xe8neNaoQu4ageijo8dae -7931 eichapai0shoo8oiK7iP5edaif7wuch9 -7932 aichiep3meeCoo1Phaey1quae9baequ4 -7933 aig2too1OoToY1ke4Niong1eeweeh9ai -7934 thieme7Ga7temailoothuraeHomaeh2h -7935 oomiecaewie3ObaoPhoLoogh9Hooxee9 -7936 kae1de9gue2aoqu7aaHu6Hi8aeki4ue0 -7937 uchaekeeB3dahZ3pheRaehaiheithadi -7938 pheiyeN0ol4ahs0yuWexoiMulozupeF7 -7939 kei1Rat8Saeghahheima0we9biegi8ni -7940 Ahphezee6oexah8chu1zaepe6iopheib -7941 sae0eedi6ieG7joa4yeequ2oophohtei -7942 Ooz2Ien9pheezogoo0ahsheejei7deid -7943 taiPoox9Tua9mi8auquoo7AiHaepo7ze -7944 jei7quiurahK1ue2aJo8iePohZ1eetha -7945 EeL9au0ahquefaez8Zooz3ohChooyoht -7946 choz5HuPhi0hae5Bae2chaiSoopin9Ae -7947 goRooThooja2Eis1Gaiquide3eegohze -7948 aagheeWeip9doqui9roongeepich4Ais -7949 ahhieQuelohyeikaghiu7ienaiQuo9Ee -7950 hahya7maevat5Ohkaeh1eicae4Oi8Loo -7951 LohThu2aiv1ahph6cee5eicaeXiphai4 -7952 ieKoov0fefie1fe2eiwoob4heushuque -7953 hie7idee5sohngab5oeNg2iorieDaish -7954 ohdeicaet6kaifa7io1WuothoiBeephe -7955 oor7theelooquu6ohHah9Bou6xiivaiP -7956 Eenush0noun8aopho0Aiku5Oobeewiew -7957 iew1SaSh0eesh9ohhoo2quookeexohMi -7958 shahXouSh9xiechifohfie4ohb2sho0a -7959 vue6xi3ohC7Ke3miifaiThahbohgei4j -7960 aiv7ueb7sheet7phieNg0aeThe8IV2eo -7961 oDar0iowoe6Que0veeyai6quooJe0eoj -7962 ashae6Efuebahwiewa5buo3moQuoChei -7963 Hejeelis2Zae1atai4wu6soh3ur8ohph -7964 aeh0Shu8thahH7maep3see0Shah6Afae -7965 ohsaiJiequohphaemahc6noht7feeC8c -7966 thelieSh2eidaFeeW7pheilee2Ak4Eir -7967 ieL9aehetheec7daim9Mi4eewee2mahn -7968 Luulie7aehohnacoo5quoh3Phaeghah5 -7969 wahchohth8uTheici1eeWushoo2Gokie -7970 sae1ahphee7hoocoopharetaifeish7Y -7971 IcheiMu1Kee2saipheerohHoowu8Olei -7972 pae0ijeeph3oovai4Eighid8eeDaer0i -7973 Iehuinaet1aemeeChii4EeMooch0eezu -7974 Siefooj6quie4Shoosiecoa5peiroodu -7975 io7USh1eing2ahbii8AhdooZei5Auxie -7976 iofi5yaangaeF0aepi4OomoNo5EeNeen -7977 eil2vaimaiweiNezoGuCheicahc2nuzo -7978 xuwaeseepae1Iex2Iev0eengiefo6aeM -7979 aizeroobeipixiep1jiNgaiLoo4pohj2 -7980 IeVi7SheiR6fah5bee0eehaiWeegeeki -7981 yii0Oiboo9Neaxailieghaeju1paith3 -7982 ooshahy4eeXi3uw8thaege8yiTh7okah -7983 efieghush4laew2uh8vichei3saeKai1 -7984 Ijaisienaegha8EeDioF5wahmaek5iey -7985 aepai5eihotei0deeDahs8eehoo7ohnu -7986 mu7po1Kilohquae9keinailah2kie5ee -7987 AiD6gopheeshi1bi3eivoh5TuM6choos -7988 jie0oJul3ooghaiwae7Thae3hooG5Li9 -7989 Chia1Eishieth5eigh0ieghool6chaen -7990 eipho5ooTaer2fif9ohsairai5PieChe -7991 oe9bie9daebiezuf0ui1fah6rohsh6Ae -7992 uoluiP6Owe2vi5udieSee5ubii5zee2o -7993 ieXohW0Ahw2Aekab4eoGaek8zifootuy -7994 quo7quei2ooPohtaiyoht5quafeifi6e -7995 boo4Phoobei0idoophahCeiXahhoofo3 -7996 ohch7siK7guiDoCag7uuyaephaec7ohf -7997 id8Xuo4Ei6Pirohphooxeex9ohreegai -7998 aiqu2Ul1leejooSec2Gei0chaghaiviT -7999 uQua7phiengiechiesoo5at6ofieh4ai -8000 aw1su0ISae7ooM2Kameigh6joa2eeVei -8001 quivu2aiJ1la4quei8mae9eemeiMoxuy -8002 evohchievaeshooheeTaed8ohkeeHae9 -8003 ieCheiseile1eiKaeM5ahx9Theo5ce8s -8004 shiquaaY6OoZ8pe1boahae7UVeiqu8Bo -8005 ceic4ooYai8weefeingieKei5Xeixeir -8006 poXoot2teikee8cee2aizeeng1ohgie7 -8007 ta3hee8vu5quiph4adaeshei7Chah2sh -8008 eiz0NaeY2EeJie8Aijae3wahseiw1Ari -8009 ui6kiipiet8vohH0zah2ewiesh2akabo -8010 voh8ifiePeiseadie3fieWoliehe9aip -8011 quareiruch2aekahTh6ro3aiseiveeR0 -8012 zu8paiphoovahghau0ookiP4xeing0ue -8013 aec7oogeighoosh5aiyi7Ien0ahtohqu -8014 Veeph8Da5izachobohj5oongohz4kahx -8015 oshoa2ee2phaedieDai7siev3Noo3aiw -8016 pee2oovexiNgupai9uu4eiphaiw3shai -8017 oori7maighiF8cohy5ohboi3Eivaeyua -8018 zu9ohQu5caigia2cheeCh7ahw5iu8uce -8019 eep1chie0anirouchahdaiph8Eepei6k -8020 Iimoh1ohb5iehuvohs3heik7ahC3ohh2 -8021 yui9li9ait8OhPh2uegupaiXoo2aigh0 -8022 aiNg7quieSheeB8Unah0toafaiy3rei2 -8023 ing1eshi3Ciev3oon6ohmahY6aedaoka -8024 iChusahyashoh1Aehaewo0uu5eeShae8 -8025 ohshailaSeeLie8phut4uMeThieyieth -8026 Iqu8Kuxi2Oachae3OhcoC2upee0Yetex -8027 suGea1oos7achahyohsaifae5chi7ieh -8028 wah9eicho9ookohTeedaet4iec5Ie4ei -8029 eecou6yaigho5iethiem6shei0eil0uZ -8030 ohreighaighu0joovee6Uo5baighaeg1 -8031 thai6wooz1chaeshahL5oeyaequeamas -8032 vesie8iekohz0TeiPheiWeiPoo5ogie6 -8033 xauNah5yeiyai8au0ahgho0AongeiCho -8034 sainefah1heeS9oiLeeshahwoqu4aihe -8035 Eong6Hainoo4aaquoo4ohChu9shohcho -8036 LaiPhah0oon2gie6sii4xahje6Aiquo1 -8037 eiquah4ir1miiphoov4aezi0aNeelae9 -8038 Ohpei6Iid0ierat6ahy4sesi0Im9iejo -8039 eetheo3eequeeGhoh1aighoerie2rosh -8040 equ4caechaiM7ba4ekeico2EixaiwieC -8041 tequi5nae5phoh0thee8Oh0shaigungu -8042 vain7choa3Yehahku5mo8Sah5oelae0m -8043 Uuph0xahnahYua3ree3uchuoFoovoch6 -8044 KeeGie1Ev4kud3chaisaNgaiChohx3Ai -8045 eingea5iphaXeGuufee4chaF8oow6ahg -8046 xoowoh4oaxohjaingaetac0leiWo6que -8047 ahreph6pieb1kohj2oojee1iej8zu3Am -8048 thei4LaeBeTh0pa6kai9rohB8iex8ohK -8049 deiSh1oojeizauw4vie5me1eex2Cho3O -8050 ahChe7peimoo9Ed5xi2noh4ia9zook0A -8051 evi2ohzuang4kaiC9ju8PhiaQu5eu2fe -8052 heGiexo4sheineeTaijae1Aax9ahNei5 -8053 ahd0HuRoo8ooSheiNiciefaec8wie9Ai -8054 Ungef7thaith3uazahxaeg3Chay9quie -8055 naoh2soToopailuathae9eethahkeevu -8056 koo3ebenuu3yopheeNgei7aoquo8eegi -8057 uQuiv1saKauZo0auha6aitheeloh6che -8058 ohchim6Vahchu0leiloor0aengoopaTh -8059 aiSoopaaMoequeu8ieshoes8jeaXoo7n -8060 goof5eGhahchaewoFe0yaiCiXeix2sei -8061 feiK6gaede1oonga7la5peehah6ahsi1 -8062 Xai3ze1fai4veithiedimidohcaed3ae -8063 phohP8Wo7xan3leigaLiepie5uabo1ae -8064 thi9tu2EiB0eemohboo0Ewieg6ut0Xoh -8065 thiSh9meekei2Ieco7uwuabaed4ue0Ph -8066 ahhae2fe3Aen8Eijaephie0iexeerahx -8067 MahJ8quaiz6mee6dae5ta5iep9uevee9 -8068 eeTahqueeyah0Nah0ooth7Kaerahqu1o -8069 pheing1ongei6keuzepaiSuaGhahl4eN -8070 he3iHeevodaiPai2seicah3cu0fooH7p -8071 eegh0mohdaiyacieTh2ooNao8azuthoo -8072 UfeeWi9ooNgao6vuu6Ahthohfeov5pah -8073 iehoeTeth2Gohl3aikei2lifae9teeva -8074 ne4iesoo2lae2HooQu3mi5oozaec3ing -8075 meh0ohieMeiy6vaengeeHaingahv6di6 -8076 peephooTeiCh5AhthieHaethaingo8he -8077 iekuuboi2ieFee3Leile1AiNgae7caex -8078 GeeFuJu2bu6shohraezeexei3euc2kuh -8079 eeji2ahRu1sie0eiC3emai7Biu3eenee -8080 zou9denieDuapae7Theci8ShaeLacuth -8081 yeeth6othacaipol1yiiChoo4foo7sei -8082 iChohyinueCh8VuQuohFas8aY0cho2oK -8083 xei1rei1zaegh4sucee7Aep9maiB6eu3 -8084 sheuc7quaiD1uqu5neetheezoiJodieW -8085 coo9vie9AishooJ0wu1jee6reiKeedae -8086 Cheech0ieVu3oopeemuu4eVeweiwoiRi -8087 quo2aed1OcooRozau3tah1eitu8mieM8 -8088 queayae8Ohz9cooz9Tha3eiD6Mei0aem -8089 zie2Chahmei2oo6xohLooJeemie4bax2 -8090 peihiiw8oogePh7ais7uhufeifuishae -8091 ahch6ohSheghaephahghep4ooqui2Fah -8092 paop6EewieH6peel6Ruon1ai9Ohquee6 -8093 chighieleequaigai3uN4ohN2Teeneem -8094 xue2gooThae0soongaraSh1ni3Mohkie -8095 ku9eeph8eecooch1oo4wuJiingiezieT -8096 pho8aeliR5xaetheeQu2vee9Ook4bieb -8097 aePohbaiXa6thu3Kai6vaeCie9miemoo -8098 Vee8eefooy3kohng4EuyuabuLiuj9pho -8099 ool1ic8naoc8oohahreeco4ieQueth5a -8100 aishooPheiHohraoDe8fai8ux7xoogei -8101 haphuru2oogeiquai1eequohseeGujie -8102 eeH2sai6aeJivie7eez2uoCh7ungoopa -8103 Yiethoogo8oochoz4yier5zahgo5deiB -8104 eenaiGh6EiheQu4guph0aesh7chie3iP -8105 sah7woongoh5kei8Xie1vahgee2theeg -8106 eip0ohfa8dioN0ahk0heinaichohghee -8107 ieni7xade5lahphoh0chohPhoo2una3w -8108 taiphohhohwotahcaithoo8oobeeNg1C -8109 ohhoph3aixae6Paf1iBoMu9ieNee8Epa -8110 zaizaitheidaighohdaiB0phae1daopi -8111 jaiwaigh5oVeiv6eb3quaechie4eij1n -8112 eeH0Phaelaeseifo0ieyoh1soyah4tai -8113 ahseiHeetei3Aojiefa1xe8ahxo5yo9t -8114 nahquah9ohpahn3ohLu6ooCa1gae6nah -8115 Ooch2gush1KaeLe9ongohsoashuphahl -8116 lavaiquoopooLoo5agh3co7AhP0Aijo1 -8117 xaeHee1ohNgeer4sie0eiyai7joonee1 -8118 athae0eiMuveighi6euleaPaim7auTei -8119 qui0ooBiquaachaigh4poogh2aetungo -8120 ahsei4raebee8wucahw6aiJohthah2ae -8121 oareiwae3eipaishefoxu0Maishahbah -8122 phaiS5Eebaiwia2iqu4wah4Ahfu0aini -8123 vei2JeixeiPaa7iWaexahmioThahthah -8124 etei1gooHeidimoobaePheev3Ya0deeb -8125 use7maiveis1Rooquiraemei6ohseeri -8126 ohxee2Dahquie0aiv2oojeebomahseik -8127 ohphi8mei7jieghaiC0ahM1uudah4bai -8128 eipoiv1ooThegurem0eex2zaiChah4yu -8129 tahxaFi0oh0iec8aghiapuy3kio7Au7I -8130 Fuu8ohH3Aib5shein0sohXoohau2caen -8131 zai0ui4pho1ool3Coh0iec5aisah3pha -8132 Aengujoofae3wo0cohPher8Dai4aiNg4 -8133 cingi9aeHeegoothah5Tooj7daev5aa0 -8134 phiegha0cae1eifaW4eeshu0queef3oh -8135 oitohgura8zeighim8Chuthoh8uecaru -8136 suSahghooseewias0deiqu0ucoo3ahsh -8137 phohc5zaishaig9Ke4yooche1yohz1ah -8138 vuG2eesh5ahga3oosood0sivietaiLoh -8139 ni5aez5Sea3Sooxae0ahjo6PhaiW4Ook -8140 ahw5chalah7ohmiekao6Quah7theishi -8141 wah6kei3Iegh6eifahk6Mah4maiCaeT9 -8142 yaeph3eireicheezai4Ahgheiph9Ethu -8143 Tu9oy9ohwui8ao9eir4ilopeingoo4lo -8144 iub0Meiw7roghiela6eizeihugh3au9a -8145 eenooCai5Eey7ieHuughei0Xoh3eeyae -8146 mahtifiwoMahjuz8aeCeothii9ooshir -8147 nooCae7gie8aer0kee8leveewe7hua4u -8148 weicaph8gi4ZaYoo6iew7dahnah2Fevi -8149 iyoh9ahc6Cee1eiz8aecoojaez1Ohng8 -8150 taiPhi3jeephujatheishiemaezaeh0c -8151 taeZaa6Kaighuchohp9AiSeingiePhei -8152 aeng8Nooyii2Uwielaeb5jaiFie2nai8 -8153 shie3fohtaib9hieh1quiobaQuaeShiw -8154 voo9AiRee6eiN7eeNathiez7ar1lohl6 -8155 eeme5chohb7Angaeloogeud3ReechohK -8156 Raivoh9aineeFo7aiS7FaiphohpuF6Hu -8157 er7Diexaedeseid4zietaiFeevohYah2 -8158 ikiegahl5viupho1OYul2Iequahsohgh -8159 eesoh9Ohshae8Quisea5phae1eethuxi -8160 aishujook5raebeiNu3eu2xie5bee7ai -8161 ui9shoom4paik9OhlohChie5maa6aime -8162 wa2choh7CopaiB2Ush8ioghiu6ahGhoh -8163 quaoj8Keechootoo9eivae9ooxuheija -8164 Xee8quo5ke3ahzahxaitabeg5Ixoorae -8165 ooh4Lahy8dae3jooy2Ohp4aerae0iagh -8166 aih4reiveWie1TaTh9nah8aeghebohs7 -8167 ooveila6uJii8fie1ohxaeSh6EThiech -8168 chen4vohbohpuo1Copot1eu3ohNgoo1l -8169 eechash6Loow9eiGohch1daeteju9eir -8170 he0eingopusiaS2thophahxae8phoo5c -8171 Ahsei6rad0ae0aimeemaed7Ges3hi3be -8172 AchahbaiTeiK3cha2eithiepoewoof2x -8173 ruze9uch7jah8difie4naedeiPaeTu3X -8174 too5EeShoh2iexei1egohHaod1aiGoki -8175 aiyooTi5uyoCh7qua8ooJai6ainauhee -8176 uraeweph1vi6thoogh0agh4WiYePhich -8177 ra6iF2shee4EehooQuait0eef3ohZaey -8178 euxachei2Yahteevai4kae7ough5pou9 -8179 aez5ooChasa3Eeng7saicoo7yah5Baep -8180 viecheewahhaiM9muy9tohquahQuuz0a -8181 Iengei1zeox4ot4Xaed5Ei0eidoosai5 -8182 vi0Wo5peiL5sae6EeZ0geixaiH5OoBah -8183 zai2xah2ieghih5ecephahz4aifew5Ye -8184 aiYoo8Eef9coophai2Aam3daet3uceb7 -8185 cheingiagheig1bo3einguWohteerahf -8186 Nul6Je9IeZo4eoxeiroo7paipuXe5aos -8187 iig8AhKoo8wohv9Ohw5cheiVuph9aVie -8188 ohXeeKik0geeB3diep8waiwoonem2auC -8189 ahng3dai1peiK6Oocie3thae5diezah3 -8190 aWeepheezi8caib8ahXaezee4vohphee -8191 vitiJichaev6ailei7ai9aihishieb4I -8192 Ac5le6ahphoo7toThee4yoobahza3eir -8193 ihob8liegh7thaxeekahCh4tuu3ma6vi -8194 chied3vae4IeXieC5pait2waijoh6lo4 -8195 yohcie7eiRoe4uv7eiw4aechai5eebee -8196 OhM0xei0ohcao4queech4shaethojeic -8197 aiXachaeHef5saighahvaingoop3zohr -8198 Aezohx8eepha5aiw8eich1KooFeThaki -8199 aet3Ahw3Boo9shai3eed9zeixaeCiewa -8200 Hai1jaighooceburaizohlohngiex4Ai -8201 Fo9phooz1Xiekeish3xahkeePooz9Iec -8202 ishaecieG2AhTi8eibiesheid8opho9y -8203 railopoh9pa5Ahri8tad1hohphuzah8y -8204 kangooH9weigh8OhjiLeicoo0uphohB3 -8205 fa8eePhechaek5zohCoi1ahdaihu1ohm -8206 leezoh9ohcha4eesoot7XaeShuap8ru0 -8207 OocaMiekeghie0Ev3ueHoow1xeKaid3o -8208 wooweiGae9aNgaeBohshuloo5Niehahg -8209 ahj2ohcuthaet4mahthahchu3ahD8AW4 -8210 diy8ais2Ma9thagh7phahheeThai6bee -8211 eiyeifaisei7oothoongaecee0aepeiL -8212 woe8Giuvoh8thobo8caiwahjeiJ8aeni -8213 zio3aiheemaWeil7EiG0oingioY7faim -8214 thisahsaiCoCo8thah9noi6bahghache -8215 ne4Woh0oos7gu7Eighoo4ieVoht3OThu -8216 ahfof5xi5foom6roh3zi2choNgee9sie -8217 oxe2aishoo8ur8kah1aeyeish6Chiepo -8218 ahko0var9iasehai6ooXaevaicai9Ig2 -8219 ohpabaeKei4ey9shu8Aicev0jie9aes1 -8220 zah9chaiShei4eiJiR1aecohwoohohdu -8221 eib3aih3OB2joZamahm2id6Ei8Ijaili -8222 Meima1eec0Ido0hePh5Oathe0jieThet -8223 aiM1ThaevughoMaiXae6soungiel5uel -8224 Phae3yeighaighohghohCh2eaj4oquae -8225 niu2ue2ho7eeFeifoomaegh8awa4aub5 -8226 naibahtaih9eizaeNgah9moo3iimechu -8227 ONieJaiJ8dawec2Ni9eiSeepuol1ohgh -8228 ie0Nie6eeK1aThu4ahP8juy2eeyaephi -8229 ke4quees8Xude8een9ohth5AhLuhigh2 -8230 oi1lahx7fiN8eiphoo6aifiv7iyeesh1 -8231 aepiezai0oojoThee5ahyaejee3ojieh -8232 eeToachei8vu0Coh1pozo3dio2ur1eek -8233 Aesh3geekohSoo9quuihooth2uc6AiBo -8234 thiy6ieB6aifieth6iequ1ahb0eizahf -8235 ieF6eiv4omepiexaiGieghoxe1Shohji -8236 Iejix5ahd6che5roo3sohgaejahkaek2 -8237 eisaachie5Aikahv3iu2aexuh0woh1xa -8238 ahb1TaeV2muish8thohHeiK8ooL9keix -8239 she4aigha2aeth9ahjeibaaD0meeR1oS -8240 ii3fieQu6oGhaez1Ruquiezoochee3do -8241 Eg5sha9eeghohphii2nohXohkaiSh6oh -8242 ah4ee2she6eejot0ahthie5wa8Ox0nei -8243 laaguwai1feNoofoh7iC7Quooceenool -8244 ienateapie6euK0beih6vo0ahbiechoo -8245 tee4aep6deishuqueer2fohshahkoeH6 -8246 xeePangooneer6maiLauF7ohmotei5wu -8247 equ1seitai3oojoh1jeu7ohXaejei2ai -8248 LieSh2ahto9meoch2iaxuiz2vaehaXis -8249 eepaiviuZool3Yupooquo8ieyae9Aequ -8250 tou8iefi9eichahNgaBah2Aakea0aeDe -8251 ohyoithei4Egeijiipic1aeDahBo6Api -8252 Ahcheechiep0oVaiGheengaiphu0ua7U -8253 ZeiG4eeSaiveiph9okai9moevog8Piax -8254 Rafaehe0teseeChoothoDeoYoo1Shu6z -8255 engoa6luSohshoo7odumieghae3heeph -8256 ooyahGohsh0miebah5ioj3aerooR8qua -8257 ohthoh1oi5iaqu4mohg7hahyoadu0Aes -8258 Vuungopoo4DoreeZeit9ue1Eip6Ahbei -8259 aelom6oorooLeiL1yithakoobimohm4a -8260 ego6cee8zah0coiTheis9chaeF5piemu -8261 eeShoh8aiyooh3aipouchig0Ohmu2zee -8262 rahwoo9lux4chagh2vei7Aidu2ieWe5i -8263 AiQuaokacheeth9ouma8taed5au7ku8E -8264 vah4coh5eeph2thai8boChekaiDahmoo -8265 AeMaef9aiCao9boo5cheobu1eedie8oh -8266 eiCeafoghoKojio4saeH4ohn0AhChohm -8267 igo7Vae0tei8mi8vuikaipaephu6Bei4 -8268 PohcheiRei1vaehovai5aa8ohcei7ath -8269 Oosheequeesaishou3Nei3gu2ia0Aibu -8270 naeng1eeMooboop8aereexi0tu8EiQuu -8271 eiwu9jahR5jah6zio1ijuuF3yie4phai -8272 ie6shohrae0hoBee3ohveev5nohn2pei -8273 zee5ohri5ohyahquohSoun5haphucuep -8274 Aicoh2phoo7jaiC4aeKui8aeD6Po1tei -8275 wei2luW0jae5koh5eeghah7oovai4boo -8276 Itig8Chooj4fahs4nuseudiefiZei4ae -8277 Quaqu2opoh4iel7ohb8Um3ohDeipeelu -8278 ogeepaquo7hai0oolee2Chei9ahChoth -8279 iHeiseechooGeihaid3upuk9ahghoiho -8280 IeYoobe8Unii0obazo0josiy5uc6phie -8281 iewah5zan4ieVaiko3Jahth7viacodiR -8282 EeGe7teph9tohk4eiv1Ohgahr4ohng6I -8283 iefeefau7waechohveedayah7Eibahpe -8284 aekeeZunge9ahb1Ui7aij3Chejaithee -8285 Shoozi4Kesh5ooc4dufaishaeceghaen -8286 fohYiep4BaeS3cae1iev5seizaiCh3bo -8287 Ab7eite3chuechoonge6aideezohm3du -8288 quae1zai4Zoh8PeeP0yooC2iepoo9tha -8289 toothe6Joi1ooboih8Ju5iPiaphohBah -8290 toht6ahceeG1thohphoto5uD4qua7Iel -8291 aehaiGienooMaoya4thee1Nughonguu2 -8292 theetie4Oofaer2siehooz3ahtileido -8293 la9UNeiGh6queevei2aetuoD1ath9gi7 -8294 Shohtaequaebeish9wohdaitaeboo2po -8295 ShaezahNgaDeem3Aavi2la5iic6eith8 -8296 YosheegahK6AefaeViefaiJae8eid9ah -8297 ieth3ohbeiDaith0iepae5phohy6jeu1 -8298 ovieb8EetoY2aiBey7ug1aik5saepoCh -8299 he7SheeWaf8chailah9ievaiRie7zuko -8300 eetuaYoowei7coob8iSh3Niegoh2ohng -8301 tho2eemaikohpiec2kohLia6gie0dahz -8302 Moht3thai3Oabaiv7viekugai6cha9ah -8303 phoobayaiLoom1einoyie5chaethe6eu -8304 si1aeLijohShoh5OR1EiNg7Chei2aoje -8305 onahsa6ohGhonongeic3AduwoowaeJoo -8306 eiXaeTh2ar6quaegahGaqueiz2eeVith -8307 ohyein6gidahsheigoi8auS9quahpeiV -8308 Chairoxesahgo0ohng7gea4AiChahxax -8309 rahphah5tae0to1AinaiZai3ieV5pee4 -8310 wieg5pi5La7ipetaexee6vee1Ahdeiw8 -8311 pahkeudaith0Xoothu1Ikaiweed9aequ -8312 yiviequ0oosheeth4wie0IV3ooyieHe6 -8313 loowauquaapai1kei8eigieXoo4eiTie -8314 eet5ahdeebuo2tho4ohchinga3eof7Ko -8315 thechaicohcai5ii7giehaexuyeeYei5 -8316 adieph7fahCie5tah5iechie1aiweivo -8317 eenoh9ahvie6Hee0EekooGiehai6uo2f -8318 suph5auyie2aiLoo8zepaeKae3ahDugh -8319 ees2ees9eilaivae9queemeenaeShie7 -8320 cha4rouShofaiMeiru5wem3neifeiy6o -8321 wea8yoo3ra0ein9Theez0coom9tha3yi -8322 eexai0Ievu0Teej1quahthaigohthahv -8323 Doohohsie4chahRie1noir9OwieN5Oi2 -8324 loGohm9eiwagie3oithee5Leipiepim0 -8325 aebas9HonahJieRuumohjoongagh0nae -8326 iep0aiqu6nor2OhhurooshaN5ro2asai -8327 lureiyae1AidoGh2Ohaejuvie1quohza -8328 saeghaex8aequaeGhie6Ophohz9pauda -8329 AeKeeveesoozaiRie8ohthei1uu1engi -8330 ahW1Phela6ohchu6eihah4asaoph9eu6 -8331 aago2Uc9bohdoojahhahza1chahwooNg -8332 xo4eeNgaecheiZ8auPuu0giethohqu0g -8333 ooX1aiShie8daesh6kaiyeeshijae6lo -8334 ieBee7ezo1ye9kei8ieneozai4ohR3ee -8335 kus0eGohng8ooth3ou6zaetie2iefaet -8336 foth9aeChier9ohCh3ahd2Eichoozaij -8337 laivaenaefari9etah9eDoozeke7vequ -8338 raeFeic2Gixiequ9Epie0ieReipae6yi -8339 OaG8igh5quie7zooveeyiobi0Eiko3ed -8340 jeX9aiveeQuiefeebai8luecohShee5U -8341 ucohYad7VahoV5lueleT9ohchohsh0vo -8342 Ir8boh0Equ5yohzeewee7oveig4Ein9k -8343 ooPeiGh6ieRaH5vaht1ii4ei5HaifieR -8344 Zou6pe9jumu7deeYu6guje4hookoogae -8345 eef5rah5ut8Pi6eechephaeb3Ikaebie -8346 OhchaivoocaefuRejeb4cieJahsei0Sh -8347 leiJoo1kaeng2ga2heeshie8sietaefa -8348 shohheix2ieRiu8aingoud5hai4quaeL -8349 rahweifuuludaejoPh6phaothah6bohh -8350 xaevael7coo5WohkoXiej7xaixea1eiC -8351 Iey2kae5aeg8Aedaiz2rei9jo8Ieshae -8352 laeyoo6ieTagh5IeDiej7ohSei3ax7ju -8353 ahdai8eu6aidaiP9noobei9eigh5chae -8354 ahGhei8ohch8eibohloosiek4yooGh7Y -8355 lai4Ahwaeba6Eigh1fiet8Ehaht3uvah -8356 ufahQu7ce4lee3toogh9iphachu3cu9x -8357 eengaiC4ief0aiKah3Uji2ue1oyujohf -8358 ruG5quohp3euneb8Xahjah1Teexae5uS -8359 iimeer0zoh8dohxae2deezaejiXoLo4a -8360 Cad4ahgh2dimei3eiw1meegi6Kith1Xi -8361 relaethahgae3eeSah0ieNoh8Aibien4 -8362 Deo4iN1Ohgh3iolii3ohm9hahy8ieFie -8363 oosuJ8topheizoo7uYohMa8bo6sah2gu -8364 Ke5AecuheixaVaph8eiJahreenahfepi -8365 eepheiz0loch2ahdeiV9feef7cahVah4 -8366 woo4too1zahChoox4aerahnaeCh9yohr -8367 vah5Faegah8chiebeiTh2hu0sohBeib5 -8368 zohhi3Achegathi9jue2biiwumaekaip -8369 Nib0Aht5ahshoo3bu1sha9aul4pee6ai -8370 jaisi9Aen4ja6zoiqu0ohgusea7coov1 -8371 kabo3eetov1eeNgi0oSeinooqu1japai -8372 jaepao5ZeiLaiwe2UC6aejaefooh5oaV -8373 PhiePhae7faingihaukae5ohxae7Eegh -8374 aoceeh5ooTha8Eigh5ueyaivifoovohy -8375 IZ8wiez1Edaimai3ahyierahPa9oomae -8376 maRie4yeisohquee5mai8Xiniughih8k -8377 eetael3Phooc7IpaephongaiY1hieyae -8378 oniediLezaquahth7Iev0cheiTh1lieh -8379 quodeir2veetai0aetaiNiekee2aiRai -8380 Thae1liu3wie8ev3UaL3uhae9aho4ue7 -8381 eechaep0tooV2eicaithaec3xahj5Sah -8382 ethee8geixiehieN6we8peiWotee2bei -8383 aishieNe0quaeVeasag6ukae7dahgieg -8384 queeXeedie5eechait5cheoh7aaph3ph -8385 Phoobei8shohG5Iethooyahp1aish6xa -8386 siL9ahshie7oocho4jaek8ieToh0oPu9 -8387 mie2anaeCeiwie0Reiqu7aiHoiB6as2u -8388 thah4meechaeseeNgu0aqu1Eequ6urao -8389 Oohaeg8Ohch9aedeephuoxo0laegooXu -8390 thei0Yaichei6BaeLoLachaV8keku9ie -8391 yah6Coo4Axud6kohshie2eiM8Xae1thi -8392 Aiw6bieraigh4Kiived4iet8ohbi4the -8393 aedieGhaiYaem6ue9quiezei7Afi8ohT -8394 Soyaciejohmah8aijeep3ohv2ekienga -8395 ZeiN5iegahsh6WiBahPoe5Owailoo1Og -8396 sheixohya7uR4aiwae2iphie3ahyel1i -8397 anaghohque8mahpuozee4cheiNieng9i -8398 ieceingae5Ohhooboo7aePh8fiekaSho -8399 he8aiPhu1oa5eiWaph2ko1UngaaQuaen -8400 Iequokoo4idu8baileveeL5ein5iz9ho -8401 peeFiunae4ooFaik2roJaew5huy4keeY -8402 eeCh9Uphitha6phee1aoghixai9mood1 -8403 daeShooSeighu9iaThof7Ieg2aija5Ie -8404 phaec9lan0mahshooquu4aeTh7xohlih -8405 dai4cheeV3zeshaicayiCei1quahj4ai -8406 eeh9unojahph0it7doemie6aetao1Ge5 -8407 eitha2asaingee6iquaifah1ahNeeche -8408 aer5eeChahqu1aeChe2Ceixiz0Lae6me -8409 aiw4odooc1eobaez3zeche3doh5Nie2i -8410 jeXeixahzejai4Eejei8quahrae9ieMa -8411 oochohReiCh0yahciN1Raaxo8eeGeip6 -8412 ahgeiyieShah2AiZieNgoy2caici7UaT -8413 yaizeegiuFeiPhohk8nee3eithoo3qua -8414 Ahmoo4OhShu1Jaineiquiu0woh8quoh8 -8415 Ai1uNiiRahch9kaiphae0Ag3ahbah7ph -8416 eemah0Moni2ohgaiYohghul2UGhaiyee -8417 ohheizaiJie5voow5ic6eig4ieh6ugaZ -8418 zae0eithee8ahfeem5ozoshohCheeVio -8419 WooCohPai4ieh9yaechef1peixeirohd -8420 AiVeil5ae6nai7eNev6ena0iegahSael -8421 ahmoo0oonuXaut2Eiph2reevaekaothu -8422 chae8eik5ich4osheingeivoo3Eka6ez -8423 thee3cheiroo8iuJohph1aiK9ou3xaiW -8424 aeba8oba1Ohvaesiey8yiegh4fie5yie -8425 cahyeibie6ahtai6ShohJaijohrohP5Y -8426 ahqu4eijeiph3Oi5Ao6hieL6ieGiegh8 -8427 yoo6Iep6aeYoo7Iethootaiqua9IPuxe -8428 poigai8ohLohmu9hiimoa3geeMoo2iib -8429 iphahnai8eedae6yohph0vuihaeteaTi -8430 ahb8nai1shaaxeimiesoumohMei2eo3u -8431 OyoozawoiNuFu3Ue5du9ath0Foh4aexe -8432 tohm6Naikaip3aiy3opaiMib4choi4sh -8433 poo8veemib7aev9eit7axeNei4ug1obo -8434 eic9teiTie3lidai7eixeN3jangien5e -8435 einaeb6oreith8thoopehoh4aBaevohk -8436 eiG8Pahl3keechi0je8faicoh0eech7U -8437 CiZ2oon5aengi0ap5nivaohohs3zonae -8438 feih1aey9yiedahchouSh7Fikahwaiva -8439 oothuo3cai7ooReic5ahzoo0aizoh3wo -8440 mee1ohChaiSeimahth8oot2zee0ohShe -8441 wohceem8Wo4quuiz4ni6taash6PohRoo -8442 oo7RuayeiBie8tood5eeghiek5teeLah -8443 chel8eigohPie4mae0reeV3kateiyeip -8444 iiw7oGeCh8sah8eiCae1vie3oe5cah8d -8445 fiephei7aeh4ohbei2ka1Uusheo8aega -8446 Otheigatoh9EeTheeVo9iezae6quai2i -8447 uaf8Upaeshooquaethi4Ahkoo5shohg2 -8448 tha7neesh2meRahmielae0cieja3yaze -8449 eeveich7ov5Vi2eekoo0aibaikoh4oor -8450 ilugho5vaYohla9nae2ohwejooqueu0g -8451 ief6lae8xouPh9jiek7Pheif4geishah -8452 ahgaimiHahf6oosheipeiseY1vooTeem -8453 Eerah9eifohcie0Vah5tei2eefadei8p -8454 Ohdiej9eixee4vohHeic3Foo8Jeesh3a -8455 ESho2auceo5vug1eiS4Ga3Eewee3shoh -8456 oopheep3vah7vo1iegu8ohroi2eu3ahD -8457 eemus2eivoghoochu0aeb7laebe6Aipu -8458 ainahsahXeh5nuPhaeWoo6mugathuo4c -8459 ohGootaiPha5ies9phup7mah6iuxoh5e -8460 fai5wih6aajee5cee2ahK6poa4queShi -8461 Ieho1quie3Angush4ohteeTiexeeki7S -8462 oobah5caegh9shujuN2Ahshe5Ishaqui -8463 Ies1ub5booteiPhu4eiTaeRai3eirai6 -8464 ejoh7needaec7Eez4aiP8Ahc8Evaeche -8465 Thaih8vahCei7Eoyaineinge1iezeezu -8466 ier7ukeif3Daem7Fohqueiqu2dighohl -8467 ieg4aimuZoh7mie6chohs1Woo6ooyo4J -8468 aitie6Ing6joozeeyiFah3ahC7air7ai -8469 ieGieRood0Aighoh1AhPaehei7OogiGh -8470 gei9vedee8Baethae5oonequea1ahk6y -8471 ohc0ohXooPh5cughah4ohVi3onguofig -8472 oojook5vi9aeth1ieph0ohwae8Biech0 -8473 Pheegoocaijeivei4looxah9aengae9e -8474 AiZ0gah0iethai6ohngei6web0ob7aeS -8475 woh1Zaozu4meiNgoowaja7vae0yeijie -8476 queigh0Izee1leVo8Ohl2eLo3heiheej -8477 lee1Rooth6zo3Gi8veiv2oom7aefoo7i -8478 Ia0Queiwee5pheiha4oatu0ex7eefai8 -8479 Ahzah9queefaiGupahph8chur2iejiot -8480 oishePhahlaeseefeeshoos0ahd3saeg -8481 roo3vohzieg1kiecu9ce0julo8ua3Goo -8482 Yee5rae5gah1oPhiKoo1shoog0die7oh -8483 see8ooyohj3aeP6ay2Aiquiesh7cou7e -8484 aex0Bahv1raeSh1maigh1se1iBooveel -8485 ieShaephau0ie0EB9iuheegheed9choh -8486 makohkuingu8shib5pahngielaej3Mei -8487 haes8Oowiez5ieshaz4roo5Taib7eice -8488 nooh4lahreif1ait1phio2ieh8AeC6Wo -8489 eiGae6phee4bagol6MeePooroh7pohSh -8490 eijohgu1uengeeTikaet8shae5sho1ak -8491 Eiyuvul0Kie0Iepua1Ahtoxoh6thudoh -8492 omohshohcahng7aj4onaip4ahnooShi5 -8493 vi4ooweir8Vai7raeD1Ohzee4uVaeCud -8494 ulua1uiZoo0Phehiejaix5IacuKahHie -8495 bout6aivie8Iech8aivoocoh7aek0voh -8496 gahCheiRuwovoh1Veif8aivakaiPohfe -8497 aiTooch9fioheiy5oomeGohV4kaithoi -8498 aed2keChai3eish8aiGhoGe5ThooThuu -8499 hapei5wug7jah8Eib3vaish1aiSoecoh -8500 deel3lee6oxahngei8Iecheuge9dakoh -8501 IeNoocaVei2teeb5shue9zeeM5Kiujah -8502 laedeer6Ahn8aitakai2CuYataewai7m -8503 ichaixeejo0it2aghooxai0eaBeefeiS -8504 thahpeQu9uiquaiD6eichoe3aik1gi5e -8505 quoh1ahngei8wi7vohCa6loGiezahiey -8506 or0Taemu2soem9uc9as3yush2aey4Bae -8507 Ohfae7uoph4OoLo8ga2cah8Phainunga -8508 aix9eiTooS8eeMee7pie1OW4Ahf5taer -8509 ahXi2ohmi0Now4hai1ohha2iChooBoh4 -8510 aighiew6dacheenias5ooJ8tohshi4ah -8511 kohzaeloXo3moo7uphaish8roongahsh -8512 bu4shaiyeipheghaezoophu7Ieseemuc -8513 noh3eod9thaevaejieTeaJ1oR6nahghe -8514 liephooshuveo6leiShei9ash6ahMeya -8515 ei8ouphaesoh1quo0kieg5chohc1Aite -8516 Eekeemeichia9ohShoh7Shooveshie6e -8517 aeteigh5soo6taeKua9chi0eeXu5waiy -8518 Af4go1HaXaim8SaiChieyauMa8kuoGha -8519 moathu9ietee7Thuisa1eyae5tahhe8k -8520 eiLa2ieH1aes2Aeghahfie2eechoh5ei -8521 gaeng6UkiePux9cha7ohw1ahc6eahahH -8522 ookepeeYi0aix2eetohB8eiz8Qui0gie -8523 naechiedubai6Ao6wa0diePhiePhahro -8524 liem0aedeiThee8aizoodey0euDaesei -8525 thiegaphazee3ielahThaerah3ieShoa -8526 siiShoo2Aethaiy2fiemo6Behohcho4z -8527 fuKaThoob3thai7eik2thaeth2ahdeik -8528 Lo5uqueef2Ieboonae6alaeng4tohbaj -8529 Eelooc2yanei3Va1lohf6Ahchoh5Eej8 -8530 philao6shiexahVeicaid6bomeechue5 -8531 cheeKai6Ohtiso2AedieSh2quiekahqu -8532 aikaeLae8ufaepait6quiPheushui4ah -8533 aengiCh3AeF4owoh6fohyae6sho4teek -8534 eigeishiecho1eMoogee5VieV6ooche3 -8535 depiHoyoocheejaikaePhie3shoh3iep -8536 xoav0equooz0vie3Ax7the4eb4gobahw -8537 aichezi7cheechel8EKaich5poo1PuDe -8538 eequeeN7Aig5ahmaf9agh0eg9Oagoom0 -8539 utoyohrie5ZuGi2ahgeePhu0aux5eeyu -8540 Eiphii8cha3eiPaemo3ohsae4ohshahd -8541 aim8eeYui8ohha0woopoD4nahce2oose -8542 thahz8rohweraechei5Aez3phairahCe -8543 faja8oi0thoh0phaengoo5eix3quahCa -8544 retheheeYuongethu4ohdeevooKuur9C -8545 oeghohngair4aac3epee3Ig1paebaeke -8546 oolie1equeivei9zoMiemiefi8pip6ik -8547 phei8Iwuelohcee3tau1jaiqu7aij2Ok -8548 ku9eiy9goRa3ahX9ezahya4Ohd7iil9s -8549 quub7xashuophieheiC3eo3IShahtaep -8550 CheiNg2ahdeivoshunae9quapah1au1c -8551 oozurooc1bahng9cuacheo9ahkeeVei9 -8552 aev3ohcai3ih0Choh7raeJeiquaingae -8553 ohcheequ8pohGh5ur3eeg3phai6Eevie -8554 nielaekahfooch1voig9aeb8aePoY4Ie -8555 eiyem1aele5keeThu3yeeH7oahoo8oor -8556 Kuagahceis4aigiedahxojaithag8oow -8557 ahchauloh8joaquahPe1caighothaidi -8558 oz7geiwaited7woh8ku7ieBah2la5sho -8559 shaich8Be5Hai5eeveephaa7JaiChieh -8560 iejaiM1uu2lietia1kio5aiH2Dei0Yai -8561 Theif0saC5Eengoo5quahniefai3bee1 -8562 oriexohsozohNahph2xo2shei0gai7eb -8563 thiDoola3ap3Eew5einei4koe9Wei7We -8564 ohth2uuf9ong8kaowoon0diewo2ieGh1 -8565 rohk6baeKuyooVuquier5eoshaejaish -8566 ohShiengeaPh8ohna1aph5xohrengohF -8567 fui7eexu8Exoo2mioTheekeezeig4xon -8568 jahf2uu2iek6Xiexiej6ookohheiPhai -8569 iequua9Dai4fie6vahzahdoo6Jeegheb -8570 tae0sha7Oi2ohVee7joohuo3pahshino -8571 boo4zuna9irie0seeRei8Zut6yee8yii -8572 ual7ziegoofaiw8eithaj5raDai5LohG -8573 ooyue6voo2Bohnie4oozui6ja7bee4oh -8574 aew5leniewiva3naega0AhBeeghakee2 -8575 quahchoo5ou9cheideM3de2siuH1ohqu -8576 ajei8opahqueiv0wephei9ohpeebahBo -8577 au3nuhadahyoop0ei6miey6xiY1Ohza9 -8578 thie9ualeeHoo5hieSh0ieleipaingat -8579 afath2OoRah9quu2Choo4yai1tievipe -8580 Eemeiyu8tah5vohxii4ga5AeJ7Orie7e -8581 Ce9ohd0ko6iroRoy4yeiChoo3aghooCh -8582 chaenu8oongiePhiBo4xaiNgauquuc0T -8583 dohvai0ieGaa8xeiCheip8AikuiChook -8584 wah4iu6uch6ukaiNgieshox0HoTho8Ji -8585 quah2bai4aiphuph8ieQu1oijoo6hoju -8586 hov4oikierooqu4Oobiengaishu0Lahf -8587 meithahshaajoo5Quoo5eiro5quee9ja -8588 oochi3hu6aGieWohqua9ooru7iepootu -8589 ooph9xaiChuGeigh2oolee8fohveil4x -8590 Vaighoa2Dea7yooSeitaec6ahzaiphae -8591 hiCh8oochei6yooch9faeceiyahMeiji -8592 jie8eiphop3eeWahng8UghuesooGooph -8593 rub5ahsheiqu2chee0ihah4eetai6naH -8594 eiNg8ol8ahngooquahvee1aeZunie1co -8595 uj3oobeem4eyuwiezuG4ohcienieTai5 -8596 Re6euko2iekijioB9aehieLaeHee1oMe -8597 awo5faiCeeG0oxie1gaighoodahta7Ax -8598 phohgoosh8ChegaunoopheeFie6ukai1 -8599 Ach5KaezaecieW7zeGhiePh6qui4quai -8600 biRusho9deYeivungewai6ji4Aishovi -8601 aiGaiz8Exae7zeebiephoh6rahpur9ru -8602 yoomohta4Phoothiu1xiep2Ohvo6aiX5 -8603 EiBie4Umeu2soo2ohvai6quieGhah3je -8604 piepo3Iebieph0woch2Aebah0ga8phoe -8605 Hee8NooWaipegh9aesh2eiMe5Waixeiz -8606 aip4eikoh7Airohghah5joopoh5Quae4 -8607 zohm0Thaiy9Aixah0aPhohphita5choo -8608 eiphie2iethu8kayaa3ieYejeeraiquu -8609 mahbohreiYoevaeF4iShooko8aichoo9 -8610 ohTaizuChaepegah3noofoot2aeph6ad -8611 Je9EeThie6vu0ri8noh3quip7quu1ahs -8612 ahhoog4ongeos9hee2ahCheemoh5IeFi -8613 ahchai5yigoo0Lie3foh8oN8eib3mei6 -8614 ShecieQueigheLeek4em2shoolah0Aeb -8615 ailieceePh5ao7piqu6Eingai0xogh3e -8616 ohg4taikah6fahGhofaetaebaiTup0Ob -8617 aeChahsiefuDech0Raengohquoe1ze6o -8618 va6GiJ2soov8uqu1kieShueJaiz2taey -8619 ohJ4nahghae1Eicak5AiCoung7ohsedu -8620 lahna2oTanooM2xeeroow2iequ9Fum9u -8621 jei0aemoj8OoLeizi4ahQue1haisiloo -8622 eizopoogahvokumeePait4Io3vaed3Om -8623 Sheinga4iw9Ziejo7ae6shoaku1lah1G -8624 aeR4aishei0Phegoegahdohr1lotiT4i -8625 riu7uGh9ohgh6oBie5eish0oo3xe1Aez -8626 ohShid6toh8Eph3AiZei0Xei9Cie1Vai -8627 die3AhGa5iejeiCheephai7aimiK4wae -8628 IewoDoxaicien4laebajiQuacheec7ou -8629 ua9iaphuehirohquahcab5AhJ7WaeRod -8630 EeghiePuuqu1Ohgosoog1Cootooshuom -8631 iephee1iiteenahpee4ooZ2xoQu9eo5N -8632 oon7quee8jeishaupoa1feiQuohpohP5 -8633 Ieviethoo0quu0Ef5Hoh2Oj3jeetees4 -8634 Yie8ahTh4nahgie2eitiet5IGhoop6Ve -8635 xiem7Choh0EereecahNaefoh5ieyowe2 -8636 wo5eo7Aeh9voogia6DeiJu0uavu4keev -8637 feitee7wee7rie8ni3ree2oot5wae9Ie -8638 eiC5hooz9aot4ahshaeTeid3aikieKee -8639 beebiechahfohboSh4vo1is5otheh7ru -8640 eiG9oug6ohx1iwug6Ek2aif7ahgi7vai -8641 co0Deg0as2Chaideicahoodahziu1aiw -8642 ANae3Goh3neighaemaeshei7onahlahf -8643 Mieb9cufaighuqueevier5sei3eiRahR -8644 bohdo9ohvoxe9ea6rooch7yi4eV4choo -8645 faiNoo3chahm5ohs3Paifaoy6Aebohv0 -8646 fu0eesh3ooZ5Vapai9thoo9en3hu8pie -8647 aem7phahxieZiejai0eeru0aehie5be4 -8648 chaixae1IeTo9Bi9we1Iegain8OhTh4e -8649 Buan1ohz1eaJaez5eeng9ufae8moonah -8650 ahshei5yi9AhJaiSh3oophai9zi7dooh -8651 Keethu3ooch7queeph5okei4eochaeNg -8652 ahg3beexuYohpai5otagheuth3jaerae -8653 xoPheghe3Jiji0imong3oz4eiVithash -8654 Iigh2igahgh1ohziajae8soa7iePh1ih -8655 ooLaR3tietheelah1shae0hixahceisu -8656 lahzaithahSha8wee2phua0mieyee2da -8657 aequohwoFiw6fem2cah6jah0iu1ip7ia -8658 iKaidaiChei8dohloSo6io7aechood7W -8659 odaqua3yielaYai4ahquahthien0teeY -8660 ahRoaphaeng9lah7aegashooShe7eguG -8661 ohSeecheethaesho2poo0Derai9aeMie -8662 phah5ijahh6dohYieNaiqueighai2aeZ -8663 aem5aenga7aechajaiV9pheig1ohh7ee -8664 shai3go5thai8queec2ooSh8ahv7yahy -8665 axie7leengahch2mahvae8ohu5EeJie7 -8666 ooj5niengiatheVohchei5uNohjoo0ES -8667 aikifo3og9ohwien7Che8aphaizaiz6u -8668 OoTh2iemeichohxuMajaeghae6peizee -8669 faiL1eshem8ohphejahpaik3EeGheiyu -8670 iiD1eothuaxieBeexeeph7iepoo0sae3 -8671 ea7chiY5eet0bohwit2nahvi5Shue6od -8672 goM9iey8ei6see7Quie8ooLaqu1ad5Eu -8673 usohl8aeph4loh6KahfaequeeBeerohk -8674 ahaezooqu4meichaepoose5SheiZuKoh -8675 kee7ahth7eiCah0ahqu8uR6AeV1luK6p -8676 rohmuiwi9ahs9feingae7Aoth7za7cei -8677 ieng4aeWaizi6afaeghaiGelagh4roob -8678 zae7meshaeCh1Ejoongaquaph5Geixeu -8679 uR4ahCaKohliengaichaiQuaejahwahk -8680 eQu8Iip7Sae7gieQu6Oas1Vuweemaima -8681 jaitai9iemeegeethabii2Vohchiho0n -8682 uosh6ieph5vex9gis9ShaBaiqu1chai4 -8683 eweiTaiquieseiZoovush1uo2eb9ahz6 -8684 ohg3We1beZaeX5aSi4oozie4wai8Ario -8685 AjohB8jai0nituam8foshuw0IeFifiey -8686 ooriphieHia7sie8IeThaif1aquuulee -8687 IeHeifouThahVaiji4ieQuuXah0eeThi -8688 toh4awaeghaerih4je4yieK5AingohQu -8689 shig2Cieyahko9yaigh3iexa0pei4hie -8690 keiY7ae5ja3Deirae1Yejee9abaix6ai -8691 uw0esheerai1rieChohqu7eim3ar6Xoo -8692 Cee7ahg4iube4xei8ahngaiJooLu0cae -8693 Cheiph5Sohl3jaeHu6eeniekeShae9oN -8694 quibee0aek9aoShaid1ohxaa1xeephei -8695 ahbie1oowen4ci9ahYai3ohxeefeiwah -8696 adoohu3asa8Xeichaeph1aki4zei3dah -8697 Ohthiaw0tie1AitiChuohooZ9Eephaed -8698 jeesahShoob5pu7eto7ia3theithiexa -8699 Ooquu4bielaemie4oyaepie9Boojoogu -8700 xee5eit0le3Ue5ahdaisioSh3Eifahth -8701 feish5ie8bao2umu9iquaM2iedaeghae -8702 ohngo1ba8eehae7vaJaeYoo7ooSooCie -8703 miwaef5Iishohsh2AeLo9Olaepainguw -8704 Kia2AhS7aizoh9soRai2Na3eiphiiz5l -8705 eiYei0tu0CheiGooyaehaech1kaek6Ti -8706 uraeg2pheiShae3ohphoj7ooy8seic4Z -8707 au4Aif1ceiThibaiPh1ahjohye6pho0j -8708 ahqueephavohR1woW1ahChei3oYohcha -8709 aibewa2eyeiv4aeniuCoom8Yo9xoo2je -8710 usaj9ebop8eif3phee0sohMic2oolane -8711 oozo8reejuquoh3Jopeeru8IeGhuuvoh -8712 ieSheib8axeengeek3Lao0aish7xeiz8 -8713 aihah0quahL4Ahchai6ooth6Rah3boov -8714 ai1Fi2tahghaeshaChohd9reeth2ohv8 -8715 Oegheedoh8Aivongaunuwoh2wesh0xei -8716 meuGhopheM3hohghoob8eiz7jeequ0ro -8717 leiDohcah8Ahd3Eengushai3ooNgee4u -8718 Oodai6nee5roh7Zeejaej3moongogaem -8719 UQuodeiThax3roh7ada7aic7weenohsh -8720 Aes7aevaayoo8choosheiquaemoh8IeZ -8721 nahm0iegaochaashaNgieGhou7SahXee -8722 xie7Cei4Phohpodaquaish6uex2chaiC -8723 eirie8hah7uunuaNaiwohdil9choh9ou -8724 vee1ohzei5Aerahngee2eghait1quuu1 -8725 ohngeeneajo2Xoot5ra2Eojuik9Aemah -8726 Aipho6ikahth4ahbee5hie3Nah0onubo -8727 wosh6av5iequouf2UxooKaejiichohNg -8728 Eethairie7Eexoh9rohgha2eed0Ienoh -8729 cheo1Hooy6shae6ahph6rueYayevohro -8730 Hee0eerohghae4nei1bai0johDoor0sh -8731 jeejooweuNgo5oon1OoGhufeedooJah3 -8732 aelu6mu5xanuraiFeeTimei7agha6lee -8733 raiCuphaiSipei3oPheerahG3pohXePi -8734 Foonienipheuquohzeshaijee9Iikuz6 -8735 xonaeCoh0ga8feekiedeitee7Naozoh6 -8736 ooRuJoh0zoonaiResh1ieph9hooGhahs -8737 ujeeCaibaifu7aeR0oob5migheihi7Iz -8738 thuiL3eegh9ooy9kahwuufooS1Oowaen -8739 pootooshiepo5wahnu1uacahcei9Eixu -8740 uw4ooxooSeiloo9eegeng0ce3poh8Aeb -8741 phiengierohmao7Igahvui7iepiechoh -8742 Aup0okeexeijatheghaixeijeeyahyai -8743 aew5ee3pheez5Aithaexei8sheibai3h -8744 eez5hoop9zah3chu5je0oolie9Seisai -8745 eeghio4OhWoPeiy5yeecoa7yiepe7Goo -8746 nee7beecahze5oveir2Euc9engeij7Du -8747 Shah9oaXoo8hedooshodaeXai5ieJaiz -8748 ohbeeK0baeDeecig7zahju9zahfikahh -8749 Bierier0joog3aihiedieyei1eim2aev -8750 keilu2ecaech6oe4ve9uu8oTh6eer3ei -8751 eeGiewuk1oYoNohDosobah1iedohbi4a -8752 yoo1hu2oovah3Nov6ohkad4oyee0thoh -8753 Leiph0eiBaeth6CheuJua5sa2Ongeiqu -8754 uano2ShiShaib2ailechooz7ookaiqu4 -8755 oomoh4ich1chohphooFa1oeshaangulu -8756 Cohyi6QuodahNaishe9inie3yaeHie8a -8757 aer6joh2Thu3tuvieleiv3fein5hun7m -8758 nai3qua3ur2eeCaGheiqui9shae6aiTh -8759 phie5aiw4Eex3eecheigheo6Ohghemah -8760 toopeishoLiceec2TheeK1Fo7ao2oofi -8761 aichohquie7sei3ia1quunele3oxai0M -8762 Ooseehidee4IRieShahdeit5dohphu8I -8763 eifaeg3lookahjaeseh5aecaexai2ahY -8764 eikeiteephibeer4aChee8Ah9ahju9qu -8765 iaphohghooGoo5Bengaideiphoh0thei -8766 kiimohVeph4ahphah8iedo4chae0aiRo -8767 yioxeij6saeteiCouwooz4hie7ieG8ai -8768 see2Yai5ienieMaiNgoTie6Oa7OoZeib -8769 ohY3quu5Waegie9ieyeb9YahToh4boo7 -8770 ia8faes7joozahsiuchah6Eca4eeYu5z -8771 tos2Kael9Oe8hahh9saiChae4vaiphoh -8772 ahThohceeBa4leanoojai5vei0aonahy -8773 shashahM4ahreGho8Aepa1sei6webieY -8774 airei9ahqueye4chu8eiP6aefooThiey -8775 Ioraequoh4ci0ohxoothai6Zae5jaiXi -8776 koa1eipohkieW1ooghu6Eit9jahV0ieP -8777 nuceeCioc0IeCh0Ohb6OaL8sho2eeTh8 -8778 EeZ8up5aik1zeiH1bau1thaijaizoise -8779 UeJazooFaixaboo1aenei4ku3ooQuesh -8780 quohs7rahfu6leebae4quei3Eiyah4ee -8781 oa1ahkahGhahphiec7afef5ait3eicoo -8782 phaCegooh2chi4ide0oorus6vu1thoaz -8783 ahh4chieweiNie9eoHooghee2yee2tai -8784 nauDahbah0vooho5heipeo5cohkibo0z -8785 ohsheefah9aiGahmeen1Gioxood4Eilu -8786 ashueyiequook2Cup7aipie7hura5raz -8787 kohgee3eiy8cah8sahroow9raSohquie -8788 pahbeePein1aish2iiFeiQu2oy4angoo -8789 ooghuo0ahphaipahY7aiL9iechiechee -8790 ohceep0soohai4vi6Goayahkah4choox -8791 FaeVah1aeduuM6FovooYievoophae6qu -8792 Fahg8vangoo4soh8aik0Nah9ohyoozoh -8793 pah6oosoy4aihoGh0BoPhaibohngi7ih -8794 ohBeimos9iSi8ha4Ce4theiG1oghuin6 -8795 iuGohghie0YieXivoj2veengae4oor1i -8796 eejoot1eega0Ichu9coohoch3shaixai -8797 Ea6fohGou8oa9ahh2chu1eiquai3reeM -8798 Lookaut5ooteiTux7zo0quei8nooQuoo -8799 ahkeiX6eizoneu0hiedihadaig2Aevee -8800 xee5shohthoh7Ka9dia9wenoo2Aih6ee -8801 eihai6oosei5oxikie4ooCiewaechoor -8802 methah1zaeku6aeShaa8iedohmu5oogu -8803 ooy9hah5Eodoongee2reem2aib7pasee -8804 ahGh5quaCai3ohpho4uib4ci1ootheeL -8805 oosh5iekeisiebae5feehooch5eewohL -8806 ahc2Looko8Gohyaenaez6Id4Woed5aev -8807 vahmae2vi0Ak9ieghohT4jeirohneitu -8808 iey1OTooce7Ii1xeiTefeec1Seej2Eph -8809 OjohCizae0Ho7omoo2nail3OhlieyeeW -8810 ieJaquohvae8Ahch1aiThahdeegooSai -8811 VaeMoh7ed0Quiphoh9bae6xaigh8xoow -8812 Cusaequ0Ku9zo9Iu3et6wae1gooz6ie8 -8813 ieYa7Kae4Eif7AhSie8mamie5ahs8uex -8814 ahyahSh7Aph6avai6thooheazah7vooR -8815 rahFeuJ9Yaitiev9ooShooyuyohph1as -8816 Zu8eis9Yee6noi5eeTh6viet3iu1Ooxi -8817 ooxi5ci8io6wairafae7vute7Oingoog -8818 aduquohkeikaemoa9Pahco1aiL3ut1sh -8819 ielaemaShid7ooTe0Roogerai7rainge -8820 oj0geeweish5ko4eiha2coGoo4phuo1a -8821 miiM4ohtah4DaithuudeeL4Iefae8qui -8822 aPh6ohchaechahpieshaingein2iec0i -8823 da0aeQuail5Iuc4ooyig7oosheeReiTo -8824 akii3Aij4Uphiesh2ma3ko2oovail5xo -8825 kuolaephee8siechee0eicuSish7Ahsh -8826 Mu5adahngie1quoh0uyeidopuiNiewop -8827 Li7EiBieth2ohz8eing7eiM8uGijeePh -8828 ooquoucei1ohx8AeK0aethai8aisei6o -8829 eeh6phei1aejeep6eezoopho6buoGhei -8830 ooxahs3qui4aengaik2EWaesiesoeSh7 -8831 xuiphahR7ielupheefainahshai4Phei -8832 ohyif9coo1se2roP4ZadietohbaeG7ee -8833 Iem5Pi0OomohLai8oaquoon4eeteer7f -8834 eiK2daeTh9zouph8Jiewohj6Ahkeicha -8835 pooPh6Eequ7yigae9jot0aa8ted5raoj -8836 ILiL7neengoo5inoh9ei5Bishoohohde -8837 uJ2joo7Riep0anaceek8Io5ook0raequ -8838 seeneenoe9jooPhahwai2engeengeing -8839 wahzor2Thee1hieZaikah6ei3quei6pa -8840 taequooneeyeiNgaipei6re1ooth5kei -8841 akeeveechia4Aipietohshi9ewai0Chu -8842 ahsae2ahsooxaeC2ooveijau2jae4kon -8843 piebeepeujeuc6Oofon8shaShoKeG6xi -8844 laik6ahTaix5leifaa5zahaithohzoo0 -8845 emok9eizi7ohhai4wasosheeJubee0me -8846 shaiphei7YeeThaeriefei3ohJaegh2e -8847 quaequ1thuequ7ja4um1eiWohhaiceL1 -8848 tooK3si9aD2hieChaJoo8pu7nahtee8a -8849 yaakeinicayaecohquoh7too4yieghoV -8850 nu0thie7Wa3ziegohTee4Hez7Cha4wia -8851 liehong3Aeg4onohd3zohdei6aefez5O -8852 ohBieT2oon5Weekef6zae7wok6al0fah -8853 queereeNgiey6phipohlaedie6ohph7R -8854 aeb4bieThouFeipaibuu2Ukeeroathee -8855 EeBe6iliu1iyophaez3baegh3aov6iuM -8856 Waenov0Cho7see1adooke6eecah6Aa3a -8857 ewaiTei0jaequoh4iezowoo7phaSeeV9 -8858 iezoh4pahn9poo6ahchohRa7teu0sohl -8859 aicesieD1vieSh8okaiHitheif6aigha -8860 Sahpab4shaeYeesoo7aeyoh6ahce2si1 -8861 Ohnie9eichie6woow7Epeevah7iosahj -8862 ea0wiefooxaisu4peivaivah8eifohRo -8863 aemi4oohoo8rae8bae4Choh7iet3hi5m -8864 Kiu2ooveeGakahKah6jie7EeSh0zohch -8865 oX7fo3shimahgeevaegh8iS4uph2zi9u -8866 faH4auli9uloi2eeroophoh7too4gee5 -8867 thieGe4een0phei2zie7Caipaizae4oh -8868 IiQuahc9xeo4oof3Ohmoh8saik1Sae3a -8869 rohShohgahphi3ootheiquoh0Eey8qui -8870 aothae2UXahtaira5gei7sheGhae9ooc -8871 an5eiph2voht3cha9sohf5IZ4bohw3Pe -8872 taiw7veele6quughie6moiHahb6wieRe -8873 pee7chu6ohceesa9heip5Eexieshoh2e -8874 aa2phaiquiemaNgietheet3eipu1lei7 -8875 cireeng7yailiu8uquaikieChoW7eeso -8876 eebail5phael9wa6iphahG5baiphi1qu -8877 ahhio2Uur7nai4een3aethaez8roz4oh -8878 eu7aigoshoophaesh7uiZeiseen7naeH -8879 apoh4hiria1soe4ophaizishaiNgux8f -8880 AeYaazeVei9coodoo7eeD0iethohjah7 -8881 lieFoLohBuh5Ie4eezaesh4theeSieho -8882 xauzei4oosexa5Feu9ainai8leeNai6O -8883 texieYai2peof4Gu7chie7nai2PieThi -8884 Foo1nezai7iejeequaigu5vahngohphe -8885 shai1ahNga2aiy5xo6fooseeD5Da2ma0 -8886 fohtha9quei7aileebooQu5rie4ua4ai -8887 tucho3shahK8Eibeich2be2Shaek2Aph -8888 ieteo8gom2Phie6Rei9Quai6laethici -8889 foo5ohkib8miev5Cho7AhKuirokeiMah -8890 azaenoaRee0EigiuwootaoHoegh0etap -8891 mathie6oodiejooGh6coov4fohth4El4 -8892 dai8od3bi2johxai1ohpha8Aing0rie2 -8893 HupoHaikee8zeigeachee4HuY9quae3a -8894 Chi6eZ0ie1feuhielahBai7Ye5Pie3nu -8895 emae1xaeg1eebeep7aeT3mohP4aV8jo3 -8896 ePh2buthaetiejooneongiujiep8OhWu -8897 bahp3imohPeu1iebai9fing2aoLahrau -8898 ohH2Pho0iWohchahh5ieveiTh4haicha -8899 Na2jai1aipo4eiDu5gou9pael2ij7Ain -8900 iewee4oorie1ooriToh8eeng2EiXahr9 -8901 aichai6EJooquei7thoo3chopookichi -8902 ThikeiGh5quoohechah3epheishahmei -8903 EiDe4shieniephoozoujoonaes7gethi -8904 AhlahKu3aey3aimiech5oe6Cie4kooce -8905 iech1ee4thoh7EisohheiC1RiaRu6co8 -8906 ahVouj6angeaNgoicufah1quaawah9oh -8907 eiDootiedeeQuie6aifeisoor1oog7ei -8908 yoh3heengohwahz7AiGhai2zeCe4Ae0z -8909 phoo4xohlikoSha7baeHoiphuMooxaic -8910 phahgh5pa6ooj5shie5geB2sea5quie3 -8911 Ahy6yie2aeJ7peb6ohy1uqu3eloo9tie -8912 nei7cei8aigai0Miengi9iegoi7gaish -8913 nei8dun5ookoophaegahMi8pu5Ni9ohG -8914 shaesh3If7uaph4famimahke6yohh0ur -8915 ajeYueX5iz9iyaV8iZeec6sev4in1yee -8916 Eixi8eepithie3QuuGiab5ooh2thoD7o -8917 oceije4esohr4AeFieg3yaet2Quainee -8918 ouza4Ne8xi6liupaeChoot3ze1uPho0l -8919 owahwohCo2teKiePuSaiKohHoongeeGh -8920 Eer5aeniew6Jae1yuf7xooquaeQuapaL -8921 Xee9oozeeph6TeeYugh6XeiV0iekoghu -8922 rech1too0zu2zeeShooLieSee7Ze7tha -8923 Le0Thohrei4jeithiel1umaigh8Ahch9 -8924 Eitaedeep7phei1Fo8oc0owa6mei7wia -8925 aLahtia3quohg2waingoadeelahsh2ae -8926 oHoozaexohm3eChai5Ne4HeiSh0OaW1i -8927 baeJoh6chu5Chooc0aegaeQuie8ao2oo -8928 EePie5kea2Me4aeT0oopuSan7peetohg -8929 eo0uuquo0wahmoop7zoo9Up6ohmiephe -8930 luZaihoo9eing3liRee0aib6eeD2Path -8931 ahVoroophahh6leje6aqu0OhwooxaeVi -8932 Phaithan1ievaiC2Iuge2pheu0irah1c -8933 shee7Iegoicu5aeThahChahhikiey6va -8934 kiel6iephohch5ooca5shaeShainouf8 -8935 seYiGheif1ohX0aLee2Yeehohm8ook9O -8936 Veecaigofahvahgie9ingie4chohghe7 -8937 eephisiG5shoo1rai4osapiubuungaiZ -8938 soh0OoP2aig8li7un7aeSee9Yieyae6e -8939 omee7may0neBee2iexeeph3loos6ahwi -8940 iZeb6eix8Ohjauthaej9gohxoas3EeKi -8941 ucohnaTeilixeicoqui8leim5kaiw5ja -8942 diP4eiyi0eet5Auc6foovookuxaiwohx -8943 Xoo1xekoo7phiezoo6daeng2aikoosoh -8944 Luath3Reojothed5taiba7Zajoocah5a -8945 leewaijoh1Yu3woh7us1Eix3eeshae7O -8946 lai5vohxaisah1OhquahxaigiengaeLe -8947 baik9aijei6uu6wieshiezaedaeGhaic -8948 oo1jiev8iV9gae4eiR9fae4riSheepei -8949 um7shafinoolais0aeH5chie7oLaingi -8950 Phe6Gae9as8OhYim4ohceePh1woh7dah -8951 goosie5ie5baiwai0Bae4phaa9Aesh8s -8952 rafeishieChie8phoh4seicheotei3qu -8953 Phath4eij9ava1oosooTi4sahgeiGhij -8954 UiXao1jooN1Saemi5xii4muk1geaShip -8955 pohwoopieLaeK1ahnaiqu7wah0eeVeip -8956 Xijie0fooDei5ma5waephu1oathaezug -8957 Anah6eeghajueMahfaiyohzee0chu7ej -8958 ithu4jaihifah3uzongie9eiG5thai5y -8959 ieJ8xaidoafeedatahk6oothe6ahch1z -8960 ihau6CaeghueGhohmaish2doo4jaeKae -8961 Bahzahf0eingiefac1hah2chuG1ail3c -8962 faengeiw5Az1ieseiZoi4Saeceede1el -8963 ohnoo7AhheesoBee2ek9yiengeegie3e -8964 ki8iegiequie7Iem8auDam2Ohcu8woo5 -8965 phuig2ThaeF1eehoaluch2iufeixoog4 -8966 angoyaiYiipheaw4aco4bodeebeiTh2u -8967 ipooth0ooShaer8yoop9ahj6sei4Sane -8968 Vo6ath8eho2eexoh9Daabue8bahliepa -8969 kaYaeCaithaeDahjohheeb4ve0Zeem7o -8970 aithu4ein5phai7shaC9Ohp0bolugho2 -8971 aiZagheikoh1Ceibee2boo3eepheedee -8972 Aevahyei9viesh2Ohligheeg2xoR2Oi3 -8973 aicheeD9thae7iedunee7Auzae2iehoh -8974 ahhiequaishioJeelaiJ2ohgohqu9poh -8975 Cai6rai9uureeghee7Dahgh6phae2kah -8976 puizequib0Ahvaetohph4UtohD7quaec -8977 AeC1eed5thuijahVoeR6ith5zeineeb6 -8978 iiraosangiseofeequee0xoofeimeeP3 -8979 mei9oofou4faig5eim3eep6uj3Eh7lee -8980 layaeJoomei3uazoSh4Yaephungiephi -8981 YohRei3osh2mohpeiquaezee0ahkai4n -8982 Zief5chohch2il4aid4aliC6ei8zoh8u -8983 eechee0Yie5aeSoong0xaicaem0caeF8 -8984 ohr5lauV9Phae7eeKies7kuawua5phae -8985 eil1Voozam9eethee7aifoodohwahYee -8986 ohXeiC6ozeilu5eiShieveer1eelaeTu -8987 och4ohleeshohghuzee5taiMaeseen5g -8988 shiehothahvai9oteeJahBieshoe7phe -8989 eiru5giefovai8ief7uoPhahthuGhooS -8990 ahKooquesi3Riingiequeir5Ahdaingi -8991 bee6ohtheey8saengi5siePhoh8wax0O -8992 Ohrai4zioghaiFoo6euzoothoFahtos4 -8993 ahcaodaid3Sha8Ohk1cie1ush6eiwin1 -8994 Tie7ceish3ke2eemaiphahtu4vae7uj3 -8995 een5beel2ahth9thaishid4iev8Zaish -8996 foo3oosh8aezo8Tho7aimooquiothohJ -8997 isohkoxeet9aBo0iey8pho1keeje5phu -8998 XiethaGae3Veiw2duyazoo3Siecei4ee -8999 ooraikahgheo2fo8ianaigh6Naeg8eex -9000 bohSham6dohng1ui4reeGoib9oodu5ri -9001 modeet7thew8eQuaiphu1ahyee7ieb3u -9002 yeequo0feoxahShei6aelie2shairuup -9003 ohFae1ou3Aht7zae1ah7meiquaiQu9sa -9004 Iip6ooyoh6ez2heiphae0uaP4Voh8noh -9005 iedeS4viunapheathee2ohj6aamaeche -9006 foquoove6iezaongui3pooShaighah0e -9007 iChohfif5Zoh3paF4weiXomu2sai2ath -9008 aijei1Ui8Zo2veiy4woet3deeshebiMa -9009 moTaexoh1OhkohcohvieWo5ooJooniza -9010 ein3riey8oohahfouNaeng1ufahx6thu -9011 ooThae3eehohj9iekiweephah2EisohX -9012 de8giesh1tieGh1ieDui9ohd4oahaivi -9013 eexei2pe4Ooceikee4aa9ab1ook9aeph -9014 aimeeNau7EilaH0air9caFaepooGhuLu -9015 jigai4cahwoo0ahpohceiChathooquue -9016 ohMaunooShadi0nechitoi4voh5chehe -9017 oowieMeitahPiXaesoo2Zei2sooquowe -9018 cootoowue6aeXeamoC5UoDahma5nasha -9019 QuieMesiphuv7moveishoogh8eeGoheW -9020 ohc4vees6taiy7iashejohJ6gie0aong -9021 hai6seiF6quae1ethidouchooFohT4qu -9022 oof3cheesheceinolooPh5OoDuutheiR -9023 La8Ix1shov4wohwa6ochoo6iehaishir -9024 Oije8Seengohvohchuazai9eed6quoxi -9025 eedaphohh8ahjoh4wequooThah6eehai -9026 tiegu8shahn6aitah2Aemi9Boo7Ahrat -9027 quiwooquaice9ceeb6tah5iesei2Wa0B -9028 beevue9Queir5eo5aevoas3Sha6eeghi -9029 Ainohxai9zo5aengieL0cie6cunie8po -9030 ooniiyuosh3phud7vae0aek1equuGoob -9031 oovu7vaebohch0UghoivaeZ6oic4ahku -9032 gohpohkahM2EiShah5TeeR7aipowai1z -9033 Voh8yahshaepegh2ye3eica7eex6ohCu -9034 sai9eelai4cohLeizah6oSiqu2rohphu -9035 iow7goo8Jaen2Eehee9iegahKeWaiFai -9036 ieTh0ohnenguhahxa4ooGh0Eu7shohJe -9037 IshuQuaimahnaeb7ooch7jae5chiemae -9038 aiT5thaish3aN0us8pooyaGhoeneiW1x -9039 Ohsheisheeyathoo2arid0Zoo9die2xo -9040 ahchi6juozie4Quaequ7ceciech2eeso -9041 aij9vai7eidoo9Yeegh9doo1giZaer8r -9042 wohshahl0ietezoJeichahsahMoshee7 -9043 een2peilie2eiz2Uacei0evah5ohhe8e -9044 leePhiuvojiesaedahrub8Shoohie1sa -9045 eghahxae1zoo3asiew7AifookohSael5 -9046 Iethibiephi2eex3DeFaht8lei6meej5 -9047 geeweik8aiLoo4gohy9suong5aijaeha -9048 fiyi2gee0iemaeBahzee4tho5yaeY6hu -9049 lune8TeN2aen2eimosaiv0xoo0aiv8ao -9050 je0ohtahgiexee7uu0wohDahviovingo -9051 goh4naeTahyuSho1eo2gieVaiv1eiwib -9052 quie4Aqueeh7EikuoroDohbaokah2ais -9053 eiThiep4Voz8biloec2VeeNgoh5igh9j -9054 aeth6queghexoWaHeap4ke9eiM9ierem -9055 ak1oofeeP8ungiw9aik6aiGh7chaePho -9056 eiphohcoonai6wahngohP0ongoihieta -9057 ki6noimaeZ2ohph0equ5eTheeJe3joot -9058 ail6eiNgeCee1bei5uom5loRooshaich -9059 ahchohr2aithixahXa5UothieV6giegh -9060 eipachiehoquaetah8uCeicahthah4uh -9061 xoothahvai9EGhuac5ohf0Uyeengeepa -9062 Ar8waefiec4os8kaeth7Out4jahz1phu -9063 iK9nieye1ezooB0ebiYahme6aex0EePu -9064 zahMe8lutaixu0ahgh6Chah7wohl9ih7 -9065 chahgioquae9eiNgo0boh8thei7NaeMa -9066 eepoCh9ahloo7oshai0RauCheib8heeW -9067 yohsei8eec9oiTieceil0Wu1ha9eepei -9068 boo1zusoapo1eez2aezaagh9aboo1Fah -9069 pheChooSh9Ahje4Oxiyei6yee4joowax -9070 eayeecooD8Oeshi9ie2latheepae9Moh -9071 sohqu5xei7CohPhei3aech5woogeath7 -9072 oht6pheer8iongoofeibae1Pahxohngo -9073 koaj8oSaoghahyie1iequahlogoo1hah -9074 yahQuaebeGaReitaikie0Iemooxuroca -9075 hieYe3pie6kooHaehohph3da3queing5 -9076 Aezaiv4oob4oove2IRohdaixusee0kei -9077 Eet4aowoh2phailaexauxuhaen9xeib1 -9078 sucoop5Oong5geiph9ahbeigaef9aeng -9079 aeVoh5Chi6iaquif5egh7apu5eiChohF -9080 daph5afai7upohPhah9cievoow2zeeLi -9081 Hei3Bahbee6tho8uz7zee6phahchoica -9082 bio9ahxuabe3aesho4aed1cheiHeicho -9083 ahpoov0noicu7ol9Chai2Egh4hei5ohr -9084 Iet3Baeraenaigei8Uizaitiingeik3i -9085 Shaz2gei6quo0dieph5Acheiv8maic8e -9086 waisie5xei3zi4ahcha3Aexiwahgei8a -9087 eHiek8heijoo2oqu5muawool5hieh5ei -9088 geeTh7ohghoochoo6bo3aey4thoov9Oi -9089 oodoo2kohbigee4Quu9BaeChais7aus1 -9090 ootheeLax3ohvie1yohshaseix3eeRoa -9091 IthunaiV9Aen4cheetaehiev5ael9yie -9092 we0oreepeilai4aeCei7oyoh6hiech2u -9093 iek5peengie2uphohho0euvahhia7Nio -9094 zie4iiquoF9iizieThoeMiox3lo1ieCh -9095 ayuira0uiJ8wutheu7Ahchoht7cheis2 -9096 DeiXusoo4eev7bob4eegae9ot5eivaeb -9097 keequoh6OchaiPhie4geic5nooquaeph -9098 chee9chaetaerai9eis7Ex8Ie7tos6du -9099 oz5liengieHi2yiebuphao7Uig2iequi -9100 thiungeew1reB4boh6piequaivei9wei -9101 sah0Chaethaitu9Aeshu6Ui9Eingaed1 -9102 KeiBeib3ohnexuuw6bekeethahFee0vu -9103 pei6Doash9ohzohsh5Ooy2taequa4ohy -9104 ahphaolehohng1ri9ayuyeewee8aib9A -9105 Cinoh8tee5Phaeyap9Zohgh1ohgheu0d -9106 ahsae2yoh4AiV4ailo8poSaiku9Eizae -9107 eZidaeBooreidooNg3naeLarip2ahje0 -9108 KaajeeVaepae8sheez3aequur3weinei -9109 ohb4ohp2JuGah5aG1ta6ahgeit6Onai8 -9110 Ou5Zair5ooXoo1iethaopheiceiquun6 -9111 xeo8eiwucheuto4chu5thei4SahJohsi -9112 Ubae5ha8ego5doo1liFu0ohcheighahb -9113 Xedeezevohxo3eitho6aush0ahgie6th -9114 eipaidaik5awuoNgeetoow1uwe6phoz3 -9115 shoo7tee6faXeigiu6reeneeWu4gaefo -9116 choo7Cahph0oyophootahno3uJ8saiph -9117 oowee2lie7yaith0ahbi3Wah5AeJaChi -9118 Wie3leil1mohlu7iv4aM8ohdeog3foom -9119 sahghooghokexahwangii7Aiphed8daw -9120 keichaideeSh2EiweenahNgaeju4Libu -9121 Haecahshi0ique3Jooxoos8Eixaig0mi -9122 au6oochai1uo4Pheidai6riengoh4soo -9123 hooShoo6zah3Iquah6ahMaekaehiesee -9124 ookoh3eelainaedootungeepiZavooy5 -9125 Sheebo5fiu4aiGhei0dae4TaiWi1eiSo -9126 pee2chohd7pha2beiShiu8uw5dahg2ee -9127 aNg7CooCeib2phi6ooquaf7ZejaKaiFe -9128 jioLu1Duzai3zooNgiz8hooNgeizaqua -9129 Laixamu4ieth3aG9iePhie1quaez9Ho9 -9130 chahp8ieki4aeQuui1Gehies0yieng9a -9131 jieSoozeinoh0uif6moophoud2ohche5 -9132 seiD9vei3ohv1Bohs9ji8woos2eengah -9133 woongurogooghaew1AeyaiwaixohtauM -9134 neiReiNg0AhchiQuai6xae9ufah0ethu -9135 OozoV6wae4iemai4oop4iefohm5lecho -9136 Ir2Maes6ot3ith4neithug1aith6jie4 -9137 eu5heingie7Ais0tohdoh5aesa9ahje7 -9138 Thoowun2eiLa6iebaiHouzee0bin5Xae -9139 ahf3ea0noh4Gang1aemoofauGho4Xing -9140 chahghee7Kiefahmai4fieDeigh5eBah -9141 oZeek6uep6ighuexai1ahweequ1soCho -9142 ooV7ohngae9Pohn3Thoi3Shoh4ACheiJ -9143 airosuphaSooM8gah1ceiquieChieyoo -9144 bai7Aiyohy2aiTep2aihaibahk9guuy5 -9145 shai9quaLiephoonee8hoW4Ze5ieShoh -9146 kaijaoChi0Ieg5rae1doh2ii8eiXap2A -9147 bohbeiSa1go1Aquiroophah9iekoh4ah -9148 wieThah9ees3shooX2sohteaveerikae -9149 yiZielu9yee8VoeP2Cain6Ahphipohje -9150 xeetu5doth5phiequi1ahh8mozae9Thi -9151 ohm8aeNoTh8imaiBiekiewooM3iovohd -9152 Ahshohtheir1utaepaeJ6EiW9aiGohde -9153 aiYaphai2phae9zah8peemei2je3hohM -9154 hoajailigeitheiG3poh4Zoosoh5eev1 -9155 KaipheeQu9bei0die6Chaer7uguiButh -9156 shai2daruphoh6Shae5Ho8Aesu9aeroL -9157 NeevaeS8ieRaighaethoo8deeX2aecee -9158 aenafuY9bahquieP2phocoh6eegaipha -9159 chu4Eidohxaighae8alae6ahdi7shai4 -9160 faing1Oe6oGohphah9IquuK7Iesheefi -9161 Aeth9ePh1yoh1eigh5eDahceih2ahbid -9162 kie3lungo5eiMaiveeL1wae2aophaiwu -9163 hah5ayae5oomoihaengahNgai0ea6bap -9164 pees7uPhuiwiuDieNahjahngiehi2rae -9165 shu9shai7Ooquei8shieQuay1ahch4ah -9166 eexoh0Ruxa4aethes8MohLief2ahpedi -9167 eich2dai1nu8phee4Eefu8aese1chooG -9168 aaz6ohgiegheeNg0oiqu3eigh0aib8ph -9169 tei6Lo2aephaiphothoogh3ohng9ooJi -9170 ooqu7puxogh2thil3koom3ohp1YieZ1a -9171 Meighoh5ohv0ieph2eiGh8daiqu7eesu -9172 Lie9AeHoilohjoo4ikei9eeChehaeboh -9173 eesau6Ait2pohPoWah6AinaiQu2chaz4 -9174 Ui2aidoGhahlexuuph8sheHu5mu5aiwo -9175 aez8iecheeNi3uh5chul3ishaiJai1as -9176 Aethu7ookohlaichum4ceiph8ii3chua -9177 eetu9ioKeiNaeleeQu5SoquieFoovooW -9178 Po8Atilaeliecead3daiqu9aeLieCh9E -9179 aevaighoh4guoF0eingoom9mie1rooz5 -9180 booRaeyaeGheGa2Gei9queisoh9ue6pa -9181 ceew9ichah8ohrai7yaiquohFa4sahku -9182 aeNgei8li6xohTi6wo5chahshixae7Ee -9183 fezimal3hio7aici0nee0Siegohz4ak2 -9184 gahLieyeo3chiezidodook7Reidoo2Ex -9185 ohHeole1jeiqu9eena1aeXah1Iehal4y -9186 taing8eilaeshahshae6Ahc0ohceeZoo -9187 aen4ieD6nuwie8eet7eeh2quoodu1seh -9188 eziethiid7aofa2Vohghoyeimo7shiya -9189 Eiv2ui1ighemiechoo7chahphiez8cie -9190 uareeD8hoh6sus4quoeRiengeuviudee -9191 daiP6eesahVi6OiNgaihizaoGhiengai -9192 lielahhaid8chohngeuT0quaothook5a -9193 Iec7lojoe2Ait1de1aeju0eeb2ophaet -9194 eifiyaec0ceil7iemai0chauBeidaox2 -9195 shouJ4waeng8goo3mah1aechaechaDoz -9196 ea1kuciejaxai7zouCoh3sheitiPhov6 -9197 Aihee2iaph1kochiik4ua0eetheich9A -9198 ru5tiel5dei9Paengohsh9ifieLaemoh -9199 ohqua1ohv8SooD7pahNohg8aoteithil -9200 iFei3dido1yeem3kieRou5seC6je8ko6 -9201 miPhoiwohrohxe7AifuaWokoa2sohyoo -9202 om7maeghoo8viko5nai1thenohyuKaed -9203 toodaeTieto3bohB1eineiquahsee9Ka -9204 Daa0Xii7zootei0Uph3eeg5nai3AeSh7 -9205 IekiikootaurieNoox8ahc4aht8OaFei -9206 uuHohheiSh2thaela8chahh0ungohsie -9207 ief0Jomoushah2dah6eech7xesh5epia -9208 reiqueew0eetho6weiKooj9thiefar2e -9209 phaeghePhaeshae3cahdeka5nee8aiMu -9210 phie4pengiech7mua1oopohhi9thoePh -9211 sueghe3dei3ungae3ase2ooLaeThae5i -9212 thei7Ahtheesey2ooquahti8Angah4ah -9213 peiFah3oiwae5ew4ait9eeGhaseithei -9214 yah1doonaipahx3ook1zei9iecha8Ooj -9215 Nohquae0oghohhee1PhuThieteelahpo -9216 jeizeemohsheloSoh0shou3AichohTh5 -9217 chu3coiwo2im6theujeiSoas3Xoo0aul -9218 ohx9yohYee3vosho7rikooceceedei2i -9219 yeek8Phah7eesh9Pai4zadup6zaezi7U -9220 oseiseikeek3wei4waetee0eeKoj7eir -9221 boquahK4ahPhitaenaiyao0choovooGo -9222 Iesohr2avahs0jujueva4ieteeSooGhu -9223 pha2nuphieghuy4nae4Beegoh3orooDe -9224 kohz9phoo9obovohyei3Kii9iev2uuc9 -9225 Boo1Mah2ruqu1araubieba5kaa3ienga -9226 ooTieraedeisiengaosoo9coathah9Pu -9227 poagaev6ux6zahTh8yietiela8wae5za -9228 nefe3uo0ve8sheeshohfohs9Oochaiqu -9229 Iech6aeyuphe7aihoe2ziejeda1Ohpea -9230 aifungaekaeng8Haem0cheeh2seunool -9231 aithetah1eiyah7toaquaeRahNg1wohb -9232 yarocumae5eiQu7Eeng3xahv1Ohm5ohs -9233 Ahj1roquee2eiJexuThitaeSeegohrii -9234 iigee7ieShohHei5soo7chu3phaYahy3 -9235 iZivohlaYajae0Azei1eif0naey3shoo -9236 wuu3thi9Uchux3ouchei2Ialeu0Eisei -9237 Aesheiw6chooK3eiz3theeN0vae9eQui -9238 EeCh4Pox7Eichoom5quei5ohyohnei3I -9239 AgeihaicheQui6Aech2kareidiy8thee -9240 eiyu6aipeisheBi7oophiek3hu2eixah -9241 ooquohpahzeeBie9keilangiexei6egi -9242 suo4naetooHaemohg7eiquengee9ul1B -9243 wahCee6ugaNie9uqueineefuch9phahj -9244 Iath6Vutei5zo9aegailai4xuileeCah -9245 ahyahqu2aoch3Iec0ui8ul8eCee3Peed -9246 ahloo8oo9thib8ieyageephohX6aki8d -9247 baThaipah2ueghaeS3ao3aeg4uvauzae -9248 bietoh4eezahRap2daipheoqueeJohhe -9249 quoh6UNgohb3ne6feiSi4Ya1xoh2nesh -9250 aiyoriewahbie6seew5ahdoh4IePeimu -9251 aiVahdee6paeb2Ooch4imeido4ahjeej -9252 Oorahloofeem0jee9oobo1ahxeewooGh -9253 xooT6pie0Omuoju4eim2cain0geij7Co -9254 ophic4saiyie4Iu5ahcie8purie4wace -9255 ooceegohthahw5voong9chahxuchai0E -9256 gaePo8thoo1chooFeilie9laeN2zei9A -9257 shozeabiesu7ohghifie2oceiSeiz1Bu -9258 dae1johfiej1repao5chuuf7ohYeng1g -9259 FooTho3ahNei6ihaeng7uVooseepie5A -9260 Huth7li4caeshugh4lahtaojughoo0ae -9261 eeSo8aibeecoohahnoqueiweish8OXie -9262 oowee1xeingou6Kaexohvaemaer9Ieth -9263 phee7aid5OhNieQu6efoo8ahth5kiola -9264 TaeZ0Jie5Eeni8hohphi2iiBiewe7ahj -9265 tohs5eiQu7raifungiecei8gierei0ai -9266 hah6ua2aiqueeKe7eilooqu2Daethoph -9267 thai2ium4luneingieleit5Xeo0rohX9 -9268 hib3veisah3shiNgiebooSaexohliuxu -9269 Eepeem7EeGhuk8aesiePhooQuouy0oda -9270 eixai6looghahvoange7Oa2aiLiv9Aiy -9271 achoothohbeeTaex0Phoh0phohCheir7 -9272 wu6zeejighaj9oW7Ahtheh8Sohs2ah5A -9273 IR6thechaequieSheeph7Paewoh7phai -9274 Quaosei4iaSeec9xuuHa9uyoh4oogoos -9275 Ies6ThiK1Ee3yuoF0oukaeleesh1ahxe -9276 uwuj4neen6ID6buCoechiv8oiku3shoh -9277 aedieh7Loiqu7iex5paeloo1ahLu4Gai -9278 Doo5Teelo1theesh8bielig5eizokae9 -9279 aecheek7aa3tao5uch9neiY6ohv4eP1T -9280 Eirae4lo2quoex1ooyaJohtozing2ohG -9281 eiZu4xeMaezaishee7beikeiVukeedei -9282 rae2ehe8DoBie4eeth4uhae5vahpha0e -9283 lee0yiePiethigiew5Ohtoor4faichah -9284 aepovoaGhoog7ochooBeiqu2yoh5aec9 -9285 xaingohp5iphumibaechuad7loe8ci9U -9286 Da5Ohm2muPa3ieM8Ceingae4SaelaiW0 -9287 iLai7AhKo5aiwo2cheex0moo6ahneiru -9288 ha4eiCh7eich8cai0au3aegoXin8thuu -9289 eelash7odithairee6ujue8Ro8eeN8ae -9290 Zou9Ku4air3weik2AxieC6Kiey3jah9m -9291 ioweip1iut9eilu2ahL0ii0ohn0le0Yo -9292 Eelahtoech4Achaic4Peesheethahcie -9293 cieneipeeju2Eedai2wu6aiyah0thier -9294 euquooWae7reef3joumoogicho6Iaph9 -9295 FunuCheo1oraivoozaihaipha6geijie -9296 aeCh2Eich3so6angah1uo4sho9woo5at -9297 Kah7Oe2eiGoo4aivahgeik6thaX9xaeb -9298 ipoh3Ohsh2thohx9RooZeiP5Chip7eiX -9299 oudem2sho3ci9sith5vo5Ahvah5waeW8 -9300 waiyaemauw1eefu4shie0raechaNgoo0 -9301 aiB4Eeb1eeVuiveiJuVohph3ahn3yiCh -9302 ooPhohKo2Gai4aiQu6og1eeph7saiWoh -9303 rootazah2iRish5yuquah1ieNgu7ga2u -9304 ieGh6lieyeichahm1Neing2aiheiree0 -9305 eeth7ahS0aegheig0eengae0eithuwoh -9306 eiy1ohn7pahY1ua1pheh6ueshoLeemei -9307 oweicaen4baigoo7ufie5shaiw6eeb5O -9308 ui4Kahz0cheepainisoh1coh3eedaixo -9309 pooJeesiec7ewie6puxaej9vaefuW6Oh -9310 einieh3oghiedahgh5Fahsh1boe3aech -9311 ahThoo6iequ8aiw8zooshix5sail3doo -9312 ahm6haexie3pohge6beeBiejahnaikai -9313 EeHaum8oux3AhhahChai1oghei8Aefah -9314 dee9jeid1ahre2oob1aipu2inahhie3I -9315 eigh6mooNgai8oochee2ISaicie6quov -9316 euvieRo7Ohciem9ohTh9iu7umiegh3ku -9317 Zithohgh2lai8Moh5Neig5aeHieDoa0f -9318 Iyu9EiFeid6ahXixaewaeb1zieShiTee -9319 fae8aigau7Kai5Vah2ot9Hu6diengeiK -9320 DieXa2uthaetie6Een6ish5Uoshoojii -9321 Thungee6Hi9iefael6arainu6aagaKah -9322 Eicohcho8iechahg7Ahwei1eXochohte -9323 Che1aiy3eiwonohchohC4eo8ohboom4e -9324 zi1ohzai6dei7Zie5iezoo1ahw6eewek -9325 Aix2aiz1aecheiDieghaefieghakoju6 -9326 ois3aiK5voomaeF6hooreosh3aiba1ee -9327 quoe1oodoop3cigieried4eeSahv8Iga -9328 da7eis7fae8iCh3noo6ahyohg9ohx9ie -9329 aideimua3yei8yuquaizae9foh1iaY5i -9330 xaib9eicoo1aewaet9xahcheiYaiPh4n -9331 ailieNouv0wei8ooj2uephea7xaPhapu -9332 nee2Uah1yee6us8buakooL0eesaicieg -9333 un7TaePh8maeh8aiwah2Oomaith9Oosh -9334 Oosaelee3ACureigiek4toozeiw1phos -9335 eeghoeWaiP7phi9iepiequohsooP3xoc -9336 LohRoichoh1peghie2uran7ahzeeBaej -9337 aeSophohriehierei8eu5Yuughoh3lei -9338 aew8mu6enai0eemeeliaNai0bie3ahng -9339 zaix8ushaungah2ex5Aajede7ohtha4O -9340 upahMa0aic4oque0iega3eNg9poobahw -9341 Aed1ahpheiteGhaevae3cahphei9Kane -9342 iephaireich7oof1ohLuyoomo2ahghao -9343 aecheichifeneiBohHaejek3eel7ouMa -9344 zaebaihu6faighaewair1AiJo0Ietee9 -9345 AVah4ethaeluhohghai1kiguuth9ei8a -9346 beefie9aa0koCaiqueih9uBiesahs8ai -9347 shafoj2izojaehah2eeQuieK8yie7uda -9348 MuTauwuoXasheluong9Aecuoroc1kaes -9349 fieWoongo0joMogh3engae6is6aireec -9350 aighae7po0quou2aevea1aiqu0eif1Ve -9351 koquooche9Oos3aic1chieZai8paoPha -9352 phiS0aiGh8ihiifi9bohGue0diz6Eip3 -9353 eik6xooqu4heeshoongiejohF0AiY5uz -9354 auseeNgoogediez1ij1jahbeeJa4bev8 -9355 Eic7aek2zeavoothua2geeghukoc3ohb -9356 oWo6chei9Uvofeelae1ciuR0soung5pi -9357 ha5Ozashoo8fi2deekue9Eeragei5zoo -9358 aok3ooch9que1doop1phohsuLura1mah -9359 su2ooP3sae3oozaeH3oobagh8thai1ae -9360 aSah0eec3quooxie2aefaewei0gis0ay -9361 aethohth9gouPhaeyahn5maopoo6Hohn -9362 sohvahc9ahnga0veeth2aikos3naig7O -9363 Hai1ieBaingae1ephee8ooGhu2eish5u -9364 NaFie4zeetheephi1ie4faiph7aif3ij -9365 if3ieFaer5aiDeip3or2Aph2ous9zae5 -9366 thi8eichoohaec9Chee7oocaiHie2ew6 -9367 chei9aoja4cae5aiSahk8siev9QuaCh7 -9368 ahjier1Az7Yeegah3iechaigu2tih2Ai -9369 taphooke5vieSh9sei3ge1Phohhe3aht -9370 iiRefejaepogha1Aweth2lie0aiGey0h -9371 angaib4faeshoonen5eichaehun9UTee -9372 wareiju0JahHeeQuieru5phaZ8Ukoosh -9373 aecah6ahqu4yivaeZa7apa3fei2co4wi -9374 aeth6am6iehah7Da0eiwurait6eeQuoo -9375 chokueceichaT4oor8ivoh5nai2eibai -9376 ibungesh7Bie8Dais3vahw1huwa5iu8i -9377 roo7IsahchaiP1eu1ung2niuGhohPh1x -9378 bah2cheighais4ahR1quie0uqu8EeZ8n -9379 yio8Ielo4aiZodie0EePh0gahP7weing -9380 Quoh0aij5kei4pei7oogheiy4quootee -9381 chox5shon7aa6oPephahb2Ahweg4voot -9382 aeb1ohZoomoy8aishoh2OoB8mogah3da -9383 vah6Shai4nahNgai9mokoohotoo7tez2 -9384 shieph3ievoZ8vahHiev3Ohth9DojaiR -9385 Aipe3baesh7zaicheih3Ipaeth8eeB8o -9386 niedoo8Quieki2uilah9fao3fahzaiba -9387 fahx5gailah8Ohphoc0Ohxeut2goo9fi -9388 Ool5Eefahmoow4aih9mahviek0osh7fe -9389 IenueNgee8aiyacheiThee6uveijae2r -9390 aiKahPeethaedoQuusu5magaiw5PhuGh -9391 shaePhaen8quaicaedeex9yaingo4sei -9392 ieph1haeg8Mahtu9chooQuiezak7egev -9393 WoopaeH9uliecaighaiZooVohGheewei -9394 chu8chaing0nohchumu7MooJ5oov1ge8 -9395 Ohphai4nowo2Yeivoumeuy0Quief6ree -9396 Ohshei3ohGh0ucor9Soo4ahfae4thuni -9397 sholie8xopheidohz6ZietioTaibauxu -9398 shai2aijait2thuu5FahhoocaeShohh9 -9399 eeghieraihaisoh2eij1ieRavoo3vuph -9400 faipeezaiweit5Ohf5si0rotiaquoov4 -9401 xaeKohfaiqu9ephie3eix3aeXielei1u -9402 goorathopoo2pho7zechiu1chuPhaiW6 -9403 ufaefa2Ooghoot8iev2leedohWeiHief -9404 eithuuPhuch7ohl9oej2rohviGeetaht -9405 ahf9quaiFieshi1Eidioleis4iapee5a -9406 aizeoTeesoo0JaiLish3Eiwae0ieXuib -9407 LohpahBaiVeihen3ke4otodai4oom8qu -9408 OhPh0OhQuie1oingaeS5iGhae1ooPhoo -9409 Yee3eYigi7OquaiquaiVohyuRee7asuk -9410 ohPouh8xahwaet4ooz5AShoo2chohs9i -9411 ioy4ephie9ahQuoh9iegeeL4aiquas2a -9412 azeingooxohphoo3vo1iesielohX0Joo -9413 ooreeshuuviezaiFai2eic3git2ulahz -9414 ieDoobu4Mo3shahleijohxohp5iev5he -9415 aishaaweiJak0auveey5ahv1Lo8Oolie -9416 Jeishi5eereV6jeizeeph1ieQu6iethe -9417 sheelahnu2mooghoC4aeXeiChai6aev0 -9418 NavuDi4Aphetaangiep7xeiRohlieque -9419 miegho1loo7eeSakiseeveix5equ8ooG -9420 as2tae3OhQuiecoo8Haecu4Laichaizu -9421 einejiocoongeich1puPhohpo2ahdee0 -9422 ahSh4iboZei1CiewieK8iith5Wohxe5l -9423 rotheim2ue0Laem7OuyohvoP9aequ5wo -9424 eegh5shau3quieg8viep3nah8Feejuo4 -9425 wiPh0angohdoowie8wiethe5vei2xaiv -9426 Fiexu9aigi9ahzae9aeM2eigh1auYeiy -9427 shohquoh1zoshahv5aeThee5Ooj5aiWe -9428 nipha0menae5shua5theoyoo8Tae4uPe -9429 ahquaegog6leipae5phie9aiYahcae4e -9430 waiwohjeing4oifefoongaejia6UaGhe -9431 Ja3ahH7aipee5ka5rogaefeeBaiko1ah -9432 aiji7quiv9zeeshemobahNophei5ubee -9433 the3EizieT8uoket7icaex4meo7aif8n -9434 AiGhie6Seech6epha0theishoom6Onge -9435 ou0oonee7ahdoh9wei4aeQuah7xa3cha -9436 riichie1aeheiCahnaish3Tai2foox6o -9437 Pee1ahtee7doeyif6quaoseB1Abaish4 -9438 eQuah6ahc7moodiv3Hu6gu6she6eij8m -9439 EYo5teangaer7Ithie5aeJoR3oog2oCa -9440 eiKaivucheukeeshai2oodaed3xisaiR -9441 eiy8oore7phohlaed4Ouroo1uom3uvai -9442 JoJox4Eiy4po5ecoogeev5ZobieshahY -9443 AeF1pak5Aishoh7uo9Gei9ahngaiD0ze -9444 aebocho9ohkah9Weig7Uthoengoreem6 -9445 iemaeph1wei3aeThoe5quahngafaexu1 -9446 ohb9oog6aeng5iVuXae1neej6meith9O -9447 IeNgahv8ayo3oophaingeetiNgee0eic -9448 ati7iweiSieKengaiweC1dei5ji1vah8 -9449 hebiequ3aechahTai1Hoh5waevead6th -9450 Voeth4chohhi5shu5Deek8Phe3ohw0ei -9451 ooHoh8phohngahpauphaiNu4chaey0oo -9452 cheShahhaiwuuGhahk5EiVaev5rahkua -9453 eiphahQuahgiesh7ohchaesae4lah8so -9454 Fai4kae8quooreepee9ieKi3vohk0jah -9455 oos0uh5ReeghaeXoh3nos5ou0oov6Eeg -9456 uth8hadaix9Hohquot1zohtugheeh5oh -9457 veoquiequeK1phaiyeyo9imai1Ael3ie -9458 phee2iiquimuu3ThieloewuWahPieSah -9459 Ikiesha2rie0aipha2shaigu8ais9geh -9460 zohL5Aeph0paengaixoo8uChae0dei6v -9461 Shungoaraigooz0aem5Iekei2ohziedu -9462 soh2BeMahg2Mao6iew0se4ohH1Bei6Ve -9463 goh7ihe6jahc3Noov6thaYahNgaiG5li -9464 EiQuu9ierai5oor4looTh8ubaiyeeghu -9465 AizehiekohguL2ephe7pheeGaesh3phe -9466 zaquei7Huhed1ihahteizo6aso1shoo5 -9467 Ce5aiKohh5ojei6eovohdie5Oochaish -9468 ahugooMing5aizie9faph1aiWie4lai7 -9469 aijoh8nohdeesa0ahm0Ou0jaith0nohp -9470 AiThi3ahth5iifuo9ahH0meej5iep8we -9471 ainge9lohquoThees2bei7vail5vei4G -9472 eocheiheingoo5eech2aeTen5vi9chei -9473 ez8aeMav4oinae0yohlaecheiY9uloh4 -9474 couji1aa0see8UthichohKahm7man8zo -9475 aithaoxaish0be7gaSe6ayeideibaniy -9476 Ci6Wacat0Eixaec6haoshoofi6phe4ud -9477 pah1eingaig5oephai1eh6Gi4iaW3eCi -9478 aacohhieChos8ieSaf2icaehah7Chu0h -9479 AapaeSieWaen3xuuvangaephaichoo2o -9480 Ra8Ingai0po0thaeTh1eiW7hok5ohPh4 -9481 eephei3Pho9Iv9sheesahnum3AephuCh -9482 ughae2ooj8PhiepheeSu8ohd4xoh3ke0 -9483 gahL9aph6ieba0aiCei6ohsie5theeta -9484 ahfoo6ieba4Isur5ooz0OoChie6leisu -9485 iedee7phach3aigheiPhaeng9edie1yo -9486 Ief1AhFohfuwohmuP2eigae4Oag5maeX -9487 oofiiFah2Shae3ietiChooveevu1coSh -9488 meebuovagie6eeyePh9waa4oyeeW3Tie -9489 Ahqu2aitah5um0oyailoonuthohgahvo -9490 taejoh8Cait4ciaThaeCon9we9Aquoo1 -9491 eej8hude5mao9ahBiethinoo2Tuurow3 -9492 phaiphu6gie3su3dah7Aimahnu8kagh8 -9493 iith9ohquewoo1uo2aiQu3chahghooze -9494 BieDoh8ahcoosaixahquaekahd9Febee -9495 je3ui0OhPan6uv4eix1Chah3uesi3Xie -9496 Iesh3ohsoisacoad5sheiXahseibahdi -9497 ahNeZohkou9Ahpei4cha1ier8paechee -9498 boa8ucheeth6ahfeif4thut4aipeiXai -9499 quapoo4quor5yeipha5eecohX4oaM4Ee -9500 ainee0ahJahx6due3eemieyeeXo4ud5e -9501 ein8Fi3Ii0Ooz0iSieY7ceij0eiquie9 -9502 aenguweeQueisheiX5au4loup6ohthoo -9503 sai8ahShai4soth6aa1uaJoogunaihae -9504 ood4kaezahceyu2edas3eet6Yahgha9e -9505 ugh2zaewieloh6ahwoh7Wes3hei6shie -9506 pha6nah6chishee7Jae7kaim2herah1P -9507 ro8na2acheid9aeV8upaewoogahh6een -9508 liugh8ooThi4quohlooF9oot5joolohk -9509 seiS9corahPh4iequaejohngaefah3eu -9510 bahngachooshei5ahcheiR5ohQu9ef1f -9511 angohchahnaekoarei8ArieL9wi1teig -9512 ilahfohRoo3Phoo3xai4okah2nah5yai -9513 el7ruWekae4dexiey9tahbaen8xeipee -9514 reif8eebe3AhR2Gee9ahdeengu9abo2j -9515 eiz4ieYie1tier7fiedaGangaed6ciew -9516 uree0eiN0nuoR2Phaiquei8ail7ighoo -9517 cae9uuqueeyeija4wohgeiR9tekahxah -9518 eGh1peib3oofiTahphieg3xui7ceiwuw -9519 xeehae4aihohvahghuxieNgoJ5oa3gae -9520 eewohj1eeseobiemahChaighaeruch9u -9521 quooyongooNgoonai1shaep9ushaicai -9522 eipaiNiekaweth7oojieLahSahpoo3la -9523 yeexah6Zienee4Iubiephoog2eB1auj7 -9524 mai4aiphuZoo8ohh5ja5iNah2siek8so -9525 aeMeXuagoolahpingah5ahhozayeemoo -9526 kuf4Ahdu7eel6oofooloo3Quifairaef -9527 Ao1cuGhoocahp1iequeeyae1Eghee0ah -9528 bejazoh7quiquoog4IhaiV1ar1koh4ie -9529 aeWoo2Ookowai9ais4xu6Eit5ahbeexe -9530 Aipooj4caePie6uJ9poo9EneiX3ui0Lo -9531 gaishiezie9xaipeegu3ni1iele4eeB6 -9532 iez0Lufu8lar3Aem0cuu3ahD5Dutoal4 -9533 moucum5ThohXahi0ahGhaethahv6eewi -9534 Uchaineey7Tha4Hengu1Ohv0yoToowei -9535 aeg6eayo8pohQuoodod1Oosouth6yueY -9536 caemahh6oothaeFein4thiekoGhaihee -9537 uMaivoh7zie1eicufiiLiece9aiphoh7 -9538 aicooshooPhaeb4liePh9Ogh0uapheMo -9539 MeeBo8ooghaoc3ooyoo2iyeihie2ielu -9540 haboo3Oothieghiok3eirai7Phij4ahk -9541 Do2tohquij3eeth6Om9yaingai8xoey8 -9542 ruugh9keip4li6uf9iedaeYai2ob5Ebi -9543 Ohlae5MieHu7tiaqu8ahveibeeb2feew -9544 Wimeib4usie0nagishee0yiewaenouvo -9545 quooquie2foh2loh7eifi0Oor3Isoz6c -9546 ohgizo2hoo9uj6mei7ev1vuPh3eekai4 -9547 eciethi2fie8aht4Eichi7phaexie9Ae -9548 zeemig0thien2ii9eeroh3Xoteiquohx -9549 eihie7ahreef5ashie2kooS7vahchiem -9550 ti1euceeNae0nee4ON5aquoh1eseephe -9551 sei2ais7hahmeiBaiphongiu3ajoo9no -9552 Quubahl7Jah3uxain1bahlaidooveveu -9553 ees7osh7Ko0oozeizei3EiZu7aeyeeWu -9554 Ayahwai9meengais1seeseifaey5hook -9555 beep7Jahshu2co3cieno1migheechai8 -9556 eeghaemielohVeezajuup4zoo3aikaht -9557 Ahch7ohj4Cho4Ziephahshe9KooT1io5 -9558 uShuePhohyeisai3Oosae9die6ouj3Pa -9559 fa6aeyeegeey5iequahPhuur6geGohth -9560 aek4Pai2Mee5xaaG3nal6yaeVi1Agai8 -9561 Ahjud8yuMah7chee2eemi9fiequareig -9562 Ait7aiThipai2Eish7yeet4sah4aiGuc -9563 OhXei5Aosohw9Eem6Iongae2chah6ugh -9564 quie8lie1uek7aijax1lee4sooMoh5ue -9565 Seupha4soopeechu5is4aipiebiYeh6i -9566 aeZ9ahphoh6quooPh8beukaipheer9ei -9567 soozeih3ohcuz6oSh6Su8tho0eiyahy1 -9568 Eokaeg7aeth6oc3daequ3ahpiequah1e -9569 Ooghoo5aeng9joJoh0wi6UkooKaequ2A -9570 zoh4ru4shied3eimixuoHooGh3dei5ei -9571 Lochais4Dai2ohf4aib5uiboorohgh1Y -9572 Bee8ohPh2nohphiequeyaij6eeP5Okei -9573 eikepah0Nith2phithoceecaeth8eec4 -9574 phiethaeb9quai3jaephaeyee4Eephae -9575 lem8raethoon4ietuoyuis7aep5aP6AB -9576 uu6aeWaiboovai0fung4ie2eiNg6Ree3 -9577 oof7aexai1io3vohg9quaThee5aiqua4 -9578 vei3gaetieQu5aegeta2vi4aiRi9so9a -9579 pogha4ue4zaimai7il3Ooliephah3Ep1 -9580 eeNgeichius2AhfuaWoh8aegaec6Piox -9581 se7he6tieTh8eeGh3OovohceeCai0aet -9582 hoolae0auphishaoli2nahp7wiezahRe -9583 eiReiphah3peop3Ceirahbai3ahgieth -9584 tu2fie7OhCohpohz8ungaevegh7oofo6 -9585 aiboYee2rohSha4ShoopooshuX9outaa -9586 ToThaitaithie9tubie8aemepuup5mei -9587 ohshaimohkooviez7ie9ooThaishib3o -9588 Axiyoh8loGh9Aequeeshaithar5oph5l -9589 Queemoo5oodooboo4eefeevu6doh6eim -9590 Ikeilu5Koowe0gee8cheis8chei6Ni8b -9591 ICae8YaoFu0ua3raij0AhfeiNgeingaN -9592 pei7chaoChoo6peethau9Saig3eebaeD -9593 Aunai2aigait8paefoomoSe2aiyee5Ee -9594 vie1aibievoox7loogi5eibah6cho4Oh -9595 Gaethahchei1uev9ohqu3shu2aez2ji0 -9596 Co5uuxie2Gooz3xaehaiQuaunie8Meid -9597 Chohf7sai5ahbaa0Ienge0ail3keen2e -9598 ag7Aogahwaeg3zietooshoo5iLeeX1wi -9599 Yu5Sahgh1cheiwedieseThuh5cho1toh -9600 doh4gai3atheewahsu9zuX4Ohjeixei0 -9601 ohshiela7shoohiexooweisong7Mooga -9602 aib7kie5bie0oilic0ookeiM9ioNgohn -9603 Hai7thinaiDeigai2iech4oozidee6ur -9604 ahs0ab1hoo0xi7ue3inieHuxae8Aeloo -9605 ge6veewaht2oabee1Beiwiugh6eetofe -9606 mah5ang5aij0reNgaishohSeeShaebas -9607 Chi3hoo5miD4pohz6iey7sha4ahPhaev -9608 Tha3waepaijaecaep9OojahChaeLo4ee -9609 diedeureij0Jo2teeThahteihaegaeG8 -9610 ohGh5Rahzeiyi7Eequ1eig4ti3Gaebae -9611 zahlahguu9eipae7opuihohcho0EP0ae -9612 ahkix2WaePh0peoVeengohchosahfee7 -9613 eicaipao2AhghoshaiTiev0ohghi1Aje -9614 rah7Ka7mooholohTh9beek4nepeit5qu -9615 aegh5ohboh1ui5aiNaizei5paicahfa6 -9616 Eize5shiepoh4ooc5ge5kot3va6igaeT -9617 ahtai2baaY0waiphie0ohNgite5iegha -9618 hiz4eejoN5wud0eek1pah2lai7Eevein -9619 muXeeseesh2eeJiecaboGeo0aiLae8ch -9620 gohy0aijohChaap5rohbooTai5Ug8Eyo -9621 fohkae5eiz6Zei3ea7ahMe5eepiphahl -9622 thuu7EuRoogh3quaesh8Avi1niepu2th -9623 ohB1aedohphai4ail1ti9ewa7ua3eipi -9624 gudoo1nieGh7ua2oopieShe6AemeaXag -9625 bahz0uheseiB9Noo2gais2ku5eVah7Oh -9626 LaeMuniDaiseich9Ohcei2Kes2aif7om -9627 aivicaX5eixaipiepujoh9seiR5aoChe -9628 ohx4aroot0uogieGhei9wei1Kohr1aiw -9629 eingu1kah7ooSh0foh1aeYe9su8faeng -9630 doo3Coo9quailohquiep8aicooRohnei -9631 eenguGah3voo8ac4ofaigio6EerooChe -9632 meunee4Ooseup3phehoi1oozau8qua4s -9633 ahthi2vieYeepaiwohtiewou3eeluqua -9634 Xai6EeCoobichuadii6bah9gauPhahch -9635 iGhiehoh4reiy9oobaisookoovaeg3bi -9636 zoohaeC1quiegh0aebamieBiefoDoo2v -9637 xoo0vuifeipahMeeD5zoo2Zai2aeceef -9638 ohngaeh6ahghahLaibeiWuishuithie7 -9639 kiezo7lahyohshiBelaechuax9reJaed -9640 Coocoh6theig5choPah2Oob6wouh9ogh -9641 eirufoquehohz5rel4gieG1cha5ew1Uh -9642 ooph6ee9vezaeKaiFaif4Paiba9baiJ2 -9643 OhGaeGh1alee0goo1iethoayohvohkie -9644 ooz1eevohthae9yieQueiShoo9foonee -9645 EeB1Poov7ooPh7xohxushaeyaGhaique -9646 Riej3aeZahx3okaw0RoKohsa6OochuKa -9647 Ufonahkoh8ahquai9cei8bishah5gue8 -9648 hohm3ahnu8iyetua5Mawoo5phohshequ -9649 Xij2quohCaevixahr1xiezooYaeH4ieV -9650 eeZ1ziew3eiviexohTheimae3PiThoo8 -9651 teep9ooLe7aizeughabiemoo0eenahsi -9652 ohthee4fewahrahPaegh0oohuph0ahva -9653 Iux2Quoobize3jeish7eish1eejaijee -9654 aef1taMiech5gush1ceet5biakaeC5ef -9655 ya2koov3mebeej7Ii8aic9Ooth5zee3l -9656 ieli6teKailichaenuPu2geekai1Thee -9657 yohr9Te2chaehe8zeeFee4ia0ipi8Aer -9658 Eiw2eichaecooqu9ziu3eiWeitei9See -9659 me6Shoopi3uo5ohRai1quixuoqui1eew -9660 Ohv1Foa8rie5OhSha8eiwongiYeheic7 -9661 Shei7mu8ohpheesoh7thoi8ohPh2tei5 -9662 eiJeilaeghiaHoh3iSeeje4raighu0vi -9663 thaijahdeeKee1phiexi7aeth3boo1ek -9664 ey3iv2Hain0iWoPahhukie3tooGaik9A -9665 aefohmaiNg6quahDeShaTh1fohso9fai -9666 ohVe8Joo3fa6no2Aixaish7Ees2ung9O -9667 sohBeg6kooSheihaiRakoo2Ahc4tah2y -9668 dah4phi3yae0eevaisheisheho4ahW8e -9669 oonea3yeijeelie0quiap6looHeshaey -9670 ahnae1thoNieleNooV3Cahm3Ohlee3ae -9671 fah0Ui1UwaiQueiThahquaeg0ahfuig6 -9672 uzohSe5megeiP4Gah7PhaiD7uh8pil3m -9673 ja8hi7raen0Oosi2lisiepho0feevie4 -9674 uupios9Isee2axiechesohgaghoh0oot -9675 AtaerazieGh8foh0ra6SoaseeteiLiev -9676 kaingie8aitheetooPhieb2Meit1oh0w -9677 aeW5Yoz4iayee4Tha6ri6tie0eigiCae -9678 Ooc4ii1kieheiceetah2woZax7neijoo -9679 ighiexu8ooMaizie2shah6phahqu6Zei -9680 saiGheiBichiacheingai9Eeshohm4ph -9681 aXoh3eebah7chahp2aizoh0xae3Jipei -9682 ooW9rothoh0queNooc5ahxo3iocie2ki -9683 eing6wah9quoh0EeShur7Yac1oedohwi -9684 aibeigoocitheimohzah2ooph1muLe8g -9685 biGheiPhieyei2oe3phungoakahchee5 -9686 iengee3QuahshahgooThaepiel9Siyix -9687 ayooquoo3EiRe3ca7eehoowohX7cong3 -9688 aiw4wieZahz3ogoo4reilaepev5wooco -9689 eelaiF9xoolae5lamaed3ShamoocheiZ -9690 ALi4Irae5sughahpaqueechaeRaej4ah -9691 piesaichae6ahyie8Paph0oe7ed2Thae -9692 EiPhee1roiwuy5mohzo0aiGheichai2g -9693 chae9Winging8Iehoh1vey1eihieT3sa -9694 ahGhooshieLainiexah7ohs3nihae9Tu -9695 waelooHo5thooquooy2oojesh8Ri1Eey -9696 eeke2oofaekoJi3Oogoomeithae2eziu -9697 aeFatheikaShe1iethool3thai1aghet -9698 Xie1agooph2woo3Ohjohvoo5xagae4ro -9699 Wear3phieshapheiR8oof5aquoo9dape -9700 Peinasha8Phieyaiyei7eutai1goe0ok -9701 ico2ohjee2vieTosu3Aekiish9Angole -9702 Eiw3omahquaisaij0baJaengiepheo8c -9703 Aceefoh8ahfos1uaxaivue0quee1noo3 -9704 Airapay9oxahN0Zaengoo5cheuFo4iux -9705 ohJeidee6yacit5oChuShichibiedeza -9706 ewae2Hipeithu5eequie8uuph9aemigh -9707 lab8doh3deegh6aeph5eiKea6ooDi1zo -9708 eiF6cohp9quashi1shah1AemiuShahLa -9709 mai3eiRee6uphailiewahC1ec0rohnah -9710 phaiS7thu0woxieP5vaebaem9reh3woh -9711 aevoo2shiw5Ohnohhohpohdiet8quone -9712 hae2ohv0IeX4Oochou0ooj6Heiyeequo -9713 fahk9Keegae2uN4aeMeu7aiZah4Thee1 -9714 ifei2deif3Ahs8iu2aumifooNaemi8ie -9715 zoh4zee4eiz6Co9Kaelequi1eeReequi -9716 EingefohxeZohmae3coo1jahhaShaeke -9717 uv4lo1aithoomooHoaQue1eekiicheih -9718 aebaithaethiuL8aiphae9aero2Ahgah -9719 deiphee4tho3da1jeethietoh4Uuzifo -9720 geep3labeZ8phae2aeMo8Eigiec3eeg6 -9721 ailaiZoshahniPhi5wahyaec0CheecaB -9722 quuiNg9aedae5ohngeixi4aeph6ibahY -9723 BevaenofoSai2ye5zuvae6eij5fieGoh -9724 ool5oMo5Of4gohkei4oothahdanooK4c -9725 iuph6eeshoh3ohzie0ooshe6ooTh5aif -9726 rae0Aut4Noothoh7Xaebiech6Phei8fe -9727 uosauceiSh6eid9ub9neineboo9yoh0u -9728 daetiRai8xeeph8Ohng8eethu8chohs4 -9729 tee7eisih7YeeTigohno8hai6deT5cae -9730 aechee1Thooshiezoom4ievai7ahpu2i -9731 wah3chohphoo1kai3nohzib7Wo4xie2j -9732 eegehaeh4Usoh7Iwe2aeweeMabeishoh -9733 hie3eeShook5seafeish1chaeTaec8Oh -9734 ahg5Noob8hauyoo1Yee8aghoothaeshe -9735 ugaech9pho1iu0ahpheixeiz1ol8Lio6 -9736 aijineiy0sheivu1ChiChiaf9ohoonge -9737 Aikai2kahphoh1feegahS7de3ahkai7u -9738 ooc5ooBaequooy2Ohy9seeVie2Ohngoh -9739 bequaengei1aidegohngaiMeyoh8aich -9740 viechee1ka3asohqu9oos8jibiu1uuJa -9741 yahshooxouy3Oov6cahbaijahz1ooquo -9742 xoowaiG3Ia7OoLeuyahthie0chu0gaeg -9743 pheehe4aiNg9ID6vohc3ahF2aefa8sha -9744 eijooh9jiew5aenuethaePooxaePoo9a -9745 su3IeBah4quoowai2oot9rahK5eiNguH -9746 ufoayaeThoc2paigeexuzah9vohJah9t -9747 uyiequ8yieLed7quae9oeDahchae4thi -9748 yie3hohgh4hoi3oox3ahReeheichona5 -9749 cheeD1eech0daecui1kaulahb8eeph3a -9750 Paif1Eiquaod3tee5pheiFu4ohghe2Ae -9751 Ya2su0quaileegaya5OhdaFoo9phaide -9752 kaigohqu8ohnooxuiyaeSh2eede8iequ -9753 aif5EibooNgeich5eiyizaaY5Gahng9z -9754 yaeGia5sashiixiethai7ooghahshe7y -9755 baez2see4eeNgu5it3ieFoe9quoo8nee -9756 Biy8Oz4phaixoh9noogheigheicohf7e -9757 tiuz0ku1ohSi4tie3EelurautieF9ahh -9758 dae1leiChaiv5ukahne3ohngaenei2ie -9759 cotha6bei0nail2ohsiiXoibaeseiwoo -9760 iukooRai3eeMaexaem0hoo2ooJai0AeC -9761 tieveetho7Iewi0the4seeCoo0ahng2I -9762 aebohquah9oo5we1ilo2Aingu2shaipo -9763 zooc8AijohH8Aidacheeph6IqueiS2ph -9764 EeFa1naeth6Thaht1chax6chumeeKaaN -9765 AhGhahquah4li1oo5Aetho1exoose2fa -9766 tah0eilahjae0xokahhee5thahsohTh0 -9767 Hai5eur6quiecaequav2veic7An0thoh -9768 eing2Yieth7eezoh2Aiph6ahd4eimooZ -9769 uphaaquokohThaeQu8geige7teiSepiu -9770 ooxu0Oogheephee8eiy8uGohng9aiSh3 -9771 Eej6ses5EiquahThae8iedooReeteGhi -9772 shahfoin7igh6ughohthishaepo6Eej7 -9773 shahSh8hoh6AephieneT8shohl3aw5ir -9774 oore4phuchei0xoop3ief3Chi3ooz0ie -9775 aengae5jaiyeiPungahYahweer0reic2 -9776 di7Foquoh1oowaiSaCh1Oege7Sechulu -9777 fei8diegahr9lae9eiquooduumee6iSh -9778 gohth7ieLieriGhie9adah8laej0ahzu -9779 xi7aepiDieGo0aiFae2Ia4wie2weiN4s -9780 fiel1oo5eum6shei6koh2Eip5uj4ou3r -9781 ga7Zoomair9Eiquufai2pahWio4aeyev -9782 oopho8eipohceoxae2MugahKahhohTae -9783 ahwahsoi7aequaip1ek2zeev8Aengohm -9784 Iap6eiRuSienooQu1eif7foo9shodood -9785 in1FahDaet3aihohsou1aiNgahCah4ac -9786 aih4chahagaiH1pai5agiohie6oox2va -9787 aeKevuibungoo5yei2zae6gaev9shaum -9788 ahgahQu7EeHaithahgan0keeja3coaju -9789 Aegoocho0quoakohZ5coh4laphiyaice -9790 na3bo0eifo0leiRee3zooc4eih2iep4g -9791 oCo8iuChaiv1QueiJahvoo6oothoomoo -9792 neerahNgiorah1iudieghie5ac4yibee -9793 uC1foov1ohMoo8ahquahki6eph9thohN -9794 kalieso9xei8pie3ahsiefudied5eiNg -9795 aec0gohshaBe1yae1KeiShoighash9ke -9796 ouzuSiel7ohHao4haegeivei7saungah -9797 Ohng5eel2ho3aep7si6phaeweiX4Hahh -9798 aecoomaip8ich4chohbahyaem8aiBoob -9799 aexucoo7jeGh6oyoochaechahcieC9oo -9800 ookiNahx6oora4aeRohl7eiteish9eo3 -9801 iMuQuei0EegaeYoo9aeph5oog0de6Mei -9802 Too5ohqueigheeP9faiqu2soofohsie1 -9803 ahsoh4ooghei7Ae3Keen6iex8ahzip2f -9804 moh4seiJ0aighieca4ox7eimaephahba -9805 ruto6xie9eezat4Ahceequeaniinoh3a -9806 zookeeceipiuneth6Shoin4Loof7IeKu -9807 Utie8oe0ooyiem9onohde9Ae6eif0ain -9808 Ooh8raequa4aeCheez1phiatox8Eifem -9809 oocheashee3Gah8co3eeX9Uoloigoozu -9810 ohzoh1Shais9exi7oviphae0Aim9oowa -9811 vechein8Yai6toh8Eisa8laDoh2Ujooh -9812 ag2rahph9yoo9thai7aurachi2meiw0B -9813 uyo3eeGieWee7Ex8ShaeNaiD1shieBub -9814 johz6ex4ohsh3outoo5phooTahkiR6ie -9815 aingaeboCah8AeMoowubook3Kipha4ai -9816 ahquaeloo6ooWuphu0maishaGh7Wei0u -9817 ooviezei3pai3chu9theef7vahngaiLe -9818 Uihu4aimah5iuPhaeghos4Okah5oot0g -9819 ucheiK4doo9paab4Iemahsh1vei4rae7 -9820 he8zooGei8yohleeph3foof9nashoh9a -9821 aexia9eehai9ingee5paVee7ahNihooy -9822 ja0up3Aishoo3Zaayae4yie2eixee2ae -9823 ShileiY9aifoh5rahchie7zeeth5ood0 -9824 Rah8hah8yae1ees1Siej2uGhaepo4she -9825 augaeb3phiu6zoh9ahP8nau7eeGaijua -9826 Ob5quohLawu2ohph0fah1shoow1OoYe8 -9827 ooguSieph1aif1IWo3HeiNoh2eithoCi -9828 eiY4ahroiphoShio0ikux1saeriquohN -9829 aeS4Shae9lae5jooN2Vooshaibee6ra2 -9830 EiJierifuu8oogha7ohghithee4Quood -9831 jah2eiquahthee6Deeno6un9ujieWo8h -9832 ukis6cood1ooj9oZoo2ahv5aidohiek7 -9833 aV0ail7ieg5ain1agaub9thocoo8joeB -9834 peQuee0quaphaeng9paefie2yiu0Aexa -9835 JiegaeFayaiJ2mae7iaw5UoheiT1Jai4 -9836 dee0ailom6Zi5ahh9pabaheo9Tai3sia -9837 huoxohBahpe9eghaig8nah7oole8ceid -9838 osh6quaiNahthaec5IeJoh3io5eing7H -9839 shu8Onei9roo4Ail3ze8shaWeepheGeb -9840 yeaze4mahz0ufae6Gohch0eegh3ahph7 -9841 shaith3BooQuoh5iGh1Woc1xah9chi0a -9842 ohdoph5jaingeel8ieNgiuD9euhohjuR -9843 Am9Gut6ro2cedeezeThedohnoo9laegh -9844 fahSoh0aibohng4eikaihai6vahje9We -9845 jeeghiephahx0chaimij5ke5aj4Ang5o -9846 dah1oph4uaph2ahshareeg0aiba4eiNg -9847 Yoo7YaeGao7eet1zah7aiP5iko9Aiyou -9848 aexay4queiJ2ahjov1theacoot8faeb8 -9849 aideibo4Tha8eiy1oesoo3nodeik7Cho -9850 aida6oushieghahng9pahPailoovee7d -9851 OohoojaiThaeyuud3ooLah8eeSee2ier -9852 aed3uVi3ongo9uoyohreijahpevufahm -9853 Phoo5uJie4buvoo6Eph1Pei7Ieth8eig -9854 ai1eicheimohboasae1oocooleexeiWa -9855 uubael8zie0woodee2Uv7VeibiZoPhef -9856 Cue3eVuci8ieboonaqu8shophohbaiwe -9857 eiMeijoofeil4oekaoch7iagook3op2c -9858 ahxeakei3jierotha5Mui5izohpu9Loo -9859 aeS8eucheepaing9yeeHeefei5hahphi -9860 ibae5oome8ahphahf3jeisaeQueilooL -9861 xoh2ae0oht7ooximuuZu8reQu2aroowe -9862 Mevae5ohtoh9Veeg2auk5ajaoVieg3ia -9863 PhuuHaePh1Eetohwaph7ru3chaemooMi -9864 pai0aigh4ooCeiC2nee4ahyooNequiej -9865 aixeiquie7phah5ahruoruas5quewaeD -9866 tahwai1quai4See1foqu4Wohgu2meeS4 -9867 ieloutoojooxeiw2oi9chee9iez1eiYo -9868 ahnaijou1phahsheic6ohViede9ahChi -9869 Aej5choop1eiThijigheekoxujeil5Li -9870 aeSh9io1Tooy6TahThei0vaicapheiko -9871 uyewujoh7eaghu5aekaaph6pheech7eW -9872 paixe7ieS4Aeweeth7Is7eaw3eidieW3 -9873 us3oh6ze8baht8Aej9ke2phiey4ora1o -9874 shiedoyiuci4Unie9oineengees3aifi -9875 ait3eayie5ieL7iengohh5ahtay8oosa -9876 liequ3ahf3saeVechul6beeZaeb2ahk3 -9877 eeluchuyoh2yohj9oZoo9ooshoagh6Za -9878 xohThi3ciN6eicuoKeeFenah6iKaiYai -9879 eepaix1ohkohheW2ihu6ge9aete4chah -9880 ohXi9iequieno5eeNeiceimee0kaz8ae -9881 VushePhie3shohmaeb3iiRa3eeshaenu -9882 iicai2eiquahsa6peiCie5chohnge1yi -9883 yaish5botheer5ae8taGaewooFae4EiN -9884 iet4eogea4Johmuo8NeiphaeYo9naeNg -9885 baeNgaquuyoagh3ahQuief3aag4Raimu -9886 ooph5OiWongiwoovoos0quoothahsh0b -9887 pe3WooZoo6ohcuetah7ueth1iequ8aeW -9888 boayoop2uBeipuTh1yairafoaphing7a -9889 ohGhuph9moh0Xah3thoh2obai2thaing -9890 oodohn8aib0oofah5DooqueeC4shui8l -9891 phui3QueemeedoequeiKaev3teVae7ie -9892 ePaith3ohc3ahmid0oom1uzooJ9Visei -9893 iYeege6Ul5Mew0eiy9ciFum9iep9mui7 -9894 Aithu6johNu9mu0io7OopaeN2quaing6 -9895 wo6dootoiToogueb6phohY5aiGh1zi4e -9896 euv2Oshoh5saexoh2eequ2Uqueibieyi -9897 iigu8eeyae5Ta9ewaht6iequahquaimu -9898 shise6eingeex4Sair5mohgh8VaBa7Vi -9899 DeitheZeiT9koh0caf6ahr8ieShaiboh -9900 cho3ooDah9ievees7ias1naep4Ut2Rai -9901 akahcheeshoh7Ahkohbi0xa8Zae2eire -9902 Chahg9aepequaifoo4PhuagheiDeekiH -9903 zeeSumah5zooLo4eitohKainahruewee -9904 Poh5uShaequ8mie3quoorah4IengieNg -9905 Ooghea1ieWaip2aedoh9neCheemaich4 -9906 eiBooz2Ooka7su9heegh8oe3UMahY1th -9907 esae3Wail9ocahvap6xooD6nefipoor2 -9908 eique6oozieleew9eilee5WairaaNgoh -9909 cien1thoth1uwalae8eephiew9AhRaiL -9910 quohp3Teijahwah8eeJ9ooth1cheiNgu -9911 PhooThie7aeyaungei7aeK2jahnohghe -9912 eef2evaikungewiex5eev8Oesheeweet -9913 Uogheeth5aijoo1geilee6asau2iexee -9914 rahveihaChuu1roo4TheiFebingeeS3a -9915 ohahx2uxaegiengoChohwee9Pha0Jeze -9916 iesaw8oom0caimuil6thahza7LaeSuot -9917 ahpejadegahthochek9ooghae0Mah9ah -9918 eeRohk4ohFezieng6pee4aeQuenaemi0 -9919 zeeShiet3fieSh9Wo7bahsohpohs7She -9920 gaez0ieCh4eiNgae3keifu6ahsh1suo0 -9921 Yosheiv2PaeghuYek8laem6sheev2Daf -9922 bee3aing2choo9shath7eeSooxahn2wu -9923 Oubeiphaeleeree5EiyeePh7be1eu4ru -9924 nohCohshai3ieba1Yei1aequougoo3ch -9925 pheeLai1thah2loh4Dei7leidoxeifib -9926 eemai4uPhae2Taghi8ohK5tohch0Foc5 -9927 ud1woo3gai8Jeicoiw7iing5TahCha3g -9928 AhJ0iez9uohoomaeDea8veiNohK1Eibo -9929 paiGheeHeegeij2rei0caiqu6toothah -9930 xoo3Eisaech7ajeiw2eeC9uangoh6ahx -9931 raeShahjipooBah3quaitookeichuha2 -9932 Ueph5ioqueelairuphuu8eeZai7Eido2 -9933 phah1EequeiMeiThio2ahch6wod1phoh -9934 Xohth2phootaiBeiki7dohroo8quaiwi -9935 aezas5ahtooboPhiequee5eece0iewoo -9936 Eeth8zacahngoof1goo8quaifooghoh4 -9937 Ohxie2giem7pheiv6hahXo0Uza7quie6 -9938 rie3ei9Maicae2ohbehee6eeGh6ahm1i -9939 ieB4zeishiu4Vai3gayeiJeigaethodi -9940 Uu0eiy9iayezahvei1eimuwae0zai2Oh -9941 deuGohl8uphiey0eopei4Iechoh3Omoh -9942 Ietoishoosh0foh4aedej5aegaiGh4ie -9943 eim5maechah2Daevai7UaphoofiNgee2 -9944 OhPh8eech4doh8shieChe4queeveiwe7 -9945 yie0gahW9FouC1Ahria1WaqueGh4Aeta -9946 phiBaiJee2aHaebahbuali2Ziphaequi -9947 shooxaVoodoo8kun6aaNg8ooph0unoon -9948 ies7eeCeiwe2Lowae3aho9Ohqueisheo -9949 Cheefienohqu7eing5oW5aisie6Kae5f -9950 shuch6eemaigaijahy2ih4Eefe6uog7u -9951 Feiyie4ZieVaequooDahsha2cho6aiLa -9952 ib8joceang8eex4Iesahz6deeCai6roh -9953 zoh1aeZ1Ooghaepheij3Ahfo9ti8dai2 -9954 eeJ6reig3hei1ohpeicaimeibo2xah3n -9955 Aim4shoofeiDeerigheepaeghoo7with -9956 dofai4queeJie0ied3queiweijie9eef -9957 Ri4oegheeroaree3Thoo8hu2eic6deim -9958 AexaiShaTooLai7joh1eip1Aihahghe2 -9959 eiF5gah3phei0cei5eej3shex7ashoav -9960 thee8uijiwo9weidi2pae1ooGughenge -9961 veem0ahgo2eZaej3Poh1Urae4Quu1aev -9962 gooj3phep9shoRoh0ahmu3oojae1ood6 -9963 reeghae4juaGiesae9tae5mou0baeCal -9964 ThohboFeothahyaiRoa0uotohChu4eDu -9965 neuVa5EiShae8ziexaiGhahPhah8Yoh9 -9966 Ephie5oonuZaiv0ooliLiNengeenief7 -9967 eeThah9kooz7EequoosheeWishi4AhGe -9968 ooxeophaeV0ne8eekeip9ooQua8thiey -9969 ie7aeThoo1yam5eiCh5po5foo9ieNgof -9970 xieth9Jo9aziez6eeTizaiMiecae7nib -9971 Ooshaequooqua4baixeethai3aghohfe -9972 ramooQuae0Lahrievoh0Eb7azoa4yama -9973 Equah8eaweitho3xoapheishaengoh5g -9974 xeith0ooWohv0eiha7thoquiego0sa0u -9975 aich2oopoh8queetaeth8thohhiY1Ie5 -9976 iek3hia1Quaiheu8xuVee5xaekiep5al -9977 Eixa6shie9daoChaidohShoaVoo1xuXu -9978 Ahlee8yo5Upie6sosaiX7eekeidohzuu -9979 uomeequai8ahque7DooJo2aePe9voogh -9980 aiBae8SahshohvooLu5ieh9thook4toh -9981 engei0Iekae4ie1phaigh8shefeiPhuo -9982 bo2Oagh7quah5oa2sahngethoh8teTah -9983 pheeleejohqu9wooSh7aeboPoolieVah -9984 ohxeeSheetah1aoquahzeegie7chee2g -9985 meeJieBaes2ung1igohh3yaizievahqu -9986 leivinohx6jaeQuief8eteetheiwaexi -9987 HeinohBeeP1kiexis8Reop3ap8uj1hie -9988 naidai3Shienoh6aicooN3euseejah1F -9989 yoa0EoPhohsohgh8chehul1chaighohf -9990 juoY7aSieDaing9zohK8aep2chaingoS -9991 eisie8feizahNiedoodoh4oXeecohr8g -9992 eej9fiechi3Vee9shie6yeejeich6pho -9993 Doch2neelahpheiduquaiChee3ii0Aj0 -9994 juev0Ro4lei7EiYui7Kuqu9vaimeep6E -9995 eirie5ipu5xai8Bipheith9Ti0thuth0 -9996 EeghiedaeThiuleeCiyeitieS5mieNg2 -9997 Io7ahm8eis0eich2nohh2uphe5uTh8Uz -9998 oa4aeWahl0iev8Jie9Eika9eiwa0aing -9999 aeTaxooJ0aiy0aek7aekahMoh2Athoh8 -10000 thu9aen4ouwuquoodee8mah0oxaePah9 diff --git a/20220512/ad-20220512.txt b/20220512/ad-20220512.txt deleted file mode 100644 index 926dc0b57bb3fbed6d4e15db69988b48e1322c6d..0000000000000000000000000000000000000000 --- a/20220512/ad-20220512.txt +++ /dev/null @@ -1,126 +0,0 @@ -Buch zu Steganographie: -https://link.springer.com/content/pdf/10.1007/978-981-15-0751-9.pdf -Steganographie-Software: -https://github.com/DominicBreuker/stego-toolkit - -Diffie-Hellman-Schlüsselaustausch: -https://de.wikipedia.org/wiki/Diffie-Hellman-Schl%C3%BCsselaustausch - -Prior art für Anwendung in der Steganographie: -https://www.researchgate.net/publication/325206752_Diffie-Hellman_Key_Exchange_through_Steganographied_Images - -Diffie-Hellman-Schlüsselaustausch, 12.05.2022, 12:48:11 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Situation: Kommunikation ist nur öffentlich möglich. -Ziel: Sich auf einen gemeinsamen geheimen Schlüssel einigen. -Lösungsidee: asymmetrische Verschlüsselung, öffentliche Schlüssel - -Grundprinzip: Irgendetwas ist mathematisch schwieriger als etwas anderes. -Hier: Der Logarithmus ist schwieriger zu berechnen als die Potenz. -Beispiel: 7^5 = 16807 kann ich mit Papier und Bleistift berechnen. - Für den Logarithmus von 16807 zur Basis 7 hätte ich lieber - einen Computer. -Im Computer: 100stellige Zahlen; wir rechnen modulo einer Primzahl p. - -Alice denkt sich eine Zahl a aus --> ihr geheimer Schlüssel. -Bob denkt sich eine Zahl b aus --> sein geheimer Schlüssel. -Beide einigen sich auf eine - öffentliche - gemeinsame Zahl g -(und auf dieselbe Primzahl p). -(Achtung: g ist nicht zufällig, sondern < p und idealerweise -ein Erzeuger (Generator) der zyklischen Gruppe Z_p.) - - Alice schickt g^a (mod p) an Bob. - Bob schickt g^b (mod p) an Alice. - - Beide berechnen g^(a · b) = (g^a)^b = (g^b)^a --> gemeinsamer geheimer Schlüssel - -Praktische Umsetzung in der Steganographie: -Alice schickt an Bob ein Katzenbild, das die unverschlüsselten Zahlen g, p und g^a (mod p) enthält. -Dies sind einfach nur drei zufällig wirkende Zahlen. -Ein Geheimdienst kann daraus nicht erkennen, daß ein Schlüsselaustausch stattfindet. - -Hauptproblem: Die Gesprächspartner müssen sich vorher auf die Software einigen. -Dabei kann im Prinzip auch bereits der Schlüsselaustausch stattfinden. - -OT: https://www.proforhobo.com/ - https://phdcomics.com/comics/archive.php?comicid=1446 - -Lösungsideen für Hauptproblem: - - Ein Flüchtling nimmt eine Brieftaube mit. - Falls die Brieftaube abgefangen wird, ist weder Sender noch Empfänger bekannt. - OT: https://de.wikipedia.org/wiki/Internet_Protocol_over_Avian_Carriers - https://de.wikipedia.org/wiki/Brieftaube - https://en.wikipedia.org/wiki/War_pigeon - - Gemeinsame Erinnerungen - - Einfach versuchen, Kontakt aufzunehmen. Die Software merkt, ob eine Antwort kommt. - -Verbergen der Steganographie-Software: - - Easter-Egg in bekannter Software, z.B. Schachprogramm, Wetter-App, Terminkalender - wird vom Benutzer selbst konfiguriert, z.B. spezielle Schachzüge, - spezielle Stadt eingeben oder auf Wolken klicken, speziellen Namen eingeben - - Dies hilft gegen einen flüchtigen Blick, aber nicht gegen eine gezielte Suche - OT: https://embeddedsw.net/OpenPuff_Steganography_Home.html - https://xkcd.com/538/ - -Man-in-the-middle-Angriff: - - Alice schickt g^a (mod p) an Bob. Mallory fängt die Nachricht ab. - Mallory überlegt sich ein eigenes a --> a' und schickt g^a' an Bob. - - Bob schickt g^b (mod p) an Alice. Mallory fängt die Nachricht ab. - Mallory überlegt sich ein eigenes b --> b' und schickt g^b' an Alice. - - Alle berechnen g^(a · b) = (g^a)^b = (g^b)^a --> gemeinsamer geheimer Schlüssel - - Bob schickt eine Nachricht - vermeintlich - an Alice; diese landet aber in - Wirklichkeit bei Mallory. Mallory entschlüsselt die Nachricht, verschlüsselt - sie neu für Alice und schickt sie danach erst weiter. - - Die muß zum Zeitpunkt des (ersten) Schlüsselaustausches passieren. - - Unwirksame Maßnahme gegen Man-in-the-middle-Angriff: - Im Inhalt der Nachricht persönliche Fragen stellen. - Damit kann man leider weder das Mitlesen noch das Manipulieren aufdecken. - --> unwirksam - - Wirksame Maßnahme gegen Man-in-the-middle-Angriff: - Superöffentlicher Schlüsselaustausch: - Den öffentlichen Schlüssel (hier: g^a) so weit wie möglich verbreiten. - Beispiel: Der Heise-Verlag veröffentlicht in jeder gedruckten c't - seinen öffentlichen Schlüssel. - -Problem: Der Schlüsselaustausch wird abgefangen. - Wie kann man verbergen, daß überhaupt ein Schlüsselaustausch stattfindet? - -Idee: Wir schicken eine Zufallsfolge von Zahlen. - Wieviele Bits müssen wir versenden? - z.B. Schlüssel mit 2048 Bits, 3 Zahlen --> 3 Zahlen à 2048 Bit - 1. Versuch: - - Sende 12 Bit (Zahl von 0 bis 4095): Länge der Zahl. - - Sende die Zahl selbst. - - Nächste Zahl. - Problem: Das fällt auf. - 2. Versuch: - - Wie oben, aber wir senden zusätzlich "zu kurze" Zufallszahlen, - z.B. 13 Bit, 700 Bit, 2039 Bit, 3 Bit, 3048 Bit, 3770 Bit, 12 Bit - Der Algorithmus extrahiert diejenigen, die passende Größen haben. - Problem: Die 12-Bit-Zahlen könnten auffallen (viele 0-Bits). - 3. Versuch: - - Die 12-Bit-Zahlen komprimieren, z.B.: - zuerst 4 Bit mit der Länge der Längen-Zahl (z.B. 3 für 8-Bit-Länge), - danach erst die eigentliche Länge. - Beispiel: Ich möchte eine 15-Bit-Zufallszahl versenden. - Die Zahl 15 selbst hat 4 Bit. - Kodierung: - 0 1 0 0 1 1 1 1 x x x x x x x x x x x x x x x - `--v--' `--v--' `-------------v-------------' - 4 (fest) 15 Zufallszahl - Problem: 3 etwa gleich lange Zahlen könnten auffallen, - insbesondere dann, wenn die ersten zwei Primzahlen sind - und die dritte nicht. - - Problem: Wenn unser Zufall "zu gut" ist, fällt er auf, - da die LSBs in Bildern nicht 100% zufällig sind. - 5. Versuch: ... - -https://en.wikipedia.org/wiki/Steganalysis diff --git a/20220512/break-01.c b/20220512/break-01.c deleted file mode 100644 index 418effae677a3abd1d5947cabd4825d240b4c41a..0000000000000000000000000000000000000000 --- a/20220512/break-01.c +++ /dev/null @@ -1,9 +0,0 @@ - for (int i = 0; i < m; i++) - { - if (x[i] == 42) - { - do_something_with (i); - break; - } - } - do_whatever (); diff --git a/20220512/break-02.c b/20220512/break-02.c deleted file mode 100644 index f2cbdab47b2d90986bb1531c28289e86f0837351..0000000000000000000000000000000000000000 --- a/20220512/break-02.c +++ /dev/null @@ -1,9 +0,0 @@ - int i; - for (i = 0; i < m; i++) - { - if (x[i] == 42) - break; - } - if (x[i] == 42) - do_something_with (i); - do_whatever (); diff --git a/20220512/break-03.c b/20220512/break-03.c deleted file mode 100644 index 8c3cf584f26197c4d2570ad02484eea390c59df2..0000000000000000000000000000000000000000 --- a/20220512/break-03.c +++ /dev/null @@ -1,10 +0,0 @@ - int i = 0; - while (i < m) - { - if (x[i] == 42) - break; - i++; - } - if (x[i] == 42) - do_something_with (i); - do_whatever (); diff --git a/20220512/break-04.c b/20220512/break-04.c deleted file mode 100644 index a43fbe1971f0839665ca8bd2c48ae168c529db1d..0000000000000000000000000000000000000000 --- a/20220512/break-04.c +++ /dev/null @@ -1,6 +0,0 @@ - int i = 0; - while (i < m && x[i] != 42) - i++; - if (i < m) - do_something_with (i); - do_whatever (); diff --git a/20220512/break-05.c b/20220512/break-05.c deleted file mode 100644 index 9e4d5293a1ad7064b75f93682bd0dfca4b938642..0000000000000000000000000000000000000000 --- a/20220512/break-05.c +++ /dev/null @@ -1,7 +0,0 @@ - int i = 0; - int found = 0; - while (i < m && !(found = x[i] == 42)) - i++; - if (found) - do_something_with (i); - do_whatever (); diff --git a/20220512/break-06.c b/20220512/break-06.c deleted file mode 100644 index fc74b9ef90b35bd12335c0f0e8b35e73e74d7388..0000000000000000000000000000000000000000 --- a/20220512/break-06.c +++ /dev/null @@ -1,10 +0,0 @@ - int i = 0; - int found = i < m && x[i] == 42; - while (i < m && !found) - { - i++; - found = x[i] == 42; - } - if (found) - do_something_with (i); - do_whatever (); diff --git a/20220512/break-07.c b/20220512/break-07.c deleted file mode 100644 index f7f9f17dcc1b96d2820cf1eac6c8874ace37d5cd..0000000000000000000000000000000000000000 --- a/20220512/break-07.c +++ /dev/null @@ -1,11 +0,0 @@ - int i = 0; - int found = 0; - while (i < m && !found) - { - found = x[i] == 42; - if (!found) - i++; - } - if (found) - do_something_with (i); - do_whatever (); diff --git a/20220512/break-08.c b/20220512/break-08.c deleted file mode 100644 index c5067ebc62fe5d9064bdd9c6848480c29b5678b6..0000000000000000000000000000000000000000 --- a/20220512/break-08.c +++ /dev/null @@ -1,11 +0,0 @@ - int i = 0; - int found = -1; - while (i < m && found < 0) - { - if (x[i] == 42) - found = i; - i++; - } - if (found >= 0) - do_something_with (found); - do_whatever (); diff --git a/20220512/break-09.c b/20220512/break-09.c deleted file mode 100644 index 51adac9f5ff4955229f1505b0ef21c5c7f252a92..0000000000000000000000000000000000000000 --- a/20220512/break-09.c +++ /dev/null @@ -1,11 +0,0 @@ - int i = 0; - foo *found = NULL; - while (i < m && !found) - { - if (x[i] == 42) - found = y[i]; - i++; - } - if (found) - do_something_with (found); - do_whatever (); diff --git a/20220512/good-code-01.c b/20220512/good-code-01.c deleted file mode 100644 index b151f53228f61d51cb7a573a77ce4a3e17673cbb..0000000000000000000000000000000000000000 --- a/20220512/good-code-01.c +++ /dev/null @@ -1,18 +0,0 @@ - while (1) { - c = -1; - next = 0; - i = NR_TASKS; - p = &task[NR_TASKS]; - while (--i) { - if (!*--p) - continue; - if ((*p)->state == TASK_RUNNING && (*p)->counter > c) - c = (*p)->counter, next = i; - } - if (c) break; - for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) - if (*p) - (*p)->counter = ((*p)->counter >> 1) + - (*p)->priority; - } - switch_to(next); diff --git a/20220512/good-code-02.c b/20220512/good-code-02.c deleted file mode 100644 index 8e717e7d62cde5e6c451c748cde798d6f9d1bff1..0000000000000000000000000000000000000000 --- a/20220512/good-code-02.c +++ /dev/null @@ -1,18 +0,0 @@ - while (1) { - c = -1; - next = 0; - i = NR_TASKS; - p = &task[NR_TASKS]; - while (--i) { - if (*--p) { - if ((*p)->state == TASK_RUNNING && (*p)->counter > c) - c = (*p)->counter, next = i; - } - } - if (c) break; - for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) - if (*p) - (*p)->counter = ((*p)->counter >> 1) + - (*p)->priority; - } - switch_to(next); diff --git a/20220512/good-code-03.c b/20220512/good-code-03.c deleted file mode 100644 index da9d70b19b0bbf7acd679eb2dd6be888d1a35281..0000000000000000000000000000000000000000 --- a/20220512/good-code-03.c +++ /dev/null @@ -1,16 +0,0 @@ - while (1) { - c = -1; - next = 0; - i = NR_TASKS; - p = &task[NR_TASKS]; - while (--i) { - if (*--p && (*p)->state == TASK_RUNNING && (*p)->counter > c) - c = (*p)->counter, next = i; - } - if (c) break; - for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) - if (*p) - (*p)->counter = ((*p)->counter >> 1) + - (*p)->priority; - } - switch_to(next); diff --git a/20220512/good-code-04.c b/20220512/good-code-04.c deleted file mode 100644 index e13f8251ae4c84bcb3e77a21dc0b0ed26579426c..0000000000000000000000000000000000000000 --- a/20220512/good-code-04.c +++ /dev/null @@ -1,17 +0,0 @@ - while (1) { - c = -1; - next = 0; - i = NR_TASKS; - p = &task[NR_TASKS]; - while (--i) { - if (*--p - && (*p)->state == TASK_RUNNING && (*p)->counter > c) - c = (*p)->counter, next = i; - } - if (c) break; - for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) - if (*p) - (*p)->counter = ((*p)->counter >> 1) + - (*p)->priority; - } - switch_to(next); diff --git a/20220512/good-code-05.c b/20220512/good-code-05.c deleted file mode 100644 index c509d503495125a9d8876ad7edb99a5180020179..0000000000000000000000000000000000000000 --- a/20220512/good-code-05.c +++ /dev/null @@ -1,20 +0,0 @@ - while (1) { - c = -1; - next = 0; - i = NR_TASKS; - p = &task[NR_TASKS]; - while (--i) { - if (*--p - && (*p)->state == TASK_RUNNING && (*p)->counter > c) - c = (*p)->counter, next = i; - } - if (c) - break; - else { - for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) - if (*p) - (*p)->counter = ((*p)->counter >> 1) + - (*p)->priority; - } - } - switch_to(next); diff --git a/20220512/mathe-20220512-01-gruppen.png b/20220512/mathe-20220512-01-gruppen.png deleted file mode 100644 index 17f4eb73ac374c70800c495bf829aca86a2564ae..0000000000000000000000000000000000000000 Binary files a/20220512/mathe-20220512-01-gruppen.png and /dev/null differ diff --git a/20220512/mathe-20220512-02-z5.png b/20220512/mathe-20220512-02-z5.png deleted file mode 100644 index ecd56510334466f6f32e5d73d6e6b268917d158a..0000000000000000000000000000000000000000 Binary files a/20220512/mathe-20220512-02-z5.png and /dev/null differ diff --git a/20220512/mathe-20220512-03-diskreter-logarithmus.png b/20220512/mathe-20220512-03-diskreter-logarithmus.png deleted file mode 100644 index 8f1466e8a78055a9703bd6588db9f2b849d8d30d..0000000000000000000000000000000000000000 Binary files a/20220512/mathe-20220512-03-diskreter-logarithmus.png and /dev/null differ diff --git a/20220512/mathe-20220512-04-rsa.png b/20220512/mathe-20220512-04-rsa.png deleted file mode 100644 index f93455c175267402b531667d6f5eb3c6b833561e..0000000000000000000000000000000000000000 Binary files a/20220512/mathe-20220512-04-rsa.png and /dev/null differ diff --git a/20220512/mathe-20220512-05-rsa-knacken.png b/20220512/mathe-20220512-05-rsa-knacken.png deleted file mode 100644 index 997ff6a2a77899a56346bfd2d762a551ec86985f..0000000000000000000000000000000000000000 Binary files a/20220512/mathe-20220512-05-rsa-knacken.png and /dev/null differ diff --git a/20220512/mathe-20220512.xcf.gz b/20220512/mathe-20220512.xcf.gz deleted file mode 100644 index ef0a6c46737e58295f835eb33b817698590043ea..0000000000000000000000000000000000000000 Binary files a/20220512/mathe-20220512.xcf.gz and /dev/null differ diff --git a/20220512/sched.c b/20220512/sched.c deleted file mode 100644 index 03399faa2a77570c0ad25fafa66cefb89b3659c0..0000000000000000000000000000000000000000 --- a/20220512/sched.c +++ /dev/null @@ -1,254 +0,0 @@ -/* - * 'sched.c' is the main kernel file. It contains scheduling primitives - * (sleep_on, wakeup, schedule etc) as well as a number of simple system - * call functions (type getpid(), which just extracts a field from - * current-task - */ -#include <linux/sched.h> -#include <linux/kernel.h> -#include <signal.h> -#include <linux/sys.h> -#include <asm/system.h> -#include <asm/io.h> -#include <asm/segment.h> - -#define LATCH (1193180/HZ) - -extern void mem_use(void); - -extern int timer_interrupt(void); -extern int system_call(void); - -union task_union { - struct task_struct task; - char stack[PAGE_SIZE]; -}; - -static union task_union init_task = {INIT_TASK,}; - -long volatile jiffies=0; -long startup_time=0; -struct task_struct *current = &(init_task.task), *last_task_used_math = NULL; - -struct task_struct * task[NR_TASKS] = {&(init_task.task), }; - -long user_stack [ PAGE_SIZE>>2 ] ; - -struct { - long * a; - short b; - } stack_start = { & user_stack [PAGE_SIZE>>2] , 0x10 }; -/* - * 'math_state_restore()' saves the current math information in the - * old math state array, and gets the new ones from the current task - */ -void math_state_restore() -{ - if (last_task_used_math) - __asm__("fnsave %0"::"m" (last_task_used_math->tss.i387)); - if (current->used_math) - __asm__("frstor %0"::"m" (current->tss.i387)); - else { - __asm__("fninit"::); - current->used_math=1; - } - last_task_used_math=current; -} - -/* - * 'schedule()' is the scheduler function. This is GOOD CODE! There - * probably won't be any reason to change this, as it should work well - * in all circumstances (ie gives IO-bound processes good response etc). - * The one thing you might take a look at is the signal-handler code here. - * - * NOTE!! Task 0 is the 'idle' task, which gets called when no other - * tasks can run. It can not be killed, and it cannot sleep. The 'state' - * information in task[0] is never used. - */ -void schedule(void) -{ - int i,next,c; - struct task_struct ** p; - -/* check alarm, wake up any interruptible tasks that have got a signal */ - - for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) - if (*p) { - if ((*p)->alarm && (*p)->alarm < jiffies) { - (*p)->signal |= (1<<(SIGALRM-1)); - (*p)->alarm = 0; - } - if ((*p)->signal && (*p)->state==TASK_INTERRUPTIBLE) - (*p)->state=TASK_RUNNING; - } - -/* this is the scheduler proper: */ - - while (1) { - c = -1; - next = 0; - i = NR_TASKS; - p = &task[NR_TASKS]; - while (--i) { - if (!*--p) - continue; - if ((*p)->state == TASK_RUNNING && (*p)->counter > c) - c = (*p)->counter, next = i; - } - if (c) break; - for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) - if (*p) - (*p)->counter = ((*p)->counter >> 1) + - (*p)->priority; - } - switch_to(next); -} - -int sys_pause(void) -{ - current->state = TASK_INTERRUPTIBLE; - schedule(); - return 0; -} - -void sleep_on(struct task_struct **p) -{ - struct task_struct *tmp; - - if (!p) - return; - if (current == &(init_task.task)) - panic("task[0] trying to sleep"); - tmp = *p; - *p = current; - current->state = TASK_UNINTERRUPTIBLE; - schedule(); - if (tmp) - tmp->state=0; -} - -void interruptible_sleep_on(struct task_struct **p) -{ - struct task_struct *tmp; - - if (!p) - return; - if (current == &(init_task.task)) - panic("task[0] trying to sleep"); - tmp=*p; - *p=current; -repeat: current->state = TASK_INTERRUPTIBLE; - schedule(); - if (*p && *p != current) { - (**p).state=0; - goto repeat; - } - *p=NULL; - if (tmp) - tmp->state=0; -} - -void wake_up(struct task_struct **p) -{ - if (p && *p) { - (**p).state=0; - *p=NULL; - } -} - -void do_timer(long cpl) -{ - if (cpl) - current->utime++; - else - current->stime++; - if ((--current->counter)>0) return; - current->counter=0; - if (!cpl) return; - schedule(); -} - -int sys_alarm(long seconds) -{ - current->alarm = (seconds>0)?(jiffies+HZ*seconds):0; - return seconds; -} - -int sys_getpid(void) -{ - return current->pid; -} - -int sys_getppid(void) -{ - return current->father; -} - -int sys_getuid(void) -{ - return current->uid; -} - -int sys_geteuid(void) -{ - return current->euid; -} - -int sys_getgid(void) -{ - return current->gid; -} - -int sys_getegid(void) -{ - return current->egid; -} - -int sys_nice(long increment) -{ - if (current->priority-increment>0) - current->priority -= increment; - return 0; -} - -int sys_signal(long signal,long addr,long restorer) -{ - long i; - - switch (signal) { - case SIGHUP: case SIGINT: case SIGQUIT: case SIGILL: - case SIGTRAP: case SIGABRT: case SIGFPE: case SIGUSR1: - case SIGSEGV: case SIGUSR2: case SIGPIPE: case SIGALRM: - case SIGCHLD: - i=(long) current->sig_fn[signal-1]; - current->sig_fn[signal-1] = (fn_ptr) addr; - current->sig_restorer = (fn_ptr) restorer; - return i; - default: return -1; - } -} - -void sched_init(void) -{ - int i; - struct desc_struct * p; - - set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss)); - set_ldt_desc(gdt+FIRST_LDT_ENTRY,&(init_task.task.ldt)); - p = gdt+2+FIRST_TSS_ENTRY; - for(i=1;i<NR_TASKS;i++) { - task[i] = NULL; - p->a=p->b=0; - p++; - p->a=p->b=0; - p++; - } - ltr(0); - lldt(0); - outb_p(0x36,0x43); /* binary, mode 3, LSB/MSB, ch 0 */ - outb_p(LATCH & 0xff , 0x40); /* LSB */ - outb(LATCH >> 8 , 0x40); /* MSB */ - set_intr_gate(0x20,&timer_interrupt); - outb(inb_p(0x21)&~0x01,0x21); - set_system_gate(0x80,&system_call); -} diff --git a/20220519/Zeichen_123.pdf b/20220519/Zeichen_123.pdf deleted file mode 120000 index fdbc897227df059cfda790a16555e6e417682116..0000000000000000000000000000000000000000 --- a/20220519/Zeichen_123.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/Zeichen_123.pdf \ No newline at end of file diff --git a/20220519/ad-20220519.pdf b/20220519/ad-20220519.pdf deleted file mode 100644 index 8cd07895de9efb0b89b0ba3be94a51c1cf2f9ad4..0000000000000000000000000000000000000000 Binary files a/20220519/ad-20220519.pdf and /dev/null differ diff --git a/20220519/ad-20220519.tex b/20220519/ad-20220519.tex deleted file mode 100644 index 36d2244565debb129cf0cb9420f3c37d1ee1caf8..0000000000000000000000000000000000000000 --- a/20220519/ad-20220519.tex +++ /dev/null @@ -1,218 +0,0 @@ -% ad-20220519.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ -% Copyright (C) 2018, 2019, 2020, 2021, 2022 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: Gruppen, Ringe, Körper - -\documentclass[10pt,t]{beamer} - -\usepackage{pgslides} -\usepackage{tikz} -\usepackage{rotating} - -\newcommand{\underconstruction}{% - \begin{picture}(0,0) - \color{black} - \put(7.5,-2.2){\makebox(0,0)[b]{\includegraphics[width=1.5cm]{Zeichen_123.pdf}}} - \put(7.5,-2.5){\makebox(0,0)[t]{\shortstack{Änderungen\\vorbehalten}}} - \end{picture}} - -\title{Algorithmen und Datenstrukturen in C/C++} -\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski} -\date{19.\ Mai 2022} - -\begin{document} - -\maketitleframe - -\nosectionnonumber{\inserttitle} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} - \underconstruction - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{2}] \textbf{Einführung in C++} - \item[\textbf{3}] \textbf{Datenkodierung} -% \begin{itemize} -% \item Fehlererkennung und -korrektur -% \item Kompression -% \item Kryptographie -% \end{itemize} - \item[\textbf{4}] \textbf{Datenorganisation} -% \begin{itemize} -% \item Listen, Bäume, Hash-Tabellen, \dots -% \end{itemize} - \item[\textbf{5}] \textbf{Hardwarenahe Algorithmen} -% \begin{itemize} -% \item FFT, CORDIC, \dots -% \end{itemize} - \item[\textbf{6}] \textbf{Optimierung} -% \begin{itemize} -% \item Wegfindung, \dots -% \end{itemize} - \color{gray} - \item[\textbf{7}] \textbf{Numerik} - \end{itemize} - -\end{frame} - -\setcounter{section}{2} -\section{Datenkodierung} -\subsectionnonumber{\boldmath 3.$(x^2 - 1)$\quad Der Herr der Ringe: Manchmal ist $1 + 1 = 0$.} -\subsubsectionnonumber{\boldmath 3.$(x^2 - 1).x$\quad Motivation} - -\begin{frame} - - \showsection - \pause - \showsubsectionnonumber - \pause - \showsubsubsectionnonumber - - Man kann auch mit sehr merkwürdigen Objekten\\ - wie mit "`ganz normalen"' Zahlen rechnen. - - \pause - \bigskip - - Anwendungen: - \begin{itemize} - \item Funktionsweise von Computern (\textarrow\ Rechnertechnik) - \item Fehlererkennung - \item Fehlerkorrektur - \item Verschlüsselung - \item Digitale Signaturen - \end{itemize} - -\end{frame} - -\subsubsectionnonumber{\boldmath 3.$(x^2 - 1).(x + 1)$\quad Gruppen} - -\begin{frame} - - \showsection - \showsubsectionnonumber - \showsubsubsectionnonumber - - \textbf{Definition:} - Sei $G$ eine Menge, $*$ eine Verknüpfung auf $G$. - Wenn - \begin{itemize} - \item - $\forall a, b, c \in G$: $(a * b) * c = a * (b * c)$ \quad (Assoziativgesetz), - \item - $\exists e \in G$: $\forall a \in G$: $a * e = e * a = a$ \quad (neutrales Element), - \item - $\forall a \in G$: $\exists a^{-1} \in G$: $a * a^{-1} = a^{-1} * a = e$ \quad (inverses Element), - \end{itemize} - dann heißt $(G,*)$ eine \newterm{Gruppe}. - - \pause - \bigskip - - \textbf{Definition:} - Sei $(G,*)$ eine Gruppe. - Wenn zusätzlich - \begin{itemize} - \item - $\forall a, b \in G$: $a * b = b * a$ \quad (Kommutativgesetz), - \end{itemize} - dann heißt $(G,*)$ eine \newterm{kommutative Gruppe}. - -\end{frame} - -\subsubsectionnonumber{\boldmath 3.$(x^2 - 1).(x + 2)$\quad Ringe} - -\begin{frame} - -% \showsection - \showsubsectionnonumber - \showsubsubsectionnonumber - - \textbf{Definition:} - Sei $R$ eine Menge; seien $+$ und $\cdot$ Verknüpfungen auf $R$. - Wenn - \begin{itemize} - \item - $(R,+)$ eine kommutative Gruppe ist, - \item - $\forall a, b, c \in R$: $(a \cdot b) \cdot c = a \cdot (b \cdot c)$ \quad (Assoziativgesetz), - \item - $\forall a, b, c \in R$: $(a + b)\cdot c = a\cdot c + b\cdot c$ - und $a\cdot(b + c) = a\cdot b + a\cdot c$ \quad (Distributivgesetze), - \end{itemize} - dann heißt $(R,+,\cdot)$ ein \newterm{Ring}. - - \pause - \bigskip - - \textbf{Definition:} - Sei $(R,+,\cdot)$ ein Ring. - Wenn zusätzlich - \begin{itemize} - \item - $\forall a, b \in R$: $a \cdot b = b \cdot a$ \quad (Kommutativgesetz), - \end{itemize} - dann heißt $(R,+,\cdot)$ ein \newterm{kommutativer Ring}. - - \pause - \bigskip - - \textbf{Definition:} - Sei $(R,+,\cdot)$ ein (kommutativer) Ring. - Wenn zusätzlich - \begin{itemize} - \item - ein $e \in R$ existiert, so daß für alle $a \in R$ gilt: $a \cdot e = e \cdot a = a$\\ - (neutrales Element), - \end{itemize} - dann heißt $(R,+,\cdot)$ ein \newterm{(kommutativer) Ring mit 1}. - - \vspace*{-1cm} - -\end{frame} - -\subsubsectionnonumber{\boldmath 3.$(x^2 - 1).(x + 3)$\quad Körper} - -\begin{frame} - -% \showsection - \showsubsectionnonumber - \showsubsubsectionnonumber - - \textbf{Definition:} - Sei $K$ eine Menge; seien $+$ und $\cdot$ Verknüpfungen auf $K$. - Wenn - \begin{itemize} - \item - $(K,+,\cdot)$ ein Ring mit 1 ist und - \item - $(K \backslash \{0\},\cdot)$ eine kommutative Gruppe ist, - \end{itemize} - dann heißt $(K,+,\cdot)$ ein \newterm{Körper}. - -\end{frame} - -\end{document} diff --git a/20220519/ad-20220519.txt b/20220519/ad-20220519.txt deleted file mode 100644 index 1b7b3f76dee654b06b7dee25ca00d9599998f5e1..0000000000000000000000000000000000000000 --- a/20220519/ad-20220519.txt +++ /dev/null @@ -1,95 +0,0 @@ -Aufgabe -======= - -Implementieren Sie einen nichttrivialen Algorithmus -mit großen vorzeichenlosen ganzen Zahlen. - -"groß" = "größer als das, was der Computer normalerweise verarbeiten kann" - -Aufteilung in Teams: - - - Grundrechenarten (einschließlich modulo) mit großen Zahlen - - - Exponentiation modulo p --> Websuche - - - Faktorisierung mittels der Fermat-Methode - -Beispiele: - - - Faktorisierung der 7. Fermatschen Zahl - - - RSA - - - Diffie-Hellman, El-Gamal - - - Elliptische Kurven - -Damit sich die Teams nicht gegenseitig blockieren: - - - "Dummy"-Funktionen für 64-Bit-Zahlen schreiben, - um damit schon mal die Schnittstelle festzulegen. - - - Später dann die Dummy-Funktionen gegen die richtigen austauschen. - -Beispiel: - - Interface: - - void add (void *s1, void *s2, void *sum) - { - /* egal */ - } - - void init_number (uint64_t x, void *e) - { - /* egal */ - } - - Dummy-Implementierung: - - void add (void *s1, void *s2, void *sum) - { - uint64_t *ps1 = s1; - uint64_t *ps2 = s2; - uint64_t *psum = sum; - *psum = *ps1 + *ps2; - } - - void init_number (uint64_t x, void *e) - { - uint64_t *pe = e; - *pe + x; - } - - Ideen: - - - "Schriftlich" rechnen. - Jede Ziffer ist ein Array-Element, - z.B. eine Ziffer in einem String - oder eine Zahl von 0 bis 999999999 in einer 32-Bit-Zahl - oder eine 32-Bit-Zahl - oder eine 64-Bit-Zahl - ... - - - Dynamische Allozierung des Speichers: - Die Zeiger zeigen auf Objekte. - Die Zeiger auf die eigentlichen Daten sind in den Objekten enthalten. - - - Mit 32-Bit-Zahlen rechnen, - damit Überläufe noch durch den 64-Bit-Prozessor bearbeitet werden können. - -Teams: - - - RSA: Dominik Hasenburg, Leon Mensch - - - Grundrechenarten, Exponentiation: Simon Döring, Michael Edelmann, Leon Hänschke - -Ergänzung: - - heise.de, 1.6.2022: https://www.heise.de/-7096427 - - Schwache RSA-Schlüssel mit 380 Jahre altem Faktorisierungsalgorithmus knacken - - Drucker von Canon und Fujifilm benutzten eine fehlerhafte Krypto-Bibliothek: - Deren Schlüssel waren verwundbar gegenüber einem 380 Jahre alten Verfahren - [Fermat-Algorithmus]. diff --git a/20220519/logo-hochschule-bochum-cvh-text.pdf b/20220519/logo-hochschule-bochum-cvh-text.pdf deleted file mode 120000 index a05946126bc0ce6a2818740da2893f59eb0c659c..0000000000000000000000000000000000000000 --- a/20220519/logo-hochschule-bochum-cvh-text.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum-cvh-text.pdf \ No newline at end of file diff --git a/20220519/logo-hochschule-bochum.pdf b/20220519/logo-hochschule-bochum.pdf deleted file mode 120000 index b6b9491e370e499c9276918182cdb82cb311bcd1..0000000000000000000000000000000000000000 --- a/20220519/logo-hochschule-bochum.pdf +++ /dev/null @@ -1 +0,0 @@ -../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20220519/mathe-20220519-01-ringe.png b/20220519/mathe-20220519-01-ringe.png deleted file mode 100644 index 0ef2976c41e7fb2a1127d993d5b4acb825428acb..0000000000000000000000000000000000000000 Binary files a/20220519/mathe-20220519-01-ringe.png and /dev/null differ diff --git a/20220519/mathe-20220519-02-ringe.png b/20220519/mathe-20220519-02-ringe.png deleted file mode 100644 index 5d18320fb462799304d2321660e4abebc403cb53..0000000000000000000000000000000000000000 Binary files a/20220519/mathe-20220519-02-ringe.png and /dev/null differ diff --git a/20220519/mathe-20220519-03-koerper.png b/20220519/mathe-20220519-03-koerper.png deleted file mode 100644 index cf64ff51078d56207a91fdcca53e8322ef669af0..0000000000000000000000000000000000000000 Binary files a/20220519/mathe-20220519-03-koerper.png and /dev/null differ diff --git a/20220519/mathe-20220519-04-koerper.png b/20220519/mathe-20220519-04-koerper.png deleted file mode 100644 index eb786437f0632c64a6ed01c44520c25c3311ea48..0000000000000000000000000000000000000000 Binary files a/20220519/mathe-20220519-04-koerper.png and /dev/null differ diff --git a/20220519/mathe-20220519-05-koerper.png b/20220519/mathe-20220519-05-koerper.png deleted file mode 100644 index c1251895841c6b5b86356660a2f7c9773939b8d8..0000000000000000000000000000000000000000 Binary files a/20220519/mathe-20220519-05-koerper.png and /dev/null differ diff --git a/20220519/mathe-20220519-06-koerper.png b/20220519/mathe-20220519-06-koerper.png deleted file mode 100644 index 789d5469a6376c5a61dcb816fc85aaa01ac6a7b3..0000000000000000000000000000000000000000 Binary files a/20220519/mathe-20220519-06-koerper.png and /dev/null differ diff --git a/20220519/mathe-20220519.xcf.gz b/20220519/mathe-20220519.xcf.gz deleted file mode 100644 index 130f38c732ada5e921200568f0929f233479f67a..0000000000000000000000000000000000000000 Binary files a/20220519/mathe-20220519.xcf.gz and /dev/null differ diff --git a/20220519/pgslides.sty b/20220519/pgslides.sty deleted file mode 120000 index 5be1416f4216f076aa268901f52a15d775e43f64..0000000000000000000000000000000000000000 --- a/20220519/pgslides.sty +++ /dev/null @@ -1 +0,0 @@ -../common/pgslides.sty \ No newline at end of file diff --git a/20220609/ad-20220609.txt b/20220609/ad-20220609.txt deleted file mode 100644 index 995ca2747dba019aba7d1a5698963d3675fffd46..0000000000000000000000000000000000000000 --- a/20220609/ad-20220609.txt +++ /dev/null @@ -1,197 +0,0 @@ -Fehlererkennung und Fehlerkorrektur -=================================== - -Parität, 09.06.2022, 11:05:40 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Nachricht enthält n Datenbits und ein Paritäts-Bit. - - Ungerade Parität: Die Gesamtzahl der Eins-Bits muß ungerade sein. - ungerade Anzahl von Daten-1-Bits --> Paritäts-Bit muß 0 sein. - gerade Anzahl von Daten-1-Bits --> Paritäts-Bit muß 1 sein. - - Gerade Parität: Die Gesamtzahl der Eins-Bits muß gerade sein. - -Anders formuliert: Die n+1-Bit-Zahl aus den Datenbits und dem Paritäts-Bit - ... muß insgesamt ungerade/gerade sein. - = ... muß bei Division durch 2 einen vorgegebenen Rest liefern. - -Nachteil: nur 1 Bit-Fehler erkennbar - -Verbesserungsidee: durch etwas anderes teilen - -CRC, 09.06.2022, 11:05:27 -~~~~~~~~~~~~~~~~~~~~~~~~~ -Nachricht enthält n Datenbits und m Paritäts-Bits. - -Wir betrachten die n+m-Bit-Zahl als ein Polynom über { 0, 1 } (mod 2). - -CRC: Bei Polynomdivision muß ein vorgegebener Rest bleiben. - (Siehe "Tafelbild".) - ---> sehr zuverlässige Fehlererkennung, - sehr leicht zu implementieren, auch in Hardware - ---> nicht geeignet gegen gezielte Manipulation - -Kryptographische Hash-Funktionen, 09.06.2022, 13:02:24 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Spezielle Funktionen: Nur 1 Bit anders im Input --> völlig anderer Output - -Für digitale Signaturen: - - nicht mehr empfohlen: MD5 - - aktuell empfohlen: SHA-2 (= SHA-224, SHA-256, SHA-384 und SHA-512) - NICHT empfohlen für Passwort-Hashes - -Passwort-Hashes: - - Wir speichern Passwörter nicht im Klartext, sondern als Hashes. - Es ist nicht möglich, vom Hash auf das Passwort zu schließen. - - Authentifizierung: Der Server kennt das Passwort nicht, sondern nur den Hash. - Der Benutzer gibt das Passwort ein. - Der Server berechnet den Hash und prüft, ob dieser stimmt. - Er merkt sich insbesondere nicht das Passwort. - - Salt: Wir speichern eine zusätzliche Zufallszahl auf dem Server - und bilden den Hash über das Passwort zusammen mit der Zufallszahl. - - Man sieht nicht sofort, wenn Passwörter (zufällig) gleich sind. - - Man kann keine Hashes "auf Vorrat" anlegen. - Beispiel: - - Alle Benutzer verwenden Passwörter von 8 Zeichen Länge. - Dies entspricht etwa 8 * 6 = 48 Bits Zufall. - - Ein Angreifer berechnet "auf Vorrat" die Hashes aller 48-Bit-Zahlen. - - Aus einer versehentlich öffentlich gewordenen Tabelle ("Leak") - lassen sich leicht die Passwörter rekonstruieren. - - Gegenmaßnahme: Salt, z.B. 8 Bit - --> Die "Vorratstabelle" müßte dann nicht mehr "nur" alle 48-Bit-Zahlen - erfassen, sondern alle 56-Bit-Zahlen. - --> Obwohl das Salt bekannt ist (Teil der Tabelle), - erhöht es die Sicherheit. - - Problem mit SHA-2 als Passwort-Hash: - SHA-2 läßt sich schnell berechnen, insbesondere mit GPUs. - --> Durchprobieren riesiger Mengen von Passwörtern geht relativ schnell, - auch mit Salt. - Trotzdem hilft auch hier das Salt, denn es verhindert, - daß man mehrere Passwörter gleichzeitig angreift. - - Für diesen Zweck geeignetere Hash-Funktionen: - bcrypt, scrypt, argon2, evtl. auch pbkdf2 - Nicht leicht auf GPUs berechenbar, insgesamt langsamer. - --> Möglicherweise daher für kryptographische Signaturen schlechter geeignet, - {weil dort größere Datenmengen ge"hash"t werden} - weil dort Hashes über größere Datenmengen gebildet werden. - --> Bei kryptographischen Signaturen besteht nicht das Problem - {mit der ge"leak"ten Nachricht nicht,} - mit der versehentlich öffentlich gewordenen Nachricht nicht, - denn die Nachricht ist ja absichtlich öffentlich - (Falls nicht, hilft Verschlüsselung.) - bzw. weil es ohnehin aussichtslos ist, anhand des kryptographischen Hashes - die Nachricht zu erraten. - -Fehlerkorrektur, 09.06.2022, 13:36:48 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Hamming-Code: siehe frühere Lehrveranstaltungen -https://www.cvh-server.de/~pgerwinski/net-2013ss.pdf, Seite 28 bis 30 - -Reed-Solomon-Code: Fehlererkennung und -Korrektur - - - Anwendung: QR-Codes, optische Datenträger, Raumsonde Voyager 2 - - - Prinzip: Funktionsgraphen von Polynomen - 3 Punkte --> eindeutig für Polynom 2. Grades - 4 Punkte --> Polynom 2. Grades überbestimmt - 4 Punkte, einer falsch --> Polynom 2. Grades paßt nicht --> Fehlererkennung - 5 Punkte --> auch Fehlerkorrektur möglich, notfalls durch Ausprobieren - (die richtige Parabel kommt häufiger vor) - --> "einstellbares" Fehlererkennungs- und korrekturverfahren: - nur 3 Punkte: keine Fehlererkennung und -korrektur, nur die Daten - 4 Punkte: Fehlererkennung - 5 Punkte: Fehlererkennung, 1 Fehler korrigieren - 6 Punkte: Fehlererkennung, 2 Fehler korrigieren - ... - - - In der Praxis: Polynom über endlichem Körper, z.B. mit 5 Elementen - Mathematik: Dies funktioniert alles genauso wie in den reellen Zahlen. - Z.B.: Man vereinbart vorher die Stützstellen (x-Koordinaten) - und übermittelt die Funktionswerte (y-Koordinaten). - - ( { 0, 1, 2, 3, 4 }, +, · ) (mod 5) - - Stützstellen: alle, also 0, 1, 2, 3, 4 - - Parabel übermitteln, z.B. x², - also a2 = 1, a1 = 0, a0 = 0, - also die Nachricht ( 1, 0, 0 ) - - Funktionswerte berechnen: - 0² = 0 - 1² = 1 - 2² = 4 - 3² = 4 - 4² = 1 - - Funktionswerte übermitteln, Übertragungsfehler - - x | y - ---+--- - 0 | 0 - 1 | 1 - 2 | 4 - 3 | 3 <-- falsch; richtig wäre: 4 - 4 | 1 - - Gleichungssystem aufstellen und lösen --> widersprüchliche Ergebnisse --> Fehler erkannt - - Gleichungssystem aufstellen und lösen für jeweils 3 der Punkte - - Parabel: a2 x² + a1 x + a0 - - 0: a2 · 0² + a1 · 0 + a0 = 0 \ - 1: a2 · 1² + a1 · 1 + a0 = 1 } a0 = 0, a2 + a1 = 1, a2 + a1 = 1 - 2: a2 · 2² + a1 · 2 + a0 = 4 / 4a2 + 2a1 = 4, 2a2 + a1 = 2 - 3: a2 · 3² + a1 · 3 + a0 = 3 ------------ - 4: a2 · 4² + a1 · 4 + a0 = 1 -a2 = -1, a2 = 1, a1 = 0 - --> Nachricht rekonstruiert - Auf diese Weise bekommen wir häufiger die richtige - Nachricht rekonstruiert als falsche, ... - - ... es sei denn, die Übertragung enthält mehr als 1 Fehler. - - In der Praxis häufig: Körper mit 8 oder 16 Elementen. - Diese sind NICHT { 0, 1, ..., 7 } bzw. { 0, 1, ..., 15 }. - - Zur Illustration: Körper mit 25 Elementen. - Dieser ist NICHT { 0, 1, ..., 24 }, sondern - { 0, 1, 2, 3, 4 } [ sqrt(2) ] ("adjungiert Wurzel 2"). Das bedeutet: - - - Wir haben die Zahlen { 0, 1, 2, 3, 4 } modulo 5 - und zusätzlich w = sqrt(2) mit der Eigenschaft w · w = 2 - und zusätzlich alle Kombinationen davon, also z.B. 3 + 2w. - - - Dann können wir multiplizieren, z.B.: - (3 + 2w) · (1 + w) - = 3 · 1 + 2w · 1 + 3w + 2w² - = 3 + 5w + 2 · 2 - = 3 + 0w + 4 - = 2 - - - Jede Zahl: x + y·w (ähnlich komplexen Zahlen: x + y·i) - - - Speicherung als 5-Bit-Zahl (0..31; wir verschwenden die Werte 25 bis 31) - oder als 6-Bit-Zahl mit jeweils 3 Bit für "normalen Teil" und "w-Teil" (schneller, - aber wir verschwenden mehr als 1 Bit, also mehr als die Hälfte aller Werte) - - Zur Illustration: Körper mit 4 Elementen: siehe - https://de.wikipedia.org/wiki/Endlicher_K%C3%B6rper#Der_K%C3%B6rper_mit_4_Elementen - - - In der Praxis in der Praxis: fertige Bibliothek - -Intelligente Zeiger -=================== - -Problem: Sobald mehrere Zeiger auf denselben Speicher zeigen, - besteht das Risiko, die Übersicht zu verlieren. - - Bereits freigegebener Speicher wird weiterhin benutzt - - Speicher wird mehrfach freigegeben - - Speicher wird nicht freigegeben --> Memory Leak - -Mögliche Lösung: Garbage Collection: - Die Systembibliothek behält den Überblick über belegten Speicher - und gibt gelegentlich Speicher frei, auf den keine Zeiger mehr zeigen. ---> Neues Problem: Verlust der Echezeitfähigkeit - -Lösung in C++: shared_ptr diff --git a/20220609/polynome-20220609-01-polynomdivision.png b/20220609/polynome-20220609-01-polynomdivision.png deleted file mode 100644 index 6132d8a8eac6714cc635c1548f469fb788b983a5..0000000000000000000000000000000000000000 Binary files a/20220609/polynome-20220609-01-polynomdivision.png and /dev/null differ diff --git a/20220609/polynome-20220609-02-polynomdivision.png b/20220609/polynome-20220609-02-polynomdivision.png deleted file mode 100644 index f2fc19e8ce0514e18589d1146c6ddc13c2d59645..0000000000000000000000000000000000000000 Binary files a/20220609/polynome-20220609-02-polynomdivision.png and /dev/null differ diff --git a/20220609/polynome-20220609-03-crc.png b/20220609/polynome-20220609-03-crc.png deleted file mode 100644 index 65db2e1e320d8df33745e7f55dae54dc3a3dbc45..0000000000000000000000000000000000000000 Binary files a/20220609/polynome-20220609-03-crc.png and /dev/null differ diff --git a/20220609/polynome-20220609-04-reed-solomon.png b/20220609/polynome-20220609-04-reed-solomon.png deleted file mode 100644 index 4cfe6fa28d1cf375c8023f2829324e96178cd451..0000000000000000000000000000000000000000 Binary files a/20220609/polynome-20220609-04-reed-solomon.png and /dev/null differ diff --git a/20220609/polynome-20220609-05-reed-solomon.png b/20220609/polynome-20220609-05-reed-solomon.png deleted file mode 100644 index 778cb1c5cfc6a21d3748ed29b2e76fa5b5334cb0..0000000000000000000000000000000000000000 Binary files a/20220609/polynome-20220609-05-reed-solomon.png and /dev/null differ diff --git a/20220609/polynome-20220609-06-reed-solomon.png b/20220609/polynome-20220609-06-reed-solomon.png deleted file mode 100644 index 419655e1f35d34a082291b10a6f727d1a5f42c14..0000000000000000000000000000000000000000 Binary files a/20220609/polynome-20220609-06-reed-solomon.png and /dev/null differ diff --git a/20220609/polynome-20220609-07-reed-solomon.png b/20220609/polynome-20220609-07-reed-solomon.png deleted file mode 100644 index a117c727b9a8e719b20d8cfc55f707907c1435ee..0000000000000000000000000000000000000000 Binary files a/20220609/polynome-20220609-07-reed-solomon.png and /dev/null differ diff --git a/20220609/polynome-20220609.xcf.gz b/20220609/polynome-20220609.xcf.gz deleted file mode 100644 index 49c31ba8022409dee8c0c2c8853575d39b952422..0000000000000000000000000000000000000000 Binary files a/20220609/polynome-20220609.xcf.gz and /dev/null differ diff --git a/20220609/shared-pointer-01.cpp b/20220609/shared-pointer-01.cpp deleted file mode 100644 index c12bdc61ea8c8fd6ed9e448971b6764094fadc3b..0000000000000000000000000000000000000000 --- a/20220609/shared-pointer-01.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <stdio.h> - -int main () -{ - int *a = new int (42); - int *b = a; - printf ("b = %d\n", *b); - return 0; -} diff --git a/20220609/shared-pointer-02.cpp b/20220609/shared-pointer-02.cpp deleted file mode 100644 index f54578b48309c42d7712297957949c064a3ded40..0000000000000000000000000000000000000000 --- a/20220609/shared-pointer-02.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> - -int main () -{ - int *a = new int (42); - int *b = a; - delete a; - printf ("b = %d\n", *b); - return 0; -} diff --git a/20220609/shared-pointer-03.cpp b/20220609/shared-pointer-03.cpp deleted file mode 100644 index fac8189ee62b8854fbfb910601bf3c7ce072e489..0000000000000000000000000000000000000000 --- a/20220609/shared-pointer-03.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdio.h> - -int main () -{ - int *a = new int (42); - int *b = a; - delete a; - printf ("b = %d\n", *b); - delete b; - return 0; -} diff --git a/20220609/shared-pointer-04.cpp b/20220609/shared-pointer-04.cpp deleted file mode 100644 index 97031a41697297749280b56f83731284b08c2890..0000000000000000000000000000000000000000 --- a/20220609/shared-pointer-04.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdio.h> -#include <memory> - -int main () -{ - std::shared_ptr <int> a (new int (42)); - std::shared_ptr <int> b = a; - printf ("%d\n", *b); - return 0; -} diff --git a/20220609/shared-pointer-05.cpp b/20220609/shared-pointer-05.cpp deleted file mode 100644 index b1d3c60ba4f5e484fdd316d2b06cb20415baa14f..0000000000000000000000000000000000000000 --- a/20220609/shared-pointer-05.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdio.h> -#include <memory> - -int main () -{ - std::shared_ptr <int> b; - { - std::shared_ptr <int> a (new int (42)); - b = a; - // Ohne die Zuweisung an b würde hier der für die Integer allozierte Speicher - // automatisch freigegeben, sobald der Zeiger a verschwindet. - } - printf ("%d\n", *b); - return 0; -} diff --git a/20220609/shared-pointer-06.cpp b/20220609/shared-pointer-06.cpp deleted file mode 100644 index 18305fbd2dd3d61ab1cc1ddd220a9db7bb86d716..0000000000000000000000000000000000000000 --- a/20220609/shared-pointer-06.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdio.h> -#include <memory> - -int main () -{ - int *b; - { - int *a = new int (42); - b = a; - // Ohne die Zuweisung an b würde hier der für die Integer allozierte Speicher - // nicht automatisch freigegeben, sobald der Zeiger a verschwindet. --> Speicherleck - } - printf ("%d\n", *b); - return 0; -} diff --git a/20220609/shared-pointer-07.cpp b/20220609/shared-pointer-07.cpp deleted file mode 100644 index 6ed2decbffb2e4be4db10a3a363de830401620e5..0000000000000000000000000000000000000000 --- a/20220609/shared-pointer-07.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <stdio.h> -#include <memory> - -int main () -{ - int *b; - { - int *a = new int (42); - b = a; - delete a; // Problem: b zeigt noch auf den freigegebenen Speicher. - } - printf ("%d\n", *b); - return 0; -} diff --git a/20220609/shared-pointer-08.cpp b/20220609/shared-pointer-08.cpp deleted file mode 100644 index 033d1f69385d3bf0f0eb65ca79f2931360e8733a..0000000000000000000000000000000000000000 --- a/20220609/shared-pointer-08.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <stdio.h> -#include <memory> - -int main () -{ - std::weak_ptr <int> b; - { - std::shared_ptr <int> a (new int (42)); - b = a; // zeigt auf denselben Speicherplatz, ist aber kein "Besitzer", - } // d.h., mit dem Verschwinden von a wird der Speicherplatz freigegeben. - - auto c = b.lock (); // Prüfe, ob der Speicher noch da ist. - // Falls ja, erzeuge einen shared_ptr c. - - printf ("%d\n", *c); // c == NULL - return 0; -} diff --git a/20220609/shared-pointer-09.cpp b/20220609/shared-pointer-09.cpp deleted file mode 100644 index 82ba13bc049c190b04787d8c2617cac2ad286396..0000000000000000000000000000000000000000 --- a/20220609/shared-pointer-09.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> -#include <memory> - -int main () -{ - std::weak_ptr <int> b; - { - std::shared_ptr <int> a (new int (42)); - b = a; // zeigt auf denselben Speicherplatz, ist aber kein "Besitzer", - } // d.h., mit dem Verschwinden von a wird der Speicherplatz freigegeben. - - auto c = b.lock (); // Prüfe, ob der Speicher noch da ist. - // Falls ja, erzeuge einen shared_ptr c. - - if (c) // c == NULL, weil der Speicherplatz bereits freigegeben wurde. - printf ("%d\n", *c); - else - printf ("Speicher wurde bereits freigegeben.\n"); - return 0; -} diff --git a/20220317/Zeichen_123.pdf b/20230316/Zeichen_123.pdf similarity index 100% rename from 20220317/Zeichen_123.pdf rename to 20230316/Zeichen_123.pdf diff --git a/20220324/ad-20220324.pdf b/20230316/ad-20230316.pdf similarity index 57% rename from 20220324/ad-20220324.pdf rename to 20230316/ad-20230316.pdf index 6b34cc48bd8a3b25f0e05cfbc1802f0eef588b6c..c372fe296d1a3024f5f1a6fa76a403c6eb152996 100644 Binary files a/20220324/ad-20220324.pdf and b/20230316/ad-20230316.pdf differ diff --git a/20220317/ad-20220317.tex b/20230316/ad-20230316.tex similarity index 77% rename from 20220317/ad-20220317.tex rename to 20230316/ad-20230316.tex index e9b287687a5609c5d1805b46679e45a77223fb7c..db1740fe61de5331fd8255326d451c62761b2761 100644 --- a/20220317/ad-20220317.tex +++ b/20230316/ad-20230316.tex @@ -1,5 +1,5 @@ -% ad-20220317.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ -% Copyright (C) 2018, 2019, 2020, 2021, 2022 Peter Gerwinski +% ad-20230316.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ +% Copyright (C) 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 @@ -26,7 +26,7 @@ \usepackage{pgslides} \usepackage{tikz} -\usepackage{rotating} +%\usepackage{rotating} \newcommand{\underconstruction}{% \begin{picture}(0,0) @@ -37,46 +37,46 @@ \title{Algorithmen und Datenstrukturen in C/C++} \author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski} -\date{17.\ März 2022} +\date{16.\ März 2023} \begin{document} \maketitleframe -\sectionnonumber{Vorab: Online-Werkzeuge} - -\begin{frame} - - \showsectionnonumber - \begin{itemize} - \item - \textbf{Mumble}: Seminarraum 2\\ - Fragen: Mikrophon einschalten oder über den Chat\\ - Umfragen: über den Chat - \smallskip - \item - \textbf{VNC}: Kanal 6, Passwort: \lstinline[style=cmd]{testcvh}\\ - Eigenen Bildschirm freigeben: per VNC-Server oder Web-Interface\\ - Kamerabild übertragen: Link zu Web-Interface auf Anfrage - \smallskip - \item - Allgemeine Informationen: - \url{https://www.cvh-server.de/online-werkzeuge/} - \smallskip - \item - Notfall-Schnellzugang: \url{https://www.cvh-server.de/virtuelle-raeume/}\\ - Seminarraum 2, VNC-Passwort: \lstinline[style=cmd]{testcvh} - \smallskip - \item - Bei Problemen: bitte notieren:\\ - Art des Problems, genaue Uhrzeit, JavaScript-Fehlermeldungen (F12) - \bigskip - \item - GitLab: \url{https://gitlab.cvh-server.de/pgerwinski/ad}\\ - Links auf die Datei klicken, nicht mittig auf den Kommentar. - \end{itemize} - -\end{frame} +% \sectionnonumber{Vorab: Online-Werkzeuge} +% +% \begin{frame} +% +% \showsectionnonumber +% \begin{itemize} +% \item +% \textbf{Mumble}: Seminarraum 2\\ +% Fragen: Mikrophon einschalten oder über den Chat\\ +% Umfragen: über den Chat +% \smallskip +% \item +% \textbf{VNC}: Kanal 6, Passwort: \lstinline[style=cmd]{testcvh}\\ +% Eigenen Bildschirm freigeben: per VNC-Server oder Web-Interface\\ +% Kamerabild übertragen: Link zu Web-Interface auf Anfrage +% \smallskip +% \item +% Allgemeine Informationen: +% \url{https://www.cvh-server.de/online-werkzeuge/} +% \smallskip +% \item +% Notfall-Schnellzugang: \url{https://www.cvh-server.de/virtuelle-raeume/}\\ +% Seminarraum 2, VNC-Passwort: \lstinline[style=cmd]{testcvh} +% \smallskip +% \item +% Bei Problemen: bitte notieren:\\ +% Art des Problems, genaue Uhrzeit, JavaScript-Fehlermeldungen (F12) +% \bigskip +% \item +% GitLab: \url{https://gitlab.cvh-server.de/pgerwinski/ad}\\ +% Links auf die Datei klicken, nicht mittig auf den Kommentar. +% \end{itemize} +% +% \end{frame} \nosectionnonumber{Hardwarenahe Programmierung} @@ -226,21 +226,21 @@ \end{frame} -\nosectionnonumber{Aufwandsabschätzungen} +\nosectionnonumber{Aufwandsabschätzungen \protect\color{gray}-- Komplexitätsanalyse} \begin{frame}[fragile] - \newcommand{\w}{\hspace*{0.75pt}} +% \newcommand{\w}{\hspace*{0.75pt}} \shownosectionnonumber \begin{picture}(0,0) - \put(7.6,-0.3){% + \put(7.6,-0.5){% \begin{minipage}[t]{5.3cm} % \vspace*{-1.0cm}\includegraphics{landau-symbols.pdf} - \vspace*{-1.0cm}\alt<3->{\includegraphics{landau-symbols-2.pdf}}% - {\includegraphics{landau-symbols.pdf}} - \small + \alt<3->{\vspace*{-0.93cm}\includegraphics{landau-symbols-3.pdf}}% + {\vspace*{-1.00cm}\includegraphics{landau-symbols.pdf}} + \small%\vspace*{-1.0cm} \begin{description}\itemsep0pt\leftskip-0.5cm \item[$n$:] Eingabedaten \item[$g(n)$:] Rechenzeit @@ -248,68 +248,131 @@ \end{minipage}} \end{picture} - \vspace*{-1.5\bigskipamount} + \vspace*{-\bigskipamount} - \begin{itemize} - \item + Wann ist ein Programm "`schnell"'? + + \medskip + + \begin{onlyenv}<1> Türme von Hanoi: $\mathcal{O}(2^n)$ - \begin{onlyenv}<1> - \par\medskip - Für jede zusätzliche Scheibe\\verdoppelt sich die Rechenzeit! - % 32.712 * 2^32 / 3600 / 24 / 365.25 = 4452.08032888280477602859 - \begin{itemize} - \arrowitem - $\frac{32,712\,\text{s}\,\cdot\,2^{32}}{3600\,\cdot\,24\,\cdot\,365,25} \approx 4452$ - Jahre\\[\smallskipamount] - für 64 Scheiben - \end{itemize} - \end{onlyenv} -% \end{itemize} -% - \pause -% -% Beispiel: Sortieralgorithmen -% -% \begin{itemize} - \item - Minimum suchen: \alt<1->{$\mathcal{O}(n)$}{$\mathcal{O}(\textbf{\color{red}?})$} -% \pause - \item - \dots\ mit Schummeln: $\mathcal{O}(1)$ + \par\medskip + Für jede zusätzliche Scheibe\\verdoppelt sich die Rechenzeit! + \begin{itemize} + \arrowitem + $\frac{30,672\,\text{s}\,\cdot\,2^{32}}{3600\,\cdot\,24\,\cdot\,365,25} \approx 4174$ + Jahre\\[\smallskipamount] + für 64 Scheiben + \end{itemize} + + \bigskip + \end{onlyenv} + + \begin{onlyenv}<1-> + Faustregel:\\Schachtelung der Schleifen zählen\\ + $k$ Schleifen ineinander \textarrow\ $\mathcal{O}(n^k)$ + + \bigskip + \end{onlyenv} + + \begin{onlyenv}<2> + \textbf{Beispiel: Sortieralgorithmen} + + \smallskip + + Anzahl der Vergleiche bei $n$ Strings + \begin{itemize} + \item + Maximum suchen mit Schummeln: $\mathcal{O}(1)$ % \pause + \item + Maximum suchen: $\mathcal{O}(n)$ % \pause - \begin{picture}(0,0) - \put(-4.742,-4.3){\begin{minipage}[t]{12cm} - Faustregel:\\Schachtelung der Schleifen zählen\\ - $x$ Schleifen \textarrow\ $\mathcal{O}(n\w^x)$ - \vspace{0.5\smallskipamount} - \begin{onlyenv}<3-> - \begin{tabbing} - Verschlüsselung brechen (Primfaktorzerlegung):~\=\kill - \textbf{\color{red}RSA}: Schlüsselerzeugung (Berechnung von $d\/$): - \> \color{red}$\mathcal{O}\bigl((\log n)^2\bigr)$,\\[0.5\smallskipamount] - Ver- und Entschlüsselung (Exponentiation): - \> \color{red}$\mathcal{O}\kern0.5pt(n\log n)$,\\[0.5\smallskipamount] - Verschlüsselung brechen (Primfaktorzerlegung): - \> \color{red}$\mathcal{O}\bigl(2^{\sqrt{\log n\,\cdot\,\log\log n}}\bigr)$ - \end{tabbing} - \end{onlyenv} - \end{minipage}} - \end{picture} -% \pause - \item - Minimum an den Anfang tauschen,\\ - nächstes Minimum suchen:\\ - \textarrow\ Selectionsort: $\mathcal{O}(n\w^2)$ -% \pause - \item - Während Minimumsuche prüfen\\und abbrechen, falls schon sortiert\\ - \textarrow\ Bubblesort: $\mathcal{O}(n)$ bis $\mathcal{O}(n\w^2)$ -% \pause - \item - Rekursiv sortieren\\ - \textarrow\ Quicksort: $\mathcal{O}(n\log n)$ bis $\mathcal{O}(n\w^2)$\hfill - \end{itemize} + \item + Selection-Sort: $\mathcal{O}(n^2)$ +% \pause + \item + Bubble-Sort: $\mathcal{O}(n)$ bis $\mathcal{O}(n^2)$ +% \pause + \item + Quicksort: $\mathcal{O}(n\log n)$ bis $\mathcal{O}(n^2)$ + \end{itemize} + + \end{onlyenv} + +% \begin{onlyenv}<3> +% \textbf{Wie schnell ist RSA-Verschlüsselung?} +% +% \smallskip +% +% \begin{math} +% c = m^e\,\%\,N +% \end{math} +% \quad +% ("`$\%$"' = "`modulo"') +% +% \medskip +% +% \begin{lstlisting}[gobble=6,xleftmargin=2em] +% int c = 1; +% for (int i = 0; i < e; i++) +% c = (c * m) % N; +% \end{lstlisting} +% +% \smallskip +% +% \begin{itemize} +% \item +% $\mathcal{O}(e)$ Iterationen +% % \item +% % wenn $n$ die Anzahl der Binärziffern (Bits) von $e$ ist: +% % $\mathcal{O}(2^n)$ Iterationen +% \item +% mit Trick: +% $\mathcal{O}(\log e)$ Iterationen ($\log e$ = Anzahl der Ziffern von $e$) +% \end{itemize} +% +% \smallskip +% +% Jede Iteration enthält eine Multiplikation und eine Division.\\ +% Aufwand dafür: $\mathcal{O}(\log e)$\\ +% \textarrow\ Gesamtaufwand: $\mathcal{O}\bigl((\log e)^2\bigr)$ +% +% \end{onlyenv} + + \begin{onlyenv}<3-> + + \textbf{Wie schnell ist RSA?}\\ + + \smallskip + + ($n$ = typische beteiligte Zahl, z.\,B. $e,p,q$) + + \begin{itemize} + \item + Ver- und Entschlüsselung (Exponentiation):\\ + \strut\hbox to 3.5cm{\color{red}$\mathcal{O}\!\left((\log n)^2\right)$\hss} + \only<3->{{\color{magenta}$\mathcal{O}(n^2)$}} + \item + Schlüsselerzeugung (Berechnung von $d$):\\ + \strut\hbox to 3.5cm{\color{red}$\mathcal{O}\!\left((\log n)^2\right)$\hss} + \only<3->{{\color{magenta}$\mathcal{O}(n^2)$}} + \item + Verschlüsselung brechen (Primfaktorzerlegung):\\ + \strut\hbox to 3.5cm{\color{red}$\mathcal{O}\bigl(2^{\sqrt{\log n\,\cdot\,\log\log n}}\bigr)$\hss} + \only<3->{{\color{magenta}$\mathcal{O}\bigl(2^{\sqrt{n\log n}}\bigr)$}} + \end{itemize} + + \smallskip +% \vspace{0cm plus 1filll} + + \textbf{Die Sicherheit von RSA beruht darauf, + daß das Brechen der Verschlüsselung aufwendiger ist als + \boldmath$\mathcal{O}\bigl((\log n)^k\bigr)$ (für beliebiges $k$).} + +% \vspace*{0.65cm} + + \end{onlyenv} \end{frame} @@ -343,12 +406,12 @@ \put(3.5,-5.2){\mbox{\large Hash-Tabelle}} \put(0.0,-6.3){\mbox{\small\bf kryptographische Hash-Funktion}} \put(6.5,-6.0){\mbox{\it Prüfsumme}} - \pause - \put(4.0,-2.7){\begin{rotate}{18} - \makebox(0,0){\LARGE\color{red}\shortstack{% - Online-Werkzeuge für Home Office, Lehre\\ - und Kommunikation mit Unterdrückten}} - \end{rotate}} +% \pause +% \put(4.0,-2.7){\begin{rotate}{18} +% \makebox(0,0){\LARGE\color{red}\shortstack{% +% Online-Werkzeuge für Home Office, Lehre\\ +% und Kommunikation mit Unterdrückten}} +% \end{rotate}} \end{picture} \end{frame} @@ -361,51 +424,8 @@ \item[\textbf{1}] \textbf{Einführung} \underconstruction \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{\color{red}i}] {\color{red}Online-Werkzeuge für Home Office, Lehre\\ - und Kommunikation mit Unterdrückten} - \item[\textbf{2}] \textbf{Datenorganisation} - \item[\textbf{3}] \textbf{Optimierung} - \item[\textbf{4}] \textbf{Hardwarenahe Algorithmen} - \item[\textbf{5}] \textbf{Datenkodierung} - \color{gray} - \item[\textbf{6}] \textbf{Numerik} - \end{itemize} - -\end{frame} - -\nosectionnonumber{\large\bf Übungsaufgabe: Verkettete Listen} - -\begin{frame} - - \shownosectionnonumber - - \begin{enumerate}[\quad(a)] - \item - Schreiben Sie eine Funktion, die eine verkettete Liste\\ - in die umgekehrte Reihenfolge bringt. - \item - Schreiben Sie eine Funktion, die eine verkettete Liste\\ - in eine doppelt verkettete Liste umwandelt. - \item - Wieviel Rechenzeit (Landau-Symbol) benötigen Ihre Funktionen? - \item - Wieviel Speicherplatz (Landau-Symbol) benötigen Ihre Funktionen? - \end{enumerate} - -\end{frame} - -\nosectionnonumber{\inserttitle} - -\begin{frame} - - \shownosectionnonumber - - \begin{itemize} - \item[\textbf{1}] \textbf{Einführung} - \underconstruction - \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} - \item[\textbf{i}] \textbf{Gesellschaftliche Auswirkungen\\ - von Algorithmen und Datenstrukturen} +% \item[\textbf{\color{red}i}] {\color{red}Online-Werkzeuge für Home Office, Lehre\\ +% und Kommunikation mit Unterdrückten} \item[\textbf{2}] \textbf{Datenorganisation} \item[\textbf{3}] \textbf{Optimierung} \item[\textbf{4}] \textbf{Hardwarenahe Algorithmen} @@ -416,147 +436,10 @@ \end{frame} -\iffalse - -\section{Einführung in C++} -\addtocounter{subsection}{-1} -\subsection{Was ist C?} - -\begin{frame} - - \showsection - \showsubsection - - Etabliertes Profi-Werkzeug - \begin{itemize} - \item - kleinster gemeinsamer Nenner für viele Plattformen\\ - \begin{picture}(0,1) - \color{red} - \put(7.2,0.6){\tikz{\draw[-latex](0.0,0.0)--(0.0,0.4);}} - \put(7.2,0.5){\makebox(0,0)[t]{\color{black}Hardware und/oder Betriebssystem}} - \end{picture} - \item - Hardware direkt ansprechen und effizient einsetzen - \item - \dots\ bis hin zu komplexen Software-Projekten - \medskip - \arrowitem - Man kann Computer vollständig beherrschen. - \end{itemize} - -\end{frame} - -\begin{frame} - - \showsection - \showsubsection - - \begin{picture}(0,0) - \put(5.3,-2.5){\makebox(0,0)[tl]{\begin{minipage}{7cm} - \emph{C makes it easy to shoot yourself in the foot.} - \begin{flushright} - Bjarne Stroustrup, ca.~1986\\ - \href{http://www.stroustrup.com/bs_faq.html\#really-say-that}% - {\nolinkurl{http://www.stroustrup.com/bs_faq.html}\\ - \nolinkurl{\#really-say-that}} - \end{flushright} - \end{minipage}}} - \end{picture}% - Etabliertes Profi-Werkzeug - \begin{itemize} - \item - kleinster gemeinsamer Nenner für viele Plattformen - \item - Hardware direkt ansprechen und effizient einsetzen - \item - \dots\ bis hin zu komplexen Software-Projekten - \item - leistungsfähig, aber gefährlich - \end{itemize} - - \medskip - "`High-Level-Assembler"' - \begin{itemize} - \item - kein "`Fallschirm"' - \item - kompakte Schreibweise - \end{itemize} - - \medskip - Unix-Hintergrund - \begin{itemize} - \item - Baukastenprinzip - \item - konsequente Regeln - \item - kein "`Fallschirm"' - \end{itemize} - -\end{frame} - -\subsection{Was ist C++?} - -\begin{frame} - - \showsection - \showsubsection - - \begin{picture}(0,0) - \put(6.3,-0.2){\makebox(0,0)[tl]{\begin{minipage}{6cm} - \emph{C++ is a better C.} - \begin{flushright} - Bjarne Stroustrup, Autor von C++\\ - \url{http://www.stroustrup.com/C++.html} - \end{flushright} - \end{minipage}}} - \put(5.3,-2.5){\makebox(0,0)[tl]{\begin{minipage}{7cm} - \emph{C makes it easy to shoot yourself in the foot;\\ - C++ makes it harder, but when you do\\ - it blows your whole leg off.} - \begin{flushright} - Bjarne Stroustrup, Autor von C++, ca.~1986\\ - \href{http://www.stroustrup.com/bs_faq.html\#really-say-that}% - {\nolinkurl{http://www.stroustrup.com/bs_faq.html}\\ - \nolinkurl{\#really-say-that}} - \end{flushright} - \end{minipage}}} - \end{picture}% - Etabliertes Profi-Werkzeug - \begin{itemize} - \item - kompatibel zu C - \end{itemize} - - \medskip - - C++ unterstützt - \begin{itemize} - \item - \newterm{objektorientierte\\ - Programmierung} - \item - \newterm{Datenabstraktion} - \item - \newterm{generische\\ - Programmierung} - \end{itemize} - - \vspace{0cm plus 1 filll} - - \textbf{Motivation:}\\[\smallskipamount] - Vermeidung unsicherer Techniken,\\ - insbesondere von Präprozessor-Konstruktionen und Zeigern,\\ - unter Beibehaltung der Effizienz - -\end{frame} - -\subsection{C: Arrays und Zeiger für Fortgeschrittene} +\subsectionnonumber{C: Arrays und Zeiger für Fortgeschrittene} \begin{frame}[fragile] - \showsubsection + \showsubsectionnonumber \begin{minipage}[t]{6cm} Array: @@ -601,7 +484,7 @@ \end{frame} \begin{frame}[fragile] - \showsubsection + \showsubsectionnonumber \begin{minipage}[t]{6cm} Array: @@ -650,7 +533,7 @@ \end{frame} \begin{frame}[fragile] - \showsubsection + \showsubsectionnonumber \begin{minipage}[t]{7cm} Array: @@ -681,7 +564,7 @@ \end{frame} \begin{frame}[fragile] - \showsubsection + \showsubsectionnonumber \begin{minipage}[t]{7cm} Array: @@ -714,7 +597,7 @@ \begin{picture}(0,0) \color{red} \thicklines - \put(8.6,0.7){\line(1,0){0.85}} + \put(8.6,0.63){\line(1,0){0.85}} \put(9.05,0.4){\makebox(0,0)[t]{$\overbrace{\mbox{nur mit Trick: \lstinline{p += 5}}}$}} \end{picture} @@ -722,7 +605,7 @@ \end{frame} \begin{frame}[fragile] - \showsubsection + \showsubsectionnonumber \begin{lstlisting} typedef char string5[5]; @@ -749,7 +632,7 @@ \end{frame} \begin{frame}[fragile] - \showsubsection + \showsubsectionnonumber \begin{lstlisting} typedef char string5[5]; @@ -804,6 +687,186 @@ \end{frame} +\nosectionnonumber{\large\bf Übungsaufgabe: Verkettete Listen} + +\begin{frame} + + \shownosectionnonumber + + \begin{enumerate}[\quad(a)] + \item + Schreiben Sie eine Funktion, die eine verkettete Liste\\ + in die umgekehrte Reihenfolge bringt. + \item + Schreiben Sie eine Funktion, die eine verkettete Liste\\ + in eine doppelt verkettete Liste umwandelt. + \item + Wieviel Rechenzeit (Landau-Symbol) benötigen Ihre Funktionen? + \item + Wieviel Speicherplatz (Landau-Symbol) benötigen Ihre Funktionen? + \end{enumerate} + +\end{frame} + +\nosectionnonumber{\inserttitle} + +\begin{frame} + + \shownosectionnonumber + + \begin{itemize} + \item[\textbf{1}] \textbf{Einführung} + \underconstruction + \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} +% \item[\textbf{i}] \textbf{Gesellschaftliche Auswirkungen\\ +% von Algorithmen und Datenstrukturen} + \item[\textbf{2}] \textbf{Datenorganisation} + \item[\textbf{3}] \textbf{Optimierung} + \item[\textbf{4}] \textbf{Hardwarenahe Algorithmen} + \item[\textbf{5}] \textbf{Datenkodierung} + \color{gray} + \item[\textbf{6}] \textbf{Numerik} + \end{itemize} + +\end{frame} + +\iffalse + +\section{Einführung in C++} +\addtocounter{subsection}{-1} +\subsection{Was ist C?} + +\begin{frame} + + \showsection + \showsubsection + + Etabliertes Profi-Werkzeug + \begin{itemize} + \item + kleinster gemeinsamer Nenner für viele Plattformen\\ + \begin{picture}(0,1) + \color{red} + \put(7.2,0.6){\tikz{\draw[-latex](0.0,0.0)--(0.0,0.4);}} + \put(7.2,0.5){\makebox(0,0)[t]{\color{black}Hardware und/oder Betriebssystem}} + \end{picture} + \item + Hardware direkt ansprechen und effizient einsetzen + \item + \dots\ bis hin zu komplexen Software-Projekten + \medskip + \arrowitem + Man kann Computer vollständig beherrschen. + \end{itemize} + +\end{frame} + +\begin{frame} + + \showsection + \showsubsection + + \begin{picture}(0,0) + \put(5.3,-2.5){\makebox(0,0)[tl]{\begin{minipage}{7cm} + \emph{C makes it easy to shoot yourself in the foot.} + \begin{flushright} + Bjarne Stroustrup, ca.~1986\\ + \href{http://www.stroustrup.com/bs_faq.html\#really-say-that}% + {\nolinkurl{http://www.stroustrup.com/bs_faq.html}\\ + \nolinkurl{\#really-say-that}} + \end{flushright} + \end{minipage}}} + \end{picture}% + Etabliertes Profi-Werkzeug + \begin{itemize} + \item + kleinster gemeinsamer Nenner für viele Plattformen + \item + Hardware direkt ansprechen und effizient einsetzen + \item + \dots\ bis hin zu komplexen Software-Projekten + \item + leistungsfähig, aber gefährlich + \end{itemize} + + \medskip + "`High-Level-Assembler"' + \begin{itemize} + \item + kein "`Fallschirm"' + \item + kompakte Schreibweise + \end{itemize} + + \medskip + Unix-Hintergrund + \begin{itemize} + \item + Baukastenprinzip + \item + konsequente Regeln + \item + kein "`Fallschirm"' + \end{itemize} + +\end{frame} + +\subsection{Was ist C++?} + +\begin{frame} + + \showsection + \showsubsection + + \begin{picture}(0,0) + \put(6.3,-0.2){\makebox(0,0)[tl]{\begin{minipage}{6cm} + \emph{C++ is a better C.} + \begin{flushright} + Bjarne Stroustrup, Autor von C++\\ + \url{http://www.stroustrup.com/C++.html} + \end{flushright} + \end{minipage}}} + \put(5.3,-2.5){\makebox(0,0)[tl]{\begin{minipage}{7cm} + \emph{C makes it easy to shoot yourself in the foot;\\ + C++ makes it harder, but when you do\\ + it blows your whole leg off.} + \begin{flushright} + Bjarne Stroustrup, Autor von C++, ca.~1986\\ + \href{http://www.stroustrup.com/bs_faq.html\#really-say-that}% + {\nolinkurl{http://www.stroustrup.com/bs_faq.html}\\ + \nolinkurl{\#really-say-that}} + \end{flushright} + \end{minipage}}} + \end{picture}% + Etabliertes Profi-Werkzeug + \begin{itemize} + \item + kompatibel zu C + \end{itemize} + + \medskip + + C++ unterstützt + \begin{itemize} + \item + \newterm{objektorientierte\\ + Programmierung} + \item + \newterm{Datenabstraktion} + \item + \newterm{generische\\ + Programmierung} + \end{itemize} + + \vspace{0cm plus 1 filll} + + \textbf{Motivation:}\\[\smallskipamount] + Vermeidung unsicherer Techniken,\\ + insbesondere von Präprozessor-Konstruktionen und Zeigern,\\ + unter Beibehaltung der Effizienz + +\end{frame} + \subsection{Elementare Neuerungen in C++ gegenüber C} \begin{frame}[fragile] diff --git a/20220317/landau-symbols-2.pdf b/20230316/landau-symbols-2.pdf similarity index 100% rename from 20220317/landau-symbols-2.pdf rename to 20230316/landau-symbols-2.pdf diff --git a/20230316/landau-symbols-3.pdf b/20230316/landau-symbols-3.pdf new file mode 120000 index 0000000000000000000000000000000000000000..46efa409b35ff5df763c744a423599cba515d886 --- /dev/null +++ b/20230316/landau-symbols-3.pdf @@ -0,0 +1 @@ +../common/landau-symbols-3.pdf \ No newline at end of file diff --git a/20220317/landau-symbols.pdf b/20230316/landau-symbols.pdf similarity index 100% rename from 20220317/landau-symbols.pdf rename to 20230316/landau-symbols.pdf diff --git a/20220317/logo-hochschule-bochum-cvh-text.pdf b/20230316/logo-hochschule-bochum-cvh-text.pdf similarity index 100% rename from 20220317/logo-hochschule-bochum-cvh-text.pdf rename to 20230316/logo-hochschule-bochum-cvh-text.pdf diff --git a/20220317/logo-hochschule-bochum.pdf b/20230316/logo-hochschule-bochum.pdf similarity index 100% rename from 20220317/logo-hochschule-bochum.pdf rename to 20230316/logo-hochschule-bochum.pdf diff --git a/20220317/pgslides.sty b/20230316/pgslides.sty similarity index 100% rename from 20220317/pgslides.sty rename to 20230316/pgslides.sty diff --git a/common/landau-symbols-2.pdf b/common/landau-symbols-2.pdf index e87f752c596ee8d0e12be16f9ff18050048e0757..a13e3ddd7e05dc97dbbbca53269f7bb25e18c098 100644 Binary files a/common/landau-symbols-2.pdf and b/common/landau-symbols-2.pdf differ diff --git a/common/landau-symbols-2.tex b/common/landau-symbols-2.tex index 303794ccfeda57076771e2f531ae6e991f310b2c..da127461a03a1aae2560c6ad58590ae4a9f32f75 100644 --- a/common/landau-symbols-2.tex +++ b/common/landau-symbols-2.tex @@ -15,22 +15,22 @@ \psline[arrows=->](0,-10)(0,200) \psplot[plotpoints=200]{1}{125}{2 x 0.06 mul exp} \put(120,190){\mbox{$2^n$}} - \psplot[linecolor=red,plotpoints=200]{1}{175}{0.6 2 x ln x ln 0.0000001 add ln mul exp mul} + \psplot[linecolor=red,plotpoints=200]{3}{170}{30.0 2 x ln x ln 0.0000001 add ln mul sqrt exp mul -29.0 add} \color{red} \put(110,215){\mbox{$2^{\sqrt{\log n\,\cdot\,\log\log n}}$}} \color{black} \psplot[plotpoints=200]{0}{190}{x x mul 0.005 mul} \put(190,190){\mbox{$n^2$}} - \color{red} - \psplot[linecolor=red,plotpoints=200]{1}{190}{x ln x mul 0.1 mul} + \psplot[plotpoints=200]{1}{190}{x ln x mul 0.1 mul} \put(195,100){\mbox{$n \log n$}} - \psplot[linecolor=red,plotpoints=200]{1}{190}{x ln x ln mul 2.3 mul} - \put(195,57.5){\mbox{$(\log n)^2$}} + \color{red} + \psplot[linecolor=red,plotpoints=200]{1}{190}{x ln x ln mul 5.5 mul} + \put(195,148){\mbox{$(\log n)^2$}} \color{black} \psplot[plotpoints=200]{0}{190}{x 0.4 mul} \put(195,75){\mbox{$n$}} \psplot[plotpoints=200]{1}{190}{x ln 10 mul} - \put(195,40){\mbox{$\log n$}} + \put(195,50){\mbox{$\log n$}} \psplot[plotpoints=200]{1}{190}{30} \put(195,25){\mbox{$1$}} \put(205,0){\makebox(0,0)[l]{$n$}} diff --git a/common/landau-symbols-3.pdf b/common/landau-symbols-3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2532b077f363a0da615f7dbb4495d4990f39a1f8 Binary files /dev/null and b/common/landau-symbols-3.pdf differ diff --git a/common/landau-symbols-3.tex b/common/landau-symbols-3.tex new file mode 100644 index 0000000000000000000000000000000000000000..54592ab709630660b0b2bbebb6d295da99c067f6 --- /dev/null +++ b/common/landau-symbols-3.tex @@ -0,0 +1,43 @@ +\documentclass{article} + +\usepackage{pgscript} +\usepackage{pstricks,pst-plot} + +\psset{unit=1cm} +\pagestyle{empty} +\setlength{\textwidth}{4cm} +\setlength{\textheight}{7cm} + +\begin{document} + \psset{unit=0.5pt} + \begin{pspicture}(-20,-20)(250,200) + \psline[arrows=->](-10,0)(200,0) + \psline[arrows=->](0,-10)(0,200) + \psplot[plotpoints=200]{1}{125}{2 x 0.06 mul exp} + \put(120,190){\mbox{$2^n$}} +% \psplot[linecolor=red,plotpoints=200]{3}{170}{30.0 2 x ln x ln 0.0000001 add ln mul sqrt exp mul -29.0 add} +% \color{red} +% \put(110,215){\mbox{$2^{\sqrt{\log n\,\cdot\,\log\log n}}$}} + \color{magenta} + \psplot[linecolor=magenta,plotpoints=200]{7}{163}{0.45 2 x 0.15 mul ln x 0.15 mul mul sqrt exp mul} + \put(140,215){\mbox{$2^{\sqrt{n \log n}}$}} + \psplot[linecolor=magenta,plotpoints=200]{0}{190}{x x mul 0.005 mul} + \put(190,190){\mbox{$n^2$}} + \color{black} + \psplot[plotpoints=200]{1}{190}{x ln x mul 0.1 mul} + \put(195,100){\mbox{$n \log n$}} +% \psplot[linecolor=red,plotpoints=200]{1}{190}{x ln x ln mul 2.3 mul} +% \color{red} +% \put(195,57.5){\mbox{$(\log n)^2$}} + \color{black} + \psplot[plotpoints=200]{0}{190}{x 0.4 mul} + \put(195,75){\mbox{$n$}} + \psplot[plotpoints=200]{1}{190}{x ln 10 mul} + \put(195,50){\mbox{$\log n$}} + \psplot[plotpoints=200]{1}{190}{30} + \put(195,25){\mbox{$1$}} + \put(205,0){\makebox(0,0)[l]{$n$}} +% \put(-10,210){\makebox(0,0)[l]{$g(n)$}} + \put(-10,210){\makebox(0,0)[l]{$\mathcal{O}\bigl(g(n)\bigl)$}} + \end{pspicture} +\end{document}