#reader(lib"read.ss""wxme")WXME0108 ## #| This file is in PLT Scheme editor format. Open this file in DrScheme version 370 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 33 #"(lib \"bullet-snip.ss\" \"browser\")\0" 0 0 29 #"drscheme:bindings-snipclass%\0" 1 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0" 1 0 22 #"drscheme:lambda-snip%\0" 1 0 56 ( #"(lib \"hrule-snip.ss\" \"macro-debugger\" \"syntax-browse" #"r\")\0" ) 1 0 60 ( #"(lib \"implementation.ss\" \"macro-debugger\" \"syntax-br" #"owser\")\0" ) 2 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" 00000000000 1 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 12 #"Courier New\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 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 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 15 #"text:ports err\0" 0 -1 1 #"\0" 1 0 -1 -1 93 -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 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 92 -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 27 #"Matching Parenthesis Style\0" 0 -1 1 #"\0" 1 0 92 -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 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 14 #"Html Standard\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 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 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 -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 4 4 #"XML\0" 0 70 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 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 -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 4 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 255 0 0 0 -1 -1 4 1 #"\0" 0 71 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 255 0 0 0 -1 -1 4 1 #"\0" 0 71 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 100 0 0 0 0 -1 -1 2 1 #"\0" 0 71 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 1 #"\0" 0 71 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 100 0 0 0 0 -1 -1 0 1 #"\0" 0 75 12 #"Courier New\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 22 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 15 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 4 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 14 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 17 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 20 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 19 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 24 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 22 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 178 34 34 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 0 0 0 0 1 1 1 178 34 34 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 0 0 0 0 1 1 1 178 34 34 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 0 0 0 0 1 1 1 178 34 34 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 0 0 0 0 1 1 1 178 34 34 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 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 0 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1 15 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1 14 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1 20 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 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 0 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1 24 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 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 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 0 0 0 0 0 0 0 178 34 34 255 255 255 -1 -1 00000000002 0 00000000000 3 00000000000 730 0 4 3 85 ( #";; The first three lines of this file were inserted by DrScheme. Th" #"ey 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 c" #"an easily process." ) 0 0 4 29 1 #"\n" 0 0 4 3 430 ( #"#reader(lib \"htdp-beginner-reader.ss\" \"lang\")((modname " #"16.7.1) (read-case-sensitive #t) (teachpacks ((lib \"testing.ss" #"\" \"teachpack\" \"htdp\") (lib \"371-tiles.ss\" \"" #"installed-teachpacks\") (lib \"371-sb-world.ss\" \"installe" #"d-teachpacks\"))) (htdp-settings #8(#t constructor repeating-deci" #"mal #f #t none #f ((lib \"testing.ss\" \"teachpack\" \"ht" #"dp\") (lib \"371-tiles.ss\" \"installed-teachpacks\") (li" #"b \"371-sb-world.ss\" \"installed-teachpacks\")))))" ) 0 0 4 29 1 #"\n" 0 0 17 3 24 #"; Worked exercise 16.7.1" 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 8 #"calendar" 0 0 4 3 1 #" " 0 3 00000000013 4 1 #"\0" 2 -1 -1 0 0 0 00000000001 337 ( #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0!\0\0\0\37\b\2\0" #"\0\0\346\3663\345\0\0\1\30IDATH\211\355\224K\216\3040\bD\213V" #"\316\213\317b\16<\364\202\264\307c\34B~R/\246\224\5\266\220\37" #"\205qHU\361\260\26\0Dt\361\224\270\320\327'\353\347\374\a\210" #"\310\216\17\0\240W\220tQ\353\321\252\252\252\265\326\23A\226\361" #"\254\254\20\275 \0\315\323T\177|\264\253;\24\354\352\277W\337\325" #"+RU\"\322\3551?\361\247\31N\333\351\25\21\305\275\36Tk\365" #"\310\250W\6`f\213\211\310\330\"B\37\245nek\256\320MKK\0302\207" #"e\255\325|\244\346\252w\320v\372\222\315J\337\367\300\320\342\267<@" #"UE\244\224b\207\366\361.\340\227\321\206\247\224\342\0354R[\346" #"\1+\303\3124\200\37\342agXN\1\375&3/-2F\376\365f\264\316d_W" #"\374\30\275|A\326\352\36\0\177\347\207|0s\237?\5\340F\37[\0" #"\334\345#\0\340\26\0371\0\327}\330\203\r\0\23F\220\352\225\1" #"\300\367*y\272)\3\30\318\330\253\f`\302xBo\361\245R\326\247" #"\310x\37\0\0\0\0IEND\256B`\202" ) 0 0 22 3 1 #")" 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 5 #"WIDTH" 0 0 4 3 1 #" " 0 0 20 3 3 #"500" 0 0 22 3 1 #")" 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 6 #"HEIGHT" 0 0 4 3 1 #" " 0 0 20 3 3 #"100" 0 0 22 3 1 #")" 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 1 #"Y" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 8 #"quotient" 0 0 4 3 1 #" " 0 0 14 3 6 #"HEIGHT" 0 0 4 3 1 #" " 0 0 20 3 1 #"2" 0 0 22 3 2 #"))" 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 #"BACKGROUND" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 11 #"empty-scene" 0 0 4 3 1 #" " 0 0 14 3 5 #"WIDTH" 0 0 4 3 1 #" " 0 0 14 3 6 #"HEIGHT" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 36 #"; calendar-at-x : number(x) -> scene" 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 13 #"calendar-at-x" 0 0 4 3 1 #" " 0 0 14 3 1 #"x" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 11 #"place-image" 0 0 4 3 1 #" " 0 0 14 3 8 #"calendar" 0 0 4 3 1 #" " 0 0 14 3 1 #"x" 0 0 4 3 1 #" " 0 0 14 3 1 #"Y" 0 0 4 3 1 #" " 0 0 14 3 10 #"BACKGROUND" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"calendar-at-x" 0 0 4 3 1 #" " 0 0 20 3 2 #"53" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 11 #"place-image" 0 0 4 3 1 #" " 0 0 14 3 8 #"calendar" 0 0 4 3 1 #" " 0 0 20 3 2 #"53" 0 0 4 3 1 #" " 0 0 14 3 1 #"Y" 0 0 4 3 1 #" " 0 0 14 3 10 #"BACKGROUND" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 57 #"; The model for this animation is a \"moving-x\" structure." 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 86 ( #"; A moving-x consists of x (a number) and direction (a symbol, eith" #"er 'left or 'right)" ) 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 13 #"define-struct" 0 0 4 3 1 #" " 0 0 14 3 8 #"moving-x" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"x" 0 0 4 3 1 #" " 0 0 14 3 9 #"direction" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 43 #"; make-moving-x : number symbol -> moving-x" 0 0 4 29 1 #"\n" 0 0 17 3 33 #"; moving-x-x : moving-x -> number" 0 0 4 29 1 #"\n" 0 0 17 3 41 #"; moving-x-direction : moving-x -> symbol" 0 0 4 29 1 #"\n" 0 0 17 3 31 #"; moving-x? : object -> boolean" 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 6 #"state1" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 20 3 2 #"10" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 5 #"right" 0 0 22 3 2 #"))" 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 6 #"state2" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 20 3 2 #"29" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 4 #"left" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"moving-x-x" 0 0 4 3 1 #" " 0 0 14 3 6 #"state1" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 2 #"10" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 18 #"moving-x-direction" 0 0 4 3 1 #" " 0 0 14 3 6 #"state2" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 4 #"left" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 1 #"#" 0 0 17 3 1 #"|" 0 0 17 29 1 #"\n" 0 0 17 3 1 #"(" 0 0 17 3 6 #"define" 0 0 17 3 1 #" " 0 0 17 3 1 #"(" 0 0 17 3 20 #"function-on-moving-x" 0 0 17 3 1 #" " 0 0 17 3 7 #"current" 0 0 17 3 1 #")" 0 0 17 29 1 #"\n" 0 0 17 3 40 #" ; current a moving-x" 0 0 17 29 1 #"\n" 0 0 17 3 38 #" ; (moving-x-x current) a number" 0 0 17 29 1 #"\n" 0 0 17 3 41 #" ; (moving-x-direction current) a symbol" 0 0 17 29 1 #"\n" 0 0 17 3 3 #" )" 0 0 17 29 1 #"\n" 0 0 17 3 2 #"|#" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 11 #"; Handlers:" 0 0 4 29 1 #"\n" 0 0 17 3 35 #"; handle-redraw : moving-x -> scene" 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 13 #"handle-redraw" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 66 #"; current a moving-x (make-moving-x 10 'right)" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 43 #"; (moving-x-x current) a number 10" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 47 #"; (moving-x-direction current) a symbol 'right" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 59 #"; desired answer a scene (calendar-at-x 10)" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"calendar-at-x" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"moving-x-x" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"handle-redraw" 0 0 4 3 1 #" " 0 0 14 3 6 #"state1" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"calendar-at-x" 0 0 4 3 1 #" " 0 0 20 3 2 #"10" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"handle-redraw" 0 0 4 3 1 #" " 0 0 14 3 6 #"state2" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"calendar-at-x" 0 0 4 3 1 #" " 0 0 20 3 2 #"29" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 36 #"; handle-tick : moving-x -> moving-x" 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 5 #"SPEED" 0 0 4 3 1 #" " 0 0 20 3 1 #"3" 0 0 22 3 1 #")" 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 11 #"handle-tick" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 38 #"; current a moving-x" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 36 #"; (moving-x-x current) a number" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 39 #"; (moving-x-direction current) a symbol" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 42 #"; SPEED a fixed number" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 41 #"; 'left, 'right fixed symbols" 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 3 1 #" " 0 0 22 3 2 #"[(" 0 0 14 3 8 #"symbol=?" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 18 #"moving-x-direction" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 4 #"left" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 17 3 36 #"; (moving-x-x current) a number 29" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 17 3 45 #"; (moving-x-direction current) a symbol 'left" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 17 3 65 #"; desired answer a moving-x (make-moving-x (- 29 SPEED) 'left)" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"-" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"moving-x-x" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 5 #"SPEED" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 4 #"left" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 22 3 1 #"]" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 22 3 2 #"[(" 0 0 14 3 8 #"symbol=?" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 18 #"moving-x-direction" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 5 #"right" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 17 3 36 #"; (moving-x-x current) a number 10" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 17 3 46 #"; (moving-x-direction current) a symbol 'right" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 17 3 66 #"; desired answer a moving-x (make-moving-x (+ 10 SPEED) 'right)" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"+" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"moving-x-x" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 5 #"SPEED" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 5 #"right" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 22 3 1 #"]" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 22 3 1 #"[" 0 0 14 3 4 #"else" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"error" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 11 #"handle-tick" 0 0 4 3 1 #" " 0 0 19 3 38 #"\"Direction is neither left nor right!\"" 0 0 22 3 2 #")]" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 11 #"handle-tick" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 20 3 2 #"10" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 5 #"right" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 14 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"+" 0 0 4 3 1 #" " 0 0 20 3 2 #"10" 0 0 4 3 1 #" " 0 0 14 3 5 #"SPEED" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 5 #"right" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 11 #"handle-tick" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 20 3 2 #"29" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 4 #"left" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 14 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"-" 0 0 4 3 1 #" " 0 0 20 3 2 #"29" 0 0 4 3 1 #" " 0 0 14 3 5 #"SPEED" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 4 #"left" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 50 #"; handle-key : moving-x char-or-symbol -> moving-x" 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 10 #"handle-key" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 4 3 1 #" " 0 0 14 3 3 #"key" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 35 #"; current a moving-x" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 33 #"; (moving-x-x current) a number" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 40 #"; (moving-x-direction current) a symbol" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 41 #"; key a char or symbol" 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 3 1 #" " 0 0 22 3 2 #"[(" 0 0 14 3 5 #"char?" 0 0 4 3 1 #" " 0 0 14 3 3 #"key" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 22 3 1 #"]" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 22 3 2 #"[(" 0 0 14 3 7 #"symbol?" 0 0 4 3 1 #" " 0 0 14 3 3 #"key" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 22 3 1 #"(" 0 0 15 3 4 #"cond" 0 0 4 3 1 #" " 0 0 22 3 2 #"[(" 0 0 14 3 2 #"or" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 8 #"symbol=?" 0 0 4 3 1 #" " 0 0 14 3 3 #"key" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 4 #"left" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 8 #"symbol=?" 0 0 4 3 1 #" " 0 0 14 3 3 #"key" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 5 #"right" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 16 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"moving-x-x" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 3 #"key" 0 0 22 3 2 #")]" 0 0 4 29 1 #"\n" 0 0 4 3 15 #" " 0 0 22 3 1 #"[" 0 0 14 3 4 #"else" 0 0 4 3 1 #" " 0 0 14 3 7 #"current" 0 0 22 3 1 #"]" 0 0 4 29 1 #"\n" 0 0 4 3 15 #" " 0 0 22 3 2 #")]" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"handle-key" 0 0 4 3 1 #" " 0 0 14 3 6 #"state1" 0 0 4 3 1 #" " 0 0 20 3 3 #"#\\e" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 6 #"state1" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"handle-key" 0 0 4 3 1 #" " 0 0 14 3 6 #"state1" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 2 #"up" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 6 #"state1" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"handle-key" 0 0 4 3 1 #" " 0 0 14 3 6 #"state1" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 5 #"right" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 6 #"state1" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 17 3 32 #"; since it's already going right" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"handle-key" 0 0 4 3 1 #" " 0 0 14 3 6 #"state1" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 4 #"left" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 20 3 2 #"10" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 4 #"left" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"handle-key" 0 0 4 3 1 #" " 0 0 14 3 6 #"state2" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 5 #"right" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 20 3 2 #"29" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 5 #"right" 0 0 22 3 2 #"))" 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 14 3 15 #"generate-report" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 13 #"run-animation" 0 0 4 3 1 #" " 0 0 14 3 5 #"WIDTH" 0 0 4 3 1 #" " 0 0 14 3 6 #"HEIGHT" 0 0 4 29 1 #"\n" 0 0 4 3 15 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"make-moving-x" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 8 #"quotient" 0 0 4 3 1 #" " 0 0 14 3 5 #"WIDTH" 0 0 4 3 1 #" " 0 0 20 3 1 #"2" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 5 #"right" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 1 #"1" 0 0 4 29 1 #"\n" 0 0 4 3 15 #" " 0 0 22 3 1 #"(" 0 0 14 3 9 #"on-redraw" 0 0 4 3 1 #" " 0 0 14 3 13 #"handle-redraw" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 15 #" " 0 0 22 3 1 #"(" 0 0 14 3 7 #"on-tick" 0 0 4 3 1 #" " 0 0 14 3 11 #"handle-tick" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 15 #" " 0 0 22 3 1 #"(" 0 0 14 3 6 #"on-key" 0 0 4 3 1 #" " 0 0 14 3 10 #"handle-key" 0 0 22 3 2 #"))" 0 00000000000