Commit Diff


commit - /dev/null
commit + 12687dd954a34abd5498445b00336f835656eeec
blob - /dev/null
blob + 7b992431b8d460ed7f72128a4fc340dc0b3a9045 (mode 644)
--- /dev/null
+++ #22.3.1#1#
@@ -0,0 +1,698 @@
+#reader(lib"read.ss""wxme")WXME0108 ## 
+#|
+   This file is in plt scheme editor format.
+   Open this file in dr-scheme version 4.2 or later to read it.
+
+   Most likely, it was created by saving a program in DrScheme,
+   and it probably contains a program with non-text elements
+   (such as images or comment boxes).
+
+            http://www.plt-scheme.org
+|#
+ 29 7 #"wxtext\0"
+3 1 6 #"wxtab\0"
+1 1 8 #"wxmedia\0"
+4 1 8 #"wximage\0"
+2 0 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0"
+1 0 16 #"drscheme:number\0"
+3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0"
+1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0"
+1 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0"
+0 0 19 #"drscheme:sexp-snip\0"
+0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0"
+1 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0"
+0 0 29 #"drscheme:bindings-snipclass%\0"
+1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0"
+1 0 22 #"drscheme:lambda-snip%\0"
+1 0 56
+#"(lib \"hrule-snip.ss\" \"macro-debugger\" \"syntax-browser\")\0"
+1 0 18 #"java-comment-box%\0"
+1 0 23 #"java-interactions-box%\0"
+1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0"
+1 0 26 #"drscheme:pict-value-snip%\0"
+0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0"
+2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0"
+1 0 18 #"drscheme:xml-snip\0"
+1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0"
+1 0 21 #"drscheme:scheme-snip\0"
+2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0"
+1 0 10 #"text-box%\0"
+1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0"
+1 0 15 #"test-case-box%\0"
+2 0 1 6 #"wxloc\0"
+          0 0 76 0 1 #"\0"
+0 75 1 #"\0"
+0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9
+#"Standard\0"
+0 75 11 #" Monospace\0"
+0 16 90 -1 90 -1 2 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24
+#"framework:default-color\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15
+#"text:ports out\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 15 #"text:ports err\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17
+#"text:ports value\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 27 #"Matching Parenthesis Style\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37
+#"framework:syntax-color:scheme:symbol\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38
+#"framework:syntax-color:scheme:keyword\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+38 #"framework:syntax-color:scheme:comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37
+#"framework:syntax-color:scheme:string\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39
+#"framework:syntax-color:scheme:constant\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42
+#"framework:syntax-color:scheme:parenthesis\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36
+#"framework:syntax-color:scheme:error\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36
+#"framework:syntax-color:scheme:other\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2
+38 #"drscheme:check-syntax:lexically-bound\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 31
+#"drscheme:check-syntax:imported\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 41
+#"profj:syntax-colors:scheme:block-comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+35 #"profj:syntax-colors:scheme:keyword\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 37
+#"profj:syntax-colors:scheme:prim-type\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 38
+#"profj:syntax-colors:scheme:identifier\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 34
+#"profj:syntax-colors:scheme:string\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:literal\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+33 #"profj:syntax-colors:scheme:error\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:default\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 37
+#"profj:syntax-colors:scheme:uncovered\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:covered\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 4 1
+#"\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 4 #"XML\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 8 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 8 24
+#"drscheme:text:ports err\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 22 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 24 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 22 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 24 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+22 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+15 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+14 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+24 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+20 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+4 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 19 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 19 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+19 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1
+          0 424 0 17 3 85
+(
+ #";; The first three lines of this file were inserted by DrScheme. The"
+ #"y record metadata"
+) 0 0 66 29 1 #"\n"
+0 0 17 3 85
+(
+ #";; about the language level of this file in a form that our tools ca"
+ #"n easily process."
+) 0 0 66 29 1 #"\n"
+0 0 24 3 7 #"#reader"
+0 0 22 3 1 #"("
+0 0 14 3 3 #"lib"
+0 0 66 3 1 #" "
+0 0 19 3 29 #"\"htdp-intermediate-reader.ss\""
+0 0 66 3 1 #" "
+0 0 19 3 6 #"\"lang\""
+0 0 22 3 3 #")(("
+0 0 14 3 7 #"modname"
+0 0 66 3 1 #" "
+0 0 14 3 7 #"|#22.3|"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 19 #"read-case-sensitive"
+0 0 66 3 1 #" "
+0 0 20 3 2 #"#t"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 10 #"teachpacks"
+0 0 66 3 1 #" "
+0 0 22 3 2 #"(("
+0 0 14 3 3 #"lib"
+0 0 66 3 1 #" "
+0 0 19 3 9 #"\"draw.ss\""
+0 0 66 3 1 #" "
+0 0 19 3 11 #"\"teachpack\""
+0 0 66 3 1 #" "
+0 0 19 3 6 #"\"htdp\""
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"lib"
+0 0 66 3 1 #" "
+0 0 19 3 10 #"\"arrow.ss\""
+0 0 66 3 1 #" "
+0 0 19 3 11 #"\"teachpack\""
+0 0 66 3 1 #" "
+0 0 19 3 6 #"\"htdp\""
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"lib"
+0 0 66 3 1 #" "
+0 0 19 3 8 #"\"gui.ss\""
+0 0 66 3 1 #" "
+0 0 19 3 11 #"\"teachpack\""
+0 0 66 3 1 #" "
+0 0 19 3 6 #"\"htdp\""
+0 0 22 3 3 #")))"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 13 #"htdp-settings"
+0 0 66 3 1 #" "
+0 0 22 3 2 #"#("
+0 0 20 3 2 #"#t"
+0 0 66 3 1 #" "
+0 0 14 3 11 #"constructor"
+0 0 66 3 1 #" "
+0 0 14 3 17 #"repeating-decimal"
+0 0 66 3 1 #" "
+0 0 20 3 2 #"#f"
+0 0 66 3 1 #" "
+0 0 20 3 2 #"#t"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"none"
+0 0 66 3 1 #" "
+0 0 20 3 2 #"#f"
+0 0 66 3 1 #" "
+0 0 22 3 2 #"(("
+0 0 14 3 3 #"lib"
+0 0 66 3 1 #" "
+0 0 19 3 9 #"\"draw.ss\""
+0 0 66 3 1 #" "
+0 0 19 3 11 #"\"teachpack\""
+0 0 66 3 1 #" "
+0 0 19 3 6 #"\"htdp\""
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"lib"
+0 0 66 3 1 #" "
+0 0 19 3 10 #"\"arrow.ss\""
+0 0 66 3 1 #" "
+0 0 19 3 11 #"\"teachpack\""
+0 0 66 3 1 #" "
+0 0 19 3 6 #"\"htdp\""
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"lib"
+0 0 66 3 1 #" "
+0 0 19 3 8 #"\"gui.ss\""
+0 0 66 3 1 #" "
+0 0 19 3 11 #"\"teachpack\""
+0 0 66 3 1 #" "
+0 0 19 3 6 #"\"htdp\""
+0 0 22 3 5 #")))))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"change-text"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"event"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"draw-message"
+0 0 66 3 1 #" "
+0 0 14 3 12 #"main-message"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 13 #"text-contents"
+0 0 66 3 1 #" "
+0 0 14 3 9 #"main-text"
+0 0 22 3 3 #")))"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 13 #"change-choice"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"event"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #"="
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"choice-index"
+0 0 66 3 1 #" "
+0 0 14 3 11 #"main-choice"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"0"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"draw-message"
+0 0 66 3 1 #" "
+0 0 14 3 19 #"main-choice-message"
+0 0 66 3 1 #" "
+0 0 19 11 15 #"\"Please make a "
+0 0 19 3 10 #"selection\""
+0 0 22 3 2 #")]"
+0 0 74 29 1 #"\n"
+0 0 74 3 0 #""
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #"="
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"choice-index"
+0 0 66 3 1 #" "
+0 0 14 3 11 #"main-choice"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"draw-message"
+0 0 66 3 1 #" "
+0 0 14 3 19 #"main-choice-message"
+0 0 66 3 1 #" "
+0 0 19 11 20 #"\"Let's shop another "
+0 0 19 3 5 #"time\""
+0 0 22 3 2 #")]"
+0 0 74 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #"="
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"choice-index"
+0 0 66 3 1 #" "
+0 0 14 3 11 #"main-choice"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"2"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"draw-message"
+0 0 66 3 1 #" "
+0 0 14 3 19 #"main-choice-message"
+0 0 66 3 1 #" "
+0 0 19 11 17 #"\"There's nothing "
+0 0 19 3 18 #"interesting on TV\""
+0 0 22 3 2 #")]"
+0 0 74 29 1 #"\n"
+0 0 74 3 0 #""
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #"="
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"choice-index"
+0 0 66 3 1 #" "
+0 0 14 3 11 #"main-choice"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"3"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"draw-message"
+0 0 66 3 1 #" "
+0 0 14 3 19 #"main-choice-message"
+0 0 66 3 1 #" "
+0 0 19 11 13 #"\"Sure, we're "
+0 0 19 3 23 #"programming right now!\""
+0 0 22 3 2 #")]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #"="
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"choice-index"
+0 0 66 3 1 #" "
+0 0 14 3 11 #"main-choice"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"4"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"draw-message"
+0 0 66 3 1 #" "
+0 0 14 3 19 #"main-choice-message"
+0 0 66 3 1 #" "
+0 0 19 3 19 #"\"Maybe in 2 hours!\""
+0 0 22 3 4 #")]))"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 17 #"close-main-window"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"event"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"hide-window"
+0 0 66 3 1 #" "
+0 0 14 3 11 #"main-window"
+0 0 22 3 2 #"))"
+0 0 74 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 14 3 12 #"main-message"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"make-message"
+0 0 66 3 1 #" "
+0 0 19 3 27 #"\"Hi, nice to meet you too!\""
+0 0 22 3 2 #"))"
+0 0 74 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 74 3 1 #" "
+0 0 14 3 5 #"query"
+0 0 74 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"make-message"
+0 0 74 3 1 #" "
+0 0 19 3 1 #"\""
+0 0 19 3 4 #"What"
+0 0 19 3 1 #" "
+0 0 19 3 5 #"would"
+0 0 19 3 1 #" "
+0 0 19 3 22 #"you like to do today?\""
+0 0 22 3 2 #"))"
+0 0 74 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 74 3 1 #" "
+0 0 14 3 9 #"main-text"
+0 0 74 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"make-text"
+0 0 74 3 1 #" "
+0 0 19 3 11 #"\"Hi Aaron!\""
+0 0 22 3 2 #"))"
+0 0 74 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 74 3 1 #" "
+0 0 14 3 19 #"main-choice-message"
+0 0 74 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"make-message"
+0 0 74 3 1 #" "
+0 0 19 3 2 #"\"\""
+0 0 22 3 2 #"))"
+0 0 74 29 1 #"\n"
+0 0 74 3 0 #""
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 74 3 1 #" "
+0 0 14 3 11 #"main-choice"
+0 0 74 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"make-choice"
+0 0 74 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 74 3 1 #" "
+0 0 19 3 18 #"\"Make a selection\""
+0 0 74 29 1 #"\n"
+0 0 74 3 39 #"                                       "
+0 0 19 3 13 #"\"Go Shopping\""
+0 0 74 29 1 #"\n"
+0 0 74 3 39 #"                                       "
+0 0 19 3 10 #"\"Watch TV\""
+0 0 74 29 1 #"\n"
+0 0 74 3 39 #"                                       "
+0 0 19 3 16 #"\"Program Scheme\""
+0 0 74 29 1 #"\n"
+0 0 74 3 39 #"                                       "
+0 0 19 3 7 #"\"Sleep\""
+0 0 22 3 3 #")))"
+0 0 74 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 14 3 11 #"main-window"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 14 3 13 #"create-window"
+0 0 74 29 1 #"\n"
+0 0 66 3 3 #"   "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 74 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"make-button"
+0 0 66 3 1 #" "
+0 0 19 3 14 #"\"Close Window\""
+0 0 66 3 1 #" "
+0 0 14 3 17 #"close-main-window"
+0 0 22 3 2 #"))"
+0 0 74 29 1 #"\n"
+0 0 66 3 9 #"         "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 74 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"make-button"
+0 0 74 3 1 #" "
+0 0 19 3 13 #"\"Change Text\""
+0 0 74 3 1 #" "
+0 0 14 3 11 #"change-text"
+0 0 22 3 1 #")"
+0 0 74 29 1 #"\n"
+0 0 66 3 15 #"               "
+0 0 14 3 9 #"main-text"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 9 #"         "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 66 3 1 #" "
+0 0 14 3 12 #"main-message"
+0 0 22 3 1 #")"
+0 0 74 29 1 #"\n"
+0 0 66 3 9 #"         "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 74 3 1 #" "
+0 0 14 3 5 #"query"
+0 0 22 3 1 #")"
+0 0 74 29 1 #"\n"
+0 0 66 3 9 #"         "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 74 3 1 #" "
+0 0 14 3 11 #"main-choice"
+0 0 74 29 1 #"\n"
+0 0 66 3 15 #"               "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"make-button"
+0 0 74 3 1 #" "
+0 0 19 3 5 #"\"Go!\""
+0 0 70 3 1 #" "
+0 0 14 3 13 #"change-choice"
+0 0 22 3 2 #"))"
+0 0 70 29 1 #"\n"
+0 0 66 3 9 #"         "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 70 3 1 #" "
+0 0 14 3 19 #"main-choice-message"
+0 0 22 3 4 #"))))"
+0 0 70 29 1 #"\n"
+0 0 70 3 0 #""
+0 0 66 3 2 #"  "
+0 0 70 29 1 #"\n"
+0 0 70 3 0 #""
+0 0 66 3 2 #"  "
+0           0
blob - /dev/null
blob + 77d3becd988f1f23737c1b4e9c60fedc4988d1e4 (mode 644)
--- /dev/null
+++ #27.3.5#1#
@@ -0,0 +1,1139 @@
+#reader(lib"read.ss""wxme")WXME0108 ## 
+#|
+   This file is in plt scheme editor format.
+   Open this file in dr-scheme version 4.2 or later to read it.
+
+   Most likely, it was created by saving a program in DrScheme,
+   and it probably contains a program with non-text elements
+   (such as images or comment boxes).
+
+            http://www.plt-scheme.org
+|#
+ 29 7 #"wxtext\0"
+3 1 6 #"wxtab\0"
+1 1 8 #"wxmedia\0"
+4 1 8 #"wximage\0"
+2 0 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0"
+1 0 16 #"drscheme:number\0"
+3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0"
+1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0"
+1 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0"
+0 0 19 #"drscheme:sexp-snip\0"
+0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0"
+1 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0"
+0 0 29 #"drscheme:bindings-snipclass%\0"
+1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0"
+1 0 22 #"drscheme:lambda-snip%\0"
+1 0 56
+#"(lib \"hrule-snip.ss\" \"macro-debugger\" \"syntax-browser\")\0"
+1 0 18 #"java-comment-box%\0"
+1 0 23 #"java-interactions-box%\0"
+1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0"
+1 0 26 #"drscheme:pict-value-snip%\0"
+0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0"
+2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0"
+1 0 18 #"drscheme:xml-snip\0"
+1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0"
+1 0 21 #"drscheme:scheme-snip\0"
+2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0"
+1 0 10 #"text-box%\0"
+1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0"
+1 0 15 #"test-case-box%\0"
+2 0 1 6 #"wxloc\0"
+          0 0 80 0 1 #"\0"
+0 75 1 #"\0"
+0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9
+#"Standard\0"
+0 75 11 #" Monospace\0"
+0 16 90 -1 90 -1 2 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24
+#"framework:default-color\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15
+#"text:ports out\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 15 #"text:ports err\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17
+#"text:ports value\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 27 #"Matching Parenthesis Style\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37
+#"framework:syntax-color:scheme:symbol\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38
+#"framework:syntax-color:scheme:keyword\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+38 #"framework:syntax-color:scheme:comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37
+#"framework:syntax-color:scheme:string\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39
+#"framework:syntax-color:scheme:constant\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42
+#"framework:syntax-color:scheme:parenthesis\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36
+#"framework:syntax-color:scheme:error\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36
+#"framework:syntax-color:scheme:other\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2
+38 #"drscheme:check-syntax:lexically-bound\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 31
+#"drscheme:check-syntax:imported\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 41
+#"profj:syntax-colors:scheme:block-comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+35 #"profj:syntax-colors:scheme:keyword\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 37
+#"profj:syntax-colors:scheme:prim-type\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 38
+#"profj:syntax-colors:scheme:identifier\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 34
+#"profj:syntax-colors:scheme:string\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:literal\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+33 #"profj:syntax-colors:scheme:error\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:default\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 37
+#"profj:syntax-colors:scheme:uncovered\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:covered\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 4 1
+#"\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 4 #"XML\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 8 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 8 24
+#"drscheme:text:ports err\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 22 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 22 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+22 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+15 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+14 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+20 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+17 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 255 255 0 -1 -1 19
+1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 24 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 19 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 24 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 19 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+24 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+0 1 #"\0"
+0 75 11 #" Monospace\0"
+0.0 16 90 -1 90 -1 2 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255
+255 255 1 -1 17 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1
+          0 823 0 4 3 85
+(
+ #";; The first three lines of this file were inserted by DrScheme. The"
+ #"y record metadata"
+) 0 0 4 29 1 #"\n"
+0 0 4 3 85
+(
+ #";; about the language level of this file in a form that our tools ca"
+ #"n easily process."
+) 0 0 4 29 1 #"\n"
+0 0 4 3 393
+(
+ #"#reader(lib \"htdp-intermediate-lambda-reader.ss\" \"lang\")((modnam"
+ #"e |#27.3|) (read-case-sensitive #t) (teachpacks ((lib \"draw.ss\" \""
+ #"teachpack\" \"htdp\") (lib \"arrow.ss\" \"teachpack\" \"htdp\") (lib"
+ #" \"gui.ss\" \"teachpack\" \"htdp\"))) (htdp-settings #(#t constructo"
+ #"r repeating-decimal #f #t none #f ((lib \"draw.ss\" \"teachpack\" \""
+ #"htdp\") (lib \"arrow.ss\" \"teachpack\" \"htdp\") (lib \"gui.ss\" \""
+ #"teachpack\" \"htdp\")))))"
+) 0 0 4 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 1 #"A"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"table"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"is"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"a"
+0 0 17 3 1 #" "
+0 0 17 3 8 #"function"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"that"
+0 0 17 3 1 #" "
+0 0 17 3 8 #"consumes"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"only"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"natural"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"numbers"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"between"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"0"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"("
+0 0 17 3 9 #"inclusive"
+0 0 17 3 1 #")"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"and"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"VL"
+0 0 17 11 1 #" "
+0 0 17 3 33 #"(exclusive) and returns a number."
+0 0 64 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 64 29 1 #"\n"
+0 0 17 3 32 #";Formally, a table is a function"
+0 0 64 29 1 #"\n"
+0 0 17 3 37 #";g : N[>=0 and <= (- VL 1)] -> number"
+0 0 64 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 64 29 1 #"\n"
+0 0 17 3 72
+(
+ #";The root of a table is the value x such that (g x) is the closest t"
+ #"o 0."
+) 0 0 64 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 64 29 1 #"\n"
+0 0 17 3 40 #";find-root-linear : (N -> number) N -> N"
+0 0 64 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 5 #"Given"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"a-table"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"("
+0 0 17 3 5 #"table"
+0 0 17 3 2 #") "
+0 0 17 3 3 #"and"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"index"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"i"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 4 #"find"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"the"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"root"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"of"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"a"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"table."
+0 0 17 3 2 #"  "
+0 0 17 3 16 #"find-root-linear"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"finds"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"the"
+0 0 17 11 1 #" "
+0 0 17 3 48 #"root using structural induction (linear search)."
+0 0 64 29 1 #"\n"
+0 0 64 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 16 #"find-root-linear"
+0 0 64 3 1 #" "
+0 0 14 3 7 #"a-table"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"i"
+0 0 22 3 1 #")"
+0 0 64 29 1 #"\n"
+0 0 64 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 64 29 1 #"\n"
+0 0 64 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 5 #"zero?"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"i"
+0 0 22 3 1 #")"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"i"
+0 0 22 3 1 #"]"
+0 0 64 29 1 #"\n"
+0 0 64 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 5 #"local"
+0 0 64 3 1 #" "
+0 0 22 3 2 #"(("
+0 0 15 3 6 #"define"
+0 0 64 3 1 #" "
+0 0 14 3 9 #"a-table-i"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"i"
+0 0 22 3 2 #"))"
+0 0 64 29 1 #"\n"
+0 0 64 3 18 #"                  "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 64 3 1 #" "
+0 0 14 3 12 #"root-of-rest"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 16 #"find-root-linear"
+0 0 64 3 1 #" "
+0 0 14 3 7 #"a-table"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"sub1"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"i"
+0 0 22 3 4 #"))))"
+0 0 64 29 1 #"\n"
+0 0 64 3 12 #"            "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 64 29 1 #"\n"
+0 0 64 3 14 #"              "
+0 0 22 3 2 #"[("
+0 0 14 3 2 #"<="
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"abs"
+0 0 64 3 1 #" "
+0 0 14 3 9 #"a-table-i"
+0 0 22 3 1 #")"
+0 0 64 29 1 #"\n"
+0 0 64 3 19 #"                   "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"abs"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 64 3 1 #" "
+0 0 14 3 12 #"root-of-rest"
+0 0 22 3 3 #")))"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"i"
+0 0 22 3 1 #"]"
+0 0 64 29 1 #"\n"
+0 0 64 3 14 #"              "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 64 3 1 #" "
+0 0 14 3 12 #"root-of-rest"
+0 0 22 3 6 #"]))]))"
+0 0 64 29 1 #"\n"
+0 0 64 3 0 #""
+0 0 64 29 1 #"\n"
+0 0 64 3 0 #""
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"t"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"x"
+0 0 22 3 1 #")"
+0 0 64 29 1 #"\n"
+0 0 64 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"+"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"+"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"*"
+0 0 64 3 1 #" "
+0 0 20 3 1 #"3"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"sin"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"x"
+0 0 22 3 2 #"))"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"*"
+0 0 64 3 1 #" "
+0 0 20 3 1 #"5"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"x"
+0 0 22 3 2 #"))"
+0 0 64 29 1 #"\n"
+0 0 64 3 5 #"     "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"*"
+0 0 64 3 1 #" "
+0 0 20 3 2 #"-1"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"x"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"sqrt"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"x"
+0 0 22 3 2 #"))"
+0 0 64 29 1 #"\n"
+0 0 64 3 5 #"     "
+0 0 20 3 1 #"3"
+0 0 22 3 2 #"))"
+0 0 64 29 1 #"\n"
+0 0 64 29 1 #"\n"
+0 0 17 3 19 #";find-root-discrete"
+0 0 17 3 25 #" : (N -> number) N N -> N"
+0 0 64 29 1 #"\n"
+0 0 17 3 6 #";Given"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"a-table"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 4 #"left"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 3 #"and"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"right"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 4 #"find"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"a"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"root"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"of"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"the"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"table"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"using"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"binary"
+0 0 17 3 7 #" search"
+0 0 17 3 1 #" "
+0 0 17 3 10 #"generative"
+0 0 17 11 1 #" "
+0 0 17 3 83
+(
+ #"recursion.  If there are multiple roots, only the root closest to ze"
+ #"ro is returned."
+) 0 0 64 29 1 #"\n"
+0 0 17 3 12 #";Termination"
+0 0 17 3 1 #" "
+0 0 17 3 9 #"Argument:"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"The"
+0 0 17 3 1 #" "
+0 0 17 3 8 #"interval"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"of"
+0 0 17 3 1 #" "
+0 0 17 3 18 #"find-root-discrete"
+0 0 17 3 1 #" "
+0 0 17 3 9 #"decreases"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"by"
+0 0 17 3 5 #" half"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"each"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"time"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"until"
+0 0 17 11 1 #" "
+0 0 17 3 3 #"the"
+0 0 17 3 1 #" "
+0 0 17 3 8 #"interval"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"size"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"is"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"only"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"1."
+0 0 17 3 2 #"  "
+0 0 17 3 4 #"Once"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"this"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"occurs"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 18 #"find-root-discrete"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"either"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"returns"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"the"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"left"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"or"
+0 0 17 11 1 #" "
+0 0 17 3 3 #"the"
+0 0 17 3 1 #" "
+0 0 17 3 67
+#"right index as the root.  Hence, find-root-discrete must terminate."
+0 0 64 29 1 #"\n"
+0 0 17 3 17 #";midpoint : Given"
+0 0 17 3 71
+(
+ #" left and right, determine the midpoint rounded to the nearest integ"
+ #"er."
+) 0 0 64 29 1 #"\n"
+0 0 17 3 44 #";No assumption about a-table being monotonic"
+0 0 64 29 1 #"\n"
+0 0 64 29 1 #"\n"
+0 0 63 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 19 #"find-root-discrete2"
+0 0 63 3 1 #" "
+0 0 14 3 7 #"a-table"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 63 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 22 3 1 #")"
+0 0 63 29 1 #"\n"
+0 0 63 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 63 29 1 #"\n"
+0 0 63 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #"="
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"-"
+0 0 63 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 22 3 1 #")"
+0 0 63 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 22 3 1 #")"
+0 0 63 3 1 #" "
+0 0 64 3 1 #" "
+0 0 63 29 1 #"\n"
+0 0 63 3 5 #"     "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 63 29 1 #"\n"
+0 0 63 3 7 #"       "
+0 0 22 3 2 #"[("
+0 0 14 3 2 #"<="
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"abs"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 22 3 2 #"))"
+0 0 63 29 1 #"\n"
+0 0 63 3 12 #"            "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"abs"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 63 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 22 3 3 #")))"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 22 3 1 #"]"
+0 0 63 29 1 #"\n"
+0 0 63 3 7 #"       "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 63 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 22 3 3 #"])]"
+0 0 63 29 1 #"\n"
+0 0 63 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 5 #"local"
+0 0 63 3 1 #" "
+0 0 22 3 2 #"(("
+0 0 15 3 6 #"define"
+0 0 63 3 1 #" "
+0 0 14 3 8 #"midpoint"
+0 0 63 29 1 #"\n"
+0 0 63 3 20 #"                    "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"round"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"+"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 63 29 1 #"\n"
+0 0 63 3 30 #"                              "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"/"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"-"
+0 0 63 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 22 3 1 #")"
+0 0 63 3 1 #" "
+0 0 20 3 1 #"2"
+0 0 22 3 4 #"))))"
+0 0 63 29 1 #"\n"
+0 0 63 3 18 #"                  "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 63 3 1 #" "
+0 0 14 3 14 #"left-side-root"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 18 #"find-root-discrete"
+0 0 63 3 1 #" "
+0 0 14 3 7 #"a-table"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 63 3 1 #" "
+0 0 14 3 8 #"midpoint"
+0 0 22 3 2 #"))"
+0 0 63 29 1 #"\n"
+0 0 63 3 18 #"                  "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 63 3 1 #" "
+0 0 14 3 15 #"right-side-root"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 18 #"find-root-discrete"
+0 0 63 3 1 #" "
+0 0 14 3 7 #"a-table"
+0 0 63 3 1 #" "
+0 0 14 3 8 #"midpoint"
+0 0 63 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 22 3 3 #")))"
+0 0 63 29 1 #"\n"
+0 0 63 3 12 #"            "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 63 3 14 #"              "
+0 0 63 29 1 #"\n"
+0 0 63 3 14 #"              "
+0 0 22 3 2 #"[("
+0 0 14 3 2 #"<="
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"abs"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 63 3 1 #" "
+0 0 14 3 14 #"left-side-root"
+0 0 22 3 2 #"))"
+0 0 63 29 1 #"\n"
+0 0 63 3 19 #"                   "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"abs"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 63 3 1 #" "
+0 0 14 3 15 #"right-side-root"
+0 0 22 3 3 #")))"
+0 0 63 3 1 #" "
+0 0 14 3 14 #"left-side-root"
+0 0 22 3 1 #"]"
+0 0 63 29 1 #"\n"
+0 0 63 3 14 #"              "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 63 3 1 #" "
+0 0 14 3 15 #"right-side-root"
+0 0 22 3 6 #"]))]))"
+0 0 63 29 1 #"\n"
+0 0 63 29 1 #"\n"
+0 0 77 29 1 #"\n"
+0 0 77 29 1 #"\n"
+0 0 17 3 44 #";find-root-discrete : (N -> number) N N -> N"
+0 0 77 29 1 #"\n"
+0 0 17 3 6 #";Given"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"a-table"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 4 #"left"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 3 #"and"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"right"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 4 #"find"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"a"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"root "
+0 0 17 3 2 #"of"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"the"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"table"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"using"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"binary"
+0 0 17 3 7 #" search"
+0 0 17 3 1 #" "
+0 0 17 3 10 #"generative"
+0 0 17 11 1 #" "
+0 0 17 3 83
+(
+ #"recursion.  If there are multiple roots, only the root closest to ze"
+ #"ro is returned."
+) 0 0 77 29 1 #"\n"
+0 0 17 3 12 #";Termination"
+0 0 17 3 1 #" "
+0 0 17 3 9 #"Argument:"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"The"
+0 0 17 3 1 #" "
+0 0 17 3 8 #"interval"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"of"
+0 0 17 3 1 #" "
+0 0 17 3 18 #"find-root-discrete"
+0 0 17 3 1 #" "
+0 0 17 3 9 #"decreases"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"by"
+0 0 17 3 5 #" half"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"each"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"time"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"until"
+0 0 17 11 1 #" "
+0 0 17 3 3 #"the"
+0 0 17 3 1 #" "
+0 0 17 3 8 #"interval"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"size"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"is"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"only"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"1."
+0 0 17 3 2 #"  "
+0 0 17 3 4 #"Once"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"this"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"occurs"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 18 #"find-root-discrete"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"either"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"returns"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"the"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"left"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"or"
+0 0 17 11 1 #" "
+0 0 17 3 71
+(
+ #"the right index as the root.  Hence, find-root-discrete must termina"
+ #"te."
+) 0 0 77 29 1 #"\n"
+0 0 17 3 88
+(
+ #";midpoint : Given left and right, determine the midpoint rounded to "
+ #"the nearest integer."
+) 0 0 77 29 1 #"\n"
+0 0 17 3 70
+(
+ #";ASSUMPTION : a-table is monotonic increasing or monotonic decreasin"
+ #"g."
+) 0 0 77 29 1 #"\n"
+0 0 77 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 18 #"find-root-discrete"
+0 0 77 3 1 #" "
+0 0 14 3 7 #"a-table"
+0 0 77 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 77 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 22 3 1 #")"
+0 0 77 29 1 #"\n"
+0 0 77 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 5 #"local"
+0 0 77 3 1 #" "
+0 0 22 3 2 #"(("
+0 0 15 3 6 #"define"
+0 0 77 3 1 #" "
+0 0 14 3 8 #"midpoint"
+0 0 77 29 1 #"\n"
+0 0 77 3 12 #"            "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"round"
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"+"
+0 0 77 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 77 29 1 #"\n"
+0 0 77 3 22 #"                      "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"/"
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"-"
+0 0 77 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 77 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 22 3 1 #")"
+0 0 77 3 1 #" "
+0 0 20 3 1 #"2"
+0 0 22 3 5 #")))))"
+0 0 77 29 1 #"\n"
+0 0 77 3 4 #"    "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 77 29 1 #"\n"
+0 0 77 3 6 #"      "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #"="
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"-"
+0 0 77 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 77 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 22 3 1 #")"
+0 0 77 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 22 3 1 #")"
+0 0 77 3 1 #" "
+0 0 77 29 1 #"\n"
+0 0 77 3 7 #"       "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 77 29 1 #"\n"
+0 0 77 3 9 #"         "
+0 0 22 3 2 #"[("
+0 0 14 3 2 #"<="
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"abs"
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 77 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 22 3 2 #"))"
+0 0 77 29 1 #"\n"
+0 0 77 3 14 #"              "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"abs"
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 77 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 22 3 3 #")))"
+0 0 77 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 22 3 1 #"]"
+0 0 77 29 1 #"\n"
+0 0 77 3 9 #"         "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 77 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 22 3 3 #"])]"
+0 0 77 29 1 #"\n"
+0 0 77 3 6 #"      "
+0 0 22 3 2 #"[("
+0 0 14 3 2 #"or"
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 2 #"<="
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 77 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 22 3 1 #")"
+0 0 77 3 1 #" "
+0 0 20 3 1 #"0"
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 77 3 1 #" "
+0 0 14 3 8 #"midpoint"
+0 0 22 3 2 #"))"
+0 0 77 29 1 #"\n"
+0 0 77 3 11 #"           "
+0 0 22 3 1 #"("
+0 0 14 3 2 #"<="
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 77 3 1 #" "
+0 0 14 3 8 #"midpoint"
+0 0 22 3 1 #")"
+0 0 77 3 1 #" "
+0 0 20 3 1 #"0"
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"a-table"
+0 0 77 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 22 3 3 #")))"
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 18 #"find-root-discrete"
+0 0 64 3 1 #" "
+0 0 14 3 7 #"a-table"
+0 0 64 3 1 #" "
+0 0 14 3 4 #"left"
+0 0 64 11 1 #" "
+0 0 14 3 8 #"midpoint"
+0 0 22 3 2 #")]"
+0 0 77 29 1 #"\n"
+0 0 77 3 6 #"      "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 77 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 18 #"find-root-discrete"
+0 0 64 3 1 #" "
+0 0 14 3 7 #"a-table"
+0 0 64 3 1 #" "
+0 0 14 3 8 #"midpoint"
+0 0 64 3 1 #" "
+0 0 14 3 5 #"right"
+0 0 22 3 5 #")])))"
+0 0 64 29 1 #"\n"
+0 0 64 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 4 #"time"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 16 #"find-root-linear"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"t"
+0 0 64 3 1 #" "
+0 0 20 3 5 #"30000"
+0 0 22 3 2 #"))"
+0 0 64 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 4 #"time"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 19 #"find-root-discrete2"
+0 0 63 3 1 #" "
+0 0 14 3 1 #"t"
+0 0 63 3 1 #" "
+0 0 20 3 1 #"0"
+0 0 63 3 1 #" "
+0 0 20 3 5 #"30000"
+0 0 22 3 2 #"))"
+0 0 64 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 4 #"time"
+0 0 64 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 18 #"find-root-discrete"
+0 0 64 3 1 #" "
+0 0 14 3 1 #"t"
+0 0 64 3 1 #" "
+0 0 20 3 1 #"0"
+0 0 64 3 1 #" "
+0 0 20 3 5 #"30000"
+0 0 22 3 2 #"))"
+0           0
blob - /dev/null
blob + 0e50021428632694a575798a4bc6ad8fc447c23b (mode 644)
--- /dev/null
+++ #30.1.1#1#
@@ -0,0 +1,399 @@
+#reader(lib"read.ss""wxme")WXME0108 ## 
+#|
+   This file is in plt scheme editor format.
+   Open this file in dr-scheme version 4.2 or later to read it.
+
+   Most likely, it was created by saving a program in DrScheme,
+   and it probably contains a program with non-text elements
+   (such as images or comment boxes).
+
+            http://www.plt-scheme.org
+|#
+ 29 7 #"wxtext\0"
+3 1 6 #"wxtab\0"
+1 1 8 #"wxmedia\0"
+4 1 8 #"wximage\0"
+2 0 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0"
+1 0 16 #"drscheme:number\0"
+3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0"
+1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0"
+1 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0"
+0 0 19 #"drscheme:sexp-snip\0"
+0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0"
+1 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0"
+0 0 29 #"drscheme:bindings-snipclass%\0"
+1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0"
+1 0 22 #"drscheme:lambda-snip%\0"
+1 0 56
+#"(lib \"hrule-snip.ss\" \"macro-debugger\" \"syntax-browser\")\0"
+1 0 18 #"java-comment-box%\0"
+1 0 23 #"java-interactions-box%\0"
+1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0"
+1 0 26 #"drscheme:pict-value-snip%\0"
+0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0"
+2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0"
+1 0 18 #"drscheme:xml-snip\0"
+1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0"
+1 0 21 #"drscheme:scheme-snip\0"
+2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0"
+1 0 10 #"text-box%\0"
+1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0"
+1 0 15 #"test-case-box%\0"
+2 0 1 6 #"wxloc\0"
+          0 0 69 0 1 #"\0"
+0 75 1 #"\0"
+0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9
+#"Standard\0"
+0 75 11 #" Monospace\0"
+0 16 90 -1 90 -1 2 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24
+#"framework:default-color\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15
+#"text:ports out\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 15 #"text:ports err\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17
+#"text:ports value\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 27 #"Matching Parenthesis Style\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37
+#"framework:syntax-color:scheme:symbol\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38
+#"framework:syntax-color:scheme:keyword\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+38 #"framework:syntax-color:scheme:comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37
+#"framework:syntax-color:scheme:string\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39
+#"framework:syntax-color:scheme:constant\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42
+#"framework:syntax-color:scheme:parenthesis\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36
+#"framework:syntax-color:scheme:error\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36
+#"framework:syntax-color:scheme:other\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2
+38 #"drscheme:check-syntax:lexically-bound\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 31
+#"drscheme:check-syntax:imported\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 41
+#"profj:syntax-colors:scheme:block-comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+35 #"profj:syntax-colors:scheme:keyword\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 37
+#"profj:syntax-colors:scheme:prim-type\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 38
+#"profj:syntax-colors:scheme:identifier\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 34
+#"profj:syntax-colors:scheme:string\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:literal\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+33 #"profj:syntax-colors:scheme:error\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:default\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 37
+#"profj:syntax-colors:scheme:uncovered\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:covered\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 4 1
+#"\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 4 #"XML\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 8 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 8 24
+#"drscheme:text:ports err\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 22 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 22 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+22 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+15 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+14 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+17 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1
+          0 138 0 4 3 85
+(
+ #";; The first three lines of this file were inserted by DrScheme. The"
+ #"y record metadata"
+) 0 0 4 29 1 #"\n"
+0 0 4 3 85
+(
+ #";; about the language level of this file in a form that our tools ca"
+ #"n easily process."
+) 0 0 4 29 1 #"\n"
+0 0 4 3 382
+(
+ #"#reader(lib \"htdp-advanced-reader.ss\" \"lang\")((modname |#30.1|) "
+ #"(read-case-sensitive #t) (teachpacks ((lib \"draw.ss\" \"teachpack\""
+ #" \"htdp\") (lib \"arrow.ss\" \"teachpack\" \"htdp\") (lib \"gui.ss\""
+ #" \"teachpack\" \"htdp\"))) (htdp-settings #(#t constructor repeating"
+ #"-decimal #t #t none #f ((lib \"draw.ss\" \"teachpack\" \"htdp\") (li"
+ #"b \"arrow.ss\" \"teachpack\" \"htdp\") (lib \"gui.ss\" \"teachpack\""
+ #" \"htdp\")))))"
+) 0 0 4 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 19 #"relative-2-absolute"
+0 0 17 3 1 #" "
+0 0 17 3 1 #":"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"("
+0 0 17 3 35 #"listof numbers) -> (listof numbers)"
+0 0 63 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 7 #"Convert"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"alon"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"into"
+0 0 17 3 1 #" "
+0 0 17 3 8 #"absolute"
+0 0 17 3 1 #" "
+0 0 17 3 10 #"distances."
+0 0 17 3 2 #"  "
+0 0 17 3 3 #"The"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"first"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"element"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"is"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"("
+0 0 17 3 33 #"first alon) away from the origin."
+0 0 63 29 1 #"\n"
+0 0 63 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 19 #"relative-2-absolute"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"alon"
+0 0 22 3 1 #")"
+0 0 63 29 1 #"\n"
+0 0 63 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 63 29 1 #"\n"
+0 0 63 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"alon"
+0 0 22 3 1 #")"
+0 0 63 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 1 #"]"
+0 0 63 29 1 #"\n"
+0 0 63 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"alon"
+0 0 22 3 1 #")"
+0 0 63 29 1 #"\n"
+0 0 63 3 16 #"                "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"add-to-each"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"alon"
+0 0 22 3 1 #")"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 19 #"relative-2-absolute"
+0 0 63 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 63 3 1 #" "
+0 0 14 3 4 #"alon"
+0 0 22 3 7 #"))))]))"
+0 0 63 29 1 #"\n"
+0 0 63 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 62 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"add-to-each"
+0 0 62 3 1 #" "
+0 0 14 3 1 #"n"
+0 0 62 3 1 #" "
+0 0 14 3 4 #"alon"
+0 0 22 3 1 #")"
+0 0 63 29 1 #"\n"
+0 0 62 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"map"
+0 0 62 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"lambda"
+0 0 62 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"x"
+0 0 22 3 1 #")"
+0 0 62 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"+"
+0 0 62 3 1 #" "
+0 0 14 3 1 #"n"
+0 0 62 3 1 #" "
+0 0 14 3 1 #"x"
+0 0 22 3 2 #"))"
+0 0 62 3 1 #" "
+0 0 14 3 4 #"alon"
+0 0 22 3 2 #"))"
+0 0 63 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0 0 14 3 2 #"On"
+0 0 4 3 1 #" "
+0 0 14 3 3 #"the"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"order"
+0 0 4 3 1 #" "
+0 0 14 3 2 #"of"
+0 0 4 3 1 #" "
+0 0 14 3 3 #"N^2"
+0 0 4 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0           0
blob - /dev/null
blob + d22d95ccefce0b1d56334860ee130e1b287820dd (mode 644)
--- /dev/null
+++ #32.3.1 Test Suite#1#
@@ -0,0 +1,3541 @@
+#reader(lib"read.ss""wxme")WXME0108 ## 
+#|
+   This file is in plt scheme editor format.
+   Open this file in dr-scheme version 4.2 or later to read it.
+
+   Most likely, it was created by saving a program in DrScheme,
+   and it probably contains a program with non-text elements
+   (such as images or comment boxes).
+
+            http://www.plt-scheme.org
+|#
+ 29 7 #"wxtext\0"
+3 1 6 #"wxtab\0"
+1 1 8 #"wxmedia\0"
+4 1 8 #"wximage\0"
+2 0 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0"
+1 0 16 #"drscheme:number\0"
+3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0"
+1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0"
+1 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0"
+0 0 19 #"drscheme:sexp-snip\0"
+0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0"
+1 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0"
+0 0 29 #"drscheme:bindings-snipclass%\0"
+1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0"
+1 0 22 #"drscheme:lambda-snip%\0"
+1 0 56
+#"(lib \"hrule-snip.ss\" \"macro-debugger\" \"syntax-browser\")\0"
+1 0 18 #"java-comment-box%\0"
+1 0 23 #"java-interactions-box%\0"
+1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0"
+1 0 26 #"drscheme:pict-value-snip%\0"
+0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0"
+2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0"
+1 0 18 #"drscheme:xml-snip\0"
+1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0"
+1 0 21 #"drscheme:scheme-snip\0"
+2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0"
+1 0 10 #"text-box%\0"
+1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0"
+1 0 15 #"test-case-box%\0"
+2 0 1 6 #"wxloc\0"
+          0 0 72 0 1 #"\0"
+0 75 1 #"\0"
+0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9
+#"Standard\0"
+0 75 11 #" Monospace\0"
+0 16 90 -1 90 -1 2 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24
+#"framework:default-color\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15
+#"text:ports out\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 15 #"text:ports err\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17
+#"text:ports value\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 27 #"Matching Parenthesis Style\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37
+#"framework:syntax-color:scheme:symbol\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38
+#"framework:syntax-color:scheme:keyword\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+38 #"framework:syntax-color:scheme:comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37
+#"framework:syntax-color:scheme:string\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39
+#"framework:syntax-color:scheme:constant\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42
+#"framework:syntax-color:scheme:parenthesis\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36
+#"framework:syntax-color:scheme:error\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36
+#"framework:syntax-color:scheme:other\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2
+38 #"drscheme:check-syntax:lexically-bound\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 31
+#"drscheme:check-syntax:imported\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 41
+#"profj:syntax-colors:scheme:block-comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+35 #"profj:syntax-colors:scheme:keyword\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 37
+#"profj:syntax-colors:scheme:prim-type\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 38
+#"profj:syntax-colors:scheme:identifier\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 34
+#"profj:syntax-colors:scheme:string\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:literal\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+33 #"profj:syntax-colors:scheme:error\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:default\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 37
+#"profj:syntax-colors:scheme:uncovered\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:covered\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 4 1
+#"\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 4 #"XML\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 8 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 8 24
+#"drscheme:text:ports err\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 22 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 22 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+22 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+15 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+14 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+20 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+          0 3271 0 4 3 85
+(
+ #";; The first three lines of this file were inserted by DrScheme. The"
+ #"y record metadata"
+) 0 0 4 29 1 #"\n"
+0 0 4 3 85
+(
+ #";; about the language level of this file in a form that our tools ca"
+ #"n easily process."
+) 0 0 4 29 1 #"\n"
+0 0 4 3 382
+(
+ #"#reader(lib \"htdp-advanced-reader.ss\" \"lang\")((modname |#32.3|) "
+ #"(read-case-sensitive #t) (teachpacks ((lib \"draw.ss\" \"teachpack\""
+ #" \"htdp\") (lib \"arrow.ss\" \"teachpack\" \"htdp\") (lib \"gui.ss\""
+ #" \"teachpack\" \"htdp\"))) (htdp-settings #(#t constructor repeating"
+ #"-decimal #t #t none #f ((lib \"draw.ss\" \"teachpack\" \"htdp\") (li"
+ #"b \"arrow.ss\" \"teachpack\" \"htdp\") (lib \"gui.ss\" \"teachpack\""
+ #" \"htdp\")))))"
+) 0 0 4 29 1 #"\n"
+0 0 17 3 37 #";jump : board posn -> (listof boards)"
+0 0 4 29 1 #"\n"
+0 0 17 3 25 #";Given aboard and aposn, "
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 4 3 1 #" "
+0 0 14 3 9 #"trueboard"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 24 #"                        "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 24 #"                        "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 24 #"                        "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 24 #"                        "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 24 #"                        "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 24 #"                        "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 24 #"                        "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 32 #"                                "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 4 #"))))"
+0 0 4 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 4 3 1 #" "
+0 0 14 3 10 #"falseboard"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 4 #"))))"
+0 0 4 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 4 3 1 #" "
+0 0 14 3 10 #"trueboard2"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 4 #"))))"
+0 0 4 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 4 3 1 #" "
+0 0 14 3 10 #"trueboard3"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 4 #"))))"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 4 3 1 #" "
+0 0 14 3 10 #"trueboard4"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 25 #"                         "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 33 #"                                 "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 4 #"))))"
+0 0 4 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 4 3 1 #" "
+0 0 14 3 11 #"falseboard2"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 26 #"                          "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 26 #"                          "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 26 #"                          "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 4 #"))))"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 4 3 1 #" "
+0 0 14 3 11 #"falseboard3"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"list"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 26 #"                          "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 26 #"                          "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 2 #"))"
+0 0 4 29 1 #"\n"
+0 0 4 3 26 #"                          "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 34 #"                                  "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"vector"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 4 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 4 #"))))"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 6 #"andmap"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"lambda"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"b"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"enabled?"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"make-posn"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"3"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"5"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"b"
+0 0 22 3 2 #"))"
+0 0 4 3 1 #" "
+0 0 14 3 9 #"trueboard"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 6 #"andmap"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"lambda"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"b"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"not"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"enabled?"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"make-posn"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"3"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"5"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"b"
+0 0 22 3 3 #")))"
+0 0 4 3 1 #" "
+0 0 14 3 10 #"falseboard"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 6 #"andmap"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"lambda"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"b"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"enabled?"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"make-posn"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"7"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"7"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"b"
+0 0 22 3 2 #"))"
+0 0 4 3 1 #" "
+0 0 14 3 10 #"trueboard2"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 6 #"andmap"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"lambda"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"b"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"enabled?"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"make-posn"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"b"
+0 0 22 3 2 #"))"
+0 0 4 3 1 #" "
+0 0 14 3 10 #"trueboard3"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 6 #"andmap"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"lambda"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"b"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"enabled?"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"make-posn"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"7"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"b"
+0 0 22 3 2 #"))"
+0 0 4 3 1 #" "
+0 0 14 3 10 #"trueboard4"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 6 #"andmap"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"lambda"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"b"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"not"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"enabled?"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"make-posn"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"7"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"7"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"b"
+0 0 22 3 3 #")))"
+0 0 4 3 1 #" "
+0 0 14 3 11 #"falseboard2"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 6 #"andmap"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 6 #"lambda"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"b"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 3 #"not"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"enabled?"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"make-posn"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"7"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"b"
+0 0 22 3 3 #")))"
+0 0 4 3 1 #" "
+0 0 14 3 11 #"falseboard3"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0           0
blob - /dev/null
blob + b4f86c82d595a3321afcdfcecf9fb17d543fdd59 (mode 644)
--- /dev/null
+++ #33.2.1#2#
@@ -0,0 +1,451 @@
+#reader(lib"read.ss""wxme")WXME0108 ## 
+#|
+   This file is in plt scheme editor format.
+   Open this file in dr-scheme version 4.2 or later to read it.
+
+   Most likely, it was created by saving a program in DrScheme,
+   and it probably contains a program with non-text elements
+   (such as images or comment boxes).
+
+            http://www.plt-scheme.org
+|#
+ 29 7 #"wxtext\0"
+3 1 6 #"wxtab\0"
+1 1 8 #"wxmedia\0"
+4 1 8 #"wximage\0"
+2 0 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0"
+1 0 16 #"drscheme:number\0"
+3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0"
+1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0"
+1 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0"
+0 0 19 #"drscheme:sexp-snip\0"
+0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0"
+1 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0"
+0 0 29 #"drscheme:bindings-snipclass%\0"
+1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0"
+1 0 22 #"drscheme:lambda-snip%\0"
+1 0 56
+#"(lib \"hrule-snip.ss\" \"macro-debugger\" \"syntax-browser\")\0"
+1 0 18 #"java-comment-box%\0"
+1 0 23 #"java-interactions-box%\0"
+1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0"
+1 0 26 #"drscheme:pict-value-snip%\0"
+0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0"
+2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0"
+1 0 18 #"drscheme:xml-snip\0"
+1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0"
+1 0 21 #"drscheme:scheme-snip\0"
+2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0"
+1 0 10 #"text-box%\0"
+1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0"
+1 0 15 #"test-case-box%\0"
+2 0 1 6 #"wxloc\0"
+          0 0 77 0 1 #"\0"
+0 75 1 #"\0"
+0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9
+#"Standard\0"
+0 75 11 #" Monospace\0"
+0 16 90 -1 90 -1 2 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24
+#"framework:default-color\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15
+#"text:ports out\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 15 #"text:ports err\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17
+#"text:ports value\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 27 #"Matching Parenthesis Style\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37
+#"framework:syntax-color:scheme:symbol\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38
+#"framework:syntax-color:scheme:keyword\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+38 #"framework:syntax-color:scheme:comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37
+#"framework:syntax-color:scheme:string\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39
+#"framework:syntax-color:scheme:constant\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42
+#"framework:syntax-color:scheme:parenthesis\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36
+#"framework:syntax-color:scheme:error\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36
+#"framework:syntax-color:scheme:other\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2
+38 #"drscheme:check-syntax:lexically-bound\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 31
+#"drscheme:check-syntax:imported\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 41
+#"profj:syntax-colors:scheme:block-comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+35 #"profj:syntax-colors:scheme:keyword\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 37
+#"profj:syntax-colors:scheme:prim-type\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 38
+#"profj:syntax-colors:scheme:identifier\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 34
+#"profj:syntax-colors:scheme:string\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:literal\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:comment\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
+33 #"profj:syntax-colors:scheme:error\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:default\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 37
+#"profj:syntax-colors:scheme:uncovered\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 35
+#"profj:syntax-colors:scheme:covered\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 4 1
+#"\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 4 #"XML\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 8 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 8 24
+#"drscheme:text:ports err\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 22 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 22 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 22 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+15 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+14 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+20 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+17 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+24 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+19 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 19 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 19 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 255 255 0 -1 -1
+          0 159 0 4 3 85
+(
+ #";; The first three lines of this file were inserted by DrScheme. The"
+ #"y record metadata"
+) 0 0 4 29 1 #"\n"
+0 0 4 3 85
+(
+ #";; about the language level of this file in a form that our tools ca"
+ #"n easily process."
+) 0 0 4 29 1 #"\n"
+0 0 4 3 382
+(
+ #"#reader(lib \"htdp-advanced-reader.ss\" \"lang\")((modname |#33.2|) "
+ #"(read-case-sensitive #t) (teachpacks ((lib \"draw.ss\" \"teachpack\""
+ #" \"htdp\") (lib \"arrow.ss\" \"teachpack\" \"htdp\") (lib \"gui.ss\""
+ #" \"teachpack\" \"htdp\"))) (htdp-settings #(#t constructor repeating"
+ #"-decimal #t #t none #f ((lib \"draw.ss\" \"teachpack\" \"htdp\") (li"
+ #"b \"arrow.ss\" \"teachpack\" \"htdp\") (lib \"gui.ss\" \"teachpack\""
+ #" \"htdp\")))))"
+) 0 0 4 29 1 #"\n"
+0 0 17 3 12 #";overflow-n?"
+0 0 17 3 1 #" "
+0 0 17 3 1 #":"
+0 0 17 3 7 #" N -> N"
+0 0 68 29 1 #"\n"
+0 0 17 3 10 #";Searches "
+0 0 17 3 4 #"for "
+0 0 17 3 2 #"a "
+0 0 17 3 6 #"value "
+0 0 17 11 69
+(
+ #"from [n,+inf.0) such that the number returned is the largest natural"
+ #" "
+) 0 0 17 3 7 #"number "
+0 0 17 3 6 #"where "
+0 0 17 3 6 #"(expt "
+0 0 17 3 6 #"#i10. "
+0 0 17 3 51 #"n) is still an inexact number rather than infinity."
+0 0 68 29 1 #"\n"
+0 0 68 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 68 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"overflow-n?"
+0 0 68 3 1 #" "
+0 0 14 3 1 #"n"
+0 0 22 3 1 #")"
+0 0 68 29 1 #"\n"
+0 0 68 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 68 29 1 #"\n"
+0 0 68 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #"<"
+0 0 68 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"expt"
+0 0 68 3 1 #" "
+0 0 20 3 5 #"#i10."
+0 0 68 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"+"
+0 0 68 3 1 #" "
+0 0 14 3 1 #"n"
+0 0 68 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 22 3 2 #"))"
+0 0 68 3 1 #" "
+0 0 20 3 6 #"+inf.0"
+0 0 22 3 1 #")"
+0 0 68 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"overflow-n?"
+0 0 68 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"add1"
+0 0 68 3 1 #" "
+0 0 14 3 1 #"n"
+0 0 22 3 3 #"))]"
+0 0 68 29 1 #"\n"
+0 0 68 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 68 3 1 #" "
+0 0 14 3 1 #"n"
+0 0 22 3 3 #"]))"
+0 0 68 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 11 #"overflow-n?"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0 0 17 3 13 #";underflow-n?"
+0 0 17 3 1 #" "
+0 0 17 3 1 #":"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"integer"
+0 0 17 3 1 #" "
+0 0 17 3 2 #"->"
+0 0 17 3 8 #" integer"
+0 0 4 29 1 #"\n"
+0 0 17 3 9 #";Searches"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"for"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"a"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"value"
+0 0 17 3 5 #" from"
+0 0 17 3 1 #" "
+0 0 17 3 1 #"("
+0 0 17 3 6 #"-inf.0"
+0 0 17 11 58
+#",n] such that the number returned is the smallest integer "
+0 0 17 3 72
+(
+ #"possible where (expt #i10. n) is still an inexact number rather than"
+ #" #i0"
+) 0 0 4 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"underflow-n?"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"n"
+0 0 22 3 1 #")"
+0 0 4 29 1 #"\n"
+0 0 4 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 4 29 1 #"\n"
+0 0 4 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #">"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"expt"
+0 0 4 3 1 #" "
+0 0 20 3 5 #"#i10."
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"-"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"n"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 22 3 2 #"))"
+0 0 4 3 1 #" "
+0 0 20 3 3 #"#i0"
+0 0 22 3 1 #")"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"underflow-n?"
+0 0 4 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"sub1"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"n"
+0 0 22 3 3 #"))]"
+0 0 4 29 1 #"\n"
+0 0 4 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 4 3 1 #" "
+0 0 14 3 1 #"n"
+0 0 22 3 3 #"]))"
+0 0 4 29 1 #"\n"
+0 0 4 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 14 3 12 #"underflow-n?"
+0 0 4 3 1 #" "
+0 0 20 3 1 #"0"
+0 0 22 3 1 #")"
+0           0
blob - /dev/null
blob + 9b22d8d250231d62f33b40a66e12989f28150a7c (mode 644)
--- /dev/null
+++ 10.1.1.bak
@@ -0,0 +1,27 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 10.1.1) (read-case-sensitive #t) (teachpacks ((lib "convert.ss" "teachpack" "htdp") (lib "guess.ss" "teachpack" "htdp") (lib "master.ss" "teachpack" "htdp") (lib "draw.ss" "teachpack" "htdp") (lib "hangman.ss" "teachpack" "htdp"))) (htdp-settings #8(#t constructor repeating-decimal #f #t none #f ((lib "convert.ss" "teachpack" "htdp") (lib "guess.ss" "teachpack" "htdp") (lib "master.ss" "teachpack" "htdp") (lib "draw.ss" "teachpack" "htdp") (lib "hangman.ss" "teachpack" "htdp")))))

+(define PAYPERHOUR 12)

+

+Data Definition

+A list-of-numbers is either

+1. an empty list or

+2. (cons n lon) where n is a number and lon is a list-of-numbers.

+

+Contract, Purpose, Header

+wage : number -> number

+Computes the wage given hours.

+

+(define (wage hours)

+  (* PAYPERHOUR hours))

+

+Contract, Purpose, Header

+hours->wages : list-of-numbers -> list-of-numbers

+Computes the wages (list-of-numbers) from alon.

+

+Template

+

+(define (hours->wages alon)

+  (cond

+    [(empty?) ...]

+    [else ... (first alon) (rest alon) ...]))
\ No newline at end of file
blob - /dev/null
blob + a7b4c440b42e8cb029a4bda61e3c383ab8d2056b (mode 644)
--- /dev/null
+++ 10.1.1.scm
@@ -0,0 +1,191 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 10.1.1) (read-case-sensitive #t) (teachpacks ((lib "convert.ss" "teachpack" "htdp") (lib "guess.ss" "teachpack" "htdp") (lib "master.ss" "teachpack" "htdp") (lib "draw.ss" "teachpack" "htdp") (lib "hangman.ss" "teachpack" "htdp") (lib "sound.ss" "installed-teachpacks"))) (htdp-settings #8(#t constructor repeating-decimal #f #t none #f ((lib "convert.ss" "teachpack" "htdp") (lib "guess.ss" "teachpack" "htdp") (lib "master.ss" "teachpack" "htdp") (lib "draw.ss" "teachpack" "htdp") (lib "hangman.ss" "teachpack" "htdp") (lib "sound.ss" "installed-teachpacks")))))

+(define PAYPERHOUR 14)

+;

+;Data Definition

+;A list-of-numbers is either

+;1. an empty list or

+;2. (cons n lon) where n is a number and lon is a list-of-numbers.

+;

+;Contract, Purpose, Header

+;wage : number -> number

+;Computes the wage given hours.

+

+(define (wage hours)

+  (* PAYPERHOUR hours))

+;

+;Contract, Purpose, Header

+;hours->wages : list-of-numbers -> list-of-numbers

+;Computes the wages (list-of-numbers) from alon.

+;

+;Template

+

+(define (hours->wages alon)

+  (cond

+    [(empty? alon) empty]

+    [(> (first alon) 100) (error 'hours->wages "too many hours")]

+    [else (cons (wage (first alon)) (hours->wages (rest alon)))]))

+

+(define list1 (cons 5 (cons 8 (cons 12 (cons 9 (cons 200 empty))))))

+

+;Contract, Purpose, Header

+;fahrenheit->celsius : number -> number

+

+(define (fahrenheit->celsius fahr)

+  (* 5/9 (- fahr 32)))

+

+;Contract, Purpose, Header

+;convertFC : list-of-numbers -> list-of-numbers

+;Converts alon (in Fahrenheit) to Celsius.

+

+(define (convertFC alon)

+  (cond

+    [(empty? alon) empty]

+    [else (cons (fahrenheit->celsius (first alon)) (convertFC (rest alon)))]))

+

+;Contract, Purpose, Header

+;usd->euro : number -> number

+;Converts usd to euros.

+

+(define (usd->euro usd)

+  (* usd EXCHRATE))

+

+(define EXCHRATE 1.22)

+

+;Contract, Purpose, Header

+;convert-euro-1 : list-of-numbers -> list-of-numbers

+;Converts alon (a list-of-numbers in US dollars) to euros.

+

+(define (convert-euro-1 alon)

+  (cond

+    [(empty? alon) empty]

+    [else (cons (usd->euro (first alon)) (convert-euro-1 (rest alon)))]))

+

+;Contract, Purpose, Header

+;eliminate-exp : list-of-numbers number -> list-of-numbers

+;Eliminates all toys within lotp that exceed the price of ua and returns

+;the remaining list.

+;

+;Template

+;

+;(define (eliminate-exp lotp ua)

+;  (cond

+;    [(empty? lotp) empty]

+;    [(> (first lotp) ua) ... (first lotp) (eliminate-exp (rest lotp)) ...]

+;    [else (first lotp) (eliminate-exp (rest lotp))...]))

+

+(define (eliminate-exp lotp ua)

+  (cond

+    [(empty? lotp) empty]

+    [(> (first lotp) ua) (eliminate-exp (rest lotp) ua)]

+    [(<= (first lotp) ua) (cons (first lotp) (eliminate-exp (rest lotp) ua))]))

+

+(define list2 (cons 4.5 (cons 4.6 (cons 4.7 (cons 4.9 (cons 5.2 (cons 3.8 (cons 2.9 (cons 3.4 (cons 6.1 empty))))))))))

+;

+;Data Definition

+;

+;A list-of-symbols is either

+;1. an empty list or

+;2. (cons s los) where s is a symbol and los is a list-of-symbols.

+;

+;Contract, Purpose, Header

+;substitute : symbol symbol list-of-symbols -> list-of-symbols

+;Replace old with new (numbers) in alos (list-of-symbols).

+;

+;Template

+(define (substitute new old alos)

+  (cond

+    [(empty? alos) empty]

+    [(symbol=? (first alos) old) (cons new (substitute new old (rest alos)))]

+    [else (cons (first alos) (substitute new old (rest alos)))]))

+;

+;Contract, Purpose, Header

+;recall : symbol list-of-symbols -> list-of-symbols

+;Removes ty from lon (list of names, data type: list-of-symbols).

+

+(define (recall ty lon)

+  (cond

+    [(empty? lon) empty]

+    [(symbol=? (first lon) ty) (recall ty (rest lon)) ]

+    [else (cons (first lon) (recall ty (rest lon)))]))

+

+(define list3 (cons 'firetruck (cons 'playstation (cons 'xbox (cons 'racecar (cons 'doll (cons 'bicycle empty)))))))

+

+;; how-many : number number number -> number

+;; Determines how many solutions a given quadratic equation has given

+;; coefficients a, b, and c.

+

+(define (how-many a b c)

+  (cond

+    [(= a 0) 'degenerate]

+    [(> (sqr b) (* 4 a c)) 2]

+    [(= (sqr b) (* 4 a c)) 1]

+    [(< (sqr b) (* 4 a c)) 0]))

+;

+;Contract, Purpose, Header

+;quadratic-roots : number number number -> Scheme-value

+;Given a, b, and c (numbers), it returns either a symbol ('none), a number (if there is one root to the eqn), or a list of 2 numbers by calling on two-roots (if there are two solutions).

+

+(define (quadratic-roots a b c)

+  (cond

+    [(= (how-many a b c) 0) 'none]

+    [(= (how-many a b c) 1) (/ b -2 a)]

+    [(= (how-many a b c) 2) (two-roots a b c)]))

+

+;two-roots : number number number -> list-of-numbers

+;Given a, b, and c, computes the two roots of the

+;quadratic equation and returns the 2 roots

+;as a list-of-numbers.

+

+(define (two-roots a b c)

+  (cons (/

+         (+ (* -1 b)

+            (sqrt (- (sqr b)

+                     (* 4 a c))))

+         2 a)

+        (cons (/

+               (- (* -1 b)

+                  (sqrt (- (sqr b)

+                           (* 4 a c))))

+               2 a) empty)))

+;

+;Data Definition

+;A mixed-list is either

+;1. an empty list or

+;2. (cons mixed list) where mixed is either a symbol or a number

+;   and list is a mixed-list.

+;

+;Contract, Purpose, Header

+;controller : number -> mixed-list

+;Controller takes in cents and returns a list with the following elements:

+;1. the dollar amount (number),

+;2. 'dollar or 'dollars,

+;3. 'and,

+;4. the cent amount (number),

+;5. 'cent or 'cents.

+;

+;Whether singular or plural is used for elements 2 and 5 is

+;determined using plural?.

+;

+;Template

+(define (controller cents)

+  (cons (quotient cents 100)

+        (cons (cond

+                [(plural? (quotient cents 100)) 'dollars]

+                [else 'dollar])

+              (cons 'and

+                   (cons (remainder cents 100)

+                         (cons (cond

+                                 [(plural? (remainder cents 100)) 'cents]

+                                 [else 'cent]) empty))))))

+

+;Contract, Purpose, Header

+;plural? : number -> boolean

+;Determines if a number needs to be considered plural

+;for grammar purposes.

+

+(define (plural? num)

+  (cond

+    [(= num 1) false]

+    [(not (= num 1)) true]))
\ No newline at end of file
blob - /dev/null
blob + ce9c4c8d1b2a1b9e72b1aec18c96fc007de0c7ef (mode 644)
--- /dev/null
+++ 10.2.1.bak
@@ -0,0 +1,191 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 10.2.1) (read-case-sensitive #t) (teachpacks ()) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ())))

+(define PAYPERHOUR 14)

+;

+;Data Definition

+;A list-of-numbers is either

+;1. an empty list or

+;2. (cons n lon) where n is a number and lon is a list-of-numbers.

+;

+;Contract, Purpose, Header

+;wage : number -> number

+;Computes the wage given hours.

+

+(define (wage hours)

+  (* PAYPERHOUR hours))

+;

+;Contract, Purpose, Header

+;hours->wages : list-of-numbers -> list-of-numbers

+;Computes the wages (list-of-numbers) from alon.

+;

+;Template

+

+(define (hours->wages alon)

+  (cond

+    [(empty? alon) empty]

+    [(> (first alon) 100) (error 'hours->wages "too many hours")]

+    [else (cons (wage (first alon)) (hours->wages (rest alon)))]))

+

+(define list1 (cons 5 (cons 8 (cons 12 (cons 9 (cons 200 empty))))))

+

+;Contract, Purpose, Header

+;fahrenheit->celsius : number -> number

+

+(define (fahrenheit->celsius fahr)

+  (* 5/9 (- fahr 32)))

+

+;Contract, Purpose, Header

+;convertFC : list-of-numbers -> list-of-numbers

+;Converts alon (in Fahrenheit) to Celsius.

+

+(define (convertFC alon)

+  (cond

+    [(empty? alon) empty]

+    [else (cons (fahrenheit->celsius (first alon)) (convertFC (rest alon)))]))

+

+;Contract, Purpose, Header

+;usd->euro : number -> number

+;Converts usd to euros.

+

+(define (usd->euro usd)

+  (* usd EXCHRATE))

+

+(define EXCHRATE 1.22)

+

+;Contract, Purpose, Header

+;convert-euro-1 : list-of-numbers -> list-of-numbers

+;Converts alon (a list-of-numbers in US dollars) to euros.

+

+(define (convert-euro-1 alon)

+  (cond

+    [(empty? alon) empty]

+    [else (cons (usd->euro (first alon)) (convert-euro-1 (rest alon)))]))

+

+;Contract, Purpose, Header

+;eliminate-exp : list-of-numbers number -> list-of-numbers

+;Eliminates all toys within lotp that exceed the price of ua and returns

+;the remaining list.

+;

+;Template

+;

+;(define (eliminate-exp lotp ua)

+;  (cond

+;    [(empty? lotp) empty]

+;    [(> (first lotp) ua) ... (first lotp) (eliminate-exp (rest lotp)) ...]

+;    [else (first lotp) (eliminate-exp (rest lotp))...]))

+

+(define (eliminate-exp lotp ua)

+  (cond

+    [(empty? lotp) empty]

+    [(> (first lotp) ua) (eliminate-exp (rest lotp) ua)]

+    [(<= (first lotp) ua) (cons (first lotp) (eliminate-exp (rest lotp) ua))]))

+

+(define list2 (cons 4.5 (cons 4.6 (cons 4.7 (cons 4.9 (cons 5.2 (cons 3.8 (cons 2.9 (cons 3.4 (cons 6.1 empty))))))))))

+;

+;Data Definition

+;

+;A list-of-symbols is either

+;1. an empty list or

+;2. (cons s los) where s is a symbol and los is a list-of-symbols.

+;

+;Contract, Purpose, Header

+;substitute : symbol symbol list-of-symbols -> list-of-symbols

+;Replace old with new (numbers) in alos (list-of-symbols).

+;

+;Template

+(define (substitute new old alos)

+  (cond

+    [(empty? alos) empty]

+    [(symbol=? (first alos) old) (cons new (substitute new old (rest alos)))]

+    [else (cons (first alos) (substitute new old (rest alos)))]))

+;

+;Contract, Purpose, Header

+;recall : symbol list-of-symbols -> list-of-symbols

+;Removes ty from lon (list of names, data type: list-of-symbols).

+

+(define (recall ty lon)

+  (cond

+    [(empty? lon) empty]

+    [(symbol=? (first lon) ty) (recall ty (rest lon)) ]

+    [else (cons (first lon) (recall ty (rest lon)))]))

+

+(define list3 (cons 'firetruck (cons 'playstation (cons 'xbox (cons 'racecar (cons 'doll (cons 'bicycle empty)))))))

+

+;; how-many : number number number -> number

+;; Determines how many solutions a given quadratic equation has given

+;; coefficients a, b, and c.

+

+(define (how-many a b c)

+  (cond

+    [(= a 0) 'degenerate]

+    [(> (sqr b) (* 4 a c)) 2]

+    [(= (sqr b) (* 4 a c)) 1]

+    [(< (sqr b) (* 4 a c)) 0]))

+;

+;Contract, Purpose, Header

+;quadratic-roots : number number number -> Scheme-value

+;Given a, b, and c (numbers), it returns either a symbol ('none), a number (if there is one root to the eqn), or a list of 2 numbers by calling on two-roots (if there are two solutions).

+

+(define (quadratic-roots a b c)

+  (cond

+    [(= (how-many a b c) 0) 'none]

+    [(= (how-many a b c) 1) (/ b -2 a)]

+    [(= (how-many a b c) 2) (two-roots a b c)]))

+

+;two-roots : number number number -> list-of-numbers

+;Given a, b, and c, computes the two roots of the

+;quadratic equation and returns the 2 roots

+;as a list-of-numbers.

+

+(define (two-roots a b c)

+  (cons (/

+         (+ (* -1 b)

+            (sqrt (- (sqr b)

+                     (* 4 a c))))

+         2 a)

+        (cons (/

+               (- (* -1 b)

+                  (sqrt (- (sqr b)

+                           (* 4 a c))))

+               2 a) empty)))

+;

+;Data Definition

+;A mixed-list is either

+;1. an empty list or

+;2. (cons mixed list) where mixed is either a symbol or a number

+;   and list is a mixed-list.

+;

+;Contract, Purpose, Header

+;controller : number -> mixed-list

+;Controller takes in cents and returns a list with the following elements:

+;1. the dollar amount (number),

+;2. 'dollar or 'dollars,

+;3. 'and,

+;4. the cent amount (number),

+;5. 'cent or 'cents.

+;

+;Whether singular or plural is used for elements 2 and 5 is

+;determined using plural?.

+;

+;Template

+(define (controller cents)

+  (cons (quotient cents 100)

+        (cons (cond

+                [(plural? (quotient cents 100)) 'dollars]

+                [else 'dollar])

+              (cons 'and

+                   (cons (remainder cents 100)

+                         (cons (cond

+                                 [(plural? (remainder cents 100)) 'cents]

+                                 [else 'cent]) empty))))))

+

+;Contract, Purpose, Header

+;plural? : number -> boolean

+;Determines if a number needs to be considered plural

+;for grammar purposes.

+

+(define (plural? num)

+  (cond

+    [(= num 1) false]

+    [(not (= num 1)) true]))

blob - /dev/null
blob + f9519f32a6da005b92ea9f579ba33e1e0690b2ed (mode 644)
--- /dev/null
+++ 10.2.1.ss
@@ -0,0 +1,50 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 10.2.1) (read-case-sensitive #t) (teachpacks ()) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ())))

+;Data Definition

+;An ir (inventory record) is a structure

+;(make-ir s n) where s is a symbol and n is a number.

+

+(define-struct ir (name price))

+

+;Data definition

+;An inventory is either

+;1. an empty list or

+;2. (cons ir inv) where ir is an inventory record (structure)

+;and inv is an inventory.

+         

+;Contract, Purpose, Header

+;contains-doll? : inventory -> boolean

+;Takes in an-inv (inventory) and searches to see if

+;it contains 'doll.  Return true or false.

+;

+;Template

+;

+;(define (contains-doll? an-inv)

+;  (cond

+;    [() ...]

+;    [() (first an-inv) (contains-doll? (rest an-inv))]))

+

+(define (contains-doll? an-inv)

+  (cond

+    [(empty? an-inv) false]

+    [(symbol=? (ir-name (first an-inv)) 'doll) true]

+    [else (contains-doll? (rest an-inv))]))

+

+(define list1 (cons (make-ir 'hat 55)

+                    (cons (make-ir 'match 25)

+                          (cons (make-ir 'tricycle 1840)

+                                (cons (make-ir 'jumprope 400)

+                                      (cons (make-ir 'doll 150) empty))))))

+

+;Contract, Purpose, Header

+;contains? : inventory symbol -> boolean

+;Takes in an-inv (inventory) and searches to see if

+;it contains keyword.  Return true or false.

+

+(define (contains? an-inv keyword)

+  (cond

+    [(empty? an-inv) false]

+    [(symbol=? (ir-name (first an-inv)) keyword) true]

+    [else (contains? (rest an-inv) keyword)]))

+

blob - /dev/null
blob + 2f034e804f2301d968cae84cd6b4863d164dba09 (mode 644)
--- /dev/null
+++ 10.2.2.bak
@@ -0,0 +1,49 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 10.2.2) (read-case-sensitive #t) (teachpacks ()) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ())))

+;Data Definition

+;An ir (inventory record) is a structure

+;(make-ir s n) where s is a symbol and n is a number.

+

+(define-struct ir (name price))

+

+;Data definition

+;An inventory is either

+;1. an empty list or

+;2. (cons ir inv) where ir is an inventory record (structure)

+;and inv is an inventory.

+         

+;Contract, Purpose, Header

+;contains-doll? : inventory -> boolean

+;Takes in an-inv (inventory) and searches to see if

+;it contains 'doll.  Return true or false.

+;

+;Template

+;

+;(define (contains-doll? an-inv)

+;  (cond

+;    [() ...]

+;    [() (first an-inv) (contains-doll? (rest an-inv))]))

+

+(define (contains-doll? an-inv)

+  (cond

+    [(empty? an-inv) false]

+    [(symbol=? (ir-name (first an-inv)) 'doll) true]

+    [else (contains-doll? (rest an-inv))]))

+

+(define list1 (cons (make-ir 'hat 55)

+                    (cons (make-ir 'match 25)

+                          (cons (make-ir 'tricycle 1840)

+                                (cons (make-ir 'jumprope 400)

+                                      (cons (make-ir 'doll 150) empty))))))

+

+;Contract, Purpose, Header

+;contains? : inventory symbol -> boolean

+;Takes in an-inv (inventory) and searches to see if

+;it contains keyword.  Return true or false.

+

+(define (contains? an-inv keyword)

+  (cond

+    [(empty? an-inv) false]

+    [(symbol=? (ir-name (first an-inv)) keyword) true]

+    [else (contains? (rest an-inv) keyword)]))
\ No newline at end of file
blob - /dev/null
blob + 130a4d981a887dd2d7084fe658a2541773eea5f7 (mode 644)
--- /dev/null
+++ 10.2.2.ss
@@ -0,0 +1,1757 @@
+#reader(lib"read.ss""wxme")WXME0108 ## 
+#|
+   This file is in plt scheme editor format.
+   Open this file in dr-scheme version 4.2 or later to read it.
+
+   Most likely, it was created by saving a program in DrScheme,
+   and it probably contains a program with non-text elements
+   (such as images or comment boxes).
+
+            http://www.plt-scheme.org
+|#
+ 29 7 #"wxtext\0"
+3 1 6 #"wxtab\0"
+1 1 8 #"wxmedia\0"
+4 1 8 #"wximage\0"
+2 0 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0"
+1 0 16 #"drscheme:number\0"
+3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0"
+1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0"
+1 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0"
+0 0 19 #"drscheme:sexp-snip\0"
+0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0"
+1 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0"
+0 0 29 #"drscheme:bindings-snipclass%\0"
+1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0"
+1 0 22 #"drscheme:lambda-snip%\0"
+1 0 56
+#"(lib \"hrule-snip.ss\" \"macro-debugger\" \"syntax-browser\")\0"
+1 0 18 #"java-comment-box%\0"
+1 0 23 #"java-interactions-box%\0"
+1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0"
+1 0 26 #"drscheme:pict-value-snip%\0"
+0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0"
+2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0"
+1 0 18 #"drscheme:xml-snip\0"
+1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0"
+1 0 21 #"drscheme:scheme-snip\0"
+2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0"
+1 0 10 #"text-box%\0"
+1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0"
+1 0 15 #"test-case-box%\0"
+2 0 1 6 #"wxloc\0"
+          0 0 73 0 1 #"\0"
+0 75 1 #"\0"
+0 10 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9
+#"Standard\0"
+0 75 12 #"Courier New\0"
+0 18 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24
+#"framework:default-color\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15
+#"text:ports out\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 150 0 150 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 15 #"text:ports err\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0
+0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17
+#"text:ports value\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 175 0 0
+0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 27 #"Matching Parenthesis Style\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 38 38 128 0
+0 0 -1 -1 2 37 #"framework:syntax-color:scheme:symbol\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 38 38 128 0
+0 0 -1 -1 2 38 #"framework:syntax-color:scheme:keyword\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 38 38 128 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 194 116 31 0
+0 0 -1 -1 2 38 #"framework:syntax-color:scheme:comment\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 194 116 31 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 41 128 38 0
+0 0 -1 -1 2 37 #"framework:syntax-color:scheme:string\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 41 128 38 0
+0 0 -1 -1 2 39 #"framework:syntax-color:scheme:constant\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 41 128 38 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 132 60 36 0
+0 0 -1 -1 2 42 #"framework:syntax-color:scheme:parenthesis\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 132 60 36 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0
+0 -1 -1 2 36 #"framework:syntax-color:scheme:error\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0
+0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 36 #"framework:syntax-color:scheme:other\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 81 112 203 0
+0 0 -1 -1 2 38 #"drscheme:check-syntax:lexically-bound\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 81 112 203 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 68 0 203 0 0
+0 -1 -1 2 31 #"drscheme:check-syntax:imported\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 68 0 203 0 0
+0 -1 -1 2 41 #"profj:syntax-colors:scheme:block-comment\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 194 116 31 0
+0 0 -1 -1 2 35 #"profj:syntax-colors:scheme:keyword\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0
+0 0 -1 -1 2 37 #"profj:syntax-colors:scheme:prim-type\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0
+0 0 -1 -1 2 38 #"profj:syntax-colors:scheme:identifier\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 38 38 128 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 34 139 34 0
+0 0 -1 -1 2 34 #"profj:syntax-colors:scheme:string\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 34 139 34 0
+0 0 -1 -1 2 35 #"profj:syntax-colors:scheme:literal\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 34 139 34 0
+0 0 -1 -1 2 35 #"profj:syntax-colors:scheme:comment\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 194 116 31 0
+0 0 -1 -1 2 33 #"profj:syntax-colors:scheme:error\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0
+0 -1 -1 2 35 #"profj:syntax-colors:scheme:default\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 37 #"profj:syntax-colors:scheme:uncovered\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 35 #"profj:syntax-colors:scheme:covered\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0
+0 0 -1 -1 4 1 #"\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 4 #"XML\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 8 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 8 24
+#"drscheme:text:ports err\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 0 1 #"\0"
+0 75 12 #"Courier New\0"
+0.0 18 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255
+255 255 1 -1 22 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 22 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+17 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+22 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+15 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+14 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+20 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+17 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1
+          0 1156 0 4 3 85
+(
+ #";; The first three lines of this file were inserted by DrScheme. The"
+ #"y record metadata"
+) 0 0 4 29 1 #"\n"
+0 0 4 3 85
+(
+ #";; about the language level of this file in a form that our tools ca"
+ #"n easily process."
+) 0 0 4 29 1 #"\n"
+0 0 4 3 173
+(
+ #"#reader(lib \"htdp-beginner-reader.ss\" \"lang\")((modname 10.2.2) ("
+ #"read-case-sensitive #t) (teachpacks ()) (htdp-settings #(#t construc"
+ #"tor repeating-decimal #f #t none #f ())))"
+) 0 0 4 29 1 #"\n"
+0 0 17 3 16 #";Data Definition"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";An ir (inventory record) is a structure"
+0 0 66 29 1 #"\n"
+0 0 17 3 52 #";(make-ir s n i) where s is a symbol, n is a number,"
+0 0 66 29 1 #"\n"
+0 0 17 3 19 #";and i is an image."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 13 #"define-struct"
+0 0 66 3 1 #" "
+0 0 14 3 2 #"ir"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"price"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"image"
+0 0 22 3 2 #"))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 16 #";Data definition"
+0 0 66 29 1 #"\n"
+0 0 17 3 23 #";An inventory is either"
+0 0 66 29 1 #"\n"
+0 0 17 3 20 #";1. an empty list or"
+0 0 66 29 1 #"\n"
+0 0 17 3 61
+#";2. (cons ir inv) where ir is an inventory record (structure)"
+0 0 66 29 1 #"\n"
+0 0 17 3 25 #";and inv is an inventory."
+0 0 66 29 1 #"\n"
+0 0 66 3 9 #"         "
+0 0 66 29 1 #"\n"
+0 0 17 3 26 #";Contract, Purpose, Header"
+0 0 66 29 1 #"\n"
+0 0 17 3 38 #";contains-doll? : inventory -> boolean"
+0 0 66 29 1 #"\n"
+0 0 17 3 51 #";Takes in an-inv (inventory) and searches to see if"
+0 0 66 29 1 #"\n"
+0 0 17 3 42 #";it contains 'doll.  Return true or false."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 9 #";Template"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 32 #";(define (contains-doll? an-inv)"
+0 0 66 29 1 #"\n"
+0 0 17 3 8 #";  (cond"
+0 0 66 29 1 #"\n"
+0 0 17 3 13 #";    [() ...]"
+0 0 66 29 1 #"\n"
+0 0 17 3 57 #";    [() (first an-inv) (contains-doll? (rest an-inv))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 14 #"contains-doll?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 4 #"doll"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 14 #"contains-doll?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 5 #"))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 26 #";Contract, Purpose, Header"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";contains? : inventory symbol -> boolean"
+0 0 66 29 1 #"\n"
+0 0 17 3 51 #";Takes in an-inv (inventory) and searches to see if"
+0 0 66 29 1 #"\n"
+0 0 17 3 44 #";it contains keyword.  Return true or false."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"contains?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 66 3 1 #" "
+0 0 14 3 7 #"keyword"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 7 #"keyword"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"contains?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 7 #"keyword"
+0 0 22 3 4 #")]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"list1"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"make-ir"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 5 #"robot"
+0 0 66 3 1 #" "
+0 0 20 3 5 #"29.95"
+0 0 66 3 1 #" "
+0 3          23 66 1 #"\0"
+2 -1.0 -1.0 0.0 0.0 0           6 500
+(
+ #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0u\b\2\0\0\0{\340\336\305\0"
+ #"\0\n\341IDATx\234\345\\}LM\377\37\177\237n\17\267\242\334\362\34B4"
+ #"\222\321\242\31\e\252\371F3$k\306<\305\230\247YFT\2141\305D\331\210)"
+ #"\263\306jhL\211\262!\326\252MC\321\246\247\215<w\251[\327\275J\267"
+ #"\373\371\375\361\351{\234\316\303\347|\316\271'\337?~\257\277\3169"
+ #"\357\367\347\375~\235\367\375<\274?\17\347\2r\0\277~\375r\2448\306"
+ #"\346\315\233)5\301AOYYY\16Z\0\0ooo*MG\334\324\326\326\28d\341\375"
+ #"\373\367\b\241\232\232\232I\223&\311*\253\367\344\353\353\v\0[\267nU"
+ #"m\201\305\314\2313i\336\331\t\324\342\373\367\357\b\241\372\372z\325"
+ #"\26\316\236=\3130\f\3030\257^\275\242\321g\20B\252\235a\264\267\267"
+ #"\e\f\6EE\354v\273N\247\3\0E\336\325\307\225\205\301`\b\f\fTT\4\23U\n"
+ #"\r\270\2@CC\303\247O\237(\225\31\206\301\27K\227.U\346\306\361\226"
+ #"\2011o\336<JM\325\256\265\211+\0l\330\260!<<\334\323\323\223a\30\275"
+ #"^\357\343\343\23\30\30x\350\320\241\242\242\242\246\246&\236\362\344"
+ #"\311\223\221\212v\242\364\345\310\241rvv&\273suu]\276|\271J/\332r\5"
+ #"\00077\267\261c\307\32\f\6\17\17\17\2i''\247\314\314\314\277\3155??"
+ #"\37S$\253577\27\24\24\254Y\263\206\313\330f\263\321;\322\200+\0\254"
+ #"\\\271RE\301s\347\316)\252\204\332\264\255k\327\256\251(E\337\315ah"
+ #"\303\225\\5\245\360\376\375{E\372\232\365Y\\\364\366\366J\211\20\247"
+ #"!~\370\360A\221Y\r\362\1\206\351g\4\17KRf\271\312^^^f\263"
+) 500
+(
+ #"\231\236\200\366q%\373\346J\273\272\272\24%\6\3R\a(C\325\323\323\243"
+ #"\327\353\351\315\16\bWz\f\e6\214^\371?\346\32\31\31I\257\374\37sU\4"
+ #"\355\271\326\325\325\5\5\0051\2\b5E\37\22 \223\26\251@pp0\245\346"
+ #"\344\311\223\333\332\332\350-k\20Wax\"\"\"n\334\270a2\231\254V\253"
+ #"\311djll\274t\351\222\260`HH\210\262\341@E\316\301\303\335\273wU\224"
+ #"\2324i\222R\2\32pU\264R\364\366\355[^\260ZZZ\26-Zt\373\366m\331\262"
+ #"\232\315\267d\261`\301\2\a\177\341\1\344j6\233\203\202\202\350k\243"
+ #"\335n\37@\256\356\356\356\nZ\206\30\302\303\303\337\275{\207\20Z\261"
+ #"b\205lh\35\352\a\314f\263\272\202\36\36\36\a\17\36D\b=~\374\330\337"
+ #"\337\37\0\2\2\2dK)\350_\273\273\273\277~\375ZZZ\372\345\313\227\246"
+ #"\246\246\353\327\257+\342\267j\325\252\177\376\371'>>^4\267b\273\5"
+ #"\22h~\353A\203\6)\242\305\242\250\250\250\247\247\207\306\305\203\a"
+ #"\17d\311\320\326\327\254\254,.\t\235N\267q\343\306\214\214\214\262"
+ #"\2622\234/;\210\327\257_\3\200\311d\322\200kWWWww7{\233\220\220\340"
+ #"\0205\1ZZZp\24\202\203\203+**Dud\332\226\237\237\37\316<\364z\275"
+ #"\233\233\e\3030c\306\214\1\0\27\27\27u\265B\n\b!\0())\251\255\255MKK"
+ #"c\30\346\316\235;<\35I\256\376\376\376\f\303|\376\374\31_\263\357"
+ #"\372\361\343GmYbtvv\2@GG\a\3030\205\205\205mmm\a\17\36d\30&,,\214"
+ #"\325\21\357\a\330t\244\247\247Gt\211j\330\260aIIIiiiZq\345%\\\6\203"
+ #"\1\257\230s\23#\21\36\335\335\335\370\2IO\233\364z\375\233"
+) 500
+(
+ #"7o\264\241\t\0\0\337\276}\223\325\21\251\3eee 7\277\323\353\365\332V"
+ #"\6\\\331\274\275\275\t:\"\\\355v;\215\365\236\236\36u\264D\321\336"
+ #"\336\16\0\236\236\236\4\35\21\256K\226,\2215\355\345\345\245\232\226"
+ #"(\236<y\2\0\323\247O'\350\250\317\aF\215\32\245\272\254\20\270%)\256"
+ #"\0034\360\360\360P\272OD\306\217\37?duTrmmmU\272OD\206\315f\223\325"
+ #"\21_{\343-\247\t\341\345\345\365\343\307\17\rG/\251\25;.\23\225\\e"
+ #"\25\224\202\206\353\377\367\272\213\n|\377\376\235FM\204+\36B\b\320v"
+ #"\24\0\200\322\322R\0\2308q\242\214\2360M\2342e\212\350s\26\231\231"
+ #"\231d\5\245\300m4==](\342:\22q)\365\16,\206\17\37\256-W\354\261\276"
+ #"\276^T\364\347Z\252\244\250\321\23'N\20~\20\325 \30\344>\247\235\307"
+ #"\272\272\272j^Me\301\333\317\341\267-QB\f\303\260\317\253\253\253"
+ #"\265%\204g\205\242\340\rf|\256x\226\23\32\32*Z\30!\324\320\320\3400"
+ #"\275~HMM\225\22\311p\305+\24\341\341\341\302\2228\t\222\355\321\224"
+ #"\342\376\375\373R\"\31\256xf\262h\321\"a\311\2337o\202\3\353BR\300"
+ #"\263BQ\360\23\32\232&\t\0\353\326\255\303\327{\367\356\25\325q\260"
+ #"\23\210\210\210\20\212pUfoi\307\330\213\27/\342\213\301\203\a\323"
+ #"\307\214\36\261\261\261\302\207\274\337\220\226+;\23\322|\366\2021m"
+ #"\3324\341C\324?\355R\234\273h\313\225\255\254\v\27.\24JIq\315\315"
+ #"\315\5\0\336\344\4\37pd1a\302\4-H\366!##\203 5\231L\334\333~\\kjj@p"
+ #"\304\253\274\274\234{\353\370Z6\27\35\35\35\4)o7\252\37\327+W\256\0@"
+ #"tt4\367\341\356\335\273\271"
+) 500
+(
+ #"\323v\37\37\37\r8\376\v\362\224\2207\210\366\343\212k\317\2349s\330'"
+ #"\305\305\305v\273}\307\216\35\354\23u\307E\244@^\274\371\365\353W"
+ #"\277{\251\316\225]\325\342\351\260uH\223\316\225\373\346Bivv6H\365"
+ #"\257x\307\21/\270\272\271\2719\0220JX\255V\202\224\267\264\341\f\0"
+ #"6\233m\320\240A\334@r\301\353\244\310\255A[\360\332\261S\\\\\234\213"
+ #"\213\213\24Q\0\350\354\354\344\276\37a\370\326\34\274\250;\345\345"
+ #"\345\2617\302\235\273\352\352\352\223'Ovvv2\f3\177\376|P~\250\212\6)"
+ #"))\242\317\277|\371\322\357~\317\236=aaa\344\26p\367\356]\254\214\20"
+ #"\332\266m\e{\335\332\332J\263\250\210\21\20\20\20\23\23s\354\330\261"
+ #"\364\364\364-[\266pE\b\241\254\254,\235N\347\344$2\216\2624@\247\323"
+ #"%&&\222\271\262\355\fq\366\322\265\202N\247\353\243\"\201?\375@oo"
+ #"\257\354\20\217k3\36E\204\ao1\30\206\211\214\214|\372\364\251\325jMJ"
+ #"JZ\265jUNN\16\353\306b\261Hu\314l\222\212\20\32;v,\276\346*\377\376"
+ #"\375\273\357\312\331\331\371\350\321\243\344\270b\315S\247NI\275}KK"
+ #"\213h\301\252\252\252\303\207\17\357\332\265+!!\341\305\213\27F\243"
+ #"\261\245\245\5\2175\301\301\301\253W\257\226u\212q\346\314\31\204P"
+ #"\337\330@(SRR\2\0\215\215\215<Cqqq\3447\354\352\352\"H]\\\\\306\215"
+ #"\e\307{gww\367\3\a\16\30\215F\241\221\321\243G\3B\210\320\266\216\34"
+ #"9\302\376@<\2348q\202\314\265\267\267\227 \345\366\203K\226,\251\251"
+ #"\251![\333\277\177?`\243R1\300\266\356\335\273'\24=|\370\220l\35!TYY"
+ #")%b\203\352\344\344$k\a!\224\222\222\322\27\2605"
+) 500
+(
+ #"k\326\3606\244\361\242\225TP\21B?\177\376\224u@\250]\270\267\6\0///"
+ #"\32\256s\347\316\355g\v\347\332,\2\2\2h\254\220\271\376\376\375[Tt"
+ #"\372\364i\354\345\302\205\v\224\246\372\365\275\353\327\257G\bUUU]"
+ #"\276|\271\255\255M\252{R\4)#\354\n&\315\361\307\364\364t\0M\227\320D"
+ #"\203\221\232\232**b\307\352g\317\236\221\215\334\272u\253\217\362\0"
+ #"0\374\3\0000\30\f\4)\0\224\224\224\310\32\371K\\\261\v\321\263\e\0"
+ #"\220\227\2277u\352T\204\220\325j\335\267o\337\214\0313\244\16D\32"
+ #"\215\306\277\3045))ITz\376\374y\362d\323\325\325\365\217\376\337\341"
+ #"\212\203\307\203N\247\v\t\tA\b%$$\0\0\3030~~~\261\261\261\307\216\35"
+ #"\23\267\366w\270\212V\266\331\263g\263I\26\2255u$\36=zDe\235\310\265"
+ #"\265\265UQ\203Q\271\277\245\311\241\fE\a\313A\365^\234\242\325m\2556"
+ #"\32Tr\2459\236\302B\263-\6\372\352\302\205\257\257/\215\32\0\214\349"
+ #"\22'\371R\n\271\271\271\224NUruqq\241\262\16\260s\347NBP\0\0w[4PY\a"
+ #"\350\253\240\354\261\370\227/_R\232\32\360}n\362\21\26E\30p\256\25"
+ #"\25\25Z\231\32p\256x\277\35\237\230\24b\331\262e\364\246\6\234\353"
+ #"\317\237?\1`\356\334\271\242R| \253\253\253\213\306\324\200s\265X,\0"
+ #"0k\326,Q\351\376\375\373\341\337]>Y\f8W\274\256\350\347\347'*\305-Ox"
+ #"\324U\34\264=j\177p\323J\2X/\345\345\345d\35\32k*\343:t\350PE\372J?"
+ #"\177\22\205J\256\362\347h\6\0*\271\322\177<\202\367o5\331\35W\306u"
+ #"\361\342\305\f\303\214\e7.&&\206\240f2\231\330\377\374(,,\4\200\347"
+ #"\317\237"
+) 342
+(
+ #"\253\246\370\a\264\255\t!\274\242\30\32\32j4\32\267o\337\3165\22\32"
+ #"\32\32\37\37\177\372\364\351\374\374|L\216k\37\244\27\202\270j\351"
+ #"\351\351W\257^%\20P\362\251\227\222w\343\222\300\211\271P'11\221\367"
+ #"J\0p\374\370qG\271\262\25\216R\337f\263\231\315\346\250\250(\350?"
+ #"\337\262\331l\211\211\211\274\3566::\32!\324\334\334<b\304\bB\266I"
+ #"\353{\310\220!\0000b\304\bJ}\26\354v\5\315\337\"l\332\264\t\0:::\304"
+ #"MQVk\234\260\342\277pP\4v\345\237\346\323m\34\221\312\312JQ)-W\354I"
+ #"\352,\24\18w\241<y\202\2671\244>\356\244\345\212O&)\335\244e\207+"
+ #"\312\357\0\212\213\213\201\260\371\255\250\362\361\364-\26KNN\316"
+ #"\332\265ki\16\226\310\32gO)dgg\213{W\304\325h4\322\204\207\305\370"
+ #"\361\343\353\352\352\310\\-\26KAA\1w\252\363\371\363g\r\270\"\2123"
+ #"\332111W\256\\\261X,X_x\336\340\366\355\333\311\311\311\370\224\255"
+ #"\20\311\311\311\222\256\225r\305\260\333\355&\223\311l6\323\364D\224"
+ #"?BTT\24\371\263\323\377\1\250\227\355f\254\315s9\0\0\0\0IEND\256B`"
+ #"\202"
+) 0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 20 #"                    "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"make-ir"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 4 #"doll"
+0 0 66 3 1 #" "
+0 0 20 3 4 #"9.95"
+0 0 66 3 1 #" "
+0 3          21 66 1 #"\0"
+2 -1.0 -1.0 0.0 0.0 0           5 500
+(
+ #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0\0u\b\2\0\0\0_\371Q\5\0\0\baI"
+ #"DATx\234\325\\_HS\357\e\177\217\231\332\\[h\00313m\264j!\254\314V"
+ #"\220F--\252\v#\f\242\302\274\20\262\b\212\f\274H\"\"\250 \272\311"
+ #"\253\376\b\321E\27%\366\207B\363b\375!\212\32\264\213\246i\323L\233"
+ #"\2469k\233f\233\353\375^\274\277\316\357\264\271\355l\347y\316\231"
+ #"\237\253\355\374\371<\317s\236\347}\337\347\375\313QJI2!??\177``\200"
+ #"\20\242\321h~\376\374\211*+\5\225=\0010\313\t!\36\217'==\375\375\373"
+ #"\367x\262\270d\363<\307q!WV\256\\\351p80d%\235\347\351_tww\263+\235"
+ #"\235\235{\367\356\305\220\225t\236\17A\177\177\177AA\1!\4CO%=\237"
+ #"\225\225\305\t0\3433K\226,\241\224>x\360\0E\3\252\20\334n7!\204\343"
+ #"\270\246\246\246\307\217\37\23B\32\32\32d\326A\261\260\337\272ukff"
+ #"\346\375\373\367\371+Z\255\26\273m\vA\252\234\302\204\350\352\352\32"
+ #"\34\34\24^)++\223Y\a\305<\177\352\324\251\214\214\214s\347\316)\""
+ #"\235A\311\332\236\343\270\17\37>\30\215F\245\24P\270\235_\265j\325"
+ #"\263g\317\224\222\256\244\347m6\333\332\265k\211\2106\234\343P\364T"
+ #"\254\302#\204\24\27\0273\223\204\215\274\320H\376:R;\237\24\31^\244"
+ #"\f\207\a\222\222I\221\333SJ].\327\262e\313\302o\231L&D\367\310\234T"
+ #"\305DEEEJJ\n!d\371\362\345\330\262\222\"\354\225BR\204\275R\230\255"
+ #"\306\373\375\376\232\232\32.2\366\355\333\347p8\376\374\371\23\215\5"
+ #"\273\\a \336/u\372\364\351\231yd\326;\34\323\323\323\337\276}\23\363"
+) 500
+(
+ #"\344\376\375\373\2311\375\375\375\"\311\207\206\206v\354\330!\374\20"
+ #"\255\255\255\374]e\214\267\331l\221\274\364\365\353\327Ho\2358q\342"
+ #"\356\335\273\211I\274z\365jFF\6/\245\242\242\202\312o\374\372\365"
+ #"\353\305\4\352\272u\353\220\24\370G\f\222\214\230\202\315f\263\325j"
+ #"\25\336u\273\335\365\365\3652\350f\265Ze5\236\rZ\361\350\350\350\210"
+ #"\364dss3\377\330\355\333\267\221\364\31\36\36&2\344\366|\336^ZZ\372"
+ #"\374\371\363\304\336ER\22\267\235W\253\325\354\a\2454^\313\331[\26"
+ #"\213\205\210\350\371$\b\244\270\242\224\356\332\265\vD\4\236\236X"
+ #"\375y\255V\353\361x\bD\304RJ\221<\17\37\366>\237\217\3438\217\307#"
+ #"\364\233D0\373\323\322\322@\330x\300Wx\314K\340\264\32\215\306\353"
+ #"\365\302\322\2{\36\311rB\b+D\327\257_\a\344\204\364<\263<//\217\237c"
+ #"\a\a\354H&X\205\207\347s!\366\354\331\3I\a\322f\234<y\22\212*&>}\372"
+ #"\4E\5P\346_\277~}\371\362e*\327p\30\340$\207T\343\17\37>\274a\303\6"
+ #"\20UD\342\325\253WPT\222\312<+\347\273w\357nii\1\322'6\276\177\377"
+ #"\16E%\265\302{\364\350\321\316\235;AT\21\t\266J\5\6\t\327\26g\316"
+ #"\234)//\207\252{\304\243\275\275\35\212*\361f\23i\3620&\6\6\6\26/^\f"
+ #"B\225H\330\263\242\16\233l\211\27\r\370\305\343\346JOO\367\373\375\6"
+ #"\203\341\343\307\217PJ\304%\375\367\357\337Plq\e/O&7#jjjrss\317\237?"
+ #"\17E\230\210\361\212X\336\336\336\276m\3336X\321qX\242\240\317\t\316"
+ #"G\27\233\3411\313KJJ`\305\213Dee\345\347\317\237\341y\305\264\207l"
+ #"\205\344\2349s\240\32\330\270\300j8"
+) 500
+(
+ #"\ffQ\261\244`\300\367\365\365-]\272\24Iz\354v\376\332\265kH\262c\202"
+ #"\37\267\34\37\37G\21\20=0\304<\223\0~\375\372\25\345\256\313\345\312"
+ #"\313\313c\242C\246\264`\21\315\363\354\303o\331\262\5\374\213[\255"
+ #"\326\355\333\267G\21\312@\261\303-\322Waw5\32\r\322W'\204TUU\365\366"
+ #"\366\216\214\214\\\272t)33S\250Unn.\222\334\177t\230\361\352\255["
+ #"\267\br\365\36\311\31\t\317\300'\200\320\332\336h4vvv\22\345\222\319"
+ #"\221b2\2318\216+...**\3428\216Y\16\233\314\0vE\320\361\344\311\23"
+ #"\330\350\312\311\311\241\224\366\366\366\212\17\351`0\350t:a\325\b\a"
+ #"\311\316\316F\265\234RJ\376V\253\204\220\2337oFyrllL\245R\2058\303"
+ #"\345r\201\253\364?}\220x\205hkk\23\376\235;wn\244\240+))\231\232\232"
+ #"\22>\334\323\323\303na(\246\330\362\323\356\356\356\276\276\276\224"
+ #"\224\24\275^\317\22\330(P\253\325>\237\17\\\at\343\3\201@\24W+\v\364"
+ #"\345\247\251\2510\323\201~\277\37\204G\210Y\263\352Z\311\301\f)\300"
+ #"\352\223I\206\34\306\267\266\266J'ihhp:\235\322y\376\1F\23\22\2\220"
+ #"\211\35\257\327{\364\350Q\351<B\310Q\346\215F#\310\356\177\330A{\"O"
+ #"\330\257Y\263\6\204\207_\330\a\59\214\327\353\365 <G\216\34\1\341"
+ #"\341!\207\361\205\205\205 <\26\213\345\335\273w T\fr\30?\177\376|("
+ #"\252\3\a\16@Q\221Y\267\301htt\24\220M\16\343GFF\240\250ZZZ\0g\207"
+ #"\345\330H\374\345\313\27(\252M\2336\31\f\6\376\24\31\211\220\303\363"
+ #"?~\374\0d\343{\370\322!G\222\223\223\223\303\266u\200`zz\32\252\2478"
+ #"\313j{\2\327G"
+) 500
+(
+ #"&\362\30\37s\240&^@\305\221\34\306WVV\302\22\212\334\234\27\e\260"
+ #"\375\244p`\214\275^\270p\301\357\367K\347A\367\374\275{\367\3009\217"
+ #"\35;\326\324\324$\235\a\275\266\317\316\316\36\e\e\3\247\5\31\325"
+ #"\222cS!\206\b\220\301l\364\260GZ\220\355\363\371\216\37?.\221d\326"
+ #"\214\336\206CzL\315\262^\235\20\v\26,\220\310\200k|[[\e\36\371\215\e"
+ #"7\244RHo-\243\0\233\277\252\252J\312\353\210e\336\343\361\224\226"
+ #"\226\332\355v$~\"\271\330#\366\347W\254X\321\325\325\205\307O$\257 A"
+ #",\363CCC\32\215\6\217\237\20r\350\320!)\257c\205}ZZ\332\2337oV\257^"
+ #"\215A\16\5\24\317766\6\2\201$\267\234 y\236\343\270\262\2622\31\316w"
+ #"\2248\252\203U\346\37>|\210\304,\204\324\357\v\321\334\206\342\342"
+ #"\305\213\30\264\341HMM\225\364:\220\17\376\217\362\362\362\247O\237"
+ #"\202\323\206C\257\327_\271rE\n\3\312\261\21\340\234H\202\340\313\374"
+ #"\302\205\v\3019\303\1r~\n\274\361\330Y\35\371k9;EC\22\17l\210NNN\206"
+ #"\257\37\5\304\324\324\324\274y\363\b\320\242p`\317\253T*vv)\0066o"
+ #"\336\fh9\301\350\330 \325v|!\257\253\253\3#\225\334\326\206\242\260"
+ #"\260\360\355\333\267\200\204g\317\236\345\265\35\37\37\adFIr\230\242"
+ #"\215\215\215RHB\346\341\241t\23\2\205TX\347\305\373\256\333\355\326"
+ #"\351tB\263\233\233\233\21t\244\24i\306fbb\202_9\304q\234\230\223}"
+ #"\202\301`GG\207V\253\315\312\312\342\327\236\214\216\216RJ\27-Z\204"
+ #"\241$!\230cl!3J\6\203\201\235\354%D \20\350\351\351\231\361\2703v"
+ #"\3047\245\264\276\276\36IC,\343\371#\341(\245/^\274\210\231"
+) 202
+(
+ #"\220\251T\252\203\a\17\316\270\323rbb\302\351t\n\347\271\241\224D\31"
+ #"\303\v\6\203w\356\334\251\255\255e\1777n\334\310\216]\366x<6\233\315"
+ #"\341p\f\17\17\27\24\24\30\f\206\242\242\242\230\303\357:\235nrr\222"
+ #"\377\v\271\32\r\352+\na\267\333\a\a\a\241\330\230\236\371\371\371"
+ #"\265\265\265!;p\2442\3r\361\250\256\256\6d\253\253\253\3d\23\2 \267"
+ #"\177\371\362\245\305b\t\337\6\"\235\31\e\222\312\274\335n7\231L\302+"
+ #":\235\256\272\272\332l6\233\315fi\212\311\1I\236\347\353p\265Z\355"
+ #"\365z\201T\222\17\211'9\314r\266\3s6ZN\b\371\17\24\274S\2\f\350I\266"
+ #"\0\0\0\0IEND\256B`\202"
+) 0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 26 #"                          "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"make-ir"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 6 #"rocket"
+0 0 66 3 1 #" "
+0 0 20 3 5 #"59.95"
+0 0 66 3 1 #" "
+0 3          21 66 1 #"\0"
+2 -1.0 -1.0 0.0 0.0 0           5 500
+(
+ #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0003\0\0\0u\b\2\0\0\0l\302N\f\0\0\b"
+ #"9IDATx\234\315\233[H\24_\34\307\177\353\256m\333n\332\305Z\273mIX"
+ #"\202\31\226\255\21E\322B\241ADR\30X`\5BDB/A\21R\21\24\4\322\205\324"
+ #"\207\350\16\25\21t\243\202B\"\272\240\17=\264eXRY\232!\262\233i\271"
+ #"\272\332\371?\374\326\343\354\354\\\31693\343\376\277/;s.\277\363"
+ #"\231\337\271\314\271\314\332\b!`\231\334n\367\237?\177\304\362\246"
+ #"\230\213\"Uii\351\337\277\177\205\263;LD\221\312f\263\31\264`\211"
+ #"\317\244X\302\210\26\326&\312\351t^\271rE$'1U2\17\345\346\346b\17"
+ #"\313\316\316\3465e&\331\266m\333\244Xyyy\30\276u\353V\1\27\230F\326"
+ #"\321\321!\305\272x\361b\\1\0~\277?9d3f\314\320h$\225\225\225\274n"
+ #"\263\21\223FZi\vS\264i\263\361\225eN\337\334\276};\275^\273v\255b"
+ #"\232\23'Np\3314\301gCCC\251\251\251\364V\315`ss\263\317\347\363x<"
+ #"\254v\215\2670Y=j\250\274\274\234\335\254Q2\256\207\4\200\262\2622V"
+ #"\313\306\300F\3116o\336\314\222x\362\344\311\254\226\215`\235;w\216"
+ #"\253Up\265\37C=@w\244\220\311\341p\f\17\17wvvfff\352&\266\374\215."
+ #"\325\223'O\0 ++\213)\265pUJ\235t\373\366m\256,L)\205\261B\241\20\26S"
+ #"XX\310\236\353\300\201\3\0\320\325\325e!\331\316\235;\221\254\273"
+ #"\273\233=\327\347\317\237\1\340\310\221#V\221\235={\26\261\262\262"
+ #"\262x\3632V\250 \231\327\353\305\2\232\233\233y\363.]\272\324B2#\35"
+ #"\350\321\243G,\31E\3063BHJJ"
+) 500
+(
+ #"\n\0\270\\.\261u\e\313\214Hd<;\177\376<^\24\27\27\vdg\225@u\30\311"
+ #"\213\n\4\2\17\37>\324)E\300\256q\262k\327\256\25\24\24h\247\341ng"
+ #"\321ht\334\270q\224L\254\242\320\210vv\356v\206=\313\240p\16\374\346"
+ #"\315\e\2154\334>\343\235_h\330\261\333\355CCCj\t\306t\256!\323\360"
+ #"\360\260F\2548YQQ\221p^\26\211\223m\330\260\301x\361_\276|Q\215\343"
+ #"\355\360\302\31\25\355\344\347\347\253&\20\263X\\\\l\f\2148\235N\355"
+ #"'\24\254M\351\242\\L\313\226-\323N\300Gv\343\306\r\274\b\4\2\202D#Z"
+ #"\271r\245N\n\256*\310\317\317\27\310\245(:d\334\277\177\337\204\332|"
+ #"\373\366-\277w\224\205\363(\0x\372\364\251r\n\256\a\305,n\267\333"
+ #"\270\317\b!>\237\17\0\\.\227b\254H\17X\267n\235\210\227\22\204\373Y"
+ #"\375\375\375\312\321\354\217\30\211D0\313\207\17\37L\361\331\313\227"
+ #"/5\308\310\36<x\300\3730\332\n\207\303\32\69j\363\365\353\327B\225"
+ #"\246\252I\223&i\304r\220\275\177\377\3360\f\2078\346gn\267\eWJ\354Y"
+ #"\364\213\267\331\324\fr\370\f\261\260\253\217\201\270G\215\377/\331"
+ #"\202\5\vL,\336n\267\3\200\342\234\233\233,''\307\4\242\21\341&\274r"
+ #"\337b\37~0}__\237\31cYL\370:\331\267o_b\24\267\317\334n\267!/\305k"
+ #"\316\2349\0 ;MC\261\222\365\365\365\231\bD\205d?~\374H\214b%kkk3\223"
+ #"(^\3645%\25+Ycc\243\25101M\2348\21\0\332\333\333\23\243X\311\276}"
+ #"\373f&Q\274\350,F*V\262\337\277\177\233\n\23\247\201\201\201\304\300"
+ #"$\223)z\v\305J\366\353\327/\223`\342\324\333\333\253\26\225\344Q\243"
+) 500
+(
+ #"\273\273[-*\231{A\240\331\261\222\334\316\24G\177T\222}\326\332\332"
+ #"\252\26\225d2\305\361\2\225d2\324\370\361\343\23\3\365\277?{\374\370"
+ #"qKK\213\5<\243\222~T1*\215\311\23\375\20\220\20\262b\305\n\335\364"
+ #"\272\232?\177~OO\2174\4m\372|\276\304\304\252>\v\207\303S\246L\201"
+ #"\221\205\215)}\263\265\265U\361\304i\372\364\351\211\211U\333\31buuu"
+ #"\341\255\306k\204K\204\220C\207\16\311\2\247N\235\312Jv\341\302\5\0("
+ #"//\2376m\32\206h\274FxE\317F\251\322\323\323\1`\375\372\365q\241\211"
+ #"\25\214\a\344\16\207C\32H\273\217\221v&m^\204\220\236\236\36\264I"
+ #"\327\1\322s\\yI\273w\357V$\320x\22a544\240\315{\367\356\321\300P("
+ #"\244@\326\331\331\211IO\237>m5\31\0\\\275z\25mvtt\320\360H$\22\211D"
+ #"\344d\32\305[\3413\\\6\3@4\32\225\206\327\327\327+\223566\216\r\31"
+ #"\235Y%Fedd\214\206j\27\214\37\f\254^\275\332D2\224\254\253Q\230\330"
+ #"\250\201\335$77W\251\233\3\0\314\235;\27\30\216\27\4\24\215Fe!\350"
+ #"\313\30Yuu5h\236\252fdd\0\300\314\2313M'\3\0\277\337/\275\305o\226cd"
+ #"g\316\234\201\221\25\263\242\262\263\263\1\200\16\274\346j\371\362"
+ #"\345t\23\30\0\366\354\331\3\0@\b)++\3\200\324\324T\215\326\200{\343"
+ #"\257^\2752\275\235\241\202\301\240\374\225Jojjj\2643\3@0\30\264\210"
+ #"\f\355\307\255\203\350nG\177\177\277n\316\266\2666\353\310._\276\34W"
+ #"\307{\367\356\245\316K.\31Q\334\230\266\333\355\377\a\262]\273v-Z"
+ #"\264\b\217ucd\263g\317f!{\367\356\235\245dtW\237\320=G\227\313\245"
+ #"\333\267"
+) 500
+(
+ #"\235N'\235\267X$\304\330\261c\a\320\361LcuE\345\365z\0257\aM\327\245"
+ #"K\227\0 \5w\227\177\376\374\251\233\241\260\260\360\372\365\353VcQ"
+ #"\245,Y\262\4\0\6\a\au\223\346\344\344\334\275{\327R\232\232\232\32"
+ #"\274\370\372\365+\34<x\20ot\233'\276\6,\355\1\263f\315B\230`0\230"
+ #"\302\372E\260\312J\332\\\321\r\230\t\23&\214\276\235\314z\356\364"
+ #"\364t\261\214\5\5\5\24\221\340\234\226\213L\367k\373P(\324\336\336.@"
+ #"&u^\214\f?\204\371\367\357\37\243\211[\267n\351\226\301\213U__O\261*"
+ #"++cd\363\346\315\3\0\331\216\203\232\26.\\\250\233F\200L\352\260p8L"
+ #"\360\35\260q\343F\0\370\364\351\23K#mii\261\331l6\233m\325\252U\32"
+ #"\311\214\314\313c\347\353ddEz\364\350Q\261G\244\262\333\355iii~\277"
+ #"\237B\vX\e\r$\204\340\361\342\226-[\330\311\6\a\a\217\35;\246\373"
+ #"\364F\311p7E\373\277+w\356\334I,\t\377#\241\241\343\307\217\e\"#z\3G"
+ #"mm\255\266\e4^n\\dk\326\254\341 \223mw\261\224\204\332\277\177?K\372"
+ #"\212\212\nE\343:d8!\241\222n\332\260\210\205\214\356ndff\262\222}"
+ #"\377\376]\212%0\325f!\243\366\353\352\352X\311\244Xb\337O555\325\326"
+ #"\326j$\220\316X\345\245\343\17\236\315\252a\t0I\355h\304\342?N\1\300"
+ #"\343\361(\223-^\274Xj\242\264\264\224b\5\2\1\203d\325\325\325\32\261"
+ #"\250\212\212\ne2\374\213\20^?\177\376\334,\207\21B\362\362\362\0@m"
+ #"\366AKI\374kR\254\340\252\252*\n\341p\214\36\22|\374\370\321 \31~"
+ #"\264YRR\242M\246\20\205?uuu\200\263\357\21y\275^\203LRy<\236"
+) 162
+(
+ #"\242\242\"Y \356/)62B\317P\320O8\35B\261\254\246\330\325\333\333+"
+ #"\373\23\375\300\300\0\235\335l\332\264)1Kl\275\231\226\226f\"\207"
+ #"\242JJJ\244\267'O\236\244\327\3623\n\24\272\356\346\315\233\322\300"
+ #"\206\206\6\23\253\222\352\331\263g\364Z\372}\221bb\371\0162\313\326"
+ #"\213\21\341\266\346\213\27/\22\275\243Jv\370\360a\0hjj\262\224\214("
+ #"\315:u\310\b!UUUVc\305J\345%\eKQ\254S\247N)&\370\17#l\0_X\204\310m\0"
+ #"\0\0\0IEND\256B`\202"
+) 0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 4 #"))))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 57 #";show-picture : symbol inventory -> mixed (image/boolean)"
+0 0 66 29 1 #"\n"
+0 0 17 3 56 #";Given name and an-inv, this function produces the image"
+0 0 66 29 1 #"\n"
+0 0 17 3 44 #";of the toy with the corresponding name.  If"
+0 0 66 29 1 #"\n"
+0 0 17 3 51 #";the toy is not in the inventory, false is returned"
+0 0 66 29 1 #"\n"
+0 0 17 3 9 #";instead."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"show-picture"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-image"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"show-picture"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 5 #"))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 38 #";price-of : symbol inventory -> number"
+0 0 66 29 1 #"\n"
+0 0 17 3 42 #";Given name and an-inv, it finds the price"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";of the corresponding toy with the name."
+0 0 66 29 1 #"\n"
+0 0 17 3 47 #";Returns 0 if the item is not in the inventory."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"price-of"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"0"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-price"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"price-of"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 5 #"))]))"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 16 #";Data Definition"
+0 0 66 29 1 #"\n"
+0 0 17 3 39 #";A record (phone record) is a structure"
+0 0 66 29 1 #"\n"
+0 0 17 3 42 #";(make-record s n) where s is a symbol and"
+0 0 66 29 1 #"\n"
+0 0 17 3 15 #";n is a number."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 13 #"define-struct"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"record"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"number"
+0 0 22 3 2 #"))"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 16 #";Data Definition"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 22 #";A directory is either"
+0 0 66 29 1 #"\n"
+0 0 17 3 20 #";1. an empty list or"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";2. (cons r dir) where r is a record and"
+0 0 66 29 1 #"\n"
+0 0 17 3 20 #";dir is a directory."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 42 #";whose-number : number directory -> symbol"
+0 0 66 29 1 #"\n"
+0 0 17 3 47 #";Given a-num and a-dir, finds the corresponding"
+0 0 66 29 1 #"\n"
+0 0 17 3 44 #";name of the person who owns the number.  If"
+0 0 66 29 1 #"\n"
+0 0 17 3 44 #";the person is not in the directory, returns"
+0 0 66 29 1 #"\n"
+0 0 17 3 28 #";the symbol 'NotInDirectory."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 9 #";Template"
+0 0 66 29 1 #"\n"
+0 0 17 3 31 #";(define (dir-func a-num a-dir)"
+0 0 66 29 1 #"\n"
+0 0 17 3 8 #";  (cond"
+0 0 66 29 1 #"\n"
+0 0 17 3 26 #";    [(empty? a-dir) ... ]"
+0 0 66 29 1 #"\n"
+0 0 17 3 60
+#";    [... (first a-dir) (dir-func a-num (rest a-dir)) ...]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"whose-number"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-num"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 15 #"NotInDirectory."
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #"="
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 13 #"record-number"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-num"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 5 #"     "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"record-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"whose-number"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-num"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 5 #"))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";phone-number : name directory -> number"
+0 0 66 29 1 #"\n"
+0 0 17 3 54 #";Given name and a-dir, finds the corresponding number."
+0 0 66 29 1 #"\n"
+0 0 17 3 41 #";Returns 0 if no number in the directory."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"phone-number"
+0 0 67 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 67 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 67 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 67 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 67 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 1 #")"
+0 0 67 3 1 #" "
+0 0 20 3 1 #"0"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 67 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"record-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 5 #"     "
+0 0 22 3 1 #"("
+0 0 14 3 13 #"record-number"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"phone-number"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 67 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 5 #"))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"list2"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"make-record"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 9 #"HsinyaLin"
+0 0 66 3 1 #" "
+0 0 20 3 10 #"6265939257"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"make-record"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 9 #"RonRonLin"
+0 0 66 11 1 #" "
+0 0 20 3 10 #"6267157010"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"make-record"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 8 #"TunaFish"
+0 0 66 3 1 #" "
+0 0 20 3 7 #"8888888"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 4 #"))))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";extract : inventory number -> inventory"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 5 #"Given"
+0 0 17 3 1 #" "
+0 0 17 3 41 #"an-inv and price, it returns an inventory"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 8 #"composed"
+0 0 17 3 1 #" "
+0 0 17 3 36 #"of inventory records (ir) which have"
+0 0 66 29 1 #"\n"
+0 0 17 3 27 #";prices greater than price."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 9 #";Template"
+0 0 66 29 1 #"\n"
+0 0 17 3 31 #";(define (extract an-inv price)"
+0 0 66 29 1 #"\n"
+0 0 17 3 8 #";  (cond"
+0 0 66 29 1 #"\n"
+0 0 17 3 26 #";    [(empty? an-inv) ...]"
+0 0 66 29 1 #"\n"
+0 0 17 3 5 #";    "
+0 0 17 3 1 #"["
+0 0 17 3 3 #"..."
+0 0 17 3 1 #" "
+0 0 17 3 1 #"("
+0 0 17 3 5 #"first"
+0 0 17 3 7 #" an-inv"
+0 0 17 3 33 #") (extract (rest an-inv)) ...])) "
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"extract"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"price"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #">"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-price"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"price"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 5 #"     "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"extract"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"price"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"extract"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"price"
+0 0 22 3 4 #")]))"
+0 0 66 3 1 #" "
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"RAISE"
+0 0 66 3 1 #" "
+0 0 20 3 4 #"0.05"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 38 #";raise-prices : inventory -> inventory"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 8 #"Consumes"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"an-inv"
+0 0 17 3 35 #" and produces an inventory in which"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 3 #"the"
+0 0 17 3 1 #" "
+0 0 17 3 5 #"price"
+0 0 17 3 38 #" of each inventory record is increased"
+0 0 66 29 1 #"\n"
+0 0 17 3 18 #";by RAISE percent."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 9 #";Template"
+0 0 66 29 1 #"\n"
+0 0 17 3 30 #";(define (raise-prices an-inv)"
+0 0 66 29 1 #"\n"
+0 0 17 3 8 #";  (cond"
+0 0 66 29 1 #"\n"
+0 0 17 3 19 #";    [(empty?) ...]"
+0 0 66 29 1 #"\n"
+0 0 17 3 5 #";    "
+0 0 17 3 1 #"["
+0 0 17 3 4 #"else"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"..."
+0 0 17 3 1 #" "
+0 0 17 3 1 #"("
+0 0 17 3 45 #"first an-inv) (raise-prices (rest an-inv))]))"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"raise-prices"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"make-ir"
+0 0 66 3 1 #" "
+0 0 66 29 1 #"\n"
+0 0 66 3 17 #"                 "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 29 1 #"\n"
+0 0 66 3 17 #"                 "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"*"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-price"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"+"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"RAISE"
+0 0 22 3 2 #"))"
+0 0 66 29 1 #"\n"
+0 0 66 3 17 #"                 "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-image"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 3 #")))"
+0 0 66 29 1 #"\n"
+0 0 66 3 16 #"                "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"raise-prices"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 6 #")))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 26 #";Contract, Purpose, Header"
+0 0 66 29 1 #"\n"
+0 0 17 3 39 #";recall : symbol inventory -> inventory"
+0 0 66 29 1 #"\n"
+0 0 17 3 50 #";Removes the inventory record (ir) associated with"
+0 0 66 29 1 #"\n"
+0 0 17 3 23 #";ty from the inventory."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 30 #";(define (raise-prices an-inv)"
+0 0 66 29 1 #"\n"
+0 0 17 3 8 #";  (cond"
+0 0 66 29 1 #"\n"
+0 0 17 3 19 #";    [(empty?) ...]"
+0 0 66 29 1 #"\n"
+0 0 17 3 5 #";    "
+0 0 17 3 1 #"["
+0 0 17 3 4 #"else"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"..."
+0 0 17 3 1 #" "
+0 0 17 3 46 #"(first an-inv) (raise-prices (rest an-inv))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"recall"
+0 0 66 3 1 #" "
+0 0 14 3 2 #"ty"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 2 #"ty"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"recall"
+0 0 66 3 1 #" "
+0 0 14 3 2 #"ty"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"recall"
+0 0 66 3 1 #" "
+0 0 14 3 2 #"ty"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 6 #")))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 10 #"substitute"
+0 0 17 3 1 #" "
+0 0 17 3 1 #":"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"symbol"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"symbol"
+0 0 17 3 1 #" "
+0 0 17 3 9 #"inventory"
+0 0 17 3 13 #" -> inventory"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 5 #"Given"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"old"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 3 #"new"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 3 #"and"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"an-inv"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 7 #"replace"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"the"
+0 0 17 3 8 #" name of"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 2 #"an"
+0 0 17 3 1 #" "
+0 0 17 3 9 #"inventory"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"record "
+0 0 17 3 4 #"with"
+0 0 17 3 6 #" name "
+0 0 17 3 3 #"old"
+0 0 17 3 1 #" "
+0 0 17 3 4 #"with"
+0 0 17 3 10 #" name new."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 10 #"substitute"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"old"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"new"
+0 0 67 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 67 3 3 #"   "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 67 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 67 3 3 #"   "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"old"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"make-ir"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"new"
+0 0 66 29 1 #"\n"
+0 0 66 3 19 #"                   "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-price"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 29 1 #"\n"
+0 0 66 3 19 #"                   "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-image"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 3 #")))"
+0 0 66 29 1 #"\n"
+0 0 66 3 10 #"          "
+0 0 22 3 1 #"("
+0 0 14 3 10 #"substitute"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"old"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"new"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 4 #")))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 3 #"   "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 67 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 15 #"               "
+0 0 22 3 1 #"("
+0 0 14 3 10 #"substitute"
+0 0 4 3 1 #" "
+0 0 14 3 3 #"old"
+0 0 4 3 1 #" "
+0 0 14 3 3 #"new"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 67 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 6 #")))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0           0
blob - /dev/null
blob + 7bdf36e700c22d636a6f4b20240643dee67c8d11 (mode 644)
--- /dev/null
+++ 10.3.1.bak
@@ -0,0 +1,1757 @@
+#reader(lib"read.ss""wxme")WXME0108 ## 
+#|
+   This file is in plt scheme editor format.
+   Open this file in dr-scheme version 4.2 or later to read it.
+
+   Most likely, it was created by saving a program in DrScheme,
+   and it probably contains a program with non-text elements
+   (such as images or comment boxes).
+
+            http://www.plt-scheme.org
+|#
+ 29 7 #"wxtext\0"
+3 1 6 #"wxtab\0"
+1 1 8 #"wxmedia\0"
+4 1 8 #"wximage\0"
+2 0 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0"
+1 0 16 #"drscheme:number\0"
+3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0"
+1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0"
+1 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0"
+0 0 19 #"drscheme:sexp-snip\0"
+0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0"
+1 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0"
+0 0 29 #"drscheme:bindings-snipclass%\0"
+1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0"
+1 0 22 #"drscheme:lambda-snip%\0"
+1 0 56
+#"(lib \"hrule-snip.ss\" \"macro-debugger\" \"syntax-browser\")\0"
+1 0 18 #"java-comment-box%\0"
+1 0 23 #"java-interactions-box%\0"
+1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0"
+1 0 26 #"drscheme:pict-value-snip%\0"
+0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0"
+2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0"
+1 0 18 #"drscheme:xml-snip\0"
+1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0"
+1 0 21 #"drscheme:scheme-snip\0"
+2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0"
+1 0 10 #"text-box%\0"
+1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0"
+1 0 15 #"test-case-box%\0"
+2 0 1 6 #"wxloc\0"
+          0 0 73 0 1 #"\0"
+0 75 1 #"\0"
+0 10 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9
+#"Standard\0"
+0 75 12 #"Courier New\0"
+0 18 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24
+#"framework:default-color\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15
+#"text:ports out\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 150 0 150 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1
+-1 2 15 #"text:ports err\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0
+0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17
+#"text:ports value\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 175 0 0
+0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 27 #"Matching Parenthesis Style\0"
+0 -1 1 #"\0"
+1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1
+-1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 38 38 128 0
+0 0 -1 -1 2 37 #"framework:syntax-color:scheme:symbol\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 38 38 128 0
+0 0 -1 -1 2 38 #"framework:syntax-color:scheme:keyword\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 38 38 128 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 194 116 31 0
+0 0 -1 -1 2 38 #"framework:syntax-color:scheme:comment\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 194 116 31 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 41 128 38 0
+0 0 -1 -1 2 37 #"framework:syntax-color:scheme:string\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 41 128 38 0
+0 0 -1 -1 2 39 #"framework:syntax-color:scheme:constant\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 41 128 38 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 132 60 36 0
+0 0 -1 -1 2 42 #"framework:syntax-color:scheme:parenthesis\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 132 60 36 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0
+0 -1 -1 2 36 #"framework:syntax-color:scheme:error\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0
+0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 36 #"framework:syntax-color:scheme:other\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 81 112 203 0
+0 0 -1 -1 2 38 #"drscheme:check-syntax:lexically-bound\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 81 112 203 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 68 0 203 0 0
+0 -1 -1 2 31 #"drscheme:check-syntax:imported\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 68 0 203 0 0
+0 -1 -1 2 41 #"profj:syntax-colors:scheme:block-comment\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 194 116 31 0
+0 0 -1 -1 2 35 #"profj:syntax-colors:scheme:keyword\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0
+0 0 -1 -1 2 37 #"profj:syntax-colors:scheme:prim-type\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0
+0 0 -1 -1 2 38 #"profj:syntax-colors:scheme:identifier\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 38 38 128 0
+0 0 -1 -1 2 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 34 139 34 0
+0 0 -1 -1 2 34 #"profj:syntax-colors:scheme:string\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 34 139 34 0
+0 0 -1 -1 2 35 #"profj:syntax-colors:scheme:literal\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 34 139 34 0
+0 0 -1 -1 2 35 #"profj:syntax-colors:scheme:comment\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 194 116 31 0
+0 0 -1 -1 2 33 #"profj:syntax-colors:scheme:error\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0
+0 -1 -1 2 35 #"profj:syntax-colors:scheme:default\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 37 #"profj:syntax-colors:scheme:uncovered\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 35 #"profj:syntax-colors:scheme:covered\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0
+0 0 -1 -1 4 1 #"\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 4 #"XML\0"
+0 70 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 8 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 8 24
+#"drscheme:text:ports err\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 4 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1
+-1 4 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0
+-1 -1 2 1 #"\0"
+0 71 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1
+-1 0 1 #"\0"
+0 75 12 #"Courier New\0"
+0.0 18 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255
+255 255 1 -1 22 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 17 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 22 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 15 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 14 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 20 1
+#"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1
+#"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+17 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+22 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+15 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+14 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+20 1 #"\0"
+0 -1 1 #"\0"
+1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1
+17 1 #"\0"
+0 -1 1 #"\0"
+1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1
+          0 1160 0 17 3 85
+(
+ #";; The first three lines of this file were inserted by DrScheme. The"
+ #"y record metadata"
+) 0 0 66 29 1 #"\n"
+0 0 17 3 85
+(
+ #";; about the language level of this file in a form that our tools ca"
+ #"n easily process."
+) 0 0 66 29 1 #"\n"
+0 0 24 3 7 #"#reader"
+0 0 22 3 1 #"("
+0 0 14 3 3 #"lib"
+0 0 66 3 1 #" "
+0 0 19 3 25 #"\"htdp-beginner-reader.ss\""
+0 0 66 3 1 #" "
+0 0 19 3 6 #"\"lang\""
+0 0 22 3 3 #")(("
+0 0 14 3 7 #"modname"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"10.3.1"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 19 #"read-case-sensitive"
+0 0 66 3 1 #" "
+0 0 20 3 2 #"#t"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 10 #"teachpacks"
+0 0 66 3 1 #" "
+0 0 22 3 3 #"())"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 13 #"htdp-settings"
+0 0 66 3 1 #" "
+0 0 22 3 2 #"#("
+0 0 20 3 2 #"#t"
+0 0 66 3 1 #" "
+0 0 14 3 11 #"constructor"
+0 0 66 3 1 #" "
+0 0 14 3 17 #"repeating-decimal"
+0 0 66 3 1 #" "
+0 0 20 3 2 #"#f"
+0 0 66 3 1 #" "
+0 0 20 3 2 #"#t"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"none"
+0 0 66 3 1 #" "
+0 0 20 3 2 #"#f"
+0 0 66 3 1 #" "
+0 0 22 3 5 #"())))"
+0 0 66 29 1 #"\n"
+0 0 17 3 16 #";Data Definition"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";An ir (inventory record) is a structure"
+0 0 66 29 1 #"\n"
+0 0 17 3 52 #";(make-ir s n i) where s is a symbol, n is a number,"
+0 0 66 29 1 #"\n"
+0 0 17 3 19 #";and i is an image."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 13 #"define-struct"
+0 0 66 3 1 #" "
+0 0 14 3 2 #"ir"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"price"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"image"
+0 0 22 3 2 #"))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 16 #";Data definition"
+0 0 66 29 1 #"\n"
+0 0 17 3 23 #";An inventory is either"
+0 0 66 29 1 #"\n"
+0 0 17 3 20 #";1. an empty list or"
+0 0 66 29 1 #"\n"
+0 0 17 3 61
+#";2. (cons ir inv) where ir is an inventory record (structure)"
+0 0 66 29 1 #"\n"
+0 0 17 3 25 #";and inv is an inventory."
+0 0 66 29 1 #"\n"
+0 0 66 3 9 #"         "
+0 0 66 29 1 #"\n"
+0 0 17 3 26 #";Contract, Purpose, Header"
+0 0 66 29 1 #"\n"
+0 0 17 3 38 #";contains-doll? : inventory -> boolean"
+0 0 66 29 1 #"\n"
+0 0 17 3 51 #";Takes in an-inv (inventory) and searches to see if"
+0 0 66 29 1 #"\n"
+0 0 17 3 42 #";it contains 'doll.  Return true or false."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 9 #";Template"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 32 #";(define (contains-doll? an-inv)"
+0 0 66 29 1 #"\n"
+0 0 17 3 8 #";  (cond"
+0 0 66 29 1 #"\n"
+0 0 17 3 13 #";    [() ...]"
+0 0 66 29 1 #"\n"
+0 0 17 3 57 #";    [() (first an-inv) (contains-doll? (rest an-inv))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 14 #"contains-doll?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 4 #"doll"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 14 #"contains-doll?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 5 #"))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 26 #";Contract, Purpose, Header"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";contains? : inventory symbol -> boolean"
+0 0 66 29 1 #"\n"
+0 0 17 3 51 #";Takes in an-inv (inventory) and searches to see if"
+0 0 66 29 1 #"\n"
+0 0 17 3 44 #";it contains keyword.  Return true or false."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"contains?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 66 3 1 #" "
+0 0 14 3 7 #"keyword"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 7 #"keyword"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"true"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 9 #"contains?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 7 #"keyword"
+0 0 22 3 4 #")]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"list1"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"make-ir"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 5 #"robot"
+0 0 66 3 1 #" "
+0 0 20 3 5 #"29.95"
+0 0 66 3 1 #" "
+0 3          23 66 1 #"\0"
+2 -1.0 -1.0 0.0 0.0 0           6 500
+(
+ #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0u\b\2\0\0\0{\340\336\305\0"
+ #"\0\n\341IDATx\234\345\\}LM\377\37\177\237n\17\267\242\334\362\34B4"
+ #"\222\321\242\31\e\252\371F3$k\306<\305\230\247YFT\2141\305D\331\210)"
+ #"\263\306jhL\211\262!\326\252MC\321\246\247\215<w\251[\327\275J\267"
+ #"\373\371\375\361\351{\234\316\303\347|\316\271'\337?~\257\277\3169"
+ #"\357\367\347\375~\235\367\375<\274?\17\347\2r\0\277~\375r\2448\306"
+ #"\346\315\233)5\301AOYYY\16Z\0\0ooo*MG\334\324\326\326\28d\341\375"
+ #"\373\367\b\241\232\232\232I\223&\311*\253\367\344\353\353\v\0[\267nU"
+ #"m\201\305\314\2313i\336\331\t\324\342\373\367\357\b\241\372\372z\325"
+ #"\26\316\236=\3130\f\3030\257^\275\242\321g\20B\252\235a\264\267\267"
+ #"\e\f\6EE\354v\273N\247\3\0E\336\325\307\225\205\301`\b\f\fTT\4\23U\n"
+ #"\r\270\2@CC\303\247O\237(\225\31\206\301\27K\227.U\346\306\361\226"
+ #"\2011o\336<JM\325\256\265\211+\0l\330\260!<<\334\323\323\223a\30\275"
+ #"^\357\343\343\23\30\30x\350\320\241\242\242\242\246\246&\236\362\344"
+ #"\311\223\221\212v\242\364\345\310\241rvv&\273suu]\276|\271J/\332r\5"
+ #"\00077\267\261c\307\32\f\6\17\17\17\2i''\247\314\314\314\277\3155??"
+ #"\37S$\253577\27\24\24\254Y\263\206\313\330f\263\321;\322\200+\0\254"
+ #"\\\271RE\301s\347\316)\252\204\332\264\255k\327\256\251(E\337\315ah"
+ #"\303\225\\5\245\360\376\375{E\372\232\365Y\\\364\366\366J\211\20\247"
+ #"!~\370\360A\221Y\r\362\1\206\351g\4\17KRf\271\312^^^f\263"
+) 500
+(
+ #"\231\236\200\366q%\373\346J\273\272\272\24%\6\3R\a(C\325\323\323\243"
+ #"\327\353\351\315\16\bWz\f\e6\214^\371?\346\32\31\31I\257\374\37sU\4"
+ #"\355\271\326\325\325\5\5\0051\2\b5E\37\22 \223\26\251@pp0\245\346"
+ #"\344\311\223\333\332\332\350-k\20Wax\"\"\"n\334\270a2\231\254V\253"
+ #"\311djll\274t\351\222\260`HH\210\262\341@E\316\301\303\335\273wU\224"
+ #"\2324i\222R\2\32pU\264R\364\366\355[^\260ZZZ\26-Zt\373\366m\331\262"
+ #"\232\315\267d\261`\301\2\a\177\341\1\344j6\233\203\202\202\350k\243"
+ #"\335n\37@\256\356\356\356\nZ\206\30\302\303\303\337\275{\207\20Z\261"
+ #"b\205lh\35\352\a\314f\263\272\202\36\36\36\a\17\36D\b=~\374\330\337"
+ #"\337\37\0\2\2\2dK)\350_\273\273\273\277~\375ZZZ\372\345\313\227\246"
+ #"\246\246\353\327\257+\342\267j\325\252\177\376\371'>>^4\267b\273\5"
+ #"\22h~\353A\203\6)\242\305\242\250\250\250\247\247\207\306\305\203\a"
+ #"\17d\311\320\326\327\254\254,.\t\235N\267q\343\306\214\214\214\262"
+ #"\2622\234/;\210\327\257_\3\200\311d\322\200kWWWww7{\233\220\220\340"
+ #"\0205\1ZZZp\24\202\203\203+**Dud\332\226\237\237\37\316<\364z\275"
+ #"\233\233\e\3030c\306\214\1\0\27\27\27u\265B\n\b!\0())\251\255\255MKK"
+ #"c\30\346\316\235;<\35I\256\376\376\376\f\303|\376\374\31_\263\357"
+ #"\372\361\343GmYbtvv\2@GG\a\3030\205\205\205mmm\a\17\36d\30&,,\214"
+ #"\325\21\357\a\330t\244\247\247Gt\211j\330\260aIIIiiiZq\345%\\\6\203"
+ #"\1\257\230s\23#\21\36\335\335\335\370\2IO\233\364z\375\233"
+) 500
+(
+ #"7o\264\241\t\0\0\337\276}\223\325\21\251\3eee 7\277\323\353\365\332V"
+ #"\6\\\331\274\275\275\t:\"\\\355v;\215\365\236\236\36u\264D\321\336"
+ #"\336\16\0\236\236\236\4\35\21\256K\226,\2215\355\345\345\245\232\226"
+ #"(\236<y\2\0\323\247O'\350\250\317\aF\215\32\245\272\254\20\270%)\256"
+ #"\0034\360\360\360P\272OD\306\217\37?duTrmmmU\272OD\206\315f\223\325"
+ #"\21_{\343-\247\t\341\345\345\365\343\307\17\rG/\251\25;.\23\225\\e"
+ #"\25\224\202\206\353\377\367\272\213\n|\377\376\235FM\204+\36B\b\320v"
+ #"\24\0\200\322\322R\0\2308q\242\214\2360M\2342e\212\350s\26\231\231"
+ #"\231d\5\245\300m4==](\342:\22q)\365\16,\206\17\37\256-W\354\261\276"
+ #"\276^T\364\347Z\252\244\250\321\23'N\20~\20\325 \30\344>\247\235\307"
+ #"\272\272\272j^Me\301\333\317\341\267-QB\f\303\260\317\253\253\253"
+ #"\265%\204g\205\242\340\rf|\256x\226\23\32\32*Z\30!\324\320\320\3400"
+ #"\275~HMM\225\22\311p\305+\24\341\341\341\302\2228\t\222\355\321\224"
+ #"\342\376\375\373R\"\31\256xf\262h\321\"a\311\2337o\202\3\353BR\300"
+ #"\263BQ\360\23\32\232&\t\0\353\326\255\303\327{\367\356\25\325q\260"
+ #"\23\210\210\210\20\212pUfoi\307\330\213\27/\342\213\301\203\a\323"
+ #"\307\214\36\261\261\261\302\207\274\337\220\226+;\23\322|\366\2021m"
+ #"\3324\341C\324?\355R\234\273h\313\225\255\254\v\27.\24JIq\315\315"
+ #"\315\5\0\336\344\4\37pd1a\302\4-H\366!##\203 5\231L\334\333~\\kjj@p"
+ #"\304\253\274\274\234{\353\370Z6\27\35\35\35\4)o7\252\37\327+W\256\0@"
+ #"tt4\367\341\356\335\273\271"
+) 500
+(
+ #"\323v\37\37\37\r8\376\v\362\224\2207\210\366\343\212k\317\2349s\330'"
+ #"\305\305\305v\273}\307\216\35\354\23u\307E\244@^\274\371\365\353W"
+ #"\277{\251\316\225]\325\342\351\260uH\223\316\225\373\346Bivv6H\365"
+ #"\257x\307\21/\270\272\271\2719\0220JX\255V\202\224\267\264\341\f\0"
+ #"6\233m\320\240A\334@r\301\353\244\310\255A[\360\332\261S\\\\\234\213"
+ #"\213\213\24Q\0\350\354\354\344\276\37a\370\326\34\274\250;\345\345"
+ #"\345\2617\302\235\273\352\352\352\223'Ovvv2\f3\177\376|P~\250\212\6)"
+ #"))\242\317\277|\371\322\357~\317\236=aaa\344\26p\367\356]\254\214\20"
+ #"\332\266m\e{\335\332\332J\263\250\210\21\20\20\20\23\23s\354\330\261"
+ #"\364\364\364-[\266pE\b\241\254\254,\235N\347\344$2\216\2624@\247\323"
+ #"%&&\222\271\262\355\fq\366\322\265\202N\247\353\243\"\201?\375@oo"
+ #"\257\354\20\217k3\36E\204\ao1\30\206\211\214\214|\372\364\251\325jMJ"
+ #"JZ\265jUNN\16\353\306b\261Hu\314l\222\212\20\32;v,\276\346*\377\376"
+ #"\375\273\357\312\331\331\371\350\321\243\344\270b\315S\247NI\275}KK"
+ #"\213h\301\252\252\252\303\207\17\357\332\265+!!\341\305\213\27F\243"
+ #"\261\245\245\5\2175\301\301\301\253W\257\226u\212q\346\314\31\204P"
+ #"\337\330@(SRR\2\0\215\215\215<Cqqq\3447\354\352\352\"H]\\\\\306\215"
+ #"\e\307{gww\367\3\a\16\30\215F\241\221\321\243G\3B\210\320\266\216\34"
+ #"9\302\376@<\2348q\202\314\265\267\267\227 \345\366\203K\226,\251\251"
+ #"\251![\333\277\177?`\243R1\300\266\356\335\273'\24=|\370\220l\35!TYY"
+ #")%b\203\352\344\344$k\a!\224\222\222\322\27\2605"
+) 500
+(
+ #"k\326\3606\244\361\242\225TP\21B?\177\376\224u@\250]\270\267\6\0///"
+ #"\32\256s\347\316\355g\v\347\332,\2\2\2h\254\220\271\376\376\375[Tt"
+ #"\372\364i\354\345\302\205\v\224\246\372\365\275\353\327\257G\bUUU]"
+ #"\276|\271\255\255M\252{R\4)#\354\n&\315\361\307\364\364t\0M\227\320D"
+ #"\203\221\232\232**b\307\352g\317\236\221\215\334\272u\253\217\362\0"
+ #"0\374\3\0000\30\f\4)\0\224\224\224\310\32\371K\\\261\v\321\263\e\0"
+ #"\220\227\2277u\352T\204\220\325j\335\267o\337\214\0313\244\16D\32"
+ #"\215\306\277\3045))ITz\376\374y\362d\323\325\325\365\217\376\337\341"
+ #"\212\203\307\203N\247\v\t\tA\b%$$\0\0\3030~~~\261\261\261\307\216\35"
+ #"\23\267\366w\270\212V\266\331\263g\263I\26\2255u$\36=zDe\235\310\265"
+ #"\265\265UQ\203Q\271\277\245\311\241\fE\a\313A\365^\234\242\325m\2556"
+ #"\32Tr\2459\236\302B\263-\6\372\352\302\205\257\257/\215\32\0\214\349"
+ #"\22'\371R\n\271\271\271\224NUruqq\241\262\16\260s\347NBP\0\0w[4PY\a"
+ #"\350\253\240\354\261\370\227/_R\232\32\360}n\362\21\26E\30p\256\25"
+ #"\25\25Z\231\32p\256x\277\35\237\230\24b\331\262e\364\246\6\234\353"
+ #"\317\237?\1`\356\334\271\242R| \253\253\253\213\306\324\200s\265X,\0"
+ #"0k\326,Q\351\376\375\373\341\337]>Y\f8W\274\256\350\347\347'*\305-Ox"
+ #"\324U\34\264=j\177p\323J\2X/\345\345\345d\35\32k*\343:t\350PE\372J?"
+ #"\177\22\205J\256\362\347h\6\0*\271\322\177<\202\367o5\331\35W\306u"
+ #"\361\342\305\f\303\214\e7.&&\206\240f2\231\330\377\374(,,\4\200\347"
+ #"\317\237"
+) 342
+(
+ #"\253\246\370\a\264\255\t!\274\242\30\32\32j4\32\267o\337\3165\22\32"
+ #"\32\32\37\37\177\372\364\351\374\374|L\216k\37\244\27\202\270j\351"
+ #"\351\351W\257^%\20P\362\251\227\222w\343\222\300\211\271P'11\221\367"
+ #"J\0p\374\370qG\271\262\25\216R\337f\263\231\315\346\250\250(\350?"
+ #"\337\262\331l\211\211\211\274\3566::\32!\324\334\334<b\304\bB\266I"
+ #"\353{\310\220!\0000b\304\bJ}\26\354v\5\315\337\"l\332\264\t\0:::\304"
+ #"MQVk\234\260\342\277pP\4v\345\237\346\323m\34\221\312\312JQ)-W\354I"
+ #"\352,\24\18w\241<y\202\2671\244>\356\244\345\212O&)\335\244e\207+"
+ #"\312\357\0\212\213\213\201\260\371\255\250\362\361\364-\26KNN\316"
+ #"\332\265ki\16\226\310\32gO)dgg\213{W\304\325h4\322\204\207\305\370"
+ #"\361\343\353\352\352\310\\-\26KAA\1w\252\363\371\363g\r\270\"\2123"
+ #"\332111W\256\\\261X,X_x\336\340\366\355\333\311\311\311\370\224\255"
+ #"\20\311\311\311\222\256\225r\305\260\333\355&\223\311l6\323\364D\224"
+ #"?BTT\24\371\263\323\377\1\250\227\355f\254\315s9\0\0\0\0IEND\256B`"
+ #"\202"
+) 0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 20 #"                    "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"make-ir"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 4 #"doll"
+0 0 66 3 1 #" "
+0 0 20 3 4 #"9.95"
+0 0 66 3 1 #" "
+0 3          21 66 1 #"\0"
+2 -1.0 -1.0 0.0 0.0 0           5 500
+(
+ #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0\0u\b\2\0\0\0_\371Q\5\0\0\baI"
+ #"DATx\234\325\\_HS\357\e\177\217\231\332\\[h\00313m\264j!\254\314V"
+ #"\220F--\252\v#\f\242\302\274\20\262\b\212\f\274H\"\"\250 \272\311"
+ #"\253\376\b\321E\27%\366\207B\363b\375!\212\32\264\213\246i\323L\233"
+ #"\2469k\233f\233\353\375^\274\277\316\357\264\271\355l\347y\316\231"
+ #"\237\253\355\374\371<\317s\236\347}\337\347\375\313QJI2!??\177``\200"
+ #"\20\242\321h~\376\374\211*+\5\225=\0010\313\t!\36\217'==\375\375\373"
+ #"\367x\262\270d\363<\307q!WV\256\\\351p80d%\235\347\351_tww\263+\235"
+ #"\235\235{\367\356\305\220\225t\236\17A\177\177\177AA\1!\4CO%=\237"
+ #"\225\225\305\t0\3433K\226,\241\224>x\360\0E\3\252\20\334n7!\204\343"
+ #"\270\246\246\246\307\217\37\23B\32\32\32d\326A\261\260\337\272ukff"
+ #"\346\375\373\367\371+Z\255\26\273m\vA\252\234\302\204\350\352\352\32"
+ #"\34\34\24^)++\223Y\a\305<\177\352\324\251\214\214\214s\347\316)\""
+ #"\235A\311\332\236\343\270\17\37>\30\215F\245\24P\270\235_\265j\325"
+ #"\263g\317\224\222\256\244\347m6\333\332\265k\211\2106\234\343P\364T"
+ #"\254\302#\204\24\27\0273\223\204\215\274\320H\376:R;\237\24\31^\244"
+ #"\f\207\a\222\222I\221\333SJ].\327\262e\313\302o\231L&D\367\310\234T"
+ #"\305DEEEJJ\n!d\371\362\345\330\262\222\"\354\225BR\204\275R\230\255"
+ #"\306\373\375\376\232\232\32.2\366\355\333\347p8\376\374\371\23\215\5"
+ #"\273\\a \336/u\372\364\351\231yd\326;\34\323\323\323\337\276}\23\363"
+) 500
+(
+ #"\344\376\375\373\2311\375\375\375\"\311\207\206\206v\354\330!\374\20"
+ #"\255\255\255\374]e\214\267\331l\221\274\364\365\353\327Ho\2358q\342"
+ #"\356\335\273\211I\274z\365jFF\6/\245\242\242\202\312o\374\372\365"
+ #"\353\305\4\352\272u\353\220\24\370G\f\222\214\230\202\315f\263\325j"
+ #"\25\336u\273\335\365\365\3652\350f\265Ze5\236\rZ\361\350\350\350\210"
+ #"\364dss3\377\330\355\333\267\221\364\31\36\36&2\344\366|\336^ZZ\372"
+ #"\374\371\363\304\336ER\22\267\235W\253\325\354\a\2454^\313\331[\26"
+ #"\213\205\210\350\371$\b\244\270\242\224\356\332\265\vD\4\236\236X"
+ #"\375y\255V\353\361x\bD\304RJ\221<\17\37\366>\237\217\3438\217\307#"
+ #"\364\233D0\373\323\322\322@\330x\300Wx\314K\340\264\32\215\306\353"
+ #"\365\302\322\2{\36\311rB\b+D\327\257_\a\344\204\364<\263<//\217\237c"
+ #"\a\a\354H&X\205\207\347s!\366\354\331\3I\a\322f\234<y\22\212*&>}\372"
+ #"\4E\5P\346_\277~}\371\362e*\327p\30\340$\207T\343\17\37>\274a\303\6"
+ #"\20UD\342\325\253WPT\222\312<+\347\273w\357nii\1\322'6\276\177\377"
+ #"\16E%\265\302{\364\350\321\316\235;AT\21\t\266J\5\6\t\327\26g\316"
+ #"\234)//\207\252{\304\243\275\275\35\212*\361f\23i\3620&\6\6\6\26/^\f"
+ #"B\225H\330\263\242\16\233l\211\27\r\370\305\343\346JOO\367\373\375\6"
+ #"\203\341\343\307\217PJ\304%\375\367\357\337Plq\e/O&7#jjjrss\317\237?"
+ #"\17E\230\210\361\212X\336\336\336\276m\3336X\321qX\242\240\317\t\316"
+ #"G\27\233\3411\313KJJ`\305\213Dee\345\347\317\237\341y\305\264\207l"
+ #"\205\344\2349s\240\32\330\270\300j8"
+) 500
+(
+ #"\ffQ\261\244`\300\367\365\365-]\272\24Iz\354v\376\332\265kH\262c\202"
+ #"\37\267\34\37\37G\21\20=0\304<\223\0~\375\372\25\345\256\313\345\312"
+ #"\313\313c\242C\246\264`\21\315\363\354\303o\331\262\5\374\213[\255"
+ #"\326\355\333\267G\21\312@\261\303-\322Waw5\32\r\322W'\204TUU\365\366"
+ #"\366\216\214\214\\\272t)33S\250Unn.\222\334\177t\230\361\352\255["
+ #"\267\br\365\36\311\31\t\317\300'\200\320\332\336h4vvv\22\345\222\319"
+ #"\221b2\2318\216+...**\3428\216Y\16\233\314\0vE\320\361\344\311\23"
+ #"\330\350\312\311\311\241\224\366\366\366\212\17\351`0\350t:a\325\b\a"
+ #"\311\316\316F\265\234RJ\376V\253\204\220\2337oFyrllL\245R\2058\303"
+ #"\345r\201\253\364?}\220x\205hkk\23\376\235;wn\244\240+))\231\232\232"
+ #"\22>\334\323\323\303na(\246\330\362\323\356\356\356\276\276\276\224"
+ #"\224\24\275^\317\22\330(P\253\325>\237\17\\\at\343\3\201@\24W+\v\364"
+ #"\345\247\251\2510\323\201~\277\37\204G\210Y\263\352Z\311\301\f)\300"
+ #"\352\223I\206\34\306\267\266\266J'ihhp:\235\322y\376\1F\23\22\2\220"
+ #"\211\35\257\327{\364\350Q\351<B\310Q\346\215F#\310\356\177\330A{\"O"
+ #"\330\257Y\263\6\204\207_\330\a\59\214\327\353\365 <G\216\34\1\341"
+ #"\341!\207\361\205\205\205 <\26\213\345\335\273w T\fr\30?\177\376|("
+ #"\252\3\a\16@Q\221Y\267\301htt\24\220M\16\343GFF\240\250ZZZ\0g\207"
+ #"\345\330H\374\345\313\27(\252M\2336\31\f\6\376\24\31\211\220\303\363"
+ #"?~\374\0d\343{\370\322!G\222\223\223\223\303\266u\200`zz\32\252\2478"
+ #"\313j{\2\327G"
+) 500
+(
+ #"&\362\30\37s\240&^@\305\221\34\306WVV\302\22\212\334\234\27\e\260"
+ #"\375\244p`\214\275^\270p\301\357\367K\347A\367\374\275{\367\3009\217"
+ #"\35;\326\324\324$\235\a\275\266\317\316\316\36\e\e\3\247\5\31\325"
+ #"\222cS!\206\b\220\301l\364\260GZ\220\355\363\371\216\37?.\221d\326"
+ #"\214\336\206CzL\315\262^\235\20\v\26,\220\310\200k|[[\e\36\371\215\e"
+ #"7\244RHo-\243\0\233\277\252\252J\312\353\210e\336\343\361\224\226"
+ #"\226\332\355v$~\"\271\330#\366\347W\254X\321\325\325\205\307O$\257 A"
+ #",\363CCC\32\215\6\217\237\20r\350\320!)\257c\205}ZZ\332\2337oV\257^"
+ #"\215A\16\5\24\317766\6\2\201$\267\234 y\236\343\270\262\2622\31\316w"
+ #"\2248\252\203U\346\37>|\210\304,\204\324\357\v\321\334\206\342\342"
+ #"\305\213\30\264\341HMM\225\364:\220\17\376\217\362\362\362\247O\237"
+ #"\202\323\206C\257\327_\271rE\n\3\312\261\21\340\234H\202\340\313\374"
+ #"\302\205\v\3019\303\1r~\n\274\361\330Y\35\371k9;EC\22\17l\210NNN\206"
+ #"\257\37\5\304\324\324\324\274y\363\b\320\242p`\317\253T*vv)\0066o"
+ #"\336\fh9\301\350\330 \325v|!\257\253\253\3#\225\334\326\206\242\260"
+ #"\260\360\355\333\267\200\204g\317\236\345\265\35\37\37\adFIr\230\242"
+ #"\215\215\215RHB\346\341\241t\23\2\205TX\347\305\373\256\333\355\326"
+ #"\351tB\263\233\233\233\21t\244\24i\306fbb\202_9\304q\234\230\223}"
+ #"\202\301`GG\207V\253\315\312\312\342\327\236\214\216\216RJ\27-Z\204"
+ #"\241$!\230cl!3J\6\203\201\235\354%D \20\350\351\351\231\361\2703v"
+ #"\3047\245\264\276\276\36IC,\343\371#\341(\245/^\274\210\231"
+) 202
+(
+ #"\220\251T\252\203\a\17\316\270\323rbb\302\351t\n\347\271\241\224D\31"
+ #"\303\v\6\203w\356\334\251\255\255e\1777n\334\310\216]\366x<6\233\315"
+ #"\341p\f\17\17\27\24\24\30\f\206\242\242\242\230\303\357:\235nrr\222"
+ #"\377\v\271\32\r\352+\na\267\333\a\a\a\241\330\230\236\371\371\371"
+ #"\265\265\265!;p\2442\3r\361\250\256\256\6d\253\253\253\3d\23\2 \267"
+ #"\177\371\362\245\305b\t\337\6\"\235\31\e\222\312\274\335n7\231L\302+"
+ #":\235\256\272\272\332l6\233\315fi\212\311\1I\236\347\353p\265Z\355"
+ #"\365z\201T\222\17\211'9\314r\266\3s6ZN\b\371\17\24\274S\2\f\350I\266"
+ #"\0\0\0\0IEND\256B`\202"
+) 0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 26 #"                          "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"make-ir"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 6 #"rocket"
+0 0 66 3 1 #" "
+0 0 20 3 5 #"59.95"
+0 0 66 3 1 #" "
+0 3          21 66 1 #"\0"
+2 -1.0 -1.0 0.0 0.0 0           5 500
+(
+ #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0003\0\0\0u\b\2\0\0\0l\302N\f\0\0\b"
+ #"9IDATx\234\315\233[H\24_\34\307\177\353\256m\333n\332\305Z\273mIX"
+ #"\202\31\226\255\21E\322B\241ADR\30X`\5BDB/A\21R\21\24\4\322\205\324"
+ #"\207\350\16\25\21t\243\202B\"\272\240\17=\264eXRY\232!\262\233i\271"
+ #"\272\332\371?\374\326\343\354\354\\\31693\343\376\277/;s.\277\363"
+ #"\231\337\271\314\271\314\332\b!`\231\334n\367\237?\177\304\362\246"
+ #"\230\213\"Uii\351\337\277\177\205\263;LD\221\312f\263\31\264`\211"
+ #"\317\244X\302\210\26\326&\312\351t^\271rE$'1U2\17\345\346\346b\17"
+ #"\313\316\316\3465e&\331\266m\333\244Xyyy\30\276u\353V\1\27\230F\326"
+ #"\321\321!\305\272x\361b\\1\0~\277?9d3f\314\320h$\225\225\225\274n"
+ #"\263\21\223FZi\vS\264i\263\361\225eN\337\334\276};\275^\273v\255b"
+ #"\232\23'Np\3314\301gCCC\251\251\251\364V\315`ss\263\317\347\363x<"
+ #"\254v\215\2670Y=j\250\274\274\234\335\254Q2\256\207\4\200\262\2622V"
+ #"\313\306\300F\3116o\336\314\222x\362\344\311\254\226\215`\235;w\216"
+ #"\253Up\265\37C=@w\244\220\311\341p\f\17\17wvvfff\352&\266\374\215."
+ #"\325\223'O\0 ++\213)\265pUJ\235t\373\366m\256,L)\205\261B\241\20\26S"
+ #"XX\310\236\353\300\201\3\0\320\325\325e!\331\316\235;\221\254\273"
+ #"\273\233=\327\347\317\237\1\340\310\221#V\221\235={\26\261\262\262"
+ #"\262x\3632V\250 \231\327\353\305\2\232\233\233y\363.]\272\324B2#\35"
+ #"\350\321\243G,\31E\3063BHJJ"
+) 500
+(
+ #"\n\0\270\\.\261u\e\313\214Hd<;\177\376<^\24\27\27\vdg\225@u\30\311"
+ #"\213\n\4\2\17\37>\324)E\300\256q\262k\327\256\25\24\24h\247\341ng"
+ #"\321ht\334\270q\224L\254\242\320\210vv\356v\206=\313\240p\16\374\346"
+ #"\315\e\2154\334>\343\235_h\330\261\333\355CCCj\t\306t\256!\323\360"
+ #"\360\260F\2548YQQ\221p^\26\211\223m\330\260\301x\361_\276|Q\215\343"
+ #"\355\360\302\31\25\355\344\347\347\253&\20\263X\\\\l\f\2148\235N\355"
+ #"'\24\254M\351\242\\L\313\226-\323N\300Gv\343\306\r\274\b\4\2\202D#Z"
+ #"\271r\245N\n\256*\310\317\317\27\310\245(:d\334\277\177\337\204\332|"
+ #"\373\366-\277w\224\205\363(\0x\372\364\251r\n\256\a\305,n\267\333"
+ #"\270\317\b!>\237\17\0\\.\227b\254H\17X\267n\235\210\227\22\204\373Y"
+ #"\375\375\375\312\321\354\217\30\211D0\313\207\17\37L\361\331\313\227"
+ #"/5\308\310\36<x\300\3730\332\n\207\303\32\69j\363\365\353\327B\225"
+ #"\246\252I\223&i\304r\220\275\177\377\3360\f\2078\346gn\267\eWJ\354Y"
+ #"\364\213\267\331\324\fr\370\f\261\260\253\217\201\270G\215\377/\331"
+ #"\202\5\vL,\336n\267\3\200\342\234\233\233,''\307\4\242\21\341&\274r"
+ #"\337b\37~0}__\237\31cYL\370:\331\267o_b\24\267\317\334n\267!/\305k"
+ #"\316\2349\0 ;MC\261\222\365\365\365\231\bD\205d?~\374H\214b%kkk3\223"
+ #"(^\3645%\25+Ycc\243\25101M\2348\21\0\332\333\333\23\243X\311\276}"
+ #"\373f&Q\274\350,F*V\262\337\277\177\233\n\23\247\201\201\201\304\300"
+ #"$\223)z\v\305J\366\353\327/\223`\342\324\333\333\253\26\225\344Q\243"
+) 500
+(
+ #"\273\273[-*\231{A\240\331\261\222\334\316\24G\177T\222}\326\332\332"
+ #"\252\26\225d2\305\361\2\225d2\324\370\361\343\23\3\365\277?{\374\370"
+ #"qKK\213\5<\243\222~T1*\215\311\23\375\20\220\20\262b\305\n\335\364"
+ #"\272\232?\177~OO\2174\4m\372|\276\304\304\252>\v\207\303S\246L\201"
+ #"\221\205\215)}\263\265\265U\361\304i\372\364\351\211\211U\333\31buuu"
+ #"\341\255\306k\204K\204\220C\207\16\311\2\247N\235\312Jv\341\302\5\0("
+ #"//\2376m\32\206h\274FxE\317F\251\322\323\323\1`\375\372\365q\241\211"
+ #"\25\214\a\344\16\207C\32H\273\217\221v&m^\204\220\236\236\36\264I"
+ #"\327\1\322s\\yI\273w\357V$\320x\22a544\240\315{\367\356\321\300P("
+ #"\244@\326\331\331\211IO\237>m5\31\0\\\275z\25mvtt\320\360H$\22\211D"
+ #"\344d\32\305[\3413\\\6\3@4\32\225\206\327\327\327+\223566\216\r\31"
+ #"\235Y%Fedd\214\206j\27\214\37\f\254^\275\332D2\224\254\253Q\230\330"
+ #"\250\201\335$77W\251\233\3\0\314\235;\27\30\216\27\4\24\215Fe!\350"
+ #"\313\30Yuu5h\236\252fdd\0\300\314\2313M'\3\0\277\337/\275\305o\226cd"
+ #"g\316\234\201\221\25\263\242\262\263\263\1\200\16\274\346j\371\362"
+ #"\345t\23\30\0\366\354\331\3\0@\b)++\3\200\324\324T\215\326\200{\343"
+ #"\257^\2752\275\235\241\202\301\240\374\225Jojjj\2643\3@0\30\264\210"
+ #"\f\355\307\255\203\350nG\177\177\277n\316\266\2666\353\310._\276\34W"
+ #"\307{\367\356\245\316K.\31Q\334\230\266\333\355\377\a\262]\273v-Z"
+ #"\264\b\217ucd\263g\317f!{\367\356\235\245dtW\237\320=G\227\313\245"
+ #"\333\267"
+) 500
+(
+ #"\235N'\235\267X$\304\330\261c\a\320\361LcuE\345\365z\0257\aM\327\245"
+ #"K\227\0 \5w\227\177\376\374\251\233\241\260\260\360\372\365\353VcQ"
+ #"\245,Y\262\4\0\6\a\au\223\346\344\344\334\275{\327R\232\232\232\32"
+ #"\274\370\372\365+\34<x\20ot\233'\276\6,\355\1\263f\315B\230`0\230"
+ #"\302\372E\260\312J\332\\\321\r\230\t\23&\214\276\235\314z\356\364"
+ #"\364t\261\214\5\5\5\24\221\340\234\226\213L\367k\373P(\324\336\336.@"
+ #"&u^\214\f?\204\371\367\357\37\243\211[\267n\351\226\301\213U__O\261*"
+ #"++cd\363\346\315\3\0\331\216\203\232\26.\\\250\233F\200L\352\260p8L"
+ #"\360\35\260q\343F\0\370\364\351\23K#mii\261\331l6\233m\325\252U\32"
+ #"\311\214\314\313c\347\353ddEz\364\350Q\261G\244\262\333\355iii~\277"
+ #"\237B\vX\e\r$\204\340\361\342\226-[\330\311\6\a\a\217\35;\246\373"
+ #"\364F\311p7E\373\277+w\356\334I,\t\377#\241\241\343\307\217\e\"#z\3G"
+ #"mm\255\266\e4^n\\dk\326\254\341 \223mw\261\224\204\332\277\177?K\372"
+ #"\212\212\nE\343:d8!\241\222n\332\260\210\205\214\356ndff\262\222}"
+ #"\377\376]\212%0\325f!\243\366\353\352\352X\311\244Xb\337O555\325\326"
+ #"\326j$\220\316X\345\245\343\17\236\315\252a\t0I\355h\304\342?N\1\300"
+ #"\343\361(\223-^\274Xj\242\264\264\224b\5\2\1\203d\325\325\325\32\261"
+ #"\250\212\212\ne2\374\213\20^?\177\376\334,\207\21B\362\362\362\0@m"
+ #"\366AKI\374kR\254\340\252\252*\n\341p\214\36\22|\374\370\321 \31~"
+ #"\264YRR\242M\246\20\205?uuu\200\263\357\21y\275^\203LRy<\236"
+) 162
+(
+ #"\242\242\"Y \356/)62B\317P\320O8\35B\261\254\246\330\325\333\333+"
+ #"\373\23\375\300\300\0\235\335l\332\264)1Kl\275\231\226\226f\"\207"
+ #"\242JJJ\244\267'O\236\244\327\3623\n\24\272\356\346\315\233\322\300"
+ #"\206\206\6\23\253\222\352\331\263g\364Z\372}\221bb\371\0162\313\326"
+ #"\213\21\341\266\346\213\27/\22\275\243Jv\370\360a\0hjj\262\224\214("
+ #"\315:u\310\b!UUUVc\305J\345%\eKQ\254S\247N)&\370\17#l\0_X\204\310m\0"
+ #"\0\0\0IEND\256B`\202"
+) 0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 4 #"))))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 57 #";show-picture : symbol inventory -> mixed (image/boolean)"
+0 0 66 29 1 #"\n"
+0 0 17 3 56 #";Given name and an-inv, this function produces the image"
+0 0 66 29 1 #"\n"
+0 0 17 3 44 #";of the toy with the corresponding name.  If"
+0 0 66 29 1 #"\n"
+0 0 17 3 51 #";the toy is not in the inventory, false is returned"
+0 0 66 29 1 #"\n"
+0 0 17 3 9 #";instead."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"show-picture"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"false"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-image"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"show-picture"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 5 #"))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 38 #";price-of : symbol inventory -> number"
+0 0 66 29 1 #"\n"
+0 0 17 3 42 #";Given name and an-inv, it finds the price"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";of the corresponding toy with the name."
+0 0 66 29 1 #"\n"
+0 0 17 3 47 #";Returns 0 if the item is not in the inventory."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"price-of"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"0"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-price"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"price-of"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 5 #"))]))"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 16 #";Data Definition"
+0 0 66 29 1 #"\n"
+0 0 17 3 39 #";A record (phone record) is a structure"
+0 0 66 29 1 #"\n"
+0 0 17 3 42 #";(make-record s n) where s is a symbol and"
+0 0 66 29 1 #"\n"
+0 0 17 3 15 #";n is a number."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 13 #"define-struct"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"record"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"name"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"number"
+0 0 22 3 2 #"))"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 16 #";Data Definition"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 22 #";A directory is either"
+0 0 66 29 1 #"\n"
+0 0 17 3 20 #";1. an empty list or"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";2. (cons r dir) where r is a record and"
+0 0 66 29 1 #"\n"
+0 0 17 3 20 #";dir is a directory."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 42 #";whose-number : number directory -> symbol"
+0 0 66 29 1 #"\n"
+0 0 17 3 47 #";Given a-num and a-dir, finds the corresponding"
+0 0 66 29 1 #"\n"
+0 0 17 3 44 #";name of the person who owns the number.  If"
+0 0 66 29 1 #"\n"
+0 0 17 3 44 #";the person is not in the directory, returns"
+0 0 66 29 1 #"\n"
+0 0 17 3 28 #";the symbol 'NotInDirectory."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 9 #";Template"
+0 0 66 29 1 #"\n"
+0 0 17 3 31 #";(define (dir-func a-num a-dir)"
+0 0 66 29 1 #"\n"
+0 0 17 3 8 #";  (cond"
+0 0 66 29 1 #"\n"
+0 0 17 3 26 #";    [(empty? a-dir) ... ]"
+0 0 66 29 1 #"\n"
+0 0 17 3 60
+#";    [... (first a-dir) (dir-func a-num (rest a-dir)) ...]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"whose-number"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-num"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 15 #"NotInDirectory."
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #"="
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 13 #"record-number"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-num"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 5 #"     "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"record-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"whose-number"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-num"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 5 #"))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";phone-number : name directory -> number"
+0 0 66 29 1 #"\n"
+0 0 17 3 54 #";Given name and a-dir, finds the corresponding number."
+0 0 66 29 1 #"\n"
+0 0 17 3 41 #";Returns 0 if no number in the directory."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"phone-number"
+0 0 67 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 67 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 67 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 67 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 67 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 1 #")"
+0 0 67 3 1 #" "
+0 0 20 3 1 #"0"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 67 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"record-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 5 #"     "
+0 0 22 3 1 #"("
+0 0 14 3 13 #"record-number"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"phone-number"
+0 0 66 3 1 #" "
+0 0 14 3 4 #"name"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 67 3 1 #" "
+0 0 14 3 5 #"a-dir"
+0 0 22 3 5 #"))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"list2"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"make-record"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 9 #"HsinyaLin"
+0 0 66 3 1 #" "
+0 0 20 3 10 #"6265939257"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"make-record"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 9 #"RonRonLin"
+0 0 66 11 1 #" "
+0 0 20 3 10 #"6267157010"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 11 #"make-record"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"'"
+0 0 14 3 8 #"TunaFish"
+0 0 66 3 1 #" "
+0 0 20 3 7 #"8888888"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 4 #"))))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 40 #";extract : inventory number -> inventory"
+0 0 66 29 1 #"\n"
+0 0 17 3 48 #";Given an-inv and price, it returns an inventory"
+0 0 66 29 1 #"\n"
+0 0 17 3 46 #";composed of inventory records (ir) which have"
+0 0 66 29 1 #"\n"
+0 0 17 3 27 #";prices greater than price."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 9 #";Template"
+0 0 66 29 1 #"\n"
+0 0 17 3 31 #";(define (extract an-inv price)"
+0 0 66 29 1 #"\n"
+0 0 17 3 8 #";  (cond"
+0 0 66 29 1 #"\n"
+0 0 17 3 26 #";    [(empty? an-inv) ...]"
+0 0 66 29 1 #"\n"
+0 0 17 3 5 #";    "
+0 0 17 3 1 #"["
+0 0 17 3 3 #"..."
+0 0 17 3 47 #" (first an-inv) (extract (rest an-inv)) ...])) "
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"extract"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"price"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 1 #">"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-price"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"price"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 5 #"     "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"extract"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"price"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"extract"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"price"
+0 0 22 3 4 #")]))"
+0 0 66 3 1 #" "
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"RAISE"
+0 0 66 3 1 #" "
+0 0 20 3 4 #"0.05"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 38 #";raise-prices : inventory -> inventory"
+0 0 66 29 1 #"\n"
+0 0 17 3 51 #";Consumes an-inv and produces an inventory in which"
+0 0 66 29 1 #"\n"
+0 0 17 3 48 #";the price of each inventory record is increased"
+0 0 66 29 1 #"\n"
+0 0 17 3 18 #";by RAISE percent."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 17 3 9 #";Template"
+0 0 66 29 1 #"\n"
+0 0 17 3 30 #";(define (raise-prices an-inv)"
+0 0 66 29 1 #"\n"
+0 0 17 3 8 #";  (cond"
+0 0 66 29 1 #"\n"
+0 0 17 3 19 #";    [(empty?) ...]"
+0 0 66 29 1 #"\n"
+0 0 17 3 5 #";    "
+0 0 17 3 1 #"["
+0 0 17 3 4 #"else"
+0 0 17 3 51 #" ... (first an-inv) (raise-prices (rest an-inv))]))"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"raise-prices"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"make-ir"
+0 0 66 3 1 #" "
+0 0 66 29 1 #"\n"
+0 0 66 3 17 #"                 "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 29 1 #"\n"
+0 0 66 3 17 #"                 "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"*"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-price"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 1 #"+"
+0 0 66 3 1 #" "
+0 0 20 3 1 #"1"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"RAISE"
+0 0 22 3 2 #"))"
+0 0 66 29 1 #"\n"
+0 0 66 3 17 #"                 "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-image"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 3 #")))"
+0 0 66 29 1 #"\n"
+0 0 66 3 16 #"                "
+0 0 22 3 1 #"("
+0 0 14 3 12 #"raise-prices"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 6 #")))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 26 #";Contract, Purpose, Header"
+0 0 66 29 1 #"\n"
+0 0 17 3 39 #";recall : symbol inventory -> inventory"
+0 0 66 29 1 #"\n"
+0 0 17 3 50 #";Removes the inventory record (ir) associated with"
+0 0 66 29 1 #"\n"
+0 0 17 3 23 #";ty from the inventory."
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 30 #";(define (raise-prices an-inv)"
+0 0 66 29 1 #"\n"
+0 0 17 3 8 #";  (cond"
+0 0 66 29 1 #"\n"
+0 0 17 3 19 #";    [(empty?) ...]"
+0 0 66 29 1 #"\n"
+0 0 17 3 5 #";    "
+0 0 17 3 1 #"["
+0 0 17 3 55 #"else ... (first an-inv) (raise-prices (rest an-inv))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"recall"
+0 0 66 3 1 #" "
+0 0 14 3 2 #"ty"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 2 #"  "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 2 #"ty"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"recall"
+0 0 66 3 1 #" "
+0 0 14 3 2 #"ty"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 3 #"))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 6 #"recall"
+0 0 66 3 1 #" "
+0 0 14 3 2 #"ty"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 6 #")))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 10 #"substitute"
+0 0 17 3 1 #" "
+0 0 17 3 1 #":"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"symbol"
+0 0 17 3 30 #" symbol inventory -> inventory"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 5 #"Given"
+0 0 17 3 1 #" "
+0 0 17 3 3 #"old"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 3 #"new"
+0 0 17 3 1 #","
+0 0 17 3 1 #" "
+0 0 17 3 3 #"and"
+0 0 17 3 1 #" "
+0 0 17 3 6 #"an-inv"
+0 0 17 3 1 #","
+0 0 17 3 20 #" replace the name of"
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 17 3 2 #"an"
+0 0 17 3 1 #" "
+0 0 17 3 9 #"inventory"
+0 0 17 3 1 #" "
+0 0 17 3 7 #"record "
+0 0 17 3 4 #"with"
+0 0 17 3 24 #" name old with name new."
+0 0 66 29 1 #"\n"
+0 0 17 3 1 #";"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0 0 22 3 1 #"("
+0 0 15 3 6 #"define"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 10 #"substitute"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"old"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"new"
+0 0 67 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 15 3 4 #"cond"
+0 0 66 29 1 #"\n"
+0 0 67 3 3 #"   "
+0 0 22 3 2 #"[("
+0 0 14 3 6 #"empty?"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 67 3 1 #" "
+0 0 14 3 5 #"empty"
+0 0 22 3 1 #"]"
+0 0 66 29 1 #"\n"
+0 0 67 3 3 #"   "
+0 0 22 3 2 #"[("
+0 0 14 3 8 #"symbol=?"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"ir-name"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"old"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 4 #"    "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 7 #"make-ir"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"new"
+0 0 66 29 1 #"\n"
+0 0 66 3 19 #"                   "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-price"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 2 #"))"
+0 0 66 29 1 #"\n"
+0 0 66 3 19 #"                   "
+0 0 22 3 1 #"("
+0 0 14 3 8 #"ir-image"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 3 #")))"
+0 0 66 29 1 #"\n"
+0 0 66 3 10 #"          "
+0 0 22 3 1 #"("
+0 0 14 3 10 #"substitute"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"old"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"new"
+0 0 66 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 66 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 4 #")))]"
+0 0 66 29 1 #"\n"
+0 0 66 3 3 #"   "
+0 0 22 3 1 #"["
+0 0 14 3 4 #"else"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"cons"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 5 #"first"
+0 0 67 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 1 #")"
+0 0 66 29 1 #"\n"
+0 0 66 3 15 #"               "
+0 0 22 3 1 #"("
+0 0 14 3 10 #"substitute"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"old"
+0 0 66 3 1 #" "
+0 0 14 3 3 #"new"
+0 0 67 3 1 #" "
+0 0 22 3 1 #"("
+0 0 14 3 4 #"rest"
+0 0 67 3 1 #" "
+0 0 14 3 6 #"an-inv"
+0 0 22 3 6 #")))]))"
+0 0 66 29 1 #"\n"
+0 0 66 29 1 #"\n"
+0           0
blob - /dev/null
blob + c3c0261f061142511db6168cc073c3a87df55547 (mode 644)
--- /dev/null
+++ 10.3.1.ss
@@ -0,0 +1,185 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 10.3.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;Data Definitions

+;

+;A circle is a structure

+;(make-circle p n s) where p is a posn,

+;n is a number, and s is a symbol.

+

+(define-struct circle (center radius color))

+;

+;A rectangle is a structure

+;(make-rectangle p m n s) where p is a posn,

+;m and n are numbers, and s is a symbol.

+

+(define-struct rectangle (upper-left width height color))

+

+;A shape is either

+;1. a circle or

+;2. a rectangle.

+;

+;A list-of-shapes is either

+;1. an empty list or

+;2. (cons s los) where s is a shape and

+;los is a list-of-shapes.

+

+(define FACE (cons

+              (make-circle (make-posn 50 50)

+                           40

+                           'red)

+              (cons

+               (make-rectangle (make-posn 30 20)

+                               5

+                               5

+                               'blue)

+               (cons

+                (make-rectangle (make-posn 65 20)

+                                5

+                                5

+                                'blue)

+                (cons

+                 (make-rectangle (make-posn 40 75)

+                                 20

+                                 10

+                                 'red)

+                 (cons

+                  (make-rectangle (make-posn 45 35)

+                                  10

+                                  30

+                                  'blue) empty))))))

+

+;Template

+;fun-for-losh : list-of-shapes -> ???

+;Consumes a list-of-shapes.

+;

+;(define (fun-for-losh alosh)

+;  (cond

+;    [(empty? alosh) ...]

+;    [(circle? (first alosh)) ... (first alosh) (fun-for-losh (rest alosh))]

+;    [(rectangle? (first alosh)) ...(first alosh) (fun-for-losh (rest alosh))]

+;    [else ...]))

+

+;draw-losh : list-of-shapes -> boolean

+;Consumes alosh and draws the shapes on the canvas,

+;returning true.  If drawing fails, it returns false.

+

+(define (draw-losh alosh)

+  (cond

+    [(empty? alosh) true]

+    [(circle? (first alosh)) (and

+                              (draw-a-circle (first alosh))

+                              (draw-losh (rest alosh)))]

+    [(rectangle? (first alosh)) (and

+                                 (draw-a-rectangle (first alosh))

+                                 (draw-losh (rest alosh)))]

+    [else false]))

+

+;draw-a-circle : circle -> boolean?

+;Draws a circle given a-circle (struct circle).

+

+(define (draw-a-circle a-circle)

+  (draw-solid-disk (circle-center a-circle)

+                   (circle-radius a-circle)

+                   (circle-color a-circle)))

+

+; draw-a-rectangle : rectangle -> boolean

+; Returns true after drawing, consumes a-rect.

+

+(define (draw-a-rectangle a-rect)

+  (draw-solid-rect (rectangle-upper-left a-rect)

+                   (rectangle-width a-rect)

+                   (rectangle-height a-rect)

+                   (rectangle-color a-rect)))

+

+;translate-losh : list-of-shapes number -> list-of-shapes

+;Given alosh, returns a list-of-shapes that have translated

+;delta pixels in the x direction.  This function

+;does not affect the canvas.

+

+(define (translate-losh alosh delta)

+  (cond

+    [(empty? alosh) empty]

+    [(circle? (first alosh))

+     (cons

+      (make-circle

+       (make-posn (+ (posn-x (circle-center (first alosh)))

+                     delta)

+                  (posn-y (circle-center (first alosh))))

+       (circle-radius (first alosh))

+       (circle-color (first alosh)))

+      (translate-losh (rest alosh) delta))]

+    [(rectangle? (first alosh))

+     (cons

+      (make-rectangle

+       (make-posn (+ (posn-x (rectangle-upper-left (first alosh)))

+                     delta)

+                  (posn-y (rectangle-upper-left (first alosh))))

+       (rectangle-width (first alosh))

+       (rectangle-height (first alosh))

+       (rectangle-color (first alosh)))

+      (translate-losh (rest alosh) delta))]

+    [else (error 'translate-losh "unexpected error")]))

+

+;clear-losh : list-of-shapes -> boolean

+;Clears shapes corresponding to entries in alosh

+;and returns true.  Does so by calling clear-a-rectangle

+;and clear-a-circle.

+

+(define (clear-losh alosh)

+  (cond

+    [(empty? alosh) true]

+    [(circle? (first alosh)) (and

+                              (clear-a-circle (first alosh))

+                              (clear-losh (rest alosh)))]

+    [(rectangle? (first alosh)) (and

+                                 (clear-a-rectangle (first alosh))

+                                 (clear-losh (rest alosh)))]

+    [else false]))

+

+; clear-a-circle : circle -> boolean

+; Clears a circle given a-circle, returns true if

+; evaluation completes successfully, false otherwise.

+

+(define (clear-a-circle a-circle)

+  (clear-solid-disk (circle-center a-circle)

+                    (circle-radius a-circle)))

+

+; clear-a-rectangle : rectangle -> boolean

+; Clears rectangle specified by a-rect and returns true

+; if evaluation suceeds, false otherwise.

+

+(define (clear-a-rectangle a-rect)

+  (clear-solid-rect (rectangle-upper-left a-rect)

+                    (rectangle-width a-rect)

+                    (rectangle-height a-rect)))

+

+;Data Definition

+;

+;A picture is a list-of-shapes?, I think.

+;

+;draw-and-clear-picture : picture -> boolean

+;Draws alosh, sleeps for a while, then clears alosh.

+;!!!CHANGE!!! Now it clears, sleeps for a while,

+;then draws alosh.

+

+(define (draw-and-clear-picture alosh)

+  (and

+

+   (draw-losh alosh)

+;   (sleep-for-a-while 2)

+   (clear-losh alosh)))

+;

+;move-picture : number picture -> picture

+;Draws a picture delta pixels to the right, sleeps for a while,

+;clears the picture, and then returns the translated picture.

+

+(define (move-picture delta alosh)

+  (cond

+   [(draw-and-clear-picture (translate-losh alosh delta))

+    (translate-losh alosh delta)]

+   [else false]))

+

+(start 500 100)

+

+(control-left-right FACE 100 move-picture draw-losh)
\ No newline at end of file
blob - /dev/null
blob + f3cbdd2f0eb55743c0d05d2059410503f7ebf538 (mode 644)
--- /dev/null
+++ 11.2.1.bak
@@ -0,0 +1,185 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.2.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;Data Definitions

+;

+;A circle is a structure

+;(make-circle p n s) where p is a posn,

+;n is a number, and s is a symbol.

+

+(define-struct circle (center radius color))

+;

+;A rectangle is a structure

+;(make-rectangle p m n s) where p is a posn,

+;m and n are numbers, and s is a symbol.

+

+(define-struct rectangle (upper-left width height color))

+

+;A shape is either

+;1. a circle or

+;2. a rectangle.

+;

+;A list-of-shapes is either

+;1. an empty list or

+;2. (cons s los) where s is a shape and

+;los is a list-of-shapes.

+

+(define FACE (cons

+              (make-circle (make-posn 50 50)

+                           40

+                           'red)

+              (cons

+               (make-rectangle (make-posn 30 20)

+                               5

+                               5

+                               'blue)

+               (cons

+                (make-rectangle (make-posn 65 20)

+                                5

+                                5

+                                'blue)

+                (cons

+                 (make-rectangle (make-posn 40 75)

+                                 20

+                                 10

+                                 'red)

+                 (cons

+                  (make-rectangle (make-posn 45 35)

+                                  10

+                                  30

+                                  'blue) empty))))))

+

+;Template

+;fun-for-losh : list-of-shapes -> ???

+;Consumes a list-of-shapes.

+;

+;(define (fun-for-losh alosh)

+;  (cond

+;    [(empty? alosh) ...]

+;    [(circle? (first alosh)) ... (first alosh) (fun-for-losh (rest alosh))]

+;    [(rectangle? (first alosh)) ...(first alosh) (fun-for-losh (rest alosh))]

+;    [else ...]))

+

+;draw-losh : list-of-shapes -> boolean

+;Consumes alosh and draws the shapes on the canvas,

+;returning true.  If drawing fails, it returns false.

+

+(define (draw-losh alosh)

+  (cond

+    [(empty? alosh) true]

+    [(circle? (first alosh)) (and

+                              (draw-a-circle (first alosh))

+                              (draw-losh (rest alosh)))]

+    [(rectangle? (first alosh)) (and

+                                 (draw-a-rectangle (first alosh))

+                                 (draw-losh (rest alosh)))]

+    [else false]))

+

+;draw-a-circle : circle -> boolean?

+;Draws a circle given a-circle (struct circle).

+

+(define (draw-a-circle a-circle)

+  (draw-solid-disk (circle-center a-circle)

+                   (circle-radius a-circle)

+                   (circle-color a-circle)))

+

+; draw-a-rectangle : rectangle -> boolean

+; Returns true after drawing, consumes a-rect.

+

+(define (draw-a-rectangle a-rect)

+  (draw-solid-rect (rectangle-upper-left a-rect)

+                   (rectangle-width a-rect)

+                   (rectangle-height a-rect)

+                   (rectangle-color a-rect)))

+

+;translate-losh : list-of-shapes number -> list-of-shapes

+;Given alosh, returns a list-of-shapes that have translated

+;delta pixels in the x direction.  This function

+;does not affect the canvas.

+

+(define (translate-losh alosh delta)

+  (cond

+    [(empty? alosh) empty]

+    [(circle? (first alosh))

+     (cons

+      (make-circle

+       (make-posn (+ (posn-x (circle-center (first alosh)))

+                     delta)

+                  (posn-y (circle-center (first alosh))))

+       (circle-radius (first alosh))

+       (circle-color (first alosh)))

+      (translate-losh (rest alosh) delta))]

+    [(rectangle? (first alosh))

+     (cons

+      (make-rectangle

+       (make-posn (+ (posn-x (rectangle-upper-left (first alosh)))

+                     delta)

+                  (posn-y (rectangle-upper-left (first alosh))))

+       (rectangle-width (first alosh))

+       (rectangle-height (first alosh))

+       (rectangle-color (first alosh)))

+      (translate-losh (rest alosh) delta))]

+    [else (error 'translate-losh "unexpected error")]))

+

+;clear-losh : list-of-shapes -> boolean

+;Clears shapes corresponding to entries in alosh

+;and returns true.  Does so by calling clear-a-rectangle

+;and clear-a-circle.

+

+(define (clear-losh alosh)

+  (cond

+    [(empty? alosh) true]

+    [(circle? (first alosh)) (and

+                              (clear-a-circle (first alosh))

+                              (clear-losh (rest alosh)))]

+    [(rectangle? (first alosh)) (and

+                                 (clear-a-rectangle (first alosh))

+                                 (clear-losh (rest alosh)))]

+    [else false]))

+

+; clear-a-circle : circle -> boolean

+; Clears a circle given a-circle, returns true if

+; evaluation completes successfully, false otherwise.

+

+(define (clear-a-circle a-circle)

+  (clear-solid-disk (circle-center a-circle)

+                    (circle-radius a-circle)))

+

+; clear-a-rectangle : rectangle -> boolean

+; Clears rectangle specified by a-rect and returns true

+; if evaluation suceeds, false otherwise.

+

+(define (clear-a-rectangle a-rect)

+  (clear-solid-rect (rectangle-upper-left a-rect)

+                    (rectangle-width a-rect)

+                    (rectangle-height a-rect)))

+

+;Data Definition

+;

+;A picture is a list-of-shapes?, I think.

+;

+;draw-and-clear-picture : picture -> boolean

+;Draws alosh, sleeps for a while, then clears alosh.

+;!!!CHANGE!!! Now it clears, sleeps for a while,

+;then draws alosh.

+

+(define (draw-and-clear-picture alosh)

+  (and

+

+   (draw-losh alosh)

+;   (sleep-for-a-while 2)

+   (clear-losh alosh)))

+;

+;move-picture : number picture -> picture

+;Draws a picture delta pixels to the right, sleeps for a while,

+;clears the picture, and then returns the translated picture.

+

+(define (move-picture delta alosh)

+  (cond

+   [(draw-and-clear-picture (translate-losh alosh delta))

+    (translate-losh alosh delta)]

+   [else false]))

+

+(start 500 100)

+

+(control-left-right FACE 100 move-picture draw-losh)
\ No newline at end of file
blob - /dev/null
blob + 979dfd3ab84956e7f7928a56d057236937a0e237 (mode 644)
--- /dev/null
+++ 11.2.1.ss
@@ -0,0 +1,44 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.2.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A natural-number is

+;1. 0 or

+;2. (add1 n) where n is a natural-number.

+;

+;A list-of-symbols is

+;1. an empty list or

+;2. (cons s los) where s is a symbol and

+;los is a list-of-symbols.

+;

+;repeat : natural-number symbol -> list-of-symbols

+;Given a natural-number n, returns word n times

+;as a list-of-symbols.

+;

+;Template

+;(define (repeat n word)

+;  (cond

+;    [(zero? n) ...]

+;    [else ... (repeat (sub1 n)) ...]))

+

+(define (repeat n word)

+  (cond

+    [(zero? n) empty]

+    [else (cons word (repeat (sub1 n) word))]))

+

+;; f : number  ->  number

+(define (f x)

+  (+ (* 3 (* x x)) 

+     (+ (* -6 x)

+        -1)))

+;

+;A list-of-posns is either

+;1. an empty list or

+;2. (cons p lop) where p is a posn and lop is a list-of-posns.

+;tabulate-f : natural-number -> list-of-posns

+;Creates a "table".  Returns a list of n posns of the form

+;(cons (make-posn (f n) n) (cons (make-posn (f (- n 1) (- n 1)))...

+

+(define (tabulate-f n)

+  (cond

+    [(zero? n) empty]

+    [else (cons (make-posn (f n) n) (tabulate-f (sub1 n)))]))
\ No newline at end of file
blob - /dev/null
blob + 52ad5e78c3332171930134ce0f72349f56debd66 (mode 644)
--- /dev/null
+++ 11.2.3.bak
@@ -0,0 +1,44 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.2.3) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A natural-number is

+;1. 0 or

+;2. (add1 n) where n is a natural-number.

+;

+;A list-of-symbols is

+;1. an empty list or

+;2. (cons s los) where s is a symbol and

+;los is a list-of-symbols.

+;

+;repeat : natural-number symbol -> list-of-symbols

+;Given a natural-number n, returns word n times

+;as a list-of-symbols.

+;

+;Template

+;(define (repeat n word)

+;  (cond

+;    [(zero? n) ...]

+;    [else ... (repeat (sub1 n)) ...]))

+

+(define (repeat n word)

+  (cond

+    [(zero? n) empty]

+    [else (cons word (repeat (sub1 n) word))]))

+

+;; f : number  ->  number

+(define (f x)

+  (+ (* 3 (* x x)) 

+     (+ (* -6 x)

+        -1)))

+;

+;A list-of-posns is either

+;1. an empty list or

+;2. (cons p lop) where p is a posn and lop is a list-of-posns.

+;tabulate-f : natural-number -> list-of-posns

+;Creates a "table".  Returns a list of n posns of the form

+;(cons (make-posn (f n) n) (cons (make-posn (f (- n 1) (- n 1)))...

+

+(define (tabulate-f n)

+  (cond

+    [(zero? n) empty]

+    [else (cons (make-posn (f n) n) (tabulate-f (sub1 n)))]))
\ No newline at end of file
blob - /dev/null
blob + 1b571e18c3529dbde8bcb2f34778e29595d49abf (mode 644)
--- /dev/null
+++ 11.2.3.ss
@@ -0,0 +1,240 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.2.3) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;Data Definitions

+;

+;A circle is a structure

+;(make-circle p n s) where p is a posn,

+;n is a number, and s is a symbol.

+

+(define-struct circle (center radius color))

+;

+;A rectangle is a structure

+;(make-rectangle p m n s) where p is a posn,

+;m and n are numbers, and s is a symbol.

+

+(define-struct rectangle (upper-left width height color))

+

+;A shape is either

+;1. a circle or

+;2. a rectangle.

+;

+;A list-of-shapes is either

+;1. an empty list or

+;2. (cons s los) where s is a shape and

+;los is a list-of-shapes.

+

+(define FACE (cons

+              (make-circle (make-posn 50 50)

+                           40

+                           'red)

+              (cons

+               (make-rectangle (make-posn 30 20)

+                               5

+                               5

+                               'blue)

+               (cons

+                (make-rectangle (make-posn 65 20)

+                                5

+                                5

+                                'blue)

+                (cons

+                 (make-rectangle (make-posn 40 75)

+                                 20

+                                 10

+                                 'red)

+                 (cons

+                  (make-rectangle (make-posn 45 35)

+                                  10

+                                  30

+                                  'blue) empty))))))

+

+;Template

+;fun-for-losh : list-of-shapes -> ???

+;Consumes a list-of-shapes.

+;

+;(define (fun-for-losh alosh)

+;  (cond

+;    [(empty? alosh) ...]

+;    [(circle? (first alosh)) ... (first alosh) (fun-for-losh (rest alosh))]

+;    [(rectangle? (first alosh)) ...(first alosh) (fun-for-losh (rest alosh))]

+;    [else ...]))

+

+;draw-losh : list-of-shapes -> boolean

+;Consumes alosh and draws the shapes on the canvas,

+;returning true.  If drawing fails, it returns false.

+

+(define (draw-losh alosh)

+  (cond

+    [(empty? alosh) true]

+    [(circle? (first alosh)) (and

+                              (draw-a-circle (first alosh))

+                              (draw-losh (rest alosh)))]

+    [(rectangle? (first alosh)) (and

+                                 (draw-a-rectangle (first alosh))

+                                 (draw-losh (rest alosh)))]

+    [else false]))

+

+;draw-a-circle : circle -> boolean?

+;Draws a circle given a-circle (struct circle).

+

+(define (draw-a-circle a-circle)

+  (draw-solid-disk (circle-center a-circle)

+                   (circle-radius a-circle)

+                   (circle-color a-circle)))

+

+; draw-a-rectangle : rectangle -> boolean

+; Returns true after drawing, consumes a-rect.

+

+(define (draw-a-rectangle a-rect)

+  (draw-solid-rect (rectangle-upper-left a-rect)

+                   (rectangle-width a-rect)

+                   (rectangle-height a-rect)

+                   (rectangle-color a-rect)))

+

+;translate-losh : list-of-shapes number -> list-of-shapes

+;Given alosh, returns a list-of-shapes that have translated

+;delta pixels in the x direction.  This function

+;does not affect the canvas.

+

+(define (translate-losh alosh delta)

+  (cond

+    [(empty? alosh) empty]

+    [(circle? (first alosh))

+     (cons

+      (make-circle

+       (make-posn (+ (posn-x (circle-center (first alosh)))

+                     delta)

+                  (posn-y (circle-center (first alosh))))

+       (circle-radius (first alosh))

+       (circle-color (first alosh)))

+      (translate-losh (rest alosh) delta))]

+    [(rectangle? (first alosh))

+     (cons

+      (make-rectangle

+       (make-posn (+ (posn-x (rectangle-upper-left (first alosh)))

+                     delta)

+                  (posn-y (rectangle-upper-left (first alosh))))

+       (rectangle-width (first alosh))

+       (rectangle-height (first alosh))

+       (rectangle-color (first alosh)))

+      (translate-losh (rest alosh) delta))]

+    [else (error 'translate-losh "unexpected error")]))

+

+;clear-losh : list-of-shapes -> boolean

+;Clears shapes corresponding to entries in alosh

+;and returns true.  Does so by calling clear-a-rectangle

+;and clear-a-circle.

+

+(define (clear-losh alosh)

+  (cond

+    [(empty? alosh) true]

+    [(circle? (first alosh)) (and

+                              (clear-a-circle (first alosh))

+                              (clear-losh (rest alosh)))]

+    [(rectangle? (first alosh)) (and

+                                 (clear-a-rectangle (first alosh))

+                                 (clear-losh (rest alosh)))]

+    [else false]))

+

+; clear-a-circle : circle -> boolean

+; Clears a circle given a-circle, returns true if

+; evaluation completes successfully, false otherwise.

+

+(define (clear-a-circle a-circle)

+  (clear-solid-disk (circle-center a-circle)

+                    (circle-radius a-circle)))

+

+; clear-a-rectangle : rectangle -> boolean

+; Clears rectangle specified by a-rect and returns true

+; if evaluation suceeds, false otherwise.

+

+(define (clear-a-rectangle a-rect)

+  (clear-solid-rect (rectangle-upper-left a-rect)

+                    (rectangle-width a-rect)

+                    (rectangle-height a-rect)))

+

+;Data Definition

+;

+;A picture is a list-of-shapes?, I think.

+;

+;draw-and-clear-picture : picture -> boolean

+;Draws alosh, sleeps for a while, then clears alosh.

+;!!!CHANGE!!! Now it clears, sleeps for a while,

+;then draws alosh.

+

+(define (draw-and-clear-picture alosh)

+  (and

+

+   (draw-losh alosh)

+   (sleep-for-a-while 0.1)

+   (clear-losh alosh)))

+;

+;move-picture : number picture -> picture

+;Draws a picture delta pixels to the right, sleeps for a while,

+;clears the picture, and then returns the translated picture.

+

+(define (move-picture delta alosh)

+  (cond

+   [(draw-and-clear-picture (translate-losh alosh delta))

+    (translate-losh alosh delta)]

+   [else false]))

+

+(start 500 100)

+

+;A natural-number is

+;1. 0 or

+;2. (add1 n) where n is a natural-number.

+;

+;A list-of-symbols is

+;1. an empty list or

+;2. (cons s los) where s is a symbol and

+;los is a list-of-symbols.

+;

+;repeat : natural-number symbol -> list-of-symbols

+;Given a natural-number n, returns word n times

+;as a list-of-symbols.

+;

+;Template

+;(define (repeat n word)

+;  (cond

+;    [(zero? n) ...]

+;    [else ... (repeat (sub1 n)) ...]))

+

+(define (repeat n word)

+  (cond

+    [(zero? n) empty]

+    [else (cons word (repeat (sub1 n) word))]))

+

+;; f : number  ->  number

+(define (f x)

+  (+ (* 3 (* x x)) 

+     (+ (* -6 x)

+        -1)))

+;

+;A list-of-posns is either

+;1. an empty list or

+;2. (cons p lop) where p is a posn and lop is a list-of-posns.

+;tabulate-f : natural-number -> list-of-posns

+;Creates a "table".  Returns a list of n posns of the form

+;(cons (make-posn (f n) n) (cons (make-posn (f (- n 1) (- n 1)))...

+

+(define (tabulate-f n)

+  (cond

+    [(zero? n) empty]

+    [else (cons (make-posn (f n) n) (tabulate-f (sub1 n)))]))

+;

+;apply-n : natural-number list-of-shapes -> boolean

+;Applies the function move-picture n times to alosh.

+;Returns true if evaluation succeeds.

+;

+;Template

+;(define (apply-n n alosh)

+;  (cond

+;    [(zero? n) true]

+;    [else ... (apply-n (sub1 n))]

+;    

+(define (apply-n n alosh)

+  (cond

+    [(zero? n) alosh]

+    [else (move-picture 4 (apply-n (sub1 n) alosh))]))
\ No newline at end of file
blob - /dev/null
blob + 3386c76a71d910530cff3c4123426db4c62fdd2b (mode 644)
--- /dev/null
+++ 11.2.4.bak
@@ -0,0 +1,15 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.2.4) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+A deep-list is either

+1. a symbol or

+2. (cons dl empty) where dl is a deep-list.

+

+depth : deep-list -> number

+Consumes a deep-list dl and determines how many

+cons were used to construct it.

+

+(define (depth dl)

+  (cond

+    []

+    []))
\ No newline at end of file
blob - /dev/null
blob + fe0a7e3eaef18a8ed91ce6a180e3cf5a3d934779 (mode 644)
--- /dev/null
+++ 11.2.4.ss
@@ -0,0 +1,50 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.2.4) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A deep-list is either

+;1. a symbol or

+;2. (cons dl empty) where dl is a deep-list.

+;

+;depth : deep-list -> number

+;Consumes a deep-list dl and determines how many

+;cons were used to construct it.

+;

+;Examples

+;(depth (cons (cons (cons 'food empty) empty) empty))

+;3

+;(depth (cons 'food empty))

+;1

+;(depth 'food)

+;0

+

+(define (depth dl)

+  (cond

+    [(symbol? dl) 0]

+    [(cons? dl) (+ 1 (depth (first dl)))]))

+

+;Test

+;(define dl1 (cons (cons (cons 'food empty) empty) empty))

+;

+;make-deep : symbol natural-number -> deep-list

+;Consumes word and n to produce a deep-list

+;containing word constructed using n cons's.

+;

+;Examples:

+;(make-deep 'hey 3)

+;(cons (cons (cons 'hey empty) empty) empty)

+;(make-deep 'hey 0)

+;'hey

+;(make-deep 'hey 1)

+;(cons 'hey empty)

+;

+;Template

+;(define (make-deep word n)

+;  (cond

+;    [(zero? n) ...]

+;    [(> n 0) ... (make-deep word (sub1 n))]))

+

+(define (make-deep word n)

+  (cond

+    [(zero? n) word]

+    [(> n 0) (cons (make-deep word (sub1 n)) empty)]))

+

blob - /dev/null
blob + 94df811dac0e0d128686c0d11a6bb279f58a154d (mode 644)
--- /dev/null
+++ 11.3.1.bak
@@ -0,0 +1,10 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.3.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;;Produces an intenger between n and m-1

+

+;; random-n-m : integer integer  ->  integer

+;; ... 

+;; Assume: n < m

+(define (random-n-m n m)

+  (+ (random (- m n)) n))

blob - /dev/null
blob + 97dd3a993a39dc4830366a46513d6761e28a6676 (mode 644)
--- /dev/null
+++ 11.3.1.ss
@@ -0,0 +1,64 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.3.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;;Produces an intenger between n and m-1

+

+;; random-n-m : integer integer  ->  integer

+;; ... 

+;; Assume: n < m

+(define (random-n-m n m)

+  (+ (random (- m n)) n))

+

+;Data Definition

+;A natural-number is either

+;1. 0 or

+;2. (add1 n) where n is a natural-number.

+;

+;A list-of-numbers is either

+;1. an empty list or

+;2. (cons n lon) where n is a number and

+;lon is a list-of-numbers.

+;

+;tie-dyed : natural-number -> list-of-numbers

+;Consumes a natural-number n and produces a list

+;with that many randomly numbers between

+;20 and 120.

+;

+;Template

+;(define (tie-dyed n)

+;  (cond

+;    [(zero? n) ...]

+;    [(>= n 1) ... (tie-dyed (sub1 n))]

+;    [else (error 'tie-dyed "Not a natural number")]))

+

+;Examples

+;(tie-dyed 0)

+;empty

+;(tie-dyed 1)

+;(cons (random-n-m 20 121) empty)

+;(tie-dyed 2)

+;(cons (random-n-m 20 121)

+;      (cons (random-n-m 20 121) empty))

+

+(define (tie-dyed n)

+  (cond

+    [(zero? n) empty]

+    [(>= n 1) (cons (random-n-m 20 121) (tie-dyed (sub1 n)))]

+    [else (error 'tie-dyed "Not a natural number")]))

+

+;Contract, Purpose, Header

+;draw-circles : posn list-of-numbers -> boolean

+;Given p and a-list, draw-circles draws concentric circles centered at p

+;with radius given by the elements of a-list.  Each circle is drawn

+;by calling draw-circle.

+;

+;Template

+

+(define (draw-circles p a-list)

+  (cond

+    [(empty? a-list) true]

+    [(draw-circle p (first a-list) 'red) (draw-circles p (rest a-list))]

+    [else false]))

+

+(start 200 200)

+(draw-circles (make-posn 100 100) (tie-dyed 1000))
\ No newline at end of file
blob - /dev/null
blob + a2ce2499a9a523a1dd9f3597ea60a6ccf0f8aaeb (mode 644)
--- /dev/null
+++ 11.3.3.bak
@@ -0,0 +1,27 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.3.3) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;;Produces an intenger between n and m-1

+

+;; random-n-m : integer integer  ->  integer

+;; ... 

+;; Assume: n < m

+(define (random-n-m n m)

+  (+ (random (- m n)) n))

+

+create-temps : number number number -> list-of-numbers

+Creates a list-of-numbers consisting of n numbers between low and high.

+Example

+(create-temps 0 low high)

+empty

+(create-temps 1 low high)

+(random-n-m low (+ high 1))

+

+(define (create-temps n low high)

+  (cond

+    []

+    []))

+

+(

+

+(define
\ No newline at end of file
blob - /dev/null
blob + 003965ad109d7833cf8e69b60ebec03130b48a5f (mode 644)
--- /dev/null
+++ 11.3.3.ss
@@ -0,0 +1,124 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.3.3) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;;Produces an intenger between n and m-1

+

+;; random-n-m : integer integer  ->  integer

+;; ... 

+;; Assume: n < m

+(define (random-n-m n m)

+  (+ (random (- m n)) n))

+;

+;create-temps : number number number -> list-of-numbers

+;Creates a list-of-numbers consisting of n numbers between low and high.

+;Example

+;(create-temps 0 low high)

+;empty

+;(create-temps 1 low high)

+;(cons (random-n-m low (+ high 1)) empty)

+;(create-temps 2 low high)

+;(cons (random-n-m low (+ high 1)) (cons (random-n-m low (+ high 1)) empty))

+;

+;Template

+;

+;(define (create-temps n low high)

+;  (cond

+;    [(zero? n) ...]

+;    [(>= n 1) ...]

+;    [else (error 'create-temps "expected 1st arg: natural number")]))

+

+(define (create-temps n low high)

+  (cond

+    [(zero? n) empty]

+    [(>= n 1) (cons (random-n-m low (+ high 1)) (create-temps (sub1 n) low high))]

+    [else (error 'create-temps "expected 1st arg: natural number")]))

+

+;Data Definition

+;A list-of-temperatures is either

+;1. an empty list or

+;2. (cons t los) where t is a number and los is a list-of-temperatures.

+

+;Header, Purpose, Contract

+;check-range1? : list-of-temperatures -> boolean

+;Given a-list, returns true if the list of temperatures are within the range

+;low and high (endpoints included as true).

+;

+(define (check-range1? a-list low high)

+  (cond

+    [(empty? a-list) true]

+    [(cons? a-list) (cond

+                     [(and

+                       (number? (first a-list))

+                       (>= (first a-list) low)

+                       (<= (first a-list) high))

+                      (check-range1? (rest a-list) low high)]

+                     [(number? (first a-list)) false]

+                     [else

+                      (error 'check-range1? "list should be composed of numbers")])]

+    [else (error 'check-range1? "expected 3 arg: list number number")]))

+

+;create-prices : natural-number number number -> list-of-numbers

+;Given a natural-number n, creates a list of n prices

+;between low and high rounded to the nearest

+;dime ($0.10).  Creates this list by

+;making the function call random-dime.

+;

+;Examples

+;(create-prices 0 low high)

+;empty

+;(create-prices 1 low high)

+;(cons (random-dime low high) empty)

+;(create-prices 2 low high)

+;(cons (random-dime low high)

+;      (cons (random-dime low high) empty))

+;

+(define (create-prices n low high)

+  (cond

+    [(zero? n) empty]

+    [(>= n 1) (cons (random-dime low high) (create-prices (sub1 n) low high))]

+    [else (error 'create-prices "expected 1st arg: natural-number")]))

+

+;random-dime : number number -> number

+;Given low and high, creates a number (decimal) between low and high

+;rounded to the nearest dime.  It does so by choosing a random integer

+;between 0 and (high-low)/0.1, inclusive.  So for example,

+;for low=0 and high=1, it chooses a number between 0 and 10 (inclusive).

+;It then multiplies this number by 0.1, the value of a dime.

+;This function thus returns us a number between $0.00 and $1.00,

+;rounded to the nearest dime.

+

+(define (random-dime low high)

+  (*

+   (random-n-m 0

+               (+ (/ (- high low) 0.1) 1))

+   0.1))

+

+;

+;dollar-store? : list-of-numbers -> boolean

+;Checks a-list to see if the prices are below 1. Returns true

+;if the statement is true, false otherwise.

+;

+;Template

+;(define (dollar-store? a-list)

+;  (cond

+;    [(empty? a-list) ...]

+;    [(cons? a-list) (first a-list) (rest a-list)]))

+

+(define (dollar-store? a-list)

+  (cond

+    [(empty? a-list) true]

+    [(cons? a-list) (cond

+                      [(and

+                        (number? (first a-list))

+                        (< (first a-list) 1))

+                       (dollar-store? (rest a-list))]

+                      [else false])]))

+

+;eval-until-true : natural-number number number -> boolean

+;Keep evaluating (dollar-store? (create-prices n low high))

+;until it returns true.

+;

+(define (eval-until-true n low high)

+  (cond

+    [(dollar-store? (create-prices n low high)) true]

+    [else (eval-until-true n low high)]))
\ No newline at end of file
blob - /dev/null
blob + 886f4f96ea622d83a54c7682945cc7fffe67aed9 (mode 644)
--- /dev/null
+++ 11.3.5.bak
@@ -0,0 +1,124 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.3.5) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;;Produces an intenger between n and m-1

+

+;; random-n-m : integer integer  ->  integer

+;; ... 

+;; Assume: n < m

+(define (random-n-m n m)

+  (+ (random (- m n)) n))

+;

+;create-temps : number number number -> list-of-numbers

+;Creates a list-of-numbers consisting of n numbers between low and high.

+;Example

+;(create-temps 0 low high)

+;empty

+;(create-temps 1 low high)

+;(cons (random-n-m low (+ high 1)) empty)

+;(create-temps 2 low high)

+;(cons (random-n-m low (+ high 1)) (cons (random-n-m low (+ high 1)) empty))

+;

+;Template

+;

+;(define (create-temps n low high)

+;  (cond

+;    [(zero? n) ...]

+;    [(>= n 1) ...]

+;    [else (error 'create-temps "expected 1st arg: natural number")]))

+

+(define (create-temps n low high)

+  (cond

+    [(zero? n) empty]

+    [(>= n 1) (cons (random-n-m low (+ high 1)) (create-temps (sub1 n) low high))]

+    [else (error 'create-temps "expected 1st arg: natural number")]))

+

+;Data Definition

+;A list-of-temperatures is either

+;1. an empty list or

+;2. (cons t los) where t is a number and los is a list-of-temperatures.

+

+;Header, Purpose, Contract

+;check-range1? : list-of-temperatures -> boolean

+;Given a-list, returns true if the list of temperatures are within the range

+;low and high (endpoints included as true).

+;

+(define (check-range1? a-list low high)

+  (cond

+    [(empty? a-list) true]

+    [(cons? a-list) (cond

+                     [(and

+                       (number? (first a-list))

+                       (>= (first a-list) low)

+                       (<= (first a-list) high))

+                      (check-range1? (rest a-list) low high)]

+                     [(number? (first a-list)) false]

+                     [else

+                      (error 'check-range1? "list should be composed of numbers")])]

+    [else (error 'check-range1? "expected 3 arg: list number number")]))

+

+;create-prices : natural-number number number -> list-of-numbers

+;Given a natural-number n, creates a list of n prices

+;between low and high rounded to the nearest

+;dime ($0.10).  Creates this list by

+;making the function call random-dime.

+;

+;Examples

+;(create-prices 0 low high)

+;empty

+;(create-prices 1 low high)

+;(cons (random-dime low high) empty)

+;(create-prices 2 low high)

+;(cons (random-dime low high)

+;      (cons (random-dime low high) empty))

+;

+(define (create-prices n low high)

+  (cond

+    [(zero? n) empty]

+    [(>= n 1) (cons (random-dime low high) (create-prices (sub1 n) low high))]

+    [else (error 'create-prices "expected 1st arg: natural-number")]))

+

+;random-dime : number number -> number

+;Given low and high, creates a number (decimal) between low and high

+;rounded to the nearest dime.  It does so by choosing a random integer

+;between 0 and (high-low)/0.1, inclusive.  So for example,

+;for low=0 and high=1, it chooses a number between 0 and 10 (inclusive).

+;It then multiplies this number by 0.1, the value of a dime.

+;This function thus returns us a number between $0.00 and $1.00,

+;rounded to the nearest dime.

+

+(define (random-dime low high)

+  (*

+   (random-n-m 0

+               (+ (/ (- high low) 0.1) 1))

+   0.1))

+

+;

+;dollar-store? : list-of-numbers -> boolean

+;Checks a-list to see if the prices are below 1. Returns true

+;if the statement is true, false otherwise.

+;

+;Template

+;(define (dollar-store? a-list)

+;  (cond

+;    [(empty? a-list) ...]

+;    [(cons? a-list) (first a-list) (rest a-list)]))

+

+(define (dollar-store? a-list)

+  (cond

+    [(empty? a-list) true]

+    [(cons? a-list) (cond

+                      [(and

+                        (number? (first a-list))

+                        (< (first a-list) 1))

+                       (dollar-store? (rest a-list))]

+                      [else false])]))

+

+;eval-until-true : natural-number number number -> boolean

+;Keep evaluating (dollar-store? (create-prices n low high))

+;until it returns true.

+;

+(define (eval-until-true n low high)

+  (cond

+    [(dollar-store? (create-prices n low high)) true]

+    [else (eval-until-true n low high)]))
\ No newline at end of file
blob - /dev/null
blob + 2b8cbd832992aff7e9a76e50689da83f41e461bf (mode 644)
--- /dev/null
+++ 11.3.5.ss
@@ -0,0 +1,124 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.3.5) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;;Produces an intenger between n and m (both endpoints included)

+

+;; random-n-m : integer integer  ->  integer

+;; ... 

+;; Assume: n < m

+(define (random-n-m n m)

+  (+ (random (- (+ m 1) n)) n))

+

+;riot : natural-number natural-number natural-number -> boolean

+;Draws a grid grid-length long and grid-length wide

+;with num-lines vertically and num-lines

+;horizontally and n balloons randomly scattered in

+;the grid.  Returns true once evaluation completes.

+;This function does this by calling

+;(drawgrid grid-length num-lines whichlength?) to draw the grid lines and

+;(draw-balloons grid-length num-balloons) to draw the balloons.

+

+;Examples

+;(riot 15 500 5)

+;Starts a canvas 500px wide by 500px long and creates

+;5 lines vertically and 5 lines horizontally.

+;It then draws 15 red-circles on the canvas that represent

+;balloons.

+

+(define (riot num-balloons grid-length num-lines)

+  (and

+   (start grid-length grid-length)

+   (drawgrid grid-length num-lines 1)

+   (draw-balloons num-balloons grid-length)))

+

+;Contract, Purpose, Header

+;drawgrid : natural-number natural-number natural-number -> boolean

+;Draws num-lines horizontal lines and

+;num-lines vertical lines given grid-length.

+;We do this by drawing the

+;horizontal and vertical lines corresponding to whichline?

+;then drawing the remainder of the lines by recursively calling

+;on drawgrid.  For example, if whichline? is 2, we draw the

+;second horizontal and second vertical line (in that order).

+;

+;Examples

+;(drawgrid 100 0 1)

+;true

+

+;(drawgrid 100 1 1)

+;Draws one horizontal line and one vertical

+;line in the center of the canvas.

+;The horizontal line starts from (make-posn 50 0)

+;and goes to (make-posn 50 100).  The vertical line

+;starts from (make-posn 0 50) and goes to

+;(make-posn 100 50).

+

+;(drawgrid 100 2 1)

+;Draws two horizontal lines and two vertical lines.

+;The horizontal lines start from (make-posn 33 0)

+;and (make-posn 67 0) and go to 

+;(make-posn 33 100) and to (make-posn 67 100),

+;respectively.  The vertical lines start from

+;(make-posn 0 33) and (make-posn 0 67) and go to

+;(make-posn 100 33) and (make-posn 100 67),

+;respectively.

+;

+;Template

+;(define (drawgrid grid-length num-lines))

+;;

+;Template

+(define (drawgrid grid-length num-lines whichline?)

+  (cond

+    [(zero? num-lines) true]

+    [(> whichline? num-lines) true]

+    [(and 

+      (>= num-lines 1)

+      (<= whichline? num-lines))

+     (and

+      (draw-solid-line (make-posn 0

+                                  (* whichline?

+                                     (round (/ grid-length (+ num-lines 1)))))

+                       (make-posn grid-length

+                                  (* whichline?

+                                     (round (/ grid-length (+ num-lines 1)))))

+                       'black)

+      (draw-solid-line (make-posn (* whichline?

+                                     (round (/ grid-length (+ num-lines 1))))

+                                  0)

+                       (make-posn (* whichline?

+                                     (round (/ grid-length (+ num-lines 1))))

+                                  grid-length)

+                       'black)

+      (drawgrid grid-length num-lines (add1 whichline?)))]))

+;

+;Contract, Purpose, Header

+;draw-balloons : natural-number natural-number  -> boolean

+;Draw num-balloons of balloons randomly

+;scattered in a grid of width and height grid-length.

+;It does so by drawing one solid disk colored 'red

+;with radius R centered at

+;(make-posn (random-n-m 0 grid-length) (random-n-m 0 grid-length)

+;that is, a disk centered at a random point within

+;the grid.  It then draws the remaining balloons

+;by calling on itself

+;to draw one less balloon than it started with.

+;It returns true when finished.

+;

+;Examples

+;(draw-balloons 0 grid-length)

+;true

+;(draw-balloons 1 grid-length)

+;Draws one balloon randomly scattered

+;in the canvas grid-length wide and high.

+;

+(define (draw-balloons num-balloons grid-length)

+  (cond

+    [(zero? num-balloons) true]

+    [(draw-solid-disk (make-posn (random-n-m 0 grid-length)

+                                 (random-n-m 0 grid-length))

+                      RADIUS

+                      'red)

+     (draw-balloons (sub1 num-balloons) grid-length)]))

+

+(define RADIUS 3)

+(riot 50 500 20)
\ No newline at end of file
blob - /dev/null
blob + b91ef4c05b087d3506eee31c0305db4d04897d12 (mode 644)
--- /dev/null
+++ 11.4.1.bak
@@ -0,0 +1,3 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.4.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

blob - /dev/null
blob + 3ad00162e2564dc00fb3eb216e4885a5fb82b18a (mode 644)
--- /dev/null
+++ 11.4.1.ss
@@ -0,0 +1,212 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 11.4.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A natural-number is either

+;1. 0 or

+;2. (add1 n) where n is a natural-number

+;

+;! : natural-number -> natural number

+;Computes the factorial of n,

+;ie, n * (n-1) * (n-2)...2 * 1.

+

+(define (! n)

+  (cond

+    [(zero? n) 1]

+    [(>= n 1) (* n (! (sub1 n)))]))

+;

+;product : natural-number natural-number -> natural-number

+;Given m and n, and assuming m > n, computes (m!)/(n!).

+

+(define (product m n)

+  (/ (! m) (! n)))

+

+;; f : number  ->  number

+(define (f x)

+  (+ (* 3 (* x x)) 

+     (+ (* -6 x)

+        -1)))

+

+;

+;A list-of-posns is either

+;1. an empty list or

+;2. (cons p lop) where p is a posn and lop is a list-of-posns.

+;tabulate-f20 : natural-number -> list-of-posns

+;Creates a "table".  Returns a list of n posns of the form

+;(cons (make-posn (f n) n) (cons (make-posn (f (- n 1) (- n 1)))...

+;Stops when n=20 (table includes n=20).

+

+(define (tabulate-f20 n)

+  (cond

+    [(< n 20) empty]

+    [else (cons (make-posn (f n) n) (tabulate-f20 (sub1 n)))]))

+

+;

+;Let limit be a natural number. A natural number [>=limit] (N[>=limit])

+;is either

+;

+;1. limit or

+;2. (add1 n) where n is a natural number [>=limit].

+

+;Contract, Purpose, Header

+;tabulate-f-lim : N[limit] N[>=limit] -> lop

+;Creates a table of posns containing the entries

+;(make-posn (f n) n) from n (inclusive) to limit (exclusive).

+

+(define (tabulate-f-lim limit n)

+  (cond

+    [(= n limit) empty]

+    [(> n limit) (cons (make-posn (f n) n) (tabulate-f-lim limit (sub1 n)))]))

+

+;A natural-number [<=limit] (N[<=limit]) is either

+;1. limit or

+;2. (sub1 n) where n is a natural-number [<=limit].

+

+;Contract, Purpose, Header

+;tabulate-f-lim-ascend : N[limit] N[<=limit] -> list-of-posns

+;Produces a list-of-posns (lop) of the form

+;1. empty list or

+;2. (cons (make-posn n (f n)) lop) where lop is a list-of-posns.

+;The list begins from n (inclusive) and ascends to limit (exclusive)

+;where we have defined that limit >= n.

+;

+;Template

+(define (tabulate-f-lim-ascend limit n)

+  (cond

+    [(= limit n) empty]

+    [(>= limit n) (cons (make-posn n (f n))

+                        (tabulate-f-lim-ascend limit (add1 n)))]))

+

+;A natural-number [>=1] (N[>=1]) is either

+;1. 1 or

+;2. (add1 n) where n is a natural-number [>=1].

+;

+;is-not-divisible-by<=i : N [>=1] N[>i] -> boolean 

+;Determines if m is divisible by any number between

+;1 (exclusive) and i (inclusive). Returns

+;true if the m is never divisible and false otherwise.

+;Template

+

+(define (is-not-divisible-by<=i i m)

+  (cond

+    [(= i 1) true]

+    [(> i 1) (and (not (zero? (remainder m i)))

+                  (is-not-divisible-by<=i (sub1 i) m))]))

+;

+;Purpose, Contract, Header

+;prime? : natural-number [>=2]

+(define (prime? n)

+  (is-not-divisible-by<=i (round (sqrt n)) n))

+;

+;add : N N -> N

+;Adds n and x without using the + operator.

+;

+;Template

+(define (add n x)

+  (cond

+    [(= x 0) n]

+    [(> x 0) (add1 (add n (sub1 x)))]))

+

+;multiply : N N -> N

+;Multiplies n by x without using either

+;the + or * operator.

+

+(define (multiply n x)

+  (cond

+    [(zero? x) 0]

+    [(> x 0) (add n (multiply n (sub1 x)))]))

+

+;A rational number [R] can be represented as a fraction

+;m/n where both m and n are natural-numbers.

+

+;multiply-by-rational : R N -> R

+;Given a natural-number x, multiply by rational-number n.

+

+;(define (multiply-by-rational n x)

+;  (cond

+;    [(zero? x) 0]

+;    [(> x 0) (add-rational n (multiply-by-rational n (sub1 x)))]))

+

+;add-rational : R R -> R

+;Given two rational-numbers n and x,

+;add the two numbers.

+;This is hard...give up

+;

+;exponent : N N -> N

+;Raises x to the nth power.

+

+(define (exponent x n)

+  (cond

+    [(zero? n) 1]

+    [(> n 0) (multiply (exponent x (sub1 n)) x)]))

+

+A deep-list is either

+1. a symbol or

+2. (cons dl empty) where dl is a deep-list.

+

+;depth : deep-list -> number

+;Consumes a deep-list dl and determines how many

+;cons were used to construct it.

+;

+;Examples

+;(depth (cons (cons (cons 'food empty) empty) empty))

+;3

+;(depth (cons 'food empty))

+;1

+;(depth 'food)

+;0

+

+(define (depth dl)

+  (cond

+    [(symbol? dl) 0]

+    [(cons? dl) (+ 1 (depth (first dl)))]))

+

+;make-deep : symbol natural-number -> deep-list

+;Consumes word and n to produce a deep-list

+;containing word constructed using n cons's.

+;

+;Examples:

+;(make-deep 'hey 3)

+;(cons (cons (cons 'hey empty) empty) empty)

+;(make-deep 'hey 0)

+;'hey

+;(make-deep 'hey 1)

+;(cons 'hey empty)

+;

+;Template

+;(define (make-deep word n)

+;  (cond

+;    [(zero? n) ...]

+;    [(> n 0) ... (make-deep word (sub1 n))]))

+

+(define (make-deep word n)

+  (cond

+    [(zero? n) word]

+    [(> n 0) (cons (make-deep word (sub1 n)) empty)]))

+

+;Let the depth of a deep-list represent a natural-number.

+;The depth of a deep-list represents the number of cons

+;used to construct it.

+;

+;Some examples:

+;1. anysymbol represents 0,

+;2. (cons anysymbol empty) represents 1

+;3. (cons (cons anysymbol empty)) represents 2,

+;and so forth, where anysymbol is a symbol.

+;

+;Hence, we can represent

+;1.0 as (make-deep 'anysymbol 0)

+;2.3 as (make-deep 'anysymbol 3)

+;3.8 as (make-deep 'anysymbol 8).

+;

+;addDL : deep-list deep-list -> deep-list

+;Given dl1 and dl2, produces a new deep-list

+;that represents the sum of the natural numbers

+;of dl1 and dl2.  In other words,

+;produces a new deep-list as deep as the sum of

+;the depth of dl1 and dl2.

+

+(define (addDL dl1 dl2)

+  (make-deep 'anysymbol (+ (depth dl1) (depth dl2))))

+

+(define DEEPLIST1 (make-deep 'anysymbol 5))

+(define DEEPLIST2 (make-deep 'anysymbol 8))
\ No newline at end of file
blob - /dev/null
blob + 56cdebcf578ccb000d551404b5139000a117fb90 (mode 644)
--- /dev/null
+++ 12.2.1.bak
@@ -0,0 +1,212 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 12.2.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A natural-number is either

+;1. 0 or

+;2. (add1 n) where n is a natural-number

+;

+;! : natural-number -> natural number

+;Computes the factorial of n,

+;ie, n * (n-1) * (n-2)...2 * 1.

+

+(define (! n)

+  (cond

+    [(zero? n) 1]

+    [(>= n 1) (* n (! (sub1 n)))]))

+;

+;product : natural-number natural-number -> natural-number

+;Given m and n, and assuming m > n, computes (m!)/(n!).

+

+(define (product m n)

+  (/ (! m) (! n)))

+

+;; f : number  ->  number

+(define (f x)

+  (+ (* 3 (* x x)) 

+     (+ (* -6 x)

+        -1)))

+

+;

+;A list-of-posns is either

+;1. an empty list or

+;2. (cons p lop) where p is a posn and lop is a list-of-posns.

+;tabulate-f20 : natural-number -> list-of-posns

+;Creates a "table".  Returns a list of n posns of the form

+;(cons (make-posn (f n) n) (cons (make-posn (f (- n 1) (- n 1)))...

+;Stops when n=20 (table includes n=20).

+

+(define (tabulate-f20 n)

+  (cond

+    [(< n 20) empty]

+    [else (cons (make-posn (f n) n) (tabulate-f20 (sub1 n)))]))

+

+;

+;Let limit be a natural number. A natural number [>=limit] (N[>=limit])

+;is either

+;

+;1. limit or

+;2. (add1 n) where n is a natural number [>=limit].

+

+;Contract, Purpose, Header

+;tabulate-f-lim : N[limit] N[>=limit] -> lop

+;Creates a table of posns containing the entries

+;(make-posn (f n) n) from n (inclusive) to limit (exclusive).

+

+(define (tabulate-f-lim limit n)

+  (cond

+    [(= n limit) empty]

+    [(> n limit) (cons (make-posn (f n) n) (tabulate-f-lim limit (sub1 n)))]))

+

+;A natural-number [<=limit] (N[<=limit]) is either

+;1. limit or

+;2. (sub1 n) where n is a natural-number [<=limit].

+

+;Contract, Purpose, Header

+;tabulate-f-lim-ascend : N[limit] N[<=limit] -> list-of-posns

+;Produces a list-of-posns (lop) of the form

+;1. empty list or

+;2. (cons (make-posn n (f n)) lop) where lop is a list-of-posns.

+;The list begins from n (inclusive) and ascends to limit (exclusive)

+;where we have defined that limit >= n.

+;

+;Template

+(define (tabulate-f-lim-ascend limit n)

+  (cond

+    [(= limit n) empty]

+    [(>= limit n) (cons (make-posn n (f n))

+                        (tabulate-f-lim-ascend limit (add1 n)))]))

+

+;A natural-number [>=1] (N[>=1]) is either

+;1. 1 or

+;2. (add1 n) where n is a natural-number [>=1].

+;

+;is-not-divisible-by<=i : N [>=1] N[>i] -> boolean 

+;Determines if m is divisible by any number between

+;1 (exclusive) and i (inclusive). Returns

+;true if the m is never divisible and false otherwise.

+;Template

+

+(define (is-not-divisible-by<=i i m)

+  (cond

+    [(= i 1) true]

+    [(> i 1) (and (not (zero? (remainder m i)))

+                  (is-not-divisible-by<=i (sub1 i) m))]))

+;

+;Purpose, Contract, Header

+;prime? : natural-number [>=2]

+(define (prime? n)

+  (is-not-divisible-by<=i (round (sqrt n)) n))

+;

+;add : N N -> N

+;Adds n and x without using the + operator.

+;

+;Template

+(define (add n x)

+  (cond

+    [(= x 0) n]

+    [(> x 0) (add1 (add n (sub1 x)))]))

+

+;multiply : N N -> N

+;Multiplies n by x without using either

+;the + or * operator.

+

+(define (multiply n x)

+  (cond

+    [(zero? x) 0]

+    [(> x 0) (add n (multiply n (sub1 x)))]))

+

+;A rational number [R] can be represented as a fraction

+;m/n where both m and n are natural-numbers.

+

+;multiply-by-rational : R N -> R

+;Given a natural-number x, multiply by rational-number n.

+

+;(define (multiply-by-rational n x)

+;  (cond

+;    [(zero? x) 0]

+;    [(> x 0) (add-rational n (multiply-by-rational n (sub1 x)))]))

+

+;add-rational : R R -> R

+;Given two rational-numbers n and x,

+;add the two numbers.

+;This is hard...give up

+;

+;exponent : N N -> N

+;Raises x to the nth power.

+

+(define (exponent x n)

+  (cond

+    [(zero? n) 1]

+    [(> n 0) (multiply (exponent x (sub1 n)) x)]))

+;

+;A deep-list is either

+;1. a symbol or

+;2. (cons dl empty) where dl is a deep-list.

+

+;depth : deep-list -> number

+;Consumes a deep-list dl and determines how many

+;cons were used to construct it.

+;

+;Examples

+;(depth (cons (cons (cons 'food empty) empty) empty))

+;3

+;(depth (cons 'food empty))

+;1

+;(depth 'food)

+;0

+

+(define (depth dl)

+  (cond

+    [(symbol? dl) 0]

+    [(cons? dl) (+ 1 (depth (first dl)))]))

+

+;make-deep : symbol natural-number -> deep-list

+;Consumes word and n to produce a deep-list

+;containing word constructed using n cons's.

+;

+;Examples:

+;(make-deep 'hey 3)

+;(cons (cons (cons 'hey empty) empty) empty)

+;(make-deep 'hey 0)

+;'hey

+;(make-deep 'hey 1)

+;(cons 'hey empty)

+;

+;Template

+;(define (make-deep word n)

+;  (cond

+;    [(zero? n) ...]

+;    [(> n 0) ... (make-deep word (sub1 n))]))

+

+(define (make-deep word n)

+  (cond

+    [(zero? n) word]

+    [(> n 0) (cons (make-deep word (sub1 n)) empty)]))

+

+;Let the depth of a deep-list represent a natural-number.

+;The depth of a deep-list represents the number of cons

+;used to construct it.

+;

+;Some examples:

+;1. anysymbol represents 0,

+;2. (cons anysymbol empty) represents 1

+;3. (cons (cons anysymbol empty)) represents 2,

+;and so forth, where anysymbol is a symbol.

+;

+;Hence, we can represent

+;1.0 as (make-deep 'anysymbol 0)

+;2.3 as (make-deep 'anysymbol 3)

+;3.8 as (make-deep 'anysymbol 8).

+;

+;addDL : deep-list deep-list -> deep-list

+;Given dl1 and dl2, produces a new deep-list

+;that represents the sum of the natural numbers

+;of dl1 and dl2.  In other words,

+;produces a new deep-list as deep as the sum of

+;the depth of dl1 and dl2.

+

+(define (addDL dl1 dl2)

+  (make-deep 'anysymbol (+ (depth dl1) (depth dl2))))

+

+(define DEEPLIST1 (make-deep 'anysymbol 5))

+(define DEEPLIST2 (make-deep 'anysymbol 8))
\ No newline at end of file
blob - /dev/null
blob + ef4a47fa22385b831ce6284800b6a9a230aa1f6f (mode 644)
--- /dev/null
+++ 12.2.1.ss
@@ -0,0 +1,76 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 12.2.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A mail structure is

+;(make-mail f d m) where f and m are strings,

+;d is a date.

+

+(define-struct mail (from date message))

+;

+;A list-of-mail is either

+;1. an empty list or

+;2. (cons mail lom) where mail is a mail structure

+;and lom is a list-of-mail.

+;

+;sort-mail : list-of-mail -> list-of-mail

+;Given alom (a list-of-mail),

+;sorts the mail based on name

+;by insertion sorting and returns

+;the sorted list.

+

+(define (sort-mail alom)

+  (cond

+    [(empty? alom) empty]

+    [(cons? alom) (insert (first alom) (sort-mail (rest alom)))]))

+

+;insert : mail list-of-mail -> list-of-mail

+;Given amail and alom, insert amail into the proper

+;position in alom and return the new list-of-mail.

+;This is done by comparing the name of amail with

+;the name of the first mail in alom.

+;

+;Template

+;(define (insert amail alom)

+;  (cond

+;    [(string<? (mail-from amail) (mail-from (first alom)))

+;     ...]

+;    [else ...]))

+

+(define (insert amail alom)

+  (cond

+    [(empty? alom) (cons amail alom)]

+    [(string<? (mail-from amail) (mail-from (first alom)))

+     (cons amail alom)]

+    [else (cons (first alom)

+                (insert amail (rest alom)))]))

+

+;Test

+;(define POSTMAN (cons (make-mail "Sally" 4561923 "Hi it's me Sally") (cons (make-mail "Jennifer" 9133217 "Sitting at home") (cons (make-mail "Tweety" 1234567 "Add me on Twitter") (cons (make-mail "Aaron" 5939257 "RonRon") (cons (make-mail "Zebrafish" 8888888 "Alphabetical") (cons (make-mail "Jabra" 2950 "Headset") empty)))))))

+

+;; search : number list-of-numbers  ->  boolean

+(define (search n alon)

+  (cond

+    [(empty? alon) false]

+    [else (or (= (first alon) n) (search n (rest alon)))]))

+;

+;search-sorted : number list-of-numbers -> boolean

+;Determines if n is in alon and returns true if it is,

+;false otherwise. alon is assumed to be sorted

+;in descending order. Performs a linear-search.

+;

+;Template

+;(define (search-sorted n alon)

+;  (cond

+;    [(empty? alon) ...]

+;    [(= n (first alon)) ...]

+;    [else ... (search-sorted (rest alon))]))

+

+(define (search-sorted n alon)

+  (cond

+    [(empty? alon) false]

+    [(= n (first alon)) true]

+    [(> n (first alon)) false]

+    [else (search-sorted n (rest alon))]))

+

+;Test

+;(define MRLIST (cons 15 (cons 12 (cons 12 (cons 9 (cons 3 (cons 0 empty)))))))

blob - /dev/null
blob + 74595be75e4924b8c7e2a9b9da579c66ec193492 (mode 644)
--- /dev/null
+++ 12.3.1.bak
@@ -0,0 +1,76 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 12.3.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A mail structure is

+;(make-mail f d m) where f and m are strings,

+;d is a date.

+

+(define-struct mail (from date message))

+;

+;A list-of-mail is either

+;1. an empty list or

+;2. (cons mail lom) where mail is a mail structure

+;and lom is a list-of-mail.

+;

+;sort-mail : list-of-mail -> list-of-mail

+;Given alom (a list-of-mail),

+;sorts the mail based on name

+;by insertion sorting and returns

+;the sorted list.

+

+(define (sort-mail alom)

+  (cond

+    [(empty? alom) empty]

+    [(cons? alom) (insert (first alom) (sort-mail (rest alom)))]))

+

+;insert : mail list-of-mail -> list-of-mail

+;Given amail and alom, insert amail into the proper

+;position in alom and return the new list-of-mail.

+;This is done by comparing the name of amail with

+;the name of the first mail in alom.

+;

+;Template

+;(define (insert amail alom)

+;  (cond

+;    [(string<? (mail-from amail) (mail-from (first alom)))

+;     ...]

+;    [else ...]))

+

+(define (insert amail alom)

+  (cond

+    [(empty? alom) (cons amail alom)]

+    [(string<? (mail-from amail) (mail-from (first alom)))

+     (cons amail alom)]

+    [else (cons (first alom)

+                (insert amail (rest alom)))]))

+

+;Test

+;(define POSTMAN (cons (make-mail "Sally" 4561923 "Hi it's me Sally") (cons (make-mail "Jennifer" 9133217 "Sitting at home") (cons (make-mail "Tweety" 1234567 "Add me on Twitter") (cons (make-mail "Aaron" 5939257 "RonRon") (cons (make-mail "Zebrafish" 8888888 "Alphabetical") (cons (make-mail "Jabra" 2950 "Headset") empty)))))))

+

+;; search : number list-of-numbers  ->  boolean

+(define (search n alon)

+  (cond

+    [(empty? alon) false]

+    [else (or (= (first alon) n) (search n (rest alon)))]))

+;

+;search-sorted : number list-of-numbers -> boolean

+;Determines if n is in alon and returns true if it is,

+;false otherwise. alon is assumed to be sorted

+;in descending order. Performs a linear-search.

+;

+;Template

+;(define (search-sorted n alon)

+;  (cond

+;    [(empty? alon) ...]

+;    [(= n (first alon)) ...]

+;    [else ... (search-sorted (rest alon))]))

+

+(define (search-sorted n alon)

+  (cond

+    [(empty? alon) false]

+    [(= n (first alon)) true]

+    [(> n (first alon)) false]

+    [else (search-sorted n (rest alon))]))

+

+;Test

+;(define MRLIST (cons 15 (cons 12 (cons 12 (cons 9 (cons 3 (cons 0 empty)))))))

blob - /dev/null
blob + 9220c12a5d73d653fdcbd5f68f5cfc43f4a169ca (mode 644)
--- /dev/null
+++ 12.3.1.ss
@@ -0,0 +1,87 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 12.3.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A list-of-posns is either

+;1. an empty list or

+;2. (cons p lop) where p is a posn

+;and lop is a list-of-posns.

+

+;A polygon is either

+;1. (cons p empty) where p is a posn or

+;2. (cons p q) where p is a posn and q is a polygon.

+;(That is, a polygon includes all the elements

+;of a list-of-posns except the empty list.)

+;

+;draw-polygon : polygon -> true

+;Given a-poly (a polygon) which

+;represents the vertices of the polygon, draw this polygon

+;by connecting the dots between the posn elements

+;in the list.  It first connects the last posn to

+;the first posn, then sequentially connects the

+;remaining posns to each other.  It extracts

+;the last posn of a-poly by calling on the last

+;function. Returns true when evaluation completes.

+

+(define (draw-polygon a-poly)

+  (cond

+    [(empty? (rest a-poly)) true]

+    [else (connect-dots (cons (last a-poly) a-poly))]))

+;

+;connect-dots : polygon -> boolean

+;Given a-poly, connects the posns in sequential order.

+;IE, the 1st posn connects to the 2nd, the 2nd to the 3rd,

+;and so forth to the last dot.

+

+(define (connect-dots a-poly)

+  (cond

+    [(empty? (rest a-poly)) true]

+    [else (and

+           (draw-solid-line (first a-poly)

+                            (second a-poly)

+                            'black)

+           (connect-dots (rest a-poly)))]))

+

+;Test

+;(define MRPOLY (cons (make-posn 50 50) (cons (make-posn 50 80) (cons (make-posn 100 80) empty))))

+;(connect-dots MRPOLY)

+;

+;last : polygon -> posn

+;Given a-poly, finds the last posn element

+;within the list-of-posns and returns it.

+

+(define (last a-poly)

+  (cond

+    [(empty? (rest a-poly)) (first a-poly)]

+    [else (last (rest a-poly))]))

+

+;Test

+(define MRPOLY (cons (make-posn 50 50) (cons (make-posn 50 80) (cons (make-posn 100 80) (cons (make-posn 140 230) (cons (make-posn 180 330) (cons (make-posn 240 220) (cons (make-posn 130 220) empty))))))))

+

+;add-at-end : polygon posn -> polygon

+;Given a-poly and first-posn,

+;it adds first-posn to

+;the end of a-poly, returning

+;the new polygon.  When add-at-end is called,

+;first-posn should be replaced with

+;(first a-poly), so that the function call should be

+;(add-at-end a-poly (first a-poly))

+

+(define (add-at-end a-poly first-posn)

+  (cond

+    [(empty? (rest a-poly)) (first a-poly)]

+    [else (cons (add-at-end a-poly first-posn) (cons first-posn empty))]))

+;

+;modified-draw-polygon : polygon -> true

+;Draws polygon specified by a-poly, where

+;each posn in a-poly represents a vertex in

+;the polygon.  It does so by using connect-dots

+;to connect the dots of each vertex.

+;Specifically, it connects the 1st dot to the 2nd,

+;the 2nd to the 3rd, and so forth, and finally

+;connects the last dot to the 1st dot to finish

+;the polygon by calling on add-at-end.

+

+(define (modified-draw-polygon a-poly)

+  (cond

+    [(empty? (rest a-poly)) true]

+    [else (connect-dots (add-at-end a-poly))]))
\ No newline at end of file
blob - /dev/null
blob + 86d7e6af5fef4c44bba09537aeeef7a4f7d336a9 (mode 644)
--- /dev/null
+++ 12.4.1 revised.bak
@@ -0,0 +1,176 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname |12.4.1 revised|) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;;Data Definition

+;;A word is either

+;;1. an empty list or

+;;2. (cons l w) where l is a symbol (one of the

+;;lowercase letters 'a, 'b, ... 'z) and w is a word.

+;;

+;;Examples

+;;empty

+;;(cons 'i empty)

+;;(cons 'h (cons 'i empty))

+;;(cons 'n (cons 'a (cons 'm (cons 'e empty))))

+;;

+;;A list-of-words is either

+;;1. (cons w empty) or

+;;2. (cons w low) where w is a word

+;;and low is a list-of-words.

+;;

+;;Examples

+;;(cons empty empty)

+;;empty empty

+;;(cons (cons 'i empty) empty)

+;;i

+;;(cons (cons 'h (cons 'i empty)) empty)

+;;hi

+;;(cons (cons 'h (cons 'i empty))

+;;      (cons (cons 'j (cons 'o (cons 'e empty))) empty)

+;;hi joe

+;;(cons (cons 'h (cons 'i empty))

+;;      (cons (cons 'j (cons 'o (cons 'e empty)))

+;;            (cons (cons 'i (cons 't (cons 's empty)))

+;;                  empty)))

+;;hi joe its

+;;(cons (cons 'h (cons 'i empty))

+;;      (cons (cons 'j (cons 'o (cons 'e empty)))

+;;            (cons (cons 'i (cons 't (cons 's empty)))

+;;                  (cons (cons 'm (cons 'e empty)) empty))))

+;;hi joe its me

+;

+;;arrangements : word -> list-of-words

+;;Given a-word, return all permutations

+;;as a list-of-words.  This is done

+;;by inserting the first letter into

+;;each permutation of the rest of the word.

+;

+(define (arrangements a-word)

+  (cond

+    [(empty? a-word) (cons empty empty)]

+    [else (insert-everywhere/in-all-words (first a-word)

+                                          (arrangements (rest a-word)))]))

+;

+;;insert-everywhere/in-all-words : symbol list-of-words -> list-of-words

+;;Given a-symbol and a-low, insert a-symbol into every possible position

+;;to generate a new list-of-words.  In general, if the words in a-low

+;;contain x letters, there should be (x+1)*x words in the list-of-words output.

+;

+;

+;;Examples

+;;(define ex1 (cons empty empty))

+;;(insert-everywhere/in-all-words 'a ex1)

+;;(cons (cons 'a empty) empty)

+;;

+;;(define ex2 (cons (cons 'i empty) empty))

+;;(insert-everywhere/in-all-words 'a ex2)

+;;(cons (cons 'a (cons 'i empty))

+;;      (cons (cons 'i (cons 'a empty)) empty))

+;;

+;;(define ex3 (cons (cons 'h (cons 'i empty))

+;;                  (cons (cons 'i (cons 'h empty)) empty)))

+;;(insert-everywhere/in-all-words 'b ex3)

+;;(cons (cons 'b (cons 'h (cons 'i empty)))

+;;      (cons (cons 'h (cons 'b (cons 'i empty)))

+;;            (cons (cons 'h (cons 'i (cons 'b empty)))

+;;                  (cons (cons 'b (cons 'i (cons 'h empty)))

+;;                        (cons (cons 'i (cons 'b (cons 'h empty)))

+;;                              (cons (cons 'i (cons 'h (cons 'b empty))) empty))))))

+;

+(define (insert-everywhere/in-all-words a-symbol a-low)

+ (cond

+   [(empty? (first a-low))

+    (insert-symbol-everywhere/in-single-word a-symbol (first a-low) 0)]

+   [(cons? (first a-low)) ;evaluates true if the first element

+                          ;in a-low is a word

+    (cons (insert-everywhere/in-all-words a-symbol (rest a-low))

+          (insert-symbol-everywhere/in-single-word a-symbol (first a-low) 0))()]))

+

+;insert-symbol-everywhere/in-single-word : symbol word number -> list-of-words

+;Given a-symbol and a-word, inserts a-symbol into every possible position

+;to generate a list-of-words. Begins insertion at the nth position.

+

+(define (insert-symbol-everywhere/in-single-word a-symbol a-word n)

+  (cond

+    [(empty? a-word) (cons (cons a-symbol empty) empty)]

+    [(and

+      (cons? a-word) 

+      (<= n (length a-word))) 

+      (cons (insert-symbol-here a-symbol a-word n) 

+            (insert-symbol-everywhere/in-single-word a-symbol a-word (add1 n)))]

+    [(> n (length a-word)) empty]

+    [else (error 'insert-symbol-everywhere/in-single-word "unexpected error")]))

+;

+;insert-symbol-here : symbol word number -> word

+;Given a-symbol and a-word and n, insert a-symbol

+;in the nth position of a-word.  Right before

+;the word is the 0th position.  The first position

+;is right after the first letter.

+;

+;Examples:

+;(insert-symbol-here 'a (cons 'n empty) 0)

+;(cons 'a (cons 'n empty))

+;

+;(insert-symbol-here 'a (cons 'n empty) 1)

+;(cons 'n (cons 'a empty))

+;

+

+(define (insert-symbol-here a-symbol a-word n)

+  (cond

+    [(= n 0) (cons a-symbol a-word)]

+    [(>= n 1)

+     (cons (first a-word)

+           (insert-symbol-here a-symbol (rest a-word) (sub1 n)))]))

+

+;Test insert-symbol-here

+;(define word1 empty)

+;(define word2 (cons 'a empty))

+;(define word3 (cons 'a (cons 'b empty)))

+;(define word4 (cons 'a (cons 'b (cons 'c empty))))

+;(insert-symbol-here 'x word1 0)

+;(insert-symbol-here 'x word2 0)

+;(insert-symbol-here 'x word2 1)

+;(insert-symbol-here 'x word3 0)

+;(insert-symbol-here 'x word3 1)

+;(insert-symbol-here 'x word3 2)

+

+;Examples of insert-symbol-everywhere/in-single-word

+;

+;(define ex01 empty)

+;(insert-symbol-everywhere/in-single-word 'x ex01 0)

+;(cons (cons 'x empty) empty)

+;(define ex02 (cons 'a empty))

+;(insert-symbol-everywhere/in-single-word 'x ex02 0)

+;(cons (cons 'x (cons 'a empty))

+;      (cons (cons 'a (cons 'x empty)) empty))

+;(append (cons (cons 'x (cons 'a empty)) empty)

+;        (cons (cons 'a (cons 'x empty)) empty))

+;(define ex03 (cons 'a (cons 'b empty)))

+;(insert-symbol-everywhere/in-single-word 'x ex03 0)

+;(cons (cons 'x (cons 'a (cons 'b empty)))

+;      (cons (cons 'a (cons 'x (cons 'b empty)))

+;            (cons (cons 'a (cons 'b (cons 'x empty))) empty)))

+;(define ex04 (list 'p 'a 'r 't 'y))

+;(insert-symbol-everywhere/in-single-word 'x ex04 0)

+;

+

+;Test insert-everywhere/in-all-words : symbol list-of-words -> list-of-words

+

+(define ex1 (cons empty empty))

+(insert-everywhere/in-all-words 'a ex1)

+(cons (cons 'a empty) empty)

+

+(define ex2 (cons (cons 'i empty) empty))

+(insert-everywhere/in-all-words 'a ex2)

+(cons (cons 'a (cons 'i empty))

+      (cons (cons 'i (cons 'a empty)) empty))

+

+(define ex3 (cons (cons 'h (cons 'i empty))

+                  (cons (cons 'i (cons 'h empty)) empty)))

+(insert-everywhere/in-all-words 'b ex3)

+(cons (cons 'b (cons 'h (cons 'i empty)))

+      (cons (cons 'h (cons 'b (cons 'i empty)))

+            (cons (cons 'h (cons 'i (cons 'b empty)))

+                  (cons (cons 'b (cons 'i (cons 'h empty)))

+                        (cons (cons 'i (cons 'b (cons 'h empty)))

+                              (cons (cons 'i (cons 'h (cons 'b empty))) empty))))))

blob - /dev/null
blob + 08b931b69b28ec4a31bd37548c522b4a382441b7 (mode 644)
--- /dev/null
+++ 12.4.1 revised.ss
@@ -0,0 +1,219 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname |12.4.1 revised|) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;Data Definition

+;A word is either

+;1. an empty list or

+;2. (cons l w) where l is a symbol (one of the

+;lowercase letters 'a, 'b, ... 'z) and w is a word.

+;

+;Examples

+;empty

+;(cons 'i empty)

+;(cons 'h (cons 'i empty))

+;(cons 'n (cons 'a (cons 'm (cons 'e empty))))

+;

+;A list-of-words is either

+;1. (cons w empty) or

+;2. (cons w low) where w is a word

+;and low is a list-of-words.

+;

+;Examples

+;(cons empty empty)

+;empty empty

+;(cons (cons 'i empty) empty)

+;(cons (list 'i) empty)

+;i

+;(cons (cons 'h (cons 'i empty)) empty)

+;(cons (list 'h 'i) empty)

+;(list (list 'h 'i))

+;hi

+;(cons (cons 'h (cons 'i empty))

+;      (cons (cons 'j (cons 'o (cons 'e empty))) empty))

+;(cons (list 'h 'i)

+;      (cons (list 'j 'o 'e) empty))

+;(list (list 'h 'i)

+;      (list 'j 'o 'e))

+;hi joe

+;(cons (cons 'h (cons 'i empty))

+;      (cons (cons 'j (cons 'o (cons 'e empty)))

+;            (cons (cons 'i (cons 't (cons 's empty)))

+;                  empty)))

+;(cons (list 'h 'i)

+;      (cons (list 'j 'o 'e)

+;            (cons (list 'i 't 's) empty)))

+;(list (list 'h 'i)

+;      (list 'j 'o 'e)

+;      (list 'i 't 's))

+;hi joe its

+;(cons (cons 'h (cons 'i empty))

+;      (cons (cons 'j (cons 'o (cons 'e empty)))

+;            (cons (cons 'i (cons 't (cons 's empty)))

+;                  (cons (cons 'm (cons 'e empty)) empty))))

+;(cons (list 'h 'i)

+;      (cons (list 'j 'o 'e)

+;            (cons (list 'i 't 's)

+;                  (cons (list 'm 'e) empty))))

+;(list (list 'h 'i)

+;      (list 'j 'o 'e)

+;      (list 'i 't 's)

+;      (list 'm 'e))

+;hi joe its me

+;

+;arrangements : word -> list-of-words

+;Given a-word, return all permutations

+;as a list-of-words.  This is done

+;by inserting the first letter into

+;each permutation of the rest of the word.

+

+(define (arrangements a-word)

+  (cond

+    [(empty? a-word) (cons empty empty)]

+    [else (insert-everywhere/in-all-words (first a-word)

+                                          (arrangements (rest a-word)))]))

+

+;insert-everywhere/in-all-words : symbol list-of-words -> list-of-words

+;Given a-symbol and a-low, insert a-symbol into every possible position

+;to generate a new list-of-words.  In general, if the words in a-low

+;contain x letters, there should be (x+1)*x words in the list-of-words output.

+;

+;

+;Examples

+;(define ex1 (cons empty empty))

+;(insert-everywhere/in-all-words 'a ex1)

+;(cons (cons 'a empty) empty)

+;

+;(define ex2 (cons (list 'i) empty))

+;(cons (cons 'i empty) empty)

+;(insert-everywhere/in-all-words 'a ex2)

+;(cons (cons 'a (cons 'i empty))

+;      (cons (cons 'i (cons 'a empty)) empty))

+;(cons (list 'a 'i)

+;      (cons (list 'i 'a) empty))

+;(list (list 'a 'i)

+;      (list 'i 'a))

+;

+;(define ex3 (cons (cons 'h (cons 'i empty))

+;                  (cons (cons 'i (cons 'h empty)) empty)))

+;(insert-everywhere/in-all-words 'b ex3)

+;(cons (cons 'b (cons 'h (cons 'i empty)))

+;      (cons (cons 'h (cons 'b (cons 'i empty)))

+;            (cons (cons 'h (cons 'i (cons 'b empty)))

+;                  (cons (cons 'b (cons 'i (cons 'h empty)))

+;                        (cons (cons 'i (cons 'b (cons 'h empty)))

+;                              (cons (cons 'i (cons 'h (cons 'b empty))) empty))))))

+

+(define (insert-everywhere/in-all-words a-symbol a-low)

+ (cond

+   [(empty? a-low) empty]

+   [(empty? (first a-low))

+    (cons (insert-symbol-everywhere/in-single-word a-symbol (first a-low) 0) empty)]

+   [(cons? (first a-low)) ;evaluates true if the first element

+                          ;in a-low is a word

+    (append (insert-symbol-everywhere/in-single-word a-symbol (first a-low) 0)

+            (insert-everywhere/in-all-words a-symbol (rest a-low)))]))

+

+;insert-symbol-everywhere/in-single-word : symbol word number -> list-of-words

+;Given a-symbol and a-word, inserts a-symbol into every possible position

+;to generate a list-of-words. Begins insertion at the nth position.

+

+(define (insert-symbol-everywhere/in-single-word a-symbol a-word n)

+  (cond

+    [(empty? a-word) (cons a-symbol empty)]

+    [(and

+      (cons? a-word) 

+      (<= n (length a-word))) 

+      (cons (insert-symbol-here a-symbol a-word n) 

+            (insert-symbol-everywhere/in-single-word a-symbol a-word (add1 n)))]

+    [(> n (length a-word)) empty]

+    [else (error 'insert-symbol-everywhere/in-single-word "unexpected error")]))

+;

+;insert-symbol-here : symbol word number -> word

+;Given a-symbol and a-word and n, insert a-symbol

+;in the nth position of a-word.  Right before

+;the word is the 0th position.  The first position

+;is right after the first letter.

+;

+;Examples:

+;(insert-symbol-here 'a (cons 'n empty) 0)

+;(cons 'a (cons 'n empty))

+;

+;(insert-symbol-here 'a (cons 'n empty) 1)

+;(cons 'n (cons 'a empty))

+;

+

+(define (insert-symbol-here a-symbol a-word n)

+  (cond

+    [(= n 0) (cons a-symbol a-word)]

+    [(>= n 1)

+     (cons (first a-word)

+           (insert-symbol-here a-symbol (rest a-word) (sub1 n)))]))

+

+;Test insert-symbol-here

+;(define word1 empty)

+;(define word2 (cons 'a empty))

+;(define word3 (cons 'a (cons 'b empty)))

+;(define word4 (cons 'a (cons 'b (cons 'c empty))))

+;(insert-symbol-here 'x word1 0)

+;(insert-symbol-here 'x word2 0)

+;(insert-symbol-here 'x word2 1)

+;(insert-symbol-here 'x word3 0)

+;(insert-symbol-here 'x word3 1)

+;(insert-symbol-here 'x word3 2)

+

+;Examples of insert-symbol-everywhere/in-single-word

+;

+;(define ex01 empty)

+;(insert-symbol-everywhere/in-single-word 'x ex01 0)

+;(cons (cons 'x empty) empty)

+;(define ex02 (cons 'a empty))

+;(insert-symbol-everywhere/in-single-word 'x ex02 0)

+;(cons (cons 'x (cons 'a empty))

+;      (cons (cons 'a (cons 'x empty)) empty))

+;(append (cons (cons 'x (cons 'a empty)) empty)

+;        (cons (cons 'a (cons 'x empty)) empty))

+;(define ex03 (cons 'a (cons 'b empty)))

+;(insert-symbol-everywhere/in-single-word 'x ex03 0)

+;(cons (cons 'x (cons 'a (cons 'b empty)))

+;      (cons (cons 'a (cons 'x (cons 'b empty)))

+;            (cons (cons 'a (cons 'b (cons 'x empty))) empty)))

+;(define ex04 (list 'p 'a 'r 't 'y))

+;(insert-symbol-everywhere/in-single-word 'x ex04 0)

+;

+

+;Test insert-everywhere/in-all-words : symbol list-of-words -> list-of-words

+;

+;(define ex1 (cons empty empty))

+;(insert-everywhere/in-all-words 'a ex1)

+;(cons (cons 'a empty) empty)

+;

+;(define ex2 (cons (cons 'i empty) empty))

+;(insert-everywhere/in-all-words 'a ex2)

+;(cons (cons 'a (cons 'i empty))

+;      (cons (cons 'i (cons 'a empty)) empty))

+;

+;(define ex3 (cons (cons 'h (cons 'i empty))

+;                  (cons (cons 'i (cons 'h empty)) empty)))

+;(insert-everywhere/in-all-words 'b ex3)

+;(cons (cons 'b (cons 'h (cons 'i empty)))

+;      (cons (cons 'h (cons 'b (cons 'i empty)))

+;            (cons (cons 'h (cons 'i (cons 'b empty)))

+;                  (cons (cons 'b (cons 'i (cons 'h empty)))

+;                        (cons (cons 'i (cons 'b (cons 'h empty)))

+;                              (cons (cons 'i (cons 'h (cons 'b empty))) empty))))))

+

+;Test insert-everywhere/in-all-words a-symbol a-low

+;(define list-a (list (list 'h 'i)

+;                     (list 'i 'h)))

+;

+;(insert-everywhere/in-all-words 'x list-a)

+;

+;Results

+;(list (list 'x 'h 'i)

+;      (list 'h 'x 'i)

+;      (list 'h 'i 'x)

+;      (list 'h 'i 'x)

+;      (list 'i 'x' h)

+;      (list 'i 'h 'x))

+

+(define list2 (list empty))
\ No newline at end of file
blob - /dev/null
blob + aa24da9ebc32d3cf319bd41a803ef67288602486 (mode 644)
--- /dev/null
+++ 12.4.1.bak
@@ -0,0 +1,87 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 12.4.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A list-of-posns is either

+;1. an empty list or

+;2. (cons p lop) where p is a posn

+;and lop is a list-of-posns.

+

+;A polygon is either

+;1. (cons p empty) where p is a posn or

+;2. (cons p q) where p is a posn and q is a polygon.

+;(That is, a polygon includes all the elements

+;of a list-of-posns except the empty list.)

+;

+;draw-polygon : polygon -> true

+;Given a-poly (a polygon) which

+;represents the vertices of the polygon, draw this polygon

+;by connecting the dots between the posn elements

+;in the list.  It first connects the last posn to

+;the first posn, then sequentially connects the

+;remaining posns to each other.  It extracts

+;the last posn of a-poly by calling on the last

+;function. Returns true when evaluation completes.

+

+(define (draw-polygon a-poly)

+  (cond

+    [(empty? (rest a-poly)) true]

+    [else (connect-dots (cons (last a-poly) a-poly))]))

+;

+;connect-dots : polygon -> boolean

+;Given a-poly, connects the posns in sequential order.

+;IE, the 1st posn connects to the 2nd, the 2nd to the 3rd,

+;and so forth to the last dot.

+

+(define (connect-dots a-poly)

+  (cond

+    [(empty? (rest a-poly)) true]

+    [else (and

+           (draw-solid-line (first a-poly)

+                            (second a-poly)

+                            'black)

+           (connect-dots (rest a-poly)))]))

+

+;Test

+;(define MRPOLY (cons (make-posn 50 50) (cons (make-posn 50 80) (cons (make-posn 100 80) empty))))

+;(connect-dots MRPOLY)

+;

+;last : polygon -> posn

+;Given a-poly, finds the last posn element

+;within the list-of-posns and returns it.

+

+(define (last a-poly)

+  (cond

+    [(empty? (rest a-poly)) (first a-poly)]

+    [else (last (rest a-poly))]))

+

+;Test

+(define MRPOLY (cons (make-posn 50 50) (cons (make-posn 50 80) (cons (make-posn 100 80) (cons (make-posn 140 230) (cons (make-posn 180 330) (cons (make-posn 240 220) (cons (make-posn 130 220) empty))))))))

+

+;add-at-end : polygon posn -> polygon

+;Given a-poly and first-posn,

+;it adds first-posn to

+;the end of a-poly, returning

+;the new polygon.  When add-at-end is called,

+;first-posn should be replaced with

+;(first a-poly), so that the function call should be

+;(add-at-end a-poly (first a-poly))

+

+(define (add-at-end a-poly first-posn)

+  (cond

+    [(empty? (rest a-poly)) (first a-poly)]

+    [else (cons (add-at-end a-poly first-posn) (cons first-posn empty))]))

+;

+;modified-draw-polygon : polygon -> true

+;Draws polygon specified by a-poly, where

+;each posn in a-poly represents a vertex in

+;the polygon.  It does so by using connect-dots

+;to connect the dots of each vertex.

+;Specifically, it connects the 1st dot to the 2nd,

+;the 2nd to the 3rd, and so forth, and finally

+;connects the last dot to the 1st dot to finish

+;the polygon by calling on add-at-end.

+

+(define (modified-draw-polygon a-poly)

+  (cond

+    [(empty? (rest a-poly)) true]

+    [else (connect-dots (add-at-end a-poly))]))
\ No newline at end of file
blob - /dev/null
blob + 0829fe52cbc5f7373fd406e2b7a9aa894b5f3169 (mode 644)
--- /dev/null
+++ 12.4.1.ss
@@ -0,0 +1,176 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 12.4.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;;Data Definition

+;;A word is either

+;;1. an empty list or

+;;2. (cons l w) where l is a symbol (one of the

+;;lowercase letters 'a, 'b, ... 'z) and w is a word.

+;;

+;;Examples

+;;empty

+;;(cons 'i empty)

+;;(cons 'h (cons 'i empty))

+;;(cons 'n (cons 'a (cons 'm (cons 'e empty))))

+;;

+;;A list-of-words is either

+;;1. (cons w empty) or

+;;2. (cons w low) where w is a word

+;;and low is a list-of-words.

+;;

+;;Examples

+;;(cons empty empty)

+;;empty empty

+;;(cons (cons 'i empty) empty)

+;;i

+;;(cons (cons 'h (cons 'i empty)) empty)

+;;hi

+;;(cons (cons 'h (cons 'i empty))

+;;      (cons (cons 'j (cons 'o (cons 'e empty))) empty)

+;;hi joe

+;;(cons (cons 'h (cons 'i empty))

+;;      (cons (cons 'j (cons 'o (cons 'e empty)))

+;;            (cons (cons 'i (cons 't (cons 's empty)))

+;;                  empty)))

+;;hi joe its

+;;(cons (cons 'h (cons 'i empty))

+;;      (cons (cons 'j (cons 'o (cons 'e empty)))

+;;            (cons (cons 'i (cons 't (cons 's empty)))

+;;                  (cons (cons 'm (cons 'e empty)) empty))))

+;;hi joe its me

+;

+;;arrangements : word -> list-of-words

+;;Given a-word, return all permutations

+;;as a list-of-words.  This is done

+;;by inserting the first letter into

+;;each permutation of the rest of the word.

+;

+(define (arrangements a-word)

+  (cond

+    [(empty? a-word) (cons empty empty)]

+    [else (insert-everywhere/in-all-words (first a-word)

+                                          (arrangements (rest a-word)))]))

+;

+;;insert-everywhere/in-all-words : symbol list-of-words -> list-of-words

+;;Given a-symbol and a-low, insert a-symbol into every possible position

+;;to generate a new list-of-words.  In general, if the words in a-low

+;;contain x letters, there should be (x+1)*x words in the list-of-words output.

+;

+;

+;;Examples

+;;(define ex1 (cons empty empty))

+;;(insert-everywhere/in-all-words 'a ex1)

+;;(cons (cons 'a empty) empty)

+;;

+;;(define ex2 (cons (cons 'i empty) empty))

+;;(insert-everywhere/in-all-words 'a ex2)

+;;(cons (cons 'a (cons 'i empty))

+;;      (cons (cons 'i (cons 'a empty)) empty))

+;;

+;;(define ex3 (cons (cons 'h (cons 'i empty))

+;;                  (cons (cons 'i (cons 'h empty)) empty)))

+;;(insert-everywhere/in-all-words 'b ex3)

+;;(cons (cons 'b (cons 'h (cons 'i empty)))

+;;      (cons (cons 'h (cons 'b (cons 'i empty)))

+;;            (cons (cons 'h (cons 'i (cons 'b empty)))

+;;                  (cons (cons 'b (cons 'i (cons 'h empty)))

+;;                        (cons (cons 'i (cons 'b (cons 'h empty)))

+;;                              (cons (cons 'i (cons 'h (cons 'b empty))) empty))))))

+;

+(define (insert-everywhere/in-all-words a-symbol a-low)

+ (cond

+   [(empty? (first a-low))

+    (insert-symbol-everywhere/in-single-word a-symbol (first a-low) 0)]

+   [(cons? (first a-low)) ;evaluates true if the first element

+                          ;in a-low is a word

+    (cons (insert-everywhere/in-all-words a-symbol (rest a-low))

+          (insert-symbol-everywhere/in-single-word a-symbol (first a-low) 0))()]))

+

+;insert-symbol-everywhere/in-single-word : symbol word number -> list-of-words

+;Given a-symbol and a-word, inserts a-symbol into every possible position

+;to generate a list-of-words. Begins insertion at the nth position.

+

+(define (insert-symbol-everywhere/in-single-word a-symbol a-word n)

+  (cond

+    [(empty? a-word) (cons (cons a-symbol empty) empty)]

+    [(and

+      (cons? a-word) 

+      (<= n (length a-word))) 

+      (cons (insert-symbol-here a-symbol a-word n) 

+            (insert-symbol-everywhere/in-single-word a-symbol a-word (add1 n)))]

+    [(> n (length a-word)) empty]

+    [else (error 'insert-symbol-everywhere/in-single-word "unexpected error")]))

+;

+;insert-symbol-here : symbol word number -> word

+;Given a-symbol and a-word and n, insert a-symbol

+;in the nth position of a-word.  Right before

+;the word is the 0th position.  The first position

+;is right after the first letter.

+;

+;Examples:

+;(insert-symbol-here 'a (cons 'n empty) 0)

+;(cons 'a (cons 'n empty))

+;

+;(insert-symbol-here 'a (cons 'n empty) 1)

+;(cons 'n (cons 'a empty))

+;

+

+(define (insert-symbol-here a-symbol a-word n)

+  (cond

+    [(= n 0) (cons a-symbol a-word)]

+    [(>= n 1)

+     (cons (first a-word)

+           (insert-symbol-here a-symbol (rest a-word) (sub1 n)))]))

+

+;Test insert-symbol-here

+;(define word1 empty)

+;(define word2 (cons 'a empty))

+;(define word3 (cons 'a (cons 'b empty)))

+;(define word4 (cons 'a (cons 'b (cons 'c empty))))

+;(insert-symbol-here 'x word1 0)

+;(insert-symbol-here 'x word2 0)

+;(insert-symbol-here 'x word2 1)

+;(insert-symbol-here 'x word3 0)

+;(insert-symbol-here 'x word3 1)

+;(insert-symbol-here 'x word3 2)

+

+;Examples of insert-symbol-everywhere/in-single-word

+;

+;(define ex01 empty)

+;(insert-symbol-everywhere/in-single-word 'x ex01 0)

+;(cons (cons 'x empty) empty)

+;(define ex02 (cons 'a empty))

+;(insert-symbol-everywhere/in-single-word 'x ex02 0)

+;(cons (cons 'x (cons 'a empty))

+;      (cons (cons 'a (cons 'x empty)) empty))

+;(append (cons (cons 'x (cons 'a empty)) empty)

+;        (cons (cons 'a (cons 'x empty)) empty))

+;(define ex03 (cons 'a (cons 'b empty)))

+;(insert-symbol-everywhere/in-single-word 'x ex03 0)

+;(cons (cons 'x (cons 'a (cons 'b empty)))

+;      (cons (cons 'a (cons 'x (cons 'b empty)))

+;            (cons (cons 'a (cons 'b (cons 'x empty))) empty)))

+;(define ex04 (list 'p 'a 'r 't 'y))

+;(insert-symbol-everywhere/in-single-word 'x ex04 0)

+;

+

+;Test insert-everywhere/in-all-words : symbol list-of-words -> list-of-words

+

+(define ex1 (cons empty empty))

+(insert-everywhere/in-all-words 'a ex1)

+(cons (cons 'a empty) empty)

+

+(define ex2 (cons (cons 'i empty) empty))

+(insert-everywhere/in-all-words 'a ex2)

+(cons (cons 'a (cons 'i empty))

+      (cons (cons 'i (cons 'a empty)) empty))

+

+(define ex3 (cons (cons 'h (cons 'i empty))

+                  (cons (cons 'i (cons 'h empty)) empty)))

+(insert-everywhere/in-all-words 'b ex3)

+(cons (cons 'b (cons 'h (cons 'i empty)))

+      (cons (cons 'h (cons 'b (cons 'i empty)))

+            (cons (cons 'h (cons 'i (cons 'b empty)))

+                  (cons (cons 'b (cons 'i (cons 'h empty)))

+                        (cons (cons 'i (cons 'b (cons 'h empty)))

+                              (cons (cons 'i (cons 'h (cons 'b empty))) empty))))))

blob - /dev/null
blob + 0e6c4b97629ad724e3b78fdd2260d433faf30f94 (mode 644)
--- /dev/null
+++ 13.0.3.bak
@@ -0,0 +1,30 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-beginner-reader.ss" "lang")((modname 13.0.3) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;Data Definition

+;A word is either

+;1. an empty list or

+;2. (cons l w) where l is a symbol (one of the

+;lowercase letters 'a, 'b, ... 'z) and w is a word.

+;

+Examples

+(cons 'h (cons 'i empty))

+(cons 'n (cons 'a (cons 'm (cons 'e empty))))

+

+A list-of-words is either

+1. (cons w empty) or

+2. (cons w low) where w is a word

+and low is a list-of-words.

+

+arrangements : word -> list-of-words

+Given a-word, return a list-of-words

+whose elements consist of words such

+that the list contains all

+the possible rearrangements (permutations)

+of the letters.

+

+(define (arrangements a-word)

+  (cond

+    [(empty? a-word) ...]

+    []))

+

blob - /dev/null
blob + 19424efc172ea592dab3e34ebd858f36dcb4a73f (mode 644)
--- /dev/null
+++ 13.0.3.ss
@@ -0,0 +1,77 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-intermediate-reader.ss" "lang")((modname 13.0.3) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+(define list-a (list 0 1 2 3 4 5))

+(define list-b (cons 0 (cons 1 (cons 2 (cons 3 (cons 4 (cons 5 empty)))))))

+(define list-c (list (list 'adam 0) (list 'eve 1) (list 'louisXIV 2)))

+(define list-d (cons (cons 'adam (cons 0 empty))

+                     (cons (cons 'eve (cons 1 empty))

+                           (cons (cons 'louisXIV (cons 2 empty)) empty))))

+

+

+;Data Definition

+;A mixed-list is either

+;1. an empty list

+;2. (cons ns ml) where ns is either a number or a symbol

+;and ml is a mixed-list

+;3. (cons ml1 ml2) where ml1 and ml2 are both mixed-lists.

+;

+;

+;

+;list=? : mixed-list mixed-list -> boolean

+;Compares list1 and list2 and returns true if equal,

+;false otherwise.

+

+(define (list=? list1 list2)

+  (cond

+    [(and

+      (empty? list1)

+      (empty? list2)) true]

+    [(or

+      (empty? list1)

+      (empty? list2)) false]

+    [(and (symbol? (first list1))

+          (symbol? (first list2))

+          (symbol=? (first list1) (first list2)))

+     (list=? (rest list1) (rest list2))]

+    [(and (number? (first list1))

+          (number? (first list2))

+          (= (first list1) (first list2)))

+     (list=? (rest list1) (rest list2))]

+    [(and

+      (cons? (first list1))

+      (cons? (first list2))

+      (list=? (first list1) (first list2)))

+     (list=? (rest list1) (rest list2))]

+    [else false]))

+

+(define list-e (cons (cons 1 (cons 2 empty)) empty))

+(define list-f (list (list 1 2)))

+;(list=? list-g list-h) is incorrect for this case

+(define list-g (cons 'a

+                     (cons (cons 1 empty)

+                           (cons false empty))))

+(define list-h (list 'a (cons 1 empty) false))

+

+(cons (cons 1 (cons 2 empty)) 

+      (cons (cons 2 (cons 3 empty)) empty))

+(list (list 1 2)

+      (list 2 3))

+

+(cons 'a (list 0 false))

+(cons 'a (cons 0 (cons false empty)))

+(list 'a 0 false)

+

+(list (cons 1 (cons 13 empty)))

+(cons (cons 1 (cons 13 empty)) empty)

+(list (list 1 13))

+

+(list empty empty (cons 1 empty))

+(cons empty

+      (cons empty

+            (cons (cons 1 empty) empty)))

+(list empty empty (list 1))

+

+(cons 'a (cons (list 1) (list false empty)))

+(cons 'a (cons (cons 1 empty) (cons false (cons empty empty))))

+(list 'a (list 1) false empty)
\ No newline at end of file
blob - /dev/null
blob + 0bb774ec723b30b4db2836e2f557882f712029aa (mode 644)
--- /dev/null
+++ 14.1.1.bak
@@ -0,0 +1,129 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-intermediate-reader.ss" "lang")((modname 14.1.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+(define list-a (list 0 1 2 3 4 5))

+(define list-b (cons 0 (cons 1 (cons 2 (cons 3 (cons 4 (cons 5 empty)))))))

+(define list-c (list (list 'adam 0) (list 'eve 1) (list 'louisXIV 2)))

+(define list-d (cons (cons 'adam (cons 0 empty))

+                     (cons (cons 'eve (cons 1 empty))

+                           (cons (cons 'louisXIV (cons 2 empty)) empty))))

+

+

+;Data Definition

+;A mixed-list is either

+;1. an empty list

+;2. (cons ns ml) where ns is either a number or a symbol

+;and ml is a mixed-list

+;3. (cons ml1 ml2) where ml1 and ml2 are both mixed-lists.

+;

+;

+;

+;list=? : mixed-list mixed-list -> boolean

+;Compares list1 and list2 and returns true if equal,

+;false otherwise.

+

+(define (list=? list1 list2)

+  (cond

+    [(and

+      (empty? list1)

+      (empty? list2)) true]

+    [(or

+      (empty? list1)

+      (empty? list2)) false]

+    [(and (symbol? (first list1))

+          (symbol? (first list2))

+          (symbol=? (first list1) (first list2)))

+     (list=? (rest list1) (rest list2))]

+    [(and (number? (first list1))

+          (number? (first list2))

+          (= (first list1) (first list2)))

+     (list=? (rest list1) (rest list2))]

+    [(and

+      (cons? (first list1))

+      (cons? (first list2))

+      (list=? (first list1) (first list2)))

+     (list=? (rest list1) (rest list2))]

+    [else false]))

+

+(define list-e (cons (cons 1 (cons 2 empty)) empty))

+(define list-f (list (list 1 2)))

+;(list=? list-g list-h) is incorrect for this case

+(define list-g (cons 'a

+                     (cons (cons 1 empty)

+                           (cons false empty))))

+(define list-h (list 'a (cons 1 empty) false))

+

+(cons (cons 1 (cons 2 empty)) 

+      (cons (cons 2 (cons 3 empty)) empty))

+(list (list 1 2)

+      (list 2 3))

+

+(cons 'a (list 0 false))

+(cons 'a (cons 0 (cons false empty)))

+(list 'a 0 false)

+

+(list (cons 1 (cons 13 empty)))

+(cons (cons 1 (cons 13 empty)) empty)

+(list (list 1 13))

+

+(list empty empty (cons 1 empty))

+(cons empty

+      (cons empty

+            (cons (cons 1 empty) empty)))

+(list empty empty (list 1))

+

+(cons 'a (cons (list 1) (list false empty)))

+(cons 'a (cons (cons 1 empty) (cons false (cons empty empty))))

+(list 'a (list 1) false empty)

+

+(list (symbol=? 'a 'b) (symbol=? 'c 'c) false)

+(list false true false)

+(cons false

+      (cons true

+            (cons false empty)))

+

+(list (+ 10 20) (* 10 20) (/ 10 20))

+(list 30 200 0.5)

+(cons 30

+      (cons 200

+            (cons 0.5)))

+

+(list 'dana 'jane 'mary 'laura)

+(cons 'dana

+      (cons 'jane

+            (cons 'mary

+                  (cons 'laura))))

+

+(first (list 1 2 3))

+1

+(rest (list 1 2 3))

+(list 2 3)

+(cons 2 (cons 3 empty))

+

+'(1 a 2 b 3 c)

+(list 1 'a 2 'b 3 'c)

+

+'((alan 1000)

+  (barb 2000)

+  (carl 1500)

+  (dawn 2300))

+(list (list 'alan 1000)

+      (list 'barb 2000)

+      (list 'carl 1500)

+      (list 'dawn 2300))

+

+'((My First Paper)

+  (Sean Fisler)

+  (Section 1 

+    (Subsection 1 Life is difficult)

+    (Subsection 2 But learning things makes it interesting))

+  (Section 2

+    Conclusion? What conclusion?))  

+(list (list 'My 'First 'Paper)

+      (list 'Sean 'Fisler)

+      (list 'Section 1

+            (list 'Subsection 1 'Life 'is 'difficult)

+            (list 'Subsection 2 'But 'learning 'things 'makes 'it 'interesting))

+      (list 'Section 2

+            (list 'Conclusion? 'What 'conclusion?))

+      
\ No newline at end of file
blob - /dev/null
blob + 267ce3781fe68f8eeb834ef7c8ac3f7b618777cb (mode 644)
--- /dev/null
+++ 14.1.1.ss
@@ -0,0 +1,129 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-intermediate-reader.ss" "lang")((modname 14.1.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A child structure is

+;(make-child father mother name date eyes) where

+;

+;1. name and eyes are symbols,

+;2. date is a number,

+;3. and father and mother are either

+;a. child structures or 

+;b. empty.

+;

+(define-struct child (father mother name date eyes))

+;

+;A family tree node (ftn) is either

+;1. empty or

+;2. (make-child father mother name date eyes) where

+;a. father and mother are ftn,

+;b. name and eyes are symbols,

+;c. and date is a number.

+;

+

+(define Carl (make-child empty empty 'Carl 1926 'green))

+(define Bettina (make-child empty empty 'Bettina 1926 'green))

+(define Adam (make-child Carl Bettina 'Adam 1950 'yellow))

+(define Dave (make-child Carl Bettina 'Dave 1955 'black))

+(define Eva (make-child Carl Bettina 'Eva 1965 'blue))

+(define Fred (make-child empty empty 'Fred 1966 'pink))

+(define Gustav (make-child Fred Eva 'Gustav 1988 'brown))

+

+;Template

+;fun-for-ftn : ftn -> ???

+;(define (fun-for-ftn a-ftree)

+;  (cond

+;    [(empty? a-ftree) ...]

+;    [else 

+;     ... (fun-for-ftn (child-father a-ftree)) ...

+;     ... (fun-for-ftn (child-mother a-ftree)) ...

+;     ... (child-name a-ftree) ...

+;     ... (child-date a-ftree) ...

+;     ... (child-eyes a-ftree) ...]))

+

+;blue-eyed-ancestor? : ftn -> boolean

+;Given a-ftree, determine if there is

+;a child in a-ftree with 'blue in eyes field.

+(define (blue-eyed-ancestor? a-ftree)

+  (cond

+    [(empty? a-ftree) false]

+    [else 

+     (or

+       (symbol=? (child-eyes a-ftree) 'blue)

+       (blue-eyed-ancestor? (child-father a-ftree))

+       (blue-eyed-ancestor? (child-mother a-ftree)))]))

+

+;count-persons : ftn -> number

+;Given a-ftree, determines the number of people in the

+;family tree.

+

+;Examples:

+;(count-persons Carl)

+;1

+;(count-persons Dave)

+;3

+

+(define (count-persons a-ftree)

+  (cond

+    [(empty? a-ftree) 0]

+    [else 

+     (+ 1

+        (count-persons (child-father a-ftree))

+        (count-persons (child-mother a-ftree)))]))

+;

+;average-age : ftn -> number

+;Computes the average age of all the people

+;in a family tree.  Sums the ages

+;and divides by the count of persons.

+

+(define (average-age a-ftree)

+  (/ (sum-of-ages a-ftree)

+     (count-persons a-ftree)))

+;

+;sum-of-ages : ftn -> number

+;Computes the sum of the ages of

+;the people in a family tree.

+;

+;Examples:

+;(sum-of-ages Carl)

+;83

+;(sum-of-ages Eva)

+;210

+

+(define CURRENTYEAR 2009)

+

+(define (sum-of-ages a-ftree)

+  (cond

+    [(empty? a-ftree) 0]

+    [else 

+     (+ (- CURRENTYEAR (child-date a-ftree))

+        (sum-of-ages (child-father a-ftree))

+        (sum-of-ages (child-mother a-ftree)))]))

+

+;A list-of-eye-colors is either

+;1. an empty list or

+;2. (cons ec loec) where ec is a symbol and

+;loec is a list-of-eye-colors.

+;(alternatively written as (list ec1 ec2 ... empty)

+;where each argument represents a symbol).

+;

+;eye-colors : ftn -> list-of-eye-colors

+

+(define (eye-colors a-ftree)

+  (cond

+    [(empty? a-ftree) empty]

+    [else (append

+           (list (child-eyes a-ftree))

+           (eye-colors (child-father a-ftree))

+           (eye-colors (child-mother a-ftree)))]))

+

+;proper-blue-eyed-ancestor? : ftn -> boolean

+;Given a-ftree, determine if the person

+;has a proper blue eyed ancestor

+;(someone in the family tree with blue eyes

+; who is not the person in question)

+

+(define (proper-blue-eyed-ancestor? a-ftree)

+  (cond

+    [(empty? a-ftree) false]

+    [else (or (blue-eyed-ancestor? (child-father a-ftree))

+              (blue-eyed-ancestor? (child-mother a-ftree)))]))

blob - /dev/null
blob + 435da52a62590013010134b95e5b659af4d8904c (mode 644)
--- /dev/null
+++ 14.2.1.bak
@@ -0,0 +1,8 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-intermediate-reader.ss" "lang")((modname 14.2.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+A node is a structure

+(make-node (s n l r)) where s is a number, and

+n, l, and r are symbols.

+

+(define-struct node (ssn name left right))
\ No newline at end of file
blob - /dev/null
blob + 66bae7218de899d4c5380fa87c6ac45af73ad949 (mode 644)
--- /dev/null
+++ 14.2.1.ss
@@ -0,0 +1,252 @@
+;; The first three lines of this file were inserted by DrScheme. They record metadata

+;; about the language level of this file in a form that our tools can easily process.

+#reader(lib "htdp-intermediate-reader.ss" "lang")((modname 14.2.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp")))))

+;A binary-tree (BT) is either

+;1. false or

+;2. a structure (make-node s n l r)

+;where s is a number, n is a symbol,

+;and l and r are BTs.

+;

+;A node is a structure

+;(make-node s n l r) where

+;s is a number, n is a symb