From 30b83a2225632a7d7b64eafbfaa16879e1ef62cf Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 10 Aug 2008 19:35:12 +0000 Subject: fixed writtings --- LaTeX/chapters/conclusion.tex | 11 +- LaTeX/chapters/implementierung.tex | 118 +- LaTeX/chapters/simulator.tex | 18 +- LaTeX/diplomarbeit.pdf | 4921 ++++++++++++----------- LaTeX/images/wrapping.eps | 2 +- LaTeX/wrapping.zargo | Bin 4023 -> 4035 bytes sources/core/VSMessage.java | 2 +- sources/simulator/VSSimulatorVisualization.java | 3 +- 8 files changed, 2571 insertions(+), 2504 deletions(-) diff --git a/LaTeX/chapters/conclusion.tex b/LaTeX/chapters/conclusion.tex index b482ba7..c607e3e 100644 --- a/LaTeX/chapters/conclusion.tex +++ b/LaTeX/chapters/conclusion.tex @@ -2,19 +2,20 @@ Es wurde erfolgreich ein Simulator f\"{u}r die Simulation verteilter Systeme entwickelt. Der Simulatur hat bereits 10 implementierte Protokolle zur Auswahl eingebaut. Zudem steht dem Gebraucher ein sehr komfortables Protokoll-API zur Verf\"{u}gung, womit der Entwicklung neuer Protokolle quasi keine Grenzen gesetzt sind. -Dar\"{u}ber hinaus verf\"{u}gt der Simulator \"{u}ber eine Vielzahl von sehr flexiblen Einstellungsm\"{o}glichkeiten. F\"{u}r jede Simulation lassen sich somit komplett andere Konfigurationen verwenden. Jeder beteiligte Prozess hat wiederum eingene lokale Einstellungen, wo sich auch jedes Protokoll f\"{u}r jeden Prozess separat einstellen l\"{a}t. Die Anzahl und Flexibilit\"{a}t der M\"{o}glichen Szenarien wird dadurch um einen sehr groen Faktor vergr\"{o}ert. +Dar\"{u}ber hinaus verf\"{u}gt der Simulator \"{u}ber eine Vielzahl von sehr flexiblen Einstellungsm\"{o}glichkeiten. F\"{u}r jede Simulation lassen sich somit komplett andere Konfigurationen verwenden. Jeder beteiligte Prozess hat wiederum eigene lokale Einstellungen, wo sich auch jedes Protokoll f\"{u}r jeden Prozess separat einstellen l\"{a}t. Die Anzahl und Flexibilit\"{a}t der M\"{o}glichen Szenarien wird dadurch um einen sehr groen Faktor erweiert. -Mit dem Ereigniseditor gibt es eine komfortable M\"{o}glichkeit eigene Szenarien zu programmieren und zu Simulieren. Hierbei kann entweder auf die bereits enthaltenen Protokolle- oder auf selbst implementierte Protokolle zugegriffen werden. Alle Dazugeh\"{o}rigen Einstellungen und programmierten Ereignisse lassen sich vom Gebraucher f\"{u}r eine sp\"{a}tere Wiederverwendung platformunabh\"{a}ngig abspeichern. Somit k\"{o}nnen auch abgespeicherte Szenarien beispielsweise an Komilitonen weitergegeben werden oder f\"{u}r eine sp\"{a}tere Pr\"{a}sentierung zwischengespeichert werden. Mit dem Loggfilter lassen sich mithilfe von regul\"{a}ren Ausdr\"{u}cken nur die relevanten Loggnachrichten anzeigen, was die Analyse einer Simulation erheblich vereinfacht. Weitere Funktionalit\"{a}ten wie Lamport- und Vektor-Zeitstempel sowie Anti-Aliasing ruden den Simulator ab. +Mit dem Ereigniseditor gibt es eine komfortable M\"{o}glichkeit eigene Szenarien zu programmieren um sie anschlieend zu Simulieren. Hierbei kann entweder auf die bereits enthaltenen Protokolle- oder auf selbst implementierte Protokolle zugegriffen werden. Alle Dazugeh\"{o}rigen Einstellungen und programmierten Ereignisse lassen sich vom Gebraucher f\"{u}r eine sp\"{a}tere Wiederverwendung platformunabh\"{a}ngig abspeichern. Somit k\"{o}nnen auch abgespeicherte Szenarien beispielsweise an Komilitonen weitergegeben werden oder f\"{u}r eine sp\"{a}tere Pr\"{a}sentierung zwischengespeichert werden. Mit dem Loggfilter lassen sich mithilfe von regul\"{a}ren Ausdr\"{u}cken nur die relevanten Loggnachrichten anzeigen, was die Analyse einer Simulation erheblich vereinfacht. Weitere Funktionalit\"{a}ten wie Lamport- und Vektor-Zeitstempel sowie Anti-Aliasing runden den Simulator ab. Durch den objektorientierten Aufbau ist der Simulator relativ einfach erweiterbar, was nicht nur das Protokoll-API betrifft. H\"{a}tte f\"{u}r diese Diplomarbeit noch mehr Zeit zur Verf\"{u}gung gestanden, dann k\"{o}nnten einige der folgenden Funktionen (hier in alphanumerisch sortierten Reihenfolge aufgelistet) auch eingebaut worden sein: \begin{itemize} \setlength{\itemsep}{-2mm} \item Die Simulationsdauer beliebig lang machen k\"{o}nnen. Dazu m\"{u}sste \textit{VSSimulatorVisualisation} entlang der Zeitachse scrollbar gemacht werden, sodass der Benutzer f\"{u}r eine nachtr\"{a}gliche Betrachtung des Simulationsverlaufes zu jeder beliebigen Position zur\"{u}ckspringen kann. - \item Eine Zoomfunktion f\"{u}r die Simulationsvisualisierung. + \item Eine Zoomfunktion f\"{u}r die Simulationsvisualisierung einbauen. \item Im Ereigniseditor selbst auch periodische Ereignisse programmierbar machen. Bisher kann nur jedes Ereignis separat programmiert werden oder auf Protokoll-Interne Wecker zur\"{u}ckgegriffen werden. - \item Lamport- und Vektor-Zeitstempel f\"{u}r Ereigniseintrittskriterien verwenden. - \item Weitere Funktionalit\"{a}ten wie zum Beispiel das Anklicken einer Nachrichtenlinie, was zu einer Nachicht alle verf\"{u}gbaren Informationen anzeigt und diese gegebenenfalls vom Benutzer editiert werden k\"{o}nnen. + \item Lamport- und Vektor-Zeitstempel als Ereigniseintrittskriterien verwenden k\"{o}nnen. + \item Weitere Funktionalit\"{a}ten einbauen wie zum Beispiel das Anklicken einer Nachrichtenlinie, was zu einer Nachicht alle verf\"{u}gbaren Informationen anzeigt und diese gegebenenfalls vom Benutzer editiert werden k\"{o}nnen. + \item Tiefere Schichten des OSI-Referenzmodells simulieren k\"{o}nnen, wie zum Beispiel TCP, UDP, IP, ... \end{itemize} Da der Simulator h\"{o}chstwahrscheinlich unter einer Open Source Lizenz freigegeben wird, und ich mich selbst sehr f\"{u}r die Entwicklung und Anwendung von Open Source Software interessiere, werden die einen oder anderen Funktionen nachtr\"{a}glich eingebaut werden. Komilitonen werden auch herzlich dazu eingeladen sein sich an diesem Software-Projekt zu beteiligen. Als Vorbild sei hier der CPU-Simulator M32, der von Prof. Omann an der Fachhochschule Aachen entwickelt wurde, genannt. Hier existieren bereits einige Erweiterungen und Verbesserungen der Ursprungsversion, die von den Studenten angefertigt wurden. F\"{u}r die Entwicklung/Erweiterung wurde keine properit\"{a}re Software verwendet, sodass jeder kostenlosen Zugriff auf die dazugeh\"{o}rigen Tools h\"{a}tte. diff --git a/LaTeX/chapters/implementierung.tex b/LaTeX/chapters/implementierung.tex index 6679c56..8a8f508 100644 --- a/LaTeX/chapters/implementierung.tex +++ b/LaTeX/chapters/implementierung.tex @@ -34,7 +34,7 @@ Eine Simulation ist von einer Vielzahl von Einstellungen abh\"{a}ngig. Da auf di \subsection{Einstellungsobjekte} -Auf Abbilung \ref{fig:PackagePrefs} ist der Aufbau des Pakets \textit{prefs} zu sehen. In einer Instanz der Klasse \textit{VSPrefs} lassen sich viele verschiedene Daten als Variablen f\"{u}r eine sp\"{a}tere Verwendung dynamisch ablegen und stellt somit einen Container f\"{u}r diese Daten dar. In einem \textit{VSPrefs}-Objekt speichert der Simulator alle seine Einstellungen ab. Zudem besitzt jedes Prozessobjekt und jedes Ereignisobjekt (und da Protokolle auch Ereignisse sind auch jedes Protokollobjekt) f\"{u}r lokale Einstellungen seine eigene Instanz von \textit{VSPrefs}. Selbst Nachrichtenobjekte besitzt hiervon eine eigene Instanz, wobei hier die zu verschickenden Daten abgelegt werden k\"{o}nnen. +Auf Abbilung \ref{fig:PackagePrefs} ist der Aufbau des Pakets \textit{prefs} zu sehen. In einer Instanz der Klasse \textit{VSPrefs} lassen sich viele verschiedene Daten als Variablen f\"{u}r eine sp\"{a}tere Verwendung dynamisch ablegen und stellt somit einen Container f\"{u}r diese Daten dar. In einem \textit{VSPrefs}-Objekt speichert der Simulator alle seine Einstellungen ab. Zudem besitzt jedes Prozessobjekt und jedes Ereignisobjekt f\"{u}r lokale Einstellungen seine eigene Instanz von \textit{VSPrefs}. Sp\"{a}ter wird noch erkl\"{a}rt, dass Protokollobjekte auch als Ereignisse eingesetzt werden. Somit k\"{o}nnen Protokolleinstellungen auch in ein \textit{VSPrefs}-Objekt abgespeichert werden. Selbst Nachrichtenobjekte besitzt hiervon eine eigene Instanz, wobei hier die zu verschickenden Daten abgelegt werden k\"{o}nnen. \begin{figure}[h] \centering @@ -45,9 +45,9 @@ Auf Abbilung \ref{fig:PackagePrefs} ist der Aufbau des Pakets \textit{prefs} zu Jede Variable besteht aus einen Datentypen, einen Variablenamen und einer optionalen Beschreibung sowie einen Wert. Einige Datentypen unterst\"{u}tzen auch die Angabe von Minimum- und Maximumwerten (zum Beispiel besteht eine Prozentangabe aus einen Integerwert zwischen \textit{0} und \textit{100}), was mithilfe der \textit{VSPrefsRestriction}-Klasse implementiert wird. Da man beispielsweise bei Prozent ein \textit{\%} und bei Millisekunden ein \textit{ms} hinter der Variable sehen m\"{o}chte, kann f\"{u}r jede Variable auch ein optionaler Einheiten-String abgespeichert werden. -Eine Variablenbeschreibung wird f\"{u}r die Darstellung im GUI verwendet, w\"{a}hrend der Variablenname eher f\"{u}r die interne Verwendung vom Simulator verwendet wird. Zum Beispiel hat die Variable \textit{message.prob.outage} (Verlustwahrscheinlichkeit einer Nachricht) die Variablenbeschreibung ``Nachrichtenverlustw'keit''. Wenn f\"{u}r eine Variable keine Beschreibung existiert so wird, wie auf Abbildung \ref{fig:SimulationseinstellungenExperten} anhand der Farbvariablen schon gesehen wurde, f\"{u}r die Anzeige f\"{u}r eine Variable der Datentyp und der Variablenname verwendet. Variablennamen verwenden die auf Tabelle \ref{tb:VariablenPrefixe} angegebenen Prefixe. Alle verf\"{u}gbaren Typen wurden bereits in Tabelle \ref{tb:VariablenDatentypen} aufgelistet. \textit{VSPrefs} stellt f\"{u}r alle Variablentypen entsprechende Zugriffsmethoden zur Verf\"{u}gung. +Eine Variablenbeschreibung wird f\"{u}r die Darstellung im GUI verwendet, w\"{a}hrend der Variablenname eher f\"{u}r die interne Verwendung vom Simulator verwendet wird. Zum Beispiel hat die Variable \textit{message.prob.outage} (Verlustwahrscheinlichkeit einer Nachricht) die Variablenbeschreibung ``Nachrichtenverlustw'keit''. Wenn f\"{u}r eine Variable keine Beschreibung existiert so wird, wie auf Abbildung \ref{fig:SimulationseinstellungenExperten} anhand der Farbvariablen schon gesehen wurde, f\"{u}r die Anzeige einer Variable der Datentyp und der Variablenname verwendet. Variablennamen verwenden die auf Tabelle \ref{tb:VariablenPrefixe} angegebenen Prefixkonventionen. Alle verf\"{u}gbaren Typen wurden bereits in Tabelle \ref{tb:VariablenDatentypen} aufgelistet. \textit{VSPrefs} stellt f\"{u}r alle Variablentypen entsprechende Zugriffsmethoden zur Verf\"{u}gung. -Im Folgenden werden nicht alle exisierenden Methoden aufgelistet, da diese auch in der Quelltext-Dokumentation (Javadoc) eingesehen werden k\"{o}nnen. Die Methoden werden nun nur anhand des Integer-Datentyps verdeutlicht. F\"{u}r alle anderen Typen gilt fast alles analog. F\"{u}r Integer stehen in \textit{VSPrefs} folgende Methoden zur Verf\"{u}gung: +Im Folgenden werden nicht alle exisierenden Methoden aufgelistet, da diese auch in der Quelltext-Dokumentation eingesehen werden k\"{o}nnen. Die Methoden werden nun nur anhand des Integer-Datentyps verdeutlicht. F\"{u}r alle anderen Typen gilt fast alles analog. F\"{u}r Integer stehen in \textit{VSPrefs} folgende Methoden zur Verf\"{u}gung: \begin{itemize} \setlength{\itemsep}{-2mm} @@ -90,17 +90,17 @@ Hierbei stellt \textit{key} den Variablennamen- und \textit{val} den Variablenwe \textit{VSPrefs} speichert alle Integervariablen in einem \textit{HashMap}-Objekt ab, wobei der String-Wert den Variablenamen \textit{key} angibt. F\"{u}r die Beschreibung \textit{descr}, den Einheiten-String \textit{unit} sowie m\"{o}glichen Minimum- und Maximumwerte werden separate Instanzen von \textit{HashMap} verwendet. Da alle \textit{HashMap}-Objekte synchronisiert sind, k\"{o}nnen alle Methoden von verschiednenen Threads gleichzeitig verwendet werden. -\textit{VSSerializablePrefs} implementiert das Interface \textit{VSSerializable} und kann somit alle enthaltenen Daten in eine Datei abspeichern und neu laden. Auf die Serialisierung und Deserialisierung von Simulationen wird sp\"{a}ter genauer eingegangen. +\textit{VSSerializablePrefs} implementiert das Interface \textit{VSSerializable} und kann somit alle enthaltenen Daten in eine Datei abspeichern beziehungsweiseladen. Auf die Serialisierung und Deserialisierung von Simulationen wird sp\"{a}ter genauer eingegangen. Die Klasse \textit{VSDefaultPrefs} erweitert \textit{VSSerializablePrefs} und initialisiert bei Instanzierung automatisch alle verf\"{u}gbaren Simulationsvariablen mit ihren Standardwerten. Dort sind auch alle Spracheinstellungen abgelegt. Sollte jemand den Simulator in eine andere Sprache, zum Beispiel ins Englische, \"{u}bersetzen wollen, so mu er lediglich diese Datei und die Protokoll-Klassen (mehr dazu sp\"{a}ter) editieren. Die Spracheinstellungen sind n\"{a}mlich in einem \textit{VSPrefs}--Objekt als versteckte String-Variablen abgespeichert. Spracheinstellungen f\"{u}r Protokolle wurden in den Protokollklassen direkt angegeben, da dies mehr Komfort f\"{u}r den Protokollentwickler bietet und f\"{u}r jede neue Textausgabe nicht st\"{a}ndig \textit{VSDefaultPrefs.java} editiert werden muss. -Alle Variablen die als Prefix \textit{lang}, \textit{keyevent}, \textit{div} oder \textit{col} tragen, sind versteckte Variablen und werden in einem Editor nicht angezeigt. Im Expertenmodus sind hingegen nur Variablen die mit \textit{lang} und \textit{keyevent} beginnen versteckt. Somit lassen sich im Expertenmodus weitere Variablen vom Anwender editieren. +Alle Variablen die als Prefix \textit{lang}, \textit{keyevent}, \textit{div} oder \textit{col} im Namen tragen, sind versteckte Variablen und werden in einem Editor nicht angezeigt. Im Expertenmodus sind hingegen nur Variablen die mit \textit{lang} und \textit{keyevent} beginnen versteckt. Somit lassen sich im Expertenmodus weitere Variablen vom Anwender editieren. \subsection{Editorobjekte} Wie Variablen intern abgespeichert werden ist bereits bekannt. F\"{u}r das Editieren der Variablen werden Editor-Objekte verwendet. Auf Abbildung \ref{fig:PackagePrefsEditors} ist die Klassenstruktur des dazugeh\"{o}rigen Paketes \textit{prefs.editors} angegeben. -Die Basis eines Editors stellt die abstrakte Klasse \textit{VSAbstractEditor} dar, dem ein \textit{VSPrefs} Objekt zum Editieren \"{u}bergeben wird. Ein Editor stellt alle verf\"{u}gbaren und nicht-versteckten Variablen des \textit{VSPrefs}-Objektes im GUI dar und bietet gleichzeitig die M\"{o}glichkeit alle Variablen dar\"{u}ber zu editieren an. F\"{u}r das Editieren von Farbwerten wird auf \textit{VSColorChooser} zur\"{u}ckgegriffen. Die Klasse \textit{VSEditorTable} ist f\"{u}r das \textit{JTable}-Objekt aus Java's Swing-Bibliothek zust\"{a}ndig, welches bei der graphischen Darstellung aller Variablen eingesetzt wird. Die abstrakte Klasse \textit{VSAbstractBetterEditor} wurde, wegen der \"{U}bersicht, als Zwischenschritt eingef\"{u}gt. +Die Basis eines Editors stellt die abstrakte Klasse \textit{VSAbstractEditor} dar, dem ein \textit{VSPrefs} Objekt zum Editieren \"{u}bergeben wird. Ein Editor stellt alle verf\"{u}gbaren nicht-versteckten Variablen des \textit{VSPrefs}-Objektes im GUI dar und bietet gleichzeitig die M\"{o}glichkeit alle Variablen dar\"{u}ber zu editieren an. F\"{u}r das Editieren von Farbwerten wird auf \textit{VSColorChooser} zur\"{u}ckgegriffen. Die Klasse \textit{VSEditorTable} ist f\"{u}r das \textit{JTable}-Objekt aus Java's Swing-Bibliothek zust\"{a}ndig, welches bei der graphischen Darstellung aller Variablen eingesetzt wird. Die abstrakte Klasse \textit{VSAbstractBetterEditor} wurde, wegen der \"{U}bersicht, als Zwischenschritt eingef\"{u}gt. \begin{figure}[h] \centering @@ -109,7 +109,7 @@ Die Basis eines Editors stellt die abstrakte Klasse \textit{VSAbstractEditor} da \label{fig:PackagePrefsEditors} \end{figure} -Die Klasse \textit{VSSimulatorEditor} dient f\"{u}r das Editieren der globalen Simulationseinstellungen und \textit{VSProcessEditor} f\"{u}r das Editieren der Prozesseinstellungen sowie der dazugeh\"{o}rigen Protokollvariablen. Da diese beiden Klassen von \textit{VSAbstractBetterEditor} erben, k\"{o}nnen sie mithilfe von \textit{VSEditorFrame} in einem separaten Fenster angezeigt werden. Alternativ k\"{o}nnen die Editoren auch in der Sidebar im Tab ``Variablen'' angezeigt werden. Auf Abbildung \ref{fig:Simulationseinstellungen} wurde bereits ein \textit{VSEditorFrame} in Aktion gesehen. Auf Abbildung \ref{fig:NeueSimulationVariaben} wurde hingegen ein Prozesseditor in der Sidebar ge\"{o}ffnet. F\"{u}r Protokolle gibt es keine separate Editor-Klasse, da sie bereits vom Prozesseditor aus editiert werden k\"{o}nnen. Dabei iteriert der Prozesseditor \"{u}ber alle f\"{u}r den jeweiligen Prozess verf\"{u}gbaren Protokollobjekte und f\"{u}gt deren Variablen zus\"{a}tzlich in den Prozesseditor ein. Somit erscheinen die Prozess- und die dazugeh\"{o}rigen Protokollvariablen im selben Editor, womit dem Benutzer eine bessere \"{U}bersicht geboten wird. +Die Klasse \textit{VSSimulatorEditor} dient f\"{u}r das Editieren der globalen Simulationseinstellungen und \textit{VSProcessEditor} f\"{u}r das Editieren der Prozesseinstellungen sowie der dazugeh\"{o}rigen Protokollvariablen. Da diese beiden Klassen von \textit{VSAbstractBetterEditor} erben, k\"{o}nnen sie mithilfe von \textit{VSEditorFrame} in einem separaten Fenster angezeigt werden. Alternativ k\"{o}nnen die Editoren auch in der Sidebar im Tab ``Variablen'' angezeigt werden. Auf Abbildung \ref{fig:Simulationseinstellungen} wurde bereits ein \textit{VSEditorFrame} in Aktion gesehen. Auf Abbildung \ref{fig:NeueSimulationVariablen} wurde hingegen ein Prozesseditor in der Sidebar ge\"{o}ffnet. F\"{u}r Protokolle gibt es keine separate Editor-Klasse, da sie bereits vom Prozesseditor aus editiert werden k\"{o}nnen. Dabei iteriert der Prozesseditor \"{u}ber alle f\"{u}r den jeweiligen Prozess verf\"{u}gbaren Protokollobjekte und f\"{u}gt deren Variablen zus\"{a}tzlich in den Prozesseditor ein. Somit erscheinen die Prozess- und die dazugeh\"{o}rigen Protokollvariablen im selben Editor und bieten dem Benutzer so eine bessere \"{U}bersicht. \section{Ereignisse} @@ -123,18 +123,18 @@ F\"{u}r jedes Ereignis existiert eine dazugeh\"{o}rige Klasse, welche die auszuf \label{fig:PackageEvents} \end{figure} -Jedes programmierbare Ereignis mu, bevor es vom Simulator verwendet werden kann, in der statischen Klasse \textit{VSRegisteredEvents} registriert werden. Da sich die Anzahl der verf\"{u}gbaren Ereignisklassen des Simulators bei Laufzeit nicht \"{a}ndert, gibt es keine Instanzen von \textit{VSRegisteredEvents}. Alle Methoden und Klassenattribute sind hier statisch. Wenn beispielsweise eigene Ereignisse implementiert werden, dann m\"{u}ssen alle neuen Ereignisse per Hand in die Datei \textit{VSRegisteredEvents.java} \"{u}bernommen- und der Simulator erneut kompiliert werden. +Jedes programmierbare Ereignis mu, bevor es vom Simulator verwendet werden kann, in der statischen Klasse \textit{VSRegisteredEvents} registriert werden. Da sich die Anzahl der verf\"{u}gbaren Ereignisklassen des Simulators bei Laufzeit nicht \"{a}ndert, gibt es keine Instanzen von \textit{VSRegisteredEvents}. Alle Methoden und Klassenattribute sind hier statisch. Wenn beispielsweise eigene Ereignisse implementiert werden, dann m\"{u}ssen alle neuen Ereignisse per Hand in die Datei \textit{VSRegisteredEvents.java} \"{u}bernommen- und der Simulator neu kompiliert werden. In der Implementierung wird zwischen drei Haupttypen von Ereignissen unterschieden, die jeweils in verschiedenen Paketen liegen (Abbildung \ref{fig:PackageEvents}): \begin{enumerate} - \item \textit{events.implementations}: In diesem Paket befinden sich alle Ereignisse, die ohne weitere Spezialbehanldung im Simulator eingesetzt werden k\"{o}nnen und vom Benutzer direkt im Ereigniseditor programmierbar sind. + \item \textit{events.implementations}: In diesem Paket befinden sich alle Ereignisse, die ohne weitere Spezialbehanldung vom Simulator eingesetzt werden k\"{o}nnen und vom Benutzer direkt im Ereigniseditor programmierbar sind. \begin{itemize} \item \textit{VSProcessCrashEvent}: Dieses Ereignis l\"{a}sst den dazugeh\"{o}rigen Prozess abst\"{u}rzen. \item \textit{VSProcessRecoverEvent}: Dieses Ereignis l\"{a}sst den dazugeh\"{o}rigen Prozess wiederbeleben. \end{itemize} - \item \textit{events.internal}: In diesem Paket befinden sich alle Ereignisse, die vom Simulator intern verwendet werden und dadurch eine direkte Programmierung via Ereigniseditor ausschlieen. + \item \textit{events.internal}: In diesem Paket befinden sich alle Ereignisse, die vom Simulator intern verwendet werden. Bevor der Simulator von diesen Ereignissen gebrauch machen kann, muss er vorher einige Spezialbehandlungen durchf\"{u}hren. \begin{itemize} \item \textit{VSAbstractInternalEvent}: Diese Klasse stellt weitere Methoden zur Verf\"{u}gung, die von allen internen Ereignissen ben\"{o}tigt werden. Derzeit betrifft dies nur Methoden zur Serialisierung der gegebenen Objekte. Auf die Serialisierung (Abspeichern/Laden) von Simulationen wird sp\"{a}ter noch genauer eingegangen. \item \textit{VSMessageReceiveEvent}: Diese Klasse wird f\"{u}r die Ankunft einer Nachricht bei einem Empf\"{a}ngerprozess ben\"{o}tigt. Sie kapselt die eigentliche Nachricht und \"{u}berpr\"{u}ft, ob der Empf\"{a}ngerprozess das zur Nachricht dazugeh\"{o}rige Protokoll versteht. Diese Klasse \"{u}berpr\"{u}ft auch die Simulationseinstellung ``Nur relevante Nachrichten anzeigen'' und entscheidet, ob die Nachricht nach Eintreffen in der Visualisierung und im Loggfenster ber\"{u}cksichtigt werden soll oder nicht. @@ -144,7 +144,7 @@ In der Implementierung wird zwischen drei Haupttypen von Ereignissen unterschied \item \textit{protocols.implementations}: In diesem Paket befinden sich alle Protokollimplementierung. Jedes Protokoll besitzt hier seine eigene Klasse. Alle Protokolle erben hierbei von der auf Abbildung \ref{fig:PackageEvents} zu sehenden Klasse \textit{protocols.VSAbstractProtocol}. Da \textit{protocols.VSAbstractProtocol} von \textit{events.VSAbstractEvent} erbt, kann ein Protokollobjekt auch als Ereignis eingesetzt werden. Ein solches Ereignis ruft bei Eintritt entweder die Methode \textit{onServerStart} oder die Methode \textit{onClientStart} des Protokolls auf, was einer Server- beziehungsweise einer Clientanfrage entspricht. Die Implementierung von Protokollen wird sp\"{a}ter genauer behandelt. \end{enumerate} -Alle Ereignisse, die das Interface \textit{VSCopyableEvent} implementieren, k\"{o}nnen vom Anwender im Ereigniseditor mit einem Rechtsklick kopiert werden und m\"{u}ssen die Methode \textit{initCopy(VSAbstractEvent copy)} implementieren. Dort werden alle relevanten Attribute in das neue Ereignis \textit{copy} kopiert. +Alle Ereignisse, die das Interface \textit{VSCopyableEvent} implementieren, k\"{o}nnen vom Anwender im Ereigniseditor mit einem Rechtsklick kopiert werden und m\"{u}ssen die Methode \textit{initCopy(VSAbstractEvent copy)} implementieren. Dort werden dann alle relevanten Attribute in das neue Ereignis \textit{copy} kopiert. Alle Ereignisklassen erweitern die abstrakte Klasse \textit{VSAbstractEvent} und m\"{u}ssen folgende abstrakten Methoden implementieren: @@ -157,11 +157,11 @@ Des Weiteren werden folgende nicht-abstrakte Methoden von \textit{VSAbstractEven \begin{itemize} \item \textit{public void logg(String message)}: Diese Methode schreibt eine Loggnachricht in das Simulationsloggfenster. - \item \textit{public VSAbstractEvent getCopy()}: Diese Methode erstellt vom aktuellen Ereignis eine Kopie, wovon eine Referenz zur\"{u}ckgegeben wird. Alle Ereignisse die kopiert werden k\"{o}nnen m\"{u}ssen ebenso das Interface \textit{VSCopyableEvent} implementieren. Wenn ein Ereignis dies nicht tut und \textit{getCopy()} aufgerufen wird, dann wird von Java die Ausnahme \textit{exceptions.VSEventNotCopyable} geworfen. + \item \textit{public VSAbstractEvent getCopy()}: Diese Methode erstellt vom aktuellen Ereignis eine Kopie, worauf eine Referenz zur\"{u}ckgegeben wird. Alle Ereignisse die kopiert werden k\"{o}nnen m\"{u}ssen ebenso das Interface \textit{VSCopyableEvent} implementieren. Wenn ein Ereignis dies nicht tut und \textit{getCopy()} aufgerufen wird, dann wird von Java die Ausnahme \textit{exceptions.VSEventNotCopyable} geworfen. \item \textit{public VSAbstractEvent getCopy(VSInternalProcess process)}: Diese Methode erstellt vom aktuellen Ereignis ebenfalls eine Kopie, jedoch mit dem Unterschied, dass das Ereignis einem anderen Prozess zugewiesen wird. \end{itemize} -Jede Ereiginsklasse hat zudem Zugriff auf folgende Attribute, die von \textit{VSAbstractEvent} vererbt werden: +Jede Ereiginsklasse hat auerdem Zugriff auf folgende Attribute, die von \textit{VSAbstractEvent} vererbt werden: \begin{itemize} \item \textit{protected VSPrefs prefs}: Eine Referenz auf das Simulationseinstellungsobjekt. Hier\"{u}ber lassen sich alle Simulationseinstellungen beziehen. @@ -172,7 +172,7 @@ Jede Ereiginsklasse hat zudem Zugriff auf folgende Attribute, die von \textit{VS Im Folgenden wird als Beispiel die Implementierung des Prozessabsturzereignisses \textit{VSProcessCrashEvent} behandelt. Da die dazugeh\"{o}rige Klasse keine Attribute besitzt, verbleibt hier auch die \textit{initCopy}-Methode mit leerem Rumpf. Jede Ereignisklasse muss in \textit{onInit()} mit \textit{setClassname} den eigenen Klassennamen mitteilen. In \textit{onStart()} wird das eigentliche Ereignis ausgef\"{u}hrt. Hier wird obligatorisch \"{u}berpr\"{u}ft, ob der Prozess bereits abgest\"{u}rzt (hier eigentlich nicht Notwendig, verbessert aber die Lesbarkeit der Logik) ist und gegebenenfalls wird der Prozess dann zum Absturz bewegt. -Der Task-Manager \"{u}berpr\"{u}ft bereits, ob der Prozess abgest\"{u}rzt ist oder nicht, d.h. ein Ereignis wird bei einem abgest\"{u}rztem Prozess gar nicht erst ausgef\"{u}hrt. Die einzige Ausnahme bildet ein Wiederbelebungsereignis (\text{VSProcessRecover}), welches vom Task-Manager ausgef\"{u}hrt wird, auch wenn der Prozess abgest\"{u}rzt ist. Mit \textit{logg} wird eine Nachricht in das Loggfenster geschrieben, welche ueber das \textit{VSPrefs}-Objekt \textit{prefs} bezogen wird: +Der Task-Manager \"{u}berpr\"{u}ft bereits, ob der Prozess abgest\"{u}rzt ist oder nicht, d.h. ein Ereignis wird bei einem abgest\"{u}rztem Prozess gar nicht erst ausgef\"{u}hrt. Die einzige Ausnahme bildet ein Wiederbelebungsereignis (\text{VSProcessRecover}), welches vom Task-Manager ausgef\"{u}hrt wird, auch wenn der Prozess abgest\"{u}rzt ist. Mit \textit{logg} wird eine Nachricht (die \"{u}ber \textit{prefs} bezogen wird) in das Loggfenster geschrieben. \begin{code} package events.implementations; @@ -196,6 +196,23 @@ extends VSAbstractEvent implements VSCopyableEvent { } \end{code} +In der Datei \textit{events/VSRegisteredEvents.java} muss in der \textit{init}-Methode f\"{u}r jedes programmierbare Ereignis ein Eintrag existieren. Die \textit{init}-Methode wird einmal beim Starten des Simulators ausgef\"{u}hrt: + +\begin{code} +public static void init(VSPrefs prefs_) { + . + . + . + registerEvent("events.implementations.VSProcessCrashEvent", + "Prozessabsturz"); + . + . + . +} +\end{code} + +Als Resultat kann das Prozessabsturzereignis nach Belieben via GUI programmieren- und eingesetzt werden. + \section{Zeitformate, Prozesse, Nachrichten sowie Task-Manager} \subsection{Funktionsweise} @@ -209,12 +226,10 @@ Das Paket \textit{core.time} auf Abbildung \ref{fig:PackageCoreTime} stellt ledi \label{fig:PackageCoreTime} \end{figure} -Auf Abbildung \ref{fig:PackageCore} ist stark vereinfacht (in Wirklichkeit existieren in den angegebenen Klassen viel mehr Attribute und Methoden) das Paket \textit{core} dargestellt. F\"{u}r jedes auszuf\"{u}hrendes Ereignis wird eine Instanz von \textit{VSTask} ben\"{o}tigt, welche die Ereigniseintrittszeit als Attribut abgespeichert hat sowie eine Referenz auf das Objekt des auszuf\"{u}hrenden Ereignisses (\textit{VSAbstractEvent}) und dem Prozessobjekt besitzt. Geplante \textit{VSTask}-Instanzen werden f\"{u}r eine sp\"{a}tere Ausf\"{u}hrung dem Task-Manager \"{u}bergeben. +Auf Abbildung \ref{fig:PackageCore} ist stark vereinfacht das Paket \textit{core} dargestellt. F\"{u}r jedes auszuf\"{u}hrendes Ereignis wird eine Instanz von \textit{VSTask} ben\"{o}tigt, welche die Ereigniseintrittszeit als Attribut abgespeichert hat sowie eine Referenz auf das Objekt des auszuf\"{u}hrenden Ereignisses (\textit{VSAbstractEvent}) und dem Prozessobjekt besitzt. Geplante \textit{VSTask}-Instanzen werden f\"{u}r eine sp\"{a}tere Ausf\"{u}hrung dem Task-Manager \"{u}bergeben. Die Kapselung eines \textit{VSAbstractEvent}-Objektes in einem \textit{VSTask}-Objekt erlaubt es, dass die selbe \textit{VSAbstractEvent}-Instanz mehrmals auf einmal im Task-Manager geplant werden kann. Ohne dieser Kapselung g\"{a}be es f\"{u}r jedes Ereignis lediglich nur eine einzige m\"{o}gliche Eintrittszeit. Von dieser M\"{o}glichkeit wird zum Beispiel bei den Server- und Clientanfragen eines Protokollobjektes Gebrauch gemacht. F\"{u}r jedes Protokoll kann der Anwender in einer Simulation beliebig viele Anfragen programmieren, wobei f\"{u}r jede Anfrage stets das selbe Protokollobjekt als Ereignis verwendet wird. -Jede Simulation besitzt genau eine Instanz von \textit{VSTaskManager}. Eine Instanz dieser Klasse stellt den Task-Manager dar. Er verwaltet alle \textit{VSTask}-Instanzen und \"{u}berpr\"{u}ft periodisch, ob es auszuf\"{u}hrende Ereignisse gibt. Der Task-Manager unterscheidet zwischen globalen und lokalen Ereignissen. Hierbei werden alle globalen Ereignisse (gekapselt in einem \textit{VSTask}-Objekt) in einer Priorit\"{a}ts-Warteschlange abgelegt. Die Priorit\"{a}ts-Warteschlange stellt hierbei die korrekte Ereigniseintrittsreihenfolge sicher. Da sich die lokalen Zeiten aller beteiligten Prozesse voneinander unterscheiden k\"{o}nnen, muss f\"{u}r jeden Prozess eine separate lokale Priorit\"{a}ts-Warteschlange verwendet werden, auf die jedes Prozessobjekt seine eigene Referenz hat. In den lokalen Warteschlangen sind die geplanten lokalen Ereignisse (auch gekapselt in einem \textit{VSTask}-Objekt) abgelegt. Der Task-Manager greift \"{u}ber eine \textit{java.util.ArrayList} auf alle Prozessobjekte zu und kann somit auch auf alle lokalen Warteschlangen zugreifen und diese verwalten. - \begin{figure}[h] \centering \includegraphics[width=10.0cm]{images/core} @@ -222,9 +237,11 @@ Jede Simulation besitzt genau eine Instanz von \textit{VSTaskManager}. Eine Inst \label{fig:PackageCore} \end{figure} -Eine Instanz von \textit{VSMessage} stellt eine Nachricht dar, die von einem Prozess verschickt wird. F\"{u}r jedes Versenden einer Nachricht wird hiervon eine Instanz gebildet, wo der Senderprozess die zu verschickende Daten ablegt. Da \textit{VSMessage} von \textit{VSPrefs} erbt, k\"{o}nnen zwischen zwei Prozessen beliebige Datentypen (Tabelle \ref{tb:VariablenDatentypen}) \"{u}ber eine Nachricht verschickt werden. Anschlieend wird f\"{u}r jeden Empf\"{a}ngerprozess das neues Ereignisobjekt der Klasse \textit{VSMessageReceiveEvent} angelegt, welche eine Referenz der verschickten Nachricht besitzt. Danach wird ein \textit{VSTask}-Objekt instanziert, wo die Referenz auf das Ereignisobjekt und das dazugeh\"{o}rige Prozessobjekt sowie die Ereigniseintrittszeit als Attribute gespeichert werden. Das \textit{VSTask}-Objekt wird dann dem Task-Manager "{u}bergeben, der das dazugeh\"{o}rige Ereignis ausf\"{u}hrt, wenn die Ereigniseintrittszeit eingetroffen ist. Die Verschachtelung der Objekte beim Verschicken einer Nachricht ist auf Abbildung \ref{fig:Wrapping} dargestellt. Via Java-Polymorphie wird das \textit{VSMessageReceiveEvent}-Objekt in ein \textit{VSAbstractEvent} umgewandelt. +Jede Simulation besitzt genau eine Instanz von \textit{VSTaskManager}. Eine Instanz dieser Klasse stellt den Task-Manager dar. Er verwaltet alle \textit{VSTask}-Instanzen und \"{u}berpr\"{u}ft periodisch, ob es auszuf\"{u}hrende Ereignisse gibt. Der Task-Manager unterscheidet zwischen globalen und lokalen Ereignissen. Hierbei werden alle globalen Ereignisse (gekapselt in einem \textit{VSTask}-Objekt) in einer Priorit\"{a}ts-Warteschlange abgelegt. Die Priorit\"{a}ts-Warteschlange stellt hierbei die korrekte Ereigniseintrittsreihenfolge sicher. Da sich die lokalen Zeiten aller beteiligten Prozesse voneinander unterscheiden k\"{o}nnen, muss f\"{u}r jeden Prozess eine separate lokale Priorit\"{a}ts-Warteschlange verwendet werden, auf die jedes Prozessobjekt seine eigene Referenz hat. In den lokalen Warteschlangen sind die geplanten lokalen Ereignisse (auch gekapselt in einem \textit{VSTask}-Objekt) abgelegt. Der Task-Manager greift \"{u}ber eine \textit{java.util.ArrayList} auf alle Prozessobjekte zu und kann somit auch auf alle lokalen Warteschlangen zugreifen und verwalten. + +Eine Instanz von \textit{VSMessage} stellt eine Nachricht dar, die von einem Prozess verschickt wird. F\"{u}r jedes Versenden einer Nachricht wird hiervon eine Instanz gebildet, wo der Senderprozess die zu verschickende Daten ablegt. Da \textit{VSMessage} von \textit{VSPrefs} erbt, k\"{o}nnen zwischen zwei Prozessen beliebige Datentypen (Tabelle \ref{tb:VariablenDatentypen}) \"{u}ber eine Nachricht verschickt werden. Anschlieend wird f\"{u}r jeden Empf\"{a}ngerprozess das neues Ereignisobjekt der Klasse \textit{VSMessageReceiveEvent} angelegt, welches eine Referenz der verschickten Nachricht besitzt (Abbilung \ref{fig:Wrapping}). Danach wird ein \textit{VSTask}-Objekt instanziert, wo die Referenz auf das Ereignisobjekt und das dazugeh\"{o}rige Prozessobjekt sowie die Ereigniseintrittszeit als Attribute gespeichert werden. Das \textit{VSTask}-Objekt wird dann dem Task-Manager "{u}bergeben, der das dazugeh\"{o}rige Ereignis ausf\"{u}hrt, wenn die Ereigniseintrittszeit eingetroffen ist. Via Java-Polymorphie wird das \textit{VSMessageReceiveEvent}-Objekt in ein \textit{VSAbstractEvent} umgewandelt. -Erw\"{a}hnentswert ist auch die Klasse \textit{VSMessageStub}, welche ein \textit{VSMessage} kapselt. Ihr Zweck ist das Verstecken einiger Methoden von \textit{VSMessage} im Protokoll-API, welches f\"{u}r die Erstellung eigener Protokolle dient. Der Protokoll-Entwickler soll m\"{o}glichst nichts falsch machen k\"{o}nnen und deswegen soll den Protokoll-API ein eingeschr\"{a}nkter Funktionsumpfang zur Verf\"{u}rung gestellt werden. Da sich \textit{VSMessageStub} im selben Paket wie \textit{VSMessage} befindet, kann \textit{VSMessageStub} auf paket-private Methoden von \textit{VSMessage} zugreifen. Protokolle hingegen werden in einem anderen Paket implementiert und haben somit keinen Zugriff auf diese paket-privaten Methoden. Zwar kann der Protokollentwickler ein eigenes \textit{VSMessageStub}-Objekt anlegen, jedoch kann er auf diese Weise besser unterscheiden, auf welche Mehhoden er zugreifen sollte und auf welche nicht. Das Protokoll-API wird sp\"{a}ter genauer behandelt. +Erw\"{a}hnentswert ist auch die Klasse \textit{VSMessageStub}, welche ein \textit{VSMessage} kapselt. Ihr Zweck ist das Verstecken einiger Methoden vor dem Protokoll-API, welches f\"{u}r die Erstellung eigener Protokolle dient. Der Protokoll-Entwickler soll m\"{o}glichst nichts falsch machen k\"{o}nnen und deswegen soll den Protokoll-API ein eingeschr\"{a}nkter Funktionsumpfang zur Verf\"{u}gung gestellt werden. Da sich \textit{VSMessageStub} im selben Paket wie \textit{VSMessage} befindet, kann \textit{VSMessageStub} auf paket-private Methoden von \textit{VSMessage} zugreifen. Protokolle hingegen werden in einem anderen Paket implementiert und haben somit keinen Zugriff auf diese paket-privaten Methoden. Zwar kann der Protokollentwickler ein eigenes \textit{VSMessageStub}-Objekt anlegen, jedoch kann er auf diese Weise besser unterscheiden auf welche Mehhoden er zugreifen sollte und auf welche nicht. Das Protokoll-API wird sp\"{a}ter genauer behandelt. \begin{figure}[h] \centering @@ -233,9 +250,9 @@ Erw\"{a}hnentswert ist auch die Klasse \textit{VSMessageStub}, welche ein \texti \label{fig:Wrapping} \end{figure} -Der Task-Manager speichert anschlieend die Empfangsereignisse in den lokalen Warteschlangen der Empf\"{a}ngerprozesse. Die Nachricht kommt bei einem Empf\"{a}ngerprozess an, sobald das Ereignis f\"{u}r den Empfang eintritt. F\"{u}r die korrekte Implementierung der Lamport- und Vektor-Zeitstempel wird jeder Nachricht automatisch eine Referenz auf die Lamport- sowie auf die Vektorzeit des sendenden Prozesses als Attribut beigef\"{u}gt. F\"{u}r die \"{U}berpr\"{u}fung des Protokolls wird in jeder Nachricht auch der Klassenname des jeweiligen Protokolls abgespeichert. +Der Task-Manager speichert anschlieend in der globalen Warteschlange die Nachrichtenempfangsereignisse. Die Nachricht kommt bei einem Empf\"{a}ngerprozess an, sobald das Ereignis f\"{u}r den Empfang eintritt. F\"{u}r die korrekte Implementierung der Lamport- und Vektor-Zeitstempel wird jeder Nachricht automatisch eine Referenz auf die Lamport- sowie auf die Vektorzeit des sendenden Prozesses als Attribut beigef\"{u}gt. F\"{u}r die \"{U}berpr\"{u}fung des Protokolls wird in jeder Nachricht auch der Klassenname des jeweiligen Protokolls abgespeichert. -Eine Instanz von \textit{VSInternalProcess} repr\"{a}sentiert einen simulierten Prozess. Ein \textit{VSInternalProcess} stellt alle vom Simulator intern verwendeten Methoden zur Verf\"{u}gung, w\"{a}hrend ein \textit{VSAbstractProcess} lediglich Methoden hat, die man im Protokoll-API f\"{u}r die Erstellung eigener Protokolle verwenden darf. Da \textit{VSAbstractProcess} abstrakt ist und hiervon keine Instanz gebildet werden darf, muss f\"{u}r einen neuen Prozesses stets ein \textit{VSInternalProcess}-Objekt erstellt werden. Via Polymorphie wird dieses Objekt nach \textit{VSAbstractProcess} umgewandelt und so dem Protokoll-API zur Verf\"{u}gung gestellt. Beispielsweise darf mit \textit{getTasks()} nur vom Simulator intern auf die Priorit\"{a}ts-Warteschlangen zugegriffen werden, w\"{a}hrend man im Protokoll-API selbiges vermeiden sollte und auch gar nicht direkt m\"{o}glich ist. Hierf\"{u}r h\"{a}tte man auch ein Stub-Objekt \textit{VSProcessStub} verwenden k\"{o}nnen. Da aber so gut wie alle paar Millisekunden auf die Methoden von \textit{VSInternalProcess} zugegriffen wird, wurde hier aus Performancegr\"{u}nden der Weg \"{u}ber eine Vererbungungsstufe preferiert. +Eine Instanz von \textit{VSInternalProcess} repr\"{a}sentiert einen simulierten Prozess. Ein \textit{VSInternalProcess} stellt alle vom Simulator intern verwendeten Methoden zur Verf\"{u}gung, w\"{a}hrend ein \textit{VSAbstractProcess} lediglich Methoden hat, die der Protokollentwickler f\"{u}r die Erstellung eigener Protokolle verwenden darf. Da \textit{VSAbstractProcess} abstrakt ist und hiervon keine Instanz gebildet werden darf, muss f\"{u}r einen neuen Prozesses stets ein \textit{VSInternalProcess}-Objekt erstellt werden. Via Polymorphie wird dieses Objekt nach \textit{VSAbstractProcess} umgewandelt und so dem Protokoll-API zur Verf\"{u}gung gestellt. Beispielsweise darf mit \textit{getTasks()} nur vom Simulator intern auf die Priorit\"{a}ts-Warteschlangen zugegriffen werden, w\"{a}hrend man im Protokoll-API selbiges vermeiden sollte und auch gar nicht direkt m\"{o}glich ist. Hierf\"{u}r h\"{a}tte man auch ein Stub-Objekt \textit{VSProcessStub} implementieren k\"{o}nnen. Da aber so gut wie alle paar Millisekunden auf die Methoden von \textit{VSInternalProcess} zugegriffen wird, wurde hier aus Performancegr\"{u}nden der Weg \"{u}ber eine Vererbungungsstufe preferiert. Alle einstellbaren Prozessvariablen werden von der Klasse \textit{VSPrefs} vererbt. Damit bei Neuberechnungen die Variablen nicht dauernd \"{u}ber eine \textit{HashMap} von \textit{VSPrefs} zugregriffen werden mu, speichert \textit{VSInternalProcess} aus Performancegr\"{u}nden einige Variablen als lokale Kopie ab. Zum Beispiel wird f\"{u}r die lokale Prozesszeit nicht auf das \textit{HashMap}-Objekt von \textit{VSPrefs}, sondern auf das Klassenattribut \textit{private long localTime} zugegriffen. Vor- und nach dem Editieren \"{u}ber den Prozesseditor werden die \textit{VSPrefs} beziehungsweise die lokalen Kopien auf den neusten Stand gebracht. Selbiges gilt f\"{u}r weitere Variablen wie zum Beispiel der Uhrabweichung eines Prozesses. @@ -272,7 +289,7 @@ In diesem Beispiel wurden zwei Ereignisse (Absturz- und Wiederbelebung eines geg In diesem Abschnitt wird auf die Implementierung der Protokolle und das Protokoll-API eingegangen. Im Protokoll-API wird in der Regel nicht direkt auf den Task-Manager und auf die explizite instanzierung von Ereignisobjekten zur\"{u}ckgegriffen. Das wird alles vom API automatisch gemacht. -Auf Abbildung \ref{fig:PackageProtocols} sind die Pakete \textit{protocols} und \textit{protocols.implementations} dargestellt, welche f\"{u}r die Protokollimplementierungen zust\"{a}ndig sind. \textit{VSAbstractProtocol} stellt lediglich gemeinsame Methoden und Attribute zur Verf\"{u}gung, die von allen Protokollen verwendet werden k\"{o}nnen. Jedes Protokoll hat im Paket \textit{protocols.implementations} seine eigene Klasse, die von \textit{VSAbstractProtocol} erbt. Im Prinzip besitzt jedes Prozessobjekt von jedem Protokoll seine eigene Instanz. Bei \textit{10} Protokollen und \textit{3} beteiligten Prozessen werden also \textit{30} Protokollobjekte verwendet. Jedes Protokollobjekt verwaltet sowohl die Server- als auch die Clientseite eines Protokolls auf einmal. Dabei merkt sich \textit{VSAbstractProtocol} anhand eines Flags ob der aktuelle Kontext server- oder clientbezogen ist und f\"{u}hrt dementsprechen beim Eintreffen von Ereignissen die Server- beziehungsweise Clientmethoden des Protokolls auf. \textit{VSAbstractProtocol} \"{u}berpr\"{u}ft auch, ob Client oder Server \"{u}berhaupt aktiviert ist. Nur wenn der Server oder Client aktiviert ist, reagiert der Server beziehungsweise der Cleint wenn f\"{u}r sie ein Ereignis eintritt. +Auf Abbildung \ref{fig:PackageProtocols} sind die Pakete \textit{protocols} und \textit{protocols.implementations} dargestellt, welche f\"{u}r die Protokollimplementierungen zust\"{a}ndig sind. \textit{VSAbstractProtocol} stellt lediglich gemeinsame Methoden und Attribute zur Verf\"{u}gung, die von allen Protokollen verwendet werden k\"{o}nnen. Jedes Protokoll hat im Paket \textit{protocols.implementations} seine eigene Klasse, die von \textit{VSAbstractProtocol} erbt. Im Prinzip besitzt jedes Prozessobjekt von jedem Protokoll seine eigene Instanz. Bei \textit{10} Protokollen und \textit{3} beteiligten Prozessen werden also \textit{30} Protokollobjekte verwendet. Jedes Protokollobjekt verwaltet sowohl die Server- als auch die Clientseite eines Protokolls auf einmal. Dabei merkt sich \textit{VSAbstractProtocol} anhand eines Flags ob der aktuelle Kontext server- oder clientbezogen ist und f\"{u}hrt dementsprechen beim Eintreffen von Ereignissen die Server- beziehungsweise Clientmethoden des Protokolls auf. \textit{VSAbstractProtocol} \"{u}berpr\"{u}ft auch, ob ein Client oder ein Server \"{u}berhaupt aktiviert ist. \begin{figure}[h] \centering @@ -281,7 +298,7 @@ Auf Abbildung \ref{fig:PackageProtocols} sind die Pakete \textit{protocols} und \label{fig:Protokollvariablen} \end{figure} -Es ist bereits bekannt, dass Protokolle auch eigene vom Anwender im Prozesseditor editierbare Variablen haben k\"{o}nnen. Da \textit{VSAbstractProtocol} von \textit{VSAbstractEvent} erbt, was wiederum von \textit{VSPrefs} erbt, werden alle Protokollvariablen einfach in die Mutterklasse \textit{VSPrefs} abgelegt. Zum Beispiel kann mit \textit{super.setBoolean(``test'', true);} eine neue Protokollvariable ``true'' angelegt werden. Anhand eines sp\"{a}teren Beispiels wird dies noch weiter verdeutlicht. +Es ist bereits bekannt, dass Protokolle im Prozesseditor editierbare Variablen haben k\"{o}nnen. Da \textit{VSAbstractProtocol} von \textit{VSAbstractEvent} erbt, was wiederum von \textit{VSPrefs} erbt, werden alle Protokollvariablen einfach in die Mutterklasse \textit{VSPrefs} abgelegt. Zum Beispiel kann mit \textit{super.setBoolean(``test'', true);} eine neue Protokollvariable \textit{test} mit dem Standardwert \textit{true} angelegt werden. Diese Variable erscheint dann automatisch im Prozesseditor. Da der Simulator daf\"{u}r ausgelegt wurde eigene Protokolle zu implementieren, werden im Folgenden alle verf\"{u}gbaren Protokoll-API-Methoden etwas ausf\"{u}hrlicher als gewohnt beschrieben. Jede Protokollklasse mu die folgenden Methoden implementieren: @@ -290,9 +307,9 @@ Da der Simulator daf\"{u}r ausgelegt wurde eigene Protokolle zu implementieren, \item Einen \"{o}ffentlichen (\textit{public}) Konstruktor. Der Konstruktor mu angeben, ob bei dem gegebene Protokoll der Client oder der Server die Anfragen startet. \item \textit{abstract public void onClientInit()}: Bevor das Protokollobjekt benutzt werden kann, mu es initialisiert werden. Diese Methode wird vor dem ersten Verwenden des Protokolls innerhalb einer Simulation ausgef\"{u}hrt. In der Regel werden hier Protokollvariablen unter Verwendung von \textit{VSPrefs} und Attribute der Protokollklasse initialisiert. Die hier initialisierten Protokollvariablen lassen sich vom Benutzer im Prozesseditor des jeweiligen Prozesses editieren. \item \textit{abstract public void onClientReset()}: Dese Methode wird jedes Mal ausgef\"{u}hrt, wenn die Simulation zur\"{u}ckgesetzt wird. - \item \textit{abstract public void onClientStart()}: Diese Methode wird nur ben\"{o}tigt, wenn der Client immer die Anfragen startet. Diese Methode generiert in der Regel immer eine Clientanfrage, die via \textit{VSMessage}-Objekt an alle beteiligten Prozesse verschickt wird. + \item \textit{abstract public void onClientStart()}: Diese Methode wird nur ben\"{o}tigt, wenn der Client immer die Anfragen startet. Diese Methode generiert in der Regel immer eine Clientanfrage, die via \textit{VSMessage}-Objekt an alle anderen beteiligten Prozesse verschickt wird. \item \textit{abstract public void onClientRecv(VSMessage message)}: Diese Methode wird jedes Mal Ausgef\"{u}hrt, wenn eine Servernachricht \textit{message} bei dem Client eintrifft. - \item \textit{abstract public void onClientSchedule()}: Diese Methode wird jedes Mal ausgef\"{u}hrt, wenn ein Wecker-Ereignis eintritt. + \item \textit{abstract public void onClientSchedule()}: Diese Methode wird jedes Mal ausgef\"{u}hrt, wenn ein Weckerereignis eintritt. \item \textit{public String toString()}: Diese Methode ist nur optional. Hiermit lassen sich die Loggnachrichten eines Protokolls anpassen. Wenn diese Methode in einer Protokollimplementierung ausgelassen wird, so wird stets die \textit{toString}-Methode der Mutterklasse \textit{VSAbstractProtocol} verwendet. \end{itemize} @@ -311,7 +328,7 @@ Jede Protokollklasse bekommt folgende Methoden von \textit{VSAbstractProtocol} v \item \textit{pubic final int getNumProcesses()}: Gibt die Anzahl an der Simulation beteiligten Prozesse zur\"{u}ck. \end{itemize} -Bei der Implementierung von Protokollen k\"{o}nnen zus\"{a}tzlich auf die vererbten Attribute \textit{VSAbstractProcess process} und \textit{VSPrefs prefs} zugegriffen werden. Verf\"{u}gbare Methoden von \textit{VSPrefs} wurden bereits behandelt. \"{U}ber \textit{prefs} lassen sich alle globalen Simulationseinstellungen abrufen (zum Beispiel die Simulationsvariable die Angibt, ob Prozesse eigene nachrichten empfangen: \textit{bool foo = prefs.getBoolean(``sim.message.own.recv'')}). Folgende Prozessmethoden d\"{u}rfen auf \textit{process} aus dem Protokoll-API verwendet werden: +Bei der Implementierung von Protokollen k\"{o}nnen zus\"{a}tzlich auf die vererbten Attribute \textit{VSAbstractProcess process} und \textit{VSPrefs prefs} zugegriffen werden. Verf\"{u}gbare Methoden von \textit{VSPrefs} wurden bereits behandelt. \"{U}ber \textit{prefs} lassen sich alle globalen Simulationseinstellungen abrufen (zum Beispiel die Simulationsvariable die Angibt, ob Prozesse eigene Nachrichten empfangen: \textit{bool recvOwn = prefs.getBoolean(``sim.message.own.recv'')}). Folgende Prozessmethoden d\"{u}rfen auf \textit{process} aus dem Protokoll-API verwendet werden: \begin{itemize} \setlength{\itemsep}{-2mm} @@ -343,9 +360,8 @@ In der Regel werden in Protokollen auch Nachrichten (\textit{VSMessage}) verschi \begin{itemize} \setlength{\itemsep}{-2mm} \item \textit{public VSMessage()}: Der Standardkonstruktor f\"{u}r die Erstellung einer neuen Nachricht. - \item \textit{public String getProtocolClassname()}: Gibt den Klassennamen des zur Nachricht dazugeh\"{o}rigen Protokolls zur\"{u}ck. Diese Methode funktioniert nur bei empfangenen Nachrichten. \item \textit{public int getmessageID()}: Gibt die Nachrichten-ID zur\"{u}ck. - \item \textit{public boolean equals(VSMessage message)}: Hiermit l\"{a}t sich \"{u}berpr\"{u}fen, ob eine gegebene Nachricht die selbe Nachrichten-ID besitzt (es sich um die selbe Nachricht handelt). + \item \textit{public boolean equals(VSMessage message)}: Hiermit l\"{a}t sich \"{u}berpr\"{u}fen, ob eine weitere Nachricht die selbe NID besitzt (wobei es sich dann um die selbe Nachricht handeln w\"{u}rde). \end{itemize} Folgende weitere Methoden von \textit{VSMessage} k\"{o}nnen bei Erhalt einer Nachricht verwendet werden: @@ -354,8 +370,9 @@ Folgende weitere Methoden von \textit{VSMessage} k\"{o}nnen bei Erhalt einer Nac \setlength{\itemsep}{-2mm} \item \textit{public String getName()}: Gibt den Namen des zur Nachricht dazugeh\"{o}rigen Protokolls zur\"{u}ck. Diese Methode funktioniert nur bei empfangenen Nachrichten richtig. \item \textit{public String getProtocolClassname()}: Gibt den Klassennamen des zur Nachricht dazugeh\"{o}rigen Protokolls zur\"{u}ck. Diese Methode funktioniert nur bei empfangenen Nachrichten richtig. - \item \textit{public VSInternalProcess getSendingProcess()}: Gibt eine Referenz auf den Senderprozess zur\"{u}ck. Diese Methode funktioniert nur bei empfangenen Nachrichten richtig. + \item \textit{public VSAbstractProcess getSendingProcess()}: Gibt eine Referenz auf den Senderprozess zur\"{u}ck. Diese Methode funktioniert nur bei empfangenen Nachrichten richtig. \item \textit{public long getLamportTime()}: Gibt die Lamportzeit des Senderprozesses zur\"{u}ck. Diese Methode funktioniert nur bei empfangenen Nachrichten richtig. + \item \textit{public VSVectorTime getLamportTime()}: Gibt die Vektorzeit des Senderprozesses zur\"{u}ck. Diese Methode funktioniert nur bei empfangenen Nachrichten richtig. \item \textit{public boolean isServerMessage()}: Hiermit l\"{a}t sich entscheiden, ob es sich um eine Server- oder eine Clientnachricht handelt. Diese Methode funktioniert nur bei empfangenen Nachrichten richtig. \end{itemize} @@ -455,9 +472,9 @@ F\"{u}r das erneute Verschicken einer Clientanfrage ruft \textit{onClientSchedul \subsubsection{Serverseite des Protokolls} -Die Serverseite des Protokolls speichert im Attribut \textit{ackSent} ab, ob es bereits eine Best\"{a}tigung des Multicasts verschickt hat oder nicht. In diesem Protokoll werden in \textit{onServerInit} keine Initialisierungen vorgenommen. Demach gibt es f\"{u}r den Benutzer auch keine serverseitigen Protokollvariablen zu editieren. Beim Zur\"{u}cksetzen der Simulation wird lediglich \textit{ackSent} auf den Ursprungswert gesetzt: +Die Serverseite des Protokolls speichert im Attribut \textit{ackSent} ab, ob es bereits eine Best\"{a}tigung des Multicasts verschickt hat oder nicht. In diesem Protokoll werden in \textit{onServerInit} keine Initialisierungen vorgenommen. Demach gibt es f\"{u}r den Benutzer auch keine serverseitigen Protokollvariablen zu editieren. Beim Zur\"{u}cksetzen der Simulation wird lediglich \textit{ackSent} auf den Ursprungswert \textit{false} gesetzt: \begin{code} - private boolean ackSent; + private boolean ackSent = false; public void onServerInit() { } @@ -499,7 +516,7 @@ Hier werden alle Schritte zusammegefasst, die f\"{u}r die Erstellung eines eigen \item VS-Simulator Quelltext beziehen und in das Verzeichnis \textit{vs/sources/protocols/implementations} wechseln. \item Das Template-Protokoll \textit{VSDummyProtocol.java} nach \textit{VSMyProtocol.java} kopieren. \item \textit{VSDummyProtocol.java} editieren und den Klassennamen dort anpassen (\textit{VSDummyProtocol} $\rightarrow$ \textit{VSMyProtocol}). - \item In das oberste Verzeichnis \textit{vs/} wechseln + \item In das oberste Verzeichnis \textit{vs/} wechseln. \item Die datei \textit{sources/events/VSRegisteredEvents.java} editieren, und in der \textit{init}-Methode folgende Zeile hinzuf\"{u}gen: \begin{code} registerEvent("protocols.implementations.VSMyProtocol", @@ -516,6 +533,10 @@ registerEvent("protocols.implementations.VSMyProtocol", Das Paket \textit{simulator} (vereinfacht auf Abbildung \ref{fig:PackageProtocols} dargestellt) implementiert die eigentliche graphische Benutzeroberf\"{a}che des Simulators. Ausnahmen sind die Editorklassen in \textit{prefs.editors} sowie \textit{utils.VSFrame}. +Beim Starten des Simulators wird auf die Main-Methode, welche sich in \textit{VSMain} befindet, aufgerufen. Sie instanziiert ein \textit{VSDefaultPrefs}-Objekt, wo alle Standardeinstellungen des Simulators abgelegt sind. Anschlieend wird ein \textit{VSSimulatorFrame} erzeugt, welches ein Simulatorfenster (wie bereits schon auf Abbildung \ref{fig:NeuesFenster} zu sehen war) implementiert. Das Simulatorfenster erstellt f\"{u}r jede neue Simulation jeweils ein Objekt von \textit{VSSimulator}. Jede Simulation hat im Simulationsfenster einen eigenen Tab. Auf Abbildung \ref{fig:NeuErstellteSimulation} wurde bereits eine neue Simulation erstellt, wo auch unten links der dazugeh\"{o}rige Tab mit der Beschriftung ``Simulator 1'' zu sehen ist. Jede Simulation besitzt dabei eine eigene Simulationsnummer, die bei jeder neuen Simulation um eins inkrementiert wird. Jedes \textit{VSSimulator}-Objekt greift auf \textit{VSSimulatorVisualization} zur\"{u}ck, was die Simulationsvisualisierung (Abbildung \ref{fig:Visualisierung}) implementiert. + +\textit{VSSimulatorVisualization} greift auf Java's Grafikbibliothek Java2D zur\"{u}ck und ist aus Performancegr\"{u}nden mit dem Simulationsverlauf stark verzahnt. Klassenattribute, dessen Wert sich nie \"{a}ndert, wurden stets als \textit{final} deklariert. Attribute, die von Konfigurationen oder Einstellungen abh\"{a}ngig sind, die sich nur nach Konfigurations\"{a}nderung oder Vergr\"{o}ern beziehungsweise Verkleinern des Simulationsfensters \"{a}ndern (Werte, die f\"{u}r die Berechnung des Sekunden-Gatters notwendig sind), werden nur wenn es n\"{o}tig ist neu berechnet. + \begin{figure}[h] \centering \includegraphics[width=11.0cm]{images/simulator} @@ -523,19 +544,15 @@ Das Paket \textit{simulator} (vereinfacht auf Abbildung \ref{fig:PackageProtocol \label{fig:PackageProtocols} \end{figure} -Beim Starten des Simulators wird auf die Main-Methode, welche sich in \textit{VSMain} befindet, aufgerufen. Sie instanziiert ein \textit{VSDefaultPrefs}-Objekt, wo alle Standardeinstellungen des Simulators abgelegt sind. Anschlieend wird ein \textit{VSSimulatorFrame} erzeugt, welches ein Simulatorfenster (wie bereits schon auf Abbildung \ref{fig:NeuesFenster} zu sehen war) implementiert. Das Simulatorfenster erstellt f\"{u}r jede neue Simulation jeweils ein Objekt von \textit{VSSimulator}. Jede Simulation hat im Simulationsfenster einen eigenen Tab. Auf Abbildung \ref{fig:NeuErstellteSimulation} wurde bereits eine neue Simulation erstellt, wo auch unten links der dazugeh\"{o}rige Tab mit der Beschriftung ``Simulator 1'' zu sehen ist. Jede Simulation besitzt dabei eine eigene Simulationsnummer, die bei jeder neuen Simulation um eins inkrementiert wird. Jedes \textit{VSSimulator}-Objekt greift auf \textit{VSSimulatorVisualization} zur\"{u}ck, was die Simulationsvisualisierung (Abbildung \ref{fig:Visualisierung}) implementiert. +Die Klasse \textit{VSMenuItemStates} wird f\"{u}r die Synchronisierung des Simulationsstatusses, der Toolbar und des Simulations-Men\"{u}s (beide Letztere auf Abbildung \ref{fig:Toolbar} zu sehen) verwendet. Abh\"{a}ngig davon kann der Benutzer bestimmte Aktionen durchf\"{u}hren oder nicht (beispielsweise kann eine Simulation nur pausiert werden, wenn sie aktuell abgespielt wird). Alle hier m\"{o}glichen Aktionen wurden bereits in Kapitel 2.1 im Abschnitt ``Die Toolbar'' behandelt. -\textit{VSSimulatorVisualization} ist bei Weitem die kryptischste Klasse des Simulators. Die greift auf die Java's Grafikbibliothek Java2D zur\"{u}ck und ist aus Performancegr\"{u}nden mit dem Simulationsverlauf stark verzahnt. Variablen, die stets den selbe Wert haben, wurden stets als finale Variablen angelegt. Variablen, die von Konfigurationen oder Einstellungen abh\"{a}ngig sind, die sich nur nach Konfigurations\"{a}nderung oder Vergr\"{o}ern beziehungsweise Verkleinern des Simulationsfensters \"{a}ndern, werden nur wenn es n\"{o}tig ist neu berechnet. - -Die Klasse \textit{VSMenuItemStates} wird f\"{u}r die Synchronisierung des Simulationsstatusses, der Toolbar und des Simulations-Men\"{u}s (beide Letztere auf Abbildung \ref{fig:Toolbar} zu sehen) verwendet. Damit ist gemeint, ob die Simulation bereits gestartet wurde, noch nicht gestartet wurde oder gegebenenfalls schon abgelaufen ist. Oder ob die Simulation sich in einem pausierten Status befindet. Abh\"{a}ngig davon kann der Benutzer bestimmte Aktionen durchf\"{u}hren oder nicht (beispielsweise kann eine Simulation nur pausiert werden, wenn sie aktuell abgespielt wird). Alle hier m\"{o}glichen Aktionen wurden bereits in Kapitel 2.1 im Abschnitt ``Die Toolbar'' behandelt. - -Die Klasse \textit{VSCreateTask} wird vom Ereigniseditor verwendet. Der Ereigniseditor (Abbildung \ref{fig:SidebarMitEreignissen}) wird in der Klasse \textit{VSSimulator} implementiert. Hinter jeder Ereignisauswahl verbirgt sich intern ein \textit{VSCreateTask}-Objekt, welches definiert wie das jeweilige Ereignis anzulegen ist und es automatisch in ein \textit{VSTask}-Objekt gekapselt f\"{u}r eine sp\"{a}tere Ausf\"{u}hrung dem Task-Manager \"{u}bergibt. +Die Klasse \textit{VSCreateTask} wird vom Ereigniseditor verwendet. Der Ereigniseditor (Abbildung \ref{fig:SidebarMitEreignissen}) wird in der Klasse \textit{VSSimulator} implementiert. Hinter jeder Ereignisauswahl verbirgt sich intern ein \textit{VSCreateTask}-Objekt, welches definiert wie das jeweilige Ereignis anzulegen ist. \textit{VSLogging} kapselt ein \textit{javax.swing.JTextArea}-Objekt, wo alle Nachrichten geloggt werden. Hier werden alle Loggfunktionen (inklusive Loggfilter sowie tempor\"{a}re Deaktivierung des Loggen) implementiert. Die \textit{JTextArea} wird dem \textit{VSSimulator}-Objekt \"{u}bergeben und dort dargestellt. F\"{u}r den Loggfilter wird intern auf das Java-Standardpaket \textit{java.util.regex} zugegriffen, womit anhand von regul\"{a}ren Ausdr\"{u}cken in Java-Syntax die Loggs gefiltert werden k\"{o}nnen. \subsection{Threads und Zeitsynchronisierung} -Ziel vom Simulator is es bis auf jede Millisekunde genau zu simulieren. Jede simulierte Sekunde soll relativ zur echten Zeit fortschreiten. Die Simulationsabspielgeschwindigkeit l\"{a}t sich bei den Simulationseinstellungen unter ``Abspielgeschwindigkeit der Simulation'' (Float: \textit{sim.clock.speed}) einstellen. Damit dies gew\"{a}hrleistet wird, mu folgendes ber\"{u}cksichtigt werden: +Ziel vom Simulator is es bis auf jede Millisekunde genau simulieren zu k\"{o}nnen. Jede simulierte Sekunde soll relativ zur echten Zeit fortschreiten. Die Simulationsabspielgeschwindigkeit l\"{a}t sich bei den Simulationseinstellungen unter ``Abspielgeschwindigkeit der Simulation'' (Float: \textit{sim.clock.speed}) einstellen. Damit dies gew\"{a}hrleistet wird, mu folgendes ber\"{u}cksichtigt werden: \begin{itemize} \item Das Zeichnen der Visualisierung ben\"{o}tigt pro Aktualisierung einige Millisekunden. Dies ist der Rechenintensivste Teil des Simulators. Hier werden st\"{a}ndig mathematische Berechnungen (wie zum Beispiel die Gerade einer Nachrichtenlinie, die automatische Skalierung des Diagrams die sich automatisch an die Fenstergr\"{o}e und der Simulationsdauer anpasst und vieles mehr). @@ -548,10 +565,10 @@ Ziel vom Simulator is es bis auf jede Millisekunde genau zu simulieren. Jede sim Es wurde folgende relativ einfache L\"{o}sung gew\"{a}hlt, bei der lediglich ein einziger Thread fuer die Visualisierung und die Berechnung der Simulation zust\"{a}ndig ist (alle Zeitangaben sind in Millisekunden). Der Algorithmus verl\"{a}uft leicht vereinfacht in folgender Form ab: \begin{enumerate} - \item Die simulierte Startzeit sei $s$ und die Zeit wo die Simulation aufh\"{o}rt sei $e$. + \item Die simulierte globale Startzeit sei $s$ und die globale Zeit wo die Simulation aufh\"{o}rt sei $e$. \item Wenn $s > e$, dann $s := e$ setzen. \item Neuberechnen und Zeichnen der Visualisierung zum Zeitpunkt $s$. Die dabei verstrichene Zeit sei $v$. - \item Wenn $s == e$, dann Simulation beenden. + \item Wenn $s = e$, dann Simulation beenden. \item F\"{u}r einige Millisekunden den Thread pausieren (schlafen lassen). Hierbei sei $p$ die beim Schlafen verstrichene Zeit. \item \begin{verbatim} @@ -563,7 +580,7 @@ for (i = s; i < s + v + p && i < e; i++) Hinzu kommt noch die Ber\"{u}cksichtigung der Simulationsvariable \textit{sim.clock.speed}, die wegen der \"{U}bersicht im Algorithmus nicht dargestellt wurde. Intern hat der Simulator die echte Zeit und die Simulationszeit abgespeichert. Es werden st\"{a}ndig die verstrichenen echten Zeiten gemessen und anschliessend anhand von \textit{sim.clock.speed} die neuen tats\"{a}chlichen Simulationszeiten berechnet. Rundungsfehler werden pro Durchgang in eine \textit{double}-Variable (Fliekommazahl doppelter Genauigkeit) abgespeichert und wenn der Betrag der Rundungsfehler $>= 1$ ist, dann werden davon die ganzen Werteanteile in der Simulationszeit ber\"{u}cksichtigt. -Jede Simulation besitzt somit seinen eigenen Simulationsthread. Bei mehreren parallel laufenden Simulationen laufen auch mehrere parallele voneinander unabh\"{a}ngige Threads. Des Weiteren gibt es noch den Java Swing-Thread, der f\"{u}r die GUI und der Anwenderinteraktion zust\"{a}ndig ist. Der Anwender kann zu jedem Zeitpunkt in die Simulation eingreifen. Anwendereingriffe m\"{u}ssen daher synchronisiert werden, da es ansonsten zu zeitgleichen Zugriffen/\"{A}nderungen gleicher Objekte kommen kann und somit eine Java-Ausnahme geworfen wird die das Stoppen eines Threads verursacht. +Jede Simulation besitzt somit seinen eigenen Simulationsthread. Bei mehreren parallel laufenden Simulationen laufen auch mehrere parallele voneinander unabh\"{a}ngige Threads. Des Weiteren gibt es noch den Java Swing-Thread, der f\"{u}r die GUI und der Anwenderinteraktion zust\"{a}ndig ist. Der Anwender kann zu jedem Zeitpunkt in die Simulation eingreifen. Anwendereingriffe werden deswegen synchronisiert, da es ansonsten zu zeitgleichen Zugriffen/\"{A}nderungen gleicher Objekte kommen kann und somit eine Java-Ausnahme geworfen wird die das Stoppen eines Threads verursacht. \section{Serialisierung und Deserialisierung von Simulationen} @@ -576,12 +593,10 @@ Der Simulator serialisiert nur notwendige Daten, und nicht jedes existierende Ob \item \textit{public void deserialize(VSSerialize serialize, ObjectInputStream ois)}: Diese Methode wird bei jedem Deserialisierungsvorgang aufgerufen (beim Laden einer Simulation). \end{itemize} -Die Methoden \textit{serialize} und \textit{deserialize} erhalten neben einen Dateistream auch ein \textit{VSSerialize}-Objekt. F\"{u}r jeden (De)serialisierungsvorgang wird ein \textit{VSSerialize}-Objekt erzeugt, welches dabei Hilft die ben\"{o}tigten Aktionen durchzuf\"{u}hren. Eine zu serialisierende Simulation besteht aus vielen voneinander abh\"{a}ngigen Objekten. Jedes Objekt kann dabei Referenzen auf andere Objekte besitzen. W\"{u}rde jedes Objekt komplett serialisiert werden, so w\"{u}rden Objekte, auf denen mehrere Referenzen existieren, in mehrfacher Ausf\"{u}hrung serialisiert werden. Bei Kreissverweisen (Objekt A hat eine Referenz auf Objekt B und Objekt B hat eine Referenz auf Objekt A als Attribut gespeichert) w\"{u}rde die Serialisierung sogar in einer Endlosschleife enden. +Die Methoden \textit{serialize} und \textit{deserialize} erhalten neben einen Dateistream auch ein \textit{VSSerialize}-Objekt. F\"{u}r jeden (De)serialisierungsvorgang wird ein \textit{VSSerialize}-Objekt erzeugt, welches dabei Hilft die ben\"{o}tigten Aktionen durchzuf\"{u}hren. Eine zu serialisierende Simulation besteht aus vielen voneinander abh\"{a}ngigen Objekten. Jedes Objekt kann dabei Referenzen auf andere Objekte besitzen. W\"{u}rde jedes Objekt komplett serialisiert werden, so w\"{u}rden Objekte, auf denen mehrere Referenzen existieren, in mehrfacher Ausf\"{u}hrung behandelt (in eine Datei abgespeichert) werden. Bei Kreissverweisen (Objekt A hat eine Referenz auf Objekt B und Objekt B hat eine Referenz auf Objekt A als Attribut gespeichert) w\"{u}rde die Serialisierung sogar in einer Endlosschleife enden. \textit{VSSerialize} hilft hierbei dies zu vermeiden und merkt sich Informationen von allen bereits serialisierten Objekten, sodass jedes Objekt nur genau einmal serialisiert wird. Bei der Deserialisierung werden alle Objekte wieder automatisch mit den richtigen Referenzen ausgestattet, wobei kein Objekt doppelt deserialisiert wird. -Da \textit{VSAbstractEvent} und \textit{VSAbstractProcess} die Klasse \textit{VSSerializablePrefs} erweitern, sind automatisch auch alle Ereignisobjekte (und somit auch alle Protokollobjekte) und Prozessobjekte serialisierbar. - \begin{figure}[h] \centering \includegraphics[width=13cm]{images/serialize} @@ -642,7 +657,7 @@ Es wurden noch nicht die Klassen der Pakete \textit{utils} (Abbildung \ref{fig:P \item \textit{VSHelper}: In dieser Klasse befinden sich statische Hilfsmethoden, die in keine andere Klasse passen. \item \textit{VSPriorityQueue}: Diese Klasse wird f\"{u}r das Verwalten von \textit{core.VSTask}-Objekte im Task-Manager ben\"{o}tigt. \textit{VSPriorityQueue} passt die Priorit\"{a}ts-Warteschlange aus der Java-Standardbibliothek den Anforderungen des Simulators an. \item \textit{VSRandom}: Wird f\"{u}r Zufallsereignisse ben\"{o}tigt. Jedes Prozessobjekt besitzt einen solchen eigenen Pseudozufallsgenerator. Diese Klasse setzt gleichzeitig einen eigenen Seed basierend auf der lokalen Systemzeit und anderer Berechnungen fest. - \item \textit{VSTupel}: Diese Klasse ist eine Implementierung eines sehr einfach aufgebauten 3-Tupel Datentyps. Alle 3 Elemente k\"{o}nnen von einem anderen Typ sein, was mithilfe der Java-Generics verwirklicht wird. Wird von den Editorklassen f\"{u}r die Generierung von GUI-Elementen ben\"{o}tigt. + \item \textit{VSTupel}: Diese Klasse ist eine Implementierung eines sehr einfach aufgebauten 3-Tupel Datentyps. Alle 3 Elemente k\"{o}nnen von einem anderen Typ sein, was mithilfe der Java-Generics verwirklicht wurde. \textit{VSTupel} wird von den Editorklassen f\"{u}r die Generierung von GUI-Elementen ben\"{o}tigt. \end{itemize} \begin{figure}[h] @@ -652,7 +667,7 @@ Es wurden noch nicht die Klassen der Pakete \textit{utils} (Abbildung \ref{fig:P \label{fig:PackageExceptions} \end{figure} -Im Paket \textit{exceptions} befinden sich lediglich einige eigene Objekte f\"{u}r Ausnahmebehandlungen. \textit{VSNotCopyableException} wird von einem nicht-kopierbaren Ereignis geworfen, wenn versucht wird es zu kopieren. \textit{VSNegatieNumberException} wird geworfen, wenn intern negative Zahlen dort auftreten, wo sie es nicht sollten. Wenn ein Editorobjekt die Benutzereingabe einer Integer-Vektor-Variable nicht parsen kann, so greifen es auf \textit{VSParseIntegerVectorException} zur\"{u}ck. +Im Paket \textit{exceptions} befinden sich lediglich einige Objekte die f\"{u}r Ausnahmebehandlungen verwendet werden. \textit{VSNotCopyableException} wird w\"{a}hrend einem Kopierversuch eines nicht-kopierbaren Ereignis geworfen. \textit{VSNegatieNumberException} wird geworfen, wenn intern negative Zahlen dort auftreten wo sie es nicht sollten. Wenn ein Editorobjekt die Benutzereingabe einer Integer-Vektor-Variable nicht parsen kann, so greifen es auf \textit{VSParseIntegerVectorException} zur\"{u}ck. \section{Programmierrichtlinien} @@ -662,13 +677,13 @@ Die Programmierrichtlinien entsprechen in den meisten F\"{a}llen denen aus der V \item Alle Klassen- und Interfacenamen beginnen mit groen Buchstaben, w\"{a}hrend alle Variablen-, Methoden- und Attributnamen mit kleinen Buchstaben beginnen. Namen finaler Variablen und Attribute sind komplett in Grobuchstaben gehalten. \item Alle Quelltext-Dateien besitzen einen Header, der Informationen der verwendeten Lizenz angibt. \item Alle Quelltext-Dateien sind vollst\"{a}ndig mit Javadoc dokumentiert worden. - \item Der komplette Quelltext inklusive Dokumentation wurde in englischer Sprache verfasst. + \item Der komplette Quelltext inklusive Dokumentation werden in englischer Sprache verfasst. \item Eine Quelltext-Datei hat eine maximale Zeilenl\"{a}nge von 80 Zeichen. Eine Ausnahme stellt die Klasse \textit{prefs.VSDefaultPrefs} dar, denn hier befinden sich auch l\"{a}ngere Texte die in Strings abgespeichert werden, wo manuelle Zeilenumbr\"{u}che wenig Sinn ergeben. \item Es werden zuerst Klassen aus der Java-Standardbibliothek importiert, bevor Klassen aus dem VS-Simulator selbst importiert werden. \item F\"{u}r die Einr\"{u}ckung des Quelltextes wird das Tool \textit{astyle} mit den Aufrufparametern \textit{--style=java --mode=java} verwendet. Hierbei wird eine Einr\"{u}ckungsl\"{a}nge von 4 Zeichen verwendet. \item Namen abstrakter Klassen tragen stets das Prefix \textit{VSAbstract}. \item Namen aller Klassen und Interfaces tragen als Prefix stets \textit{VS}, was f\"{u}r Verteilte Systeme steht. - \item Namen aller Protokollklassen tragen als Postfix \textit{Protocol}, zum Beispiel \textit{VSPingPongProtocol}. + \item Namen aller Protokollklassen tragen als Postfix \textit{Protocol} (zum Beispiel \textit{VSPingPongProtocol}). \item \"{U}berall wo es Sinn ergibt werden Java-Generic-Datentypen verwendet (z.B. \textit{java.util.Vector} anstelle von \textit{java.util.Vector}. \end{itemize} @@ -676,9 +691,9 @@ Die Programmierrichtlinien entsprechen in den meisten F\"{a}llen denen aus der V In diesem Teilkapitel soll ein kleiner Einblick in die Umgebung, in der der Simulator entwickelt wurde, gew\"{a}hrt werden. F\"{u}r diese Diplomarbeit wurde ausschlielich Open Source Software verwendet. Die einzige Ausnahme stellt Microsoft Windows XP dar, worauf der Simulator zus\"{a}tzlich getestet wurde. Der Simulator wurde jedoch haupts\"{a}chlich unter dem Betriebssystem FreeBSD 7.0, was ein open source Unix-Derivat ist, programmiert. -Wie bereits bekannt ist, wurde Sun's Java, was mittlerweile auch Open Source Software ist, in der Version 6 (1.6) als die Implementierungssprache gew\"{a}hlt und f\"{u}r die Quelltextdokumentation kam Javadoc und f\"{u}r die automatische Quelltexteinr\"{u}ckung astyle zum Einsatz. Als Built-Tool wurde hier auf Apache Ant gesetzt. F\"{u}r die Erstellung dieses PDF-Dokumentes wurde LaTeX in Verbindung mit dem Built-Tool GNU Make und Rubber verwendet. Eine Rechtschreib\"{u}berpr\"{u}fung wurde mit aspell durchgef\"{u}hrt. xPDF diente als PDF-Anzeigeprogramm. +Wie bereits bekannt ist, wurde Sun's Java, was mittlerweile auch Open Source Software ist, in der Version 6 (1.6) als die Implementierungssprache gew\"{a}hlt und f\"{u}r die Quelltextdokumentation kam Javadoc- und f\"{u}r die automatische Quelltexteinr\"{u}ckung astyle zum Einsatz. Als Built-Tool wurde hier auf Apache Ant gesetzt. F\"{u}r die Erstellung dieses PDF-Dokumentes wurde LaTeX in Verbindung mit dem Built-Tool GNU Make und Rubber verwendet. Eine Rechtschreib\"{u}berpr\"{u}fung wurde mit aspell sowie OpenOffice.org durchgef\"{u}hrt. xPDF diente als PDF-Anzeigeprogramm. -Als Versionierungssystem wurde SVN (Subversion) verwendet. F\"{u}r den Zugriff auf das SVN-Repository mittels HTTPS (Hypertext Transfer Protocol Secure) wurde der Apache-Websever mit WebDAV-Plugin verwendet. Zudem kam WebSVN als Webschnitstelle des SVN-Repositories zum Einsatz. Als SSL Zertifikat diente ein Kostenloses von CaCert (\url{http://www.CaCert.org}). Mozilla Firefox diente f\"{u}r das Betrachten der Javadocs und der WebSVN-Oberfl\"{a}che. +Als Versionierungssystem wurde SVN (Subversion) verwendet. F\"{u}r den Zugriff auf das SVN-Repository mittels HTTPS (Hypertext Transfer Protocol Secure) wurde der Apache-Websever mit WebDAV-Plugin verwendet. Zudem kam WebSVN als Webschnitstelle des SVN-Repositories zum Einsatz. Mozilla Firefox diente f\"{u}r das Betrachten der Javadocs und der WebSVN-Oberfl\"{a}che. F\"{u}r schreiben von Java-Quelltext wurde GVim (Graphical Vi IMproved) sowie Eclipse verwendet. Eclipse unterst\"{u}tzt bessere Code-Refactoring-Methoden, w\"{a}hrend GVim mit seiner Flexibilit\"{a}t und schnelleren Editierm\"{o}glichkeiten und mit Vim-Script, der eigenen Script-Engine, gl\"{a}nzt. Es wurden ausserdem das JAutoDoc- (f\"{u}r die Erstellung von Javadoc-Kommentate) und das Subversion-Eclipse-Plugin verwendet. Je nach Zweck wurde zwischen diesen beiden Umgebungen gewechselt. F\"{u}r das Verfassen des LaTeX-Dokumentes wurde GVim verwendet. @@ -697,6 +712,7 @@ S\"{a}mtliche UML-Diagramme wurden mit ArgoUML angefertigt und die Screenshots m \item ImageMagick - \url{http://www.imagemagick.org} \item Javadoc - \url{http://java.sun.com/j2s2/javadoc} \item Mozilla Firefox - \url{http://www.mozilla.com} + \item OpenOffice.org - \url{http://www.OpenOffice.org} \item Rubber - \url{http://www.pps.jussieu.fr/~beffara/soft/rubber} \item Sun Java - \url{http://java.sun.com} \item The GIMP - \url{http://www.gimp.org} diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex index 41b6460..6a0f20d 100644 --- a/LaTeX/chapters/simulator.tex +++ b/LaTeX/chapters/simulator.tex @@ -1077,13 +1077,23 @@ Es wird also stets die gr\"{o}ssere Lamportzeit vom Sender- und Empf\"{a}ngerpro \label{fig:Vektorzeit} \end{figure} -Mit aktiven Vektorzeit-Schalter werden alle Vektor-Zeitstempel angezeigt (Abbildung \ref{fig:Vektorzeit}). Wie bei den Lamportzeitstempeln wird auch hier jeder Nachricht der aktuelle Vektor-Zeitstempel des Senderprozesses beigegef\"{u}gt. Bei $n$ beteiligten Prozessen hat der Vektor-Zeitstempel $v$ die gr\"{o}e $n$. Somit gibt es f\"{u}r jeden beteiligten Prozess $i$ einen eigenen Index $i$. \"{U}ber $v(i)$ kann jeder Prozess auf seinen lokalen Eintrag zugreifen. +Mit aktiven Vektorzeit-Schalter werden alle Vektor-Zeitstempel angezeigt (Abbildung \ref{fig:Vektorzeit}). Wie bei den Lamportzeitstempeln wird auch hier jeder Nachricht der aktuelle Vektor-Zeitstempel des Senderprozesses beigef\"{u}gt. Bei $n$ beteiligten Prozessen hat der Vektor-Zeitstempel $v$ die gr\"{o}e $n$. Somit gibt es f\"{u}r jeden beteiligten Prozess $i$ einen eigenen Index $i$. \"{U}ber $v(i)$ kann jeder Prozess auf seinen lokalen Eintrag zugreifen. Wenn $v$ der Vektor-Zeitstempel des Empf\"{a}ngerprozesses $j$ ist und $w$ der Vektor-Zeitstempel des Senderprozesses ist, dann wird der neue lokale Vektorzeitstempel wie folgt (hier in Pseudo-Code angegeben) neuberechnet: + +\begin{code} +for (i := 0; i < n; i++) { + if (i = j) { + v(i)++; + } else if (v(i) < w(i)) { + v(i) := w(i); + } +} +\end{code} Standardm\"{a}ig wird der Vektor-Zeitstempel nur inkrementiert, wenn eine Nachricht verschickt- oder erhalten wird. Bei beiden F\"{a}llen inkrementiert der Sender- und Empf\"{a}ngerprozess jeweils seinen eigenen Index im Vektor-Zeitstempel mit $v(i) = v(i) + 1$. Beim Empfang einer Nachricht wird anschlieend der lokale Vektor-Zeitstempel mit dem des Senderprozesses verglichen und f\"{u}r alle Indizies stets der gr\"{o}ere Wert in den lokalen Vektor-Zeitstempel \"{u}bernommen. Im Beispiel auf Abbildung \ref{fig:Vektorzeit} hat P1 \textit{(8,10,6)}, P2 \textit{(6,10,6)} und P3 \textit{(6,10,8)} als Vektor-Zeitstempel abgespeichert. -Wenn im Laufe einer Simulation Prozesse entfernt- oder neue Prozesse hinzugef\"{u}gt werden, so passt sich die Gr\"{o}e der Vektor-Zeitstempel aller anderen Prozesse automatisch der Anzahl der Prozesse an. +Wenn w\"{a}hrend einer Simulation Prozesse entfernt- oder neue Prozesse hinzugef\"{u}gt werden, so passt sich die Gr\"{o}e der Vektor-Zeitstempel aller anderen Prozesse automatisch der totalen Anzahl der Prozesse an. Wie bereits beschrieben gibt es in den Simulationseinstellungen die boolschen Variablen ``Lamportzeiten betreffen alle Ereignisse'' und ``Vektorzeiten betreffen alle Ereignisse'', die standardm\"{a}ig auf \textit{false} gesetzt sind. Mit \textit{true} werden alle Ereignisse, und nicht nur der Empfang oder das Versenden einer Nachricht, ber\"{u}cksichtigt. F\"{u}r eine weitere Betrachtung der Lamport- sowie Vektor-Zeitstempel siehe \cite{Vorlesung} oder \cite{Tanenbaum}. @@ -1092,7 +1102,7 @@ Wie bereits beschrieben gibt es in den Simulationseinstellungen die boolschen Va Mit dem Simulator lassen sich auch langsame Verbindungen zu einem bestimmten Prozess simulieren. F\"{u}r die Demonstration wird das Beispiel aus Kapitel 2.5.5 wieder aufgegriffen, wo das Protokoll zur internen Synchronisation (P1) mit der Christians-Methode (P3) parallel simuliert wurden. P2 stellt den Server beider Protokolle zur Verf\"{u}gung. In diesem Szenario soll P3 eine schlechte Netzwerkverbindung besitzen, sodass Nachrichten von- und an P3 stets eine l\"{a}ngere \"{U}bertragungszeit ben\"{o}tigen. -Die Ereignisse sind so wie bereits auf Tabelle \ref{tb:InterneSync2Tasks} dargestellt wurde programmiert. In den Simulationseinstellungen ist hier die Einstellung ``Mittelwerte der \"{U}bertragungszeiten bilden'' aktiviert. In den Prozesseinstellungen von P3 wurde ``Minimale \"{U}bertragungszeit'' auf \textit{2000ms} und ``Maximale \"{U}bertragungszeit'' auf \textit{8000ms} gesetzt. P1 und P2 behalten als Standardeinstellungen f\"{u}r die minimale und maximale \"{U}bertragungszeiten jeweils \textit{500ms} und \textit{2000ms} eingestellt. Die Simulationsdauer wurde auf \textit{20000ms} gesetzt. +Die Ereignisse sind so wie bereits auf Tabelle \ref{tb:InterneSync2Tasks} dargestellt wurde programmiert. In den Simulationseinstellungen ist hier die Einstellung ``Mittelwerte der \"{U}bertragungszeiten bilden'' aktiviert. In den Prozesseinstellungen von P3 wurde ``Minimale \"{U}bertragungszeit'' auf \textit{2000ms} und ``Maximale \"{U}bertragungszeit'' auf \textit{8000ms} gestellt. P1 und P2 behalten als Standardeinstellungen f\"{u}r die minimale und maximale \"{U}bertragungszeiten jeweils \textit{500ms} und \textit{2000ms} eingestellt. Die Simulationsdauer wurde auf \textit{20000ms} gestellt. \begin{figure}[h] \centering @@ -1101,7 +1111,7 @@ Die Ereignisse sind so wie bereits auf Tabelle \ref{tb:InterneSync2Tasks} darges \label{fig:TimeSync2LongTransferProto} \end{figure} -Als Folge (Abbildung \ref{fig:TimeSync2LongTransferProto}) dauern Nachrichten, die von- und an P3 verschickt werden, f\"{u}r eine \"{U}bertragung immer l\"{a}nger. Bevor P3 eine Antwort auf seine vorherige Anfrage bekommt, verschickt er eine erneute Anfrage. Da P3 die Serverantworten immer stets seiner letzten verschickten Anfrage zuordnet, berechnet er die RTTs allesamt falsch und seine lokale Zeit wird bei jedem Durchgang zus\"{a}tzlich verf\"{a}lscht. Die Berechnungsformeln der \"{U}bertragungszeiten wurde bereits in Kapitel 2.4.3 bei den Prozesseinstellungen behandelt. Konkret bedeutet dies f\"{u}r die \"{U}bertragungszeiten alle Nachrichten von- und an P3 jeweils: +Als Folge (Abbildung \ref{fig:TimeSync2LongTransferProto}) ben\"{o}tigen Nachrichten, die von- und an P3 verschickt werden, f\"{u}r eine \"{U}bertragung immer mehr Zeit. Bevor P3 eine Antwort auf seine vorherige Anfrage bekommt, verschickt er eine erneute Anfrage. Da P3 die Serverantworten immer stets seiner letzten verschickten Anfrage zuordnet, berechnet er die RTTs allesamt falsch und seine lokale Zeit wird bei jedem Durchgang zus\"{a}tzlich verf\"{a}lscht. Die Berechnungsformeln der \"{U}bertragungszeiten wurde bereits in Kapitel 2.4.3 bei den Prozesseinstellungen behandelt. Konkret bedeutet dies f\"{u}r die \"{U}bertragungszeiten alle Nachrichten von- und an P3 jeweils: \begin{equation*} \frac{1}{2} (rand(500, 2000) + rand(2000, 8000)) = \frac{1}{2} rand(2500, 10000) = rand(1250, 5000) ms diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf index 6c7a48d..6458511 100644 --- a/LaTeX/diplomarbeit.pdf +++ b/LaTeX/diplomarbeit.pdf @@ -601,18 +601,18 @@ endobj /ProcSet [ /PDF ] >> endobj 244 0 obj << -/Length 2472 +/Length 2474 /Filter /FlateDecode >> stream -xݏ۸WjI=v/WM]+-/,;w_ߡ$ʔ) nEk? 9$7,eFIs\ew4g_NFJM~teVi=* DI~:soTd҆mnzXoibtQwKxyzۿxu -/%Wc0U:_TNe^ 64j,ɵؼJkxUVۢFjA 42M]9FwNvRP&Q/%WWQdN6 MR ODsk4#f]~)Y4{1&=tR1# HVR+BLϡbyCɴ cjqMC<, {!9C87'EF" HWÄ1yƖgF"9K xŗp͍]\.NqK4, YhiDwR Y =bzjFsbVrhg)ƋjV3whSxe=?-R^U~v/W0e,+q'pC:C2c {4qB>fuքIJ )tq,-aD !B3s0xП -hТ鏵58 fu2NY/"+<@X!# NwB'93D*-frPl8Njѕݲv{X <,z#@ -gGYtbm vZ̪d0VA9O /^6.~YXζ-n~:mQݯapI#)BbK%ۣ*gЕz{4hbm)613ٔ0?ZRlz1Ϧo}^뎿ڬ.Wm&je-0ONiy ?jVb>;zHFW^*p祊aOC,C4X[&ju&\e<Û~}"h3&D0ideq1R840N"%'@MNAtz:Q -UOdS<2&>keu,Wa_uYK>/ݾB+_tUI n|)k +)%,`y"βJdLZ?S;xa.x.ڜ N> /n51B^XOH{ScRWr'[i\}WI IR2FhH4T G53wߑ非Tf@a OAuԭEfZ: $nET"^ak>C4>4X[t?Z pUDK۲/'p+)CC{F4Ba'o?..8mVg@R -@//g 0^K7뺼;o9me7!Ƞ3α۫Ի$ -s0@/\(Mr6,O҈EЈFks*dYG#%a;^߿)&Oךּ8W8[^XvCI)S:Qݤ{u)5JeU +Y2%ruʩn; %Hscr(P_y(\9 V|Q9Q{Q4#*;l2OciFTYk-yJkxUVۢPjqE)9A,q;M0~}:~1J`a/`;O zs]d&rl5Lin!rH[ÔT$_z wY|Yn]DÆ0#Np#V4'K|E U `/^&f(CѦ{:~ZB(^*o? +X2m$PhoL^X_lm󅏍:k\ybE-~z%]j?E[ofzp7.A;yZ,hck j:ZC'G ʬ״ +(7#ED-.=B3_"`rfVCtņ.T:3E-ң[VnOX{[zA1^p@C b0BlNS*̽sePeSh(92n◥l6Ǐ14,8ެzU?swe>ϓxbI D[k&=u&3:g+S=5mN}UXB(^ +e#hBOk\ }ќKc#Z +Flԙ02M&yEþmz>:usBd4&ԫNsANuN"(@QlHLBCP䰕M Ɗ߯, N *P A,d*hFbz{*I;VCIO*U3Ӱc2O5?u!Ӕnx~f߱y|h/z#4*IT /%Bga>FSݨi;cs=u=֠9}L 6eN e{̳i.Wez=ZwD am]=:sd+[J+4lv0ڧs 1 17ݏ΄OU`/K۲/'p+)CC{F4BaJ7ă@CFF[k6Qg@R +@/+ss0^|ouyw>>|s˦oCAg,\cݷW]* X"b*PlY44bU6u,%Bg?6h[y]˟mϵtj"r6ȕ8 ґ*ى|E2Xhg("[ ӏbCι3 BGkV:"+]BcHn`#7yJx-E_w 1bȢy5КihQgQed!2O.}Ьŷ_?\>q=y>Tc-\#q5DT6I2eiӢr@,hbk)Qg(,T^u;Ʒޗ}hYdKȈmA3UU9XcOhcݨ1w X!!\z3(?`:4XK|&쬤W9/²endstream endobj 243 0 obj << /Type /Page @@ -815,17 +815,22 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 279 0 obj << -/Length 2089 +/Length 2092 /Filter /FlateDecode >> stream x[6+ti53M۴> ǫյ‡P%J8(M@ Ǐ@K,2#Ve -xX?7k+/^g7OZ,'VkݼθVxQm׻͒Eq{WViwOtv$ך?))l46Tw*+Ip6]4Me1&6yۥ ˕zUY,W?wžeqTw2Rd{JD*3IӱuCLŔQS +xX?7k+/^g7OZ,'VkݼθVxQm׻͒Eq{WViwOtv$ך?))l46Tw*+Ip6]4Me1&6yۥ ˕zUY,W?wžeqTw2Rd{JD*3IuCLŔQS A+AbjZI2&yYnq*&|y<h+ˆ7ӠqΈ- }Mh}_Z;iШWۓ#XnB$99s>r/fN<56<^QܟEX1>5cJH,hlRXbV`wB~J2&`։qI(D -ZˋWWc|2DXLxǫ՘yL1}pL}EyNZ[oǢ6ө(ztz*MЩ\60;G0IZM%z]Ն&Y"zg/!CZըիxLjMKŮ~,~>?u/v_*궽,8f,)dL+·}Kn#?ǶІm;Zfm~fL^3Hf syQ[ޟ~߹.޸{W1;u!3*Ex(Z7g 2)d(Vp"?]D-l"L*yU`Z;endstream +8&^ApgY`\B\&(41&,t(kJ-Uʎ~ G@x7;f-$`܍7ܿw R~ &E׏CsJ{כmCdٞ :8[,rd.֧ {fJ$^ +ex + m>G>;HDwvn<+SD(+R<<*mN4< ]W%TsShS9 *T4j)P1ׁ)xWdqnr߄OϏ8i 3|;)"ZrNVU"pWyDwޓ<^&O̒ZXBEu'jmf·%Tn'E MIѫtϣ{{P'j5EەDS<ol3~ш Zd;݊Ns6V ~ϒE*  UZDꕕ\*S$z'7Y41pjBs;r8=4*j5zjmf*rEf[_^sѷZ, zUb#B0"-փ|\ 2 ` @ @ìwBSP5}5/˽ݺ.oe+OaW]I e׫^s-VoXb DVcL5RFy4'4^S~Az" 'VT<]it;G?UmCNX7W鉥U%F U xA5 f# Lrw?-YBq8QOB2, IJOpfǕ898fn`c8duF [zY[*W1+:8^д:̱fmU~:sf|(Ĵ5!ᘍN [ԸcO &h<P! -F3j!5ž^(wSq<7"3H!/nvwuq8 #fIDj0Ϝ(bbG瑊z& 1CxRQDFuZ$)V?l+5@NF`\;x(wUXY9ƚOhV3y]3Ra -)oZ[-?(d%jS 4ޝ[| -`m-EH9VK.,D/j4(ԔԤСjjH3rP":\TkT9!vMv%U)#]3`Ho8sFHäb(&E@&U 5(Ce*́eΔΨe#/o~EI1'Yj̺SAjS!С/5ȨKPU0#$QZTŢx*v8`֚Ohbɻ?d~ـǛ7-;LF]U(z?iᖋn/[\q8^^!}W/z32r૖ƷJS0F<ưTA}]tVuh_)Q)=ICo :5uԐ2l3 ug䠖E>u>E50%j2]érC ZKRFNg7\Yp&Jg5#IaP/xD'7!H5Cö́.iAam  Uc7Ȟ}nh ? j&~Cc0ˆ$ؔؤࡷZ,ޝQUz`=8؝[<ŵ iv63)&}i̟P)=ICo TW8gu/7ͫj{O,Th-TǂZ}ou.ϻf?oRdR[rdE )͝Q2oG`5_LU_9:cNF3u,.,CT)=TICo 6*u f$QXTvO.<LZ MlV3y'/px2uIWL$֦[.9&RnqQxywFt]ӿ!̄˔ʁV2R)`JV虧*ϣ+ΪNǧl_Cfuendstream endobj 365 0 obj << /Type /Page @@ -1378,14 +1383,20 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 402 0 obj << -/Length 1852 +/Length 1853 /Filter /FlateDecode >> stream -xYoI)іM#Y`A.$g3F>Xȧz.YBV1>a?I$u*3NƲ/'RNpf@,QR*ouz~יQ_w ix5ߣ󱥣E>X|y70:ʋ1<ܔj'/ϻ[G8gա>) Xk#*[β@5eL Yⴖ^Ecy02hG -,/ƜM>pcG/Q˼+%(TM9~s5Zn W*oڔW?7g.FC8< %DWgգTHKp{ZPm7saObX .{^E`uORf8nrH -agTCT~']L-S@fCUu}Y?ϯ5p5~;6is V" ӍYTj;hULUU߶K2FgR܇ILF5b1EZCHΪ'!)i7'w{,Z؛i`fD q`[X O@m5je4ȳM<Ջv̋WVy'& >Z$ε F8vLphbo&M&uBj$NfkT2諸o?-bK9Lcb[A~CIO$Xq*Ģ"ҞIgkTSt^]NW^S,tW6V=Io{e+TUT4XA'TF5H*ݦY:cٮ|.ap-%R,'nO#7<U{%KE,# _gTgSy^\4 ~_XT Pb\֪UW[o=oaSU$lx0 ;6սD]|٢ZzǛh;V0K: [^kգQpwvWLbuD{Ti&q&[f?Bg('g7nO$Jvlzt Oq'-N08APhdOgllq︺$ -JfAvqkp w o&b% JKo}c! 0xq{怭QC{'hݦًZ=ʛ ޝM/H2Obl( ga1UBaHݎd3. U{TuPN!֨L<(g!?m($IJbZ]$h4TO-EMXNΨM7NW|]gZgaJ\1I[JzTwR,ڲ*V^Q BK"ZDuywv@ZE" ;p1Ӈ/n<'cD@X"_{XA QjX,lCg`ɝRPk0xmz (]qh1Lb*1VaLA?5gr)b݊bG#XQPu7 ֹ3H(r팪[|aE{̝պ Npib%UY ƪ'N=4vait3m]u^Eyî6/'gSu| ![*o^Ցf .1\DrnZT;SzV{ IHѨ$uNXȧz.YBVScQaDR2\0]ޞl~9aH 8pwݞ3>hfRyg[KHdWǖ|cIGx(/.,V=yyE:9e@I)Hr^QrրFM4SD2-2lfZzUgEpx+s:7x(D-ȗP6嬾qhQ/Ζ1WykS^N/oς5+pNyJΪGHzԿΫ_{:epɝU[(*;{ +- (43qs3DZP;B@MwtB8d֟?XUu~U˭۱ װMkc8$YnTΪGP oDeJ]I4>>LGfg5{1/=4'XDF$tV= 1HO)=#X`Ѻ|݅LED5#ZHXg~LooQ&(Alr^e^`ʣ>4֪'q1 db D {4i2ȔR#q2[LY~G}_nXYfZ3Jz:&ĊP'G%u1L:[J}$rZJEbAýIz+ô^.-\쭢ҦĢ_pST#owfATne^z|K0KƪGݞGBo?Ly׷gfh}soX,1,L>nyUFz]rN2!`CbRĢjJjǙlp +U2ɢL`?Et(*mv`۱Q-Nv4< ZC8 +:C =i dA׿W((%jŭ55tߡ'$+I䫂/4,řF }﹟mVwf/f +#huq7k;^ՑdCAPnc2[kf1L].թS?4C*8gQÙxPκC~hPXI* صV=<廒)vI0=h[ZzQF3QYD+Z+!K/gD|mendstream endobj 401 0 obj << /Type /Page @@ -1625,8 +1636,8 @@ endobj 460 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034137Z00'00') -/ModDate (D:20080810034137Z00'00') +/CreationDate (D:20080810204214Z00'00') +/ModDate (D:20080810204214Z00'00') >> endobj 461 0 obj @@ -1721,8 +1732,8 @@ endobj 469 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034137Z00'00') -/ModDate (D:20080810034137Z00'00') +/CreationDate (D:20080810204214Z00'00') +/ModDate (D:20080810204214Z00'00') >> endobj 470 0 obj @@ -6085,20 +6096,20 @@ endobj /ProcSet [ /PDF /Text /ImageC ] >> endobj 777 0 obj << -/Length 2101 +/Length 1929 /Filter /FlateDecode >> stream -xYKo6WZ> 2L6fc#v<VV;-uf_U,R֫m Y/*"'L3 eG[X6 ɐśrV" OB7UgU"~H3Q2_Ȃ3 -fꋫyBg0b =SL噊$+rE֔pñS32㾕L^]W,Nd^\h2%rgg/ere`c8ᬏP#4* /ޜmS/(q.[^d* -iC&qʺĚwl>>Ɖl&487ycDm?$$CW-B3+d ؈)yNeR`䥟+KYۊfMm ]6F2 @de(nLR*@ R,pK:KnU%,C=TflX.L*D}x(DyA;pg}/j#WKVwfP%BLKDBi2+MyoQLpD֩Xkkjvon%b?hFpW4bQ:v%y|MVd`d0Vt]&h约Oduo2;]8 KlhAA QbxxU D?pgȩԇ_ȋ3(nmjFFA'kb-3 <ʲ>LcnT>⾮+4 rr"ϡ_J+Z}ϔs$In0GPspLM# - ڠN*3 M)([h+K\\L~Вt -HP!3~9pfTwmny!Ӽל>u.5bT/\1HbV|! -!A痂_gj%C %gԃ鳂53iߥPhd3ܹD;ֶ -^KIB%HW0[ O\OWO;s [eBxk/6ANcO^{W5Јn4l[OV2{^*|=] -("OV"il8u\aiю/rWO&/⠁xWNFv];3_F^M r]!^P*ukNs#CU3h|k*5;嶩3 T\JgZpuq{In.u< @CnBzKik;߅k%-X* \EFqKZ&7à7| [t^{$;K):#^EMP=帙ur~1 --kB,s &[/; q~Bzse_ƈ;OqQ}Rr EILb:[7gƂI wlɤT/ICݟ ޱs=lFWBbr5L@Gzϥ9T4⥗gR#^$*6R2-Dݗx1,=i[Co>uȹ;bU#>n7dnGϹ wT5#Wpt8ދ79xoD)+x3Ǽ Pr`C*mwIB Ni394y3k jhr4萌+/y(+C`-cvNCK3AJ!R𫞇B$\o,}Twe&YШU{PT?Hqysy(VuY[X ~By^ULӨtsqB5<4j6z@jTƘьq2V!L]M[ zړ=M1KsD˗Iڅ%@6Ma"hoxbih7xՊ`2ǽ|0֋8{FǀՎے ]CDV\K +oY A5iYn䤁d[tDa-SH@mrhd}~G ;Z1b:+b~o|=?52 (p{1'C|]Wb9t.u/=X3co ZM /WtH{"z~3X|vlŜ> hMEb:hY+7M Ozi;hq'?endstream endobj 776 0 obj << /Type /Page @@ -6106,7 +6117,7 @@ endobj /Resources 775 0 R /MediaBox [0 0 595.2757 841.8898] /Parent 762 0 R -/Annots [ 779 0 R 780 0 R 781 0 R 782 0 R ] +/Annots [ 779 0 R 783 0 R ] >> endobj 769 0 obj << /Type /XObject @@ -6228,31 +6239,17 @@ endobj 779 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [408.1445 518.2403 427.5853 528.8226] +/Rect [408.1445 518.2271 427.5853 528.8094] /Subtype /Link /A << /S /GoTo /D (figure.2.27) >> >> endobj -780 0 obj << +783 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [181.5419 342.4494 200.9827 353.0317] +/Rect [181.5419 153.5425 200.9827 164.1248] /Subtype /Link /A << /S /GoTo /D (figure.2.27) >> >> endobj -781 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [338.3391 204.3242 370.2252 213.0952] -/Subtype /Link -/A << /S /GoTo /D (cite.Vorlesung) >> ->> endobj -782 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [396.1444 204.3242 422.4804 212.8889] -/Subtype /Link -/A << /S /GoTo /D (cite.Tanenbaum) >> ->> endobj 778 0 obj << /D [776 0 R /XYZ 74.4095 793.4011 null] >> endobj @@ -6260,24 +6257,20 @@ endobj /D [776 0 R /XYZ 296.0371 569.5529 null] >> endobj 775 0 obj << -/Font << /F63 264 0 R /F28 217 0 R /F70 605 0 R /F74 608 0 R /F65 611 0 R >> +/Font << /F63 264 0 R /F28 217 0 R /F70 605 0 R /F74 608 0 R /F88 782 0 R /F65 611 0 R >> /XObject << /Im30 769 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 786 0 obj << -/Length 2276 +/Length 856 /Filter /FlateDecode >> stream -xڭr6Бb$035Iek6vqHK)rBR]v(Uq7?J5<34Sj 9 -xD,˒DnWRgL.Do_PX6lΣeG~-xtֿpfdl$g6Iˤ:a$*%M JQgTf4X"Y‚ -($ɫ!m>(84u *SN1 !ru&oڦ)7ȂĩLYQ{Ejۉ GZl)uT Xiq5sj@MC2tNF-8j/]) JUvehӭJuG'DbLzW~(mT"U]AP/kD -1q!a&P( " xqSKG~>`l'xfpe_캶%5"\ZG{W@7}S9ڢW_s2^];+Xv - ,H ƫ"U^k' \"HuWV3t3S]9}c,l!ʐMESMoi'E/Ff7y$^#s5xVo {i`$tfѻLr/w $]vUZmV)}Tnt~gѮ]t#ڸRAm1Q&^υ tjjZCTS<U-!of3PS:<#01]eDDK'YD(äo(OWZK>-PқsP"t,\T]])\]^lizis7Q&ے]pHK|#L<=gg͗Ԋ)"c=%$Rh/*oűCw+W4N8#ZPm< b$Խ;_-6& 3M$/aj=sFkRsv~#{/߸+iiݩ8{X j5O8g4 ~ь{C侀\6퉠s5ǀ~U'VCM9%NHibZZ!S'KLb|j{ w mv  =XP qEpM$Rw`#KhQ]z2BBoO1)W6<ЂUbI $zd9.&&4iJ}.e8V,-yBj8!,mj]ǭT3 +}S:?5뭐}7W,*eYi`ޖ\.Eט}uV[s*܄$E9޴+$+Rn*PR:P⻽[QN`y8>{ 7q_5G\ltJ'J1"1ZΘ6V?Px\p_`R2rޙa%QGe]rNij@qAbbv6+Jb#+ttU7SjC9ؿ(+) -4w BR) ]v +]NnQAo4ߣ XNC F` +)EVWb +Y"P'P%4ϭ2Oe &/0l`6ɆˆM aQC 5v{Z3ʢ3WNmķظa@{10-\^zȕJ!#Bk]%5Ek'B5qmh`'/NU;^K$k~(s_>ڄSr֡Э Y~2jÞy& ͘y>gs̷ ]1e};#!#ս (ϑiNQdt/7xENendstream endobj 785 0 obj << /Type /Page @@ -6287,7 +6280,54 @@ endobj /Parent 762 0 R /Annots [ 788 0 R 789 0 R ] >> endobj -783 0 obj << +788 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [338.3391 661.7381 370.2252 670.5091] +/Subtype /Link +/A << /S /GoTo /D (cite.Vorlesung) >> +>> endobj +789 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [396.1444 661.7381 422.4804 670.3028] +/Subtype /Link +/A << /S /GoTo /D (cite.Tanenbaum) >> +>> endobj +787 0 obj << +/D [785 0 R /XYZ 74.4095 793.4011 null] +>> endobj +784 0 obj << +/Font << /F63 264 0 R /F28 217 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +793 0 obj << +/Length 2283 +/Filter /FlateDecode +>> +stream +xڭYrF+xcյbnGaR`HX @Ofe1 +XKVV.rĊßXŚiU*/j { ц8Rx9RQW7+S #ӛk:qH eu_ o7_|.6$:bD*EQOtԃ.2Z bF` 8EyPrIMMTYWAޕu~-jT8ÉD$p p-jᦩbW?JzO;42[)X293x f@wWV ?04򯩦`Z]xZzCxrbԋ;i,fYI$zH8@2;ABL;2T }3UUG}Vcͽ@FX&hX~؀sᶬKiŧL`HK9)P+0`D%gb~p3<;L 8J/*0)ONp5b|`А3&Iwʁ q@@JW %8 fn83SPg0$O5!1B]"$o*a[NszASn(ET;jMcy5t +m$ +"n*P&N p{O[5/6Gt;DzlɊr ':W@!5*: Y04RbFB&d4X}ո]D`U:\uu;#csmP8;y]A]&GlchZCeKe e_;7Ha:kеXvB+hS·&Cu)Hi/ws-ؔCBtE&~'l8j_8E$WQ춙m "l;l2>EqEE$,IOw!Za%lo!!ܓ!820)!2EVe\ + AQ[P?A~hыt{_$(׏|eRf? +gg?!U߸"Ҭ$(c)D`-j%bfѐ\2a 钦G5gKLJ(h"RZq_^0f"b Ʌ:J>\%!%*Icf젹p4̼%}sl3b*9_Kzb)jEk'5Kx^dҷTM5Na)E%0k,x2e +@17y.?7'9WMs6D';h +z7VUH&ChCR qHw~(h)<^{~endstream +endobj +792 0 obj << +/Type /Page +/Contents 793 0 R +/Resources 791 0 R +/MediaBox [0 0 595.2757 841.8898] +/Parent 762 0 R +/Annots [ 795 0 R 796 0 R ] +>> endobj +790 0 obj << /Type /XObject /Subtype /Image /Width 629 @@ -6407,130 +6447,120 @@ z @ *4o A@VsRv} %H_|2Ҍnȧ_|aԍ>W^z> q(&p*->+Ґ{9Wn@AF Gq'Yw:\=PiwF3gpdyNqvtt|@.dSi2Eif{-cWiHPꢢ" bu>/H sz$5553%A!40kOIwld#|#"#(aO) + G 2A6n7l,n  `A :> >> endobj -789 0 obj << +796 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [162.0335 286.428 181.4743 298.5659] +/Rect [159.7851 286.428 179.2259 298.5659] /Subtype /Link /A << /S /GoTo /D (figure.2.28) >> >> endobj -787 0 obj << -/D [785 0 R /XYZ 74.4095 793.4011 null] +794 0 obj << +/D [792 0 R /XYZ 74.4095 793.4011 null] >> endobj 106 0 obj << -/D [785 0 R /XYZ 74.4095 771.7323 null] +/D [792 0 R /XYZ 74.4095 771.7323 null] >> endobj 386 0 obj << -/D [785 0 R /XYZ 252.1563 336.3134 null] +/D [792 0 R /XYZ 252.1563 336.3134 null] >> endobj -784 0 obj << +791 0 obj << /Font << /F63 264 0 R /F26 214 0 R /F79 621 0 R /F28 217 0 R /F65 611 0 R /F74 608 0 R /F70 605 0 R /F69 614 0 R >> -/XObject << /Im31 783 0 R >> +/XObject << /Im31 790 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -792 0 obj << -/Length 1917 +799 0 obj << +/Length 1925 /Filter /FlateDecode >> stream -xڅXKo8W(*J"%[8Y$C7{#Zf#Ɂ6~Aʲ#g𛏤"?Hb?2H!`Qwıc2c]LJf\U"R_ƱDw_j,w1!BǻΟL*LR/}YW*x lT?UMot;4%_o';dEgJ\L}%cE|j 0 -;]|?g·4JHW.ᷦ^߷iJ]Y(yh ϸd=[+WjYa3I}^\$Jjz a#wSѕMdjXRޅw[m$sA`j>,#޶7{TRjS682uZ%tT n XٍpC˜-&KW-YrsP6 -`6U|d>Rf0:wِi `PWM.CS -JԷbmyرѮl>4l"D!Zt/ -l^<.TIT\a`vltq}lXȁԕA8z z/X:;ӎ%j Hp~(k\q>#4PH&pшH= XRW-P{j pcT`sVF5 -K "'cg}f~Y冨Oǹݽ6xA'ߖ)!E:>-G[S J 5< -^m仚M,asM͚+b -3rۋNO?ͤ6DMx0 ϑ@Ts]yT˰GN҈Ǝ .K`l -_Xo@VFGQR~W¡H! 8wm*"Pk,o^Za,Ev.G{ёe -k9jh ='br |clRѶ=B EGGq8S)&ƏK @tL wǭ!k SizOe@#ex]Bx -. -9v;=ܓ]@s>X`5s'9Bӵe/NO8'*$s7Odv\>L΃TH(|{XIlL5C3?Źgqj:uf>Ë"0MN8Lr/!@em:əɾR4B,B ֺ%F~Hi^lw b$uPɛr̥"S_4A~= 'Jd OS#F E=(1$o/~ 9]7@me܋em,2򒛁 WMA_M^if#ڹ񤽩Єݻ#=5XSˉkY+ ἰ*8 ,C(NKendstream +xڅXMs6ϯБ!AqfIeTMleBbrTק?(Oju7Ѝ@rßeHBϲB i!`>ijDM_&rm̤Wd.tj/a=$d@HTEm3_$Y)1WuaWHrY:_/ڶwvhkp0$2g0NOv\Ƥ\΅ѩD~i!$*g;eWX]փ/ #\؎߻\ѡ)ݾcumm5K‰;^s!YvWѷF=+Pj"Z^i3i}'5O4H'>? c#Sg)sGвKmBDjz4WPu](R[W8 +s^˒Y:xn|^,tٍ?m~1kLhd֫cQ`4W /J9w .~"a G[rh+VAex[6lG%el~TiM(D˒Ǖޝ*/X#ئi3Q>~, ȁ@4z z?t~ ?J l- !C lq~dz2ٞ4`Q05 u5ͼ'QFFϏʘe7F5Q A`eT"$a,[dT>I~/Y޲z[c`@KrC4:Sz"N63GcjE ~"JE9~],]yr!+!T-eӛ_erAf[-CV;izOe@#eo.r!xv<]ywL[ >{T`ǪP JW96T!LI=e qZr!Οd }M|k0nʵ;1TC8-N B,wS77 ˪< 7"ϒ n1B(ieC64D`;`+1^KpxL.eb5<QHiEK`*OC : ݑ?}!K!7c=c+T8ELWvrQGD)h ~+[i.Nlr =l,ZApcWxYf 8ǯ1<ǎ|{8KےV/i]I{Ptg'dѳ +I(I9<L'y.?wn}RDo:H6B+'nYfd"-TzcV,ƃ.3 +/JUB}Y=M4; GE~pV%b(附Ũq8R©ᮺn'$RAfAW\~`UחYS 5ũAP<)Kn7BRYfQIN> endobj -794 0 obj << +801 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [73.4132 333.3136 87.8688 343.8959] /Subtype /Link /A << /S /GoTo /D (table.3.1) >> >> endobj -795 0 obj << +802 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [128.8278 153.5425 143.2834 164.1248] +/Rect [126.4971 153.5425 140.9527 164.1248] /Subtype /Link /A << /S /GoTo /D (figure.3.1) >> >> endobj -793 0 obj << -/D [791 0 R /XYZ 74.4095 793.4011 null] +800 0 obj << +/D [798 0 R /XYZ 74.4095 793.4011 null] >> endobj 110 0 obj << -/D [791 0 R /XYZ 74.4095 771.7323 null] +/D [798 0 R /XYZ 74.4095 771.7323 null] >> endobj 114 0 obj << -/D [791 0 R /XYZ 74.4095 318.8119 null] +/D [798 0 R /XYZ 74.4095 318.8119 null] >> endobj 118 0 obj << -/D [791 0 R /XYZ 74.4095 216.2004 null] +/D [798 0 R /XYZ 74.4095 216.2004 null] >> endobj -790 0 obj << +797 0 obj << /Font << /F26 214 0 R /F28 217 0 R /F63 264 0 R >> /ProcSet [ /PDF /Text ] >> endobj -799 0 obj << -/Length 2022 +807 0 obj << +/Length 2002 /Filter /FlateDecode >> stream -xڭYs5_fZ$(-2@BpX|3$lNCtj~l@ 2I$jYw,ҎMob.ᆳӻ_b4 -2+J ˇ-]Y{nџwo^mW5?OX)5Jg1gDk)(\?`Do#|P¬啐Xx)n~nͲfa#fqݲlҜd MPs݂hµL…Hߌ WȬ& Q bPRCY,mrʉ1'KWMGk'#NnP0f `60Tmq-oF"OW\%TºcP5Eȫʕ>\z4rf6, ~̧|~:a3xǘ1M4FQ- Ծ$ZvQhZ<0)w<+Pe^Ap0VFnZ\Zz^UymD^ -\L4*tO٪<ħ<c+4<\xQ`|OK-و;u1^>|2F?|zy7Y;УEkgJ ӯ,y}YAiꣿW(DFPxA!9 -g#(<Vj*zP#/|g<orz,[Y(NKbه ,}xaUd‡$(J1\6PIACM%_|kn[:VV[ĶbS4, w;K|9l6 EJCEEpg>t"|(֩9aqjHzVqTc}fGJr/PQ(#Bf=]C_L3(XJJbx&-z7br@n 1`Ǣ$r-mf$C:9PYXƘSC t"K7+H_D[a7Eq,_8˲wFcIw7|F{iӪ L~ȇPQRތ|r -w_pH %0$ +V0. e᚜fC@ =tC7 bL|yTji`B(G1:3@ 9Jjuݖ b3l[~ugTr6hr,K,GܚLWmagS-4`)oGЄZ -I\YlM7F8eZ~".n^|S -.}=@w0]>;MxL,aj^d"+ ~3[02?z o$CpIa=)ܹhY$M{(Wxc-rrEߴC@-Ii /+u ah j°]΂eHA{#==zP7&COi&Ń!ta Sai0=~yXzc~8>1obr{Yj:?E"S"ꗐo$xؾх~ dn%Z j000ˮPp)>kRZ&>;0'ڤ]2}dOz bAtֲ H2o3VWƒҜJݸE9 -1T(f'9FVendstream +xڭYMs6W(U|[fublU29PBLHtEI-Ϩ|06ݯ K($DL%i&`XX_}gAvg}wW|EbHL>'\( g;w&?䏮tS3d:SN9'׏]۲qv315ٖ>\W5?X)5JɌ3IQ&3JDf>iWa ~P²'+!3ILqu{s_h(/RP+vP+I5=&\,I!\TI`2_CYb@T,0QRC[;cc9xg[[/NVSNvPEA lY% aݚEXA&/"#TºSQ5Mږ>>ͦzB~Yxg~+|njepch% iXqI4EÆä86Z|pBMyc{@cies T!xx_: /EZWAљK/5}cP +DPU!>T6[1pty<=W#>>ZUvQ|z:Ia*aW*/l7Ӌk_JC 32y]YCecإk"%PtA!9 +g#::ZTňbcEs-QZnЏ_* IBzILz:0aА8܇Q./oN2I%AEe0)ۢ/fmǺT<֭X-y7G]=l"<9O + ;ۭM<윈7$^8;}on':QJL}ѽs1Ma))I3ubݔ3sr!b ǦDL96Xp3x߁i lWlЬ`ָc3T~:A$C@v](X`xo|3UtBZPZ& K}-e6PfaFhbM-|ǒTJhow,8v@kF,錧5hՓ?~ػ̨02݁h<~:a\Tyk=LwQDfx3$cKpxq3Ìrc"%t>~R,!mi 'jsɡd7^h 26*ʋO + x!a7K[/p[]e{DQgoh0g N~5R}ik |D[[Z(ن1Dsдj ovِ W*e㯽6j-^^:%[x,CMoyTrȵO&&|=U> .@#Tܖ݅{;0& E!e8aԙ(<rqȼp_#6sW,t6gIc[Kikkc^!f# +,5/ESQhsإk&4UP34qrPGg]5Gġh7~{|B5~L Unj"gOl]azrvbb{rlأ" RU 2?xy\ +A`=k|E H8mywă?gq((+> + M|>o^uŐFlW<3],5zo7{fx'84> endobj -796 0 obj << +804 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/prefs.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 802 0 R +/PTEX.InfoDict 809 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 267.00000000 265.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 803 0 R ->>/Font << /R8 804 0 R >> +/R7 810 0 R +>>/Font << /R8 811 0 R >> >> -/Length 805 0 R +/Length 812 0 R /Filter /FlateDecode >> stream @@ -6538,183 +6568,184 @@ x Zc)R3S¯jІK{\W82}1V 4bgQRm**ՕPPj+L"<@Q }&))D$2z7SJDa=ˈ`j*IN J g]_/{S*w-~bfБ5>,@G@6hf 4LpA;bDO urYޯ݄U"AI&(`K EbcR%(s%/qqyqPJz#m'a׏0e%%HNP1}ٹY(8~+áqݬ6T q gd0}X 3gw(( 9/_+iendstream endobj -802 0 obj +809 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034136Z00'00') -/ModDate (D:20080810034136Z00'00') +/CreationDate (D:20080810204213Z00'00') +/ModDate (D:20080810204213Z00'00') >> endobj -803 0 obj +810 0 obj << /Type /ExtGState /OPM 1 >> endobj -804 0 obj +811 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -805 0 obj +812 0 obj 540 endobj -800 0 obj << -/D [798 0 R /XYZ 74.4095 793.4011 null] +808 0 obj << +/D [806 0 R /XYZ 74.4095 793.4011 null] >> endobj 441 0 obj << -/D [798 0 R /XYZ 288.8373 559.4163 null] +/D [806 0 R /XYZ 288.8373 559.4163 null] >> endobj 387 0 obj << -/D [798 0 R /XYZ 296.9921 237.8998 null] +/D [806 0 R /XYZ 296.9921 219.9725 null] >> endobj -797 0 obj << +805 0 obj << /Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R >> -/XObject << /Im32 796 0 R >> +/XObject << /Im32 804 0 R >> /ProcSet [ /PDF /Text ] >> endobj -808 0 obj << -/Length 2888 +815 0 obj << +/Length 2788 /Filter /FlateDecode >> stream -x[kB*t0h 8Fn] qPPWK/EmE*k΋TnQ8Ν;,0G1G'b' YlWxo6+vk_뛫?B$vA@TR*|>uV4KVkEׇ";deg՚ܯ~ys/(F2Ӝ7*g|f"9;W9dvQa$L .b*Xک\: KX 1 iYUicZ _WT.*N\^* f7.3T5mҭ~t<;/=gCv_T;<J.u=Ț'y:Q+M/rZvlQwuf U?܋o^?e1/wj/*} cK2HH@C"S|2O̮'t.[=$vNiU޿g1?lwӻU @(+.'{$+B4mqIvŝF~cSZM"n Q"PLs_g %0 禄cm6Y^ޥEr!Bߏ{˾bTôÇ&U! s+}6M$%9Mp$NN흕)N-)UhX@iD:Gz87jVc>V"$ gh]Rx$ў1A0' ?M\{" #~#$;~:$oOKQ L\i_}u8@ki@9 -C]":9H] .J WR5^d1m6YQdnQ,jH͸2Ԧo3t)ӃWju1dB^tK5ta'1E`XL^J -D *Y<]hڴB>-G B;fB1ERZdVKu"˦ -6zȠP@mND -c%&ؗ%vc~Rg$nQËTlFۿ6k+wY*~8{*@4]f{duP1tOIKcq`^3Mޝ + Q H7sU,Jkn1"&\xrAܔ?8`G?LUUMHٞQdlye.jhyf50os};ɋ%/Mf(wV}H,N{<ܜ?idVSh !HFj'5crQ.zvS8:: =&;f -E[g(dGMNXĻ|teҴDbpjt3zxg߲`PSeM{|IˀHhLY(P/"lI#@r ڨAS N9'5g:I!M=˛LM -n?>ƚA'~L4s6T2rhsh 1m*€$x&3 !%mxLr;nmVo ߫&,Uo͏ w9ڏd^=*3hkW+.]vUTI&$2z/}LKsjvzeXp##hh:~Pd쪁ӸH[/%ne zpu/'FY>Rf0#*'h6Lo5:YÖs޵j ΝkˋJxZ|&=*iW6-F TC'6aja/4P}{ - ]ALq2'؉ܷ:oI J"IsbN[ -Nf.<Njِؾq\}5oPna >q<BNl |M쟜wAxDx QB8YxBV[xV'~:Jt]gꚱ?8ӏ ;c\#Kqb섬N[c {B"Nf:-O(ĝ.`egr87{cV9ɭ&BY*?F%pS׌xB$9YBV[V'xzDq&Q"#I0#l7 3,Ѳ5zK(׹:)lT<lVn`~*X{k +s>6Ι*Rp)PQ{&,#yu J6L}?V FBe.3Hk-_Vf,v;sǶ q:mdW;SUi$"YG*\qd/K٭vvx +gadQͱM`kl[4B-'Q&G ׇPN2cVDmi7pyY6pnWS`ܦ]vzxhSkfǶv"6noq[!(CXh5V[>.Jn {Pܴ@h#VaT7U 4񄇓d*@8B5gypەu1h6˗Ɇқڵvk 1#NknyN-n}Z+k'3/'Pӷ+:C퍮E8w| ӊj&m8>=π4+hF(T>\2`fOK1,!pȏ\9ѹ9'[wFl^pmj?=$@fkS} ,#\f>x8w(*s/O~o?wA3u*G6^;csNמ38AE|lf}٬B\{퍹^О={^5/ȇS* $ ,e΄&$K4NA#~yʉEX9q<ݭ5O95.ʁ iǙ`.ltfaNs9P~pZLģID(haf)BLV=:&,XkL|@5S`pg*= hkә"s)Z)`,F/(\61M0q_zw1 Bؽ^yiIu@OvR-$2vrT^ &U4MbL̀-hFRFɋ`$Ba)"$]Lx4H$%GX!sm  C-Ɖ'X%RpPck<[io3Rg%۪+|PڔדJs:ihg`pۜ+rx(ZS%+m6;S/F _TB@vOA@8ǻtP`7Xl&\RQcC(ElhFNmt1.0,"L6B]c$Q$U4EX?N&@0mNyΫ7jkeԽWߨJQhO's P] L(0z14VMC{pZQaq`(S DfI:uU@.{47/ 8a꼝+Z(aSQ33ZU;qhR^4ZcecIDdF5iJXZ&!n/A p kXendstream endobj -807 0 obj << +814 0 obj << /Type /Page -/Contents 808 0 R -/Resources 806 0 R +/Contents 815 0 R +/Resources 813 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 801 0 R -/Annots [ 810 0 R 811 0 R 812 0 R ] +/Parent 803 0 R +/Annots [ 817 0 R 818 0 R 819 0 R ] >> endobj -810 0 obj << +817 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [293.4206 517.0301 312.8614 527.6123] +/Rect [293.4206 659.6596 312.8614 670.2419] /Subtype /Link /A << /S /GoTo /D (figure.2.15) >> >> endobj -811 0 obj << +818 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [120.1496 481.1756 134.6052 491.7579] +/Rect [104.9734 623.8051 119.4289 634.3874] /Subtype /Link /A << /S /GoTo /D (table.3.2) >> >> endobj -812 0 obj << +819 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [425.2062 481.1756 439.6618 491.7579] +/Rect [460.8106 623.8051 475.2662 634.3874] /Subtype /Link /A << /S /GoTo /D (table.2.2) >> >> endobj -809 0 obj << -/D [807 0 R /XYZ 74.4095 793.4011 null] ->> endobj -442 0 obj << -/D [807 0 R /XYZ 205.0163 645.8849 null] +816 0 obj << +/D [814 0 R /XYZ 74.4095 793.4011 null] >> endobj -806 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R /F35 237 0 R >> +813 0 obj << +/Font << /F63 264 0 R /F28 217 0 R /F35 237 0 R >> /ProcSet [ /PDF /Text ] >> endobj -815 0 obj << -/Length 2885 -/Filter /FlateDecode ->> -stream -xڝZjkV|ɇn?+,\ g(KZzwS9o:H\dF0r&Ylaïdu ^oSEfqy*W}]Z,_jZ$Y֎&>쏍ۻivynpUTف9*q;H"2ظxvM.j$JAcd -9V^eɲ+n\ۖ\vMD綊.#1mJeĎ6#v+ Y],{"&KᡐBIU [w -A>뎷uuʷfy8-c|wrXu2IXLt̗w>=4m[ٲ;`kî! WCۻ;=_ʆI|}~/WVF ƶ:y16 w" V1`Y -8,R6fu/s&2 B}h;0D -"mvDExquՏM>?̜hS5\8?`hMݍ熖nwQU~=T*S+7g3%t*baNQ7t7iWY!lGвJ&*y<:\"<-ކu7G+HHBqf|=Ъ Adf e?xr+S;xv= -')a'WxHh|o@e 5B{Cd4dcV乴qv:`6\EO̎jx ʮQ $~x}>K8AN}=6Kmgqo{Q &1#[mVoFI#(.8,Yy],tl[ naSBwx8`<pi;ƋvDHk'QI-E3w'eYG^GߚO|3K=<1-1H'#@<4eQP Nј<)%h?[` >},vq%L˱mb"ʼn.[؃1yB.`L'¦z>{nʓW3uvW %ALV婚bJX=\<h霶p#Z;i0fyOEW/u_9µ_n5QHqv 'HP6kVߵI;v<B7 1D덫:vw:I;fQx iliӡ?PN4kh0& -MʼMBW@{UHE6wUѵV " ;j2otE~:a_O8 3 HΏ!N%r&On>]:qnCk%jLhK:`ۣaԺ˗5 ^T}qd2p*8 +hۖ^i/5eף:|1z-_GxS -& =w9CLg=wVLD}WIDk-lB0jPTˢ MC0!c\c7E@6U[E+tnW1!{<42tK^1,5ݜ˓"Hsm Q.NX?GD\/Ks l -P|ZC FK}M@+:siG4Yfi^9z6n[m4?҅V= 7K=pG5]_9];c F!w5|Uؑ`ѣo?k_2[o0xd -߁.߹ֽN~3W ӿ\^_ξUqS:OSQI| -Hn}&,9QIԻǪ$FڐyyrU JGIiF+ۢL0!2"HP" -Nfendstream +822 0 obj << +/Length 3215 +/Filter /FlateDecode +>> +stream +xڭZm~B%;ɠ-1:! +JZSQEr}gZJ +|r;3ϼlF%HY `lYev17w7NYJ2 Exqӻ/cٙjI:dToK+3uWbP_﾿y}ן8%eJT:-9#ZILlIR7W:7~ ~P²v7RhB9apc2fA +fGUkLڣSM,Q)B8Mt|`t^z~o)N5TFTY&sP~e9L#|7]#۽)W NǬ@pU<[>óRS>a4|/21.A+T2luniezW'3'ey£Ȑ|ݹhwC[6Fd'`g6/4)#X*ўTAr[O"no>~D/|5A#Oy 鈗@.oVŤ9t#">53 4=pqM=/0/qq  _MS!'@93yZ.o833Srs[1VjHz-JCů=veP]V*T LcF0,Hkm T@ɗ" @t!DKH$gUUERL'Cneʄ'_SE(V3VzgX9N9oq!|uwc#/6 XMw!?C[|< RBg &x5 tT]!lqm2Kh~ /Tk?r-vIyfQ5De]^7ժ`6/Lޚm n$r ^hj؅\#Mۛos9x|m8 a蔂$`{D^2(рx& ՂDty ލưuQ$cR\j+ cv}T 9 6_lx 򦯼3p`  FՌJhmh,re6.D&j)XQD8M$|ky΃gGYH()rKSh{x<&fBd6"N((!?Wf얎dan])[ B˹_ 0{[\`Qӏ3g<6wӝ$4{0͒t"^z.۲zL%۲"l|4x4m&hWTvˮ,u䖏(}0Qsp֩hE,/|x|#Ľ1:Pcef )1Iލ6`Leٕ\nټsCgX]Y_ۛKÈ|}gCgAX=&(4nKӢ,%Bc>:z`5B̳w@kڋG;a'bErqW㽐sE}!dZPOa +NMʾ0[Ğ.s꫺)X7ї]졧L>g/5t^bC:*Y<$>6mvzLHY%^y7^FCm-l UN69\&o Z%ܽm ?1¹+_  +zt +;ixUa*St~rdå.c!;!_HjG\xXQ|ƾooVtϨ9]Wdlo8FDN<{w2XfpYOhTUgs4~t+̫j鼫v4Xpv?#WZoC6l? $R9w91؝9Ur i_E](a2 !r_ںbX2K&:,}34mǞ&쎸xHdEOSc H&=HRHQ0+g~x/whBn[D0̹Gƛi ?NCUi:Yq9*7ޘ1caME~h|ƲjpCw$N8-?/d4}TQ~RmO” +I~,Lm`Iikp^rV%AUPՆVQ&X%J<%titwENJ촃R\oDeSôssu~o E:4z!``];Ktg_ջ ko#yl[b m3&{=ֶ0)g-#ڰ<jo I +2Ei*l ]8#!NUtQ C֣ +#?z;uߛ'_ʮxaϔ1U +Rb_,#SgT z` vXᇲTS4Q¿VB/U!yvùm.ZG2#iB!mZqu(M~>%9~r8:p}khWe3Atñ!/共U +:G!%o8G4q~jt-'p[endstream endobj -814 0 obj << +821 0 obj << /Type /Page -/Contents 815 0 R -/Resources 813 0 R +/Contents 822 0 R +/Resources 820 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 801 0 R -/Annots [ 817 0 R ] +/Parent 803 0 R +/Annots [ 824 0 R ] >> endobj -817 0 obj << +824 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [212.6999 153.5425 227.1554 164.1248] +/Rect [212.6999 135.6153 227.1554 146.1976] /Subtype /Link /A << /S /GoTo /D (figure.3.2) >> >> endobj -816 0 obj << -/D [814 0 R /XYZ 74.4095 793.4011 null] +823 0 obj << +/D [821 0 R /XYZ 74.4095 793.4011 null] +>> endobj +442 0 obj << +/D [821 0 R /XYZ 205.0163 645.8849 null] >> endobj 122 0 obj << -/D [814 0 R /XYZ 74.4095 240.8388 null] +/D [821 0 R /XYZ 74.4095 220.6424 null] >> endobj -813 0 obj << -/Font << /F63 264 0 R /F28 217 0 R /F26 214 0 R >> +820 0 obj << +/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -822 0 obj << -/Length 1893 +829 0 obj << +/Length 1910 /Filter /FlateDecode >> stream -xڝ]o6=Bo'kV$EJblp%C/ ǴFRInᐊdٽCx4/ Ck{Pn*>6?_>ݏHX6cGskE>v2,2uvIE_汭Ӷ{8U=Ћm+6ЭxO%-_ gJ+ v>̏"݂%2i[t+0ڼP fysgw -1i>s4Bfh-`J _B;YGG \n&frl@w&DD*|Î6y*trj,W '4}E)$t|惵T.[c}O셙M;$-j`!%&Bp=H2c*_0MDNW‘i] a68S27KckdIK %8x=' b["M|Ϊ28UhS[7ԧ -U?\6"MHZ cL"'"pb xoVIx (H 4âȮt"?YYZqUaamXY;+µwlm9CCV9Ec"~alŅٝŭڥ㉰:oo L.C_uG3]Qލ7p>2CnayxBsZ|ۗ °n -KB:qendstream +xڝ]sFݿBo m^vSWI>${!@quO $!{s*1t|/RTEKXpx]%~9b__pk"c1jqY?0_\jPnsrWGZ$,3F|#"h;Z@,MS]نx`%kw\DE_䑭{8m=ƚxT[$*{Neld{?? $#ɳnWFgjr(n0_V?G*;2匧6,Ee +naom+8Lq \jGϟ~V<6/V}X"V@p%n%A]!꿿JcP\Bd4\]:=Rh}:v "vh{B8ESbd*7.1Ν$rӸȠU̸H1}hm^ O=ޝ⣴%*-,%h'Eᔵ`qrpu)~;h9nleq=8K \1"Y:`ٞ?_>+swUSɭakP`~*jU@a7+[bnDžwӶsI`D{K!{Je:Pq,OQ>L:|C%Il`I;$"y߭-^wTT;Ey:%^3G-Ntf\J>ds^,9$|&BM:(!H)f!Aw1L&:Z@b܉Yt`QlUpoB XgNYzȮ /*4c&q U7 +}:gZ޳j]K>g ¶&UF7Kh)< ++-!/|eP2)t vZGaaҋ\ڔ敬j˩ +9gpJBsŴX( .[=Iraꪒ1y: Z"bONJNB^u4dH/4oX윷<~ +HoI $KbU)f1TLB@p{iNo6AldGV| +~bl<47'eUUA \jE!63?QS nQs'M& P\pCVtBqq `x3p 噸4fnWUS5=N3+f㑯ZawX!({0@6bY5ICs} +Fwa qjzt$>>sux)IiJѳ*7$\`>v~iigo#Ft|8WeKu<3D MB}+Mendstream endobj -821 0 obj << +828 0 obj << /Type /Page -/Contents 822 0 R -/Resources 820 0 R +/Contents 829 0 R +/Resources 827 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 801 0 R -/Annots [ 824 0 R ] +/Parent 803 0 R +/Annots [ 831 0 R 832 0 R ] >> endobj -818 0 obj << +825 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/prefs-editors.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 825 0 R +/PTEX.InfoDict 833 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 376.00000000 240.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 826 0 R ->>/Font << /R8 827 0 R /R9 828 0 R >> +/R7 834 0 R +>>/Font << /R8 835 0 R /R9 836 0 R >> >> -/Length 829 0 R +/Length 837 0 R /Filter /FlateDecode >> stream @@ -6725,97 +6756,101 @@ xA K(T<,vx?'3xY??% ʢ0*[ȚT[*<ߙ SY&d10[a2v3ev",5;-5jXRWjoəضN{Xla{^S>V3 iL[WoFӸ>@$cs  ɚ&5%px? 6'p̻,[HZ̾¼?w?|$endstream endobj -825 0 obj +833 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034136Z00'00') -/ModDate (D:20080810034136Z00'00') +/CreationDate (D:20080810204212Z00'00') +/ModDate (D:20080810204212Z00'00') >> endobj -826 0 obj +834 0 obj << /Type /ExtGState /OPM 1 >> endobj -827 0 obj +835 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -828 0 obj +836 0 obj << /BaseFont /Helvetica-Oblique /Type /Font /Subtype /Type1 >> endobj -829 0 obj +837 0 obj 681 endobj -824 0 obj << +831 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.4132 225.2515 92.854 235.8337] +/Rect [73.4132 207.3242 92.854 217.9065] /Subtype /Link /A << /S /GoTo /D (figure.2.14) >> >> endobj -823 0 obj << -/D [821 0 R /XYZ 74.4095 793.4011 null] +832 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [363.7394 207.3242 383.1803 217.9065] +/Subtype /Link +/A << /S /GoTo /D (figure.2.13) >> +>> endobj +830 0 obj << +/D [828 0 R /XYZ 74.4095 793.4011 null] >> endobj 388 0 obj << -/D [821 0 R /XYZ 282.3592 400.2628 null] +/D [828 0 R /XYZ 282.3592 354.7735 null] >> endobj -820 0 obj << -/Font << /F63 264 0 R /F28 217 0 R /F26 214 0 R >> -/XObject << /Im33 818 0 R >> +827 0 obj << +/Font << /F63 264 0 R /F28 217 0 R >> +/XObject << /Im33 825 0 R >> /ProcSet [ /PDF /Text ] >> endobj -832 0 obj << -/Length 1677 +840 0 obj << +/Length 1674 /Filter /FlateDecode >> stream -xڍXKs6WHu,$ssIhMIu K%Hɺ.H31bǷ ß%HP@nx_<r>{N(gIt}I2Kqz]*wukֳX<< M|fcl[l.Ҹ^秒\ks&fIh.:φW˔L+I -!4ީSZ,ˤbK[79VQ'< βy1!zAi$cRNw7*KJLCdPGilP%qK\|fuP~ӺD9 { *l=QvcwV` -7}G#;YTyQsl -?ئ-#0)j$4DliWDs(nF%IkV.]u E}MdY~߮g౸ly1%x/q@#"ޕxTE?\3{aK3wKY.,GQ0Qx}hĄpFk՛v{"jilمi,K=ZI0&LEPs#*юkH -W6*.g_΢/b(23T#O$%O,`JKөz.scQ+Dbڊ>6 +pT9UdYyeZ3IrPO1갂bӶDH˜,ܝ&$B&I%B_- -Ί,&-rb BB!U%H -t5H@*s%:u`kQ"<,nQ*;=4!6yp ,m{Ja`/='R/`i[| ߮% -@sŒ{A@kzǗ%}Yqa՚Up[o!]zQȬ -.LM՚h"-hIB[^eYR҃PP)@,hD_Z~%EXMVxLYGP@ز ^[]w556QΙ|'#Ozcq-jnp"z)(tn|(!逪x@a ck09n:c"XjY<,[ -#eB)')84B^p6Dv]а -Jgt-MnvzhW,$u^B ?e"ҷc&YlV|#`+ekva%d {j7Y&ȩ ƲϽ8 uCPt}>|q`eoxǵ"g*45TI2 -ȦN+֩lz.9y/]FzSi.:y*^? $!*ަSI #c'9U4͝$k7-] -FQp.c*H!5@3zyDlWS>)W;XY'DtTK:YzCc)hLxԦ2we_Ġ Lj?T,޻PpkS^yԧ:Vm2ϡpO>Yq3`ȜB2J݋D%t/5Ϝ?^gendstream +xڍXs6 _Gy(o]?亇erjlڵe_? eV^"A~-"""B!Dt9~|;Z']$Ud.AuWխY2cf64a[mmH.g_<{{ݟJr)$%΢L<rO )&I +!4)-Xeҙvݛzi1J6jV$҂GsY$!b#lL`H: +޷63pf[K)I[DƄm\m>ÔrQY4Dpun(PejkniV7Jk +zW>K!:'a3c]'ʮyP +\/hrG101sBfd۴}&@͙zۙ->Ȼ%u0nTfoh5^א:^Dm7Dj(z7=1nL &l'澥sYĻ K^si˥ _\jr9ⅱ“콣$&4zm4QKc.LfY?8 +\5*)@b&T& (&GRx.Rl%"YsZ^,' ]մu]σa-`iK4S +}i9%xmL䧷ǰYB>9z, 8w| Fy|YҷQ\iٙ~K 4E#605AfP~Tk~+G PSË4' m,;efKJCBTbA$7!YR蘋ٴmǔu-pk Tk 9YdUS}1Qo;NǛ]m R$PU EӃnЍO?9Pt78,xlM&MqBQ{_Z_k_-eKAttyfwĔ)84B^p6Dv]а +Jlr?ݶ(HS&R.}(xɦn7@=>z_voVBFv/` ܋swZ74YESnCC4~ O1QL)C=fJ60i_F:(Tpi:MOu]&O3V⸻\/{*E%O맺=<:=P%\x8i00ќ<d`:=rx$3'Jz0s K!B6#= +9Z%pLE)4(F3/z'|pjgr0+t`i}:mUpi[{҂F^\Gu=X{z1a9{-OOLt߼ '+y8~0OO!NE"Z?33'Zendstream endobj -831 0 obj << +839 0 obj << /Type /Page -/Contents 832 0 R -/Resources 830 0 R +/Contents 840 0 R +/Resources 838 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 801 0 R -/Annots [ 834 0 R ] +/Parent 803 0 R +/Annots [ 842 0 R ] >> endobj -819 0 obj << +826 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/events.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 836 0 R +/PTEX.InfoDict 844 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 544.00000000 374.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 837 0 R ->>/Font << /R8 838 0 R /R9 839 0 R >> +/R7 845 0 R +>>/Font << /R8 846 0 R /R9 847 0 R >> >> -/Length 840 0 R +/Length 848 0 R /Filter /FlateDecode >> stream @@ -6825,521 +6860,520 @@ A "%~wC' Oh:,-Fia7c͠}*L;H'aɤ V]jPL~lendstream endobj -836 0 obj +844 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034137Z00'00') -/ModDate (D:20080810034137Z00'00') +/CreationDate (D:20080810204214Z00'00') +/ModDate (D:20080810204214Z00'00') >> endobj -837 0 obj +845 0 obj << /Type /ExtGState /OPM 1 >> endobj -838 0 obj +846 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -839 0 obj +847 0 obj << /BaseFont /Helvetica-Oblique /Type /Font /Subtype /Type1 >> endobj -840 0 obj +848 0 obj 1199 endobj -834 0 obj << +842 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [197.3896 197.918 211.8452 208.5003] /Subtype /Link /A << /S /GoTo /D (figure.3.3) >> >> endobj -833 0 obj << -/D [831 0 R /XYZ 74.4095 793.4011 null] +841 0 obj << +/D [839 0 R /XYZ 74.4095 793.4011 null] >> endobj 126 0 obj << -/D [831 0 R /XYZ 74.4095 771.7323 null] +/D [839 0 R /XYZ 74.4095 771.7323 null] >> endobj 130 0 obj << -/D [831 0 R /XYZ 74.4095 746.1189 null] +/D [839 0 R /XYZ 74.4095 746.1189 null] >> endobj 389 0 obj << -/D [831 0 R /XYZ 266.5136 365.8579 null] +/D [839 0 R /XYZ 266.5136 365.8579 null] >> endobj -835 0 obj << -/D [831 0 R /XYZ 74.4095 197.6162 null] +843 0 obj << +/D [839 0 R /XYZ 74.4095 197.6162 null] >> endobj -830 0 obj << +838 0 obj << /Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R >> -/XObject << /Im34 819 0 R >> +/XObject << /Im34 826 0 R >> /ProcSet [ /PDF /Text ] >> endobj -843 0 obj << -/Length 2558 +851 0 obj << +/Length 2608 /Filter /FlateDecode >> stream -xڽZݏ8_>lC{N1psNqIG9N -4MHH)V!VD*Q(ZU oǘ@űX}}Z1.ShieIf+pt~9.Bכm$ח2zAQD*JW[΃q՗RQ/!`MRI0&.WQ().*uRjpQa݌d"䪯qjIM 63b*,C^7/& -Ysar Ҟqr0v w.OG.DӴtХ%K<)DE^3CvMQ &=aIӈ_NOl1:Nzt w~#:}>:_ K1BHD (A;}һbT*#B_l0À wplbR%X6鄦&q37<\(4AQ9*L`d -z~\d{*9ύJ|ްp[zӏaJ4HTv:iqam4sC}k|~9emU}]@A [=%nU[(,\ʃˢå6ƒ.J ҇ϭ锣RF{ W -4Џ'K +[/w {|LJ݇[Gڸ}0\ɸD()B$)k@=DS=V&)RI1Gs M."AhdQn)6P'a/--]m#)ZIkɲ*MЭ^fk{ki+kZ]8AԲ?wLa DfYd2xрn&"Ã(R7/$ZZ [Rk_3k(%HE|(bKEa_E9p;t,дuAeܰEʑ̕#1I@ܖϗ$2<VlI?ZX;=7$SH~%sΤ!5H[HL\jv0"ihdmevu:6Qѣ*Xd-d3Fh61Y<0&+M/VhfPނ&D -RLM@fP:rTؤ̺OO萳YQ<e}řsiӸ{ 3S30 8湡`Uy%~6 ) -ŖP]Ee&Qm`Ej_-N14n&=(>Pt18ȋ:?armI⼫ *V3}n eνAf]3Pмyo+~ L8Ůt kPB`!dCvCOt2y90r >3CD֑Or Nј/~;(vwό>R1kO3@!D+BOxL aӫDX`tendstream +xڽZ_8ȣLX]0[yKz[Y7,N]o9sIϧs!OlsY7>w.e/~<7"cƆ~OV p#=ą1{ +]9MXY9ԫc3}<T*τwY[Bz\m̞66iLcl`O1&indH:>궦'3%9 f--;t@ 9PTX%7}tڇ=zfs[yL}UfʥRz b2>ɈDEZ籩k?c$n x%d3REK4ZO&cGuܑ b8d^6"nN_ |myBRװ5Y˜'Tq[Ӡ+ Iw8yZ lwZ2Xme״,s&Z.q0y/1:P qPMxI@-@^Yc)iXZ s +~&-!ӋR ,C|~#bK infb994/ȜpW]KD&%̤#&>I|GeWM\ ʷK9A@h,Y% EKU`6h ~bH WbOҗrOՍC{G2ՖDaw2gL&SɍĔPd$ -Y[* +b zT=X\8s]^,|mцv+T`;>Ѷ)dG S)y )X%$.DPˡ=#r,Gcr ydt e}8AVG2rӚw7f> 7L*/Z +8j}%Tr7QmYEyTUUE'qHZ(:<@ĄXL3SIAS#xJZ ͸[k,3 WG PU0 3՝c(.vk@S)]+@W[`HumJ;IR/piG.1uBp$ˮC,m.[cvAFPu&N\ = -=4^O"lJX4W ܻ]F&Xtg[4ĔdQ1ZtL*3яJ -3wGHM+@0G6Gοčle-Aq a!I竤INTݣAFѨC!8طkۦw!pP`nA*G5S9sӇ,==9d-!t& $=J*?fH1c b 4.?sv29 >q.(#eϛ=mg&]4K_F­{MuO?yT {ڄ~}SY7Ȏ|~0of>鮓́7MbCM. 5$g)--NU얦ԅABU+@8[m^g~ +9BcˠWu2oXMiMצ &FD$Ȇ/gZRC>VjrQqWf*^#Bø`0~EU9'nF:h$7W$Sf~,@ey @!|p0_az^{RMOd;3{2(5#㎈~E{H Oё Fl%р(4莓endstream endobj -842 0 obj << +850 0 obj << /Type /Page -/Contents 843 0 R -/Resources 841 0 R +/Contents 851 0 R +/Resources 849 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 801 0 R -/Annots [ 847 0 R ] +/Parent 856 0 R +/Annots [ 855 0 R ] >> endobj -847 0 obj << +855 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [451.4247 225.2515 465.8802 235.8337] /Subtype /Link /A << /S /GoTo /D (figure.3.3) >> >> endobj -844 0 obj << -/D [842 0 R /XYZ 74.4095 793.4011 null] +852 0 obj << +/D [850 0 R /XYZ 74.4095 793.4011 null] >> endobj -845 0 obj << -/D [842 0 R /XYZ 74.4095 725.3863 null] +853 0 obj << +/D [850 0 R /XYZ 74.4095 727.9473 null] >> endobj -846 0 obj << -/D [842 0 R /XYZ 74.4095 278.4629 null] +854 0 obj << +/D [850 0 R /XYZ 74.4095 275.9018 null] >> endobj -841 0 obj << +849 0 obj << /Font << /F63 264 0 R /F35 237 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -850 0 obj << -/Length 2118 +859 0 obj << +/Length 2120 /Filter /FlateDecode >> stream -xڭYQs~_Gj愒L&v3@KX"=$ HQMw36,>,dd, -$YmO~+q›Pw^U -ӊ xΓaݿ/Kzó<lq}4u|:I}&ѹޯs/yr/y`,Xe{sE[O| h Jwa#<\FZ`lbV[3u>cy1LR>:;jDmR"~9K,F]Ν(&0%1G7Jp&R!]m(eKUBJ{+"C$j-2.kuBZT H4k-p@$z97hS"\!1Y./?дAF`%a+ulDw{`Xn>N 'sCsY#bx"#QQBx c((`!Ϛr{Ƿ[3=$JMt[JDg9#p<;;:6͘0ϖi[4A%p#F?[ЎZ%K[:n0&gi 0آV ic 7˜26]_Z'-"M1T၆s]o7~\H]罝FI*'/;Q]L*[uJѰX1YRl(:Fq@ T -l/ -&S%Qi09b0+6Sݝ3拂Z)T:ȷܡq*DP -ނҢV Pi'NC":6="2tו{} H"f2@sbKZ\ !=X%4Ԉ <;ۤƢY5͐ܳOx+Rĝ؛_:D|JCay뷄"zto e|_ ->T%?Ð|h2Ue 4hbdoMyl -뾞ہzM#^|ӕ8gnf TpYMG8~ \Osņ^eM[Kr뚾ZFaZ㩳?^Bf5橻z~[ -8秽{?Z0iP{,煺V  [ onP۹iNXpnjc_ kaw>.?5\f(XZxk$DvW p\Pj߼[ۅy~ihoir}3WT#ǟf BW+,SYpwAs8@@84PG@y+!cM,GE)Kʄ>Zs6Ջؙ'-h=A(+ 5[uvv/lu~|E=f|tuۡޅ?Um]PL;{[L<={ӵt%z/BY -4ftZO_R9\Q2CL{0cBZ>=S9v;%n}-^Wkfd9X(w?֯ߕ)h] !c75^e[$*SGvDcwo[<^.Om Y8aBu ^ w&X)+s"gwXnp<\H&N3IuHgjY1B [,ٰ:tj5Opsl+]Z$[-p@8z=M@%|]ni>@sfȌ4;ze!($ގΏNES4=WvneT;oI%LIմ㄀}űln 0CUٓ܎;Y]5& tnayݑ9#[7zbH!60G-m(8mO#<jOx ;XUŹݙD>9)-Xdcz0h؅y1aL*` G+!-"M34 胈6_ Zl}u`StЂk=˦KvJp]~]%e>ņk4+#B`{38럼.A :Oy_B!ނ- +j5w)&Pt'܉p;0swJb2e(Z PރҢJV4:OBps +Nm$əx|9I\խ{yH_xU6{g7:+EmWjWS =X2"h-Eܫ%CħVD<F\d<`=.;aobolU 6gx@v ,aq^gYm_.Q6$@UoG۹qgvٖ0dHtㄇcۦqg^v VhMF86v[m'1>Yzm&k[ C_yZT ZpVrO arHU.K]`I"%BTהrG,LKA5i=B~xO玼wF :#Yx+P J~I܄ήj}|endstream endobj -849 0 obj << +858 0 obj << /Type /Page -/Contents 850 0 R -/Resources 848 0 R +/Contents 859 0 R +/Resources 857 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 852 0 R +/Parent 856 0 R >> endobj -851 0 obj << -/D [849 0 R /XYZ 74.4095 793.4011 null] +860 0 obj << +/D [858 0 R /XYZ 74.4095 793.4011 null] >> endobj -848 0 obj << +857 0 obj << /Font << /F63 264 0 R /F28 217 0 R /F35 237 0 R >> /ProcSet [ /PDF /Text ] >> endobj -855 0 obj << -/Length 1657 +863 0 obj << +/Length 1821 /Filter /FlateDecode >> stream -xڭXK6 Ps;+S6iI͕ٕ%עf;Jm}ΎA [DD%,EeBh9Q{"ƽp<~pyZ'U$Ud.YXfLyr>{d 1.6lLcM5wp~*9˵ws6I4KREL<KO@˔LHRG,-4b,2!)&Ꮠ<0ZSۘ;cv0NȘʕ#)r8`%1yT>{2W|֕iV![Uـ+"ӮÎrѹVOXV P#K0p7|Vv4 x݅QJ@)`2dm]Ad!gJTf_[5UyV(up<gEEj[Llj@U_nW R)Xq^7+<F 6}6(D !p)13Yz>e)N2qѧܘ pU* : `L/( Z8[&b׮&|9q7Ub(V^ʔC]b@SA>.׆vЪwzdNeT*] -hb*-Wa4ɭғ/ZTshaw㈅XOXx<5@9"_4/[Xp i$@Q%a 8Ȯzme}vA`߬LeBEY [͍3uU6 = 7 C 8$2Pӹr.$6EٔL4B#p8W\6NR2>D^{P;'[32옴}Y\Q!K:Sj aHmWf"PXXE꠆HDQS$a?'ϤՐ*U1C[|R( eb_ umUME,t] ӫ,к(ŰSg\TtC]PܜbݛE>"sZd\uӯHa\f"$Ǚ-֤bJ=>=-0(oo<"̏yǣ O8SEF`f!0^N}"6<#E9!NS ,Z_Q%y^ٍ\dGߛЭ43͓ʒ h91JRvendstream +xڥ˒6_dw,%$INIIŕÕNAFx<Aċ `$bE)Xl3(aW@R?:VeZGT1GW|oVkKV5xZ+SYӭ"^rճW,Z~QYdi&S%$$44)X$қY~oMe' :c3ll}3R>N'1eɘEYy}֫RJe[)LC+ʫdF +H koWc>;I|,xV.A;6Ɉ+JLsQFЋ|-˙(2 CME*tOowLQ8+6r,4wbxqgt4N›ޖ&\QT*lRi*G iz # [P6v_G%RF׿E߳3TƋLd\gcw0ٯD𷊡Jcy0b ,#˩0JkO?=!`t1;ٱ;MSl3 tsHcoorlitl7-s'\*_A\p,~w(<]g)HNxH;' oNCcS]ztPLFkmR_̱[Swt{>r؛M;4d%l0K٦ oK֔hD _)Rb69Z|I}B_}u7%ےSq`{Qe +.:~|q +70xQ8,b0"/(Ff^WHχ`[o_]4Ň4{/6V^5> endobj -856 0 obj << -/D [854 0 R /XYZ 74.4095 793.4011 null] +864 0 obj << +/D [862 0 R /XYZ 74.4095 793.4011 null] >> endobj 134 0 obj << -/D [854 0 R /XYZ 74.4095 771.7323 null] +/D [862 0 R /XYZ 74.4095 771.7323 null] >> endobj -853 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R /F88 859 0 R >> +861 0 obj << +/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R /F88 782 0 R >> /ProcSet [ /PDF /Text ] >> endobj -863 0 obj << -/Length 2388 +868 0 obj << +/Length 1709 /Filter /FlateDecode >> stream -xڭr6БAܛIv2+H SBR-}vh{j**?28KV&p]ūގnfJwo\,ZnWB&L.0i$zqxvgzÓДpv䟈ZV)Tj#8:5S'Όj|+.Xƹ7zJ2fIwVZQ^sپm߭aU;؆6v JsN(7&GʒutS,Vңe&M * rf3$g,<U)?%-\!M τI'^LJ'̫_oǵ=!ByJ1rcwmgQd6T;K3N*f u~'&7 -] ⹇KV] -/g'6#>l.KRٟyyhlʰBmUYWw=?9~CҨ6<~ECmhlin"y G D1 Z DdX& G7wk Do;)hH]^;%>B_nKP~=:kuk=CuU9٪&!kB-: v/9>x]IuK{frP8mnRtUȇR7- -<``O,]\($ -,.1P NRC|n'իϧ ťP6HRye&6PfT[ -TO729×FqpH %WS&dm̖΀/eKH\?-rKBNž?')dzβ,yTÍzİ'^ EfR!_ХhwSN.ĵ>L!#Kl -V@臜:$xqW U {:oz'Ƕ7-mKX'pWFv/ҏo pQJHM-09btuݝNJej/$a1lT1 9a)WX.=t=5(l詶 BXs$gY]@ $fl~tu OBh !*C;kjYj=T:,^C6- {00L'uObmԹeַȇv9 zr%=Jͪ:3i"'0 0H=IR ָ)zx/^S5Âe Bx>l펀Kptv_`D0p& -AId5C^ѡ/IRR1iht`g5ޫvaPIVxn襅B=کg_Г\;@a>3;3-M7 -³~?^s @Îa߻Ҍbٳ*'!-E n|Hs 䵡uu}+p-iMJ7%1Oz?Phztnq\ʁi4,NO}h:Ǐ]XxeQDm٣Zzs 5tNH:MeD4zڣCH;pAK/N5'BOu@ >Bc>Ӎ`P3IIj -pKq8$3D}  d774f܂Jk v-`Z6řNz4lR$lԸ@YZfy$}peO4qh\?ѱ0PV5Q@:k-a|sȩkX \SvuB@k%;B&s*$nj_BgSZzVׄ}^ > zLq-;` *l,Vi_ ǺL@z5'9 endstream +xڥXo6_!I"ߒtMt_]aM16㨑eW ݑ,۲(OG~w4 (cA" +LX0[NhooƝp<~y=yZ %2 Pm +Ek(I +ŊUaj.Tma(f*Tu_qJR3VJMIP)S:s~;Dd +aA 2,'&)'&g f%t?mp'- !JN>!gNa[4 %F>$Iz1 z3-YkwmG?ho?mk$6s: KY +$eRY ~YEѴ|G; R )WUCо4uYs{bƈ;瞁HӦOgV<nģ{,mN@A$ s&7U)bs{[h`IO݉)Ta}(,c7ͦ• +ryJ"(UmEU4n[KSfj!E~8z k/_.8\l bI^~z'n:lwվ{丹S+4=/E4b<Q H Lsq9]j:;F} F7V9 iƊ/˄Orx@)h'_)i^Mӡ_ \h!*~Q '5Tex)lHe!- +HҶnq2^\-'_!p)hFFʁ!BT&z1xwÏ֒|wPiJ4[0TrhK'-i/9g(r }h>40 1#YN9s}5~J@RFn&`-#w'n:4lذN92#0]0`•=eWvD2e) IXy %i/" h~W#x.)<"K@ ,6*iMU5H]p1n'x/X=L7BXNP٭][evksQxO!k=w'&.}꽱S >>բgܿʱ;Nߋ#T.X_[=fΪ; YwG+ξ#cOMSKJo̺̫֌HɈ27jN F8> }'ƭI iwO'_;dk|_|_^v +o}Q,?L Tă*ş`vqh Ia$z5endstream endobj -862 0 obj << +867 0 obj << /Type /Page -/Contents 863 0 R -/Resources 861 0 R +/Contents 868 0 R +/Resources 866 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 852 0 R -/Annots [ 865 0 R 866 0 R ] +/Parent 856 0 R +/Annots [ 870 0 R 871 0 R ] >> endobj -860 0 obj << +865 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/core-time.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 867 0 R +/PTEX.InfoDict 872 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 283.00000000 176.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 868 0 R ->>/Font << /R8 869 0 R >> +/R7 873 0 R +>>/Font << /R8 874 0 R >> >> -/Length 870 0 R +/Length 875 0 R /Filter /FlateDecode >> stream xO0+zTWڵM p!a"smlڱb\Yp:5SKI'!xY=Om챧r:%+CNts[;&ەmS6i418 y``NRgL,,F@_ 45FGe-! qm k,?Lp!SȾ͂>rED$*"]Rq<ܕURkyjge[:\(v<@RUzuܸ 7endstream endobj -867 0 obj +872 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034138Z00'00') -/ModDate (D:20080810034138Z00'00') +/CreationDate (D:20080810204214Z00'00') +/ModDate (D:20080810204214Z00'00') >> endobj -868 0 obj +873 0 obj << /Type /ExtGState /OPM 1 >> endobj -869 0 obj +874 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -870 0 obj +875 0 obj 417 endobj -865 0 obj << +870 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [219.366 684.3387 233.8216 694.921] +/Rect [219.366 421.2524 233.8216 431.8346] /Subtype /Link /A << /S /GoTo /D (figure.3.4) >> >> endobj -866 0 obj << +871 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [131.707 454.8241 146.1626 465.4064] +/Rect [132.5667 189.397 147.0222 199.9793] /Subtype /Link /A << /S /GoTo /D (figure.3.5) >> >> endobj -864 0 obj << -/D [862 0 R /XYZ 74.4095 793.4011 null] +869 0 obj << +/D [867 0 R /XYZ 74.4095 793.4011 null] >> endobj 138 0 obj << -/D [862 0 R /XYZ 74.4095 771.7323 null] +/D [867 0 R /XYZ 74.4095 530.2084 null] >> endobj 142 0 obj << -/D [862 0 R /XYZ 74.4095 746.1189 null] +/D [867 0 R /XYZ 74.4095 483.7445 null] >> endobj 390 0 obj << -/D [862 0 R /XYZ 288.6243 503.1502 null] +/D [867 0 R /XYZ 288.6243 238.8935 null] >> endobj -861 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R >> -/XObject << /Im35 860 0 R >> +866 0 obj << +/Font << /F63 264 0 R /F88 782 0 R /F28 217 0 R /F26 214 0 R >> +/XObject << /Im35 865 0 R >> /ProcSet [ /PDF /Text ] >> endobj -874 0 obj << -/Length 2241 +879 0 obj << +/Length 2063 /Filter /FlateDecode >> stream -xڥnF_G :}ț,l# $jQSBR1_U]E T쮮lbkyjfqb - >?/~Y(ҳL*d"ʼn١hmX8+Xׅݡ;[Ka*_%Q$?&l=V&=i; q,̪VR)5@(0= 1Ϫ!Jp⦶E^MqK}-[,<[PMDn(o_By<JJ0)@s]fZ@l-#hq:K9\H}қsVe9 ꦥm -PΙ#-_ i;Eɮf U4턊14gei / #4{%^E)*h Q.?e7i)'^k{r Je 3QgcðL%A" -RC9,PaNEů_O9:M2JTRkÔ:4 -m*5N qh& c,GzO!-:k'cNxVLHxg}v(#%WŽN4K fR.WknDvBX%Nۥ06^y⾚>"rg:ak$ -ƒ0.dg[:/ pOŽ^yE#^ӓ\kF(0wմͮmConoXAJllv?N -O(Ȑt;3[w^3FNοDp,Hwd@3,k2?Oe -#rx @~!*"Ȏ]m7T鋘HEl3EUsj -' lY6( i6Vw_=i뙊$ʇ,&]3Ypf?41m\29l$|(İm -XQCpiGCI:SEFd".]UJ*}P*"36*C"fwM|*lcyGې\i[49Ζ{6.΋:ӵA6Dյ Wmqy^<y(v4`Nu?Ȏ!,0`8Ka%"O$ ɕ+ɽ5I@vl\FJ0)gd:"_M +;#P93ژ9+,>Y30U,EJaij4& 'U#*O#KH%h۪jѵ7P^ۭmKOU2ܴ}<=ܪ?,[ DOTudO0j}kҤ;օUc׮nÆ- +wp_bAkn#u_Ow--ZyZ?nM%+FVօ1?Oɻ%,T&ơjwj| +ܢn7`ٝ+:wVS +w[=lJ[h OOچw-G0fE0E_ + Z\M,mܝ)}Cmo頗e <J;p>=8csMeCUxJke>h2i:4`Yi KU %$h婦01/lI^n~I~:̙nF1 +=WLTZgRi|QF2 +Ͳr: ,}yiYBj%$wVz3(‡)!>:{))! +{-tBp`eg UL\\Ԇ;̮q+ۻ8":H򮝫t`<u퍅ekfє Yhsc"F*p m PZ,0`_رeCw ͽF@{Et4^B@f_QY,E-qLbP# Ъ[V܋ >n:LBUoNhӼVVLd+o.?@|C'g*8D7U?}NŴAr˗sEVb1\>e Hk2EYQpL`*x,z_46(= WP6РՖTe_ Uyxir>2eo@U L= >PXSpeZ C"i1 z;ttlesuzq5(Vw +; Y$Zs9up ¶)V@{kvM+@WԘ CZƃ/<&G{1%D417DpEh<'ehڀriœ0B S8^4\Yu7Ewsh|MϞMNLnbZrNnp8HsNg#$O\9$Mϝ4֕2:, ,)ͥ;Ρ0qXa{ap g&)pyԍЕ?Yx}_) ~uQS e_p +Za4w&:|ZTj&4k%?56(-)XQSG#˵y`BeI*#9`yGF,u-½4x8[":@!N6>> endobj -871 0 obj << +876 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/core.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 878 0 R +/PTEX.InfoDict 882 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 419.00000000 354.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 879 0 R ->>/Font << /R8 880 0 R /R9 881 0 R >> +/R7 883 0 R +>>/Font << /R8 884 0 R /R9 885 0 R >> >> -/Length 882 0 R +/Length 886 0 R /Filter /FlateDecode >> stream xVK0W.Gl'@B $V{a9dKtzfƎ'JOy|f~1>Me& zɌstu<僋ޡ6'I5WS7h" 2'}}?\/W`ӛXED>Y'}i,p =ZԋXD׈:_P$;.|cw_F ca8U] f+.f4A bS="U%)'YLq"ġ&*.|>JI2&9)OVB|yӕv2R8}[\]Ae+GDMh> endobj -879 0 obj +883 0 obj << /Type /ExtGState /OPM 1 >> endobj -880 0 obj +884 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -881 0 obj +885 0 obj << /BaseFont /Helvetica-Oblique /Type /Font /Subtype /Type1 >> endobj -882 0 obj +886 0 obj 1018 endobj -876 0 obj << +881 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [504.4211 375.8923 518.8767 386.4745] +/Rect [471.0316 135.6153 485.4872 146.1976] /Subtype /Link /A << /S /GoTo /D (table.2.2) >> >> endobj -877 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [353.1308 268.3289 367.5864 278.9111] -/Subtype /Link -/A << /S /GoTo /D (figure.3.6) >> ->> endobj -875 0 obj << -/D [873 0 R /XYZ 74.4095 793.4011 null] +880 0 obj << +/D [878 0 R /XYZ 74.4095 793.4011 null] >> endobj 391 0 obj << -/D [873 0 R /XYZ 298.272 459.7927 null] +/D [878 0 R /XYZ 298.272 406.011 null] >> endobj -872 0 obj << +877 0 obj << /Font << /F63 264 0 R /F28 217 0 R >> -/XObject << /Im36 871 0 R >> +/XObject << /Im36 876 0 R >> /ProcSet [ /PDF /Text ] >> endobj -886 0 obj << -/Length 2332 +890 0 obj << +/Length 2251 /Filter /FlateDecode >> stream -xڥYs6_GjbA{Kn˹6t&{DXbDR*?so PE$؏"тhP,YA-6 [la7r+ϼs|O/TI)/'as>)8U0DxLY$Ob*) ;p_J,L4>nwM br^ nkFq˘[ؗlMmZۅDe 0"|hVo͇_2 ^s;:CץSnTt/_pŊ(UYbK@zpugv3EnOEk:XW,}?U-}-[kLbq-3/ͮ i|[fe%仧rעi?s!:NL:7%4q ұz0 $PIT  S%aa#Ptqwfi2p*F)T2A8q#0No`[Ecߦz Yr7g2 ZOiḧ́U,,͢(̒bYI`f@|4p'* JUمxB!"4heɬz3m82Kw- -nG]Ý==t P3Ebxh][źh[7g $.K,΀=$21I9csȎXB$WQ:BdIrkSTl8t2 -I[a˜ƹE-;/얊ƱXlD - :'mG4On2`BM^hhj6"ТxpFXќgTЬ>k;K14,ju*-f/$wCI1WPESD-2I 9.ל.B+:u;cۿiNCnY{kޭ\7=ɋQ$֦c+^p,9̀|`3/\hG ֎}u+Pӡ_ H( ׄ9afp8 ^lҒsݦT?KԇW_m=CM .lċS&^ۂI@zy $8 Q!w@eiS'P~XH/|HAaUΟ*9(ymM7g0cQ^? -2;3E©J~ -~r9 >ۯq$6f"/C'3p lH.l 1{ʾ8.JǙ**,hyX'qKBp~*ʾ):]ӂQ2.<CZr q3xoQP(BvD | -ʤUIJkڔJK:jB=e Q}*}zS2:WZ1?J|wՂWc&cǤ4- ڃd:=,~& r7< Ե8.%3k vҳh,S2IW+W_yW9q a'vKRdFJ[/4yD˶8).%%CR`?=0{?EG}{҅J YHEJPN@Ϡр8ྔV99NoY(-RrC="=o4[ZGV1, 1Փ\ij&r%ODG?tݓSQh࿶xQNX;a+'c>ǩ&wX E@1؛۶Csu^#tTؖ#~5 Ov +X$-KT䙺Š7Т;!Iܔ FT $}T͈d hehS їӈҵJw`} ^5mW6Οu9C3-҅ TƎxhKXStz Y9kB$IɿmW y]2ʟ-]:Ode۝pLcB7xPAZ%"3Y=r9Cp+Ưes +o}EHQ$m󎷖viB5_uqhJ/j4A#le aUۉ*9-DZ+?iK֤2"eëqEª$BKu +b"[tݘ"KeR!fik/:X +lD+eu-ww?-4MRibiüa>4Ycl/N F.II,=Skx;6b}[9`CH9IiEȤ}'l@DyS+G||z ^u$u=x{6BN;ksv_MGO6$Zߌ"<_SE\׼P$Y$Hihy\lKyA +t2N6MtK{f>ݸ [uXppr(\FkmP9v@$z>k3,iau`&wO8tS28*=dcP!Lܠxʶ;YඏSt8|7"ţbQ:aC<ıBDrih_3&JV҄( Ϝ|1lf4bKt6Q JFLkU`d$,KU$"=$2E +ZR[kڂI}O _Ѻ +vSy0ǒ}|1Q +2Q't,pЗE "Lr}M)2vr,ipa)-+h[WXpYXIX2YJ>'yw85^ݗ:{يS=uϠ` ( )v6\|.x}|`_w{cG aNP5 Ja=֡AmasME&y4 Hրy<7~lrj (R0 %(CFvQ%J$bRht +Fb9KghP\EM ZKːeԨo@K+׈JQ$J~_a~"38OtTd,G~Pq +J,y}tLfT4 . +2\yY[K UC5p`z*C|Ws#D32=ۊYn0JhmK^sRΕCPH cqgxuTy~Ara_$;mǦh^3☫Cmm/hQRnv4% EIOl0v^y趛\M~NATVi&ArbcxSxֈ'` )s R0z9h0R9L^Bku@K7nиnrc |#OEA]q'> endobj -883 0 obj << +887 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/wrapping.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 888 0 R +/PTEX.InfoDict 893 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 416.00000000 248.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 889 0 R ->>/Font << /R8 890 0 R >> +/R7 894 0 R +>>/Font << /R8 895 0 R >> >> -/Length 891 0 R +/Length 896 0 R /Filter /FlateDecode >> stream -xQo ݃gTaR5MZ&nE4v:ߏ{aIR\ 4MMr&69ݷQ=R3 1G1`x#1&8|[(%i"˜KIͲkCvٺg1³n;MV&gb3eTRKZirXw~O_Or_uHq3 O(c03Ձ\-D\e,{=fjjtwuP꽲Wu0 +%V"qiZ2}b.3b1{?6ss/|OQ9sX%FUj!*{]͇]M2#zxW/렅]þl"G[2&W \e,蠫鐽]m՛:uj[lN=_x0ސ0 C/y\e,{=fjjg4cT۸!n.i$N]$B~1ٮX,0Zm"4xeWC^i]fmܿNSS}|m0- ǚ%endstream +xQo0)vjäjJM"7JH}Ξm$4H?s~Ɋ.wkaCK94<5_s\kpwqO7EBIVȸ0Ycd>SvYj/lp^ϥ10XO󂖚ܴG};}|&%7 p LBt  /Ws<Ɪg5u YJyF˻P +$C6y`Abʨ^Wu!Na;Fml\E}eF'c9e`^ayL. +\e^Wu!NQxי~_-LYC.q: Eiɘ\,,pj4& r1ヮ}VS0>f[vsIoFjuniM"d7 +I&B+뾲rrN2sj{S,SSU?1((BYzl_'cendstream endobj -888 0 obj +893 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034143Z00'00') -/ModDate (D:20080810034143Z00'00') +/CreationDate (D:20080810204214Z00'00') +/ModDate (D:20080810204214Z00'00') >> endobj -889 0 obj +894 0 obj << /Type /ExtGState /OPM 1 >> endobj -890 0 obj +895 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -891 0 obj -572 +896 0 obj +580 endobj -887 0 obj << -/D [885 0 R /XYZ 74.4095 793.4011 null] +892 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [73.4132 720.9315 87.8688 731.5137] +/Subtype /Link +/A << /S /GoTo /D (figure.3.6) >> +>> endobj +891 0 obj << +/D [889 0 R /XYZ 74.4095 793.4011 null] >> endobj 392 0 obj << -/D [885 0 R /XYZ 204.6417 510.7007 null] +/D [889 0 R /XYZ 204.6417 285.7784 null] >> endobj -884 0 obj << +888 0 obj << /Font << /F63 264 0 R /F28 217 0 R >> -/XObject << /Im37 883 0 R >> +/XObject << /Im37 887 0 R >> /ProcSet [ /PDF /Text ] >> endobj -895 0 obj << -/Length 1873 +899 0 obj << +/Length 2328 /Filter /FlateDecode >> stream -xڥXn6}WQFcVfl&m یFRIN -)YJ4@ &ùqxf(> 'b*L$N%Opw/y6~uuHNF\LL$^- ~ә@LamnbsWMn`kW߯ޞ_YEeO>:eql{3Pˬ&3y(2PDgƙҮq;GRR%#s~mAiS *6}Pp$|Nl]%-QعvCյYy006lRD&Wr7gq -xߍYqo̡XL)zIx&3 a(fSEvmtY@L -~cD?b2ۂHS=[t^L7e#mĩF_Zn -~4js+qn)oɁ1/Yt)!S{S769ZV{AԣE}#ғ?o8s1-e2b9bIiX[y̓vA ?.#?_:1ZzxyEpd`4pQ͡ IyFu1ʃ(v7~Cc+WS%i=y`]tn6;k']+I߅I˾ H4ҽ@7g4 @~endstream +xڭYms6_Ҝ$mI|m>g~D"Uܹ~X"etbxp0_0S< gQ"a2]xUǼrߵ,Zn̄ Epz<gykJD\*|&Dxvg6bC-~?Z)s?Vm{ H8e.D8vL:->?j"ezSE lLmkK`mvǃpr'#Kp' l^N,y"h0\7m[M6ihҘD_U4ϊ|U*"2i4Jؽϫ|78/:gq}nL2F9R(mH(Q7 mn˧E"R)ePQSS,Jb%.xh- +(d: +YMlӎ#.?%2fh>E!g;!hS$Kmoc掇&ܡeAԫ|̭09ͭ@V 9/U8OT9Lfy@_ OkͶ0eA&f_ŅyKb&hd/pύ-֐by) |9JfjdH^Qg)aV Z}  +tx|X=P>OpR T!fM..DͳCKgŸ15>Ep(}9XǑe (ɤQ3 ϺK|.5M{ ݉g_[zìK!\ztXm28l iPi/Ѹ݋mT)^vA)קfK1:??{jx `3-:oU YiGjpxL4F{I-[F))E1 E<(NС #MrѩO, /{ӵU{jgs#jG@H dbW5S-wGZnpz_&<((=iaS1 }yq!tIbLc܀GiJP|˸{2 ")ngJ Fׄ }+L&H.o>zȐjHt]F_\Bɔ@)nI[ntNNuٵp$Z&ЛL5-M4Dƹ pmK@>}Ȑ=G5 ^WH9D,#5qMJzܒ.k/~O*<€t% +nIRbhE//zppFG1}hC@gQW!apU}u lr8ܬ `Xm1`'"c!7nuYI&\bCSn ,JRpWAas k[خXAXZ7 Q*d AWg*  /fJxdma0[?;׋N hiL8 Dv +MDl+b/gB_2,Hb*z݃w|8N+qpER͵RU! 6ByY?MW1xc; \?dx@=P .Yp zOww(a 4JZS!lګptmOih__sŸ{t6Ai-U~T4~CiPD e9|4mђP>{gӚ3ii֛02XJ< ӀŎ͊j2 +>B:{ ;_8-%hM1A(,v#2 ++,\3q8$hwB(:&g2vSiendstream endobj -894 0 obj << +898 0 obj << /Type /Page -/Contents 895 0 R -/Resources 893 0 R +/Contents 899 0 R +/Resources 897 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 852 0 R +/Parent 901 0 R >> endobj -896 0 obj << -/D [894 0 R /XYZ 74.4095 793.4011 null] +900 0 obj << +/D [898 0 R /XYZ 74.4095 793.4011 null] >> endobj 146 0 obj << -/D [894 0 R /XYZ 74.4095 689.3513 null] ->> endobj -150 0 obj << -/D [894 0 R /XYZ 74.4095 267.9392 null] ->> endobj -154 0 obj << -/D [894 0 R /XYZ 74.4095 222.301 null] +/D [898 0 R /XYZ 74.4095 462.5442 null] >> endobj -893 0 obj << -/Font << /F63 264 0 R /F28 217 0 R /F26 214 0 R /F88 859 0 R >> +897 0 obj << +/Font << /F63 264 0 R /F28 217 0 R /F26 214 0 R /F88 782 0 R >> /ProcSet [ /PDF /Text ] >> endobj -900 0 obj << -/Length 2094 +905 0 obj << +/Length 1872 /Filter /FlateDecode >> stream -xڝXKs6ϯБڲEٓ'l9Srv\sxK)R!Lʿ~ -QWݍF4)EJ Ût޿<ȮFթۇ7?°"i!fa[UݖVe]@s)t. =7{"CPȠ O}&qrd6Kkç2΄Un1.sH_F$+.P9rnfF̋kڱ3m4?? <[Lm%v3ο!` -66LjlᶉSH5#mlvW' 7{K^>a.vsЕϘ䂉BC+D.bF[Uۆ {J5jG ,6,Vp]w8k`_F~ٵC -?l!xuv;:PڹPkoYr~C]Fb=Gt8\PlCXa^vfkێbϏ2˚Ʒ eTbPK}Ո:Ԏ5m!Y*4(+"wdY. -z_}oQY H6eRdnMlvμ;Ku$#ֶ܋#{)/h\So׿g.zM@]Z∤.Gp}l^~䭭"^$Fy!ePA"=x4+r5fa255tӪvnTZ?N˺o#$=Bfxsh4K E"{5l @}M|B#vPQa+lfHvTWP` dr`Zpgyf/ꅓJqe\C!tvî+ο8k>Nre/l0]] LִzЇg7@Z(_ݩ p,kZ+U_l0F&U/\{ MV9vۆVU:;|D{pmTP<,"`gep8HsnA`9>K@i۱Pup'7N-5YCf(jŒݾ.x?Eo4Ub 8"7^˜lN7ӁNdsqAWl1!q?)pꂙF@=D%Θ8j w0sUP2yB4@iwmO[dC _G\O n~݅rV l\ >.sU@/Wp!Pg~ߔK\' xm_~`E\-M"sbzsEN%ևzd94`JAɖ{w/6E~ ó$wNyze7,IoJJQ~#XX287|4ƞj"_w#3Fzgk_$,`bva]Pfs.!b}GVC{۶-TBHO@t"B!vF|ڤ٘X4 -xC4v+ otFˆ`!3"\EhoLǀ0ؓhbaO_GK#M@pC2֡c+j*<|Kl< P02? pqP.!_❾msE̳'";ao rx6z>=hC*=|NzN4!͹[X, 1^SH&l:tU!J=2oُIos -~?BZiM*\~/oTendstream +xڝX_s6ϧ|?{t&m3kAY,@ZVr?$A@U +?24+K 8_=oU kyD͔o>ereYejR3a"a[xW7DFir4qw|5CԔ?px)Y&NّZ[a'ڎ93]jI*׻#߹0z=u;Tr~]4q|߹lw4~LuaS#⟕۹nj]]ոҕn@|9iP4%)>7ܰ\c>($h%ia WÀcl-@8 'W^  +b^S +]G6=Q=c`]P#䖎{}J;睈:yf6#+fvgdJ>2'@wDu%;JypϵI,e2aH0R~(1MEspOҨN':M!ޏNIw?pfr@f!SU a8{F niaWgfKAJ-]?y}tUO?Ōݙ5sB5M),ą5w9& Δji\(RT{+0EY41';Jti\2BR`jq_*NT1E.J,۪:gط>:cjrĕ"#\r8E-̦zຟzrȉl S+i?o^̔Y•70,R)/25JMʽ{o` YHULڂ <[vhyAc믟|b<44EsZxamvUIsْ2ul@5-c`RήZW80cG7]TDWnC},Us +0--4M^bD.Ar̈́ut]a4ã̲0J~pKS‹Iu <^*BBUi0K +my,=`)!.s]$bTͤMlxu[|X> )u}5Z=~rjPY՗:yq8dtwT-shXEt;O0D R2\' ]F΍"|2o hZU9Daj8.]8x#ty7.ZJ5 DYL1dY|Wʃ Ӡ;>\PbIh\?ӸwC`0'3w H,|qro3}Q.$` >ic@voCT]v㐬&E/B.(.@ -6=465nM}Mh!T&yᕓ ixF.Ϩ7?sKendstream endobj -899 0 obj << +904 0 obj << /Type /Page -/Contents 900 0 R -/Resources 898 0 R +/Contents 905 0 R +/Resources 903 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 903 0 R -/Annots [ 902 0 R ] +/Parent 901 0 R +/Annots [ 907 0 R ] >> endobj -892 0 obj << +902 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/protocols.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 904 0 R +/PTEX.InfoDict 908 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 472.00000000 312.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 905 0 R ->>/Font << /R8 906 0 R /R9 907 0 R >> +/R7 909 0 R +>>/Font << /R8 910 0 R /R9 911 0 R >> >> -/Length 908 0 R +/Length 912 0 R /Filter /FlateDecode >> stream @@ -7351,74 +7385,81 @@ x byMhPq(ð)}[)`f]qեItOAeuL#=)۝\q~"ǡ߫>ogHΪ`.ɼkw4zRh]qBщ")dȐg`'?v.PrN8>yCgʳ;%'_'4:Z*$j{qg5oz#C 0)NclaxÓ'uG]$Qd n"\@CrNذE4tapMwhsJ6p vЕA?p(9# 5`예•iB'jbs)xԻ e,U +W$.ByRПiTAg> endobj -905 0 obj +909 0 obj << /Type /ExtGState /OPM 1 >> endobj -906 0 obj +910 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -907 0 obj +911 0 obj << /BaseFont /Helvetica-Oblique /Type /Font /Subtype /Type1 >> endobj -908 0 obj +912 0 obj 971 endobj -902 0 obj << +907 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [134.2125 458.2607 148.6681 468.843] +/Rect [134.2125 243.1787 148.6681 253.761] /Subtype /Link /A << /S /GoTo /D (figure.3.9) >> >> endobj -901 0 obj << -/D [899 0 R /XYZ 74.4095 793.4011 null] +906 0 obj << +/D [904 0 R /XYZ 74.4095 793.4011 null] +>> endobj +150 0 obj << +/D [904 0 R /XYZ 74.4095 687.1203 null] +>> endobj +154 0 obj << +/D [904 0 R /XYZ 74.4095 642.9323 null] >> endobj 393 0 obj << -/D [899 0 R /XYZ 256.0589 536.9157 null] +/D [904 0 R /XYZ 256.0589 356.4729 null] >> endobj -898 0 obj << -/Font << /F63 264 0 R /F28 217 0 R >> -/XObject << /Im38 892 0 R >> +903 0 obj << +/Font << /F63 264 0 R /F28 217 0 R /F26 214 0 R >> +/XObject << /Im38 902 0 R >> /ProcSet [ /PDF /Text ] >> endobj -911 0 obj << -/Length 1568 +916 0 obj << +/Length 1680 /Filter /FlateDecode >> stream -xڍXKs8 Wh,"%n;Ng&fMjdv&~zٲ %q(Y̭@"ZloxMon:wLɡ\O{ck_KRc뜍cbmh&3&M -[hTIE?#&˰&~:jaVnw&j91O0m4Ҙ'meڋrkaTO1+'B/6=;*f6I,8~%C) P -i8TʪUYﰺATBȬ\+h7IX- kqF|ZfR+ 2~ 9[z7Aj >զzޖ=U5v5;K=uԚ+.Q]%Qo5yb>!K -._hWbԧbRe^#+=N&eu;z6GYEksp 8VԄCuCLҳ \%my%2U3Yh`!NV*Kyni; ip1򶢇ah1/Kd<'!YJҐ[=$` - N"lKm\NWE10.mCY7mYB*GTonULܡ\:;u`bpLkO*ڎ@@cWvyzADQ}޶~6 CtJy)J)5hJ.TvR^Vr`uX)URŦW)q*eYqN@N;_gPO[gp@uߝ/$ !Jq@ˡ)_Qƍ0J]Bu - *.Ypl V1æiTC{øh^}M;0}lP44LH-pDw$+hȷfnI nIDހë uJx+jyI &B7¹5G{y%MP7_y6]JKk Jj8=ZBsg\Jb䒅(\h3QlŴ4nbSj&Y q1 I®%EmRXOգjT0%_LI^3 gA8 e XuQX6yҚ0$Pz;[lB,6Sx,e܈Goc})|JNKi:6F X<9Jf4J1~Ϻ`Sendstream +xڍXn8)tIQd.Ң@=fRj-Ч%K9 3 ãx%,ser{GkC뇋wRii=i.?4kS3)&@B@bAس*V2s2pL%l݄ Vu0KZ!aͪk[[:oIm&沷 4vBLT #І.~ +J= A$nqw.8\A d"vO$퓡(צ2kF\\Cz~j/sZmd3yv*hYqMS~U`L7$y.ܞ:c\.8I4t6z;&C=47edꃋAR8gحBuULeILv-j&vHDF0͵A$kaug<]*k-f%n)Z0@ԄbQ@X{;u| DXiCo;אsn0S>T&XS_qXD +$؏tSyaq1m?ve*vTAqfG+, \KOS+tbH@O?Jw1ǞCM aߟDY]x廰THs|Xk1x$kNk-,͒d>eǂW&N;gz#`H0ac]WScZ̤v={:mݕ+.)3$B1/GCE.4E ܂l;zNԢk5QuO_!.4D獅F8 aaH0y[*8-m65If퓤'4`x傥JH\PDendstream endobj -910 0 obj << +915 0 obj << /Type /Page -/Contents 911 0 R -/Resources 909 0 R +/Contents 916 0 R +/Resources 914 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 903 0 R +/Parent 901 0 R >> endobj -897 0 obj << +913 0 obj << /Type /XObject /Subtype /Image /Width 400 @@ -7503,286 +7544,356 @@ OsL@ Gš`ޑjQU?7 ei%WRCzW;ęRÐWxhc׋Cxp@q(n96vΜԶ+ G}g$&߬]̯|)ݱs״iĎ2տ+!!aԸKh^4Q)n "ofΚ79s~ #. .B5Sph_+!šh)pk3cF"0|\Y`w+7mh<׮;^+!(.Rn\HyXNzDJvÃ4{ĵp]oA%i87lGWVkV=K{.}/|_To~"]_߅'::gpO(SxH;o=*x ':ϧ^N!j*oMyX'O^zXw@5[X`-rk ~) U N ԟ\nN\"Pm%$)s>ҫXD~7,SCl߅mU*zl?' 5Ypj暂h-<[c&OYoMn^8wϝ6^& [j?෰Z1sJ>n|?Misojo]"eӱGkūT9K `tժtCpٌ]"eӱGkū]Lg---> endobj 394 0 obj << -/D [910 0 R /XYZ 258.7823 478.2865 null] +/D [915 0 R /XYZ 258.7823 412.477 null] >> endobj -909 0 obj << +914 0 obj << /Font << /F63 264 0 R /F28 217 0 R /F35 237 0 R >> -/XObject << /Im39 897 0 R >> +/XObject << /Im39 913 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -915 0 obj << -/Length 2726 +920 0 obj << +/Length 2642 /Filter /FlateDecode >> stream -xڥZK۸W(UYX_aݍ7s@I1EN'5>h)>ImyEM4#VX1pXoc_aeNxKxHFZ=< D7߲fZ6|\S/Buيp}-=C? 8K(*1Fj+%#[ -SqnI+!X),Q2YbG."ӘʟF;HaR}ٮn.پlUMEv*?hU\p>\ CA+ 9QNjMs}ͩ:h/VſA9+/G(cuD_7oi׮˒u^R?6o?} -WvQ[4cD!MÆ$:9XĘX0P9AOeqn`5!Mu p0;aμnDꭞ*a3\0y(%YrXf]ԐDPUv=|TMeR@* ]l1l*)h_ r;.՛;M9I&xu^< MxI#@JB9ݶ4Hie1xb校\fIoyypo ͋:/t=-ڟ*_G#NFD iW鲢:R~ﲫ6ZtN  -IŤF#1S;ق 68#E*+oLzt%RUO~b*1bgr;2Wmxݳ\Kr3{>7Ρ*OEr T D0BҾqE}4̭Vs6iSE!kS /9y?o2JwS4 9S/5Q[:7ZǃjO+DU  -[u]gG=} vd4 F]waCepCfDmc{/N&@!d yRs9Ev NkI%`<(1jYI#[9pWMfl8f 955ϐ:v&jX1; - -iwmfl}&RdߚF0I~ݕONnOHOIJ(K[Ӭ֖O7Z:Oh6G!4MBō)mQQH!9hQ7.eGb[k?My[~V&wfB`-["[vlj`ձ%M=@>["fx"YI;h\Qچ'K<| ǧ -Uz]n*{!"a*C<98Ei2:_OS j[3ɤB,UBS^QCwE 3 %V\6!_%9ВHv^1۝VʣbjggsmFU}=vnong1p~N ;~Zk\1%EɅ,4FL%Q_zICd"Q!R3܊-֐orO3d!s2.\m]MsLYK?ńy>Z_Zgv޼R11C&g2Alpk0'+wq[&p 1#P!|UK掺z߷ͨA$5;Y=Y9(T")2,RN7:/c];swG&"C"ŲXp*qwo6fĕNL?P4 $z[7;%k>SS_2q5.qm *S=e@0󥭪wJ9ky+"\; Zv0aa7-V!h'r%ou|$a5D.h\\TD YH/dIW0~^wVޘm8eA]!j*=`\db꜂)Իj|pDqEN 4 vi%vDhѯ358|tŇQ3_F9rˎ?Y[ `ɚFo`>?=`*GeCBcMޤbiED}`ӥ u~f.f$L\|)EøAϭoǐbt~TEW!w,S 13`Plݐ9|)lz;^(R3A[ -Z zu<_1m$UПM;)߰wDr8b_Qq8fq߾Nl9CpZp kxxD`Mea4q{ !5 "Dـԗщ-8quD_D*'Xd& Lɢ6%ǍK&,kRs8E\v NkeD0 -?gn#I{mc VeIpOf4 endstream +xڥZKs6ϯQld']zKSKfRۍ@(om&£n~fc|zU<,Q_J OZ(˓d2kinVk?[~[xN;eh%|jee[_W<]thmޮsUnisk.zy%7+s>|>,ya͎8J uUpVc/".4bHrsM/uuT.ꫲ:}I# %C.joguH9vWmԢ[;R;gxlx'}vUߚW fN*I(NZjYp]:\v'O #4jE`,) n%Dn+)f#0d`n0eLp)$LzόFͶ +թ)Nc& p#~W6tU|Q>(kjnD ؘ\CdAe_ 838[<P Ȳ,d ,-̱t 2ϲ@}i42bY @hMY7yYW{Խ&tǞ| hxظoh#^Li'0'1 C62ϹBZP5D@@8fEQU5f'$Dtg6U9Q`*2s3R aֿoX q(ZQ,teCHQ; u궇,]b(nG5g]yqk\GEha, z~E4Թbq@qYH`04Cǘ|q`X/Fd +Ilzٔۃ@vFeǫ23f6";us ߫&PU S<} :[0xuQOYSzu^~{Ps||ERr/npc=Ph:Cc:S6i_PEdc*p_7Uw~PIoÁ%9\k=僽\X,:)=fFtJ=Qq}#byz"E"Gu4ġ}BXhCuڈxJ1 gټjnv,/H]qh(ػ֞ס]\CSLy0DBFEm:؂ZeB|)"V$~FU˘R(lpޘhi-{̆Vt. +Ƴ'սNv(Vy6)I%: 7I0%,ʺۙ~ Yry*էߔgtחkj(u5D bDG "۝O,b"l L"auBTSOD$+,S9$Di$EiSTvkFpbhxi]C[4z3O?E ̓E\Hڇ:mth~t4JT!ݓPзm3{m}iN_ k k1UdIdrxfb#Sgzu:\!D% Gd eBxy< q+;W v |^M A w^a՜,Mq6zEa>W0SmkU64s(ߛzߛGG 34#'Fu=4wo7Ko@:;B*}:p&56^UKKVucBO)ܜ |5?K/·K|Z*> endobj -916 0 obj << -/D [914 0 R /XYZ 74.4095 793.4011 null] +921 0 obj << +/D [919 0 R /XYZ 74.4095 793.4011 null] >> endobj -913 0 obj << -/Font << /F63 264 0 R /F35 237 0 R /F28 217 0 R >> +918 0 obj << +/Font << /F63 264 0 R /F28 217 0 R /F35 237 0 R >> /ProcSet [ /PDF /Text ] >> endobj -919 0 obj << -/Length 2516 +924 0 obj << +/Length 2655 /Filter /FlateDecode >> stream -xڭZQ6~_Gj $HUr^R[ɦ*<`[iYY!A;? 6~@4vLHR3Z -g|T U>ԁ*u*5p,DrpkԫE,C8b?u,Dn:OO]Q/"okI ;X.C8-tQjREmƘԸ ب#j5Y>Vxܸ#qbQpAբ Ue!es_hQjQV~[,IyEZsS/AAbP0~XV>X|X\ب:|y |s[Ȕ#Au)35a4@`cK[@\9 TY#8$.\m"oH0s0^WɫVֹմzhڳ4Z cDBur?B11BjFOF̮O9UxX -/ʣ,$$/j 꼔FA;-mOFf)Q"25RʈY * WE7  #3-(7g>VȞ6r5%۾" |@3KOw^Sф!4`actu𱋺d5x2ru:_njȣgȣIBm1 ۇ:E]:wiUŠ/D)"RYxZ g*TjUեr޵+DcNJbt[qi'QnjZ+%ZObS {3/ڼ~;db9YO֐~t'E]`n u~oWbq|Mx@O,(Q QuA6/8W6Lc.?OdJ/EaHg_Hab*Q"}RH -g"lp(7WfQͩ; m9jADXHʶG YH ^^ yPG|.EWVKڱ5'q~ pjo`NSjbF_q'(M2:G[UpvPvE -ҜUmqm sݟ-P(j*_?lH[9ɋ(e- OK,%%uAK6l-uQJP(+fD0J8lIJ^&c47n#i`ܲ1n̂P]mfʄ^C*J3E9 KԝȾ ߕeDwY %61h4i57yS#S1Eq|qr PNbg$9F1d~o?9{,稿6>^@{hU1nvجx8`BuXiORؐJ[Od٭37,ۧ[$i!_odm䡜^c.fWβmcȘ) $٨,2vI"ns'uAQ+ j!W>$MW. +1'*$:!ybclJ~&R -k$JTQm/&VT*^0yy}qטmXoҘu^c#TFR1{#X>Bt}ݑ<+cl+ۍY>.mҎӡ7W(&Ws?{SAK)lݽ9ő=4Ѣ3[ BVWGHwNLPj{]4܅$MLezvWIO.js$q,F ~H4Yendstream +xڭZێ6}Wc7fx̀8zH&nδvti$|ERntO)I`Gn"8N(apA͡xo/Ѷ;c߾ǐ( C~s{CYhLO9kD(0o>dB5|*ι(Ddݑ`Ӗ?n?aH_lo=Ɩ}EQD;gߋlc<;bη- 6U~|TMxS ò湭sN)m5 H߫˾1Ͻk%@IY |_kxMzhkRd7PBu :`/Jd- N@7ai狸w(}nătZMI(je8<٧S4h4T-xG3~F^SZEh`c Du=ʼn2Ęk<RVjjKVȵ9(mEV֐9{!zdG}d._Jv.ة&0$kҏDwy} T{zBM \'7Ң8wʗ|@ !u_Uz"~y*UoU" ЃhރHK;JYYT~>;i0a_Z!1JxT9QVX^QĥR6ɱf!Fg=N,ȟ#YҶ0ƿݻϟTT׍jt7rr= m ,!%A@ A1gЙ +3IA ܍j㈂ˆ1UT0fU>6CщlY@D!ahhyz1eד*{yȒ[EjEU:Tòra̼tP:+tبS:TȎWb2]-l"8E4Wvl jZ% hYH4f^]Sm)ye +YL IVtՕU6~*0à,zx\3//.ԁ) +/6#1L z ϐIm 7Dɘ.1BtF,& QD]WFQÆebØyplLQWذQ8WP>8҄ʮa+đsV\T3/U.ԁ) +U67qwD\PW3'aoHv3lVBM &E4PcY1f^j\5Sjl5Ɉ$ڴcGb *6A,EkQ*ʒeʐ65Q hg ŬŒEXx(CN=s!''j/XFQ( ,+WK.AKS-٨B;-mɦOIb)a+LNK)aRJtXQ\3!0Om+G{3_}gQzDF98[ӻMGx]4"ooc捷 uu%6(aU n 1Q+6\…5])E5z!+0AS[6RN"S|ISWӋM-5džּ'mZqYo2hu)G!'xg.o{?&QP#Q%Qc敨 uuE6kĢ*>o@dtmfMSIs33?L +pO( +w؉ -[_X3G2rC[y1\ц9b(:aAtz̧X}D!b8lVf>!9Q{%P4B3@PJ8KӼ)1`:#YMKius$*`ǸebܘywOQWQGkxkx'3{AHE1([Å\vuxy0ݫ2"PIYI+HX@4rZuV=E# >B1x4iDf@½ޔ'c3Ζ}ϽUt=}IhccyH_v62 Ea@þKG4w +Sendstream endobj -918 0 obj << +923 0 obj << /Type /Page -/Contents 919 0 R -/Resources 917 0 R +/Contents 924 0 R +/Resources 922 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 903 0 R +/Parent 901 0 R >> endobj -920 0 obj << -/D [918 0 R /XYZ 74.4095 793.4011 null] +925 0 obj << +/D [923 0 R /XYZ 74.4095 793.4011 null] >> endobj -917 0 obj << -/Font << /F63 264 0 R /F35 237 0 R /F28 217 0 R >> +922 0 obj << +/Font << /F63 264 0 R /F28 217 0 R /F35 237 0 R >> /ProcSet [ /PDF /Text ] >> endobj -923 0 obj << -/Length 2079 +928 0 obj << +/Length 2332 /Filter /FlateDecode >> stream -xYs6_Gj& MMKmMd( YS(Rd]'X`~b៘<)1Yn.d s?vo5IY$d0J3Jt-?-3iHLs+,7ϥت-l= WNI"_l}L{v3HѶ\j:ߤL}-|I*a=$F?>m(彊{n4Y>l~%ʤǻpt@ OoFp]|9+9&SkI7+B"t;<|x3ڻ܉¡CAX^'B| tM~\vm2"ϵ}hFwc^Y.w @,I:}u9/{\BV& .saˢZ(S諷ϵπsU $ei^(\mU,i}%tݮVW4I)#;T@,naAoͻ4ʢ]˼ig43: ݂As -q'Tg|mndr,I+/> C& _(?Gm9!q^y>pfȹ^T=d N-l9/aBQQgVHc{}w6[.$5, NhzQŜ9ksoȚX* U?]}/o?^_}O6F((ke74|9I[ϒc;@5 :?w^q0Z ywu;A]ݾ欐5LYU U L\@P£gܮMˉh D@wj\94 K"YW!eų!U;rv!h7-CAKSR{!ڌRhd̃ƶjƴMVAxdQY: Y@E[d,}Tbϋ~џ/8*@Wfl.8,1R^].<-䰙vKRBdEMzOxb db2|buL5l :6'|%r.g6e߇+ [ZGgvmQ˺0-LEϬ.o/.k|&d/eCyKr.]a(/FJ?ĉ1 eG8!Nd7p -ENx?,)$D(!VA@K& -i?6;oXendstream +xZ_s OGyf͊?dҽlw6V#˩% He9C&H gIĢ0S$l{60K-/|c,g)8=~ H}\#. d +4p{)NWMWw7-%BƱx-"m52$0V((HDp7$;~yZW4UX/}0ؗq%jK[+V?*}U#'v|}uo4QďR,iBj[P熑jN7}Lwr"s\PBĒP&tCW&Wuc}[ƮvNws#Kt5ʭX#?RE,TeJBڵ4j +.Ag Wj (튆/d=I4DQ&xb_Yl|O_DD# };V^Dut(qXh^-P~ 5Ziye=`g0ƶUti?a"41DD$"#0MqR? gHߐAPg'U89l9uc[߳UbңrHGv!v9z!}}L X]?绩aU DP\rc,(&Tqhn;q N!5 "hN/Nޞ3dzb_G8ӻ+ +dϩn)6gS)x$| |d5ɵ q|*K!s/?y]W`QƢ(:"6\ߠ >bt4UӃ AgAFN V|Dx:YDvπ:XIquEMqP7zu>^T8$e9hԙr+H74 |,SKS`]#k:DtJs;MQHd۞;sT+ x`cV<j q#)-, +*(TQ)oeoXL.D9p5r6k& +GB?u8n4.($ʁą5'cUy^G5!GvDS\; ϵ# A<2C-S*:TS̰Ž(%'%F%;DI(.89z0c,>E4Mq4zM>**i|)kK[\nAq &Sp~#~T⓮z8u1أZ̘tOv¤$p9I{P @um//sĸs@ +$Ū N0vVxF4߻Ѯ:ZK1-z^`+ΊKǫx۰IIBx:KFWy)%R\h-TtAbA7LC {.Bwk֮sn[|J8'wșH% GuC$G1u(k!߱±2&6Ե+ӳX6*Š`CbQK{hN1NRGh+3ĭ mz[ 'B6:Ԩ8ՕiS'kK i׎fu3!-u܄ 9rjm ܰ޶eeeh=(Pw |G#783CiQ La0hӀ& Daһ/z!J.dGh2;k_U U&@0ti\f÷}ۛϏvpuH{-#8R(kw`.@Ø8yoIr.@b6+ToGt:ԦT>>>n* ܿe6TٽL E DD^.!(3Y^7sԅj"[^|B$f]f4ܸ$ 0C6P5#{P:Q.ZhC&փL M 4oO~ǽڍ’+бuvƚSIۈ[;^ߍxQ9j{wp tJpZ7t\$ow4 +06nD ?/Lp]endstream endobj -922 0 obj << +927 0 obj << /Type /Page -/Contents 923 0 R -/Resources 921 0 R +/Contents 928 0 R +/Resources 926 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 903 0 R +/Parent 901 0 R >> endobj -924 0 obj << -/D [922 0 R /XYZ 74.4095 793.4011 null] +929 0 obj << +/D [927 0 R /XYZ 74.4095 793.4011 null] >> endobj 158 0 obj << -/D [922 0 R /XYZ 74.4095 500.8975 null] +/D [927 0 R /XYZ 74.4095 333.1325 null] >> endobj -921 0 obj << -/Font << /F63 264 0 R /F28 217 0 R /F35 237 0 R /F26 214 0 R /F88 859 0 R >> +926 0 obj << +/Font << /F63 264 0 R /F28 217 0 R /F35 237 0 R /F26 214 0 R >> /ProcSet [ /PDF /Text ] >> endobj -927 0 obj << -/Length 1816 +932 0 obj << +/Length 1596 /Filter /FlateDecode >> stream -xڵXmo7_' x|Yr{Ms`e^V+wr~3|%yE3Ϙ*II,*#`XXb eIvg/.&F*k^4?O~ot+=d:N^9V7];OgLN6rG\lϗeH)UU̸&,5Jz/h@#JѲ %^J{t~NŽ"BJ󰮸4;UR)C(֗ZC CgjAPLKoof|}o_/m\/0t1chVʰf3o"og[W[nQ[=TRϞ7lnlm!ߝ/_} !/zzeQi\]ls߻nFX<'WRb1.v}$!bSun)!SN'|= ez2 `QMiF;qާs4w$b^ a!J e[7KQ}7.ӭ׶n;dnu[z={.3ݥPGWsQ n&]'uڝ!` -UtT=_.tVR5 nZwqΦa^\HN^_` N>\\,n[|[a7KB4S1ap뮩for>%xlq4o&ҔU#J /)+&x  pRU_Z#Rf=uοjг~az"zcWu,J7z85\=j,xO.0@\ݺ DUmL_ rYJUlEB*7D<'^ʎne0FR#nIܵr]"Jcr7`' kd*0\" k;<8.GcHN1*pYWh}0O<<M}sC φ?/;cNY -]VIyendstream +xڵXio6_! ԜxH"w5F) +b.IteK>C;I=|Q8bH\PX`-V$Z³Oe'Ax-t6槌F,c,"4E1:+?ƯKe5'iϕtGJdlz94{5z1$A<2!fy4!%q#$*A(AT4M$Zz%R_{ b%ws K(XD3$>`A" sD`yNQ3b&XB3efTR!VM}gmސR "MUZUmިN*8CMpXci%轕];>y^*-Oey%߮+E;)Բ.{}oI29(q} uKX_}~Ż:JtO(nU A 3 d_^Q䓔h╿Fќu iAЉR"RP|Z`);8n$/1~pR,؞2 +i4. Rsڤ ,#Wev0`rеjKuRyU8uw)|ny#(K`81,Ad6A䖲ѓl(܇UJjjw#GlMI{%G-= ޕ^I*AEY9pL vNXFDIoUpG%gziچ90Ŵ-"g0#ZZTiFs08:'I2rS:jOOSfT;Y.LXJt!O"r ֬50@dwR,FZ=ݴrGFsΖAPfb2Xrq3x'_endstream endobj -926 0 obj << +931 0 obj << /Type /Page -/Contents 927 0 R -/Resources 925 0 R +/Contents 932 0 R +/Resources 930 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 903 0 R -/Annots [ 930 0 R ] +/Parent 936 0 R +/Annots [ 935 0 R ] >> endobj -930 0 obj << +935 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [484.3906 532.51 498.8462 543.0923] +/Rect [484.3906 385.3731 498.8462 395.9553] /Subtype /Link /A << /S /GoTo /D (figure.3.8) >> >> endobj -928 0 obj << -/D [926 0 R /XYZ 74.4095 793.4011 null] +933 0 obj << +/D [931 0 R /XYZ 74.4095 793.4011 null] >> endobj -929 0 obj << -/D [926 0 R /XYZ 74.4095 616.7478 null] +934 0 obj << +/D [931 0 R /XYZ 74.4095 470.4778 null] >> endobj -925 0 obj << -/Font << /F63 264 0 R /F88 859 0 R /F26 214 0 R /F28 217 0 R >> +930 0 obj << +/Font << /F63 264 0 R /F88 782 0 R /F26 214 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -933 0 obj << -/Length 1651 +939 0 obj << +/Length 1830 /Filter /FlateDecode >> stream -xڵXIo6ϯP|4H%)RK -Mk#=$93D#M%RlARo, f2Hܽ4H%-kmB5z[ A5Q"ZWQ0mN(uHzgQ3??ƼP*W1H./48 U"؞cQR:FZ:S"Hbp\,)80? - .T -k"mk/y7q/: S&}"k–3sZ̹/z<;D$U>]}TSsZ|H-~(CXz:ޟCDt3o*oy$JxJ 8 ',=Pe naC 2,'BD8'| C )0t,0dƲDNk`NлB21PF2`3Z4Y )rE 5AīlRq)$#*0EG~t߇ HK7NFׯTK -2QYF*xJ3# CߚCn5[q:׬QDbm7T8?juvmA:ݠo.hmqzt9,}FvG2%/)D*S׎w W$Lф3y70MOmʬdxĦm浶4^^]٩܋Kt]/w;ћ("3j{՞p9 {sF"n.K"d{:{ -]fdᥪ?Fq,, gC`yhH -ţ_nΈ{sO -j;#1ޙەtRPS쾬/ {>EDQg5xГ=B8!u^/T RV2R - ge` xwyߍ\8OhFqDlĵF?*cmZMT3r.I"^(*GûT¥-ѦF -r$JhҔ#4/do[=q|B"(N\ZB\I U ȣA_c8|{O9ؚ`=Yƶ\aR: # b&23E~-ƳB1SH?0$FcCbHu3wD c!~?d 68A6O;~, -q_~sm:/ =QMUSWWs[n8 z=)ȓHY.!]cm3bxZUm\V}E TS25X4˒43,J~v*|pdd?Pv'w)Ά|DTgL2vZGg +,ԠYbN擞Dޚ q]z]oU#$IsA/\Y;Z^S'uTLI\p5IwMU1zT:X +<Ԁ"r!QTp6e=I 6!d}MY:7 ma +unkZ]N%AgҺ/W؛uQQ(Τ,W=g/@6~~Kh?*Kג +†Xdp .n1#pޭpX(" '%wUnO0?l[3STeQŇZ_r3#?pY1a kcR|LBvÞܪ~Cgl(YZRҒCi*D9y3H̛*uLs*v#/>0Q@?Q)Q) d?)Ăetw(ªVL}qͶc@.-C57[~k5 +A3F%uLybnQT0aPxăG!hݪ&ŞͰ}2$T!a*?x vJ&2AIf&gaDYZDdEh/@zQD4\BQA~ ofpݝ՟|z"a)0yxcY۫jT'p2\g؍yzEM,F@ &5tY8⸁qu] W8~t+qs; +!p"6^~Obۍ}edž&1'?.$GfMLӶ<Qz'yt%pA ,í$` M|y!v GX7<\x#T!R0,? f +Ozq4Yj@G t̟zL5wa&id1/8"O6(Cŵ1 |43Q@M/ 4ѝ{8K?EG _܆n6o(.݆P * _3B_Bgc+pU m݄1J& [);endstream endobj -932 0 obj << +938 0 obj << /Type /Page -/Contents 933 0 R -/Resources 931 0 R +/Contents 939 0 R +/Resources 937 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 935 0 R +/Parent 936 0 R >> endobj -934 0 obj << -/D [932 0 R /XYZ 74.4095 793.4011 null] +940 0 obj << +/D [938 0 R /XYZ 74.4095 793.4011 null] >> endobj -931 0 obj << -/Font << /F63 264 0 R /F28 217 0 R /F88 859 0 R >> +937 0 obj << +/Font << /F63 264 0 R /F88 782 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -938 0 obj << -/Length 1535 +943 0 obj << +/Length 1398 /Filter /FlateDecode >> stream -xڵXmo6_2Ps|٢uڡCdqʒ;rlGNӥEDǻ -XI"UIf%MV0ɢbT^j~xEbZ&g p٭ѳ}K){W<3 4}Y0z}tWgof?mW5Rj"Β7JiP4)@͌aJnf-Oֳ8RNgmmda,mulE1Pnc3El[4&aXjCe!aʔ속kI͵;rP* - 3$ aR3w ,q!Sexk( lQfbG5 1 G~u.2 ($MAvCԟsCa*/朦?WGvďU ח4_X2.{ Eb1ޡ6ƄP,Z+UU^\CeC޺)ĎPl"p>7B? 5nsA'`$($e{b7+C:Q ma|S[y]?=mb%*M0 ĊN+MA lG^ BX%9pN4\QPĽn"H4Ggp vˢ0Lpxc29܅$|Z̐Gh9Uɀ'>^uAxb7}56Z4ZP -^Z'g.9@@]pg(k2Ǻk-@+/h? -)fpO&` -I0|]%߫YҵpBʾ\ac|o//bCm>rZ*BByc[y/aõe=4p佮ID!2)v oiYCFKqʀm='qVCX\ r8*LL>mpq:F3kw`hk/^#Z"M? ,mi8wW1=muw|c@kQ/z$¶-eM>:]hw;%Gm^cuEJ+gꏲЛoCLW1v$2e*yUHNǫ[=ϫmy#"a.ry^ gcA41p=?>1{&q{yչG>CX}?)2 hLЊxv^k]N5 -Ba߈v'&> KE@>]Ԏ7t9eR -n^,5`L߸Wx=ߠ1f0|1NtoJ5`=6.rWjV`CҎit ==;Ƒendstream +xڵXY6~PIFc(Er4EHh٦Ddձ6mEn6$ 93$G#Udd { # H8~|5`DJ\m2D%%W7bo:]4)CEqh|/NW|AwW/f^ g#) 3' *\Zgod /f1%|`Dn60rv9}Aϑ";/3b Jޔ2!)u'e@B0ܹ75zW8  H"H9]mO6jT9vkϻx|! 7u'VÏ~Nînɡf)-jͭ2xqLqƊvdFQ:LӦ4.. VY9A +o}X/Wzݗ_p?go\d\yrt[U84Y{WiМx3p1Eiڣ+wT‰wp+G~^? +2Ӯp ٚu !>:=T| bւE+ kQ։gERpXzB~j8bo>֭UQ&SٚRU:Lݭ2,;j\‰6~ek{kȮ&z:"Z| )A,c$PnuLw/S%0<|M3X&;uf +0Rg\gnMaԽ#E|_|tϹ~Ea9qQl)>=( itRElT֓eH&endstream endobj -937 0 obj << +942 0 obj << /Type /Page -/Contents 938 0 R -/Resources 936 0 R +/Contents 943 0 R +/Resources 941 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 935 0 R +/Parent 936 0 R >> endobj -939 0 obj << -/D [937 0 R /XYZ 74.4095 793.4011 null] +944 0 obj << +/D [942 0 R /XYZ 74.4095 793.4011 null] >> endobj -940 0 obj << -/D [937 0 R /XYZ 74.4095 470.2165 null] +945 0 obj << +/D [942 0 R /XYZ 74.4095 336.0153 null] >> endobj -936 0 obj << -/Font << /F63 264 0 R /F88 859 0 R /F28 217 0 R /F26 214 0 R >> +941 0 obj << +/Font << /F63 264 0 R /F88 782 0 R /F28 217 0 R /F26 214 0 R >> /ProcSet [ /PDF /Text ] >> endobj -943 0 obj << -/Length 1503 +948 0 obj << +/Length 1432 /Filter /FlateDecode >> stream -xڵXKsF W9I3z\CRLyC-%6eS%|< -H*/yzkxKZ]S/gg?kj-k Elo20ʦ f.W.nmV%XLltr8%FkJT:|nҠ%"40vojWrI `<8nm`-Q(etr&A!u7c4dyFC* 0*MV _Co$vR-mqcwvu*~ږeueno0Ì3M q\;45Kֶz積2|$)_izvdѶÇWf8Ewh.=ؚ =[}~Y>EVٵ-$|J7N8tlYlFxp~D^%у|zO[dt:w?洴y۝<>#% !%Z -xhh*=h4Kin4ݩI6͝ϑ~%% -0Yp5l`t^W[H2V8ݺ6)w 2=>}^pȊ${mF -Wݫb83M (w@ Hcbl(&-s@m^c v:m 6.Ƶ(*}ps_4YW$]a@С~XߑT@Nvt@tqFuPCR< $iS~ -e8 -pT -b\(DqE**aJq~j(Za)ʛ /Ϩi;!& q蹅4V4'7:NHhKJ/x[Xx5G IUKumЗo pQ8X}|ىkuc0iZа%"Jjt{@c-j -H ՞^Bs Ã[(cqg44fCTac\1H$.;.'LMwJ*oSm hBN@&vE.B.Q j%c8sht8ߔgel]%oJ)N0\mJNǠ] *O7К@B8zS.Mܣ7yErp(El$4}-՗=MFj"h#CLT)>M_0%Ɍ$ʜjCZKue=!A=-@]mT]w+ .JQk4|Y2mR6$Yݘ]LNyr<_o>Ǟ`>@M>@Ы<@S. 4r@Cw99ؠ T zq&#{,Sa _2ЅA#vϯ V'endstream +xڵXKs6Wprf"o`ikgI#O{s)H☢T>i:@%˩Ab- "I$MT%Ƃl5~t“觟bh-y")š ㉢4<ˍc6YM50bb_qJbӜRtLxL1J53Q"XwA KF&$ö[4M d RPq(IhK&4a"J P _4V ߸yZ5b'i3ҿ:H*ďl̷R#t‰=cACSpŴgx"+cŽi8mi9ƌ³MLxc˴yz~`koyS׼97h-ՎYuC[4y4[Fn)H#nAX̀cL'e-WBD9]^yjaڔ#~iQԎ?dE͕u .naVg8 +a}Mt.LZr*y}9 o4 +gb+Ա &[hX؁yrB\rѡ#3`rB` ^73+'_ɛɸ {дkq"k<0K l`V^xX/ͫ +jx UW6&b, Rx'q 'BJ(͂^ڴu>sԺ+tkO&1`V\›ϝ蒅iǕyݧ $;1,n_wf`ћ w'͋RS)jIe lY!y~tlnLF0JB͓yU= sǺ~S1UiZv~3딡?硝оut&k{g QW:LІ%B3w'ΰBK&Ȅ~B|m#/WaӬw &n`e/ݷV\Kv@ ̙ ԏm٨C#lgFiK݈`zr]Ӗ1`wj.ikg!, 'OjW Kޣr w+;)4Oj;\Bm;vPt%+g++f%tUÃqÌ)OY@G +"5Yv8G +'Xa꭛ J¿O1 S|YYkH۹Ӂb| $aQBWw舁qtߩui?#6g}mtƧ ._s|T[L ރ uG.L -C鰧iJtD_`,dbOau ϖ~p#bw\ +%jhPl04ڿC#,pY;)t2K^D endstream endobj -942 0 obj << +947 0 obj << /Type /Page -/Contents 943 0 R -/Resources 941 0 R +/Contents 948 0 R +/Resources 946 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 935 0 R +/Parent 936 0 R >> endobj -944 0 obj << -/D [942 0 R /XYZ 74.4095 793.4011 null] +949 0 obj << +/D [947 0 R /XYZ 74.4095 793.4011 null] >> endobj 162 0 obj << -/D [942 0 R /XYZ 74.4095 358.2768 null] ->> endobj -945 0 obj << -/D [942 0 R /XYZ 74.4095 266.732 null] +/D [947 0 R /XYZ 74.4095 221.4355 null] >> endobj 946 0 obj << -/D [942 0 R /XYZ 74.4095 238.7914 null] +/Font << /F63 264 0 R /F88 782 0 R /F28 217 0 R /F26 214 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -947 0 obj << -/D [942 0 R /XYZ 74.4095 210.7431 null] +952 0 obj << +/Length 2780 +/Filter /FlateDecode +>> +stream +xڭZK۸ϯP|,@e{c{8>dg#CQ>d~}"E&)WY 58|_hHN 8_b~l]{u뷑XAEr~ +q;-?Ym:Rbl:34𘛃)̔5W˦ح~V +YGQJREz"B'@kG +ޑ)EK'l$]l[K9f}V-<%iymV-UyiP<="[@l|ܘI͜iP6]j̼<#7,4Ռ=JW='SN}gkMhQ$ ӏmPV]20OioiΥQ(q6Ev{eQY=% +Jl#Z4u)?L>+|2D~>5BKXÒ o + ;PJvv\:<oJ@.,kBN!mm kw"bSʖ +O6(EA9iB:tr:"Àdvq6PY]?ww<\K9#NQi!'XYp;"Rxx&A#H-#)wyƐ0B>,߲Icd Lj4'aV8 +{)*c XhOj-/PBdi!biW,j MWk=dn_ഹxYn|;av ۽B(w ?vͺh1o2T2,'81GKuIl Ix va(\ mEM2>W@Zq"dXN$جBS ]NIbuj\B6U6u/7oWR8} H*cWۘ/o^ i_ 5 +sA |k[c +`/i2uN +|FӺT";Ӎ@^sX~no"U"2^<I 9Zl5"p=C!.*iןoAى?o^#<R! F"da3]??yfnІ""[(Z(dRqtm\r[e+͎zSu6 8#c7Lo1ǻ? ׎X`6#ފY,B~FoW%{ʗ>xlhOOd^tcZ28_nbJU!ۂ(q̓o7_+QňW#:%mRDؖdj^M{t 1g8qX hjP;x XK4nñҢsfLYa/8mlQSP_̳⡢Y۲AW[`bz>ln+ͭv/0]7CBdž!vnB'TY›n&`˅sXp5X&#vM %a^(x\shW]*P` hǝ"[RaeE +0#3V]3 O)F]t<yjJ̬w)^T=zFGXVgb49 3@ ƨ]/G7%5,&NJKuI숛hҾPEXrB8`PŸ0=. HAp'8-3DUendstream +endobj +951 0 obj << +/Type /Page +/Contents 952 0 R +/Resources 950 0 R +/MediaBox [0 0 595.2757 841.8898] +/Parent 936 0 R +/Annots [ 961 0 R 962 0 R 963 0 R 964 0 R ] >> endobj -948 0 obj << -/D [942 0 R /XYZ 74.4095 164.7675 null] +961 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [265.8494 322.3945 280.305 332.9768] +/Subtype /Link +/A << /S /GoTo /D (figure.3.9) >> >> endobj -941 0 obj << -/Font << /F63 264 0 R /F88 859 0 R /F28 217 0 R /F26 214 0 R /F35 237 0 R >> +962 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [448.8126 243.1787 463.2682 253.761] +/Subtype /Link +/A << /S /GoTo /D (figure.2.1) >> +>> endobj +963 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.8513 207.3242 376.3069 217.9065] +/Subtype /Link +/A << /S /GoTo /D (figure.2.3) >> +>> endobj +964 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [504.4211 153.5425 518.8767 164.1248] +/Subtype /Link +/A << /S /GoTo /D (figure.2.5) >> +>> endobj +953 0 obj << +/D [951 0 R /XYZ 74.4095 793.4011 null] +>> endobj +954 0 obj << +/D [951 0 R /XYZ 74.4095 771.7323 null] +>> endobj +955 0 obj << +/D [951 0 R /XYZ 74.4095 757.8898 null] +>> endobj +956 0 obj << +/D [951 0 R /XYZ 74.4095 732.4557 null] +>> endobj +957 0 obj << +/D [951 0 R /XYZ 74.4095 689.0944 null] +>> endobj +958 0 obj << +/D [951 0 R /XYZ 74.4095 665.3639 null] +>> endobj +959 0 obj << +/D [951 0 R /XYZ 74.4095 536.5012 null] +>> endobj +960 0 obj << +/D [951 0 R /XYZ 74.4095 473.2177 null] +>> endobj +166 0 obj << +/D [951 0 R /XYZ 74.4095 431.294 null] +>> endobj +170 0 obj << +/D [951 0 R /XYZ 74.4095 384.7794 null] +>> endobj +950 0 obj << +/Font << /F63 264 0 R /F28 217 0 R /F35 237 0 R /F88 782 0 R /F26 214 0 R >> /ProcSet [ /PDF /Text ] >> endobj -952 0 obj << -/Length 2021 +968 0 obj << +/Length 2112 /Filter /FlateDecode >> stream -xڭXKs6Wprf,o8mڦMk7=P,(i~}w"EJL;!`vAPǒTIJR+`XrξHh}׷WoH Z!Bn8;0]1!{W<53A EMƻSᶮlrWLz׷|)1Z/SVJMih.lz$eI3I!N:*Hc mJnDD/dNVYr|a $!uWrsAg\Ǜ_:Wu=9Y>TJk[0W^*,2j h$B$/fJ'\4-޻f[EО]veˋA)#=RbyÝH%8|]1pKeda<J<^tiw_:̉p$plo Y YMR#>)a|H!Lec@fK-NfBaEѡן /]5B͚|W>W.P80B8?ܠЬ6!2—Ls^*jY^&}B a痽+WV\~): H -@KEᶺUblP03C5,\ئPs$[#meۭ7PpۮZNh]$ا:]Z,dz"8;^42t7eBه9yA5&M(X|Rjb*o 8?|,y@?h=#Ju._;f;ʎH- O8 -GGX -5*lP8Y| h. =ᴀ67zn OMT/c@J=^}.(Fw_Y|-ڒ=Y].Զ@T 1z"#{x1` m1wE`\ NMOJA`-FTONJ8k y cN~.>`߸z4y79 A J5-+7sF{؉m:2X%'$7@'}cU"K ſhcPJko%Ra%'9xkp 2ģay+za>ek.TP]7kF3J\;J9Le޺}~$Y3r`pbX>]5`BCy -ѩ&sپh>xo_ f {lYQxS}PoBz2\­qoJ"wwB.ftidFԏ75^@7 MSduO}AH_L 2~R 80NA~D`.Y W0|1aҴ_76Rd#KBᙟJB?cMYSĉJA}O`B ? `endstream +xڍX[s۶~[!7N$9}@\^Կb \{÷ īU&dq?\D-̽~czpTrV\Ngy :L(Ҋ:(iլ8 z]uͰ#)w<,2nևu}]vV}Y맲Gj~q$X"ޢdCEe$QP< IA.~7TcS{+ZoD&qƱ9]~UQpOJ+R22$}ں +8cw>aD#W{ZbmM ڮ$ҞS3C >e*SvqNU +Yh(.~G3 wBM-o*L۩aYIH(>!S iQ9j_;M<|V 0:: *)mqZk8L4fg=[iލ@26n9S9vJ4mD,8EPHqp1>NLQrbި'v b̿ ҭSvJ, ԞjZ<)zhH4QCZO3 xu#j8V^TsTSi'WIӔV‡4iܔʠ;E'RUA ؃eF,E>F`ϓfLp^90^E,,x AF߇6/UQ> endobj -949 0 obj << +965 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/simulator.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 959 0 R +/PTEX.InfoDict 972 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 443.00000000 256.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 960 0 R ->>/Font << /R8 961 0 R >> +/R7 973 0 R +>>/Font << /R8 974 0 R >> >> -/Length 962 0 R +/Length 975 0 R /Filter /FlateDecode >> stream @@ -7792,261 +7903,194 @@ x L>IpȐt&1B nPs^?k PJl)% &jRCo{<0֎_ʉ `D}9Tb"VkzmTKG÷Z?lGendstream endobj -959 0 obj +972 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034135Z00'00') -/ModDate (D:20080810034135Z00'00') +/CreationDate (D:20080810204212Z00'00') +/ModDate (D:20080810204212Z00'00') >> endobj -960 0 obj +973 0 obj << /Type /ExtGState /OPM 1 >> endobj -961 0 obj +974 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -962 0 obj +975 0 obj 884 endobj -957 0 obj << +970 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [265.8494 442.1132 280.305 452.6954] +/Rect [273.6962 390.7452 288.1518 401.3275] /Subtype /Link -/A << /S /GoTo /D (figure.3.9) >> +/A << /S /GoTo /D (figure.2.4) >> >> endobj -958 0 obj << +971 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [448.8126 135.6153 463.2682 146.1976] +/Rect [438.4261 290.0711 452.8816 300.6534] /Subtype /Link -/A << /S /GoTo /D (figure.2.1) >> ->> endobj -953 0 obj << -/D [951 0 R /XYZ 74.4095 793.4011 null] ->> endobj -954 0 obj << -/D [951 0 R /XYZ 74.4095 771.7323 null] ->> endobj -955 0 obj << -/D [951 0 R /XYZ 74.4095 656.1647 null] ->> endobj -956 0 obj << -/D [951 0 R /XYZ 74.4095 592.8905 null] ->> endobj -166 0 obj << -/D [951 0 R /XYZ 74.4095 550.9823 null] +/A << /S /GoTo /D (figure.2.8) >> >> endobj -170 0 obj << -/D [951 0 R /XYZ 74.4095 504.4782 null] +969 0 obj << +/D [967 0 R /XYZ 74.4095 793.4011 null] >> endobj 395 0 obj << -/D [951 0 R /XYZ 288.445 221.0409 null] +/D [967 0 R /XYZ 288.445 469.9802 null] >> endobj -950 0 obj << -/Font << /F63 264 0 R /F28 217 0 R /F88 859 0 R /F26 214 0 R >> -/XObject << /Im40 949 0 R >> +966 0 obj << +/Font << /F63 264 0 R /F28 217 0 R >> +/XObject << /Im40 965 0 R >> /ProcSet [ /PDF /Text ] >> endobj -965 0 obj << -/Length 2986 +978 0 obj << +/Length 2536 /Filter /FlateDecode >> stream -xڝZYs~p4 h"զcKrѾtu\7^fxjENŠ# =6)6>Zd$R棘[mh8##3`g.xgׇ ?g-Pf0f cgֶ (Y[3(02Yu`P#́I8iGZ pJVpM$F}E|ZC8!\EgurXwȏExa\a6 al)p"p'UVbɔ*w9 = - w 0 -[6 T[t9'&y_"HU^Lj{γ =3rU֑wC`D@ 3(lLبD{*x=n頲[N_ zظ}6z85{U\+6H j{Znl!&#^q qkhc~ms#(LeҤs|y.woLjpJ# W1-=&f:r2|?8x=Do$.U7\?J4OVuS`Kٵ=LGfcKłWY?8p/ ΙLGbxq.dдWM5KDhGR*L{w~;1zK'o Q)K@F*1%}k& ,|ޡ0~Xɥ/"yu}X&țlx0s!nWpz1L@yo0'E'U֤ m4xs6IsH8̄INyڶ/JK[#E%Vx͍iil[R] @dlYڦ(Џ.g$}97T%GO!InMܾZ%ۤPvÒ*[,a kk5U}\"o{QFm1`^NAt\(ob7v/ endstream +xڭZmom f%z; +.pnm[,;áhI8`Cqpy/\_H$A-L wbox|"eYӂ񔇧MZy՚'R: +]iclr]al޽#4)+ed'5YI{HI?a(LNQƒ$HAIV[Ci- 10XU8N"&R!"}xĄLUknJx9?zm +ll"iwM[M_ȍ~3kZӥjhȺ7G{~q\do_Z`8g/ 4(Xi&,ZADR?@D}Z '<BfzʫҨ9)w6=M!6v蜦:/ e6X>p.nT 9qC9TM(PT +ĀʆkaE9jE׋b5HyaN9zN4S (t"GQgq:%H qA$w仆HZp;]Bg,!eWc" YE-,"[d,2KDQ9+990,NSh@"H" ܴGd˱%B̆Ǻs3.?iڷ0V{^/\z +: +`/Ä~Zio^^UmV##߬~rEjsNvs\;z[{xsY'`:h? U iVAn6SLU1\b \P. ?ю.%M"Qc IUrubVEGeL3ZV@~cyrkɞgz,I@E3bn76 T ̥3R&8ge%a]!o[w\X/TnzUiN%@`YؾgwP'R}B=U)0grV0jN4M6U3mUY:m)42NU=Tf1R{hkC=5=L괇b}g%.VWo˴1-D##UD&QnSUۻdDt*OMyށ0tEmkewفeGBۯVzCĕ~ݬv" x-c[O=lqmaUB s]ijrTQh !,B^r+]s+ Ri:n]['] jzB}ڧft)ܚ9B^{9'0]y1, 0;'zVu_aMڨ}|n_5 +)JҘ eG?=qS¿zq򞹰-U_)_3suA#tQtQ#>`C&` zhBG,k[kg:. ̉<̬ȓe^F}|JG}lf3aF8 +Ǿ8L㟐uy~.p,:5^tq|z\3qDyDaV22ŬѺ+SH2m!c]eFe9hendstream endobj -964 0 obj << +977 0 obj << /Type /Page -/Contents 965 0 R -/Resources 963 0 R +/Contents 978 0 R +/Resources 976 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 935 0 R -/Annots [ 967 0 R 968 0 R 969 0 R 970 0 R ] ->> endobj -967 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [361.8513 738.8587 376.3069 749.441] -/Subtype /Link -/A << /S /GoTo /D (figure.2.3) >> ->> endobj -968 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [504.4211 685.077 518.8767 695.6593] -/Subtype /Link -/A << /S /GoTo /D (figure.2.5) >> ->> endobj -969 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [276.5694 523.2557 291.025 533.838] -/Subtype /Link -/A << /S /GoTo /D (figure.2.4) >> ->> endobj -970 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [438.4261 424.4179 452.8816 435.0001] -/Subtype /Link -/A << /S /GoTo /D (figure.2.8) >> +/Parent 984 0 R >> endobj -966 0 obj << -/D [964 0 R /XYZ 74.4095 793.4011 null] +979 0 obj << +/D [977 0 R /XYZ 74.4095 793.4011 null] >> endobj 174 0 obj << -/D [964 0 R /XYZ 74.4095 258.1614 null] +/D [977 0 R /XYZ 74.4095 771.7323 null] >> endobj -963 0 obj << -/Font << /F63 264 0 R /F28 217 0 R /F26 214 0 R >> -/ProcSet [ /PDF /Text ] +980 0 obj << +/D [977 0 R /XYZ 74.4095 245.1589 null] >> endobj -973 0 obj << -/Length 2589 -/Filter /FlateDecode ->> -stream -xڭ]o=BO Xrwum -8$\H݇XS%m}gv)TD˙ٝ3 f򔟆8?C0!^v޾H/"5} z"ׇ2b)d.2Mf!7;ST) fۏݶC{IoVSaϖRzizJaq,+p^^d2kJw~ -\]ͺqmιc\o],_Mv-LA_kT:lWbe;EUp(~65ˁsTn|~=HeVո)m.zףr.׏y -dGtZ Os)yeMN e}&r@6lyEHgS\`sG]Ю.\ 9ژC#M("-ז -LD.Nb8$FW[W6v^;8u5pX*.;fe}b⽢].p/Vatg̕ AAI TCd(>& < 8Uq"b54Ż}dkȒW{FGvG*r) M'.W;P]:[zdmQ]ŀl;) G"Q zO?aC5 r.0,NOzu*&`8E!{.I -V毃Zj %_DɩDD?!K!=)doOfPrf@$ Vѥ -yQd4gz1rO$N'v;f|C?п0~^S@??04ǽ~L0n@$Mh G`V۬GO 0hch#?dՄ*Kꖂ bWφ `^G ́2IUdFI8yD)^/w}&2oA:. RM#QD ̚endstream -endobj -972 0 obj << -/Type /Page -/Contents 973 0 R -/Resources 971 0 R -/MediaBox [0 0 595.2757 841.8898] -/Parent 935 0 R +981 0 obj << +/D [977 0 R /XYZ 74.4095 218.022 null] >> endobj -974 0 obj << -/D [972 0 R /XYZ 74.4095 793.4011 null] +982 0 obj << +/D [977 0 R /XYZ 74.4095 191.5532 null] >> endobj -975 0 obj << -/D [972 0 R /XYZ 74.4095 363.3269 null] +983 0 obj << +/D [977 0 R /XYZ 74.4095 163.7484 null] >> endobj 976 0 obj << -/D [972 0 R /XYZ 74.4095 337.8723 null] ->> endobj -977 0 obj << -/D [972 0 R /XYZ 74.4095 309.4632 null] ->> endobj -978 0 obj << -/D [972 0 R /XYZ 74.4095 281.5294 null] ->> endobj -979 0 obj << -/D [972 0 R /XYZ 74.4095 254.9315 null] ->> endobj -980 0 obj << -/D [972 0 R /XYZ 74.4095 210.9624 null] ->> endobj -981 0 obj << -/D [972 0 R /XYZ 74.4095 164.0314 null] ->> endobj -971 0 obj << -/Font << /F63 264 0 R /F35 237 0 R /F28 217 0 R /F70 605 0 R /F69 614 0 R /F65 611 0 R /F74 608 0 R /F88 859 0 R >> +/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R /F35 237 0 R /F70 605 0 R /F69 614 0 R /F65 611 0 R /F74 608 0 R >> /ProcSet [ /PDF /Text ] >> endobj -984 0 obj << -/Length 2648 +987 0 obj << +/Length 2564 /Filter /FlateDecode >> stream -xڭYo6?Z+ԫ"Mbdnd9У_3,ɲ1Crf,| 򔟆8v_0 vC귷޼"(R'7_~MZRzuki{]F׫u.Xw$˘Oɀ^aq,,Mܭ2UˇŮ\V&rNjZS D ՍٯٕYkUJˌd5ז%*3R^ ՘-tP㺫"Cîym9p& "/`/؟5ZLx" X3w~过{ۊ#ɞ uItuX)Bi4SUo5`f ȑ(1#jHwI8$ CG(;4k"*[I*8BX$%3(YeT1GG~My4 ᮙG/eQj -;3zs'}_DZAj0䎔.[`V. -+klg0uoe8dj6f2[ +Ψln2\4vq -a}Z (Ɏ Yv^$eTz76Yi`3g䐬 `3rGۚ\eHu`P'kJ+0I!ܝZ 6 -9f5#(͡?xVmsF(!G `XBر~8uv nsh);E&. BoWepM`Orf\dH|=D+~q*\=8Lj6Ɖm0 cS3G )y.m~z{  *T'.&Sٹ'*F8`ƙ< "kkA46C` ɡ$~"Nɷ(ɱQnINlXDvi%"i C͉\\e-!CM] Ylnv&f - +YiңWe[O/bYĩ/efsc@Ǭ}(zʶsU];%R!/K^w=P+gRWV? 6PKq9 QBT29nFSS_Ա.}ͱRSP6[LCv&ީ?Dw7gkDXm۟;HaۛҖ=3z|?&_u(fakCR2glhv^5?A8D*|*Nݳۘ^%?Tz//cm@tjϐvh#q6Yl<-6Dgd'h{^H.~ePaP>hӱ!<;8wJ&1y5.Iͼw鸸q}Lk3i+ iΘIX>4 %N $hW Ĝ9ĉ#{ ĭeH=|ߙ$]>謒g6Xy'$=>>9E QL;dRXa~a J$=13(d8ŤO@2+dРR[#iI/ oٹs.+㗍];wG !4=Qʼ@Td-UyyhkʹˮU$^u|@1:nwBt]-A8?_o$-V0gK)Y$dR8E%tr&f-(d1}YWHgzAeaٱR}dB" ڔ&G%|ӱ蒆[~[lCa̳c V{UgzYe{=A )3]#ɻ&JyNk 4;]W㭓z^~(qR*jB:דB8IB( / + XL|p GY]Q F"pL|\,eO ݮlîwB 6mcrL{ąJB#,Xdٗ +gpXzcfŞTfbda)WՒ1r ˽=HVq4 -br[} %I*o*5T ECcߎF#oK(%fӮ k iH:4 +Ӊlӷd,aڹ!w'g2A*UnLNmR*Q)Mv4.9NE"+1f~$D4i;G-h&kj4Kgt`R7ڿ¾}j-|jOͱZo =ƍCr((t|=;D{oO," pp[#s9HA hr!J 4eZ@>rbk&LLJ{ !N}TNᆐsF?)гF{4usvdv0nE''vDU8ɓ-(9$) %;nFݕLG$J% A^\MxMR BO#BSҙljUo$W@@D +RUQ l0Y_s[^umwcj= Gɶ'f]90^6\iBj(߰k`f|0E(; K ޱXB-†ˑ{;ӕ +{jRf~b+GyĮ."}᭠5Եv+E .=Rx$@քX_Q{AfZ~%shF6֛} ++zSF:~@yN8aվ_dX;"O({CC2)bZ!لxPuVq:e0([DG,VI{3QȐq+W)6ϢP)0{Xv Tcgvβ;i۱lVR"W1p%#iY8NK(GWAaЈ +8Cl)$\! jͱ$' Ee{U0N69CW=ڰXi-#}=4h<]݁R/(IiliܒzKk#5 DSni:jz;SX+L]w ^ᆗ^gU\ٽ"Qnr˷ $:%.g.ٻ<%0 >pyQkp9ڷi=kYco6C wc8y] j|knQ~_a־K%k5(g!{Rؖ@iD =+QOFac/F ؂0b/6] `k^E-FZ__wp-{h7XIx'.x7OxkmoVhq?cFOPK 9H| , +pIt uendstream endobj -983 0 obj << +986 0 obj << /Type /Page -/Contents 984 0 R -/Resources 982 0 R +/Contents 987 0 R +/Resources 985 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 987 0 R -/Annots [ 986 0 R ] +/Parent 984 0 R +/Annots [ 992 0 R ] >> endobj -986 0 obj << +992 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [231.0162 425.9853 250.4571 436.5675] +/Rect [231.0162 295.175 250.4571 305.7573] /Subtype /Link /A << /S /GoTo /D (figure.3.10) >> >> endobj -985 0 obj << -/D [983 0 R /XYZ 74.4095 793.4011 null] +988 0 obj << +/D [986 0 R /XYZ 74.4095 793.4011 null] +>> endobj +989 0 obj << +/D [986 0 R /XYZ 74.4095 771.7323 null] +>> endobj +990 0 obj << +/D [986 0 R /XYZ 74.4095 741.7469 null] +>> endobj +991 0 obj << +/D [986 0 R /XYZ 74.4095 694.0586 null] >> endobj 178 0 obj << -/D [983 0 R /XYZ 74.4095 535.417 null] +/D [986 0 R /XYZ 74.4095 408.611 null] >> endobj -982 0 obj << -/Font << /F63 264 0 R /F28 217 0 R /F69 614 0 R /F74 608 0 R /F65 611 0 R /F26 214 0 R /F35 237 0 R >> +985 0 obj << +/Font << /F63 264 0 R /F28 217 0 R /F70 605 0 R /F88 782 0 R /F65 611 0 R /F74 608 0 R /F69 614 0 R /F26 214 0 R /F35 237 0 R >> /ProcSet [ /PDF /Text ] >> endobj -991 0 obj << -/Length 1605 +996 0 obj << +/Length 1874 /Filter /FlateDecode >> stream -xڭXKs6Wpzf,/dzNq@I"SwiIwd,YBKrI$-$/,K MVpvew3vO'oH -R*%뛄GOjc3 YFizj4כZu3f5rnrv=8%Reܿv@ +I<8*aOL3 jP6H[Q 3<7u3sȩf4%E/JQ²1g\0¤)PsUkw H8>_KIrXs"x^fF!*Jr0T)I%R ~Ϳz`wb:D x[dg_8T橍/9(D0}I)xlT]L o)V8>5H q50WH -9I3l -u  /Xze֡ Տ-g-O4ba{k:>N _펖CLü|!Hv[ރzy]c9l^ nO(=Z9Ybb~8QLkƷBtx"~⛠__&x_P]~Ap-̡U 1lq@Q~TM׮[z 0ϼ;_΍][Pl;#K}n',BGxoU&dp!1/]ꇛ[ 1.'/f0DQxp-36~>},W znFsǜЧ/4YBz7DEO|beɓDJEdRO&;kƠjCW˟W Lhe SB>$PL3m1ǢHUd!iIJ(lYLg -_kHޚ~2 8/ -i(S>-muZp0`nuֽE Ѧl%mh{;iZWT ;M]j_(EQ^}VnXe($v>[cERA10ՙO )T! -ep( -B%|ˏRPD=֩&l&s-DٶWNR#Niiհo kCSm#K?l.@"Q%IowxϽmjJ u>IvѱXo H@s発Uۑt$P qXS9I>hjI?dQ4@~xޔ ?uMw2k.^J8FD,'gl7c-y Js1{ڞ:/,.e2 +Jo΃ȌRm>@!ܿᆻzmv-+ #[x|L6fz%U-Lw4BE'~bx['̦%1۹$Z08{:KxQBD>WIB0O¢FĔH@yزp%]aT + lpF=ţx֛+c^vM8LX,`XjO'HN9#6"Dʠ +fvμy8񺊪 }`ĴB'5eс0KY*ҿ9COe,o=-";\{U%>$͘+V6ǣC+g- PN綳Fsl u̡8ӑTX) + +8KeNjN_bxY}X^ܔ)BI4:.)l&T$7an7ڍ 0t B'| c&c̥6{[C + +s@b +j5IpBdz \\~!6:.4gBKH\/lz[)Ac"Oۋ +g⬛sW+^]&|ۏ\z>c[ +nMɱ[}7rAuP$xl;Tx8R鬛C6`'S&}n5,ɔ̅w<_gg/iL9mqrSpW1 +,8qW|&O܆㩪ࠅ$Q +CS `dd#N;[p@wW3"Z@ ! ^4wK/~ +QI{> endobj -988 0 obj << +993 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/serialize.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 993 0 R +/PTEX.InfoDict 998 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 507.00000000 318.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 994 0 R ->>/Font << /R8 995 0 R /R9 996 0 R >> +/R7 999 0 R +>>/Font << /R8 1000 0 R /R9 1001 0 R >> >> -/Length 997 0 R +/Length 1002 0 R /Filter /FlateDecode >> stream @@ -8056,133 +8100,139 @@ BB :ܧ ":0ڷ?Ox ae8=JZŷ8(NEjҢ }z V.Qho4V)vPڨdGo >s)l%̛؝?endstream endobj -993 0 obj +998 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034143Z00'00') -/ModDate (D:20080810034143Z00'00') +/CreationDate (D:20080810204215Z00'00') +/ModDate (D:20080810204215Z00'00') >> endobj -994 0 obj +999 0 obj << /Type /ExtGState /OPM 1 >> endobj -995 0 obj +1000 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -996 0 obj +1001 0 obj << /BaseFont /Helvetica-Oblique /Type /Font /Subtype /Type1 >> endobj -997 0 obj +1002 0 obj 1035 endobj -992 0 obj << -/D [990 0 R /XYZ 74.4095 793.4011 null] +997 0 obj << +/D [995 0 R /XYZ 74.4095 793.4011 null] >> endobj 396 0 obj << -/D [990 0 R /XYZ 237.9156 419.0451 null] +/D [995 0 R /XYZ 237.9156 332.1907 null] >> endobj -989 0 obj << -/Font << /F63 264 0 R /F28 217 0 R /F88 859 0 R >> -/XObject << /Im41 988 0 R >> +994 0 obj << +/Font << /F63 264 0 R /F28 217 0 R /F88 782 0 R >> +/XObject << /Im41 993 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1002 0 obj << -/Length 2836 -/Filter /FlateDecode ->> -stream -xڥZKs8WhoT/=9egQS{( S)Wn4@8;A@f c3-cdj3fd]ŐŻ8KS9[ϸP17ޭ~~̟Ζ&|$.,M|{*V]ah_mpqsןx4oi,Ug nDJ^G2[I,2f,lwo3/=%dӾu]ڼ¹u^ț#]: 6̌OGTP.2|{׌M-Y*{Ss3@*Wι܀֛|!ŊUőV/8eak+@30)D,_}| 洲!yU ZZ]r|c ,)n,p-6Jw?%zWE8-'K/\Qѵ/,F mgi74W=Lzs+N;e5'8tiKi3rQS -qLofb{qx k8$ɏy̾q9G^9| `26Xa^ PC4+8]3)~ ,@@d@iNO8a A_!(􅴂Vtl2huF*ršqFgb h 2ܥ{޶hW*x5`0NՑ^;ĝP!ڟ`$.@ U((zA*R`ܧ DO'(D*}#D# -:U%==ou)nCvdt^",6B\xC.<!FKt}vyE(C&YR8[ǻ k6Gv5D$u.S=]-]f"UFb*IO!g߉Io@:|A¹R}Ll\0|-J''"no?@a>AY`'fcqt ->srٕ?MO2LZ^@uU&aX:@׎ -L rXpnX(Ÿ`+OUlX*jHQ}@,[e I龢^[PcY(;8LɏMb(6l`RAF¡y,mA5MT'"mESw5AsY֔hl!<st,H<3܄3hTU:uj.vBvE*R75`B}nHEH<Ё9O0!޴Bv/tjLἽG*,ҕ.㝓C4 :%Ty+WPp-)TdEu X~VʩXTD!o;|w|ʀ|UP^ng1tSr-z,6Ʒ82TOsO%U5?Tzt_ AkJOږ -1ߢ+2p'WQ^kǞp*fcӑ"׷VN3*/= aeW;˾Qnd?/Бtzc+ˠ*AQC*gqў1aL -ŐFSGS-OR4Yo<}fUZG"kUT3>/sQm)jaV`维KYRJCî_NDs#=!'oF%aI/^Ϡ_S0 >r*JcVVyendstream +1007 0 obj << +/Length 2554 +/Filter /FlateDecode +>> +stream +xڭYo6_ D\Q$E +"u[6rZR*ɛ"oCʒ-gb~ g13-35ә糇E<[?F8R{wT TgP,1 ?0[61*:[.D`H~Tڝ6Z/~殿_%13iMX)S&UgQbX,A?.~=̨3LbƳ,.C~" +rgFc`15Ә3-[ӘYge*E_eLr:sv~np8p}ꊺfIʸfKm˞ć'*3KWwc;ߐ=^ew]S,TYsu8w\=ڦŲvߴ9-|sI2w=話-!~mmn|ߙ?MFKZφ*V&E_NqI&1 +dJ f:\0{-"!cV4 |KX۪,6ök=<!V9?Eϟ<NeKmy--ni:ʍNKKq+#~BPx-l,KpGꥃKq:]Ұy +r=wӽ ܗyvM 0lAm+4h¹_/s`i--&Q$b)V+2o[[!v} `z)T,Fn^L ƜUcWQ + U/<_>M4*|Jo]Ub)mtIhx>gxsp.Zeb_[Y(vڱZOpҖ[-De$O+\N$Y*}Cpp/ %M kB_ _eZ>;kdK{޷KTP5`0e^ *q= xJqe( + E[GdB[Qp}9*;1 H%3tΔuq`|O;Űںb7UDBYw +S/n졖u"TzjXKn|Ӫ )\j]^=*ukǫ!Z; I].FO "xs$,wWd + A:k .L\za’9:*U@=0%W1<;`lSO)VO& Sa=KP= 74=y]C0Zˢ\M|ƚD,X*A5Y:DC Nyq~CHO==G>^jNѓ| a_UJ} *xtGz4ButJb>qv:B#~ ۺf!$uhO$0.܄^FaS&xl}[PMK9ﱘ j責vy\U-tPZ +H?h\bE'݂F?A#gh[nuMwPv*P(vZd +#݀?eX|>ߴu{ ەmh3`B*,UuSCÜh.^gHu#WX)q +`J16U2Q3nVbrX;;:cFP~|E+>١ { hxd=&'Rq8TO{O%S5f?Tx=j93em7iVkKɐ1v8O8{St /^7uOkOMMO{N3)_|p + bC׷;˾ї-~GtQtz-9@W0oiiħNIRpRƜ DNtendstream endobj -1001 0 obj << +1006 0 obj << /Type /Page -/Contents 1002 0 R -/Resources 1000 0 R +/Contents 1007 0 R +/Resources 1005 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 987 0 R -/Annots [ 1004 0 R 1005 0 R 1006 0 R ] +/Parent 984 0 R +/Annots [ 1009 0 R 1010 0 R 1011 0 R ] >> endobj -1004 0 obj << +1009 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [496.9433 385.1158 516.3841 395.698] +/Rect [496.9433 300.6741 516.3841 311.2563] /Subtype /Link /A << /S /GoTo /D (figure.3.11) >> >> endobj -1005 0 obj << +1010 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [316.584 238.3263 336.0248 248.9085] +/Rect [316.584 153.5425 336.0248 164.1248] /Subtype /Link /A << /S /GoTo /D (figure.3.12) >> >> endobj -1006 0 obj << +1011 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [454.1307 238.3263 473.5715 248.9085] +/Rect [454.1307 153.5425 473.5715 164.1248] /Subtype /Link /A << /S /GoTo /D (figure.3.13) >> >> endobj -1003 0 obj << -/D [1001 0 R /XYZ 74.4095 793.4011 null] +1008 0 obj << +/D [1006 0 R /XYZ 74.4095 793.4011 null] >> endobj 182 0 obj << -/D [1001 0 R /XYZ 74.4095 314.4606 null] +/D [1006 0 R /XYZ 74.4095 229.939 null] >> endobj -1000 0 obj << -/Font << /F63 264 0 R /F88 859 0 R /F28 217 0 R /F35 237 0 R /F26 214 0 R >> +1005 0 obj << +/Font << /F63 264 0 R /F88 782 0 R /F28 217 0 R /F35 237 0 R /F26 214 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1009 0 obj << +1014 0 obj << /Length 355 /Filter /FlateDecode >> stream xڍMO0 9Ih'DoT.zRj-bjFSkAa5h鍰^x")b˦,g%xf-A9Sl?-!/$2yW2͡ȿM|ܬ1$8fL ڰ)!0;;O) 11 j)kR4BpyI>H,$Idn:3ĨB B7w[Onh}Xm2A/rU&rܰXLG'fX~0>&e-X4zRH -4^͔~(dw;R!Uܟ;Hv^4bendstream +4^͔~(dw;R!U;Hv^icendstream endobj -1008 0 obj << +1013 0 obj << /Type /Page -/Contents 1009 0 R -/Resources 1007 0 R +/Contents 1014 0 R +/Resources 1012 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 987 0 R +/Parent 984 0 R >> endobj -998 0 obj << +1003 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/sequence-serialize.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 1011 0 R +/PTEX.InfoDict 1016 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 1286.00000000 1083.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 1012 0 R ->>/Font << /R8 1013 0 R >> +/R7 1017 0 R +>>/Font << /R8 1018 0 R >> >> -/Length 1014 0 R +/Length 1019 0 R /Filter /FlateDecode >> stream @@ -8191,76 +8241,76 @@ x q0ӈQQ.7 =BA5֖䯤t@PѮ DKkφi0bpsQ5d|*endstream endobj -1011 0 obj +1016 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034136Z00'00') -/ModDate (D:20080810034136Z00'00') +/CreationDate (D:20080810204212Z00'00') +/ModDate (D:20080810204212Z00'00') >> endobj -1012 0 obj +1017 0 obj << /Type /ExtGState /OPM 1 >> endobj -1013 0 obj +1018 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -1014 0 obj +1019 0 obj 1025 endobj -1010 0 obj << -/D [1008 0 R /XYZ 74.4095 793.4011 null] +1015 0 obj << +/D [1013 0 R /XYZ 74.4095 793.4011 null] >> endobj 397 0 obj << -/D [1008 0 R /XYZ 284.7621 135.6551 null] +/D [1013 0 R /XYZ 284.7621 135.6551 null] >> endobj -1007 0 obj << +1012 0 obj << /Font << /F63 264 0 R /F28 217 0 R >> -/XObject << /Im42 998 0 R >> +/XObject << /Im42 1003 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1018 0 obj << -/Length 2184 +1023 0 obj << +/Length 2085 /Filter /FlateDecode >> stream -xڕYsF_GjܒEonNsfzZK!יyK;HtFZ~.skVKx>|R y@2~En-iEmdqz7}Z;-ι -nv?1պ)V͕[g(o)=+Ks>Ai e>#DNc|o'cŢ,0Ղ= 6@fw0+Y[Ǯ19|/ A*#(9vlzNkC':p)@uf7f(/P)g1ͺޫ|]or̡$ضh:60:bicvD̆Z>Snۼ~ٛdANB Ipz7J R}*u >S0-ՕS0ZdNS |~ۗ 4GKߩBvSoyCnRq~k)!v!M⨳uDEžk;`@jydu:)@'̅k=wPn(H-YnBZPRn' -Rd P8q76:nRHtB{GכQLVa:Ji+F04A#n^P7ylˈɐayWӸf]&q c!-m]B G<ٚ{g(3[o"Gcrh|PY_9l Ui D ;cD^FS-iD'_ҿ -YЉ1;}+ӷ״~Ӻj]y56'ӈE2V=:nv gzpiHkW[SNE\ĢI>$RF!I( %vk;O$̀[ q3.9D80efռni$4p)ܐihJL&ni lyғ+i)5 ;-h4nm޵],[ƩJÈ-:A-nESwq`N[#yv>ipP٨)gkqāz\$&8z2ۦ+;}Q<.4գ[ -l@jܮX[?ѐ, R%ej΀YAޢ ˍrP.N=uh>'F:Ch=^! ޢ$#xڻ_skzMfgStVb'mOϽiw n -{dW{~ofwIX$;Iʓgᩨ; -j|ݶ+\/k 5;ӌe״{uJv{us7 ssSɓ/1$b:lzW'x:Y/8Fc%p}VeHEWw_.z"H$LkSRirh?Ӵ\shulg:'u@hޯ~$PYyFlCŪOm|@ڭ잛TK}~bs(4 ^ N L/8yy\s>slg}6'u١>ޯnmwؿݷ{Od|+GαoC1Șj4/"9eLW7sEa{2QB c6^˄bqQ.EFiE@~}k=.tn#Bfv!LhPy3kb׆kmL+\(SYl{x9EB3/ؕjutŭR8x ++ BLs6'v".O܇Iiv>|p΅۬>܎NH*0tjjHc#h-nQא76|h|lZ[q;wȣ3aԐb2cmݩ={|TӵnZ$3ȇV.@R0H4A),.JiK@}(@oN:B\҇a>>+lc!mwT:miڎD>9k_WYOUN49s? +"S~&lޭ|DFh憸ׁF}TݷWl>i~d35^m}!mW2s//@^^|{ũ.qkJC|z|?ǫS*oQ"c^tow# zÞ}c:lb\U8Ŋ-g"n?v:(YzYDtfp$~'~DI6E5dFߠITendstream endobj -1017 0 obj << +1022 0 obj << /Type /Page -/Contents 1018 0 R -/Resources 1016 0 R +/Contents 1023 0 R +/Resources 1021 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 987 0 R +/Parent 984 0 R >> endobj -999 0 obj << +1004 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/utils.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 1020 0 R +/PTEX.InfoDict 1025 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 408.00000000 192.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 1021 0 R ->>/Font << /R8 1022 0 R >> +/R7 1026 0 R +>>/Font << /R8 1027 0 R >> >> -/Length 1023 0 R +/Length 1028 0 R /Filter /FlateDecode >> stream @@ -8268,366 +8318,365 @@ x txAU<0yi]j{?GXS4e\~v85fLjtMU+2|Ia&gY,;#a)o~7M]LeSǡ&)&$LiMm(@D>Pr A@Sw2K<O%=-k#ޗ`hkQc=}Qǂnby$Va 5 %fG k;&7ԇ0WH`G=t8Ȥ~abمp1T\46 l"[hd\Am|30VL`t47GCdEQW2ϏEɌHZ6wyű=ؘbl!SW%MAըY<|/-™=MGSI%d@NXeKV;SCm(peR%+P u2ԃ}Tnm25}Љk({(E40226F~ŸADҚepi`+ICL> endobj -1021 0 obj +1026 0 obj << /Type /ExtGState /OPM 1 >> endobj -1022 0 obj +1027 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -1023 0 obj +1028 0 obj 862 endobj -1019 0 obj << -/D [1017 0 R /XYZ 74.4095 793.4011 null] +1024 0 obj << +/D [1022 0 R /XYZ 74.4095 793.4011 null] >> endobj 398 0 obj << -/D [1017 0 R /XYZ 301.4797 615.025 null] +/D [1022 0 R /XYZ 301.4797 615.025 null] >> endobj -1016 0 obj << +1021 0 obj << /Font << /F63 264 0 R /F28 217 0 R /F35 237 0 R >> -/XObject << /Im43 999 0 R >> +/XObject << /Im43 1004 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1026 0 obj << -/Length 2067 +1031 0 obj << +/Length 2013 /Filter /FlateDecode >> stream -xڍYKo8Wh1G$EZ`i{gvuN ی_ŗ$Kb}U~pG( - `_܅~nbʛ统>qpo Apկ9S2_oH,V7, Ws. YL fKy\ ɏEE`Ĺ^ c:1b<2k!(֗am7"]$ Q^lؑ0&(fh]LD^U.~حqeA{9S'3&>dh5mcXQJ$\I-KD\䚆o{yVYU6C) %84|$A &EI¦6V"LGLĈRE<&:z^ 8IV(.̟jXE^g{MIYrn1XzZcnڵ )Fg]$(U%l3ٗ[@1ZAb6ZOv27q?(s?J~&4~#/klLj߇n -8#^_t~>^w6ni-MG!2@^k |i?ҬhK Mtي _T -N!)rJ Z5OFNd&"H2 -&1+Mh"SVYRQNvNS-=Ds2rso!mJ -}0Qk3݃Rn E9w{.3k?<|U[3 0Q&afh;L"cUh2o9m*S-J]ofOJ=a(OiշpX\{Cxz#.a_.2XmS%3l2} #{!S]W:􄭊TrX9YՁ/u3McS7pcK_kVmYԖ4=W?DK*kDy\Oh_ţQMQ_f7ohLFPFq v.i͹ܫ-|s>2 l}/Mf=:_w~UHȺQVvͨ}0`Zg.S`Ui Av**uV9+Ε#=Mzvh_]'0{2A(i1C`I'IxeEnolpUB׬>8 jPUWaBQǾ+U0FN6Ɩ -뾷sn!=b9D!s ۋ`+{zjl xVBoOwu҈;xի-une 8!ktӳmLPc -Ļp -nJ*wxhks~qܫ("}ȗ40g }j̡v Qo0G3D\F3R7fP'ei= ԛ Fv@{_`B![kN3IG!_kQ)C(ޠ:MS]~\u궴[)'[* sef]zKa2kΙ:@$ 'TY6^'??ĿLqq4n yendstream +xڍXK6ϯ!qvޙV%)a(PH(o7(R7Mt'q'XॡΝM}98ύ +_~ 'ai˛㋐Olu?fRjl=}(%1C%k٨Rv5cS~{eKkAĂ0Y%XJqOAQt~w<'Tؘ߇ ㇧:˝eSPzD- 猽0ڇ+Hu,dO[A !~eE \M0LKc-c.NCcL +<7ۯ|ϕ +-K jJxyPeSyի%p {sy~ ))߭,*,r$mlKC~IC+}j]l+䏕$A"696su@Pb*_?!r[G ܃'[m!R*`ׁMK˚ȏ 2W菈ŐLhjݵ&:<>v,RHb,}pmF1D^-,BO:P┟ t֨{2>khU6 +( !/ٮ~wۂ0h+;N*ٌnK9b֘^[U +Qҫy a.t" -U۵:xC {0G7EM_#'p!UZp1DFI[B Sb΄L.+uKi78'gILrgv̏CT.@cW@66_ mI^M<07|,!X}8KCZӘ ,kBZ'uF(s*,0dH]zuZL)&uلˢlj[U+XqC 6Vf}O*)XKTy0v2g# c)+8 -éIJdt:BGiVXyiϘ_$I/4 +lQTmHI#a1<#b7xI)ZX `đEOj)YZTrٗf0{ !3+P'UсUg]VB+Nܬ)\]uP^tXj=-,jsu=gZ{LX0aֈFħ'?Z4۶v~{f.d?2x-GRK[/i=A>zԜloW~xM `~~5wd뵇!|>` S&FRKnb7ݰ䆩+nk} +GsOL!jD:ʬ~%JBax" -AtNǿ&^0h0C850OXFazc>kL,Jofm6Y)g\h) F'i kx^H(loSAv?=ͭg8G.M=jPkY`-kec+dPxP/Bv bcQZL#uߏf"~!Ai+X? 4cUevrOe}? ➶r-W=$?`$<o3x0FÑhgʯD,jendstream endobj -1025 0 obj << +1030 0 obj << /Type /Page -/Contents 1026 0 R -/Resources 1024 0 R +/Contents 1031 0 R +/Resources 1029 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 987 0 R -/Annots [ 1028 0 R ] +/Parent 1034 0 R +/Annots [ 1033 0 R ] >> endobj -1015 0 obj << +1020 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/exceptions.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 1029 0 R +/PTEX.InfoDict 1035 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 272.00000000 176.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 1030 0 R ->>/Font << /R8 1031 0 R >> +/R7 1036 0 R +>>/Font << /R8 1037 0 R >> >> -/Length 1032 0 R +/Length 1038 0 R /Filter /FlateDecode >> stream xS]o0}RL%3RF@B 8M\LC?No9)qʰcyH[.<1|!v#tIEaQӬmu0c!sW}`^:igѯ`Ǿ6DW!0t+rv<ׄ!ό3/endstream endobj -1029 0 obj +1035 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810034142Z00'00') -/ModDate (D:20080810034142Z00'00') +/CreationDate (D:20080810204214Z00'00') +/ModDate (D:20080810204214Z00'00') >> endobj -1030 0 obj +1036 0 obj << /Type /ExtGState /OPM 1 >> endobj -1031 0 obj +1037 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -1032 0 obj +1038 0 obj 446 endobj -1028 0 obj << +1033 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] -/Rect [445.869 536.1981 472.3305 544.7628] +/Rect [445.869 410.5453 472.3305 419.1101] /Subtype /Link /A << /S /GoTo /D (cite.OOS) >> >> endobj -1027 0 obj << -/D [1025 0 R /XYZ 74.4095 793.4011 null] +1032 0 obj << +/D [1030 0 R /XYZ 74.4095 793.4011 null] >> endobj 399 0 obj << -/D [1025 0 R /XYZ 288.1558 624.2056 null] +/D [1030 0 R /XYZ 288.1558 624.2056 null] >> endobj 186 0 obj << -/D [1025 0 R /XYZ 74.4095 587.3351 null] +/D [1030 0 R /XYZ 74.4095 484.048 null] >> endobj -1024 0 obj << +1029 0 obj << /Font << /F63 264 0 R /F28 217 0 R /F26 214 0 R /F35 237 0 R >> -/XObject << /Im44 1015 0 R >> +/XObject << /Im44 1020 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1036 0 obj << -/Length 2681 +1042 0 obj << +/Length 2549 /Filter /FlateDecode >> stream -xڍY[o۸~ۑH]$uMͩvѓ ی͍,lZ3!eYV@Ms3Ùo.tIKI -Xd}M@>}Zf}~e$& K(=LOz{Ş.Gz3S6\ne(YM]?tb=݇7w{,"sAĂ0',"s\)LYǼ'0xgI IdžWxhd3z0;jNH h"X|ro=ֲ᷒0;Z-V>L9+Y;ɏq#+RzޞBxx{Xۨ}& oٔկE#ײ79rG2σp =&/Հ܀K*a#1D' ]jqU ,uYyh&.I-2nk!\% al\ ж]#bwS*@$©KbKe=D U[悴K>@YN}Ǭj(n K^dS[1rO"6p4FCѳT( ;"*ZkrvyͪT BXFNr+ i 6'$e[-]?4OhhVeVaG(; -H]dE㮝 -b-^[ {[Og4h -tUP"> g9ZDT>p16ܺ~c"WD|0}$?-ެud lKODxF>֨Gܱ"Tazl @BqTAPIC --\g͞ѷ3=*o\*eEq2ɮ΢39X6{Mk$RȏhAiexjjw;tgh -n[`13/ PʌGR1)a@3Qo2MO"eGVOri t(>qreb-O #w27 -lJRhwpaR7s87 -zV11%4v3Zq4VDee)eKt9/]tABtjkm= oYՇ"S/*3vܕ9?뚄K鷻9xKpmo07ج#AVHҰmU6RJ\.JEj =A~RVdB4,)ljZ'>U$}k1F. Oa8!Gr\~ٺú!ϡ>$7ԽGZ2i%R%֍i 0q}J ;}1?'߾ 'zbz=N:I/ρX=4waeu28bq:g0w#_ܔ{yRUR#Ԉ.$lk^h+`#ќ_L$CP;"F<3;T|1W8SܣF<~Wր -AtEm2i:ʕ)xh z\j3mX AL h!/=@˪k'8tރfp*$rX7ٔPhyIA]W3` =2'U~bj, X<*bh\+oEq`5e+tv:w4v @ž{68yQӾ@A{×h šrV.]bGt4~zTr{hX*T4~pA -6u}Yd1oӽa -?)_gG>jʮ=3M {3t&N=Yf&Bx)YIC?z< G㗅|5GwKGX/i Y.}t;!~ qH ;k-t™\ozj/p DN>@|ZM~AB%SyVBgݫ;c(6=c~?doP.EF7o@ͳr!\ӟܸ8䡶*sSZ`Ӹ6FY~y1/1 D{z}y~u#݋0&&Ah,Nl{ygNM}'{~X D!<~kp)0`Kʂ{j?LklF'>Ѿ֮ --HYԿ4:qj de`QJգ! KB4xlD"/ -_ e{5d=y/lv33!@J̙S{a -$6J#~g8, !ʚQB ʹ'l~|endstream +xڕY[sۺ~ϯ[ʹqj;=r3@Icdw(L>{L|LR ?'i?Y7`k_hyyjFfagzةVS7L3'nΥ4~+VV b}xuuˏC˒$ +x"N҉E^F=r84 #E$( 4 A!e󈛒R;p͹T4`%U>|b]GBTk^7~Kj8|]}k9}ԽOK}ƧR?Y \0,^]۱ne$7ⶑK eG:./ƒKEE3a/Y"'R-r uh5DWqR+b!4Z)Ba[i2$`k)+): ` | +s-leA &Ι^49{K}C&m~VùۛtZφ\{dB6%`Q"{?- y#)9V <}VUk>/,/h/,xAEa1b-Eӟ7gL 5\=K"Svj1@83UU<Ӭռ ec +:? jVVƩ{YZV9bbA.ވ#J(laiVa>Z#6"E 4qr @:8,ާ;>lF`<i"y(d@ ꙉ#r˹GEKKM4ǹvgePP腽 P^ja GBlrM){ѵqbXnЙS|@%(78eOz=+bLmщ@?Y45e0_ a %# i#mBڕd֋M$D} +*3E$Pkҫh3c0d(IY5*6[9v"SȈ +{$ +Xg֔c0?_P&fܬqMW̮~P,cbsFSq(NB<Oι!|Dsn>kP@hqu:N ;޳ƫ-Sez3 ]jOB`B!WhmSF^GZKM F3o&E1KKpk#BH~ \NӔ#Ž-)`9Xq{3rh lABy_A~KɈ#eZK&{!xp~ReYZ5Ҩ6jfi0Lݧ1_^a$W"1.ۛU"ܿWwP +ϐUmBo|KmԢ(i7ʸ;C wO1jQcqrP<8 ԜlL;ɠTp ~=Z7ү -$[>8R@h $*UkRu*iCp: +8>J5*jͧ2N3;wL@Rkeܫj5.0mSs+M*Ë^^,`%(%u(^9G[#1}Sos̆Rӄ :!|AoUP _>a +yz4V5v>s.wKKv;Kp\\A'rG}8p-Һ{"<_$q>}6K0Y??2hendstream endobj -1035 0 obj << +1041 0 obj << /Type /Page -/Contents 1036 0 R -/Resources 1034 0 R +/Contents 1042 0 R +/Resources 1040 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 1043 0 R -/Annots [ 1038 0 R 1040 0 R 1041 0 R 1042 0 R ] ->> endobj -1038 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 1] -/Rect [125.1648 422.8364 277.7924 434.3615] -/Subtype/Link/A<> ->> endobj -1040 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 1] -/Rect [186.6652 174.6847 353.6389 186.2099] -/Subtype/Link/A<> ->> endobj -1041 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 1] -/Rect [148.5137 155.0962 329.8337 166.729] -/Subtype/Link/A<> ->> endobj -1042 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 1] -/Rect [139.5474 135.723 299.3481 147.2481] -/Subtype/Link/A<> +/Parent 1034 0 R >> endobj -1037 0 obj << -/D [1035 0 R /XYZ 74.4095 793.4011 null] +1043 0 obj << +/D [1041 0 R /XYZ 74.4095 793.4011 null] >> endobj 190 0 obj << -/D [1035 0 R /XYZ 74.4095 723.7639 null] ->> endobj -1039 0 obj << -/D [1035 0 R /XYZ 74.4095 202.6064 null] +/D [1041 0 R /XYZ 74.4095 579.5461 null] >> endobj -1034 0 obj << -/Font << /F63 264 0 R /F35 237 0 R /F28 217 0 R /F26 214 0 R /F88 859 0 R >> +1040 0 obj << +/Font << /F63 264 0 R /F35 237 0 R /F28 217 0 R /F26 214 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1046 0 obj << -/Length 1435 +/Length 2029 /Filter /FlateDecode >> stream -xڕMo7{do \I H7JV;*5- [=yD̊XQJ"UEiXq߾wszeI<޽^kQbݼBn8/M /HDQ:j޵e֫]SoFb7?ݝh͇RtYL G_$eIYtIBwd1R.JlҖ.]~@ -U -(8/,K˗ U#|՛VOcNGuRP)4~M #~ޱvӶzF!j Fr(H9}X/F@7_6NHB5Cit%DFҦZVj3CYQF*Ǫ˲%Xa+_][-jܻ-æ%HV##in$Gu. tx) 4Ame),G'^&xށ܏1Wa})̍&o|8Gk\n"vw/)fY -b-zqk2)"&Dz˲%XbK_vY.f[ǂǷ4XŐ< M⭉ ;JIIO+7H1`>,˗@U#(}O٘5w7sx\Z»'G6|w]S|;gVնzmkFe 9 ]{ʆJ}X/FI|& 乣ᖄ!,u zwZLJR^GC%KĪqyw1:\pxJld.pr<\4bO7*$!ˆw67r|qpepg`=K:q\ї+ WJ{lu8GϽ-ZH#-'pV袏r`y//Vy6dendstream +xڍKs8:JAx[$oؼ-K3}?Mzgss~/؛mz7eӥj>hSLJOͫ/XټX̤Ұ$ +iڞCzCzO39T7PoF]>|x:KuX/4/YьN۵ə1O6c^C#TτgrW*F՜qeu!Q k%RkRq[V$o\A2aH0\ǗlQTʷ.٘B[ +"( UҫgbFBP#_pz3# &UYg?/jgG:a_dYW-9tD!)=mĬϺXJ1$;7Z/?V+Ei-Job"ɩ +g N +Q`"GGɈYthg%j ukml\#Aah_qlKAѵ8 X˼&(a**UCDX"I YgEf s 9*EH`vDc|=.6׹ e[ԨN$ gR4lD"PblԼ /C(B#"Bkrɹr ddX䔹mr#יEYܨ#uf=/ZyBà0n9wWnUʪH_%q`H3>qXٙEAZ ݨ# >C:ŽqaIkRrkk^\.%CD$$HI5y-\BqaՙEYYܨ#^Ksj sps\n4Fʒ@I8KTI@2 H'DvfQA7A;/\j ݞ67>8;#&rkܢ5}MQu=ͩX}?1J]^j \0_TCU@/1%8f1q^,QN!meSr2F&jl"ݩ:wf6\A" B[H5Sof1UQc+qox/MfjJŁ0n+ˁ8v5w&%t PL~B"t͢,rnvv?k^L (2M_=Ɨ7}CB_UgW+W[g]Zu)*k$g(iLKRL°ƀvfQP7P;\to֐C>T _\4ꈑ$% +?2JJ,J F!hG}A]˥##c|UnC:w¼8l,L`ڻ`r 1%lj7t&77n[-8_(<<:n"jLv/͝u + +jE^6}Eϗ-MXGlU$7غQGQ[ ]H1$%:gd^Mm $}n n7йQGQ3a #3_?:et-7e]> endobj -1048 0 obj << +1049 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [186.6652 648.4642 353.6389 659.9894] +/Subtype/Link/A<> +>> endobj +1050 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [148.5137 628.8757 329.8337 640.5085] +/Subtype/Link/A<> +>> endobj +1051 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [139.5474 609.5025 299.3481 621.0276] +/Subtype/Link/A<> +>> endobj +1052 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [147.115 756.9399 306.9157 768.4187] +/Rect [147.115 590.068 306.9157 601.5468] /Subtype/Link/A<> >> endobj -1049 0 obj << +1053 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [154.8081 737.459 386.3397 748.9379] +/Rect [154.8081 570.5871 386.3397 582.0659] /Subtype/Link/A<> >> endobj -1050 0 obj << +1054 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [133.0648 717.9782 264.173 729.457] +/Rect [133.0648 551.1062 264.173 562.585] /Subtype/Link/A<> >> endobj -1051 0 obj << +1055 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [163.7833 698.3433 352.2764 709.9761] +/Rect [163.7833 531.4714 352.2764 543.1042] /Subtype/Link/A<> >> endobj -1052 0 obj << +1056 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [143.4568 679.0164 374.9885 690.4952] +/Rect [143.4568 512.1445 374.9885 523.6233] /Subtype/Link/A<> >> endobj -1053 0 obj << +1057 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [167.8988 659.5356 327.6995 671.0144] +/Rect [167.8988 492.6636 327.6995 504.1424] /Subtype/Link/A<> >> endobj -1054 0 obj << +1058 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [139.9598 640.0547 471.9148 651.5335] +/Rect [171.3148 473.0287 352.6348 484.6615] +/Subtype/Link/A<> +>> endobj +1059 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [139.9598 453.7019 471.9148 465.1807] /Subtype/Link/A<> >> endobj -1055 0 obj << +1060 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [147.4467 620.5738 285.7281 632.0526] +/Rect [147.4467 434.221 285.7281 445.6998] /Subtype/Link/A<> >> endobj -1056 0 obj << +1061 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [151.5083 601.0929 289.7897 612.5718] +/Rect [151.5083 414.7401 289.7897 426.2189] /Subtype/Link/A<> >> endobj -1057 0 obj << +1062 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [146.2633 581.6121 499.7376 593.0909] +/Rect [146.2633 395.2592 499.7376 406.7381] /Subtype/Link/A<> >> endobj -1058 0 obj << +1063 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [147.2495 562.1312 321.3964 573.61] +/Rect [147.2495 375.7784 321.3964 387.2572] /Subtype/Link/A<> >> endobj -1059 0 obj << +1064 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [134.069 542.604 344.0813 554.1291] +/Rect [134.069 356.2512 344.0813 367.7763] /Subtype/Link/A<> >> endobj -1060 0 obj << +1065 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [134.069 523.1231 344.0813 534.6483] +/Rect [134.069 336.7703 344.0813 348.2954] /Subtype/Link/A<> >> endobj -1061 0 obj << +1066 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [133.0649 503.6886 328.731 515.1674] +/Rect [133.0649 317.3358 328.731 328.8146] /Subtype/Link/A<> >> endobj -1062 0 obj << +1067 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] -/Rect [122.108 484.1614 354.1378 495.6865] +/Rect [122.108 297.8085 354.1378 309.3337] /Subtype/Link/A<> >> endobj 1047 0 obj << /D [1045 0 R /XYZ 74.4095 793.4011 null] >> endobj +1048 0 obj << +/D [1045 0 R /XYZ 74.4095 676.386 null] +>> endobj 1044 0 obj << -/Font << /F63 264 0 R /F35 237 0 R /F28 217 0 R /F88 859 0 R >> +/Font << /F63 264 0 R /F28 217 0 R /F26 214 0 R /F35 237 0 R /F88 782 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1065 0 obj << -/Length 2041 +1070 0 obj << +/Length 2068 /Filter /FlateDecode >> stream -xڅXKo8 W:mI6E tOFewK=3qRHi(C/̄e$q1*=OFs\kI:l8: VYG)`\u9[ΖOes~b;VIxctxѽI>oLn*eXm])Yiaj Irl8\1^Tgqjqlfs.n g&SQL#@;Wb;& 6vK9apf jtmp AZKCj N"$EomO)qAd kإjq$A$[6$o\F9$rA+IululrBtz~<|yS~!D,^PB `gIOEge NO-2?SS~YJ5ȣJe}r80-R3Ֆ4@V}ƁoP7}s40hכUP鴻\(JEʻJ̶!@0~ɇz ijzTLyDlZ;kZ5ݶٷLęo%wkܳ)@m -!ٷXB4Dx>Ⱥ&|nZM? ;A!w 5(b]83gqTPTqbMNSgRg<g*] fY~̲<"f̟,`8N8I31l餔;h+/>ޝ}r?={ت^֋e汷 h]&AjE.?Ly֋П?hĨϽlxC)2t5[yyƇv&Iy[#b|7tIв.ѲNu Jq\jѷ,fz+9 {b^.{o^6 W{(WzV{_EI5Խ[d#vӵ}kmy/x8[\TgpP) 1aȆHX9>ɢ a]nTD67bPPLQ fMC'_|5tyNZ6j4ůAZn}c¨KxS' Njb+S&L<)e.EY4!E鉷q֑" {%QnsH^ߏ$?Łдp4DF1J2R{$vo"bɴy].\ +gI NzidZHئ=E2 +"ȩ^Z=kS!>$vvLTNy>J}N<% 7D G8$XXR{ۑaVW(ɦ#}̖"`\*6B[LqBuQi}sD#TZ7b3t:'/#T[4-^/M cUr˩Tm_(ᦥdZ?ِYsBSvT+qA#+ $.ƣ,'<v2nn3Q,f[&G#;/\U \glmR o\RS-T BТP.UIEa8\Ir5g\w*i50d (3QhjQ@&˂c8fwTc!V" 4w[݋76n"nN07]]2L.XB ?۲FH'r暸&\Fj=qƙth6`򀸱OyGvU/4}"hC()|TfSCT`{E'wD֭+IU.1au +b!NRM39[a8h,I*Gx(lʴxѝг nPuXڸ7'!(7> endobj -1066 0 obj << -/D [1064 0 R /XYZ 74.4095 793.4011 null] +1071 0 obj << +/D [1069 0 R /XYZ 74.4095 793.4011 null] >> endobj 194 0 obj << -/D [1064 0 R /XYZ 74.4095 771.7323 null] +/D [1069 0 R /XYZ 74.4095 771.7323 null] >> endobj -1063 0 obj << +1068 0 obj << /Font << /F26 214 0 R /F28 217 0 R /F35 237 0 R /F63 264 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1069 0 obj << -/Length 1329 +1074 0 obj << +/Length 1471 /Filter /FlateDecode >> stream -xڍWo6 ~_G}ڭ6=8bˁ-C8i -H⧏9!DNIXN^ DjBg_?]\}b,KaYĬNj/o<兛{š;Kn#Vgn1MYY~IIArn}& Q$BWX™x~F˼F=Jո&KߩnLJ[ ) znN[yr9!TPqVFofu~]]zi77j eMŸ^쀎7.ԠxFP uTZ-]-zpm'e/( -3K`[wi7G%""H$wGSU#S$Jcga,^Ɩ[.W] $`!3,U(vs-hymBlݽgN~sh4.0[ Ղd3u-}rW^b+=j4F{LJAge"2>ݓtE5ujmj;(Bsccn`0RB`> ؍IP^c} Y[0EjI33>1;15; Qnp4@{#m I&)6 --%Q3!tfFJ't*3V=WH4Zj=''M픆0S_ -+ uv`4{+yNE hm5U0X,p֍>?*nrBj]MM8iJ'r ݟ|OcvMÑtya{RvAEcoz~&(y7Tʡ}HUi6s "9cmrcߙa52 >mmYdfZK`toeYfRk?'`Z6zc]AVmecZW0h>ٽ0p.s4]/g\o @]dδ}|NGZ7؆md9 ߫uTOp,7sqPmkz+җrC;0qD[~{nv톁e-ʎlI oDF-UW[7t:w/'|WR`E 'Nzq3.Ⓘ +(Ê/]-"k^*m8o7Pc_)bR9jȣ3 !7G@ 1?J&Vg.\=iek[xAV$搑-ƅov<[!ɫR֊6?\x3Qۧ(Mg0?sv!sf.>QH4* JzXan" dvQU8ς NWUۑzMW; YnZH+W&䱀j/'X}jo^"Ja~.'{,8]-tSb/x@v>QS PxmUY#@ǰmC7 lH;!%\""!L^mg>@BZhv g}4h' >k2m{V4赥^4jWpeXp {7z2_?|"|_cҸ!Ènƣ=`It c խM[3 +6vi78Ԥ.M]i=j}vIjYY%D0JJF4x;S0_'۞~ao_$zp{!a羅4aFwauFm8&To z!nmKKi`o + KG"y'vendstream endobj -1068 0 obj << +1073 0 obj << /Type /Page -/Contents 1069 0 R -/Resources 1067 0 R +/Contents 1074 0 R +/Resources 1072 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 1043 0 R +/Parent 1034 0 R >> endobj -1070 0 obj << -/D [1068 0 R /XYZ 74.4095 793.4011 null] +1075 0 obj << +/D [1073 0 R /XYZ 74.4095 793.4011 null] >> endobj -1067 0 obj << +1072 0 obj << /Font << /F63 264 0 R /F35 237 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1073 0 obj << +1078 0 obj << /Length 1135 /Filter /FlateDecode >> @@ -8638,110 +8687,110 @@ xڝ Q: B .C!-%ﮢUU16ðFLHmĴ"Su.bM2g*vE,Kuq08{g-FwxcU& XL+r0{hD4f\+"&gS\Nm>) ZTur)kyS6aMcUlw#BhHP+r@>Q&G>ʒ4YSP#U(piEfHho#OK6/IGRK6@Gq`G FcdiEf$4>d_ ̩Y)j$aUUhOI(E5CT cCƎs#b?O:L<~4"/n?D5(LH#nh$#?&8^ɂ8F])]̏y>>^aP 7vU>܎@+gZ+*y# xfe6=n~$EqVN K٤*-VeBn֎FqL+r0L)0[8[majd&i 4ebƐcUvQP8%~9=CL- P Q5hU>TL5妚2:bf> endobj -1074 0 obj << -/D [1072 0 R /XYZ 74.4095 793.4011 null] +1079 0 obj << +/D [1077 0 R /XYZ 74.4095 793.4011 null] >> endobj 198 0 obj << -/D [1072 0 R /XYZ 74.4095 771.7323 null] ->> endobj -1075 0 obj << -/D [1072 0 R /XYZ 74.4095 573.2241 null] ->> endobj -1076 0 obj << -/D [1072 0 R /XYZ 74.4095 548.0739 null] ->> endobj -1077 0 obj << -/D [1072 0 R /XYZ 74.4095 522.9238 null] ->> endobj -1078 0 obj << -/D [1072 0 R /XYZ 74.4095 497.7737 null] ->> endobj -1079 0 obj << -/D [1072 0 R /XYZ 74.4095 472.6235 null] +/D [1077 0 R /XYZ 74.4095 771.7323 null] >> endobj 1080 0 obj << -/D [1072 0 R /XYZ 74.4095 447.4734 null] +/D [1077 0 R /XYZ 74.4095 573.2241 null] >> endobj 1081 0 obj << -/D [1072 0 R /XYZ 74.4095 422.3232 null] +/D [1077 0 R /XYZ 74.4095 548.0739 null] >> endobj 1082 0 obj << -/D [1072 0 R /XYZ 74.4095 397.1731 null] +/D [1077 0 R /XYZ 74.4095 522.9238 null] >> endobj 1083 0 obj << -/D [1072 0 R /XYZ 74.4095 372.0229 null] +/D [1077 0 R /XYZ 74.4095 497.7737 null] >> endobj 1084 0 obj << -/D [1072 0 R /XYZ 74.4095 346.8728 null] +/D [1077 0 R /XYZ 74.4095 472.6235 null] >> endobj 1085 0 obj << -/D [1072 0 R /XYZ 74.4095 321.7226 null] +/D [1077 0 R /XYZ 74.4095 447.4734 null] >> endobj 1086 0 obj << -/D [1072 0 R /XYZ 74.4095 296.5725 null] +/D [1077 0 R /XYZ 74.4095 422.3232 null] >> endobj 1087 0 obj << -/D [1072 0 R /XYZ 74.4095 271.4223 null] +/D [1077 0 R /XYZ 74.4095 397.1731 null] >> endobj 1088 0 obj << -/D [1072 0 R /XYZ 74.4095 246.2722 null] +/D [1077 0 R /XYZ 74.4095 372.0229 null] >> endobj 1089 0 obj << -/D [1072 0 R /XYZ 74.4095 221.122 null] +/D [1077 0 R /XYZ 74.4095 346.8728 null] >> endobj -1071 0 obj << +1090 0 obj << +/D [1077 0 R /XYZ 74.4095 321.7226 null] +>> endobj +1091 0 obj << +/D [1077 0 R /XYZ 74.4095 296.5725 null] +>> endobj +1092 0 obj << +/D [1077 0 R /XYZ 74.4095 271.4223 null] +>> endobj +1093 0 obj << +/D [1077 0 R /XYZ 74.4095 246.2722 null] +>> endobj +1094 0 obj << +/D [1077 0 R /XYZ 74.4095 221.122 null] +>> endobj +1076 0 obj << /Font << /F26 214 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1092 0 obj << +1097 0 obj << /Length 639 /Filter /FlateDecode >> stream xڝUˎ0Y:Ѯ@>逩 jqH3 bs hL[Jz@> hBa!əhц HfRgQGBS2F[d ƉƳ{4 KyA#??CB1F|)+u~gS|9 .Db-?W5H`LP*L&3*%GjQ\vD=VF FquӾ"oQW)XS^eZITNIئć n z`o&?SiP)AOwyu!ڇ B`p;7] A5@+ 7 QLaSTSGT3FY̌a- 9dFT ՒZ ]{ΙDQ5kȮ1:/CڳEsDƌs -=g+BxiKam}`:נ5;qQJl>8t`ܬ\k[h.o*iisՍ~:{oUe*KnmDB\Lb]/VY#*f)dD0Wendstream +=g+BxiKam}`:נ5;qQJl>8t`ܬ\k[h.o*iisՍ~:{oUe*KnmDB\Lb]/VY#*f)dD0Wendstream endobj -1091 0 obj << +1096 0 obj << /Type /Page -/Contents 1092 0 R -/Resources 1090 0 R +/Contents 1097 0 R +/Resources 1095 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 1043 0 R +/Parent 1099 0 R >> endobj -1093 0 obj << -/D [1091 0 R /XYZ 74.4095 793.4011 null] +1098 0 obj << +/D [1096 0 R /XYZ 74.4095 793.4011 null] >> endobj 202 0 obj << -/D [1091 0 R /XYZ 74.4095 771.7323 null] +/D [1096 0 R /XYZ 74.4095 771.7323 null] >> endobj -1033 0 obj << -/D [1091 0 R /XYZ 74.4095 573.2241 null] +1039 0 obj << +/D [1096 0 R /XYZ 74.4095 573.2241 null] >> endobj 676 0 obj << -/D [1091 0 R /XYZ 74.4095 548.0739 null] +/D [1096 0 R /XYZ 74.4095 548.0739 null] >> endobj 448 0 obj << -/D [1091 0 R /XYZ 74.4095 522.9238 null] +/D [1096 0 R /XYZ 74.4095 522.9238 null] >> endobj -1090 0 obj << +1095 0 obj << /Font << /F26 214 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1094 0 obj << +1100 0 obj << /Type /Encoding /Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity/lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 128/Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal 144/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] >> endobj -858 0 obj << +781 0 obj << /Length1 1612 /Length2 16042 /Length3 532 @@ -8750,7 +8799,7 @@ endobj >> stream xڬct-vضm۶mNcvm۶tu_}?t'_0L3ru|Vz#fo`Ϭٛ~26qsvV_'נy-;Zgeb O296* v H0| olZ:s8>ŰI3*#+D"9 +5303`"^VJ5e *0.V?fvfUfs+[3RB^ afold Pt32ZٻQ^LM)ͅK`pq43fibhlg`p6wvsrtv}):8[9*?]HSJjdep5t';7տhX[Z77?:[F^֜;wn +{Eo9A 7 #S{[/9 wJ}"7H"OC<'|0Y?w+?5MGB߂03h"nifhjb 07ԿjfζVfߊ:&FZZzMH ."-%Iw꿢wUr&?Js0_0<>t'_0L3ru|Vz#fo`Ϭٛ~26qsvV_'נy-;Zgeb O296* v H0| olZ:s8>ŰI3*#+D"9 f/8׈^fgT?ڛTR/y`q~ $q/ D#}tD7YމR[tvNbpldx&7 <&)W@[' " PG?4NUѢ`ݾ]=<]7EYRf~:W(ek.kÍL o*nֆ4d& `䆲%ҧ֮!oadFޣ␌n$ʭAх[wEXwN}E c9sY<=,,ES&"[с)ᐦm Is%~\Ҥ2OGMت j- OmmK9b\)p$ :_g'(Aާn0 EfW ԘBv:4Yj҈jF#y0b;^atmtm^@D-`x;3`cݬpFįkHbfPA]OB΋N2R9%S$୾ۛ#I">"S{ ތ ԰#DAs. ٛ3~a%Y=M^E0B,R넰x'C>f{E1 m[y&3Y1L6>|M7ǜUZ)<7{<I[elwr҄+\_Ydr-]\|F'/޹uӞ60 ^!Z;Ŧ§)G|:7yLq[ϪX:ՀB5j0 9'5$?7( &%endstream +bŧTOu:LHafNj7QCΑ9]K,W:#00QR-3¥LF߾6,b>x'C>f{E1 m[y&3Y1L6>|M7ǜUZ)<7{<I[elwr҄+\_Ydr-]\|F'/޹uӞ60 ^!Z;Ŧ§)G|:7yLq[ϪX:ՀB5j0 9'5$?7( vendstream endobj -859 0 obj << +782 0 obj << /Type /Font /Subtype /Type1 -/Encoding 1094 0 R +/Encoding 1100 0 R /FirstChar 33 /LastChar 252 -/Widths 1095 0 R -/BaseFont /FZFXRP+NimbusMonL-Regu -/FontDescriptor 857 0 R +/Widths 1101 0 R +/BaseFont /FCJIAX+NimbusMonL-Regu +/FontDescriptor 780 0 R >> endobj -857 0 obj << +780 0 obj << /Ascent 625 /CapHeight 557 /Descent -147 -/FontName /FZFXRP+NimbusMonL-Regu +/FontName /FCJIAX+NimbusMonL-Regu /ItalicAngle 0 /StemV 41 /XHeight 426 /FontBBox [-12 -237 650 811] /Flags 4 /CharSet (/exclam/quotedbl/ampersand/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/five/colon/semicolon/less/equal/greater/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/R/S/T/V/Z/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/r/s/t/u/v/w/x/y/z/braceleft/braceright/asciitilde/udieresis) -/FontFile 858 0 R +/FontFile 781 0 R >> endobj -1095 0 obj +1101 0 obj [600 600 0 0 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 0 600 0 0 0 0 600 600 600 600 600 0 0 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 0 600 600 600 0 600 0 0 0 600 0 0 0 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 0 600 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 ] endobj 689 0 obj << @@ -8853,33 +8902,34 @@ endobj /Filter /FlateDecode >> stream -xT{Tgo46ZCy%ZWE$ -U&_afI) -KEP-(E[V.|VօVEmբKp--gsNrr>~^1r  -hwzH(*zR d%OД Skr^R ѳJ̓ zn?#Dž Uo#Cx5J dyp -ᐂ,Fm*I`)CbY@ -)aL@XA@@ϠjCQR@$(4{yũ |e R NL{ʗGƇ\b|AY=cI0:.}KF+A?RIfB0%t , -֌ pZa Ʋ^!i>ȐV@q7Ӄy0Z>ӸSi5y7ǵ,tPǞ˦ŀPqN}?6}S,YkMOVd6V lm9z#]8;8Xn$nz酮} '4ںpN~V>ۀg=.uI|/nծ ]%w ޿sżʫOg OЕoisd.wWh("j̒eXŔMo{&iv87Cuir:G]e>- wJ =w}n)i D99k" 2]pO壆ɹ[GX1s.5F&Y$0m=+BQ@E;?WzK^.;AgӪ:э^⏏DӲKVpYY[(&vOHj]5_dm r -fVϻDیmfM/T?Q_R 01ZÃU?#Dž `#R@x * l|MdLEăHA#\JJPBbY@ +@IS8aJBX!@%A2&` %8,F< JIpSHB B K#-!09%rYhM9B8i!śmYy8C=o +Np Plư9 GP < ՈrAئ ~T=06{sTy >(&"1 JmHJEdTtȚ$z>bi8T chE`Ց +(}%: k8:wÐJXo /GӋj͑Ȑơ޴E;TunT_2\ū5`䴡.c썚w4rno`C9gm^W%,O ^ $ֲ2va_e}/rIz1cQΩgmk_|9/57]hx0}7-s%1I%CHߖ9uwoK/ٱn_]]uX^}Z:l7 +;?Jv?IW:NL%R÷6\] ;3KcSFĻ[_:L<'q\GV6 3J>kQ巜0-}0\h{OߍɻjoFhLkl8_$Yhz{3vH·v?LݔĊYV{yjUFs#)Gۿo}ϑߔ|k=jI{ᗕŚs +emMiy#brv(q3scXW:4qŁmV/U-0:jWR`8Jhs*OT( +JZܶHvdtGnmv2(lTǝ?245GɉZiQ~m*ϕnje%}K߳=RYt=t)qۂ¾6cYNbҌ`K$a=GUi/):Y$~'] +min6z/YЮݪ;]9ܯ-mW%~Qg^]m+JVtUc+i@pc漾jtcP!Tnh@=4ufKч{;ێn\|1O;yჾ.;+W;)2E)5uM;I{v3l_@XWU,e_Q\Эˬt뿺ra~)>>j;E߿l\o{C' :w>/> endobj 688 0 obj << /Ascent 504 /CapHeight 687 /Descent -228 -/FontName /SOJEUE+StandardSymL +/FontName /STJUZN+StandardSymL /ItalicAngle 0 /StemV 0 /XHeight 400 @@ -8888,10 +8938,10 @@ endobj /CharSet (/summation) /FontFile 689 0 R >> endobj -1097 0 obj +1103 0 obj [713 ] endobj -1096 0 obj << +1102 0 obj << /Type /Encoding /Differences [ 0 /.notdef 229/summation 230/.notdef] >> endobj @@ -8906,7 +8956,7 @@ stream xtw4ֶ5z EDa03zD-jtD]D^BJ;[߬uϺNKCfRA<ܢ B! X+#-!{@QDaPyK$H`ȃ^^.#@!,:erBL/ ESuA C@9M-#e %>@ r50EX608A[Cps AN'@ܿ-Cm` r={2-NH}V-yſDY"FatEZ # ɜ?e PUZ­! t'uo HbÉ{m r^e +g@,wKkri),39s"$'5o{; ax]2[Pg/0 -tCn@DC󯳺%vpsrsd7(f{itP=7 t߷A@ܯ_`@`Tdyv߰IWz_\ +tCn@DC󯳺%vpsrsd7(f{itP=7 t߷A@ܯ_`@`Tdyv߰IWz_\ X_JHMegmӯ ́$QSgċLB웁\fS Ԗ1 6Wu o0G\s1;ZjQHw.Ι{zOtnPgE0b3E;gQIzE7h3Yd=a L:rI'zTTp6H,U.8RөkI;y|CfFAȞ(bLaDR8>9QO{[r?ͪOL.{{~y `p{d CL~7%_Z'}-9^-]uX?>_6mH~":Ns` @CIMe--`y/-Til3n 5ٳ?A|'F<}3$J,[ cWOVԏlsGvk |Ӳ %33o5VUћWNOC2D㗔,ϰs %nv?F;B3+ƭPh%t['r:>qjB'GAݠ_.ICA8}d&P(V p ɩG#F/Rc @ᬇ[?p+4nj'R~h6"p.ㄇ uGyypF0 5֯j(ӌe9ߩ])nhpr&Km8F=,w!3ɪˤ9ٿ xa@|pUev\2aqZlU1\ ST-)ˡwK8tncU6uO!N!J!%+Q*}+/kýxXwx8z՚{)Y8{?qeR%RyĞgAv^DG'?DǽYQ*?ÅE-_ʆ2{O[x@Tk?xk(93#\6ƻI\đ;_ŀe2rA9D?r'PT|y};yu׵A*oZ,mYC6)8[:==k(Wkoů;+9Ba[Թ>\tg32^|1m%Y{Ԉ)[95$gP`AAҭA!UmdM. +) kr}f N2]fK6$nH8tZw49s@!7/\V E]q78L߱*x 9BUN]"kxipK8.$T&Z#_1ؑ _p?@9Zp ˩endstream +j <h?M-oPUV#.5HFnb\ 8pshӕsOgf>w49s@!7/\V E]q78L߱*x 9BUN]"kxipK8.$T&Z#_1ؑ _p?@9Zp gendstream endobj 621 0 obj << /Type /Font /Subtype /Type1 -/Encoding 1094 0 R +/Encoding 1100 0 R /FirstChar 40 /LastChar 121 -/Widths 1098 0 R -/BaseFont /WTEGAK+NimbusSanL-BoldItal +/Widths 1104 0 R +/BaseFont /DSWQQK+NimbusSanL-BoldItal /FontDescriptor 619 0 R >> endobj 619 0 obj << /Ascent 722 /CapHeight 722 /Descent -217 -/FontName /WTEGAK+NimbusSanL-BoldItal +/FontName /DSWQQK+NimbusSanL-BoldItal /ItalicAngle -12 /StemV 145 /XHeight 532 @@ -8955,42 +9005,39 @@ endobj /CharSet (/parenleft/parenright/comma/hyphen/period/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/r/s/t/u/v/w/x/y) /FontFile 620 0 R >> endobj -1098 0 obj +1104 0 obj [333 333 0 0 278 333 278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 611 556 611 556 333 611 611 278 0 556 278 889 611 611 611 0 389 556 333 611 556 778 556 556 ] endobj 613 0 obj << /Length1 808 /Length2 1320 /Length3 532 -/Length 1905 +/Length 1904 /Filter /FlateDecode >> stream -xR{<դ-#-!d"fem5;3v[kQQBSb"-{vJ6$S* %v9y}~~DS@[7faĖJ:6ۛJ3B =p N`؃MR'Z'<0QDEK4 aB(`ChX "$0}C `1<J<+(%5y| 8yRчT,բL+PA|sLߐ58K*| 8<$Dq20H*qx0Φnߋc$38f+Q7 - -dgkg~J8q"P>gbXm@(DPDp -'xht{8GP:x*@P,LLB1 -P;N+E`i=d.&BB), Tm4cx۵4`KPoDaT23cj?|Dm< `.AَqS̯I/KT*׶/^vFLvokor࿽K9(o4ǧ?0qKh$u5-0**t;\xq~Jf؋ڕO&ZeSb?P?3{G/< =eFL)K6]isYȞ{W|;b%^'PĬTcl -tYnt\42M.u>:}}rV<-ޛǖs˖ KLU[.菻TU)1UhCTQm.1 rb|h7ݿ4iƛjk̀5M!P~WW7\{ qwafJӄ0V5i0B~B?!-ya\qbA.:Ka^u/1u1Xl-LY[eϣ/$''Vr?ͼM+},&cbEȸ[M-W8 1|҅q#y匪a F lPi*q#E~o#IxFGUO{KiC#v+l#8c[Y6R^5/pȧkkʹ&{)"Dp &_endstream +xRiXSWFVǃl@&H,Q-ɽ&l (E@j @ +DQE +9k9=y}D3[W>P-DuJ3B q"Žd2&#}#ݞ@8G"zd\E0 p i,RABXKB!!c`>@>“p$3ب`L>(`5+E1T @S7d}\S&~f:<$B20X&q0~L +ǁLq-jGؽ'"P0XڿY`n͟MB*Ɗa@bI8"!BU)'=YL>߈`% ~W4wG_`rQSޫMڦ[)R"p}c7vMkfB絕ylYe>bd\$Z[U뗬]{:H#&/-kyt!^s8vB1Ѻ,闺:{u븤_]so@杝w+ick86hh9!`-~SSaZ{HwYnMk % wk4xzX4hc}nK:-r UqATvysɉU#SNmn,c,Oz s8{WGp>ҶxU>o]U]K;œ[ɬ;nԵᒠ5VIW[_&nzD(Mq r>Ԍ/ѝB#o__4.3ihnmG>ķ)ce:z WBhq=9+& ]liznEd6wo,UV7(Ji15F[Ŏh%NZcn> endobj 612 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /FXVRZV+CMMI10 +/FontName /ZIKDTZ+CMMI10 /ItalicAngle -14.04 /StemV 72 /XHeight 431 @@ -8999,10 +9046,10 @@ endobj /CharSet (/period/comma/less/greater) /FontFile 613 0 R >> endobj -1100 0 obj +1106 0 obj [278 278 778 0 778 ] endobj -1099 0 obj << +1105 0 obj << /Type /Encoding /Differences [ 0 /.notdef 58/period/comma/less 61/.notdef 62/greater 63/.notdef] >> endobj @@ -9017,7 +9064,7 @@ stream xteT6 "!0tw RJ03P ݥtHw]C /Y{Ηsw֬7Cm=^y5H A H4֮]&TRWd -ӋⳲ*AVH0dI A6% $g(Bap=k/o?,wvrœA8P A[mLSPA@p+'PA` @(5<`@@@]6` 3;y7$\m~p)y8$ÐJՉB΍ߙP;O(wKlw0wV A߹A0dy )dgq!w0wؿ>{+O4?k# '[>|A@]n;0{+O4?k# '[>|A@]n;0?Mz`\omz3aWN+\~owM67 r>t7^ GU^3&Xti p%ȶ `U]AꆹnefꇴnB0ّN-`BNN뭅0^Wl':ܧ@G29 /  -:[R!endstream +:[ +Ѝendstream endobj 611 0 obj << /Type /Font /Subtype /Type1 -/Encoding 1094 0 R +/Encoding 1100 0 R /FirstChar 48 /LastChar 58 -/Widths 1101 0 R -/BaseFont /UIAZSV+NimbusRomNo9L-Regu +/Widths 1107 0 R +/BaseFont /HUJGPS+NimbusRomNo9L-Regu /FontDescriptor 609 0 R >> endobj 609 0 obj << /Ascent 678 /CapHeight 651 /Descent -216 -/FontName /UIAZSV+NimbusRomNo9L-Regu +/FontName /HUJGPS+NimbusRomNo9L-Regu /ItalicAngle 0 /StemV 85 /XHeight 450 @@ -9065,7 +9113,7 @@ endobj /CharSet (/zero/one/two/five/eight/colon) /FontFile 610 0 R >> endobj -1101 0 obj +1107 0 obj [500 500 500 0 0 500 0 0 500 0 278 ] endobj 607 0 obj << @@ -9076,27 +9124,28 @@ endobj /Filter /FlateDecode >> stream -xR{8Tf4KSYSHPeb 沰ƘƵƮ(Q䚌̎.EjWQ1%fk/:ϱ<ֳ}FX_sWL 0k;D2-p87;r!@immmPF;N@Q\}<p9TnhЩLC 7pe2x ƃ>Ȱ@s PȉGL& 67Ib& 0e#C/mj,LDzy\aa-ވ .zrLʊdn dB\zAeƃ 8b,5$`l8Ӆ/bq_U 5_58$^,g!X.QD@]T:s$(5*QJTQwSҢIp,s]^&Xw!ĀoieryVԴA==OiJ503UڠT㡆QWMEjH=bB::K2+.d>T6*kQA]_N|NZ:a7y=ω+W~y;O7'Ӧ=[fUeDhzN^Tlfuqܥ'|/jOvgnOa]F+L]_EyN)dM=T;tގ KU{(dj)ѡS -0ȵ7hz)~ۿ~mRަDܨ-i 6浧#kLu,D.,vյ ßBmXhcRp8ooYCo=߾~_3]RrRsvi[UHx?)PNaf h0z\u&Dn{vEhTcΨwIs -1;ӅF7D&md G~7!%ߨ2L3v0 _k)̕oϚ oorRxةzo<x+3Cݰ3i.:c3sk;][QcKh?IۛO:NJKA&L>@xʋYݲ{+OMzm^:a|sTW;t+ʝQ𭣠}b/iohC^ݙ7*lj#>Nn՟C95>{GO[:K;1X?8X5cѦPESʞRFl%i|XLi oUF3фcNgu$>ڑh$9g s2[hCgK#Od>NxMEj;Rct\}MToMCZUkfnԧy>6pi\")E|&#^MRmHq׹dxK͊q R9\8ʉAkendstream +xR{8Tfi*wM͚\B13.r˴Ÿ bL\c3 JlrhD.DJcGERR:mq(m5[{ay9笵|~>3x;`H9|sp!S8o9\x t>hDK2XX˃pyt~8h0lfB ?pb܎ƀ 18al-@P ,o Bp9&-`).;w7-tM8|XW9|WÃD ċGe,WfA0҆ypopſ8A~֌> O0 LJHendstream endobj 608 0 obj << /Type /Font /Subtype /Type1 -/Encoding 1102 0 R +/Encoding 1108 0 R /FirstChar 40 /LastChar 61 -/Widths 1103 0 R -/BaseFont /OXQTZX+CMR10 +/Widths 1109 0 R +/BaseFont /RCNGVM+CMR10 /FontDescriptor 606 0 R >> endobj 606 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /OXQTZX+CMR10 +/FontName /RCNGVM+CMR10 /ItalicAngle 0 /StemV 69 /XHeight 431 @@ -9105,80 +9154,72 @@ endobj /CharSet (/parenleft/parenright/plus/equal) /FontFile 607 0 R >> endobj -1103 0 obj +1109 0 obj [389 389 0 778 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 778 ] endobj -1102 0 obj << +1108 0 obj << /Type /Encoding /Differences [ 0 /.notdef 40/parenleft/parenright 42/.notdef 43/plus 44/.notdef 61/equal 62/.notdef] >> endobj 604 0 obj << /Length1 1647 -/Length2 7757 +/Length2 8047 /Length3 532 -/Length 8629 -/Filter /FlateDecode ->> -stream -xveTݶ.EUV8=@@Kp -+.Z -mq --vh>9gfdk=s>s50irغX].>n^1"ƥwWF!{LI".Py $0A6~~(@ w@Xu 888`<@WgqO?v 45^X_h^ }Z @ lAl;`. }%pW ir q\A0g0~ 0 qjq˟\a.= ]Zp"~džaݽ`4('w,k wcߓpʀa~OstU'Ttuxvc8bǍq /P;_<@?gں@!^[ >$2O-Foߩ! }5galֆOο+'-6j6; CmA0 -; s8A!{TidL?Z]r3?de]<>\|¢.~xE/akDS^n^^>?ZFjbt@}s7l+gWKyl̺؈8MGT=7Cu- p HX- mz¾9EaLc`}*±("H79Q[05\ֱ(Ƣk]2x1p%IyMF\BRϜsoxp{#5.@,J)2XRu7B_Qhӊ~6[Y[*aHDgV=F}OBYvlfк/ˍOqlyNݢȡRP&wK-\ggCFG~`Y9Z^;?#yRV[xDUiEI788*0xB*ջ}Z]:9꧑`!PyLhVU'(oK)iy+=R̹{ &!ԁ,w/1ZEQHWʒx)=suj~d"̷[CGp[`+a(_"PXeDx\IhB^]P$}_>P&}5yoMf'Jpuo=s?&^e3IW,:S21%⏔K qtb ^V\Q2NX6u;[P_z-&+W6>%^yCƚN9%8V˩{R?qG(;nx N/ %=naᓹ;B+V? <{춘oyDS{泯%h2(e[)~]x4lb99gFAo2jps=oڙp92l줴ˍTW -w6~h3d"!Mxm$ΟLxԪ{ZvX[{DC(r_+kyQy<7 ^ZF/:,_I$?l )Vڙ&(] Q@)vՍe͋֊KڴxGVp'f!D)id|eO(SUB_GT:DPؠ(JZos%FGNm]ڗc84-F%aFV$`~3*&72Dƭ}K.k{ţ%֍ r)p?5`EGPjK^Wq<HVķ Tz, us.*O񛻔v<8[0yx3/p6۔oQ䛏x]\YO" \!5 Җ:b"Omoht \>.FԲ{:-y%{j?!Uҭ|(^j턯bA x qaVNUxRʑ@i>G&UZ5̊A_Vo(A)t+yza -k|3,-a1#hJu~9؄-OE%1J4z<3@y)akʲOxW;ͫN&"= t)-X$h EUQ#^ՍK\lXwOщaB6d Y`@]%|6HxjT2mOkF/r.V4%@{2~ -O-ævK,IO5Whwf.hF$ƀm[߼;2/׼|9s É?13(F=ɲxɔ&q#86-l=O%辰sfQ:'y%k -;|s?Rj8jBRg^fX=!5uI><8 <ʑ5( -;f >Y>Gn1M|L,wXdFXD` ֻyV!ft])4ļ?Fjiލ=%05#$d3պ2#a -Lq854I@aG02R_|kr@ջJg;*OÒSXU4mgxC2NͷZwGTveg 9\9*VB;,;7VO)Ǭz\FcVirG.T9dK_Q32_&"\e^RV~Y/D\9X+}0T~`mh8-QjUohQN8i # `}6*/]e(7 evf;[sܠE:4:#mmtej遗S An@Yetn:'կ*OJqGU,rW.&EQo#%tr|4JWN'K}:.lF+tL6Aȩ[hQ4ll5=%tie$.znqH6%a[헝[E{+{ISSd;'uڸ(H+RG`Yb־@6y?fAs2lMi4%=Lr1GPvHM~,{ҧL|VSƢ|!'ؘ 6 6rմڛ^0Ika+-]]Ps]-8߿ G:lew=Tk99Ɯƞy2 ;a4#,&4q?B~{3SlWM? B48F=Ha6|j*[&zz7LA1(4S?y,rW~֓E"S`-`DB}?e.B1h_-[ҫ^f97iN$ {qqӹ6@[}Vϩdzt);g#3z?{P†hMk)ݸO\j+ЯS? ";4HTde-ф3쨲7m1T+$[}x[Z/>wL;S7=ZӃl[wZrjWLGړ}Sߊ*EG![6^|$SV@,hWN_\({C{Ռd`!1Ɯ_q5cVRtgiIvF7]W?bo+z5D -z'u U4(d% Xў`K䆹|Fv* -qebi]U6za XwLOLa exB=U{jwpo5-6 -ej-l#}T䊭^C 66X˲"fIdcOS,NX-coyCUhI)~y\˴|E+A!7#VA'l,I-ҹ$y$ )Z 1]a|Zwxc*Uj5GA욜1l˼q[H?G%ߏ>W|E+݅u)齟y - ?c='M@`;!G)[VJ-xDb豂> QN ,6n d \TT:!5 3;|Jby$KxNxG|3}\rߛs%PbuWM7:z~Y,H3bC{bFuNaM.pkNJ.@^o21ÇyT+AfnJ, -2Od1ovaK̋ -/g9O_g8ipʤVۑaˍ{[g i36P)smNAP='@-q H{L^w>6MF ]~" vma'F^<*S˫]5 -`LBvQjuK5Vl{^950Q9V6NxoŸ0ZL$-hԐb۞Ou;KGdYAR@HL~`şY4,nX=6yW >ip5Xc*קfVܯsbyQy* ~aY}zqgcJ̄2aN4TaII%t.$j,[&mEJ^l<:zKjUcdGU o72lJ& Nl_znRP6cW dӅ虭n٣Ud#l;=W2q_mC*JH6w6gj_3zc.ŶU<zQh01:șv':'UFtW݁ZoPF2iW*-ƠL -s#jזK:@+&FWZ9j]>~ץOG)EŠObK\+^aPnXѡB(A7/*`zeD>j<`є5I#1AI"H}x}bqX[@\B"АƮϲ)\!l7eͰgM!&koC \LC*޻d$kU{oB ([X2p6>+$a'W}V27h;$j(fo%cH#JrhƍjJ9X\2byFvha`r E@I0Σckr>r -eLAGKtӳ]E#6{ -KGsY]bܢ\!RH}ٔO\iζ2cOw_wo:r -"z+O=_ T Nz͸Ji)=ʡߑ: \B7/So-3I _)r?3Jc|Vjp}fϼJ`/ o JNF&ʌիq&CJG(-(.DtG^F}}ISЗ===<&O@r&aLڗ4& wpϖW.X ^u4XXQ_UTCL< Tԝ Oɒz8=5}x=m~JB-WjTFze5\(GZVȃ7ݝ޽^eF31eMe뚅DX|O;4)M;fM%l ~y$Dg1Iq(,"(} 6Bk MGT -QX'y J̣ҏz2ٰthYipFZ^*ؘ'o2tI~/vG} -L"tjtpMJOD`1&;Z͏P:N>IXc/m\I qPi;EۨzvE3|SD[¡6w@Hc_?+xBCo^t G}E ]+xh]s)rf(_DxXyR}.>Ks@Ϸ!dA8HfZUg$u_/n۶[)v Xf+s'eW}J@\uͶH wtw8w]WuoyX#$4ө}^(SB: -A6)7El+;FDRVx9ӛŕdU"]m - M7[ -bcDGMٖjZeu]҅u_I7?c\? -Q($D7KF.X -pʶ lLq2=FN%=$_K{ex\ųq 5L6kB%V:#KEGb \׋LF+̅pY* վ>ZUaCd-cЗMDܦ5"'W=LQSu+n̈́m LxsOlBkNlPƘwL6^!pjAIh(^:\0Cfab 4%>:qf)?Psj^d›*PNWq@AoX+78'-4uv%Ez5f -'(z ә,#0~ΚX_iwa^)Pv4 (|]VlLjs,ẕr0R"hL]DIWn=Plܭ}JhO]/oȗ(WV3-zĂD1a & ~igP>rb0O.y#ELo,pBJ1[ OQ?zK47Fy$IQ&=K܂<9"$FHFg1Gc\t*VëP^Qp}A4oZkܢ g -'y[²":Q^Beۗ~ByڏGKo~OnFh7zﻏJ[hXjZG?_סu{H~zyaRqxTUӇ.皜!]nM>s3 4ϝ1}oX)HNkjMhJqcB@~{à0hL/پ l{f%_ xIUuQUQA]̎$>!~ۃh=ΚbC&BH"ٺڎWdjM>uMV:NC;4\PE 0 -saT;irX{'":"}#a^) 1yU5Z'l 9d=endstream +/Length 8920 +/Filter /FlateDecode +>> +stream +xwePݲ. < |Afap44'Kp wާ{ϟs[wީwꪗFU]b\e:^"Ȯr1~,zz)ߘ ¢HAn05&3 +0hG[ ; @JEUONY$"T@E9dXB`s4GG. G) +4=]́ +ك G <89YNq'!( ha=B0xF<֦߱A0bhi1w]8;`rڙ=~$@pr2YiοMP;?ސ?VwYr`q<4?ƶ8k s@L{1 S  `TCg*sD7Ho"Nܿk_.>ZN3Ac +<"3~jjsn+;W գBme@@ U`ijxx@ |>:qq Ӵۂ[GTL?ƪ]tIG bo*II+[@#x%"L0+_wC,~lz ;`c@ssDxIz6n@h~fNo'!xE7 "܊;1 (|̱PO{Ώ wT,w`'BƘx+_ p=evy VDNͅDWx͐צw R ֋b(Ȃ@R{&a֪ +X8Pr샂`&I~AN,h?U >k!2D1Fjl>7 ;2E бSh|grg>+3~:~ikU2;*]k54I rmgm7@3Oe) A%7o7Ѧjt_+{B")Ih$D27\՝Ăf[쾁ԍW DˮIm}7L>I!@ymj;TsRc!ܤ Ji|[Fo5Qg_43=@OIϚy[ԕzTzoLQqnCZJn2R84=4(|R!Vo=/;*%Bx9v.nPOv/ѳ=:$N tTVזjY"uoS*f2()]aWb[\'g}$^Mg R9*ov?yGYluA?~s_|*dGP߁,vf,WdJ8,33 تCU7;KA{Tmc8[Jux> 8I$,:NXms-_gk P)q +2pr++D]ɡ&KA.7CS*Ėd5"̔~%}psn9T5 U?בRYʬQ\=Ja Ǚ+ ].jE*#Pu,*ņ0,]Mu\]Ԛ+5H/aMzijTsr ]5z9~Z]i\Z'!YԹuŧ_瀥(8JP <ؐQFf:RBg z6n;l*vQ?Jl$=Keʶݮ_3I:ͱ9h3Џ8z 1C|{6֫ɖ9[{y76W:%ltUAǩ 3Hk<xpq-g.SD`sQnHn)4Si+*>?9iBx.bb6z誟Yz^bq'ږn|IHD˪tVyڅ~ѱ'&wrwOzbpn:SVX@a#G#o̱(;'MYA;+ mE>)@<xD e[ +X4-udO`K=~@]IhB/S](@Ge3 +F 8%^xUrO1zQ~.Ļع[8 ̱,ꇌ CmOEw` MB_RM +ެ461 rP'o͋nj}=Z[ꮛ[;xV&((->/쀫[wN'*2(Q#*k9`,2l=  䣫+*=5 i{}x-:|ccҋ Zr d/&_iAX+Mq80@EtEp2zQH㣫 *ϥ]֙Orn*:r1 S+d)}A#oFԆ Kos'mwĬIi1^qe-`~~5EX*m=YyO=ԋlKE dpŷS'惱 c]łN]skyIG +gs$qR|AwCђS6ϼE- uu]Z/'P&F5h8.H5{ jbI[`sbyu>mtN^I}EH(>٧BjbI*<h#afl+taa< |R^ 6 Ic3McΫgm5nYd Mi[w'Z֙^V}~78J25*@wBu@QaaUŵ 9ِ6%qo,fy۝-d3SKFe>_@v\ قKT%E$#5eK+WiY%=3oF93Q@|3)R|ᅖYf8Jԍs(5NWPFjS eC΍/u Dn }{sV᫜] r$\ReՀlEm:I/ZPi1fcrQ1|^Z=9rHVȁR:WdHaJ[I@˕?fh[/rP|#k z,88 _[ \ijZqxLw䔻] )9,j{S\+Wd7y3'5_ Hrw4X(Mĵ?߃N`SG*t$IO@5Lg1λ刴]auۉR?/i;ml/'xij m=5׳xdcP\jYh̆k)ww{l?j;I3_Tri1} >UP\?κ֘0ɤ/jԛ4tP\g/@G5۝' CA6ΞhsՋ+bN3aj&(FU ;(-+ʦԾEn1Y5wtmEUgQ>V'UqA=96&]kp'x")H..QúISDbKh!&GN gI!tHÆOCnE6^v<ӱ +yيdhm6_tPzР:Lr˘jKѳգfMJh>S&>64<#)jxlD5T4XXRBJM (),^ 2k$#QpN(U%vL˵M6 Í]6#! 1||'R?*U'1S9 'oxz}ϝ' (qAZYgqWrg|j(8I ȝ&fŤ^t#H@x]fQ1>Y,OA՟U_+"ּY}vϿ⥫ʕc(|$!.@X~Z=M7i(GŹaJ;_'0sqxΊ@K}WuӓxYHc`sAS*Cg%^;vX\a0|;O)Uk2u+ux)&?B5:yZGO,^OPtg".@ʐ$h&VTˇ㚔!=a89&Oz`7֋Og-ref(ۆt?7C+Oi[ڴ4!b-=q!5e0 tyaSAVDEavf< +XUiʓwrn&\OZ-G`B#,zm'z)W1x&وIS^-{"/mIQ"}!iPK05OUl~npʡkӋѻ¡z_2"D̳?ЪFЭB5ZxnJ<3=͝oLQ/>nH+_|jB9O):$-sDaUQc;~'f]D{PuQ|e{ȽRQt]Baf|JY/qpI.V DEܿliW'zʿ ^6RҟG}6yT#ts q]T8" +SK-yJz\"Pӵ/o.Z,0aT0%$+WtS!,̑_h~:ikZĘݷȵp"J*P^F8cU>㡠TeZ8/nM\x:ק[Egޮӣ`PqCs07iQH^"Uk\iUv$x"oBCJK]x7jQ2]d +mjއ!S_"[}we)BıN7kK/v^3iVVE+UDKp?^k|/7'ɤr)fKnli\ڝ,v6R!D׎ohhMJ*l +tp$o +^&cmsi ד}ȺiIh6XC #vP6m8MQHǹfAjɽnvTFMau |?Ô\D]h&,.XkVd:;- ,9cx DocޠK/n [Z)4Eq8v=kkwTUd 4 46OK0MI4DFJEfﯳz+X`*ě+4wÙٌ"= T=(=3;: 퍧[O%> endobj 603 0 obj << /Ascent 668 /CapHeight 668 /Descent -193 -/FontName /OXZUPF+NimbusRomNo9L-ReguItal +/FontName /UXWZYU+NimbusRomNo9L-ReguItal /ItalicAngle -15.5 /StemV 78 /XHeight 441 /FontBBox [-169 -270 1010 924] /Flags 4 -/CharSet (/a/c/d/e/g/i/j/k/l/m/n/p/r/s/t/u/v/x) +/CharSet (/a/c/d/e/g/i/j/k/l/m/n/p/r/s/t/u/v/w/x) /FontFile 604 0 R >> endobj -1104 0 obj -[500 0 444 500 444 0 500 0 278 278 444 278 722 500 0 500 0 389 389 278 500 444 0 444 ] +1110 0 obj +[500 0 444 500 444 0 500 0 278 278 444 278 722 500 0 500 0 389 389 278 500 444 667 444 ] endobj 263 0 obj << /Length1 1199 @@ -9189,7 +9230,7 @@ endobj >> stream x{UXݲ&NCn=;'ܝ,8d}s컹g/z]hZ*U q P ra`e(8:kYԁV.7V]@I 2uyѴv(BvAv~An5;?A*P!67H -lh::-ԁ`W9Y`V ;zBl] Z:LLp<6V hv+,n񗯪_m]\-Mo6VgKVЅXi$/gdOځYݞ#(/_o&٬.vNvv~ 0f+#o/)#`ij =P>;.W; hv$b3-W2ux Y9{ev`ܕM6]I}Ue){JHhY8,>x[UMmVQʃ,?rBfh3'2`Mۃ?{W{a$7MT8)ccD:{wBݿ`Y,08x-Tm\̭1; +lh::-ԁ`W9Y`V ;zBl] Z:LLp<6V hv+,n񗯪_m]\-Mo6VgKVЅXi$/gdOځYݞ#(/_o&٬.vNvv~ 0f+#o/)#`ij =P>;.W; hv$b3-W2ux Y9{ev`ܕM6 }U) {JHhY8,>x[UMmVQʃ,?rBfh3'2`Mۃ?{W{a$7MT8)ccD:{wBݿ`Y,08x-Tm\̭1; T;uBx8 Ӵ1o s 66B o:}Ro[ڼzQͅl:IYynRrDC)ٕrOΖR1U#sbE Ɓ '9em,v0sOE{$9$VVDrG#K~p褂@JQYXrQ1\E hm@h*Ǟ-w]8&$y|BdQ\.H'{8+:,F y>r92O70D `Jǫs=8% @@ -9229,23 +9270,23 @@ p {{U"FRUU?g&>P@~,\Ѝo5tYwePq> ]KuJw "}'7uM\w*_KZqI'n'| -b8LH㉂!Sȏu9oB~Sds=<ߨT/ػ$2e[e;)j}m'!t|EWP ?A`n4L!v(!@g0? /Nendstream +b8LH㉂!Sȏu9oB~Sds=<ߨT/ػ$2e[e;)j}m'!t|EWP ?A`n4L!v(!@g0? /endstream endobj 264 0 obj << /Type /Font /Subtype /Type1 -/Encoding 1094 0 R +/Encoding 1100 0 R /FirstChar 2 /LastChar 228 -/Widths 1105 0 R -/BaseFont /XCZPND+NimbusSanL-ReguItal +/Widths 1111 0 R +/BaseFont /BZKPDB+NimbusSanL-ReguItal /FontDescriptor 262 0 R >> endobj 262 0 obj << /Ascent 712 /CapHeight 712 /Descent -213 -/FontName /XCZPND+NimbusSanL-ReguItal +/FontName /BZKPDB+NimbusSanL-ReguItal /ItalicAngle -12 /StemV 88 /XHeight 523 @@ -9254,7 +9295,7 @@ endobj /CharSet (/fi/fl/percent/parenleft/parenright/asterisk/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/bracketleft/bracketright/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/bar/quotedblleft/quotedblright/endash/adieresis) /FontFile 263 0 R >> endobj -1105 0 obj +1111 0 obj [500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 889 0 0 333 333 389 0 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 0 0 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 0 0 0 0 278 0 278 0 556 0 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500 0 260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 333 0 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 ] endobj 236 0 obj << @@ -9265,34 +9306,31 @@ endobj /Filter /FlateDecode >> stream -xRXuO{(BE -cnȁ *d*nd[@~NG -"(-pFIF&"HP@$QA-|?믞~} -/F) d`,r -40EG\ -`2"ސT$A3ӄ:f @iEH GX\@ PP(3fi4 bB"p=NqLa( 9E Iďa̠{2ⴞ"gV"F3pGJpVɿ!jh FhBr -ir(5,NcA;4A4*#xG8A  TF8 7(D& \dp fg~.ф D}3dX RA 49$€ 1pX( )-5I@EќB@%H~P1٣*ߐǛ~ -diE_)SxIX0bQsD@8 XEqr/P謴*6'|E8AMٯDْXBo^/h/Z͍c:C' WKw8g/NU .*9=]_Xro(v]^Jkkх]5#b OZpͭWܶ:9:s)da8W1^5w.kĨK:eǿ9mZi-}f~w"SOFĦS:ua#9Un'ZN Rs Ts' 59jgNk}o~ta#;'s-Z+>Z񻵲zԅ;YG-7br;nPz%UkyXm't>M]u%1+wV,${62~h[Q>^ۆhsV% Q{VA?.5kkBu]L[>]0a!4!mڗHa$paG]RgrD}Q|Wbolj{wz2E2GYlDhͼ:\a*~33AʋO}phme)8j{zY_6:k?7|鞟ZR4ugG_}s(~=ewrw&;|E.蜞 'Yc*qU->tp0%rɓ[%sX/'{(5v\Rb{5{ۣ巅sFo -/3/mЭ,jjEd]tGcW:^q7Q -ׄ -ΣHec -u-NHZ{ZoUҾInbA741$/y;4*(i`pq-OPQvq7W1|-շd̰,yIz#=cXI9{3+V`r?n9#=s{Y{9W8ZV29YEeQ)ڧ&*JjR&kdiijo-aE3pohjpf(-Bqcendstream +xRXuO{$D +cn (d@vw'ݺC$p?TE!h3L44APB& +j"vYtϽ>wPx0JQ$ `)+q!(rRK$0H,"1(&Ա 0c$2-N(B9ZhB 1 Lzqڈc @( +!U?1yʈzVΊXEjUaY%̓ Mh?И1(4SNC8FC! !P @> BDp,`XB4z|Il־A!eQA%!:@Ylz1M +HA0Kd_1C(xBӈ^@" M7bZTX+Z4Au {tB%Bvtaߙl=M??ʔ-^?V' X"jidOuy"؍ G9͗(tVښ'E8aM/ǣlɻ ,I!ڳ]XooOX؉>j ۴>EQ٩* +nT oH諻>|RtmF1usa.\s뵆)wl);NA] 2իRCzsQD Xc_ҧnwTz2Hl:s^Hi)Y>S:t0+u1I5W}bM qVCm>v\_c_r x?M~P6ׄ?s ג$XX߬գ.Uilz?2 o7q쥺֫ڗ^s[(0h7k%_Q~ +2钺>%ꋚ+{VgSyg)S$c}$ѮKtּc1R+Lo{&v[yo7--/NĎNw4sOX2ݡ0kF']vu&_,cKʹFٷ6wSv&wgjKXY*5ra2 wI2^R)> endobj 235 0 obj << /Ascent 750 /CapHeight 683 /Descent -194 -/FontName /OAWNWV+CMSY10 +/FontName /WXFMUI+CMSY10 /ItalicAngle -14.035 /StemV 85 /XHeight 431 @@ -9301,10 +9339,10 @@ endobj /CharSet (/minus/plusminus/bullet/arrowright/prime) /FontFile 236 0 R >> endobj -1107 0 obj +1113 0 obj [778 0 0 0 0 0 778 0 0 0 0 0 0 0 0 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 275 ] endobj -1106 0 obj << +1112 0 obj << /Type /Encoding /Differences [ 0 /minus 1/.notdef 6/plusminus 7/.notdef 15/bullet 16/.notdef 33/arrowright 34/.notdef 48/prime 49/.notdef] >> endobj @@ -9316,7 +9354,7 @@ endobj /Filter /FlateDecode >> stream -x{Ux]RK-fffbfffffbf`l1zܙ;si۪:'#+23NOMA l`pwa`ad(Xٙ:1-\jV. \ o 2Xyy9X(J@ $`jwQuut\A@g^*@deaVWѤW` tPYmBhi\%scq3+P[8219.L47u/Ĭ@@?Cy2n667HfLVN@iJBW`feaf@SKJy:67vtp:}́n@ }02u-ÿ<̌,&Yy Q1IY""(X 򇑇?t[Td#A i_u9σGc{ W[ۿBw9pRvV <.ƶVYhdbjwCe}@%gd ˿ajV6@g?g7hoo%M̬-.\i 2g/#ϻ؛[i"8X7t?53β q?v%aGgT$d/NSӅK ra ŀ$`lWErg[MfKmxPixʸ98&UƫEb"( i-}߳\T5gLY[Q Gh*Ga'fZHcYEzR3,I5ɋO_ )ϻ@ny+N>٩9'BYtɸ6C2I@(#/r<=?^Aw@s*0B8JꪋXDQv{SZrRo=;g57zgÏ"YPK@~Y/IyY6T$(np)/UDq_>M_\Q wZ&gZcX]\SR -ٻ\"g_'߆ .$&D _|grF\蛧z'8'ԐvY8r6ӻo6Dr*MhBՐˆ6'Լg4ImZh;AƣiFC:>cHX&d"%r2Jy k[hs$XǂAh(WHnrWܵۋ_^kWƻ3v_lT׬b9*LuS&Sfwx fϡ GtY!q >kLswϢWxnA9UB; r1=8 j2/7k!,"7"hwM ސ5T {|0hJAk@T^y)˫~\O;ƂG "5Jhǒ O[Q7\{xK7 M1j?K3Qk2L(G*6 {S+4CU %DS~*bݾv)\[7pjF3ZVNNeX3Ƨ|/>$zj:jq +8FXǼᅦ5E%'!CgfYKe/x[,GF}=DTodS'aS4\i @@ -9359,23 +9397,23 @@ D6 zrM7'c[L!?%M8gq3HhHJФe#/kv@갆4~IkG?rJeDP%P Q1RÔKe?ftR ϻ;oN/]tG;'C+~+|aYR ݺ.xWu2lI?J%8?/"+qQx }ʚe 9icA^@;Yw a2HPo+a P_M<ٞ0O8vr&D<;MECӖcT٨3Dg[wDoo/JBd>uHP PZ&8Y@dcQ  Xd'$Z*L qwb49R Nw=|AٞAfjX>:%w+KnszbM}Yr!b4cXDc9PfWؤ2ڟb_'J,Α7B⣍sqOi_/+gU.֔9/;rSL=wlf5DJJEwɖ=$0BH}? pR&S~BT։o:B&tO&X˸ OXF Mtn}y/$!Zrq8&' _xy׊1Kwoh(Kf*mf:QzNm̉)nreK25 jcsZmX_mVqvo{`Ç-\ N0.Z\4lFaU50{1|Iw1٬ w^kZslg'U8S>*rkA!ӤV]eAy'#>>۴g&UKYHԮB3ٚ~bC'M)}~5߰==_H{Sݶ)cQle~(׶M1&AB<PGRôO$3WO۔uj9&M[t/H>DZ87ԏ) .˭8ROzCoߛ@w9؈LDce(qʽiq_JY -vC{LA]eڊ |>y{ ${ZW:wMs_|zzjC&+\oy+&Nt 旳 o<*i5iR/]o0/ #ci Ld\Ҵߊ~m0=b>`=$d+"@҆}7mazU3?HĹ3i`'D|0|C,˳fOl2{0`4/)@Rba˥˷ ဥ1#+i):}W'?㷜 M0ugSAJ|ۻZ|EQxJY;ER7S `XOގP҂T///O-`g A]@ endstream +vC{LA]eڊ |>y{ ${ZW:wMs_|zzjC&+\oy+&Nt 旳 o<*i5iR/]o0/ #ci Ld\Ҵߊ~m0=b>`=$d+"@҆}7mazU3?HĹ3i`'D|0|C,˳fOl2{0`4/)@Rba˥˷ ဥ1#+i):}W'?㷜 M0ugSAJ|ۻZ|EQxJY;ER7S `XOގP҂T///O-`g A]@ endstream endobj 217 0 obj << /Type /Font /Subtype /Type1 -/Encoding 1094 0 R +/Encoding 1100 0 R /FirstChar 2 /LastChar 252 -/Widths 1108 0 R -/BaseFont /KMVCDG+NimbusSanL-Regu +/Widths 1114 0 R +/BaseFont /IQPCKP+NimbusSanL-Regu /FontDescriptor 215 0 R >> endobj 215 0 obj << /Ascent 712 /CapHeight 712 /Descent -213 -/FontName /KMVCDG+NimbusSanL-Regu +/FontName /IQPCKP+NimbusSanL-Regu /ItalicAngle 0 /StemV 85 /XHeight 523 @@ -9384,215 +9422,210 @@ endobj /CharSet (/fi/fl/exclam/quoteright/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/equal/greater/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/bracketright/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/quotedblleft/quotedblright/endash/Adieresis/Odieresis/Udieresis/germandbls/adieresis/odieresis/udieresis) /FontFile 216 0 R >> endobj -1108 0 obj +1114 0 obj [500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0 0 0 0 0 222 333 333 0 0 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 0 584 584 0 0 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 0 278 0 0 0 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 333 0 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 667 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 778 0 0 0 0 0 722 0 0 611 0 0 0 0 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 0 0 0 0 0 556 ] endobj 213 0 obj << /Length1 1608 -/Length2 11834 +/Length2 11700 /Length3 532 -/Length 12694 -/Filter /FlateDecode ->> -stream -xweP]-!!@pwp!Hpww~3M}w~̯[z{^wCA&D/`dmgf`Ȃ, JVFw#;Pdm%o@C  dml21P(}{wA&VG%⿽Q ؛ @HN^CBV @-&Z- C4hX @fx`!}h hg ߿ 0N_~|[v {{Vya7շ+7XGY:U߾ww> - :0m,s؁YDüc՝ OX8-Ysڿ6Y!15(Vf؍lA ; }#k+ gQ=%2 "L?yWhQ Y}xai_wo p/5P {Lޥ`b`9Ac}mW2YZF=3;MAV5+.ѿ2oތʚBtz%;C?a -Z;\9XL_k}{;@h&K+26kNG?  뿇t"-Zr%$Wf -kuw2C(f{[wx$s=W1Ԏs699yٖıftecPpx3|H:R u=^ʤ1 G1|(e_=vtG4l1+0(_ʷ1vb]f͓sX26c=4 d7^טWU_DJJbJ:z@=LeZ=o8nKg^V&vTL1{v !nnM"Fͬi.5&s̽D5gY<#m -#S*Oo#kcTЬ| -L꫓_O% -pq e-ܳ@ |S -lxgA!1p`R|;Rda;pSޑAԷq42KNvl[HB}Mr/i.ɿ >[z2tqX` n KВ&@1MZJ\K3i1Ou]_z.D&m~.7voB64MJN{}`7iܞ&/`ժMGyBn"B6;#7kk.Yݢ0YOdJqh.Ԭm0TrGRMu.s7~OX(#*7pP~3|MZS6);z2xb1c,30*F@2g -[ah s.Ĥq_ﱊhG0hf%es"PhDva.R/boȆ)5lݩOSdXѮ-MbW h6q" ݐicCͯqMz}ޝ",dOĴCUpP5uuT.GP(tvY,Nv,?D6༣p|#]AEq^pZno2q"t"Uz%b$+/d紦X7Glf5/'%mH׿žD^,F{C\ಕ9hҤ>x1܏vGEvBW%!@F7$6L=BQ|Rv@\fF KA8%z9t}5,k>z {FY7 0]-U #?7gU+crbD -W>Ð# ڕ3myKiEu"ħ12ew+b{i!yG5_ٶՒlo'q3QZ1sg0KWPoCQ%Tw1W ت518͜*?Czp! ]RmY!~d^ iLuA?sʤ tz- V}}"$-Tc[#=Gach<4"mD.6Tl]k87`=4 ;;0Pfj#>u3&Num6 -)~>԰zZ=}B5s'3nQ"ܐL,w0ܺZȕ\F&uR"iaЧ}/WbjTߟZh&!h^.ɹ4zYDf_)iqbi\C*:(\\C:0Rъ -e! -ej*WMR)::-u&Q9+-fd&5*f=r~SMwנm(90PQ@*_2!-P$?f< Rd 4p - FގwF7Ջ -qXn}c2UI~1L '?Eg9?&+]:ߟR΢@NNçyKuګNZ .mJc\y0BqAEoGxcR*W!p %pG&`6~:0j5NlV s<)ٲ7/ٌY#oJ2ٌTGP Gs]3^Wact1oXNsR P+ -\kR$I2D(%L"7V㙜kw=L6rwz=މ2ɰQ[0Cnn&M)y 6pHXG1xvm0Ev+HihvB:M%r v oqO+WOS!"Bp,&u-D$3T>h,|AaŸٕm=ɡӻ_Z3Rp5gpV!LY/駐Hcxe|5Ԓ\?!gI'HUU_8+ꖇ1 +1JnB EKK[.Ǔa~:w=f+ԸRUQ ?1x]Zu4rг <#ʞ*^9E!]B劣Uu;w8^WQFm4"I{]- m9la Q.ڂo*'?_uq31ިp"]na#R?CS3*uwP1,?4ݺ%v;Etd17QO,yX#> %w:_)PdnKgS ie2 lIWyтTGWj"leKu8Wy;KjE4oa倝 -Ǫaїai~ZOw#@>I}7H}nCI-_ `#sJܛhRnT}UbΰcQ(ɈFR|鸆ʼ5-0S B؅/;%BJdzKMuiq:i=fB.'_tvO̞oŴ٪0N[) B_OZ -l/S|Hu'^%ȯd/4Tpꞈ걋w%$KdE3Ҫ - q1,9շ|En) (Q3mIAadnDrxչ!NQٱO YoaͲmoORD"UE1m7cSɤ9Q& 7La^ݮD-"#zU1އ_Ozer+ ]K__G(bVsHTk0r4;qARƺ5=P/:,W|,i|: (rEr^( 57h%`ň? V@&r/n'X\F .lEyl#"XQ -b/cA,,Ǚ!;Xmgj|Y,;)&챩7sq)Uw͸ #EZMz?lL W_uPG;]_^Vd.V Is<I%fW,!󸡥S$Cc >- Adj1NG Eh,C=έ<ܩ Yfy@55*7gk0/~=NO N)&&,x0T -qh~JQ*Fk -Wa^/'RǏ k/2X)s֚119Acj`au$~13q6 _ZR'XNy[5I򢓌NYa|83qr)N]?ցkk̔񩖩gue_rL -HߦU7h jB=kTmDƾ"Zj L%t ۰JC^ ĤZBSc;ya[[y݈iod튔E4Sb? +Cql:&53Lɧ;Q8n}dBc@N!^SΫĨԈ?9 =',cvzD.HXVm[BqX~ Ia] -8L}jsYQP>b8[+B#KVWktU.n: `D ;n;sj(:qĄƦFLG=xf<|=(HA bp+CK }1}rhcf\;] fV%BA4cڒjZ,NiS9˰][O_!Y̫X&wyZU)@73LU/ƊZm+Xhwl63(WU:=h Kg`ʩ k>^*'jl4VYg#p(^7IBêB"Ϻ"fAi4͖ zS?i/#~TM#O6q -tvgӖ,)U谀oOg E\yb?ձR̽jV'aG z(4 MfNW'-[Ωb'jKķu' GNUxm!ORZC2?M}'+t4n8ileWʇX(.ӱGfPh\aVbKRz^:JՂNxfɍ8_LruMcŞ> dѐ>C[AqzRT*Bw%(Il4 |#+DX( /% u.xݪ9w'ᖡk,゗fN \%9k U'5z k"Q#tmǡU,{qmBZTJ؀U$ ʧ2 Fs0^X=^+AI@(A&sOka>?MTKwR  -wЁ&aAl%Rb? V'PsyH!1e(jcȗFj59Vwa +NNĭH\o;`?fIbK;.>fk<В[Fz(HuՎ s,ޕHJ3UNTgu ^F (+mJ1X4!cԑ +~>+Jќ qS6;vO%>05Q3YUBTU\QLJ7.7'-2A2^۶)F]}߈}woAűRݘ7O5:h~|-) 2![[ s߷H]8}SZ*9Z3C)O 7#3,rb[q݉lHxB1P{mY_3rU~(qTމͤ*$#^ hw` 07 "ψzVy\ `*pqPȵ nH2Q¡uPxaq3s86ޏe$W4{dyLkR5 f2&1p#{̙*9=2SCqP:/ˢT m?HpQ3yIU+xX!hc}v(sեPxb!}+}j2o^?roď4,TiCE]x-qO𹧧c(̠A/o=4wRo幕b| -"߈]$Ꝺ=Aow%JĦ3CL"RȮ%"~-瑑 -Xl}4뺰ohjK4oJ?O'UrN-R7=҄nQWi"Q~@6É_inWB͞e.Aڿù[.U8)3T+ȴbܵy# -Dml5AQR97J8ݼk³\\e?l΄r$#rH?UEvARD*aS!b-z< ߽{A9 oD:VW},q8ap#֕TPybU+ 3'&Jzr~Lm\^/YlgOrC_u(BMhd|(D{(}ct"8ww08gy`jY*ԓ }&wA0ajM = KOw:HՓ?ׄ ^նl6yg?ۢaa^i| -nh.UTRyTĹ R~8?3Duz+ u euY$Fe"xv2g/hi|T-a}$EI-fLq3AHesއmgh PqW?Ū?(bO$y-kw'F -H*La|_QEl2aݰe<栅 -NTۥVtũXU_u/z: BŢ&îAXEq4Űb? 94@{mݬ%W9Jtc`/Ip9M?`# C<ʡq ڳmZg>g -1 &qnQam6=v 7DQ{DrVi"s0YaB$ MP9iK +sbӨ7C7oBYO?I~hN+%.\b6}ͿS 6jZD;v+t~BfME]<]\])ɾNU Y9cd' Ą W_9霝7(\ѐ[:#'Ay$oF'#w:Re㎾,jX=Fb]u~kipcڇHd=.lVƃFqT# u\ -F*Peѡ=WBӔW-: gΟ^y`#D^L~ TR 6<; ʫa2?/}nO'끈6rdXsn!T4- -rN@՟+~z:Ղ-m (j_J;f:bc=FO$md.U )^8fl` * I& 8 ?FLD0/-KhA}؋~3WV@CCbO;vTh۝QO^īx!D[l𰅍4H$!O} BW:ǦDߤ: FjO4 njULe" +),~^&6u9*|L:l`-j_: -Z&C'гGw.9n] -P{hA7j؟4,r='t{5J,Pi'wD>G=TJJS1!S5*G^:+ '"m:E?ٜCɒP!7PpɄg+EZb-BR.K R*a~.|&3MlO4x @IDʚ@8QLx 8$jYRZXE~[-s=Gk%⩘k_¥T]z S_X+d|j\%v@MO|xr=}]a+|Zf1 'ԭ`ZJOE6+^$Yn$zDŽĈS]cۥ( -1ue}JڗYS/؉¡Eоc2xړ#_6v!gXrB"ǎԺD{i'~n#AbmkpD[aR#$ B=p -{-.M 5,cmHX;#f0 ӜzN;Uw$ᅂnt6Mu~@aq27''&JAwWf/Ʃ^_;1ޙ$XG3UudTx q:9]?qH`|j+]I;zgPr{/Vз (i1Q~)M#-|bP8q$5 Of~mAX&ZnRǽyw:%kXWmNg.`N0 -+a>ֶ=>*o]J*S$꬟vinXĕs~/nE"> +stream +xtePݖ. .hи`!{p}gfԹkf~ݺ]UggMK"fjg ud`e(m @,v֦7' +-: S$ @Hٻ9- *+`-dmgou|oT -(`QTȀlA@k5lfv;[S_AX߰ b2 +؃l7 ;mfhۚX;Eof7!{ bwUUOG _!0-鯖E`[W-c ~wM 5'9a5 O>mwp;B@f(o5MjmQZY[3;?Ns9= v ` +2CaSs|+ `'+?_5OzZZhx`o/ mnE&juAM +vV8i+T hb0Zo)l z1X8xx%f6k@MyiQ,YJo;ٿ>L C\`b{l\n@`W[oZ#ekbgמ:mMV?MKLPL,$9VfJvwrԨfux!Pb\Z;.me[ig#tEEؕJǼfPtq6yN]cgsTY lч9Ibu$~+V-Ne]-}@_|6 sz$23:]t|Π.uՅ u.rMɒQӓ LV^>/ॼx@SbY 'o?eN}~"i:-c]px*Ur+8!*Qncr FeW ުv*6;?yuTl7Eǎh񳾇Y-VT\]9m_ (KFgS>GƫE((-Sa,jҽLFT!m)+1jd^{à)oBntXFQzBbKx5s :?geܮ`V<1zq{<ڙF@97dr5^{)Y`Z,xt2;F5EQhMpJK{"N(};$C>TPJ@)98٠,%rTxd!3;fs*m|:c²kwqLBz8P>xɦ//iɿLdl.6>]d E|ָ[Qa*X*&ȶEMq Mh\`LcٕW֍9@i]ŕk +#HjME_#I,{A{^zurQުtsĺGj ֻ&Qn7U[YhVCe fa›bdqt͋[[;4&nuچ H=|Uۮ +d`"_EIwR?Yz3cA'b̾6? پ+ wpP'l3ݚX֫*ILB o:ISՏׅ}UZPLlcV`SEK> `]% qmPho4)QQ`Vh8}<0fL)qwQ<^#ss*zLtf "y=ujkj96O Iz=˩J-n,f~»eC@E" WZvBxCJSv*|MJ.w#F(U.W$ +1f1a|m9.֧6vhmLڨo~oDli:i7ЋԘyuܧr4#Jv),U>iZq(Z)ǼrHP"[jhV | _lLI몼ZܓӋ^'@3)Qbw6"zMw$s2\v|~T8qڄB/ʂאpM#<8Ŋ ՟&oY* r6IxϏY>}<78n~k|;=2Pr_Q6 +(+,$Y8SOtkj,pGVyk|pawgD2GO{Sx Zh>?wϸD௕x\~9?>I1G&)U%X1 7CaIAz lۧ?(d)`Ɖ{R]?,+oJ +{zjABYLb^Pl[+ɦ??`랉.׍ݞ=# |e :4]. _.#LO(v)dddYTwfM&DAĮe4E[yQ뺠z*# mRu Z>IV.ݱm=I1<^3Po"F&.CnL#Uaǿx9#r# RNZ*Bsĉ!B9cCDBRɃW?wnzS{0}ctUّ%v8RȲgAz_X\^ٖ/ Rh]r J EȒ*H!kJ´]m#|8t?Z: I6oVv蠏kk 2r##;\Ñ,F4 nhY|A_$ut\7P zm.:Uߟ8*i) YR>\de{}a8[*VMz $ `Ծ`#x*sQ{+֑ Ū}6&:&H$qRdzn?rmIO"^ H{C}KC=YYɕ-vG)f9~:8G[Y'3ل-0AIfӛlɡ|%a)RfA叵j.[$oppnFlk5{`1[69/8 +٫,.A?`p5n׶ +mxzsv /rwFJ=~?jĒsYWX=E=g'9̛Ud|DKJd8|D65;G~FhZjtB129Όp,d=sM ^LOJ+WOSaRQlņ Rr]F~Ec"Zݕm=a6_ng#!:'ic{Z^کb u7}0ֈ&{rZx#S&KS 8p+/u:`yBuE5OY_ٟͤ WQ]TN )*a 4Y!%4NF\r *8 YTol3eCOctKryL캙co&\fa >J2tf,МlKEb֪g i,a0lX%IV8^ NHs,Bڈ-iGX^1RT1 69̪DyuyA /K]ۺ/蕿p#X1+pc7 Dg~[U3_`ӣp 7> l9̋u'6/LE yCckN_"{L4(|:Iv~~')).揻QذԂK95Uwӷ3}2"Ͷe?L.]PAr u=+UC_ŒoNNLвxs19м*/w|Kȑ0(X/͟?Ҫg0 /\zGeN\Qf*j5 b.i|Egv lYٷE}/@[^2ʵ|fPZ!a5߈l6&#֙ 4}pǗ?eƻJKn=K T%-O"KRW&M0oz[scLgZWM9@D \B AYryzl?7jcif_Qi(s*4(#rY#4\4J:q^Oqh- PKK pͺ#N8N_>k\Aʀ[ uDJZȢ_d+P|4/;Y\%jp_DdBk`Y3;Z:{}KŽ_Ӳ˜ 4ߵ|)AٹP͟S6=ch^ϸ'`}IEPm\Ϝ \7aόx &Hh XӀueI/?O屏KH&_pSF?䞭7cc; +4f{L\rs gĒR瓍jLJMptg?H%"E2;ա~ r4UIdO*Pk܃$Y"8'db8ͷ|yy*u +G/AӞ[֮ a/!VYc1alڹGÞ;Nbg9<~K3m;%Ƀm"jt$"[ xJ#Fi29Ofֽ#?EAM,\IG^% $ U&;P{FX)AK|3^E-=o4`8(քF8yZIMJs. R2D# Q gj_f_G۞Zrz`êE*(v/Kڤ9"l{շ{è!K`.wdǓaQWڥw,r @5qV^X~}j4_Jq*+QBO3HVwY٨ ?i,Äl͆7͊`2NY v ZxcB 'þZbJqK6ar7Ʀ`+6f+M&SC)y (wS;<^y.T$,n( .g`N듶?X6#nZY1=QXJ4nGx9h>)|9 1wqE'I}bΟrvw_ЍxeJ]=kjF`U~+wP/P%Uyh1+ RaAAC\KSQg1jL JV.yTW38 QQA8_dDxMVOпaX<ª(sԅ`Ʉ+ٵzRw~*+;,#TҤlDm[7õ 2 |E2o;q"]MHr +7$eJۓs e^Đ^ۥbtoKXS:'pNn.г{QCw%W^b뤮 P}P-^~hN;s[DmYC诙0l\ ~ +^# wC;dԖ&)׎|AbRV9/h,W;Z{Bft +%PRNNͶ:h}g +~Eg@`[!'?, 1^:acg +F~nٰ`A[0d5q扜YBm+9MP032Ê?J!=z6Y]_'"8/fTq9 k7F\DlL1Akbp>έ.;UnNo`EV:jFf" zT hE<- ``w*+8 g}Eϛ$+nʻ/&(Zf3~\0Z0}R7eP-jG]dh3QcEPZݤ3;fXR• Sz-kD7Ao'Tm'K]u[Zxr6`f~!:˥"^'{+ZK&q_1Ǹ_2+.د1r] uqenEPv +a{դ*b= _D̚}T^a# +xaYFRCY厕9R9tF5&K7${kII19ߤ§w(ۺNNK?T-e?? +ݞP)S*轗` )[*Vo9*sLhq:='ߨl5BW8d|X +ў7r=>ay\\-ȥ7kE~LY1uA=y0`ftuҐylVRƘПH[I|PD[2ଊovlW n%H|R~$ˈ廷ҾK;5iA+,wRRLg'z$襣qjӮk*`ZĆPb\)nɟRj@:R!3f HF{j3%P~Oi҉ ?Z #,R̫ m 1F(vY(zR߬Ь)A J>5s,y|!tP'b2  C V!F7gGLE +B`K&e/}Q3pS'DXTQwz0QPn1)UL'NT}|JªM?a>y[ v՘QUq!o܂Ly t<;71]ɌmX!pRRś*Pqj,64D#On@o=hB֟*.XJhP'D#,J 7c"B]=0!pof3uEYĩy>L+>kVa?C(f+Ë)Þ=b=,^v2*QT86 h"=oϤczbkAT;9\j]۲:(\Z 6fG y@&\,D 5%4Tre'/.d=QҜ+O];*,dz}tűBxQd"iAjw6YٷO=*:PŒ)NdD{zESv RB_N1Em!FSO×k +c^lnESdS߯g Sg&t,OfLoMJ-T>&q5/沎#/=^sx~&oo#NuVo/< +Yp$1{܀փ$FxӆGOث}#P>OyF4ic< gJz b_+ `H05҂il2.?8]8sh83bIq,_|e%zU-\+G?ECmM,1k_xpe|OLFֽI<{Us[;Qlu;:{/FY`e)f>(2uzރ~LcB$Vv<ͭ~1g0J:1 pka%LG/ AS>RCK_2)/Ɵ`Umk/ + Iindfe縃\:' X5mu3۞) 9G_\424/nPh騈29Tݖ#A1Z*ә +[cs!jn*-Њ A6a_!t.b9uBԶ^.;C<43N3ߚ+T9-Dd<2!NYGG~!)dBb빏\Ov:JfXs^,)hpBE&Pnf ?M*,u42Fed}f>2.ne8iOHNۏ#J B}/vo$czFZ3^u?'LA@G;6rendstream endobj 214 0 obj << /Type /Font /Subtype /Type1 -/Encoding 1094 0 R +/Encoding 1100 0 R /FirstChar 2 /LastChar 252 -/Widths 1109 0 R -/BaseFont /TZXICT+NimbusSanL-Bold +/Widths 1115 0 R +/BaseFont /YORLAU+NimbusSanL-Bold /FontDescriptor 212 0 R >> endobj 212 0 obj << /Ascent 722 /CapHeight 722 /Descent -217 -/FontName /TZXICT+NimbusSanL-Bold +/FontName /YORLAU+NimbusSanL-Bold /ItalicAngle 0 /StemV 141 /XHeight 532 /FontBBox [-173 -307 1003 949] /Flags 4 -/CharSet (/fi/fl/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/question/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/Z/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/r/s/t/u/v/w/x/y/z/Udieresis/adieresis/udieresis) +/CharSet (/fi/fl/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/Z/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/r/s/t/u/v/w/x/y/z/Udieresis/adieresis/udieresis) /FontFile 213 0 R >> endobj -1109 0 obj -[611 611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 333 0 0 278 333 278 278 556 556 556 556 556 556 556 556 556 556 0 0 0 0 0 611 0 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 0 722 667 611 722 667 944 0 0 611 0 0 0 0 0 0 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 0 389 556 333 611 556 778 556 556 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 722 0 0 0 0 0 0 0 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 611 ] +1115 0 obj +[611 611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 333 0 0 278 333 278 278 556 556 556 556 556 556 556 556 556 556 0 0 0 0 0 0 0 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 0 722 667 611 722 667 944 0 0 611 0 0 0 0 0 0 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 0 389 556 333 611 556 778 556 556 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 722 0 0 0 0 0 0 0 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 611 ] endobj 218 0 obj << /Type /Pages /Count 6 -/Parent 1110 0 R +/Parent 1116 0 R /Kids [206 0 R 220 0 R 224 0 R 228 0 R 232 0 R 239 0 R] >> endobj 276 0 obj << /Type /Pages /Count 6 -/Parent 1110 0 R +/Parent 1116 0 R /Kids [243 0 R 278 0 R 306 0 R 365 0 R 401 0 R 444 0 R] >> endobj 459 0 obj << /Type /Pages /Count 6 -/Parent 1110 0 R +/Parent 1116 0 R /Kids [452 0 R 465 0 R 474 0 R 482 0 R 492 0 R 500 0 R] >> endobj 511 0 obj << /Type /Pages /Count 6 -/Parent 1110 0 R +/Parent 1116 0 R /Kids [506 0 R 513 0 R 522 0 R 530 0 R 539 0 R 547 0 R] >> endobj 559 0 obj << /Type /Pages /Count 6 -/Parent 1110 0 R +/Parent 1116 0 R /Kids [555 0 R 562 0 R 567 0 R 574 0 R 581 0 R 587 0 R] >> endobj 594 0 obj << /Type /Pages /Count 6 -/Parent 1110 0 R +/Parent 1116 0 R /Kids [591 0 R 596 0 R 600 0 R 616 0 R 625 0 R 631 0 R] >> endobj 642 0 obj << /Type /Pages /Count 6 -/Parent 1111 0 R +/Parent 1117 0 R /Kids [637 0 R 645 0 R 649 0 R 656 0 R 663 0 R 669 0 R] >> endobj 682 0 obj << /Type /Pages /Count 6 -/Parent 1111 0 R +/Parent 1117 0 R /Kids [678 0 R 685 0 R 692 0 R 700 0 R 707 0 R 712 0 R] >> endobj 724 0 obj << /Type /Pages /Count 6 -/Parent 1111 0 R +/Parent 1117 0 R /Kids [720 0 R 726 0 R 730 0 R 735 0 R 742 0 R 750 0 R] >> endobj 762 0 obj << /Type /Pages /Count 6 -/Parent 1111 0 R -/Kids [759 0 R 764 0 R 771 0 R 776 0 R 785 0 R 791 0 R] +/Parent 1117 0 R +/Kids [759 0 R 764 0 R 771 0 R 776 0 R 785 0 R 792 0 R] >> endobj -801 0 obj << +803 0 obj << /Type /Pages /Count 6 -/Parent 1111 0 R -/Kids [798 0 R 807 0 R 814 0 R 821 0 R 831 0 R 842 0 R] +/Parent 1117 0 R +/Kids [798 0 R 806 0 R 814 0 R 821 0 R 828 0 R 839 0 R] >> endobj -852 0 obj << +856 0 obj << /Type /Pages /Count 6 -/Parent 1111 0 R -/Kids [849 0 R 854 0 R 862 0 R 873 0 R 885 0 R 894 0 R] +/Parent 1117 0 R +/Kids [850 0 R 858 0 R 862 0 R 867 0 R 878 0 R 889 0 R] >> endobj -903 0 obj << +901 0 obj << /Type /Pages /Count 6 -/Parent 1112 0 R -/Kids [899 0 R 910 0 R 914 0 R 918 0 R 922 0 R 926 0 R] +/Parent 1118 0 R +/Kids [898 0 R 904 0 R 915 0 R 919 0 R 923 0 R 927 0 R] >> endobj -935 0 obj << +936 0 obj << /Type /Pages /Count 6 -/Parent 1112 0 R -/Kids [932 0 R 937 0 R 942 0 R 951 0 R 964 0 R 972 0 R] +/Parent 1118 0 R +/Kids [931 0 R 938 0 R 942 0 R 947 0 R 951 0 R 967 0 R] >> endobj -987 0 obj << +984 0 obj << /Type /Pages /Count 6 -/Parent 1112 0 R -/Kids [983 0 R 990 0 R 1001 0 R 1008 0 R 1017 0 R 1025 0 R] +/Parent 1118 0 R +/Kids [977 0 R 986 0 R 995 0 R 1006 0 R 1013 0 R 1022 0 R] >> endobj -1043 0 obj << +1034 0 obj << /Type /Pages /Count 6 -/Parent 1112 0 R -/Kids [1035 0 R 1045 0 R 1064 0 R 1068 0 R 1072 0 R 1091 0 R] +/Parent 1118 0 R +/Kids [1030 0 R 1041 0 R 1045 0 R 1069 0 R 1073 0 R 1077 0 R] >> endobj -1110 0 obj << +1099 0 obj << +/Type /Pages +/Count 1 +/Parent 1118 0 R +/Kids [1096 0 R] +>> endobj +1116 0 obj << /Type /Pages /Count 36 -/Parent 1113 0 R +/Parent 1119 0 R /Kids [218 0 R 276 0 R 459 0 R 511 0 R 559 0 R 594 0 R] >> endobj -1111 0 obj << +1117 0 obj << /Type /Pages /Count 36 -/Parent 1113 0 R -/Kids [642 0 R 682 0 R 724 0 R 762 0 R 801 0 R 852 0 R] +/Parent 1119 0 R +/Kids [642 0 R 682 0 R 724 0 R 762 0 R 803 0 R 856 0 R] >> endobj -1112 0 obj << +1118 0 obj << /Type /Pages -/Count 24 -/Parent 1113 0 R -/Kids [903 0 R 935 0 R 987 0 R 1043 0 R] +/Count 25 +/Parent 1119 0 R +/Kids [901 0 R 936 0 R 984 0 R 1034 0 R 1099 0 R] >> endobj -1113 0 obj << +1119 0 obj << /Type /Pages -/Count 96 -/Kids [1110 0 R 1111 0 R 1112 0 R] +/Count 97 +/Kids [1116 0 R 1117 0 R 1118 0 R] >> endobj -1114 0 obj << +1120 0 obj << /Type /Outlines /First 7 0 R /Last 203 0 R @@ -9601,20 +9634,20 @@ endobj 203 0 obj << /Title 204 0 R /A 201 0 R -/Parent 1114 0 R +/Parent 1120 0 R /Prev 199 0 R >> endobj 199 0 obj << /Title 200 0 R /A 197 0 R -/Parent 1114 0 R +/Parent 1120 0 R /Prev 195 0 R /Next 203 0 R >> endobj 195 0 obj << /Title 196 0 R /A 193 0 R -/Parent 1114 0 R +/Parent 1120 0 R /Prev 111 0 R /Next 199 0 R >> endobj @@ -9764,7 +9797,7 @@ endobj 111 0 obj << /Title 112 0 R /A 109 0 R -/Parent 1114 0 R +/Parent 1120 0 R /Prev 19 0 R /Next 195 0 R /First 115 0 R @@ -9929,7 +9962,7 @@ endobj 19 0 obj << /Title 20 0 R /A 17 0 R -/Parent 1114 0 R +/Parent 1120 0 R /Prev 7 0 R /Next 111 0 R /First 23 0 R @@ -9951,241 +9984,241 @@ endobj 7 0 obj << /Title 8 0 R /A 5 0 R -/Parent 1114 0 R +/Parent 1120 0 R /Next 19 0 R /First 11 0 R /Last 15 0 R /Count -2 >> endobj -1115 0 obj << -/Names [(API) 1075 0 R (BSD) 1076 0 R (Doc-Start) 211 0 R (GIMP) 1077 0 R (GNU) 1078 0 R (GUI) 1079 0 R (GVim) 1080 0 R (HTTPS) 1081 0 R (Item.1) 753 0 R (Item.10) 946 0 R (Item.11) 947 0 R (Item.12) 948 0 R (Item.13) 954 0 R (Item.14) 955 0 R (Item.15) 956 0 R (Item.16) 975 0 R (Item.17) 976 0 R (Item.18) 977 0 R (Item.19) 978 0 R (Item.2) 754 0 R (Item.20) 979 0 R (Item.21) 980 0 R (Item.22) 981 0 R (Item.3) 755 0 R (Item.4) 756 0 R (Item.5) 757 0 R (Item.6) 835 0 R (Item.7) 845 0 R (Item.8) 846 0 R (Item.9) 945 0 R (JRE) 1082 0 R (NID) 1083 0 R (PDF) 1084 0 R (PID) 1085 0 R (RTT) 1086 0 R (SDK) 1087 0 R (SVN) 1088 0 R (VS) 1089 0 R (appendix.A) 198 0 R (appendix.B) 202 0 R (chapter*.1) 246 0 R (chapter*.2) 309 0 R (chapter*.3) 404 0 R (chapter.1) 6 0 R (chapter.2) 18 0 R (chapter.3) 110 0 R (chapter.4) 194 0 R (cite.OOS) 1033 0 R (cite.Tanenbaum) 448 0 R (cite.Vorlesung) 676 0 R (figure.1.1) 337 0 R (figure.1.2) 338 0 R (figure.2.1) 339 0 R (figure.2.10) 348 0 R (figure.2.11) 349 0 R (figure.2.12) 350 0 R (figure.2.13) 351 0 R (figure.2.14) 352 0 R (figure.2.15) 353 0 R (figure.2.16) 354 0 R (figure.2.17) 355 0 R (figure.2.18) 356 0 R (figure.2.19) 357 0 R (figure.2.2) 340 0 R (figure.2.20) 358 0 R (figure.2.21) 359 0 R (figure.2.22) 360 0 R (figure.2.23) 361 0 R (figure.2.24) 362 0 R (figure.2.25) 363 0 R (figure.2.26) 384 0 R (figure.2.27) 385 0 R (figure.2.28) 386 0 R (figure.2.3) 341 0 R (figure.2.4) 342 0 R (figure.2.5) 343 0 R (figure.2.6) 344 0 R (figure.2.7) 345 0 R (figure.2.8) 346 0 R (figure.2.9) 347 0 R (figure.3.1) 387 0 R (figure.3.10) 396 0 R (figure.3.11) 397 0 R (figure.3.12) 398 0 R (figure.3.13) 399 0 R (figure.3.2) 388 0 R (figure.3.3) 389 0 R (figure.3.4) 390 0 R (figure.3.5) 391 0 R (figure.3.6) 392 0 R (figure.3.7) 393 0 R (figure.3.8) 394 0 R (figure.3.9) 395 0 R (page.1) 210 0 R (page.10) 367 0 R (page.11) 403 0 R (page.12) 446 0 R (page.13) 454 0 R (page.14) 467 0 R (page.15) 476 0 R (page.16) 484 0 R (page.17) 494 0 R (page.18) 502 0 R (page.19) 508 0 R (page.2) 222 0 R (page.20) 515 0 R (page.21) 524 0 R (page.22) 532 0 R (page.23) 541 0 R (page.24) 549 0 R (page.25) 557 0 R (page.26) 564 0 R (page.27) 569 0 R (page.28) 576 0 R (page.29) 583 0 R (page.3) 226 0 R (page.30) 589 0 R (page.31) 593 0 R (page.32) 598 0 R (page.33) 602 0 R (page.34) 618 0 R (page.35) 627 0 R (page.36) 633 0 R (page.37) 639 0 R (page.38) 647 0 R (page.39) 651 0 R (page.4) 230 0 R (page.40) 658 0 R (page.41) 665 0 R (page.42) 671 0 R (page.43) 680 0 R (page.44) 687 0 R (page.45) 694 0 R (page.46) 702 0 R (page.47) 709 0 R (page.48) 714 0 R (page.49) 722 0 R (page.5) 234 0 R (page.50) 728 0 R (page.51) 732 0 R (page.52) 737 0 R (page.53) 744 0 R (page.54) 752 0 R (page.55) 761 0 R (page.56) 766 0 R (page.57) 773 0 R (page.58) 778 0 R (page.59) 787 0 R (page.6) 241 0 R (page.60) 793 0 R (page.61) 800 0 R (page.62) 809 0 R (page.63) 816 0 R (page.64) 823 0 R (page.65) 833 0 R (page.66) 844 0 R (page.67) 851 0 R (page.68) 856 0 R (page.69) 864 0 R (page.7) 245 0 R (page.70) 875 0 R (page.71) 887 0 R (page.72) 896 0 R (page.73) 901 0 R (page.74) 912 0 R (page.75) 916 0 R (page.76) 920 0 R (page.77) 924 0 R (page.78) 928 0 R (page.79) 934 0 R (page.8) 280 0 R (page.80) 939 0 R (page.81) 944 0 R (page.82) 953 0 R (page.83) 966 0 R (page.84) 974 0 R (page.85) 985 0 R (page.86) 992 0 R (page.87) 1003 0 R (page.88) 1010 0 R (page.89) 1019 0 R (page.9) 308 0 R (page.90) 1027 0 R (page.91) 1037 0 R (page.92) 1047 0 R (page.93) 1066 0 R (page.94) 1070 0 R (page.95) 1074 0 R (page.96) 1093 0 R (section*.10) 495 0 R (section*.11) 497 0 R (section*.12) 509 0 R (section*.13) 517 0 R (section*.14) 525 0 R (section*.15) 542 0 R (section*.16) 550 0 R (section*.17) 552 0 R (section*.18) 558 0 R (section*.19) 565 0 R (section*.20) 570 0 R (section*.21) 571 0 R (section*.22) 577 0 R (section*.23) 578 0 R (section*.24) 666 0 R (section*.25) 697 0 R (section*.26) 705 0 R (section*.27) 723 0 R (section*.28) 767 0 R (section*.29) 929 0 R (section*.30) 940 0 R (section*.31) 1039 0 R (section*.4) 455 0 R (section*.5) 457 0 R (section*.6) 458 0 R (section*.7) 468 0 R (section*.8) 477 0 R (section*.9) 478 0 R (section.1.1) 10 0 R (section.1.2) 14 0 R (section.2.1) 22 0 R (section.2.2) 26 0 R (section.2.3) 30 0 R (section.2.4) 34 0 R (section.2.5) 54 0 R (section.2.6) 98 0 R (section.3.1) 114 0 R (section.3.2) 126 0 R (section.3.3) 138 0 R (section.3.4) 150 0 R (section.3.5) 166 0 R (section.3.6) 178 0 R (section.3.7) 182 0 R (section.3.8) 186 0 R (section.3.9) 190 0 R (subsection.2.4.1) 38 0 R (subsection.2.4.2) 42 0 R (subsection.2.4.3) 46 0 R (subsection.2.4.4) 50 0 R (subsection.2.5.1) 58 0 R (subsection.2.5.10) 94 0 R (subsection.2.5.2) 62 0 R (subsection.2.5.3) 66 0 R (subsection.2.5.4) 70 0 R (subsection.2.5.5) 74 0 R (subsection.2.5.6) 78 0 R (subsection.2.5.7) 82 0 R (subsection.2.5.8) 86 0 R (subsection.2.5.9) 90 0 R (subsection.2.6.1) 102 0 R (subsection.2.6.2) 106 0 R (subsection.3.1.1) 118 0 R (subsection.3.1.2) 122 0 R (subsection.3.2.1) 130 0 R (subsection.3.2.2) 134 0 R (subsection.3.3.1) 142 0 R (subsection.3.3.2) 146 0 R (subsection.3.4.1) 154 0 R (subsection.3.4.2) 158 0 R (subsection.3.4.3) 162 0 R (subsection.3.5.1) 170 0 R (subsection.3.5.2) 174 0 R (table.2.1) 424 0 R (table.2.10) 433 0 R (table.2.11) 434 0 R (table.2.12) 435 0 R (table.2.13) 436 0 R (table.2.14) 437 0 R (table.2.15) 438 0 R (table.2.16) 439 0 R (table.2.17) 440 0 R (table.2.2) 425 0 R (table.2.3) 426 0 R (table.2.4) 427 0 R (table.2.5) 428 0 R (table.2.6) 429 0 R (table.2.7) 430 0 R (table.2.8) 431 0 R (table.2.9) 432 0 R (table.3.1) 441 0 R (table.3.2) 442 0 R] +1121 0 obj << +/Names [(API) 1080 0 R (BSD) 1081 0 R (Doc-Start) 211 0 R (GIMP) 1082 0 R (GNU) 1083 0 R (GUI) 1084 0 R (GVim) 1085 0 R (HTTPS) 1086 0 R (Item.1) 753 0 R (Item.10) 955 0 R (Item.11) 956 0 R (Item.12) 957 0 R (Item.13) 958 0 R (Item.14) 959 0 R (Item.15) 960 0 R (Item.16) 980 0 R (Item.17) 981 0 R (Item.18) 982 0 R (Item.19) 983 0 R (Item.2) 754 0 R (Item.20) 989 0 R (Item.21) 990 0 R (Item.22) 991 0 R (Item.3) 755 0 R (Item.4) 756 0 R (Item.5) 757 0 R (Item.6) 843 0 R (Item.7) 853 0 R (Item.8) 854 0 R (Item.9) 954 0 R (JRE) 1087 0 R (NID) 1088 0 R (PDF) 1089 0 R (PID) 1090 0 R (RTT) 1091 0 R (SDK) 1092 0 R (SVN) 1093 0 R (VS) 1094 0 R (appendix.A) 198 0 R (appendix.B) 202 0 R (chapter*.1) 246 0 R (chapter*.2) 309 0 R (chapter*.3) 404 0 R (chapter.1) 6 0 R (chapter.2) 18 0 R (chapter.3) 110 0 R (chapter.4) 194 0 R (cite.OOS) 1039 0 R (cite.Tanenbaum) 448 0 R (cite.Vorlesung) 676 0 R (figure.1.1) 337 0 R (figure.1.2) 338 0 R (figure.2.1) 339 0 R (figure.2.10) 348 0 R (figure.2.11) 349 0 R (figure.2.12) 350 0 R (figure.2.13) 351 0 R (figure.2.14) 352 0 R (figure.2.15) 353 0 R (figure.2.16) 354 0 R (figure.2.17) 355 0 R (figure.2.18) 356 0 R (figure.2.19) 357 0 R (figure.2.2) 340 0 R (figure.2.20) 358 0 R (figure.2.21) 359 0 R (figure.2.22) 360 0 R (figure.2.23) 361 0 R (figure.2.24) 362 0 R (figure.2.25) 363 0 R (figure.2.26) 384 0 R (figure.2.27) 385 0 R (figure.2.28) 386 0 R (figure.2.3) 341 0 R (figure.2.4) 342 0 R (figure.2.5) 343 0 R (figure.2.6) 344 0 R (figure.2.7) 345 0 R (figure.2.8) 346 0 R (figure.2.9) 347 0 R (figure.3.1) 387 0 R (figure.3.10) 396 0 R (figure.3.11) 397 0 R (figure.3.12) 398 0 R (figure.3.13) 399 0 R (figure.3.2) 388 0 R (figure.3.3) 389 0 R (figure.3.4) 390 0 R (figure.3.5) 391 0 R (figure.3.6) 392 0 R (figure.3.7) 393 0 R (figure.3.8) 394 0 R (figure.3.9) 395 0 R (page.1) 210 0 R (page.10) 367 0 R (page.11) 403 0 R (page.12) 446 0 R (page.13) 454 0 R (page.14) 467 0 R (page.15) 476 0 R (page.16) 484 0 R (page.17) 494 0 R (page.18) 502 0 R (page.19) 508 0 R (page.2) 222 0 R (page.20) 515 0 R (page.21) 524 0 R (page.22) 532 0 R (page.23) 541 0 R (page.24) 549 0 R (page.25) 557 0 R (page.26) 564 0 R (page.27) 569 0 R (page.28) 576 0 R (page.29) 583 0 R (page.3) 226 0 R (page.30) 589 0 R (page.31) 593 0 R (page.32) 598 0 R (page.33) 602 0 R (page.34) 618 0 R (page.35) 627 0 R (page.36) 633 0 R (page.37) 639 0 R (page.38) 647 0 R (page.39) 651 0 R (page.4) 230 0 R (page.40) 658 0 R (page.41) 665 0 R (page.42) 671 0 R (page.43) 680 0 R (page.44) 687 0 R (page.45) 694 0 R (page.46) 702 0 R (page.47) 709 0 R (page.48) 714 0 R (page.49) 722 0 R (page.5) 234 0 R (page.50) 728 0 R (page.51) 732 0 R (page.52) 737 0 R (page.53) 744 0 R (page.54) 752 0 R (page.55) 761 0 R (page.56) 766 0 R (page.57) 773 0 R (page.58) 778 0 R (page.59) 787 0 R (page.6) 241 0 R (page.60) 794 0 R (page.61) 800 0 R (page.62) 808 0 R (page.63) 816 0 R (page.64) 823 0 R (page.65) 830 0 R (page.66) 841 0 R (page.67) 852 0 R (page.68) 860 0 R (page.69) 864 0 R (page.7) 245 0 R (page.70) 869 0 R (page.71) 880 0 R (page.72) 891 0 R (page.73) 900 0 R (page.74) 906 0 R (page.75) 917 0 R (page.76) 921 0 R (page.77) 925 0 R (page.78) 929 0 R (page.79) 933 0 R (page.8) 280 0 R (page.80) 940 0 R (page.81) 944 0 R (page.82) 949 0 R (page.83) 953 0 R (page.84) 969 0 R (page.85) 979 0 R (page.86) 988 0 R (page.87) 997 0 R (page.88) 1008 0 R (page.89) 1015 0 R (page.9) 308 0 R (page.90) 1024 0 R (page.91) 1032 0 R (page.92) 1043 0 R (page.93) 1047 0 R (page.94) 1071 0 R (page.95) 1075 0 R (page.96) 1079 0 R (page.97) 1098 0 R (section*.10) 495 0 R (section*.11) 497 0 R (section*.12) 509 0 R (section*.13) 517 0 R (section*.14) 525 0 R (section*.15) 542 0 R (section*.16) 550 0 R (section*.17) 552 0 R (section*.18) 558 0 R (section*.19) 565 0 R (section*.20) 570 0 R (section*.21) 571 0 R (section*.22) 577 0 R (section*.23) 578 0 R (section*.24) 666 0 R (section*.25) 697 0 R (section*.26) 705 0 R (section*.27) 723 0 R (section*.28) 767 0 R (section*.29) 934 0 R (section*.30) 945 0 R (section*.31) 1048 0 R (section*.4) 455 0 R (section*.5) 457 0 R (section*.6) 458 0 R (section*.7) 468 0 R (section*.8) 477 0 R (section*.9) 478 0 R (section.1.1) 10 0 R (section.1.2) 14 0 R (section.2.1) 22 0 R (section.2.2) 26 0 R (section.2.3) 30 0 R (section.2.4) 34 0 R (section.2.5) 54 0 R (section.2.6) 98 0 R (section.3.1) 114 0 R (section.3.2) 126 0 R (section.3.3) 138 0 R (section.3.4) 150 0 R (section.3.5) 166 0 R (section.3.6) 178 0 R (section.3.7) 182 0 R (section.3.8) 186 0 R (section.3.9) 190 0 R (subsection.2.4.1) 38 0 R (subsection.2.4.2) 42 0 R (subsection.2.4.3) 46 0 R (subsection.2.4.4) 50 0 R (subsection.2.5.1) 58 0 R (subsection.2.5.10) 94 0 R (subsection.2.5.2) 62 0 R (subsection.2.5.3) 66 0 R (subsection.2.5.4) 70 0 R (subsection.2.5.5) 74 0 R (subsection.2.5.6) 78 0 R (subsection.2.5.7) 82 0 R (subsection.2.5.8) 86 0 R (subsection.2.5.9) 90 0 R (subsection.2.6.1) 102 0 R (subsection.2.6.2) 106 0 R (subsection.3.1.1) 118 0 R (subsection.3.1.2) 122 0 R (subsection.3.2.1) 130 0 R (subsection.3.2.2) 134 0 R (subsection.3.3.1) 142 0 R (subsection.3.3.2) 146 0 R (subsection.3.4.1) 154 0 R (subsection.3.4.2) 158 0 R (subsection.3.4.3) 162 0 R (subsection.3.5.1) 170 0 R (subsection.3.5.2) 174 0 R (table.2.1) 424 0 R (table.2.10) 433 0 R (table.2.11) 434 0 R (table.2.12) 435 0 R (table.2.13) 436 0 R (table.2.14) 437 0 R (table.2.15) 438 0 R (table.2.16) 439 0 R (table.2.17) 440 0 R (table.2.2) 425 0 R (table.2.3) 426 0 R (table.2.4) 427 0 R (table.2.5) 428 0 R (table.2.6) 429 0 R (table.2.7) 430 0 R (table.2.8) 431 0 R (table.2.9) 432 0 R (table.3.1) 441 0 R (table.3.2) 442 0 R] /Limits [(API) (table.3.2)] >> endobj -1116 0 obj << -/Kids [1115 0 R] +1122 0 obj << +/Kids [1121 0 R] >> endobj -1117 0 obj << -/Dests 1116 0 R +1123 0 obj << +/Dests 1122 0 R >> endobj -1118 0 obj << +1124 0 obj << /Type /Catalog -/Pages 1113 0 R -/Outlines 1114 0 R -/Names 1117 0 R +/Pages 1119 0 R +/Outlines 1120 0 R +/Names 1123 0 R /PageMode /UseOutlines /PageLayout/OneColumn /OpenAction 205 0 R >> endobj -1119 0 obj << +1125 0 obj << /Author(Paul Btow)/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords() -/CreationDate (D:20080810034203Z) +/CreationDate (D:20080810213304Z) /PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4) >> endobj xref -0 1120 +0 1126 0000000001 65535 f 0000000002 00000 f 0000000003 00000 f 0000000004 00000 f 0000000000 00000 f 0000000009 00000 n -0000093913 00000 n -0001099422 00000 n +0000093919 00000 n +0001101047 00000 n 0000000054 00000 n 0000000143 00000 n -0000093974 00000 n -0001099350 00000 n +0000093980 00000 n +0001100975 00000 n 0000000190 00000 n 0000000290 00000 n -0000097625 00000 n -0001099277 00000 n +0000097631 00000 n +0001100902 00000 n 0000000338 00000 n 0000000438 00000 n -0000115909 00000 n -0001099151 00000 n +0000115915 00000 n +0001100776 00000 n 0000000484 00000 n 0000000592 00000 n -0000115971 00000 n -0001099077 00000 n +0000115977 00000 n +0001100702 00000 n 0000000640 00000 n 0000000875 00000 n -0000196558 00000 n -0001098990 00000 n +0000196564 00000 n +0001100615 00000 n 0000000923 00000 n 0000001038 00000 n -0000278984 00000 n -0001098903 00000 n +0000278990 00000 n +0001100528 00000 n 0000001086 00000 n 0000001186 00000 n -0000284284 00000 n -0001098779 00000 n +0000284290 00000 n +0001100404 00000 n 0000001234 00000 n 0000001349 00000 n -0000287883 00000 n -0001098705 00000 n +0000287889 00000 n +0001100330 00000 n 0000001402 00000 n 0000001557 00000 n -0000287945 00000 n -0001098618 00000 n +0000287951 00000 n +0001100243 00000 n 0000001610 00000 n 0000001790 00000 n -0000325184 00000 n -0001098531 00000 n +0000325190 00000 n +0001100156 00000 n 0000001843 00000 n 0000002084 00000 n -0000330726 00000 n -0001098457 00000 n +0000330732 00000 n +0001100082 00000 n 0000002137 00000 n 0000002353 00000 n -0000332376 00000 n -0001098332 00000 n +0000332382 00000 n +0001099957 00000 n 0000002401 00000 n 0000002501 00000 n -0000332438 00000 n -0001098258 00000 n +0000332444 00000 n +0001099883 00000 n 0000002554 00000 n 0000002756 00000 n -0000497039 00000 n -0001098171 00000 n +0000497045 00000 n +0001099796 00000 n 0000002809 00000 n 0000003187 00000 n -0000567984 00000 n -0001098084 00000 n +0000567990 00000 n +0001099709 00000 n 0000003240 00000 n 0000003510 00000 n -0000591098 00000 n -0001097997 00000 n +0000591104 00000 n +0001099622 00000 n 0000003563 00000 n 0000004081 00000 n -0000618835 00000 n -0001097910 00000 n +0000618841 00000 n +0001099535 00000 n 0000004134 00000 n 0000004565 00000 n -0000648704 00000 n -0001097823 00000 n +0000648710 00000 n +0001099448 00000 n 0000004618 00000 n 0000005047 00000 n -0000674202 00000 n -0001097736 00000 n +0000674208 00000 n +0001099361 00000 n 0000005100 00000 n 0000005448 00000 n -0000704847 00000 n -0001097649 00000 n +0000704853 00000 n +0001099274 00000 n 0000005501 00000 n 0000005854 00000 n -0000733658 00000 n -0001097562 00000 n +0000733664 00000 n +0001099187 00000 n 0000005907 00000 n 0000006269 00000 n -0000758476 00000 n -0001097488 00000 n +0000758482 00000 n +0001099113 00000 n 0000006323 00000 n 0000006725 00000 n -0000795747 00000 n -0001097374 00000 n +0000795753 00000 n +0001098999 00000 n 0000006773 00000 n 0000006912 00000 n -0000795809 00000 n -0001097296 00000 n +0000795815 00000 n +0001098921 00000 n 0000006966 00000 n 0000007264 00000 n -0000853694 00000 n -0001097218 00000 n +0000854766 00000 n +0001098843 00000 n 0000007318 00000 n 0000007669 00000 n -0000856542 00000 n -0001097086 00000 n +0000857622 00000 n +0001098711 00000 n 0000007716 00000 n 0000007855 00000 n -0000856605 00000 n -0001096968 00000 n +0000857685 00000 n +0001098593 00000 n 0000007904 00000 n 0000008091 00000 n -0000856668 00000 n -0001096889 00000 n +0000857748 00000 n +0001098514 00000 n 0000008145 00000 n 0000008301 00000 n -0000867800 00000 n -0001096810 00000 n +0000869077 00000 n +0001098435 00000 n 0000008355 00000 n 0000008481 00000 n -0000876133 00000 n -0001096678 00000 n +0000877577 00000 n +0001098303 00000 n 0000008530 00000 n 0000008631 00000 n -0000876196 00000 n -0001096599 00000 n +0000877640 00000 n +0001098224 00000 n 0000008685 00000 n 0000008902 00000 n -0000884140 00000 n -0001096520 00000 n +0000885800 00000 n +0001098145 00000 n 0000008956 00000 n 0000009228 00000 n -0000888455 00000 n -0001096388 00000 n +0000889437 00000 n +0001098013 00000 n 0000009277 00000 n 0000009605 00000 n -0000888518 00000 n -0001096309 00000 n +0000889500 00000 n +0001097934 00000 n 0000009659 00000 n 0000009790 00000 n -0000899850 00000 n -0001096230 00000 n +0000901058 00000 n +0001097855 00000 n 0000009844 00000 n 0000010173 00000 n -0000899913 00000 n -0001096098 00000 n +0000905340 00000 n +0001097723 00000 n 0000010222 00000 n 0000010323 00000 n -0000899976 00000 n -0001096019 00000 n +0000905403 00000 n +0001097644 00000 n 0000010377 00000 n 0000010609 00000 n -0000933147 00000 n -0001095926 00000 n +0000934566 00000 n +0001097551 00000 n 0000010663 00000 n 0000010930 00000 n -0000941520 00000 n -0001095847 00000 n +0000942679 00000 n +0001097472 00000 n 0000010984 00000 n 0000011300 00000 n -0000946390 00000 n -0001095715 00000 n +0000947009 00000 n +0001097340 00000 n 0000011349 00000 n 0000011581 00000 n -0000946453 00000 n -0001095636 00000 n +0000947071 00000 n +0001097261 00000 n 0000011635 00000 n 0000011766 00000 n -0000950638 00000 n -0001095557 00000 n +0000954571 00000 n +0001097182 00000 n 0000011820 00000 n 0000012047 00000 n -0000957348 00000 n -0001095464 00000 n +0000958243 00000 n +0001097089 00000 n 0000012096 00000 n 0000012419 00000 n -0000965102 00000 n -0001095371 00000 n +0000966017 00000 n +0001096996 00000 n 0000012468 00000 n 0000012784 00000 n -0000975886 00000 n -0001095278 00000 n +0000976652 00000 n +0001096903 00000 n 0000012833 00000 n 0000012994 00000 n -0000979794 00000 n -0001095199 00000 n +0000979678 00000 n +0001096824 00000 n 0000013043 00000 n 0000013194 00000 n -0000987037 00000 n -0001095105 00000 n +0000988286 00000 n +0001096730 00000 n 0000013241 00000 n 0000013322 00000 n -0000990320 00000 n -0001095011 00000 n +0000991711 00000 n +0001096636 00000 n 0000013370 00000 n 0000013451 00000 n -0000992355 00000 n -0001094931 00000 n +0000993746 00000 n +0001096556 00000 n 0000013499 00000 n 0000013640 00000 n 0000014599 00000 n @@ -10194,13 +10227,13 @@ xref 0000013692 00000 n 0000057000 00000 n 0000057063 00000 n -0001091421 00000 n -0001078433 00000 n -0001091249 00000 n -0001077143 00000 n -0001063288 00000 n -0001076971 00000 n -0001092529 00000 n +0001092969 00000 n +0001080118 00000 n +0001092797 00000 n +0001078828 00000 n +0001064973 00000 n +0001078656 00000 n +0001094066 00000 n 0000057581 00000 n 0000057396 00000 n 0000057247 00000 n @@ -10217,898 +10250,904 @@ xref 0000060110 00000 n 0000059239 00000 n 0000060232 00000 n -0001062753 00000 n -0001060888 00000 n -0001062591 00000 n +0001064438 00000 n +0001062573 00000 n +0001064276 00000 n 0000060727 00000 n 0000060542 00000 n 0000060393 00000 n 0000060664 00000 n -0000067954 00000 n -0000063320 00000 n +0000067956 00000 n +0000063322 00000 n 0000060768 00000 n -0000067828 00000 n -0000067891 00000 n -0000063662 00000 n -0000063817 00000 n -0000063974 00000 n -0000064129 00000 n -0000064284 00000 n -0000064440 00000 n -0000064597 00000 n -0000064754 00000 n -0000064911 00000 n -0000065074 00000 n -0000065237 00000 n -0000065400 00000 n -0000065563 00000 n -0000065720 00000 n -0000065882 00000 n -0001059704 00000 n -0001047453 00000 n -0001059528 00000 n -0000066045 00000 n -0000066208 00000 n -0000066371 00000 n -0000066533 00000 n -0000066695 00000 n -0000066857 00000 n -0000067020 00000 n -0000067183 00000 n -0000067346 00000 n -0000067503 00000 n -0000067666 00000 n -0001092647 00000 n -0000074430 00000 n -0000070221 00000 n -0000068052 00000 n -0000074367 00000 n -0000070547 00000 n -0000070701 00000 n -0000070858 00000 n -0000071021 00000 n -0000071184 00000 n -0000071339 00000 n -0000071501 00000 n -0000071664 00000 n -0000071820 00000 n -0000071983 00000 n -0000072146 00000 n -0000072303 00000 n -0000072466 00000 n -0000072629 00000 n -0000072792 00000 n -0000072949 00000 n -0000073112 00000 n -0000073275 00000 n -0000073432 00000 n -0000073587 00000 n -0000073744 00000 n -0000073901 00000 n -0000074056 00000 n -0000074211 00000 n -0000081673 00000 n -0000076981 00000 n -0000074528 00000 n -0000081547 00000 n -0000081610 00000 n -0000077331 00000 n -0000077485 00000 n -0000077640 00000 n -0000077796 00000 n -0000077952 00000 n -0000078108 00000 n -0000078264 00000 n -0000078420 00000 n -0000078576 00000 n -0000078732 00000 n -0000078888 00000 n -0000079043 00000 n -0000079200 00000 n -0000079357 00000 n -0000079513 00000 n -0000079670 00000 n -0000079826 00000 n -0000079983 00000 n -0000080140 00000 n -0000080297 00000 n -0000080453 00000 n -0000080610 00000 n -0000080765 00000 n -0000080922 00000 n -0000081078 00000 n -0000081235 00000 n -0000081390 00000 n -0000097750 00000 n -0000101041 00000 n -0000116033 00000 n -0000126124 00000 n -0000161019 00000 n -0000161083 00000 n -0000169952 00000 n -0000170016 00000 n -0000181533 00000 n -0000181596 00000 n -0000190841 00000 n -0000196494 00000 n -0000224149 00000 n -0000231865 00000 n -0000278921 00000 n -0000308334 00000 n -0000321855 00000 n -0000497101 00000 n -0000497165 00000 n -0000568046 00000 n -0000591160 00000 n -0000618897 00000 n -0000648766 00000 n -0000674264 00000 n -0000704909 00000 n -0000733720 00000 n -0000758538 00000 n -0000086235 00000 n -0000083411 00000 n -0000081758 00000 n -0000086172 00000 n -0000083673 00000 n -0000083830 00000 n -0000083987 00000 n -0000084144 00000 n -0000084300 00000 n -0000084455 00000 n -0000084611 00000 n -0000084767 00000 n -0000084923 00000 n -0000085079 00000 n -0000085235 00000 n -0000085390 00000 n -0000085546 00000 n -0000085703 00000 n -0000085860 00000 n -0000086016 00000 n -0000795872 00000 n -0000828069 00000 n -0000853757 00000 n -0000860448 00000 n -0000871803 00000 n -0000876259 00000 n -0000888581 00000 n -0000893457 00000 n -0000897534 00000 n -0000904479 00000 n -0000924636 00000 n -0000946516 00000 n -0000961290 00000 n -0000967694 00000 n -0000971927 00000 n -0000975821 00000 n -0000091612 00000 n -0000088252 00000 n -0000086320 00000 n -0000091486 00000 n -0000091549 00000 n -0000088538 00000 n -0000088692 00000 n -0000088847 00000 n -0000089002 00000 n -0000089157 00000 n -0000089312 00000 n -0000089467 00000 n -0000089622 00000 n -0000089777 00000 n -0000089932 00000 n -0000090088 00000 n -0000090243 00000 n -0000090399 00000 n -0000090555 00000 n -0000090709 00000 n -0000090865 00000 n -0000091020 00000 n -0000091176 00000 n -0000091331 00000 n -0000173087 00000 n -0000287819 00000 n -0000330663 00000 n -0000500114 00000 n -0000500178 00000 n -0000567920 00000 n -0000593604 00000 n -0000621366 00000 n -0000652027 00000 n -0000676112 00000 n -0000707108 00000 n -0000710116 00000 n -0000712225 00000 n -0000758412 00000 n -0000760759 00000 n -0000763914 00000 n -0000765949 00000 n -0000860384 00000 n -0000864298 00000 n -0000094036 00000 n -0000093548 00000 n -0000091710 00000 n -0000093850 00000 n -0000093690 00000 n -0000992548 00000 n -0000096210 00000 n -0000099620 00000 n -0000097940 00000 n -0000096068 00000 n -0000094134 00000 n -0000097562 00000 n -0000097687 00000 n -0000097406 00000 n -0000097814 00000 n -0000097877 00000 n -0001092765 00000 n -0000097135 00000 n -0000097266 00000 n -0000097313 00000 n -0000097385 00000 n -0000101105 00000 n -0000099498 00000 n -0000098066 00000 n -0000100915 00000 n -0000100978 00000 n -0000100644 00000 n -0000100775 00000 n -0000100822 00000 n -0000100894 00000 n -0000103561 00000 n -0000103073 00000 n -0000101231 00000 n -0000103372 00000 n -0000103435 00000 n -0000103498 00000 n -0000103215 00000 n -0000105058 00000 n -0000116097 00000 n -0000104900 00000 n -0000103659 00000 n -0000115846 00000 n -0000115379 00000 n -0000115533 00000 n -0000115689 00000 n -0000118165 00000 n -0000127672 00000 n -0000158126 00000 n -0000126251 00000 n -0000118015 00000 n -0000116231 00000 n -0000125998 00000 n -0000126061 00000 n -0000125684 00000 n -0000126188 00000 n -0000125841 00000 n -0000161147 00000 n -0000127550 00000 n -0000126385 00000 n -0000160956 00000 n -0000162812 00000 n -0000167236 00000 n -0000170080 00000 n -0000162670 00000 n -0000161294 00000 n -0000169826 00000 n -0000169889 00000 n -0000169669 00000 n -0001092883 00000 n -0000173214 00000 n -0000172562 00000 n -0000170227 00000 n -0000173024 00000 n -0000172712 00000 n -0000173151 00000 n -0000172868 00000 n -0000174837 00000 n -0000177513 00000 n -0000181660 00000 n -0000174695 00000 n -0000173312 00000 n -0000181407 00000 n -0000181470 00000 n -0000181250 00000 n -0000183890 00000 n -0000193629 00000 n -0000190905 00000 n -0000183724 00000 n -0000181809 00000 n -0000190778 00000 n -0000190151 00000 n -0000190308 00000 n -0000190464 00000 n -0000190621 00000 n -0000198650 00000 n -0000196620 00000 n -0000193471 00000 n -0000191027 00000 n -0000196368 00000 n -0000196431 00000 n -0000195898 00000 n -0000196054 00000 n -0000196211 00000 n -0000224339 00000 n -0000198508 00000 n -0000196755 00000 n -0000224086 00000 n -0000224213 00000 n -0000223928 00000 n -0000224276 00000 n -0000226384 00000 n -0000231992 00000 n -0000226262 00000 n -0000224474 00000 n -0000231802 00000 n -0000231929 00000 n -0001093001 00000 n -0000233836 00000 n -0000279109 00000 n -0000233714 00000 n -0000232127 00000 n -0000278858 00000 n -0000279046 00000 n -0000281827 00000 n -0000281516 00000 n -0000279244 00000 n -0000281638 00000 n -0000281701 00000 n -0000281764 00000 n -0000289980 00000 n -0000284346 00000 n -0000283973 00000 n -0000281938 00000 n -0000284095 00000 n -0000284158 00000 n -0000284221 00000 n -0000310302 00000 n -0000288007 00000 n -0000287292 00000 n -0000284444 00000 n -0000287756 00000 n -0000287442 00000 n -0000287598 00000 n -0000308398 00000 n -0000289858 00000 n -0000288118 00000 n -0000308271 00000 n -0000321918 00000 n -0000310180 00000 n -0000308546 00000 n -0000321792 00000 n -0001093119 00000 n -0000325246 00000 n -0000324999 00000 n -0000322066 00000 n -0000325121 00000 n -0000328061 00000 n -0000327876 00000 n -0000325357 00000 n -0000327998 00000 n -0001047095 00000 n -0001038165 00000 n -0001046915 00000 n -0001037723 00000 n -0001035437 00000 n -0001037561 00000 n -0001035143 00000 n -0001027325 00000 n -0001034968 00000 n -0001026938 00000 n -0001024750 00000 n -0001026775 00000 n -0000330788 00000 n -0000330137 00000 n -0000328224 00000 n -0000330600 00000 n -0001024209 00000 n -0001015334 00000 n -0001024032 00000 n -0000330287 00000 n -0000330444 00000 n -0000332500 00000 n -0000332191 00000 n -0000330899 00000 n -0000332313 00000 n -0000334187 00000 n -0000365386 00000 n -0000497229 00000 n -0000334037 00000 n -0000332598 00000 n -0000496976 00000 n -0000496664 00000 n -0000496822 00000 n -0000500242 00000 n -0000499588 00000 n -0000497391 00000 n -0000500051 00000 n -0000499738 00000 n -0000499894 00000 n -0001093237 00000 n -0000502370 00000 n -0000568110 00000 n -0000502248 00000 n -0000500340 00000 n -0000567857 00000 n -0000569619 00000 n -0000569092 00000 n -0000568258 00000 n -0000569556 00000 n -0000569242 00000 n -0000569400 00000 n -0000572385 00000 n -0000591224 00000 n -0000572227 00000 n -0000569704 00000 n -0000591035 00000 n -0000590566 00000 n -0000590723 00000 n -0000590880 00000 n -0000593730 00000 n -0000593419 00000 n -0000591437 00000 n -0000593541 00000 n -0000593667 00000 n -0000596558 00000 n -0000618961 00000 n -0000596392 00000 n -0000593854 00000 n -0000618772 00000 n -0000618145 00000 n -0000618306 00000 n -0000618462 00000 n -0000618616 00000 n -0000992484 00000 n -0000621430 00000 n -0000621004 00000 n -0000619174 00000 n -0000621303 00000 n -0000621146 00000 n -0001093355 00000 n -0000624075 00000 n -0000648830 00000 n -0000623953 00000 n -0000621541 00000 n -0000648641 00000 n -0001015003 00000 n -0001012893 00000 n -0001014832 00000 n -0000652154 00000 n -0000651500 00000 n -0000649056 00000 n -0000651964 00000 n -0000651650 00000 n -0000651808 00000 n -0000652091 00000 n -0000654480 00000 n -0000674391 00000 n -0000654330 00000 n -0000652278 00000 n -0000674139 00000 n -0000673824 00000 n -0000673982 00000 n -0000674328 00000 n -0000676176 00000 n -0000675927 00000 n -0000674539 00000 n -0000676049 00000 n -0000678729 00000 n -0000704973 00000 n -0000678563 00000 n -0000676287 00000 n -0000704784 00000 n -0000704161 00000 n -0000704317 00000 n -0000704472 00000 n -0000704628 00000 n -0000707234 00000 n -0000706923 00000 n -0000705121 00000 n -0000707045 00000 n -0000707172 00000 n -0001093473 00000 n -0000710180 00000 n -0000709931 00000 n -0000707345 00000 n -0000710053 00000 n -0000712289 00000 n -0000712040 00000 n -0000710278 00000 n -0000712162 00000 n -0000714429 00000 n -0000733784 00000 n -0000714279 00000 n -0000712387 00000 n -0000733595 00000 n -0000733280 00000 n -0000733438 00000 n -0000736445 00000 n -0000758602 00000 n -0000736279 00000 n -0000733932 00000 n -0000758349 00000 n -0000757721 00000 n -0000757879 00000 n -0000758036 00000 n -0000758192 00000 n -0000761137 00000 n -0000760574 00000 n -0000758750 00000 n -0000760696 00000 n -0000760822 00000 n -0000760885 00000 n -0000760948 00000 n -0000761011 00000 n -0000761074 00000 n -0000763978 00000 n -0000763729 00000 n -0000761248 00000 n -0000763851 00000 n -0001093591 00000 n -0000766076 00000 n -0000765764 00000 n -0000764076 00000 n -0000765886 00000 n -0000766013 00000 n -0000768211 00000 n -0000798470 00000 n -0000795936 00000 n -0000768069 00000 n -0000766187 00000 n -0000795684 00000 n -0000795527 00000 n -0000828133 00000 n -0000798304 00000 n -0000796123 00000 n -0000828006 00000 n -0000827368 00000 n -0000827526 00000 n -0000827684 00000 n -0000827845 00000 n -0000830800 00000 n -0000853821 00000 n -0000830650 00000 n -0000828294 00000 n -0000853631 00000 n -0000853318 00000 n -0000853474 00000 n -0000856731 00000 n -0000856018 00000 n -0000854021 00000 n -0000856479 00000 n -0000856168 00000 n -0000856322 00000 n -0000859053 00000 n -0000860512 00000 n -0000858931 00000 n -0000856829 00000 n -0000860321 00000 n -0001093709 00000 n -0000860050 00000 n -0000860181 00000 n -0000860228 00000 n -0000860300 00000 n -0000864362 00000 n -0000863607 00000 n -0000860639 00000 n -0000864235 00000 n -0000863765 00000 n -0000863923 00000 n -0000864079 00000 n -0000867863 00000 n -0000867438 00000 n -0000864473 00000 n -0000867737 00000 n -0000867580 00000 n -0000870076 00000 n -0000873893 00000 n -0000871867 00000 n -0000869934 00000 n -0000867961 00000 n -0000871740 00000 n -0000871585 00000 n -0000871234 00000 n -0000871365 00000 n -0000871412 00000 n -0000871484 00000 n -0000871564 00000 n -0000876386 00000 n -0000873751 00000 n -0000871994 00000 n -0000876070 00000 n -0000875914 00000 n -0000876323 00000 n -0000875562 00000 n -0000875693 00000 n -0000875740 00000 n -0000875812 00000 n -0000875892 00000 n -0000879639 00000 n -0000879151 00000 n -0000876513 00000 n -0000879450 00000 n -0000879513 00000 n -0000879576 00000 n -0000879293 00000 n -0000882120 00000 n -0000881935 00000 n -0000879737 00000 n -0000882057 00000 n -0001093827 00000 n -0000884203 00000 n -0000883955 00000 n -0000882218 00000 n -0000884077 00000 n -0001011797 00000 n -0000994587 00000 n -0001011624 00000 n -0000886932 00000 n -0000888645 00000 n -0000886782 00000 n -0000884314 00000 n -0000888392 00000 n -0000888081 00000 n -0000888236 00000 n -0000887810 00000 n -0000887941 00000 n -0000887988 00000 n -0000888060 00000 n -0000891243 00000 n -0000893520 00000 n -0000891093 00000 n -0000888772 00000 n -0000893394 00000 n -0000893081 00000 n -0000893237 00000 n -0000892729 00000 n -0000892860 00000 n -0000892907 00000 n -0000892979 00000 n -0000893059 00000 n -0000896168 00000 n -0000897598 00000 n -0000896046 00000 n -0000893634 00000 n -0000897471 00000 n -0000897200 00000 n -0000897331 00000 n -0000897378 00000 n -0000897450 00000 n -0000902465 00000 n -0000900038 00000 n -0000899665 00000 n -0000897712 00000 n -0000899787 00000 n -0000906427 00000 n -0000904543 00000 n -0000902323 00000 n -0000900149 00000 n -0000904416 00000 n -0000904260 00000 n -0001093945 00000 n -0000903909 00000 n -0000904040 00000 n -0000904087 00000 n -0000904159 00000 n -0000904239 00000 n -0000924700 00000 n -0000906305 00000 n -0000904657 00000 n -0000924573 00000 n -0000927826 00000 n -0000927641 00000 n -0000924835 00000 n -0000927763 00000 n -0000930705 00000 n -0000930520 00000 n -0000927924 00000 n -0000930642 00000 n -0000933210 00000 n -0000932962 00000 n -0000930803 00000 n -0000933084 00000 n -0000935653 00000 n -0000935230 00000 n -0000933334 00000 n -0000935527 00000 n -0000935590 00000 n -0000935372 00000 n -0000937680 00000 n -0000937495 00000 n -0000935764 00000 n -0000937617 00000 n -0001094063 00000 n -0000939641 00000 n -0000939393 00000 n -0000937778 00000 n -0000939515 00000 n -0000939578 00000 n -0000941834 00000 n -0000941335 00000 n -0000939752 00000 n -0000941457 00000 n -0000941583 00000 n -0000941645 00000 n -0000941708 00000 n -0000941771 00000 n -0000944209 00000 n -0000946579 00000 n -0000944059 00000 n -0000941958 00000 n -0000946138 00000 n -0000946201 00000 n -0000946264 00000 n -0000946327 00000 n -0000945825 00000 n -0000945981 00000 n -0000945554 00000 n -0000945685 00000 n -0000945732 00000 n -0000945804 00000 n -0000950701 00000 n -0000949785 00000 n -0000946719 00000 n -0000950575 00000 n -0000949951 00000 n -0000950107 00000 n -0000950263 00000 n -0000950418 00000 n -0000954094 00000 n -0000953468 00000 n -0000950799 00000 n -0000953590 00000 n -0000953653 00000 n -0000953716 00000 n -0000953779 00000 n -0000953842 00000 n -0000953905 00000 n -0000953968 00000 n -0000954031 00000 n -0000957410 00000 n -0000956985 00000 n -0000954257 00000 n -0000957285 00000 n -0000957127 00000 n -0001094181 00000 n -0000959367 00000 n -0000961354 00000 n -0000959245 00000 n -0000957560 00000 n -0000961227 00000 n -0000960875 00000 n -0000961006 00000 n -0000961053 00000 n -0000961125 00000 n -0000961205 00000 n -0000965852 00000 n -0000970264 00000 n -0000965166 00000 n -0000964398 00000 n -0000961481 00000 n -0000965037 00000 n -0000964562 00000 n -0000964720 00000 n -0000964878 00000 n -0000967759 00000 n -0000965727 00000 n -0000965291 00000 n -0000967629 00000 n -0000967353 00000 n -0000967485 00000 n -0000967533 00000 n -0000967606 00000 n -0000974413 00000 n -0000971991 00000 n -0000970139 00000 n -0000967874 00000 n -0000971862 00000 n -0000971587 00000 n -0000971719 00000 n -0000971767 00000 n -0000971840 00000 n -0000975950 00000 n -0000974267 00000 n -0000972119 00000 n -0000975756 00000 n -0000975601 00000 n -0000975326 00000 n -0000975458 00000 n -0000975506 00000 n -0000975579 00000 n -0000992419 00000 n -0000979923 00000 n -0000978854 00000 n +0000067830 00000 n +0000067893 00000 n +0000063664 00000 n +0000063819 00000 n +0000063976 00000 n +0000064131 00000 n +0000064286 00000 n +0000064442 00000 n +0000064599 00000 n +0000064756 00000 n +0000064913 00000 n +0000065076 00000 n +0000065239 00000 n +0000065402 00000 n +0000065565 00000 n +0000065722 00000 n +0000065884 00000 n +0001061389 00000 n +0001049138 00000 n +0001061213 00000 n +0000066047 00000 n +0000066210 00000 n +0000066373 00000 n +0000066535 00000 n +0000066697 00000 n +0000066859 00000 n +0000067022 00000 n +0000067185 00000 n +0000067348 00000 n +0000067505 00000 n +0000067668 00000 n +0001094184 00000 n +0000074435 00000 n +0000070226 00000 n +0000068054 00000 n +0000074372 00000 n +0000070552 00000 n +0000070706 00000 n +0000070863 00000 n +0000071026 00000 n +0000071189 00000 n +0000071344 00000 n +0000071506 00000 n +0000071669 00000 n +0000071825 00000 n +0000071988 00000 n +0000072151 00000 n +0000072308 00000 n +0000072471 00000 n +0000072634 00000 n +0000072797 00000 n +0000072954 00000 n +0000073117 00000 n +0000073280 00000 n +0000073437 00000 n +0000073592 00000 n +0000073749 00000 n +0000073906 00000 n +0000074061 00000 n +0000074216 00000 n +0000081678 00000 n +0000076986 00000 n +0000074533 00000 n +0000081552 00000 n +0000081615 00000 n +0000077336 00000 n +0000077490 00000 n +0000077645 00000 n +0000077801 00000 n +0000077957 00000 n +0000078113 00000 n +0000078269 00000 n +0000078425 00000 n +0000078581 00000 n +0000078737 00000 n +0000078893 00000 n +0000079048 00000 n +0000079205 00000 n +0000079362 00000 n +0000079518 00000 n +0000079675 00000 n +0000079831 00000 n +0000079988 00000 n +0000080145 00000 n +0000080302 00000 n +0000080458 00000 n +0000080615 00000 n +0000080770 00000 n +0000080927 00000 n +0000081083 00000 n +0000081240 00000 n +0000081395 00000 n +0000097756 00000 n +0000101047 00000 n +0000116039 00000 n +0000126130 00000 n +0000161025 00000 n +0000161089 00000 n +0000169958 00000 n +0000170022 00000 n +0000181539 00000 n +0000181602 00000 n +0000190847 00000 n +0000196500 00000 n +0000224155 00000 n +0000231871 00000 n +0000278927 00000 n +0000308340 00000 n +0000321861 00000 n +0000497107 00000 n +0000497171 00000 n +0000568052 00000 n +0000591166 00000 n +0000618903 00000 n +0000648772 00000 n +0000674270 00000 n +0000704915 00000 n +0000733726 00000 n +0000758544 00000 n +0000086240 00000 n +0000083416 00000 n +0000081763 00000 n +0000086177 00000 n +0000083678 00000 n +0000083835 00000 n +0000083992 00000 n +0000084149 00000 n +0000084305 00000 n +0000084460 00000 n +0000084616 00000 n +0000084772 00000 n +0000084928 00000 n +0000085084 00000 n +0000085240 00000 n +0000085395 00000 n +0000085551 00000 n +0000085708 00000 n +0000085865 00000 n +0000086021 00000 n +0000795878 00000 n +0000827565 00000 n +0000854829 00000 n +0000861508 00000 n +0000873263 00000 n +0000877703 00000 n +0000889563 00000 n +0000894109 00000 n +0000898287 00000 n +0000905466 00000 n +0000925748 00000 n +0000951593 00000 n +0000962486 00000 n +0000968609 00000 n +0000972745 00000 n +0000976587 00000 n +0000091618 00000 n +0000088258 00000 n +0000086325 00000 n +0000091492 00000 n +0000091555 00000 n +0000088544 00000 n +0000088698 00000 n +0000088853 00000 n +0000089008 00000 n +0000089163 00000 n +0000089318 00000 n +0000089473 00000 n +0000089628 00000 n +0000089783 00000 n +0000089938 00000 n +0000090094 00000 n +0000090249 00000 n +0000090405 00000 n +0000090561 00000 n +0000090715 00000 n +0000090871 00000 n +0000091026 00000 n +0000091182 00000 n +0000091337 00000 n +0000173093 00000 n +0000287825 00000 n +0000330669 00000 n +0000500120 00000 n +0000500184 00000 n +0000567926 00000 n +0000593610 00000 n +0000621372 00000 n +0000652033 00000 n +0000676118 00000 n +0000707114 00000 n +0000710122 00000 n +0000712231 00000 n +0000758418 00000 n +0000760765 00000 n +0000763920 00000 n +0000765955 00000 n +0000861444 00000 n +0000869013 00000 n +0000094042 00000 n +0000093554 00000 n +0000091716 00000 n +0000093856 00000 n +0000093696 00000 n +0000993939 00000 n +0000096216 00000 n +0000099626 00000 n +0000097946 00000 n +0000096074 00000 n +0000094140 00000 n +0000097568 00000 n +0000097693 00000 n +0000097412 00000 n +0000097820 00000 n +0000097883 00000 n +0001094302 00000 n +0000097141 00000 n +0000097272 00000 n +0000097319 00000 n +0000097391 00000 n +0000101111 00000 n +0000099504 00000 n +0000098072 00000 n +0000100921 00000 n +0000100984 00000 n +0000100650 00000 n +0000100781 00000 n +0000100828 00000 n +0000100900 00000 n +0000103567 00000 n +0000103079 00000 n +0000101237 00000 n +0000103378 00000 n +0000103441 00000 n +0000103504 00000 n +0000103221 00000 n +0000105064 00000 n +0000116103 00000 n +0000104906 00000 n +0000103665 00000 n +0000115852 00000 n +0000115385 00000 n +0000115539 00000 n +0000115695 00000 n +0000118171 00000 n +0000127678 00000 n +0000158132 00000 n +0000126257 00000 n +0000118021 00000 n +0000116237 00000 n +0000126004 00000 n +0000126067 00000 n +0000125690 00000 n +0000126194 00000 n +0000125847 00000 n +0000161153 00000 n +0000127556 00000 n +0000126391 00000 n +0000160962 00000 n +0000162818 00000 n +0000167242 00000 n +0000170086 00000 n +0000162676 00000 n +0000161300 00000 n +0000169832 00000 n +0000169895 00000 n +0000169675 00000 n +0001094420 00000 n +0000173220 00000 n +0000172568 00000 n +0000170233 00000 n +0000173030 00000 n +0000172718 00000 n +0000173157 00000 n +0000172874 00000 n +0000174843 00000 n +0000177519 00000 n +0000181666 00000 n +0000174701 00000 n +0000173318 00000 n +0000181413 00000 n +0000181476 00000 n +0000181256 00000 n +0000183896 00000 n +0000193635 00000 n +0000190911 00000 n +0000183730 00000 n +0000181815 00000 n +0000190784 00000 n +0000190157 00000 n +0000190314 00000 n +0000190470 00000 n +0000190627 00000 n +0000198656 00000 n +0000196626 00000 n +0000193477 00000 n +0000191033 00000 n +0000196374 00000 n +0000196437 00000 n +0000195904 00000 n +0000196060 00000 n +0000196217 00000 n +0000224345 00000 n +0000198514 00000 n +0000196761 00000 n +0000224092 00000 n +0000224219 00000 n +0000223934 00000 n +0000224282 00000 n +0000226390 00000 n +0000231998 00000 n +0000226268 00000 n +0000224480 00000 n +0000231808 00000 n +0000231935 00000 n +0001094538 00000 n +0000233842 00000 n +0000279115 00000 n +0000233720 00000 n +0000232133 00000 n +0000278864 00000 n +0000279052 00000 n +0000281833 00000 n +0000281522 00000 n +0000279250 00000 n +0000281644 00000 n +0000281707 00000 n +0000281770 00000 n +0000289986 00000 n +0000284352 00000 n +0000283979 00000 n +0000281944 00000 n +0000284101 00000 n +0000284164 00000 n +0000284227 00000 n +0000310308 00000 n +0000288013 00000 n +0000287298 00000 n +0000284450 00000 n +0000287762 00000 n +0000287448 00000 n +0000287604 00000 n +0000308404 00000 n +0000289864 00000 n +0000288124 00000 n +0000308277 00000 n +0000321924 00000 n +0000310186 00000 n +0000308552 00000 n +0000321798 00000 n +0001094656 00000 n +0000325252 00000 n +0000325005 00000 n +0000322072 00000 n +0000325127 00000 n +0000328067 00000 n +0000327882 00000 n +0000325363 00000 n +0000328004 00000 n +0001048776 00000 n +0001039555 00000 n +0001048596 00000 n +0001039113 00000 n +0001036827 00000 n +0001038951 00000 n +0001036533 00000 n +0001028715 00000 n +0001036358 00000 n +0001028328 00000 n +0001026141 00000 n +0001028165 00000 n +0000330794 00000 n +0000330143 00000 n +0000328230 00000 n +0000330606 00000 n +0001025600 00000 n +0001016725 00000 n +0001025423 00000 n +0000330293 00000 n +0000330450 00000 n +0000332506 00000 n +0000332197 00000 n +0000330905 00000 n +0000332319 00000 n +0000334193 00000 n +0000365392 00000 n +0000497235 00000 n +0000334043 00000 n +0000332604 00000 n +0000496982 00000 n +0000496670 00000 n +0000496828 00000 n +0000500248 00000 n +0000499594 00000 n +0000497397 00000 n +0000500057 00000 n +0000499744 00000 n +0000499900 00000 n +0001094774 00000 n +0000502376 00000 n +0000568116 00000 n +0000502254 00000 n +0000500346 00000 n +0000567863 00000 n +0000569625 00000 n +0000569098 00000 n +0000568264 00000 n +0000569562 00000 n +0000569248 00000 n +0000569406 00000 n +0000572391 00000 n +0000591230 00000 n +0000572233 00000 n +0000569710 00000 n +0000591041 00000 n +0000590572 00000 n +0000590729 00000 n +0000590886 00000 n +0000593736 00000 n +0000593425 00000 n +0000591443 00000 n +0000593547 00000 n +0000593673 00000 n +0000596564 00000 n +0000618967 00000 n +0000596398 00000 n +0000593860 00000 n +0000618778 00000 n +0000618151 00000 n +0000618312 00000 n +0000618468 00000 n +0000618622 00000 n +0000993875 00000 n +0000621436 00000 n +0000621010 00000 n +0000619180 00000 n +0000621309 00000 n +0000621152 00000 n +0001094892 00000 n +0000624081 00000 n +0000648836 00000 n +0000623959 00000 n +0000621547 00000 n +0000648647 00000 n +0001016394 00000 n +0001014284 00000 n +0001016223 00000 n +0000652160 00000 n +0000651506 00000 n +0000649062 00000 n +0000651970 00000 n +0000651656 00000 n +0000651814 00000 n +0000652097 00000 n +0000654486 00000 n +0000674397 00000 n +0000654336 00000 n +0000652284 00000 n +0000674145 00000 n +0000673830 00000 n +0000673988 00000 n +0000674334 00000 n +0000676182 00000 n +0000675933 00000 n +0000674545 00000 n +0000676055 00000 n +0000678735 00000 n +0000704979 00000 n +0000678569 00000 n +0000676293 00000 n +0000704790 00000 n +0000704167 00000 n +0000704323 00000 n +0000704478 00000 n +0000704634 00000 n +0000707240 00000 n +0000706929 00000 n +0000705127 00000 n +0000707051 00000 n +0000707178 00000 n +0001095010 00000 n +0000710186 00000 n +0000709937 00000 n +0000707351 00000 n +0000710059 00000 n +0000712295 00000 n +0000712046 00000 n +0000710284 00000 n +0000712168 00000 n +0000714435 00000 n +0000733790 00000 n +0000714285 00000 n +0000712393 00000 n +0000733601 00000 n +0000733286 00000 n +0000733444 00000 n +0000736451 00000 n +0000758608 00000 n +0000736285 00000 n +0000733938 00000 n +0000758355 00000 n +0000757727 00000 n +0000757885 00000 n +0000758042 00000 n +0000758198 00000 n +0000761143 00000 n +0000760580 00000 n +0000758756 00000 n +0000760702 00000 n +0000760828 00000 n +0000760891 00000 n +0000760954 00000 n +0000761017 00000 n +0000761080 00000 n +0000763984 00000 n +0000763735 00000 n +0000761254 00000 n +0000763857 00000 n +0001095128 00000 n +0000766082 00000 n +0000765770 00000 n +0000764082 00000 n +0000765892 00000 n +0000766019 00000 n +0000768217 00000 n +0000798288 00000 n +0000795942 00000 n +0000768075 00000 n +0000766193 00000 n +0000795690 00000 n +0000795533 00000 n +0000827629 00000 n +0000798138 00000 n +0000796129 00000 n +0000827502 00000 n +0000827186 00000 n +0001013188 00000 n +0000995978 00000 n +0001013015 00000 n +0000827344 00000 n +0000829274 00000 n +0000828739 00000 n +0000827803 00000 n +0000829211 00000 n +0000828889 00000 n +0000829050 00000 n +0000831872 00000 n +0000854893 00000 n +0000831722 00000 n +0000829359 00000 n +0000854703 00000 n +0000854390 00000 n +0000854546 00000 n +0000857811 00000 n +0000857098 00000 n +0000855093 00000 n +0000857559 00000 n +0000857248 00000 n +0000857402 00000 n +0001095246 00000 n +0000860113 00000 n +0000861572 00000 n +0000859991 00000 n +0000857909 00000 n +0000861381 00000 n +0000861110 00000 n +0000861241 00000 n +0000861288 00000 n +0000861360 00000 n +0000865258 00000 n +0000864567 00000 n +0000861699 00000 n +0000865195 00000 n +0000864725 00000 n +0000864883 00000 n +0000865039 00000 n +0000869140 00000 n +0000868651 00000 n +0000865356 00000 n +0000868950 00000 n +0000868793 00000 n +0000871378 00000 n +0000875337 00000 n +0000873327 00000 n +0000871228 00000 n +0000869238 00000 n +0000873200 00000 n +0000872887 00000 n +0000873042 00000 n +0000872536 00000 n +0000872667 00000 n +0000872714 00000 n +0000872786 00000 n +0000872866 00000 n +0000877830 00000 n +0000875195 00000 n +0000873441 00000 n +0000877514 00000 n +0000877358 00000 n +0000877767 00000 n +0000877006 00000 n +0000877137 00000 n +0000877184 00000 n +0000877256 00000 n +0000877336 00000 n +0000881133 00000 n +0000880645 00000 n +0000877957 00000 n +0000880944 00000 n +0000881007 00000 n +0000881070 00000 n +0000880787 00000 n +0001095364 00000 n +0000883616 00000 n +0000883431 00000 n +0000881231 00000 n +0000883553 00000 n +0000885863 00000 n +0000885615 00000 n +0000883714 00000 n +0000885737 00000 n +0000887913 00000 n +0000889627 00000 n +0000887763 00000 n +0000885974 00000 n +0000889374 00000 n +0000889062 00000 n +0000889218 00000 n +0000888791 00000 n +0000888922 00000 n +0000888969 00000 n +0000889041 00000 n +0000892052 00000 n +0000894171 00000 n +0000891910 00000 n +0000889767 00000 n +0000894046 00000 n +0000893890 00000 n +0000893538 00000 n +0000893669 00000 n +0000893716 00000 n +0000893788 00000 n +0000893868 00000 n +0000896758 00000 n +0000898351 00000 n +0000896616 00000 n +0000894285 00000 n +0000898224 00000 n +0000898069 00000 n +0000897798 00000 n +0000897929 00000 n +0000897976 00000 n +0000898048 00000 n +0000901121 00000 n +0000900873 00000 n +0000898465 00000 n +0000900995 00000 n +0001095482 00000 n +0000903326 00000 n +0000905530 00000 n +0000903184 00000 n +0000901232 00000 n +0000905277 00000 n +0000905121 00000 n +0000904770 00000 n +0000904901 00000 n +0000904948 00000 n +0000905020 00000 n +0000905100 00000 n +0000907539 00000 n +0000925811 00000 n +0000907417 00000 n +0000905657 00000 n +0000925685 00000 n +0000928853 00000 n +0000928668 00000 n +0000925946 00000 n +0000928790 00000 n +0000931871 00000 n +0000931686 00000 n +0000928951 00000 n +0000931808 00000 n +0000934629 00000 n +0000934381 00000 n +0000931969 00000 n +0000934503 00000 n +0000936841 00000 n +0000936416 00000 n +0000934740 00000 n +0000936715 00000 n +0000936778 00000 n +0000936558 00000 n +0001095600 00000 n +0000939047 00000 n +0000938862 00000 n +0000936952 00000 n +0000938984 00000 n +0000940871 00000 n +0000940623 00000 n +0000939145 00000 n +0000940745 00000 n +0000940808 00000 n +0000942742 00000 n +0000942494 00000 n +0000940982 00000 n +0000942616 00000 n +0000947134 00000 n +0000945713 00000 n +0000942853 00000 n +0000946505 00000 n +0000946568 00000 n +0000946631 00000 n +0000946694 00000 n +0000946757 00000 n +0000946820 00000 n +0000946883 00000 n +0000946946 00000 n +0000945879 00000 n +0000946035 00000 n +0000946191 00000 n +0000946348 00000 n +0000949600 00000 n +0000951656 00000 n +0000949450 00000 n +0000947258 00000 n +0000951530 00000 n +0000951216 00000 n +0000951373 00000 n +0000950945 00000 n +0000951076 00000 n +0000951123 00000 n +0000951195 00000 n +0000954885 00000 n +0000954386 00000 n +0000951770 00000 n +0000954508 00000 n +0000954634 00000 n +0000954697 00000 n +0000954759 00000 n +0000954822 00000 n +0001095718 00000 n +0000958305 00000 n +0000957692 00000 n +0000955048 00000 n +0000957991 00000 n +0000958054 00000 n +0000958117 00000 n +0000958180 00000 n +0000957834 00000 n +0000960557 00000 n +0000962550 00000 n +0000960435 00000 n +0000958481 00000 n +0000962423 00000 n +0000962068 00000 n +0000962199 00000 n +0000962246 00000 n +0000962319 00000 n +0000962400 00000 n +0000966766 00000 n +0000971081 00000 n +0000966080 00000 n +0000965312 00000 n +0000962677 00000 n +0000965952 00000 n +0000965476 00000 n +0000965635 00000 n +0000965793 00000 n +0000968674 00000 n +0000966641 00000 n +0000966205 00000 n +0000968544 00000 n +0000968268 00000 n +0000968400 00000 n +0000968448 00000 n +0000968521 00000 n +0000975179 00000 n +0000972809 00000 n +0000970956 00000 n +0000968790 00000 n +0000972680 00000 n +0000972405 00000 n +0000972537 00000 n +0000972585 00000 n +0000972658 00000 n +0000976715 00000 n +0000975032 00000 n +0000972938 00000 n +0000976522 00000 n +0000976367 00000 n +0001095839 00000 n 0000976092 00000 n -0000979729 00000 n -0000979028 00000 n -0000979858 00000 n -0000979202 00000 n -0000979378 00000 n -0000979555 00000 n -0001094303 00000 n -0000984612 00000 n -0000981564 00000 n -0000980048 00000 n -0000984547 00000 n -0000981837 00000 n -0000982011 00000 n -0000982195 00000 n -0000982364 00000 n -0000982543 00000 n -0000982728 00000 n -0000982903 00000 n -0000983102 00000 n -0000983274 00000 n -0000983446 00000 n -0000983648 00000 n -0000983823 00000 n -0000984003 00000 n -0000984184 00000 n -0000984363 00000 n -0000987101 00000 n -0000986846 00000 n -0000984724 00000 n -0000986972 00000 n -0000988814 00000 n -0000988623 00000 n -0000987213 00000 n -0000988749 00000 n -0000991358 00000 n -0000990129 00000 n -0000988913 00000 n -0000990255 00000 n -0000990384 00000 n -0000990449 00000 n -0000990514 00000 n -0000990579 00000 n -0000990644 00000 n -0000990709 00000 n -0000990774 00000 n -0000990839 00000 n -0000990904 00000 n -0000990969 00000 n -0000991034 00000 n -0000991099 00000 n -0000991164 00000 n -0000991229 00000 n -0000991294 00000 n -0000992612 00000 n -0000992164 00000 n -0000991444 00000 n -0000992290 00000 n -0000992698 00000 n -0001012290 00000 n -0001015241 00000 n -0001015216 00000 n -0001024509 00000 n -0001027204 00000 n -0001027165 00000 n -0001035382 00000 n -0001038024 00000 n -0001037951 00000 n -0001047348 00000 n -0001060251 00000 n -0001063125 00000 n -0001062995 00000 n -0001077734 00000 n -0001091866 00000 n -0001094428 00000 n -0001094548 00000 n -0001094668 00000 n -0001094773 00000 n -0001094855 00000 n -0001099532 00000 n -0001105216 00000 n -0001105257 00000 n -0001105297 00000 n -0001105453 00000 n +0000976224 00000 n +0000976272 00000 n +0000976345 00000 n +0000993810 00000 n +0000979742 00000 n +0000979487 00000 n +0000976857 00000 n +0000979613 00000 n +0000985821 00000 n +0000981964 00000 n +0000979854 00000 n +0000985692 00000 n +0000985757 00000 n +0000982273 00000 n +0000982449 00000 n +0000982627 00000 n +0000982802 00000 n +0000982975 00000 n +0000983160 00000 n +0000983329 00000 n +0000983508 00000 n +0000983693 00000 n +0000983868 00000 n +0000984046 00000 n +0000984245 00000 n +0000984416 00000 n +0000984588 00000 n +0000984790 00000 n +0000984967 00000 n +0000985148 00000 n +0000985329 00000 n +0000985508 00000 n +0000988350 00000 n +0000988095 00000 n +0000985946 00000 n +0000988221 00000 n +0000990205 00000 n +0000990014 00000 n +0000988462 00000 n +0000990140 00000 n +0000992749 00000 n +0000991520 00000 n +0000990304 00000 n +0000991646 00000 n +0000991775 00000 n +0000991840 00000 n +0000991905 00000 n +0000991970 00000 n +0000992035 00000 n +0000992100 00000 n +0000992165 00000 n +0000992230 00000 n +0000992295 00000 n +0000992360 00000 n +0000992425 00000 n +0000992490 00000 n +0000992555 00000 n +0000992620 00000 n +0000992685 00000 n +0000994003 00000 n +0000993555 00000 n +0000992835 00000 n +0000993681 00000 n +0001095964 00000 n +0000994089 00000 n +0001013681 00000 n +0001016632 00000 n +0001016607 00000 n +0001025900 00000 n +0001028594 00000 n +0001028555 00000 n +0001036772 00000 n +0001039414 00000 n +0001039341 00000 n +0001049031 00000 n +0001061936 00000 n +0001064810 00000 n +0001064680 00000 n +0001079419 00000 n +0001093405 00000 n +0001096044 00000 n +0001096164 00000 n +0001096284 00000 n +0001096398 00000 n +0001096480 00000 n +0001101157 00000 n +0001106859 00000 n +0001106900 00000 n +0001106940 00000 n +0001107096 00000 n trailer << -/Size 1120 -/Root 1118 0 R -/Info 1119 0 R -/ID [<5AA8C8B8AFF03E1D9A345FC2BB077911> <5AA8C8B8AFF03E1D9A345FC2BB077911>] +/Size 1126 +/Root 1124 0 R +/Info 1125 0 R +/ID [<7DA86CC62E22FFFF1452F0E89FB98612> <7DA86CC62E22FFFF1452F0E89FB98612>] >> startxref -1105721 +1107364 %%EOF diff --git a/LaTeX/images/wrapping.eps b/LaTeX/images/wrapping.eps index 60b2bbf..fa3222b 100644 --- a/LaTeX/images/wrapping.eps +++ b/LaTeX/images/wrapping.eps @@ -180,7 +180,7 @@ newpath 597 -72 lineto stroke 234 -87 moveto -(tasks : VSPriorityQueue) show +(globalTasks : VSPriorityQueue) show 1.0 1.0 1.0 setrgbcolor newpath 240 -96 moveto diff --git a/LaTeX/wrapping.zargo b/LaTeX/wrapping.zargo index b3a5ad6..f79d54f 100644 Binary files a/LaTeX/wrapping.zargo and b/LaTeX/wrapping.zargo differ diff --git a/sources/core/VSMessage.java b/sources/core/VSMessage.java index c896828..63ff57d 100644 --- a/sources/core/VSMessage.java +++ b/sources/core/VSMessage.java @@ -136,7 +136,7 @@ public class VSMessage extends VSPrefs { * * @return The process which sent this message. */ - public VSInternalProcess getSendingProcess() { + public VSAbstractProcess getSendingProcess() { return sendingProcess; } diff --git a/sources/simulator/VSSimulatorVisualization.java b/sources/simulator/VSSimulatorVisualization.java index ed38004..b1f7e45 100644 --- a/sources/simulator/VSSimulatorVisualization.java +++ b/sources/simulator/VSSimulatorVisualization.java @@ -1466,7 +1466,8 @@ public class VSSimulatorVisualization extends Canvas public void sendMessage(VSMessage message) { VSTask task = null; VSAbstractEvent receiveEvent = null; - VSInternalProcess sendingProcess = message.getSendingProcess(); + VSInternalProcess sendingProcess = (VSInternalProcess) + message.getSendingProcess(); long deliverTime, outageTime, durationTime; boolean recvOwn = prefs.getBoolean("sim.message.own.recv"); -- cgit v1.2.3