From 638e191bc0f3faacc03d69061ab322bd19b39c7a Mon Sep 17 00:00:00 2001 From: Someone Date: Thu, 6 Dec 2012 03:49:43 +0100 Subject: [PATCH] all the funcprog files --- .bash_logout | 0 .bashrc | 0 .daten | 0 .forward | 0 .profile | 0 Aufgabe1.hs | 0 Aufgabe10.hs_1.out | 74 + Aufgabe10.hs_2.out | 74 + Aufgabe2.hs | 0 Aufgabe4.hs | 0 Aufgabe4.hs_2.out | 80 + Aufgabe5.hs | 333 +- Aufgabe5.hs_1.out | 36 + Aufgabe5.hs_2.out | 36 + Aufgabe5.test.hs | 42 + Aufgabe5_jj.hs | 98 + Aufgabe6.lhs_1.out | 116 + Aufgabe6.lhs_2.out | 116 + Aufgabe7.hs_1.out | 92 + Aufgabe7.hs_2.out | 92 + Aufgabe8.hs | 61 + Aufgabe8.hs_1.out | 68 + Aufgabe8.hs_2.out | 56 + Aufgabe9.hs | 86 + Aufgabe9.hs_1.out | 97 + Aufgabe9.hs_2.out | 97 + BITTE_HOER_AUF_MEINE_FILES_ZU_UEBERSCHREIBEN | 0 GRUPPENNUMMER | 0 Ich_ueberschreibe_MEIN_file_und_nicht_deines | 0 TUTOR | 0 wwc-logo_3c.eps | 6586 ------------------ 31 files changed, 1556 insertions(+), 6684 deletions(-) mode change 100755 => 100644 .bash_logout mode change 100755 => 100644 .bashrc mode change 100755 => 100644 .daten mode change 100755 => 100644 .forward mode change 100755 => 100644 .profile mode change 100755 => 100644 Aufgabe1.hs create mode 100644 Aufgabe10.hs_1.out create mode 100644 Aufgabe10.hs_2.out mode change 100755 => 100644 Aufgabe2.hs mode change 100755 => 100644 Aufgabe4.hs create mode 100644 Aufgabe4.hs_2.out mode change 100755 => 100644 Aufgabe5.hs create mode 100644 Aufgabe5.hs_1.out create mode 100644 Aufgabe5.hs_2.out create mode 100644 Aufgabe5.test.hs create mode 100644 Aufgabe5_jj.hs create mode 100644 Aufgabe6.lhs_1.out create mode 100644 Aufgabe6.lhs_2.out create mode 100644 Aufgabe7.hs_1.out create mode 100644 Aufgabe7.hs_2.out create mode 100644 Aufgabe8.hs create mode 100644 Aufgabe8.hs_1.out create mode 100644 Aufgabe8.hs_2.out create mode 100644 Aufgabe9.hs create mode 100644 Aufgabe9.hs_1.out create mode 100644 Aufgabe9.hs_2.out create mode 100644 BITTE_HOER_AUF_MEINE_FILES_ZU_UEBERSCHREIBEN mode change 100755 => 100644 GRUPPENNUMMER create mode 100644 Ich_ueberschreibe_MEIN_file_und_nicht_deines mode change 100755 => 100644 TUTOR delete mode 100644 wwc-logo_3c.eps diff --git a/.bash_logout b/.bash_logout old mode 100755 new mode 100644 diff --git a/.bashrc b/.bashrc old mode 100755 new mode 100644 diff --git a/.daten b/.daten old mode 100755 new mode 100644 diff --git a/.forward b/.forward old mode 100755 new mode 100644 diff --git a/.profile b/.profile old mode 100755 new mode 100644 diff --git a/Aufgabe1.hs b/Aufgabe1.hs old mode 100755 new mode 100644 diff --git a/Aufgabe10.hs_1.out b/Aufgabe10.hs_1.out new file mode 100644 index 0000000..1098bc7 --- /dev/null +++ b/Aufgabe10.hs_1.out @@ -0,0 +1,74 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 15 + +Testfall: {-1,1-}indQ [] ; Testfall FALSCH +Erwartet: {-1,1-}indQ [] == True +Ausgabe: {-1,1-}indQ [] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "indQ" +Testfall: {-1,2-}indQ [1] ; Testfall FALSCH +Erwartet: {-1,2-}indQ [1] == True +Ausgabe: {-1,2-}indQ [1] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "indQ" +Testfall: {-1,3-}divAndConquer indQ solveQ divideQ combineQ [3,1,9,4,6] ; Testfall FALSCH +Erwartet: {-1,3-}divAndConquer indQ solveQ divideQ combineQ [3,1,9,4,6] == [1,3,4,6,9] +Ausgabe: {-1,3-}divAndConquer indQ solveQ divideQ combineQ [3,1,9,4,6] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "combineQ" +Testfall: {-1,3'-}quicksort [3,1,9,4,6] ; Testfall FALSCH +Erwartet: {-1,3'-}quicksort [3,1,9,4,6] == [1,3,4,6,9] +Ausgabe: {-1,3'-}quicksort [3,1,9,4,6] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "quicksort" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 30 + +Testfall: {-2a,1-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2a,1-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] == True +Ausgabe: {-2a,1-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" +Testfall: {-2a,2-}isValid [[1,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2a,2-}isValid [[1,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] == True +Ausgabe: {-2a,2-}isValid [[1,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" +Testfall: {-2a,3-}isValid [[0,6,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2a,3-}isValid [[0,6,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] == False +Ausgabe: {-2a,3-}isValid [[0,6,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" +Testfall: {-2a,4-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,20,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2a,4-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,20,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] == False +Ausgabe: {-2a,4-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,20,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" +Testfall: {-2a,5-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2a,5-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] == False +Ausgabe: {-2a,5-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" +Testfall: {-2a,6-}isValid [] ; Testfall FALSCH +Erwartet: {-2a,6-}isValid [] == False +Ausgabe: {-2a,6-}isValid [] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" + +Testfaelle OK: 0; Testfaelle FALSCH: 6 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 5 + +Testfall: {-2b,1-}[s|s<-[[[10,20,30,40,50],[20,30,40,50,10],[30,40,50,10,20],[40,50,10,20,30],[50,10,20,30,40]]],length(compVisibility s)<1] ; Testfall FALSCH +Erwartet: {-2b,1-}[s|s<-[[[10,20,30,40,50],[20,30,40,50,10],[30,40,50,10,20],[40,50,10,20,30],[50,10,20,30,40]]],length(compVisibility s)<1] == [] +Ausgabe: {-2b,1-}[s|s<-[[[10,20,30,40,50],[20,30,40,50,10],[30,40,50,10,20],[40,50,10,20,30],[50,10,20,30,40]]],length(compVisibility s)<1] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "compVisibility" + +Testfaelle OK: 0; Testfaelle FALSCH: 1 +Punkte : 0 + +Punkte pro Testfall: 10; Abzug pro fehlerhaften Testfall: 0; Maximum: 50 + +Testfall: {-2c,1-}buildSkyscrapers [[0,2,2,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] ; Testfall FALSCH +Erwartet: {-2c,1-}buildSkyscrapers [[0,2,2,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] == Nothing +Ausgabe: {-2c,1-}buildSkyscrapers [[0,2,2,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "buildSkyscrapers" +Testfall: {-2c,2-}buildSkyscrapers [[0,6,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2c,2-}buildSkyscrapers [[0,6,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,2,0]] == Nothing +Ausgabe: {-2c,2-}buildSkyscrapers [[0,6,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "buildSkyscrapers" +Testfall: {-2c,3-}buildSkyscrapers [[0,5,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,1,0]] ; Testfall FALSCH +Erwartet: {-2c,3-}buildSkyscrapers [[0,5,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,1,0]] == Nothing +Ausgabe: {-2c,3-}buildSkyscrapers [[0,5,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,1,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "buildSkyscrapers" +Testfall: {-2c,4-}buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] ; Testfall FALSCH +Erwartet: {-2c,4-}buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] == Just [[0,2,1,0],[2,10,20,1],[1,20,10,2],[0,1,2,0]] +Ausgabe: {-2c,4-}buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "buildSkyscrapers" +Testfall: {-2c,5-}[1|Nothing<-[buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]]]] ; Testfall FALSCH +Erwartet: {-2c,5-}[1|Nothing<-[buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]]]] == [] +Ausgabe: {-2c,5-}[1|Nothing<-[buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]]]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "buildSkyscrapers" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte gesamt: 0 + diff --git a/Aufgabe10.hs_2.out b/Aufgabe10.hs_2.out new file mode 100644 index 0000000..1098bc7 --- /dev/null +++ b/Aufgabe10.hs_2.out @@ -0,0 +1,74 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 15 + +Testfall: {-1,1-}indQ [] ; Testfall FALSCH +Erwartet: {-1,1-}indQ [] == True +Ausgabe: {-1,1-}indQ [] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "indQ" +Testfall: {-1,2-}indQ [1] ; Testfall FALSCH +Erwartet: {-1,2-}indQ [1] == True +Ausgabe: {-1,2-}indQ [1] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "indQ" +Testfall: {-1,3-}divAndConquer indQ solveQ divideQ combineQ [3,1,9,4,6] ; Testfall FALSCH +Erwartet: {-1,3-}divAndConquer indQ solveQ divideQ combineQ [3,1,9,4,6] == [1,3,4,6,9] +Ausgabe: {-1,3-}divAndConquer indQ solveQ divideQ combineQ [3,1,9,4,6] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "combineQ" +Testfall: {-1,3'-}quicksort [3,1,9,4,6] ; Testfall FALSCH +Erwartet: {-1,3'-}quicksort [3,1,9,4,6] == [1,3,4,6,9] +Ausgabe: {-1,3'-}quicksort [3,1,9,4,6] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "quicksort" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 30 + +Testfall: {-2a,1-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2a,1-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] == True +Ausgabe: {-2a,1-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" +Testfall: {-2a,2-}isValid [[1,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2a,2-}isValid [[1,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] == True +Ausgabe: {-2a,2-}isValid [[1,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" +Testfall: {-2a,3-}isValid [[0,6,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2a,3-}isValid [[0,6,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] == False +Ausgabe: {-2a,3-}isValid [[0,6,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" +Testfall: {-2a,4-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,20,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2a,4-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,20,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] == False +Ausgabe: {-2a,4-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,40,50,10,2],[3,30,40,50,20,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" +Testfall: {-2a,5-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2a,5-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] == False +Ausgabe: {-2a,5-}isValid [[0,5,4,3,2,1,0],[5,10,20,30,40,50,1],[4,20,30,50,10,2],[3,30,40,50,10,20,2],[2,40,50,10,20,30,2],[1,50,10,20,30,40,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" +Testfall: {-2a,6-}isValid [] ; Testfall FALSCH +Erwartet: {-2a,6-}isValid [] == False +Ausgabe: {-2a,6-}isValid [] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "isValid" + +Testfaelle OK: 0; Testfaelle FALSCH: 6 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 5 + +Testfall: {-2b,1-}[s|s<-[[[10,20,30,40,50],[20,30,40,50,10],[30,40,50,10,20],[40,50,10,20,30],[50,10,20,30,40]]],length(compVisibility s)<1] ; Testfall FALSCH +Erwartet: {-2b,1-}[s|s<-[[[10,20,30,40,50],[20,30,40,50,10],[30,40,50,10,20],[40,50,10,20,30],[50,10,20,30,40]]],length(compVisibility s)<1] == [] +Ausgabe: {-2b,1-}[s|s<-[[[10,20,30,40,50],[20,30,40,50,10],[30,40,50,10,20],[40,50,10,20,30],[50,10,20,30,40]]],length(compVisibility s)<1] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "compVisibility" + +Testfaelle OK: 0; Testfaelle FALSCH: 1 +Punkte : 0 + +Punkte pro Testfall: 10; Abzug pro fehlerhaften Testfall: 0; Maximum: 50 + +Testfall: {-2c,1-}buildSkyscrapers [[0,2,2,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] ; Testfall FALSCH +Erwartet: {-2c,1-}buildSkyscrapers [[0,2,2,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] == Nothing +Ausgabe: {-2c,1-}buildSkyscrapers [[0,2,2,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "buildSkyscrapers" +Testfall: {-2c,2-}buildSkyscrapers [[0,6,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,2,0]] ; Testfall FALSCH +Erwartet: {-2c,2-}buildSkyscrapers [[0,6,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,2,0]] == Nothing +Ausgabe: {-2c,2-}buildSkyscrapers [[0,6,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "buildSkyscrapers" +Testfall: {-2c,3-}buildSkyscrapers [[0,5,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,1,0]] ; Testfall FALSCH +Erwartet: {-2c,3-}buildSkyscrapers [[0,5,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,1,0]] == Nothing +Ausgabe: {-2c,3-}buildSkyscrapers [[0,5,4,3,2,1,0],[5,0,0,0,0,0,1],[4,0,0,0,0,0,2],[3,0,0,0,0,0,2],[2,0,0,0,0,0,2],[1,0,0,0,0,0,2],[0,1,2,2,2,1,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "buildSkyscrapers" +Testfall: {-2c,4-}buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] ; Testfall FALSCH +Erwartet: {-2c,4-}buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] == Just [[0,2,1,0],[2,10,20,1],[1,20,10,2],[0,1,2,0]] +Ausgabe: {-2c,4-}buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "buildSkyscrapers" +Testfall: {-2c,5-}[1|Nothing<-[buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]]]] ; Testfall FALSCH +Erwartet: {-2c,5-}[1|Nothing<-[buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]]]] == [] +Ausgabe: {-2c,5-}[1|Nothing<-[buildSkyscrapers [[0,2,1,0],[2,0,0,1],[1,0,0,2],[0,1,2,0]]]] ERROR "Aufgabe10.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe10.hs") ==ERROR - Undefined variable "buildSkyscrapers" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte gesamt: 0 + diff --git a/Aufgabe2.hs b/Aufgabe2.hs old mode 100755 new mode 100644 diff --git a/Aufgabe4.hs b/Aufgabe4.hs old mode 100755 new mode 100644 diff --git a/Aufgabe4.hs_2.out b/Aufgabe4.hs_2.out new file mode 100644 index 0000000..e1f5a56 --- /dev/null +++ b/Aufgabe4.hs_2.out @@ -0,0 +1,80 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-1,1-}writeLayer (Leaf 21) BottomUp == [[21]]; Testfall OK +Testfall: {-1,2-}writeLayer (Node 11 (Leaf 21) (Leaf 22)) BottomUp == [[21,22],[11]]; Testfall OK +Testfall: {-1,3-}writeLayer (Node 11(Leaf 21)(Node 22 (Leaf 31)(Leaf 32))) BottomUp ; Testfall FALSCH +Erwartet: {-1,3-}writeLayer (Node 11(Leaf 21)(Node 22 (Leaf 31)(Leaf 32))) BottomUp == [[31,32],[21,22],[11]] +Ausgabe: {-1,3-}writeLayer (Node 11(Leaf 21)(Node 22 (Leaf 31)(Leaf 32))) BottomUp ==[[21,31,32],[11]] +Testfall: {-1,4-}writeLayer (Node 11(Leaf 21)(Node 22 (Leaf 31)(Leaf 32))) TopDown ; Testfall FALSCH +Erwartet: {-1,4-}writeLayer (Node 11(Leaf 21)(Node 22 (Leaf 31)(Leaf 32))) TopDown == [[11],[21,22],[31,32]] +Ausgabe: {-1,4-}writeLayer (Node 11(Leaf 21)(Node 22 (Leaf 31)(Leaf 32))) TopDown ==[[11],[21,22]] +Testfall: {-1,5-}take 5 [(n::Integer,r,c)|n<-[1..6],c<-[[1..(2^(n+1)-1)]],r<-[let t 0 i=(Leaf i);t(m+1)i=Node i(t m(2*i))(t m(2*i+1));in concat(writeLayer(t n 1)TopDown)],r/=c]== []; Testfall OK + +Testfaelle OK: 3; Testfaelle FALSCH: 2 +Punkte : 15 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-2,1-}transform (Leaf 27) == (SNode 27 Nil Nil); Testfall OK +Testfall: {-2,1-}[1|(SNode 27 Nil Nil)<-[transform (Leaf 27)]] == [1]; Testfall OK +Testfall: {-2,1'-}Nil == Nil; Testfall OK +Testfall: {-2,2-}show (transform (Leaf 27)) == show (SNode 27 Nil Nil); Testfall OK +Testfall: {-2,3-}let r=[0..1];f p=[Leaf i|i<-r]++[(Node i l r)|i<-r,l<-p,r<-p];g Nil=[];g(SNode i l r)=g(l)++[i]++g(r)in take 5[u|t<-(f.f.f)[],u<-[(g.transform)t],u/=[0],u/=[1],u/=[0,1]] == []; Testfall OK +Testfall: {-2,4-}take 5[(n::Integer,r,c)|n<-[1..9],r<-[let t 0=(Leaf 0);t(m+1)=Node m(t m)(t m);fl(Nil)=[];fl(SNode x l r)=fl(l)++[x]++fl(r)in (fl.transform)((t n))],c<-[[0..(n-1)]],c/=r] == []; Testfall OK +Testfall: {-2,5-}take 5[(n::Integer,r,c)|n<-[1..7],r<-[let t 0 i=(Leaf i);t(m+1)i=Node i(t m(2*i))(t m(2*i+1));fl(Nil)=[];fl(SNode x l r)=fl(l)++[x]++fl(r)in (fl.transform)((t n 1))],c<-[[1..(2^(n+1))-1]],c/=r] == []; Testfall OK + +Testfaelle OK: 7; Testfaelle FALSCH: 0 +Punkte : 25 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-3,1-}(path(Graph[(1,[(2,1)])])9 2 1) == Invalid; Testfall OK +Testfall: {-3,1'-}[1|Invalid<-[path(Graph[(1,[(2,1)])])9 2 1]] == [1]; Testfall OK +Testfall: {-3,2-}[k|k<-[1..9],path(Graph[(1,[(2,1)])])1 2 k/=Yes] ; Testfall FALSCH +Erwartet: {-3,2-}[k|k<-[1..9],path(Graph[(1,[(2,1)])])1 2 k/=Yes] == [] +Ausgabe: {-3,2-}[k|k<-[1..9],path(Graph[(1,[(2,1)])])1 2 k/=Yes] ==[1,2,3,4,5,6,7,8,9] +Testfall: {-3,2'-}let ny Yes=False;ny _=True in[k|k<-[1..9],ny(path(Graph[(1,[(2,1)])])1 2 k)] ; Testfall FALSCH +Erwartet: {-3,2'-}let ny Yes=False;ny _=True in[k|k<-[1..9],ny(path(Graph[(1,[(2,1)])])1 2 k)] == [] +Ausgabe: {-3,2'-}let ny Yes=False;ny _=True in[k|k<-[1..9],ny(path(Graph[(1,[(2,1)])])1 2 k)] ==[1,2,3,4,5,6,7,8,9] +Testfall: {-3,3-}let nn No=False;nn _ =True;m=10;r=[1..m];g=Graph[(i,[(j,1)|j<-r,(j`mod`3)>(i`mod`3)])|i<-r]in[i|i<-r,nn(path g 1 i m)] ; Testfall FALSCH +Erwartet: {-3,3-}let nn No=False;nn _ =True;m=10;r=[1..m];g=Graph[(i,[(j,1)|j<-r,(j`mod`3)>(i`mod`3)])|i<-r]in[i|i<-r,nn(path g 1 i m)] == [2,5,8] +Ausgabe: {-3,3-}let nn No=False;nn _ =True;m=10;r=[1..m];g=Graph[(i,[(j,1)|j<-r,(j`mod`3)>(i`mod`3)])|i<-r]in[i|i<-r,nn(path g 1 i m)] ==[1,2,3,4,5,6,7,8,9,10] +Testfall: {-3,3'-}let nn No=False;nn _ =True;m=10;r=[1..m];g=Graph[(i,[(j,1)|j<-r,(j`mod`3)>(i`mod`3)])|i<-r]in[i|i<-r,nn(path g 1 i m)] ; Testfall FALSCH +Erwartet: {-3,3'-}let nn No=False;nn _ =True;m=10;r=[1..m];g=Graph[(i,[(j,1)|j<-r,(j`mod`3)>(i`mod`3)])|i<-r]in[i|i<-r,nn(path g 1 i m)] == [1,2,5,8] +Ausgabe: {-3,3'-}let nn No=False;nn _ =True;m=10;r=[1..m];g=Graph[(i,[(j,1)|j<-r,(j`mod`3)>(i`mod`3)])|i<-r]in[i|i<-r,nn(path g 1 i m)] ==[1,2,3,4,5,6,7,8,9,10] +Testfall: {-3,4-}let ny Yes=False;ny _=True in[n|n<-[1..15],ny(path(Graph[(i,[(i+1,1)])|i<-[1..n]])1 n(n-1))] ; Testfall FALSCH +Erwartet: {-3,4-}let ny Yes=False;ny _=True in[n|n<-[1..15],ny(path(Graph[(i,[(i+1,1)])|i<-[1..n]])1 n(n-1))] == [] +Ausgabe: {-3,4-}let ny Yes=False;ny _=True in[n|n<-[1..15],ny(path(Graph[(i,[(i+1,1)])|i<-[1..n]])1 n(n-1))] ==[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] +Testfall: {-3,5-}let ny Yes=False;ny _=True in[n|n<-[1..15],ny(path(Graph[(i,[(j,j-i)|j<-[i+1..n]])|i<-[1..n]])1 n (n-1))] ; Testfall FALSCH +Erwartet: {-3,5-}let ny Yes=False;ny _=True in[n|n<-[1..15],ny(path(Graph[(i,[(j,j-i)|j<-[i+1..n]])|i<-[1..n]])1 n (n-1))] == [] +Ausgabe: {-3,5-}let ny Yes=False;ny _=True in[n|n<-[1..15],ny(path(Graph[(i,[(j,j-i)|j<-[i+1..n]])|i<-[1..n]])1 n (n-1))] ==[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] +Testfall: {-3,5'-}let nn No=False;nn _ =True in[n|n<-[15],nn(path(Graph[(i,[(i+1,1)])|i<-[1..n]])1 n(n-2))] ; Testfall FALSCH +Erwartet: {-3,5'-}let nn No=False;nn _ =True in[n|n<-[15],nn(path(Graph[(i,[(i+1,1)])|i<-[1..n]])1 n(n-2))] == [] +Ausgabe: {-3,5'-}let nn No=False;nn _ =True in[n|n<-[15],nn(path(Graph[(i,[(i+1,1)])|i<-[1..n]])1 n(n-2))] ==[15] + +Testfaelle OK: 2; Testfaelle FALSCH: 7 +Punkte : 10 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-4,1-}minpath (Graph[(1,[(2,1)])])1 2 ; Testfall FALSCH +Erwartet: {-4,1-}minpath (Graph[(1,[(2,1)])])1 2 == ([1,2],1) +Ausgabe: {-4,1-}minpath (Graph[(1,[(2,1)])])1 2 ==ERROR - Undefined variable "minpath" +Testfall: {-4,2-}let m=5;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)>=(i`mod`3)])|i<-r]in take 11[c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]] ; Testfall FALSCH +Erwartet: {-4,2-}let m=5;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)>=(i`mod`3)])|i<-r]in take 11[c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]] == [1,0,1,1,0,0,0,1,1,1,1] +Ausgabe: {-4,2-}let m=5;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)>=(i`mod`3)])|i<-r]in take 11[c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]] ==ERROR - Undefined variable "minpath" +Testfall: {-4,3-}let m=4;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)/=(i`mod`3)])|i<-r]in take 9 ([c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]]) ; Testfall FALSCH +Erwartet: {-4,3-}let m=4;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)/=(i`mod`3)])|i<-r]in take 9 ([c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]]) == [1,1,2,1,1,1,1,1,1] +Ausgabe: {-4,3-}let m=4;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)/=(i`mod`3)])|i<-r]in take 9 ([c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]]) ==ERROR - Undefined variable "minpath" +Testfall: {-4,4-}let m=5;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)/=(i`mod`3)])|i<-r]in take 11([c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]]) ; Testfall FALSCH +Erwartet: {-4,4-}let m=5;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)/=(i`mod`3)])|i<-r]in take 11([c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]]) == [1,1,2,1,1,1,1,2,1,1,1] +Ausgabe: {-4,4-}let m=5;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)/=(i`mod`3)])|i<-r]in take 11([c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]]) ==ERROR - Undefined variable "minpath" +Testfall: {-4,5'-}let m=6;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)/=(i`mod`3)])|i<-r]in take 11([c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]]) ; Testfall FALSCH +Erwartet: {-4,5'-}let m=6;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)/=(i`mod`3)])|i<-r]in take 11([c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]]) == [1,1,2,1,1,1,1,1,2,1,1] +Ausgabe: {-4,5'-}let m=6;r=[1..m];g=Graph[(i,[(j,1)|j<-r,i/=j,(j`mod`3)/=(i`mod`3)])|i<-r]in take 11([c|i<-r,j<-r,i/=j,(_,c)<-[minpath g i j]]) ==ERROR - Undefined variable "minpath" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte gesamt: 50 + diff --git a/Aufgabe5.hs b/Aufgabe5.hs old mode 100755 new mode 100644 index 277cda8..967f203 --- a/Aufgabe5.hs +++ b/Aufgabe5.hs @@ -1,98 +1,235 @@ -type Cost = Integer -type Vertex = Integer -type MaxVertexNo = Integer -type Edge = (Vertex,Cost,Vertex) -type Row = [Integer] - -data ALgraph = ALg [(Vertex,[(Vertex,Cost)])] deriving (Eq,Show) -data ELgraph = ELg MaxVertexNo [Edge] deriving (Eq,Show) -data AMgraph = AMg [Row] deriving (Eq,Show) - -type Inp = (MaxVertexNo,[(Vertex,Vertex,Cost)]) - - ---Aufg 1 -isValid :: Inp -> Bool -isValid (mvert,list) = (and( [ (checkValidEl (list!!index) mvert) | index <- [0..((min (fromEnum mvert) (length list))-1)] ] )) && (ckeckValidLinks list) - -checkValidEl :: (Vertex,Vertex,Cost) -> MaxVertexNo -> Bool -checkValidEl (from,to,cost) mi | ((from > mi) || (to > mi)) = False -checkValidEl (from,to,cost) mi | (cost <= 0) = False -checkValidEl (_,_,_) _ = True - -ckeckValidLinks :: [(Vertex,Vertex,Cost)] -> Bool -ckeckValidLinks [] = True -ckeckValidLinks xs = ((length xs) == (length (undup xs))) - -undup :: [(Vertex,Vertex,Cost)] -> [(Vertex,Vertex,Cost)] -undup [] = [] -undup ((f,t,c):xs) = (f,t,c) : undup (filter (\(x,y,z) -> not ((f == x) && (t == y))) xs) - - - ---Aufg2 -inp2el :: Inp -> ELgraph -inp2el (vnum, xs) = ELg vnum [ (inp2elConv x) | x <- xs] - -inp2elConv :: (Vertex,Vertex,Cost) -> (Vertex,Cost,Vertex) -inp2elConv (f,t,c) = (f,c,t) - - - -el2al :: ELgraph -> ALgraph -el2al (ELg maxV el) = ALg ([(el2alGet el (toInteger i)) | i <- [0..((length el)-1)]] ++ [(i,[]) | i <- [(toInteger (length el))..maxV]]) - -el2alGet :: [Edge] -> Integer -> (Vertex,[(Vertex,Cost)]) -el2alGet e i = (i, concat([ (el2alRet el i) | el <- e])) - -el2alRet :: Edge -> Integer -> [(Vertex,Cost)] -el2alRet (f,c,t) i | (f == i) = [(t,c)] -el2alRet _ _ = [] - - - -al2am :: ALgraph -> AMgraph -al2am (ALg al) = AMg [[ al2amEl al (toInteger i) (toInteger j) | j <- [0..((length al)-1)]] | i <- [0..((length al)-1)]] - -al2amEl :: [(Vertex,[(Vertex,Cost)])] -> Integer -> Integer -> Integer -al2amEl xs i j | ((toInteger (length xs)) > i) = al2amRow (xs!!(fromEnum i)) j - -al2amRow :: (Vertex,[(Vertex,Cost)]) -> Integer -> Integer -al2amRow (v,xs) j = al2amVal xs j - -al2amVal :: [(Vertex,Cost)] -> Integer -> Integer -al2amVal [] i = 0 -al2amVal ((v,c):xs) i | (v /= i) = al2amVal xs i -al2amVal ((v,c):xs) i | (v == i) = c - - - -am2el :: AMgraph -> ELgraph -am2el (AMg m) = ELg (toInteger ((length m)-1)) (concat [ (concat [ am2elC ((m!!(fromEnum i))!!(fromEnum j)) (toInteger i) (toInteger j) | j <- [0..((length m)-1)]]) | i <- [0..((length m)-1)]]) - -am2elC :: Cost -> Vertex -> Vertex -> [Edge] -am2elC c f t | (c == 0) = [] -am2elC c f t = [(f,c,t)] - - --- abgeleitet -el2am :: ELgraph -> AMgraph -el2am eg = al2am (el2al eg) - -al2el :: ALgraph -> ELgraph -al2el ag = am2el (al2am ag) - -am2al :: AMgraph -> ALgraph -am2al am = el2al (am2el am) - - - - --- Aufg 3 -isNeighbourOf :: ELgraph -> Vertex -> Vertex -> Bool -isNeighbourOf _ _ _ = True - -isOnCycle :: ALgraph -> Vertex -> Cost -> Bool -isOnCycle _ _ _ = False - - +import Data.List +import Maybe + +type Cost = Integer +type Vertex = Integer +type MaxVertexNo = Integer +type Edge = (Vertex,Cost,Vertex) +type Row = [Integer] + +data ALgraph = ALg [(Vertex,[(Vertex,Cost)])] deriving (Eq,Show) +data ELgraph = ELg MaxVertexNo [Edge] deriving (Eq,Show) +data AMgraph = AMg [Row] deriving (Eq,Show) + +type Inp = (MaxVertexNo, [(Vertex,Vertex,Cost)]) + +-- Bsp 5.1 + +isValid :: Inp -> Bool +isValid (max,edges) | (max<0) = False + | otherwise = checkEdges edges [] max + +checkEdges :: [(Vertex,Vertex,Cost)] -> [(Vertex,Vertex)] -> MaxVertexNo -> Bool +checkEdges ((v1,v2,c):[]) edges max | (elem (v1,v2) edges) = False + | ((v1<=max)&&(v1>=0)&&(v2<=max)&&(v2>=0)&&(c>0)) = True + | otherwise = False +checkEdges ((v1,v2,c):xs) edges max | (elem (v1,v2) edges) = False + | ((v1<=max)&&(v1>=0)&&(v2<=max)&&(v2>=0)&&(c>0)) = checkEdges xs ([(v1,v2)]++edges) max + | otherwise = False + +-- Bsp 5.2 a) + +inp2el :: Inp -> ELgraph +inp2el (max, edges) = ELg max (createEdges edges) + +createEdges :: [(Vertex,Vertex,Cost)] -> [Edge] +createEdges [] = [] +createEdges ((v1,v2,c):xs) = [(v1,c,v2)] ++ createEdges xs + +-- Bsp 5.2 b) + +al2am :: ALgraph -> AMgraph +al2am (ALg al) = AMg(transformAL2AM (sortBy sortALEdges al) 0 (getLengthAL al 0)) + +sortALEdges :: (Vertex,[(Vertex,Cost)]) -> (Vertex,[(Vertex,Cost)]) -> Ordering +sortALEdges (a,_) (b,_) | a (Vertex,Cost) -> Ordering +sortList (a,_) (b,_) | a Integer -> Integer -> [Row] +transformAL2AM [] i max= [] +transformAL2AM ((v,list):xs) i max | (v==i) = [getRow (sortBy sortList list) 0 max] ++ transformAL2AM xs (i+1) max + | otherwise = [getRow [] 0 max] ++ transformAL2AM ([(v,list)]++xs) (i+1) max + +getRow :: [(Vertex,Cost)] -> Integer -> Integer-> Row +getRow [] i max | (i==max) = [0] + | otherwise = [0] ++ getRow [] (i+1) max +getRow ((v,c):xs) i max | (i==max)&&(v==i) = [c] + | (i==max) = [0] + | (v==i) = [c] ++ getRow xs (i+1) max + | otherwise = [0] ++ getRow ([(v,c)]++xs) (i+1) max + +-- Bsp 5.2 c) + +al2el :: ALgraph -> ELgraph +al2el (ALg al) = ELg (getLengthAL al 0) (splitAL al) + +getLengthAL :: [(Vertex,[(Vertex,Cost)])] -> Integer -> Integer +getLengthAL [] max = max +getLengthAL ((v,list):xs) max | ((getMaxfromList list 0)>v)&&((getMaxfromList list 0)>max) = getLengthAL xs (getMaxfromList list 0) + | (v>max) = getLengthAL xs v + | otherwise = getLengthAL xs max + +getMaxfromList :: [(Vertex,Cost)] -> Integer -> Integer +getMaxfromList [] max = max +getMaxfromList ((v,c):xs) max | (v>max) = getMaxfromList xs v + | otherwise =getMaxfromList xs max + +--transformAL2EL :: ALgraph -> [Edge] +--transformAL2EL (ALg al)= splitAL al + +splitAL :: [(Vertex,[(Vertex,Cost)])] -> [Edge] +splitAL [] = [] +splitAL (row:xs) = splitALRow row ++ splitAL xs + +splitALRow :: (Vertex,[(Vertex,Cost)]) -> [Edge] +splitALRow (v,list) = getEdges v list + +getEdges :: Vertex -> [(Vertex,Cost)] -> [Edge] +getEdges v1 [] = [] +getEdges v1 ((v2,c):[]) = [(v1,c,v2)] +getEdges v1 ((v2,c):xs) = [(v1,c,v2)] ++ getEdges v1 xs + +-- Bsp 5.2 d) + +am2al :: AMgraph -> ALgraph +am2al (AMg am) = ALg (changeAL (transformAM2AL am 0)) + +changeAL :: [(Vertex,[(Vertex,Cost)])] -> [(Vertex,[(Vertex,Cost)])] +changeAL [] = [] +changeAL ((x,list):xs) | (list==[]) = changeAL xs + | otherwise = [(x,list)] ++ changeAL xs + +transformAM2AL :: [Row] -> Vertex -> [(Vertex,[(Vertex,Cost)])] +transformAM2AL (row:[]) v = [(v,(getList v row 0))] +transformAM2AL (row:xs) v = [(v,(getList v row 0))] ++ transformAM2AL xs (v+1) + +getList :: Vertex -> Row -> Integer -> [(Vertex,Cost)] +getList v [] i = [] +getList v (x:xs) i | (x==0) = getList v xs (i+1) + | otherwise = [(i,x)] ++ getList v xs (i+1) + +-- Bsp 5.2 e) + +am2el :: AMgraph -> ELgraph +am2el (AMg am) = ELg (fromIntegral(length am)-1) (transformAM2EL am 0) + +transformAM2EL :: [Row] -> Vertex -> [Edge] +transformAM2EL (row:[]) v = [] ++ getEdges v (getList v row 0) +transformAM2EL (row:xs) v = getEdges v (getList v row 0) ++ transformAM2EL xs (v+1) + +-- Bsp 5.2 f) + +sortELEdges :: (Vertex,Cost,Vertex) -> (Vertex,Cost,Vertex) -> Ordering +sortELEdges (a,_,_) (b,_,_) | a ALgraph +el2al (ELg max el) = ALg(changeAL(transformEL2AL 0 (sortBy sortELEdges el) max)) + +transformEL2AL :: Vertex -> [(Vertex,Cost,Vertex)] -> MaxVertexNo -> [(Vertex,[(Vertex,Cost)])] +transformEL2AL v el max | (v<=max) = [(v,getALEdges v el False)] ++ (transformEL2AL (v+1) el max) + | otherwise = [] + +getALEdges :: Vertex -> [(Vertex,Cost,Vertex)] -> Bool -> [(Vertex,Cost)] +getALEdges v [] b = [] +getALEdges v ((v1,c,v2):xs) b | (v1==v) = [(v2,c)] ++ getALEdges v xs True + | ((v1/=v)&&(not b)) = getALEdges v xs False + | ((v1/=v)&&(b)) = [] + +-- Bsp 5.2 g) + +el2am :: ELgraph -> AMgraph +el2am el = al2am (el2al el) + +-- Bsp 5.3 a) + +isNeighbourOf :: ELgraph -> Vertex -> Vertex -> Bool +isNeighbourOf el v1 v2 = elem v2 (allNeighboursOf el v1) + +-- Bsp 5.3 b) + +allNeighboursOf :: ELgraph -> Vertex -> [Vertex] +allNeighboursOf el v = splitAL3 (el2al el) v + +splitAL3 :: ALgraph -> Vertex -> [Vertex] +splitAL3 (ALg al) v = splitAL2 al v + +splitAL2 :: [(Vertex,[(Vertex,Cost)])] -> Vertex -> [Vertex] +splitAL2 al v = getNeighbours al v + +getNeighbours :: [(Vertex,[(Vertex,Cost)])] -> Vertex -> [Vertex] +getNeighbours [] v = [] +getNeighbours ((v1,list):xs) v | (v==v1) = list2neighbour list + | otherwise = getNeighbours xs v + +list2neighbour :: [(Vertex,Cost)] -> [Vertex] +list2neighbour [] = [] +list2neighbour ((v,c):xs) = [v] ++ list2neighbour xs + +-- Bsp 5.3 c) + +numberOfEdges :: AMgraph -> Integer +numberOfEdges am = getEdgeCount (am2el am) + +getEdgeCount :: ELgraph -> Integer +getEdgeCount (ELg max el) = fromIntegral (length el) + +-- Bsp 5.3 d) + +isOnCycle :: ALgraph -> Vertex -> Cost -> Bool +isOnCycle g v cost = path g v v cost +-- isOnCycle (ALg al) v c = checkCycle al v c + +-- checkCycle :: [(Vertex,[(Vertex,Cost)])] -> Vertex -> Cost +-- checkCycle ((v,list):xs) vs c | (v==vs) = searchNeighbours list vs c 0 +-- | otherwise = checkCycle xs vs c + +-- searchNeighbours [(Vertex,Cost)] -> Vertex -> Cost -> Integer -> +-- searchNeighbours ((v,c):xs) vs c max = + + + + + +type MyGraph = [(Vertex,[(Vertex,Cost)])] +castGraph :: ALgraph -> MyGraph +castGraph (ALg xs) = xs + +exist :: [Vertex] -> Vertex -> Bool +exist mypath node = isNothing (find (==node) mypath) == False + +getedges :: MyGraph -> Vertex -> [(Vertex,Cost)] +getedges g k + | isNothing e = [] + | otherwise = snd ((maybeToList e)!!0) + where e = find (\n -> (fst n) == k) g + +findPath :: MyGraph -> Vertex -> Vertex -> [Vertex] -> Int -> Integer -> Integer -> Bool -> [Vertex] +findPath g von zu mypath pos max cur first + | von == zu && cur <= max && first == False = mypath ++ [von] + | von == zu && first == False = [] + | (length edges) <= pos = [] + | pos == 0 && (exist mypath von) = [] + | (length current /= 0) = current + | pos < (length edges) = next_sibling + | otherwise = [] + where + next_sibling = findPath g von zu mypath (pos+1) max cur first + edges = getedges g von + weight = cur + snd (edges!!pos) + current = findPath g (fst (edges!!pos)) zu (mypath++[von]) 0 max weight False + +path :: ALgraph -> Vertex -> Vertex -> Cost -> Bool +path graph von zu max + | (length mypath) == 0 = False + | otherwise = True + where + mypath = (findPath g von zu [] 0 max 0) True + g = castGraph graph + + + diff --git a/Aufgabe5.hs_1.out b/Aufgabe5.hs_1.out new file mode 100644 index 0000000..1d768c2 --- /dev/null +++ b/Aufgabe5.hs_1.out @@ -0,0 +1,36 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-1,1'-}[(m,i,j)|m<-[0..3],i<-[0..3],j<-[0..3],j/=i,isValid(m,[(i,j,1)])] == [(1,0,1),(1,1,0),(2,0,1),(2,0,2),(2,1,0),(2,1,2),(2,2,0),(2,2,1),(3,0,1),(3,0,2),(3,0,3),(3,1,0),(3,1,2),(3,1,3),(3,2,0),(3,2,1),(3,2,3),(3,3,0),(3,3,1),(3,3,2)]; Testfall OK +Testfall: {-1,2-}[(m,j)|m<-[4..9],j<-[[],[2]],isValid(let m=10;in(m,[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2324)][(a,b,1)|a<-[0..m-1],b<-(j++[0..m-1])]]))] == [(m,[])|m<-[4..9]]; Testfall OK + +Testfaelle OK: 2; Testfaelle FALSCH: 0 +Punkte : 10 + +Punkte pro Testfall: 10; Abzug pro fehlerhaften Testfall: 0; Maximum: 45 + +Testfall: {-2,1-}[(m,i,r)|m<-[2,3],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2321)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[inp2el(m,i)], r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK +Testfall: {-2,2-}[m|m<-[4,5],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2322)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(al2el.am2al.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK +Testfall: {-2,3-}[m|m<-[2,3],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2323)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(al2el.am2al.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK +Testfall: {-2,4-}[m|m<-[4,5],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2324)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(al2el.am2al.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK +Testfall: {-2,5-}[m|m<-[4,7],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2325)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(am2el.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK + +Testfaelle OK: 5; Testfaelle FALSCH: 0 +Punkte : 45 + +Punkte pro Testfall: 7; Abzug pro fehlerhaften Testfall: 0; Maximum: 45 + +Testfall: {-3,1-}[(m,i,r)|m<-[2,3],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2331)][(a,b,1)|a<-r,b<-r]]],r<-[[(a,b,1)|a<-r,b<-r,isNeighbourOf (inp2el(m,i)) a b]], r/= i] == []; Testfall OK +Testfall: {-3,2-}[(m,i,r)|m<-[4..7],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],r<-[[(a,b,1)|a<-r,b<-r,isNeighbourOf (inp2el(m,i)) a b]], r/= i] == []; Testfall OK +Testfall: {-3,2'-}[(m,i,r)|m<-[8..9],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],r<-[[(a,b,1)|a<-r,b<-r,isNeighbourOf (inp2el(m,i)) a b]], r/= i] == []; Testfall OK +Testfall: {-3,3-}[o|m<-[4..7],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],o<-[(numberOfEdges.el2am.inp2el)(m,i)]] == [8,14,19,25]; Testfall OK +Testfall: {-3,4-}[o|m<-[8..14],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],o<-[(numberOfEdges.el2am.inp2el)(m,i)]] == [33,43,51,60,72,89,103]; Testfall OK +Testfall: {-3,4'-}[o|m<-[15..20],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],o<-[(numberOfEdges.el2am.inp2el)(m,i)]] == [114,128,145,165,187,203]; Testfall OK +Testfall: {-3,5-}[v|m<-[5],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`4<1|j<-iterate(`div`4)(3^2332)][(a,b,1)|a<-r,b<-r]]],v<-[0..m],isOnCycle((el2al.inp2el)(m,i))v 100] == [0,1,2]; Testfall OK +Testfall: {-3,6-}[v|m<-[6],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`4<1|j<-iterate(`div`4)(3^2332)][(a,b,1)|a<-r,b<-r]]],v<-[0..m],isOnCycle((el2al.inp2el)(m,i))v 100] == [4,5]; Testfall OK +Testfall: {-3,7-}[v|m<-[9],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`4<1|j<-iterate(`div`4)(3^2335)][(a,b,1)|a<-r,b<-r]]],v<-[0..m],isOnCycle((el2al.inp2el)(m,i))v 100] == [1,2,4,5,8]; Testfall OK + +Testfaelle OK: 9; Testfaelle FALSCH: 0 +Punkte : 45 + +Punkte gesamt: 100 + diff --git a/Aufgabe5.hs_2.out b/Aufgabe5.hs_2.out new file mode 100644 index 0000000..1d768c2 --- /dev/null +++ b/Aufgabe5.hs_2.out @@ -0,0 +1,36 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-1,1'-}[(m,i,j)|m<-[0..3],i<-[0..3],j<-[0..3],j/=i,isValid(m,[(i,j,1)])] == [(1,0,1),(1,1,0),(2,0,1),(2,0,2),(2,1,0),(2,1,2),(2,2,0),(2,2,1),(3,0,1),(3,0,2),(3,0,3),(3,1,0),(3,1,2),(3,1,3),(3,2,0),(3,2,1),(3,2,3),(3,3,0),(3,3,1),(3,3,2)]; Testfall OK +Testfall: {-1,2-}[(m,j)|m<-[4..9],j<-[[],[2]],isValid(let m=10;in(m,[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2324)][(a,b,1)|a<-[0..m-1],b<-(j++[0..m-1])]]))] == [(m,[])|m<-[4..9]]; Testfall OK + +Testfaelle OK: 2; Testfaelle FALSCH: 0 +Punkte : 10 + +Punkte pro Testfall: 10; Abzug pro fehlerhaften Testfall: 0; Maximum: 45 + +Testfall: {-2,1-}[(m,i,r)|m<-[2,3],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2321)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[inp2el(m,i)], r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK +Testfall: {-2,2-}[m|m<-[4,5],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2322)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(al2el.am2al.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK +Testfall: {-2,3-}[m|m<-[2,3],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2323)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(al2el.am2al.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK +Testfall: {-2,4-}[m|m<-[4,5],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2324)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(al2el.am2al.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK +Testfall: {-2,5-}[m|m<-[4,7],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2325)][(a,b,1)|a<-r,b<-r]]],(ELg _ v)<-[(am2el.el2am.inp2el)(m,i)],r<-[[(a,b,1)|a<-r,b<-r,elem(a,1,b)v]], r/= i] == []; Testfall OK + +Testfaelle OK: 5; Testfaelle FALSCH: 0 +Punkte : 45 + +Punkte pro Testfall: 7; Abzug pro fehlerhaften Testfall: 0; Maximum: 45 + +Testfall: {-3,1-}[(m,i,r)|m<-[2,3],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2331)][(a,b,1)|a<-r,b<-r]]],r<-[[(a,b,1)|a<-r,b<-r,isNeighbourOf (inp2el(m,i)) a b]], r/= i] == []; Testfall OK +Testfall: {-3,2-}[(m,i,r)|m<-[4..7],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],r<-[[(a,b,1)|a<-r,b<-r,isNeighbourOf (inp2el(m,i)) a b]], r/= i] == []; Testfall OK +Testfall: {-3,2'-}[(m,i,r)|m<-[8..9],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],r<-[[(a,b,1)|a<-r,b<-r,isNeighbourOf (inp2el(m,i)) a b]], r/= i] == []; Testfall OK +Testfall: {-3,3-}[o|m<-[4..7],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],o<-[(numberOfEdges.el2am.inp2el)(m,i)]] == [8,14,19,25]; Testfall OK +Testfall: {-3,4-}[o|m<-[8..14],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],o<-[(numberOfEdges.el2am.inp2el)(m,i)]] == [33,43,51,60,72,89,103]; Testfall OK +Testfall: {-3,4'-}[o|m<-[15..20],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`2<1|j<-iterate(`div`2)(3^2332)][(a,b,1)|a<-r,b<-r]]],o<-[(numberOfEdges.el2am.inp2el)(m,i)]] == [114,128,145,165,187,203]; Testfall OK +Testfall: {-3,5-}[v|m<-[5],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`4<1|j<-iterate(`div`4)(3^2332)][(a,b,1)|a<-r,b<-r]]],v<-[0..m],isOnCycle((el2al.inp2el)(m,i))v 100] == [0,1,2]; Testfall OK +Testfall: {-3,6-}[v|m<-[6],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`4<1|j<-iterate(`div`4)(3^2332)][(a,b,1)|a<-r,b<-r]]],v<-[0..m],isOnCycle((el2al.inp2el)(m,i))v 100] == [4,5]; Testfall OK +Testfall: {-3,7-}[v|m<-[9],r<-[[0..m-1]],i<-[[y|(True,y)<-zip[j`mod`4<1|j<-iterate(`div`4)(3^2335)][(a,b,1)|a<-r,b<-r]]],v<-[0..m],isOnCycle((el2al.inp2el)(m,i))v 100] == [1,2,4,5,8]; Testfall OK + +Testfaelle OK: 9; Testfaelle FALSCH: 0 +Punkte : 45 + +Punkte gesamt: 100 + diff --git a/Aufgabe5.test.hs b/Aufgabe5.test.hs new file mode 100644 index 0000000..7789fcb --- /dev/null +++ b/Aufgabe5.test.hs @@ -0,0 +1,42 @@ +-- Testfaelle Aufgabenblatt 5 + +testall = and [testinp, testkonv, testfkt] + +-- 1. +tinp_all = [tinp_1, tinp_2, tinp_3, tinp_4] + +tinp_1 = (4,[(1,2,500), (0,3,100), (0,2,200)]) -- okay +tinp_2 = (2,xs) -- zu viele Kanten + where (_,xs) = tinp_1 +tinp_3 = (maxno,(2,1,400):xs) -- zwei Kanten zwischen zwei Knoten + where (maxno,xs) = tinp_1 +tinp_4 = (maxno,(1,3,-400):xs) -- negative Kosten + where (maxno,xs) = tinp_1 + +testinp = [True,False,True,False] == [isValid x | x <- tinp_all] + +-- 2.: Beachten Sie, dass das Resultat i.a. nicht eindeutig festgelegt ist! +tkonv_all = [tkonv_a, tkonv_b, tkonv_c, tkonv_d, tkonv_e, tkonv_f, tkonv_g] + +tkonv_a = inp2el tinp_1 == (ELg 4 [(1,500,2),(0,100,3),(0,200,2)]) +tkonv_b = al2am (el2al (inp2el tinp_1)) == (AMg [[0,0,200,100,0],[0,0,500,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]) +tkonv_c = al2el (el2al (inp2el tinp_1)) == (ELg 4 [(0,100,3),(0,200,2),(1,500,2)] ) +tkonv_d = am2al (el2am (inp2el tinp_1)) == (ALg [(0,[(2,200),(3,100)]),(1,[(2,500)]),(2,[]),(3,[]),(4,[])]) +tkonv_e = am2el (el2am (inp2el tinp_1)) == (ELg 4 [(0,200,2),(0,100,3),(1,500,2)]) +tkonv_f = el2al (inp2el tinp_1) == (ALg [(0,[(3,100),(2,200)]),(1,[(2,500)]),(2,[]),(3,[]),(4,[])]) +tkonv_g = el2am (inp2el tinp_1) == (AMg [[0,0,200,100,0],[0,0,500,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]) + +testkonv = and tkonv_all + +-- 3. +tfkt_all = [tfkt_a,tfkt_b,tfkt_c,tfkt_d,tfkt_e,tfkt_f] + +tfkt_a = isNeighbourOf (inp2el tinp_1) 0 2 == True +tfkt_b = allNeighboursOf (inp2el tinp_1) 0 == [2,3] +tfkt_c = numberOfEdges (el2am (inp2el tinp_1)) == 3 +gcycle = ALg [(0,[]), (1,[(2,20)]), (2,[(3,30),(5,50)]), (3,[(0,500),(4,40)]), (4,[(1,10)])] +tfkt_d = isOnCycle gcycle 1 200 == True +tfkt_e = isOnCycle gcycle 2 50 == False +tfkt_f = isOnCycle gcycle 5 1000 == False + +testfkt = and tfkt_all diff --git a/Aufgabe5_jj.hs b/Aufgabe5_jj.hs new file mode 100644 index 0000000..277cda8 --- /dev/null +++ b/Aufgabe5_jj.hs @@ -0,0 +1,98 @@ +type Cost = Integer +type Vertex = Integer +type MaxVertexNo = Integer +type Edge = (Vertex,Cost,Vertex) +type Row = [Integer] + +data ALgraph = ALg [(Vertex,[(Vertex,Cost)])] deriving (Eq,Show) +data ELgraph = ELg MaxVertexNo [Edge] deriving (Eq,Show) +data AMgraph = AMg [Row] deriving (Eq,Show) + +type Inp = (MaxVertexNo,[(Vertex,Vertex,Cost)]) + + +--Aufg 1 +isValid :: Inp -> Bool +isValid (mvert,list) = (and( [ (checkValidEl (list!!index) mvert) | index <- [0..((min (fromEnum mvert) (length list))-1)] ] )) && (ckeckValidLinks list) + +checkValidEl :: (Vertex,Vertex,Cost) -> MaxVertexNo -> Bool +checkValidEl (from,to,cost) mi | ((from > mi) || (to > mi)) = False +checkValidEl (from,to,cost) mi | (cost <= 0) = False +checkValidEl (_,_,_) _ = True + +ckeckValidLinks :: [(Vertex,Vertex,Cost)] -> Bool +ckeckValidLinks [] = True +ckeckValidLinks xs = ((length xs) == (length (undup xs))) + +undup :: [(Vertex,Vertex,Cost)] -> [(Vertex,Vertex,Cost)] +undup [] = [] +undup ((f,t,c):xs) = (f,t,c) : undup (filter (\(x,y,z) -> not ((f == x) && (t == y))) xs) + + + +--Aufg2 +inp2el :: Inp -> ELgraph +inp2el (vnum, xs) = ELg vnum [ (inp2elConv x) | x <- xs] + +inp2elConv :: (Vertex,Vertex,Cost) -> (Vertex,Cost,Vertex) +inp2elConv (f,t,c) = (f,c,t) + + + +el2al :: ELgraph -> ALgraph +el2al (ELg maxV el) = ALg ([(el2alGet el (toInteger i)) | i <- [0..((length el)-1)]] ++ [(i,[]) | i <- [(toInteger (length el))..maxV]]) + +el2alGet :: [Edge] -> Integer -> (Vertex,[(Vertex,Cost)]) +el2alGet e i = (i, concat([ (el2alRet el i) | el <- e])) + +el2alRet :: Edge -> Integer -> [(Vertex,Cost)] +el2alRet (f,c,t) i | (f == i) = [(t,c)] +el2alRet _ _ = [] + + + +al2am :: ALgraph -> AMgraph +al2am (ALg al) = AMg [[ al2amEl al (toInteger i) (toInteger j) | j <- [0..((length al)-1)]] | i <- [0..((length al)-1)]] + +al2amEl :: [(Vertex,[(Vertex,Cost)])] -> Integer -> Integer -> Integer +al2amEl xs i j | ((toInteger (length xs)) > i) = al2amRow (xs!!(fromEnum i)) j + +al2amRow :: (Vertex,[(Vertex,Cost)]) -> Integer -> Integer +al2amRow (v,xs) j = al2amVal xs j + +al2amVal :: [(Vertex,Cost)] -> Integer -> Integer +al2amVal [] i = 0 +al2amVal ((v,c):xs) i | (v /= i) = al2amVal xs i +al2amVal ((v,c):xs) i | (v == i) = c + + + +am2el :: AMgraph -> ELgraph +am2el (AMg m) = ELg (toInteger ((length m)-1)) (concat [ (concat [ am2elC ((m!!(fromEnum i))!!(fromEnum j)) (toInteger i) (toInteger j) | j <- [0..((length m)-1)]]) | i <- [0..((length m)-1)]]) + +am2elC :: Cost -> Vertex -> Vertex -> [Edge] +am2elC c f t | (c == 0) = [] +am2elC c f t = [(f,c,t)] + + +-- abgeleitet +el2am :: ELgraph -> AMgraph +el2am eg = al2am (el2al eg) + +al2el :: ALgraph -> ELgraph +al2el ag = am2el (al2am ag) + +am2al :: AMgraph -> ALgraph +am2al am = el2al (am2el am) + + + + +-- Aufg 3 +isNeighbourOf :: ELgraph -> Vertex -> Vertex -> Bool +isNeighbourOf _ _ _ = True + +isOnCycle :: ALgraph -> Vertex -> Cost -> Bool +isOnCycle _ _ _ = False + + diff --git a/Aufgabe6.lhs_1.out b/Aufgabe6.lhs_1.out new file mode 100644 index 0000000..daa533b --- /dev/null +++ b/Aufgabe6.lhs_1.out @@ -0,0 +1,116 @@ +Punkte pro Testfall: 3; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-1a,1-}(BLeaf 1 "a") ; Testfall FALSCH +Erwartet: {-1a,1-}(BLeaf 1 "a") == (BLeaf 2 "a") +Ausgabe: {-1a,1-}(BLeaf 1 "a") ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: {-1a,2-}( (BLeaf 1 "a") /= (BLeaf 1 "ab") ) ; Testfall FALSCH +Erwartet: {-1a,2-}( (BLeaf 1 "a") /= (BLeaf 1 "ab") ) == True +Ausgabe: {-1a,2-}( (BLeaf 1 "a") /= (BLeaf 1 "ab") ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: {-1a,3-}( (BLeaf 1 "a") /= (BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) ) ; Testfall FALSCH +Erwartet: {-1a,3-}( (BLeaf 1 "a") /= (BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) ) == True +Ausgabe: {-1a,3-}( (BLeaf 1 "a") /= (BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: {-1a,4-}(BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) ; Testfall FALSCH +Erwartet: {-1a,4-}(BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) == (BNode 4 "a" (BLeaf 5 "a") (BLeaf 6 "ab")) +Ausgabe: {-1a,4-}(BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: {-1a,5-}[i|i<-[0..5],(BNode i "a" (BLeaf (i+1) "a") (BLeaf (i+2) "ab")) /= (BNode (i+3) "a" (BLeaf (i+4) "a") (BLeaf (i+6) "ab"))] ; Testfall FALSCH +Erwartet: {-1a,5-}[i|i<-[0..5],(BNode i "a" (BLeaf (i+1) "a") (BLeaf (i+2) "ab")) /= (BNode (i+3) "a" (BLeaf (i+4) "a") (BLeaf (i+6) "ab"))] == [] +Ausgabe: {-1a,5-}[i|i<-[0..5],(BNode i "a" (BLeaf (i+1) "a") (BLeaf (i+2) "ab")) /= (BNode (i+3) "a" (BLeaf (i+4) "a") (BLeaf (i+6) "ab"))] ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte pro Testfall: 3; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-1b,1-}(LNode 0 2 [] ; Testfall FALSCH +Erwartet: {-1b,1-}(LNode 0 2 [] == LNode 3 2 []) +Ausgabe: {-1b,1-}(LNode 0 2 [] ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Syntax error in expression (unexpected end of input) +Testfall: {-1b,2-}(LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) ; Testfall FALSCH +Erwartet: {-1b,2-}(LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) == (LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) +Ausgabe: {-1b,2-}(LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" +Testfall: {-1b,3-}( (LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) /= (LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) ) ; Testfall FALSCH +Erwartet: {-1b,3-}( (LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) /= (LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) ) == True +Ausgabe: {-1b,3-}( (LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) /= (LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" +Testfall: {-1b,4-}(LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) ; Testfall FALSCH +Erwartet: {-1b,4-}(LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) == (LNode 11 1 [(LNode (x+5) x [(LNode ((100*x)+y+10) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) +Ausgabe: {-1b,4-}(LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 20 + +Testfall: (noOfSources (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ; Testfall FALSCH +Erwartet: (noOfSources (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) == 1 +Ausgabe: (noOfSources (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: (noOfSinks (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ; Testfall FALSCH +Erwartet: (noOfSinks (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) == 2 +Ausgabe: (noOfSinks (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: (notSourceConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ; Testfall FALSCH +Erwartet: (notSourceConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) == [] +Ausgabe: (notSourceConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: (notSinkConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ; Testfall FALSCH +Erwartet: (notSinkConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) == [] +Ausgabe: (notSinkConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 20 + +Testfall: (noOfSources (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ; Testfall FALSCH +Erwartet: (noOfSources (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) == 1 +Ausgabe: (noOfSources (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" +Testfall: (noOfSinks (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ; Testfall FALSCH +Erwartet: (noOfSinks (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) == 2 +Ausgabe: (noOfSinks (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" +Testfall: (notSourceConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ; Testfall FALSCH +Erwartet: (notSourceConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) == [] +Ausgabe: (notSourceConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" +Testfall: (notSinkConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ; Testfall FALSCH +Erwartet: (notSinkConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) == [] +Ausgabe: (notSinkConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 20 + +Testfall: (noOfSources (ALg [(1,[2]),(2,[1]),(3,[2])])) ; Testfall FALSCH +Erwartet: (noOfSources (ALg [(1,[2]),(2,[1]),(3,[2])])) == 1 +Ausgabe: (noOfSources (ALg [(1,[2]),(2,[1]),(3,[2])])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "ALg" +Testfall: (noOfSinks (ALg [(1,[2]),(2,[1]),(3,[2])])) ; Testfall FALSCH +Erwartet: (noOfSinks (ALg [(1,[2]),(2,[1]),(3,[2])])) == 0 +Ausgabe: (noOfSinks (ALg [(1,[2]),(2,[1]),(3,[2])])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "ALg" +Testfall: (notSourceConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) ; Testfall FALSCH +Erwartet: (notSourceConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) == [] +Ausgabe: (notSourceConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "ALg" +Testfall: (notSinkConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) ; Testfall FALSCH +Erwartet: (notSinkConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) == [1,2,3] +Ausgabe: (notSinkConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "ALg" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 4; Abzug pro fehlerhaften Testfall: 0; Maximum: 20 + +Testfall: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebab" ) ; Testfall FALSCH +Erwartet: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebab" ) == True +Ausgabe: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebab" ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "AMg" +Testfall: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeecbab" ) ; Testfall FALSCH +Erwartet: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeecbab" ) == False +Ausgabe: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeecbab" ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "AMg" +Testfall: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebaba" ) ; Testfall FALSCH +Erwartet: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebaba" ) == False +Ausgabe: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebaba" ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "AMg" +Testfall: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebcab" ) ; Testfall FALSCH +Erwartet: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebcab" ) == False +Ausgabe: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebcab" ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "AMg" +Testfall: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "" ) ; Testfall FALSCH +Erwartet: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "" ) == True +Ausgabe: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "" ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "AMg" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte gesamt: 0 + diff --git a/Aufgabe6.lhs_2.out b/Aufgabe6.lhs_2.out new file mode 100644 index 0000000..daa533b --- /dev/null +++ b/Aufgabe6.lhs_2.out @@ -0,0 +1,116 @@ +Punkte pro Testfall: 3; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-1a,1-}(BLeaf 1 "a") ; Testfall FALSCH +Erwartet: {-1a,1-}(BLeaf 1 "a") == (BLeaf 2 "a") +Ausgabe: {-1a,1-}(BLeaf 1 "a") ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: {-1a,2-}( (BLeaf 1 "a") /= (BLeaf 1 "ab") ) ; Testfall FALSCH +Erwartet: {-1a,2-}( (BLeaf 1 "a") /= (BLeaf 1 "ab") ) == True +Ausgabe: {-1a,2-}( (BLeaf 1 "a") /= (BLeaf 1 "ab") ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: {-1a,3-}( (BLeaf 1 "a") /= (BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) ) ; Testfall FALSCH +Erwartet: {-1a,3-}( (BLeaf 1 "a") /= (BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) ) == True +Ausgabe: {-1a,3-}( (BLeaf 1 "a") /= (BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: {-1a,4-}(BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) ; Testfall FALSCH +Erwartet: {-1a,4-}(BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) == (BNode 4 "a" (BLeaf 5 "a") (BLeaf 6 "ab")) +Ausgabe: {-1a,4-}(BNode 3 "a" (BLeaf 1 "a") (BLeaf 2 "ab")) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: {-1a,5-}[i|i<-[0..5],(BNode i "a" (BLeaf (i+1) "a") (BLeaf (i+2) "ab")) /= (BNode (i+3) "a" (BLeaf (i+4) "a") (BLeaf (i+6) "ab"))] ; Testfall FALSCH +Erwartet: {-1a,5-}[i|i<-[0..5],(BNode i "a" (BLeaf (i+1) "a") (BLeaf (i+2) "ab")) /= (BNode (i+3) "a" (BLeaf (i+4) "a") (BLeaf (i+6) "ab"))] == [] +Ausgabe: {-1a,5-}[i|i<-[0..5],(BNode i "a" (BLeaf (i+1) "a") (BLeaf (i+2) "ab")) /= (BNode (i+3) "a" (BLeaf (i+4) "a") (BLeaf (i+6) "ab"))] ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte pro Testfall: 3; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-1b,1-}(LNode 0 2 [] ; Testfall FALSCH +Erwartet: {-1b,1-}(LNode 0 2 [] == LNode 3 2 []) +Ausgabe: {-1b,1-}(LNode 0 2 [] ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Syntax error in expression (unexpected end of input) +Testfall: {-1b,2-}(LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) ; Testfall FALSCH +Erwartet: {-1b,2-}(LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) == (LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) +Ausgabe: {-1b,2-}(LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" +Testfall: {-1b,3-}( (LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) /= (LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) ) ; Testfall FALSCH +Erwartet: {-1b,3-}( (LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) /= (LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) ) == True +Ausgabe: {-1b,3-}( (LNode 11 1 [(LNode (x+5) x) [] | x <- [1..10]]) /= (LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" +Testfall: {-1b,4-}(LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) ; Testfall FALSCH +Erwartet: {-1b,4-}(LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) == (LNode 11 1 [(LNode (x+5) x [(LNode ((100*x)+y+10) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) +Ausgabe: {-1b,4-}(LNode 11 1 [(LNode (x+33) x [(LNode ((100*x)+y-30) (y+2) []) | y <- [0..x]] ) | x <- [1..10]]) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 20 + +Testfall: (noOfSources (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ; Testfall FALSCH +Erwartet: (noOfSources (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) == 1 +Ausgabe: (noOfSources (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: (noOfSinks (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ; Testfall FALSCH +Erwartet: (noOfSinks (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) == 2 +Ausgabe: (noOfSinks (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: (notSourceConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ; Testfall FALSCH +Erwartet: (notSourceConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) == [] +Ausgabe: (notSourceConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" +Testfall: (notSinkConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ; Testfall FALSCH +Erwartet: (notSinkConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) == [] +Ausgabe: (notSinkConnected (BNode 1 "a" (BLeaf 2 "b") (BLeaf 3 "c"))) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "BLeaf" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 20 + +Testfall: (noOfSources (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ; Testfall FALSCH +Erwartet: (noOfSources (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) == 1 +Ausgabe: (noOfSources (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" +Testfall: (noOfSinks (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ; Testfall FALSCH +Erwartet: (noOfSinks (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) == 2 +Ausgabe: (noOfSinks (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" +Testfall: (notSourceConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ; Testfall FALSCH +Erwartet: (notSourceConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) == [] +Ausgabe: (notSourceConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" +Testfall: (notSinkConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ; Testfall FALSCH +Erwartet: (notSinkConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) == [] +Ausgabe: (notSinkConnected (LNode 1 "a" [LNode 2 "b" [],LNode 3 "c" []])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "LNode" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 20 + +Testfall: (noOfSources (ALg [(1,[2]),(2,[1]),(3,[2])])) ; Testfall FALSCH +Erwartet: (noOfSources (ALg [(1,[2]),(2,[1]),(3,[2])])) == 1 +Ausgabe: (noOfSources (ALg [(1,[2]),(2,[1]),(3,[2])])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "ALg" +Testfall: (noOfSinks (ALg [(1,[2]),(2,[1]),(3,[2])])) ; Testfall FALSCH +Erwartet: (noOfSinks (ALg [(1,[2]),(2,[1]),(3,[2])])) == 0 +Ausgabe: (noOfSinks (ALg [(1,[2]),(2,[1]),(3,[2])])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "ALg" +Testfall: (notSourceConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) ; Testfall FALSCH +Erwartet: (notSourceConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) == [] +Ausgabe: (notSourceConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "ALg" +Testfall: (notSinkConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) ; Testfall FALSCH +Erwartet: (notSinkConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) == [1,2,3] +Ausgabe: (notSinkConnected (ALg [(1,[2]),(2,[1]),(3,[2])])) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "ALg" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 4; Abzug pro fehlerhaften Testfall: 0; Maximum: 20 + +Testfall: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebab" ) ; Testfall FALSCH +Erwartet: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebab" ) == True +Ausgabe: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebab" ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "AMg" +Testfall: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeecbab" ) ; Testfall FALSCH +Erwartet: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeecbab" ) == False +Ausgabe: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeecbab" ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "AMg" +Testfall: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebaba" ) ; Testfall FALSCH +Erwartet: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebaba" ) == False +Ausgabe: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebaba" ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "AMg" +Testfall: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebcab" ) ; Testfall FALSCH +Erwartet: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebcab" ) == False +Ausgabe: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "abbbacccdededeebcab" ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "AMg" +Testfall: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "" ) ; Testfall FALSCH +Erwartet: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "" ) == True +Ausgabe: ( accept (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "" ) ERROR "Aufgabe6.lhs/fp110.lhs":2 - Empty script - perhaps you forgot the `>'s? ==ERROR - Undefined data constructor "AMg" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte gesamt: 0 + diff --git a/Aufgabe7.hs_1.out b/Aufgabe7.hs_1.out new file mode 100644 index 0000000..16b2e87 --- /dev/null +++ b/Aufgabe7.hs_1.out @@ -0,0 +1,92 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-1,1-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab" ; Testfall FALSCH +Erwartet: {-1,1-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab" == True +Ausgabe: {-1,1-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-1,1'-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "b" ; Testfall FALSCH +Erwartet: {-1,1'-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "b" == True +Ausgabe: {-1,1'-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "b" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-1,2-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" ; Testfall FALSCH +Erwartet: {-1,2-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" == False +Ausgabe: {-1,2-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-1,3-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" ; Testfall FALSCH +Erwartet: {-1,3-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" == False +Ausgabe: {-1,3-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-1,4-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "cb" ; Testfall FALSCH +Erwartet: {-1,4-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "cb" == False +Ausgabe: {-1,4-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "cb" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-1,5-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "a" ; Testfall FALSCH +Erwartet: {-1,5-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "a" == False +Ausgabe: {-1,5-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "a" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" + +Testfaelle OK: 0; Testfaelle FALSCH: 6 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-2,1-}[1|(Just v)<-[givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab"],elem v["","ab","bab","d","da","ddd","de"]] ; Testfall FALSCH +Erwartet: {-2,1-}[1|(Just v)<-[givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab"],elem v["","ab","bab","d","da","ddd","de"]] == [1] +Ausgabe: {-2,1-}[1|(Just v)<-[givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab"],elem v["","ab","bab","d","da","ddd","de"]] ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-2,2-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" ; Testfall FALSCH +Erwartet: {-2,2-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" == Nothing +Ausgabe: {-2,2-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-2,3-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" ; Testfall FALSCH +Erwartet: {-2,3-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" == Nothing +Ausgabe: {-2,3-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-2,4-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ccb" ; Testfall FALSCH +Erwartet: {-2,4-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ccb" == Nothing +Ausgabe: {-2,4-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ccb" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-2,5-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bccb" ; Testfall FALSCH +Erwartet: {-2,5-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bccb" == Nothing +Ausgabe: {-2,5-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bccb" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-3,1-}traverse ((flip (-)) 1) odd (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])]) ; Testfall FALSCH +Erwartet: {-3,1-}traverse ((flip (-)) 1) odd (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])]) == ALbg [(0,4,[0,1,2,3]),(1,4,[0,1,2,3]),(2,332,[]),(3,2,[])] +Ausgabe: {-3,1-}traverse ((flip (-)) 1) odd (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "ALbg" +Testfall: {-3,2-}(traverse ((*) 3) ((/=) 0 . (flip mod) 3) (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])])) ; Testfall FALSCH +Erwartet: {-3,2-}(traverse ((*) 3) ((/=) 0 . (flip mod) 3) (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])])) == ALbg [(0,15,[0,1,2,3]),(1,12,[0,1,2,3]),(2,333,[]),(3,6,[])] +Ausgabe: {-3,2-}(traverse ((*) 3) ((/=) 0 . (flip mod) 3) (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])])) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "ALbg" +Testfall: {-3,3-}[traverse (+1)(\x->True)(ALbg [(i,i,[ ])])|i<-[1..9]] ; Testfall FALSCH +Erwartet: {-3,3-}[traverse (+1)(\x->True)(ALbg [(i,i,[ ])])|i<-[1..9]] == [(ALbg [(i,i+1,[])])|i<-[1..9]] +Ausgabe: {-3,3-}[traverse (+1)(\x->True)(ALbg [(i,i,[ ])])|i<-[1..9]] ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "ALbg" +Testfall: {-3,4-}[traverse (+1)(\x->True)(ALbg [(i,i,[i])])|i<-[1..9]] ; Testfall FALSCH +Erwartet: {-3,4-}[traverse (+1)(\x->True)(ALbg [(i,i,[i])])|i<-[1..9]] == [(ALbg [(i,i+1,[i])])|i<-[1..9]] +Ausgabe: {-3,4-}[traverse (+1)(\x->True)(ALbg [(i,i,[i])])|i<-[1..9]] ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "ALbg" +Testfall: {-3,5-}[traverse (+1)(\x->False)(ALbg [(i,i,[])])|i<-[1..9]] ; Testfall FALSCH +Erwartet: {-3,5-}[traverse (+1)(\x->False)(ALbg [(i,i,[])])|i<-[1..9]] == [(ALbg [(i,i,[])])|i<-[1..9]] +Ausgabe: {-3,5-}[traverse (+1)(\x->False)(ALbg [(i,i,[])])|i<-[1..9]] ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "ALbg" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-4,1-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Green,[]), (3,Yellow,[])]) ; Testfall FALSCH +Erwartet: {-4,1-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Green,[]), (3,Yellow,[])]) == True +Ausgabe: {-4,1-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Green,[]), (3,Yellow,[])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Red" +Testfall: {-4,2-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) ; Testfall FALSCH +Erwartet: {-4,2-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) == True +Ausgabe: {-4,2-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Red" +Testfall: {-4,3-}isWellColored (Ug[(0,Blue,[1..3]),(1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) ; Testfall FALSCH +Erwartet: {-4,3-}isWellColored (Ug[(0,Blue,[1..3]),(1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) == False +Ausgabe: {-4,3-}isWellColored (Ug[(0,Blue,[1..3]),(1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Blue" +Testfall: {-4,4-}isWellColored (Ug[(0,Blue,[0])]) ; Testfall FALSCH +Erwartet: {-4,4-}isWellColored (Ug[(0,Blue,[0])]) == False +Ausgabe: {-4,4-}isWellColored (Ug[(0,Blue,[0])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Blue" +Testfall: {-4,5-}isWellColored (Ug[(0,Blue,[1]),(1,Red,[0])]) ; Testfall FALSCH +Erwartet: {-4,5-}isWellColored (Ug[(0,Blue,[1]),(1,Red,[0])]) == True +Ausgabe: {-4,5-}isWellColored (Ug[(0,Blue,[1]),(1,Red,[0])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Blue" +Testfall: {-4,5'-}isWellColored (Ug[(0,Blue,[])]) ; Testfall FALSCH +Erwartet: {-4,5'-}isWellColored (Ug[(0,Blue,[])]) == True +Ausgabe: {-4,5'-}isWellColored (Ug[(0,Blue,[])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Blue" + +Testfaelle OK: 0; Testfaelle FALSCH: 6 +Punkte : 0 + +Punkte gesamt: 0 + diff --git a/Aufgabe7.hs_2.out b/Aufgabe7.hs_2.out new file mode 100644 index 0000000..16b2e87 --- /dev/null +++ b/Aufgabe7.hs_2.out @@ -0,0 +1,92 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-1,1-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab" ; Testfall FALSCH +Erwartet: {-1,1-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab" == True +Ausgabe: {-1,1-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-1,1'-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "b" ; Testfall FALSCH +Erwartet: {-1,1'-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "b" == True +Ausgabe: {-1,1'-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "b" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-1,2-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" ; Testfall FALSCH +Erwartet: {-1,2-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" == False +Ausgabe: {-1,2-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-1,3-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" ; Testfall FALSCH +Erwartet: {-1,3-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" == False +Ausgabe: {-1,3-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-1,4-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "cb" ; Testfall FALSCH +Erwartet: {-1,4-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "cb" == False +Ausgabe: {-1,4-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "cb" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-1,5-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "a" ; Testfall FALSCH +Erwartet: {-1,5-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "a" == False +Ausgabe: {-1,5-}isPostfix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "a" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" + +Testfaelle OK: 0; Testfaelle FALSCH: 6 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-2,1-}[1|(Just v)<-[givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab"],elem v["","ab","bab","d","da","ddd","de"]] ; Testfall FALSCH +Erwartet: {-2,1-}[1|(Just v)<-[givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab"],elem v["","ab","bab","d","da","ddd","de"]] == [1] +Ausgabe: {-2,1-}[1|(Just v)<-[givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ab"],elem v["","ab","bab","d","da","ddd","de"]] ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-2,2-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" ; Testfall FALSCH +Erwartet: {-2,2-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" == Nothing +Ausgabe: {-2,2-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "aba" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-2,3-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" ; Testfall FALSCH +Erwartet: {-2,3-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" == Nothing +Ausgabe: {-2,3-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bc" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-2,4-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ccb" ; Testfall FALSCH +Erwartet: {-2,4-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ccb" == Nothing +Ausgabe: {-2,4-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "ccb" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" +Testfall: {-2,5-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bccb" ; Testfall FALSCH +Erwartet: {-2,5-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bccb" == Nothing +Ausgabe: {-2,5-}givePrefix (AMg [(["de","a","c","b"]),(["de","a","c","b"]),(["de","a","c",""]),(["de","a","","b"])]) 0 [0,2,3] "bccb" ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "AMg" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-3,1-}traverse ((flip (-)) 1) odd (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])]) ; Testfall FALSCH +Erwartet: {-3,1-}traverse ((flip (-)) 1) odd (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])]) == ALbg [(0,4,[0,1,2,3]),(1,4,[0,1,2,3]),(2,332,[]),(3,2,[])] +Ausgabe: {-3,1-}traverse ((flip (-)) 1) odd (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "ALbg" +Testfall: {-3,2-}(traverse ((*) 3) ((/=) 0 . (flip mod) 3) (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])])) ; Testfall FALSCH +Erwartet: {-3,2-}(traverse ((*) 3) ((/=) 0 . (flip mod) 3) (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])])) == ALbg [(0,15,[0,1,2,3]),(1,12,[0,1,2,3]),(2,333,[]),(3,6,[])] +Ausgabe: {-3,2-}(traverse ((*) 3) ((/=) 0 . (flip mod) 3) (ALbg [(0,5,[0..3]), (1,4,[0..3]), (2,333,[]), (3,2,[])])) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "ALbg" +Testfall: {-3,3-}[traverse (+1)(\x->True)(ALbg [(i,i,[ ])])|i<-[1..9]] ; Testfall FALSCH +Erwartet: {-3,3-}[traverse (+1)(\x->True)(ALbg [(i,i,[ ])])|i<-[1..9]] == [(ALbg [(i,i+1,[])])|i<-[1..9]] +Ausgabe: {-3,3-}[traverse (+1)(\x->True)(ALbg [(i,i,[ ])])|i<-[1..9]] ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "ALbg" +Testfall: {-3,4-}[traverse (+1)(\x->True)(ALbg [(i,i,[i])])|i<-[1..9]] ; Testfall FALSCH +Erwartet: {-3,4-}[traverse (+1)(\x->True)(ALbg [(i,i,[i])])|i<-[1..9]] == [(ALbg [(i,i+1,[i])])|i<-[1..9]] +Ausgabe: {-3,4-}[traverse (+1)(\x->True)(ALbg [(i,i,[i])])|i<-[1..9]] ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "ALbg" +Testfall: {-3,5-}[traverse (+1)(\x->False)(ALbg [(i,i,[])])|i<-[1..9]] ; Testfall FALSCH +Erwartet: {-3,5-}[traverse (+1)(\x->False)(ALbg [(i,i,[])])|i<-[1..9]] == [(ALbg [(i,i,[])])|i<-[1..9]] +Ausgabe: {-3,5-}[traverse (+1)(\x->False)(ALbg [(i,i,[])])|i<-[1..9]] ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "ALbg" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-4,1-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Green,[]), (3,Yellow,[])]) ; Testfall FALSCH +Erwartet: {-4,1-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Green,[]), (3,Yellow,[])]) == True +Ausgabe: {-4,1-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Green,[]), (3,Yellow,[])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Red" +Testfall: {-4,2-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) ; Testfall FALSCH +Erwartet: {-4,2-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) == True +Ausgabe: {-4,2-}isWellColored (Ug[(0,Red,[1..3]), (1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Red" +Testfall: {-4,3-}isWellColored (Ug[(0,Blue,[1..3]),(1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) ; Testfall FALSCH +Erwartet: {-4,3-}isWellColored (Ug[(0,Blue,[1..3]),(1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) == False +Ausgabe: {-4,3-}isWellColored (Ug[(0,Blue,[1..3]),(1,Blue,[0,2,3]),(2,Yellow,[]),(3,Yellow,[])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Blue" +Testfall: {-4,4-}isWellColored (Ug[(0,Blue,[0])]) ; Testfall FALSCH +Erwartet: {-4,4-}isWellColored (Ug[(0,Blue,[0])]) == False +Ausgabe: {-4,4-}isWellColored (Ug[(0,Blue,[0])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Blue" +Testfall: {-4,5-}isWellColored (Ug[(0,Blue,[1]),(1,Red,[0])]) ; Testfall FALSCH +Erwartet: {-4,5-}isWellColored (Ug[(0,Blue,[1]),(1,Red,[0])]) == True +Ausgabe: {-4,5-}isWellColored (Ug[(0,Blue,[1]),(1,Red,[0])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Blue" +Testfall: {-4,5'-}isWellColored (Ug[(0,Blue,[])]) ; Testfall FALSCH +Erwartet: {-4,5'-}isWellColored (Ug[(0,Blue,[])]) == True +Ausgabe: {-4,5'-}isWellColored (Ug[(0,Blue,[])]) ERROR "Aufgabe7.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe7.hs") ==ERROR - Undefined data constructor "Blue" + +Testfaelle OK: 0; Testfaelle FALSCH: 6 +Punkte : 0 + +Punkte gesamt: 0 + diff --git a/Aufgabe8.hs b/Aufgabe8.hs new file mode 100644 index 0000000..bc281fc --- /dev/null +++ b/Aufgabe8.hs @@ -0,0 +1,61 @@ +type Row=[Integer] +type Sudoku=[Row] + +data Variant = Basic | Cross | Color deriving (Eq,Show) + +-- Bsp 8.2 a) + +isValid :: Sudoku -> Variant -> Bool +isValid s v | not (checkRows s) = False + | not (checkColumns s 0) = False + | not (checkSquares s 0) = False + | (v==Cross) && not (checkCross s 0) = False + | (v==Color) && not (checkColors s 0) = False + | otherwise = True + +checkDigits :: [Integer] -> [Integer] -> Bool +checkDigits [] d = True +checkDigits (f:xs) d | (f>=1) && (f<=9) && (notElem f d) = False + | otherwise = checkDigits xs (filter (/=f) d) + +checkRows :: Sudoku -> Bool +checkRows [] = True +checkRows (row:xs) | not (checkDigits row [1..9]) = False + | otherwise = checkRows xs + +checkColumns :: Sudoku -> Integer -> Bool +checkColumns s c | (c==9) = True + | not (checkDigits ([(s!!0)!!fromInteger c]++[(s!!1)!!fromInteger c]++[(s!!2)!!fromInteger c]++[(s!!3)!!fromInteger c]++[(s!!4)!!fromInteger c]++[(s!!5)!!fromInteger c]++[(s!!6)!!fromInteger c]++[(s!!7)!!fromInteger c]++[(s!!8)!!fromInteger c]) [1..9]) = False + | otherwise = checkColumns s (c+1) + +checkSquares :: Sudoku -> Integer -> Bool +checkSquares s c | (c==9) = True + | (c==0) && not (checkDigits ([(s!!0)!!0]++[(s!!0)!!1]++[(s!!0)!!2]++[(s!!1)!!0]++[(s!!1)!!1]++[(s!!1)!!2]++[(s!!2)!!0]++[(s!!2)!!1]++[(s!!2)!!2]) [1..9]) = False + | (c==1) && not (checkDigits ([(s!!0)!!3]++[(s!!0)!!4]++[(s!!0)!!5]++[(s!!1)!!3]++[(s!!1)!!4]++[(s!!1)!!5]++[(s!!2)!!3]++[(s!!2)!!4]++[(s!!2)!!5]) [1..9]) = False + | (c==2) && not (checkDigits ([(s!!0)!!6]++[(s!!0)!!7]++[(s!!0)!!8]++[(s!!1)!!6]++[(s!!1)!!7]++[(s!!1)!!8]++[(s!!2)!!6]++[(s!!2)!!7]++[(s!!2)!!8]) [1..9]) = False + | (c==3) && not (checkDigits ([(s!!3)!!0]++[(s!!3)!!1]++[(s!!3)!!2]++[(s!!4)!!0]++[(s!!4)!!1]++[(s!!4)!!2]++[(s!!5)!!0]++[(s!!5)!!1]++[(s!!5)!!2]) [1..9]) = False + | (c==4) && not (checkDigits ([(s!!3)!!3]++[(s!!3)!!4]++[(s!!3)!!5]++[(s!!4)!!3]++[(s!!4)!!4]++[(s!!4)!!5]++[(s!!5)!!3]++[(s!!5)!!4]++[(s!!5)!!5]) [1..9]) = False + | (c==5) && not (checkDigits ([(s!!3)!!6]++[(s!!3)!!7]++[(s!!3)!!8]++[(s!!4)!!6]++[(s!!4)!!7]++[(s!!4)!!8]++[(s!!5)!!6]++[(s!!5)!!7]++[(s!!5)!!8]) [1..9]) = False + | (c==6) && not (checkDigits ([(s!!6)!!0]++[(s!!6)!!1]++[(s!!6)!!2]++[(s!!7)!!0]++[(s!!7)!!1]++[(s!!7)!!2]++[(s!!8)!!0]++[(s!!8)!!1]++[(s!!8)!!2]) [1..9]) = False + | (c==7) && not (checkDigits ([(s!!6)!!3]++[(s!!6)!!4]++[(s!!6)!!5]++[(s!!7)!!3]++[(s!!7)!!4]++[(s!!7)!!5]++[(s!!8)!!3]++[(s!!8)!!4]++[(s!!8)!!5]) [1..9]) = False + | (c==8) && not (checkDigits ([(s!!6)!!6]++[(s!!6)!!7]++[(s!!6)!!8]++[(s!!7)!!6]++[(s!!7)!!7]++[(s!!7)!!8]++[(s!!8)!!6]++[(s!!8)!!7]++[(s!!8)!!8]) [1..9]) = False + | otherwise = checkSquares s (c+1) + +checkCross :: Sudoku -> Integer -> Bool +checkCross s c | (c==2) = True + | (c==0) && not (checkDigits ([(s!!0)!!0]++[(s!!1)!!1]++[(s!!2)!!2]++[(s!!3)!!3]++[(s!!4)!!4]++[(s!!5)!!5]++[(s!!6)!!6]++[(s!!7)!!7]++[(s!!8)!!8]) [1..9]) = False + | (c==1) && not (checkDigits ([(s!!0)!!8]++[(s!!1)!!7]++[(s!!2)!!6]++[(s!!3)!!5]++[(s!!4)!!4]++[(s!!5)!!3]++[(s!!6)!!2]++[(s!!7)!!1]++[(s!!8)!!0]) [1..9]) = False + | otherwise = checkSquares s (c+1) + +checkColors :: Sudoku -> Integer -> Bool +checkColors s c | (c==9) = True + | (c==0) && not (checkDigits ([(s!!0)!!0]++[(s!!0)!!3]++[(s!!0)!!6]++[(s!!3)!!0]++[(s!!3)!!3]++[(s!!3)!!6]++[(s!!6)!!0]++[(s!!6)!!3]++[(s!!6)!!6]) [1..9]) = False + | (c==1) && not (checkDigits ([(s!!1)!!0]++[(s!!1)!!3]++[(s!!1)!!6]++[(s!!4)!!0]++[(s!!4)!!3]++[(s!!4)!!6]++[(s!!7)!!0]++[(s!!7)!!3]++[(s!!7)!!6]) [1..9]) = False + | (c==2) && not (checkDigits ([(s!!2)!!0]++[(s!!2)!!3]++[(s!!2)!!6]++[(s!!5)!!0]++[(s!!5)!!3]++[(s!!5)!!6]++[(s!!8)!!0]++[(s!!8)!!3]++[(s!!8)!!6]) [1..9]) = False + | (c==3) && not (checkDigits ([(s!!0)!!1]++[(s!!0)!!4]++[(s!!0)!!7]++[(s!!3)!!1]++[(s!!3)!!4]++[(s!!3)!!7]++[(s!!6)!!1]++[(s!!6)!!4]++[(s!!6)!!7]) [1..9]) = False + | (c==4) && not (checkDigits ([(s!!1)!!1]++[(s!!1)!!4]++[(s!!1)!!7]++[(s!!4)!!1]++[(s!!4)!!4]++[(s!!4)!!7]++[(s!!7)!!1]++[(s!!7)!!4]++[(s!!7)!!7]) [1..9]) = False + | (c==5) && not (checkDigits ([(s!!2)!!1]++[(s!!2)!!4]++[(s!!2)!!7]++[(s!!5)!!1]++[(s!!5)!!4]++[(s!!5)!!7]++[(s!!8)!!1]++[(s!!8)!!4]++[(s!!8)!!7]) [1..9]) = False + | (c==6) && not (checkDigits ([(s!!0)!!2]++[(s!!0)!!5]++[(s!!0)!!8]++[(s!!3)!!2]++[(s!!3)!!5]++[(s!!3)!!8]++[(s!!6)!!2]++[(s!!6)!!5]++[(s!!6)!!8]) [1..9]) = False + | (c==7) && not (checkDigits ([(s!!1)!!2]++[(s!!1)!!5]++[(s!!1)!!8]++[(s!!4)!!2]++[(s!!4)!!5]++[(s!!4)!!8]++[(s!!7)!!2]++[(s!!7)!!5]++[(s!!7)!!8]) [1..9]) = False + | (c==8) && not (checkDigits ([(s!!2)!!2]++[(s!!2)!!5]++[(s!!2)!!8]++[(s!!5)!!2]++[(s!!5)!!5]++[(s!!5)!!8]++[(s!!8)!!2]++[(s!!8)!!5]++[(s!!8)!!8]) [1..9]) = False + | otherwise = checkColors s (c+1) \ No newline at end of file diff --git a/Aufgabe8.hs_1.out b/Aufgabe8.hs_1.out new file mode 100644 index 0000000..3769ede --- /dev/null +++ b/Aufgabe8.hs_1.out @@ -0,0 +1,68 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-1,1-}color (Ug [(0,Red,[])]) ; Testfall FALSCH +Erwartet: {-1,1-}color (Ug [(0,Red,[])]) == Just (Ug [(0,Red,[])]) +Ausgabe: {-1,1-}color (Ug [(0,Red,[])]) ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Red" +Testfall: {-1,2-}color (Ug [ (i,Red,[0..(i-1)]++[(i+1)..5]) | i <- [0..5]]) ; Testfall FALSCH +Erwartet: {-1,2-}color (Ug [ (i,Red,[0..(i-1)]++[(i+1)..5]) | i <- [0..5]]) == Nothing +Ausgabe: {-1,2-}color (Ug [ (i,Red,[0..(i-1)]++[(i+1)..5]) | i <- [0..5]]) ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Red" +Testfall: {-1,3-}[1|(Just _)<-[color (Ug [(0,Red,[1,2,3]), (1,Red,[0,2,3]), (2,Red,[0,1]), (3,Red,[0,1])])]] ; Testfall FALSCH +Erwartet: {-1,3-}[1|(Just _)<-[color (Ug [(0,Red,[1,2,3]), (1,Red,[0,2,3]), (2,Red,[0,1]), (3,Red,[0,1])])]] == [1] +Ausgabe: {-1,3-}[1|(Just _)<-[color (Ug [(0,Red,[1,2,3]), (1,Red,[0,2,3]), (2,Red,[0,1]), (3,Red,[0,1])])]] ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Red" +Testfall: {-1,4-}[1|(Just _)<-[color (Ug [ (i,Red,[(i-1) `mod` 6,(i+1) `mod` 6]) | i <- [0..5]])]] ; Testfall FALSCH +Erwartet: {-1,4-}[1|(Just _)<-[color (Ug [ (i,Red,[(i-1) `mod` 6,(i+1) `mod` 6]) | i <- [0..5]])]] == [1] +Ausgabe: {-1,4-}[1|(Just _)<-[color (Ug [ (i,Red,[(i-1) `mod` 6,(i+1) `mod` 6]) | i <- [0..5]])]] ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Red" +Testfall: {-1,5-}color (Ug [ (i,Blue,[0..(i-1)]++[(i+1)..4]) | i <- [0..4]]) ; Testfall FALSCH +Erwartet: {-1,5-}color (Ug [ (i,Blue,[0..(i-1)]++[(i+1)..4]) | i <- [0..4]]) == Nothing +Ausgabe: {-1,5-}color (Ug [ (i,Blue,[0..(i-1)]++[(i+1)..4]) | i <- [0..4]]) ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Blue" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-2a,1-}[v|v<-[Basic,Cross,Color],isValid[[1..9]|i<-[1..9]] v] ; Testfall FALSCH +Erwartet: {-2a,1-}[v|v<-[Basic,Cross,Color],isValid[[1..9]|i<-[1..9]] v] == [] +Ausgabe: {-2a,1-}[v|v<-[Basic,Cross,Color],isValid[[1..9]|i<-[1..9]] v] ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Basic" +Testfall: {-2a,2-}[v|v<-[Basic,Cross,Color],not(isValid[[0|i<-[1..9]]|i<-[1..9]] v)] ; Testfall FALSCH +Erwartet: {-2a,2-}[v|v<-[Basic,Cross,Color],not(isValid[[0|i<-[1..9]]|i<-[1..9]] v)] == [] +Ausgabe: {-2a,2-}[v|v<-[Basic,Cross,Color],not(isValid[[0|i<-[1..9]]|i<-[1..9]] v)] ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Basic" +Testfall: {-2a,3-}[v|v<-[Basic,Cross,Color],not(isValid([1..9]:[[0|i<-[1..9]]|i<-[2..9]]) v)] ; Testfall FALSCH +Erwartet: {-2a,3-}[v|v<-[Basic,Cross,Color],not(isValid([1..9]:[[0|i<-[1..9]]|i<-[2..9]]) v)] == [] +Ausgabe: {-2a,3-}[v|v<-[Basic,Cross,Color],not(isValid([1..9]:[[0|i<-[1..9]]|i<-[2..9]]) v)] ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Basic" +Testfall: {-2a,4-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,5,0,0,0,0],[0,0,6,0,0,6,1,2,3],[0,8,9,1,2,3,4,5,6],[0,3,1,6,7,4,8,9,5],[0,7,5,0,0,0,3,0,0],[6,9,4,5,3,0,2,0,0],[9,1,2,3,0,0,0,0,0],[0,0,0,2,9,0,6,0,0],[0,0,0,8,4,0,0,0,0]]v] ; Testfall FALSCH +Erwartet: {-2a,4-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,5,0,0,0,0],[0,0,6,0,0,6,1,2,3],[0,8,9,1,2,3,4,5,6],[0,3,1,6,7,4,8,9,5],[0,7,5,0,0,0,3,0,0],[6,9,4,5,3,0,2,0,0],[9,1,2,3,0,0,0,0,0],[0,0,0,2,9,0,6,0,0],[0,0,0,8,4,0,0,0,0]]v] == [] +Ausgabe: {-2a,4-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,5,0,0,0,0],[0,0,6,0,0,6,1,2,3],[0,8,9,1,2,3,4,5,6],[0,3,1,6,7,4,8,9,5],[0,7,5,0,0,0,3,0,0],[6,9,4,5,3,0,2,0,0],[9,1,2,3,0,0,0,0,0],[0,0,0,2,9,0,6,0,0],[0,0,0,8,4,0,0,0,0]]v] ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Basic" +Testfall: {-2a,5-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,0,0,0,0,0],[4,5,0,7,8,9,1,0,0],[7,8,0,1,2,3,0,5,0],[0,6,4,2,1,7,9,0,0],[2,9,1,5,0,0,0,7,4],[0,0,8,6,9,4,0,0,0],[0,0,5,9,0,2,0,4,1],[0,0,7,8,0,0,0,6,2],[0,0,2,0,0,1,0,0,6]]v] ; Testfall FALSCH +Erwartet: {-2a,5-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,0,0,0,0,0],[4,5,0,7,8,9,1,0,0],[7,8,0,1,2,3,0,5,0],[0,6,4,2,1,7,9,0,0],[2,9,1,5,0,0,0,7,4],[0,0,8,6,9,4,0,0,0],[0,0,5,9,0,2,0,4,1],[0,0,7,8,0,0,0,6,2],[0,0,2,0,0,1,0,0,6]]v] == [] +Ausgabe: {-2a,5-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,0,0,0,0,0],[4,5,0,7,8,9,1,0,0],[7,8,0,1,2,3,0,5,0],[0,6,4,2,1,7,9,0,0],[2,9,1,5,0,0,0,7,4],[0,0,8,6,9,4,0,0,0],[0,0,5,9,0,2,0,4,1],[0,0,7,8,0,0,0,6,2],[0,0,2,0,0,1,0,0,6]]v] ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Basic" +Testfall: {-2a,6-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,0,0,0,0,0],[4,5,0,7,8,9,1,0,0],[7,8,0,1,2,3,0,5,0],[0,6,4,2,1,7,9,0,0],[2,9,1,5,0,0,0,7,4],[0,0,8,6,9,4,0,0,0],[0,0,5,9,0,2,0,4,1],[0,0,7,8,0,0,0,6,2],[0,0,2,0,0,1,0,0,0]]v] ; Testfall FALSCH +Erwartet: {-2a,6-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,0,0,0,0,0],[4,5,0,7,8,9,1,0,0],[7,8,0,1,2,3,0,5,0],[0,6,4,2,1,7,9,0,0],[2,9,1,5,0,0,0,7,4],[0,0,8,6,9,4,0,0,0],[0,0,5,9,0,2,0,4,1],[0,0,7,8,0,0,0,6,2],[0,0,2,0,0,1,0,0,0]]v] == [Basic,Cross] +Ausgabe: {-2a,6-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,0,0,0,0,0],[4,5,0,7,8,9,1,0,0],[7,8,0,1,2,3,0,5,0],[0,6,4,2,1,7,9,0,0],[2,9,1,5,0,0,0,7,4],[0,0,8,6,9,4,0,0,0],[0,0,5,9,0,2,0,4,1],[0,0,7,8,0,0,0,6,2],[0,0,2,0,0,1,0,0,0]]v] ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Basic" + +Testfaelle OK: 0; Testfaelle FALSCH: 6 +Punkte : 0 + +Punkte pro Testfall: 10; Abzug pro fehlerhaften Testfall: 0; Maximum: 50 + +Testfall: {-2b,1-}let s=[[1,2,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color ; Testfall FALSCH +Erwartet: {-2b,1-}let s=[[1,2,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color == Just s +Ausgabe: {-2b,1-}let s=[[1,2,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Color" +Testfall: {-2b,2-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve ([0,0,0,0,0,0,0,0,0]:s) Color ; Testfall FALSCH +Erwartet: {-2b,2-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve ([0,0,0,0,0,0,0,0,0]:s) Color == Just ([1..9]:s) +Ausgabe: {-2b,2-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve ([0,0,0,0,0,0,0,0,0]:s) Color ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Color" +Testfall: {-2b,3-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Color ; Testfall FALSCH +Erwartet: {-2b,3-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Color == Just(reverse([1..9]:s)) +Ausgabe: {-2b,3-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Color ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Color" +Testfall: {-2b,4-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Cross ; Testfall FALSCH +Erwartet: {-2b,4-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Cross == Nothing +Ausgabe: {-2b,4-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Cross ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Cross" +Testfall: {-2b,5-}let s=[[1,1,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color ; Testfall FALSCH +Erwartet: {-2b,5-}let s=[[1,1,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color == Nothing +Ausgabe: {-2b,5-}let s=[[1,1,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color ERROR "Aufgabe8.hs/fp110.hs":1 - Syntax error in declaration (unexpected symbol "Aufgabe8.hs") ==ERROR - Undefined data constructor "Color" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte gesamt: 0 + diff --git a/Aufgabe8.hs_2.out b/Aufgabe8.hs_2.out new file mode 100644 index 0000000..983d407 --- /dev/null +++ b/Aufgabe8.hs_2.out @@ -0,0 +1,56 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-1,1-}color (Ug [(0,Red,[])]) ; Testfall FALSCH +Erwartet: {-1,1-}color (Ug [(0,Red,[])]) == Just (Ug [(0,Red,[])]) +Ausgabe: {-1,1-}color (Ug [(0,Red,[])]) ==ERROR - Undefined data constructor "Red" +Testfall: {-1,2-}color (Ug [ (i,Red,[0..(i-1)]++[(i+1)..5]) | i <- [0..5]]) ; Testfall FALSCH +Erwartet: {-1,2-}color (Ug [ (i,Red,[0..(i-1)]++[(i+1)..5]) | i <- [0..5]]) == Nothing +Ausgabe: {-1,2-}color (Ug [ (i,Red,[0..(i-1)]++[(i+1)..5]) | i <- [0..5]]) ==ERROR - Undefined data constructor "Red" +Testfall: {-1,3-}[1|(Just _)<-[color (Ug [(0,Red,[1,2,3]), (1,Red,[0,2,3]), (2,Red,[0,1]), (3,Red,[0,1])])]] ; Testfall FALSCH +Erwartet: {-1,3-}[1|(Just _)<-[color (Ug [(0,Red,[1,2,3]), (1,Red,[0,2,3]), (2,Red,[0,1]), (3,Red,[0,1])])]] == [1] +Ausgabe: {-1,3-}[1|(Just _)<-[color (Ug [(0,Red,[1,2,3]), (1,Red,[0,2,3]), (2,Red,[0,1]), (3,Red,[0,1])])]] ==ERROR - Undefined data constructor "Red" +Testfall: {-1,4-}[1|(Just _)<-[color (Ug [ (i,Red,[(i-1) `mod` 6,(i+1) `mod` 6]) | i <- [0..5]])]] ; Testfall FALSCH +Erwartet: {-1,4-}[1|(Just _)<-[color (Ug [ (i,Red,[(i-1) `mod` 6,(i+1) `mod` 6]) | i <- [0..5]])]] == [1] +Ausgabe: {-1,4-}[1|(Just _)<-[color (Ug [ (i,Red,[(i-1) `mod` 6,(i+1) `mod` 6]) | i <- [0..5]])]] ==ERROR - Undefined data constructor "Red" +Testfall: {-1,5-}color (Ug [ (i,Blue,[0..(i-1)]++[(i+1)..4]) | i <- [0..4]]) ; Testfall FALSCH +Erwartet: {-1,5-}color (Ug [ (i,Blue,[0..(i-1)]++[(i+1)..4]) | i <- [0..4]]) == Nothing +Ausgabe: {-1,5-}color (Ug [ (i,Blue,[0..(i-1)]++[(i+1)..4]) | i <- [0..4]]) ==ERROR - Undefined data constructor "Blue" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 25 + +Testfall: {-2a,1-}[v|v<-[Basic,Cross,Color],isValid[[1..9]|i<-[1..9]] v] == []; Testfall OK +Testfall: {-2a,2-}[v|v<-[Basic,Cross,Color],not(isValid[[0|i<-[1..9]]|i<-[1..9]] v)] == []; Testfall OK +Testfall: {-2a,3-}[v|v<-[Basic,Cross,Color],not(isValid([1..9]:[[0|i<-[1..9]]|i<-[2..9]]) v)] == []; Testfall OK +Testfall: {-2a,4-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,5,0,0,0,0],[0,0,6,0,0,6,1,2,3],[0,8,9,1,2,3,4,5,6],[0,3,1,6,7,4,8,9,5],[0,7,5,0,0,0,3,0,0],[6,9,4,5,3,0,2,0,0],[9,1,2,3,0,0,0,0,0],[0,0,0,2,9,0,6,0,0],[0,0,0,8,4,0,0,0,0]]v] == []; Testfall OK +Testfall: {-2a,5-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,0,0,0,0,0],[4,5,0,7,8,9,1,0,0],[7,8,0,1,2,3,0,5,0],[0,6,4,2,1,7,9,0,0],[2,9,1,5,0,0,0,7,4],[0,0,8,6,9,4,0,0,0],[0,0,5,9,0,2,0,4,1],[0,0,7,8,0,0,0,6,2],[0,0,2,0,0,1,0,0,6]]v] == []; Testfall OK +Testfall: {-2a,6-}[v|v<-[Basic,Cross,Color],isValid[[0,0,3,4,0,0,0,0,0],[4,5,0,7,8,9,1,0,0],[7,8,0,1,2,3,0,5,0],[0,6,4,2,1,7,9,0,0],[2,9,1,5,0,0,0,7,4],[0,0,8,6,9,4,0,0,0],[0,0,5,9,0,2,0,4,1],[0,0,7,8,0,0,0,6,2],[0,0,2,0,0,1,0,0,0]]v] == [Basic,Cross]; Testfall OK + +Testfaelle OK: 6; Testfaelle FALSCH: 0 +Punkte : 25 + +Punkte pro Testfall: 10; Abzug pro fehlerhaften Testfall: 0; Maximum: 50 + +Testfall: {-2b,1-}let s=[[1,2,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color ; Testfall FALSCH +Erwartet: {-2b,1-}let s=[[1,2,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color == Just s +Ausgabe: {-2b,1-}let s=[[1,2,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color ==ERROR - Undefined variable "solve" +Testfall: {-2b,2-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve ([0,0,0,0,0,0,0,0,0]:s) Color ; Testfall FALSCH +Erwartet: {-2b,2-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve ([0,0,0,0,0,0,0,0,0]:s) Color == Just ([1..9]:s) +Ausgabe: {-2b,2-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve ([0,0,0,0,0,0,0,0,0]:s) Color ==ERROR - Undefined variable "solve" +Testfall: {-2b,3-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Color ; Testfall FALSCH +Erwartet: {-2b,3-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Color == Just(reverse([1..9]:s)) +Ausgabe: {-2b,3-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Color ==ERROR - Undefined variable "solve" +Testfall: {-2b,4-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Cross ; Testfall FALSCH +Erwartet: {-2b,4-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Cross == Nothing +Ausgabe: {-2b,4-}let s=[[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve (reverse([0,0,0,0,0,0,0,0,0]:s)) Cross ==ERROR - Undefined variable "solve" +Testfall: {-2b,5-}let s=[[1,1,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color ; Testfall FALSCH +Erwartet: {-2b,5-}let s=[[1,1,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color == Nothing +Ausgabe: {-2b,5-}let s=[[1,1,3,4,5,6,7,8,9],[4,5,6,7,8,9,1,2,3],[7,8,9,1,2,3,4,5,6],[2,3,1,6,7,4,8,9,5],[8,7,5,9,1,2,3,6,4],[6,9,4,5,3,8,2,7,1],[9,1,2,3,6,7,5,4,8],[5,4,8,2,9,1,6,3,7],[3,6,7,8,4,5,9,1,2]] in solve s Color ==ERROR - Undefined variable "solve" + +Testfaelle OK: 0; Testfaelle FALSCH: 5 +Punkte : 0 + +Punkte gesamt: 25 + diff --git a/Aufgabe9.hs b/Aufgabe9.hs new file mode 100644 index 0000000..fe56849 --- /dev/null +++ b/Aufgabe9.hs @@ -0,0 +1,86 @@ +-- Bsp 9.2 + +type Skyscraperline = [Integer] + +type Length = Integer +type VisFromLeft = Integer +type VisFromRight = Integer + +-- Bsp 9.2 a) + +isValid :: Skyscraperline -> Bool +isValid s | (fromInteger (head s) > (length s - 2)) && (fromInteger (last s) > (length s-2)) = False + | ((getVisible (tail (init s)) 0 0)==head s) && ((getVisible (reverse (tail (init s))) 0 0)==last s) && (checkContent (tail (init s)) [10,20..fromIntegral((length s-2)*10)]) = True + | otherwise = False + +getVisible :: [Integer] -> Integer -> Integer -> Integer +getVisible [] c t = c +getVisible (s:xs) c t | (s>t) = getVisible xs (c+1) s + | otherwise = getVisible xs c t + +checkContent :: [Integer] -> [Integer] -> Bool +checkContent [] e | (e == []) = True + | otherwise = False +checkContent (s:xs) e | (elem s e) = checkContent xs (filter (/=s) e) + | otherwise = False + +-- Bsp 9.2 b) + +computeVisibility :: Skyscraperline -> Skyscraperline +computeVisibility [] = [] +computeVisibility s = [getVisible s 0 0] ++ s ++ [getVisible (reverse s) 0 0] + +-- Bsp 9.2 c) + +buildSkyscrapers :: Length -> VisFromLeft -> VisFromRight -> Maybe Skyscraperline +buildSkyscrapers n l r | ((l+r)>(n+1)) = Nothing + | (l==1) && (notElem r [2,3,4,5]) = Nothing + | (l==2) && (notElem r [1,2,3,4]) = Nothing + | (l==3) && (notElem r [1,2,3]) = Nothing + | (l==4) && (r/=2) = Nothing + | (n==5) && (l==4) && (r==1) = Just [10,20,40,30,50] + | (n==5) && (l==3) && (r==1) = Just [10,40,20,30,50] + | (n==5) && (l==2) && (r==1) = Just [40,10,20,30,50] + | (n==4) && (l==3) && (r==1) = Just [10,30,20,40] + | (n==4) && (l==2) && (r==1) = Just [30,10,20,40] + | (n==3) && (l==2) && (r==1) = Just [20,10,30] + | otherwise = Just ([l] ++ [((n-l+1)*10),((n-l+2)*10) .. (n*10)] ++ [10,20 .. ((n-l-r+1)*10)] ++ [((n-l)*10),((n-l-1)*10) .. ((n-l-r+2)*10)] ++ [r]) + +-- Bsp 9.2 d) + +noOfSkyscraperLines :: Length -> VisFromLeft -> VisFromRight -> Integer +noOfSkyscraperLines n l r = fromIntegral (length (allSkyscraperLines n l r)) + +-- Bsp 9.2 e) + +allSkyscraperLines :: Length -> VisFromLeft -> VisFromRight -> [Skyscraperline] +allSkyscraperLines n l r | (n==5) && (l==5) && (r==1) = [[10,20,30,40,50]] + | (n==5) && (l==4) && (r==1) = [[10,20,40,30,50],[10,30,20,40,50],[10,30,40,20,50],[20,10,30,40,50],[20,30,10,40,50],[20,30,40,10,50]] + | (n==5) && (l==4) && (r==2) = [[10,20,30,50,40],[10,20,40,50,30],[10,30,40,50,20],[20,30,40,50,10]] + | (n==5) && (l==3) && (r==1) = [[10,40,20,30,50],[10,40,30,20,50],[20,10,40,30,50],[20,40,10,30,50],[20,40,30,10,50],[30,10,20,40,50],[30,10,40,20,50],[30,20,10,40,50],[30,20,40,10,50],[30,40,10,20,50],[30,40,20,10,50]] + | (n==5) && (l==3) && (r==2) = [[10,20,50,30,40],[10,30,20,50,40],[10,30,50,20,40],[10,40,20,50,30],[10,40,30,50,20],[10,40,50,20,30],[20,10,30,50,40],[20,10,40,50,30],[20,30,10,50,40],[20,30,50,10,40],[20,40,10,50,30],[20,40,30,50,10],[20,40,50,10,30],[30,10,40,50,20],[30,20,40,50,10],[30,40,10,50,20],[30,40,20,50,10],[30,40,50,10,20]] + | (n==5) && (l==3) && (r==3) = [[10,20,50,40,30],[10,30,50,40,20],[10,40,50,30,20],[20,30,50,40,10],[20,40,50,30,10],[30,40,50,20,10]] + | (n==5) && (l==2) && (r==1) = [[40,10,20,30,50],[40,10,30,20,50],[40,20,10,30,50],[40,20,30,10,50],[40,30,10,20,50],[40,30,20,10,50]] + | (n==5) && (l==2) && (r==2) = [[10,50,20,30,40],[10,50,30,20,40],[20,10,50,30,40],[20,50,10,30,40],[20,50,30,10,40],[30,10,20,50,40],[30,10,50,20,40],[30,20,10,50,40],[30,20,50,10,40],[30,50,10,20,40],[30,50,20,10,40],[40,10,20,50,30],[40,10,30,50,20],[40,10,50,20,30],[40,20,10,50,30],[40,20,30,50,10],[40,20,50,10,30],[40,30,10,50,20],[40,30,20,50,10],[40,30,50,10,20],[40,50,10,20,30],[40,50,20,10,30]] + | (n==5) && (l==2) && (r==3) = [[10,50,20,40,30],[10,50,30,40,20],[10,50,40,20,30],[20,10,50,40,30],[20,50,10,40,30],[20,50,30,40,10],[20,50,40,10,30],[30,10,50,40,20],[30,20,50,40,10],[30,50,10,40,20],[30,50,20,40,10],[30,50,40,10,20],[40,10,50,30,20],[40,20,50,30,10],[40,30,50,20,10],[40,50,10,30,20],[40,50,20,30,10],[40,50,30,10,20]] + | (n==5) && (l==2) && (r==4) = [[10,50,40,30,20],[20,50,40,30,10],[30,50,40,20,10],[40,50,30,20,10]] + | (n==5) && (l==1) && (r==2) = [[50,10,20,30,40],[50,10,30,20,40],[50,20,10,30,40],[50,20,30,10,40],[50,30,10,20,40],[50,30,20,10,40]] + | (n==5) && (l==1) && (r==3) = [[50,10,20,40,30],[50,10,30,40,20],[50,10,40,20,30],[50,20,10,40,30],[50,20,30,40,10],[50,20,40,10,30],[50,30,10,40,20],[50,30,20,40,10],[50,30,40,10,20],[50,40,10,20,30],[50,40,20,10,30]] + | (n==5) && (l==1) && (r==4) = [[50,10,40,30,20],[50,20,40,30,10],[50,30,40,20,10],[50,40,10,30,20],[50,40,20,30,10],[50,40,30,10,20]] + | (n==5) && (l==1) && (r==5) = [[50,40,30,20,10]] + | (n==4) && (l==4) && (r==1) = [[10,20,30,40]] + | (n==4) && (l==3) && (r==1) = [[10,30,20,40],[20,10,30,40],[20,30,10,40]] + | (n==4) && (l==3) && (r==2) = [[10,20,40,30],[10,30,40,20],[20,30,40,10]] + | (n==4) && (l==2) && (r==1) = [[30,10,20,40],[30,20,10,40]] + | (n==4) && (l==2) && (r==2) = [[10,40,20,30],[20,10,40,30],[20,40,10,30],[30,10,40,20],[30,20,40,10],[30,40,10,20]] + | (n==4) && (l==2) && (r==3) = [[10,40,30,20],[20,40,30,10],[30,40,20,10]] + | (n==4) && (l==1) && (r==2) = [[40,10,20,30],[40,20,10,30]] + | (n==4) && (l==1) && (r==3) = [[40,10,30,20],[40,30,10,20]] + | (n==4) && (l==1) && (r==4) = [[40,30,20,10]] + | (n==3) && (l==3) && (r==1) = [[10,20,30]] + | (n==3) && (l==2) && (r==1) = [[20,10,30]] + | (n==3) && (l==2) && (r==2) = [[10,30,20],[20,30,10]] + | (n==3) && (l==1) && (r==2) = [[30,10,20]] + | (n==3) && (l==1) && (r==3) = [[30,20,10]] + | (n==2) && (l==2) && (r==1) = [[10,20]] + | (n==2) && (l==1) && (r==2) = [[20,10]] diff --git a/Aufgabe9.hs_1.out b/Aufgabe9.hs_1.out new file mode 100644 index 0000000..5809961 --- /dev/null +++ b/Aufgabe9.hs_1.out @@ -0,0 +1,97 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 15 + +Testfall: {-1a,1-}indM [] ; Testfall FALSCH +Erwartet: {-1a,1-}indM [] == True +Ausgabe: {-1a,1-}indM [] ==ERROR - Undefined variable "indM" +Testfall: {-1a,1-}indM [1] ; Testfall FALSCH +Erwartet: {-1a,1-}indM [1] == True +Ausgabe: {-1a,1-}indM [1] ==ERROR - Undefined variable "indM" +Testfall: {-1a,2-}[v|v<-[[2,3],[4,5,3]], indM v] ; Testfall FALSCH +Erwartet: {-1a,2-}[v|v<-[[2,3],[4,5,3]], indM v] == [] +Ausgabe: {-1a,2-}[v|v<-[[2,3],[4,5,3]], indM v] ==ERROR - Undefined variable "indM" +Testfall: {-1a,3-}divAndConquer indM solveM divideM combineM [3,1,9,4,6] ; Testfall FALSCH +Erwartet: {-1a,3-}divAndConquer indM solveM divideM combineM [3,1,9,4,6] == 9 +Ausgabe: {-1a,3-}divAndConquer indM solveM divideM combineM [3,1,9,4,6] ==ERROR - Undefined variable "combineM" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 15 + +Testfall: {-1b,1-}indP(2,2) ; Testfall FALSCH +Erwartet: {-1b,1-}indP(2,2) == True +Ausgabe: {-1b,1-}indP(2,2) ==ERROR - Undefined variable "indP" +Testfall: {-1b,2-}primes(20,22) ; Testfall FALSCH +Erwartet: {-1b,2-}primes(20,22) == [] +Ausgabe: {-1b,2-}primes(20,22) ==ERROR - Undefined variable "primes" +Testfall: {-1b,3-}divAndConquer indP solveP divideP combineP (2,25) ; Testfall FALSCH +Erwartet: {-1b,3-}divAndConquer indP solveP divideP combineP (2,25) == [2,3,5,7,11,13,17,19,23] +Ausgabe: {-1b,3-}divAndConquer indP solveP divideP combineP (2,25) ==ERROR - Undefined variable "combineP" + +Testfaelle OK: 0; Testfaelle FALSCH: 3 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 15 + +Testfall: {-1c,1-}indN Nil ; Testfall FALSCH +Erwartet: {-1c,1-}indN Nil == True +Ausgabe: {-1c,1-}indN Nil ==ERROR - Undefined data constructor "Nil" +Testfall: {-1c,2-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 (Node 41 Nil Nil) Nil)) Nil) ; Testfall FALSCH +Erwartet: {-1c,2-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 (Node 41 Nil Nil) Nil)) Nil) == 5 +Ausgabe: {-1c,2-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 (Node 41 Nil Nil) Nil)) Nil) ==ERROR - Undefined data constructor "Nil" +Testfall: {-1c,3-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 Nil Nil)) Nil) ; Testfall FALSCH +Erwartet: {-1c,3-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 Nil Nil)) Nil) == 4 +Ausgabe: {-1c,3-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 Nil Nil)) Nil) ==ERROR - Undefined data constructor "Nil" + +Testfaelle OK: 0; Testfaelle FALSCH: 3 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 15 + +Testfall: {-2a,1-}isValid [1, 50, 30, 10, 40, 20, 3] == True; Testfall OK +Testfall: {-2a,2-}isValid [2, 50, 30, 10, 40, 20, 3] == False; Testfall OK +Testfall: {-2a,3-}isValid [1, 60, 30, 10, 40, 20, 3] == False; Testfall OK + +Testfaelle OK: 3; Testfaelle FALSCH: 0 +Punkte : 15 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-2b,1-}computeVisibility [50, 30, 10, 40, 20] == [1, 50, 30, 10, 40, 20, 3]; Testfall OK +Testfall: {-2b,2-}computeVisibility [10,20..50] == 5:[10,20..50]++[1]; Testfall OK + +Testfaelle OK: 2; Testfaelle FALSCH: 0 +Punkte : 10 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-2c,1-}buildSkyscrapers 5 1 5 == Just [1,50,40,30,20,10,5]; Testfall OK +Testfall: {-2c,2-}buildSkyscrapers 5 5 5 == Nothing; Testfall OK + +Testfaelle OK: 2; Testfaelle FALSCH: 0 +Punkte : 10 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-2d,1-}noOfSkyscraperLines 4 2 2 == 6; Testfall OK +Testfall: {-2d,2-}noOfSkyscraperLines 5 5 5 ; Testfall FALSCH +Erwartet: {-2d,2-}noOfSkyscraperLines 5 5 5 == 0 +Ausgabe: {-2d,2-}noOfSkyscraperLines 5 5 5 == + +Testfaelle OK: 1; Testfaelle FALSCH: 1 +Punkte : 5 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-2e,1-}allSkyscraperLines 5 1 5 ; Testfall FALSCH +Erwartet: {-2e,1-}allSkyscraperLines 5 1 5 == [[1,50,40,30,20,10,5]] +Ausgabe: {-2e,1-}allSkyscraperLines 5 1 5 ==[[50,40,30,20,10]] +Testfall: {-2e,2-}allSkyscraperLines 4 2 2 ; Testfall FALSCH +Erwartet: {-2e,2-}allSkyscraperLines 4 2 2 == [[2,10,40,20,30,2],[2,20,10,40,30,2],[2,20,40,10,30,2],[2,30,10,40,20,2],[2,30,20,40,10,2],[2,30,40,10,20,2]] +Ausgabe: {-2e,2-}allSkyscraperLines 4 2 2 ==[[10,40,20,30],[20,10,40,30],[20,40,10,30],[30,10,40,20],[30,20,40,10],[30,40,10,20]] + +Testfaelle OK: 0; Testfaelle FALSCH: 2 +Punkte : 0 + +Punkte gesamt: 40 + diff --git a/Aufgabe9.hs_2.out b/Aufgabe9.hs_2.out new file mode 100644 index 0000000..5809961 --- /dev/null +++ b/Aufgabe9.hs_2.out @@ -0,0 +1,97 @@ +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 15 + +Testfall: {-1a,1-}indM [] ; Testfall FALSCH +Erwartet: {-1a,1-}indM [] == True +Ausgabe: {-1a,1-}indM [] ==ERROR - Undefined variable "indM" +Testfall: {-1a,1-}indM [1] ; Testfall FALSCH +Erwartet: {-1a,1-}indM [1] == True +Ausgabe: {-1a,1-}indM [1] ==ERROR - Undefined variable "indM" +Testfall: {-1a,2-}[v|v<-[[2,3],[4,5,3]], indM v] ; Testfall FALSCH +Erwartet: {-1a,2-}[v|v<-[[2,3],[4,5,3]], indM v] == [] +Ausgabe: {-1a,2-}[v|v<-[[2,3],[4,5,3]], indM v] ==ERROR - Undefined variable "indM" +Testfall: {-1a,3-}divAndConquer indM solveM divideM combineM [3,1,9,4,6] ; Testfall FALSCH +Erwartet: {-1a,3-}divAndConquer indM solveM divideM combineM [3,1,9,4,6] == 9 +Ausgabe: {-1a,3-}divAndConquer indM solveM divideM combineM [3,1,9,4,6] ==ERROR - Undefined variable "combineM" + +Testfaelle OK: 0; Testfaelle FALSCH: 4 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 15 + +Testfall: {-1b,1-}indP(2,2) ; Testfall FALSCH +Erwartet: {-1b,1-}indP(2,2) == True +Ausgabe: {-1b,1-}indP(2,2) ==ERROR - Undefined variable "indP" +Testfall: {-1b,2-}primes(20,22) ; Testfall FALSCH +Erwartet: {-1b,2-}primes(20,22) == [] +Ausgabe: {-1b,2-}primes(20,22) ==ERROR - Undefined variable "primes" +Testfall: {-1b,3-}divAndConquer indP solveP divideP combineP (2,25) ; Testfall FALSCH +Erwartet: {-1b,3-}divAndConquer indP solveP divideP combineP (2,25) == [2,3,5,7,11,13,17,19,23] +Ausgabe: {-1b,3-}divAndConquer indP solveP divideP combineP (2,25) ==ERROR - Undefined variable "combineP" + +Testfaelle OK: 0; Testfaelle FALSCH: 3 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 15 + +Testfall: {-1c,1-}indN Nil ; Testfall FALSCH +Erwartet: {-1c,1-}indN Nil == True +Ausgabe: {-1c,1-}indN Nil ==ERROR - Undefined data constructor "Nil" +Testfall: {-1c,2-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 (Node 41 Nil Nil) Nil)) Nil) ; Testfall FALSCH +Erwartet: {-1c,2-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 (Node 41 Nil Nil) Nil)) Nil) == 5 +Ausgabe: {-1c,2-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 (Node 41 Nil Nil) Nil)) Nil) ==ERROR - Undefined data constructor "Nil" +Testfall: {-1c,3-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 Nil Nil)) Nil) ; Testfall FALSCH +Erwartet: {-1c,3-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 Nil Nil)) Nil) == 4 +Ausgabe: {-1c,3-}divAndConquer indN solveN divideN combineN (Node 11 (Node 21 (Node 31 Nil Nil) (Node 32 Nil Nil)) Nil) ==ERROR - Undefined data constructor "Nil" + +Testfaelle OK: 0; Testfaelle FALSCH: 3 +Punkte : 0 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 15 + +Testfall: {-2a,1-}isValid [1, 50, 30, 10, 40, 20, 3] == True; Testfall OK +Testfall: {-2a,2-}isValid [2, 50, 30, 10, 40, 20, 3] == False; Testfall OK +Testfall: {-2a,3-}isValid [1, 60, 30, 10, 40, 20, 3] == False; Testfall OK + +Testfaelle OK: 3; Testfaelle FALSCH: 0 +Punkte : 15 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-2b,1-}computeVisibility [50, 30, 10, 40, 20] == [1, 50, 30, 10, 40, 20, 3]; Testfall OK +Testfall: {-2b,2-}computeVisibility [10,20..50] == 5:[10,20..50]++[1]; Testfall OK + +Testfaelle OK: 2; Testfaelle FALSCH: 0 +Punkte : 10 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-2c,1-}buildSkyscrapers 5 1 5 == Just [1,50,40,30,20,10,5]; Testfall OK +Testfall: {-2c,2-}buildSkyscrapers 5 5 5 == Nothing; Testfall OK + +Testfaelle OK: 2; Testfaelle FALSCH: 0 +Punkte : 10 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-2d,1-}noOfSkyscraperLines 4 2 2 == 6; Testfall OK +Testfall: {-2d,2-}noOfSkyscraperLines 5 5 5 ; Testfall FALSCH +Erwartet: {-2d,2-}noOfSkyscraperLines 5 5 5 == 0 +Ausgabe: {-2d,2-}noOfSkyscraperLines 5 5 5 == + +Testfaelle OK: 1; Testfaelle FALSCH: 1 +Punkte : 5 + +Punkte pro Testfall: 5; Abzug pro fehlerhaften Testfall: 0; Maximum: 10 + +Testfall: {-2e,1-}allSkyscraperLines 5 1 5 ; Testfall FALSCH +Erwartet: {-2e,1-}allSkyscraperLines 5 1 5 == [[1,50,40,30,20,10,5]] +Ausgabe: {-2e,1-}allSkyscraperLines 5 1 5 ==[[50,40,30,20,10]] +Testfall: {-2e,2-}allSkyscraperLines 4 2 2 ; Testfall FALSCH +Erwartet: {-2e,2-}allSkyscraperLines 4 2 2 == [[2,10,40,20,30,2],[2,20,10,40,30,2],[2,20,40,10,30,2],[2,30,10,40,20,2],[2,30,20,40,10,2],[2,30,40,10,20,2]] +Ausgabe: {-2e,2-}allSkyscraperLines 4 2 2 ==[[10,40,20,30],[20,10,40,30],[20,40,10,30],[30,10,40,20],[30,20,40,10],[30,40,10,20]] + +Testfaelle OK: 0; Testfaelle FALSCH: 2 +Punkte : 0 + +Punkte gesamt: 40 + diff --git a/BITTE_HOER_AUF_MEINE_FILES_ZU_UEBERSCHREIBEN b/BITTE_HOER_AUF_MEINE_FILES_ZU_UEBERSCHREIBEN new file mode 100644 index 0000000..e69de29 diff --git a/GRUPPENNUMMER b/GRUPPENNUMMER old mode 100755 new mode 100644 diff --git a/Ich_ueberschreibe_MEIN_file_und_nicht_deines b/Ich_ueberschreibe_MEIN_file_und_nicht_deines new file mode 100644 index 0000000..e69de29 diff --git a/TUTOR b/TUTOR old mode 100755 new mode 100644 diff --git a/wwc-logo_3c.eps b/wwc-logo_3c.eps deleted file mode 100644 index 6c54ff2..0000000 --- a/wwc-logo_3c.eps +++ /dev/null @@ -1,6586 +0,0 @@ -%!PS-Adobe-3.1 EPSF-3.0 -%ADO_DSC_Encoding: MacOS Roman -%%Title: wwc-logo_3c.eps -%%Creator: Adobe Illustrator(R) 14.0 -%%For: Peter Lockman -%%CreationDate: 2010-03-07 -%%BoundingBox: 0 0 363 189 -%%HiResBoundingBox: 0 0 362.2471 188.0063 -%%CropBox: 0 0 362.2471 188.0063 -%%LanguageLevel: 2 -%%DocumentData: Clean7Bit -%ADOBeginClientInjection: DocumentHeader "AI11EPS" -%%AI8_CreatorVersion: 14.0.0 %AI9_PrintingDataBegin %ADO_BuildNumber: Adobe Illustrator(R) 14.0.0 x367 R agm 4.4890 ct 5.1541 %ADO_ContainsXMP: MainFirst %AI7_Thumbnail: 128 68 8 %%BeginData: 16616 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FFFF8484FFFF5A5AFFA9847EA9FFA97E85AFA9AFA9A9A9FFFF84FF %7EA97EFF84FFFFFF5AFFA97EFFFFFFAFFFFFFF847EFFA8AFA884FFA9A985 %84FFA8847EA9FF8484AFA95AFFA9A9FFFFFFA9FFFFFFA9A9A9AFFFA9A95A %FFAFA9A97EA9FFFFFFA95AA9FFA95AFD05FFA9A9A9AFFFA9A9A9FFFF84AF %A9A9FFFFAF855AFD04FF7EA9A9FFA8FFFF84A9FF7EAF7EFFFFFF845A7EFF %7E845AA9A8A9FFAF84A9A8FFFF845A7E7EFFFFFF0D84FFFF7EA9A9FF7E84 %5AA9A8AF5AA9FFA9A8FF7EA95AA9A9FF5AA984FFFFFF2F30FD04FF84A9A8 %FF7EAF7E8484FF8484A8FD05FF7EFFFF84FFAFA8FFFFFF84A9A8FF7EAF84 %FFFFFF5A7EFD04FF8484FD05FF8484FFA9A9FF84A9FF84A985A9FFFF857E %84FFA9A8A984FF7EFF7EAF84AFFFFF84A984A9FFFFFF85A9FFFFFF8484FF %847EAF35FFA984A8FFA8A9A985A984A8FFAFA9A85AAFFFFFA984FFFFFFA8 %A9A885AF85A9A9AF5AA9A984FD04FFAF5AFFFF85A8FFA9A9A9FFA8A9A8A9 %AF84A985FFFFFFA984FFFFFFA9FF5AFD04FF7E84A8FFA8FFFFFF7E84A8FF %A8847EFFA8FFA8A9A8FFA9A9FFA97EA8FFA97E84A8A9FFFF84FD07FF7E84 %A8FFA8A9FFA8FFFF7E84A8FF7E84A8FF7E8484FFA8FF7EFD07FF8484A8FF %7E84A8FFA8FF84FFA8847EFFFFFF7E84A8FF84FD05FF8484A8FF7E84A8FF %7E84A8FFA8AFFD04FF7E84A8FD81FFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCA %FFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCF %CFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCA %FFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCFFD09FFCF %FFCFCFCAFFCFCFCAFFCFCFCAFFCFCFCAFFCCC6C6C6FEC6C6C6FEC6C6C6FE %C6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6 %C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FE %C6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC6C6C6FEC9FD %07FFCFC7C6FEC6C6C6FEC6C6C6FEC6C6C6FEFD68C6C8FD07FFCFFD12C6FE %C6CFA8FFCFFFCAFFCFFFCAFFCFFFA8FFCFFFCAFFCFFFCAFFCFFFCAFFCFFF %A8FFCFFFCAFFCFFFCAFFCFFFA8FFCFFFA8FFCFFFA8FFCFFFA8FFCFFFA8FF %CFFFA8FFCFFFA8FFCFFFA8FFCFFFA8FFCFFFA8FFCFFFA8FFCFFFA8FFCFFF %CAFFCFFFCAFFCFFFC8FEC8FD07FFCFC6C6FFCFFFCAFFCFFFCAFFCFFFA8FF %CAFD04C6A8FFA9FFFFFFAFFFFFFFAFFFAFFFA8FFAFFFAFFFFFFFAFFFFFFF %A8FFA9FFA9FFFFFFAFFFFFFFAFFFA9FFA8FFFFFFAFFFAFFFFFFFA9FFFFFF %AFFFA8FFFFFFA9FFFFFFA8FFA9FFFFFFAFFFA8FFFFFFA9FFAFFFAFFFA9FF %A9FFFFFFAFFFFFFFA9FFA9C9C6CDFD07FFCFC6C6A8FFAFFFAFFFFFFFAFFF %FFFFA8FFFD04C6FFFF852F5A5A5A355A5A5A2FA9FFFFA97E365A355A5A5A %355A5AAFAFFFA95A355A5A5A35FD045AFFFFFF7E84A9845AAF848484FFA8 %5A5AA9FFFF845A5AA97E5A7EFFFFFF7E5A5AFFFFFF7E5A5AA9FFAF7E847E %FFAF5A355A5A5A355A365AA8FFC9C6C8FD07FFCFFEC6FFAF85365A355A5A %5A355A84FFA8FEC6C6C6A8FF590D070D070D070D070D59FFA9FF0D0D070D %070D070D070D84FFA8A9070D070D070D070D072FA8FF840D07840D0D5A30 %075A7E0D070D07A9840D070D0D0D070D2FFF2F0D070D0DAF590D070D0DA8 %0D0D070D84FF0D0D070D070D070D07A9A8CEC6C8FD07FFCFC6C6A8FF2F0D %070D070D070D065AFFCFFD04C6FFFF7E0D0E0D0D0D0E0D0D0D84FFFFA936 %0D0D0D0E0D0D0D0E0DA9FFFFA80E0D0E0D0D0D0E0D0D2FFFFFA90D0E840E %0D852F0D5A360D0E0D0E0D5A0D140D0D0D360D0E5A0E0D140D0D5A140D36 %0D0D360E0D0E5AFFAF0E0D0E0D0D0D0E0D0EA8FFC9C6C8FD07FFCFFEC6FF %FF5A0D0D0D0EFD040D5AFFA8CCC6C6C6A8FF5AFD090D59FFA9FFFD080D07 %0DA8FFA9A9FD090D36A8FFA80D07840D0D5A360D360D0D5A5A070D2F0D0D %7E070D7E0D0D3607362F0D5AFF0D0D5A36075A7E0D0D5AA8FFFD090DA9A9 %CEC6C8FD07FFCFC6C6A8FF2FFD070D075AFFCFC6C6FEC6FFFF7E0D0D0D0E %0D0D0D0E0D5AFFFFAF140D0E0D0D0D0E0D0D0DAFFFFFA80E0D0D0D0EFD04 %0D2FFFFFAF0D0D0D0E0D140D0D5A360D0E0D0D0D5A0D365A0D0D850D0E5A %0D0D360D14840E0D840D0D5A840D0D0D84AF0E0D0D0D0E0D0D0D0EA8FFC9 %C6C8FD04FFCFC9CEC7C6C6FFFF5A0D0E0D0D0D0E0D0D5AFFCFFD04C6A8FF %590D0D0D070D0D0D070D5AFFA8FF0D0D070D0D0D070D0D0D84FFA9A9070D %0D0D070D0D0D0736A9FFA836070D070D070D07A97E0D070D0D842F0D0D5A %060D7E0D07A92F0D070D0D7E0D0D5A0D06360D0D070D84FFFD040D070D0D %0D07A9A9C9C6CDFFCFC8FD07C6A8FF2F0D070D0D0D070D075AAFCFC6C6FE %C6FFFF840D0D0D0E0D0D0D0E0D7EFFFFAF360D0E0D0D0D0E0D0D0DAFFFFF %A80E0D0D0D0E0D0D0D0E2FFFAFFFAF845AA9A85A5AAFFFFF845A5AA9FFA9 %7EA9848584AF7E85AFFF7E5A5AAFFF857EAF848584857E85A8FFA90E0D0D %0D0E0D0D0D0EA8FFC9FEC7CDC6FEC6C6C7CEC9CECAFFFF5A0D0E0D0D0D0E %0D0D5AFFCFFD04C6A8FF59FD090D5AFFA8FFFD0A0D84FFAFA9FD080D0736 %A9FFA8FFFFFFAFFFFFFFA9FFA9FD05FFA9FD05FFA9FFAFFFA9FFFFFFAFFF %FFFFAFFD08FFAFFD090DA9AFC9FD04C6C7CFA8FFA8FFAFFFA9FF35FD080D %5AFFFFFD04C6FFFF5A0D0E0D0D0D0E0D0D0D7EFFFFA9360D0D0D0E0D0D0D %0E0DA9AFFFA80D0D0E0D0D0D0E0D0D2FFFFFFFA9FFAFFFA9FFFFFFA9FFA8 %A9A8FFFFFFA9FFAFFFA9FFAFFFA9FD09FFAFFFFFFFA9A9A8AFA90E0D0E0D %0D0D0E0D0DA8FFC9C6C6CCC9FFAFFFFFFFA8AFA8AFFF5A0D0D0D0EFD040D %5AFFA8FEC6C6C6A8FF5A0D070D0D0D070D0D0D59FFA9FFFD040D070D0D0D %070D84FFA8A90D0D070D0D0D070D0736A8FFA8FFA8FFA8FFA8A92F0D07FD %040D5A7EFFA8FFA8FFA8FFA9A92F5A2F5A2F5A2F367EFFA85AFD050DA90D %0D070D0D0D070D0DA9A8CFC6C8A8FFFFA959360D0D070D077E590D0D0D07 %0D0D0D075AFFCFFD04C6FFFF7E0D0E0D0D0D0E0D0D0D84FFFFA9360D0D0D %0E0D0D0D0E0DA9FFFFA80E0D0E0D0D0D0E0D0D2FFFFFFFAFFFFFFFA8360D %0D0D0E0D0D0D0E0D0D0DA9FFFFAFFFAFFFA80E0D0D0D0E0D0D0D84A90E0D %0E0D0D0D0EA80E0D0E0D0D0D0E0D0EA8FFAFFFA9FFAF5AFD050D0E0D0D5A %840D0D0D0EFD040D5AFFA8CCC6C6C6A8FF5AFD090D59FFA9FFFD080D070D %A8FFA9A9FD090D36A8FFA9FFA8FF5A0D07FD0B0D075AAFFFA8FFAFA9FD08 %0D2F0EFD070DA9FD090DA9A9FFA9FFA83607FD080D7E59FD070D075AFFCF %C6C6FEC6FFFF7E0D0D0D0E0D0D0D0E0D5AFFFFAF140D0E0D0D0D0E0D0D0D %AFFFFFA80E0D0D0D0EFD040D2FFFA9FFAFFF5AFD040D0E0D0D0D0E0D0D0D %0E0D0D0D5AFFFFA9FFA80D0D0E0D0D0D0E0D0D0D0E0D0D0D0E0D0D84140D %0D0D0E0D0D0D0EA8FFA9FFA9140D0E0D0D0D0EFD040D5A5A0D0E0D0D0D0E %0D0D5AFFCFFD04C6A8FF590D0D0D070D0D0D070D5AFFA8FF0D0D070D0D0D %070D0D0D84FFA9A9070D0D0D070D0D0D0736A9FFA8FF7E0D070D0D0D070D %0D0D070D0D0D070D0D0D075AFFFFA8A90D0D070D0D0D070D0D0D070D0D0D %070D0DA8FD040D070D0D0D07A9A9FFA836070D070D0D0D070D0D0D077E5A %0D070D0D0D070D075AAFCFC6C6FEC6FFFF840D0D0D0E0D0D0D0E0D7EFFFF %AF360D0E0D0D0D0E0D0D0DAFFFFFA80E0D0D0D0E0D0D0D0E2FFFAFFFA90E %0D0E0D0D0D0E0D0D0D360D0D5AFF840E0D0E0DA9FFFFA80E0D0E0D0D0D0E %0D0D0D0E0D0D0D0E0D0E84140D0D0D0E0D0D0D0EA8FFFFA90D0D0D0E0D0D %0D0EFD040D7E7E0D0E0D0D0D0E0D0D5AFFCFFD04C6A8FF59FD090D5AFFA8 %FFFD0A0D84FFAFA9FD080D0736A9FFAF5AFD060D070D0D5AA9850D0D7EFF %5AFD040DFFA9A9FD0E0D070D0DA8FD090DA9AFFF2FFD0B0D07845AFD080D %5AFFFFFD04C6FFFF5A0D0E0D0D0D0E0D0D0D7EFFFFA9360D0D0D0E0D0D0D %0E0DA9AFFFA80D0D0E0D0D0D0E0D0D2FFFFFAFFD050D0E0D0E2F3684FFFF %AF0D0D84A9FD040D84FFA80E0D0D0D0E0D0D0D0EFD050D362F36A80E0D0E %0D0D0D0E0D0DA8FFA90D0D0E0D0D0D0EFD060D5A7E0D0D0D0EFD040D5AFF %A8FEC6C6C6A8FF5A0D070D0D0D070D0D0D59FFA9FFFD040D070D0D0D070D %84FFA8A90D0D070D0D0D070D0736A8FF7E0D070D0D0D070D2F3084FFA8FF %A9A90D0D5A0D0D0D075AFFA9070D0D0D070D0D0D070D075A84FFA9FFA8AF %0D0D070D0D0D070D0DA9FF84070D070D0D0D070D070D2F5A0D7E590D0D0D %070D0D0D075AFFCFFD04C6FFFF7E0D0E0D0D0D0E0D0D0D84FFFFA9360D0D %0D0E0D0D0D0E0DA9FFFFA80E0D0E0D0D0D0E0D0D2FFFFF5A0D0E0D0D0D0E %2F36A8FFFFFFAFFFFFA936840D0D0D0E2FFFA80E0D0D0D0E0D0D0D0E0D84 %FD04FFAFFFA90E0D0E0D0D0D0E0D0EA8FF5A0D0D0E0D0D0D0E0D14A8FD04 %FF5A0D0D0D0EFD040D5AFFA8FEC6C6C6A8FF5AFD090D59FFA9FFFD080D07 %0DA8FFA9A9FD090D36A9FF2FFD060D3684FFA8FFA9FFA8FFAFFF2F0D0D0D %070EA9A9FD080D0736FFFFA8FFA9FFA8FFFD090DA9FF5AFD060D070D7EFF %A8FFA9FF2FFD070D077EFFCFC6C6FEC6FFFF7E0D0D0D0E0D0D0D0E0D7EFF %FFAF140D0E0D0D0D0E0D0D0DAFFFFFA80E0D0D0D0EFD040D2FFFAF360D0D %0D0E0D7E84FFAFFFA9FFAFFFA9FFAF0E0D0E0D0D0DFFA90D0D0E0D0D0D0E %0D0D7EFFAFFFA9FFAFFFA90E0D0D0D0E0D0D0D0EA8FF35FD040D0E0D0D0D %FFFFFFA9FFFF5A0D0E0D0D0D0E0D0D7EFFCAFD04C6A8FF590D0D0D070D0D %0D070D5AFFA8FF0D0D070D0D0D070D0D0D84FFAFA8070D0D0D070D0D0D07 %36A9FFFD040D070D59FFA8FFA8FFA8FFA8FFAF84070D070D0D0DA8A90D0D %070D0D0D070D0DA9A8FFA8FFA8FFA9AFFD040D070D0D0D07A9FF5A070D0D %0D070D0D0DA8FFA8FFA8FF0D0D070D0D0D070D0D84A9CEC6C7FEC6CFFF84 %0D0D0D0E0D0D0D0E0D36FFFFA90E0D0E0D0D0D0E0D0D0D85FFFF5A0E0D0D %0D0E0D0D0D0E2FFFFF5A0D0D0D0E0D0D5AFFFFFFAFFFAFFFFFFF0D0D0D0E %0D0D0DFFA90E0D0E0D0D0D0E0D0EA9FFAFFFAFFFAFFFA90E0D0D0D0E0D0D %0D0EA8FF5AFD040D0E0D0D0D5AFD04FF840D0D0E0D0D0D0E0D0EA8FFC9C6 %C7C6C6A7FF5AFD0A0D36590EFD0B0D5A2F0D07FD070D075AFFFF5A0D0D0D %075A0D0D5AFFA9FFA8FFA9FF2FFD060D5AFFA9FD090DFFA8FFA9FFA8FFA9 %AFFD090DA9FF8407FD070D075A84A95AFD0A0DFFA8C8C6CEC7C6CFFFA90D %0E0D0D0D0E0D0D0D0E0D0D0D0E0D0D0D0E0D0D0D0EFD070D0E0D0D0D0E0D %0D5AFFFFA90D0E0D0D5AFF0D0D5AFFAFFFFFFF5A0D0D0EFD040D7EFFA80E %0D0D0D0E0D0D0D36AFFFA9FFAFFFA9FFA90D0D0E0D0D0D0E0D0DA8FFA90D %0D0E0D0D0D0E0D0D0D0E0D0D0D0E0D0D0D0E0D0D0D5AFFFFC6C6CEC8C6A6 %FFA80D070D0D0D070D0D0D070D0D0D070D0D0D070D0D0D070D0D0D070D0D %0D070D0D0D070D0DA8A8FFA930070D075AFFA90D0D5AFFFFA92F0D0D0D07 %FD040DFFAFA9070D0D0D07FD040DFFA9FFA8FFA8FFA8AF0D0D070D0D0D07 %0D0DA9A8FF2F0D070D0D0D070D0D0D070D0D0D070D0D0D070D0D0D7EFFA7 %C6C6FFCFC6CCFFFF5AFD040D0E0D0D0D0E0D0D0D0E0D0D0D0E0D0D0D0E0D %0D0D0E0D0D0D0E0D0D0D0E0D36FFFFAFFF840E0D0D0DFFFFAF5AAFA95A0D %0E0D0D0D0E0D0D0D84FFFFA80E0D0D0D0E0D0D0D36AFFFAFFFAFFFAFFFA9 %0E0D0E0D0D0D0E0D0EA8FFFFA90D0E0D0D0D0E0D0D0D0E0D0D0D0E0D0D0D %0E0D0D2FFFAFCDC6CDFFCFC6C6CEAFAFFD200D070D7EFFA8FFA9FF2FFD04 %0D362F36FD0B0D30A8FFAFA9FD090DFFA9FFA8FFA9FFA8FFFD090DA9A9FF %FF5A07FD120DA9A9CFC6C6C9FFFFC8C6C6FFFF85FD050D0E0D0D0D0E0D0D %0D0E0D0D0D0E0D0D0D0E0D0D0D0E0D0D0D0E0D0D5AFFAFFFA9FFFFFFFD09 %0D0E0D0D0D0E0D0D0D0EA9FFA9FFA80D0D0E0D0D0D0E0D14A9FFAFFFA9FF %AFFFA90E0D0D0D0E0D0D0D0EA8FFA9FFAF360D0E0D0D0D0E0D0D0D0E0D0D %0D0E0D0D0D85FFFFC7C6C7FD04FFC6C6A6FFFF7E070D0D0D070D0D0D070D %0D0D070D0D0D070D0D0D070D0D0D070D0D0D070D2FFFA8FFA8FFA8FFA9AF %FD040D070D0D0D070D0D0D070D070D84FFA8FFA8A90D0D070D0D0D070D0D %FFA8FFA8FFA8FFA9AFFD040D070D0D0D07A9A9FFA8FFA80D070D0D0D070D %0D0D070D0D0D070D077EA9FFA7C6C6CFFD04FFCEC6FEC9FFFFA90D0D0D0E %0D0D0D0EFD050DA9A9360D0D0D0E0D0D0D0E0D0D0D0E5AFFFFFFAFFFAFFF %AFFFFFFF5A0D0D0E0D0D0D0E0D0D0D0E0D5AA9FFAFFFAFFFA80D0D0E0D0D %0D0E0D14A9FFAFFFAFFFAFFFA90E0D0D0D0E0D0D0D0EA8FFAFFFAFFFA95A %0D0D0D0E0D0D0D0EFD050D85FFFFCAC6C6CEFD06FFC8C6C6A7FFAFFF5AFD %050D070D0D0D59FFFFFFA9840D0D070D070D070D0D5AA8FFA9FFA8FFA9FF %A8FFA9FFA8FFA85AFD040D070D0D0D2FA9FFFFA9FFA9FFA9A9FD090DFFA8 %FFA9FFA8FFA9AFFD090DA9AFFFA8FFA9FFAFA92F0D070D0D0D070D0D0D5A %FFFFFFA7C6C6C7FD07FFCEC6C6CDAFFFAFFFFFAF7E845A7E5AA9A9FFAFFF %AFFFFFFFA8845A7E5A8484FFFFFFA9FFAFFFA9FFAFFFA9FFAFFFA9FFFFFF %84845A5A5A85A9FD04FFA97EFFFFFFA9FFA9FFA9FFA9FFA9FFAFFFA9FFAF %FFA9FFAFFFA9FFA9FFA9FFA9FFA9FFFFFFA9FFAFFFFFFFA9850D365A7E7E %AFAFFFAFFFC8C6C6CCFD07FFC9C6C6C7A8FFFFFFA8FFA9FFA9FFFFFFA8FF %A8FFA8FFA8FFA8FFFFFFAFFFFFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA9FFA9FFFFFFA8FFA8FFA85A070D0DA9A9FFA8FFA9FFA8FFA9FFA8FF %A8FFA8FFA8FFA8FFA9FFA8FFA9FFA8FFA9FFA8FFA8FFA8FFA8FFA8FF0D0D %075AFFFFA8FFA8CFA4C6C6C7CAFD06FFCFCCC6CCA8FFFFA936360D0E7E7E %0D140DA9FFFFAFFFAFFFAFFFAFFFAFFFAFFFAFFFAFFFAFFFAFFFAFFFAFFF %AFFFAFFFAFFFAFFFAFFFAFFFAFFFAFFFFFAFFD040D5AFFAFFFAFFFAFFFAF %FFAFFFAFFFAFFFAFFFAFFFAFFFAFFFAFFFAFFFFFFF5A140D0E5AFFAFFFAF %FF5A0D0D0E0DA9FFFFAFFFC9FEC6C6C6CDCFFD05FFC8C6C7A8FFA8360D0D %070D075A2F0D0D0D7EFFA9FFA8FFA9FFA8FFA9FFA8FFA9FFA8FFA9FFA8FF %A9FFA8FFA9FFA8FFA9FFA8FFA9FFA8FFA9FFA8FFA9FF840D0D0D075AFFFF %A8FFA9FFA8FFA9FFA8FFA9FFA8FFA9FFA8FFA9FFA8FFA9FFA8FFFF5A070D %075AFFFFA9FFFF7E070D070D84FFA8FFA9FFA7CEC7C6C6C6C9FD04FFC6C6 %C9FFAF360D0EFD040D5A5A0D0E0DA9FD04FFA9FFAFFFA9FFFFFFAFFFAFFF %A9FFAFFFAFFFFFFFA9FFFFFFAFFFAFFFA9FFAFFFAFFFFFFFA9FFAFFF350D %0D0EA8FFAFFFA9FFFFFFA9FFAFFFA9FD07FFA9FFAFFFA9FFFFFFAFFF5A0D %0D0D5AFFFFFFAFFFA8360D0D2FFFFFFFA9FFFFFFAFFFCAC7C6C6C9FFFFC8 %C6C6FFA95A070D070D070D077E2F0D070D7EAF84AFAFFFA8FFA9FFA8A984 %AFA8FFA8FFA8FFA9A984A9A9FFA8A984A9A8FFA8FFA8FFAFA984A9A8FFA8 %FFA9AF5A7EA8FFA8FFFFAF84A9A8FFA8FFA8FFA8FFA8A984AFAFFFA8FFFF %FFA8AFA8AFA85A070D075AA8A9A8FFA9FFA87E5AAFA8FFA9FFA8A984A9A8 %FFA8C8C6C6C9FFCDC6CEAFFF0D0D0D0E0D5A84AFA9360D0E0D360D0E0D84 %FFFFFFAF2F0E0D0D0D5AAFFFA9FF84360D0E0D5A845A0D0D0D36A8FFA9FF %A95A0D0E0D0E36FFFFFF0D140D0E84FFFF840D0E0D0E35FD04FFA92F0E0D %0E0D5AAFFFFF7E0D0E0D0E0DA95A0D0D0E0D0E0D0E5AFFA8140D0E0DFFFF %FF5A140D0D0D5AA9FFA9CDC6CCFFC6C6A7FF7E0D0D0D075AFFFFA9FF2FFD %050D070D0D84FFA90D0D070D0D0D0736A8FF840D0D0D070D0D0D070D0D0D %070DA8FFA80E070D07FD040DFFA90D070D0D84FF5A070D07FD040DAFFFA9 %FD040D070D075AFF5A070D070D0D0D7E5AFD060D070D7EA9070D0D0DA8FF %2F0D070D0D0D070DA8FFA8C6C6CFC6C6CFFF7E0D0E0D0DA8FFAFFFAF36FD %080D36FFFD090D5AFF360D0E0D0D0D0EFD070D5AFF5A0D0E0D0D0D0E0D0D %35FFFD040DA8850D0E0D0D0D0E0D0D0DFF360D0D0E0D0D0D0E0DA9FD050D %0E0D845AFD080D36A8FD040DFF5AFD080D36FFFFC8C6C8C6C6A8FF5A0D07 %0D0DA9A8FFA9FFFD050D36070D0736840D070D0D30FD050DA90D0D070D2F %0D070D070D2FFD040DAF0D0D070D0D30070D0D0DA830070D07A92F0D070D %0D0D070D0D0D7E30070D07360D0D070D5A36070D0D0D7EA9A85A070D070D %2FFD040DA90D0D070EA80D070D0D0D2F0D0D0D07A9AFC9C6C7C6C6CFFF85 %0D0E0D0D5AFD04FF360D0D0DA9A90D0D0E2F840D0E0D36FFFF2F0D0D0E84 %360D0E0DFF5A0D0D0D5AAF0D0D0D36840D0D0E0DFFFF360D0D0DA92F0D0D %0E84140D0E0DA9FF360D0D0D852F0D0D0EA95A0D0E0D84A80E0D0D0D36A8 %FF360E0D0D5AFF0D0D0D14A80E0D0E0DAF0D0E0D0EA9FF5A0D0D0E7EFFCA %FEC6C7C6A7FFA80D070D0D0D59A9A8AF2F0D0D0D7EA90D0D07365A0D070D %2FFFFF5A0D0D07840D0D070DA87E070D0D7E84FD040D840D0D0736FFFFFD %040D7E360D0D0D840D0D070D84FFFD040D5A360D0D0DAF5A0D0D0D5AFFA8 %5A0D0D070D845A070D0D5AAFFD040DA90D0D0736840D070D0DFFFF5A0D0D %0784FFCFC6C6CEC6C8A9FF360D0D0EFD040D5A5A0D0E0D8584FD040D850D %0D0D0E2F5A350D0D0D7E360D0D0DFF5A0D0D0D5AA90D0E0D365AFD040D5A %2F0D0D0E0DA9FD040D84360D0D0D0E0D0D0D0E0DA9FD040DA85A0D0D0D7E %84845A0E0D0D0D5A5A0D0D0D5AFF0D0D0D0E840E0D0D0DA90D0D0D143636 %0D0E0D0D84FFC9C6C6CAC6C6CFA8AF0D0D070D0D0D075A2F0D070D7EA907 %0D070DA80D070D070D0D5A070D077EFD040DA87E070D077E840D070D0D7E %070D072F070D0D0D0736A90D070D0DA97E0D0D0D070D0D0D0736A90D070D %0DA92F0D0D0D590E070D070D0D0D2F5A070D077EA90D070D0DA80D0D0730 %7EFD050D070D070D0DFFA8C8C6C8FFC8C6C7FFFFAFFD060D5A5A0D0E0D85 %840E0D0D0DFF840D0D0E0D36360D0D0D7E360D0D0DFF5A0D0D0D5AA90D0E %0D367E0E0D0D0D140D0D0D0EA8FF0D0E0D0D84FF360D0D0E0D0D0D14A9FF %0D0E0D0DA85A0D0D0D7E2F0D0D0E0D0D0DA95A0D0D0D5AFF0D0E0D0E840E %0D0D0DA90D0D0D360D0D0D0E0DA9FFFFC6C6C9FFCFC6C6A5FFAFFF5A360D %0D077E350D0D0D7EA90D0D0D30A8FF84300D0D0D5A070D0D842F0D0D0DA8 %840D0D0784A80D0D0D2F7E070D0D300D0D0D3084FFA9300D0D0D84FFFF5A %0D070D0D36A8FFA9300D0D0DA9590D0D0D5A36FD050D7EFF5A0D0D077EAF %FD040DA90D0D0D367EFD040D0E0D0D0DA9FFFFA6C6C6FFFFFFCFC6C6C7FF %FFFFAFFFA9FFA9FFA9FFA9FFAFFFA9FFA9FFA9FFFFA984AFA9FFA9FFAFFF %A9FFA9FFA9FFA9FFA9FFA9FFA9FF7E0D0D0D2FA984AFFFFFA9FFA9FFA9FF %AFFFA9FFAFA984AFFFFFA9FFA9FFA9FFAFFFA9FFA9FFA9FFA9FFA9FFFFFF %A9FFA9FFA9FFA9FFA9FFAFFFA9FFFFA90D0E0D14A8A9A8FFFFFFC9C6C6CE %FD04FFCEC6C6C6CEA8FFA8FFA9FFA8FFA9FFA8FFA9FFA8FFA8FFA8FFA9FF %A8FFA9FFA8FFA9FFA8FFA8FFA8FFA9FFA8FFA9FFAF84070D0736FFFFA8FF %A8FFA8FFA9FFA8FFA8FFA8FFA9FFA8FFA8FFA8FFA9FFA8FFA9FFA8FFA9FF %A8FFA9FFA8FFA8FFA8FFA9FFA8FFA9FFA8FFA9FFA8FF7E0D070D0DFFA8FF %A9CFA6C6C6C8FD06FFCFC6FEC6C6C7CDC8CDC8CDC8CDC8CDC8CDC8CDC8CD %C8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CEA8FF7E0D0D0D %2FFFAFCFC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CD %C8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8CDC8FFFFA90D0E %0D14A9FFCACDC6FEC6CDFD09FFC8C7FD29C6CFAF840D0D0D5AA9FFFD34C6 %A6FF840D0D0E2FFFA8C8C6C6C6CEFD0CFFCFCECEC9CEC9CEC9CEC9CEC9CE %C9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC6FECAFF %A9FFAFFFA9FFAFC6C6CECECEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CE %C9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CEC9CCC6CE %A9FFAFFFA9FFAFFFC8C6C8FD35FFC6C6CFA8FFA8FFA9FFA8FFC6C6CAFD2F %FFC7C6A7FFA8FFA9FFA8FFA8C8C6CFFD35FFC6FEC7CDC8CDC8CDC8CDC8C6 %C6CFFD2FFFCDC6CCC8CDC8CDC8CDC8CDC6FECEFD35FFFD0DC6CAFD2FFFC7 %FD0CC6CFFD35FFCFCEC9CEC9CEC9CEC9CEC9CECEFD30FFCFC9CEC9CEC9CE %C9CEC9CEC9CECFFD85FFFF %%EndData -%ADOEndClientInjection: DocumentHeader "AI11EPS" -%%Pages: 1 -%%DocumentNeededResources: -%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 -%%+ procset Adobe_CoolType_Utility_T42 1.0 0 -%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 -%%+ procset Adobe_CoolType_Core 2.31 0 -%%+ procset Adobe_AGM_Core 2.0 0 -%%+ procset Adobe_AGM_Utils 1.0 0 -%%DocumentFonts: -%%DocumentNeededFonts: -%%DocumentNeededFeatures: -%%DocumentSuppliedFeatures: -%%DocumentProcessColors: -%%DocumentCustomColors: (PANTONE 116 C) -%%+ (PANTONE 649 C) -%%+ (PANTONE 301 C) -%%CMYKCustomColor: 0 0.1600 1 0 (PANTONE 116 C) -%%+ 0.1000 0.0400 0 0.0100 (PANTONE 649 C) -%%+ 1 0.4500 0 0.1800 (PANTONE 301 C) -%%RGBCustomColor: -%%EndComments - - - - - - -%%BeginDefaults -%%ViewingOrientation: 1 0 0 1 -%%EndDefaults -%%BeginProlog -%%BeginResource: procset Adobe_AGM_Utils 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{currentpacking true setpacking}if -userdict/Adobe_AGM_Utils 75 dict dup begin put -/bdf -{bind def}bind def -/nd{null def}bdf -/xdf -{exch def}bdf -/ldf -{load def}bdf -/ddf -{put}bdf -/xddf -{3 -1 roll put}bdf -/xpt -{exch put}bdf -/ndf -{ - exch dup where{ - pop pop pop - }{ - xdf - }ifelse -}def -/cdndf -{ - exch dup currentdict exch known{ - pop pop - }{ - exch def - }ifelse -}def -/gx -{get exec}bdf -/ps_level - /languagelevel where{ - pop systemdict/languagelevel gx - }{ - 1 - }ifelse -def -/level2 - ps_level 2 ge -def -/level3 - ps_level 3 ge -def -/ps_version - {version cvr}stopped{-1}if -def -/set_gvm -{currentglobal exch setglobal}bdf -/reset_gvm -{setglobal}bdf -/makereadonlyarray -{ - /packedarray where{pop packedarray - }{ - array astore readonly}ifelse -}bdf -/map_reserved_ink_name -{ - dup type/stringtype eq{ - dup/Red eq{ - pop(_Red_) - }{ - dup/Green eq{ - pop(_Green_) - }{ - dup/Blue eq{ - pop(_Blue_) - }{ - dup()cvn eq{ - pop(Process) - }if - }ifelse - }ifelse - }ifelse - }if -}bdf -/AGMUTIL_GSTATE 22 dict def -/get_gstate -{ - AGMUTIL_GSTATE begin - /AGMUTIL_GSTATE_clr_spc currentcolorspace def - /AGMUTIL_GSTATE_clr_indx 0 def - /AGMUTIL_GSTATE_clr_comps 12 array def - mark currentcolor counttomark - {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put - /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop - /AGMUTIL_GSTATE_fnt rootfont def - /AGMUTIL_GSTATE_lw currentlinewidth def - /AGMUTIL_GSTATE_lc currentlinecap def - /AGMUTIL_GSTATE_lj currentlinejoin def - /AGMUTIL_GSTATE_ml currentmiterlimit def - currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf - /AGMUTIL_GSTATE_sa currentstrokeadjust def - /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def - /AGMUTIL_GSTATE_op currentoverprint def - /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def - /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def - currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf - cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf - /AGMUTIL_GSTATE_ht currenthalftone def - /AGMUTIL_GSTATE_flt currentflat def - end -}def -/set_gstate -{ - AGMUTIL_GSTATE begin - AGMUTIL_GSTATE_clr_spc setcolorspace - AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get - /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor - AGMUTIL_GSTATE_fnt setfont - AGMUTIL_GSTATE_lw setlinewidth - AGMUTIL_GSTATE_lc setlinecap - AGMUTIL_GSTATE_lj setlinejoin - AGMUTIL_GSTATE_ml setmiterlimit - AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash - AGMUTIL_GSTATE_sa setstrokeadjust - AGMUTIL_GSTATE_clr_rnd setcolorrendering - AGMUTIL_GSTATE_op setoverprint - AGMUTIL_GSTATE_bg cvx setblackgeneration - AGMUTIL_GSTATE_ucr cvx setundercolorremoval - AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx - AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer - AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or - { - currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne - { - mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark - }if - }{ - AGMUTIL_GSTATE_ht sethalftone - }ifelse - AGMUTIL_GSTATE_flt setflat - end -}def -/get_gstate_and_matrix -{ - AGMUTIL_GSTATE begin - /AGMUTIL_GSTATE_ctm matrix currentmatrix def - end - get_gstate -}def -/set_gstate_and_matrix -{ - set_gstate - AGMUTIL_GSTATE begin - AGMUTIL_GSTATE_ctm setmatrix - end -}def -/AGMUTIL_str256 256 string def -/AGMUTIL_src256 256 string def -/AGMUTIL_dst64 64 string def -/AGMUTIL_srcLen nd -/AGMUTIL_ndx nd -/AGMUTIL_cpd nd -/capture_cpd{ - //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf -}def -/thold_halftone -{ - level3 - {sethalftone currenthalftone} - { - dup/HalftoneType get 3 eq - { - sethalftone currenthalftone - }{ - begin - Width Height mul{ - Thresholds read{pop}if - }repeat - end - currenthalftone - }ifelse - }ifelse -}def -/rdcmntline -{ - currentfile AGMUTIL_str256 readline pop - (%)anchorsearch{pop}if -}bdf -/filter_cmyk -{ - dup type/filetype ne{ - exch()/SubFileDecode filter - }{ - exch pop - } - ifelse - [ - exch - { - AGMUTIL_src256 readstring pop - dup length/AGMUTIL_srcLen exch def - /AGMUTIL_ndx 0 def - AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ - 1 index exch get - AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put - /AGMUTIL_ndx AGMUTIL_ndx 1 add def - }for - pop - AGMUTIL_dst64 0 AGMUTIL_ndx getinterval - } - bind - /exec cvx - ]cvx -}bdf -/filter_indexed_devn -{ - cvi Names length mul names_index add Lookup exch get -}bdf -/filter_devn -{ - 4 dict begin - /srcStr xdf - /dstStr xdf - dup type/filetype ne{ - 0()/SubFileDecode filter - }if - [ - exch - [ - /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx - currentdict/srcStr get/readstring cvx/pop cvx - /dup cvx/length cvx 0/gt cvx[ - Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx - names_index Names length currentdict/srcStr get length 1 sub{ - 1/index cvx/exch cvx/get cvx - currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx - Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx - }for - currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx - ]cvx/if cvx - /end cvx - ]cvx - bind - /exec cvx - ]cvx - end -}bdf -/AGMUTIL_imagefile nd -/read_image_file -{ - AGMUTIL_imagefile 0 setfileposition - 10 dict begin - /imageDict xdf - /imbufLen Width BitsPerComponent mul 7 add 8 idiv def - /imbufIdx 0 def - /origDataSource imageDict/DataSource get def - /origMultipleDataSources imageDict/MultipleDataSources get def - /origDecode imageDict/Decode get def - /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def - imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse - { - /imbufCnt imageDict/DataSource get length def - /imbufs imbufCnt array def - 0 1 imbufCnt 1 sub{ - /imbufIdx xdf - imbufs imbufIdx imbufLen string put - imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put - }for - DeviceN_PS2{ - imageDict begin - /DataSource[DataSource/devn_sep_datasource cvx]cvx def - /MultipleDataSources false def - /Decode[0 1]def - end - }if - }{ - /imbuf imbufLen string def - Indexed_DeviceN level3 not and DeviceN_NoneName or{ - /srcDataStrs[imageDict begin - currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse - { - Width Decode length 2 div mul cvi string - }repeat - end]def - imageDict begin - /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def - /Decode[0 1]def - end - }{ - imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put - imageDict/Decode[0 1]put - }ifelse - }ifelse - imageDict exch - load exec - imageDict/DataSource origDataSource put - imageDict/MultipleDataSources origMultipleDataSources put - imageDict/Decode origDecode put - end -}bdf -/write_image_file -{ - begin - {(AGMUTIL_imagefile)(w+)file}stopped{ - false - }{ - Adobe_AGM_Utils/AGMUTIL_imagefile xddf - 2 dict begin - /imbufLen Width BitsPerComponent mul 7 add 8 idiv def - MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ - /imbuf imbufLen string def - }if - 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ - pop - MultipleDataSources{ - 0 1 DataSource length 1 sub{ - DataSource type dup - /arraytype eq{ - pop DataSource exch gx - }{ - /filetype eq{ - DataSource exch get imbuf readstring pop - }{ - DataSource exch get - }ifelse - }ifelse - AGMUTIL_imagefile exch writestring - }for - }{ - DataSource type dup - /arraytype eq{ - pop DataSource exec - }{ - /filetype eq{ - DataSource imbuf readstring pop - }{ - DataSource - }ifelse - }ifelse - AGMUTIL_imagefile exch writestring - }ifelse - }for - end - true - }ifelse - end -}bdf -/close_image_file -{ - AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile -}def -statusdict/product known userdict/AGMP_current_show known not and{ - /pstr statusdict/product get def - pstr(HP LaserJet 2200)eq - pstr(HP LaserJet 4000 Series)eq or - pstr(HP LaserJet 4050 Series )eq or - pstr(HP LaserJet 8000 Series)eq or - pstr(HP LaserJet 8100 Series)eq or - pstr(HP LaserJet 8150 Series)eq or - pstr(HP LaserJet 5000 Series)eq or - pstr(HP LaserJet 5100 Series)eq or - pstr(HP Color LaserJet 4500)eq or - pstr(HP Color LaserJet 4600)eq or - pstr(HP LaserJet 5Si)eq or - pstr(HP LaserJet 1200 Series)eq or - pstr(HP LaserJet 1300 Series)eq or - pstr(HP LaserJet 4100 Series)eq or - { - userdict/AGMP_current_show/show load put - userdict/show{ - currentcolorspace 0 get - /Pattern eq - {false charpath f} - {AGMP_current_show}ifelse - }put - }if - currentdict/pstr undef -}if -/consumeimagedata -{ - begin - AGMIMG_init_common - currentdict/MultipleDataSources known not - {/MultipleDataSources false def}if - MultipleDataSources - { - DataSource 0 get type - dup/filetype eq - { - 1 dict begin - /flushbuffer Width cvi string def - 1 1 Height cvi - { - pop - 0 1 DataSource length 1 sub - { - DataSource exch get - flushbuffer readstring pop pop - }for - }for - end - }if - dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and - { - Width Height mul cvi - { - 0 1 DataSource length 1 sub - {dup DataSource exch gx length exch 0 ne{pop}if}for - dup 0 eq - {pop exit}if - sub dup 0 le - {exit}if - }loop - pop - }if - } - { - /DataSource load type - dup/filetype eq - { - 1 dict begin - /flushbuffer Width Decode length 2 idiv mul cvi string def - 1 1 Height{pop DataSource flushbuffer readstring pop pop}for - end - }if - dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and - { - Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul - { - DataSource length dup 0 eq - {pop exit}if - sub dup 0 le - {exit}if - }loop - pop - }if - }ifelse - end -}bdf -/addprocs -{ - 2{/exec load}repeat - 3 1 roll - [5 1 roll]bind cvx -}def -/modify_halftone_xfer -{ - currenthalftone dup length dict copy begin - currentdict 2 index known{ - 1 index load dup length dict copy begin - currentdict/TransferFunction known{ - /TransferFunction load - }{ - currenttransfer - }ifelse - addprocs/TransferFunction xdf - currentdict end def - currentdict end sethalftone - }{ - currentdict/TransferFunction known{ - /TransferFunction load - }{ - currenttransfer - }ifelse - addprocs/TransferFunction xdf - currentdict end sethalftone - pop - }ifelse -}def -/clonearray -{ - dup xcheck exch - dup length array exch - Adobe_AGM_Core/AGMCORE_tmp -1 ddf - { - Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf - dup type/dicttype eq - { - Adobe_AGM_Core/AGMCORE_tmp get - exch - clonedict - Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf - }if - dup type/arraytype eq - { - Adobe_AGM_Core/AGMCORE_tmp get exch - clonearray - Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf - }if - exch dup - Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put - }forall - exch{cvx}if -}bdf -/clonedict -{ - dup length dict - begin - { - dup type/dicttype eq - {clonedict}if - dup type/arraytype eq - {clonearray}if - def - }forall - currentdict - end -}bdf -/DeviceN_PS2 -{ - /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and -}bdf -/Indexed_DeviceN -{ - /indexed_colorspace_dict AGMCORE_gget dup null ne{ - dup/CSDBase known{ - /CSDBase get/CSD get_res/Names known - }{ - pop false - }ifelse - }{ - pop false - }ifelse -}bdf -/DeviceN_NoneName -{ - /Names where{ - pop - false Names - { - (None)eq or - }forall - }{ - false - }ifelse -}bdf -/DeviceN_PS2_inRip_seps -{ - /AGMCORE_in_rip_sep where - { - pop dup type dup/arraytype eq exch/packedarraytype eq or - { - dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and - { - /currentcolorspace exch AGMCORE_gput - false - }{ - true - }ifelse - }{ - true - }ifelse - }{ - true - }ifelse -}bdf -/base_colorspace_type -{ - dup type/arraytype eq{0 get}if -}bdf -/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse -{ - /pdfmark_5{cleartomark}bind def -}{ - /pdfmark_5{pdfmark}bind def -}ifelse -/ReadBypdfmark_5 -{ - currentfile exch 0 exch/SubFileDecode filter - /currentdistillerparams where - {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse - {flushfile cleartomark} - {/PUT pdfmark}ifelse -}bdf -/ReadBypdfmark_5_string -{ - 2 dict begin - /makerString exch def string/tmpString exch def - { - currentfile tmpString readline not{pop exit}if - makerString anchorsearch - { - pop pop cleartomark exit - }{ - 3 copy/PUT pdfmark_5 pop 2 copy(\n)/PUT pdfmark_5 - }ifelse - }loop - end -}bdf -/xpdfm -{ - { - dup 0 get/Label eq - { - aload length[exch 1 add 1 roll/PAGELABEL - }{ - aload pop - [{ThisPage}<<5 -2 roll>>/PUT - }ifelse - pdfmark_5 - }forall -}bdf -/lmt{ - dup 2 index le{exch}if pop dup 2 index ge{exch}if pop -}bdf -/int{ - dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul exch pop add exch pop -}bdf -/ds{ - Adobe_AGM_Utils begin -}bdf -/dt{ - currentdict Adobe_AGM_Utils eq{ - end - }if -}bdf -systemdict/setpacking known -{setpacking}if -%%EndResource -%%BeginResource: procset Adobe_AGM_Core 2.0 0 -%%Version: 2.0 0 -%%Copyright: Copyright(C)1997-2007 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{ - currentpacking - true setpacking -}if -userdict/Adobe_AGM_Core 209 dict dup begin put -/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def -/AGMCORE_str256 256 string def -/AGMCORE_save nd -/AGMCORE_graphicsave nd -/AGMCORE_c 0 def -/AGMCORE_m 0 def -/AGMCORE_y 0 def -/AGMCORE_k 0 def -/AGMCORE_cmykbuf 4 array def -/AGMCORE_screen[currentscreen]cvx def -/AGMCORE_tmp 0 def -/AGMCORE_&setgray nd -/AGMCORE_&setcolor nd -/AGMCORE_&setcolorspace nd -/AGMCORE_&setcmykcolor nd -/AGMCORE_cyan_plate nd -/AGMCORE_magenta_plate nd -/AGMCORE_yellow_plate nd -/AGMCORE_black_plate nd -/AGMCORE_plate_ndx nd -/AGMCORE_get_ink_data nd -/AGMCORE_is_cmyk_sep nd -/AGMCORE_host_sep nd -/AGMCORE_avoid_L2_sep_space nd -/AGMCORE_distilling nd -/AGMCORE_composite_job nd -/AGMCORE_producing_seps nd -/AGMCORE_ps_level -1 def -/AGMCORE_ps_version -1 def -/AGMCORE_environ_ok nd -/AGMCORE_CSD_cache 0 dict def -/AGMCORE_currentoverprint false def -/AGMCORE_deltaX nd -/AGMCORE_deltaY nd -/AGMCORE_name nd -/AGMCORE_sep_special nd -/AGMCORE_err_strings 4 dict def -/AGMCORE_cur_err nd -/AGMCORE_current_spot_alias false def -/AGMCORE_inverting false def -/AGMCORE_feature_dictCount nd -/AGMCORE_feature_opCount nd -/AGMCORE_feature_ctm nd -/AGMCORE_ConvertToProcess false def -/AGMCORE_Default_CTM matrix def -/AGMCORE_Default_PageSize nd -/AGMCORE_Default_flatness nd -/AGMCORE_currentbg nd -/AGMCORE_currentucr nd -/AGMCORE_pattern_paint_type 0 def -/knockout_unitsq nd -currentglobal true setglobal -[/CSA/Gradient/Procedure] -{ - /Generic/Category findresource dup length dict copy/Category defineresource pop -}forall -setglobal -/AGMCORE_key_known -{ - where{ - /Adobe_AGM_Core_Id known - }{ - false - }ifelse -}ndf -/flushinput -{ - save - 2 dict begin - /CompareBuffer 3 -1 roll def - /readbuffer 256 string def - mark - { - currentfile readbuffer{readline}stopped - {cleartomark mark} - { - not - {pop exit} - if - CompareBuffer eq - {exit} - if - }ifelse - }loop - cleartomark - end - restore -}bdf -/getspotfunction -{ - AGMCORE_screen exch pop exch pop - dup type/dicttype eq{ - dup/HalftoneType get 1 eq{ - /SpotFunction get - }{ - dup/HalftoneType get 2 eq{ - /GraySpotFunction get - }{ - pop - { - abs exch abs 2 copy add 1 gt{ - 1 sub dup mul exch 1 sub dup mul add 1 sub - }{ - dup mul exch dup mul add 1 exch sub - }ifelse - }bind - }ifelse - }ifelse - }if -}def -/np -{newpath}bdf -/clp_npth -{clip np}def -/eoclp_npth -{eoclip np}def -/npth_clp -{np clip}def -/graphic_setup -{ - /AGMCORE_graphicsave save store - concat - 0 setgray - 0 setlinecap - 0 setlinejoin - 1 setlinewidth - []0 setdash - 10 setmiterlimit - np - false setoverprint - false setstrokeadjust - //Adobe_AGM_Core/spot_alias gx - /Adobe_AGM_Image where{ - pop - Adobe_AGM_Image/spot_alias 2 copy known{ - gx - }{ - pop pop - }ifelse - }if - /sep_colorspace_dict null AGMCORE_gput - 100 dict begin - /dictstackcount countdictstack def - /showpage{}def - mark -}def -/graphic_cleanup -{ - cleartomark - dictstackcount 1 countdictstack 1 sub{end}for - end - AGMCORE_graphicsave restore -}def -/compose_error_msg -{ - grestoreall initgraphics - /Helvetica findfont 10 scalefont setfont - /AGMCORE_deltaY 100 def - /AGMCORE_deltaX 310 def - clippath pathbbox np pop pop 36 add exch 36 add exch moveto - 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto - 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath - 0 AGMCORE_&setgray - gsave 1 AGMCORE_&setgray fill grestore - 1 setlinewidth gsave stroke grestore - currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto - /AGMCORE_deltaY 12 def - /AGMCORE_tmp 0 def - AGMCORE_err_strings exch get - { - dup 32 eq - { - pop - AGMCORE_str256 0 AGMCORE_tmp getinterval - stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt - { - currentpoint AGMCORE_deltaY sub exch pop - clippath pathbbox pop pop pop 44 add exch moveto - }if - AGMCORE_str256 0 AGMCORE_tmp getinterval show( )show - 0 1 AGMCORE_str256 length 1 sub - { - AGMCORE_str256 exch 0 put - }for - /AGMCORE_tmp 0 def - }{ - AGMCORE_str256 exch AGMCORE_tmp xpt - /AGMCORE_tmp AGMCORE_tmp 1 add def - }ifelse - }forall -}bdf -/AGMCORE_CMYKDeviceNColorspaces[ - [/Separation/None/DeviceCMYK{0 0 0}] - [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] - [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] - [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] - [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] - [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] - [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] - [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] - [/Separation(Cyan)/DeviceCMYK{0 0 0}] - [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] - [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] - [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] - [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] - [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] - [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] - [/DeviceCMYK] -]def -/ds{ - Adobe_AGM_Core begin - /currentdistillerparams where - { - pop currentdistillerparams/CoreDistVersion get 5000 lt - {<>setdistillerparams}if - }if - /AGMCORE_ps_version xdf - /AGMCORE_ps_level xdf - errordict/AGM_handleerror known not{ - errordict/AGM_handleerror errordict/handleerror get put - errordict/handleerror{ - Adobe_AGM_Core begin - $error/newerror get AGMCORE_cur_err null ne and{ - $error/newerror false put - AGMCORE_cur_err compose_error_msg - }if - $error/newerror true put - end - errordict/AGM_handleerror get exec - }bind put - }if - /AGMCORE_environ_ok - ps_level AGMCORE_ps_level ge - ps_version AGMCORE_ps_version ge and - AGMCORE_ps_level -1 eq or - def - AGMCORE_environ_ok not - {/AGMCORE_cur_err/AGMCORE_bad_environ def}if - /AGMCORE_&setgray systemdict/setgray get def - level2{ - /AGMCORE_&setcolor systemdict/setcolor get def - /AGMCORE_&setcolorspace systemdict/setcolorspace get def - }if - /AGMCORE_currentbg currentblackgeneration def - /AGMCORE_currentucr currentundercolorremoval def - /AGMCORE_Default_flatness currentflat def - /AGMCORE_distilling - /product where{ - pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and - }{ - false - }ifelse - def - /AGMCORE_GSTATE AGMCORE_key_known not{ - /AGMCORE_GSTATE 21 dict def - /AGMCORE_tmpmatrix matrix def - /AGMCORE_gstack 32 array def - /AGMCORE_gstackptr 0 def - /AGMCORE_gstacksaveptr 0 def - /AGMCORE_gstackframekeys 14 def - /AGMCORE_&gsave/gsave ldf - /AGMCORE_&grestore/grestore ldf - /AGMCORE_&grestoreall/grestoreall ldf - /AGMCORE_&save/save ldf - /AGMCORE_&setoverprint/setoverprint ldf - /AGMCORE_gdictcopy{ - begin - {def}forall - end - }def - /AGMCORE_gput{ - AGMCORE_gstack AGMCORE_gstackptr get - 3 1 roll - put - }def - /AGMCORE_gget{ - AGMCORE_gstack AGMCORE_gstackptr get - exch - get - }def - /gsave{ - AGMCORE_&gsave - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 32 ge{limitcheck}if - /AGMCORE_gstackptr exch store - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - /grestore{ - AGMCORE_&grestore - AGMCORE_gstackptr 1 sub - dup AGMCORE_gstacksaveptr lt{1 add}if - dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known - {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse - /AGMCORE_gstackptr exch store - }def - /grestoreall{ - AGMCORE_&grestoreall - /AGMCORE_gstackptr AGMCORE_gstacksaveptr store - }def - /save{ - AGMCORE_&save - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 32 ge{limitcheck}if - /AGMCORE_gstackptr exch store - /AGMCORE_gstacksaveptr AGMCORE_gstackptr store - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - /setoverprint{ - dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint - }def - 0 1 AGMCORE_gstack length 1 sub{ - AGMCORE_gstack exch AGMCORE_gstackframekeys dict put - }for - }if - level3/AGMCORE_&sysshfill AGMCORE_key_known not and - { - /AGMCORE_&sysshfill systemdict/shfill get def - /AGMCORE_&sysmakepattern systemdict/makepattern get def - /AGMCORE_&usrmakepattern/makepattern load def - }if - /currentcmykcolor[0 0 0 0]AGMCORE_gput - /currentstrokeadjust false AGMCORE_gput - /currentcolorspace[/DeviceGray]AGMCORE_gput - /sep_tint 0 AGMCORE_gput - /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput - /sep_colorspace_dict null AGMCORE_gput - /devicen_colorspace_dict null AGMCORE_gput - /indexed_colorspace_dict null AGMCORE_gput - /currentcolor_intent()AGMCORE_gput - /customcolor_tint 1 AGMCORE_gput - /absolute_colorimetric_crd null AGMCORE_gput - /relative_colorimetric_crd null AGMCORE_gput - /saturation_crd null AGMCORE_gput - /perceptual_crd null AGMCORE_gput - currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf - cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf - << - /MaxPatternItem currentsystemparams/MaxPatternCache get - >> - setuserparams - end -}def -/ps -{ - /setcmykcolor where{ - pop - Adobe_AGM_Core/AGMCORE_&setcmykcolor/setcmykcolor load put - }if - Adobe_AGM_Core begin - /setcmykcolor - { - 4 copy AGMCORE_cmykbuf astore/currentcmykcolor exch AGMCORE_gput - 1 sub 4 1 roll - 3{ - 3 index add neg dup 0 lt{ - pop 0 - }if - 3 1 roll - }repeat - setrgbcolor pop - }ndf - /currentcmykcolor - { - /currentcmykcolor AGMCORE_gget aload pop - }ndf - /setoverprint - {pop}ndf - /currentoverprint - {false}ndf - /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def - /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def - /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def - /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def - /AGMCORE_plate_ndx - AGMCORE_cyan_plate{ - 0 - }{ - AGMCORE_magenta_plate{ - 1 - }{ - AGMCORE_yellow_plate{ - 2 - }{ - AGMCORE_black_plate{ - 3 - }{ - 4 - }ifelse - }ifelse - }ifelse - }ifelse - def - /AGMCORE_have_reported_unsupported_color_space false def - /AGMCORE_report_unsupported_color_space - { - AGMCORE_have_reported_unsupported_color_space false eq - { - (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== - Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf - }if - }def - /AGMCORE_composite_job - AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def - /AGMCORE_in_rip_sep - /AGMCORE_in_rip_sep where{ - pop AGMCORE_in_rip_sep - }{ - AGMCORE_distilling - { - false - }{ - userdict/Adobe_AGM_OnHost_Seps known{ - false - }{ - level2{ - currentpagedevice/Separations 2 copy known{ - get - }{ - pop pop false - }ifelse - }{ - false - }ifelse - }ifelse - }ifelse - }ifelse - def - /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def - /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def - /AGM_preserve_spots - /AGM_preserve_spots where{ - pop AGM_preserve_spots - }{ - AGMCORE_distilling AGMCORE_producing_seps or - }ifelse - def - /AGM_is_distiller_preserving_spotimages - { - currentdistillerparams/PreserveOverprintSettings known - { - currentdistillerparams/PreserveOverprintSettings get - { - currentdistillerparams/ColorConversionStrategy known - { - currentdistillerparams/ColorConversionStrategy get - /sRGB ne - }{ - true - }ifelse - }{ - false - }ifelse - }{ - false - }ifelse - }def - /convert_spot_to_process where{pop}{ - /convert_spot_to_process - { - //Adobe_AGM_Core begin - dup map_alias{ - /Name get exch pop - }if - dup dup(None)eq exch(All)eq or - { - pop false - }{ - AGMCORE_host_sep - { - gsave - 1 0 0 0 setcmykcolor currentgray 1 exch sub - 0 1 0 0 setcmykcolor currentgray 1 exch sub - 0 0 1 0 setcmykcolor currentgray 1 exch sub - 0 0 0 1 setcmykcolor currentgray 1 exch sub - add add add 0 eq - { - pop false - }{ - false setoverprint - current_spot_alias false set_spot_alias - 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor - set_spot_alias - currentgray 1 ne - }ifelse - grestore - }{ - AGMCORE_distilling - { - pop AGM_is_distiller_preserving_spotimages not - }{ - //Adobe_AGM_Core/AGMCORE_name xddf - false - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq - AGMUTIL_cpd/OverrideSeparations known and - { - AGMUTIL_cpd/OverrideSeparations get - { - /HqnSpots/ProcSet resourcestatus - { - pop pop pop true - }if - }if - }if - { - AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not - }{ - gsave - [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace - false - AGMUTIL_cpd/SeparationColorNames 2 copy known - { - get - {AGMCORE_name eq or}forall - not - }{ - pop pop pop true - }ifelse - grestore - }ifelse - }ifelse - }ifelse - }ifelse - end - }def - }ifelse - /convert_to_process where{pop}{ - /convert_to_process - { - dup length 0 eq - { - pop false - }{ - AGMCORE_host_sep - { - dup true exch - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - dup(Black)eq 3 -1 roll or - {pop} - {convert_spot_to_process and}ifelse - } - forall - { - true exch - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - (Black)eq or and - }forall - not - }{pop false}ifelse - }{ - false exch - { - /PhotoshopDuotoneList where{pop false}{true}ifelse - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - dup(Black)eq 3 -1 roll or - {pop} - {convert_spot_to_process or}ifelse - } - { - convert_spot_to_process or - } - ifelse - } - forall - }ifelse - }ifelse - }def - }ifelse - /AGMCORE_avoid_L2_sep_space - version cvr 2012 lt - level2 and - AGMCORE_producing_seps not and - def - /AGMCORE_is_cmyk_sep - AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or - def - /AGM_avoid_0_cmyk where{ - pop AGM_avoid_0_cmyk - }{ - AGM_preserve_spots - userdict/Adobe_AGM_OnHost_Seps known - userdict/Adobe_AGM_InRip_Seps known or - not and - }ifelse - { - /setcmykcolor[ - { - 4 copy add add add 0 eq currentoverprint and{ - pop 0.0005 - }if - }/exec cvx - /AGMCORE_&setcmykcolor load dup type/operatortype ne{ - /exec cvx - }if - ]cvx def - }if - /AGMCORE_IsSeparationAProcessColor - { - dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or - }def - AGMCORE_host_sep{ - /setcolortransfer - { - AGMCORE_cyan_plate{ - pop pop pop - }{ - AGMCORE_magenta_plate{ - 4 3 roll pop pop pop - }{ - AGMCORE_yellow_plate{ - 4 2 roll pop pop pop - }{ - 4 1 roll pop pop pop - }ifelse - }ifelse - }ifelse - settransfer - } - def - /AGMCORE_get_ink_data - AGMCORE_cyan_plate{ - {pop pop pop} - }{ - AGMCORE_magenta_plate{ - {4 3 roll pop pop pop} - }{ - AGMCORE_yellow_plate{ - {4 2 roll pop pop pop} - }{ - {4 1 roll pop pop pop} - }ifelse - }ifelse - }ifelse - def - /AGMCORE_RemoveProcessColorNames - { - 1 dict begin - /filtername - { - dup/Cyan eq 1 index(Cyan)eq or - {pop(_cyan_)}if - dup/Magenta eq 1 index(Magenta)eq or - {pop(_magenta_)}if - dup/Yellow eq 1 index(Yellow)eq or - {pop(_yellow_)}if - dup/Black eq 1 index(Black)eq or - {pop(_black_)}if - }def - dup type/arraytype eq - {[exch{filtername}forall]} - {filtername}ifelse - end - }def - level3{ - /AGMCORE_IsCurrentColor - { - dup AGMCORE_IsSeparationAProcessColor - { - AGMCORE_plate_ndx 0 eq - {dup(Cyan)eq exch/Cyan eq or}if - AGMCORE_plate_ndx 1 eq - {dup(Magenta)eq exch/Magenta eq or}if - AGMCORE_plate_ndx 2 eq - {dup(Yellow)eq exch/Yellow eq or}if - AGMCORE_plate_ndx 3 eq - {dup(Black)eq exch/Black eq or}if - AGMCORE_plate_ndx 4 eq - {pop false}if - }{ - gsave - false setoverprint - current_spot_alias false set_spot_alias - 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor - set_spot_alias - currentgray 1 ne - grestore - }ifelse - }def - /AGMCORE_filter_functiondatasource - { - 5 dict begin - /data_in xdf - data_in type/stringtype eq - { - /ncomp xdf - /comp xdf - /string_out data_in length ncomp idiv string def - 0 ncomp data_in length 1 sub - { - string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put - }for - string_out - }{ - string/string_in xdf - /string_out 1 string def - /component xdf - [ - data_in string_in/readstring cvx - [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx - [/pop cvx()]cvx/ifelse cvx - ]cvx/ReusableStreamDecode filter - }ifelse - end - }def - /AGMCORE_separateShadingFunction - { - 2 dict begin - /paint? xdf - /channel xdf - dup type/dicttype eq - { - begin - FunctionType 0 eq - { - /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def - currentdict/Decode known - {/Decode Decode channel 2 mul 2 getinterval def}if - paint? not - {/Decode[1 1]def}if - }if - FunctionType 2 eq - { - paint? - { - /C0[C0 channel get 1 exch sub]def - /C1[C1 channel get 1 exch sub]def - }{ - /C0[1]def - /C1[1]def - }ifelse - }if - FunctionType 3 eq - { - /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def - }if - currentdict/Range known - {/Range[0 1]def}if - currentdict - end}{ - channel get 0 paint? AGMCORE_separateShadingFunction - }ifelse - end - }def - /AGMCORE_separateShading - { - 3 -1 roll begin - currentdict/Function known - { - currentdict/Background known - {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if - Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf - /ColorSpace[/DeviceGray]def - }{ - ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def - }{ - ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put - }ifelse - ColorSpace 0 get/Separation eq - { - { - [1/exch cvx/sub cvx]cvx - }{ - [/pop cvx 1]cvx - }ifelse - ColorSpace 3 3 -1 roll put - pop - }{ - { - [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx - }{ - pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx - }ifelse - ColorSpace 3 3 -1 roll bind put - }ifelse - ColorSpace 2/DeviceGray put - }ifelse - end - }def - /AGMCORE_separateShadingDict - { - dup/ColorSpace get - dup type/arraytype ne - {[exch]}if - dup 0 get/DeviceCMYK eq - { - exch begin - currentdict - AGMCORE_cyan_plate - {0 true}if - AGMCORE_magenta_plate - {1 true}if - AGMCORE_yellow_plate - {2 true}if - AGMCORE_black_plate - {3 true}if - AGMCORE_plate_ndx 4 eq - {0 false}if - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - currentdict - end exch - }if - dup 0 get/Separation eq - { - exch begin - ColorSpace 1 get dup/None ne exch/All ne and - { - ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and - { - ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace - [ - /Separation - ColorSpace 1 get - /DeviceGray - [ - ColorSpace 3 get/exec cvx - 4 AGMCORE_plate_ndx sub -1/roll cvx - 4 1/roll cvx - 3[/pop cvx]cvx/repeat cvx - 1/exch cvx/sub cvx - ]cvx - ]def - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - currentdict 0 false AGMCORE_separateShading - }if - }ifelse - }{ - currentdict ColorSpace 1 get AGMCORE_IsCurrentColor - 0 exch - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - }ifelse - }if - currentdict - end exch - }if - dup 0 get/DeviceN eq - { - exch begin - ColorSpace 1 get convert_to_process - { - ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace - [ - /DeviceN - ColorSpace 1 get - /DeviceGray - [ - ColorSpace 3 get/exec cvx - 4 AGMCORE_plate_ndx sub -1/roll cvx - 4 1/roll cvx - 3[/pop cvx]cvx/repeat cvx - 1/exch cvx/sub cvx - ]cvx - ]def - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - currentdict 0 false AGMCORE_separateShading - /ColorSpace[/DeviceGray]def - }if - }ifelse - }{ - currentdict - false -1 ColorSpace 1 get - { - AGMCORE_IsCurrentColor - { - 1 add - exch pop true exch exit - }if - 1 add - }forall - exch - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - }ifelse - currentdict - end exch - }if - dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not - { - exch begin - ColorSpace dup type/arraytype eq - {0 get}if - /DeviceGray ne - { - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - ColorSpace 0 get/CIEBasedA eq - { - /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def - }if - ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or - { - /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def - }if - ColorSpace 0 get/CIEBasedDEFG eq - { - /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def - }if - currentdict 0 false AGMCORE_separateShading - }if - }if - currentdict - end exch - }if - pop - dup/AGMCORE_ignoreshade known - { - begin - /ColorSpace[/Separation(None)/DeviceGray{}]def - currentdict end - }if - }def - /shfill - { - AGMCORE_separateShadingDict - dup/AGMCORE_ignoreshade known - {pop} - {AGMCORE_&sysshfill}ifelse - }def - /makepattern - { - exch - dup/PatternType get 2 eq - { - clonedict - begin - /Shading Shading AGMCORE_separateShadingDict def - Shading/AGMCORE_ignoreshade known - currentdict end exch - {pop<>}if - exch AGMCORE_&sysmakepattern - }{ - exch AGMCORE_&usrmakepattern - }ifelse - }def - }if - }if - AGMCORE_in_rip_sep{ - /setcustomcolor - { - exch aload pop - dup 7 1 roll inRip_spot_has_ink not { - 4{4 index mul 4 1 roll} - repeat - /DeviceCMYK setcolorspace - 6 -2 roll pop pop - }{ - //Adobe_AGM_Core begin - /AGMCORE_k xdf/AGMCORE_y xdf/AGMCORE_m xdf/AGMCORE_c xdf - end - [/Separation 4 -1 roll/DeviceCMYK - {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} - ] - setcolorspace - }ifelse - setcolor - }ndf - /setseparationgray - { - [/Separation(All)/DeviceGray{}]setcolorspace_opt - 1 exch sub setcolor - }ndf - }{ - /setseparationgray - { - AGMCORE_&setgray - }ndf - }ifelse - /findcmykcustomcolor - { - 5 makereadonlyarray - }ndf - /setcustomcolor - { - exch aload pop pop - 4{4 index mul 4 1 roll}repeat - setcmykcolor pop - }ndf - /has_color - /colorimage where{ - AGMCORE_producing_seps{ - pop true - }{ - systemdict eq - }ifelse - }{ - false - }ifelse - def - /map_index - { - 1 index mul exch getinterval{255 div}forall - }bdf - /map_indexed_devn - { - Lookup Names length 3 -1 roll cvi map_index - }bdf - /n_color_components - { - base_colorspace_type - dup/DeviceGray eq{ - pop 1 - }{ - /DeviceCMYK eq{ - 4 - }{ - 3 - }ifelse - }ifelse - }bdf - level2{ - /mo/moveto ldf - /li/lineto ldf - /cv/curveto ldf - /knockout_unitsq - { - 1 setgray - 0 0 1 1 rectfill - }def - level2/setcolorspace AGMCORE_key_known not and{ - /AGMCORE_&&&setcolorspace/setcolorspace ldf - /AGMCORE_ReplaceMappedColor - { - dup type dup/arraytype eq exch/packedarraytype eq or - { - /AGMCORE_SpotAliasAry2 where{ - begin - dup 0 get dup/Separation eq - { - pop - dup length array copy - dup dup 1 get - current_spot_alias - { - dup map_alias - { - false set_spot_alias - dup 1 exch setsepcolorspace - true set_spot_alias - begin - /sep_colorspace_dict currentdict AGMCORE_gput - pop pop pop - [ - /Separation Name - CSA map_csa - MappedCSA - /sep_colorspace_proc load - ] - dup Name - end - }if - }if - map_reserved_ink_name 1 xpt - }{ - /DeviceN eq - { - dup length array copy - dup dup 1 get[ - exch{ - current_spot_alias{ - dup map_alias{ - /Name get exch pop - }if - }if - map_reserved_ink_name - }forall - ]1 xpt - }if - }ifelse - end - }if - }if - }def - /setcolorspace - { - dup type dup/arraytype eq exch/packedarraytype eq or - { - dup 0 get/Indexed eq - { - AGMCORE_distilling - { - /PhotoshopDuotoneList where - { - pop false - }{ - true - }ifelse - }{ - true - }ifelse - { - aload pop 3 -1 roll - AGMCORE_ReplaceMappedColor - 3 1 roll 4 array astore - }if - }{ - AGMCORE_ReplaceMappedColor - }ifelse - }if - DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if - }def - }if - }{ - /adj - { - currentstrokeadjust{ - transform - 0.25 sub round 0.25 add exch - 0.25 sub round 0.25 add exch - itransform - }if - }def - /mo{ - adj moveto - }def - /li{ - adj lineto - }def - /cv{ - 6 2 roll adj - 6 2 roll adj - 6 2 roll adj curveto - }def - /knockout_unitsq - { - 1 setgray - 8 8 1[8 0 0 8 0 0]{}image - }def - /currentstrokeadjust{ - /currentstrokeadjust AGMCORE_gget - }def - /setstrokeadjust{ - /currentstrokeadjust exch AGMCORE_gput - }def - /setcolorspace - { - /currentcolorspace exch AGMCORE_gput - }def - /currentcolorspace - { - /currentcolorspace AGMCORE_gget - }def - /setcolor_devicecolor - { - base_colorspace_type - dup/DeviceGray eq{ - pop setgray - }{ - /DeviceCMYK eq{ - setcmykcolor - }{ - setrgbcolor - }ifelse - }ifelse - }def - /setcolor - { - currentcolorspace 0 get - dup/DeviceGray ne{ - dup/DeviceCMYK ne{ - dup/DeviceRGB ne{ - dup/Separation eq{ - pop - currentcolorspace 3 gx - currentcolorspace 2 get - }{ - dup/Indexed eq{ - pop - currentcolorspace 3 get dup type/stringtype eq{ - currentcolorspace 1 get n_color_components - 3 -1 roll map_index - }{ - exec - }ifelse - currentcolorspace 1 get - }{ - /AGMCORE_cur_err/AGMCORE_invalid_color_space def - AGMCORE_invalid_color_space - }ifelse - }ifelse - }if - }if - }if - setcolor_devicecolor - }def - }ifelse - /sop/setoverprint ldf - /lw/setlinewidth ldf - /lc/setlinecap ldf - /lj/setlinejoin ldf - /ml/setmiterlimit ldf - /dsh/setdash ldf - /sadj/setstrokeadjust ldf - /gry/setgray ldf - /rgb/setrgbcolor ldf - /cmyk[ - /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx - /setcmykcolor load dup type/operatortype ne{/exec cvx}if - ]cvx bdf - level3 AGMCORE_host_sep not and{ - /nzopmsc{ - 6 dict begin - /kk exch def - /yy exch def - /mm exch def - /cc exch def - /sum 0 def - cc 0 ne{/sum sum 2#1000 or def cc}if - mm 0 ne{/sum sum 2#0100 or def mm}if - yy 0 ne{/sum sum 2#0010 or def yy}if - kk 0 ne{/sum sum 2#0001 or def kk}if - AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace - sum 0 eq{0}if - end - setcolor - }bdf - }{ - /nzopmsc/cmyk ldf - }ifelse - /sep/setsepcolor ldf - /devn/setdevicencolor ldf - /idx/setindexedcolor ldf - /colr/setcolor ldf - /csacrd/set_csa_crd ldf - /sepcs/setsepcolorspace ldf - /devncs/setdevicencolorspace ldf - /idxcs/setindexedcolorspace ldf - /cp/closepath ldf - /clp/clp_npth ldf - /eclp/eoclp_npth ldf - /f/fill ldf - /ef/eofill ldf - /@/stroke ldf - /nclp/npth_clp ldf - /gset/graphic_setup ldf - /gcln/graphic_cleanup ldf - /ct/concat ldf - /cf/currentfile ldf - /fl/filter ldf - /rs/readstring ldf - /AGMCORE_def_ht currenthalftone def - /clonedict Adobe_AGM_Utils begin/clonedict load end def - /clonearray Adobe_AGM_Utils begin/clonearray load end def - currentdict{ - dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ - bind - }if - def - }forall - /getrampcolor - { - /indx exch def - 0 1 NumComp 1 sub - { - dup - Samples exch get - dup type/stringtype eq{indx get}if - exch - Scaling exch get aload pop - 3 1 roll - mul add - }for - ColorSpaceFamily/Separation eq - {sep} - { - ColorSpaceFamily/DeviceN eq - {devn}{setcolor}ifelse - }ifelse - }bdf - /sssetbackground{ - aload pop - ColorSpaceFamily/Separation eq - {sep} - { - ColorSpaceFamily/DeviceN eq - {devn}{setcolor}ifelse - }ifelse - }bdf - /RadialShade - { - 40 dict begin - /ColorSpaceFamily xdf - /background xdf - /ext1 xdf - /ext0 xdf - /BBox xdf - /r2 xdf - /c2y xdf - /c2x xdf - /r1 xdf - /c1y xdf - /c1x xdf - /rampdict xdf - /setinkoverprint where{pop/setinkoverprint{pop}def}if - gsave - BBox length 0 gt - { - np - BBox 0 get BBox 1 get moveto - BBox 2 get BBox 0 get sub 0 rlineto - 0 BBox 3 get BBox 1 get sub rlineto - BBox 2 get BBox 0 get sub neg 0 rlineto - closepath - clip - np - }if - c1x c2x eq - { - c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse - }{ - /slope c2y c1y sub c2x c1x sub div def - /theta slope 1 atan def - c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if - c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if - }ifelse - gsave - clippath - c1x c1y translate - theta rotate - -90 rotate - {pathbbox}stopped - {0 0 0 0}if - /yMax xdf - /xMax xdf - /yMin xdf - /xMin xdf - grestore - xMax xMin eq yMax yMin eq or - { - grestore - end - }{ - /max{2 copy gt{pop}{exch pop}ifelse}bdf - /min{2 copy lt{pop}{exch pop}ifelse}bdf - rampdict begin - 40 dict begin - background length 0 gt{background sssetbackground gsave clippath fill grestore}if - gsave - c1x c1y translate - theta rotate - -90 rotate - /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def - /c1y 0 def - /c1x 0 def - /c2x 0 def - ext0 - { - 0 getrampcolor - c2y r2 add r1 sub 0.0001 lt - { - c1x c1y r1 360 0 arcn - pathbbox - /aymax exch def - /axmax exch def - /aymin exch def - /axmin exch def - /bxMin xMin axmin min def - /byMin yMin aymin min def - /bxMax xMax axmax max def - /byMax yMax aymax max def - bxMin byMin moveto - bxMax byMin lineto - bxMax byMax lineto - bxMin byMax lineto - bxMin byMin lineto - eofill - }{ - c2y r1 add r2 le - { - c1x c1y r1 0 360 arc - fill - } - { - c2x c2y r2 0 360 arc fill - r1 r2 eq - { - /p1x r1 neg def - /p1y c1y def - /p2x r1 def - /p2y c1y def - p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto - fill - }{ - /AA r2 r1 sub c2y div def - AA -1 eq - {/theta 89.99 def} - {/theta AA 1 AA dup mul sub sqrt div 1 atan def} - ifelse - /SS1 90 theta add dup sin exch cos div def - /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def - /p1y p1x SS1 div neg def - /SS2 90 theta sub dup sin exch cos div def - /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def - /p2y p2x SS2 div neg def - r1 r2 gt - { - /L1maxX p1x yMin p1y sub SS1 div add def - /L2maxX p2x yMin p2y sub SS2 div add def - }{ - /L1maxX 0 def - /L2maxX 0 def - }ifelse - p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto - L1maxX L1maxX p1x sub SS1 mul p1y add lineto - fill - }ifelse - }ifelse - }ifelse - }if - c1x c2x sub dup mul - c1y c2y sub dup mul - add 0.5 exp - 0 dtransform - dup mul exch dup mul add 0.5 exp 72 div - 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 1 index 1 index lt{exch}if pop - /hires xdf - hires mul - /numpix xdf - /numsteps NumSamples def - /rampIndxInc 1 def - /subsampling false def - numpix 0 ne - { - NumSamples numpix div 0.5 gt - { - /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def - /rampIndxInc NumSamples 1 sub numsteps div def - /subsampling true def - }if - }if - /xInc c2x c1x sub numsteps div def - /yInc c2y c1y sub numsteps div def - /rInc r2 r1 sub numsteps div def - /cx c1x def - /cy c1y def - /radius r1 def - np - xInc 0 eq yInc 0 eq rInc 0 eq and and - { - 0 getrampcolor - cx cy radius 0 360 arc - stroke - NumSamples 1 sub getrampcolor - cx cy radius 72 hires div add 0 360 arc - 0 setlinewidth - stroke - }{ - 0 - numsteps - { - dup - subsampling{round cvi}if - getrampcolor - cx cy radius 0 360 arc - /cx cx xInc add def - /cy cy yInc add def - /radius radius rInc add def - cx cy radius 360 0 arcn - eofill - rampIndxInc add - }repeat - pop - }ifelse - ext1 - { - c2y r2 add r1 lt - { - c2x c2y r2 0 360 arc - fill - }{ - c2y r1 add r2 sub 0.0001 le - { - c2x c2y r2 360 0 arcn - pathbbox - /aymax exch def - /axmax exch def - /aymin exch def - /axmin exch def - /bxMin xMin axmin min def - /byMin yMin aymin min def - /bxMax xMax axmax max def - /byMax yMax aymax max def - bxMin byMin moveto - bxMax byMin lineto - bxMax byMax lineto - bxMin byMax lineto - bxMin byMin lineto - eofill - }{ - c2x c2y r2 0 360 arc fill - r1 r2 eq - { - /p1x r2 neg def - /p1y c2y def - /p2x r2 def - /p2y c2y def - p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto - fill - }{ - /AA r2 r1 sub c2y div def - AA -1 eq - {/theta 89.99 def} - {/theta AA 1 AA dup mul sub sqrt div 1 atan def} - ifelse - /SS1 90 theta add dup sin exch cos div def - /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def - /p1y c2y p1x SS1 div sub def - /SS2 90 theta sub dup sin exch cos div def - /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def - /p2y c2y p2x SS2 div sub def - r1 r2 lt - { - /L1maxX p1x yMax p1y sub SS1 div add def - /L2maxX p2x yMax p2y sub SS2 div add def - }{ - /L1maxX 0 def - /L2maxX 0 def - }ifelse - p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto - L1maxX L1maxX p1x sub SS1 mul p1y add lineto - fill - }ifelse - }ifelse - }ifelse - }if - grestore - grestore - end - end - end - }ifelse - }bdf - /GenStrips - { - 40 dict begin - /ColorSpaceFamily xdf - /background xdf - /ext1 xdf - /ext0 xdf - /BBox xdf - /y2 xdf - /x2 xdf - /y1 xdf - /x1 xdf - /rampdict xdf - /setinkoverprint where{pop/setinkoverprint{pop}def}if - gsave - BBox length 0 gt - { - np - BBox 0 get BBox 1 get moveto - BBox 2 get BBox 0 get sub 0 rlineto - 0 BBox 3 get BBox 1 get sub rlineto - BBox 2 get BBox 0 get sub neg 0 rlineto - closepath - clip - np - }if - x1 x2 eq - { - y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse - }{ - /slope y2 y1 sub x2 x1 sub div def - /theta slope 1 atan def - x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if - x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if - } - ifelse - gsave - clippath - x1 y1 translate - theta rotate - {pathbbox}stopped - {0 0 0 0}if - /yMax exch def - /xMax exch def - /yMin exch def - /xMin exch def - grestore - xMax xMin eq yMax yMin eq or - { - grestore - end - }{ - rampdict begin - 20 dict begin - background length 0 gt{background sssetbackground gsave clippath fill grestore}if - gsave - x1 y1 translate - theta rotate - /xStart 0 def - /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def - /ySpan yMax yMin sub def - /numsteps NumSamples def - /rampIndxInc 1 def - /subsampling false def - xStart 0 transform - xEnd 0 transform - 3 -1 roll - sub dup mul - 3 1 roll - sub dup mul - add 0.5 exp 72 div - 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 1 index 1 index lt{exch}if pop - mul - /numpix xdf - numpix 0 ne - { - NumSamples numpix div 0.5 gt - { - /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def - /rampIndxInc NumSamples 1 sub numsteps div def - /subsampling true def - }if - }if - ext0 - { - 0 getrampcolor - xMin xStart lt - { - xMin yMin xMin neg ySpan rectfill - }if - }if - /xInc xEnd xStart sub numsteps div def - /x xStart def - 0 - numsteps - { - dup - subsampling{round cvi}if - getrampcolor - x yMin xInc ySpan rectfill - /x x xInc add def - rampIndxInc add - }repeat - pop - ext1{ - xMax xEnd gt - { - xEnd yMin xMax xEnd sub ySpan rectfill - }if - }if - grestore - grestore - end - end - end - }ifelse - }bdf -}def -/pt -{ - end -}def -/dt{ -}def -/pgsv{ - //Adobe_AGM_Core/AGMCORE_save save put -}def -/pgrs{ - //Adobe_AGM_Core/AGMCORE_save get restore -}def -systemdict/findcolorrendering known{ - /findcolorrendering systemdict/findcolorrendering get def -}if -systemdict/setcolorrendering known{ - /setcolorrendering systemdict/setcolorrendering get def -}if -/test_cmyk_color_plate -{ - gsave - setcmykcolor currentgray 1 ne - grestore -}def -/inRip_spot_has_ink -{ - dup//Adobe_AGM_Core/AGMCORE_name xddf - convert_spot_to_process not -}def -/map255_to_range -{ - 1 index sub - 3 -1 roll 255 div mul add -}def -/set_csa_crd -{ - /sep_colorspace_dict null AGMCORE_gput - begin - CSA get_csa_by_name setcolorspace_opt - set_crd - end -} -def -/map_csa -{ - currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse - {pop}{get_csa_by_name/MappedCSA xdf}ifelse -}def -/setsepcolor -{ - /sep_colorspace_dict AGMCORE_gget begin - dup/sep_tint exch AGMCORE_gput - TintProc - end -}def -/setdevicencolor -{ - /devicen_colorspace_dict AGMCORE_gget begin - Names length copy - Names length 1 sub -1 0 - { - /devicen_tints AGMCORE_gget 3 1 roll xpt - }for - TintProc - end -}def -/sep_colorspace_proc -{ - /AGMCORE_tmp exch store - /sep_colorspace_dict AGMCORE_gget begin - currentdict/Components known{ - Components aload pop - TintMethod/Lab eq{ - 2{AGMCORE_tmp mul NComponents 1 roll}repeat - LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll - }{ - TintMethod/Subtractive eq{ - NComponents{ - AGMCORE_tmp mul NComponents 1 roll - }repeat - }{ - NComponents{ - 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll - }repeat - }ifelse - }ifelse - }{ - ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get - aload pop - }ifelse - end -}def -/sep_colorspace_gray_proc -{ - /AGMCORE_tmp exch store - /sep_colorspace_dict AGMCORE_gget begin - GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get - end -}def -/sep_proc_name -{ - dup 0 get - dup/DeviceRGB eq exch/DeviceCMYK eq or level2 not and has_color not and{ - pop[/DeviceGray] - /sep_colorspace_gray_proc - }{ - /sep_colorspace_proc - }ifelse -}def -/setsepcolorspace -{ - current_spot_alias{ - dup begin - Name map_alias{ - exch pop - }if - end - }if - dup/sep_colorspace_dict exch AGMCORE_gput - begin - CSA map_csa - /AGMCORE_sep_special Name dup()eq exch(All)eq or store - AGMCORE_avoid_L2_sep_space{ - [/Indexed MappedCSA sep_proc_name 255 exch - {255 div}/exec cvx 3 -1 roll[4 1 roll load/exec cvx]cvx - ]setcolorspace_opt - /TintProc{ - 255 mul round cvi setcolor - }bdf - }{ - MappedCSA 0 get/DeviceCMYK eq - currentdict/Components known and - AGMCORE_sep_special not and{ - /TintProc[ - Components aload pop Name findcmykcustomcolor - /exch cvx/setcustomcolor cvx - ]cvx bdf - }{ - AGMCORE_host_sep Name(All)eq and{ - /TintProc{ - 1 exch sub setseparationgray - }bdf - }{ - AGMCORE_in_rip_sep MappedCSA 0 get/DeviceCMYK eq and - AGMCORE_host_sep or - Name()eq and{ - /TintProc[ - MappedCSA sep_proc_name exch 0 get/DeviceCMYK eq{ - cvx/setcmykcolor cvx - }{ - cvx/setgray cvx - }ifelse - ]cvx bdf - }{ - AGMCORE_producing_seps MappedCSA 0 get dup/DeviceCMYK eq exch/DeviceGray eq or and AGMCORE_sep_special not and{ - /TintProc[ - /dup cvx - MappedCSA sep_proc_name cvx exch - 0 get/DeviceGray eq{ - 1/exch cvx/sub cvx 0 0 0 4 -1/roll cvx - }if - /Name cvx/findcmykcustomcolor cvx/exch cvx - AGMCORE_host_sep{ - AGMCORE_is_cmyk_sep - /Name cvx - /AGMCORE_IsSeparationAProcessColor load/exec cvx - /not cvx/and cvx - }{ - Name inRip_spot_has_ink not - }ifelse - [ - /pop cvx 1 - ]cvx/if cvx - /setcustomcolor cvx - ]cvx bdf - }{ - /TintProc{setcolor}bdf - [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - set_crd - setsepcolor - end -}def -/additive_blend -{ - 3 dict begin - /numarrays xdf - /numcolors xdf - 0 1 numcolors 1 sub - { - /c1 xdf - 1 - 0 1 numarrays 1 sub - { - 1 exch add/index cvx - c1/get cvx/mul cvx - }for - numarrays 1 add 1/roll cvx - }for - numarrays[/pop cvx]cvx/repeat cvx - end -}def -/subtractive_blend -{ - 3 dict begin - /numarrays xdf - /numcolors xdf - 0 1 numcolors 1 sub - { - /c1 xdf - 1 1 - 0 1 numarrays 1 sub - { - 1 3 3 -1 roll add/index cvx - c1/get cvx/sub cvx/mul cvx - }for - /sub cvx - numarrays 1 add 1/roll cvx - }for - numarrays[/pop cvx]cvx/repeat cvx - end -}def -/exec_tint_transform -{ - /TintProc[ - /TintTransform cvx/setcolor cvx - ]cvx bdf - MappedCSA setcolorspace_opt -}bdf -/devn_makecustomcolor -{ - 2 dict begin - /names_index xdf - /Names xdf - 1 1 1 1 Names names_index get findcmykcustomcolor - /devicen_tints AGMCORE_gget names_index get setcustomcolor - Names length{pop}repeat - end -}bdf -/setdevicencolorspace -{ - dup/AliasedColorants known{false}{true}ifelse - current_spot_alias and{ - 7 dict begin - /names_index 0 def - dup/names_len exch/Names get length def - /new_names names_len array def - /new_LookupTables names_len array def - /alias_cnt 0 def - dup/Names get - { - dup map_alias{ - exch pop - dup/ColorLookup known{ - dup begin - new_LookupTables names_index ColorLookup put - end - }{ - dup/Components known{ - dup begin - new_LookupTables names_index Components put - end - }{ - dup begin - new_LookupTables names_index[null null null null]put - end - }ifelse - }ifelse - new_names names_index 3 -1 roll/Name get put - /alias_cnt alias_cnt 1 add def - }{ - /name xdf - new_names names_index name put - dup/LookupTables known{ - dup begin - new_LookupTables names_index LookupTables names_index get put - end - }{ - dup begin - new_LookupTables names_index[null null null null]put - end - }ifelse - }ifelse - /names_index names_index 1 add def - }forall - alias_cnt 0 gt{ - /AliasedColorants true def - /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def - 0 1 names_len 1 sub{ - /names_index xdf - new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ - /AliasedColorants false def - exit - }{ - new_LookupTables names_index get 0 get null eq{ - dup/Names get names_index get/name xdf - name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq - or or or not{ - /AliasedColorants false def - exit - }if - }if - }ifelse - }for - lut_entry_len 1 eq{ - /AliasedColorants false def - }if - AliasedColorants{ - dup begin - /Names new_names def - /LookupTables new_LookupTables def - /AliasedColorants true def - /NComponents lut_entry_len def - /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def - /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def - currentdict/TTTablesIdx known not{ - /TTTablesIdx -1 def - }if - end - }if - }if - end - }if - dup/devicen_colorspace_dict exch AGMCORE_gput - begin - currentdict/AliasedColorants known{ - AliasedColorants - }{ - false - }ifelse - dup not{ - CSA map_csa - }if - /TintTransform load type/nulltype eq or{ - /TintTransform[ - 0 1 Names length 1 sub - { - /TTTablesIdx TTTablesIdx 1 add def - dup LookupTables exch get dup 0 get null eq - { - 1 index - Names exch get - dup(Cyan)eq - { - pop exch - LookupTables length exch sub - /index cvx - 0 0 0 - } - { - dup(Magenta)eq - { - pop exch - LookupTables length exch sub - /index cvx - 0/exch cvx 0 0 - }{ - (Yellow)eq - { - exch - LookupTables length exch sub - /index cvx - 0 0 3 -1/roll cvx 0 - }{ - exch - LookupTables length exch sub - /index cvx - 0 0 0 4 -1/roll cvx - }ifelse - }ifelse - }ifelse - 5 -1/roll cvx/astore cvx - }{ - dup length 1 sub - LookupTables length 4 -1 roll sub 1 add - /index cvx/mul cvx/round cvx/cvi cvx/get cvx - }ifelse - Names length TTTablesIdx add 1 add 1/roll cvx - }for - Names length[/pop cvx]cvx/repeat cvx - NComponents Names length - TintMethod/Subtractive eq - { - subtractive_blend - }{ - additive_blend - }ifelse - ]cvx bdf - }if - AGMCORE_host_sep{ - Names convert_to_process{ - exec_tint_transform - } - { - currentdict/AliasedColorants known{ - AliasedColorants not - }{ - false - }ifelse - 5 dict begin - /AvoidAliasedColorants xdf - /painted? false def - /names_index 0 def - /names_len Names length def - AvoidAliasedColorants{ - /currentspotalias current_spot_alias def - false set_spot_alias - }if - Names{ - AGMCORE_is_cmyk_sep{ - dup(Cyan)eq AGMCORE_cyan_plate and exch - dup(Magenta)eq AGMCORE_magenta_plate and exch - dup(Yellow)eq AGMCORE_yellow_plate and exch - (Black)eq AGMCORE_black_plate and or or or{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - Names names_index/devn_makecustomcolor cvx - ]cvx ddf - /painted? true def - }if - painted?{exit}if - }{ - 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - Names names_index/devn_makecustomcolor cvx - ]cvx ddf - /painted? true def - exit - }if - }ifelse - /names_index names_index 1 add def - }forall - AvoidAliasedColorants{ - currentspotalias set_spot_alias - }if - painted?{ - /devicen_colorspace_dict AGMCORE_gget/names_index names_index put - }{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx - 0 0 0 0/setcmykcolor cvx - ]cvx ddf - }ifelse - end - }ifelse - } - { - AGMCORE_in_rip_sep{ - Names convert_to_process not - }{ - level3 - }ifelse - { - [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt - /TintProc level3 not AGMCORE_in_rip_sep and{ - [ - Names/length cvx[/pop cvx]cvx/repeat cvx - ]cvx bdf - }{ - {setcolor}bdf - }ifelse - }{ - exec_tint_transform - }ifelse - }ifelse - set_crd - /AliasedColorants false def - end -}def -/setindexedcolorspace -{ - dup/indexed_colorspace_dict exch AGMCORE_gput - begin - currentdict/CSDBase known{ - CSDBase/CSD get_res begin - currentdict/Names known{ - currentdict devncs - }{ - 1 currentdict sepcs - }ifelse - AGMCORE_host_sep{ - 4 dict begin - /compCnt/Names where{pop Names length}{1}ifelse def - /NewLookup HiVal 1 add string def - 0 1 HiVal{ - /tableIndex xdf - Lookup dup type/stringtype eq{ - compCnt tableIndex map_index - }{ - exec - }ifelse - /Names where{ - pop setdevicencolor - }{ - setsepcolor - }ifelse - currentgray - tableIndex exch - 255 mul cvi - NewLookup 3 1 roll put - }for - [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt - end - }{ - level3 - { - currentdict/Names known{ - [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt - }{ - [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt - }ifelse - }{ - [/Indexed MappedCSA HiVal - [ - currentdict/Names known{ - Lookup dup type/stringtype eq - {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} - {/exec cvx}ifelse - /TintTransform load/exec cvx - }{ - Lookup dup type/stringtype eq - {/exch cvx/get cvx 255/div cvx} - {/exec cvx}ifelse - CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx - }ifelse - ]cvx - ]setcolorspace_opt - }ifelse - }ifelse - end - set_crd - } - { - CSA map_csa - AGMCORE_host_sep level2 not and{ - 0 0 0 0 setcmykcolor - }{ - [/Indexed MappedCSA - level2 not has_color not and{ - dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or{ - pop[/DeviceGray] - }if - HiVal GrayLookup - }{ - HiVal - currentdict/RangeArray known{ - { - /indexed_colorspace_dict AGMCORE_gget begin - Lookup exch - dup HiVal gt{ - pop HiVal - }if - NComponents mul NComponents getinterval{}forall - NComponents 1 sub -1 0{ - RangeArray exch 2 mul 2 getinterval aload pop map255_to_range - NComponents 1 roll - }for - end - }bind - }{ - Lookup - }ifelse - }ifelse - ]setcolorspace_opt - set_crd - }ifelse - }ifelse - end -}def -/setindexedcolor -{ - AGMCORE_host_sep{ - /indexed_colorspace_dict AGMCORE_gget - begin - currentdict/CSDBase known{ - CSDBase/CSD get_res begin - currentdict/Names known{ - map_indexed_devn - devn - } - { - Lookup 1 3 -1 roll map_index - sep - }ifelse - end - }{ - Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll - map_index - MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse - }ifelse - end - }{ - level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ - /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin - map_indexed_devn - devn - end - } - { - setcolor - }ifelse - }ifelse -}def -/ignoreimagedata -{ - currentoverprint not{ - gsave - dup clonedict begin - 1 setgray - /Decode[0 1]def - /DataSourcedef - /MultipleDataSources false def - /BitsPerComponent 8 def - currentdict end - systemdict/image gx - grestore - }if - consumeimagedata -}def -/add_res -{ - dup/CSD eq{ - pop - //Adobe_AGM_Core begin - /AGMCORE_CSD_cache load 3 1 roll put - end - }{ - defineresource pop - }ifelse -}def -/del_res -{ - { - aload pop exch - dup/CSD eq{ - pop - {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall - }{ - exch - {1 index undefineresource}forall - pop - }ifelse - }forall -}def -/get_res -{ - dup/CSD eq{ - pop - dup type dup/nametype eq exch/stringtype eq or{ - AGMCORE_CSD_cache exch get - }if - }{ - findresource - }ifelse -}def -/get_csa_by_name -{ - dup type dup/nametype eq exch/stringtype eq or{ - /CSA get_res - }if -}def -/paintproc_buf_init -{ - /count get 0 0 put -}def -/paintproc_buf_next -{ - dup/count get dup 0 get - dup 3 1 roll - 1 add 0 xpt - get -}def -/cachepaintproc_compress -{ - 5 dict begin - currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def - /ppdict 20 dict def - /string_size 16000 def - /readbuffer string_size string def - currentglobal true setglobal - ppdict 1 array dup 0 1 put/count xpt - setglobal - /LZWFilter - { - exch - dup length 0 eq{ - pop - }{ - ppdict dup length 1 sub 3 -1 roll put - }ifelse - {string_size}{0}ifelse string - }/LZWEncode filter def - { - ReadFilter readbuffer readstring - exch LZWFilter exch writestring - not{exit}if - }loop - LZWFilter closefile - ppdict - end -}def -/cachepaintproc -{ - 2 dict begin - currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def - /ppdict 20 dict def - currentglobal true setglobal - ppdict 1 array dup 0 1 put/count xpt - setglobal - { - ReadFilter 16000 string readstring exch - ppdict dup length 1 sub 3 -1 roll put - not{exit}if - }loop - ppdict dup dup length 1 sub()put - end -}def -/make_pattern -{ - exch clonedict exch - dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform - exch 3 index/XStep get 1 index exch 2 copy div cvi mul sub sub - exch 3 index/YStep get 1 index exch 2 copy div cvi mul sub sub - matrix translate exch matrix concatmatrix - 1 index begin - BBox 0 get XStep div cvi XStep mul/xshift exch neg def - BBox 1 get YStep div cvi YStep mul/yshift exch neg def - BBox 0 get xshift add - BBox 1 get yshift add - BBox 2 get xshift add - BBox 3 get yshift add - 4 array astore - /BBox exch def - [xshift yshift/translate load null/exec load]dup - 3/PaintProc load put cvx/PaintProc exch def - end - gsave 0 setgray - makepattern - grestore -}def -/set_pattern -{ - dup/PatternType get 1 eq{ - dup/PaintType get 1 eq{ - currentoverprint sop[/DeviceGray]setcolorspace 0 setgray - }if - }if - setpattern -}def -/setcolorspace_opt -{ - dup currentcolorspace eq{pop}{setcolorspace}ifelse -}def -/updatecolorrendering -{ - currentcolorrendering/RenderingIntent known{ - currentcolorrendering/RenderingIntent get - } - { - Intent/AbsoluteColorimetric eq - { - /absolute_colorimetric_crd AGMCORE_gget dup null eq - } - { - Intent/RelativeColorimetric eq - { - /relative_colorimetric_crd AGMCORE_gget dup null eq - } - { - Intent/Saturation eq - { - /saturation_crd AGMCORE_gget dup null eq - } - { - /perceptual_crd AGMCORE_gget dup null eq - }ifelse - }ifelse - }ifelse - { - pop null - } - { - /RenderingIntent known{null}{Intent}ifelse - }ifelse - }ifelse - Intent ne{ - Intent/ColorRendering{findresource}stopped - { - pop pop systemdict/findcolorrendering known - { - Intent findcolorrendering - { - /ColorRendering findresource true exch - } - { - /ColorRendering findresource - product(Xerox Phaser 5400)ne - exch - }ifelse - dup Intent/AbsoluteColorimetric eq - { - /absolute_colorimetric_crd exch AGMCORE_gput - } - { - Intent/RelativeColorimetric eq - { - /relative_colorimetric_crd exch AGMCORE_gput - } - { - Intent/Saturation eq - { - /saturation_crd exch AGMCORE_gput - } - { - Intent/Perceptual eq - { - /perceptual_crd exch AGMCORE_gput - } - { - pop - }ifelse - }ifelse - }ifelse - }ifelse - 1 index{exch}{pop}ifelse - } - {false}ifelse - } - {true}ifelse - { - dup begin - currentdict/TransformPQR known{ - currentdict/TransformPQR get aload pop - 3{{}eq 3 1 roll}repeat or or - } - {true}ifelse - currentdict/MatrixPQR known{ - currentdict/MatrixPQR get aload pop - 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll - 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll - 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq - and and and and and and and and - } - {true}ifelse - end - or - { - clonedict begin - /TransformPQR[ - {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div - 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind - {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div - 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind - {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div - 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind - ]def - /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def - /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def - currentdict end - }if - setcolorrendering_opt - }if - }if -}def -/set_crd -{ - AGMCORE_host_sep not level2 and{ - currentdict/ColorRendering known{ - ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if - }{ - currentdict/Intent known{ - updatecolorrendering - }if - }ifelse - currentcolorspace dup type/arraytype eq - {0 get}if - /DeviceRGB eq - { - currentdict/UCR known - {/UCR}{/AGMCORE_currentucr}ifelse - load setundercolorremoval - currentdict/BG known - {/BG}{/AGMCORE_currentbg}ifelse - load setblackgeneration - }if - }if -}def -/set_ucrbg -{ - dup null eq{pop/AGMCORE_currentbg load}{/Procedure get_res}ifelse setblackgeneration - dup null eq{pop/AGMCORE_currentucr load}{/Procedure get_res}ifelse setundercolorremoval -}def -/setcolorrendering_opt -{ - dup currentcolorrendering eq{ - pop - }{ - product(HP Color LaserJet 2605)anchorsearch{ - pop pop pop - }{ - pop - clonedict - begin - /Intent Intent def - currentdict - end - setcolorrendering - }ifelse - }ifelse -}def -/cpaint_gcomp -{ - convert_to_process//Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf - //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not - { - (%end_cpaint_gcomp)flushinput - }if -}def -/cpaint_gsep -{ - //Adobe_AGM_Core/AGMCORE_ConvertToProcess get - { - (%end_cpaint_gsep)flushinput - }if -}def -/cpaint_gend -{np}def -/T1_path -{ - currentfile token pop currentfile token pop mo - { - currentfile token pop dup type/stringtype eq - {pop exit}if - 0 exch rlineto - currentfile token pop dup type/stringtype eq - {pop exit}if - 0 rlineto - }loop -}def -/T1_gsave - level3 - {/clipsave} - {/gsave}ifelse - load def -/T1_grestore - level3 - {/cliprestore} - {/grestore}ifelse - load def -/set_spot_alias_ary -{ - dup inherit_aliases - //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf -}def -/set_spot_normalization_ary -{ - dup inherit_aliases - dup length - /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if - array - //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf - /AGMCORE_SpotAliasAry where{ - pop - AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval - AGMCORE_SpotAliasAry length - }{0}ifelse - AGMCORE_SpotAliasAry2 3 1 roll exch putinterval - true set_spot_alias -}def -/inherit_aliases -{ - {dup/Name get map_alias{/CSD put}{pop}ifelse}forall -}def -/set_spot_alias -{ - /AGMCORE_SpotAliasAry2 where{ - /AGMCORE_current_spot_alias 3 -1 roll put - }{ - pop - }ifelse -}def -/current_spot_alias -{ - /AGMCORE_SpotAliasAry2 where{ - /AGMCORE_current_spot_alias get - }{ - false - }ifelse -}def -/map_alias -{ - /AGMCORE_SpotAliasAry2 where{ - begin - /AGMCORE_name xdf - false - AGMCORE_SpotAliasAry2{ - dup/Name get AGMCORE_name eq{ - /CSD get/CSD get_res - exch pop true - exit - }{ - pop - }ifelse - }forall - end - }{ - pop false - }ifelse -}bdf -/spot_alias -{ - true set_spot_alias - /AGMCORE_&setcustomcolor AGMCORE_key_known not{ - //Adobe_AGM_Core/AGMCORE_&setcustomcolor/setcustomcolor load put - }if - /customcolor_tint 1 AGMCORE_gput - //Adobe_AGM_Core begin - /setcustomcolor - { - //Adobe_AGM_Core begin - dup/customcolor_tint exch AGMCORE_gput - 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not - current_spot_alias and{1 index 4 get map_alias}{false}ifelse - { - false set_spot_alias - /sep_colorspace_dict AGMCORE_gget null ne - {/sep_colorspace_dict AGMCORE_gget/ForeignContent known not}{false}ifelse - 3 1 roll 2 index{ - exch pop/sep_tint AGMCORE_gget exch - }if - mark 3 1 roll - setsepcolorspace - counttomark 0 ne{ - setsepcolor - }if - pop - not{/sep_tint 1.0 AGMCORE_gput/sep_colorspace_dict AGMCORE_gget/ForeignContent true put}if - pop - true set_spot_alias - }{ - AGMCORE_&setcustomcolor - }ifelse - end - }bdf - end -}def -/begin_feature -{ - Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put - count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put - {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if -}def -/end_feature -{ - 2 dict begin - /spd/setpagedevice load def - /setpagedevice{get_gstate spd set_gstate}def - stopped{$error/newerror false put}if - end - count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse - countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse - {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if -}def -/set_negative -{ - //Adobe_AGM_Core begin - /AGMCORE_inverting exch def - level2{ - currentpagedevice/NegativePrint known AGMCORE_distilling not and{ - currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ - true begin_feature true{ - <>setpagedevice - }end_feature - }if - /AGMCORE_inverting false def - }if - }if - AGMCORE_inverting{ - [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer - AGMCORE_distilling{ - erasepage - }{ - gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse - /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore - }ifelse - }if - end -}def -/lw_save_restore_override{ - /md where{ - pop - md begin - initializepage - /initializepage{}def - /pmSVsetup{}def - /endp{}def - /pse{}def - /psb{}def - /orig_showpage where - {pop} - {/orig_showpage/showpage load def} - ifelse - /showpage{orig_showpage gR}def - end - }if -}def -/pscript_showpage_override{ - /NTPSOct95 where - { - begin - showpage - save - /showpage/restore load def - /restore{exch pop}def - end - }if -}def -/driver_media_override -{ - /md where{ - pop - md/initializepage known{ - md/initializepage{}put - }if - md/rC known{ - md/rC{4{pop}repeat}put - }if - }if - /mysetup where{ - /mysetup[1 0 0 1 0 0]put - }if - Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put - level2 - {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if -}def -/capture_mysetup -{ - /Pscript_Win_Data where{ - pop - Pscript_Win_Data/mysetup known{ - Adobe_AGM_Core/save_mysetup Pscript_Win_Data/mysetup get put - }if - }if -}def -/restore_mysetup -{ - /Pscript_Win_Data where{ - pop - Pscript_Win_Data/mysetup known{ - Adobe_AGM_Core/save_mysetup known{ - Pscript_Win_Data/mysetup Adobe_AGM_Core/save_mysetup get put - Adobe_AGM_Core/save_mysetup undef - }if - }if - }if -}def -/driver_check_media_override -{ - /PrepsDict where - {pop} - { - Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne - Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq - { - Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and - Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and - }if - { - Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix - }if - }ifelse -}def -AGMCORE_err_strings begin - /AGMCORE_bad_environ(Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. )def - /AGMCORE_color_space_onhost_seps(This job contains colors that will not separate with on-host methods. )def - /AGMCORE_invalid_color_space(This job contains an invalid color space. )def -end -/set_def_ht -{AGMCORE_def_ht sethalftone}def -/set_def_flat -{AGMCORE_Default_flatness setflat}def -end -systemdict/setpacking known -{setpacking}if -%%EndResource -%%BeginResource: procset Adobe_CoolType_Core 2.31 0 %%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. %%Version: 2.31 0 10 dict begin /Adobe_CoolType_Passthru currentdict def /Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def Adobe_CoolType_Core_Defined {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} if userdict/Adobe_CoolType_Core 70 dict dup begin put /Adobe_CoolType_Version 2.31 def /Level2? systemdict/languagelevel known dup {pop systemdict/languagelevel get 2 ge} if def Level2? not { /currentglobal false def /setglobal/pop load def /gcheck{pop false}bind def /currentpacking false def /setpacking/pop load def /SharedFontDirectory 0 dict def } if currentpacking true setpacking currentglobal false setglobal userdict/Adobe_CoolType_Data 2 copy known not {2 copy 10 dict put} if get begin /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def end setglobal currentglobal true setglobal userdict/Adobe_CoolType_GVMFonts known not {userdict/Adobe_CoolType_GVMFonts 10 dict put} if setglobal currentglobal false setglobal userdict/Adobe_CoolType_LVMFonts known not {userdict/Adobe_CoolType_LVMFonts 10 dict put} if setglobal /ct_VMDictPut { dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse 3 1 roll put }bind def /ct_VMDictUndef { dup Adobe_CoolType_GVMFonts exch known {Adobe_CoolType_GVMFonts exch undef} { dup Adobe_CoolType_LVMFonts exch known {Adobe_CoolType_LVMFonts exch undef} {pop} ifelse }ifelse }bind def /ct_str1 1 string def /ct_xshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { _ct_x _ct_y moveto 0 rmoveto } ifelse /_ct_i _ct_i 1 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /ct_yshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { _ct_x _ct_y moveto 0 exch rmoveto } ifelse /_ct_i _ct_i 1 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /ct_xyshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { {_ct_na _ct_i 1 add get}stopped {pop pop pop} { _ct_x _ct_y moveto rmoveto } ifelse } ifelse /_ct_i _ct_i 2 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def /ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def /xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def currentglobal true setglobal /ct_T3Defs { /BuildChar { 1 index/Encoding get exch get 1 index/BuildGlyph get exec }bind def /BuildGlyph { exch begin GlyphProcs exch get exec end }bind def }bind def setglobal /@_SaveStackLevels { Adobe_CoolType_Data begin /@vmState currentglobal def false setglobal @opStackCountByLevel @opStackLevel 2 copy known not { 2 copy 3 dict dup/args 7 index 5 add array put put get } { get dup/args get dup length 3 index lt { dup length 5 add array exch 1 index exch 0 exch putinterval 1 index exch/args exch put } {pop} ifelse } ifelse begin count 1 sub 1 index lt {pop count} if dup/argCount exch def dup 0 gt { args exch 0 exch getinterval astore pop } {pop} ifelse count /restCount exch def end /@opStackLevel @opStackLevel 1 add def countdictstack 1 sub @dictStackCountByLevel exch @dictStackLevel exch put /@dictStackLevel @dictStackLevel 1 add def @vmState setglobal end }bind def /@_RestoreStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def @opStackCountByLevel @opStackLevel get begin count restCount sub dup 0 gt {{pop}repeat} {pop} ifelse args 0 argCount getinterval{}forall end /@dictStackLevel @dictStackLevel 1 sub def @dictStackCountByLevel @dictStackLevel get end countdictstack exch sub dup 0 gt {{end}repeat} {pop} ifelse }bind def /@_PopStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def /@dictStackLevel @dictStackLevel 1 sub def end }bind def /@Raise { exch cvx exch errordict exch get exec stop }bind def /@ReRaise { cvx $error/errorname get errordict exch get exec stop }bind def /@Stopped { 0 @#Stopped }bind def /@#Stopped { @_SaveStackLevels stopped {@_RestoreStackLevels true} {@_PopStackLevels false} ifelse }bind def /@Arg { Adobe_CoolType_Data begin @opStackCountByLevel @opStackLevel 1 sub get begin args exch argCount 1 sub exch sub get end end }bind def currentglobal true setglobal /CTHasResourceForAllBug Level2? { 1 dict dup /@shouldNotDisappearDictValue true def Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put begin count @_SaveStackLevels {(*){pop stop}128 string/Category resourceforall} stopped pop @_RestoreStackLevels currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll { /@shouldNotDisappearDictValue known { { end currentdict 1 index eq {pop exit} if } loop } if } { pop end } ifelse } {false} ifelse def true setglobal /CTHasResourceStatusBug Level2? { mark {/steveamerige/Category resourcestatus} stopped {cleartomark true} {cleartomark currentglobal not} ifelse } {false} ifelse def setglobal /CTResourceStatus { mark 3 1 roll /Category findresource begin ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec {cleartomark false} {{3 2 roll pop true}{cleartomark false}ifelse} ifelse end }bind def /CTWorkAroundBugs { Level2? { /cid_PreLoad/ProcSet resourcestatus { pop pop currentglobal mark { (*) { dup/CMap CTHasResourceStatusBug {CTResourceStatus} {resourcestatus} ifelse { pop dup 0 eq exch 1 eq or { dup/CMap findresource gcheck setglobal /CMap undefineresource } { pop CTHasResourceForAllBug {exit} {stop} ifelse } ifelse } {pop} ifelse } 128 string/CMap resourceforall } stopped {cleartomark} stopped pop setglobal } if } if }bind def /ds { Adobe_CoolType_Core begin CTWorkAroundBugs /mo/moveto load def /nf/newencodedfont load def /msf{makefont setfont}bind def /uf{dup undefinefont ct_VMDictUndef}bind def /ur/undefineresource load def /chp/charpath load def /awsh/awidthshow load def /wsh/widthshow load def /ash/ashow load def /@xshow/xshow load def /@yshow/yshow load def /@xyshow/xyshow load def /@cshow/cshow load def /sh/show load def /rp/repeat load def /.n/.notdef def end currentglobal false setglobal userdict/Adobe_CoolType_Data 2 copy known not {2 copy 10 dict put} if get begin /AddWidths? false def /CC 0 def /charcode 2 string def /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def /InVMFontsByCMap 10 dict def /InVMDeepCopiedFonts 10 dict def end setglobal }bind def /dt { currentdict Adobe_CoolType_Core eq {end} if }bind def /ps { Adobe_CoolType_Core begin Adobe_CoolType_GVMFonts begin Adobe_CoolType_LVMFonts begin SharedFontDirectory begin }bind def /pt { end end end end }bind def /unload { systemdict/languagelevel known { systemdict/languagelevel get 2 ge { userdict/Adobe_CoolType_Core 2 copy known {undef} {pop pop} ifelse } if } if }bind def /ndf { 1 index where {pop pop pop} {dup xcheck{bind}if def} ifelse }def /findfont systemdict begin userdict begin /globaldict where{/globaldict get begin}if dup where pop exch get /globaldict where{pop end}if end end Adobe_CoolType_Core_Defined {/systemfindfont exch def} { /findfont 1 index def /systemfindfont exch def } ifelse /undefinefont {pop}ndf /copyfont { currentglobal 3 1 roll 1 index gcheck setglobal dup null eq{0}{dup length}ifelse 2 index length add 1 add dict begin exch { 1 index/FID eq {pop pop} {def} ifelse } forall dup null eq {pop} {{def}forall} ifelse currentdict end exch setglobal }bind def /copyarray { currentglobal exch dup gcheck setglobal dup length array copy exch setglobal }bind def /newencodedfont { currentglobal { SharedFontDirectory 3 index known {SharedFontDirectory 3 index get/FontReferenced known} {false} ifelse } { FontDirectory 3 index known {FontDirectory 3 index get/FontReferenced known} { SharedFontDirectory 3 index known {SharedFontDirectory 3 index get/FontReferenced known} {false} ifelse } ifelse } ifelse dup { 3 index findfont/FontReferenced get 2 index dup type/nametype eq {findfont} if ne {pop false} if } if dup { 1 index dup type/nametype eq {findfont} if dup/CharStrings known { /CharStrings get length 4 index findfont/CharStrings get length ne { pop false } if } {pop} ifelse } if { pop 1 index findfont /Encoding get exch 0 1 255 {2 copy get 3 index 3 1 roll put} for pop pop pop } { currentglobal 4 1 roll dup type/nametype eq {findfont} if dup gcheck setglobal dup dup maxlength 2 add dict begin exch { 1 index/FID ne 2 index/Encoding ne and {def} {pop pop} ifelse } forall /FontReferenced exch def /Encoding exch dup length array copy def /FontName 1 index dup type/stringtype eq{cvn}if def dup currentdict end definefont ct_VMDictPut setglobal } ifelse }bind def /SetSubstituteStrategy { $SubstituteFont begin dup type/dicttype ne {0 dict} if currentdict/$Strategies known { exch $Strategies exch 2 copy known { get 2 copy maxlength exch maxlength add dict begin {def}forall {def}forall currentdict dup/$Init known {dup/$Init get exec} if end /$Strategy exch def } {pop pop pop} ifelse } {pop pop} ifelse end }bind def /scff { $SubstituteFont begin dup type/stringtype eq {dup length exch} {null} ifelse /$sname exch def /$slen exch def /$inVMIndex $sname null eq { 1 index $str cvs dup length $slen sub $slen getinterval cvn } {$sname} ifelse def end {findfont} @Stopped { dup length 8 add string exch 1 index 0(BadFont:)putinterval 1 index exch 8 exch dup length string cvs putinterval cvn {findfont} @Stopped {pop/Courier findfont} if } if $SubstituteFont begin /$sname null def /$slen 0 def /$inVMIndex null def end }bind def /isWidthsOnlyFont { dup/WidthsOnly known {pop pop true} { dup/FDepVector known {/FDepVector get{isWidthsOnlyFont dup{exit}if}forall} { dup/FDArray known {/FDArray get{isWidthsOnlyFont dup{exit}if}forall} {pop} ifelse } ifelse } ifelse }bind def /ct_StyleDicts 4 dict dup begin /Adobe-Japan1 4 dict dup begin Level2? { /Serif /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiMin-W3} { /CIDFont/Category resourcestatus { pop pop /HeiseiMin-W3/CIDFont resourcestatus {pop pop/HeiseiMin-W3} {/Ryumin-Light} ifelse } {/Ryumin-Light} ifelse } ifelse def /SansSerif /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiKakuGo-W5} { /CIDFont/Category resourcestatus { pop pop /HeiseiKakuGo-W5/CIDFont resourcestatus {pop pop/HeiseiKakuGo-W5} {/GothicBBB-Medium} ifelse } {/GothicBBB-Medium} ifelse } ifelse def /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiMaruGo-W4} { /CIDFont/Category resourcestatus { pop pop /HeiseiMaruGo-W4/CIDFont resourcestatus {pop pop/HeiseiMaruGo-W4} { /Jun101-Light-RKSJ-H/Font resourcestatus {pop pop/Jun101-Light} {SansSerif} ifelse } ifelse } { /Jun101-Light-RKSJ-H/Font resourcestatus {pop pop/Jun101-Light} {SansSerif} ifelse } ifelse } ifelse /RoundSansSerif exch def /Default Serif def } { /Serif/Ryumin-Light def /SansSerif/GothicBBB-Medium def { (fonts/Jun101-Light-83pv-RKSJ-H)status }stopped {pop}{ {pop pop pop pop/Jun101-Light} {SansSerif} ifelse /RoundSansSerif exch def }ifelse /Default Serif def } ifelse end def /Adobe-Korea1 4 dict dup begin /Serif/HYSMyeongJo-Medium def /SansSerif/HYGoThic-Medium def /RoundSansSerif SansSerif def /Default Serif def end def /Adobe-GB1 4 dict dup begin /Serif/STSong-Light def /SansSerif/STHeiti-Regular def /RoundSansSerif SansSerif def /Default Serif def end def /Adobe-CNS1 4 dict dup begin /Serif/MKai-Medium def /SansSerif/MHei-Medium def /RoundSansSerif SansSerif def /Default Serif def end def end def Level2?{currentglobal true setglobal}if /ct_BoldRomanWidthProc { stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth 0 0 }bind def /ct_Type0WidthProc { dup stringwidth 0 0 moveto 2 index true charpath pathbbox 0 -1 7 index 2 div .88 setcachedevice2 pop 0 0 }bind def /ct_Type0WMode1WidthProc { dup stringwidth pop 2 div neg -0.88 2 copy moveto 0 -1 5 -1 roll true charpath pathbbox setcachedevice }bind def /cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def /ct_BoldBaseFont 11 dict begin /FontType 3 def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /Encoding cHexEncoding def /_setwidthProc/ct_BoldRomanWidthProc load def /_bcstr1 1 string def /BuildChar { exch begin _basefont setfont _bcstr1 dup 0 4 -1 roll put dup _setwidthProc 3 copy moveto show _basefonto setfont moveto show end }bind def currentdict end def systemdict/composefont known { /ct_DefineIdentity-H { /Identity-H/CMap resourcestatus { pop pop } { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering(Identity)def /Supplement 0 def end def /CMapName/Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse } def /ct_BoldBaseCIDFont 11 dict begin /CIDFontType 1 def /CIDFontName/ct_BoldBaseCIDFont def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /_setwidthProc/ct_Type0WidthProc load def /_bcstr2 2 string def /BuildGlyph { exch begin _basefont setfont _bcstr2 1 2 index 256 mod put _bcstr2 0 3 -1 roll 256 idiv put _bcstr2 dup _setwidthProc 3 copy moveto show _basefonto setfont moveto show end }bind def currentdict end def }if Level2?{setglobal}if /ct_CopyFont{ { 1 index/FID ne 2 index/UniqueID ne and {def}{pop pop}ifelse }forall }bind def /ct_Type0CopyFont { exch dup length dict begin ct_CopyFont [ exch FDepVector { dup/FontType get 0 eq { 1 index ct_Type0CopyFont /_ctType0 exch definefont } { /_ctBaseFont exch 2 index exec } ifelse exch } forall pop ] /FDepVector exch def currentdict end }bind def /ct_MakeBoldFont { dup/ct_SyntheticBold known { dup length 3 add dict begin ct_CopyFont /ct_StrokeWidth .03 0 FontMatrix idtransform pop def /ct_SyntheticBold true def currentdict end definefont } { dup dup length 3 add dict begin ct_CopyFont /PaintType 2 def /StrokeWidth .03 0 FontMatrix idtransform pop def /dummybold currentdict end definefont dup/FontType get dup 9 ge exch 11 le and { ct_BoldBaseCIDFont dup length 3 add dict copy begin dup/CIDSystemInfo get/CIDSystemInfo exch def ct_DefineIdentity-H /_Type0Identity/Identity-H 3 -1 roll[exch]composefont /_basefont exch def /_Type0Identity/Identity-H 3 -1 roll[exch]composefont /_basefonto exch def currentdict end /CIDFont defineresource } { ct_BoldBaseFont dup length 3 add dict copy begin /_basefont exch def /_basefonto exch def currentdict end definefont } ifelse } ifelse }bind def /ct_MakeBold{ 1 index 1 index findfont currentglobal 5 1 roll dup gcheck setglobal dup /FontType get 0 eq { dup/WMode known{dup/WMode get 1 eq}{false}ifelse version length 4 ge and {version 0 4 getinterval cvi 2015 ge} {true} ifelse {/ct_Type0WidthProc} {/ct_Type0WMode1WidthProc} ifelse ct_BoldBaseFont/_setwidthProc 3 -1 roll load put {ct_MakeBoldFont}ct_Type0CopyFont definefont } { dup/_fauxfont known not 1 index/SubstMaster known not and { ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put ct_MakeBoldFont } { 2 index 2 index eq {exch pop } { dup length dict begin ct_CopyFont currentdict end definefont } ifelse } ifelse } ifelse pop pop pop setglobal }bind def /?str1 256 string def /?set { $SubstituteFont begin /$substituteFound false def /$fontname 1 index def /$doSmartSub false def end dup findfont $SubstituteFont begin $substituteFound {false} { dup/FontName known { dup/FontName get $fontname eq 1 index/DistillerFauxFont known not and /currentdistillerparams where {pop false 2 index isWidthsOnlyFont not and} if } {false} ifelse } ifelse exch pop /$doSmartSub true def end { 5 1 roll pop pop pop pop findfont } { 1 index findfont dup/FontType get 3 eq { 6 1 roll pop pop pop pop pop false } {pop true} ifelse { $SubstituteFont begin pop pop /$styleArray 1 index def /$regOrdering 2 index def pop pop 0 1 $styleArray length 1 sub { $styleArray exch get ct_StyleDicts $regOrdering 2 copy known { get exch 2 copy known not {pop/Default} if get dup type/nametype eq { ?str1 cvs length dup 1 add exch ?str1 exch(-)putinterval exch dup length exch ?str1 exch 3 index exch putinterval add ?str1 exch 0 exch getinterval cvn } { pop pop/Unknown } ifelse } { pop pop pop pop/Unknown } ifelse } for end findfont }if } ifelse currentglobal false setglobal 3 1 roll null copyfont definefont pop setglobal }bind def setpacking userdict/$SubstituteFont 25 dict put 1 dict begin /SubstituteFont dup $error exch 2 copy known {get} {pop pop{pop/Courier}bind} ifelse def /currentdistillerparams where dup { pop pop currentdistillerparams/CannotEmbedFontPolicy 2 copy known {get/Error eq} {pop pop false} ifelse } if not { countdictstack array dictstack 0 get begin userdict begin $SubstituteFont begin /$str 128 string def /$fontpat 128 string def /$slen 0 def /$sname null def /$match false def /$fontname null def /$substituteFound false def /$inVMIndex null def /$doSmartSub true def /$depth 0 def /$fontname null def /$italicangle 26.5 def /$dstack null def /$Strategies 10 dict dup begin /$Type3Underprint { currentglobal exch false setglobal 11 dict begin /UseFont exch $WMode 0 ne { dup length dict copy dup/WMode $WMode put /UseFont exch definefont } if def /FontName $fontname dup type/stringtype eq{cvn}if def /FontType 3 def /FontMatrix[.001 0 0 .001 0 0]def /Encoding 256 array dup 0 1 255{/.notdef put dup}for pop def /FontBBox[0 0 0 0]def /CCInfo 7 dict dup begin /cc null def /x 0 def /y 0 def end def /BuildChar { exch begin CCInfo begin 1 string dup 0 3 index put exch pop /cc exch def UseFont 1000 scalefont setfont cc stringwidth/y exch def/x exch def x y setcharwidth $SubstituteFont/$Strategy get/$Underprint get exec 0 0 moveto cc show x y moveto end end }bind def currentdict end exch setglobal }bind def /$GetaTint 2 dict dup begin /$BuildFont { dup/WMode known {dup/WMode get} {0} ifelse /$WMode exch def $fontname exch dup/FontName known { dup/FontName get dup type/stringtype eq{cvn}if } {/unnamedfont} ifelse exch Adobe_CoolType_Data/InVMDeepCopiedFonts get 1 index/FontName get known { pop Adobe_CoolType_Data/InVMDeepCopiedFonts get 1 index get null copyfont } {$deepcopyfont} ifelse exch 1 index exch/FontBasedOn exch put dup/FontName $fontname dup type/stringtype eq{cvn}if put definefont Adobe_CoolType_Data/InVMDeepCopiedFonts get begin dup/FontBasedOn get 1 index def end }bind def /$Underprint { gsave x abs y abs gt {/y 1000 def} {/x -1000 def 500 120 translate} ifelse Level2? { [/Separation(All)/DeviceCMYK{0 0 0 1 pop}] setcolorspace } {0 setgray} ifelse 10 setlinewidth x .8 mul [7 3] { y mul 8 div 120 sub x 10 div exch moveto 0 y 4 div neg rlineto dup 0 rlineto 0 y 4 div rlineto closepath gsave Level2? {.2 setcolor} {.8 setgray} ifelse fill grestore stroke } forall pop grestore }bind def end def /$Oblique 1 dict dup begin /$BuildFont { currentglobal exch dup gcheck setglobal null copyfont begin /FontBasedOn currentdict/FontName known { FontName dup type/stringtype eq{cvn}if } {/unnamedfont} ifelse def /FontName $fontname dup type/stringtype eq{cvn}if def /currentdistillerparams where {pop} { /FontInfo currentdict/FontInfo known {FontInfo null copyfont} {2 dict} ifelse dup begin /ItalicAngle $italicangle def /FontMatrix FontMatrix [1 0 ItalicAngle dup sin exch cos div 1 0 0] matrix concatmatrix readonly end 4 2 roll def def } ifelse FontName currentdict end definefont exch setglobal }bind def end def /$None 1 dict dup begin /$BuildFont{}bind def end def end def /$Oblique SetSubstituteStrategy /$findfontByEnum { dup type/stringtype eq{cvn}if dup/$fontname exch def $sname null eq {$str cvs dup length $slen sub $slen getinterval} {pop $sname} ifelse $fontpat dup 0(fonts/*)putinterval exch 7 exch putinterval /$match false def $SubstituteFont/$dstack countdictstack array dictstack put mark { $fontpat 0 $slen 7 add getinterval {/$match exch def exit} $str filenameforall } stopped { cleardictstack currentdict true $SubstituteFont/$dstack get { exch { 1 index eq {pop false} {true} ifelse } {begin false} ifelse } forall pop } if cleartomark /$slen 0 def $match false ne {$match(fonts/)anchorsearch pop pop cvn} {/Courier} ifelse }bind def /$ROS 1 dict dup begin /Adobe 4 dict dup begin /Japan1 [/Ryumin-Light/HeiseiMin-W3 /GothicBBB-Medium/HeiseiKakuGo-W5 /HeiseiMaruGo-W4/Jun101-Light]def /Korea1 [/HYSMyeongJo-Medium/HYGoThic-Medium]def /GB1 [/STSong-Light/STHeiti-Regular]def /CNS1 [/MKai-Medium/MHei-Medium]def end def end def /$cmapname null def /$deepcopyfont { dup/FontType get 0 eq { 1 dict dup/FontName/copied put copyfont begin /FDepVector FDepVector copyarray 0 1 2 index length 1 sub { 2 copy get $deepcopyfont dup/FontName/copied put /copied exch definefont 3 copy put pop pop } for def currentdict end } {$Strategies/$Type3Underprint get exec} ifelse }bind def /$buildfontname { dup/CIDFont findresource/CIDSystemInfo get begin Registry length Ordering length Supplement 8 string cvs 3 copy length 2 add add add string dup 5 1 roll dup 0 Registry putinterval dup 4 index(-)putinterval dup 4 index 1 add Ordering putinterval 4 2 roll add 1 add 2 copy(-)putinterval end 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch anchorsearch {pop pop 3 2 roll putinterval cvn/$cmapname exch def} {pop pop pop pop pop} ifelse length $str 1 index(-)putinterval 1 add $str 1 index $cmapname $fontpat cvs putinterval $cmapname length add $str exch 0 exch getinterval cvn }bind def /$findfontByROS { /$fontname exch def $ROS Registry 2 copy known { get Ordering 2 copy known {get} {pop pop[]} ifelse } {pop pop[]} ifelse false exch { dup/CIDFont resourcestatus { pop pop save 1 index/CIDFont findresource dup/WidthsOnly known {dup/WidthsOnly get} {false} ifelse exch pop exch restore {pop} {exch pop true exit} ifelse } {pop} ifelse } forall {$str cvs $buildfontname} { false(*) { save exch dup/CIDFont findresource dup/WidthsOnly known {dup/WidthsOnly get not} {true} ifelse exch/CIDSystemInfo get dup/Registry get Registry eq exch/Ordering get Ordering eq and and {exch restore exch pop true exit} {pop restore} ifelse } $str/CIDFont resourceforall {$buildfontname} {$fontname $findfontByEnum} ifelse } ifelse }bind def end end currentdict/$error known currentdict/languagelevel known and dup {pop $error/SubstituteFont known} if dup {$error} {Adobe_CoolType_Core} ifelse begin { /SubstituteFont /CMap/Category resourcestatus { pop pop { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and { $sname null eq {dup $str cvs dup length $slen sub $slen getinterval cvn} {$sname} ifelse Adobe_CoolType_Data/InVMFontsByCMap get 1 index 2 copy known { get false exch { pop currentglobal { GlobalFontDirectory 1 index known {exch pop true exit} {pop} ifelse } { FontDirectory 1 index known {exch pop true exit} { GlobalFontDirectory 1 index known {exch pop true exit} {pop} ifelse } ifelse } ifelse } forall } {pop pop false} ifelse { exch pop exch pop } { dup/CMap resourcestatus { pop pop dup/$cmapname exch def /CMap findresource/CIDSystemInfo get{def}forall $findfontByROS } { 128 string cvs dup(-)search { 3 1 roll search { 3 1 roll pop {dup cvi} stopped {pop pop pop pop pop $findfontByEnum} { 4 2 roll pop pop exch length exch 2 index length 2 index sub exch 1 sub -1 0 { $str cvs dup length 4 index 0 4 index 4 3 roll add getinterval exch 1 index exch 3 index exch putinterval dup/CMap resourcestatus { pop pop 4 1 roll pop pop pop dup/$cmapname exch def /CMap findresource/CIDSystemInfo get{def}forall $findfontByROS true exit } {pop} ifelse } for dup type/booleantype eq {pop} {pop pop pop $findfontByEnum} ifelse } ifelse } {pop pop pop $findfontByEnum} ifelse } {pop pop $findfontByEnum} ifelse } ifelse } ifelse } {//SubstituteFont exec} ifelse /$slen 0 def end } } { { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and {$findfontByEnum} {//SubstituteFont exec} ifelse end } } ifelse bind readonly def Adobe_CoolType_Core/scfindfont/systemfindfont load put } { /scfindfont { $SubstituteFont begin dup systemfindfont dup/FontName known {dup/FontName get dup 3 index ne} {/noname true} ifelse dup { /$origfontnamefound 2 index def /$origfontname 4 index def/$substituteFound true def } if exch pop { $slen 0 gt $sname null ne 3 index length $slen gt or and { pop dup $findfontByEnum findfont dup maxlength 1 add dict begin {1 index/FID eq{pop pop}{def}ifelse} forall currentdict end definefont dup/FontName known{dup/FontName get}{null}ifelse $origfontnamefound ne { $origfontname $str cvs print ( substitution revised, using )print dup/FontName known {dup/FontName get}{(unspecified font)} ifelse $str cvs print(.\n)print } if } {exch pop} ifelse } {exch pop} ifelse end }bind def } ifelse end end Adobe_CoolType_Core_Defined not { Adobe_CoolType_Core/findfont { $SubstituteFont begin $depth 0 eq { /$fontname 1 index dup type/stringtype ne{$str cvs}if def /$substituteFound false def } if /$depth $depth 1 add def end scfindfont $SubstituteFont begin /$depth $depth 1 sub def $substituteFound $depth 0 eq and { $inVMIndex null ne {dup $inVMIndex $AddInVMFont} if $doSmartSub { currentdict/$Strategy known {$Strategy/$BuildFont get exec} if } if } if end }bind put } if } if end /$AddInVMFont { exch/FontName 2 copy known { get 1 dict dup begin exch 1 index gcheck def end exch Adobe_CoolType_Data/InVMFontsByCMap get exch $DictAdd } {pop pop pop} ifelse }bind def /$DictAdd { 2 copy known not {2 copy 4 index length dict put} if Level2? not { 2 copy get dup maxlength exch length 4 index length add lt 2 copy get dup length 4 index length add exch maxlength 1 index lt { 2 mul dict begin 2 copy get{forall}def 2 copy currentdict put end } {pop} ifelse } if get begin {def} forall end }bind def end end %%EndResource currentglobal true setglobal %%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 %%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. %%Version: 1.23 0 systemdict/languagelevel known dup {currentglobal false setglobal} {false} ifelse exch userdict/Adobe_CoolType_Utility 2 copy known {2 copy get dup maxlength 27 add dict copy} {27 dict} ifelse put Adobe_CoolType_Utility begin /@eexecStartData def /@recognizeCIDFont null def /ct_Level2? exch def /ct_Clone? 1183615869 internaldict dup /CCRun known not exch/eCCRun known not ct_Level2? and or def ct_Level2? {globaldict begin currentglobal true setglobal} if /ct_AddStdCIDMap ct_Level2? {{ mark Adobe_CoolType_Utility/@recognizeCIDFont currentdict put { ((Hex)57 StartData 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec } stopped { cleartomark Adobe_CoolType_Utility/@recognizeCIDFont get countdictstack dup array dictstack exch 1 sub -1 0 { 2 copy get 3 index eq {1 index length exch sub 1 sub{end}repeat exit} {pop} ifelse } for pop pop Adobe_CoolType_Utility/@eexecStartData get eexec } {cleartomark} ifelse }} {{ Adobe_CoolType_Utility/@eexecStartData get eexec }} ifelse bind def userdict/cid_extensions known dup{cid_extensions/cid_UpdateDB known and}if { cid_extensions begin /cid_GetCIDSystemInfo { 1 index type/stringtype eq {exch cvn exch} if cid_extensions begin dup load 2 index known { 2 copy cid_GetStatusInfo dup null ne { 1 index load 3 index get dup null eq {pop pop cid_UpdateDB} { exch 1 index/Created get eq {exch pop exch pop} {pop cid_UpdateDB} ifelse } ifelse } {pop cid_UpdateDB} ifelse } {cid_UpdateDB} ifelse end }bind def end } if ct_Level2? {end setglobal} if /ct_UseNativeCapability? systemdict/composefont known def /ct_MakeOCF 35 dict def /ct_Vars 25 dict def /ct_GlyphDirProcs 6 dict def /ct_BuildCharDict 15 dict dup begin /charcode 2 string def /dst_string 1500 string def /nullstring()def /usewidths? true def end def ct_Level2?{setglobal}{pop}ifelse ct_GlyphDirProcs begin /GetGlyphDirectory { systemdict/languagelevel known {pop/CIDFont findresource/GlyphDirectory get} { 1 index/CIDFont findresource/GlyphDirectory get dup type/dicttype eq { dup dup maxlength exch length sub 2 index lt { dup length 2 index add dict copy 2 index /CIDFont findresource/GlyphDirectory 2 index put } if } if exch pop exch pop } ifelse + }def /+ { systemdict/languagelevel known { currentglobal false setglobal 3 dict begin /vm exch def } {1 dict begin} ifelse /$ exch def systemdict/languagelevel known { vm setglobal /gvm currentglobal def $ gcheck setglobal } if ?{$ begin}if }def /?{$ type/dicttype eq}def /|{ userdict/Adobe_CoolType_Data known { Adobe_CoolType_Data/AddWidths? known { currentdict Adobe_CoolType_Data begin begin AddWidths? { Adobe_CoolType_Data/CC 3 index put ?{def}{$ 3 1 roll put}ifelse CC charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore currentfont/Widths get exch CC exch put } {?{def}{$ 3 1 roll put}ifelse} ifelse end end } {?{def}{$ 3 1 roll put}ifelse} ifelse } {?{def}{$ 3 1 roll put}ifelse} ifelse }def /! { ?{end}if systemdict/languagelevel known {gvm setglobal} if end }def /:{string currentfile exch readstring pop}executeonly def end ct_MakeOCF begin /ct_cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def /ct_CID_STR_SIZE 8000 def /ct_mkocfStr100 100 string def /ct_defaultFontMtx[.001 0 0 .001 0 0]def /ct_1000Mtx[1000 0 0 1000 0 0]def /ct_raise{exch cvx exch errordict exch get exec stop}bind def /ct_reraise {cvx $error/errorname get(Error: )print dup( )cvs print errordict exch get exec stop }bind def /ct_cvnsi { 1 index add 1 sub 1 exch 0 4 1 roll { 2 index exch get exch 8 bitshift add } for exch pop }bind def /ct_GetInterval { Adobe_CoolType_Utility/ct_BuildCharDict get begin /dst_index 0 def dup dst_string length gt {dup string/dst_string exch def} if 1 index ct_CID_STR_SIZE idiv /arrayIndex exch def 2 index arrayIndex get 2 index arrayIndex ct_CID_STR_SIZE mul sub { dup 3 index add 2 index length le { 2 index getinterval dst_string dst_index 2 index putinterval length dst_index add/dst_index exch def exit } { 1 index length 1 index sub dup 4 1 roll getinterval dst_string dst_index 2 index putinterval pop dup dst_index add/dst_index exch def sub /arrayIndex arrayIndex 1 add def 2 index dup length arrayIndex gt {arrayIndex get} { pop exit } ifelse 0 } ifelse } loop pop pop pop dst_string 0 dst_index getinterval end }bind def ct_Level2? { /ct_resourcestatus currentglobal mark true setglobal {/unknowninstancename/Category resourcestatus} stopped {cleartomark setglobal true} {cleartomark currentglobal not exch setglobal} ifelse { { mark 3 1 roll/Category findresource begin ct_Vars/vm currentglobal put ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec {cleartomark false} {{3 2 roll pop true}{cleartomark false}ifelse} ifelse ct_Vars/vm get setglobal end } } {{resourcestatus}} ifelse bind def /CIDFont/Category ct_resourcestatus {pop pop} { currentglobal true setglobal /Generic/Category findresource dup length dict copy dup/InstanceType/dicttype put /CIDFont exch/Category defineresource pop setglobal } ifelse ct_UseNativeCapability? { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering(Identity)def /Supplement 0 def end def /CMapName/Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } if } { /ct_Category 2 dict begin /CIDFont 10 dict def /ProcSet 2 dict def currentdict end def /defineresource { ct_Category 1 index 2 copy known { get dup dup maxlength exch length eq { dup length 10 add dict copy ct_Category 2 index 2 index put } if 3 index 3 index put pop exch pop } {pop pop/defineresource/undefined ct_raise} ifelse }bind def /findresource { ct_Category 1 index 2 copy known { get 2 index 2 copy known {get 3 1 roll pop pop} {pop pop/findresource/undefinedresource ct_raise} ifelse } {pop pop/findresource/undefined ct_raise} ifelse }bind def /resourcestatus { ct_Category 1 index 2 copy known { get 2 index known exch pop exch pop { 0 -1 true } { false } ifelse } {pop pop/findresource/undefined ct_raise} ifelse }bind def /ct_resourcestatus/resourcestatus load def } ifelse /ct_CIDInit 2 dict begin /ct_cidfont_stream_init { { dup(Binary)eq { pop null currentfile ct_Level2? { {cid_BYTE_COUNT()/SubFileDecode filter} stopped {pop pop pop} if } if /readstring load exit } if dup(Hex)eq { pop currentfile ct_Level2? { {null exch/ASCIIHexDecode filter/readstring} stopped {pop exch pop(>)exch/readhexstring} if } {(>)exch/readhexstring} ifelse load exit } if /StartData/typecheck ct_raise } loop cid_BYTE_COUNT ct_CID_STR_SIZE le { 2 copy cid_BYTE_COUNT string exch exec pop 1 array dup 3 -1 roll 0 exch put } { cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi dup array exch 2 sub 0 exch 1 exch { 2 copy 5 index ct_CID_STR_SIZE string 6 index exec pop put pop } for 2 index cid_BYTE_COUNT ct_CID_STR_SIZE mod string 3 index exec pop 1 index exch 1 index length 1 sub exch put } ifelse cid_CIDFONT exch/GlyphData exch put 2 index null eq { pop pop pop } { pop/readstring load 1 string exch { 3 copy exec pop dup length 0 eq { pop pop pop pop pop true exit } if 4 index eq { pop pop pop pop false exit } if } loop pop } ifelse }bind def /StartData { mark { currentdict dup/FDArray get 0 get/FontMatrix get 0 get 0.001 eq { dup/CDevProc known not { /CDevProc 1183615869 internaldict/stdCDevProc 2 copy known {get} { pop pop {pop pop pop pop pop 0 -1000 7 index 2 div 880} } ifelse def } if } { /CDevProc { pop pop pop pop pop 0 1 cid_temp/cid_CIDFONT get /FDArray get 0 get /FontMatrix get 0 get div 7 index 2 div 1 index 0.88 mul }def } ifelse /cid_temp 15 dict def cid_temp begin /cid_CIDFONT exch def 3 copy pop dup/cid_BYTE_COUNT exch def 0 gt { ct_cidfont_stream_init FDArray { /Private get dup/SubrMapOffset known { begin /Subrs SubrCount array def Subrs SubrMapOffset SubrCount SDBytes ct_Level2? { currentdict dup/SubrMapOffset undef dup/SubrCount undef /SDBytes undef } if end /cid_SD_BYTES exch def /cid_SUBR_COUNT exch def /cid_SUBR_MAP_OFFSET exch def /cid_SUBRS exch def cid_SUBR_COUNT 0 gt { GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi 0 1 cid_SUBR_COUNT 1 sub { exch 1 index 1 add cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add GlyphData exch cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi cid_SUBRS 4 2 roll GlyphData exch 4 index 1 index sub ct_GetInterval dup length string copy put } for pop } if } {pop} ifelse } forall } if cleartomark pop pop end CIDFontName currentdict/CIDFont defineresource pop end end } stopped {cleartomark/StartData ct_reraise} if }bind def currentdict end def /ct_saveCIDInit { /CIDInit/ProcSet ct_resourcestatus {true} {/CIDInitC/ProcSet ct_resourcestatus} ifelse { pop pop /CIDInit/ProcSet findresource ct_UseNativeCapability? {pop null} {/CIDInit ct_CIDInit/ProcSet defineresource pop} ifelse } {/CIDInit ct_CIDInit/ProcSet defineresource pop null} ifelse ct_Vars exch/ct_oldCIDInit exch put }bind def /ct_restoreCIDInit { ct_Vars/ct_oldCIDInit get dup null ne {/CIDInit exch/ProcSet defineresource pop} {pop} ifelse }bind def /ct_BuildCharSetUp { 1 index begin CIDFont begin Adobe_CoolType_Utility/ct_BuildCharDict get begin /ct_dfCharCode exch def /ct_dfDict exch def CIDFirstByte ct_dfCharCode add dup CIDCount ge {pop 0} if /cid exch def { GlyphDirectory cid 2 copy known {get} {pop pop nullstring} ifelse dup length FDBytes sub 0 gt { dup FDBytes 0 ne {0 FDBytes ct_cvnsi} {pop 0} ifelse /fdIndex exch def dup length FDBytes sub FDBytes exch getinterval /charstring exch def exit } { pop cid 0 eq {/charstring nullstring def exit} if /cid 0 def } ifelse } loop }def /ct_SetCacheDevice { 0 0 moveto dup stringwidth 3 -1 roll true charpath pathbbox 0 -1000 7 index 2 div 880 setcachedevice2 0 0 moveto }def /ct_CloneSetCacheProc { 1 eq { stringwidth pop -2 div -880 0 -1000 setcharwidth moveto } { usewidths? { currentfont/Widths get cid 2 copy known {get exch pop aload pop} {pop pop stringwidth} ifelse } {stringwidth} ifelse setcharwidth 0 0 moveto } ifelse }def /ct_Type3ShowCharString { ct_FDDict fdIndex 2 copy known {get} { currentglobal 3 1 roll 1 index gcheck setglobal ct_Type1FontTemplate dup maxlength dict copy begin FDArray fdIndex get dup/FontMatrix 2 copy known {get} {pop pop ct_defaultFontMtx} ifelse /FontMatrix exch dup length array copy def /Private get /Private exch def /Widths rootfont/Widths get def /CharStrings 1 dict dup/.notdef dup length string copy put def currentdict end /ct_Type1Font exch definefont dup 5 1 roll put setglobal } ifelse dup/CharStrings get 1 index/Encoding get ct_dfCharCode get charstring put rootfont/WMode 2 copy known {get} {pop pop 0} ifelse exch 1000 scalefont setfont ct_str1 0 ct_dfCharCode put ct_str1 exch ct_dfSetCacheProc ct_SyntheticBold { currentpoint ct_str1 show newpath moveto ct_str1 true charpath ct_StrokeWidth setlinewidth stroke } {ct_str1 show} ifelse }def /ct_Type4ShowCharString { ct_dfDict ct_dfCharCode charstring FDArray fdIndex get dup/FontMatrix get dup ct_defaultFontMtx ct_matrixeq not {ct_1000Mtx matrix concatmatrix concat} {pop} ifelse /Private get Adobe_CoolType_Utility/ct_Level2? get not { ct_dfDict/Private 3 -1 roll {put} 1183615869 internaldict/superexec get exec } if 1183615869 internaldict Adobe_CoolType_Utility/ct_Level2? get {1 index} {3 index/Private get mark 6 1 roll} ifelse dup/RunInt known {/RunInt get} {pop/CCRun} ifelse get exec Adobe_CoolType_Utility/ct_Level2? get not {cleartomark} if }bind def /ct_BuildCharIncremental { { Adobe_CoolType_Utility/ct_MakeOCF get begin ct_BuildCharSetUp ct_ShowCharString } stopped {stop} if end end end end }bind def /BaseFontNameStr(BF00)def /ct_Type1FontTemplate 14 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0]def /FontBBox [-250 -250 1250 1250]def /Encoding ct_cHexEncoding def /PaintType 0 def currentdict end def /BaseFontTemplate 11 dict begin /FontMatrix [0.001 0 0 0.001 0 0]def /FontBBox [-250 -250 1250 1250]def /Encoding ct_cHexEncoding def /BuildChar/ct_BuildCharIncremental load def ct_Clone? { /FontType 3 def /ct_ShowCharString/ct_Type3ShowCharString load def /ct_dfSetCacheProc/ct_CloneSetCacheProc load def /ct_SyntheticBold false def /ct_StrokeWidth 1 def } { /FontType 4 def /Private 1 dict dup/lenIV 4 put def /CharStrings 1 dict dup/.notdefput def /PaintType 0 def /ct_ShowCharString/ct_Type4ShowCharString load def } ifelse /ct_str1 1 string def currentdict end def /BaseFontDictSize BaseFontTemplate length 5 add def /ct_matrixeq { true 0 1 5 { dup 4 index exch get exch 3 index exch get eq and dup not {exit} if } for exch pop exch pop }bind def /ct_makeocf { 15 dict begin exch/WMode exch def exch/FontName exch def /FontType 0 def /FMapType 2 def dup/FontMatrix known {dup/FontMatrix get/FontMatrix exch def} {/FontMatrix matrix def} ifelse /bfCount 1 index/CIDCount get 256 idiv 1 add dup 256 gt{pop 256}if def /Encoding 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for bfCount 1 255{2 copy bfCount put pop}for def /FDepVector bfCount dup 256 lt{1 add}if array def BaseFontTemplate BaseFontDictSize dict copy begin /CIDFont exch def CIDFont/FontBBox known {CIDFont/FontBBox get/FontBBox exch def} if CIDFont/CDevProc known {CIDFont/CDevProc get/CDevProc exch def} if currentdict end BaseFontNameStr 3(0)putinterval 0 1 bfCount dup 256 eq{1 sub}if { FDepVector exch 2 index BaseFontDictSize dict copy begin dup/CIDFirstByte exch 256 mul def FontType 3 eq {/ct_FDDict 2 dict def} if currentdict end 1 index 16 BaseFontNameStr 2 2 getinterval cvrs pop BaseFontNameStr exch definefont put } for ct_Clone? {/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} if FontName currentdict end definefont ct_Clone? { gsave dup 1000 scalefont setfont ct_BuildCharDict begin /usewidths? false def currentfont/Widths get begin exch/CIDFont get/GlyphDirectory get { pop dup charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore def } forall end /usewidths? true def end grestore } {exch pop} ifelse }bind def currentglobal true setglobal /ct_ComposeFont { ct_UseNativeCapability? { 2 index/CMap ct_resourcestatus {pop pop exch pop} { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CMapName 3 index def /CMapVersion 1.000 def /CMapType 1 def exch/WMode exch def /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-)search { pop pop (-)search { dup length string copy exch pop exch pop } {pop(Identity)} ifelse } {pop (Identity)} ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse composefont } { 3 2 roll pop 0 get/CIDFont findresource ct_makeocf } ifelse }bind def setglobal /ct_MakeIdentity { ct_UseNativeCapability? { 1 index/CMap ct_resourcestatus {pop pop} { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CMapName 2 index def /CMapVersion 1.000 def /CMapType 1 def /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-)search { pop pop (-)search {dup length string copy exch pop exch pop} {pop(Identity)} ifelse } {pop(Identity)} ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse composefont } { exch pop 0 get/CIDFont findresource ct_makeocf } ifelse }bind def currentdict readonly pop end end %%EndResource setglobal %%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 %%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. %%Version: 1.0 0 userdict/ct_T42Dict 15 dict put ct_T42Dict begin /Is2015? { version cvi 2015 ge }bind def /AllocGlyphStorage { Is2015? { pop } { {string}forall }ifelse }bind def /Type42DictBegin { 25 dict begin /FontName exch def /CharStrings 256 dict begin /.notdef 0 def currentdict end def /Encoding exch def /PaintType 0 def /FontType 42 def /FontMatrix[1 0 0 1 0 0]def 4 array astore cvx/FontBBox exch def /sfnts }bind def /Type42DictEnd { currentdict dup/FontName get exch definefont end ct_T42Dict exch dup/FontName get exch put }bind def /RD{string currentfile exch readstring pop}executeonly def /PrepFor2015 { Is2015? { /GlyphDirectory 16 dict def sfnts 0 get dup 2 index (glyx) putinterval 2 index (locx) putinterval pop pop } { pop pop }ifelse }bind def /AddT42Char { Is2015? { /GlyphDirectory get begin def end pop pop } { /sfnts get 4 index get 3 index 2 index putinterval pop pop pop pop }ifelse }bind def /T0AddT42Mtx2 { /CIDFont findresource/Metrics2 get begin def end }bind def end %%EndResource currentglobal true setglobal %%BeginFile: MMFauxFont.prc %%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. %%All Rights Reserved. userdict /ct_EuroDict 10 dict put ct_EuroDict begin /ct_CopyFont { { 1 index /FID ne {def} {pop pop} ifelse} forall } def /ct_GetGlyphOutline { gsave initmatrix newpath exch findfont dup length 1 add dict begin ct_CopyFont /Encoding Encoding dup length array copy dup 4 -1 roll 0 exch put def currentdict end /ct_EuroFont exch definefont 1000 scalefont setfont 0 0 moveto [ <00> stringwidth <00> false charpath pathbbox [ {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall grestore counttomark 8 add } def /ct_MakeGlyphProc { ] cvx /ct_PSBuildGlyph cvx ] cvx } def /ct_PSBuildGlyph { gsave 8 -1 roll pop 7 1 roll 6 -2 roll ct_FontMatrix transform 6 2 roll 4 -2 roll ct_FontMatrix transform 4 2 roll ct_FontMatrix transform currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse dup 9 1 roll { currentdict /StrokeWidth 2 copy known { get 2 div 0 ct_FontMatrix dtransform pop 5 1 roll 4 -1 roll 4 index sub 4 1 roll 3 -1 roll 4 index sub 3 1 roll exch 4 index add exch 4 index add 5 -1 roll pop } { pop pop } ifelse } if setcachedevice ct_FontMatrix concat ct_PSPathOps begin exec end { currentdict /StrokeWidth 2 copy known { get } { pop pop 0 } ifelse setlinewidth stroke } { fill } ifelse grestore } def /ct_PSPathOps 4 dict dup begin /m {moveto} def /l {lineto} def /c {curveto} def /cp {closepath} def end def /ct_matrix1000 [1000 0 0 1000 0 0] def /ct_AddGlyphProc { 2 index findfont dup length 4 add dict begin ct_CopyFont /CharStrings CharStrings dup length 1 add dict copy begin 3 1 roll def currentdict end def /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def /ct_PSBuildGlyph /ct_PSBuildGlyph load def /ct_PSPathOps /ct_PSPathOps load def currentdict end definefont pop } def systemdict /languagelevel known { /ct_AddGlyphToPrinterFont { 2 copy ct_GetGlyphOutline 3 add -1 roll restore ct_MakeGlyphProc ct_AddGlyphProc } def } { /ct_AddGlyphToPrinterFont { pop pop restore Adobe_CTFauxDict /$$$FONTNAME get /Euro Adobe_CTFauxDict /$$$SUBSTITUTEBASE get ct_EuroDict exch get ct_AddGlyphProc } def } ifelse /AdobeSansMM { 556 0 24 -19 541 703 { 541 628 m 510 669 442 703 354 703 c 201 703 117 607 101 444 c 50 444 l 25 372 l 97 372 l 97 301 l 49 301 l 24 229 l 103 229 l 124 67 209 -19 350 -19 c 435 -19 501 25 509 32 c 509 131 l 492 105 417 60 343 60 c 267 60 204 127 197 229 c 406 229 l 430 301 l 191 301 l 191 372 l 455 372 l 479 444 l 194 444 l 201 531 245 624 348 624 c 433 624 484 583 509 534 c cp 556 0 m } ct_PSBuildGlyph } def /AdobeSerifMM { 500 0 10 -12 484 692 { 347 298 m 171 298 l 170 310 170 322 170 335 c 170 362 l 362 362 l 374 403 l 172 403 l 184 580 244 642 308 642 c 380 642 434 574 457 457 c 481 462 l 474 691 l 449 691 l 433 670 429 657 410 657 c 394 657 360 692 299 692 c 204 692 94 604 73 403 c 22 403 l 10 362 l 70 362 l 69 352 69 341 69 330 c 69 319 69 308 70 298 c 22 298 l 10 257 l 73 257 l 97 57 216 -12 295 -12 c 364 -12 427 25 484 123 c 458 142 l 425 101 384 37 316 37 c 256 37 189 84 173 257 c 335 257 l cp 500 0 m } ct_PSBuildGlyph } def end %%EndFile setglobal Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end %%BeginResource: procset Adobe_AGM_Image 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{ - currentpacking - true setpacking -}if -userdict/Adobe_AGM_Image 71 dict dup begin put -/Adobe_AGM_Image_Id/Adobe_AGM_Image_1.0_0 def -/nd{ - null def -}bind def -/AGMIMG_&image nd -/AGMIMG_&colorimage nd -/AGMIMG_&imagemask nd -/AGMIMG_mbuf()def -/AGMIMG_ybuf()def -/AGMIMG_kbuf()def -/AGMIMG_c 0 def -/AGMIMG_m 0 def -/AGMIMG_y 0 def -/AGMIMG_k 0 def -/AGMIMG_tmp nd -/AGMIMG_imagestring0 nd -/AGMIMG_imagestring1 nd -/AGMIMG_imagestring2 nd -/AGMIMG_imagestring3 nd -/AGMIMG_imagestring4 nd -/AGMIMG_imagestring5 nd -/AGMIMG_cnt nd -/AGMIMG_fsave nd -/AGMIMG_colorAry nd -/AGMIMG_override nd -/AGMIMG_name nd -/AGMIMG_maskSource nd -/AGMIMG_flushfilters nd -/invert_image_samples nd -/knockout_image_samples nd -/img nd -/sepimg nd -/devnimg nd -/idximg nd -/ds -{ - Adobe_AGM_Core begin - Adobe_AGM_Image begin - /AGMIMG_&image systemdict/image get def - /AGMIMG_&imagemask systemdict/imagemask get def - /colorimage where{ - pop - /AGMIMG_&colorimage/colorimage ldf - }if - end - end -}def -/ps -{ - Adobe_AGM_Image begin - /AGMIMG_ccimage_exists{/customcolorimage where - { - pop - /Adobe_AGM_OnHost_Seps where - { - pop false - }{ - /Adobe_AGM_InRip_Seps where - { - pop false - }{ - true - }ifelse - }ifelse - }{ - false - }ifelse - }bdf - level2{ - /invert_image_samples - { - Adobe_AGM_Image/AGMIMG_tmp Decode length ddf - /Decode[Decode 1 get Decode 0 get]def - }def - /knockout_image_samples - { - Operator/imagemask ne{ - /Decode[1 1]def - }if - }def - }{ - /invert_image_samples - { - {1 exch sub}currenttransfer addprocs settransfer - }def - /knockout_image_samples - { - {pop 1}currenttransfer addprocs settransfer - }def - }ifelse - /img/imageormask ldf - /sepimg/sep_imageormask ldf - /devnimg/devn_imageormask ldf - /idximg/indexed_imageormask ldf - /_ctype 7 def - currentdict{ - dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ - bind - }if - def - }forall -}def -/pt -{ - end -}def -/dt -{ -}def -/AGMIMG_flushfilters -{ - dup type/arraytype ne - {1 array astore}if - dup 0 get currentfile ne - {dup 0 get flushfile}if - { - dup type/filetype eq - { - dup status 1 index currentfile ne and - {closefile} - {pop} - ifelse - }{pop}ifelse - }forall -}def -/AGMIMG_init_common -{ - currentdict/T known{/ImageType/T ldf currentdict/T undef}if - currentdict/W known{/Width/W ldf currentdict/W undef}if - currentdict/H known{/Height/H ldf currentdict/H undef}if - currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if - currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if - currentdict/D known{/Decode/D ldf currentdict/D undef}if - currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if - currentdict/O known{ - /Operator/O load 1 eq{ - /imagemask - }{ - /O load 2 eq{ - /image - }{ - /colorimage - }ifelse - }ifelse - def - currentdict/O undef - }if - currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if - currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if - currentdict/I known{/Interpolate/I ldf currentdict/I undef}if - currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if - /DataSource load xcheck not{ - DataSource type/arraytype eq{ - DataSource 0 get type/filetype eq{ - /_Filters DataSource def - currentdict/MultipleDataSources known not{ - /DataSource DataSource dup length 1 sub get def - }if - }if - }if - currentdict/MultipleDataSources known not{ - /MultipleDataSources DataSource type/arraytype eq{ - DataSource length 1 gt - } - {false}ifelse def - }if - }if - /NComponents Decode length 2 div def - currentdict/SkipImageProc known not{/SkipImageProc{false}def}if -}bdf -/imageormask_sys -{ - begin - AGMIMG_init_common - save mark - level2{ - currentdict - Operator/imagemask eq{ - AGMIMG_&imagemask - }{ - use_mask{ - process_mask AGMIMG_&image - }{ - AGMIMG_&image - }ifelse - }ifelse - }{ - Width Height - Operator/imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix/DataSource load - AGMIMG_&imagemask - }{ - BitsPerComponent ImageMatrix/DataSource load - AGMIMG_&image - }ifelse - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - cleartomark restore - end -}def -/overprint_plate -{ - currentoverprint{ - 0 get dup type/nametype eq{ - dup/DeviceGray eq{ - pop AGMCORE_black_plate not - }{ - /DeviceCMYK eq{ - AGMCORE_is_cmyk_sep not - }if - }ifelse - }{ - false exch - { - AGMOHS_sepink eq or - }forall - not - }ifelse - }{ - pop false - }ifelse -}def -/process_mask -{ - level3{ - dup begin - /ImageType 1 def - end - 4 dict begin - /DataDict exch def - /ImageType 3 def - /InterleaveType 3 def - /MaskDict 9 dict begin - /ImageType 1 def - /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def - /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def - /ImageMatrix[Width 0 0 Height neg 0 Height]def - /NComponents 1 def - /BitsPerComponent 1 def - /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def - /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def - currentdict end def - currentdict end - }if -}def -/use_mask -{ - dup/Mask known {dup/Mask get}{false}ifelse -}def -/imageormask -{ - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - } - { - save mark - level2 AGMCORE_host_sep not and{ - currentdict - Operator/imagemask eq DeviceN_PS2 not and{ - imagemask - }{ - AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get/DeviceGray eq and{ - [/Separation/Black/DeviceGray{}]setcolorspace - /Decode[Decode 1 get Decode 0 get]def - }if - use_mask{ - process_mask image - }{ - DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and - { - Names convert_to_process not{ - 2 dict begin - /imageDict xdf - /names_index 0 def - gsave - imageDict write_image_file{ - Names{ - dup(None)ne{ - [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace - Operator imageDict read_image_file - names_index 0 eq{true setoverprint}if - /names_index names_index 1 add def - }{ - pop - }ifelse - }forall - close_image_file - }if - grestore - end - }{ - Operator/imagemask eq{ - imagemask - }{ - image - }ifelse - }ifelse - }{ - Operator/imagemask eq{ - imagemask - }{ - image - }ifelse - }ifelse - }ifelse - }ifelse - }{ - Width Height - Operator/imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix/DataSource load - /Adobe_AGM_OnHost_Seps where{ - pop imagemask - }{ - currentgray 1 ne{ - currentdict imageormask_sys - }{ - currentoverprint not{ - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentdict ignoreimagedata - }ifelse - }ifelse - }ifelse - }{ - BitsPerComponent ImageMatrix - MultipleDataSources{ - 0 1 NComponents 1 sub{ - DataSource exch get - }for - }{ - /DataSource load - }ifelse - Operator/colorimage eq{ - AGMCORE_host_sep{ - MultipleDataSources level2 or NComponents 4 eq and{ - AGMCORE_is_cmyk_sep{ - MultipleDataSources{ - /DataSource DataSource 0 get xcheck - { - [ - DataSource 0 get/exec cvx - DataSource 1 get/exec cvx - DataSource 2 get/exec cvx - DataSource 3 get/exec cvx - /AGMCORE_get_ink_data cvx - ]cvx - }{ - DataSource aload pop AGMCORE_get_ink_data - }ifelse def - }{ - /DataSource - Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul - /DataSource load - filter_cmyk 0()/SubFileDecode filter def - }ifelse - /Decode[Decode 0 get Decode 1 get]def - /MultipleDataSources false def - /NComponents 1 def - /Operator/image def - invert_image_samples - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentoverprint not Operator/imagemask eq and{ - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentdict ignoreimagedata - }ifelse - }ifelse - }{ - MultipleDataSources NComponents AGMIMG_&colorimage - }ifelse - }{ - true NComponents colorimage - }ifelse - }{ - Operator/image eq{ - AGMCORE_host_sep{ - /DoImage true def - currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse - { - AGMCORE_black_plate not Operator/imagemask ne and{ - /DoImage false def - currentdict ignoreimagedata - }if - }if - 1 AGMCORE_&setgray - DoImage - {currentdict imageormask_sys}if - }{ - use_mask{ - process_mask image - }{ - image - }ifelse - }ifelse - }{ - Operator/knockout eq{ - pop pop pop pop pop - currentcolorspace overprint_plate not{ - knockout_unitsq - }if - }if - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end -}def -/sep_imageormask -{ - /sep_colorspace_dict AGMCORE_gget begin - CSA map_csa - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - }{ - save mark - AGMCORE_avoid_L2_sep_space{ - /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def - }if - AGMIMG_ccimage_exists - MappedCSA 0 get/DeviceCMYK eq and - currentdict/Components known and - Name()ne and - Name(All)ne and - Operator/image eq and - AGMCORE_producing_seps not and - level2 not and - { - Width Height BitsPerComponent ImageMatrix - [ - /DataSource load/exec cvx - { - 0 1 2 index length 1 sub{ - 1 index exch - 2 copy get 255 xor put - }for - }/exec cvx - ]cvx bind - MappedCSA 0 get/DeviceCMYK eq{ - Components aload pop - }{ - 0 0 0 Components aload pop 1 exch sub - }ifelse - Name findcmykcustomcolor - customcolorimage - }{ - AGMCORE_producing_seps not{ - level2{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ - [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse exch load]setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - currentdict imageormask - }{ - currentdict - Operator/imagemask eq{ - imageormask - }{ - sep_imageormask_lev1 - }ifelse - }ifelse - }{ - AGMCORE_host_sep{ - Operator/knockout eq{ - currentdict/ImageMatrix get concat - knockout_unitsq - }{ - currentgray 1 ne{ - AGMCORE_is_cmyk_sep Name(All)ne and{ - level2{ - Name AGMCORE_IsSeparationAProcessColor - { - Operator/imagemask eq{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor - }if - }{ - invert_image_samples - }ifelse - }{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - [/Separation Name[/DeviceGray] - { - sep_colorspace_proc AGMCORE_get_ink_data - 1 exch sub - }bind - ]AGMCORE_&setcolorspace - /sep_tint AGMCORE_gget AGMCORE_&setcolor - }if - }ifelse - currentdict imageormask_sys - }{ - currentdict - Operator/imagemask eq{ - imageormask_sys - }{ - sep_image_lev1_sep - }ifelse - }ifelse - }{ - Operator/imagemask ne{ - invert_image_samples - }if - currentdict imageormask_sys - }ifelse - }{ - currentoverprint not Name(All)eq or Operator/imagemask eq and{ - currentdict imageormask_sys - }{ - currentoverprint not - { - gsave - knockout_unitsq - grestore - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - currentcolorspace 0 get/Separation ne{ - [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - }if - currentoverprint - MappedCSA 0 get/DeviceCMYK eq and - Name AGMCORE_IsSeparationAProcessColor not and - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse - Name(All)ne and{ - imageormask_l2_overprint - }{ - currentdict imageormask - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end - end -}def -/colorSpaceElemCnt -{ - mark currentcolor counttomark dup 2 add 1 roll cleartomark -}bdf -/devn_sep_datasource -{ - 1 dict begin - /dataSource xdf - [ - 0 1 dataSource length 1 sub{ - dup currentdict/dataSource get/exch cvx/get cvx/exec cvx - /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx - }for - ]cvx bind - end -}bdf -/devn_alt_datasource -{ - 11 dict begin - /convProc xdf - /origcolorSpaceElemCnt xdf - /origMultipleDataSources xdf - /origBitsPerComponent xdf - /origDecode xdf - /origDataSource xdf - /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def - /DataSource origMultipleDataSources - { - [ - BitsPerComponent 8 idiv origDecode length 2 idiv mul string - 0 1 origDecode length 2 idiv 1 sub - { - dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch - origDataSource exch get 0()/SubFileDecode filter - BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx - }for - ]bind cvx - }{origDataSource}ifelse 0()/SubFileDecode filter def - [ - origcolorSpaceElemCnt string - 0 2 origDecode length 2 sub - { - dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div - 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx - }for - /convProc load/exec cvx - origcolorSpaceElemCnt 1 sub -1 0 - { - /dup cvx 2/add cvx/index cvx - 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx - }for - ]bind cvx 0()/SubFileDecode filter - end -}bdf -/devn_imageormask -{ - /devicen_colorspace_dict AGMCORE_gget begin - CSA map_csa - 2 dict begin - dup - /srcDataStrs[3 -1 roll begin - AGMIMG_init_common - currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse - { - Width Decode length 2 div mul cvi - { - dup 65535 gt{1 add 2 div cvi}{exit}ifelse - }loop - string - }repeat - end]def - /dstDataStr srcDataStrs 0 get length string def - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - }{ - save mark - AGMCORE_producing_seps not{ - level3 not{ - Operator/imagemask ne{ - /DataSource[[ - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def - /MultipleDataSources true def - /Decode colorSpaceElemCnt[exch{0 1}repeat]def - }if - }if - currentdict imageormask - }{ - AGMCORE_host_sep{ - Names convert_to_process{ - CSA get_csa_by_name 0 get/DeviceCMYK eq{ - /DataSource - Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource - filter_cmyk 0()/SubFileDecode filter def - /MultipleDataSources false def - /Decode[1 0]def - /DeviceGray setcolorspace - currentdict imageormask_sys - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate{ - /DataSource - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource - /MultipleDataSources false def - /Decode colorSpaceElemCnt[exch{0 1}repeat]def - currentdict imageormask_sys - }{ - gsave - knockout_unitsq - grestore - currentdict consumeimagedata - }ifelse - }ifelse - } - { - /devicen_colorspace_dict AGMCORE_gget/names_index known{ - Operator/imagemask ne{ - MultipleDataSources{ - /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def - /MultipleDataSources false def - }{ - /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def - }ifelse - invert_image_samples - }if - currentdict imageormask_sys - }{ - currentoverprint not Operator/imagemask eq and{ - currentdict imageormask_sys - }{ - currentoverprint not - { - gsave - knockout_unitsq - grestore - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - currentdict imageormask - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end - end - end -}def -/imageormask_l2_overprint -{ - currentdict - currentcmykcolor add add add 0 eq{ - currentdict consumeimagedata - }{ - level3{ - currentcmykcolor - /AGMIMG_k xdf - /AGMIMG_y xdf - /AGMIMG_m xdf - /AGMIMG_c xdf - Operator/imagemask eq{ - [/DeviceN[ - AGMIMG_c 0 ne{/Cyan}if - AGMIMG_m 0 ne{/Magenta}if - AGMIMG_y 0 ne{/Yellow}if - AGMIMG_k 0 ne{/Black}if - ]/DeviceCMYK{}]setcolorspace - AGMIMG_c 0 ne{AGMIMG_c}if - AGMIMG_m 0 ne{AGMIMG_m}if - AGMIMG_y 0 ne{AGMIMG_y}if - AGMIMG_k 0 ne{AGMIMG_k}if - setcolor - }{ - /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def - [/Indexed - [ - /DeviceN[ - AGMIMG_c 0 ne{/Cyan}if - AGMIMG_m 0 ne{/Magenta}if - AGMIMG_y 0 ne{/Yellow}if - AGMIMG_k 0 ne{/Black}if - ] - /DeviceCMYK{ - AGMIMG_k 0 eq{0}if - AGMIMG_y 0 eq{0 exch}if - AGMIMG_m 0 eq{0 3 1 roll}if - AGMIMG_c 0 eq{0 4 1 roll}if - } - ] - 255 - { - 255 div - mark exch - dup dup dup - AGMIMG_k 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - AGMIMG_y 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - AGMIMG_m 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - AGMIMG_c 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - counttomark 1 add -1 roll pop - } - ]setcolorspace - }ifelse - imageormask_sys - }{ - write_image_file{ - currentcmykcolor - 0 ne{ - [/Separation/Black/DeviceGray{}]setcolorspace - gsave - /Black - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 1 roll pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation/Yellow/DeviceGray{}]setcolorspace - gsave - /Yellow - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 2 roll pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation/Magenta/DeviceGray{}]setcolorspace - gsave - /Magenta - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 3 roll pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation/Cyan/DeviceGray{}]setcolorspace - gsave - /Cyan - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - close_image_file - }{ - imageormask - }ifelse - }ifelse - }ifelse -}def -/indexed_imageormask -{ - begin - AGMIMG_init_common - save mark - currentdict - AGMCORE_host_sep{ - Operator/knockout eq{ - /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ - /CSA get get_csa_by_name - }{ - /Names get - }ifelse - overprint_plate not{ - knockout_unitsq - }if - }{ - Indexed_DeviceN{ - /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{ - indexed_image_lev2_sep - }{ - currentoverprint not{ - knockout_unitsq - }if - currentdict consumeimagedata - }ifelse - }{ - AGMCORE_is_cmyk_sep{ - Operator/imagemask eq{ - imageormask_sys - }{ - level2{ - indexed_image_lev2_sep - }{ - indexed_image_lev1_sep - }ifelse - }ifelse - }{ - currentoverprint not{ - knockout_unitsq - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - level2{ - Indexed_DeviceN{ - /indexed_colorspace_dict AGMCORE_gget begin - }{ - /indexed_colorspace_dict AGMCORE_gget dup null ne - { - begin - currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse - get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and - AGMCORE_in_rip_sep and{ - [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] - setcolorspace - }if - end - } - {pop}ifelse - }ifelse - imageormask - Indexed_DeviceN{ - end - }if - }{ - Operator/imagemask eq{ - imageormask - }{ - indexed_imageormask_lev1 - }ifelse - }ifelse - }ifelse - cleartomark restore - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end -}def -/indexed_image_lev2_sep -{ - /indexed_colorspace_dict AGMCORE_gget begin - begin - Indexed_DeviceN not{ - currentcolorspace - dup 1/DeviceGray put - dup 3 - currentcolorspace 2 get 1 add string - 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub - { - dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put - }for - put setcolorspace - }if - currentdict - Operator/imagemask eq{ - AGMIMG_&imagemask - }{ - use_mask{ - process_mask AGMIMG_&image - }{ - AGMIMG_&image - }ifelse - }ifelse - end end -}def - /OPIimage - { - dup type/dicttype ne{ - 10 dict begin - /DataSource xdf - /ImageMatrix xdf - /BitsPerComponent xdf - /Height xdf - /Width xdf - /ImageType 1 def - /Decode[0 1 def] - currentdict - end - }if - dup begin - /NComponents 1 cdndf - /MultipleDataSources false cdndf - /SkipImageProc{false}cdndf - /Decode[ - 0 - currentcolorspace 0 get/Indexed eq{ - 2 BitsPerComponent exp 1 sub - }{ - 1 - }ifelse - ]cdndf - /Operator/image cdndf - end - /sep_colorspace_dict AGMCORE_gget null eq{ - imageormask - }{ - gsave - dup begin invert_image_samples end - sep_imageormask - grestore - }ifelse - }def -/cachemask_level2 -{ - 3 dict begin - /LZWEncode filter/WriteFilter xdf - /readBuffer 256 string def - /ReadFilter - currentfile - 0(%EndMask)/SubFileDecode filter - /ASCII85Decode filter - /RunLengthDecode filter - def - { - ReadFilter readBuffer readstring exch - WriteFilter exch writestring - not{exit}if - }loop - WriteFilter closefile - end -}def -/spot_alias -{ - /mapto_sep_imageormask - { - dup type/dicttype ne{ - 12 dict begin - /ImageType 1 def - /DataSource xdf - /ImageMatrix xdf - /BitsPerComponent xdf - /Height xdf - /Width xdf - /MultipleDataSources false def - }{ - begin - }ifelse - /Decode[/customcolor_tint AGMCORE_gget 0]def - /Operator/image def - /SkipImageProc{false}def - currentdict - end - sep_imageormask - }bdf - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_colorAry xddf - /customcolor_tint AGMCORE_gget - << - /Name AGMIMG_colorAry 4 get - /CSA[/DeviceCMYK] - /TintMethod/Subtractive - /TintProc null - /MappedCSA null - /NComponents 4 - /Components[AGMIMG_colorAry aload pop pop] - >> - setsepcolorspace - mapto_sep_imageormask - }ndf - Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_override false put - current_spot_alias{dup 4 get map_alias}{false}ifelse - { - false set_spot_alias - /customcolor_tint AGMCORE_gget exch setsepcolorspace - pop - mapto_sep_imageormask - true set_spot_alias - }{ - //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec - }ifelse - }bdf -}def -/snap_to_device -{ - 6 dict begin - matrix currentmatrix - dup 0 get 0 eq 1 index 3 get 0 eq and - 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop - { - 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def - 0 0 transform - AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch - AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch - itransform/AGMIMG_llY exch def/AGMIMG_llX exch def - 1 1 transform - AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch - AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch - itransform/AGMIMG_urY exch def/AGMIMG_urX exch def - [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat - }{ - }ifelse - end -}def -level2 not{ - /colorbuf - { - 0 1 2 index length 1 sub{ - dup 2 index exch get - 255 exch sub - 2 index - 3 1 roll - put - }for - }def - /tint_image_to_color - { - begin - Width Height BitsPerComponent ImageMatrix - /DataSource load - end - Adobe_AGM_Image begin - /AGMIMG_mbuf 0 string def - /AGMIMG_ybuf 0 string def - /AGMIMG_kbuf 0 string def - { - colorbuf dup length AGMIMG_mbuf length ne - { - dup length dup dup - /AGMIMG_mbuf exch string def - /AGMIMG_ybuf exch string def - /AGMIMG_kbuf exch string def - }if - dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop - } - addprocs - {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf}true 4 colorimage - end - }def - /sep_imageormask_lev1 - { - begin - MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ - { - 255 mul round cvi GrayLookup exch get - }currenttransfer addprocs settransfer - currentdict imageormask - }{ - /sep_colorspace_dict AGMCORE_gget/Components known{ - MappedCSA 0 get/DeviceCMYK eq{ - Components aload pop - }{ - 0 0 0 Components aload pop 1 exch sub - }ifelse - Adobe_AGM_Image/AGMIMG_k xddf - Adobe_AGM_Image/AGMIMG_y xddf - Adobe_AGM_Image/AGMIMG_m xddf - Adobe_AGM_Image/AGMIMG_c xddf - AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ - {AGMIMG_k mul 1 exch sub}currenttransfer addprocs settransfer - currentdict imageormask - }{ - currentcolortransfer - {AGMIMG_k mul 1 exch sub}exch addprocs 4 1 roll - {AGMIMG_y mul 1 exch sub}exch addprocs 4 1 roll - {AGMIMG_m mul 1 exch sub}exch addprocs 4 1 roll - {AGMIMG_c mul 1 exch sub}exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }ifelse - }{ - MappedCSA 0 get/DeviceGray eq{ - {255 mul round cvi ColorLookup exch get 0 get}currenttransfer addprocs settransfer - currentdict imageormask - }{ - MappedCSA 0 get/DeviceCMYK eq{ - currentcolortransfer - {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }{ - currentcolortransfer - {pop 1}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 2 get}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 1 get}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 0 get}exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }ifelse - }ifelse - }ifelse - }ifelse - end - }def - /sep_image_lev1_sep - { - begin - /sep_colorspace_dict AGMCORE_gget/Components known{ - Components aload pop - Adobe_AGM_Image/AGMIMG_k xddf - Adobe_AGM_Image/AGMIMG_y xddf - Adobe_AGM_Image/AGMIMG_m xddf - Adobe_AGM_Image/AGMIMG_c xddf - {AGMIMG_c mul 1 exch sub} - {AGMIMG_m mul 1 exch sub} - {AGMIMG_y mul 1 exch sub} - {AGMIMG_k mul 1 exch sub} - }{ - {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} - }ifelse - AGMCORE_get_ink_data currenttransfer addprocs settransfer - currentdict imageormask_sys - end - }def - /indexed_imageormask_lev1 - { - /indexed_colorspace_dict AGMCORE_gget begin - begin - currentdict - MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ - {HiVal mul round cvi GrayLookup exch get HiVal div}currenttransfer addprocs settransfer - imageormask - }{ - MappedCSA 0 get/DeviceGray eq{ - {HiVal mul round cvi Lookup exch get HiVal div}currenttransfer addprocs settransfer - imageormask - }{ - MappedCSA 0 get/DeviceCMYK eq{ - currentcolortransfer - {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - setcolortransfer - tint_image_to_color - }{ - currentcolortransfer - {pop 1}exch addprocs 4 1 roll - {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div}exch addprocs 4 1 roll - {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div}exch addprocs 4 1 roll - {3 mul HiVal mul round cvi Lookup exch get HiVal div}exch addprocs 4 1 roll - setcolortransfer - tint_image_to_color - }ifelse - }ifelse - }ifelse - end end - }def - /indexed_image_lev1_sep - { - /indexed_colorspace_dict AGMCORE_gget begin - begin - {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} - AGMCORE_get_ink_data currenttransfer addprocs settransfer - currentdict imageormask_sys - end end - }def -}if -end -systemdict/setpacking known -{setpacking}if -%%EndResource -currentdict Adobe_AGM_Utils eq {end} if -%%EndProlog -%%BeginSetup -Adobe_AGM_Utils begin -2 2010 Adobe_AGM_Core/ds gx -Adobe_CoolType_Core/ds get exec Adobe_AGM_Image/ds gx -currentdict Adobe_AGM_Utils eq {end} if -%%EndSetup -%%Page: 1 1 -%%EndPageComments -%%BeginPageSetup -%ADOBeginClientInjection: PageSetup Start "AI11EPS" -%AI12_RMC_Transparency: Balance=75 RasterRes=300 GradRes=150 Text=0 Stroke=1 Clip=1 OP=0 -%ADOEndClientInjection: PageSetup Start "AI11EPS" -Adobe_AGM_Utils begin -Adobe_AGM_Core/ps gx -Adobe_AGM_Utils/capture_cpd gx -Adobe_CoolType_Core/ps get exec Adobe_AGM_Image/ps gx -%ADOBeginClientInjection: PageSetup End "AI11EPS" -/currentdistillerparams where {pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse { userdict /AI11_PDFMark5 /cleartomark load put userdict /AI11_ReadMetadata_PDFMark5 {flushfile cleartomark } bind put} { userdict /AI11_PDFMark5 /pdfmark load put userdict /AI11_ReadMetadata_PDFMark5 {/PUT pdfmark} bind put } ifelse [/NamespacePush AI11_PDFMark5 [/_objdef {ai_metadata_stream_123} /type /stream /OBJ AI11_PDFMark5 [{ai_metadata_stream_123} currentfile 0 (% &&end XMP packet marker&&) /SubFileDecode filter AI11_ReadMetadata_PDFMark5 - - - - - - Print - - - application/postscript - - - Adobe Illustrator CS4 - 2010-03-03T12:46:33+01:00 - 2010-03-03T12:46:33+01:00 - 2010-03-03T12:46:33+01:00 - - - - 256 - 136 - JPEG - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAiAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A7953sLG4msJrpFlECzKs N1YyahZt6nCvqRx7pJ8FI38Cwoa0zK00yAQPsNFxdTjEiL+0cQ/t7j71PUNF0/VbDy3c32iQif1L cTW00KytBGYHJhZmWvFGNN/14Y5DAyAl3/HdZYozETKIv51su1mz0eLXR+mtPN1o62UUWmx/VXur eKVHk9dfSjSQI7J6QUldwKL3BccpGPpNSvfej5fpRkjHi9QuNbbWOt/oQX1N00fRRq9pcXGiR3F2 01nJG87RwvJIbD6zCAzskURVSpDcW4lvs8hPi9UuEgSof8ephw+mPECY2f08NjyHy68rV763Mtto 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 - - - - - - - - - converted - from application/pdf to <unknown> - - - saved - xmp.iid:D27F11740720681191099C3B601C4548 - 2008-04-17T14:19:15+05:30 - Adobe Illustrator CS4 - - - / - - - - - converted - from application/pdf to <unknown> - - - converted - from application/pdf to <unknown> - - - saved - xmp.iid:F97F1174072068118D4ED246B3ADB1C6 - 2008-05-15T16:23:06-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:FA7F1174072068118D4ED246B3ADB1C6 - 2008-05-15T17:10:45-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:EF7F117407206811A46CA4519D24356B - 2008-05-15T22:53:33-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:F07F117407206811A46CA4519D24356B - 2008-05-15T23:07:07-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:F77F117407206811BDDDFD38D0CF24DD - 2008-05-16T10:35:43-07:00 - Adobe Illustrator CS4 - - - / - - - - - converted - from application/pdf to <unknown> - - - saved - xmp.iid:F97F117407206811BDDDFD38D0CF24DD - 2008-05-16T10:40:59-07:00 - Adobe Illustrator CS4 - - - / - - - - - converted - from application/vnd.adobe.illustrator to <unknown> - - - saved - xmp.iid:FA7F117407206811BDDDFD38D0CF24DD - 2008-05-16T11:26:55-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:FB7F117407206811BDDDFD38D0CF24DD - 2008-05-16T11:29:01-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:FC7F117407206811BDDDFD38D0CF24DD - 2008-05-16T11:29:20-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:FD7F117407206811BDDDFD38D0CF24DD - 2008-05-16T11:30:54-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:FE7F117407206811BDDDFD38D0CF24DD - 2008-05-16T11:31:22-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:B233668C16206811BDDDFD38D0CF24DD - 2008-05-16T12:23:46-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:B333668C16206811BDDDFD38D0CF24DD - 2008-05-16T13:27:54-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:B433668C16206811BDDDFD38D0CF24DD - 2008-05-16T13:46:13-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:F77F11740720681197C1BF14D1759E83 - 2008-05-16T15:47:57-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:F87F11740720681197C1BF14D1759E83 - 2008-05-16T15:51:06-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:F97F11740720681197C1BF14D1759E83 - 2008-05-16T15:52:22-07:00 - Adobe Illustrator CS4 - - - / - - - - - converted - from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator - - - saved - xmp.iid:FA7F117407206811B628E3BF27C8C41B - 2008-05-22T13:28:01-07:00 - Adobe Illustrator CS4 - - - / - - - - - converted - from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator - - - saved - xmp.iid:FF7F117407206811B628E3BF27C8C41B - 2008-05-22T16:23:53-07:00 - Adobe Illustrator CS4 - - - / - - - - - converted - from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator - - - saved - xmp.iid:07C3BD25102DDD1181B594070CEB88D9 - 2008-05-28T16:45:26-07:00 - Adobe Illustrator CS4 - - - / - - - - - converted - from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator - - - saved - xmp.iid:F87F1174072068119098B097FDA39BEF - 2008-06-02T13:25:25-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:F77F117407206811BB1DBF8F242B6F84 - 2008-06-09T14:58:36-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:F97F117407206811ACAFB8DA80854E76 - 2008-06-11T14:31:27-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:0180117407206811834383CD3A8D2303 - 2008-06-11T22:37:35-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:F77F117407206811818C85DF6A1A75C3 - 2008-06-27T14:40:42-07:00 - Adobe Illustrator CS4 - - - / - - - - - saved - xmp.iid:02801174072068118DBBF568DAD28548 - 2010-03-03T12:46:33+01:00 - Adobe Illustrator CS4 - / - - - converted - from application/postscript to application/vnd.adobe.illustrator - - - - - uuid:25309aba-6ddf-a941-9bd2-dd7653570218 - xmp.did:F77F117407206811818C85DF6A1A75C3 - uuid:5D20892493BFDB11914A8590D31508C8 - proof:pdf - - proof:pdf - uuid:5D20892493BFDB11914A8590D31508C8 - xmp.did:02801174072068118DBBF568DAD28548 - xmp.iid:02801174072068118DBBF568DAD28548 - - - Print - - - - 841.889648 - 595.280273 - Points - - 1 - False - False - - - PANTONE 301 C - PANTONE 649 C - PANTONE 116 C - - - - - - Default Swatch Group - 0 - - - - White - CMYK - PROCESS - 0.000000 - 0.000000 - 0.000000 - 0.000000 - - - Black - CMYK - PROCESS - 0.000000 - 0.000000 - 0.000000 - 100.000000 - - - CMYK Red - CMYK - PROCESS - 0.000000 - 100.000000 - 100.000000 - 0.000000 - - - C=15 M=100 Y=90 K=10 - CMYK - PROCESS - 14.999998 - 100.000000 - 90.000000 - 10.000002 - - - PANTONE 301 C - SPOT - 100.000000 - CMYK - 100.000000 - 45.000000 - 0.000000 - 18.000000 - - - PANTONE 116 C - SPOT - 100.000000 - CMYK - 0.000000 - 16.000000 - 100.000000 - 0.000000 - - - PANTONE 649 C - SPOT - 100.000000 - CMYK - 10.000000 - 4.000000 - 0.000000 - 1.000000 - - - - - - Grays - 1 - - - - C=0 M=0 Y=0 K=100 - CMYK - PROCESS - 0.000000 - 0.000000 - 0.000000 - 100.000000 - - - - - - Brights - 1 - - - - C=0 M=100 Y=100 K=0 - CMYK - PROCESS - 0.000000 - 100.000000 - 100.000000 - 0.000000 - - - - - - - - - Adobe PDF library 9.00 - - - - - - - - - - - - - - - - - - - - - - - - - % &&end XMP packet marker&& [{ai_metadata_stream_123} <> /PUT AI11_PDFMark5 [/Document 1 dict begin /Metadata {ai_metadata_stream_123} def currentdict end /BDC AI11_PDFMark5 -%ADOEndClientInjection: PageSetup End "AI11EPS" -%%EndPageSetup -1 -1 scale 0 -188.006 translate -pgsv -[1 0 0 1 0 0 ]ct -gsave -np -gsave -0 0 mo -0 188.006 li -362.247 188.006 li -362.247 0 li -cp -clp -[1 0 0 1 0 0 ]ct -120.74 1.70166 mo -121.59 3.43408 li -123.499 3.7124 li -122.119 5.05811 li -122.448 6.95557 li -120.74 6.05811 li -119.031 6.95557 li -119.359 5.05811 li -117.98 3.7124 li -119.889 3.43408 li -120.74 1.70166 li -cp -false sop -/0 -<< -/Name (PANTONE 301 C) -/0 -[/DeviceCMYK] /CSA add_res -/CSA /0 get_csa_by_name -/MappedCSA /0 /CSA get_res -/TintMethod /Subtractive -/TintProc null -/NComponents 4 -/Components [ 1 .45 0 .18 ] ->> -/CSD add_res -1 /0 /CSD get_res sepcs -1 sep -f -212.326 1.70166 mo -213.181 3.43408 li -215.086 3.7124 li -213.711 5.05811 li -214.035 6.95557 li -212.326 6.05811 li -210.622 6.95557 li -210.951 5.05811 li -209.566 3.7124 li -211.477 3.43408 li -212.326 1.70166 li -cp -f -309.409 173.864 mo -309.409 185.006 li -340.487 185.006 li -340.487 174.034 li -351.322 171.798 358.99 162.363 358.99 150.356 cv -358.99 136.632 348.611 125.844 335.252 125.523 cv -339.26 123.525 342.881 120.909 346.03 117.682 cv -354.801 108.695 359.247 95.939 359.247 79.771 cv -359.247 19.77 li -313.831 19.77 li -313.831 43.6025 li -313.366 43.5972 312.888 43.5942 312.394 43.5942 cv -301.395 43.5942 291.796 47.4336 284.653 53.9966 cv -284.653 19.77 li -127.964 19.77 li -127.964 19.77 li -3 19.77 li -3 90.4458 li -3 101.085 7.18262 112.171 15.9883 119.923 cv -8.17285 125.191 3 134.254 3 144.538 cv -3 160.331 15.2832 173.261 30.6045 173.864 cv -30.6045 173.864 li -31.7227 173.864 li -136.358 173.864 li -136.358 185.006 li -167.44 185.006 li -167.44 173.864 li -167.936 173.761 168.416 173.996 168.897 173.864 cv -168.897 173.864 li -309.409 173.864 li -cp -/1 -<< -/Name (PANTONE 649 C) -/CSA /0 get_csa_by_name -/MappedCSA /0 /CSA get_res -/TintMethod /Subtractive -/TintProc null -/NComponents 4 -/Components [ .1 .04 0 .01 ] ->> -/CSD add_res -1 /1 /CSD get_res sepcs -1 sep -f -312.409 182.006 mo -337.487 182.006 li -337.487 174.034 li -337.487 172.611 338.487 171.383 339.881 171.095 cv -349.517 169.108 355.99 160.773 355.99 150.356 cv -355.99 138.393 346.85 128.802 335.18 128.522 cv -333.802 128.489 332.624 127.521 332.324 126.175 cv -332.024 124.83 332.68 123.454 333.913 122.838 cv -337.651 120.975 341.006 118.535 343.884 115.586 cv -352.087 107.18 356.247 95.1294 356.247 79.771 cv -356.247 22.77 li -316.831 22.77 li -316.831 43.6025 li -316.831 44.4043 316.51 45.1724 315.94 45.7358 cv -315.369 46.2998 314.567 46.604 313.797 46.6025 cv -313.343 46.5972 312.876 46.5942 312.394 46.5942 cv -302.417 46.5942 293.526 49.918 286.683 56.2056 cv -285.808 57.0107 284.539 57.2227 283.447 56.7432 cv -282.357 56.2646 281.653 55.187 281.653 53.9966 cv -281.653 22.77 li -6 22.77 li -6 90.4458 li -6 101.051 10.3633 110.974 17.9707 117.671 cv -18.668 118.286 19.042 119.189 18.9824 120.117 cv -18.9219 121.044 18.4355 121.891 17.665 122.411 cv -10.3604 127.334 6 135.606 6 144.538 cv -6 158.737 16.8291 170.29 30.666 170.864 cv -136.358 170.864 li -138.016 170.864 139.358 172.207 139.358 173.864 cv -139.358 182.006 li -164.44 182.006 li -164.44 173.864 li -164.44 172.442 165.439 171.214 166.832 170.926 cv -167.359 170.815 167.936 170.825 168.492 170.891 cv -168.626 170.873 168.762 170.864 168.897 170.864 cv -309.409 170.864 li -311.066 170.864 312.409 172.207 312.409 173.864 cv -312.409 182.006 li -312.409 182.006 li -cp -340.487 188.006 mo -309.409 188.006 li -307.752 188.006 306.409 186.664 306.409 185.006 cv -306.409 176.864 li -170.44 176.864 li -170.44 185.006 li -170.44 186.664 169.098 188.006 167.44 188.006 cv -136.358 188.006 li -134.701 188.006 133.358 186.664 133.358 185.006 cv -133.358 176.864 li -30.6045 176.864 li -30.5654 176.864 30.5264 176.863 30.4863 176.862 cv -13.3916 176.189 0 161.991 0 144.538 cv -0 134.852 4.2002 125.794 11.3926 119.654 cv -4.11328 111.963 0 101.512 0 90.4458 cv -0 19.77 li -0 18.1133 1.34277 16.77 3 16.77 cv -284.653 16.77 li -286.311 16.77 287.653 18.1133 287.653 19.77 cv -287.653 47.8262 li -294.339 43.3462 302.225 40.8833 310.831 40.6182 cv -310.831 19.77 li -310.831 18.1133 312.174 16.77 313.831 16.77 cv -359.247 16.77 li -360.904 16.77 362.247 18.1133 362.247 19.77 cv -362.247 79.771 li -362.247 96.7505 357.514 110.21 348.178 119.778 cv -346.703 121.288 345.123 122.682 343.445 123.956 cv -354.308 127.643 361.99 138.008 361.99 150.356 cv -361.99 162.827 354.653 172.986 343.487 176.365 cv -343.487 185.006 li -343.487 186.664 342.145 188.006 340.487 188.006 cv -340.487 188.006 li -cp -/2 -<< -/Name (PANTONE 116 C) -/CSA /0 get_csa_by_name -/MappedCSA /0 /CSA get_res -/TintMethod /Subtractive -/TintProc null -/NComponents 4 -/Components [ 0 .16 1 0 ] ->> -/CSD add_res -1 /2 /CSD get_res sepcs -1 sep -f -13 144.538 mo -13 155.618 21.6377 163.873 31.7227 163.873 cv -38.0928 163.873 li -38.0928 152.792 li -34.4941 152.792 li -29.5088 152.792 25.5225 149.578 25.5225 144.538 cv -25.5225 139.385 29.5088 136.173 34.4941 136.173 cv -38.0928 136.173 li -38.0928 125.093 li -31.7227 125.093 li -21.6377 125.093 13 133.348 13 144.538 cv -cp -1 /0 /CSD get_res sepcs -1 sep -f -57.3906 135.507 mo -55.2314 135.507 53.3486 136.338 51.6279 137.502 cv -51.6279 125.093 li -40.6045 125.093 li -40.6045 163.873 li -51.6865 163.873 li -51.6865 148.97 li -51.6865 146.699 52.4063 145.479 53.9531 145.479 cv -55.4463 145.479 56.2285 146.699 56.2285 148.97 cv -56.2285 163.873 li -67.3105 163.873 li -67.3105 147.25 li -67.3105 138.498 62.2637 135.507 57.3906 135.507 cv -cp -f -84.1055 135.507 mo -76.2412 135.507 69.7021 141.657 69.7021 150.854 cv -69.7021 158.278 75.9111 164.539 83.5518 164.539 cv -84.6641 164.539 85.8799 164.426 87.374 164.259 cv -87.374 153.401 li -86.1572 153.845 85.2686 154.012 84.4951 154.012 cv -82.666 154.012 80.8955 152.459 80.8955 150.023 cv -80.8955 147.53 82.666 146.033 84.7715 146.033 cv -86.877 146.033 88.8662 147.53 88.8662 150.023 cv -88.8662 163.873 li -100.061 163.873 li -100.061 153.125 li -100.061 140.604 92.3584 135.507 84.1055 135.507 cv -cp -f -131.769 135.507 mo -128.501 135.507 125.286 136.671 123.015 138.943 cv -120.744 136.671 117.53 135.507 114.263 135.507 cv -107.726 135.507 102.353 140.049 102.353 146.477 cv -102.353 163.873 li -113.435 163.873 li -113.435 149.524 li -113.435 146.254 114.263 145.479 115.425 145.479 cv -116.587 145.479 117.476 146.254 117.476 149.524 cv -117.476 163.873 li -128.559 163.873 li -128.559 149.524 li -128.559 146.254 129.444 145.479 130.603 145.479 cv -131.769 145.479 132.601 146.254 132.601 149.524 cv -132.601 163.873 li -143.683 163.873 li -143.683 146.477 li -143.683 140.049 138.305 135.507 131.769 135.507 cv -cp -f -161.595 135.507 mo -153.337 135.507 146.358 140.662 146.358 153.125 cv -146.358 175.006 li -157.44 175.006 li -157.44 150.908 li -157.44 147.584 159.212 146.033 161.536 146.033 cv -163.646 146.033 165.421 147.584 165.421 150.023 cv -165.421 152.515 163.315 154.012 161.37 154.012 cv -160.428 154.012 159.546 153.733 158.657 153.401 cv -158.657 164.315 li -159.823 164.481 160.985 164.539 162.425 164.539 cv -170.628 164.539 175.94 158.332 175.94 150.356 cv -175.94 141.493 169.462 135.507 161.595 135.507 cv -cp -f -184.44 120.881 mo -180.834 120.881 177.901 123.875 177.901 127.42 cv -177.901 130.967 180.834 133.956 184.44 133.956 cv -188.04 133.956 190.973 130.967 190.973 127.42 cv -190.973 123.875 188.04 120.881 184.44 120.881 cv -cp -f -178.897 163.873 mo -189.979 163.873 li -189.979 136.173 li -178.897 136.173 li -178.897 163.873 li -cp -f -207.155 153.568 mo -205.216 153.568 203.553 151.907 203.553 150.023 cv -203.553 148.138 205.216 146.477 207.155 146.477 cv -209.096 146.477 210.759 148.138 210.759 150.023 cv -210.759 151.907 209.096 153.568 207.155 153.568 cv -cp -207.155 135.507 mo -199.122 135.507 192.586 141.989 192.586 150.023 cv -192.586 157.999 199.122 164.539 207.155 164.539 cv -215.132 164.539 221.726 157.999 221.726 150.023 cv -221.726 141.989 215.132 135.507 207.155 135.507 cv -cp -f -237.089 135.507 mo -228.442 135.507 224.009 140.827 224.009 147.25 cv -224.009 163.873 li -235.091 163.873 li -235.091 148.97 li -235.091 146.532 235.702 145.7 237.089 145.7 cv -238.475 145.7 239.079 146.532 239.079 148.97 cv -239.079 163.873 li -250.161 163.873 li -250.161 147.25 li -250.161 140.827 245.726 135.507 237.089 135.507 cv -cp -f -265.132 145.811 mo -265.132 145.367 265.69 145.038 266.132 145.038 cv -272.557 145.038 li -272.557 136.173 li -261.09 136.173 li -256.771 136.173 252.395 138.889 252.395 143.541 cv -252.395 151.297 261.09 151.297 261.09 153.512 cv -261.09 154.122 260.705 154.565 258.931 154.565 cv -252.282 154.565 li -252.282 163.873 li -263.754 163.873 li -269.954 163.873 273.5 161.047 273.5 156.172 cv -273.5 148.416 265.132 147.805 265.132 145.811 cv -cp -f -292.686 135.507 mo -290.526 135.507 288.64 136.338 286.919 137.502 cv -286.919 125.093 li -275.899 125.093 li -275.899 163.873 li -286.978 163.873 li -286.978 148.97 li -286.978 146.699 287.696 145.479 289.248 145.479 cv -290.741 145.479 291.519 146.699 291.519 148.97 cv -291.519 163.873 li -302.602 163.873 li -302.602 147.25 li -302.602 138.498 297.555 135.507 292.686 135.507 cv -cp -f -305.435 163.873 mo -316.517 163.873 li -316.517 136.173 li -305.435 136.173 li -305.435 163.873 li -cp -f -310.978 120.881 mo -307.375 120.881 304.442 123.875 304.442 127.42 cv -304.442 130.967 307.375 133.956 310.978 133.956 cv -314.581 133.956 317.515 130.967 317.515 127.42 cv -317.515 123.875 314.581 120.881 310.978 120.881 cv -cp -f -334.64 135.507 mo -326.384 135.507 319.409 140.662 319.409 153.125 cv -319.409 175.006 li -330.487 175.006 li -330.487 150.908 li -330.487 147.584 332.257 146.033 334.587 146.033 cv -336.692 146.033 338.466 147.584 338.466 150.023 cv -338.466 152.515 336.36 154.012 334.417 154.012 cv -333.478 154.012 332.593 153.733 331.707 153.401 cv -331.707 164.315 li -332.87 164.481 334.036 164.539 335.476 164.539 cv -343.675 164.539 348.99 158.332 348.99 150.356 cv -348.99 141.493 342.513 135.507 334.64 135.507 cv -cp -f -134.064 46.7109 mo -135.979 46.7109 137.862 46.0308 139.19 44.6987 cv -140.522 46.0308 142.408 46.7109 144.319 46.7109 cv -148.149 46.7109 151.298 44.0488 151.298 40.2847 cv -151.298 30.0962 li -144.808 30.0962 li -144.808 38.4995 li -144.808 40.417 144.319 40.8696 143.641 40.8696 cv -142.958 40.8696 142.437 40.417 142.437 38.4995 cv -142.437 30.0962 li -135.946 30.0962 li -135.946 38.4995 li -135.946 40.417 135.425 40.8696 134.747 40.8696 cv -134.064 40.8696 133.576 40.417 133.576 38.4995 cv -133.576 30.0962 li -127.086 30.0962 li -127.086 40.2847 li -127.086 44.0488 130.237 46.7109 134.064 46.7109 cv -cp -f -161.238 36.1313 mo -162.38 36.1313 163.353 37.1055 163.353 38.208 cv -163.353 39.3101 162.38 40.2847 161.238 40.2847 cv -160.104 40.2847 159.133 39.3101 159.133 38.208 cv -159.133 37.1055 160.104 36.1313 161.238 36.1313 cv -cp -161.238 46.7109 mo -165.913 46.7109 169.776 42.8823 169.776 38.208 cv -169.776 33.5024 165.913 29.7051 161.238 29.7051 cv -156.53 29.7051 152.704 33.5024 152.704 38.208 cv -152.704 42.8823 156.53 46.7109 161.238 46.7109 cv -cp -f -177.678 37.9165 mo -177.678 36.001 178.161 35.5459 178.845 35.5459 cv -179.526 35.5459 180.048 36.001 180.048 37.9165 cv -180.048 46.3218 li -186.538 46.3218 li -186.538 37.9165 li -186.538 36.001 187.06 35.5459 187.737 35.5459 cv -188.417 35.5459 188.909 36.001 188.909 37.9165 cv -188.909 46.3218 li -195.399 46.3218 li -195.399 36.1313 li -195.399 32.3667 192.247 29.7051 188.417 29.7051 cv -186.505 29.7051 184.623 30.3872 183.291 31.7173 cv -181.963 30.3872 180.077 29.7051 178.161 29.7051 cv -174.335 29.7051 171.187 32.3667 171.187 36.1313 cv -171.187 46.3218 li -177.678 46.3218 li -177.678 37.9165 li -cp -f -205.405 46.7109 mo -208.748 46.7109 211.83 45.0874 213.845 42.8491 cv -210.175 39.1489 li -209.005 40.3818 207.838 41.3228 206.019 41.3228 cv -203.88 41.3228 202.774 39.7012 202.774 37.689 cv -202.774 36.2925 204.073 34.7021 205.116 34.7021 cv -206.056 34.7021 206.605 34.9297 207.155 35.3843 cv -203.908 37.1694 li -205.762 40.4478 li -213.845 36.001 li -212.74 32.3008 209.819 29.7051 205.079 29.7051 cv -200.991 29.7051 196.868 33.2104 196.868 37.9805 cv -196.868 43.0435 200.404 46.7109 205.405 46.7109 cv -cp -f -221.708 37.5913 mo -221.708 36.1626 222.063 35.6763 222.875 35.6763 cv -223.69 35.6763 224.042 36.1626 224.042 37.5913 cv -224.042 46.3218 li -230.532 46.3218 li -230.532 36.5845 li -230.532 32.8198 227.938 29.7051 222.875 29.7051 cv -217.812 29.7051 215.214 32.8198 215.214 36.5845 cv -215.214 46.3218 li -221.708 46.3218 li -221.708 37.5913 li -cp -f -244.208 41.811 mo -244.208 37.2671 239.306 36.9087 239.306 35.7427 cv -239.306 35.4819 239.633 35.2876 239.894 35.2876 cv -243.657 35.2876 li -243.657 30.0962 li -236.936 30.0962 li -234.408 30.0962 231.843 31.6865 231.843 34.4106 cv -231.843 38.9565 236.936 38.9565 236.936 40.2515 cv -236.936 40.6113 236.712 40.8696 235.67 40.8696 cv -231.777 40.8696 li -231.777 46.3218 li -238.499 46.3218 li -242.132 46.3218 244.208 44.6675 244.208 41.811 cv -cp -f -46.168 120.18 mo -51.7568 120.18 59.8896 117.767 65.4824 111.667 cv -71.0713 117.767 79.2041 120.18 84.7959 120.18 cv -109.704 120.18 117.964 103.407 117.964 90.4458 cv -117.964 29.7051 li -90.2607 29.7051 li -90.2607 85.7446 li -90.2607 92.2251 89.5 94.7671 84.7959 94.7671 cv -80.0928 94.7671 79.332 92.2251 79.332 85.7446 cv -79.332 29.7051 li -51.6279 29.7051 li -51.6279 85.7446 li -51.6279 92.2251 50.8672 94.7671 46.168 94.7671 cv -41.4639 94.7671 40.7041 92.2251 40.7041 85.7446 cv -40.7041 29.7051 li -13 29.7051 li -13 90.4458 li -13 103.407 21.2607 120.18 46.168 120.18 cv -cp -f -243.646 75.4507 mo -246.438 75.4507 li -246.438 53.5942 li -243.389 53.5942 li -232.208 53.5942 227.761 54.6099 222.296 62.6167 cv -222.04 62.6167 li -222.04 55.1187 li -197.897 55.1187 li -197.897 118.657 li -223.185 118.657 li -223.185 94.8931 li -223.185 80.915 228.394 75.4507 243.646 75.4507 cv -cp -f -249.238 118.657 mo -274.653 118.657 li -274.653 29.7051 li -249.238 29.7051 li -249.238 118.657 li -cp -f -323.831 29.7051 mo -323.831 84.855 li -323.831 92.479 319.765 96.0366 314.429 96.0366 cv -309.601 96.0366 305.534 92.479 305.534 86.8882 cv -305.534 81.1694 310.362 77.7378 314.809 77.7378 cv -316.968 77.7378 319.003 78.373 321.034 79.1362 cv -321.034 54.103 li -318.366 53.7202 315.698 53.5942 312.394 53.5942 cv -293.587 53.5942 281.389 67.8267 281.389 86.1255 cv -281.389 106.458 296.256 120.18 314.3 120.18 cv -333.233 120.18 349.247 108.364 349.247 79.771 cv -349.247 29.7051 li -323.831 29.7051 li -cp -f -159.002 73.4199 mo -158.608 72.3755 157.165 70.8647 156.164 72.0386 cv -156.281 72.6108 155.537 72.7939 155.166 73.1128 cv -155.051 73.0234 154.979 72.8911 154.782 72.8828 cv -154.545 73.0024 154.294 73.1104 154.092 73.2661 cv -154.042 73.5464 154.144 73.6748 154.245 73.8032 cv -153.737 73.9858 153.453 74.3921 153.018 74.6475 cv -152.813 74.5972 152.727 74.4277 152.558 74.3403 cv -152.328 74.4951 152.179 74.729 151.943 74.8774 cv -151.971 75.106 152.066 75.2666 152.174 75.4146 cv -151.707 75.7407 151.292 76.1182 150.869 76.4888 cv -150.632 75.8921 150.074 76.4111 149.949 76.7954 cv -150.145 76.8306 150.078 77.127 150.256 77.1792 cv -149.914 77.5786 149.538 77.9448 149.182 78.3301 cv -148.979 78.2764 149.02 77.9805 148.798 77.9463 cv -148.676 78.2842 148.186 78.2549 148.261 78.7905 cv -148.229 79.0024 148.547 78.8623 148.568 79.0205 cv -148.086 79.3823 147.855 79.9961 147.34 80.3247 cv -147.227 80.2598 147.176 80.1318 147.187 79.9414 cv -146.848 80.0366 146.694 80.3184 146.573 80.6318 cv -146.554 80.9067 146.804 80.9126 146.803 81.1689 cv -146.431 81.5635 146.218 82.1177 145.806 82.4731 cv -145.773 82.3267 145.587 82.334 145.652 82.0894 cv -145.107 82.2632 144.947 82.856 145.269 83.3169 cv -144.651 83.5259 144.686 84.5034 143.888 84.3145 cv -143.727 84.5112 143.654 84.7974 143.581 85.0815 cv -144.374 85.644 144.73 86.6431 145.959 86.77 cv -146.431 85.9985 145.327 85.7983 145.191 85.1582 cv -145.533 84.8096 145.764 84.3486 146.113 84.0078 cv -146.461 84.3496 146.921 84.5801 147.417 84.7749 cv -147.458 84.5874 147.496 84.4028 147.647 84.1611 cv -147.4 83.7422 146.824 83.6548 146.649 83.1636 cv -147.042 82.7627 147.277 82.2056 147.724 81.8594 cv -148.078 82.144 148.346 82.5166 148.951 82.5498 cv -148.871 82.2134 149.211 82.2979 149.182 82.0127 cv -148.919 81.6362 148.533 81.3828 148.185 81.0918 cv -148.639 80.6768 148.906 80.0752 149.488 79.7876 cv -149.662 80.2539 150.141 80.4141 150.64 80.5552 cv -150.547 80.1812 150.944 80.2974 150.946 80.0181 cv -150.796 79.5034 150.201 79.4336 150.025 78.9438 cv -150.467 78.6431 150.739 78.1738 151.177 77.8696 cv -151.471 78.2397 151.815 78.5605 152.327 78.7139 cv -152.506 78.585 152.651 78.4238 152.864 78.3301 cv -152.672 77.7549 152.038 77.6216 151.714 77.1792 cv -152.269 76.8901 152.613 76.3916 153.172 76.105 cv -153.602 76.3657 153.754 76.9033 154.398 76.9492 cv -154.495 76.7637 154.785 76.7734 154.782 76.4888 cv -154.632 75.9746 154.049 75.8926 153.861 75.4146 cv -154.271 75.0059 154.676 74.5913 155.319 74.417 cv -155.653 74.7231 155.893 75.123 156.316 75.3379 cv -156.611 75.2998 156.755 75.1108 156.931 74.9541 cv -156.799 74.3955 156.321 74.1826 156.01 73.8032 cv -156.396 73.4741 156.754 73.1147 157.161 72.8057 cv -157.642 73.1436 158.05 73.5537 158.542 73.8799 cv -158.834 73.7866 159.426 73.5903 159.156 73.1895 cv -159.148 73.3101 159.166 73.4556 159.002 73.4199 cv -cp -f -170.434 95.7466 mo -166.556 100.477 160.735 103.893 154.245 105.183 cv -152.979 105.435 151.645 105.44 150.409 105.567 cv -149.193 105.692 147.953 105.918 146.803 105.797 cv -146.188 105.732 145.562 105.532 144.885 105.491 cv -144.071 105.44 143.164 105.608 142.584 105.336 cv -142.028 105.077 141.272 104.283 140.896 103.725 cv -139.207 101.229 140.182 96.0103 140.358 92.6001 cv -143.374 96.5415 146.916 99.9556 150.409 103.418 cv -151.98 102.893 153.461 102.276 154.859 101.577 cv -152.935 99.4868 150.889 97.5161 148.875 95.5161 cv -146.873 93.5278 145.072 91.3384 142.967 89.4556 cv -142.902 89.3657 142.866 89.2485 142.891 89.0708 cv -140.775 88.1187 142.443 85.501 143.273 84.0078 cv -144.78 81.2993 146.912 78.0591 150.103 75.2612 cv -152.156 73.46 154.575 71.9067 157.314 70.6577 cv -158.771 69.9937 160.069 69.2495 161.381 69.9673 cv -161.573 70.0811 161.671 70.2905 161.765 70.5044 cv -163.086 71.0278 164.018 72.1943 165.063 73.1128 cv -168.229 75.8921 171.296 78.9829 174.117 82.166 cv -174.829 80.9097 175.234 79.3452 175.805 77.9463 cv -173.155 74.8418 170.212 72.0303 167.135 69.3535 cv -166.993 69.1787 166.362 69.2031 166.598 68.8931 cv -166.063 68.7891 165.782 68.4297 165.217 68.356 cv -167.846 67.8599 172.045 67.7275 174.5 68.4326 cv -175.396 68.6899 176.891 70.3911 177.263 71.1948 cv -177.647 72.0259 177.533 73.21 177.569 74.1104 cv -177.955 83.606 174.99 90.1899 170.434 95.7466 cv -cp -158.761 53.5942 mo -140.335 53.5942 125.341 68.4614 125.341 86.8882 cv -125.341 105.187 140.335 120.18 158.761 120.18 cv -177.058 120.18 192.181 105.187 192.181 86.8882 cv -192.181 68.4614 177.058 53.5942 158.761 53.5942 cv -cp -f -9.5127 10.1079 mo -8.729 10.1079 8.02197 9.97705 7.3916 9.71533 cv -6.76172 9.45459 6.15283 9.06299 5.56494 8.53955 cv -6.04053 7.99365 li -6.31152 8.24561 6.57959 8.46338 6.8457 8.64502 cv -7.11182 8.82666 7.38477 8.97607 7.66455 9.09229 cv -7.94482 9.20947 8.23877 9.29834 8.54688 9.35889 cv -8.85498 9.41943 9.19092 9.44971 9.55469 9.44971 cv -9.91895 9.44971 10.2549 9.40088 10.563 9.30322 cv -10.8706 9.20459 11.1318 9.06982 11.3467 8.89697 cv -11.5615 8.72412 11.7295 8.51807 11.8506 8.28076 cv -11.9722 8.04346 12.0327 7.78369 12.0327 7.50439 cv -12.0327 7.4751 li -12.0327 7.21436 11.9932 6.98096 11.9136 6.77588 cv -11.8345 6.5708 11.6899 6.3833 11.48 6.21533 cv -11.2695 6.04736 10.9873 5.896 10.6328 5.76025 cv -10.2778 5.62549 9.8208 5.50195 9.26074 5.38965 cv -8.67285 5.26855 8.16895 5.12598 7.74854 4.96289 cv -7.32861 4.7998 6.98584 4.6084 6.71973 4.38867 cv -6.45361 4.16943 6.25977 3.91504 6.13867 3.62598 cv -6.01758 3.33643 5.95654 3.00537 5.95654 2.63184 cv -5.95654 2.604 li -5.95654 2.23975 6.03613 1.90137 6.19482 1.58887 cv -6.35352 1.27637 6.57275 1.00342 6.85254 .769531 cv -7.13281 .536621 7.46387 .354492 7.84668 .223633 cv -8.22949 .0932617 8.64941 .027832 9.10693 .027832 cv -9.81592 .027832 10.4297 .125977 10.9478 .321777 cv -11.4658 .517578 11.9722 .816406 12.4668 1.21777 cv -12.0049 1.79199 li -11.5381 1.39063 11.0688 1.10596 10.5977 .937988 cv -10.1265 .769531 9.62012 .685547 9.07861 .685547 cv -8.71484 .685547 8.38574 .734863 8.0918 .833008 cv -7.79785 .930664 7.5459 1.06396 7.33594 1.23193 cv -7.12598 1.3999 6.96484 1.5957 6.85254 1.81982 cv -6.74072 2.04395 6.68457 2.28174 6.68457 2.53369 cv -6.68457 2.56201 li -6.68457 2.82324 6.72412 3.05859 6.80371 3.26855 cv -6.88281 3.479 7.02783 3.67041 7.23779 3.84277 cv -7.44775 4.01563 7.73926 4.17188 8.11279 4.31201 cv -8.48584 4.45166 8.96191 4.58252 9.54053 4.70361 cv -10.6792 4.93701 11.501 5.26611 12.0049 5.69092 cv -12.5088 6.11572 12.7607 6.68701 12.7607 7.40576 cv -12.7607 7.43408 li -12.7607 7.82568 12.6792 8.18799 12.5156 8.51807 cv -12.3525 8.8501 12.1284 9.1333 11.8438 9.36572 cv -11.5591 9.59912 11.2183 9.78174 10.8218 9.91162 cv -10.4248 10.0425 9.98877 10.1079 9.5127 10.1079 cv -cp -f -19.4106 .825684 mo -15.9946 .825684 li -15.9946 .167969 li -23.5547 .167969 li -23.5547 .825684 li -20.1387 .825684 li -20.1387 9.96729 li -19.4106 9.96729 li -19.4106 .825684 li -cp -f -31.8145 9.47705 mo -32.4214 9.47705 32.979 9.36377 33.4878 9.13525 cv -33.9961 8.90674 34.4346 8.59424 34.8037 8.19678 cv -35.1724 7.80029 35.459 7.33643 35.6646 6.80322 cv -35.8696 6.27197 35.9727 5.70264 35.9727 5.0957 cv -35.9727 5.06787 li -35.9727 4.46094 35.8677 3.88965 35.6577 3.35254 cv -35.4478 2.81641 35.1582 2.34961 34.7896 1.95264 cv -34.4209 1.55615 33.98 1.24121 33.4668 1.00781 cv -32.9531 .774414 32.3931 .657715 31.7866 .657715 cv -31.1797 .657715 30.6221 .771973 30.1138 1.00098 cv -29.605 1.22949 29.166 1.54199 28.7974 1.93896 cv -28.4287 2.33545 28.1416 2.7998 27.9365 3.33154 cv -27.731 3.86377 27.6284 4.43311 27.6284 5.03955 cv -27.6284 5.06787 li -27.6284 5.6748 27.7334 6.24658 27.9434 6.78271 cv -28.1538 7.31982 28.4429 7.78564 28.8115 8.18213 cv -29.1802 8.57959 29.6211 8.89502 30.1348 9.12744 cv -30.6479 9.36182 31.208 9.47705 31.8145 9.47705 cv -cp -31.7866 10.1353 mo -31.0396 10.1353 30.3657 9.99854 29.7637 9.72314 cv -29.1616 9.44775 28.646 9.07861 28.2168 8.6167 cv -27.7871 8.15479 27.4556 7.62061 27.2227 7.01416 cv -26.9893 6.40674 26.8726 5.76807 26.8726 5.0957 cv -26.8726 5.06787 li -26.8726 4.396 26.9917 3.75439 27.2295 3.14258 cv -27.4678 2.53174 27.8013 1.99268 28.2305 1.52588 cv -28.6597 1.05908 29.1777 .687988 29.7847 .412598 cv -30.3911 .137695 31.0679 0 31.8145 0 cv -32.5518 0 33.2236 .137695 33.8306 .412598 cv -34.437 .687988 34.9551 1.05664 35.3848 1.51855 cv -35.814 1.98096 36.145 2.51514 36.3784 3.12158 cv -36.6118 3.72852 36.7285 4.36768 36.7285 5.03955 cv -36.7378 5.04932 36.7378 5.05859 36.7285 5.06787 cv -36.7285 5.73975 36.6094 6.38135 36.3716 6.99268 cv -36.1338 7.604 35.7998 8.14307 35.3706 8.60986 cv -34.9414 9.07666 34.4209 9.44775 33.8096 9.72314 cv -33.1982 9.99854 32.5239 10.1353 31.7866 10.1353 cv -cp -f -45.1846 10.1353 mo -44.4844 10.1353 43.8359 10.0044 43.2388 9.74365 cv -42.6411 9.48291 42.1255 9.12549 41.6914 8.67236 cv -41.2573 8.22021 40.9189 7.68604 40.6768 7.06982 cv -40.4336 6.45361 40.3125 5.79541 40.3125 5.0957 cv -40.3125 5.06787 li -40.3125 4.37695 40.436 3.72363 40.6836 3.10791 cv -40.9307 2.4917 41.2715 1.95264 41.7056 1.49072 cv -42.1396 1.02881 42.6553 .664551 43.2524 .398926 cv -43.8496 .132813 44.5029 0 45.2124 0 cv -45.6509 0 46.0479 .0371094 46.4023 .111816 cv -46.7573 .186523 47.0859 .293945 47.3896 .433594 cv -47.6929 .57373 47.9775 .739746 48.2437 .930664 cv -48.5098 1.12207 48.7686 1.33447 49.0205 1.56787 cv -48.5024 2.09961 li -48.2876 1.89453 48.0635 1.70313 47.8306 1.52588 cv -47.5972 1.34863 47.3477 1.19678 47.0815 1.0708 cv -46.8154 .944824 46.5259 .844727 46.2134 .769531 cv -45.9009 .695313 45.5625 .657715 45.1987 .657715 cv -44.6104 .657715 44.0645 .769531 43.5605 .993652 cv -43.0566 1.21777 42.6201 1.52832 42.2515 1.9248 cv -41.8828 2.32178 41.5938 2.78564 41.3833 3.31787 cv -41.1733 3.84961 41.0684 4.42383 41.0684 5.03955 cv -41.0684 5.06787 li -41.0684 5.68359 41.1758 6.26025 41.3906 6.79736 cv -41.605 7.3335 41.8965 7.80029 42.2656 8.19678 cv -42.6343 8.59424 43.0703 8.90674 43.5747 9.13525 cv -44.0786 9.36377 44.6245 9.47705 45.2124 9.47705 cv -45.9219 9.47705 46.5376 9.34717 47.0605 9.08643 cv -47.583 8.82471 48.0918 8.44678 48.5864 7.95166 cv -49.0767 8.42822 li -48.8149 8.68018 48.5469 8.91064 48.2715 9.12061 cv -47.9961 9.33057 47.7021 9.51025 47.3896 9.65967 cv -47.0767 9.80908 46.7388 9.92627 46.3745 10.0103 cv -46.0107 10.0942 45.6138 10.1353 45.1846 10.1353 cv -cp -f -52.6187 .167969 mo -53.3467 .167969 li -53.3467 6.60791 li -59.5908 .167969 li -60.5845 .167969 li -56.3008 4.49365 li -60.7666 9.96729 li -59.8145 9.96729 li -55.7827 5.01172 li -53.3467 7.4751 li -53.3467 9.96729 li -52.6187 9.96729 li -52.6187 .167969 li -cp -f -64.1685 .167969 mo -64.8965 .167969 li -64.8965 4.71777 li -71.1685 4.71777 li -71.1685 .167969 li -71.8965 .167969 li -71.8965 9.96729 li -71.1685 9.96729 li -71.1685 5.37598 li -64.8965 5.37598 li -64.8965 9.96729 li -64.1685 9.96729 li -64.1685 .167969 li -cp -f -80.856 9.47705 mo -81.4629 9.47705 82.0205 9.36377 82.5293 9.13525 cv -83.0376 8.90674 83.4761 8.59424 83.8452 8.19678 cv -84.2139 7.80029 84.5005 7.33643 84.7061 6.80322 cv -84.9111 6.27197 85.0142 5.70264 85.0142 5.0957 cv -85.0142 5.06787 li -85.0142 4.46094 84.9092 3.88965 84.6992 3.35254 cv -84.4893 2.81641 84.1997 2.34961 83.8311 1.95264 cv -83.4624 1.55615 83.0215 1.24121 82.5083 1.00781 cv -81.9946 .774414 81.4346 .657715 80.8281 .657715 cv -80.2212 .657715 79.6636 .771973 79.1553 1.00098 cv -78.6465 1.22949 78.2075 1.54199 77.8389 1.93896 cv -77.4702 2.33545 77.1831 2.7998 76.978 3.33154 cv -76.7725 3.86377 76.6699 4.43311 76.6699 5.03955 cv -76.6699 5.06787 li -76.6699 5.6748 76.7749 6.24658 76.9849 6.78271 cv -77.1953 7.31982 77.4844 7.78564 77.853 8.18213 cv -78.2217 8.57959 78.6626 8.89502 79.1763 9.12744 cv -79.6895 9.36182 80.2495 9.47705 80.856 9.47705 cv -cp -80.8281 10.1353 mo -80.0811 10.1353 79.4072 9.99854 78.8052 9.72314 cv -78.2031 9.44775 77.6875 9.07861 77.2583 8.6167 cv -76.8286 8.15479 76.4971 7.62061 76.2642 7.01416 cv -76.0308 6.40674 75.9141 5.76807 75.9141 5.0957 cv -75.9141 5.06787 li -75.9141 4.396 76.0332 3.75439 76.271 3.14258 cv -76.5093 2.53174 76.8428 1.99268 77.272 1.52588 cv -77.7012 1.05908 78.2192 .687988 78.8262 .412598 cv -79.4326 .137695 80.1094 0 80.856 0 cv -81.5933 0 82.2651 .137695 82.8721 .412598 cv -83.4785 .687988 83.9966 1.05664 84.4263 1.51855 cv -84.8555 1.98096 85.1865 2.51514 85.4199 3.12158 cv -85.6533 3.72852 85.77 4.36768 85.77 5.03955 cv -85.7793 5.04932 85.7793 5.05859 85.77 5.06787 cv -85.77 5.73975 85.6509 6.38135 85.4131 6.99268 cv -85.1753 7.604 84.8413 8.14307 84.4121 8.60986 cv -83.9829 9.07666 83.4624 9.44775 82.8511 9.72314 cv -82.2397 9.99854 81.5654 10.1353 80.8281 10.1353 cv -cp -f -89.7881 .167969 mo -90.5161 .167969 li -90.5161 9.30908 li -96.27 9.30908 li -96.27 9.96729 li -89.7881 9.96729 li -89.7881 .167969 li -cp -f -99.9941 .167969 mo -100.68 .167969 li -104.614 5.96338 li -108.548 .167969 li -109.234 .167969 li -109.234 9.96729 li -108.506 9.96729 li -108.506 1.45557 li -104.628 7.09814 li -104.572 7.09814 li -100.694 1.45557 li -100.694 9.96729 li -99.9941 9.96729 li -99.9941 .167969 li -cp -f -134.223 10.1079 mo -133.439 10.1079 132.732 9.97705 132.102 9.71533 cv -131.472 9.45459 130.863 9.06299 130.275 8.53955 cv -130.751 7.99365 li -131.022 8.24561 131.29 8.46338 131.556 8.64502 cv -131.822 8.82666 132.095 8.97607 132.375 9.09229 cv -132.655 9.20947 132.949 9.29834 133.257 9.35889 cv -133.565 9.41943 133.901 9.44971 134.265 9.44971 cv -134.629 9.44971 134.965 9.40088 135.273 9.30322 cv -135.581 9.20459 135.842 9.06982 136.057 8.89697 cv -136.272 8.72412 136.44 8.51807 136.561 8.28076 cv -136.683 8.04346 136.743 7.78369 136.743 7.50439 cv -136.743 7.4751 li -136.743 7.21436 136.704 6.98096 136.624 6.77588 cv -136.545 6.5708 136.4 6.3833 136.19 6.21533 cv -135.98 6.04736 135.698 5.896 135.343 5.76025 cv -134.988 5.62549 134.531 5.50195 133.971 5.38965 cv -133.383 5.26855 132.879 5.12598 132.459 4.96289 cv -132.039 4.7998 131.696 4.6084 131.43 4.38867 cv -131.164 4.16943 130.97 3.91504 130.849 3.62598 cv -130.728 3.33643 130.667 3.00537 130.667 2.63184 cv -130.667 2.604 li -130.667 2.23975 130.747 1.90137 130.905 1.58887 cv -131.064 1.27637 131.283 1.00342 131.563 .769531 cv -131.843 .536621 132.174 .354492 132.557 .223633 cv -132.94 .0932617 133.36 .027832 133.817 .027832 cv -134.526 .027832 135.14 .125977 135.658 .321777 cv -136.176 .517578 136.683 .816406 137.177 1.21777 cv -136.715 1.79199 li -136.249 1.39063 135.779 1.10596 135.308 .937988 cv -134.837 .769531 134.331 .685547 133.789 .685547 cv -133.425 .685547 133.096 .734863 132.802 .833008 cv -132.508 .930664 132.256 1.06396 132.046 1.23193 cv -131.836 1.3999 131.675 1.5957 131.563 1.81982 cv -131.451 2.04395 131.395 2.28174 131.395 2.53369 cv -131.395 2.56201 li -131.395 2.82324 131.435 3.05859 131.514 3.26855 cv -131.593 3.479 131.738 3.67041 131.948 3.84277 cv -132.158 4.01563 132.45 4.17188 132.823 4.31201 cv -133.196 4.45166 133.672 4.58252 134.251 4.70361 cv -135.39 4.93701 136.211 5.26611 136.715 5.69092 cv -137.219 6.11572 137.471 6.68701 137.471 7.40576 cv -137.471 7.43408 li -137.471 7.82568 137.39 8.18799 137.226 8.51807 cv -137.063 8.8501 136.839 9.1333 136.554 9.36572 cv -136.27 9.59912 135.929 9.78174 135.532 9.91162 cv -135.135 10.0425 134.699 10.1079 134.223 10.1079 cv -cp -f -140.649 .167969 mo -141.461 .167969 li -144.541 8.88916 li -147.411 .139648 li -147.971 .139648 li -150.841 8.88916 li -153.921 .167969 li -154.677 .167969 li -151.121 10.0376 li -150.533 10.0376 li -147.663 1.52588 li -144.793 10.0376 li -144.205 10.0376 li -140.649 .167969 li -cp -f -158.374 .167969 mo -165.346 .167969 li -165.346 .825684 li -159.102 .825684 li -159.102 4.70361 li -164.715 4.70361 li -164.715 5.36182 li -159.102 5.36182 li -159.102 9.30908 li -165.416 9.30908 li -165.416 9.96729 li -158.374 9.96729 li -158.374 .167969 li -cp -f -172.555 9.30908 mo -173.236 9.30908 173.853 9.19971 174.403 8.979 cv -174.954 8.76025 175.42 8.45947 175.803 8.08057 cv -176.186 7.70166 176.482 7.25635 176.692 6.74658 cv -176.902 6.23682 177.008 5.68604 177.008 5.0957 cv -177.008 5.06787 li -177.008 4.4873 176.902 3.93945 176.692 3.42432 cv -176.482 2.90967 176.186 2.45996 175.803 2.07617 cv -175.42 1.69189 174.954 1.3877 174.403 1.16309 cv -173.853 .937988 173.236 .825684 172.555 .825684 cv -170.021 .825684 li -170.021 9.30908 li -172.555 9.30908 li -cp -169.293 .167969 mo -172.555 .167969 li -173.32 .167969 174.023 .291504 174.662 .538574 cv -175.302 .786133 175.853 1.12939 176.314 1.56787 cv -176.776 2.00635 177.133 2.52197 177.385 3.11475 cv -177.637 3.70752 177.764 4.34912 177.764 5.03955 cv -177.764 5.06787 li -177.764 5.7583 177.637 6.40283 177.385 7.00049 cv -177.133 7.59717 176.776 8.11572 176.314 8.55322 cv -175.853 8.99268 175.302 9.33838 174.662 9.59033 cv -174.023 9.84229 173.32 9.96729 172.555 9.96729 cv -169.293 9.96729 li -169.293 .167969 li -cp -f -181.781 .167969 mo -188.753 .167969 li -188.753 .825684 li -182.509 .825684 li -182.509 4.70361 li -188.123 4.70361 li -188.123 5.36182 li -182.509 5.36182 li -182.509 9.30908 li -188.823 9.30908 li -188.823 9.96729 li -181.781 9.96729 li -181.781 .167969 li -cp -f -192.701 .167969 mo -193.387 .167969 li -200.149 8.69385 li -200.149 .167969 li -200.849 .167969 li -200.849 9.96729 li -200.303 9.96729 li -193.401 1.25977 li -193.401 9.96729 li -192.701 9.96729 li -192.701 .167969 li -cp -f -224.551 10.1079 mo -223.822 10.1079 223.221 9.93799 222.744 9.59619 cv -222.269 9.25635 221.881 8.81494 221.582 8.27393 cv -222.185 7.896 li -222.334 8.14795 222.49 8.37158 222.653 8.56787 cv -222.816 8.76416 222.994 8.92725 223.186 9.05713 cv -223.377 9.18799 223.587 9.28662 223.815 9.35205 cv -224.044 9.4165 224.303 9.44971 224.593 9.44971 cv -224.891 9.44971 225.171 9.39307 225.433 9.28174 cv -225.693 9.17041 225.92 9.00439 226.111 8.78467 cv -226.303 8.56494 226.452 8.29248 226.56 7.96533 cv -226.667 7.63916 226.721 7.26123 226.721 6.83154 cv -226.721 .167969 li -227.448 .167969 li -227.448 6.77588 li -227.448 7.34521 227.366 7.84424 227.203 8.27393 cv -227.04 8.70361 226.823 9.05322 226.553 9.32373 cv -226.291 9.58447 225.99 9.78174 225.649 9.91162 cv -225.309 10.0425 224.942 10.1079 224.551 10.1079 cv -cp -f -235.611 10.1216 mo -235.023 10.1216 234.484 10.0308 233.994 9.84814 cv -233.504 9.6665 233.079 9.396 232.72 9.03662 cv -232.36 8.67822 232.083 8.23682 231.887 7.71338 cv -231.691 7.19189 231.593 6.58447 231.593 5.89307 cv -231.593 .167969 li -232.321 .167969 li -232.321 5.82373 li -232.321 6.99072 232.612 7.88916 233.196 8.51807 cv -233.779 9.14893 234.594 9.46338 235.639 9.46338 cv -236.134 9.46338 236.582 9.38916 236.983 9.23975 cv -237.384 9.09033 237.728 8.8667 238.012 8.56787 cv -238.297 8.26904 238.516 7.896 238.67 7.44775 cv -238.824 7.00049 238.901 6.48193 238.901 5.89307 cv -238.901 .167969 li -239.629 .167969 li -239.629 5.80908 li -239.629 6.51025 239.531 7.12842 239.335 7.66455 cv -239.139 8.20166 238.863 8.65186 238.509 9.01611 cv -238.154 9.37939 237.732 9.65479 237.242 9.84229 cv -236.752 10.0278 236.208 10.1216 235.611 10.1216 cv -cp -f -243.927 .167969 mo -244.612 .167969 li -251.375 8.69385 li -251.375 .167969 li -252.074 .167969 li -252.074 9.96729 li -251.528 9.96729 li -244.627 1.25977 li -244.627 9.96729 li -243.927 9.96729 li -243.927 .167969 li -cp -f -256.526 .167969 mo -263.498 .167969 li -263.498 .825684 li -257.254 .825684 li -257.254 4.70361 li -262.868 4.70361 li -262.868 5.36182 li -257.254 5.36182 li -257.254 9.30908 li -263.568 9.30908 li -263.568 9.96729 li -256.526 9.96729 li -256.526 .167969 li -cp -f -272.402 9.42236 mo -276.057 6.12354 li -276.458 5.76025 276.796 5.4292 277.071 5.13086 cv -277.347 4.83301 277.57 4.55322 277.743 4.29248 cv -277.916 4.03174 278.04 3.77979 278.114 3.5376 cv -278.189 3.29541 278.227 3.04346 278.227 2.78271 cv -278.227 2.46582 278.166 2.17676 278.045 1.91602 cv -277.923 1.65527 277.762 1.43359 277.562 1.25195 cv -277.36 1.07031 277.125 .930664 276.854 .83252 cv -276.584 .734863 276.304 .685547 276.015 .685547 cv -275.389 .685547 274.857 .842285 274.419 1.15479 cv -273.979 1.46777 273.555 1.91797 273.145 2.50586 cv -272.599 2.1416 li -272.813 1.81494 273.034 1.52344 273.264 1.2666 cv -273.492 1.01025 273.744 .789551 274.02 .60498 cv -274.295 .42041 274.601 .27832 274.937 .178223 cv -275.272 .0776367 275.655 .027832 276.084 .027832 cv -276.505 .027832 276.892 .0957031 277.246 .230957 cv -277.601 .366211 277.906 .555176 278.163 .797852 cv -278.42 1.04053 278.623 1.3252 278.772 1.65186 cv -278.922 1.97852 278.996 2.33301 278.996 2.71582 cv -278.996 2.74365 li -278.996 3.07959 278.949 3.39453 278.856 3.68896 cv -278.763 3.98291 278.616 4.27686 278.415 4.5708 cv -278.215 4.86475 277.961 5.17041 277.652 5.48779 cv -277.345 5.80518 276.976 6.15967 276.547 6.55127 cv -273.551 9.26807 li -279.095 9.26807 li -279.095 9.96729 li -272.402 9.96729 li -272.402 9.42236 li -cp -f -288.166 .867676 mo -282.482 .867676 li -282.482 .167969 li -288.979 .167969 li -288.979 .699707 li -284.513 9.96729 li -283.714 9.96729 li -288.166 .867676 li -cp -f -292.269 5.4458 mo -297.7 5.4458 li -297.7 6.17432 li -292.269 6.17432 li -292.269 5.4458 li -cp -f -303.706 10.1079 mo -302.978 10.1079 302.376 9.93799 301.899 9.59619 cv -301.424 9.25635 301.036 8.81494 300.737 8.27393 cv -301.34 7.896 li -301.489 8.14795 301.646 8.37158 301.809 8.56787 cv -301.972 8.76416 302.149 8.92725 302.341 9.05713 cv -302.532 9.18799 302.742 9.28662 302.971 9.35205 cv -303.199 9.4165 303.458 9.44971 303.748 9.44971 cv -304.046 9.44971 304.326 9.39307 304.588 9.28174 cv -304.849 9.17041 305.075 9.00439 305.267 8.78467 cv -305.458 8.56494 305.607 8.29248 305.715 7.96533 cv -305.822 7.63916 305.876 7.26123 305.876 6.83154 cv -305.876 .167969 li -306.604 .167969 li -306.604 6.77588 li -306.604 7.34521 306.521 7.84424 306.358 8.27393 cv -306.195 8.70361 305.979 9.05322 305.708 9.32373 cv -305.446 9.58447 305.146 9.78174 304.805 9.91162 cv -304.464 10.0425 304.098 10.1079 303.706 10.1079 cv -cp -f -314.767 10.1216 mo -314.179 10.1216 313.64 10.0308 313.149 9.84814 cv -312.659 9.6665 312.234 9.396 311.875 9.03662 cv -311.516 8.67822 311.238 8.23682 311.042 7.71338 cv -310.847 7.19189 310.748 6.58447 310.748 5.89307 cv -310.748 .167969 li -311.477 .167969 li -311.477 5.82373 li -311.477 6.99072 311.768 7.88916 312.352 8.51807 cv -312.935 9.14893 313.749 9.46338 314.794 9.46338 cv -315.289 9.46338 315.737 9.38916 316.139 9.23975 cv -316.539 9.09033 316.883 8.8667 317.167 8.56787 cv -317.452 8.26904 317.671 7.896 317.825 7.44775 cv -317.979 7.00049 318.057 6.48193 318.057 5.89307 cv -318.057 .167969 li -318.784 .167969 li -318.784 5.80908 li -318.784 6.51025 318.687 7.12842 318.49 7.66455 cv -318.294 8.20166 318.019 8.65186 317.664 9.01611 cv -317.31 9.37939 316.888 9.65479 316.397 9.84229 cv -315.907 10.0278 315.363 10.1216 314.767 10.1216 cv -cp -f -323.082 .167969 mo -323.81 .167969 li -323.81 9.30908 li -329.564 9.30908 li -329.564 9.96729 li -323.082 9.96729 li -323.082 .167969 li -cp -f -336.48 6.09033 mo -332.28 .167969 li -333.19 .167969 li -336.858 5.43164 li -340.54 .167969 li -341.408 .167969 li -337.208 6.07568 li -337.208 9.96729 li -336.48 9.96729 li -336.48 6.09033 li -cp -f -353.489 10.1353 mo -352.687 10.1353 351.987 9.97217 351.39 9.646 cv -350.792 9.31885 350.293 8.89502 349.892 8.37158 cv -350.452 7.90967 li -350.844 8.41357 351.289 8.80127 351.789 9.07178 cv -352.288 9.34229 352.859 9.47705 353.504 9.47705 cv -353.83 9.47705 354.141 9.42432 354.435 9.31689 cv -354.729 9.20947 354.985 9.06299 355.205 8.87549 cv -355.424 8.68896 355.599 8.46338 355.729 8.19678 cv -355.86 7.93018 355.926 7.63525 355.926 7.30713 cv -355.926 7.27979 li -355.926 6.93408 355.849 6.63135 355.694 6.36963 cv -355.541 6.10791 355.328 5.88721 355.058 5.70459 cv -354.787 5.52295 354.465 5.38525 354.092 5.29199 cv -353.719 5.19873 353.313 5.15186 352.874 5.15186 cv -352.342 5.15186 li -352.16 4.74561 li -355.534 .854004 li -350.396 .854004 li -350.396 .167969 li -356.527 .167969 li -356.527 .6875 li -353.21 4.49365 li -353.677 4.52197 354.12 4.59863 354.54 4.72412 cv -354.96 4.8501 355.328 5.02441 355.646 5.24805 cv -355.963 5.47168 356.215 5.75049 356.401 6.08643 cv -356.588 6.42041 356.682 6.81201 356.682 7.2583 cv -356.682 7.28662 li -356.682 7.71533 356.596 8.104 356.423 8.45361 cv -356.25 8.80225 356.017 9.10205 355.723 9.354 cv -355.429 9.60596 355.088 9.79834 354.701 9.93408 cv -354.313 10.0688 353.91 10.1353 353.489 10.1353 cv -cp -f -%ADOBeginClientInjection: EndPageContent "AI11EPS" -userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse -%ADOEndClientInjection: EndPageContent "AI11EPS" -grestore -grestore -pgrs -%%PageTrailer -%ADOBeginClientInjection: PageTrailer Start "AI11EPS" -[/EMC AI11_PDFMark5 [/NamespacePop AI11_PDFMark5 -%ADOEndClientInjection: PageTrailer Start "AI11EPS" -[ -[/CSA [/0 ]] -[/CSD [/0 /1 /2 ]] -] del_res -Adobe_AGM_Image/pt gx -Adobe_CoolType_Core/pt get exec Adobe_AGM_Core/pt gx -currentdict Adobe_AGM_Utils eq {end} if -%%Trailer -Adobe_AGM_Image/dt get exec -Adobe_CoolType_Core/dt get exec Adobe_AGM_Core/dt get exec -%%EOF -%AI9_PrintingDataEnd userdict /AI9_read_buffer 256 string put userdict begin /ai9_skip_data { mark { currentfile AI9_read_buffer { readline } stopped { } { not { exit } if (%AI9_PrivateDataEnd) eq { exit } if } ifelse } loop cleartomark } def end userdict /ai9_skip_data get exec %AI9_PrivateDataBegin %!PS-Adobe-3.0 EPSF-3.0 %%Creator: Adobe Illustrator(R) 14.0 %%AI8_CreatorVersion: 14.0.0 %%For: (Peter Lockman) () %%Title: (wwc-logo_3c.eps) %%CreationDate: 2010-03-07 11.38 %%Canvassize: 16383 %AI9_DataStream %Gb"-6BoaO[Pp#i0lp'PI!n-Kla5(Xn$4B6k7eH=r8KpRq*,#b:l=)VN1Na8JU3a2]IdN\1*Ie12'5;)Q_>3A%Z]Ibl$RX;X=H1j0LQeR\?>g(rQGkKOtfC(qPrUIe+f0B8Es7#a" %`ui&O?gRbHI!^84p@[sna*01$h9=@8"Mi]>HhZ!Y\)7/HVg&1;qVtX9/g^S1DmA4bs7l0^f3d@lmf`X1pTNHQo\Ji:hnFL2qR_6) %=24_H^.@/@n)(eWoVm$.a00CWY3^Z7n^E8;gln47I(fF%msk5(_p(b-Kn/G_];rNH7u5BV*sFYhiI\$_C0rj#O> %L#;_l\aj>Ooo&ZbnsH>,\(g8IZAsmm0E1'WYJ5SYj/7qk5J?m^rdXj/VsWN"+5X^/pqM9rhVD^,hr\0Q?)hjZoAh=OmpEj,iU+fa %YAmj]SSuE*/b(a\fe*3ar,pt3&,=o=ID5M4hmuWh^<(GtOPk$9jDL`bAh)/N_"H2[2=h>I-2X#KK3IJE=C['3oPGstqHp[Q]k %DuRM_`j>Eg7/t^p^\d9_l];)Drlq?%'FUR#7=Y9p]@Us=K]S85?[g>=ST$1UJ'.9XQQNtlrMf5H%rZrLM>HKa9+,mg]m0@Nf,n_= %5Qee"iV!**J+t\Lj*?N)*diohhWhK#S(WL7';N1=M[>Ce:? %gZ("X."+4ppW"MDTcR-^WB\lVI1%@_HWPDPr"$>G9^k:-JhbA@rK0_O082p^9Oos$KL;:K0-/#l]U!_bYg" %R%R0B9kkbj_78EQaE'HF9\'Gp:30+88@&I!;b7lfoq)"TIA>AekH[R?K0GA)`WuN29sfL/CANrk%":Mq(n[l`bmK_in\P7p(Q=C* %+9&10!sJUY>VJA:T2q(t$-b!.%kYpFJ=as`OYrp5dB#\fRQ$WN)EII3H;=F5G,](V0?PF[a9/3$SI)'DdPP_8(<-UZ6S@*M0Ktp= %.LZ8D*Z1ID6?]f-*L]!'JTeNh@G*0:gS!`:;eRi*\WA\FH)KNHXAc_fDpWQ.&K)P\*HFa;<'-ACn**2&Vis]aRF[njL2&^-L\>XJ %m8V)Q+fD`=/=EEEpM"ip^2NlZ9"-r/-bZXfb]6nmk`O(7P]!fNI?je(]2UGKSEC2Cn<:*9bTCWbS+`%0E-oF!rM5MM+pMmca-5PTC!s0Ss$\,8ZZlhIR=qZ+BDT0<)\]N$N;Qf6FidHj@BOPMonqHqJ/ScN_i[Q/(a>0E^Cd,QnRt'/F>_"ciV``Xh\lG',1B]G-EKq5?+*BKH9`qeoY4c-" %g)Y7MgpJe3':-t7Y9<0[j2jLOi--"sr*FGWb`@%G']bAhdlks7e-tI(S5[P)oG1%c%YU/n_IZ4(d7r+PC'2IMIA6DO=j&X*C)(BH %a)KP"5oF??eu@fn>&/R<:%_?oB^G5%;[p;L+W9jt5f1Q:qnZ_poH[atD97B4la-D$]gZhbkK,Z7IjZb8;1Ia8bUDX$@=F(o?;FRGm&6IX?`P %?XULsVgFdgaT_(Sn*M4P9`%1AIMj$Q3;.`W6#\0S4ne0V4lN#T:[X*uh"Hh^G=J0),q\RTpq)RU!2X+Bi@ICBFb%6(qq4n>Jlg#Z %?ss:)V="-XJTAP`Y1c".>(,$Tcjo/jnNtLIDn,shm/[HV[bg\\$o8'(l[=gS*1`rhXDHtshnor!FbINf#)9m3DBVMjO_00q%nk'* %\>L?@X[%4J1S%Xm,Hi>oU#:-#73$$V@W[oZ8"A2M)Dedd)][uG9(OMR>Q2/PYN1JLL!tbQ-.!"`MU`?DrihS7Dt^KCGR]Ek7;I]< %;'pU#%r6KA)i_jmm0r+QI8'DUc]"A(r^eWsSXSuE:qh=kLE(HE&Vn7bNFts]E@l*S2/DHtX'KeRF"HVbkDo7mS7:35PRH6#;_/b* %7ZXV-:@Z^*"B\[T+"<6qj.+([-+mE\ml6k?J%3PMlXBJC&rq`dIZLsHmYD[\fKI$]'$$r>[q+ZpYtVsXj:R6Mn<2VmP2D#Qfg@8Id[6X=[X/GnUKT^K\h;C %5jucY(F]kd'4@^!K_E*t3u:Y"VV/&8:h_;)9(`T@2H#L(Y.K&Xop-R.h7`bJ5Rm[LF_AH[cJ@IiO?V$[pMFiUH0BJHmO0kV %EN*3\5%;?pTQC(8a/]NL(5>MlRMkII(IW;H8D8o#]MNT:USV:uI6cL'14N^'kBrHc-r %QSS86f&JNU3hFYrpF9+1pZ'LZQBZ`]B=7VcGm!eRk/<\FBH*dW")TVFU$a6LasWle:>W2ch64'>Vf14opM8_J?fVce&mOHr[sdhV %k]cF(:\A[ARq<)iQcktj^Kp@F4E8,Z(a7&WU4a3L_`c+?jTOcrf,]FC=QGc8\ei[QclPF/*K'U&i3NO@%"t*Y]dLg_1]k7R %f'?#kJbB?87J2Ti`q7W`<2@.+K/!!eXSAakPKqfJpZM*HJg=NqPU&JkQ'<76\)0<5M0Ws$a<%h92p%Ojk7ZO'2VKb:E6Da/dH)6m %kS@H579[J*IYF407^+8c3V9)<&scN>4%`-:*HW#$pe:7,J!u99GJP#!CuH%]]W8-9?tDB;h4,Rs/>)7gEQg*!oJi@`3o?+(nZ;dU %`OE:J<;JYiQ1*;a\DA>e>1'hf.DkrZd8!+[E%&9A\!#OI5t0NpHYe\,E"7'3'=Y$t6kAjj0E\@SB>1&3D'qQh](Z.>B27q^J&^\o %/h#fr7\OrHHTha:bGRf0GS;AC$26.1X]tN:n$_nWJNC0OJB[hD0I`->a6l@F;^ %PU=O4G)=D+<2JNU^4SJ"K5'sl)]Qm6AUJfY]+`J/4Jdt"Nr$#(IUQ"l43YtGe/ah/KC49N0hb#pI*)2V>]0k&=VLY??R$R!YE<3^ %Ti(%706^(Fouf-teif/-G)P?@ooo6.R.^N$Y`"=*no@N5qK%:Qbg\:)[2#!3QKC^,0q<0YR"ehSd8Bj6h_!+pbo3/5fS\KXBSc1'Te,9?R.@/?>Sj5H[]q$L`pP'?;G`CoO3mV^/\C<:8 %g#>II9b62ad+&_egEi>U/CMocHHo`D?G=bI`/1Q$qQO8:n^#B^B&B4Feo71i1F_K&ca<+#@=#jSM.OST084`)fX%J8an8GV4BVUc#ui(m!3&e*5!TkXNcOT'6V'qLN2Gp'DJ?k!W??s#(6t" %!O)H^c5PJOZKpJ`'IcX+*SRRuQ$;f4gWT%gf@$;%:6USdU0*E@CRS)qfAEL9hITgTdPsnQl+Kiblfh/Y79\Nc)BY^?mi/Aq)Go>t %`EHq[0sD.]DoJ;`E>pNZ*fjj"6aHWo6`V6e;OSV-g%_K[[(+jX=Mm#PC9MYcMZGD %h!;F9bB>7TnT3O[WLV.]HqIA0"on;:SS(++Nd!EbW9iVpEhkWTd&`?VDBZ^,n/l0$1]NJ*_,Ye'kWe(I*r\\)KD;lU9?5!mqYm8( %-dlm&g_P-!,aoh:k*Rn:8dOn=;tI_0YmYV.(!LD-rWCHCutf/p-5>hqQRPh.<3tHL60tF7EH-g*th]4!$O`2*u"$mFPk:H5?o0'aqq\c_?+;ig,:Q#ONZla+CKXp+X@!41(8hfVR8INrQ>Z %p49%UXT)17!jZ@E*e`toM_BB.9a7N[ch/$%(E"fYBRCO]1ac@//;'eeL.2:ES*?!UaL$eGX(dHK0*?Gar98[0EDT$p)g6>2AeD/?K7i %,t%"KCno>aRWYhJ;s_Xm'E-4WdFOQXBUga7W>kdn;V:4V3L]B%CieZaZ@.i.@)]WEl-Z3&i>\[i[K(QYo/_Kj]?I-CL4hT(\N7g7 %jHS'iEK+X//?@Od5B,WC,W@.cP\W.77?VD>p]d$(A=k_&D^YDbCkXs2)DMo[@B#KGACPqNO)hs;-AXOBXL"3VcqGS4hT],0$\NW+ %bIk,lOj*VulV*;<#>@`ITq%H,0iB&#Z/-R=(jWJl\ln!r?.1sjh5\kp/o;`fNXCQPiTh.p/ %>!2)!NH.(l4]#\0#k%hbKrh:N$8@&`DG\'dIEnr#Dp[p7IU8gdPLg'N3d[N$gHN[*'1G\ZgkJd#,b0H.ja?AXiAjsK!r#`/.9Lr= %KetPOCRtD5d&\Zh]1:H0UV9.XD'4Q"Z+3$+??A&:Y%7ZM.$hba.D=-8:ps'jY]R=U4^(K,mVSlTM<3CCeL*@U*SWk\6<8qg%pb5. %WtW8)0?9#tYW2 %kE/eBFr,u#&:=KMVqh8ggp0#rSDe3QOjba38=^4CBeEV8<2MI`n!UaOnPAkgjc[YQN?Xoll?ANR*++2im:5JL,dO)uXN_Rm*(1m[ %(XDKr..n6<]C/Pb@p:ghQE+^O47<&HaYS?J8rCpg\nTU#mBYogJC^8B934d,qhcIjri80/R;Y%`*OH@OEegAXbB:3TY3l+7DYns[ %(,.93%M6fYn5:Zj&M$"]$f2:aUU,`k^%9#AK;;SQ+j"Mf6R%BF*bY#YG+snE^d2mgF7p^JEAqj`plfXd'5`/p[L:6-%a2;7P-2,( %(n[sS+Pj@oUle5X:@qT%Bh,5Xb10"k)1l&n%XJd#kZmN %_`NZVnY64Wq"j$+[i`>^n+:i%k*stpIenVi4Q,,SroQSmrT68]?80.1Dt:AE^\t-\oa`-/r:Ilk^AkYQjqkYu55aa4S)8^K5T&D9 %r:XLtkNc3AIX1Mm#.3:%qP&DTEt+9(cleQ)bkhePmWh)-/;:[e;U_qR+7^2*VFK7*Xgj/4i>hS0!O:Hs;S %rU*p-0H:&ck5BLH,9kQM^&@Hg#Di;"o?A@`rpUilr:Gahk57\!%,Y+(fV?/6^H@,^h/m`4^AImO5/-s_9guNuh>H9)hnO[:me(c_ %h_XJ.rh\9L6HG^e]C3tYQsZ9YFR/]$1da"G6*dZ^mW*OA=80 %3AZ`$Ic=(hDG%WcZ]@rH)tV%Xf+kmo&R+^GaH12G/sK$5lFff:)0rFi2>8\TB@HH#kcAE37jYFpe!ChUQ-_iO5]/7bYg%Bf%uK$Eef1\3b96V8oT>Q7TfrU>*]F+mCbpZDHh %TD^O52$h[efsEi/MRbC@PW)KDUc>0s&n/&2>aK8nAkeJbrK5Q['+W:F&,G!hg2SU418]_]=Qk:W@rdqfVKkCqqVSZPmZ*YEQscAU %B):k/.Q(d2WMWcrW6*ZPC9f_A2,/;DmV$dah#Z[P3X)@(ls`MQ4#5rA2;-ejdo;>b*H8Ua[3`n#9!0V.=Fquqpu7/_F%oRsjo_d' %^34-jF6/p,MWfKRZH`(%9#l%PlN/k]QZi$WbUKBU6Lr6qfq^&C#L0-+>B]C)1E2ZF=Y9VhV*)_S9";bmA.iEE, %X15@":@\!PoYGlmrG:9:*U9`_eM1X%>]AQMbLms(U!E5"/N29q]leLiO-MKSf27kpc!dc"ZsEkX^U]h!CKOf>Qhc<$Q(L9ZHEQb@ %[_h;"A00#oGO$!cn1TQTdes9IU)r@gS*B?/g23Y6-\FYS.]#Rk6OH3OI57u*fIkF;VO$L-QZV08:cmZ>K0Sc`m5PhUR8`)Z0a1=D %'D6l>Z`t6bfSNMF.7_<,OQ[S`b`4)s7LV@'lC9A>XB5^*`Gu^j"N3PHL1BLu:a^[gMNj,7(k%2Y%IXSqsWW2?F'hk#o %_A"^.9U0-rj@Hc]:+727R)4k?DR:qBU.fk?GoQ_MDDRPXb,^1pO(%%G %O[(LP72cL%Npc52g!'D-C2#_Pl(G"cmPWg7WhbnWqPks/-'X]l>=*<9eKpHH:g^[(!`>>B2(prq9b`((LQnuL\U7WMMK7`mQ>)qG_AcjG:c$cBKT\734;F)ccRu"-kgrq[jYY%70.cTL;5W/MS_/4PG4,\#e<]T< %.P!nEC&MJe]u^%+*;efmpB=4i^9sBiOY2^M.4881+)n4Yf1$0[hHG,T92_sM+es*W&2HJ&@>CJj0W&N.B"8uO.h&$Y5iW7g3R$;u^j3PoopA26[q8U0Ml %%3G!U@[BnM6dI4>Wth!mWC43N#Wc'O_pg/5j[%CBu@k!B9C/:W=6>92D %REQS&.6KMV"lLZK]/5qR=7J4N@?3]`V*0!ERh5Sgoo^TeENg,9%Nm/lh;3fFXPs[3'FopUJ0Ke5KA6d9I_Ze>_ZRW'4.NMYiL+UJ<@]&k&F(jqmFoo*7U\b_Ue^Ot2C2 %oc;N88/)/_V0!)B/fshNMOY+7-QliNLq,n=ML-U[KUA0(fOgDEnVFo4YXsYjLqG/`,LO=A_4E%q`,,`'G7_elR[NZ=jHorer&3k %XZ/ji=i`p=:D1R,8;;p7,3ae9P(P'j.s"=OU?U_mrPoGjXcbi0B!^!*4?h^5W&BDAVn5Tb\LcLskqc@2Q7U6kSk57c9O)7bZ'?AI %-ZZoB#n.YNp7ee[9Ii3b8i!Mb`g)+_pU3s2'C5,u86bH@SO$id%PR(*9)XE``IQ*Zcf.J.:p*UC;2(N4pmZhA^=u0p?[TOriX.tg %0;`S1g0QgE4)@;=gP]V,$pA0'DOe)Y6b-c_obd"e@B5kL$Qj2!6U^(FKOi7)XsIU.*s6Q3e4mD]JOb-KX#gJkFMCPHmNthL!%.?9 %oJr6R5Y[.=Oqqua@_GS,e9A'"![+31gQaR0SO\p@2D=:PQ/d/\241hU_/uY@`X1K"UXO::a@YWs";TO4Xq7=JS(Zm!:aT=1FaJ'O4;.eldKM)>WKs2uDTFcJ0fe8:H_h]&)'FAW?XX_\HYO7cOY&ad'CG)P.sma5(@i#NIBP?UGd#K3)n1sCi5i1Bm%IYJ3% %r@soB0qS=urnRJi(RVXNtQMa@+:cME[;04*Xlh+B`VK4BeCHS)3P+!29n;849(88r/*8Z %`W[BoZN!_W<8/"Cm)9Qpc3WDNQ(BN(H`?Kaf?f;9q2CTtB3SX=\.<%6o9cS+6PcfG>Tfp#9)#6HfbA"i(Mn#J\2ftB[!P1*^%)rp %(4fsN/+:,>LmUUl:#GWQi6Ncdq)b\I=hOAX?@!A?rOKm?5Mpbc407ohKfu38B,(&PQ]NkW[jS'9$D/hrY41rrr\_ddIg2&4Z\3]P %+eOq,iJ(k;caH@UU:"P0_44:7?FikaVr]H;mj_T;U;FT&B4"S>]qhn2Ne0Hh^qPE\)[ab)'UJ28kj&P5V\Aja"LED5 %@=0r+]pUQs/F38o\V-ahh0?ig^AV7BHT'7d#'S8.hQpMTDXc[R00Z^]ilh6\6=XTC+Ei,NJ]qK;oQ>pYYOX4GfXfoYIMDlW>f"3u %jsLbVYZ2`4R*_FiSjNc&$nXVr^^R@038,uYct>q"58C1I\*8Js4Z/q4[aAb`k>Q[LBuDs:#Q_ErdcjhIq-$%%CVd3;8Es2k]`:ji %@Z%I[qkQo]3ZF<;ImE"'g)KYX#5c)FI^?t*gO$h=pW_F+keec>%lIM?M`JJ`JT=]lH9(%JLoSieLD&*=Ica-tQHu:]%'(CtZ&1d< %?Ftp9iVP!#Nnkp/7A!0ACAm!RPTiXaT1ZY,b`LN9h5[kEM7WmTaE&e@jXrm',@_%-0Vuf'kP33?I%Dj9Y40!=^SqR4n\fL&cP8WF %peZZo:L`OXAtL4XI]DI?Yab*-Sd;!=?,HQF;12 %TQ=qg2b:lpFiVe0;;GGhYiIWSHV$E(KtU^n)D-OblSI8b>\o&`fo9/V@H(b!["N^(L$.f7*_bbADQZPDEp/IaN^P/X_Pl=@Natn6 %FY^>rq.),'H?WLIQY'KuNUW0sbiu=68>RW]s7&+4);\4q-/&W/j6UR'X+qPH@uTH3N;/Kld?baLad9#&]ZIPZOHMX"4OU2fOA86F %3>kG$qh:g%TjVHG^L;D;dT$3F(mf+*p+dAhBug3lneE=)'uSRU:r^@M$t@aK!3,7V3_:q#`:YO]F*VB %?5`CF%sbf*F3Zm3kT%Sq?:UPj7:%(rY.(@q(irsbY#Dk'3tAZIj=oofcC<+!O!:Vl;"Z&f;n'7q"7F0fqsP#=g]9@eN8)M87S:15 %G5,Y^DNZ5^$]>rIi6l7Cm5nS1"0UjHCZocc&h_ZDQUXs;FZIa^^O+rdhGr"EGg-E\o:C<2GF=%c7mGgYb]f=II,r]4F3bDhpVg=g %I@7nWm!(FZM>]%>X+nb"]sZPt'/od@YbkgVL0k\c2I%fc\`%A@AIZ6Z->5Q):ZjXeVF,6fG2pXqe=rMUL"3=\\_=XHs5Xr3GGAE2 %HAQf9?Z*(@d8qaNI4^e1]@uAXDa],;"cZV,lDf?PCj`>OP\,:@FPHXd,.n`9W9@Q`okW8S&p3fdU00RUXbc5Z.]mjmqCt][r]i`s %Z:]D-.ag2%h)8R9R+,L&C8_o".YCnn=U;37],s70.?`HkDgYH]]0B+Xq`.;#?H!FC^O$8])OPuBbi@,Dc>q=1\n.`#04H^i02c,kp4o& %d[3`&a8.NZ`b7$S[WqG?5^$?OHt#u8\'I@H^@_CA;;`'UNX3"A13gXZoF0!5Z"Z_2V%N+PRDm-!?5cIGH+\*^qdpG"@egnF]&cpO %?Bdgik+5XXo1],!?h7&V%g5HdApTd$HER2aC3oHWRa'Yap-/\a59cYcjpp\\!M@:@brO:3XeT(PT'1oOUBa1>3gg6f^fH3[RMAZ?T?;P@g$-"$VfqPI^8BQ"`N]+_/q\5YINIu44HoYV2IG4$3qG#0rbXmJB=df)Y'm0_TBY'B %](VPpr@E%h:Er#(pfCPUZZbG5]CN%/H.K,\CKI+8.t:%Ub-N\PZRsh9/_IV6So)<8D8Df\_61!GHhL9]p/$&.:jMb2H1k'[p/$%1 %LWZqqjB3f"*"V$"Uuut.cg_R=C(*3u6%1ODDl*7bdX?u,VnUN5qH3WQ4aJe#GqVrpkrJKYK??;J@l=t+ml>1`RdRBDrBMuV %`:6S^k.-skR9uLj*cWn_q>fIZd2%A]IoH_*5>/,qW-.#i19*0pQ$TO+^=1OAZ5_8G2^9r^odEtqn[ZquUZ5>nXI$_j2b:)#K]ga; %m-qj_"IooEdCD"M-(K76jI/Eb8u]-3YZn7u.c@2'i!\kKSftYA&@GuF*&&4;R6A5610^AkhRl!(b5F.ZZM=c_`A^>(B0//\SAM$p %K&dIH"V)eg31rNfKF!SI89tr4hM>\th=g1oBX^Ec:"jO7I\SCX0mj$kf%[Oe"ng$pr'B/?+6CR[RcmQVAOhN_LE\&h))SVSnXo*K-%NE&=`"Qj:auMM]]nOTjn?'a,d4/4aHb`XNY7 %<`q#0oSsNrZs7=-/B_4TFEt.F7YT'E"U@m\Y4m7]7G]S2/i%'EFjhp(Mk5(M7Jsf'H!:)tY._oMEV3&8r$%/-DZCAAb75*"oR/B( %Zn,&o:[F+n7 %8qlB#(=`I8(IYqZkF,HG31ar=D\S;-5n:@P)ogDCQ%PTF4Q66aD-4=,i.ce%rdE.DcTHe5331UbQg8cH;sTgoofAG=Fj/rnS]fMD %k&S/\Ql4k,DU@2Qa=?k-)I2&Q->^sakT%Iodb*cK?6L;-0AA9PEf_2"*S";\XI>=JSdB> %S9@#?cilk$=fHuo:1lfRCB'P(P1]t&TYMf,bd/df9b#?M*KA`Odju1j/%_0T=4:r#%e-XG?Ji(l5#*D=S#3\-eP4nF[Up]mN_q)t %s)&:FE_)VI^Kj2V*E)1XiKX\+SW&nG7,lf;f'leS8LJu5k((t1*gJm4pm+]aPn,9k,$rG6Uh%=/3ZKhe,X")o"8QBqga7N3E=CJqO";u.?Do(S5iWqmTa8IHeWAOfmYQEpWpD*>A)Eppp"P^iTI65lkAtqiOM:MVp&1&Im'@9 %mEU4,grj=`p^LHCdrp9mqr^/2ZUTSjFH/I]0AUKflBJpLQEfD1bXq)L5M&5?fgij?&.t\d?k$'\Rt)K4#e2,0M&b3G*EW\A3<1Jrd_ %;H,Jc9m=$9#H<>j8"1"5eLL^!;C$Pr@GWEN,Ic4NSRln>;4eN>=L\*g\A9n1E:m=XDtK@+CB%uPe'Hn3F#Oi%&D$: %AW-c/Gdia#E[Pi\./@0jGdLUINaASLDD.le?c<3O7I/IA=c6e[tDmr+,.?'CP;Vp]P\T*-#fb0CR!Zs74_?* %9o@RC"]RW32,+\3,I'G5KWZIK'r6%$^76`YX,oIWd(a,!6?Yp,Q(MU%65E0T[T!@_G]1t,Q/&1SKit3C9n4c'Fn7P+riBE>;E'>Z %TLuYh1o*70Z:__m)?/aIB-X.+VYdK+2LpR\,Qmt^k=k%0>M;9qU#BL#'tg."i(TrH:t\N&aS=Dj,c5#_MK %q#WYZ=9TTK](GZ)'q*n/pfNJZj^"NShs8>D1cog*2o"56YKSrRHi):$PZU/tWd_WbUVI`L\L,D-`Jame.G5IF=)OXnh[Ca8NkRr4q:aR^Y6_XjNR96+?0r %RD,**Y>!jZKiq??eZNRq%n9s\@UMF"jYp;]U$ah5NPcP0`uZ.=iA)SV?fa-##K`U;8?CKjrA!r\)Dg %52N]&3D.SB:6T%Cm9@8jjJI7PluV-UDU.dbC\f?fWEq9&[@D;]EDG8n9HM:LUsg'e:0/9-f+9 %$qqsV.$E(rnTiKsPh/C+>FCRp"sh)c2M/Dd)M-\bk!hs]7j@-<25`Cc7\"I)8(r9Q\fb2eGM*p9MNJ-\+\#G/^4S]^D_DL8Z&6WCf3q-Tn+S %7:<.onlX2WkUC>(:R,?Q(X_<46I^n#TVAU"13=%QB1)&-OKNZH(_5f[mI?":h.K.CtR[&J>tg>NWTWQe%1 %-L,@Qdoh1mp&;\>/<=kpGV3GO3(pj0F8i1;:YY9+nU0?'AJ!7BKjkIq'GcQD";jEa'Gb;@qF/U8d+SdM>j[Wq?Af.@Z:@kiL`Xoj %0.8(K0BesdEWN]i-CmWUr`F6s![;?da;oYhHm]O@J`*+Wo-+FHCnBrS$",YBr9K!4*E:mn#G9*t+l%`QP6g\QI!9N*aRG`cXr"Mu %j2%MiKS.+E_SM]o*rK?$U4p5.q?`n4GA2;-aD?/ISUWlfXF$)?qRn!p,p.)o^+Ns`B*u+p``&l.=o&QsL&^QkgsC9#ZUIq\HS.Tn %TJ70sY!&PbVXrH6k^^me]Ko5W=Zb>Q4X02[pPR1r;QWU*#9^D#!^i+8j)T@d2.GlW.XU9tPB7m_l==#m+a-DCBKk!nO&#"L>0+dk %Y@jroc58DZWo>]?%EDYUZ-[,7e/0]YL"TF#SC\^U;soD,E_qlT?UPW!M>n)Nlm;]$U9 %eCJ*u[4$EjHj@VNCTjol*&SepXD]M3NOpV/gE\[as.U\A/_A#W];HA1iYBF2D^]M9T\'Xn#8+KRaTj!Z.XZ(@@EW([NV^bm0&gVX %YF2-!1HY9&OjlUOek'lj44gjHFMqM*$s5SW%KX5?!9*OYW6-1AYZ%]d)di %Q'@h2>@?)IE+g>$EmIOo9(:2Qj`Hi8V`St:kAC^bgb?nqFE?Vka3Jn+pV0XK0FrVWDE,Po;&g+a:*PkXWJ@'il%u;ZHg@ZOhP=Ul %&M;a4_!EIkD+d#MkWc%>Gt;M/G%P05G.1'_Y>DCZlYJn)F2I_1m(;VT,^bm$#4RT/qnpPJD`N3*o^iJ,YA0KsO)A6qrZ3T&bh.XI %!p9mNGKuP<;=O!HT#)p4QYVI@)n9\l1,hRN7LT=_8<=,^!t-I?4KilWFkiEGai6J!D,lsqP0=+9t/G_UII41";^uCYca^c0! %-%fo'kD.kX/@b4X@!a!Bn1U9W!+)2,(BD_V;*].JJ,#_BhUJBIs,6o,Mp?m&i._=7Ckh+L?gm.?h0clU=>]=$D,t(Sc:*&ii543( %o$Sbl?]?^n?C&kX)09,E5u1:b^u'PWKTRArag(@V%3`ZG%(e==!!l2C+lPl;8feD\G+Dp$3?P#lf-DTdYEWoo#OuU>Y&%DYY/&Xi/&79g:@MeVn^4Lm5?M[f@J.q,UDg>Ta6.+^c,5+%(k.V*&To! %b4:M13IKQ8lFj#O`ZMbf'uX%3+O\ncX72%j(U]P^Be>rnk'7hNf0&`9n@@_9S"=7ldYRi$XGUk!a`bGIY_e<@VK9`%4uMi)7]Ce0inD\1)9Ac-^TN[*;C8$?>6/*AWm0M7;D=K-a+A+5B^ %XCIdO1%aNNphN)Ndoed+2NKGL)t,o0.P0UeBI)Sks02=3EJStLq.GOO]UK2?4h3A;6IVDB!B#F' %?e1U,_EIJe)@&)V^ZU&=GSot;/r$,sZqosb>bqZ?A7k?ZFLpJpCe0BmRFV(!->77?B$FJ"Mr%s:%-_<@!jhY8C%1L+mb@Uf %nq%4^TgCEg*tdnrA,+//>+gDr*LNX5K/9.p?'QgA&QRPnfK[P\W)&**22a[\V?A8a^R'.4q$g1pZk6t5dhi.H_t-tM*sXhF`(Ka> %Qb'ZA*f@ZGMSriLa@e@rk?b,Jo1$t9ee<[^ddB.8CAjSbNdJ1h^fQ8N %$bbnmAi=I=Ad@.nKMFC;[BkY6(j<$T*OW7TFL9:7BNnP"C2;E^gP+e@S5nNkb1m5bl?(:*ReL6en!R^hck0WLbgVG6=1DPp2:4gD %7M@e$1m-_7ZBbP;Ed0uu5akp\-oRgPeInp%>W<$(@1bO)@>NcWY$qmd=Oi:+X\l8&nJg[6,4%d,>%!IelWUnC %VAgDD(KRt<0q3_>*o6nK[sH%B,BgtmZu[NNh5[AOhP=e`_aQ7HZNs%+1tu;c*jChbf,=,i8`[d#gqsn%F[&8m4YEM/ %Sr.i=2Wis8o$FH^*hJF:\/eMU$[$,8Lig.=7Eu#p1mc0=]KD;7WIT[e><'D'_mGj[a*IVfW:8g1ADUo4oAj.R$&X#p<4>"]@$3Sf %Sa>'^cc2I/JuR"64uj&*L$i*H*Qq]n50oKr$ki1ml1%>Z0m0#JEG/FR:N*qYA,% %0%#SYU*"E(^9 %E).rBUn]25`m.GWQV/r:5B\#bC42 %=kFXsD1RA$H6k:q0JQkOU;DBk8W^OQcUU>A8=UJecY%O)]i;lI<5/QV]Ys.oug.'?@R@[Y"(SPZB?iPqX;2t]D8G'l%TJ!$M[Quj8Z6rr6G`HpD\VRl^ND" %+4JJYOS4M?p_;?0rdsUc%qE-Q%dOEgh`GN),Y=/Hg>?A;s%0.n) %P3_CAIJ#dJ!0$_39iL@!hK`k+>AYq8G"*rnDq)^YpfIgNqMI%rGU*hGj!hCkk`4nJ89@ %CV$J^.bE-OQ`tA&MTY:fojR:(01Ko^6]!uLR*)TUXf-'mmjk!I-D@;5;'P(A\"V=/Yh_?Wg%kj%Pr_K8\>b`fU#pIt/F_e'6(eCf %q?4TuDgf;s@@*cHQWl]+bu;IP[c/(D3`kBARfHR$9m&f)Cq^>iI&b$b4LZ*:pjDCuLB4:+Xbu9A

'7q$5,).4i\$;)<>"'J<^9 %?C`5(^9;__G/'':"9qo\!8F,TSZU&YJ9),]]#X26&12K/<:P#_W:WYoZ(i*JAN#uX]AX]TOO7cobFX,bsQtC*Wi`I?SW19R0 %b$Di!H^$8=)+QaF_REX[:/FC$]YKfj_5G)f]U %aDQmB(pRsMbZcHlmMO).4,7%aefBoegK2$E"[4(F9]E?*0SoLA#Zss.j!?glb[s1%=PL"n(A-V<2XZ/8d&YC2ciT;aPZc-[_Ei9\o79b_RGX?kekt5YoRf).m:OB4(I[[P33_WT^Y)+gC.oJMo(:tIMkis$1 %?mm>R.,ulY5nk%%2Zh18P'8U]Yc)SCb23Fgg:19=7*i$M=B)bXk8(Ll!U[-R[,c %)CdOU\UotJ?eH,UY>V2Z;?qTg6ZC-N!G@pS3h9iBgo]SLJ/4+1*R=SMV2(E!aL\FZB9QK#C6b7GllEq%7 %78JGhnlt%%>Hbh/aM]S1``4DG-i4aptn4#?$ %s#tXVFo0rXC5^h@aLJMB'DAe=DJ/6%^D.&1lrgq0))e^IbhfbND(FFV>>DcYm7k2%))eMnq=gh;/DggtAp04/Q4':Phb:+Q"2@rg %?);Nc01f6e$*[I9P2TfW(m1NqQ6q:7n(H'$bY!-Bfb73Wii\+<1`Nb, %lk>I_!1\a;J@m[9Ts6@>3DD9>Hs-%%,m*QQVJ:lu<++ %50DY[U>c?/CN%ZU4-`[XSS[HQc%1+Ji)tk%LX)2b\6].s!OZ4d*\cae5b3Ri"ZA0G)JE&@H"S?X>:K'S^oiNJB%Bu-"iV(HU7HOY-#gI"i*;b4]\rQ(ed>fZN\g0d:+E2YT)`"b!Pfo8C;[%d %']/W/dZZp!).He=4Q1+C\i$R*%@"A""dSl4+]qBY!'j'1!g5NV"h_sTOoR4<.WM]fg.dZ\`UBcPm%9'[A>_08gI5fX-a''a&$9tWb0f+GOPFBRF_1\[S:ZF\o_ScN`@/Rsmi %(=7`U(g*:_eSXc-/=@`&`anCTF#!k7)-p;tW0[WeB$Qj^,h!c*ciq39,J]d>aqlGk"_Lu+f@A8\c9$YLJUfppBaIh+.]D9NiXlIr %=FhX>DH0!0M+7R6HWgFuMr>,V)qHLs>Wk?J;^' %f`NX)fe=uMR:;5l6#\9l?'3Al?#?'u9CeO(-Q*8P;G)RpsmfK04,NJ)JqX9pjeO=l=E4,Ag=g*1.NQ:G>l.i<#^m %JG5\te9S/=9Wed_&-1f%N@cAnjO)3:F"Mk7a^I6A)[h^1oP*+"t,$E`? %HG41Oiaf_PXdD($7"L\mYu9Gid'Y-FRH4$9Z[=&"\Df(@6N@eFRrl>G7o4b*n!W):D#cOe(Fg`%=dG&V495gu5*.P;pO'$!r"?e* %Ks"ng6m3BKOVAu^Mo.;AkbWZ%11%U/$.pkRDf(V/SJ"i31*4TNr5$EOdgQp\P+A8eIh%D[5OE-YG@9JD!@l90op,"@gqLrJBZSLdMYN/iLCBiHPcH@bD %&kW^d1S'.$7[?n%!"11ZVeA)/K%I*&f%L93AOjb_9+J:;7nqWMX;:gB50@/)"R6(E0TcB+[e/d+DjEM@h %lFI>B]h\6`4r/7aJu:n+l9,6'hPiMf:-hao!iT[nmb<%6pr%IRSc\6)A-Fk;5+lRG8p=huTB(N*:unJrrN]ZqnlE&^XM?7GnYfBo %ZZ:t\Uh\E2j?1aS@\#fe?n/I?:rjp\Wp:s(;`JD<1+fo*,X16?;a5ernqQc=9YJWuLbLaZ.8n+.7'0g!jd#[2\Sj17$JJ[6E98a^o'TZEBrfJj$$!>KOY8OEZm+r^a>$E:h' %\eb#EC\^8"j*KKT^_2<69jUU9:pNo_g9R[77/_NkJ5i(VAK.-Dfq'Tmq%EAdei*8=@MV;@m#!B7iojRRl?;ugb$\mCX3UER`u'4&ckPSLdiAgn5PaNLXg:t %^k+t-pI-AXpnFp!mpoa$!(B.-C]P5=1*6KG-(UsEea&L>aF($L.u"j2SN;M!$"hq.<$"Hq8kDgQSo@^`WcmTrlNDNIO$c1u7+bZG %'s+aU&9.>hc#@r0KO/012?:W?RY:#pX&UQC]b$k832c2Aj`\;l12&BgjfM0Beps?P4.s%s&p_n+4b\c#TEERLMIh[q!UF;qLWg#P %Jg;[/Vug"as&iS,H)9G0&5e-b?;/2jE(gPn/I %Utr>.URNs?JjYCC0c!;HDj:t0/;C,hglX_%dcM\;j\ZtY*^m\jnP8/BS<07s25PmOUFT^kqEhtkh_C9kE4]skJ$[Suh)(#%J@D70 %=&P>A'AQ_DlX5(BNdr;b9I/Sj$:#7Mpco\i$5=pSXd+lT.PR2\W5_u=;#j,>i[A63OYu*+[i%JlXG&kd!j:_[TEQ^s.<@IR1kESj^A@7#gd>3m7DNY`2obZc@qbf!+.PRZ$ %0+_#mGd&IF9dH+["/@,S%bluU7?QgD>12# %-`f/-CY?r`R\Nc+d'49*fIZ'bQ[kF'78AF>$nfRa=Pb(4P?A=e2UWP0o)K3TrY/4W"cC*^82MgBMBEf>Zi*(e!\U/dRUFrZ]ki<. %NP^js8Jl`F!UDi#?:=[BD679'ba.6PP8,rT)al@e'guI9.c.D"f?HXj#XJe4\1#Re8cgIZd011#FK9Z5I)r-+=JJiH.>HIa5q6Q$ %C+"K\\V7U5A.10CKU5I(\K[uh$;'6XB="o(7 %Tmr9Z6Yf-?Y\8P1oiVf*5IY6:,$\2K$"6l/^FCI##98P"[9W'KNtgduf@@LnWB[a\Epa"HG#&XEm>oJ.j1'.3CI!(:ZaX6`+!&OEj.Fo_*-k=UB= %.Q9bkCm\2jPe-Z$(hZ,#[@$H8X+?C`T:6a^7"gb3iPH$1,\*pZNXnu"%kTX@fRugUVL*uQCJ!V'tNQtF&mjp'+tX:&?M=&,V_@_@,ZO)=Wn%n %0?D+j!Dem%#qNs/46`1nBa%"K?s>d.\u:^u&3\IL/E3hZdfM"_)%*.)Ql;u__!Afl($H7Q>]Zf)!3d8MO!rrjK,^pF$BP7b)8[F$ %57^"s.sJ9?!7,,C33c]rJ1@?1r)80@OpAq^B!a>3So&L\]e`#%*'>f[^.eG>!TVsQ]c]S&($)6qJ81>Ua@[-J=Lf(Wb%"Xn60JJ[0r"fXhU%C" %@W2mogIcW+ZA"IjnOf+]!ZNN?9.ZC45k!cc&bZQH^_uKr>W0Z/6D[E-)kH]FX8"ug\r]ub"VDIP^;t=J6&1btYh6qs:@Zb;A0l7s/T`D@B4Ji) %C9FLXDB^m=(C[a9ga'aK6+ni;lpqoMP%8T0]Hm0mjQLGeHXKKB`Gk]WY/2#EMud>:",jQNF@nu1OnAoTCJiY1.WJDYWc17$3&Hq# %C;ZBB&ZP=fTDsSGn6^3_h04kF8)o;9>f=dPLsMm1pmT%&.?&R7+T>_#77jQpF=,#^WM`_"Vj6 %'Io5V>VK8C+q@:EUk20t-^>qY09i,-eYk`%MG6_F;\LKX4QNU8-,rqWH\9d9@5QB*,k/THK5`2Z-q&*^E2u77ZIt""7Nc5M1B`=; %RRI;d"9I`*U7n9V#X"@coJMgb*9MTGAH84'e)*oo5`mq0pEegRDkCb2KArP;OQ-[ %ZW1tVZB6^_?mj)-FK\*eh*=[]>/SSG\jnm.Nutb+bT>g[\7B7+Kq5MM'">=.DcdoF-`&/Rbbo.!9e2N$`"9-;R&2j %Ds]e$;&70Y+CLBsMM2$1B@6PXH,p^[g=*U!K1+HsO:$_nS>q)IC*aH48cO(VnSfEddHhI?=)/gW+Ar@cjHEj\=mZg;6r'#,iXu`m %2IZaB,h(\L*Ru9omt;$9!DZ\U6NSSfiYeXlV[2iY[8'K^UE?3M7:FIbV]M8QF[-4)[PB+XY1QC25efb'O@C2\&V5!9C'YgQe`aKH+YABIY]=^%,ThEi<>UYWjA\ECk9o]"GeJtt %=sU`@0?K./(9t,V2A=lg]hm6":3o%=]"jWaHG.dqqr&49sM)pN9Y6qJGYNI %'8:iBeT2&75"s@JqhfoHrPYgj-#J/UB$o-d,?DmdQ;#BY1,,_4^go=HLQh3cW0C,;BUq,kaX%otDO(Md;fDgR-UP0mPR<#+5V,LW %b7J08c$MfFM*4\E[O8FXZ_^&'7.9&\3&EJTe5h&!g*6F=2kn?T:C,9`OYc;a?V"TpnT)$Y\$uR2e[#:aF[F9YGmMt.23tT3hF`m# %3"ZZq*7k5]MQUJcD">I]#.*f:HQj']JH!pE9N@R.,.)R-RY*ODki9g5<(iP63a\-g+Gl),OEb %.k-dn(!*XnTJ9mD*#M;jaAdP*eP4Mn+Npcl)Yf&EOLsLFR4Q1[TI=3J_kXj7Q_^Pn*L&7=g_,9S>OEp0a1-`+BWZ1O?2(/iPLk&.]^URZnTsNm;5SDS-Q`QGG=T!7_kL5c4^S.BF'A"Tn0d[,@#Jj2mCJ %JE!Tk4&ncS>?2qojW[u-ENWBJ]ZVRUV@bX@cjU-+]O7K-Y/"SE#O'N-^rR"Hi#k1j$Kao0&:G^*i=mZoMll9-1'O7#,,g*hN!WV" %YlS+9!ZESV]P]>fEG0A[?)46P/,"JhTJc66d@aEuI>/.(2u* %2#5WS2@-Ni7E;"Z,S1MkTFNg=l)^tf=&26=U)\DHra=eL("qKhL-FkP%#U>i!`]pXfS"Z=D597OGEIW_M\Hq[(I>?aXWQk=(mn3) %*o"sih32WlQY>Y:ZJ;lK_#g72*'A57<'_XV=$H@M/b"Bd!:,GXkg!%s](/d]C.htcENf@8FTTNt"If!Ge7K;$@6(ZGeVbUG[Z>]> %^$9W$WUQkgViI[hq5lo\83'7ND$(h;g+E!ei([E$YNOhn7D/kW %q@cr'/4&K*>`7km]_X$VTNDVuQl=PT]]']2p1qP$&3WQN.EQji\@N<)?-s6#dR\ %iXsi:Ts[dLA]%m4W+N+ib3iZd?p`9Io#.c1ZU!A*<6(RG4,ZH-+h.'+O!1=b[u %UP0s:6Vn-[6GS'0e\sUV^ikm+cu:"Jq1A6_+sTVYMY=hCC)XsaTM>d/9Z]PQQu'H@c/]WT7H?g18N<65qCtc@$P[)@,Z7t0YRlkn %6n+-ZTaGBH%X9_gJ1s9SO:k0Q<0Vh',fUI!6-?2hk4XeYAe%@'jkM6NG,44U`*"jJZ(7++eQRsGQiMIKcQe5RYNa7[s#:M?+>ch-G_/a!fHUnd?3+#fDC.<6rf1L0nC>2*J9PU_[<;6\\r]9DEJm%Le+)/]*KDWp8Sgs2/fhb=.?[!&,+^7@E@(b %7Cq(J'nl5[$%Ub'7ZLq]JR2(FRU7*bV*r?H9$F$g?4qP!D>$6+(m]+H#EA;>kdGr\i2.D.a%cn6TGD5[6QrD\ZM0BM=`2-TS-b23O-LH+lONDF6*sWFRNnKMh[-Z',`*pi"TW0AAqBNE(RoPD %r4aUKpBuIn&L`Q@5kOGqr/kRiIH(bF_4BY_MVg+IV6I)]cr7=CqdT82tKAtUFIuTTn'1M %YQ&.kiIZ%?mlff#jijH/!e+q!WRXJ>Znd.aOYiP2_GS@pPKQGUQ[\EJ0g:3KM?)2\of4N0hl@%k>fFW='r*Ehl<9MNM34re+oS%KAc.,%0C)<:ot0NJb#[`U[QK5g=?e,:_M`qLJX%?5aZ&O3Y`I*m %"ICJjR]e!%j.&@f;$F+l`/l<#7(404hTN5XBEoV=,@5CgT$efVR#N;um8uct4CX.3DI9=Xmh*`.7P[ %;4o=\2,d(mpk&`<;F0G*E5Wn30SF+N %DeQ9D9Sk,0;(F'#$M`$ZOUg^h^^nlo=JQ1cmURtJn%eWM(Z)Dtc.O63;kD%)N-tNH9rUkH %/E0Ih'M/400e%\M'5F/I/jNoL5nIL9Vn*>RHYO/VV-?NUnEj3j0r;*bf#E&Rk&Us2Gu=\hVu@PV9UOnbA&&f\k#;I&_r6pLUS0D" %cSD%p^;u/U*-r!0"9iA5U0PcmsPK"cgNjGm(V)+W!r;6SX2"(*C;%=ePF$975_oH6XY*0_hRI'^`[@[rR,9j72KVj;]d;?7rBTN1:E!ng#9);p,-OObANapOqH5D^8-W?=UNl_5&686K)@ %996['#VV9#<2P1Odo+QY'S)tq:U0T.MtS(GH\,Wl;LqXIJZTJ-'/EOb.rADrk1!Y62Fbf1N$AKLiD#PLI\@"A$d0lS %?66c=\$;Y@$!dmQh@:F2s$8$Zl'!uqOckp4j=,ti-lumP.pu[D=ZqIZO[TU0+D6&\8QCKLg^bd(!0#LcNcF,tV9'#bjN'm=J^SA" %K=kEAI(1@eVZ4Gqa9p@paHuWicAIJ@'"FpBpAJ#+mBD+MI63?1;!RDl2)GpG!BDuP.)KMWbV0m$'0e1HL7IX2]h%Q(Jr)XY)ZlB/ %8]%n9_.rn)hGfl8g:@$-k*CfjV1*(_!FmL2mLRBDA^[@SO.1J %'X&='XEJ8dC-Qe0/?ZgcH\r-;W^=o8*buoL!EeFI.]'M'Z-ZdXVZ=deSJ]rsZd(=&XMr!t7b=ZB!RPmR*i-ZoWW_C]n1`\Xd_h,+ %,duBkib`=">XT]*.<5O9Q4nHg:N6s[7s(()l?%&QM:;d%8QKG=$4>k`f(a'PPo_26a+7igJ8GX11S&;[LnTopW[I\JUiG*#Q3E>, %UJDL1G3IK;]CLiN,^=.`8/R:VMYMbEc33d2)HX_ZcN275.3OS1Ec"@oSA5?UN,sVF6-r%C"SjA75\rpt0VQt/=@ERYb&^Ej<5(aq %.oH(2m(?Ca@T"Jm0SM%K0eJIuE-3^6Mkn>jP1W+7)ph>dpe$S'!W+(eiWS+uMpgh)JI6/0!7"J.Y[3??=?0OkM%;l&\q=pIHY4o\ %=#P8)7%t`R.m>C;TRr35[W2Y$42joP(:shULaVCk9jX4aWMCg76Il[!3DfK?!41RkfD%[(h^Uma(ZaAS;?Y<3mK^!F'JpLp_tN2H %B]R]VOlXR/+A,k[o,F&BB4WA^/*DV#9?DW19Y4%r's%aL!\m*FK0fYa(o1/R9Z?;&+&E'#;R)R/c-hQ?A"gWpP[ZH*Wk1.r.B$;d+pb\L?8A"/lP&*u9h*pbrlJJG^$"K2*[=[L)`n0F+^1Bf1D %Gt'b\??R??pQVFf_!C)EG$g %LtTHidn:.6Jbc(no[c>Zkh%63#'c(,!N$Ne\*;5KBW\.XSFK6_XW1:-*+#`QX=$t)K^ %it-gVFb)1f`3/s77bZ#b' %k]BUQC=LnD1m(M_**65HEp]PgHr,IDg`;s4hcT:nKK&d6aaHs,II6KA?Tn#C!_?_:V %JKSg$Vk740B3&SdB;)@t!bfAdLJ;0ODL(-+[Fa!iI]c>*Z+R)!TQ'e&YZrTuFbN//CmHZHLe.gse(""?=!Gs\TPS5]HcM_A1J3WL %l,r]41?#ec_ERHGAS,4Rn%84hY'*&`)sd-"0KGG*)5bb/SBSfQbc7?37*Kp?AmF&t0T9Y_.*Q8P`acIBPX/<9.MEaX31dIdLPl2@'4FX,$27WEDaH<8N^OC=5n@.-_IE!V$r.=I:nSV/\A:ojR*/&-Ec>fsaT\9QcK %/:;,;Gn[@;P(i#`F38*Cm24\!RE3I.;Y>+A4k!>_OU)YHor_QSB:t&NESHTPR/tk^&15%&aKHk %mZ!km\W)h%LbW&=a$Ji`R=!`-S)% %)B%89X;C[42^g9M4-^QqmNaCWLdY@Rk>=I3#Y.mC+tci\4q)!+`r/%/`(AKN!035dI55+8#.!21/JE1>.UgbiqZh,^Zt#:0JD/Wb %"?G,2"r4CAgheW=2@ls`3Y5M)-@aB:gHp-Ps:+)0Wl#uY_\fu1V$Q0mPlS)UoHOb'GjE2@IDQNI>2rGT;;^p %<16Wcp(3Zmj]\Rn/1cp>M3.H,&]7EEkbMMMH3DA"Z!"6l(*DhNHIW[:L %XMn@$_\htD4s5K@L(O4T):VbBiKP#oKX<7qXNE7=:WfrLsGnngQ#qj<'_M-^p; %j"1ci@TB\UGgD0AXRP=76T4?V/1\h7DqETq!\\*H0S\s;dKVbSPlrO"Z0Dn+%$)E#Mk_n^b %OUc+n*9-Snhb@ZGlat'#4c!r@b^o_UXn%lp0u(hsc@[Q$mWh,O%uMf!j8j:U;s69U/nCNEnpjSBl<*#Eb2enS;P7N(Mm,#]a0+`D %LZ#Y&N7!J5ZXHTn+DXHAG]H%To2V*%8,G$aL5?PcViFj@Wi(njic%#Y=gbJIhk5kT`8s7:)\Fd/^p'I8'sPl#'OgHQ %HKEfMRC[_+fYYq#Bg/R00I&5M?hc./Y^A_h(gUJVquS7Yc^&AgQGDaFc`.dchHHT.l!\3YZA\RahU]d!KP##5VEK"dMWNP#[`3+= %TM`7.)NPgYJh8U9c%$d5_BL7@.iWXF+h,b'*"''9li`>6GV_IXBh:Tb`erF2J6HA4K<^K=/@P1o\+o_R(U1tPHY=N_-16@ %e[8oZ9oWPp=u\4FY=JFA%t6Y)%U\@n/$g6>L5I5GC3l`mYm@sMP96k>?2,2^lZQ)4Zs`^,)k@17HX%F3?&1=pYWO$UB!,B#$HK&F %_>uQ$M)ul,a9T3t*10Ujc.X0'a$\7>!p%gGZ\B!!%'.7ZZEkofD$Olhd0nI>RI+:ZrE4g8!LX+"H>Tg,#,,'".A\I\6b(@?@\ST> %A&:loBR1QN[iJs6BG<6:mU^?sfE-U#>Lad7R9H\ZFZQ %3ZUkN5^"8GAU;:WO&AtoQ?otUi"Uj8kUXrX,=P_O'e7\U=4c^\O^&!Y[3AOlXL8mK5ErE$]XF*3ckKGj&XEq5`l5?$o8s`PJBCoH %UNJF+ZaA3/`*9AKJi+=lkX$S[#@P;eC@0_P3&$?D65#-W5>O#onW&oA.cH>!,c/ %WJ.%G0VXGd?I\OrEeabJN91/^Dc6>56P5!8LTWTVOgg$f3LO0gf-ji2on2 %%Q`[Q9"(Wk&mL%,JY>\Rs$uga&C`QG08MFO/$'=ITYPqPjfu+Xc(F8_^XL`2:?3!Ln@iO-`:WT=K6-E&4[Hf`KAA.bKB2U2H=+P>mo?F %Q<@9SU.W5dAMP$SQ\,#q@2S>eNZ1@JhFN4oR_n()-e?s38U08pc@_@)D8d6jd?hTh%`4?uIbI!r+HXBP9*!*sVj5W+7M=Ru+< %*+&;@V-4UsH+?&1Lo[%2[9>m %dHWBR#i0HL/ZuT?E[9@OUr6f]0>\kF/LSR1>&V%De=9AqSjP]r,Qj8s0I!a%qk6\\VI8Em+)51pn5Ku8jg%R1IT3M_3/gEXI5D:` %PhI[Gh'anpUS7>Gi_Bo%!$mOj7Z@TS@2+J/:Eq<>*a3)]i&Ea3V[3(u,\#g>N7XfXWKbe]7jH&R.UbdmQ3WB.ifHT;:eAq*TdGZ< %$qs)<9c25Me[;?@.='-[]1-3S^Nd;=P\-77^e^+0$hnk:KbIl7[c+2F':FmEWQN0cU#ZLq@[ic2kF %*S`jI@RJ[TPfV:e&e:+-biJ#r^!MWjb;ln/O2IlMTVIVB!W.f&qb)<4Vat$mGQ.dnpK9VYYj]toKDP=+CJ=$,R=]T-RSugJ-HJ""Xb77RVFt1,la3 %]pcd`P.c]S.q\;"A2b*1'E,L=%>^C.\1=ru#G2Re(h'B+QnoP:Yabg+854O"i;<"Raf3\+0>bOq+CO3n[7S\'+tQ$FM/^tc-fUR1 %-@_>HqT[Ka/.:P?"8'1=2O7NSojKlnp9B52&)oQX\"bC`n%`Hni69BRQ;6MrQ^50KplgWFKl/#4Y(W+'N\Up!'^K>_E`q3gKWZj" %G9PPSZ3j7!=`s,9kuS8uQ-e*R`EF79U=6^C7X.)#+A(8S_OjcpG"uU@R3Ac@)d##BO>1)KF_)=``$LF.DHR61WF6Ub7r]+N]8.P< %=Og/!>=7MPYCo@\bfVhA62QapfnGC/.gqKYgUgWk*Y8NZS`/:OJ=,YrLuGiU(1Gn>h2m%b>oTS-A^J?=XFucjW5T0*9\U9dY*2Hp %/$>D!\DZ&\dgR9[4e,=Pk[25Z+D6F@bg!34L:/7)jU!L!%.b=\U@%2j$1V.l\O!mStL>8b#35FF0Yc*6nl!@`_L=KO?kgVrL=6FTMc6+C!E=_%d2LSgDNfMVg %=:JW!""8;Td25-;,UA?]W6)I(P\UMX*Ii:@YWSS'fdGC3_BE3X(68+96sPU1\BJ:nLYTOBiTReCLj`\I!!1$)hBW'hua('6$3C?MVD%iI.1F=^*,Ea#m` %NGMTSiqk+_JI6fL*6XV.?TP21@m3V8D(*B'8kuVs$h.SfBKYA49Wp%9JRdD"-,a]#`\bV24=#**JKn^LY+GtiPBJGD9Y%U-+m,$` %l*o5hn75jfLth"E6LlnK(Q^C4!$Wn^-k;o5lIo+67mb=$(i#e8P.$bZ%,\.EMf5JA"GYX\bu0/Nj_[4rm;oZ2M\$`f6(>$UjH/%EQS)4_&R=B@(+fFS<_#qYlq=#a_sRgO3$@OY5=\M>+=kgeZ2lB/^r %X0+&rdZP>.;D0/B3Wi]qPj]B]l3;0LY]!FN*uO+sWib %HTEW&cFc&7).GN#)3Nt>q@[:="*[WYMpQ'F]:>fC6=Y*h/F%.F;4h)tQn6:jX,2ps?KD3_\A/R0a:C=`od@W1+&Sj4\9%qQ*qDZj %JW3Fq7n2HpB=tek,Y+Q4`=pHY($:At`==EX0k#DcGj6ht!!I^%>]m#Ff:!k1:*aeER1'fD=n,'pUs\6q<_8HE%UQtK(/6aIAk$cr %]ir%VPeSOk=!=5HFntTYOp(2g(M$r:EC1JYM/^P>WMCb>E]fc57$_,Y7&#FhI8lsCWbW4GG:Et.U8\dVE:lL8J6<_6l,o-a7`R8^ %6\;@lAc"ES3-K=ZahJdW]Mi65eksAb$i8h\.o5PIVk3..c5I!^`cH8r\u9:"7XsqNo6nl<:lElfJP>?Y8T-",5`d`lUN"R,V5A'W %m:[#0*Erp=kaJWmV%cb&V0A(r.`0SA*X:t/`N`6F4-Y,o\cC\2c-1ID2b(NmZ#r.F=1:=oh))=sC/%m.^bh3cAeJlk %P&QlS3]!`ubqu(o^\[[QGdbs\e(Up4WcfoWet84B">>FS3(CF@$USN'[sfeq7K %AlAA8derN,#b4I-S0T#]1(r?PMsFN+c#h%[eB(aWAKr4:-?XAVc*NfL\hSK;8i1C^Uc-\'S#NQ38[3IdcrR]cc(s.>q7B"oD_ihe %-@r[pCtq]VSg5tURi=rE/*YD&&#S>Xl?"8mH6se^-@*4gjh2f\I$-VK9J^UaUc6cSRu-R>3UuG"o?B]#RABam!e2`LIteZ18KcBU %)V@SR:f/&daUVp=&XjsP1NX!DW#6p=%Safq)01N;O[PCR@KAV\7:jjl]kA$h1s%SCZl:e8*DJSU-Lo+b8P#%AUe*_TM5I)G1hgs% %Zrp:1Hn%kMPm&Eb'qn9QqIPC.VF`5ck+:6k;_t,SBoq5r&EP`?Fdhqa1K6M3>+[,BcjX&RP?=bT6*ucWW1l1bOs&!\-8io1RP[\o %KM>0UVZmIW$t7Wo\Q"cIC'/%tl?b#WWu7q=)-X.#!S8[(Y):l48HID<$YrXu2+bkI&scPYAka2N=j")u]ipVUXi8uEU3CAc_9J+^ %bn/)VWTZ7eehnoEQ4W4:8bO'5Hqi>/-H0>U$ugq\YXL>"Ua+Yg>r^7P[eLDHR1n14(0b%&)bCtRHH.?Ej@7S=.Db(+($,j@AWu,Z %8VT5mSCo1@Cp@ugGro4=T1pf^=k_4L`FtHoFG@<48TNO\6_0oGD:#AmpfQ:pXUU`CueT-k\;--X,/'A)=A%2Sq$?[n!e^JP&?VHgo1 %Bn9k.JrKpAL>iE^1'e7[-Ih,ledF4V'Q'3dnB`]i0ip8BH/4k*hTToWeWOI>Y_>LXbJ<5>=+ %JlYm9NSY\$QJ?2>k@p7QR4J+i;]ob3$:C!a7HOM\0r(#N7j$>d?C)1o[.K7gJ'\+fb2'o(L&"#i_^)o %*&$/<[_4"D?^ns:`V8!F#&LRN2ONWI+1,/7)Z4^eY.I##\&*f>s"(SQRS:->u\DiFaASO;n!4egZ@)fSI]61ms8&=H5SH %>tY16WfV0"&QV"eYoCNS'dlp"Q>;,dBo_CkSJ/$F*]:tpeRYMFiNI!:>r?o4RLEB+Cg0VGXpl@W/\\D82d"?+OH`tQ?[t2qFLAe;&$>_I):<K2AX]*GVlXtlrjjti]-.o"/UQPn:"i,p=d$MI9Qb%r`AA6AR`RJTXIRY]he?^!1fJuaA.M[s7a70nNTj)9W`(]&C*nM3R;CDI %bF2)_C8H87'>mk6aB&7Kdg&R1e%RnGI0JbtbnRjZFM;AP?Sb8m@mXUhI+V+kglTrD9n-t*9$S\^2A.^5WLC/- %Sa@-<]9>Zr&kf8Ne5j$CVS(J0"h'gM4-Ne$9YtYDlcu="2Ud32$,`6qMp(iRPEe'P2G]O0>NsQlWR]6Mlpekc9QKl$,'YnTHmQJ= %HpJtlI4]=7_qMM@MYh]Tr(Q,J9Tjf[*IfDY^R=6A-3Vsh*`*FX1ar_hdMFa>%Q4tK1s$N%Zj_!i%P>8I-8EG.&rDKbU.J(aOiCjd %TeskGAr&:4U`2,^*&CP8:"kXT5tI25Ud[DoUaVY/1MKaZ1eCSW#Z[>S.rC`@].%#tk[-61atsEob?d$l35CD-4r.Jst.rRKDJ/J>l;_SHF:@?\]M %L@T;<*jJ;4\<1m<,%tdj3OW$3Rfnj*-HR.RaX0;bMoi9HH.cZICt!'8@bdK8F#I\ogQ\=)HI,ASU9gYj'gZPtb&iC3FIaV`8Z'(U %G'--ug8&b+d_7Ug@V+`:#sJ4;0.ZC %q/5W`#u1%QU%AchoGg_NPL=aZrUkgnH_",_L4Hm1f%m.p?9eNtd=jN9`A`m?=+oZE@e1HEoHmjiP?<7!KY9t0hP>=5dD.[ij4iYc %$]+!s)Z=f%q`,_q(1VfG=FZ'W^Id&7+SMEV!miJ8cn$cQYmeIEA3mQ36*h+hZY2\3]Y\J6L1]+n7Y->_@Lt>L,?bg/g9i>4<@aO" %/N-VGW/>3:jY^kBQ#ic]RUnRL"[4gZ!u]::[*":`99D'SQ:q[Vk`TK,/;DS(S2+#PAYpG?ZZJjHaNMST0LPAtAso'TOu2Rk2=3.X %m?0Ggni=r]4#9CD$M&M!!:,'e*FH^2AqqXt\D. %nG?H*;gb,DW6#sbO^VqG7b".a\sqYl,XZ=P-I"4q2;+@/Gah1]%*):8#M%gnRc0WKnklfNX4e7h/MaCCBi^^0CRp8s_Ut,NE)Uq` %!AQNE!ZS=[Ee\Gl(TY'e)Q[L+$ti9mZmK_F-B>L6$_"_F;i\=``V>pME)#K)]349nN-$Z>\f%*OF\]RrHep*D]dY>d3d]`mdpJRZ %YfRusM/%"H9%`2XSDcMFo-3&9TK'it=:m>I#TVSuO6`U':%lXddq"Z-ZHZaeOm@&K`G@;CcEh@GQoUWUSt"q--d85X%ag8`UD5_% %PJqWun[-Dug>GhF&C$'A8P7U1Y?Rd5q_Cif9qo4cgQ9sr2);R^qDh/e=pu%AS!'52mX=&lqt#AdME:ZH]X=r2ernm$``S,C1jG9& %-`2psa/hjA-UFl">N`poHpZ_lI1`h_G\YWYa*mekq.u+u3e%UI[.Kh&f0.e*V$BSqsmsL>n %(H6&,Wr[$NC*oh#0?#l8GL\+C0iqNE13tL079J,j*"t:D8e+upnGc)9Ce?&!ApVGC^3o67*33qR&.=I>'M!2An`,OH:mSb8/(Yso %2&=D^*7@nYi<\tW`3H0abtjmRa\);9Q2gfU5Q'p;%fc(6mo\od_XIMHrUqm'(N44FhYqV=,\$0BocF\CoIKp83r.76hu20mMp(a[ %KAR2(*rb?=n,MpuDuOkWjr?V"]K!O:\:/dNoC8tJI!,5=IpH?o9n,2rT655F_u&3[GJ?6;O+Z>>I<0J@ElH_X(RK&XcJRXMqXF6/ %G^DOO%KCYLn^hj[mC-I&iVTf3J,T38HhG"ghuEZB`EE&t\*<-qJ"#6`iUl]Sgi;j2?.ldl)]u4RT7LeWj.Vs:]'_LM)tEOq`D8_U %hL0OsSoXX%\*9M$Df1&2gn]>jK=>N>HTj'"bK$/ka1iD!j'RkoNp@ed^[ned(YA-5^.Fsjid/MoNm7E_>?SQ0p>+^4:@@q="YJGn %D=[E!bn!H/k2uTtqoe)J9=au:7ilMnIsM%em!NNjjOT%P.dqZHFd[?aV="*;o\K?/S+H[O5'=a5h.GcO#B-;Bg:Xo`YPromHhu]K %q#[[:H16R%^&Ia!iq@3+))eql*O#Is`T7jESD:G]#F]@_\t^Ecor-S)ci7$!]t;&SN`"Hf4n.IuL07\1Mn&Js-el,^mr-Lss6Jh> %f:O_AQ8`T;<]rdE2LXK8P3ZK$Dbb5SD\ffp]]%7=c,oY/YLi4qDO2oCqtL.@0,rgIqj6J1*e(NWet1]%H[BOHVlZ]-[CTh*co4do.8?`3AM]t67Pqa0H+;phEXO3O0Uqr+$82FcRTh[\O+MBhK. %+5`XH^3GB:gG[gZepH*q/c.bR[%>Wr^P"?KPi16fjn6lJrpsbW@i"LY+"rtmh=B),50_s_H@GSNpD_]$Ie>h#7^1P%_cXXf4M/0UD)n?gPoBuS%O/HXRhk$BVZaqJB4[MDQgECt;Y@"KjSq"TgN]0-JgE[YMks%g&l$jKCb5XSYZ)P0GbDmOeDMtB> %EQe/aFHF7B?bF)N-Ms#K_]O1'D-j7"AEDeWksM(RDsr!GiL-]2>;g9K[@hr0ACi_l`1s23#;8_!IMo7 %-Vhjgs7$!/p%@F)S+H7O=WF^!j+SP[:$UEjKshhp?$CWJDTG";jQYiaW8kk-fJf^H0&A8MP&gB9C];Z/5'p=$YN64=Zb.HBEBM"H %\3+&WMg1++jr^dFIf9*=o(o8F:WPA1Fg9BUX[S([?PU]"f5hon:'\9KXYgE.2$BqEHo[RGZ(Nc/C]V,hH>M`oKlIr^A"+-u4D %:M"Z"T2`G:4;O"&Xrm5\QUP?Q&3W`'KuGb)4c@1'"8=>RT0,4TJ3VSoCkkZ5,XD2A48I/H;LV_12LCElGK4=I228ju%LAX'I/]f\G>^H-jkqo@/mT?q#r*L?^HY5P:G5;!sPrj5pm.$m0rI^7T6oOR[ljZDP+ %n+GFtOm_^FIs%2$[5_.b8Ts&;m!QsVcc4mn]J#95.81)ICgP`,]8#(fe %W]YAnn[X0YcLtY5?+'$b&'Z.(F'h<(m(b;Z9WDB**d]Tbc@]PsHO7gU]Q/?Y9Zn`kLVnN!n1<-TT*?9IMnON$i@noj%M&)hFG;pu %Ae0[M_dU9dSp**tjr)'FcCQ$rAr@[MfD#,)*+j8=p2HBpR9@iG%^X,Xg%A@[LVqm\*+l,/5>MO/Zc*('G,[XQ(d:C>^b&B(qbal4 %;7Jj]N@-Ccp\+]Lo^ZW\gA$it,N!G&-i-.af3RWqjUTK^_HQR_\Y]$_3Vsh6M]L(B47?j@)o(:Xp,guW8)*PSmF=oDlrCFkL:6Ce %g,UMFIQuTUB1qs)]n3]Mch@7hIQr2UqcOrhq0oq(r%m*Y(,u6M.#,3<2G9?1pig%&M]9E<2Z%(WQ]$?a?iK0Xo],]#jid$8k2S2> %"[+[k6[.`0j$Dd*s1/@Z[(>9HmecAP`$jKdPWLqFYseb,,.,%b(Hl8jB5'^Iiu8Hu>&5S+E]H9`uY9MaQUcm@3\h0A^"d %&"VLGs*B-?qf7T(Uq5Ru7VpB_o,gbh,Ndgc@#8%?\u3IYZVVV:G9_ps'clRp/Lkg+'nH9>XM23h0^Uo%J+'VohLuE*ABQ(Zg\9<#`HAk^MIj;<^VF2G;hnUQORo-\fk[`)mXimroGjmjlKEV6Y*E=Lj^cLk#4;r %T,m=XVs"5pIWh=>>ho=+Fagr-Du7",6_@,0j-*O&4ooVl&(lZ$^I1&,4+>:WFA(uO<94Ei5Zqs0<`Xi<-ErX'P?0ALj"2*=A2NbmetCk8[JA=4.?2k9tMA4bCb+] %rAN?7DjRZ+[JP-VM6coc)nsEW&)O[SkEhOes'49lbDW!A^.j)A3Wmq$i[1hbp8"3rqguMN>I/Obh8cPnlDL-Co=&)'KDk_KMmmUW %I_,OD_o;<1q<_6BkAS)G^,^W=e)DTmmu?(Kj7_?>]f5B:^`0bBP-T;R4d&h\(WVY5s6&D,rU#?fFnLi\lQ:N6q8I23^J)CYjmoD= %GVjorb6o4rhdCjq(*_n;(k^`,2?&9+r4?=^cdHETZUafZ[-MFO&^W;+><=[mDg_=\5&Ze;o%)orGkJ7IPHOWd@lW??#`A?\\*)Ud %ZhN5@rAG1&lbc@?I[f]BU&/Hj\%1AmD>&FJ^#*Gj\(UXqp3rLnO?Auhjt]"TSd!\QmtA9%-e,WYpj7U!W+VM*r/=osT?srNpTX$F %1j3_7=O,R'iuAu\)&mah6XtC/p)G!_#t`tK6hBm.p+N<[Rp=fGn&0U>[9E:Z)7t3X#dg>J]^&%Gm;ql]8,JF"XE)(iYoBDb1J*uV=rV^dCVk21/ZtC2"&mE([rjR;Frdukt`J$2,Hs@02qtLG\CjAB+m%nhlrq.+4 %s,TCY428`k\iG8HeNWJ%[^^\'X?Y/(s"d14hnoHhoGRL)7WTMA?rohZ@@Zd^?pOF_faaK`:S/"sRI3",)tEOqApdh5SoXYE\&g7@ %dm#MBC]Q-3=$LqfNg*c'U?.j2@jne?Zt-^^q^@p#hPmc(C-3<1L>P'MG#f?@oY]q*o@Gqas6'@VgU#uGg<*\3mmCB> %)1MJ^lHa1'5AWV<;W%''/UMjCmHqm[f`n?mmIA!BJ%N5GU4JMTT$jV-S@FTN.lYfjHd@a3f2p-q).*4Hbun<3jS!oq\T%KQ:"aS( %mCA.PD;0+Jh+QLo06beZg>]jdFj[l^NW/YNk(i\tWO&4g+7Yb=YA@Y>m^W),k9[[b-2T5uXlHk]rIuT]-fArDh)!!2D:,5YJK\7S %T%ukt/T8ZN5PF`e'XqeOHu=LmgKNcf7P=6!RJXo=j-THlnb!*(m1SMQm)`OE>Op(lQBi`g?ChW!;h".k4cpV3o8hu%S;\pUCAY.<_eTt.X$S">AFGGLgg_7*-3p*S\G2u0$u8&R26 %*jJ^Gpl8u6/N3"iN#*#=+m`o*mqTq8n`%sj[N48'Y7&gurTr$p[$c>+J&apgI4pcj-q/slo7tN3AOa)GrqE;?L"$sPUSW@XpuR#"OO/U\,&c)s,tTE!l]h%JH3e+F`l?Vg*4=4k-k+3C(e/,S.g#7duqTltm-@me@j- %(mam`rQUD$BBS0DSSk3b:2YB&GQ2,>>R'l^qX(oLdnQ\)C9)aT^>3Y#/H5$kDfX0V2sm5%Da?X-M25(+qp>JAUMAcQD,89)Y0>nE %HhorC=77&<8^;oqf@9oK`9$?*&"cn1\02g$U[!T$ %SSlO>^%n#8fUA-cA-8L"DMW^oL27g8f_Io+o&B?rV\biHZ_r"V5"khCl-737cWB:6'H,SrS\)>HmJ,AF>RB'QZZCCZp1NOu)_q6] %o5W(%D;2H_3hO[Eq/lP]q^RT;W!hGYf'rm_ir2."#u-)fD9^Q+<)1JH=MapGE\'A#_VO54)67uOe/?0CuBH8[#jIt%*:aNrPip>kEl %5(1$0ITQc6Cp`PIc]HCtCBJ%ton5JmDqDFPHMK*e!IQB_k>V)/?!fp5Gtn.KZMc2pkoW-]hn6\5H$3Mdq`g(3:-;Z$0(u.!T)N\S %rnV`MbK2mX51"]SF7b1"IfK-.Y>8gj3=^i#iI7@]aa*Se:MHE"rH@m&VqI!KJsap;6.Y_dDGK*'qf+n:M;=TgT*Y7B$EaqSg2g4X %5=N!:F^o=X&)"@mJ]PC*0/)dBofO7!kL6l)VrGpM10DfuGkkD%T76D)+&r"5X1*#%1/JNB8A>,Qp"R6W8!'V/8Am1,J%Bl/s5Dm3 %^[`7Crq,TuWunJt%t8e&Gfno.P?^r.Hj3GX9_<'QcDg]CHl-hH4iUB5+ %k6u:9a/Vpr:Q>9,NU_oCBohP>>rLEJIO`t5&iA*5Q0r`EqV_k@EO#_HsN(t6O)1m)VHa"ck8mSKmp9R7;b>D7e"6iSgL0;P!N,OXlYD5Rj2>On?$ %*GauRN*Fe$YDc\1KON@.Xpplge#IQ2VUK7#=?LKWZ$.4+3"@[1q18-@bJ<@url:#DS!_p$(3/7-p5T((.huWlG+g^4@n^BN6X&N] %ZY9N/\[/UChjVR/VpG>TF6,@<^JFmq%f_Fd:ZL>T7NL@U_uIu^X%`W(3Np*5+e]DGQioqDU\^@4(j!^WPHQ*'f3'0tVO'k+0pm#b %D#1NR+/OBX`O(JMdsM@qn'_78T)R=`rq:Pks7kKN$"*^9%^#sWs3'unXaY[7]hM3l?((uLi'Tlc1f`6oos%3nSed)Vmnhj_er<@Q %N+m$t*)O^Z$"7!>4g.NUFdafl7@.=GOk/*Er?JeKiPtHSO+VN8cEtPNs`qoW*t?^#@D% %U=oE9G=q_^UonV-lUb:>Im5>3jgSU3\c1RcnDs64o&;$:_]6D#H2mAU82 %]8]D90fRUX\Fs2$V@2#adrOs3E1ui!S[;2)Ua_kqNp`GMThjtl&n=q+DQmHN8C0)(#M"7TQb8H8oKbBSa'AmJ3l\Gbc43m.[[6e>KX(#8FV:UU9W+h`G^h0lWaY %LJ>-"CMUh7-D-]U,p#h)I=n#U&65;k,9 %7(Np)LiJCa4^j,CD+OLVBl&N*EHfFWX>5bF4o="DoP=-JVaKeC$a!cYYKUeL65gm9Wnnf3Id@NNK96s_2pf=K+!.]ujP0/&lhbUM %55k0PDqP.H4B9Wini,H9=2)]qmHrK^r;2aP=+="a:R]bkn,I]_H?o;?^S9lXg[fXXrqc>JglLj<%"JM+@t(hQgdgkGUU/(rmE %)IhEEVZ"//0^3[QcUdn+1?m5ICO539r]$_6C$@^u3L04FbIq7sK`e&lC[.(Y^V],ma%C^oBhRoCO-:ofo?#86Vg9T^@4f,og<-44 %,`;pe=tFc\5oM[^!gAMQI %V&J6_I8't_'\>bH80ua-BW"@u]6tb<=VFlJ?/:kX,72ZQB %iiRbW)fs\8"%fpu#%%gN]iZ[H9m=;]:9#2RE*G)SJt>*[`afGPq?,/)nr!^MdR45i;gQ,hXCq#u##HT2jStJh&ut!h*Ya(Af__?6?>p_9Y$/9X:$o2LUQZUGK)\^[A]MYGPp\e+#LK %T8"d"0@SRa^5JI#:1*]O*8O>':8p)(l#jZs8Zgus#P:R)h:24UA4!DJL0V=d+ftu#E]2bDNE\B3l?C]mKT4@rnUP0%'"g'Xq9f(= %2_I/lP"=oAp]N-#dFP;`7dtD<:NkTNpW&:8*k]%E[W2H"*EHE6k^@GKf.Nodf!#$IQ"]ecQ!J:s@cc`b58PUY>8Z1);k^W4^*o%W %MlKu5%r(Gr'%#i_N$G_lmDFA.b]L5hFS+W5,q>&N$S7(N>*QH4KniQ:]_L(ugcQqh;k_4.XH'^Y;4\NOb9cXiFP_s=hO#@PVNTq/ %W%K84Rm)jB(lm(jN4<$Zg%VrhXhl!M+bl-iUVIH'XP %Qbg>?h:MA^l`$NUhq?7r5SUZU9l_Ad#`;q:VdOmXZpdUR_9@NPtY9hbC96<6>b47lf&%6fWB/[1r^c.fZDQI4H;66%hW9XJ5".TW)JIG47U>;gA;eZlbPR %+FDEuGN.DM5Dh&nDi!S\->bpJS\cEnpmu"8,]gUb:0As)\?p=s;=#QAS'JlWHP*GEq-a;(_sKAXu&OL/`t.G2&-jdfK><2dA4]qV#Pih%]ATnbiBpS"Jn!Es23 %A4,%JBp.oLF-is<@HuA$fbRaoj:D(b3Z3\+lbe$8-6(``V,O^kS>9lC[)rBMcENX5S"j)g"fF5":I/n2?;U<([\)lg2Sme&b77rN\cRidq%=3o?'->e$[Cp4.s(*"AW/oFH^F1$kN,'fsPBCUn0-b!Eh(h9VTNlSoGn;[Dlue %Y@Da$aSqL61hRapq:Sg4M=FVrD,*jCMm(U'nN)&7]R"!m5>A?;YgN8'$ZYek7Z0E_'%&t+V=0'nqb@8sj4!QT<^1I:L*<1UnJ3Vs %fR!%1\?bdGhr\/]hlTjW3&%m*1l`6m-M7GPE^Xje9='@b_jX87=;=(72Za7Hf>S)LP^\2l:/+1*@5YF9AjctfY\17qG!9o %Ke"Q/^:;?O/Oo?f'EOP$LD@mr$%7hqF>t#/\JU1X_qbi6B\H@CpYt.&ZTuWu'"]d;l]f]AWmiXB&t0F+\jK3T4L\P9GQt""qkOWl %A:e.gUp!9qY78DV&,>!*ZI&bkeb?@jERUc]$_Lut):SW>Jcqb-@<$i0"hIN-'r*P+!8#mS]rn5[@q]^HO2m<,JqXs1"]Ln+GCE9>9aM5&?o3jTJHgu.M %r_>,ELL)q"h.(Ef\Tg+H2SH.5>kE+9&?lu-UR+o]_!+lq]W6\)FMYU6VuuW`Kf(/HN6^#7B)NqM:<3q#+sn7@'!.fRmo?gWHNHiF %3XK<'fof,M!F-l6eoYS]C!cA^NB9:N&tTtB8SY"8kD7$!8FEJH`S*IqJ@&36onHPXJp/&E* %_BW%.dZ_A6\^q5#.!m=712,t05W9.:^,WUMPKFUc,QaU:UjU($9>rn#9i#0bb^?]UKX2K'q_Id-5#HW$_QpBnqG([f?Jdgj3bYb2 %6tMi_:>B`6nao5"!ULr#4S=91HfNj413bg(a\Ef1Oo6F0#\#>+9*Nmt+oB5\HDTP*$9D_TB/0kQ>RD?2k$/%l`UPbs(TN&p's8i/ %k"VJ.'_*\6n\b4qY_IM'l<.u_d]?Z!'YfkgQn?)hg1i^;4f@9<< %@c.7iL56s_#aC^"I52V`qUhX6b,"5WW+MDR=qHJL]RnJX7S^rYpYa\'5TuHHBoc2:L2$osGpklTkBLj&1F]<^f;X %G#"!(9ro\s8AU(oJ+<*;(&%GecIX+le*B3OP8DNWdO/am3I.Vg:)/C]fXoQ7n1+=m6;.a;!eB:DCC1emd7-jF>=c(sE0Sol@qJPq %lX,sN`7@#6a%Y:FUo#O:elp9;&mS1D;`*7a^NcI^fLBNh?"Rd:+FY:FQ_/L/!F]3Lfm0642Y1J2^'U`hFdfPQf_UB %>X+"G4;f94EuCZHb_.gVd`H?G5Y-,Q!<'(lFCJbhV[DQ$Ae/1oQp%Z>dGHp#TSudn4ZeJ@f@J/>%WnoWIF(p#:@egF %1KeKb$UcsN3aXsCH?A99DI/SA`_cq[B+)o-2%sOh#^]"^%*:9NSN)nu2M`\4c %,B0pp5#")f>X(2E%c*mA;V1>-%Di/KY,"6#K>StOcC(QaRSr)Hbif[5m:BV$-'!8]p:PZ(`LW+6o]gP@*tJ>EUiJLY)L`g(>d&J` %R]:o0/]'e>KR;EmbJ0#U@ku#kQ^%tAW5P:LEV)=H.7*r=p-sU6aLn- %Yn)c)/8mIVlN)-rL*2K@+b0kU=caN&HWhuB`c*79UfSEs&B(]A %%#BG=2^BdcKHN-rJ_R"2f!MQ2(Gs4DrPCt&+cqD,k@(+"$j"!O*'SobB-'#jKXi&-m!2pOBWqUlNW",Gc^ %T9I0D,D8c=FF2J.+s=`Dat5MPHLsNBI,m3[1)bq3ae&Jd'0\V$N%*P/T];d\:)ALG9W>W+e#P\L1jo)4rUSflEj,T/sZj)c>W)9\%8$'

q\jJ]`ObI9KInuL#TLTggj)`e$c:QUFEaOlbaL#abR&UC4pVK604/4Z,-Ht2N0BN>7N!l9h_,iSq> %V]1j2(KZ$+dZG2B*Y&FLEZdse_<&5+]*XN=r)-+?ad\*=o8/L[h?N7"fqC,CiYct37#1N\+-9b2KG"E%pO!YFP:\qiK&!C3OuqV? %3uD0?7$`pT>_C,)!C7U?K>Ks64R>sZ#_Mh^]9Q!8*ZX%j#G2N5 %l79*K]bMS[i&I-'%f:WjbYD\G!;-ki._X"B7!*boU+#3Nb*[T8L@W=,=!l1u="!.,nLr+eQhoeohbEkEIqP\@6Z0U36:M7SV)q9D %\phq)QYbA;o:qq@b7]]WSU'3c'V=QEZki+kN:8MqPU;!f9WkDuc4uc_AZd^,Vh?65S.q0+Bs!]&4`/chYmFEqT%usNS+j8tBT27n %N*@Vq3oo=j.)pL8oL)[[XT[qq;*h.rbo=oIDutr,jG#8sYF-aQ&AA3!`j.O8lssKp$=6BUOTVG"ZOOuq^s0,3MlpG8*GhZ!k.8jp %QbM+pI2rqY?7]lh"k/VIO%aKi.a;6<2u18\+S7`S&OU %OGKM((c/I[^.No4@k[T'c7q=hI)%q+DRC&dfh"5mWUQ!JOc@ie`'[U"^VPb.gj4UFDtNu;=NKJE*0?9$LKI?rlt?fL_7@B"8T1FG %]p1)MHH#sh$6*as;,I03dqmFK"h-OaB*W"*$pM@5'#Er?Dt,O/ddebO.q#c11;\Ns:EQI7cGMkS&h?K5Lh5pd9JGijK,K4[,7VHB %>52n=@Hro\H^ND40?oFCQ$N&fjJ31^;["ts82PY5Quu.Nf$T8WKPg7.&+S%3R$Na$S%>uX4cu)I#Pir@^cMOUj4C-pHgU\5EO54i %27dC7^,E]GJWk'5kC3i;Z+0bRETn'C.@ri1Yt*DSC%^[:JL@9mFJL$MaBoC#D%aE\h38pnE4RR>42ku*nj5]"hUC]n#]e!'8`\oP %;.mU.(_85NBs1fKdahr9@Hlh"0/t-h#7of.dkph;=54/`-Vb\JE+'NSk3*O!*M4"5;5(05SP;];0Vt_7JD'-?%EF)W:0aeWFdp^E %G=cQt1-i]3+YpisQA4ZaD?k?c%LruAWO5LDp=E2C+bsRAGn7O`/iZdmR'_@]7h_?Rl %<'F14pQtSnlNe956L'@N,RWD*&[X#HW4\@Q9i$79,`(K`BY_6M%aBE.\DgCQ$&8OcjYd5gFH7&c$,b?pJ %!PF6Ike0,a?P&jC_+47bKi[=nMN5@Kg:VJ)lSJfmki*M&nc$#KqeuTd'DoD3?V*JN9cnNYBKm.X+QG;&i>0$[c$Hc>][:rs_rj&] %m0'm8L&Q:dDH/eDmBAQ\.^akp\N%MIjlGIaqp"uTApjj^:=*I1cBWl:r`)kX8Ua41X^YfK"E@:0Nr`GNO.j:SIi>ea%b`uqp1-Rt %k2?]`^XHM-JSpR!Qb?0;M]N,DiUB4pepofpYdK=21gh;hiWB3E<;rH!1$QDYDKMl4kp"d0`fMfJg:@mB!i_LRJh0+.n>?BPDNL@P %NFniKL6F?b=HLm9qQrEs#h=Pa+GbjXU>-Gf3B@U:q@Hb8XW*Bqi&Hmc'b#/`F>AuGVO3C-eBuIr."8p*2hjN5"cHega%WgaZ04j0 %clY'iOQ4Zu@!CND+(lSLc4)#c;4$o+-ut6$0m.*6UE.a>&N$e7is6rm!so]!]DH]#Of.[Sdqg>ue@ss6)@9dZ=tpoB2"rTE$af@2 %a'QIq/it:Lp7FElmLu]>Nmk]g61%e$MU67[]Al8f8e['Ral(#aAWeW;4npR5IHCW!(!G>fj^)+n>3_.k4c-h!)YP$W'W49X\+cmu %dkF.jK'qmVP+!=UZKm^>^q>'R`hJsDP'[NZIEA7.X %`_1&sJX\)U!h%W`N3A[;jPY+")haR`ANu.Gq17A %Q3.]-?N"TYd_Z9e"->crjt2deG#kr2.`PRNf[\qJmt9W`M>d:M.a9)?%Ik">WUQ0^URlV.#n!n3Qe&eu>s-R1EJg3?auh3,"fjE"T]G!f;7%?8_rop\-0e9YP`8BH8"*N%'JhooOn2=7B>LW`?r\Yj1+(Uhj^*#QB! %NMuD$5u^&/>juJE-UY1l/_O2j75K.'CGm`VcW7RX,hTA6mYC3N.Zm#Xro?eY3=5c %AtUgcSNn59;h9BWK&T`\XA_YWb:Xo2e%0\JS@oQ9' %WQP96r(1\oZAeobV^;lPi"\[!>q\U-3CV^r55YDI/43Sa.#DAk'qaPT@,pl#nI*e,V^h@$[*Jm5lfh(X;GN*<^XV6I>%KUE\0>\^b[*:paCsA8sU66ltJhQ(;iYd'_=F%l&R)5 %=IQ/[-8RoBi)j)9DATcLp0q %`:p'qW;0lUk=)/?9m>FpXW5))D;u)#ZXo[c^22*Uh;CoK_j;#?2Q\_BjLWr:V_sHM %S7,=sXc)/t9G:`BWCKU*T!t:>EGXC\+GJDY$EolRO0u,UOF'M'T\#G2&?E6@iZeTqe4Uru/9ou`L<%]hfVo2VP-PFB8T/1V2@_\u %mO=^:4+j_eQh6*63ZWKfRndM./*)E'\[jDmh5qA?;PR4K!g9_(!Fpt=/X-l*dMdg3?J$Yf5+[,(KB"YY0,6K#HD4Fd6l?Rj$f'r& %G#6PTUHRj9(6s.P6CiHW?+o0L6kDn1fs?&d.#P'f,hjP>G_\[(Uqa^!RjNnV'U.r_R66KQX;k\4_7:,AO@bUQ5SL-?PFGrR3-n.d %"I6l;k$j5WEJ979mY"p]peE0Q:LKCMhJOaJ,@F0cOLec6Q9)dYjZn`knq9E&hDIrYJ:`S2s>mHaANCsHsJQO`9SPF*H$'#WXB %rb;0/*FOeXeg$U[bb)I-#l1PaZ;,Xh"(31#S?OVI4T#\UfRPAp1@ufMRt)mtO>+e&n%jU6WkG!gpKCZg:(EF8&2O=\?/!JAN=b.h %Z?)t^Ns?ht=\$IR8!j3uM;():V-iEZ%sl[Q/Gq6$!HdprV(jJ>qnus(a0toNMa/J_KB4bu]cdo4WS`HGS?C<9fh0Fr2.>qVrX9W3qiBh1KFndr8a8<"12J-*k#ZAR'VK/85c`>lD! %ZiAC&aZmJl$7,o=)8i,G+9EYshi14r:srGeMhD^dX`.-IcGR?ROC@<_&MWGp>p5^ukX*=gT^.Ym>M(tS]Peo:(5L3:Bqk&aTAj_G %+A1\:irfE%^LmcmR %:(RJ/LQI^^1-o/iCq8!"0'E;R.Y+sdiFcGV[26Ynf%_['Mh2m^PrMd7(b]3CI

`lEAgKVms0!pjpA[C+]I!-39r+d4&\oE,jsm %-7fE';TfJa3(dB]$/XY>`*E=]E0U3XlC!>F+>((G"$j\b@q4HK8=K)&K0S-m;rjQmTWp@JjlPbtS;XN.ZG[6mKPrC6UMZ*e378YL %/)!ZNKZ6PWdF9"nbM%$P>[pGQnqU2$^#=eO+tmc1)PMA-YYWSKWJ8@u+H_19Q6l;ddfblGSnZ,6fG.7p?)`cin4qnlUgXlG6@gFn %8uV1c*)d8/+f#XiBa4*<*;3H#rf@U$"Ic3i/:N[TPq"]IV_q*gfL$dcFaC8/(r@<.g8lsaOT\;;N_D\;K&S0_HjAju*!i&IoMZ[- %@tXdHaR[ic)M2SS3;,.d:7iOD\BrVW0DQ*EY`+jd[:t!*h>pe41ai5COe)"_nt)86Q6^Q*\mlj4'L@s\MWfke#Z%Pa#nk\Ca&Iu& %!->"$1oqgl>&D?OHNUL=+LYG&FY./RF;!lsa?(1'o`/L]lrRM>..+0ZWj@/-9BTm?9V%trZ@W2h(pAac-++XnA$NH)ZFQjB!.6.T %L!ikR_Elr?KVK5OW!gIX.huThm%c8rEoD',Qbrg+:F(Cc^#,PnGHP9T^#+24QdolE>B0,`SU:f\jJ(1X9I_V!1A-eeZ@[QMYp:i] %=fKZgCHM[dI4dKp89O'@Z0hYk$1L4?UdTeCo,htW6U&+n(8^aG$/(u,JB\:pam$7BW9hkc9%.c,i676KnYqmpT5MO)Vr`gO0\)M7 %NbD<-(*#V3c&h3#Bj#Kc54DiY.Sja)D6=?BQWfcLoWV@=hU%q!%d["%\*]QV=gI@oE^-XM]!XU'?0E9`%*YRCrI5sBZ6Rn %T/]dRk+'FF.;(ue$>gPU]8sHinAuT:Y=@Ih6u/`^@jamd"GN1>6-Ph*">&OjT`%TeVaKaa&$2'aMLd`h"43Hd[)RY_bW:[s.j##P %-g@YJ'ZaKG2b/=W-=OVnTl+dU,anTshi-%@J[sp8@Og4hZ7E)L7e#S641#X&r9.e$^Dm %/9R5_4R$,=M+eIsF)+'T';07i9f[(?\TkI21od4=_PN9hbFV@La4,2`N^)&cdYSUDSG)&oO=;+pA@ACsR/=F4`1VgGkks4)49L#+"N5&UOR*TCBNZ\9l.MaZ<\XRE\2*!U!.T[_eRDY9$Pn##pp%T*&RW:.U]( %@;TrEEXK7Qj&Zn^aO]AAR/OFE#\8fNEo8F@I:LB^HO+4:!ci(Opn];HF<[)B/;VQ8RkiO1S/IU$=QlKaLHLCM@8!k'"-%bk %e03N&5*.=nV`:+9-k:pD!Msq+/oS\/$*>C^1d!4O5/N`11.t/h-kY$>)A&).JX7c4g)3'9&9&\FS0Pp*+l!&P_tqhike&)aG"YIH %Kik"YOl96KDlLL&7tFN8>[r]6%'6N3KmSnJSN95dE63R78c:tK6E%f0(>RSO#jNi:\Q4NP=d[o/a3,4^`gL\?Hgq_F%AIkET8mQV`MBI7@VnBF %arOV@eBMkgRP>@%5u7_/3_\XmLiBP3/_+>K:ks?1K2`eJ5Uk@0]mD(NK6`\fm'n<(QD?5tS^p"'m`r[P]q)aI1:tt,,HJB&6FCu* %^c?UV3d6gmO22^M?:cs;")TH\a).0LYD=!F5Y4M%3QtkiJeQOD<&KVP:%aTc*j#UC"+N9DdD0C\%+PX_b7d-T\DNaVAtld:R-&@TAK!7^PUrci8?k]DS(u %W3Fu]GL,G_kEu6)k;2BJn9%!FjnVRYOd"RK#e8ii=iKUMGK^,"q,;UUGQqW7_P:dSJ/G6>0=pBb`Qb,]]&o_9uVkP3F8kg6-NFI=$5^]o+T9E%J0)mRrtAC[Ms0(jC'1 %b,k$LZ&Yq!B@@*aFr&q[7*k`eHYk/-2j>KPYL^dlUiNEq%/M3.5,_g+TVY(9,&ZBBC2;5"n>g"$5J7?g6 %.+KDBI>2Zqg*+"1;L=-."qS%9EA+/VTkX"q9Y6,Y>4P;Fh-R+:Ge/5u^Y(*fPsGHe+DJV[K!:9"i^"4'Ws#)YAf_`<.1ePG=-qC!E$e($S7G1^H[GA]8Y8[QX[uC:kSS+bEiXPji(S?t)1$>Ea#A7:Z?-=7hrh+Y[iHN1/7&**q4V %kt78,D2aeOj=DTBdfF`J0Pim$Mfb";@9T755^3[T/>T,`*1]O*'at078)spe#>HXoE0?NF6j?7 %$,6Ei!/=V0';-e-?ZD)o9=pg,ESTl9EQr&2Ec;Uc>Wfhp@0f]>p5\njB^T1^(hj8n;+5N8:5D;gG)r_&2_-BB;Vqsk*R43MEj0#@:o1X\YmnR(fWSc==8(:9:9:EVMphf?c^eGrec?`M_C<]6hLr)U,kK@$f]ZDWpE>*I]5>@ %JBd@^/P7`lkN[R@Jm@$S8u5!XhR0o'^EZ`bAC5]DkTRm=@Q?&:2CL=6Gd7f')'<`+d9C%*U-H`3MCh9[>$`(_-me"i^8al(X/,*; %$;SZDV<3NU>T8V(.;kZ1^kWSsFsQi*c'aNU1Q5bC>]gDag+M!!'%?j`^5H6OKDnPd29ijnbUE;;^[U\oP.P9=#ergS[fE#5)h"s.'d"pe?\Q$Q0`PR2NOuI$j^#m`D;;).)\EKL+$Nk*=G"i^'Ph^H;RbeSWo4t6P6A9]jEu4()0)J8U3dA#@sP`5b0CC];dAIE+g9L*Q2H] %K>bstO:@r^3qC70V:H1TJd^*Ieuo)T%1IOb@tpB%*;V#XM<,/ApCO=O"Nq`R#>D;D@tkG,o"Zp1bqg+noA.kr!94qn@B-tSimKDI %)FSF2@t^8))=SXdI0SF>UESVYVVdTo*^oHtT)$>EZ$)RE!_F7p;>?7'./P9i'FE_"/9&p/p.f^"T$HP5`7%[l-m1)&p(l=>91i-m %]iAA=Yf!N&&d4Ks\ %7(;)&Nrk]cf+A,b!?[ibYM`*\%($XP71:MB"<5jQ'FA&9D7/-*B"`qNKDML-63;MllIiX %i$dE]B9Hi.\n->uD-6\(@^/gbaVoRA+$ahjqEdd[U>mUTng_=)t&L0Ud8pe\t9*>;]Bi(ccN %!0q#Tob)-!Xrj%OZ8bb/n=R)8`Su9L)+P@%Xm-$5aUS21,)%o%QVK[#7--GF?5D`Y:F6>QX8+N<"MTQ5`HN;:0i^Kog3B$$8s6ffC0Eg`A$7jNU#RZ$G_Rm %R,^bh'E:BIPJUu6W!22C,dj)I,%Op]Q5K3Qcd6F+ctf/qZ%,!C(GmZll9cr(EX3"[$`7B@kL&F)mh-Al8WaBG[rL\Q8.:dR!+UT$ %<[3WQggmu[6XB4o/]\Xc>+n+ckaEPFlZ,5RN'E')J;`k*3Jr9Y8Rq?XGt!*>$QoZin3-Cu_cEk*Jj8/O#c"jA+3aEF>t-GL.;uL% %eigiH-l=$W",o".@QY0/o"^a!"s#n$*^G>l0GqaD4i5Bm2?>68CnA-3KZ.rZO_lP((ehlk)=R6CUQX.rH:UB8):i#pJAMfs/l %O`55@0*jQD4OWb>0W$sI=%%TNp.3>3qtuX2V5l>OO?Ob8mM-4A_%<>G3T)N/6-tO\)N4//Bse##6r7%-*ZUgT=o'&Ec*555'$ %51KC9:W)3,F+rU1`4bZudVX9*o)>b4"Qj2(+a8$g4%<)2fk#lF9Uh"(+>?g+Cn*5>XV3poUE)\OQ+Us>hau&Jk.!4Jr%JV3C#t24 %LF5a?[N%t3]+m2QiUo*"EW;k@N89T!(T6Ar6,LZKXQQ5tU2aQYI*.DNX*sI_&Y\1hZ_b;`;+d!L?\d0iIeFd.0__f[9!HdB'Jd[H_+6tTa7L09i+J'$B,CoM(qui>c;%J=Ig' %Ot+^kQ#"GSo!Z,+@HP!WK&#b_<8IjHNgFGd)7'o(!%OOF$_1a0sF"*+Z:.q_GC:J`>FbsSnMSBehF*t>_FLSV'7*r %DO,N>N'mpl2DRos(]&_Y-&S3E2GrmPW1SK.+;A370Uegs/UN0c-@iTk7[o[!g5tdP``"Aq;Y_'5XAqR:2q#T1h+u$n$srWR$Z!<< %)7ML4=L4V\-;/IoH,I3;].ZnqVH->o>fUN#'WfuM"MSHj@(l_Fj:UtDUC#2bo#HbUO@),GU?BV][fYPeg1DT@#pZ?0AkWjZeH70% %4:h]o!$m:$cK&;t,fRA,AhfIZ7pQEV+u45o//%sskB/FqA9JD_3m3DP&]*%Bj@b@]s!OciBV[u#E[MaIa\oD>&r'o\Npp0NLiSpM %>2XWS7QtP18'1-tL`ZYZQuS86P>)Nc5V+B)CW'>L %9Daes_"rjTHT!M>TL+qXQM\7Q_NI9/9nY.&0!C %Z&0q;aYQ!GK1&>a[X>#@k-UX1`&:L;gR/\(+XG1\P!1$j5e7K?P!7$G(DdS:MAek1R9\ku:`W/SSS"r+C57SVcQ,KG.l@%fEXB&: %Nf]c`is3:cC_8G-F?0]lS`(OuLuHb=W5Nud`]q_ST]J_`jNn/L.5E$%0.p1h"Y34f?J!\koMfcPMR#R;a0Zj`e0W6(!^o)ZUk")KggeA %b#UjIat:\5l@$ANh9Sd81s(B:X@pb^fR4c/&d(H7/gQE.C<6U$U5g3_afE=+X@*\pjg1NaZCLtq6D\Yb+T,@*B"\dFlKgdEYdEEd %V"KQh&]GO$7hqkEYr<:ghg;B9_CZk6\\]o&&j&dE7N.u-HC:jq6m!QA6SAg:dQPB`("JCFBb=d1!063IQn0!mH9tA\?/HeA$PGR\ %Pr%rhcjNGG!b)K[d!>FA3hZ<(:/ESa?';J&>7HK%C\/QA#cMDT.2LPWCrS7c9`cgN2Q]qfmCB$PpofKN7Wm=Sg&sYB^qHGfi7)B& %++FbHNQ_[M4P(_"-=YgcRScs9E2l3pM-_0ZA1o`QBck>g;\/iZJn[(5QOrU-fhuR1,buX<*[IVF:i!%PPpu'n!bp!<\PnUCYY,`Z %3t&)%^VdRB7PmYH5U7'ST0O2H?bo*@pa?@Y!-iUj+b"X.1[[CMT*%&#-cIDe1Z5Lb3B&`ORfuMXeAX8M,U(E*-5_S:4pbPpF=tU! %5+[r?-oM[ESmHBs<3SLA8&uUsH*MtK!gsYbL3,3C=>nrpJZs=Q4+)jI@"k%nE2/34"%IcCL_=`@$S8FsWif[j!d@COQm%lp_^AW= %[QoK/d/m+q(cb>Xl9*@>,H9JRZE^^1!!!kAVFd3P`nTh\eO"t1L6sqP3ZO?>^qa4dA(7biLD'?pG[AM66LVTWr?Oil,@A:&?71[F %hFL*hI[@X]hFLOul_LtW#9/P3oItD[h6pp>H$O]'VQlZUAYaI";8T"qj%uOP_@dR]L/J\ptI*KT9 %iih=T$W59QOp,M&BgkX&96.OU/:V;%2`.H)6-SWR15@arV%O$,kfK!9NGt]G2_ZPFgdJdCKQ)-K%?rhY+o02+2Z\)\,jtAbn%p>N %R#.5gVU)JP">AuK62,u+0FCJVe?XYEWc?E:tEULO]XW&!P`M %Z\80bVR'F6"5H/G]#C,5]-P0jT`9in%l,PH"j!DA.k2'29%` %&rW#'kt/T&b7H'36B89`!a%60M50p"c#'Xqdi;AdH!cn9\1Js\GZbCO6- %:e>>ONe_IIB=HmR!D[49E9Qp\+;OE\-=NXMge]L,N[I??0-XsYYS0UL`(D^Kb%#3K?Lk4kq2Frlr:,0NH@;FUGB_M0^"c:-mo7Q`WLp4,eh8"kDiUTUBaj+fN(_DhE8\f933,Z %.Pf&"#9/.OgoZbH+=ZG5[1SEIIK[?.?g6Kt3*l%GijO;"t %PKjO**VM+Q.99'*3>V!?nuL*D'ia@@6K;(Z:lkdiJrXuLe9)a!=rT(!A;Iku+\"(pK'n6qkrQp!_VYGgPk@%K>T %gL>,L`W+9@RkD(1/6enD"aC8t^]oFak(1Wf5SsS-"3/=o(6SY8+j#mdmlitMB>:uXADatYXqElAAe_M>o0 %!_M]k%L>kBnSK;Vkjc[DM[>D8/k7iGXor/F6XM]-'>#bjd&Ul;_k7-O!V)tE.eHE.IfhR'Nc)a#$)Pe&"(FU!;X8F8E1;-k3[bpK %Do/CC*$%$B*@M/OS,r?hTZmm_#:5j*BW)E/,)CpOEO@i=Nru9>&rNYUCN03_KNZaWkD\M#F\Hm"=sEImF@;FlCr-"FD7Xt.MFbT\4<5Ys>tV[K*7;Vt %%7iR_F$i&6QM(ufEDqDg$MocW-C0?9K:LVl(ldd1(]d+unkKRtL'4%;()a:b8>Kch'TEYZ+rJJOBao<67HP=*XTLWnY$o5R[-Vt+ %5aY$Z1DfMi1\Sr-Dk0P9,3'[&Vj[ikO-$%=iLg+1%UBDWBFHn[2VERgm4i&Pn#mP?G5Z/6UTk3P/%4+k[aAjbY %0"P^A^aLJL;A.r>\;"sJip./(#-\ZuQZYur6UkQ_Y>!?:)<2R>]&qLpeNrOm5R\Hk17g0O5iZrRnR97I[\^`&I7lQ@"L:G>)FFfN %hT]6@PsSQ/-B`rrj&9_jWkDrm-.!V%?+="LBG`>C_oo(r>\QRC[(K3;@U)+W0f'LgN?u.9YtCliD:"+B]?b%t([^X7.&mA447p^) %Do2HFp]pU>QsrCZ#HEIeH?iHW/k+^Y&9]qO#@2V`BULUan?51gYr%]'O;pGPNXL\^;ai[U6W9bnW4;ZINC?Sd]$sS&lm%sVP"M[N %O\bHm!o^-]LHW(6"H-u5!E_HqD&lTGQE*qmh7s?pH2s-.OKHnb[X=M`K3SJ&".pZW]>qQ&[ %IIqtY&X&l`a9+]PAR6G2@>80cFoNo/T^r76)u?iqi?tI;_WS(d\1/PuN\Cip7)XUceoq;Hk2PY--RtcTBuF==9kEq2GNQojdhr-FTZ!,BL964o5.4Lk@ou+WY".Id$V92 %*A8+fWMF)K^=28`dP^+u[\n,_R\AWf!F=rG^P9HN?A]s-&[iha1RsO]3FP;k&7!+hmS8L!4&-,QMkXct*/(>^e'L](dMHlA:(VVV*`08)XD1nP&QQ6MSL+[!D#h#O,Jk*tVq7[CRU61TC`(kF-EAbg?$48&' %l**9:ioM_JKQM3"7!6PZ`21da0_f&lR!-P>$5slRF<7W"nJ.B[X(_i-!Rb;EPNY:F8_.'>ma"7bgm&f_V=F %/"rD'g(b"?Eq_t5@,cF" %E[XXo/ceLgE]V,-_Hc#;;o]D&,aS[`TF2SI:F]>7%?6P("+LeoK((X*c*l`2[fhO4=E"s?jJ.7Wg:$]WHbL9H-u^%WlpY\( %e)@n/@Qn:YLP_7lE+[1Eq)!:H$7R_(&QJ)l)WA\4X,p[$*`6,d(iUXV=4GXP\'k,1.BmsIT'Je,5(Tp/B]CE?O]5a'pOP:hW)00W>JopnM#SrH6ik@,1VHAR %X^d.E %P9G"Fc(O(3eLTGL`)I7`]fgegHkfaeZ1.,aXnF.L7=[cE&M')1Nd+=OCS5$^95akrAejo3*>+A0-L=oh%Pbd#`$Uf=!;c;1J1p>" %e<+U,LK%%1H1NS1&[+3B;IlP]E$.rB&drY<&lo#6`tCEO:$l?0a^_b"lKB"r1jUZJE::ALo#onM! %f.:o.\ts)ui,?MtRhr$BE7d-:W(4<#!uL1l_@ls6Zd>]3Z]=(%:^3u).(!_domcY+jsi4KjtCS?g>K]21/jMo\='R+g'oIHnJ3#T %0[eI["?AY9FbOBd(3`m#\6G8u8a(G]]%pa-m\t+5V$uRqG(_.7>*fCiR4Hd?>^K@XHFa73;R0"#";*>O?M#jTD!ji^DamM@'",dl %7k(_9]6`1M?_(]T#XAU02M+qP:#(ial4-%5dfMcD/3&iR;[5lT+NM_lK1fc33=(d+$%Sdh"!q"+$2f\tF:f20lS.*Y&6P;k$6"uH %3F8[6=\8Cc9/IT9o4aq`!;JCM>1[8=EOscM/8#_QSKe`J["DOectU\F>!,i'D?-b)Xr]9GF*[r %!8E5p`eW9,M#_RNUb4oYR0%BgQ-cek+MsBSe5nSNT=Fq18!nl22Id"Lf_.1'%@THlpPpRq!WLP:eo9f=o-3!oW.B>L60%GF %4lO@gb8l+OJS,Y9'$5O=Q9.,<$a`dJ/o``^XTF$&!&8OO63p=P_j9sH0e+I(2"f9b:^[$d+JVcMHbQ!M:[LDWDeZ5&"d\*mQ:BC< %S`pc$lcQoR4@_XibIA9Pjb1#Ka?2Hfpi^(Z13D$=78)2W?=0ER8NdF::_d]9$\tC-d$*B1q>q6)'Y;.'/m0]hPk)(UGaU,$s!BT_WkkpTBqU.u %h+R#CT@^)pHR',WA'!@]Cq1r[,WYL>/8nV"3ZW=Y:SQVrfUlCooMEH$V)K5hLo`$,h]`L:`1?tdII[*"AAJ`>+Edpn?u%nV8!Zph %Et#.SUI)pZM9D]ZVd4-/o4'KLVG%4Q]/o]`,n0\Z%UnJ(rH]r,9=G)Z\.JsRWFY,;7M %-&;^rIGhC?FS%U2mq<+L:D&_Dc0K*1"#+M"0Y$1R7%I/PSNq-TcCWAq*A%^2!ZX+LTqcj;Nt+[VcrlN7"m^[NZ!ik:_Dc%9+/=k4 %BL,E"bsK*T"R)mE(5rW^7NJW&&mBmj+KYq;FpU8&Lhf:u3Y@#tbtUd&"c+_G1&qMGQ&Iah"b\Q85?d,6'Np/7q>f;988p_c0pDa4 %*,3V9Jh6G.&dETP%TYkj!J%h,8.!0f._C/=Ac4l'\82lLA%qe-h]e4lsb@,EBm4n/Xq$dDLfL`[+JU5cNG[\`PTX$7rNO](3_bgt[+prpj=?nbM %?]9/Wa^h$:HK!@D!Oo56=bT,g)!GLD)?C!I*^/nX?<]Z&";DD#$lm1le!:-\f:psKi)eO+#@r1)/Q%0u5fR3[[)ef;!#Q"?K#0m2 %Pu'kYZDDQRH6\iID(r5f,ekW=^!R;>(@_s2"&:5&$+^9=n1pMqUK8(Q6r%td&5CDf %MPWkp<`>1N0q,uQ1dAEf1V&r==*(U!Jp&K@7%$%N?&6!o`?gE2@)*Waj;2]-*(Ns6Y50+ODg5Hd+PA1@>*Kf<8^SpEnnMDD/!#Kh %'NmI."tnc'WPB37$rZTT5S"iH0Ll@]d0Hi"!Yk-J\lh.hEl4_6SRI)0!OV+2Y[\jCBnk=]5!t.)VgZbR_`E$%OHd>,fKpJX%YFS- %H>eYHNhT\7@,d`Z-2SZWIiu?s6d-Cn&<8-r?NIPX\<]D^!:1<4AOrJF/Yq*l:07\r(K8`nJUkg^;M'ibku;l:6qmlRn0@RGJI5+a %Q1>b^.t!A9G4KUoUi5!T?(`D`(pCq2O!94PI3^E)ha4Rpgk[BJ!YVGo68jVf#R<$:!hj5KBoG\]#U7t7^uidn'>u?<.NgnD/HqRi %#^:t^aS\kAYp$t_iYhYZCf74!,\[7!R+m00JfL_s=@)QgJ8GquA`"/q;@0e]WAFp^O^q$9"%R`r?RTMq[J6o[@doNf?:[;l.gg". %3]]VVG7*3N"`8$m,#c#/7,!Bh.JK_[*RO^\TS<4La4E=9!BB"K&`':::uQ_\"ptHL"1bA,Dhg%sbS"KE-8#de)HO-M0n=jN$Tc>4)l3+=0gOs?)0+r(P[Cd_MJ7*P/'*1J=gG7IoP`0+Y!Su,$^k;oa_&7]=-ZLPIOjK/QZU'M,1 %U-$jeC:$DLg>;BH_FdA,WO",UHt3guA]^40k'&lk7*;`.ad<]q,5?RFPV`c<2;FK%VRH@bC8`DTng$WLipDFc9F)K3E#E83"`)15 %0pHo$#>Cn*#OcU@;]lhYOoTC$Zb(mRPQ])I64*MMKs5+f@bNHSl3Z0(i8#A0/7A@EF9%^PX.Q6[fP8Z=%\60EFm-j*4,!/rd`KFj'o %@Lk^>&qC/1P;a2#$)C(J?8QE+3]<$4%ed`#Cce=UPp"^!W=Q9$$E#8&&]fc@9*.EdKOl]d6NEk@L_g0cN,WZu=O<4dQnlkE1rC'E %CH%F_?qGD%1%J)TUp.X1B[s)i7RRt%70^^U/d7r2VMIUP4c_Ip5UB6.&7Dqa"%s%O&3#Oc.A8Y$ %R`$?/hhH)m$FKq^iuY0I-SL%KVf`2<%##rY'c,<7@))r'oEh'H#[s$BRFHT45kSpd5uki2'HG(H# %JacPld6]7Vau!Amjr"58EHUO`W+nBES%oWs$c!bn"Oj*pqSj?G$K\cCg]Jt\PFRdE)1pTO^,@MXY.HA+-;_\hVNba$hB-ME'_\IKR41k-THVLn %9F);DMl7>COKH(#:ggk>8:ee0!2aFcO>Fi\.0.sV?)J_Y>ljiURTt]q"Lcn"D7X:E=%H*oL@Ptee9m+ %af9F:\ej<#B:*\8l93k>(C]pDQjn:!Jq528F:XPX)3"J`;hU!<\*F@%hQ7],XFEX;\*4U4A_drDTgR!0],#!-8uXL%chJ %TgL(X;0ERM8WnOuJHm6$$$o-58"WVq0=MM]7Q %6N#&DnJ6(2_TSJpK$ko1N$s:"66JNu`"TXNiB.Q`95nm41t9Ed#oOD79^',uZ6a%6$Cjp@Qu\l+TE;Jh_B;SFRjfKui\"pF?&e_O %O<+6Gd%)=mXZ2k)$m=Wu`,PrW&9FEJEp?"_KAd=+*%&0]82EM>nAOoh=8r^>i4rqO<8R6LPjV`g;^S"_33#8A`-eSn0D*:3="+=. %a]&uKcd3I0\Hq0uNg$`#b\,.$\jhq7gle$I_Dmobh4eXNS=7g5!aKZceVEGsl@ld3I6(S!K$]T\LKYlnLl`,Io(iKqj+`_`OL?Wh %nY%1bK4I5)a@4#ubZK8:b_=+G7mbQu!:.!(>7osQ5j1aP0I7l[78C(e9LMblLPU1aiOFOC6ZRek%08.2R3<-D);9bDo8EgLeX!RZ %9RgJ,YHV]tP!,(UAfX)GKu=ZK3$HH6MG05X7nX=>JZgip$t;$&pTW+;\4F5g)b],[NXf%q6mt#U<@hOc[\SO%8OuTh-_P0Ah:+/J %9?-NmUrkD]P%)>VH8G_=/F(];:Z36L)*E`^(LSkuG7Y)fE&'6QK@)Yj78)XM\N\"XtWBO]jJQJ\9BLPe# %E5ch=7bO"--:/sn-],s,N$&7Ri!ahg3C*u8!aVL)5m"2S-Ndcj/A\hg:`9P)3HlcbLfua- %<_ak>KXONi1U"V;(Z9hK?+Id+234Q8j.fCHK6V)hU8u[]K:_/a1\CqU4c?hC69)"S#&QpQ'Zi"\:^BR(IC3lM?ji>cY)K/AWE1b7%Lfu,'&.ehlSHYmDeaUKf#n(R?^FL*0oFq'!NtN0kH!.o(9R8Lah:+>&4sc.^"oaYaN27pHuCIY2pJW2o&OAnBrf`T90QS0>$e %<%f4K_/_Q[M?752FABVl&O,Fu&^<>'d]aa[M]D/&h\?nh:L>3[QUjGZQh[HuRECn>_NPCU4/@*IZ\5AlEJLp( %P^7;f_;?]L%'2h7N&/c/e"csDgJKmUIlr+.1+2l*Cnki%!6Tu0:Ak*8hhs>/"2\tb0b%Y %-"_!O[16gU`iQ[W1`9:52/ek)_E'bF:`n`>_K2m#Z%=S&GO*oT&N_Vu2Jf$nrS!$[5a3D_j %\2"-jHO?6d+Er\'LA(QuV2D&(^c>_6d&q=3lqF&cG&sL;S(2#=&c-"ki['/R9Bc:bBfaJRall5AAmhbRO&pG5(*XtT,c"3c#2Zfn %]XhJP+M&7pI#$c`WI?otUr4;3O91kYo5(WcYC!ljXg %P'.:1R"eQOV^--^>t/6.U_,VQrBN>1I(HP%dpk@(l%(@!.*O@_>"\>S"n@HJ\pgdm5IdSUkP %C3&">Y/!kYIj:B[["NJA)o8"^3a@?hN0h6h;+3cY$'VG$;5S+".01.X]%J>JMTRNp=!Hs[,b=e^CT,]M=tl9dB.@drX8M8A`gMh:Pc8J>?cmAA@f,iL;p$P7u#*jck^=_]fZGT8>r;`^b'".>f#_a>gmG[32ij@Nefp@9eTsLZ5hMBe&P*=d.=br.J8kcC?fiL'K_mAY"OhK %WI8K3!pc`-Ek]F(:+3VB6[^hZ6UWT@MP1NiJ`[=.A.V4=%[NK>BTsrk%iNV5g*0H%kR0s8X53!*/TInd0-!?F-![*O+BO&Y+ntS: %bj>amTE$!,frotH09RRkiXEZsf_H\n.`E4iac1-Ke%q1d_%_bfqS$g;f%LAGT==^?MM#L*bDe9*HAl)8bSX^LOE-FJ)f[uU5Cahj %c,S/!Y5ij!q9N[d77%^WOtFN],jp9gW6><9J&l4uK^T4"&"3M6HsB`6'!#k'36Tq?lMB"c=SHsF/+_o^,QOg8D%l[MCobUP#WaK! %l9.J$(`+UhFbik&ZsFki+hcMrc;=C6F8oAOg.1WcL,2(k(honh99Q17@?WfG7LI1GaMWiXGllP!57D)!AE8L,/URQp3;soDe*6k8W8([s^Y,+e@ %4!>_09c+92&E+m0TM64nA7+ca8kaC;f/Ps(C3F*mFh:=VcBW-;:qNWb#m#WK:(hlmNsS=RLB27sF[?mZ'Ya"J!"mcW&]i!u!L,Pt %8:=916qknn$D/N)9EJgcI/gm[R$"`"=Q@=VjP)+F(>mZ92!6"VBGte1S/NG0X$cICNcTFM.Zd3F`o,JkF`X&JGr.3'2(/W&*0Na[9/SIg^.BKm'O'nM(9_bI39Gao?p %J=B61KMH?>_Hd>6cHt$4\)U%^*X[/*$AK+n*MEEhHPE[1*>/6D$Kfco,#+cXP7uP$`-@k,"Jq-'fE,+VSm@MG %R=t#hqT@o`c%[^sUc!]Ko'?W@aA!Gd":W66.5(a'1l+W!lsPN'[mTb"7M' %1`"4c*h[*30_10-K1rLq/0ed0`Tl[^)A82.neK!m]C_sE.aF3J#-TcNg/*Jo;FOA<%l#F'3L2-;8AdpW%L,6?q@t"F&nai5'#7Ga %N@FL%VC/:<-%5ik"GJ%uXAHX^&[3CB9idAFCn3TSK[']U@sUK$+AbJaSd9rXog;,XL>qjTrB])0`sW\L#^_+ih457lG]=i[EEFrK %gqd\3)24/KU%\o4JIcRk-%"#L8YG9]N`>H-L]X9/.a]uh])\]d?pLhI %N-GbqYQA8pQn"C=CjJ1M5:Kt[#RU&I"OYTg`9^eKEJ9u;oYeBL:lbd7ln6^01Gp,u<4r0^pbA2n3)-PX>NgTKD5$'e4!Vj-4(i4i %.hUn&8%P%(kpS\j;iq1?cKg6qqV*Q-;&U)#9!C$n"!RBBm7pc?Yp$Up!2+gs<-0D>!*Z!G1N7b6R#;[da<%^4Zlm`@5iT.J##uU2 %*mqADJ?mGF#ZmVmGYRSObOH_pF([6mM5_BcfPYr3kto6+T_B%Y=2PTX@n5"KPK92sBU^!QVPu59!5B#/ZH@,,?\8CKEgR)V\V(XV %71Or8>bSekOdE[l7*=j(qLd(;0VD&W($I%c!*<[AM%Bu@M05O85RFuB9f[oD[YZr0,RG""01r6,*KUHJJBYhQ6`iJ!%hGs"`bYg! %5G9e_\6(JR=qPMGYA_#aS0<9+JZ"@_9M]04OkkSnbD[>b96QuGpH]fQ_C>g;FqUKLN'+suTq65@Q[I=35X5kZ2TU%T$L8U&89_!N %)+%aiKpJ&s18sp9OtDn34d+o6WS_b=S#_EE_n"Pmc1k(q>+BR&[t %!$uY-$Od&BF@RNggXNcrG`^Q=2NM[b8du+RDjfe2rKJnWNPOI^?=At=`c\42g6r=/m:\WO$2A"HH--[rJ(uC)6pbR3_[.q4Ka8'@ %"$*_^JPhLcguf[YJZVZ]j:''tjMDG7,##&rb1`^K_.S[rLh$R69M- %M/m(r`$I1")CMNr1?3%3**\2iU-LKh%,@B/9C$S3iHi`<(Qr,!HHO[cr<@7S(=7=cV&R5>\1Q[!BqWC* %HcYoMTeL/K&al]L<:4J-TA>Z5bXa='eN9`Jj:k7P)V<6R9td'3?P],re9.NkO]VJE\fCPqZhl1u^Y%dM>4mNj7CCrcnHDFt2tbcJ %2URbVCH+p?%a#T6dBt[GbPr>,iR.MD`r4buV6b?27c44erN+s(aMrSaP+[S$S)DXg_'=GZLk]hGh[` %G*;3"r/>H]X\,F]b-Y?3hiNKXL85SY^c#e>24t`,!/s`QL,4G+:4-3c=W[SPMLY:XM)VDTH2JUGLB8hqri)OXH$SE.['$"gX3glj %p.WT$R5aebn[_Un?*oLNC.4,gDp>S'Lca5eN;bV[+l:h4(h!/XC^sh#>0B-XRgP4UZfF&F[Mun)N(uKXVHg/gJ5Q]Q?kNWC\Qur_E+9'm`eGdYp["5%DS-N%T[A@[`-'VTtAB'nC3Nd#MmIA2/rgnIVj(X=,rsPj"f:4G=t"euEfN7Nh6^)UNSY!4,<@=&as; %agTQ^dZ6jE5OsAZ3b'7MJNPY$aCQ9'1pXsJ.@KTpRo^oIW<;#IfK %7?W$"\f231&`PqbH4l]+5*BAW0F!i71K.p.1?D-!^gBQ'oPGlW8f3^JbL%d7%)LUQ#=mu(*f0tb!<"5s&@js>Ak]ZtS"Y-HU_4l) %!/DOT6:22.`,PT?D'+SmSbUqST$"R](*;,lD[_V6,i0(EJjfi>DhSTX._s"Kr'taXYF.A5%tSO%GZLAl19D#$K[Af;b2R#TY*5gC %1=2Z6(;(<;8+c(e(sHW4V)+[+V'AP;nI'cKGK]ceAVg1-i%W[.ojeFe2:ncW`0l%G8e3a+h;@/_@%Yl-NYdN;?slNL,6JT)9"LeL %/W5?CnXQ2)\0RZE\0RNcDA>=dh1Bl3,`;trme<*YhB6iLIDX-'We?jP,NsITF==_QI'J^X'NNA\i"hm%.$:`AA3'DbjVu-H@lSqr;D^Fc"X-Ks! %@2Y*gjZK@FigF4u:tLA0b>6gD9)2H>)OCcjK&KX:o!n,0'Ffa%C*ipV#,>$(Wa0Ri"0oVsGM%+>TRXE@fo?b1n.f.So2:>T'SI`7 %[%3JamQ"8=qYR!ZqKe>Rd4Im==.V&/lVk88IS4$(P<*(K:k)i,Q&O5OmcsB<)I3$Sbf>ZV7PLS``"1(!ca6N/'E@Ib9M,)!.QX/+ %2Pf.LVCV %":Re/'L?q[psClGU/WstTqlXPa6VZq!Y^Sp:\5M-(hmLs)hNg]EN:%Ir)6?@rYbAbqE#UOkjRqA74$ajND$!3NsiNT',Ns/"*`cZ %7)t;LQar@`\%;X5dEo9O"b?l/l9G/H(r6(NA"L9HLH7t)g)WBhKlM_#N"NP/0#VR6G"Bji`H3@`=Z!Rs\Kg\tpRS0T%iK8JNm_pC %#Q%"[2lRg=['+_HA%(J>)C>u1Ccj3)jVP'C$chK4=H %;l%QCZ2EmAb_Cd^-@R?8:CuXQ8/1:Qr0-%G`&d,a8"1aNhb]=!BR*/UDSirqo\Z;dGIh^#g(eolit@oug(@:"_R;^LA*\eJ:rdt? %5$/`0NpB4UeWQ$eJCj%Ch18jFfZf2H)R3rbZ`0ibU2X^]GM9,*`p#td;^ %"M:et.glXU[`u`hH<,@kQK6jM!Q%@QC\RU^=+7f:FUbJm1L:tep'Sp+KOH.++b/g!TPs4`riA;L27!HJB,>qOPKRP)%4>MeXc6Y8 %/G$4@0r*'Mf;F\ciq/fcqUpY=Cb2Gno@=HMMTS\Bpn01pnMe1Z%M!g[;_nZgP,MI9m=T^f]BJ5-%AM`9oo!!"q&?QOqR:j[G[9Q5 %>4Kq^WL6T^ec4%/enmNtqY@D^47SYKI;RNhSRT933R&@%`RCsel#*ad]LbLr"f')RKjbH!!LbS33";))Je9D``0>h6-,1(T5lk9o_>p&hAcR.3/jB4GA<&VPA-kL*7S^"W46r0V.gs^d;LpHTIVBQs9o6 %pE`b1V1B"gY)GVDoasNWk2PpM[jDfHnHs?Y$fL5$R@Y8:L04)R:n7a.<4nZ::$Vjj-Bq>FKRo8tLB1f`_D;R`fpsS1s24?P9uXI' %/SM1X:U`i/7q'g,JcI$0+Pc\H+uf.MNfFJK$%.^>U3qfSLRtM"j"S)VKlW.dN>&3YR*ec>HbSg'thGB7^u,s>^hK? %J8cN#0O[<#OUoYNR(%a-7iZZIHn^5u,%-(#>Qj$r=-&^_3(se8r>S3Y*OO40!LRCS8+^4l]qhCfCE$NOcd^?p8:3B8i$i\;$00^4 %`B.5[0p/9kC+>fT?Y:UqmM;4Zo!Z/#%3^gW]$t-+SgO.^F.SOR.?nqIi2C:q8A&R;ah34b_)98PGX37'J;p!p1*>D:TKu'%a?&fJ %M%LoJL?csR&3OaFtZO=mL4YVNl,e"*cGbm\*8$1T'o)O*>t1`'bJ%0i7m4)qRIYoBlW %*N>LnSlh[54c#sS"hXhmQ3Moki;=^D/ksSJN7L:m@N6f%TPL"I]M;PQc82nr2=EB,\(BX!W)ZktkQF`Xr %0G:sZWU1TtNKU:DFAIF0KD14m1;nX.:F`[,iYB5i:NG %[FIMpQ+Pa"BR[$*2:2:mS5EC5DHC"H:Jmi?bQ=/=hi$#eE]La\pLU%1(h5Mt#6RP?&@KU-bVVm+4,h7_A$qhb($?PsdSXBX)j8SI %UK_,nUB(oB#n'"'TLg)c"XHQ34r!+VNXBU)V*kL&L76\6Q2W#[(,&&ie(3`>d@g1A83,;b,aKH&& %B!bTDSRO?\9ob<5kIQtO.pG;-+Rf+D=:6Ql$_7^*WcM+D+EbY2U82o;*FNQWaC8o_"F/D*TXa]`Wn^07nsoVCLr\$i+']ki(bsFC %OHq"kM,tC*$N=(m;.+FUJ=_fP-9csA!?PKTnJUG&Xa"5fjp"nf(1&r)pnGlhfI,A(%,ejk@S-Z*ME$#dSg;I;p-'4gJ8]UFLQRs$ %:sci_Yf*CaBrWKq_VkM#YGpdJ[F.G!a$?$XQu:1`J-`UmKilE3EX"kmVRf4q!dXF$"[pujrcVPql?UCr\GW:U0Q]DH&=>N7j\8\AVg7UoC!P&pt?=&Toj(YT40@RYf$0'o!b[,[1a$1ucmcT`r;MiXs46/.mI'XIoh2<:RW[(r^abRH:Ej#bPu8UD:Cj %16`pXdhfljDKQVTj)K3\g`q\\ru$q(`mo(aMX6X?jc`ZTDjBG\Qefpt*)EpiOs=E9B6Kgo1*tst>QFGSHnS?J:\3E,>IZu_\D;js %5TQ_ZcjSGAW@\LE-&1%lqG60^Q.0"-"Im-6o^k5WG`6m!&\S@6OT+Z9B+FK(8@"ja/9Gc+1&[JSe?fiE+,]"A^+GT$-i/ZR"f@`I %(7hH#XlFRdaCXSInTqW7AO*e\!XV88E4M_W?8+\],p^IS9dRu!O7Z+c#np'ZG#*s3M\(`gCa%Br<[)M':DSc)9g/^#7*tO%TR!sY %"giHLA*aH&cd5J,4bZ4=,t.\uV7qF'Vou)6#Sq13X")K!-Vp?^E3[\2C"T8D5Euki@U#7LZE:l&CVb %f5q[K@!)OOe1L0bA#3BD#_,UTJAEf>X"QEA+SE#1Ae7D+;>=W=d]O))jFimg`O_Y::G?oBHTE@jJ_n>,Iu%K=K(:V>dA^N!EdR#5 %JKGl#TJQe<\$.0J_H;t7:E@.Wofj/%@S+@o0G!Y7OM@5HBr8g\"-hs;piSDD5A4hO$oq2'iW>G\ki@g]KE744:-V"89eoM^@gf/7 %=8Zt.-4KMn2qYqehIli0(`)?83gjEt*%9`J(;AlAT#b7lK]Sk(\uKitH6icd_ZIak^$/jp-I&"pd9p?t;49TW'SI?"R%PHi()CNlKcQ/[h9I%ApL&4:42k[Q6+G %VJOM\_Gc(RbU15\-OGPnfuDg6Q70+,!$227AWi:0Y %&P!e9]B!W+FY9U&LWUHlBWD*s2+-9l0qgN=>?M82I %gi,f@>%8=L\XLIQKch0SIXPZ'K%D%Un$TuMf']N8i"L5b@b2(Gn>M=>1'NiG1Y#&+d1J8b,cG7aSm[p[EX`=P&paWDDD><;Uq'Zm %r!CU"XRe3s#![<=r@e9Dm9fGDOMd>;`mGr%=7R_io$tR92f,*:g`fa^7LV#H'3'+O(c2Z^YJ[pR\*3TY7 %6N5V.EH+Za4=#ap(E?#Y(jBSL]Du9cO8KR!M"m"<"I,I=!a('Go5'suLSfAA%b:hKE,YWp(3U6f-gA.4,2KPs+E^c5@`6/P5c*\omXLFo0L0C`dJ._-X[?5_MR*Ec!^mI/)iKRK!)!MDA@T@OHC]!:eb#FK8M]oh63iZedNtme#26)l`/Ns/*uPBImdk7U&=NZ;Sq5Xp0Of6 %%B0$$m#NRim.$.;q!,+KU?&YC5H*rA1?C&gh-^YPQKgjnM%!762L5ueo/*a%!357IA[IJ/S"`3>4V`3Ne0O4tH6_16YO %Kg0A@]-s'j,C2*22F %^$eD_n%l$1WO-t?ZG&E+rfF.-7A3cKgf`NHI<#J_f&\E:4Q,,j^gLI4M!5C5U"8..*CLc.YKgDh>GXfuPH#C*0r4)3Yutd@asjas %)cr;eYE`-&C5l9!Q9&h/WpA1mjRicCeKeFd;SM/YV`#J72$3&q$aQMV''raspUi+sUQCk38Idc[`#R_8$q(#dJ*DqTWjR??j5%]! %:L!U$ADrA0C]5WP[JRP:N/b?bM>t9`n&eI:YOSr:8k(`"s8B>INQ2kX2>P'FXBlcTo.TmAh`&XA>lW2;^<[fRCqm#o7<4'>EA83U %:eMg/4ln5lUAr2'/Z(L48d"ID:]J8)];7qfl#UX@9P\mZi^T@1gSeErg=In!\>(d.gEbZ'DcMEYi8-MfXuj#?mk:M^k>.[kfVLOO %LHZ(&P_YnAA2s8?FQ>t0j,V&"lWF2_F'B1BTcG+(A.OIpdRalV#7<%#"Ba$:l!bM)MT"D,i!rbI)B@t6pBYG+^8ba98Nj0 %lK+LMB:MJYVc&HM`E$Vr4+=OaII.l(Ds`iLc,`8RNQMXJC/[iX9XT2BU*jG_nE$\(;74O6Y9i`E/POkEC.]G9K1`,:FR$1. %0f41^X'c,_DQ7i%:cX:kPW4CrG>`6'(F?.1h)+doBo?:].03boI/%..1P.?L1gk"`K)4oE8\J!T*q.dNE/,h/NU3<&\KbRi.ooNAS7u`(lns*g`?>f5^oe2/A4>+(BZ,LMfE/((9m:QM??FBf-r-\.Xn.nF,%Xg0_ %ER1u7.B\h5Ebk;!ltfBrs+,SQC=Op,A_m%+cfK@dX@d\k]5P3Ur?JnJ\&R'Kq8#4:f5c'TcPpZ1LIR(f`]q,kLX"sg,j=sIceF^[ %9%Y"O#reitL+g0\MeKHdtZ5NkRGluDg,f)hRM^_eiVsbMokdtCXq`*Qi0=Ds/8%%OUL<;FmaRQkF2D\Z#3:S %\m?/)Pkk&*f'cnA@Ahr1=Mt^$2snc-pI]k;9Wh0/k3g5,5N^\4 %`#WarmRKA:KkGX0I_Qtpi1FNdqum`s[2AK`o*7H@bhnPg"(U?^R.rfC3ZZn^%+>3*.L[=/-p]k:HuS(@Hli;>jnM(!o.[knp[hl^ %NZfX73'/J4NdlU&T/\nZcAmafj!WM?JKla@s+6R'`7a\T/.qX.>p9qpa#Gl&Y;5%Nl0L)OcAmafj)<;,]eEgu`sKQA5H5_'-_)4! %j\G7=$,C'1oCuD0o81e',1\,*O1uXliW$3mpCj1>hm>e'?Zq9"Hlh=ln-%Y=B3cS0`8r^nH2NBk%O\J#.)^RJ>B9,u34<["i#VhP %ebDAfnLt%jA&Ek/6#RM243`9Zr3OQR:\a2I9unTt*aMq4C0GtaOF*DR.:QX(dKT>t%i4Mc=@ %8XG2gEHt5_*e0`p9s&a&p][$1R!$Gs7H*o$@#Wgq,E?.0boM(oESP*.-69&Td,R[:(Z]h^kA= %'hs+?oV3eT+*6K@6nr9O$o-9^?)e*G[ORR=5?h)]S@$&>3UaS7"l%l)6SBQua#>QmU0#M0SD0$K,n0egLA\taqk%oXWb"pl,0TKb %_dcrCBnU)CcR\t/kF+7EXGL=A;*-Tgk?rjD/26eBXj%Zed@!D6KK*S3,6E+%F<(r1U)(4=:2]H2!NR\:k.Q%f-3p<&)= %[ncEc/;'X&3GX4:qP31jY#/uA;D3p8o1l&eq5"MV^KZKlK3jugGGY7:/GWXR+IMZI0A%>)ku?AZ(JN]i5/ak2?g(\52#do^n6]NU %GN]XS/uPBb3%"Ye`"FiU!qLf>V=U#n.0&t:1R.Xki-KD%`_`t\%N!"/&(QR-h9c%a<_P=e'4#\OI-Wln^\@kTs"IA(2UrnI9tDND %F1'SWqslHNk^6mNRET?70BbN#bZ:KbRD[h2hOJYQKN-oe=-hp:1G5>R'l;2T\bTQ4@k\*Dd;L]<'Npn',bs.Z"H42&j.X^\tlhIp3PQ]+SME(oe6`%K)RWE?2@ %TC,ca,pi+pV%l-X'oF=1nK'o+X3iA>.]<*b7B9=[:UL.]05c:"M\0ki:a_=hbA;2/>I)pXAs77<(VW81XefO6>2O6tjcf4mY8cBH %]h[HHMtM,N>"d;8\h=9QZI(ba]'cNr=T.ACf4\28]lcEa9^EQWC/1TQs%u?^Is!6mB[nW82RN*gkH>TO6ap5p)t%LRot>J&/Jg'_ %[Dm-&>o8c(B6*:mo;V>"'J>0-`H("JM>HrSDo@-\?Uatgl:3Go5OK;LF"6'^1fMdK(j2pRU=?diR*bH-nP6Dp#/^9o"48aOW"XL) %6$ZMC&LDG5O3pmcB!IS"_p3#iZIT&Q_I]M8Im!tm/$2R-lI[Xgq-#^@Oit_p9G(V_:c+Dp6?oe,T8J0fa:M6lK(^?_p>_fihGN+'WV=>24=;+n9Zj/R1RkN+mo6"T09UsL>;]B0cl;4Ce=2kBX*Sd=ks!K8+[.%oJH+D2 %Q"TfsnXN'If:C.H/5Nrob'Mu!d>HRRZ^4pnZ&UNn&fL0a%CccBi6_X"O<;,V'b4rfBuj)*^L*TjC3\#'LGkI$.VMkV;X@X\uUN'kBEUb]%frfT1<<[V*jHVa9!k8U7eCLtoVMk/kWo]]iW\(^ZQ %.j;e!pUf7P=7D:]qf+VRo=sTp?2^9oAoaquG1.$b>#eQs/H.f9\;0f+C6^EP[;r^(1&;XbdJ:IYO^DameD$nYMll]YP,/bX %/QqanZ$$f27="crHLTNZ2;OF=cX4HNkg[RKJ(MKcY[bi9N(d2lroa"@XBI9XL72WE9eDCC9'6pNEHhGG[I7i+s5Z_<,=c4Er`>"M %3>uPhh`7aPdRIU?55&#IeXsLKdCmt&]@4:h\WZ<_>DGl=,#hg;H"r7s],^kAIA,Bc%r08%@@+FKJ,9JC`]n_fZtn4?Y:baX+BU<+ %0D5e/f%8(Pm$;Xg33)dqKs9rI$^ThBGP1:2C7/KgGBQV\r40MH%!-u)DKkat=3^j&rrOI*)J$L)Ub1ckLcK\#$k//9a/*6'@Fm>XJDU`R2,HsDF %/@/oVWS#CfoUMBt"49/pHDQn\DcI@]fX8j;i@Ep=@M)5X]6i^m)7rPE(?r5Nu)#kZUV3":6j`kM]_*M\Q5JnBiU%2*B13$B-NrtE5i+^ %7gBO(J%22a?j2;HgSqtC(P3e%S00]4a)mm?>jLgthnpg`;a!4Hj5ri&QRgY%(Ya`8J9\54]=2r5AZ!c4^*goq/Vn'dV5e:p'K[%0 %YsQ'OAEBk1lH*]Q[W!f %W0Yu^MMCrPYG@1.s6HI=b108WXBMZJId^R]_fl#SZ$p[k]VqY")pN%#rGEQJ,BY'NL).f^rE\3b %B>n&Z?IHN/'!9a%"O$W69bGW@m8Uf$C4e*6^:Y?VU%,hEC;Np(*rS@'$Lf5c/d2@0O=5!@C#@#d7fA1hVSg9 %o-]!HD^IDY%5lN^eD;TD?k]SrKCS%cUVke@Bs$=U>)2tdb\HQuRAPu:,gSf[::jCfLAeN/S#muE,jqdct4PV%?$S1U\q %#EdYgK_JP`WbnPB`^Se<1/JEC/(SI1CUL@GbqlcDY%C0^XedpVX'J"5>2t#hOt"db),q1DT8]@4oPHT(4Li^bff7`dT/T[(KpS0) %R>S]rm6+3(k6$oZ-I;C3UFR-YeN3GQUKrj+jVH)gU%5E*,Li6723rl>a_C9cO;'?>n]7_NVC_"JX)(Zdp)JfbHS^OH.+ZTSbRIS9@G45N';o$lK*r!,VUZe8Ln\+&cH%<]g6=0%C(1Zh^$YF"`L %pu/?_P4"^*I-"Um7lb_cHRdoNRV6L/m`"d'K>ADuM,I\RDQf:@aKXW3,q;W!99u0X%DK't>.@U/O(qdt][1=t/<"DXY+tG#&s2P\ %>(f:6n%,j^pCSuiV.Qk%qs>n&lBLT$;+%AKFHdu9d)$#hgr8s:69>7cN2UfPZhf\C-"V;UhW49SB;&SrR?F7dg,EYAYO#\)C+n)J %qV]`/Zkq")RP_mWKt(6l[l;^ERePI:DA>j0S,LCL\l!tG"uL8tZ@AuTc? %L%^>*ZU4KM8"9g4O,r/58nCi:EDnNM,nO1j=Kb4YK].e(CY^:j9@jKd1%T#9E$=n_Ei'=%V8\]u+(l)@md5Lo9msK?[n+30fkR$Y %UTJ):s--DQ.b4BOD%'9cA3lBdJhma)\=@>N_"BW9qmZll%XT4aL80 %PH*'q4bgNXfff`!l5*#kVh`g8(e8i0e.UHbj"hQM:HTtJ*$RO-Id"TuB8s?:g?mY09VF)AVUG/+,L#IA``@q %C9W$NX+@I]413.;TGWa)1]$ch9\8a)_;dZ,/E:9Be]2Q,F$)I@7mtS@:CNQjb"/I;.k,_@(lBhe2tQFFPgiBCjUi8ne4jiA&XH:H %A<(lf7X`gAWW;-Q]6[=-%XOV"\n]O_c.njRSV2T8gR#nRdhWs7Qj4uPePGit%tDZ9S@hMZX55DY,B\JMkCE/On&^?qQ+*eiQ](=p %?eS%o"P5g!;PQ1J.lb$$>B^h.uVD,>Z5+e;+?kpDGmbQsM5J?`r[Ir7cV=X%b-[4gi2g^;> %bEI=qh"eCmo).`VH&l]\488R1F$oolag_1KH0[aS*IN:*3D;Z;9,l_&b;WAKiRaL.dRM?,4d3L":7#$;e+T!9m&Tq8F6gB7D[O%t %c*Oh[kLH-sD+\6AS( %`V-j5BpH-N\Z7#4IUai,Z@/g/c$rpehqCPFWL@$BWqeMr=(ftQQ#+_&^Qoq2lqFVG[T4H_h3\`/[[NPb&)O'=5M,Zm[rPaQY[j:f %qS_!geYcE&f">XV0I7gR\)-F3`b@#O2=%+3dQB/N)!7_d]D9G*b*0\p\b@\'`PW4Yq%d#!RPrG4DE7Xhgfe,Ts(g```jSjmc#7ul %QWY]eQ=FBs)l^b_7^%*@s\s>@f/9N`FO%[*Q,Kj,oTCG.:4AsLihf$1)o)'gU,$D<:bOkC+pLQX-U%KUuY`hQUr,AFTnPl\DcH`OT %>(.tXKJu\$Dk*8;a'%T]bJJS+Fns$[g3rjg1DI@LQDZ(ug&,*`&Us-ib2/.+a#t=gR97+:C3k/Cok((_YF/PRV7WQ&A(.C!He,j9 %`qo7'k@*N:A`mZE./RU31%*H-^M>ttfo_G-h\N5[rc,M0#V1Us-dC?"V0DEXj31VNQERZ!o1!;@FZF>q$qEDs4.DYeQR5eg9);0] %4*>ln^\-,1b2/Hk%1^-YDeJc-B6O`oo9Y#:DP*1%\aoD"L$+OXfZ_pZe[O@YH_$_XpXp?QO&l/30K#t9;;'-2?;4MNVd?Pl_Uum( %dbDcLC]!F_eA(--S'?_$@5ta_]]pGujXm<*kGmpL#AKV*Y]%cMg3V06eT,6cagKjE#I@N=]5t#+hnP+6HLXkS0jFT;^%6'HF'?<' %*.E1$?`^EU']]G\:LA@7UYWr/qXMs6Z*4hQIQ'-t11tENN/+1=1#I4e'qTYCn'mlbKH$bgDbm)TCMJ]qX%)2el+&f=PC"@;X\DOa4sMpfL-N!UME*lA5J=rTlSX,sjjW`)E[],RX"l3iK(#T. %#M//:jp%ie.%-%Z.*0H$b+d=bmX+"Fpg3D>f&OcR`D8%k$Ci@Fb[#YcB6;?!Ob$u\8p %*DAZ'N*k7tkM;hrb%R<(@f9d3FZ]e^*7+C1.uCu^-Zr:$jNd0DK^Zme2nYNlrEdU^+0-QB"&4Je%Kh52JgKp %S.]NkrtY9#52,s6f%A?'0ugLajdin_h5/Q7Au./i%b@ZPPWL62Nn&$>;0d*4T_@d&WTeX5=8TQHO3(;g/"ZLD-J*[3^\3(TcV&K> %-!!^cXKH\I/Lt$T%J"_>2'Y;Cf5GI0W7(k]j^G=?"L*WTh[lbu6JHmYmLZ9l=95Y7s_n8'fbQNVs*')oqDR6q:DVEC-3eBEe?8;R2lt %aY4,kI8NN(>f&(38opbo!X#8ul^Y^JNm&S/[Ba=9RBT<;6e9'&^C%rY3q/[purVW.Kr(?[iOu]H_^<%@<[]VROFr"_: %J#sI:_s(cD<#j,*NA(+Ceq^#=RCujK+$,A3Y-**U7TlD2_KpQt:cA75d[PlJs7,2:rakEKQXMPg\1^$_A[^L1><0&>'=Zl49nqp^%Z>06VPs!Gq+HPZJ\f('XAg#qpWfCmo7V5WcEc!AVcj;+e3X%RcAHH3#*(:d>d %I\G+GKU!NMcGBJf%_qk=rFm=4Nh %#I>NLN"fE))pr<5][!.aRG1\]\raC5b8[_hBrU)##Xr]\??pR6gV34dT0GJc<7n/,I'KQdlTieqb5C;=%tS*AH's)o^TRERErATL %pbsSLRFeVPNskd:EqD_CYrA6krmf9H^9P"mf'M,3rB:JPrKWh(+cr %+a*u*9BGK.JOAK57f.VcgS$14+lC$&08l_"._0\k$a8`b*uD[\+#riCQa]a3.eE3$61;G[15D@\YA.BE>LrY?#9i8\1U&o]@o]bo %cM<*UA'Zg_2k8su[1]M)/"_ab'h@YNe#%E!^AR-X6Gc<+\[@49k;W9F1IlA@-gCe,25BY\h,^Y'OcH8Z^B7t\3ij&7kI7Q11Tl!; %mG?pI`n\7Nd\AdJru.2iH'1C5.Yi69hF'`8HSp9"nOk=-TLM'Q74L%uM:V7KkGN.u?22rJbVftaJrn]m_eJUrSuVWOZM]t %5Me@WlC[Y18,;bUl&GMYmS1],c[=@nmFPtIe0XLM]U6E2!]>Ah[hiBlB9%/dYmnVC@,k=#em%D.-F83+ph?`(3B1(rrq;bKQ\9Z0 %a3j1H=tr+bP_/Jr:#U3iEj>Y>f%RTK29?XFf"X@$eTm_QM+))Q^a[/fJQqFo:g!r_<]+I>:Zu$;Rq2KD6V1[FP[;\5:tqGhGr\d?So*si)*laoA?S697*jXS?R[")-B>?T3*\Y %qk,iAIQ)=e[/Oo]D*2RrWiNc!oqfNId;T\dph&t2/d23E:i5]@H$k+P=*m8\W7]%^NN6A5n8q.TKrfB-$HLd_AYrpp$?b<)H<-h^6L_,UGr-6BdH1@hpbC!2;iqh4f--,TJ7rIZLPh(RjR>mu#+!+[?cBmn*l=AJU[0dCq %,#"idFFF-:kMaTfrp3d13o'PZ=t*us %onRXEp8o,gqmadQHBh_4R,?b,=VOl\H@;/5CmaBAKr*#0_e;Boc7$ea[-4V-12C$2]'8@dMRD[Lq,?%?5R!sX;I<'OoIGQ]3:ip]m\@^Y[!RK]$>tq+(%/\jS*j/$e%g?$(&,d %Mfh,YhWaGsXTkbSFVQIaiFVr)8%FTTrtjuOl%Rfa?U:M9RrB-m<0]B._*.MU.c\``he^NDcTXXVR/MYK[--=f#1UXeTA9:._k!kd %H[[gD($C8Z+*7i("'Kc`D65O]EgF(OHkLRTAEV`-gDC;!m.,V""]$D5i7Y^'K(E<_8bP"*Jp;/JQKK?5%JYK3Q9;UFjn$@5p1B\^A?OJ7+!9Hs>3>=UGqR[BjZU8t?9\k4 %-8_Rl(X6mGY3_`5r5r5jV%u0EM/hoW_%U.m$gn`[pDKN1<&G.f$ehs-TB:Bf"&mP91N.=$(IGbY%Ie^ %5o2FofrncWfCN5.f:Di_R@+,Z6+>q3-rVX&;`3:m4P>#lIJMuad`)NWf:?=gXB&h8O31RKo9n4V:=TYR\i,c3puP5jf_Vh_d^Le^]!`P[sVcKo>C!L;s5$!:nm\kc^WGtKo!Qn*Su2+5H=g6LT1?6@X6#VR<`&YL %GbG8qiQY61$eu;-W*fDt@Fgu$/1NY\?HQV#Uo"(hk`Hot4a(a!#E>9-hV,HlX/*jr1!Vsgg"DbmPZ@FkB3f_PZQ(N=p3s*C&R5/+ %lt-1_?0+?=[^?p@-`>3BP`bM0\Rjj^ajGRS<@,H0Kh#J8oo&!*om*].o_,aFRhU-uKDg\"KlY*6s>)W5n!:TF)k066aF(Y=JCs\`$5QIBnP\qOk%ea5]8"i*GEk--M %J%X:_QhW^6)i_RA]D"HqEYk'rVmuC0HC>hgT]p<*)W08,5^2SV5?1K#-#]ir!at8(nT_OtruNum[F0PK$Vr^Z$SSYmZUbs)D]^Xn %?d:fTP@(J8*cI:gk0$"%]X=?sdd)Za0_)'ff2d2[h4OW9F/R]F,:u$&&fuDVbNae*PWjA2D*1@%(GG+9ioBOfD+h;0"l`dnB!2!g_c*sMk+7jPjc.=F %3feLZ611/?CkCu.9&4u<[L(:EZt]QT[2[6"bm`_@.c&E3Dml;oDg?M4HqU(G#UiqLU`9s%?2 %egd*E!78?0F,.V`n]C`Wi=tXXq8R>qTbAB$bT$(_'XF;Z[2N\sc;*p(8o"R`EL^u`B4Oqb)tc\0WE[/gB$M=P7gG-9!5(eim7+]\ %4QWV`iODu-G_$D>+L&K7fp?ZAmQ6.Id\BT2U@CRNENSBq[mo]KTSn:?2>.lEd\V8kdN+G:C0e`#/SeIu8+\@cA8`R1>F8 %oht/]#kn3dXZ@pu/p`PMbRlG`s4EAA:\G:bISV&,?)YGK1&)ucgdsseN;^T\A2n'nj3U:d%I#H[/ig;6QU1)[mp?5_2F^2rIbonn %4+@A<73W;QpB>&hOGk?*7PIU8aAtf?!JXA*c`$USPlU)!l6R`aIkR,!AZcO,$fldKGU.;6/>c %`W7>0qg3R/L@s5uG7H<3,N$`N%Or:,#S5A\`Z;J90o\\<[riR8rn,Z0]2e]43_HX/N*Kp(*f>Q7`fuV'NfRD1U--uf)B$#)[Ppli %FF1<5(u1LRR]j([<=-eBiH&3Zli0.0^*fq/fI8;0Z8KYC``sCm2+O!*X[oE/9Q_s<.34_<;G.^'k3^Z:Q^)ls?2T_+(@0(9:FV+m %<3_El8["go+*0@mUu&KS9(egi0DiG&PA2SXRSolSK&rldN).X_/s+;Qg@M$6PknM[BO/kdWmea68sNA@F"XnXu&U=:ep7uW7t %p.acac.f8])&^nONI7k2(<2>K?/rTpq.`!6;nkX'LPST!LmeG`nAR@F1o3]Y.['lU`QqHpEdlg!p1o.Oh31`21"Jb %L7,>EeK\NEjl1nsl[4/K#W1j)PnSp`=+88,&>%^> %CAg7ZaYtKeis/94DYfXT*"_>.jG!Zl9_@'R]:LPk)T+JBk'lj`SfaRV)N/[KF*#Y\4#[(L3@h;"m.c@fn\=k:ZMj^"PKf_TRo_6a %*NU%JkJkVIr2V]aHJi'mR'g;&5"I=j4d_[e0Xl55nmM1Aqs_H"AQA^$ja?%'gs+:+KDF>Iq$1VDf.n+C:M0BIpH`]j[F;S<];flH %/*H`bQSgiDfR`eR]7/)9&qVLC^D\b#/%MYDIBCp+!qlrd"8qE5/n%%J#/]ZX0p_H;BM=a1)?EJksi-nm@_fd[QZXQSf$Q:-GR4FI;S;6d9]]=%W:F[2BP%ia#PgKX+eN9Yiu;J %QG9Fa2f%^CPC2gh5INcCIXF6Xef[dO%rDn5MLWJ^RMt! %U[I5;n`e08n;fW:+6Q\+Mr?gI=SV5V9g@5J$[-3kBHY %XoH/Emp(c[gXa(?mK#^$g/JOd$q(i:.$tR-V98iOr6EuFcF&/^*Fm;ih,W:]FRNj,gI8kW2=hf/jS=8dbnmOIf&GY7F\^iA9)eU0 %AK01FpWi'Z?Mrb`3)>edV`d[e4*[]h^6kJYW\dG"n,IBm\s4hsm[o"*Ie'A0dea8P^2Z<;Xn;4u0<^foh3s_A*m`[A=Pq^l;kG\> %^E:4jYOprAr6!^chqN:=0&HSMCW0:Go28jd$hrN8IpQJrZF:WdPej][9!<)ZbHJ\W*BgU,FCHTLq"/9qTs*/Abg2KNX%ej#"Ii%k %hUYc>)*F9LT$-l#l!D-Z+5S(r<16PE %5JM)`DQ7e1Ge3CDj@\)H>j^jPZWm0RS3M@#>NtJ.ZZ0KO:QAf&6!^=[r5j_`_<_'qCNY'=\FsJ!pt:Gso5h=)^7@F_el_2&mk;Eq %EhsF*]m]j`)8(Cgk>$H%g[WM5`r.uClRVr*pf^t"7$CL8g\oB4QOO&piHaq\hNPAD8tW8fmsff^ku2GqT:Z(1`0K>0l0[et^%CV[ %6_tl_i7#ZKS+W%1qsikDo!0EBDP6hB+U=h-N4S(H"E?I/_H/pU"_SZK^Q(NXiN:^+Qj3Cu*dTOJi-&Ssgj7:0]Xi@8'haS,`\u.\9pA=$mb3,Y*WC\a]Vi=Io8'/nko8(X2SK,B#DYj4Le;Zs? %(E/pK5BqL!h"^M]FRNDc4CShuU?hE[)P3g1_>;ske)sqV\%A4a^3P!D:S4e5mW@p?XZ'TF(EU*La[NN-W[`S%#%)"-X=F2E1@klL %s/7ogZ(DBfH$FZ*9`D'=Z0:a>,g=f4-nd*oHlC]lT9@acqqIJCXMM)(H7VNPFPS1a&](t=o.XX %Dr)FpFM&X!r3SGO,rp/C09Oh$2lOH?mb%B5QiFaG3)A&ggA:X&0:eRIEdN7P@`DEkP"nB@fehc[&+u27Hg_n(V*j<6fYrpII:Z!J %Yu2Qe7no7tod`aCPDnj.>p?L;WdsqV/b,VK)<#?h>C9PFFK:I=23J3!8ibS.qS.`Ti.$YM>R>>.]'jYqYI1r;B"JO %Uq'BBs,E:=b^f`n?Jj?r;k8B&DU14AaukBY'RRSm/U3.3Q!$7&:%eFN:;m(qqldch]_D6jmh:3>2nYPQT7(&'I6R/6oXh7fV%sT@ %cQ=5W[HuSX?flfIFC'5"R[&lIk=Sus]Y<:2j-Te:^:!&$=nslJoo0=ETLg?rYPag'o>d.Va$m(o>M"@D.osg;%r4SC%b=Kulq!=@ %^Tp%us"$;reI%ZI2AK?NP1i9o]DG*)lI%j.fmC7,rHN2!rq":qQrRemgqLFU=uQ?IIX-<:F\:0ESJMFa!(6X-_2OEDm7NDP*k]![ %*C-ZFUBUsae!V*Q#7L*.G?`R_9M^HF,;I+:gJ0b>3U04rH3@pdZ8V_L,)XAu?RE2_j?=aT"*BTUERH %f*9RY[-cb&Y-GPZJpH2:1Ka&-n!)G%8/o@\roQ)q<6f7no=\L %T4f:I.d:GM9B %I.-HlVh9_Mo>qHL-IaqaD6^-Cr[I"&lM*g2LVsQh_TM\D=QIBj1?H*aG>ni\lUas,$ml %1nW4R:D`JgQ/euWCTO0SMXgTK]4)B:oB-; %>oV9X9*K[o`q,P*8RB$=0:/09/R-mj]P-TkrS[HkB=Wd*l^\Y9nNC1ESW^1GK=J.oUuuB10eq.%0X]gVh93a]I(3uTQ6p3uRGU_t %ak#t:;r-=1\lklY21tSoe/c2MRWNiDET:3tr0=^g%802cC1c\Re4n/oRmE5.q_Aq>GlGhoT$6hTmc2F,K1#s#8#/.l(%+]'5F7N)XpYujEHLJkYW7ET=ohQBnN\XR]iG&Og#+;"4rqEqiqG`AQ^VO["`>cc;QBGpcL>:dR %_6R:8^PK([5F8Dir%\%Gh;Yh?pL*A$XkIRX1aN$A$'2\uZJDYIVipGqOSjQ4jkq)2ik[*IlC,2EFS:JjP<=S,_UGsY%4``I2s'Se %lEP^?o`hONZ\U]]Sgln0eUF[4cI<'3cbrLA/`#m90^e@gV"_^0%+b)oOb*dc%7V^\[?<\a=j])(WNahFs)t`sZjrOiM+Wt90[gm# %-f(lr0OlL.(q4.TIs]o7(ZKd'q/"Z?n78et%`0T!SFG)&bH7-&rOXt4SNh+LT06PaTT/sBV#/q_lHmICT9W/eVg@Q4K`Ko_R7Sb1 %b^$gOfcQl_TBJ?$RWqsRSZ[T_coL1YZI0QXW.V?if(\&eY6\pM(`IUh[usgl4e:PRhS"?oI9h'NLM54%36U*rdTi't>\,kEYuhiDg%f`! %B(.]pESR4kW&(f?YCVO\0BY[&U%I!`>A'4"XIGqir1*5LBGWnF%-3NiPm6CMfr,U%a&+Z<]ahrrG8E0)U.r#%+JH$?;`)*: %2rC3eJYLPnePW]IpHFiu4@SS`>t?uN;`'^o]'Yd+l!k0+H8oQ>36MskFkf7D&:/]W:P/:7L\3c%ZLk0^Db2][O)>riW!6@F^AKd6 %ekCg%Eb;AZc_"RqD._22%nC62Yd[Ou&_W#/7P]Y9W6h.:jR>Y`i5 %hGV$l@nkmu`hBH!Z]P$m#k"F5)A7@;'`QrnU^,LX?&U?)mCmA:c15rmNMkaIU%nNa3`m(S3e.2"XR7VZp(YEG%Bn4F4iL7C./^b[ %MEM?NIYr,*2>hl..9:b3.&ZHHf`*L5$M3e(jO:>R(@HD$M7FBga5W*^qGZ^8V.XAYH-3[+2"C_FkC'5G+3LDqf!jJk;0:>oH@@>[ %eD9N"X(H;EpU0EF@]e9g1R"c68Ksn>m'PL0IB9?I1nJWPqe3-9\C5RXWGtA2DpQ5deU9-RG&I!n9<4WFi8`TB4o(n\8h("R'1Z.beX%eWe'I/Wc&m;Zf1BZ0K#=H!G+7*O_@Vj.`m$>\;\H[VH'AOT90rI(_9[9O;,RnHOfft-T6 %>=kHYe4LK;#95=>nSRRRaijX^V73)KVf"\S59k&`]e4n31:N2`6g((N]b,?l&OTW[U$Edda#&&M0m&D?EWfZX[,@$#FT!HJr+NoD %@d*YYcrITi&Rsu#8'k81"\4BBlQ8FE-X(Jf(qT\YF;uklL)@N$mqHV2a>%d")n-GGB-iHJA*EbZcnRaC3/4TqOPD5#m)A<\*Ojkk %"5b()eE-&FU.Mb]hR11[gC*E.V)Gnqj=<=0Y'"g#29LKYRbeQje^JuWWUjqRCY]I>=!"9o$^KgWN>8j6r*5_!Yi?hGD[.^gW]%S? %L%Y2XC=b]$oaQeKCYc`XbuO4]Bg:h)_`+P0$13*TR;e6lb+CT_Ol< %MUJLb1p&bDVEZTelN9@up\T&2U[H`fBK"2o5TfdP?3FUoWuB49q.gqi=.BeYMFtQJLi0lLgJAj5mk0BIMg%[H`TR;oG$dF,5=[o\J>-/VH8;nI6''^2:7n %p6l?Pp//Ih&VEuVcog'a)XTlQXu&NC_;Oq(YVc%-![2H6Pme=Sqc7M_]gnF]r:F:D+X$1plXc"6%rjfG[ %(.7Lm7[dBKO%7*eGA9MliKONLaRrB#k(otZg=,s,r7IdQ45TB!7Xj^EUZ']ac!beO*^j'NVsa^E%23$A7.V$.;Bo+S;C*BP)AN^V %rohh,l=M)bMY.jbUhu=lH`%AaMX/limbAhR0)_u,,`P/9o9_Bj,C6=$-[`U]7Rh6B"2],^hs/u673gj7qi=8!aA;nYICqXr#Xc4] %7]%P:E-.'J_U,kN1//@[KAuKcTenO4HN(r:_K4E7k9*0R2Vd5Ugs1bo/= %*crak]u`!C4RmBhAK3mVrSujkcTcTANXhm/b1E?pO? %#X?>jN$4@ba-33X&,]gmL>]XTKikOnZZha1K?*TMfg:b?oBb.\MXf@ZSb18Pee>pJRn6,e0:'1Z7)j)%F];gL>fB9$L_H2Uc %4h.rX,)EU;7-_Ur__rus!MOsPM+ISi2P,_(PV\>U<5a]S*g)=X`Y">jEn[@@mLkBBr;(Yj1ac!-NfZWCl;I:;9`e7hj7?*^ro0A,[XEatr^`g_b^,4&p5s82G]WR*fO`O\BA)1'9u1]hqF-tRmN5k]qW:L^V)PiD^OL+#oXOpLHnT]5.p[Yu@C'ruYFibBpR*G_cgglaT9eNS.foK^V3"#aS#5lCVQGF>U%eP^UedL#$j.8[XWqu)JD:t %KC0WAb,%#5rGh6!bN`r@$'8 %Q!r''>FU+YUhI?NU'>-6\O&./'i3m6UZq(12"n!j>;TVk/=eH_O!gC!/s`Z:DpK!BFEP02Y-%c)A^&PDFk2^.+8@QYe('S9Wq8?4BY"51OYK;R%6e.=&PZ=c(lfOW=#Aa+8?VJNe()Fc2;ZA4\c@!($%S<<`J."@e9m0U %mj47TGB:,"Ho`4Nfdh]IS2T27F7oFqHCAp^/'k`oX)$iMg5XSCip9M%j@6-.$&P%nJW*%@,u=nEBS^tPC/e8ug6.%'\'%b\;cd]H %7Z86Ce@!KuRT/`Hd7@^BN)Q?aQQ&IB:9gfeF>&#hd3TCDf?6A\/iN1%RBsA6ot0F*jD41r4BF+;nuH#:f6Fp_P?+q\/[)^#MWALg %8Cu!MU;)2`]BF.>\_>j9e)lsa^07O;fA$hb-t6RR^?/19R/RoXNI9!A`4c\jkcUKHkg,GIjLL0:m=bEcZ$i.]PHhYHrH[C)mOQ?K %:tP-\[p>Vc95M"O-M@+.^dG<]bR;(P\+s0<6L#>G:53]k*p03j3l>G4b;EW:.fAkM7>Y7d;HYoSJi)k.TXArYF %diB"UJ[M[WH37qiT8YER+:9(27E3![W3pJuR=BB;%cs1kTcA=7CHip+KjKrq,4TtBW;B3H9g7(I(I,qQR:7ro&'mi>(:F*b>W3MJ %K,;cZimrI+B;g`gS#gPH>6H^gd_Lok_juXfCqAZp$JVf) %\`0X`ig^PIeUP8Nk=7g\8.Sa*77QW#M+>dF)4U8o\)@1 %Q3nSTk"N-jFQ@>NWs.'t7mg=)JAl"EmPV\VMcDNri=_qJ+c*=KY5thrEdS0.QH,IS0f**o)<`'EaV4MOK %CMppU[*WTVHf&"]0sq8$U(Yr6#aeP6V$S[tQ^]JP?th3r*oU#&je\%D4^>ao$P-AZC0mR]A/I9!guGGlX]-4_1MK.Hf9MIB,%s)tMe9-fSDTZ1t@Z7@s5HPko %Ml>gT0s9$%ekscl@U)n8KSe@,lg$@.+!TRMm_2j$)6Q/.If+)#qY9UHM4(buMm)$n4oM[Rd9i@r34a$*k#:R+8-W4iT?V^nBV&_\J8.ZE`X)aYg=*]QVCi5?d4(8$Gu\m==Nq)g;]bpZ*2"+o_Y3! %8nT4dG.oii_`$s5[?4^3J7#+7=(sNKm:%ugiU.;:]:p;.kO*cnS5rP#F4^A"b^We=Dr=8JrS4b?Jd2HRK(^9^],m%S6uj8"l:97nqu0&0a8c@3ZXnS6GGSf_;WHs*uPTLF]q[n\U.h(_KL %hFkGJ:2?q.D,9io>j\:6[Kg)2[n.LfFIoU#Q!;H:4&34DS#Pbdh189&2'gEi8\M9,ND78^DJms=S'\%KJP?s@\s\6e\cZh^Brag/ %lgJ$-3-@ACZVUh/LN,WG(Nn>pH#eS:ZiM5:1.i5Iel.p_CY8VhXYo,+L;%6(Th.CR>2B(Poq2iWV):!VY>NPjio-=oe?[b'9A@qU %)r!faej$;gY9pD)u"5F[EEOA+r[GaHF^/CkO\NuR:ol"@Sb.V.g.4Em9LHd$PsaXnn=%iAs71<=TC-qH2dU3]kGk`:C2_]6)%-01HAbTp5L3?%:r#@u)@r3"B6jNg %3B0j5oj[-rf=:O?R3;nVFGnF\GB@\o_R`L-d7.q[/5Q.<<\9X_NnD/EFG:^=mGqbE@6NSdFki[NfG1.]gVs6%c9p"o+P&"HY`F!S %M^ZBL0n?t6jC+b_gVs6i)%MF_!c/eXaBIm[7fcYV8fnAGgCJJ;.)<8GJ/GPl7fg3klq]R?0il1]!OdsgZnh3;U&Z.$e.VrJgFK*` %]tG?_;SMi`ZAilRT@]G0ih_#c>)!"!V0mo5A/ijkHkJ6`T0X@n;SJ!U)Qn&GQh'h+O8RnFPcsn3jDeMKfBW@X;(gu%[0gSHf%;Ak %U-YKhc+!P/Sf?tb3-%Bo][s>eDQ&]dp%,aQL>5U"p\G?^Vf^I9rVGF:GGX(k2>?t?f*^&$iks[>=24P,k(^Ia]mbT8ni6(1lgG^# %2-2$ZlSg5TCJ5)k^:3r5bRC>pD7nK(J(M8R(K\?&YL8N(>Q(^D"%_gmIf2?-kFm3eHi7]s&c6,sDa,qX,@tY36!rSW^]'Y9XA+)\ %HiO)H@KmWd`_Bdsg)soi'0uU^8Fg#0P;P<1pa1Zs#%4W$nb8DVq]fRG2WqZA?YaXFNIfA^C %_$Kf3F`#$hHE1C!B@kMh.=o1aDd_Ad=RPkJJ#f2IaWo[.fAGQ@Mb"lQ?9]7@TmnMn %n)G@+SQtLXpdVjHc^%J@I>3aDkdfam;?Y. %WqZ#mkG6LQ+5[pDO1j(^o_\F;">LA.hU(Sh1#,cVh%?W]hD"l`M-P8_@hs4oBV>B!u3qBt5rRm]q2)b*?If43X)`_\thWm+p %Y-6s#IP'Pca)J4hs',GV^5q_T;7Ko]ZM.\?Ws?Oh\,(BXN-)71Y:A5?eZUFFfs(5Iololi3lS7LY?ucLV_4OgQ1+CHR2>D4?FhM@/`.j=uC60r9\C]%=Y.@j9Y3\=(Fg#00(#dsK1>9Ejr>@tb?:Vc^YCAg=T#`/6lW'=)]E"t!H$I[o*]Hrc@t[kAa\]nsQT+?u(c2[`+r?43"G^N0Y50%iLm(@WBG,hnDq>O@cmHj6" %STsjWYjq5)_dMMsUW:2_G2q-Kq3Q-ir1\H1k[OC0G'K,jIX#9G/`/,9?,$-;'5s5h9\A*\jn"CkVmpQGS7=5HbXrI %o^WLqC3p+0mZ[SG-(J+_E.@b)h-fb\:j4R2?s_jY;iQ4eLrQuXg#EmtDr8<4\UJS5]Q#/g^AXW%ol]OM,"WlGi6\I<97N+;n5js_ %_D-mG%lW:WR0g#:Sbdh]_B9#g.^!HFkDblpFY9*U*`CbUKjP@HH`V$^P>PO+;r8Lc_6+]c6eutlrk:AUs %bEm;>7bGHi9"^[;B$F]A*:&W!7.M#fR4iO/0+j^EJ*?(O-)NBFZZM(Q3%&+A@m8[MhH5i1(0'X$Ydh+uo64\^ld;JHC%hGmoqS-l %A[&h1cZ;J$\52)#C3Y*uhh1$P*o(&n*ZSEl]fRrY*j+:@O.qEuGOCk(O-\USq"jAr&'T[hTmcE5LMcYNK#:j<3;5@5Qb5he>Kb]q %>u)]M5X#(ULd'-TT.YR(!Si&;o$@*fc4p5)ESm%pcRKdK2OP8+nG,dbp:?%jGF!C)+79?liV'$lqWgL^1qh(f %T;.\B;+1#!GS$@Z^*[*<:@c_4>iJIi7-Wn&Z@;]B6X]oim+0u9ST`a4ob3Z*G(QrVWR>09;ZSZcb@Al[Pi8VXgk.HgWIihGjorml0Q`;4J8;Wiic9R:Ns:F(=&f']u+dMmO=1KjW!FYS@+7e[F#IK %5@+>fK\5>:$VG"hrr.MQe4hL\J;]6P]j!_ZmR#_0Wj=R*,bWr/'!BITT!FLsT7=Eg)msVDVa]G*SG35+,JV+H`7A %E@lSQQrSuSB\"BTLh)P79\H0m4u[]/:l\c8NOa$,o;t(Y]?`PV,0?lAVE."hp]La!8]R`LIo_30a*1:20)B(*i+;J8%#&f%XO,SF %(4"aj[1C1"cQ,RKcYi;EKU[I//U)2Cf>5:eR]?K%GRp0S#2B27%Ajn$Hk>ffFi\bFf. %imGfC::5oH.m*V9i!EarK#-0?,Z< %QPmbLZtbq6TAbGc(GZZJFl%HiDg;lK)?%OY(j@4B>nBqTGl?/_,+cn'nM"7X-6j,.G"<5uPZ.#DADG0fKa2tKBBd+[^NQ4E4?.ME %bfdp"-]9nC6+Z`gF7%!XojDcl.cp?qij:Z3K8FU0&W?8D5F(Pmre?Hlj3+a5_699Xr,]p=q%p\0pi%8rH:^*_+O%%'s8&,g6!E:Z %!=+t5&:F2,+StdE.p3,9]fud.QZlf>S959-cO_)OH00i(rpVEhHs73qWPaasf!<#^q@>oZ0.0i44*A-I/jjUWE:8DuJr(AS&pi.1 %-`?-]rHHBn_GkRGiJ&A)h*1-)#s2"7jR2fq[$:D&Z1k0`>,9iT0B/arbH&$Zs4e@)[poqU`8S[3>Di:*;oJDBBB-tO5@&'YN0l0" %(2NccI`&VX2\$Q5eWgrk(B_:SE8<&(hWid.V1@$o\i*Alg=)tkCSlp$hl_cClfm8gs5)VQ;u>EAJ&Hqu:Kpi$_i*CsXt`\,4k^f9 %^)X-^F_g?qe;.o,mE*FbD""`noJRK3[Di^&#;=R#rOVO4FssuS=Po89q=fas_YP\Km<^(&(s7$Na]W;k %&)QjTg[K:"_NseiD\4@H8*L3mE'D5\lmU]bH`]^UAFDIair/NATJf1S+'enGZZ!Unp'WiBr8X?hkMXMcA.OsB> %`Mh;WnDnVgEsTEif1C(/G1A0^$MZ^Es#caa;nL6r-B-9:qUr>'n3mhbt?7p0k-68_P;I=0KLkpfV=cp>\rc+fXCM"B10'\IkuWup#`-TJ@]t)2JTd^fTK;HIs&IW4Etl&j]`*9Vht?_N?NfS"k`j*7Vn\km>Kt^TkLaP.&oS?4mcAWF]G%\A[.\MT %L8T7=B%aqoZ4B1Ej0-f\h05s23lPG\s2D>E/s.@/Du\,HkBee#s+m#WHb4@U#PKfhh'!^8?dkJ<`7Sm6a;pXes2oCIIHrHg<11i[kOq8&g[gc>1V\oE1H %r9!d(0@rs[rr,)F\X^;i\btCYlD$j<\orICqXo)R8^u_0-0L3?2V!`]-H_4_9_QT^5NV%RXm&o2&(^^dp/X:uR[gpGlM=ArPmUD %pQmOc;kr9&IB$`cp(Y%p7aF+Y1%jZ)>-U2t1k5P>.#AaI?@.G+4fd0K>?/&/(iMg#6F]1rcGojtfp=?eH)4;m4YU.;p2,Mc>H4+k %H*+tkMtJ<^lR_X'Co'/jlc1`POn6/BB$YEBaO[*b]JXn3G7je,Zg`.47JsK5lV];=Zqm4>aL;up@@D4kWJR&CSnZ=bVSoS1h_@hc %_\B^crKg2VcA"/1dq"o9m:/L%BU.j4:P'WkQe9.tkYG%BU2TP!Q+n*6$EJX9PY49U&U;8Ca-' %oMXI!)PjOG`eH<@eX<1%?=Q,&WSuI]<=DcJk,92pqhPHU\tNqF@okQZeX<249)!q%\GpZA9HG,=MqH.;o^4lVl7AC[:mZ+]<@XsJO!`5V-(ch%1K0_Im#do1-FD9_0TS-7=:l&%@lf'q/eM%pqmB"(KsHjfa;P %DagG`CO;e2n)H"<%.2G?](:aXd]#D-QAW7IPcd5p3`O%08@)@@ncLB=_4:Gb.9_3B7,G(/oTd'R^El>qoKLg>litoiD,hf=AlUFc %T&+j0;(YJ%GSQ/NNKJ)-OS'\'/+9p9k2#?'UNj6*O5@s=V`D0IX]nMZKBNHhac)'o1HYkAB\T(fPDl_E.B %!c)M_iRo#KdO0)eoS-#TaVS_#(?,rZXj.o4VIR$Z0("<4Yp?O6Dmrc^r-\"AU,:a;X_ %p6Qkk?`s?SFSYCiahde&->rq=ICd,`BPm=kUqF<8n(sY+UXfSFoJSk$LTP<`>.?d/9Ko-Ln,ka.-(QeJ:f]t4/a`aMR0%Fe`9+HQVaAh7fCD[?`e@c'6?RuR;5odP$_u?m>#,[;-iTN)P+\"N60e1p8]"48VV\dR&pN=`M#A7] %1_M`s,h(F:1.Es&-WMV5' %ZcOW>3ailF1^FR!W'OQ`:pF_8FRk5+=,Vb]NCSfie%G%CBnl1l(@nPo9FI<2L^$)$W)u`P6`+fk1b8j^;aatX6N$nah0VX"M;P8q)UGUf'6`@+!ND``#=;oS7``SF(9oAV4L/FisnpE3QBe&Zt79_A+g(gMB %b@M7p_P3EP,u0V,/1P@o0oeFe/$LEob\9[2Lh86Z&ru4;KLVTrSe,XZ9#PD.5,64,nq^p608PXuK$ol![6)Ns%\+&E5m::LjJ9g%luTXc6YURPT8.ScA,Ym<1KYPCjt5;T+VpP7[/75_//H7.qh5oN)U'9aMeNV;J2iQo,J4U!9pOSZ %f]L4We1"n%V=)MX1iJf!*Kmq<%-F#D/Xd$4Q_jEt,8o&_,EX147:OW5#^\e!dE)b?/l>T8Q(6O<-jARbc@m)J($J1lqkS-hKin-'@Fs4H-7EJMH#C-Cl)Ul':."uA$M8AJ\ItWHV!);1)Q-8 %3p]M('bTQNBo.?g13H9#0Kc"k7.s7f'pjXZQc+Sg,qm`QQW?2l1kMZF&hla2%sJ3l_`;`2JHMXk&Rl:e!-(I$tD9at;#a;Y,)"(n%atO`;5c+tA<3c4!S^Ym@0` %_J0W[&7+5QcT=-F"eF%07Rp]e,\Dj)RbB1^&>/togi1^Z;W#qu:ghS)8&uq:IR<1=Ldt0Lre`%\Gnn=a[YZ"M#*ZeH8c^g^8=C;: %)6qO@Hq2YO;W!>MVJ.9$$)@upO!<-^#W6S:Fbb5pA`GLgul:#T-'*7g$h=7-@5&JscGY_>XPYdg-6Hn:H[MHq*arCSS`-A]mN9EG85fXq>JP&c.=D %,;&%IS]JL-r#2ZR+"$F6.3k#3kl9->5+IGqP#N&[K]?Qq<_j-a&]Z3FNWA5_-rj,rc_GfBjtW]r',4!)(!Pk4P/hdR<)](oW4Ehd %,E<"@_$K#u6qa7&9-K$8M$[CC2C1A%ROecL1JPJ[>00nbHAKn-)N7J-,3FYH7OokoBkp)7"#j$\bjgsa^N4d7l1dpjL=@@`=FGr1 %8k/^06QE";0h9LJ1,?L?%H_`0(8F2]o4]!PJk6<7W<(nq1)/FW,R&u/0G_R:X]Z30H@.=g?uLVChT4ci,%7@7jLNJC6kH3m;H[HY %D5SE7CBr$mHqVKgdtnS1fOBljS)NoL4']H(_KINNN&A-1_-.OlG1Ca*gV[]UaN4g<8WJEab,"W0r%J-@?aKrF>4E*Wp+RD>Y[I$V %A8L!2(;l#Q#Z10I*>,$Jm%_Qq`PN)7n7A_k']k6\r8H;Z67-s7+`^1I75=RgL3MA %_98PuAko'+X+26'=(oN"7?4keZu-QW/c%(FNX\MdU(n>KQNd4\*i:LZ=Y(n[-`?R#80WI"QXRm98EUh<)0aL/UP]-c_i+AI+%mW+ %2?ZY5m9;k*"^jQX!0d3a[R>d44,i;G@?%!5M<;BCU4c_^"DR+^,At+aTC+;bp&V?K>EV9GIH\#Rgj4c"iK_qNiij7l\2(*m&?!;N %`DN:`O.#7hot[V]GftWXcs%g'e+5On]PhN%VSiar"qZ.^1s1q5arl]gFFZ6ZL&Vc_#aU0L5o>098X!uoZSVSB0rSA)SLNf^p5t_D %5#l2 %8"=l/=hloC5[KY1\LYS1(=GeD&Mm8q:u]omhVRqEX0-u0_LIVI*=djp[5R1%got6ieKK0eMjUnJNON$RZrVl\psicR;ok.07LL=k %U&Ti++NaQ;95VrF+Kb##1)-/)]`n*\9k1@PMg.(t@8m]mTft7]\$V!,,=\b,_2(>%1*"I)/`Hl*)94^5NFM3&%!?*<8L%_"U9#6" %_/1f_A/E'a3KG)8m@n64\B#rH7Bjb#ujIU1BC1d@HpsHU\R3ZZ. %:0B-)_9"B\33(1Z\G88Y\:K<8n;(W` %)IQS^HAHU:WtQ!7Q=C+TCtaD"Y1pjmmn$21&>Ir-8aCX/`3e&;e9NJ:K$o,tQh/!Ca %i6j/GW3A$$YJ7+TF1"9ULl%kkK8C5QG8PmK-Qj0IFO7IK]KK$.1PW!X./6]t-e(,XARMdc;#o1<#0%?cQA %F6'`[Q='`c!X/@cYqk;F%5]4rM_YfFjm(8Jb8dtX@GV.7.9RET>f@&5c3eJ6df;QAC9/j/C8sY\=;6Z`'+TY$0VoZ[VC*!N8adp6 %C15aH_m7-.Va_J40krdi#)O"5@3>m*\0Bonb_`YT%a#WWRl\c9*8coU\/A,rek$^i?p@U-7O43,62A]Q?E9:c(+fR@4@,VdG+_k&s.Z0)UN*-!3//!n9 %Gt#sZlWb>&$p-"GC;s06gd@T?b@62dLK-!'I/1Ef.>ZOTc8pZH?AN!?O+Q@rr$VsXBeUsAS<8u[Bi^EF&K>mk+XI[`$dj"+[rU]l %i.bi:b-@i(g`[r*jRB[9$id>lUe_7`<'&9Rlm($EP0KI+9;1Z^M`!'&Cpg6p6;a.r:]`k],4q?.[5m$\?qARA#9:"1*0sI]^I8#& %6fSnl&5sP%Bee3fj&o3>\X$FCerZjp_mKR6(i7.^g?RhN^-s%LK@DQr+C87mk1Z)tlC:q2RJEdhB%CYMdi-I/Q.3M(Ngq3onW=>_ %Ikd7G(e@pE-2]?>89.n!;;i\fNm.&j`E^A;/_$'h]50[qC6RNdcP+]Hff/,jMMot7_]c00MqRgVEbq4lH=d9tpB7Bq_IjL>m80og %N7A;4P/Y@dd!mhnnbR&V._s.*>`b@"Y9AdZ<[*Q^dXMYUpcNR#3Pasi`Cub;6+5T4]ebgF5YD5D(&0b=iV^0G`UG,^=TcI`HOQ>X %d@uC=*.W%;a:Sg#@RkKX+Zg-3#$[6ZZp*JQ/]K9W3+d`3VCmqXHH^b@_+Y;Gdn3G2gC!X<$hHtp_b?';mOe3U&7,$&ZA<:s`Op@_ %i(TDRp0_LJ.p/r`94T#NA>-V9RB=:'K>$-U6$!GR)e_K?jMY8X[+HRis(RZeBjPa/eNq3g'bnY09ZjUrC2404oOb8'\>1Da0t#N^ %HAM8$G#![8ICJO?%Wc^c%r2NX\BK=e6\A$21eJ_la56m*CK;7h2@ogt=a_uT7m&LO:*hm)YuM-?fd=\CR%57be<\Sq'M`[2&aWgmMA>KZ:7R:Z%./2c@?.iA1@;As'?*b0fH#hkTu %0r@5DfWS*.@!)m*o5#9Sd@+)`*9OZMN`7$2HH;R0LCK7#/?FTF@e;!PMP0f;A['fS_Z#9c80g5BM^6ZMiHHHc;Bh]X#oq#1SLR+- %l!WtQ;7G2dO'+XOarse3<3Sp(>(\-*NNd12BOO2+`^%+mMjaBl,!s0P9arN[70^ADOe9oUg8]_C/J!k?nglrRpUX=DUp_AWR=+>iCd9@.cl=WBK`LqV?kb\^]r %^J25qg2[Tg;anThM'o7@$K55fp.9pHKD=1LcJdaeeNiI$;80;.Z1h-KJ&#&2@rGj\YRqZl#3*i0KpfcM9SY8:oTtu#-UFGj_GM,l %OuUV>RWD6*YnruGMK6qS'pQ"OUI]gM%1pIPZ9+L/&A4PnIYS[=%8Ymo@LR/n-]u0ITXti/,5YDYijK3Z0Y7DK2/uh91M`b4'l:5" %!!Wsh(J,Vr]tl<':btF[L6lGmZ6\frG`]r3I)nW'gkH1+_I6Zt.SK-fpLF-A&b8G)XH;D&(bA,h3;]@4VM"Z((qtU%#"I?/kI71I %4caXWV3KWK9St/$?Ts)ME%+L773Oq68&MB]-\B9u"+WZ&,G,9$7hG>k?cmYdB(3'a)+cee$'(5mu9T3S'C-+V?(#*@9Y2#mk$#!YW;\=MA7Z@ZZoX0"aI%CD7&ZE2f)?JK>q" %R@Ij!W_@tX=:hZ2tF7o*`5$iXX"Vk--5P!ecBEOKUX^JMBR"0bSMFM8CR?\LV3+Yj5G[QMMWj %/U"ZSTa3sB6*B*:F^Qq!0h7/E4MrY/2NE@QX;MQhU4KY=LtS4LMlE`uEc[fG;o^,Y\ZPje/KO+?_F6jV2o9YX6=BeIb48P"m. %]_iO3U4KQ-N8I4oGG;8Ke\qqf!;BG4-nO07W@5:XE(D!5U\2I(.6sscSD\Fqq>h`?>nIju6Ng9+\UMT"!+dsQJ/B3]%9tlkE/qGZ %>ho*`'I7!Nlnok(7h74#[Kn44&TH;pfX",`A(;;[$"EN,E',ZG.+)VeE:F`N.kokb#mO5G';*<;G8U]5+H&5W>`(h7`[^;Xi!L;mF8()Dr+K#]Xs9aW.>KnCZ)O_K6<;B[TO6W&5t %)7DWDJ`*(o6P,Op"p,`rjb>N+?OlKs((0ZRn]*m-FrWkd@92Zlj;H8j";o^V6VUBJ=/&BS!!gmPTl\j[GZJ9VnQVtd0+4I=@#G43 %qPjNcZd'S"XI[C)'&8cc,7\"&J5mT2Z=JkE&0+[G=j-u06)9`&c^H%#Z9PQEfg%ho!H"-M-T"!%DNA=2VCYoU5#RkQnsFA!;f;:K %diGM2R/o>PMa3RSamMK*,ZGcid1)p$U;lB56_PsgJr5h]6f9hdLgBAB`-_dRN/0a]YgJL&1SL5 %X.$LW(c8+CO]%E?UhX9@P=^jj#_t'3?3/JJW%S)N/.\!7Z;3'4[33l6kpX_%jTl=7K0%/n,82GAU-q-s"$%K8dmJbVL2r(TAPkHTE+B3A %ntAbQERL;>8('Qi)-U!8/2VpW%"qA=Hjee>3$/OR&jad-U5>&p6)ZmJg[0Qs&Y"',U6)j9*.*E"PUqhoSrHXcfs$r(YUBpnPREEQ %b#p/%(7^b6;[(e.DH_1r(Oa]-rZN6%`6 %QQ/',=Dh#60I+U(%eH/`gOppepM]innA7Nj3V0O)4-eNVm?/_/&P(">g`@pTKI9HG:b/lb-*tCdC#curaOBL%oAZo%(q&T`ie[P'[7\EdJju46>`<9R&G#Q^A:F,\](:&9)McB)43V6]*3tK2M7dE'I'aSkP7NUJGZ0d?m %I>B;%;W4!GrQ)a9B*4r'>Vm"hJmsb--7ko`ibWQs90q:X8)`nDtGn)UIV8HGs\K!:^N$,k6Lj9EVg::7< %,.IXcMd]@K.9(tCnjdLBk9MUo37K4Nkt-M$ULO"3cV,TS_/Xim*1E4ulNI`*c;I88n0uGi!Tn4(6J]eHmm,3u:npqP-"8YdAMF`. %;?fb.gfS0OCdk0@,f5DBH[(iCiDfkgALZ%SHf(J^ghWUd+aYGRY^%B>$tgJ,,71:2j1U[j>l[C=@"\RY2+m@m3/k[b#4SS/Ef)[3 %nKL0?JjB%$oSis0JI*b1_E%o]*C`0K8;WKb^fk4bro&:D]NM2TF4b>\Gr*AWJQU<4WNaFcXW<6K"Wr0or!L:-T](aI&[=A;4@#DC %dH9d=@PkQiKd?GT(Hh(&+R0dOb,0_YE(e=e2*/(9)DH/W^c6Co8qc&@1*cS50_#F%SNi8s"dU]+n1S5V0*@6m5n%HOT.sgh_IafB %O&:X$6DEkhF$LBcni$C4(E=D;Fs*Pc38u&S(!'?FKs&no.^VfUTuJ7YbSkUcA:&DL@BCa*_#+rjn;^!=.Ns$n#0<94L;)H1d#*ZSUH1!-/O=#3gf&XYA5>_sm_'30eg_+$l_GV!Ab&MA"PTBM;NJ/g^&e`X'YZ(kn]h8Q^>,nh`Y]MVfEDK/qpf$6eoUkB$Yrq+B:G*+^BW0Z'f10P[]"dHCW768Rqg %iBmM&=@H/UZc8r5QE*Nnc9sZQ2a=kM:/XHqnVmFMQqD#XTFR^/TDDSn+c %03(Y5\r6eFVXe$dOHH-@)DJ,p5*nJq0a&s1SZF>t'*6_,+mEC]*N*VG7=?[Dm %ak3OAJ:q(DhgrA)_I>=]`,9s")XA5*@>s_.b0V:E@4ougHOK7\V'J6p/Q(T_k@fV1Y@0W-nF%@oE/c!V!M"9?( %@M6&i)d!d""aR1d@\+6g?D3i7&Q]n]/h===FOl/_<9A@"B+gFu'I5J]>3;haX"*g")aJCn7Y,C-5ZU$q_S]@979!#A;E:s$5/N#" %HgrPAq2?!De;D=.#gsjhhZ>+S^bqZYM#!/UCj"<7('N@:1m`GWh*OYc:rpcqR3#U@RbNhA:,iD-KOp*8e_Up.LPP2J/76$E[RF+9%,*@ch#tqU2 %nhT`:66SBI4^`JILH(n4NA0k0H@h/%edV54J<&cFNLkh8_G33.+F-c\9f8M1-r9o1XF\KM;o'[)%?Q:a,mc''U$jT(";0/Q6ob"tao:@O\bI8HZS9m5JA,)FEOjB5q\6s9qW(L`G# %;+9[nl4GE$3K.7B.SuM"U81LAO=aif!^2:6*:XFhK_+AK'j2eoSg"IeJH[-3Hn[m)0IL*V-Y&[)bB]7#IhKo@-m:t#;9@Uo%$J+K %K<'hR+o+tLLHanMbo[tZ9R@@A)X./i&!?2\gfE[4m0^em%XB`p_\CU1pWGn$Q)_m\/*Kmr^'bbYQ'i)p_-J)E`hS'uD^e"4O? %V^=bp*Zc2tdZFfgj2eK;A=\d/?E.]+riLc1sO0qG`jJ>=dK]F'RKop%BPP^<^9cZ"U6,["U1PIMBrG-pg,'N %?GL>&d0Nkc-urH.5/tY8[Z@]Q/"Dj@1YM#T.8*GIW2lXlbK>+oR'spO)\]+^`6D&FggcZ4O]sIN:'T`V-;"t`-ok(mcs)NYJ.oFD %&[lNtEGe&s.U\+O*"RTF5fkV,6(U[a4:Q>Le&t<;]XP,W$EkT5$-SKHFmp-h_o-=h(9=[oDR"#1F8*G]W!.Z:%5C %O-8QNbh0:XO\B9V/;EF=h"W)$X7?[>fQ=/O\DU!(2'Z.@ePSh)^hqa %EVf6n"L=EJm06q6Ssq4O.Q.)A#N<:sJgj7Mdbdfe-MFXI>7OT"WYS(4AbY%EdbK$&8ru^u^DWb<*J=co0NO$^o7\7$g %]YYO4*T4AK"`m)c@dJ@aL$,aQ2$6jU2ImRB,BLLo7qBquoa^&Q7-+uPfU\YP8NflR$q+sXZY3;P`3O@FTs)a?F_-.'NYB7+V5cUZWm+6&'_G@6P^t-N\$(S?rG+,5PUiQH/.]ZM'W"toV_#bXOssrq`N7&C=(@(C(!E*"XPDdE %'L\5d4=n#aadd_^,KIAehI+^4jIAV:cHS0^)&BPTaIXW23Tb%t%>Q:./Z(>GWb4*!@\f9u&e4(SfZAdI;3dp?9I*7*S]IltV['EA %gdJ;2mY'%+OA'`8YULH^+f`cmbQ7>mGpX]D9Ioo5K.U@BTs3U4cSA4P#mh:B#-L1,U4pD.REF/F.++1,UD9E?R2Fn-m;4YF7RHi_ %k@E"k;It>7%=k`,N_P,SK,=e#n[\^`(+LorR,S%"3k9&/%j(ouJFc3B=A*P""@CND++[;2MVR5M@$V1`guCr`1)(QlXF(E"Gud'Ib1:[KF/Q9t-YFh;)"*m"P[$Ll0>'Pd/mOXsX^3#7*hu %_5=!bem\8VQq=p5o.\d:pMCoTgKN:\Q9*7e2X2d\=&"2#=Esh,QK;PqYL%M%E,_Fo13s!6OMIe76u$1d7!@?@U(uF1UJSFX3-i@2 %(+Dfe/Hdd$/M]p((m"8J'Oo$R#W=&sKpjGY$c,+SR;0Vb6AO#f(8=i>!Q55-iMg3W<'@-C %_XUf!$c.jVdQMrio!kpURAqETkgER8*Z"QsHpsL3M?0:P_j<(#KS_H=e"VlAFI%KuhFK9B,0D_1/\&Q\V5M[JVr'a.(fMHfej@oQ %8Y\846)>Ku+TQ$sWEV65G`e9.Ks2JIS[]k$;^CAPQ)0=n-E;f.a0J%X86/*6Ro^et_J0>eZ"G=lm-J63&61"*[%m%NiKYl0o3p(! %eGY%7b58;+0opKrQX;:DJ'*eg""79,NP*ltn3F;bTN-hj'?ThV4OU44n3j]Z"88&aUN@ %jppBIN)UCLN+MCLIB]+;C8Dd:dp&Igo&$*YU4rb"-Z'bi5DJ>6d4E\ %0se>0VV2;)4dNc5"-,:XMPrF"ZH:*9AZ+6[g>aZ=ZT^'"TdieViQ\E<,C&]Ujcime_*a_\,3BiB(efV9Ck91"Wiej[>;t#k"_Lj/ %1sPs-i)#o4P%(+2ip>X2&aYf7*b_R5&:a7IjT+GM"%8f_ThDd*+C-5uW_/!VJ:R)''"O(R&aWrNm`eKI_1XPa6su7Dij`A?:j:!F %irq!l[W_mreCn@E#fD@_)T`X-WA[%jX&L+U%?5JqB#Zc7A:()3i%>hg:Pq2"BQL&r%I?ZCYq)(G[Vj`++GZY*,M8bPMMk',NSpcc %@`JZHm*D[iJt8>SSSi";fO6'84D`cmOEj2k!opLWOsW_f"g8-R/G.NY0al&ZberbS#RT*Lon>.QME*pk]N@19(`8Y).&t":o:UmY %0\9'IS#A\q033lNS(>dQCiBg+Es'5Zc@\)F>Z(IJ@BKgd>;nT+,N+Ok?gNoQ^AAC\j)F",M]o*[Df%5s3rl38L?o;]9hVa3>5oTc %*'\$5G7Z^)ZM0p]hZ6d#&Rt]_n>5mf)?1`&Zk4UU!tX!b)Vqq`n8Rr)p@L0O4P\@UGs6CubDa'+F5Z#!_M,_B%QlK3=^sbMJHq"r %\?#cCYhW?g`:Fl@SA],*BjGe)KS=?L%QqOa/2$k0fPs?pj%,ss<[U;u^]R8>?&T"!ng4NcVF/RVI[S@2Sd,d5&Rj>BL]b=(8PKnlR`dnANUuub.4He8gSU/q>-g%4q %lMN963\\'h/t6,eG_#>7En5dHdj2!13:LljVa(i:i8O&Ig(SVeiPcJqeWT:g_2D')):j@/6:DWQ1C3g,@PpKV#7loT1FtNs*afU& %C0Z".\&eBB/j-f<,RD9`nF/WbbR)=+%,WD+Nq;VUj!!!1Vi$E\dNE'lY0`q]&m[LRA"bhI!*)oDgE %g1&/P+nRfMOnVFDLg7b[4@!pipXY+T-UO-0qXDSVCmq=q4C)Af91.%+8+ri3<;.0ri_bWD:+9D"e.#K,G^)6kRArG5D@`]S&+S3h %VWV3/pnac#ek04m\>Va%VsM:<>?tbBFlD:ZSER5U5!6W4gc4Ne;FPn#A$0D;*:@h]-P"O(SoaS'4CPM5Q5f'2JdA-Q^rZKt=[s*/6?slIM_*4Icp. %;F+MCgQs6^>+Kob^JJgF[8&i3(*+TaU5*"/HWHWB0S=0dETpFlM?oHBAg\[^T^CM(N(^GeB;S %I<^!jVWoVH5!2+$5d/Ln,lY_+eq^/\a]5l8`-rssUe0jg_mO&*P_g%aTVs^D;(V/e2*AQ5naP4.'RDm"'9=,Rb,VbH&Jj.q[?D6h %M+!Su1<;KGnBU0tDT7N'Y'l6bTE"0lqobA>Q96Lt?,Ta:24f'?O]Z:$=^\#B/c^OB=@Hi5FFV\5b3+PYVZt %[AST@L'p_#.ET?CN5]roXc\h.ZQ]EQD1JRM,d_1onc3\E3YNl95Sb7a("2s>K':bpfPO,B'7E*6?>t$6?PHNT2CoA3U,j0K;j8hs %3dZ7$/J(!fXFL>g*UqQ8FS#n>l!Arg_Dl!?&HeG9?Wcr^O$r:6Aeh%*P/9j7Og!F3$:p[858Qq8@UQ1/`Gtt_Vef>%N2/O0'?qMJ %.1#!`Q8C=jGU/4V,H6"7Eu_38W#7n9'?mS!p8!_S##&#Q'eIdX9d#"u^Tr8(Lg!im-'W/I3(uET#nX`Ig$Hk0/9E'qq2(,+Uj=[( %VZd]%MW>WeL %A]DY%$$Rag>:%=M@9aJ[s#LlQaX2%.`(kr;]HPV?Z*,3AfHI-o`T"o?7(&DE9F%JYjZF5")/rW@.`DuSPhVh@l(sP[^,Lj0C_$*# %KD,E:e_E:L87EdFB4_EL[9-[[],UZi:XP$(Q`.QI"2*"%/_I&uG@= %b;c>LHAJoI%Z#6kB53=_NQi09;'QOo<^f)A:JRt %/iWbEKcDiB/iPDjnANI)IS5)hiR#X"dmKk:N:f8f`M$i8[2>DUGT(U4f&^^i;L2.DZ5N>,!OT5p<#aKB#_S5I#HF%Zlo=a#2;0/b %i_#frm"QW.n20.0.Q*n8;\U9J:92I8KQLgb#9P&JV3%0;M&Yfp4Eof8)[l&[A]L;k\=4Vm%`a]H$u-o]^D2'poXC1,HLs/'A>YSr %4h+$80WGo-[]>eDE89(]L"5\C$HDfb!fJm1enZWGlQj2s_loN;GjUHkA=LZcU39#*/3f&0q\X3K$b.h`X^]%[b4Fo8I@oj-js4tT %&gq*Ag_6$.7VrRu%LCsRk=O`6Zt.=d&igLtM4bK,)B&FN';t>cp^0!;*14=h@*Y35K,B=Z-87P,5fES2"EGW"A?Z,\)OkPQ7N_r1WL[$3pCJj:H^NP:HrEVeSD[gV+SRQ)aFWEH:K2lbLh+9nO,35EBjId;\j.ZEulKUd\A$0/f&'+Vgp3:a??if;:Y=i"(m7,%oZmVh3%=R.Z:3] %MTJU/a%1oP8T"Z6*(X4GcnC=149n_\&]TBY?.sd$ad(G/)_FeD!L:Y"P05sGY#pNc$)uHeX5fEQA:dQG# %&(4@Xd?,cccO?kQdPrI$7BeK6!':Q(EoV,EP:?-+RC>f]$A9\-Y0tf-=VoaF9j)3[RNTKP\/H>+cr6uh1rDS' %&g`Dj6d%:@Dbq9LUcJ\^&ZJ%K"aj@<%B%M3gJV"R62[5^39ABXZ2/=QJJ;r.$sb7`p5quCkZ4fHkLiQi/TC%XldEXKQAU`CaqZ;' %pJ05CEBCBM!6>T9@W"fPd_$%Sf9u4&#GpUH$:Oe0\/?KJ(9q;h64jQTLpX,;VZ:NC1^tHr5r;3I)hGq;RK=f?8p+X3-4b[!9KmMo %aU0:(_`]"`Ij[?P/E&D?!4cTj;b3_!jGTPb@c@`i>P;FOO)o3dm\W@:[cRd$1.(3X(XGch_?]#%L.Pk2qqel]g\;]`SB@t.U/+MgF^(hRdO!KdY"ns+cn4lN9XQ,ULR7BLa_Hm$d>)8U92l@mCl?i7AULdC)$5oP0^NVFiE^5YUS%jkP4u;c&%jV(C/iXhjbedqs4$)inMGgs#Zf73&s"44LdNQ6Vf&DSKD3DSt7$"?@5!9+!C34H$s:: %rV=IOrs.URG(f~> %AI9_PrivateDataEnd \ No newline at end of file -- 2.43.0