From 48bd50ae6b79b576240bb33e641c7209d9cf10e3 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 10 Aug 2008 01:30:01 +0000 Subject: renamed things. --- LaTeX/chapters/simulator.tex | 18 +- LaTeX/diplomarbeit.pdf | 2767 +++++++++++++++--------------- LaTeX/revision.tex | 2 +- saved-simulations/basic-multicast.dat | Bin 0 -> 25790 bytes saved-simulations/berkeley.dat | Bin 0 -> 25776 bytes saved-simulations/broadcast.dat | Bin 0 -> 30665 bytes saved-simulations/ext-vs-int-sync.dat | Bin 0 -> 25564 bytes saved-simulations/int-sync.dat | Bin 0 -> 23059 bytes saved-simulations/one-phase-commit.dat | Bin 0 -> 24834 bytes saved-simulations/ping-pong-sturm.dat | Bin 0 -> 24012 bytes saved-simulations/ping-pong.dat | Bin 0 -> 19547 bytes saved-simulations/reliable-multicast.dat | Bin 0 -> 24862 bytes saved-simulations/slow-connection.dat | Bin 0 -> 28965 bytes saved-simulations/two-phase-commit.dat | Bin 0 -> 23603 bytes simulationen/basic-multicast.dat | Bin 25790 -> 0 bytes simulationen/berkeley.dat | Bin 25776 -> 0 bytes simulationen/broadcast.dat | Bin 30665 -> 0 bytes simulationen/ext-vs-int-sync.dat | Bin 25564 -> 0 bytes simulationen/int-sync.dat | Bin 23059 -> 0 bytes simulationen/long-transfer.dat | Bin 28965 -> 0 bytes simulationen/one-phase-commit.dat | Bin 24834 -> 0 bytes simulationen/ping-pong-sturm.dat | Bin 24012 -> 0 bytes simulationen/ping-pong.dat | Bin 19547 -> 0 bytes simulationen/reliable-multicast.dat | Bin 24862 -> 0 bytes simulationen/slow-connection.dat | Bin 28965 -> 0 bytes simulationen/two-phase-commit.dat | Bin 23603 -> 0 bytes 26 files changed, 1392 insertions(+), 1395 deletions(-) create mode 100644 saved-simulations/basic-multicast.dat create mode 100644 saved-simulations/berkeley.dat create mode 100644 saved-simulations/broadcast.dat create mode 100644 saved-simulations/ext-vs-int-sync.dat create mode 100644 saved-simulations/int-sync.dat create mode 100644 saved-simulations/one-phase-commit.dat create mode 100644 saved-simulations/ping-pong-sturm.dat create mode 100644 saved-simulations/ping-pong.dat create mode 100644 saved-simulations/reliable-multicast.dat create mode 100644 saved-simulations/slow-connection.dat create mode 100644 saved-simulations/two-phase-commit.dat delete mode 100644 simulationen/basic-multicast.dat delete mode 100644 simulationen/berkeley.dat delete mode 100644 simulationen/broadcast.dat delete mode 100644 simulationen/ext-vs-int-sync.dat delete mode 100644 simulationen/int-sync.dat delete mode 100644 simulationen/long-transfer.dat delete mode 100644 simulationen/one-phase-commit.dat delete mode 100644 simulationen/ping-pong-sturm.dat delete mode 100644 simulationen/ping-pong.dat delete mode 100644 simulationen/reliable-multicast.dat delete mode 100644 simulationen/slow-connection.dat delete mode 100644 simulationen/two-phase-commit.dat diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex index d2d37c8..41b6460 100644 --- a/LaTeX/chapters/simulator.tex +++ b/LaTeX/chapters/simulator.tex @@ -370,7 +370,7 @@ Im Expertenmodus lassen sich zus\"{a}tzliche Variablen, wie beispielsweise diver Im Folgenden werden alle verf\"{u}gbaren Protokolle behandelt. Wie bereits beschrieben wird bei Protokollen zwischen Server- und Clientseite unterschieden. Server k\"{o}nnen auf Clientnachrichten, und Client auf Servernachrichten antworten. Jeder Prozess kann beliebig viele Protokolle sowohl clientseitig als auch serverseitig unterst\"{u}tzen. Theoretisch ist es auch m\"{o}glich, dass ein Prozess f\"{u}r ein bestimmtes Protokoll gleichzeitig der Server und der Client ist. Der Anwender kann auch weitere eigene Protokolle in der Programmiersprache Java mittels einer speziellen API (Application Programming Interface) erstellen. Wie eigene Protokolle erstellt werden k\"{o}nnen wird sp\"{a}ter behandelt. -Im mitgelieferten Verzeichnis ``simulationen'' befinden sich zum Testen alle Beispielsimulationen als \textit{.dat} (Java-Serialisierungsobjekt) abgespeichert. +Im mitgelieferten Verzeichnis \textit{saved-simulations} befinden sich alle Beispielsimulationen zum Selbstprobieren als \textit{.dat} (Java-Serialisierungsobjekt) abgespeichert. \subsection{Beispiel (Dummy) Protokoll} @@ -471,7 +471,7 @@ Das Broadcast Protokoll verh\"{a}lt sich \"{a}hnlich wie das Ping-Pong Protokoll Der Server und der Client unterscheiden sich in diesem Fall nicht und f\"{u}hren bei Ankunft einer Nachricht jeweis die selben Aktionen durch. Somit l\"{a}sst sich, unter Verwendung mehrerer Prozesse (hier 6), wie auf Abbildung \ref{fig:BroadcastSturmProto}, ein Broadcast erzeugen. P1 ist der Client und startet je eine Anfrage nach \textit{0ms} und \textit{2500ms}. Die Simulationsdauer betr\"{a}gt hier genau \textit{5000ms}. Da ein Client nur Servernachrichten und ein Server nur Clientnachrichten empfangen kann, ist in dieser Simulation jeder Prozess, wie in Tabelle \ref{tb:BroadcastSturmTasks} angegeben, gleichzeitig Server und Client. \newpage -\subsection{Das Protokoll zur internen Synchronisierung in einem synchronen System} +\subsection{Das Protokoll zur internen Synchronisierung in einem synchronen System \small{\textit{(int-sync.dat)}}} Bisher wurden nur Protokolle vorgef\"{u}hrt, in denen die beteiligten Prozesse keine Uhrabweichung eingestellt hatten. Das Protokoll zur internen Synchronisierung ist ein Protokoll zur Synchronisierung der lokalen Prozesszeit, welches beispielsweise angewendet werden kann, wenn eine Prozesszeit aufgrund einer Uhrabweichung falsch geht. Wenn der Client seine falsche lokale Zeit $t_c$ mit einem Server synchronisieren m\"{o}chte, so schickt er ihm eine Clientanfrage. Der Server schickt als Antwort seine eigene lokale Prozesszeit $t_s$ zur\"{u}ck, womit der Client seine neue und genauere Prozesszeit berechnen kann. Wie genau die neue Prozesszeit berechnet wird, ist im Folgenden beschrieben: @@ -521,7 +521,7 @@ Dieses Protokoll verwendet folgende zwei clientseitige Variablen, die in den Pro $t'_{min}$ und $t'_{max}$ sind die bei den Protokollberechnungen verwendeten Werte. Sie k\"{o}nnen sich allerdings von den tats\"{a}chlichen Nachrichten\"{u}bertragungszeiten $t_{min}$ und $t_{max}$ (siehe Sektion \"{u}ber Prozesseinstellungen) unterscheiden. Somit lassen sich auch Szenarien simulieren, in denen das Protokoll falsch eingestellt wurde und wo in der Zeitsynchronisierung groe Fehler auftreten k\"{o}nnen. \newpage -\subsection{Christians Methode zur externen Synchronisierung} +\subsection{Christians Methode zur externen Synchronisierung \small{\textit{(ext-vs-int-sync.dat)}}} \begin{figure}[h] \centering @@ -567,7 +567,7 @@ Auf der Abbildung \ref{fig:TimeSync2Proto} ist ablesbar, dass nach Ablauf der Si \end{table} \newpage -\subsection{Der Berkeley Algorithmus zur internen Synchronisierung} +\subsection{Der Berkeley Algorithmus zur internen Synchronisierung \small{\textit{(berkeley.dat)}}} \begin{figure}[h] \centering @@ -624,7 +624,7 @@ Dieses Protokoll verwendet folgende serverseitige Variable, die in den Prozessei \end{itemize} \newpage -\subsection{Das Ein-Phasen Commit Protokoll} +\subsection{Das Ein-Phasen Commit Protokoll \small{\textit{(one-phase-commit.dat)}}} \begin{figure}[h] \centering @@ -665,7 +665,7 @@ Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesse \end{itemize} \newpage -\subsection{Das Zwei-Phasen Commit Protokoll} +\subsection{Das Zwei-Phasen Commit Protokoll \small{\textit{(two-phase-commit.dat)}}} \begin{figure}[h] \centering @@ -835,7 +835,7 @@ Und folgende Clientvariable kann unter den Prozesseinstellungen unter dem Punkt \end{table} \newpage -\subsection{Der ungen\"{u}gende (Basic) Multicast} +\subsection{Der ungen\"{u}gende (Basic) Multicast \small{\textit{(basic-multicast.dat)}}} \begin{figure}[h] \centering @@ -874,7 +874,7 @@ In diesem Beispiel ging die 3. Multicast-Nachricht auf den Weg zu P3- und die 5. \end{table} \newpage -\subsection{Der zuverl\"{a}ssige (Reliable) Multicast} +\subsection{Der zuverl\"{a}ssige (Reliable) Multicast \small{\textit{(reliable-multicast.dat)}}} \begin{figure}[h] \centering @@ -1088,7 +1088,7 @@ Wenn im Laufe einer Simulation Prozesse entfernt- oder neue Prozesse hinzugef\"{ 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}. \newpage -\subsection{Simulation langsamer Verbindungen} +\subsection{Simulation langsamer Verbindungen \small{\textit{(slow-connection.dat)}}} 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. diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf index a40f478..95ef86a 100644 --- a/LaTeX/diplomarbeit.pdf +++ b/LaTeX/diplomarbeit.pdf @@ -99,43 +99,43 @@ endobj << /S /GoTo /D (subsection.2.5.4) >> endobj 72 0 obj -(\376\377\0002\000.\0005\000.\0004\000\040\000D\000a\000s\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000\040\000z\000u\000r\000\040\000i\000n\000t\000e\000r\000n\000e\000n\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000i\000n\000\040\000e\000i\000n\000e\000m\000\040\000s\000y\000n\000c\000h\000r\000o\000n\000e\000n\000\040\000S\000y\000s\000t\000e\000m) +(\376\377\0002\000.\0005\000.\0004\000\040\000D\000a\000s\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000\040\000z\000u\000r\000\040\000i\000n\000t\000e\000r\000n\000e\000n\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000i\000n\000\040\000e\000i\000n\000e\000m\000\040\000s\000y\000n\000c\000h\000r\000o\000n\000e\000n\000\040\000S\000y\000s\000t\000e\000m\000\040\000\050\000i\000n\000t\000-\000s\000y\000n\000c\000.\000d\000a\000t\000\051) endobj 73 0 obj << /S /GoTo /D (subsection.2.5.5) >> endobj 76 0 obj -(\376\377\0002\000.\0005\000.\0005\000\040\000C\000h\000r\000i\000s\000t\000i\000a\000n\000s\000\040\000M\000e\000t\000h\000o\000d\000e\000\040\000z\000u\000r\000\040\000e\000x\000t\000e\000r\000n\000e\000n\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000s\000i\000e\000r\000u\000n\000g) +(\376\377\0002\000.\0005\000.\0005\000\040\000C\000h\000r\000i\000s\000t\000i\000a\000n\000s\000\040\000M\000e\000t\000h\000o\000d\000e\000\040\000z\000u\000r\000\040\000e\000x\000t\000e\000r\000n\000e\000n\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000\050\000e\000x\000t\000-\000v\000s\000-\000i\000n\000t\000-\000s\000y\000n\000c\000.\000d\000a\000t\000\051) endobj 77 0 obj << /S /GoTo /D (subsection.2.5.6) >> endobj 80 0 obj -(\376\377\0002\000.\0005\000.\0006\000\040\000D\000e\000r\000\040\000B\000e\000r\000k\000e\000l\000e\000y\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m\000u\000s\000\040\000z\000u\000r\000\040\000i\000n\000t\000e\000r\000n\000e\000n\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000s\000i\000e\000r\000u\000n\000g) +(\376\377\0002\000.\0005\000.\0006\000\040\000D\000e\000r\000\040\000B\000e\000r\000k\000e\000l\000e\000y\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m\000u\000s\000\040\000z\000u\000r\000\040\000i\000n\000t\000e\000r\000n\000e\000n\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000\050\000b\000e\000r\000k\000e\000l\000e\000y\000.\000d\000a\000t\000\051) endobj 81 0 obj << /S /GoTo /D (subsection.2.5.7) >> endobj 84 0 obj -(\376\377\0002\000.\0005\000.\0007\000\040\000D\000a\000s\000\040\000E\000i\000n\000-\000P\000h\000a\000s\000e\000n\000\040\000C\000o\000m\000m\000i\000t\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l) +(\376\377\0002\000.\0005\000.\0007\000\040\000D\000a\000s\000\040\000E\000i\000n\000-\000P\000h\000a\000s\000e\000n\000\040\000C\000o\000m\000m\000i\000t\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000\040\000\050\000o\000n\000e\000-\000p\000h\000a\000s\000e\000-\000c\000o\000m\000m\000i\000t\000.\000d\000a\000t\000\051) endobj 85 0 obj << /S /GoTo /D (subsection.2.5.8) >> endobj 88 0 obj -(\376\377\0002\000.\0005\000.\0008\000\040\000D\000a\000s\000\040\000Z\000w\000e\000i\000-\000P\000h\000a\000s\000e\000n\000\040\000C\000o\000m\000m\000i\000t\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l) +(\376\377\0002\000.\0005\000.\0008\000\040\000D\000a\000s\000\040\000Z\000w\000e\000i\000-\000P\000h\000a\000s\000e\000n\000\040\000C\000o\000m\000m\000i\000t\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000\040\000\050\000t\000w\000o\000-\000p\000h\000a\000s\000e\000-\000c\000o\000m\000m\000i\000t\000.\000d\000a\000t\000\051) endobj 89 0 obj << /S /GoTo /D (subsection.2.5.9) >> endobj 92 0 obj -(\376\377\0002\000.\0005\000.\0009\000\040\000D\000e\000r\000\040\000u\000n\000g\000e\000n\000\374\000g\000e\000n\000d\000e\000\040\000\050\000B\000a\000s\000i\000c\000\051\000\040\000M\000u\000l\000t\000i\000c\000a\000s\000t) +(\376\377\0002\000.\0005\000.\0009\000\040\000D\000e\000r\000\040\000u\000n\000g\000e\000n\000\374\000g\000e\000n\000d\000e\000\040\000\050\000B\000a\000s\000i\000c\000\051\000\040\000M\000u\000l\000t\000i\000c\000a\000s\000t\000\040\000\050\000b\000a\000s\000i\000c\000-\000m\000u\000l\000t\000i\000c\000a\000s\000t\000.\000d\000a\000t\000\051) endobj 93 0 obj << /S /GoTo /D (subsection.2.5.10) >> endobj 96 0 obj -(\376\377\0002\000.\0005\000.\0001\0000\000\040\000D\000e\000r\000\040\000z\000u\000v\000e\000r\000l\000\344\000s\000s\000i\000g\000e\000\040\000\050\000R\000e\000l\000i\000a\000b\000l\000e\000\051\000\040\000M\000u\000l\000t\000i\000c\000a\000s\000t) +(\376\377\0002\000.\0005\000.\0001\0000\000\040\000D\000e\000r\000\040\000z\000u\000v\000e\000r\000l\000\344\000s\000s\000i\000g\000e\000\040\000\050\000R\000e\000l\000i\000a\000b\000l\000e\000\051\000\040\000M\000u\000l\000t\000i\000c\000a\000s\000t\000\040\000\050\000r\000e\000l\000i\000a\000b\000l\000e\000-\000m\000u\000l\000t\000i\000c\000a\000s\000t\000.\000d\000a\000t\000\051) endobj 97 0 obj << /S /GoTo /D (section.2.6) >> @@ -153,7 +153,7 @@ endobj << /S /GoTo /D (subsection.2.6.2) >> endobj 108 0 obj -(\376\377\0002\000.\0006\000.\0002\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000\040\000l\000a\000n\000g\000s\000a\000m\000e\000r\000\040\000V\000e\000r\000b\000i\000n\000d\000u\000n\000g\000e\000n) +(\376\377\0002\000.\0006\000.\0002\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000\040\000l\000a\000n\000g\000s\000a\000m\000e\000r\000\040\000V\000e\000r\000b\000i\000n\000d\000u\000n\000g\000e\000n\000\040\000\050\000s\000l\000o\000w\000-\000c\000o\000n\000n\000e\000c\000t\000i\000o\000n\000.\000d\000a\000t\000\051) endobj 109 0 obj << /S /GoTo /D (chapter.3) >> @@ -601,20 +601,18 @@ endobj /ProcSet [ /PDF ] >> endobj 244 0 obj << -/Length 2355 +/Length 2472 /Filter /FlateDecode >> stream -xs۸WQp 2if2wuM9'Q^߂$(P Nxl2 -_,3Ha,=>{)5JaY;fR9ͻuʩwHJ6{wՏvԿO ]}UۋWGKT0 *],*'ʲ|2`/ _De]ijpQb5,ɵy#zEٜ`S'D4W*>FjAz,LiDY. ;i { &J՛cSjmc%K1mE-JD” [31'.o~}Mf^:'*1'iI@WsܫPjqE)9A,q{M0~}:Vn1J!C̰q0 A$Ͻ9.2LDZ&< 83RykBkؠr}_57vsyXs:h0&DU.Y #bznEs2+W4 bYA -bE]إnfR^] -o,*Eq:~(N T^x%fa\Q{M"x\R%dDz\hbkӄ^.| vs9mu%txw0D4.A;yzXhZ -ZC'G ʬt -(w#ED-! =B3_"`raVK|\.*]-)s5^Py!׫0PhG<xdYEg!ażJsolpi*0Jụgsem`;۵EuC!CFRͪW%jyqJWQDSU s 9Jgr (r$Q9l%ar25[B馟kw,"Fϫr 9ь]@3[kA ^;ʋ` T}3.u% ]LD$C>†btNbk-jbr)lҴHS/$(뇲_N_l=R:6 CkW%"G_ߣ D[Ky]ȦRbvu;H6ݑxB+ kw8BJ Wh:`#mtxck-z8ׅɜRg\/j~[{t?e؀=LfD&j"%*@MUlEp@.DPU ku"_ʡ{Y*p_e(Qlp@.~[M)C_퍕Hx ܽLyߔm3ahTdaDDJ"F4U5*l1hd$,LW 2$TwۻXT쇧vCuÂpc8P"q< -%$V S%7^&7:u-J,?u7JZn^AXګoabyE[k5b^VQeFjA 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ךּ> >> endobj 267 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 283.7418 339.714 294.324] +/Rect [107.4855 283.7418 413.8211 294.324] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.5) >> >> endobj 268 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 265.226 361.5826 275.8082] +/Rect [107.4855 265.226 413.0998 275.8082] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.6) >> >> endobj 269 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 248.5214 273.5162 257.2924] +/Rect [107.4855 246.983 362.8821 257.2924] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.7) >> >> endobj 270 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 230.0056 279.3982 238.7766] +/Rect [107.4855 228.4672 367.7659 238.7766] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.8) >> >> endobj 271 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 209.6785 278.1965 220.2608] +/Rect [107.4855 209.6785 353.8335 220.2608] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.9) >> >> endobj 272 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 191.1627 283.3791 201.745] +/Rect [107.4855 191.1627 366.1259 201.745] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.10) >> >> endobj @@ -802,7 +800,7 @@ endobj 275 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 135.6153 281.8817 146.1976] +/Rect [107.4855 135.6153 362.035 146.1976] /Subtype /Link /A << /S /GoTo /D (subsection.2.6.2) >> >> endobj @@ -3324,17 +3322,14 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 626 0 obj << -/Length 1203 +/Length 1212 /Filter /FlateDecode >> stream -xڍVKo8 Whcn;vP`vJ:N`;3%Eu -4I("_b*-"/%/U@dTN7˫>grQ2bdRrOٻq"",NtF#<v]n99"eE_R)DpeE>׾%,BMXDgfJ.YcL],h7^b]]2iQ4,-!Y7q"u}%DRWؖX1 T}U2ݨy,)n جF`de;~[MH)mF"~w fґ"D -@ '="~mdw6$mG?<ؚ z;E'G X*ȴ:hD3=HH+֜{:bږD+ 1bߜǀ}rwhnk22:1uem8xM[  -`\]gףMe ?CQwUՐO$ژ'u-2_]0IZupM3>ʒTڂ#EGgR_(E =ԈEsz݌p@pOX%u>ma)RF:1MG:hGh 0o;Z],kKm.`b\?z4yij8"=38p,0oѷM^0f賌pp H@bH'pzt6(Thu*t.16c'׸@fuX# 9#يVTz{C9tƺ~S̅bw^BN6f '%JxeE5(!LSޅC[e YUJ@)eZkOsi/H//Q -M&1R]DFendstream +xڍWQs8 ~#,>lv۽i: [  'Ynw2ؒ,%Y>|,3J6U˝l0 +s_TJYTZDHt]͠k?I 2 [4>Copu KT){^ƱbT*)&s XΒHV\s`Ɍ%I","vյ^:?W>f&EޤNDҘK}L/~ԕnKTw>G`z}!%qU(Y,&^9FSRNn`t1y`rK&` OX&Ȃ("0Ws= -i6zpHAwph. sTێv\cO6A.]=#E VuAE^8D:bt0a龧CySsTDn4^=#ߡ.2If'ٺHґSl Wuz0=d~E !j'byKH'AΩ$u0M36NҒDZ!EEg\E =K$'AX\Tm9Rܵ=ri"heI+Uïi Ԟ6Pq$:rs^chh5{f.21iz_mE{LlqFiNz0~F{ۛ,c"$lp8wK@gqd\اy@-=U82﫟"fۚu-^XV,6%2O)D_>#;]@8C 7\F~MTxЁ']vŦq!`B#{BVyʄYf`{k^޸͡]M.c`ȋJC1'[J H'{.5 !d"eq +b-nMٜBa>Ϥ3 ƌk^(zN -S+]wZvja=}u5K[ wGzTNjQS78rX=+Ǣ u\{1ރN8ȸ-P]U- +RJW8>1"] +KHfEKt:V-g#Ҕa&|^*EM*H;gRendstream endobj 625 0 obj << /Type /Page @@ -4421,26 +4416,23 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 657 0 obj << -/Length 2410 -/Filter /FlateDecode ->> -stream -xڵY[s~У4`}44Lg[d [ĮDmD)n"ENCHM|n0Pjr־oD;o]on޼$o2+E)Wf'"dɲƊeSՁ'RLşItG);)Tϔ1ZS-(svLFm'mLՂdlc\,!mIepP._!::TYiDw&lE?,v*Cc:`w^y[wzr}:(WCEFW:uԓr -+vb2JHl,0Z؀B?E9Q*Gx'@rj:J[+?E [xm9W`;(vU -ׂ+/=4o{X} $#Ja䷫_~%HJ!s=^\ -mrln2$q^&po`>3U@iM~éya ̧]懭֓ow`>9ׁ*txC.ٗ6^E'cxoff'@YLKגQ+7i&!Yx=e LK0Cn$LSO@F*LA - A~ -U,syǑuqddUkrA:™R -CQ&դ͞ywHP x3W@ -t8Ɔs\BQZp4 -`հb?s26\!l ǻ"Եg;&G qca}0]>EYRc u"dBmOKm՘9/qP\b䈆(Ai`A0>FP:maGn_R6$?ct%Z,Bmh0d]8şbX*nasX^}j@ϣ; }9#Q@BEwQ+gj= 32z=B7Nli2;GES"YĪrvEjLrg)dnjDghjG UjMgC$v?~Zr"蛱L -#J7UU7MM -+RS/HSz}5w$'O5? -6a@.Jr0xoCxhs&@{u~Y2}KTvP7bÂ9 z ڈ lpZWxȷ]Mwr= .<OQB1^R\?L !Ȓk6㳸G,[pṸ"3)ק%2Q3ٜ$!aJ]өUt|uzfóY\6&krg4rQC9޾sT DGFhyAJkbOq#D*Dlw2iuPy -m)G^bۧ`%]u}Bbh4|zulV -ø>,Uq!2I{;S-6zAc^Wje3 gT?KœIp~m^83wd>,ko[ TuLtiq !5J^L*yg.ԍu6v A?8PR$#}q i{ٜxCB|պauIWx:/ E`܂nyRg{Do;bDž*^ZZ4ӑ bfw>c%"6?>`xáا_t3C53z$CƯYXQ£j{h_C> +stream +xڵY[~_GsyҤ@N gףb^,tddIfK70&Uh\ oɔnWܿ=lʅg + c,yʌ幮屬vخ`O䩲i2IڍLΏw}&6w#mW%YBD"Tq*ءn„Rn:`be{1XBfU͑iʪ~eX3F[:vwے4֮UkF*Yu;]#9@aU'r?{IO *fS<`P'Wn;T$u7H>n#d?>dC +3ےڼyS":)TԢ):s-(;&f(lվBJC2lc\*?]Y;=q=dL{yCINM Z`*"[=j!ۇ= xy;`w^y]soYmJ0?k3/tU30g=*2>VbeؕxZ aM9[E9Q*V'x rlj\6|8W`?R6T]r-\ 򶬿|ÿWJ2&2ɯW?"gkpg QW:J c][ǐ^xE fyؽ2d +01n+vR"牢?NY>.=Ov{g_߃_BVyϓxCJYT Z)8B3f,_e3]GFڭ;!Fhe$LG0cn$LAF HB( +A~ +STbtOHpti Ps-sD` +K|1HPTa3kEβDPxAő.pJq-se(8McpAP0OTjXiuuX8pT<:ܖ <1 8tc&:f1[Z Kn(m }2DQ?=T)#+PvzBYD69K儆(Ai`A0>'P:*>S#B'S6um) +:-i IG4)88")PXU<#1~ Q->%+%>L*8SLZС僐ѻG.&cqR4%ý1}\Y +0 atCHd]vM9rGGwhϏ# -{Z Lp_K)Ua}d tRuUUN7IzE +QaeSpN/&I6G!K5D(MSB[$|DKBp7u,™FF1OTJܪh:]C:]}I 0!6^w&*#ޏdEa:R=/5^ M@dGȈ  _HCi-P\)NSmH&Ȧ΍cq9<^MvWd0sDwk%VАitY#ޭtA6;: :qs\e2BL=Uf4i[ )|YHB^+;qH-F0\[gD3,"ioO:l*']ißΘ ߁# 0sZZ}Ĥ򌢐G5Ο!ac៽ % +M2ҧ־ϼ펗8$;cm͚$iu^TIN&6|v77'^N u:iӧm'JD@m&}|É.H߭o<ꮙ2}JX +\:z=≢ZK~3~b>asendstream endobj 656 0 obj << /Type /Page @@ -4512,7 +4504,7 @@ endobj 659 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [139.6116 341.341 159.0524 353.4789] +/Rect [139.6116 331.702 159.0524 343.8399] /Subtype /Link /A << /S /GoTo /D (figure.2.19) >> >> endobj @@ -4537,10 +4529,10 @@ endobj /D [656 0 R /XYZ 74.4095 771.7323 null] >> endobj 357 0 obj << -/D [656 0 R /XYZ 243.6967 392.988 null] +/D [656 0 R /XYZ 243.6967 381.5764 null] >> endobj 655 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R /F70 605 0 R /F35 237 0 R /F65 611 0 R /F74 608 0 R /F69 614 0 R >> +/Font << /F63 264 0 R /F26 214 0 R /F79 621 0 R /F28 217 0 R /F70 605 0 R /F35 237 0 R /F65 611 0 R /F74 608 0 R /F69 614 0 R >> /XObject << /Im22 654 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj @@ -4576,26 +4568,19 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 670 0 obj << -/Length 2426 -/Filter /FlateDecode ->> -stream -xڵ]~LItں%Ob-QDIQ8=p b,ČO̜f3sABV)n>^`̳`]ϤL.ND.?mYdp>U .7e/>\tuHμyRjm6 -)'sJ,gdsx ߭@'Kծwˊ^|BjTM:; g"9^TAdD/eeHLIfW˹4w%&zz+NGw'_'q!}`^siЎ\ -9g>,!Sa@Z*rb CC',RXB}3@լL3œSCa^7mLfTXS\, -Nc^r9!/ ~p7}*&l%Xb.2O$U|_ ah -:~>|F96ug^w#&&d@c[Vܨ%pSڈIM(orٯ@X)RJbZlU< -=Kǖ.޷(5pȗz!@'x]o+@(LnD)k v8'BjJť"${TVy C9 InҷD{ܭ;܏-}>YO4Rh$ևC0_t -XZ @㱹Ϙ]5:"roژxv9 Zこҗ\t\HWYg֬M[ WFKЅޔ4`A/;asjx uL%(F٧B!߿ P9duSݙўWtx(W#2 @uoPX2P1eUS,uf2@ -((=,$)XӧPmA0)+_^2e)ɡe"G -!h,\x: Ϋ](Dvąb;uTv>A"սt)A>wZ1 =/N1V%,fy*Шd0\б=m 6~XbV9#C54L[T]tù2o`҇ζ' pV͜jڰRA>A2s i܃& +a{ @ lWÔt/* Z P58 -0I u3NBP\Fbi&Oᠵ-d IxK0kj\""DANt.Ѝ}e`(YC?!B'ޟմzZZC0f~\84;[ AK&Xf_m=1eoM-w`&7OXa}N y`…fE.k(XMr3 -[ZV4"5u5@9V2EoXYx pz2(p7N1_8m9W."E8/p Ǥi#J'E ,uC_j]g@,s|`ʻ^Ϧ>x*(}eD䗺J J2MD }}Y+]#t8?LJj"6ՃنA_6e8d{3@7)Vln2@0f)Iϳ+:NM{.O:,rs"Hg0=gpO -C[m6-A-F864|y&CEe4I|ʴPup3 a2̞mo$=aS\gɡ!EKaR qsc/虆s2LPU!4*͔ -ek}nlNq^K|W(0}I*^LL~4'@}F3)/ -PJSޤ)1iZVy *uXfT?ݞi.8M:QVv,x<>Z/Q' mvB(z[ ,~NmĻu - c峳p& -w[U)B0?Eհ9,cVnUG,m;qNq} N.3|=)ǁHۑDZ^ aeendstream +/Length 2458 +/Filter /FlateDecode +>> +stream +xڵr]_Gp%e;kWͮTeHpMVw .JZAneFIʌ`,]l ߾, 9cwZd8evuqP^>,~,>Um]'\Q,-]E?,?^pUXqJeRJTd9gDkk3g1ew3FQNa:)G1ܟpo6inI^ /xrmy:-ysXrUScÿ8P(z:M(;rFzoM^m1*Z;aSRDf9%YŇ4[/0x.K18Ξ'6R ݖ!12"YeWMu$Z\w *}zfEvى>O$ιuJ8ڑrBdL 8 +!(:4ïoo +65WcԀLTd}.a:gRCaԭ%jQb`-sNc + ^|C^_.z[VR"f + &lňs.()F/>%dCþݵ0֫ʟZם^#7GD$}[V( &e6|WJSCԧU!tr*gbl4e [xzxmػJ{ߡWW}%xZ2k)lveɐ`r8Np\Sz ~7hp[JH UZyLtkPV3'j:Bب՞Va׶֎ݴ x ӧ[ځʚ$r*y 1jF7۪lu}- ƙHm_]3z֐zX7eH {>Z֨)㫰هoqwsn1r=L:h>tPoJ& gW5QX!K]6:"r[xw) \3褿\BIVom[kWzsk9OӅޜ$`N;3빒Q?ue5L PO%[@@ŶIHq =Cd3ݙ=tؔ!W#§ @^ƭ&.e|LYxlZX|Ib2ѪO&$1 # .YѠ6!/d_?IU' &n +0 Ji .P5``GxUO0Np9A>71 =ϹN19^%̅$PAAr}@.m]}YjK2}OA$#RbHyζ'pVI bް\@K>KK i܂f a{ @^ǝ:oWEtϥ" Zf P5I?KPQwU=NLP\z~]^@@kGȠ dA =V} ]];%""Thf'|n kFNS g2;~ViMK ^CxIaBׇqh2wP7A:0 UvXgi? [Q2tfGʹwD9gFrL )5C +(6o``طGl*lòĦ[Ͼ{j`؄<)'epcT .u;Ӗ +t0 7Qj> endobj 668 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R /F70 605 0 R /F65 611 0 R /F74 608 0 R /F35 237 0 R /F69 614 0 R >> +/Font << /F63 264 0 R /F26 214 0 R /F79 621 0 R /F28 217 0 R /F70 605 0 R /F65 611 0 R /F74 608 0 R /F35 237 0 R /F69 614 0 R >> /XObject << /Im23 667 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj @@ -4787,18 +4772,23 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 686 0 obj << -/Length 2300 +/Length 2332 /Filter /FlateDecode >> stream -xڵYݓ۶؂M>\m2u:8Ob'w Hs:ρb]@Of{S^@n{ŋ5WDE"^zUcZ]R{ G7g?,Ct3 Mz;|oîr_nəV~Z[-ZW3J.x d<+R]$3̞m=TM5f;\7]W\j=M>#}UVm4Z`!GyJR98.5:Z:&sł3A߮~+ *~΄^IϙT^? o]fF90Ö)3Z;sx?(4i߷7;`^Kv[:y4EpF0B,L)52ŏ)(;d -cnVr1Eק'gFɲq&ɁiIx$tN+3ΫK\J.$6]̬;^ZCXhs马38c6oD\)FLKySJ0NLSySu?РۊFmʼn)kM}!긥=,HMP=FɼzZ@T-M]8R$ V˞^g]?TSvA]Ӽ$ .nCp6> irUG6}kd?,φjH=j$/qQaVu*[\s&hhAnnכ:XU;DnW4 ;{MiζTbTfvв}IԷu"鋶:ج:P1( n<]݃vU}QDA@"}xJ[41/M Uݴ&lGANlfkqbd7b)+ɌP+-z$9jAcF~l -n@+FT r̋jѢr?:B/Hkڎ=XupJ=&6H'fo*#H'0_6R|Y8&k&U]%+'lAp66ա0M[,w!4/#oM}0DTbF> :TF3{BGOM*Ն妡mxQ$o - K:LZŜFuBT- lބ2+Ǚ /ezh2Kp ,+h2-$~1pNy@w( Zl;^:"1"{@`K/*K=6t(1 -P=`/o\&s*Sn, #wb)$2BBx.#Q)h! HB#<ѣtƉi$ʜK=֨q'}O{,ug.!n,$<#~vOC' ̑/ 31ŪUWP*gm!N#@C勦47}ɮAg7})͝ȅ%Q1.N.QSƟ#&ANjWyersQu&"T8YGFZFqkyvza/,^0Gh9Q88\#Ή+ݪp+'OE7'Go8ζt;S?(+bLSQ1$( -З P=w_kI~ b>endstream +xڵYݓ۶؂M>\m2u:8Ob'w Rs:ρb]@"Odf{^@nwų u+"r ^NzUcZgR{ G7V﫾KY\p)[x[z/7_f"}e۔M4Z`"񾩺lmƒ}ERҰ0ӳzü8Q)T4 '5:Zܹlə oW?³5~g?g{L*/? o]fF90q˜ +I T˹b:i JLawo<;c <u/in8#@).LeY>#Rkes[IndF-FmU1`cOO +όE69LiIx$d\NfffeX ).& M>m29Ok }J3=u`{yЦM1PiX)%SRLSTD4(Gd[qwM]mI*n:{>"xjFQ0/# mXKGzdv}I_?~dK" 6o)yaf&Udsܷk(-Nv +xޗ ؓ@%.*av]5..e6o}uM*>tUn#_4}uީBw9ĢL>jټ$*"鋶mV}> +7۲".1-25lhPm3S,a>X2vop&T \a+ݶ+&;/tl|lB:AjsJ&/+e">lB -;v$ynHX9w0! }%̙ݐ]nq1`æ7CJBؠ93B>V6CRH f :R(L(8un*ݶ p T:Y4`P +JjRN#u&GOd)Vq zl8| +l-@Nķ xwiaො2 Ǔ g̴5RCu|4+tL!VʧpU>i# nS#8@n Cn<9ȫl<;&L{iBh +0r'vC"$DWbh΋4/D -D:G~8S4N#Q\GIH'}{lpO\CXJlyFb+>N!0ܗ#]6RA@f{1c`U*<e}54 {'!> BG_K McUkhHo$m[>]o!?4w"sD1Ǹ8gD̘)C/_q=ϋћX >Rd}r94ʈXӧ; =^XLHz4;#F`TGtѯx<{]8BN`3?(3Cl@LEŐ_(4BB_Z0rBejS*rw"%ȇۊT?#c ~]si+? qGT( }4endstream endobj 685 0 obj << /Type /Page @@ -4929,7 +4919,7 @@ endobj /D [685 0 R /XYZ 219.5326 530.7468 null] >> endobj 684 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R /F70 605 0 R /F74 608 0 R /F65 611 0 R /F69 614 0 R /F86 690 0 R /F35 237 0 R >> +/Font << /F63 264 0 R /F26 214 0 R /F79 621 0 R /F28 217 0 R /F70 605 0 R /F74 608 0 R /F65 611 0 R /F69 614 0 R /F86 690 0 R /F35 237 0 R >> /XObject << /Im24 683 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj @@ -4986,20 +4976,19 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 701 0 obj << -/Length 1934 +/Length 1972 /Filter /FlateDecode >> stream -xڭ]s6ݿҌ 5uz7k"Lpf-ИA2c HI&T=7뇪w nw;?|-%_Czn&N,t`3XS22[ql䯋xV  ke3H;ۋ`yftG)J2lYv_ ༴b -a9^k% :~xU ̳gKW -\44^Ҳ2ϣK!$PQ=B =(PI% -5&o}I'%8d.tM2R)7T;%$ &ijy-4\Jp!V\bYn +M!&Xsh-ܡ=a2yGWWwm[ ~nKg@4C'T|{_d 7 q C?t7X6U$;/5vxiGڻh_@ OTczh#߶7d '10 iK.%gdS j#$9nT\}k uå) ;B50(6e#P1]vTgÎq9e|ڠхXڪ񃟚 . kt..p!ǁlsb'b (:P-!GCJ_$EfV5ф7 V7 C3X=T h"Lܤ!iUWk8AUVAnfGZ']4x xmjzP-4 Y#-TzM2LB=VtY -Lcc;~Ig^7Ec-rVeT0ȅ8@h Er-wvQ|@Ćq$7yv6~ϦP|)V#¥}ug#, }r'3qdƐTƼ8uNendstream +xڭ]s=BL(}^vݻΤrr8RNw;Rm9ٛv2 (qYέΌU.x_yWy5~sc٢ȳL)ŋЛՓv\H\iW#[ +o햿|p3%geQ2 d+)XQf=c("m 4ft#-if UO&|]C_wK>.^-6Q2[y۸\ac(Y2^bbs=xYf+Δ-5qq롑r:h_P,IU58OЗ~[JQ(nGDrܜxr%e&h<! LA @MlvoB }SP _]7THi.ByGNWo`yh+%o&(bET;8> zNDokGξ%b{?hr^K\txшת| p3NUy> F V!g814=*x-'\ +{э$:+wBS$fBbvTvIQ*hHK7UPSi|pZIXFవ7 +7fJ(Qd ״]=^p*I)OPЀd)8nSsac@ɛ;Ȅk96?㗴-Nd_?"{x/#a΅8@h Er-wvQ|@Ć:i~Î +T!ZN\E#֫bms]`,!IiukX/*pX4Ϲl%y!3y3ґ ݘgrXendstream endobj 700 0 obj << /Type /Page @@ -5130,13 +5119,13 @@ endobj /D [700 0 R /XYZ 74.4095 771.7323 null] >> endobj 360 0 obj << -/D [700 0 R /XYZ 263.5658 529.9143 null] +/D [700 0 R /XYZ 263.5658 528.3551 null] >> endobj 705 0 obj << /D [700 0 R /XYZ 74.4095 188.5624 null] >> endobj 699 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R >> +/Font << /F63 264 0 R /F26 214 0 R /F79 621 0 R /F28 217 0 R >> /XObject << /Im25 698 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj @@ -5168,14 +5157,15 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 713 0 obj << -/Length 2156 +/Length 2196 /Filter /FlateDecode >> stream -xڭr]_GJρc&okKƕRJRe8a ي=qJjkIfy"Y JWrV_żȼ<껏Y,?tI _2kR ^,unZ,K](9v_?_ޏS-2>+$I峥V"l~=KDnt2"O]ΌJ\_H.=W_-6EBn@]rBO}<ԓ%N-9-U -%-0Φ/X?_1+|HӳvRhTW_~NLdٷA  3̴pqAk&u4| FwpE7-kn x6/N&R+=g0588+ x8&=(0M?VU5e,)-i|6oEumz H 2b(eڇU?T[2\'+vïSsu`9L*Cn9-7&$`\9%w}Jǜ -HѦXQ@G4Btƣoh]ғ85"pbi qp,aZdJ e!7Zuk…#+W+wve= Pk7x(hװ0nWE8z99(7͕yW?Ĩc ]]o~bf'&T[7TX󞔂O[=kRԇnȷo7 q)T`I.pa⿫|e] @V -DrqkLckcĹ1ia'GJud C8 p8Pw0ny$w]!6=+ߓ4rdNR(uFO%\x")@u{O=;ykK_ ! ku,coΞ@!>v}šrs)#e6iOXgHxSy <57"Iӥ)WxQKǶ,i7@x:n98'>\K|- E .,}_dۗ0< 3S`'"g2m OO:Qg,$SMEὅ~=uEJl2_|Չ»,nf|Q0o_wmneΔrE:' bG5몜 󭒺|r:vPqȲ&oL2)@]J e$/U)lğ!3S^/Ĉ4{^0/kކFjЅbH=SB&~y0O`Ў\Obߜ&4Byendstream +xڭrQ0xړd+dj{,XEzI*ӍnIkJjB?5j"៚Ld f/lr4љ&j~s5z6Ms)7#j3Srˡf ε(̲Bdya'sDQ8{H=bUlDIas_1;^XkuE\dBٓ ?j~.v:u3-~|57唋~SVkP<\/#C,S/5uB:S-=Z88tn2x#W*'K rBy'+ƫ^P(wo3qw嘙Y3;M~Gs(+tP>ooZ`>Mv^L?fRxQlKX&ź´`XzZk>A&F墪fWI`zUiIWaR&YݺҊ`B{pjCDl?wmjJ$e-ϱw 7W^LYˮڙLY. \Q9D}Be+xa8*& ʾO5,=\#v0xWJ>E+S/U$X?>qbކjf-nUb C"5>,26êne819b(cc)8n@^03jhXCOl13b*--yOHyhN\O5 c@AoHۗHAƊqj_OSzKK y|lJ(> z@2W+ -< ~,W"@N^nق7n`ڶyRibFtsM," ٍ?b1&Ě`KxisDcn#ss&1긎Dsc +6p'o}NY&;n\cԉϑURN|@2Itvv(*)]nV ʚ%ǟS>#cΌYy0o>ya{Τ皧a<5ڀtG"7 fU.f7~qwNȬ⑟==DdnrAVendstream endobj 712 0 obj << /Type /Page @@ -5379,10 +5369,10 @@ endobj /D [712 0 R /XYZ 74.4095 771.7323 null] >> endobj 361 0 obj << -/D [712 0 R /XYZ 260.6248 512.7788 null] +/D [712 0 R /XYZ 260.6248 511.2197 null] >> endobj 711 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R >> +/Font << /F63 264 0 R /F26 214 0 R /F79 621 0 R /F28 217 0 R >> /XObject << /Im26 710 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj @@ -5480,19 +5470,17 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 736 0 obj << -/Length 1779 +/Length 1812 /Filter /FlateDecode >> stream -xڭXKo6WhQ${6bb @r* 3Ihp^8Df -Vp3  `ÿyĜrxc2\Y]& ǔ(z!t~3ϥ3|v"|۹v̖|EQB&˥`ei)/F0dqEhW3inj12"fn¾^s7iz5[aA_.,{iJM9=ΜvjX&YΙrV#?ų%~詏0L8'tIDl.>_vNFa˹0^I0Fq?ܺq: -<#J&uZz~+MvQYK-xET+K-br)TNVq,g>=-w`ôk6l1We&4IevelLzɘ44jɄX"SvsgfhNIFf*Q0c\0@ lc$`Μ8;8BZk!ŚVmÇ! \D>?A -nE8;Cf 䧛&| -Y2ōX1^,<ۆzI$(BA35̿Υj Et^(hPGyګ1[ƽ@a|&p$4Xmep찻*^Y~ùdۥС }ض%3SP_>" NQ XLi&S~xe)=IwUv5-cVװJST==%z D|Ў)#Cٴ[|S"ADͮm, ^tlnB|E9R}c -3k<t>"D=sU?a R -5!'%D#|EƔ1KsAs*]\&Heׁ-͠Rɯ%}_0$a0<9nnmR5";$>};q) -vT -2endstream +xڭXo6_GX~uv[ +كl36Y$'ږ46x_I"XƭNU"Yn/x_M#szϹJ +fg[v*y׉*kG5OLG/L@68:E%`2#"F +`L&a| +x%וմqY].=R9Ƹ.17C>H2:=ʺG=EDtvm5>fhyUds{ЬhVJq*̬qP2<e]y3HɈ7pᗴ@H#}cVDǠ.> z~Х1ulR>B+Z0l *j[{7d4,F' jv( Cr`ӷ#8LDž(;Qa^ Y׽eoX4既ikΚձ,{o'p8~g"sݱr?!Ea&#fy!bVA6}KS\*eؗ4]w֞)Elr^b9+&5=9(uO'-A$FIg}GRendstream endobj 735 0 obj << /Type /Page @@ -5637,23 +5625,32 @@ endobj /D [735 0 R /XYZ 273.2852 532.4193 null] >> endobj 734 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R >> +/Font << /F63 264 0 R /F26 214 0 R /F79 621 0 R /F28 217 0 R >> /XObject << /Im27 733 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 743 0 obj << -/Length 2235 -/Filter /FlateDecode ->> -stream -xڵZKs7W̑2qvݔ7VaD͚3{A9#Gv FI*`bcOY]t‹\Ӣi-ۇKG?/U7v|(edXqJy(D*mgDkkrN9iJ -EOZ܃7 9Nj Jo>;)łG W0،S2P%J `&OsyYMQp!&8UtSOvQQ;)uN3هT.r}\(;DBN S9Q )?!~$ߎt LdCx//nf0mp[3%!ᑂakE,h'TuyJ~2C0g:G~&~r`٥$:Q:#L03wNr -!;ɞ('ZDH#/^Sd9b5œ\C2w/@揽́l7Es - n6 8 -ݣ_{SKQ! !/@ΈsBdŵw UKZ}HJ2%Qܿ|nLJ*諵o"ɮp *-A$_4 Z(±/N+Ӌr _(8qֶꊿTTV"o4-9wR}X:b A_JKp! -?d0KPM'pnej2\]8:4l)X[!we ĠG/3s"iat@A].,p:_f.g~pt?P֧C];<;`$ww[AsڇFz=v wK_+P|؜͂oc{ -Z+jM[Bˁ/M \‰w %dm_Wj8&3A6CnuMjwm;,IcِBAwH3=z+HJMA^XlpqB c˯w}u.zʁG :U Q>.#nS5O\>Wlqs\Ԭ<<`0+:|[WЄ§pۅF8b: /U7tcȜbGTԹ*Dw"蚿Bc9\ XN0FԘٞ6&ϜX+ҜP} HfIjnO[ 8`=U>l[PhE70ê.%?2,Ѭۃ~Ms ~Ow -+ uIٕhטS},8N0^nxr܎,ӆvc2Pi:BڅFJӋ^~{`J =!u x_D(}ݴ;M >~CHnjJ`DLCq{MdJHemTvp FW`;V<紬 a]NG!xVu]> p+1lS<\,:hًk!Ⴟ CU!"Is-aMpgL"}_R ,:dV42tɠG_wp_U,T@'80^eGk*YKtG0PLufk-R}C.ppO_9RN%~myendstream +/Length 2267 +/Filter /FlateDecode +>> +stream +xڵZ[s6~4!_֬۝tw;Ƴm@Y̍.H3= @%ОɌ ·s$R`O +F0hRoop$.:E*ϒ)yqPPnJVU~/3 |j;'xvܔ0‚bCɹD\HU,(ARjJwR $HcČN䯛? +D OFZlo(ˮgsQ!.D0וfϔ*X:ZDKD9+Ј2 oOXm ?ɹE)5Hhj`&Cp +rTHu1S&B"br dx:jsDcD@Pg&Ƒ\>Ls*Huz E\  u)ga!&eW9H9Ftb _Ow_d;{F9n꾬WcS]hkev a;HϠrppC&#љ#B' %Nt{F#%)|ti9.L H6mtLtq"c2ž N<K$(;~'y]Wb*V>!y +ʀى&5N ڸ])9$J۶6Ѫl.LG 0f*@p_6# o{zWwSNF +֭/X ,U+$`|~ vj^3u(7ʿj4aڒk6>gE !p˵Z%urQ̝ӷ6+WDŅ$pFt!Nj @s[Bp.Yȁ8?fsAX/FpCɄ>PcgW6ԉQ3ë3峕Ĕ 1@lB#Ϡ noWxh{{:AV;_okyv1c-ڏ +.ZAfǻ/mcMnl>2^sBl85պ=D5e|- C΢G/Mxg ~dLQ={re7~s}w&XʀEU:] Q'oܸ$m?V ;:K`pg~f9_eƏy V6rí"Ð!TG\4%`c +x`]Dp!Yu5KBH }~T h.`8Fزmn7'P L猀 cpA2VycDuc@sTYp)~ +WI&ΩkZup!P)C\`$]5Y.]g(+غܭj,"^ny5u%|'5@[(؉? U}ç]h4dhV Ƥ1)}VmE= "aA ߎa~ + +5LoE}.P{zE0PLqf5\}.p0`OᾺ9endstream endobj 742 0 obj << /Type /Page @@ -5800,7 +5797,7 @@ endobj /D [742 0 R /XYZ 268.1431 315.7042 null] >> endobj 741 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R >> +/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R /F79 621 0 R >> /XObject << /Im28 740 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj @@ -6268,16 +6265,19 @@ endobj /ProcSet [ /PDF /Text /ImageC ] >> endobj 786 0 obj << -/Length 2239 +/Length 2276 /Filter /FlateDecode >> stream -xڭ]sݿBDIᮾ\2鸱'@Ę.$k뻋(ls3o-VUY@6pWx8 c쏷}Nʲ,Iq%uƔH51Zeej#ֱ<*[ڸvkCvnFrfDMJMb)XtK*XtJp,Aei*.%,K7M7.~Y}fAѲ+yd2ezEImGhI0 SկceT;λds]@4_vݓp˪!N2/@?ʮ#.Rm0|Rҍ*b`X,Wnt}HoU[T˪Za*F~{K\Hf p~xܔd uVKG{"<ƾ`.6LԔ^6vT] qï/p+}MT}Q9cuy;#HI£?װRݗ 8%FLTWNuc 2o sQ T{ݑVueY't =yC?r:BfѻDr/$]rSZkkN)}7%-`HK|N<''͗Ԋ'^{B \F f,ژV:trIcO>- }T CCw90dZapItF{u9[>4=MljMt1=@ы7K`]ƉZP94x -S'#'ҙ\6퉠s5ǀ~U8Ѐ#aM_'-i bZZ!SOw/1X#i{N%}ӫCn Hp0>%:QDsHz ''ʺYRM[=i ʟ0&Ahߩ{4Wp~ -4%j7O-z"g)@{U.7,Bppu¬C7f%B#]"U, {eGƄ\Y`*ZX")\{#r0\xlb^%CsdtyFL%:''ڪ7+jޢ>pTz^S5TxߖKx?2!,3a.1(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$